yolo算法_不到2MB,超轻YOLO算法!准确率接近YOLOv3,速度快上45%

点击上方↑↑↑“OpenCV学堂”关注我

来源:公众号 量子位 授权

最轻的YOLO算法出来了!

这是个模型非常小、号称目前最快的YOLO算法——大小只有1.3MB,单核每秒148帧,移动设备上也能轻易部署。

c4dbbb4009d69576954813f4fe59468e.png

而且,这个YOLO-Fastest算法满足所有平台的需要。

不论是PyTorch,还是Tensorflow,又或者是Keras和Caffe,可以说是全平台通用

此外,作者还推出了超轻YOLO的“加大版”,同样只需要3.5MB,就能实现比YOLOv3更好的目标检测效果。

那么,这么轻的网络,检测效果怎么样?

1.3MB的超轻YOLO

检测效果

下图是一只快速跑动的动物,可以看见,算法预测这只动物为鸡(chicken)的概率是95%。

62effece07220f0b42aea60e331efd79.png

不仅在动物检测上,对于人的检测效果也不错。

从图中可见,正面人物的预测概率都超过了90%,即使是接近侧面的人脸,系统也能准确预测出来,只是概率会偏小,接近50%。

1f7f078c3c04b57eb5b0b7f441ea81d3.png

此外也能看见,YOLO不仅能检测行人和动物,类似于餐桌和瓶子这样的目标物体也能检测出来。

当然,桌上还有其他的瓶子,不过没有检测出来。

而这样的检测效果,只需要1.3MB大小的YOLO-Fastest模型,相比于3.0MB的MobileNet-YOLOv3,参数少了65%,速度还要快上45%。

566097941ff0758e816adde808a7a55f.png

如果硬件要求没那么高,相比之下,还是精度更重要的话,这里的YOLO-Fastest-XL会更加适合。

这个“加大版”YOLO-Fastest算法是一个3.5MB的算法模型,mAP要高上不少,达到了68.8%。

整体来说,YOLO-Fastest是个牺牲一定精度 (大约5%的mAP)、大幅提升速度的目标检测模型。

结合最强移动端轻量级神经网络食用

之所以这么小,也是因为这个YOLO-Fastest搭配了号称当前最强的移动端轻量级神经网络EfficientNet-lite

这是个比MobileNet更轻的神经网络,但图像分类的效果还不错。

d1ea83592181f1b93505712a030c80a1.png

EfficientNet-lite架构

不过,这样的压缩会牺牲一定的精度,相比于YOLOv3,YOLO-Fastest模型的mAP只有60.8%

但对于一些容量有限的硬件来说,已经足够适用了。

那么,究竟为什么要在目标检测算法中选择YOLO呢?

YOLO:快速目标检测

目标检测算法YOLO的核心,在于它模型体积小、运算速度快。

与R-CNN系列(Fast R-CNN、Faster R-CNN等)的算法相比,YOLO的精度上不了台,但它的速度却是杠杠的。

检测速度,从先验框(下图中五彩斑斓的框架)变换的频次就能看出来。

2804401db8b8e0cc36d14d180fa05bf8.gif

之所以追求速度,是因为作为安防、自动驾驶领域的核心算法,目标检测讲究实时

如果安防要过几秒钟才能检测出窃贼的存在、或是自动驾驶汽车对路障的感知非常缓慢,那么后果可能会不堪设想。

94c18c5761e9d248d5a05177470b6b5e.png

此后诞生出来的SSD算法,有点像R-CNN和YOLO算法的折中。但对于某些存储体积有限的硬件来说,依旧只有YOLO才能“装得进去”。

而只有230MFLOPS(每秒运行230万次浮点运算)的YOLO-Fastest模型,又给算力不足的硬件提供了机会,使得它有机会在更小的机器上运行。

作者相关

有意思的是,这位在GitHub上名为dog-qiuqiu的作者,此前还写过基于MobileNet图像分类算法的YOLOv3(GitHub 1.1k星),同样可以在全平台使用。

不仅如此,这个全平台通用的MobileNet-YOLOv3,体积和精度都要优于MobileNet-SSD。

a08cd67453f5f3d4d4d478245a726595.png

在体积只有8.0MB(相比于SSD减少了15.1MB)的情况下,MobileNet-YOLOv3的mAP达到了73.26%(相比于SSD上升了0.56%)。

如果感兴趣的话,可以一同戳下方传送门查看这个目标检测算法。

传送门

1.3MB超轻YOLO:https://github.com/dog-qiuqiu/Yolo-Fastest

比SSD效果更好的MobileNet-YOLO:https://github.com/dog-qiuqiu/MobileNet-Yolo

ba3e3a42d5736143d4b374550f12183a.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505752.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

http请求丢部分数据_温故知新,HTTP/2

去年年底,据国际互联网工程任务组( IETF )消息,HTTP-over-QUIC 实验性协议将被重命名为 HTTP/3,即有望成为 HTTP 协议的第三个正式版本,也就是说HTTP/3可能要来了。 该消息是如此的惹人注目,是因为HTTP是我们身边的协议…

poi java 其他_让POI架起Java与Office之间的桥梁一

本文将阐述如何用POI来读取/写入完整的Excel文件。作者:中国IT实验室 来源:中国IT实验室 2007年8月31日本文将阐述如何用POI来读取/写入完整的Excel文件。约定:POI项目2.0版现在已经接近正式发行阶段,开发进度迅速,不断…

vue ui框架_「webAPP」记录几款比较好用的vue 移动端的ui框架

有时在做项目时,不同场景的项目既要有网站,又要有手机端,为了快速开发,如果功能简单,要求不高的话,我们一般会用H5进行移动端的适配。如果采用纯html进行书写手机端的样式,往往UI的体验感非常差…

java定义基础变量语句_编程语言第一:JAVA语言基础,变量

在前面的几篇文章中我们介绍了Java的运行环境,以及Eclipse IDE的安装与使用。从今天开始我们的文章开始介绍Java开发语言的基础知识。今天主要介绍Java变量。一、什么是变量变量是指代在内存中开辟的存储空间,用于存放运算过程中需要用到的数据。例&…

spring.profiles.active配置了没生效_微服务架构之「 配置中心 」

在微服务架构的系列文章中,前面已经通过文章《微服务架构之「服务网关 」》介绍过了在微服务中服务网关的原理和应用,今天这篇文章我们继续来聊一聊微服务中另外一个重要模块:「 配置中心 」。后面还会继续介绍 服务框架、服务监控、服务治理…

公招网报照片审核处理工具_消防员招录报名照片处理工具使用说明

消防员招录报名照片处理工具使用说明请将下载的压缩包文件全部解压后,在照片处理工具文件夹中,用鼠标双击 “消防员招录报名照片处理工具.exe” 运行照片处理工具软件。本工具是消防员招录报名照片处理专用工具,只有经本工具处理符合要求的照…

php树形数据结构是什么,数据结构 之 树

概述树的章节一般分两大部分: 一部分将树,一部分将二叉树;虽然二叉树也是树,但是二叉树足够特殊,足够有用,所以重点来讲;或者说,如果不是二叉树,树的家族也不会如此的德高…

螺旋桨设计软件_第四届智能工业软件及设计技术研讨会暨2019天洑软件用户大会成功举办...

第四届智能工业软件及设计技术研讨会暨2019天洑软件用户大会于2019年6月13日-14日在辽宁省大连市召开。天洑软件用户大会至2019年已成功举办了四届,在历届会议中有来自中国、德国、瑞典、捷克、意大利、美国、加拿大、日本等各行业专家学者共同探讨最新的计算机智能…

群晖 百度网盘_海康威视联合百度网盘推出NAS私有存储 贡献带宽获积分兑网盘会员...

此前百度网盘因为限速问题遭到不少用户的吐槽,随后百度网盘推出单次付费加速由于价格过高再次被吐槽。网盘类的服务也确实需要大量的硬盘空间和服务器带宽支撑,所以对用户来说最好的办法还是自己搭建网盘。自己搭建的网盘也就是私有云存储,放…

onenetsim定位功能吗_微信小程序新增后台定位功能,你会卸载地图APP用微信导航吗...

[PConline]8月8日,根据微信官方发布的消息显示,小程序新增后台定位功能,并对自动化测试功能进行了升级。据介绍,为了满足线路导航、路线记录等服务场景下,小程序需要长时间持续定位来提供服务。当用户主动将小程序设置…

MATLAB静力学分析,锻造操作机静力学的Matlab仿真分析

由第3章中该新型锻造操作机的位置反解中的构件的位置以及角度的关系式,均为已知量。施加外力为Ftx50N,Fty300N和沿“轴方向的外力矩M 60000 N.mm。给定初始量范围,通过Matlab软件仿真,可以得到各个液压缸的驱动力的变化曲线。该新型锻造操作机…

babylonjs 设置面板位置_一篇关于开关面板的详细集合,值得收藏转发

对于大部分人来说,开关的布局,开关的种类都会是一脸懵。所以大家在装修的过程中就会迷茫,今天给大家分享一篇集合,相信通过这篇文章,问题会有所缓解~一,开关插座的分类1.电源开关分类:一位单控/…

ecs 云服务器 管理控制台_【弹性计算】教您快速学会云服务器ECS 创建命令!

云助手命令可以在ECS实例中快速完成运行自动化运维脚本、轮询进程、重置用户密码、安装或者卸载软件、更新应用以及安装补丁等一些日常任务。命令类型可以是Windows PowerShell脚本、Bat批处理命令和Linux Shell脚本,命令中支持自定义参数,方便设置变量值…

直流降压的简单方法_量血压的重大误区和简单的降压方法,尽快转告身边人!...

见五蕴皆空,度一切苦厄。舍利子,色不异空,空不异色,色即是空,空即是色,受想行识,亦复如是。舍利子,是诸法空相,不生不灭,不垢不净,不增不减。是故…

php oauth2 和 jwt,jwt-auth: thinkphp 的 jwt (JSON Web Token)身份验证扩展包,支持Swoole...

JWT-AUTHthinkphp的jwt(JSON Web Token)身份验证包。支持Header、Cookie、Param等多种传参方式。包含:验证、验证并且自动刷新等多种中间件。支持Swoole环境要求php > 7.0thinkphp ^5.1.10 || ^6.0.0说明目前支持如下三大类型加密方式:RSA,HASH,DSA。…

qt 将int型数据显示在文本框_Qt编写Online judge爬虫

一、前提刚开始接触C/Qt是需要一个项目练练手,当时听说过OJ并且网络不好,就想着把数据获取下来随时使用。后来代码写多了之后听说Python写爬虫更方便,可惜坑已经跳下去了,就一条路走到黑了。这是我代码之路的第一个完整实现完整功…

vim函数跳转 php,求助!! vim-gvim中如何让其显示函数及其参数!!

求助!! vim-gvim中如何让其显示函数及其参数!!(2012-06-05 02:25:34)标签:如何杂谈求助!!vim/gvim中如何让其显示函数及其参数!!用了一段时间的vim,发现在自动补全中发现…

php添加填空,PHP之preg_replace_callback(),将填空题的[[]]替换成______

preg_replace_callback 函数执行一个正则表达式搜索并且使用一个回调进行替换。语法图1这个函数的行为除了可以指定一个 callback 替代 replacement 进行替换字符串的计算,其他方面等同于 preg_replace()。参数说明:$pattern: 要搜索的模式,可…

怎么用php写软件老吴p,11.32 php扩展模块装安

php动态扩展模块添加因为业务需要或者编译php的时候少安装了一个模块,我们现在需要新添加一个模块,那怎么做呢?查看模块/usr/local/php/bin/php -m第一步:去php的安装目录中/ext/目录下查看有没有 你需要安装的扩展模块的包比如&a…

linux用户没有创建文件的权限设置密码,Linux学习第五章用户身份与文件权限

一、用户身份与能力Linux系统中一共有三种用户第一种:管理员 root UID 0第二种:系统用户 不需要登录系统 负责单一服务的运行 UID 0-1000第三种:普通用户 日常登录系统操作的用户 UID 1000--uid1000(zhang) gid1000(zhang) groups…