Can't use face detection "pose" plugin

Open
#23 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
55/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Stale
Tech stack
python

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.

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

Dominant language
Python
Stars
167
Forks
55
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from exadel-inc/compreface-python-sdk

All issues in exadel-inc/compreface-python-sdk

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.