Raspberry Pi AI Kit - Custom YOLOV8 Object Detection

  Рет қаралды 6,181

Cytron Technologies

Cytron Technologies

Күн бұрын

Пікірлер: 70
@HarshitGautam-bj3lc
@HarshitGautam-bj3lc Ай бұрын
You literally saved me, Your explanation is too the point and very accurate
@Catapultti
@Catapultti 2 ай бұрын
Thanks! This video and the full tutorial on the website help a lot.
@cytrontech
@cytrontech 2 ай бұрын
You're welcome!
@freek3620
@freek3620 2 ай бұрын
Hi is it possible to also make a tutorial for the instance segmentation? I cant figure out how to run it
@HagerKhaled-l4f
@HagerKhaled-l4f 9 күн бұрын
Thanks for this useful video I have a question , is it possible to work on Rasp berry pi5 if my project includes object detection using deep learning and we will make the robot walk autonomously using GPS and sensor fusion Is one raspberry pi will be enough or not?
@cytrontech
@cytrontech 7 күн бұрын
It is possible to run this project on Raspberry Pi 5, but you may need to optimise code and consider using an external processor.
@username_6948
@username_6948 2 ай бұрын
Amazing video - Could you please please make a tutorial about running custom PyTorch modal on hailo ai kit? Thanks
@cytrontech
@cytrontech Ай бұрын
You need to export the pytorch file (PT) to ONNX then convert it to .HEF to deploy the model on hailo ai kit
@jomtom1408
@jomtom1408 Ай бұрын
following the instruction I got this error in compiling to hef : hailo_model_optimization.acceleras.utils.acceleras_exceptions.NegativeSlopeExponentNonFixable: Quantization failed in layer yolov8s/conv42 due to unsupported required slope. Desired shift is 9.0, but op has only 8 data bits. This error raises when the data or weight range are not balanced. Mostly happens when using random calibration-set/weights, the calibration-set is not normalized properly or batch-normalization was not used during training.
@cytrontech
@cytrontech Ай бұрын
try to change your -calib-path to validation image folder (e.g -calib-path valid/images)on this command: hailomz compile yolov8s --ckpt=cybest.onnx --hw-arch hailo8l --calib-path train/images --classes 2 --performance or you can try optimizing the model before compiling 1. hailomz optimize --hw-arch hailo8l --ckpt best.onnx yolov8s 2. hailomz compile --hw-arch hailo8l --har yolov8s.har --calib-path train/images
@JirayuVijjakajohn
@JirayuVijjakajohn Ай бұрын
Do I need to have at least 16GB of RAM to do this?
@ameralahmad3563
@ameralahmad3563 8 күн бұрын
can I convert any Yolo model? for example Yolov5s or Yolov8m, another question, can Raspberry Pi 5 8GB + Hailo 26 TOP operate AI models as Yolov5,8,11 m and L with 15 FPS or more?
@cytrontech
@cytrontech Күн бұрын
Hey, thanks for your questions! 1. Yes, you can convert models like YOLOv5s or YOLOv8m for the Hailo 8L. Just export them to ONNX and then convert to HEF using the Hailo SDK. Some tweaks might be needed based on the model. 2. We haven’t tested that exact setup yet. Even with the increased computational power (13 TOPS to 26 TOPS), the results might vary since larger models like YOLOv8m or YOLOv8l add more processing load compared to smaller ones like YOLOv8s.
@docdav05
@docdav05 Ай бұрын
please provide how to install hailo sw suite
@natarajans669
@natarajans669 18 күн бұрын
Can i use Waveshare IMX219 camera instead of pi cam 3? Will it require any modifications in code? Also can i run the code without the accelerator?
@cytrontech
@cytrontech 15 күн бұрын
Yes, it is possible to use the Waveshare IMX219 camera for video input. However, running the code requires the Hailo accelerator
@Papst-rj4lt
@Papst-rj4lt 11 күн бұрын
Hey, thanks for the video! My resources only include three files, and none of them contains libyolo_hailortpp_postprocess.so. In your case, it seems to be libyolo_hailortpp_post.so, but I couldn't find it in the repository, not even in older versions. I’m trying to run detection on a downloaded video, but I keep encountering this error: Could not load lib /local/workspace/hailo-rpi5-examples/basic_pipelines/../resources/libyolo_hailortpp_postprocess.so: cannot open shared object file: No such file or directory Cannot load symbol: /opt/hailo/tappas/lib/x86_64-linux-gnu/gstreamer-1.0/libgsthailotools.so: undefined symbol: filter Segmentation fault (core dumped) Do you have any idea or solution for this issue? I should mention that I’m running the Hailo Suite in Docker. Thanks a lot for your help!
@cytrontech
@cytrontech Күн бұрын
Hi, thanks for watching the tutorial! The error likely comes from a missing or misplaced library file (libyolo_hailortpp_postprocess.so). Here's what you can try: Ensure you’re using the latest version of the SDK and examples repository. If it’s missing, re-clone the repository or check an older version.
@wk4637
@wk4637 Ай бұрын
Hi, please can you assist me? I have this error when converting onnx to hef (9:45): This CPU does not support `avx` instructions, and they are needed to run Tensorflow. It is recommended to run the Dataflow Compiler on another host. Another option is to compile Tensorflow from sources without `avx` instructions. Illegal instruction (core dumped)
@cytrontech
@cytrontech Ай бұрын
Care to share your computer setup? Specifically, what CPU are you using? This will help us confirm if it supports AVX instructions or not.
@wk4637
@wk4637 Ай бұрын
@@cytrontech Hi thanks for replying. I've managed to move on from that stage but am facing another issue now. When running the command (at 9:48), I received an error stating: "The layer yolov8n/conv41 doesn't have one output layer" I'm using the yolov8n model with a single class output. Can you assist in verifying the packages version. Package versions: Python: 3.8.10 hailo-dataflow-compiler: 3.29.0 hailo-model-zoo: 2.13.0 ultralytics: 8.3.15 onnx: 1.12.0
@francoisnoelle4067
@francoisnoelle4067 2 ай бұрын
Appreciate this!
@sosome1
@sosome1 2 ай бұрын
Wow. thank you for taking the time making this video. I will try it out. I have an NVMe ssd connected to PCIe connector. Is it possible to connect both AI kit and nvme ssd to the PCIe connector at the same time?
@cytrontech
@cytrontech 2 ай бұрын
It’s generally not possible to connect both the Hailo AI Kit and an NVMe SSD directly to the same PCIe connector at the same time because the Raspberry Pi typically has only one PCIe lane available, which can be used by either the AI accelerator or the NVMe SSD, but not both simultaneously. However, here are some potential alternatives: Use a USB-to-NVMe Adapter: You can connect the NVMe SSD via a USB 3.0 adapter to the Raspberry Pi, freeing up the PCIe lane for the Hailo AI kit. Waveshare PCIe to 2-CH M.2 HAT+: This HAT allows you to connect two M.2 devices to the Raspberry Pi via a single PCIe slot. We haven’t tested this setup, but according to the Waveshare wiki, it should work, though with reduced performance due to the limited bandwidth of the single PCIe lane. www.waveshare.com/wiki/PCIe_TO_2-CH_M.2_HAT+#FAQ
@saitmetinyurdakul5092
@saitmetinyurdakul5092 Ай бұрын
hello sir i have this error when converting onnx to hef can you assist me please: hailo_sdk_client.tools.core_postprocess.nms_postprocess.NMSConfigPostprocessException: The layer yolov8s/conv41 doesn't have one output layer
@cytrontech
@cytrontech Ай бұрын
1. Parse the ONNX Model: hailomz optimize --hw-arch hailo8l --har ./yolov8s.har 2. Compile to HEF: hailoc compile --har ./yolov8s.har --output ./model.hef
@justinnacu
@justinnacu Ай бұрын
what if I want to do something with the detections of the model, how can I use python to run the model and process the outputs?
@cytrontech
@cytrontech 15 күн бұрын
You can check out this tutorial we created, where we demonstrate how to use the model's detections to trigger actions like turning on an LED, sounding an alarm, or performing other tasks when a specific object is detected. It’s a hands-on project that should give you a clear idea of how to process model outputs in Python. my.cytron.io/tutorial/raspberry-pi-ai-kit-human-notification-with-comput
@rohanmazumder9
@rohanmazumder9 2 ай бұрын
Can't we do it with just the onnx files? I don't have the training data only the models.
@cytrontech
@cytrontech 2 ай бұрын
Yes, it's possible to work with just the ONNX model files without needing the original training data. You can directly convert the ONNX file to HEF.
@rohanmazumder9
@rohanmazumder9 2 ай бұрын
@@cytrontech any links on how to do it
@HarshitGautam-bj3lc
@HarshitGautam-bj3lc Ай бұрын
@@cytrontech Can you guide me how to do so as i don't have training data with me kindly help.
@cytrontech
@cytrontech Ай бұрын
@@HarshitGautam-bj3lc you can follow this tutorial : my.cytron.io/tutorial/raspberry-pi-ai-kit-onnx-to-hef-conversion
@cytrontech
@cytrontech Ай бұрын
​@@rohanmazumder9 here : my.cytron.io/tutorial/raspberry-pi-ai-kit-onnx-to-hef-conversion
@saitmetinyurdakul5092
@saitmetinyurdakul5092 Ай бұрын
Hello, thank you for the video. How many fps did you get?
@cytrontech
@cytrontech Ай бұрын
avg 30fps
@gregorymoore7617
@gregorymoore7617 2 ай бұрын
Thank you very much for the video! I am getting stuck on compiling the .ONNX model to .HEF using HailoDFC. I get errors about the IR version being too high and when I downgrade it to 8, then the error is about Opset being too high (is 19, needs to be 17). Has anyone else run in to this?
@cytrontech
@cytrontech 2 ай бұрын
This issue typically arises due to version mismatches between the ONNX file and the Hailo SDK, particularly with the Intermediate Representation (IR) and Opset versions. You may try to simplify the model using onnx-simplifier.
@freek3620
@freek3620 2 ай бұрын
When exporting the model from pt to onnx, you can declare the opset version Model.export(format="onnx", opset=17)
@Prashant-wj9jk
@Prashant-wj9jk Ай бұрын
Sir how to use onnx simplifire
@HarshitGautam-bj3lc
@HarshitGautam-bj3lc Ай бұрын
Simply use "pip install --upgrade onnx" this command in the environment and you will be good to go
@wk4637
@wk4637 Ай бұрын
Hi, I'm currently facing a similar problem of ir_version being too high. Can you share how did you downgrade the version to 8? TIA
@TasosManolidis
@TasosManolidis Ай бұрын
when i try to run the Custom training came error TypeError: unhashable type: 'numpy.ndarray' you know how to fix that?
@cytrontech
@cytrontech Ай бұрын
Ensure your dataset is correctly formatted, and check the data.yaml file to confirm it’s correctly referencing the paths to your training, validation, and test sets. Are you exporting the dataset in YOLOv8 format?
@TasosManolidis
@TasosManolidis Ай бұрын
@@cytrontech i fint it the problem is here !pip install albumentations==1.4
@cytrontech
@cytrontech Ай бұрын
@@TasosManolidis you can join our forum here : forum.cytron.io/
@SrujanLakkam
@SrujanLakkam 2 ай бұрын
Could you please help me I am getting this error. raise NegativeSlopeExponentNonFixable( hailo_model_optimization.acceleras.utils.acceleras_exceptions.NegativeSlopeExponentNonFixable: Quantization failed in layer yolov8m/conv83 due to unsupported required slope. Desired shift is 14.0, but op has only 8 data bits. This error raises when the data or weight range are not balanced. Mostly happens when using random calibration-set/weights, the calibration-set is not normalized properly or batch-normalization was not used during training. I followed your tutorial as it is. Kindly help me. Thanks.
@cytrontech
@cytrontech 2 ай бұрын
hi you can check full tutorial here : my.cytron.io/tutorial/raspberry-pi-ai-kit-custom-object-detection-with-h?r=1
@cytrontech
@cytrontech Ай бұрын
Try to modify the .alls file by adding this line quantization_param([conv42, conv53, conv63], force_range_out=[0.0, 1.0]) You can refer to hailo forum discussion. community.hailo.ai/t/problem-with-model-optimization/1648
@SrujanLakkam
@SrujanLakkam Ай бұрын
@@cytrontech thank you so much for your response.
@SrujanLakkam
@SrujanLakkam Ай бұрын
@@cytrontech could you please help me I am getting below error. raise NMSConfigPostprocessException(f"The layer {encoded_layer.name} doesn't have one output layer") hailo_sdk_client.tools.core_postprocess.nms_postprocess.NMSConfigPostprocessException: The layer yolov8s/conv41 doesn't have one output layer.
@cytrontech
@cytrontech Ай бұрын
@@SrujanLakkam you can join our forum here : forum.cytron.io/
@0ffGridTechClub
@0ffGridTechClub 4 сағат бұрын
👏🏻
@6alalush254
@6alalush254 2 ай бұрын
fps ?
@cytrontech
@cytrontech Ай бұрын
avg 30 fps
Raspberry Pi AI Camera - Deep Dive
50:07
Kevin McAleer
Рет қаралды 9 М.
Pi 5 Battle: Raspberry Pi vs Orange Pi vs Radxa
26:36
Maker by Mistake
Рет қаралды 9 М.
Одну кружечку 😂❤️
00:12
Денис Кукояка
Рет қаралды 1,3 МЛН
А я думаю что за звук такой знакомый? 😂😂😂
00:15
Денис Кукояка
Рет қаралды 6 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 43 МЛН
Thank you Santa
00:13
Nadir Show
Рет қаралды 51 МЛН
Why did Raspberry Pi make their own SSD?
12:58
Level 2 Jeff
Рет қаралды 264 М.
Raspberry Pi AI Kit - Unboxing and Installation Guide
16:20
Getting Started With the Hailo AI Kit For Raspberry Pi 5
14:53
Expat Professor
Рет қаралды 9 М.
YOLOv8: How to Train for Object Detection on a Custom Dataset
20:31
Using Ollama to Run Local LLMs on the Raspberry Pi 5
9:30
Ian Wootten
Рет қаралды 77 М.
Tensorflow Lite with Object Detection on Raspberry Pi!
11:31
Lazy Tech
Рет қаралды 27 М.
6 Great Raspberry Pi 5 Projects to try in 2024!
5:20
ToP Projects Compilation
Рет қаралды 66 М.
I Ran Advanced LLMs on the Raspberry Pi 5!
14:42
Data Slayer
Рет қаралды 246 М.
Одну кружечку 😂❤️
00:12
Денис Кукояка
Рет қаралды 1,3 МЛН