是否可以在Raspberry Pi 3上运行SSD或Yolo对象检测实时对象检测(2/4frames x second)?
我已经在Python尝试了此SSD实现,但每帧需要14 s。
我最近开始研究我的项目的对象检测,并想知道是否缺少某些东西来脱离地面。
我想在覆盆子PI 3上实现实时对象检测系统,以监视开放空间,例如花园。我已经尝试了一些可用的解决方案。我不需要检测到许多课程(只有3人,狗,骑自行车),因此也许可以使用更少的过滤器进行重新训练,从而减少了总计算时间。
darknet(yolo)[https://github.com/pjreddie/darknet]安装了默认的darknet测试的yolov2,yolo在Raspberry PI3上运行每个帧在每个帧中运行约450秒,每张图像为每个图像。微小的Yolo每图像运行40秒。
TensorFlow Google对象检测(API)[https://github.com/tensorflow/models/blob/master/master/object/object_detection/g3doc/installation.md]:我尝试了所有可用的网络。表现最好的一个是SSD Inception网络,该网络以26秒为单位。
Microsoft嵌入式学习库(ELL)[https://github.com/microsoft/ell]:出于某些汇编的原因,我无法将其工作,但会稍后尝试再次检查。请让我知道这是否对您有效及其在对象检测任务中的性能。
darknet-nnpack [https://github.com/thomaspark-pkj/darknet-nnpack]:在这里,darknet已针对ARM处理器进行了优化,并通过某种FFT实现了某种FFT实现,并具有速度的速度。/p>
我从中获得了最大的希望,但它有问题。
安装的DarkNet测试Yolo(完整V1)在Raspberry PI3上运行,每个图像需要大约45秒,该秒比默认的Yolo网络快10倍。微小的Yolo每帧运行1.5秒,但没有给出任何结果。
这是由于模型和CFG文件之间的版本冲突而报告的可能错误。我已经打开了一个github(问题)[https://github.com/thomaspark-pkj/darknet-nnpack/issues/13]
mxnet(ssd)[https://github.com/zhreshold/mxnet-ssd]:mxnet中的ssd端口(不使用nnpack编译)mxnet ssd ssd resnet resnet 50每图像88 sec mxnet ssd inpectionv3 ssd inpectionv3 sect 35 sec
caffe-yolo [https://github.com/yeahkun/caffe-yolo]:在yolo_small上运行caffe,每帧24秒工作。在Yolo_tiny上运行Caffe,每帧5秒钟。除非可以解决darknet-nnpack问题,否则这看起来像是我尝试过的最快的。
我设法在Raspberry Pi上运行MobilenetSSD并获得4-5 fps大约4-5 fps。大量的活动并丢失了很多框架,并在框架上获得了大量的工件,因此我不得不购买NCS棒并将其插入PI,现在我可以选择4 fps,但PI资源左右很低30%。具有Mobilenet SSD的NCS需要大约0.80秒来处理图像。
一个选项是使用Movidius NCS,仅当模型小得多时,仅使用Raspberry才能使用。
关于NCS实施:您应该能够使Mobilenet-SSD以〜8fps的速度运行。有一些示例适用于简单用例。我目前正在执行一个在DarkNet参考模型上相似的对象检测器,该对象检测器的运行量为〜15fps,但由于该模型尚不可用。一旦运行良好,我会开放它。
这里是:https://github.com/martinbel/yolo2ncs