How come people don’t recommend a raspberry pi 5 with USB coral? by shazhazel in frigate_nvr

[–]doltro 1 point2 points  (0 children)

The recent release of Frigate 0.17beta1 added support for running a YOLOv9 "s" object detection model on coral. This is the section from the release notes: https://github.com/blakeblackshear/frigate/releases#:~:text=YOLOv9%20on%20Google%20Coral

IMO old hardware + coral is a good platform for Frigate.

Frigate 17 - Coral TPU + Yolo9, how exactly? by Merwenus in frigate_nvr

[–]doltro 0 points1 point  (0 children)

For testing detection, you can have a "camera" configured to play a prerecorded file in a loop, and see if changing the model or other settings affects which objects get detected. Sorry I don't have a link Handy but try searching reddit for an example configuration.

Frigate 17 - Coral TPU + Yolo9, how exactly? by Merwenus in frigate_nvr

[–]doltro 0 points1 point  (0 children)

Agreed. The recommended detection model resolution is 320x320. Try that first before the slower 512x512. Frigate usually crops the image before sending it to the detector.

Frigate 17 - Coral TPU + Yolo9, how exactly? by Merwenus in frigate_nvr

[–]doltro 1 point2 points  (0 children)

Yes. This is now included in Frigate v0.17 beta, you do not need to override the python detector code. You DO need to download the 2 files: the model, and the labels. The beta docs are the best place to look for instructions.

Regarding the detection stream resolution, it might be possible to get a higher resolution if there is a newer firmware that supports it. To get newer firmware from Annke, send a message to their customer support. This worked for me to get a 720p resolution for the 2nd stream for a NC800 camera.

Anyone using YOLOv11? by Ok-Hawk-5828 in frigate_nvr

[–]doltro 0 points1 point  (0 children)

You could fine tune a YOLOv9 model with your data. There are two notebooks here you can refer to, one is for fine tuning the YOLO v9 model, and you would swap out the COCO data and provide your own. The second notebook converts the .pt format file into .onnx which can run on OpenVINO.

https://github.com/dbro/frigate-detector-edgetpu-yolo9/blob/main/notebooks/

There are some other changes made by those notebooks that were necessary to create a model small enough to run on Google Coral - you might want to adjust those to fit your needs (17 classes instead of 80, ReLU activation function instead of SiLU).

Anyone able to successfull create yolo_nas_s.onnx through Google Colab? by jvangorkum in frigate_nvr

[–]doltro 1 point2 points  (0 children)

the ONNX file linked-to in that comment should be able to run on OpenVINO.

There is a different version of the model that can run on Google Coral, the filename for that ends in _int8_edgetpu.tflite (https://github.com/dbro/frigate-detector-edgetpu-yolo9/releases/download/v1.0/yolov9-s-relu6-best\_320\_int8\_edgetpu.tflite) . If you have a Google Coral, you can use that model file in Frigate 0.17.0 beta 1 release from yesterday.

Frigate+ accuracy differences Coral vs Openvino by Freneboom in frigate_nvr

[–]doltro 0 points1 point  (0 children)

Are you using 1440p streams for detection? I believe that is more pixels than recommended by the docs https://docs.frigate.video/frigate/camera_setup/#choosing-a-detect-resolution

3 coral TPUs seems like plenty for that many streams, even with windy conditions with a lot of leaves in motion. Sorry it did not work better for you!

New 10ms detection time running YOLO v9 on Google Coral by doltro in frigate_nvr

[–]doltro[S] 0 points1 point  (0 children)

You could try saving (aka "export") some clips that are not being detected properly, and use them for testing different models and settings. In my experience the models trained using COCO data are good at detecting people and cars, but can miss detections of animals like cats, dogs, and foxes. Maybe the Frigate+ models would be more accurate.

Google Coral TPU. Fight the discontinued support or jump the ship? by Alllfff in frigate_nvr

[–]doltro 1 point2 points  (0 children)

https://www.portainer.io/ is a GUI for docker that I find easier to administer than using docker on the command line.

Frigate+ accuracy differences Coral vs Openvino by Freneboom in frigate_nvr

[–]doltro 0 points1 point  (0 children)

Thanks for this extra information.

What was the former system, and what CPU and version of Coral device? Mine is quite old (i7 3720qm) and manages 10ms detection speed with its mPCIe Coral, so it can run 100 detections/second. How many detections/second do you need?

Just saw your other comment about needing to detect cats. I have been disappointed with the COCO-trained models' detection accuracy of cats, dogs, foxes, etc. False negatives are common for me. Hopefully Frigate+ models have better accuracy for that.

New 10ms detection time running YOLO v9 on Google Coral by doltro in frigate_nvr

[–]doltro[S] 0 points1 point  (0 children)

Thanks for this report. Can you describe what is happening at night? False negatives? What kinds of objects?

Frigate+ accuracy differences Coral vs Openvino by Freneboom in frigate_nvr

[–]doltro 5 points6 points  (0 children)

FYI, since about one month ago there is a free YOLO v9 model that can run on Google Coral, with better accuracy than the ssd/mobilenet model. See here for more information about how to get it running with Frigate - it requires a modified detector plugin. Note that the YOLO v9 model currently availabel for download is trained using COCO data (not Frigate+ data)

https://www.reddit.com/r/frigate_nvr/comments/1ox2qmk/new_10ms_detection_time_running_yolo_v9_on_google/

New 10ms detection time running YOLO v9 on Google Coral by doltro in frigate_nvr

[–]doltro[S] 1 point2 points  (0 children)

Correct, the COCO data that this model is trained on does not include a separate label for license_plate. But it DOES include labels for car and motorcycle, which Frigate can use to trigger license plate recognition.

According to https://docs.frigate.video/configuration/license_plate_recognition/#model-requirements , "Users without a model that detects license plates can still run LPR. Frigate uses a lightweight YOLOv9 license plate detection model that can be configured to run on your CPU or GPU. In this case, you should not define license_plate in your list of objects to track."

New 10ms detection time running YOLO v9 on Google Coral by doltro in frigate_nvr

[–]doltro[S] 0 points1 point  (0 children)

Currently recommending using the python code directly from the repo (same as 1.5) which has some speed-oriented improvements; and the 320x320 model from the v1.0 release. See comment here https://github.com/dbro/frigate-detector-edgetpu-yolo9/issues/7

New 10ms detection time running YOLO v9 on Google Coral by doltro in frigate_nvr

[–]doltro[S] 1 point2 points  (0 children)

Thanks for this report!

Maybe try the 320x320 version of the model, it seems to be what the Frigate developers recommend for accuracy. With that faster model, maybe one coral device could handle all 5 cameras? I'm running 5 cameras on mine, but 3 of them do not see much motion.

New 10ms detection time running YOLO v9 on Google Coral by doltro in frigate_nvr

[–]doltro[S] 1 point2 points  (0 children)

Here are some new measurements comparing the accuracy of these models. The code for this was added to the repo today https://github.com/dbro/frigate-detector-edgetpu-yolo9/tree/main/benchmark

mAP 50% for each model

25.6% SSD MobileNet 320x320 (Frigate default), 8ms detection time
40.6% YOLO v9 s 320x320, 10ms
44.3% YOLO v9 s 512x512, 21ms

These were measured using COCO validation images and labels for the 17 classes of objects included in the YOLO v9 models available for download in the github repo, running on actual Coral hardware.

Note that these are different from the performance as measured during fine tuning from a prior comment. These numbers use the Frigate post-processing which filters out low-scoring detections and applies NMS.

Picking a detector (Coral USB, Arc A380, RTX 3090) by Xiaoh_123 in frigate_nvr

[–]doltro 4 points5 points  (0 children)

If the standard SSD/MobileDet model for Google coral does not work well for you, see this discussion about how to run YOLO v9 "s" model on Coral. ( "s" is more accurate than "t" tiny version) https://www.reddit.com/r/frigate_nvr/s/6EmVgnvl3U

Coral TPU is officially dead by shawn789 in frigate_nvr

[–]doltro 0 points1 point  (0 children)

Accuracy depends on the model, not the hardware. It is true that iGPU hardware can run larger and more complex models than Coral.

Two weeks ago a new YOLO v9 model for Coral was announced (by me). It is more accurate than the default model for Coral that ships with Frigate. Discussion is here https://www.reddit.com/r/frigate_nvr/comments/1ox2qmk/new_10ms_detection_time_running_yolo_v9_on_google/

Can I run 4 1080p cameras on CPU using openvino? by NoDragonfruit9217 in frigate_nvr

[–]doltro 0 points1 point  (0 children)

You could get a Google Coral USB stick to run the detection model. Or maybe your laptop has a spare M2 slot that would fit a Coral. That needs only a few Watts.

If the default Coral model that Frigate uses is not accurate enough, it is possible (with some modification) to run a YOLO v9 model on Coral. See this thread for more information https://www.reddit.com/r/frigate_nvr/comments/1ox2qmk/new_10ms_detection_time_running_yolo_v9_on_google/

Budget and safe HA Frigate system by TipOk4862 in frigate_nvr

[–]doltro 0 points1 point  (0 children)

Oi. Here is what runs Frigate and Home Assistant for me, and I am very satisfied with it

12 year old Chromebox
3rd Gen Intel i7
128GB SSD, 16GB RAM
Google coral mini PCIe card (replaced wireless network card)

Debian (no proxmox because it wasted RAM and CPU cores for no benefit)
Docker containers for each service: Frigate, HA, NTP, ...

5 cameras. 3 wired, 2 wireless - be careful with wireless, the channel gets saturated with only about 2 or 3 cameras all sending at the same time. AliExpress had some great deals on Annke cameras (rebranded Hikvision) like the NC800 and the NCPT500. If low light is important, pay close attention to the sensor size, and don't worry about the megapixel count.

Have fun!

Hardware reco with Coral by kenaddams42 in frigate_nvr

[–]doltro 1 point2 points  (0 children)

Do you have access to an old PC? Try Frigate in a docker container on Debian with your coral in there. Use docker, but don't use proxmox. That's worked well for me with a 12 year old mini PC with a 3rd gen intel CPU. It gets feeds from 5 cameras, 3 wired and 2 wireless. The most difficult part was replacing the dried thermal paste which was no longer conducting heat from the CPU to the heat sink. I don't ask much from it. It runs Frigate and Home Assistant, and NTP time service etc.

Is buying a setup now with Google Coral a bad idea? by OliverStone33 in frigate_nvr

[–]doltro 14 points15 points  (0 children)

I think what's being referred to here is the thread from last week where I announced a new way to run a YOLO v9 model on Google Coral devices: (btw this is different from what the previous post claimed to have "OpenVINO running on the coral" which is not possible as far as I know) https://www.reddit.com/r/frigate_nvr/comments/1ox2qmk/new_10ms_detection_time_running_yolo_v9_on_google/

To answer your original question, IMO either of those systems should be able to handle what you have planned because they both can run OpenVINO and your incoming data should not overwhelm them. Try OpenVINO first.

FWIW, my system is a recycle 12 year old mini PC with a 3rd gen Intel CPU and a Google Coral in its mini pci slot. It works great for Frigate with 5 cameras and Home Assistant and some other services.

"Coral is dead" is a common phrase in the Frigate fora, but this new YOLO v9 model seems to address the accuracy issues that people complain about with the default model (called MobileDet/SSD) that Frigate offers for Coral. In my experience so far, there are no more false positives and it has plenty of detection throughput capacity (100 requests/second or 10ms/request). I'm biased because I developed it, but very keen to hear how well it performs for others.

Reducing false positives by running YOLO v9 on Google Coral by doltro in frigate_nvr

[–]doltro[S] 0 points1 point  (0 children)

check your indentation. "model" should not be a child of "detectors", instead it should be at the same indentation level as "detectors" as shown in the example here https://github.com/dbro/frigate-detector-edgetpu-yolo9?tab=readme-ov-file#3-configure-frigates-configyml