YOLO-FastestV2:更快,更轻!移动端高达300 FPS!参数量仅250k目标检测与深度学习共 2077字,需浏览 5分钟 ·2021-09-11 18:18 点击左上方蓝字关注我们一个专注于目标检测与深度学习知识分享的公众号编者荐语Yolo-Fastest注重的就是单核的实时推理性能,在满足实时的条件下的低CPU占用,不单单只是能在手机移动端达到实时,还要在RK3399,树莓派4以及多种Cortex-A53低成本低功耗设备上满足一定实时性,毕竟这些嵌入式的设备相比与移动端手机要弱很多,但是使用更加广泛,成本更加低廉。作者丨qiuqiuqiu@知乎来源丨https://zhuanlan.zhihu.com/p/400474142贴图先和yolo-fastest-1.1对比下:是的,这次我没有优化精度,这次优化的是速度,毕竟追求的是fastest..,不过,用0.3%的精度损失换取30%推理速度的提升以及25%的参数量的减少,至少我觉得还是挺值,与其说追求的速度,其实更加注重的是算法效果与推理效率的性价比。先说说Yolo-Fastest的初衷吧,其实早期轻量的目标检测大家多是用的Mobilenet-SSD,其实在实际测试中,在常用的ARM设备上是很难达到实时的,只有在一些高端手机大核全开勉强达到实时,更别说工业界常用的"性能强悍的"RK3399等ARM CPU呢,达到实时基本是不可能的。包括后来自己用mobilenet对yolov3进行轻量级的优化,用1.8BFlops的计算量在Kirin 990性能上大核全开达到~55fps,虽然能在高端手机上达到很好的速度,但是在一些低端的手机CPU以及工业界常用的高端芯片RK3399,还是没法满足实时的。其次,在实际的应用中,考虑功耗,系统资源占用,一般也不会多核全开去推理模型,毕竟还得留些资源给其他应用,所以我一般部署模型只会设置单核,最多也是双核。尤其在手机上,功耗问题特别严重,假如模型推理时CPU占用过高的话,会引起过热降频,反而会适得其反,其次还有续航的减少。Yolo-Fastest注重的就是单核的实时推理性能,在满足实时的条件下的低CPU占用,不单单只是能在手机移动端达到实时,还要在RK3399,树莓派4以及多种Cortex-A53低成本低功耗设备上满足一定实时性,毕竟这些嵌入式的设备相比与移动端手机要弱很多,但是使用更加广泛,成本更加低廉。所以,不光只单单看模型的推理耗时,还得着重关注模型推理所消耗的系统资源,内存,CPU占用等,例如两个模型都可以在cpu上达到30fps,但是模型A是在单核的情况下达到实时,cpu占用才20%,模型B是在4核全开的情况下达到实时,cpu占用可能100%,但是模型B效果可能要好一些,这种情况下需要权衡利弊。先说这一版的改进吧,首先模型的backbone替换为了shufflenetV2,相比原先的backbone,访存减少了一些,更加轻量,其次Anchor的匹配机制,参考的YOLOV5,其实YOLOV5与Darknet的官版YOLOV4在Anchor的匹配机制的区别还是挺大的,这点不细讲了,网上解析一大堆,其次是检测头的解耦合,这个也是参考YOLOX的,将检测框的回归,前景背景的分类以及检测类别的分类有yolo的一个特征图解耦成3个不同的特征图,其中前景背景的分类以及检测类别的分类采用同一网络分支参数共享。最后将检测类别分类的loss由sigmoid替换为softmax。对了,这次还是只有输出11x11和22x22两个尺度的检测头,因为发现在coco上三个检测头(11x11,22x22,44x44)和两个检测头(11x11,22x22)的精度无太大差异,个人感觉原因如下:backbone对应44x44分辨率的特征图太少正负anchor的严重不平衡小物体属于难样本对于模型学习能力要求高Yolo-FastestV2检测头最后,大家可能关心的是和yolox和nanoDet的对比,精度肯定比不过啊, 不过速度应该会快个两三倍,那体积只有 1.3M 的 PP-YOLO Tiny("比 YOLO-Fastest 更轻、更快?")呢,Emmm...用int8的量化后体积和yolo-fastest的fp32的体积比,有点亏...YOLO-FastestV2 int8可是仅仅只有250kb哦,虽然我没跑过PP-YOLO Tiny,但是应该还是比他快。所以,模型的选择还是看大家需求哦。RK3399和树莓派4搭配ncnn bf16s,YOLO-FastestV2 是可以实时的哦模型的最终实测效果:YOLO-FastestV2项目链接:https://github.com/dog-qiuqiu/Yolo-FastestV2END双一流大学研究生团队创建,专注于目标检测与深度学习,希望可以将分享变成一种习惯!点赞三连,支持一下吧↓ 浏览 32点赞 评论 收藏 分享 手机扫一扫分享分享 举报 评论图片表情视频评价全部评论推荐 比 SpringBoot更快,更轻,更小!开发者全社区0比 SpringBoot更快,更轻,更小!Java之间0移动端常见问题前端人0ShuffleNetV2-Yolov5 更轻更快易于部署的yolov5GiantPandaCV0Mopidy-MobileMopidy 移动端扩展Mopidy-Mobile是Mopidy移动设备上的Web客户端扩展工具,支持iOS7+、Andriod4.4或是更高级版本。Framework7HTML 移动端框架Framework7 或者叫 F7 是全功能的绑定 iOS 7 应用的 HTML 框架。FramewWe_Questionnaire移动端问卷调查We_Questionnaire 是基于Thinkphp3.2.3+jqueryMobile1.4.4的微信公众号应用--移动端问卷调查下面先预览一下项目图片:mobileHack移动端解决方案mobileHack这里收集了许多移动端上遇到的各种坑与相对解决方案:工具类网站HTML5与CSS3技术应用评估各种奇妙的hack几乎所有设备的屏幕尺寸与像素密度表移动设备参数表ios端移动设备参数速Framework7HTML 移动端框架Framework7或者叫F7是全功能的绑定iOS7应用的HTML框架。Framework7是免费开源的HTML移动端框架,用来开发混合移动端应用或者iOS7的Web应用,并且带有iOS7的原生外观和We_Questionnaire移动端问卷调查We_Questionnaire 是基于Thinkphp3.2.3 + jqueryMobile1.点赞 评论 收藏 分享 手机扫一扫分享分享 举报