Issue Running Custom Model on AI Hat with Rasp Pi 5

I am attempting to run a custom model and have encountered this issue. Can anyone help me?

(venv_hailo_rpi5_examples) sdp25@raspberrypi:~/Desktop/hailo-rpi5-examples $ python basic_pipelines/pothole.py --input /home/sdp25/Downloads/raw12_4Video1.mp4 --hef /home/sdp25/Desktop/hailo-rpi5-examples/resources/potholeModel.hef --labels-json /home/sdp25/Desktop/hailo-rpi5-examples/resources/labelsPotholeModel.json
Auto-detected Hailo architecture: hailo8
filesrc location=“/home/sdp25/Downloads/raw12_4Video1.mp4” name=source ! queue name=source_queue_decode leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! decodebin name=source_decodebin ! queue name=source_scale_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! videoscale name=source_videoscale n-threads=2 ! queue name=source_convert_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! videoconvert n-threads=3 name=source_convert qos=false ! video/x-raw, pixel-aspect-ratio=1/1, format=RGB, width=1280, height=720 ! queue name=inference_wrapper_input_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! hailocropper name=inference_wrapper_crop so-path=/usr/lib/aarch64-linux-gnu/hailo/tappas/post_processes/cropping_algorithms/libwhole_buffer.so function-name=create_crops use-letterbox=true resize-method=inter-area internal-offset=true hailoaggregator name=inference_wrapper_agg inference_wrapper_crop. ! queue name=inference_wrapper_bypass_q leaky=no max-size-buffers=20 max-size-bytes=0 max-size-time=0 ! inference_wrapper_agg.sink_0 inference_wrapper_crop. ! queue name=inference_scale_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! videoscale name=inference_videoscale n-threads=2 qos=false ! queue name=inference_convert_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! video/x-raw, pixel-aspect-ratio=1/1 ! videoconvert name=inference_videoconvert n-threads=2 ! queue name=inference_hailonet_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! hailonet name=inference_hailonet hef-path=/home/sdp25/Desktop/hailo-rpi5-examples/resources/potholeModel.hef batch-size=2 vdevice-group-id=1 nms-score-threshold=0.3 nms-iou-threshold=0.45 output-format-type=HAILO_FORMAT_TYPE_FLOAT32 force-writable=true ! queue name=inference_hailofilter_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! hailofilter name=inference_hailofilter so-path=/home/sdp25/Desktop/hailo-rpi5-examples/venv_hailo_rpi5_examples/lib/python3.11/site-packages/hailo_apps_infra/…/resources/libyolo_hailortpp_postprocess.so config-path=/home/sdp25/Desktop/hailo-rpi5-examples/resources/labelsPotholeModel.json function-name=filter_letterbox qos=false ! queue name=inference_output_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! inference_wrapper_agg.sink_1 inference_wrapper_agg. ! queue name=inference_wrapper_output_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! hailotracker name=hailo_tracker class-id=1 kalman-dist-thr=0.8 iou-thr=0.9 init-iou-thr=0.7 keep-new-frames=2 keep-tracked-frames=15 keep-lost-frames=2 keep-past-metadata=False qos=False ! queue name=hailo_tracker_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! queue name=identity_callback_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! identity name=identity_callback ! queue name=hailo_display_overlay_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! hailooverlay name=hailo_display_overlay ! queue name=hailo_display_videoconvert_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! videoconvert name=hailo_display_videoconvert n-threads=2 qos=false ! queue name=hailo_display_q leaky=no max-size-buffers=3 max-size-bytes=0 max-size-time=0 ! fpsdisplaysink name=hailo_display video-sink=autovideosink sync=true text-overlay=False signal-fps-measurements=true
NMS score threshold is set, but there is no NMS output in this model.
CHECK_SUCCESS failed with status=6

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.640: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.641: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.648: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.649: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.680: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.680: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.691: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.701: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.723: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.726: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.743: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.753: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.768: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.778: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.800: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.807: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.816: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.827: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.835: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.846: gst_queue_array_push_tail: assertion ‘array != NULL’ failed

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:20.856: gst_queue_array_push_tail: assertion ‘array != NULL’ failed
^CShutting down… Hit Ctrl-C again to force quit.

(Hailo Detection App:3322): GStreamer-Base-CRITICAL **: 14:02:22.975: gst_queue_array_push_tail: assertion ‘array != NULL’ failed
Exiting…

The following error message is likely pointing to the issue:

NMS score threshold is set, but there is no NMS output in this model.
CHECK_SUCCESS failed with status=6

Please run the following command on your HEF file and post the output:

hailortcli parse-hef model.hef

And here is the result of me just running the .hef:

Here is the output:

In the output you can see that the model has no NMS added inside the HEF. I suspecut you have a YOLOv8 model. Download the HEF of that model from our Model Zoo and run the same command on that to see the difference.

You will need to add the NMS via the model script. You can use the Model Zoo as a reference.

GitHub - Hailo Model Zoo - yolov8m.alls

You will need to adapt the NMS json file to match your model. Again use the Model Zoo file as reference.

GitHub - Hailo Model Zoo - yolov8m_nms_config.json

@Treyson_Yates
I am guessing this is the pothole detection model we compiled for you. You can use it with our DeGirum PySDK package. If you do not want to use PySDK, then you need to follow @klausk 's suggestion and recompile.