exadel-inc / exadel-inc/compreface-python-sdk
Can't use face detection "pose" plugin
- Dominant language
- Python
- Stars
- 167
- Forks
- 55
- PR merge metrics
- No merged PRs in 30d
Description
**Describe the bug**
"pose" plugin not listed in common/typed_dict.py check_fields_by_name function
**To Reproduce**
Try to call detection.detect(image_path = INPUT_IMAGE_PATH, options={"face_plugins": "pose"})
**Expected behavior**
pose plugin used during detection and pitch roll yaw fields appeared in detection result
**Logs**
Traceback (most recent call last):
File "//crf2.py", line 56, in
ddata = detection.detect(image_path = INPUT_IMAGE_PATH, options={"face_plugins": "pose"})
File "/usr/local/lib/python3.13/site-packages/compreface/service/detection_service.py", line 55, in detect
return self.detect_face_from_image.execute(request, pass_dict(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
self.options, ExpandedOptionsDict) if options == {} else options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/compreface/use_cases/detect_face_from_image.py", line 37, in execute
result: dict = self.detect_face_from_image.post(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
request.image_path, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/compreface/client/detect_face_from_image.py", line 54, in post
check_fields_by_name(key, options[key])
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/compreface/common/typed_dict.py", line 60, in check_fields_by_name
raise IncorrectFieldException(
"face_plugins must be only contains calculator,age,gender,landmarks,mask. "
"Incorrect value {}".format(row))
compreface.exceptions.field_exception.IncorrectFieldException: face_plugins must be only contains calculator,age,gender,landmarks,mask. Incorrect value pose
P.S. Tried to add " and row.find('pose') == -1" to line 59 of common\typed_dict.py - this helps
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in common/typed_dict.py at check_fields_by_name, then trace the detection.detect call with face_plugins set to pose. Confirm how allowed face_plugins values are validated and ensure pose is accepted so pitch, roll, and yaw appear in the detection result. Reproduce the reported call to verify the field exception no longer occurs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-vision
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100