• DepthAI
  • FasterRCNN/Retinanet support

Thanks.

I would like to know If can I use FasterRCNN/retinanet/ssd fpn with depthai?

if not, how should be added? changes should be made only in depthai host side, or also in the firmware/depthai-device-side?
depthai-device-side changes are needed only if decoding on device is required?

Thanks

https://docs.openvinotoolkit.org/latest/omz_models_public_ssd_resnet50_v1_fpn_coco_ssd_resnet50_v1_fpn_coco.html
https://docs.openvinotoolkit.org/latest/omz_models_public_faster_rcnn_resnet50_coco_faster_rcnn_resnet50_coco.html

Hi @jpizarrom ,

Thanks for your interest in DepthAI!

In regards to the firmware, see my post to your other question here:
https://discuss.luxonis.com/d/62-where-can-i-found-the-source-code-of-the-firmware-depthai-device-side

And for knowing if a network will work on DepthAI, the easiest/fastest route is to see if it is supported by the Intel NCS2. If it works on the NCS2, it will for sure work on DepthAI.

So FasterRCNN is quite a large network. What is your goal? If it is semantic segmentation we recommend Deeplabv3+. Here is a notebook for training your own networks on it:
https://colab.research.google.com/drive/1a4LqQM1426cTBRy_zxKkUYjkS7HKlJr7?usp=sharing

And here is it running trained for the person class:

I don't think that ssd_resenet50 is supported on Myriad X/NCS2, but I'll take a closer look.

Thanks,
Brandon

HI Brandon ,
Thanks a lot, I will check all the link you recommend me.

My goal is to detect objects, but objects can be small, so I thought to try with retinanet/ssd-fpn or faster rcnn.

Thanks

Hi @jpizarrom ,

Got it, thanks. So actually full YOLOv3 might be good for your application. That does run on the platform. It's not fast (a couple FPS IIRC), but it works well.

To try out the pre-canned model simply run:
./depthai_demo.py -cnn yolo-v3

The above was run with ./depthai_demo.py -cnn yolo-v3 -sh 14 -nce 2 -rgbf 3 -monof 3. Since full YOLOv3 is heavy, reducing the camera framerate to match the framerate at which the network can run will actually result in a higher overall framerate.