How to use person attribute detection

Hi,

anyone knows how to build a pipeline to use person_attr_resnet_v1_18 for H8L?

I can’t find documentation or example in tappas.

Thank you!

Here’s a revised version:


Hey @mattia.pnet,

You can try something like this (note: this hasn’t been tested):

# Define the pipeline
pipeline_str = (
    "filesrc location=input_video.mp4 ! decodebin ! videoconvert ! "
    "hailonet hef-path=person_attr_resnet_v1_18.hef ! "
    "hailofilter function-name=person_attr_resnet_v1_18 ! "
    "hailooverlay ! videoconvert ! autovideosink"
)

Pipeline Breakdown:

  1. filesrc location=input_video.mp4: Reads the input video file specified.
  2. decodebin: Automatically decodes the video stream.
  3. videoconvert: Converts the video to a format suitable for further processing.
  4. hailonet hef-path=person_attr_resnet_v1_18.hef: Executes the person attribute detection model using the provided .hef file.
  5. hailofilter function-name=person_attr_resnet_v1_18: Applies the specific post-processing for this model.
  6. hailooverlay: Overlays the detection results onto the video.
  7. videoconvert: Converts the video to a format that can be displayed.
  8. autovideosink: Displays the processed video.

Usage Instructions:

  • Replace input_video.mp4 with the path to your input video file.
  • Ensure the person_attr_resnet_v1_18.hef file is available, either in the current directory or by specifying the full path.
  • Confirm that the Hailo GStreamer plugins are properly installed and configured on your system.

Thank you @omria for the reply.

The function name person_attr_resnet_v1_18 is not correct, I get undefined symbol error.

Cannot load symbol: /usr/lib/aarch64-linux-gnu/post_processes/libperson_attributes_post.so: undefined symbol: person_attr_resnet

Is there an header file to check the correct function post process name?

Anyway omitting the function name the pipeline starts but the results are unstable.

Please check out the function in tappas :

@omria thank you for addressing me.

The function person_attributes_rgba not works:

 No tensor with name person_attr_resnet_v1_18_rgbx/fc1

While the others post process functions (filter and person_attributes_nv12) are working.

@omria, how I can understand how to build the pipeline?

For example for face recognition there are several steps before performe the recognition (detection, cropping, aligning…)

In case of person attributes is enough to run the pipeline simple as you wrote in previous post?

Maybe I can thing that I must perform a person detection before, and then crop the person and give it to person_attr_resnet.

More general there’s a way to understand how to use a network and what a network expects as input?