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.
./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 whichhef file
to use, the correspondinghailofilter
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.
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
- 'yolov8m' - https://github.com/hailo-ai/hailo_model_zoo/blob/master/hailo_model_zoo/cfg/networks/yolov8m.yaml
- 'yolov5m_wo_spp_60p' - https://github.com/hailo-ai/hailo_model_zoo/blob/master/hailo_model_zoo/cfg/networks/yolov5m_wo_spp_60p.yaml
- 'mobilenet_ssd' - https://github.com/hailo-ai/hailo_model_zoo/blob/master/hailo_model_zoo/cfg/networks/ssd_mobilenet_v1.yaml
cd $TAPPAS_WORKSPACE/apps/h8/gstreamer/general/detection
./detection.sh
The output should display as:
This app is based on our single network pipeline template
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
- Retraining docker
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
- Retraining docker
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
- Retraining docker