I am trying to verify the yolov6n performance benchmarks listed here as a baseline before optimizing a custom trained model. Using the device-decoding pipeline from the depthai-experiments repository, I have been able to achieve 24 fps with the yolov6n 640x640 model from the depth AI model zoo. I am not able to achieve the 30 fps listed in the RVC2 NN performance table for YoloV6n R2. Is the R2 model that achieved 30 fps available anywhere?
yolov6n benchmarks
Hi GregorySmith
Just to make sure, was your yolov6n compiled for 8 shaves?
Models were compiled for 8 shaves and were using 2 NN inference threads. Latency includes getting results from device over USB3.
Thanks,
Jaka
I tried 8 shaves but found that 6 shaves performed best with that model.
Hi GregorySmith
Yes, that depends on how many other resources you are using (they also use shaves which may hinder the performance).
You can get YoloV6 R2 version by using https://tools.luxonis.com/ and selecting YoloV6 (R2, R3).
Thanks,
Jaka
Thank you!
I have exported the base R2.1 yolov6n pretrained weights using that tool, using 8 shaves and 2 NN threads to try match the benchmarks here: https://docs.luxonis.com/projects/hardware/en/latest/pages/rvc/rvc2/#rvc2-nn-performance
I am only seeing 13 fps with the 8-shave version. I see up to 23 fps with the 6-shave version, but I am still unable to reproduce the benchmark from that page.
I am using depthai-experiments/gen2-yolo/device-decoding, so I do not believe I am using any extra resources. This is with an OAK D Pro camera.
I believe I understand the issue. With the OAK D Pro at 1080p, I only have 13 shaves available to me. This is why the 6-shaves x 2 threads works better than 8 shaves x 2 threads. When I try to configure the camera to less than 1080p, to get those shaves back, I cannot do it:
[warning] Unsupported resolution set for detected camera IMX378/214, needs 1080_P / 4_K / 12_MP. Defaulting to 1080_P
Is it possible to configure the color camera on the OAK D Pro to a lower resolution to free up those shaves?
Hi @GregorySmith ,
The 1080P would be the minimal resolution, which consumes 3 cmx slices (4k/12mp consume 6 cmx slices).
Thanks, Erik
- Edited
Thanks, Erik. I have tried the OV9782 version as well, which operates at a lower 1280x720 resolution. But it still seems to consume 3 cmx slices. Does this mean it is not possible to achieve the 8 shave x 2 thread performance on any Oak D camera?
Hi @GregorySmith ,
There are 16 free CMX slices, and cameras consume 3 of them (or more). So that means you are left with 13 of them, so if you are using cameras (and not eg. sending video stream from the device via XlinkIn), the optimal number would be 6 SHAVEs x2 threads.
Thanks, Erik