Yolo-Fastest:超超超快的开源ARM实时目标检测算法

作者丨 qiuqiuqiu@知乎(已授权)
来源 | https://zhuanlan.zhihu.com/p/234506503
编辑 | AI约读社

Github:https://github.com/dog-qiuqiu/Yolo-Fastest

大家好,我是dog-qiuqiu,这篇文章可能不会涉及太多技术算法上的讲解,可能先和大家探讨下关于这个算法的一些定位和应用场景的问题吧。

Yolo-Fastest:

  • 简单、快速、紧凑、易于移植

  • 适用于所有平台的实时目标检测算法

  • 基于yolo的最快最小已知通用目标检测算法

  • 针对ARM移动端优化设计,优化支持NCNN推理框架

  • 基于部署在RK3399、Raspberry Pi 4b...等嵌入式设备上的NCNN,实现全实时30fps+

Yolo-Fastest,顾名思义,应该是现在已知开源最快的最轻量的改进版yolo通用目标检测算法(貌似也是现在通用目标检测算法中最快最轻量的),其实初衷就是打破算力的瓶颈,能在更多的低成本的边缘端设备实时运行目标检测算法,例如树莓派3b,4核A53 1.2Ghz,在最新基于NCNN推理框架开启BF16s,320x320图像单次推理时间在60ms~,而在性能更加强劲的树莓派4b,单次推理33ms,达到了30fps的全实时。而相比较下应用最广泛的轻量化目标检测算法MobileNet-SSD要在树莓派3b跑200ms左右,Yolo-Fastest速度整整要快3倍+,而且模型才只有1.3MB,而MobileNet-SSD模型达到23.2MB,Yolo-Fastest整整比它小了20倍,当然这也是有代价的,在Pascal voc上的map,MobileNet-SSD 是72.7,Yolo-Fastest是61.2,带来了接近10个点的精度损失,当然孰轻孰重,大家都有各自的想法。其实大家一般的检测任务本身不会像VOC那样检测20类那么多那么复杂,一般都是几类甚至单类检测,那么这样对于模型本身学习能力要求没那么高,因为本身类别越多样本不平衡的问题越大,越影响模型本身的性能。其实这个问题可以参考我的yoloface-500kb,一个只有400kb大小的人脸检测模型,这个本身就是个轻量化单类目标检测模型。下图是树莓派3b 基于Ncnn的常见模型的Benchmark。

其实,我还有个xl版本啊哈哈哈,精度更高当然模型更大速度当然…更慢啊xl就不多讲了,肯定树莓派3b没法实时,嘻嘻,但是这边有个基于麒麟990的NCNN的速度基准

啥,精度还不够,看来直接祭出我的MobileNetv2-yolov3-lite,VOC 73.2%的mAP,37.4% AP05 COCO,只有8MB,1.8Bflops,比mb-ssd系列的算法动不动10几20几MB的模型大小轻量很多,精度也高一些,但是lite只是证明yolo比mb-ssd系列更有优势,真正有意义实时的是fastest-xl以及fastest,哈哈,在放一张对比图

指标全是参考论文以及github相应的开源项目再来张效果图吧这是fastest

这是xl

对了,其实旷视的thundernet才是大佬,250mbflops的计算量,VOC能达到70%,可惜没开源,但是是个二阶检测算法,估计没yolo好部署。不过话说,如果我用object365把模型在训练一遍迁移到voc是不是又得暴涨几个点

总得而言,这个模型本身没有创新点,但是绝对重实用。管你啥X86,ARM,GPU,NNIE,Android,Linux…通吃,模型本身算子很简单,特别好移植,哈哈

Yolo-Fastest-1.1 多平台基准测试

设备计算后端系统框架运行
米11骁龙888安卓(arm64)神经网络5.59ms
伴侣 30麒麟990安卓(arm64)神经网络6.12ms
魅族16骁龙845安卓(arm64)神经网络7.72ms
开发板骁龙835(猴子版)安卓(arm64)神经网络20.52ms
开发板RK3399Linux(arm64)神经网络35.04ms
树莓派 3B4xCortex-A53Linux(arm64)神经网络62.31ms
Orangepi 零 LtsH2+ 4xCortex-A7Linux(armv7)神经网络550ms
英伟达GTX 1050tiUbuntu(x64)暗网4.73ms
英特尔i7-8700Ubuntu(x64)神经网络5.78ms
  • 以上是多核测试基准

  • 以上速度基准测试是通过big.little CPU中的big core

  • 树莓派 3B 启用 bf16s 优化,树莓派 64 位操作系统

  • rk3399需要把cpu锁在最高频率,ncnn并开启bf16s优化

Yolo-Fastest-1.1 行人检测

设备系统框架运行
树莓派 3BLinux(arm64)神经网络62ms
  • 基于yolo-fastest-1.1的简单实时行人检测模型

  • 启用 bf16s 优化,树莓派 64 位操作系统

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

  • 0
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值