点击我爱计算机视觉标星,更快获取CVML新技术


无人机因为硬件计算能力较弱,要在其上实现实时的目标检测,需要算法参数量小、占用内存少、推断时间短。常见的算法往往难以直接应用。

一种比较直接的做法是对模型进行剪枝,尽量减少模型卷积层不必要的通道。

今天arXiv新上论文SlimYOLOv3: Narrower, Faster and Better for Real-Time

UAV Applications,作者对YOLOv3的改进版进行了剪枝,在参数量、占用内存、推断时间大幅减少的情况下,在无人机目标检测数据集上实现了与原算法可比较的检测精度。

作者已将代码开源,包含训练和测试部分,值得从事相关工程开发的朋友参考。

以下是作者信息:

作者全部来自北京理工大学。

下图为作者发明的三种设置下的SlimYOLOv3 相比较基线版本的YOLOv3的结果:

YOLOv3-tiny 是YOLOv3的一种快速算法,但精度下降太多。

YOLOv3-SPP1 是YOLOv3加上SPP模块的改进,其比原始YOLOv3精度要高。

YOLOv3模型中加入SPP模块的示意图,作者是在原第5和第6卷积层之间加SPP模块

YOLOv3-SPP3 是该文作者YOLOv3-SPP1的改进,其有3个SPP模块,比YOLOv3-SPP1精度更高,是本文模型剪枝的基础模型。

SlimYOLOv3-SPP3-50/90/95,是YOLOv3-SPP3模型剪枝率分别为50%、90%、95%的三个模型。

可见模型剪枝可大幅改善模型在无人机上的部署,有一定的精度损失,但远比YOLOv3-tiny要好。

剪枝过程

什么是深度模型的剪枝?就像论文名字中的更窄(Narrower),它是要减少模型通道数。

去除每个卷积层中不重要的特征通道。所以需要合理地评估特征通道的重要性。

下图可以较为明了地说明整个过程。

YOLOv3经过稀疏训练,得到各通道的尺度因子,然后去除那些尺度因子小的通道,将剪枝得到的模型SlimYOLOv3在数据集上进一步微调,得到检测结果,然后进入下一轮的稀疏训练。以上剪枝过程是迭代重复的,直到满足一定的模型条件,比如模型剪枝率达到一定要求。

实验结果

作者通过上述方法,在配置为 Intel(R) Xeon(R) E5-2683 v3 CPU @ 2.00GHz (56 CPUs), 64GB RAM, 4 个 NVIDIA GTX1080ti GPU的 Linux 机器上训练,得到三个剪枝模型,并在无人机目标检测数据集 VisDrone2018-Det上进行了实验,结果如下:

可见在精度稍有下降的情况下,推断时间(Inference time)、参数量(Parameters)、内存占用(Volume)大幅减少,更适合在无人机部署。

下图为各算法结果比较的柱状图,更加直观。

检测结果示例:

作者已将代码开源,各位读者可以非常方便地进行训练和测试。

每个步骤仅需要一行命令!

原始模型训练:

./darknet/darknet detector train VisDrone2019/drone.data  cfg/yolov3-spp3.cfg darknet53.conv.74.weights

稀疏训练:

python yolov3/train_drone.py --cfg VisDrone2019/yolov3-spp3.cfg --data-cfg VisDrone2019/drone.data -sr --s 0.0001 --alpha 1.0

通道剪枝:

python yolov3/prune.py --cfg VisDrone2019/yolov3-spp3.cfg --data-cfg VisDrone2019/drone.data --weights yolov3-spp3_sparsity.weights --overall_ratio 0.5 --perlayer_ratio 0.1

模型微调:

./darknet/darknet detector train VisDrone2019/drone.data  cfg/prune_0.5.cfg weights/prune_0.5/prune.weights

论文地址:

https://arxiv.org/pdf/1907.11093v1.pdf

代码地址:

https://github.com/PengyiZhang/SlimYOLOv3

感谢论文作者的分享!

更多阅读:

移动端70+fps!谷歌新出高效实时视频目标检测

ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

YOLO-LITE:专门面向CPU的实时目标检测

52CV正在组织高科技产品!抽奖送【车萝卜小蜜】活动,27日23点开奖,欢迎参加!


目标检测微信群

关注最新的目标检测技术,欢迎加入目标检测专业交流群,扫码添加CV君拉你入群,

(请务必注明:目标检测)

喜欢在QQ交流的童鞋,可以加52CV官方QQ群:805388940。

(不会时时在线,如果没能及时通过验证还请见谅)


长按关注我爱计算机视觉

SlimYOLOv3:更窄、更快、更好的无人机目标检测算法相关推荐

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

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

  2. “快到没朋友”的目标检测模型YOLO v3问世,之后arXiv垮掉了…

    安妮 编译整理 量子位 出品 | 公众号 QbitAI 今天有三件事挺有意思. 一是以"快到没朋友"著称的流行目标检测模型YOLO推出全新v3版,新版本又双叒叕提升了精度和速度.在 ...

  3. YOLOv5全面解析教程③:更快更好的边界框回归损失

    作者|Fengwen.BBuf 边界框回归是目标检测的关键步骤,在现有方法中,虽然被广泛用于边界框回归,但它不是针对评估指标量身定制的,即 Intersection over Union (IoU). ...

  4. YOLOX-PAI:加速YOLOX,比YOLOV6更快更强

    作者:忻怡.周楼.谦言.临在 导言 目标检测(object detection)旨在定位并识别出图像中的目标物体,一直以来都是计算机视觉领域研究的热点问题,也是自动驾驶.目标追踪等任务的基础.近年来, ...

  5. 动态实例分割SOLOv2,更快更强更精准!

    今天跟大家分享下前天新出的论文 SOLOv2: Dynamic, Faster and Stronger,一看这名字就知道很霸气!SOLO 超越自己,在原有架构基础上引入动态卷积和发明了Matrix ...

  6. 如何改进YOLOv3使其更好应用到小目标检测(比YOLO V4高出4%)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨ChaucerG 来源丨集智书童 编辑丨极市平台 导读 针对微小目标的特征分散和层间语义差异的问 ...

  7. CVPR 2019 | 旷视提出新型目标检测损失函数:定位更精准

    点击我爱计算机视觉标星,更快获取CVML新技术 52CV曾经第一时间报道过Softer-NMS:CMU&旷视最新论文提出定位更加精确的目标检测算法,当时引起了不少读者对Softer-NMS的兴 ...

  8. 难以置信的目标检测小妙招:多训练几个epochs,平均一下就能获得更好的模型...

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 随着深度学习技术的成熟,设计新的算法在主流的目标检测数据集比如CO ...

  9. 使用SlimYOLOv3框架实现实时目标检测

    1. 介绍 人类可以在几毫秒内在我们的视线中挑选出物体.事实上,你现在就环顾四周,你将观察到周围环境并快速检测到存在的物体,并且把目光回到我们这篇文章来.大概需要多长时间? 这就是实时目标检测.如果我 ...

最新文章

  1. C#操作OFFICE一(EXCEL)
  2. C和C++混合编程的Makefile的编写!
  3. 【避坑】初次接项目的血与泪,扎坑了老
  4. 谈计算机知识对学生的作用,浅谈计算机在教学中的作用
  5. RPC框架Dubbo分析
  6. 多校一道KMP+DP的题
  7. JavaScript开发中几个常用知识点总结
  8. 多文件管理器 tablacus explorer 下载与安装
  9. 卸载idea2020删除以前的配置_推荐一款只有5M大小的绿色良心的卸载工具!
  10. 【BZOJ4069】[Apio2015]巴厘岛的雕塑 按位贪心+DP
  11. phpMyAdmin出现错误 Access denied for user 'root'@'localhost' (using password: NO)
  12. 用Markdown格式写一份前端简历
  13. 基于分布式光纤传感的全厂数字在线监测设计
  14. 用戶故事 vs 用例
  15. html在文本中加颜色,如何在HTML中更改文本颜色
  16. javaScript常用案例
  17. 【附源码】计算机毕业设计java原创网络文学管理系统设计与实现
  18. python matting后如何设置透明背景
  19. Datawhale 1月leetcode
  20. 跨境电商收款账号一样会关联吗?谁能告诉?

热门文章

  1. HTTP协议入门——1.1版本
  2. QT 015 【数据库】 QSqlTableModel Class
  3. 常用的后端命令 【笔记】
  4. python3 ftp启动_python3利用pyftpdlib模块启动ftp服务
  5. linux 文件-s,Linux下访问文件的基本模式
  6. u大侠pe系统桌面计算机,WinPE系统的四种启动方法
  7. linux查看当前igb的版本信息,Linux下查看网卡驱动和版本信息
  8. python获取网页元素坐标_Python实战爬虫系统学习笔记一:解析网页中的元素
  9. jaxb java xml序列化_XML编程总结(六)——使用JAXB进行java对象和xml格式之间的相互转换...
  10. 南华大学计算机学院吴取劲,一种基于图深度优先搜索的基本路径集自动生成优化算法-南华大学学报.PDF...