exadel-inc / exadel-inc/compreface-python-sdk

Can't use face detection "pose" plugin

Open
#23 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.