2018月下半年Tensorflow开始提供树莓派版本后,我们见到了许多国内外的博主用python脚本在Tensorflow的框架下跑Mobilenet SSD 网络做了实时检测的Demo,但大部分的Demo帧率都比较低。
Tengine MSSD 性能
接触Tengine 后,发现在Tengine 框架下运行SSD网络的性能十分强。我参加了
Tengine AloT 树莓派应用征集大赛活动(https://github.com/OAID/)
获得Tengine Explore版后,运行SSD 网络对网上图片检测,对多目标复杂背景环境的检测每次还能到达237.112ms,使用了int8精度后,在检测结果不变只减少精度的下每次检测还能达到167.558ms。
先看原图
图片来源http://huaban.com/pins/340488847
下图为精度浮点数32位检测结果
下图为精度为整数8位检测结果
相比用python的SSD检测模型一般的帧率是在1fps。
下面的链接是一个国外博主的Demo
https://github.com/EdjeElectronics/TensorFlow-Object-Detection-on-the-Raspberry-Pi
使用C++编译的Tengine, 其中即使设置OPENCV 帧率为5pfs后实时检测依然流畅。
Demo 设计
在发现Tengine Explore版优秀的性能后,我设计一个日常的场景,在摄像头检测到人的时候启动树莓派的GPIO 模块,使连接面包板上的LED亮灯。
Demo 展示
这个Demo可以运用在实际的门禁的场景,在门禁启动后如果有人穿过拍摄区域,可以亮灯发出警示。 因为树莓派的计算能力的限制,亮灯的Demo的输出帧率达不到之前的5-6pfs,但是通过设置OPENCV 的降低清晰度检测的帧率还能达到3pfs。在实际场景的运用效果不错,下面的在场景是公司中的走廊中的实测视频gif
即使是在实时检测并亮灯的时候树莓派的CPU的占用率也65%左右,所以小小的树莓派用Tengine还是有可以继续发掘的潜力的。
如果大家对Tengine框架的性能有兴趣可以参考一下我之前写的那篇文章,关于Tengine和Tensorflow Lite 的性能对比。
https://blog.csdn.net/weixin_43558453/article/details/85175253
活动
这次的活动是OPEN AI LAB组织的Tengine AloT 树莓派应用征集大赛有兴趣的树莓派开发者也可以报名参加。
Tengine AloT 树莓派应用征集大赛 二维码: