[Detector Support]: 0.15.0 Hailo8L compatible models #15137
-
Describe the problem you are havingI have been using the raspi 5 with Hailo8L to run Frigate. The current model ssd_mobilenet_v1 is ok, but seems to lack, it keeps registering my cat as a person as an example. I tried using the Yolov8s model (pre-trained hef from Hailo Model Zoo) and COCO label map (model trained on coco) and: Good:
The inference time was reasonable at 30 ms, but again, I could not get objects other than person and car to work. My core question: Will there be additional models supported by H8L when Frigate 0.15 launches? Is there anything I can do to help? Thank you! VersionFrigate 0.15.0 Beta1 Frigate config filemqtt:
enabled: true
host: ****
port: 1883
user: ****
password: ****
detectors:
hailo8l:
type: hailo8l
device: PCIe
model:
path: /config/model_cache/h8l_cache/ssd_mobilenet_v1.hef
#labelmap_path: /config/model_cache/h8l_cache/coco_labelmap.txt #used when I ran Yolov8s
model:
width: 300
height: 300
input_tensor: nhwc
input_pixel_format: bgr
model_type: ssd
#labelmap_path: /config/model_cache/h8l_cache/coco.txt #Tried it here as well with no luck
go2rtc:
streams:
doorbell_main:
- rtsp://admin:{FRIGATE_RTSP_PASSWORD}@****:554/h264Preview_01_main
- ffmpeg:rtsp_cam#audio=opus
doorbell_sub:
- rtsp://admin:{FRIGATE_RTSP_PASSWORD}@192.168.1.214:554/h264Preview_01_sub
- ffmpeg:rtsp_cam#audio=opus
bedroom_sub:
- rtsp://tapocam:****@****:554/stream2
- ffmpeg:#audio=aac&input=-rtsp_transport+tcp
livingroom_sub:
- rtsp://tapocam2:****@****:554/stream1
- ffmpeg:#audio=aac&input=-rtsp_transport+tcp
#live:
#stream_name: doorbell_main
#height: 720
#quality: 8
#ffmpeg:
#hwaccel_args: preset-rpi-64-h264
cameras:
doorbell:
ffmpeg:
inputs:
- path: rtsp://localhost:8554/doorbell_main
roles:
- record
- path: rtsp://localhost:8554/doorbell_sub
roles:
- detect
live:
stream_name: doorbell_main
height: 720
quality: 8
record:
enabled: true
retain:
days: 5
mode: motion
alerts:
retain:
days: 15
detections:
retain:
days: 15
snapshots:
enabled: true
retain:
default: 15
detect:
enabled: true
width: 640
height: 480
fps: 5
objects:
track:
- person
- car
- cat
- dog
motion:
threshold: 50
contour_area: 10
improve_contrast: true
bedroom:
ffmpeg:
inputs:
- path: rtsp://localhost:8554/bedroom_sub
roles:
- record
- detect
live:
stream_name: bedroom_sub
height: 720
quality: 8
record:
enabled: true
retain:
days: 5
mode: motion
alerts:
retain:
days: 15
detections:
retain:
days: 15
snapshots:
enabled: false
retain:
default: 15
detect:
enabled: true
width: 1280
height: 720
fps: 5
objects:
track:
- person
- cat
living:
ffmpeg:
inputs:
- path: rtsp://localhost:8554/livingroom_sub
roles:
- record
- detect
live:
stream_name: livingroom_sub
height: 720
quality: 8
record:
enabled: true # Set to true if you want recording; set to false if no recording
retain:
days: 5
mode: motion
alerts:
retain:
days: 15
detections:
retain:
days: 15
snapshots:
enabled: false
retain:
default: 15
detect:
enabled: true
#width: 1280
#height: 720
fps: 5
objects:
track:
- person
- cat
version: 0.15-0 docker-compose file or Docker CLI commandservices:
frigate:
container_name: frigate
privileged: true # this may not be necessary for all setups
restart: unless-stopped
image: ghcr.io/blakeblackshear/frigate:0.15.0-beta1-h8l
shm_size: "512mb" # update for your cameras based on calculation above
devices:
- /dev/hailo0:/dev/hailo0
volumes:
- /etc/localtime:/etc/localtime:ro
- /home/pi/frigate/config:/config
- /mnt/data/docker/frigate/media:/media
- type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
target: /tmp/cache
tmpfs:
size: 1000000000
ports:
- "8971:8971"
- "5000:5000" # Internal unauthenticated access. Expose carefully.
- "8554:8554" # RTSP feeds
- "8555:8555/tcp" # WebRTC over tcp
- "8555:8555/udp" # WebRTC over udp
environment:
FRIGATE_RTSP_PASSWORD: "****" Relevant Frigate log outputNo relevant logs available. I never saw anything in the logs showing a reason for the failures. Install methodDocker Compose Object DetectorOther Screenshots of the Frigate UI's System metrics pagesAny other information that may be helpfulNo response |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 16 replies
-
it depends on the detector, some detectors require explicit handling of each model type while others handle that internally. Technically yolov8 is not supported in Frigate, but hailo outputs in the same format. I don't see any reasons the labelmap would not work unless the labelmap for yolov8 is different. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
You need to hone in object sizes and adjust the default minimum score higher and or the threshold as well. That will help some. You can also play with motion settings. Finding that motion sweet spot will reduce the number of frames the detector is fed and can improve accuracy |
Beta Was this translation helpful? Give feedback.
-
Did you make any more progress on this @NathanMTL ? After getting my set up dialed-in on the base model and my hw (pi5, hailo8l on pcie, 3 cameras), I just dropped the yolov8s model in (from the hailo model zoo). Will post back my findings. |
Beta Was this translation helpful? Give feedback.
I've had yolov8s going for 36 hours or so now, and its definitely detecting more objects than just car & person (and it seems more accuratel too). Lots of correct matches on dog, cat, backpack, etc. My inference times have almost doubled though from ~25ms average up to high 40ms.
My config for detector and model looks like this (I just inlined the labels):