Skip to content

Latest commit

 

History

History
95 lines (58 loc) · 3.52 KB

README.rst

File metadata and controls

95 lines (58 loc) · 3.52 KB

Detection Pipeline

Overview

detection.sh demonstrates detection on one video file source and verifies Hailo’s configuration.
This is done by running a single-stream object detection pipeline on top of GStreamer using the Hailo-8 device.

Options

./detection.sh [--input FILL-ME]
  • --network is an optional flag that sets which network to use. Choose from [yolov5, mobilenet_ssd, nanodet, yolov8], default is yolov8. This will set which hef file to use, the corresponding hailofilter function, and the scaling of the frame to match the width/height input dimensions of the network.
  • --input is an optional flag, a path to the video displayed (default is detection.mp4).
  • --show-fps is an optional flag that enables printing FPS on screen.
  • --print-gst-launch is a flag that prints the ready gst-launch command without running it.
  • --print-device-stats prints the power and temperature measured on the Hailo device.

Configuration

In case the selected network is yolo, the app post process parameters can be configured by a json file located in $TAPPAS_WORKSPACE/apps/h8/gstreamer/general/detection/resources/configs

Supported Networks

Run

cd $TAPPAS_WORKSPACE/apps/h8/gstreamer/general/detection
./detection.sh

The output should display as:

readme_resources/detection_run.png

Method of Operation

This app is based on our single network pipeline template

How to Use Retraining to Replace Models

Note

It is recommended to first read the Retraining TAPPAS Models page.

Retraining Dockers (available on Hailo Model Zoo), can be used to replace the following models with ones that are trained on the users own dataset:

  • yolov8m
    • Retraining docker
      • For optimum compatibility and performance with TAPPAS, use for compilation the corresponding YAML file from above.
    • TAPPAS changes to replace model:
      • Update HEF_PATH on the .sh file
  • yolov5m
    • Retraining docker
      • For optimum compatibility and performance with TAPPAS, use for compilation the corresponding YAML file from above.
    • TAPPAS changes to replace model:
      • Update HEF_PATH on the .sh file
  • mobilenet_ssd
    • Retraining docker
      • For optimum compatibility and performance with TAPPAS, use for compilation the corresponding YAML file from above.
    • TAPPAS changes to replace model:
      • Update HEF_PATH on the .sh file
      • Update mobilenet_ssd.cpp with your new parameters, then recompile to create libmobilenet_ssd_post.so