From 583818fbcdb29bd5eeeb3902ce53158efe3a27b5 Mon Sep 17 00:00:00 2001 From: Jaffer Mahdi Date: Mon, 20 Jan 2025 23:03:55 +0300 Subject: [PATCH 1/5] Added "confidence" as argument for keypoint detection model - confidence added to KeypointDetectionModel constructor and api url string --- .github/dependabot.yml | 12 ++++++++++++ roboflow/models/keypoint_detection.py | 4 ++++ 2 files changed, 16 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..f33a02cd --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for more information: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates +# https://containers.dev/guide/dependabot + +version: 2 +updates: + - package-ecosystem: "devcontainers" + directory: "/" + schedule: + interval: weekly diff --git a/roboflow/models/keypoint_detection.py b/roboflow/models/keypoint_detection.py index a0e86561..12e5a215 100644 --- a/roboflow/models/keypoint_detection.py +++ b/roboflow/models/keypoint_detection.py @@ -26,6 +26,7 @@ def __init__( id: str, name: Optional[str] = None, version: Optional[str] = None, + confidence: Optional[int] = 40, local: Optional[str] = None, ): """ @@ -37,6 +38,7 @@ def __init__( name (str): is the name of the project version (str): version number local (str): localhost address and port if pointing towards local inference engine + confidence (int): A threshold for the returned predictions on a scale of 0-100. colors (dict): colors to use for the image preprocessing (dict): preprocessing to use for the image @@ -48,6 +50,7 @@ def __init__( self.__api_key = api_key self.id = id self.name = name + self.confidence = confidence self.version = version self.base_url = "https://detect.roboflow.com/" @@ -150,6 +153,7 @@ def __generate_url(self): self.base_url + without_workspace + "/" + str(version), "?api_key=" + self.__api_key, "&name=YOUR_IMAGE.jpg", + f"&confidence={self.confidence}", ] ) From 00c1a111f1f02a44f0efdbab5b3606df931a9046 Mon Sep 17 00:00:00 2001 From: Jaffer Mahdi Date: Mon, 20 Jan 2025 23:08:59 +0300 Subject: [PATCH 2/5] Revert "Added "confidence" as argument for keypoint detection model" This reverts commit 583818fbcdb29bd5eeeb3902ce53158efe3a27b5. --- .github/dependabot.yml | 12 ------------ roboflow/models/keypoint_detection.py | 4 ---- 2 files changed, 16 deletions(-) delete mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index f33a02cd..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,12 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for more information: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates -# https://containers.dev/guide/dependabot - -version: 2 -updates: - - package-ecosystem: "devcontainers" - directory: "/" - schedule: - interval: weekly diff --git a/roboflow/models/keypoint_detection.py b/roboflow/models/keypoint_detection.py index 12e5a215..a0e86561 100644 --- a/roboflow/models/keypoint_detection.py +++ b/roboflow/models/keypoint_detection.py @@ -26,7 +26,6 @@ def __init__( id: str, name: Optional[str] = None, version: Optional[str] = None, - confidence: Optional[int] = 40, local: Optional[str] = None, ): """ @@ -38,7 +37,6 @@ def __init__( name (str): is the name of the project version (str): version number local (str): localhost address and port if pointing towards local inference engine - confidence (int): A threshold for the returned predictions on a scale of 0-100. colors (dict): colors to use for the image preprocessing (dict): preprocessing to use for the image @@ -50,7 +48,6 @@ def __init__( self.__api_key = api_key self.id = id self.name = name - self.confidence = confidence self.version = version self.base_url = "https://detect.roboflow.com/" @@ -153,7 +150,6 @@ def __generate_url(self): self.base_url + without_workspace + "/" + str(version), "?api_key=" + self.__api_key, "&name=YOUR_IMAGE.jpg", - f"&confidence={self.confidence}", ] ) From 8b1b60451004d7488faee9d814efcc34fac889bb Mon Sep 17 00:00:00 2001 From: Jaffer Mahdi Date: Mon, 20 Jan 2025 23:10:55 +0300 Subject: [PATCH 3/5] Reapply "Added "confidence" as argument for keypoint detection model" This reverts commit 00c1a111f1f02a44f0efdbab5b3606df931a9046. --- .github/dependabot.yml | 12 ++++++++++++ roboflow/models/keypoint_detection.py | 4 ++++ 2 files changed, 16 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..f33a02cd --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for more information: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates +# https://containers.dev/guide/dependabot + +version: 2 +updates: + - package-ecosystem: "devcontainers" + directory: "/" + schedule: + interval: weekly diff --git a/roboflow/models/keypoint_detection.py b/roboflow/models/keypoint_detection.py index a0e86561..12e5a215 100644 --- a/roboflow/models/keypoint_detection.py +++ b/roboflow/models/keypoint_detection.py @@ -26,6 +26,7 @@ def __init__( id: str, name: Optional[str] = None, version: Optional[str] = None, + confidence: Optional[int] = 40, local: Optional[str] = None, ): """ @@ -37,6 +38,7 @@ def __init__( name (str): is the name of the project version (str): version number local (str): localhost address and port if pointing towards local inference engine + confidence (int): A threshold for the returned predictions on a scale of 0-100. colors (dict): colors to use for the image preprocessing (dict): preprocessing to use for the image @@ -48,6 +50,7 @@ def __init__( self.__api_key = api_key self.id = id self.name = name + self.confidence = confidence self.version = version self.base_url = "https://detect.roboflow.com/" @@ -150,6 +153,7 @@ def __generate_url(self): self.base_url + without_workspace + "/" + str(version), "?api_key=" + self.__api_key, "&name=YOUR_IMAGE.jpg", + f"&confidence={self.confidence}", ] ) From 535257a75cfd84208127e97a65d72e14407c8fdc Mon Sep 17 00:00:00 2001 From: Jaffer Mahdi Date: Mon, 20 Jan 2025 23:35:07 +0300 Subject: [PATCH 4/5] Added Tests for the Keypoint detection model --- roboflow/models/keypoint_detection.py | 2 +- .../MM2A_46_R_T_predictions.json | 426 ++++++++++++++++++ tests/images/MM2A_46_R_T.png | Bin 0 -> 52880 bytes tests/models/test_keypoint_detection.py | 68 +++ 4 files changed, 495 insertions(+), 1 deletion(-) create mode 100644 tests/annotations/keypoint-detection-annotations/MM2A_46_R_T_predictions.json create mode 100644 tests/images/MM2A_46_R_T.png create mode 100644 tests/models/test_keypoint_detection.py diff --git a/roboflow/models/keypoint_detection.py b/roboflow/models/keypoint_detection.py index 12e5a215..ee2a7699 100644 --- a/roboflow/models/keypoint_detection.py +++ b/roboflow/models/keypoint_detection.py @@ -26,7 +26,7 @@ def __init__( id: str, name: Optional[str] = None, version: Optional[str] = None, - confidence: Optional[int] = 40, + confidence: Optional[int] = 10, local: Optional[str] = None, ): """ diff --git a/tests/annotations/keypoint-detection-annotations/MM2A_46_R_T_predictions.json b/tests/annotations/keypoint-detection-annotations/MM2A_46_R_T_predictions.json new file mode 100644 index 00000000..cec83f9b --- /dev/null +++ b/tests/annotations/keypoint-detection-annotations/MM2A_46_R_T_predictions.json @@ -0,0 +1,426 @@ +{ + "inference_id": "4b39e84f-88ce-4d27-880c-57bf949029e7", + "time": 0.05072031899999274, + "image": { + "width": 142, + "height": 327 + }, + "predictions": [ + { + "x": 59.5, + "y": 233.5, + "width": 25.0, + "height": 11.0, + "confidence": 0.763361394405365, + "class": "vertebra", + "class_id": 0, + "detection_id": "500623ad-1ca9-4604-a217-6e057cf3f588", + "keypoints": [ + { + "x": 47.0, + "y": 240.0, + "confidence": 0.9998906850814819, + "class_id": 0, + "class_name": "start" + }, + { + "x": 72.0, + "y": 227.0, + "confidence": 0.9996753931045532, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 48.5, + "y": 210.0, + "width": 25.0, + "height": 10.0, + "confidence": 0.7600339651107788, + "class": "vertebra", + "class_id": 0, + "detection_id": "71b9fcd9-4351-47a2-a583-ad9d5e96b604", + "keypoints": [ + { + "x": 36.0, + "y": 215.0, + "confidence": 0.9999080896377563, + "class_id": 0, + "class_name": "start" + }, + { + "x": 61.0, + "y": 205.0, + "confidence": 0.9991416931152344, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 41.0, + "y": 187.5, + "width": 24.0, + "height": 9.0, + "confidence": 0.742439866065979, + "class": "vertebra", + "class_id": 0, + "detection_id": "b04105e9-767e-4e76-9ee9-aadae1326658", + "keypoints": [ + { + "x": 29.0, + "y": 192.0, + "confidence": 0.9993617534637451, + "class_id": 0, + "class_name": "start" + }, + { + "x": 54.0, + "y": 183.0, + "confidence": 0.9988169074058533, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 56.0, + "y": 80.5, + "width": 20.0, + "height": 7.0, + "confidence": 0.6737987995147705, + "class": "vertebra", + "class_id": 0, + "detection_id": "d519e047-8703-4000-95c7-3f29ffb7c233", + "keypoints": [ + { + "x": 46.0, + "y": 77.0, + "confidence": 0.9988997578620911, + "class_id": 0, + "class_name": "start" + }, + { + "x": 66.0, + "y": 85.0, + "confidence": 0.9990716576576233, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 49.0, + "y": 98.0, + "width": 20.0, + "height": 10.0, + "confidence": 0.6587967872619629, + "class": "vertebra", + "class_id": 0, + "detection_id": "b9e46234-d571-4141-8e92-18a9c61cb888", + "keypoints": [ + { + "x": 40.0, + "y": 93.0, + "confidence": 0.9998961687088013, + "class_id": 0, + "class_name": "start" + }, + { + "x": 59.0, + "y": 102.0, + "confidence": 0.9997531175613403, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 69.5, + "y": 259.0, + "width": 31.0, + "height": 8.0, + "confidence": 0.5930185914039612, + "class": "vertebra", + "class_id": 0, + "detection_id": "edf5846c-8858-4dbc-9a86-128340b4ecfd", + "keypoints": [ + { + "x": 55.0, + "y": 262.0, + "confidence": 0.9956279993057251, + "class_id": 0, + "class_name": "start" + }, + { + "x": 85.0, + "y": 256.0, + "confidence": 0.9995435476303101, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 41.0, + "y": 113.0, + "width": 22.0, + "height": 6.0, + "confidence": 0.5826466083526611, + "class": "vertebra", + "class_id": 0, + "detection_id": "e5a09d46-1dda-4957-aa8c-2051febde9dc", + "keypoints": [ + { + "x": 30.0, + "y": 110.0, + "confidence": 0.9999384880065918, + "class_id": 0, + "class_name": "start" + }, + { + "x": 52.0, + "y": 117.0, + "confidence": 0.9998559951782227, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 70.0, + "y": 45.5, + "width": 18.0, + "height": 5.0, + "confidence": 0.49985209107398987, + "class": "vertebra", + "class_id": 0, + "detection_id": "5373c45d-6ab5-474c-bf1b-0f80398e4f50", + "keypoints": [ + { + "x": 61.0, + "y": 43.0, + "confidence": 0.9988017082214355, + "class_id": 0, + "class_name": "start" + }, + { + "x": 80.0, + "y": 48.0, + "confidence": 0.9974247813224792, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 62.5, + "y": 63.5, + "width": 19.0, + "height": 7.0, + "confidence": 0.46164435148239136, + "class": "vertebra", + "class_id": 0, + "detection_id": "93961590-3596-4f86-86ef-3115f27af571", + "keypoints": [ + { + "x": 53.0, + "y": 60.0, + "confidence": 0.9995067715644836, + "class_id": 0, + "class_name": "start" + }, + { + "x": 72.0, + "y": 67.0, + "confidence": 0.9983217716217041, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 35.5, + "y": 168.0, + "width": 25.0, + "height": 6.0, + "confidence": 0.4455893933773041, + "class": "vertebra", + "class_id": 0, + "detection_id": "02949522-1446-4678-b580-37397a6e3544", + "keypoints": [ + { + "x": 23.0, + "y": 171.0, + "confidence": 0.9996205568313599, + "class_id": 0, + "class_name": "start" + }, + { + "x": 48.0, + "y": 165.0, + "confidence": 0.9966169595718384, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 78.0, + "y": 284.0, + "width": 32.0, + "height": 8.0, + "confidence": 0.44538000226020813, + "class": "vertebra", + "class_id": 0, + "detection_id": "2ad879d8-901e-4647-aa58-52d3de28d5fa", + "keypoints": [ + { + "x": 62.0, + "y": 288.0, + "confidence": 0.9988986253738403, + "class_id": 0, + "class_name": "start" + }, + { + "x": 93.0, + "y": 282.0, + "confidence": 0.9989535808563232, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 33.0, + "y": 150.0, + "width": 24.0, + "height": 2.0, + "confidence": 0.28537100553512573, + "class": "vertebra", + "class_id": 0, + "detection_id": "c522b624-ff97-46d7-b90f-4ea04e5ddbbd", + "keypoints": [ + { + "x": 21.0, + "y": 151.0, + "confidence": 0.9995453357696533, + "class_id": 0, + "class_name": "start" + }, + { + "x": 45.0, + "y": 150.0, + "confidence": 0.9993085861206055, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 82.0, + "y": 313.0, + "width": 34.0, + "height": 6.0, + "confidence": 0.2552550435066223, + "class": "vertebra", + "class_id": 0, + "detection_id": "a420b97c-d316-41a6-895e-cd342795af4d", + "keypoints": [ + { + "x": 64.0, + "y": 316.0, + "confidence": 0.9955296516418457, + "class_id": 0, + "class_name": "start" + }, + { + "x": 99.0, + "y": 311.0, + "confidence": 0.9899979829788208, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 37.0, + "y": 126.0, + "width": 24.0, + "height": 6.0, + "confidence": 0.2176252007484436, + "class": "vertebra", + "class_id": 0, + "detection_id": "8600c8bf-c3f6-46c1-a5a6-a602637d0d05", + "keypoints": [ + { + "x": 25.0, + "y": 124.0, + "confidence": 0.9993969798088074, + "class_id": 0, + "class_name": "start" + }, + { + "x": 49.0, + "y": 127.0, + "confidence": 0.9985653758049011, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 35.5, + "y": 132.0, + "width": 23.0, + "height": 4.0, + "confidence": 0.14819690585136414, + "class": "vertebra", + "class_id": 0, + "detection_id": "8bda8ccd-a834-41b3-a40e-848c1fbd4de2", + "keypoints": [ + { + "x": 24.0, + "y": 130.0, + "confidence": 0.9997155666351318, + "class_id": 0, + "class_name": "start" + }, + { + "x": 47.0, + "y": 134.0, + "confidence": 0.9994645118713379, + "class_id": 1, + "class_name": "end" + } + ] + }, + { + "x": 74.0, + "y": 18.0, + "width": 24.0, + "height": 2.0, + "confidence": 0.14375203847885132, + "class": "vertebra", + "class_id": 0, + "detection_id": "fd657847-2461-40f0-8219-8c2c33580153", + "keypoints": [ + { + "x": 62.0, + "y": 18.0, + "confidence": 0.9981837272644043, + "class_id": 0, + "class_name": "start" + }, + { + "x": 85.0, + "y": 19.0, + "confidence": 0.996793806552887, + "class_id": 1, + "class_name": "end" + } + ] + } + ] +} diff --git a/tests/images/MM2A_46_R_T.png b/tests/images/MM2A_46_R_T.png new file mode 100644 index 0000000000000000000000000000000000000000..8674705d15e2cf81351c8121e1b2734d89741f04 GIT binary patch literal 52880 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 SALe`j0000 Date: Thu, 5 Jun 2025 21:11:32 +0300 Subject: [PATCH 5/5] Fixed String concatenation and removed unnecessary dependabot file --- .github/dependabot.yml | 12 ------------ roboflow/models/keypoint_detection.py | 2 +- 2 files changed, 1 insertion(+), 13 deletions(-) delete mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index f33a02cd..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,12 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for more information: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates -# https://containers.dev/guide/dependabot - -version: 2 -updates: - - package-ecosystem: "devcontainers" - directory: "/" - schedule: - interval: weekly diff --git a/roboflow/models/keypoint_detection.py b/roboflow/models/keypoint_detection.py index ee2a7699..937e21e8 100644 --- a/roboflow/models/keypoint_detection.py +++ b/roboflow/models/keypoint_detection.py @@ -153,7 +153,7 @@ def __generate_url(self): self.base_url + without_workspace + "/" + str(version), "?api_key=" + self.__api_key, "&name=YOUR_IMAGE.jpg", - f"&confidence={self.confidence}", + "&confidence=" + str(self.confidence), ] )