说到指标检测,那堪称以后的主动驾驶、新批发、智慧工业等热门行业中的关键技术之一。指标检测不仅在行人、车辆、商品以及火灾检测等工作中施展着极其要害的价值,在指标跟踪、姿势辨认、手势管制、图像搜寻等复合工作中也至关重要。

注*:以上视频援用于公开数据集[1]

图1 PaddleDetection产业利用成果示例

而在以后端侧智能、端云协同的行业发展趋势下,算法在挪动端的部署利用则显得尤其重要。相较于对立的中心化解决,智能终端能够更好的适应差异化的环境,运维老本也更低。然而开发一个高质量的轻量指标检测模型却并不那么容易,事实环境中往往存在诸多挑战:

  1. 速度要快。比方工业视觉品质检测、主动驾驶等实时场景,提早能够承受的范畴往往须要在毫秒级别,要求极其严苛。
  2. 精度要高。在主动驾驶、火灾检测等场景,一个渺小的谬误都可能带来重大的损失,对误检、漏检的容忍度非常低。
  3. 体积要小。在手机端、车载、IOT等边缘端部署,算力和内存都无限,算法须要做到极致压缩。
  4. 部署环境简单多样。硬件设施功耗、规格各色各样。适配和部署老本几乎不要太大!

而明天介绍的最新开源的轻量级指标检测PP-PicoDet正是为了解决以上痛难点问题,针对模型的速度、精度和部署敌对性做出优化,并获得了显著的成绩。

话不多说,间接奉上开源代码实现:

https://github.com/PaddlePadd...

强烈建议各位Star珍藏,深入研究应用。

其系列中的PP-PicoDet-S参数量仅有0.99M,却有30.6%mAP的精度,当输出尺寸为320时,推理速度甚至可达150FPS,不仅mAP比YOLOX-Nano高4.8%,端侧推理速度还晋升了55%;相比NanoDet,mAP也高出了7.1%。

而PP-PicoDet-L则在仅有3.3M参数量的状况下mAP达到40.9%,比YOLOv5s高3.7%,推理速度晋升44%。

PP-PicoDet技术报告地址:

https://arxiv.org/abs/2111.00902

注*:以上图片援用于报告[2]

图2 PP-PicoDet性能比照图

注*:GIF中FPS是蕴含前解决、预测、后处理的端到端耗时,以上视频援用于公开数据集[1]

图3 PP-PicoDet挪动端和不同模型成果比照

不仅如此,在此次飞桨指标检测开发套件PaddleDetection v2.3推出的多指标实时跟踪零碎PP-Tracking和超轻量人体关键点模型PP-TinyPose中,PP-PicoDet也是极其要害的技术模块。甚至在近日引起业界宽泛关注的通用图像识别零碎PP-ShiTu中,PP-PicoDet也被用作主体检测模块,以超轻量的体积实现了超过服务端大模型的成果!

PP-PicoDet Android APP下载体验指路:

https://paddledet.bj.bcebos.c...

(如链接不能失常拜访,可复制到浏览器进行下载)

上面,就让咱们来一起看看具体都有哪些优化策略,让PP-PicoDet又小又快又准:

 更高性能的骨干网络 

一个高性能的骨干网络对指标检测模型的性能晋升有着至关重要的作用,PP-PicoDet采纳了百度自研的超轻量、高精度骨干网络--ESNet(Enhanced ShuffleNet),使得整个指标检测模型不仅计算量更小、提早更低、精度更高,同时还领有更好的鲁棒性,可能更好地适配多种硬件环境。

ESNet是在ShuffleNetV2的根底上引入了SE模块和GhostNet中的Ghost模块,并新增深度可拆散卷积,对不同通道信息进行交融来晋升模型精度,同时还应用神经网络搜寻(NAS)搜寻更高效的模型构造,进一步晋升模型性能,最终失去了在精度、速度全方面晋升的骨干网络。

注*:以上图片和数据援用于报告[2]

图4 ESNet & ShuffleNetV2性能比照

 更轻量的Neck和Head 

在Neck局部,PP-PicoDet提出了CSP-PAN构造,应用1*1的卷积将特色的通道数与BackBone输入的最小通道数进行对立,从而缩小计算量,并保障特色交融性能不受影响。此外,PP-PicoDet还在CSP-PAN的根底上再下采样一次,增加一个更小的特色尺度来晋升大物体的检测成果(见下图P6分支)。

与此同时,PP-PicoDet在Neck和Head局部均采纳深度可拆散卷积,将3 x 3卷积核增大至5×5,来增大感触野,还放弃了速度不变。并且PP-PicoDet采纳了通道数和Neck统一的“耦合头”,相比于小通道数的“解耦头”有更快的预测速度。


注*:以上图片和数据援用于报告[2]

图5 PP-PicoDet整体架构示意图

 更精准的采样策略 

PP-PicoDet受到YOLOX等优良算法的启发,应用了更精准的SimOTA采样策略,随训练过程动静变换标签调配形式,通过在指标区域采集高质量的样本来无效减速模型收敛。在此基础上对其中的cost矩阵计算进行革新,应用VFL+GIoU代替本来的CELoss+IoU,在速度无损的状况下还能无效晋升1%的精度。

除此之外,PP-PicoDet还应用了H-Swish激活函数代替Relu;应用Cosine学习率衰减策略;应用Cycle-EMA;退出大量的如Crop、Flip、Multi-Scale等数据加强策略进行更稳固的训练,使得模型精度再次晋升3%。

上面就让咱们一起看看以上这一系列优化策略的最终成果,从中能够看到:无论是精度还是速度,PP-PicoDet都体现卓越!

:测试设施为骁龙865,Threads=4,FP16,NCNN(Paddle Lite测试后果为),以上图片和数据援用于报告[2]

图6 PP-PicoDet在COCO上和其余轻量级检测器性能试验比照

 更齐备的部署反对 

作为真正的产业级开发利器,PaddleDetection通过齐备反对飞桨原生推理库Paddle Inference、飞桨轻量化推理引擎Paddle Lite,使开发者能够疾速在支流服务器、端侧芯片上实现高性能部署。

并且反对疾速导出为ONNX格局,使开发者能够通过ONNX生态能力进行更宽泛的算法部署利用,能够通过本人相熟的挪动端引擎进行PP-PicoDet的部署和推理。

除此以外,还提供OpenVINO减速部署计划、Android Demo,并且所有流程代码均已开源,全方位满足各类硬件环境部署需要,让深度学习落地的最初一公里再无障碍!

这样的一个指标检测开发神器曾经被多家像国家电网、武汉铁路局、宁德时代这样的行业巨头公司所利用,真正实现了助力开发者,赋能产业智能化!

链接指路:
https://github.com/PaddlePadd...

 后续工作 

PP-PicoDet的诞生源于开源,也是回馈开源。思考到工业、互联网、主动驾驶等各行各业对挪动端、边缘端部署轻量化指标检测模型的需要越来越强烈,PP-PicoDet致力于提供一种真正面向产业实际的,更高性能、轻量化、更易落地的指标检测计划,而非单纯谋求模型指标。

与此同时,心愿PP-PicoDet的算法自身以及优化思路,能够在给业界开发者带来更好算法的同时,也带来更多的算法优化启发,可能在此基础上持续晋升产出更多优秀成果,也欢送大家通过用户群、Issue等形式和咱们探讨交换。在此心愿和业界开发者携手为中国的开源技术而致力!

以上所有代码实现,均在PaddleDetection飞桨指标检测开发套件中开源提供:
https://github.com/PaddlePadd...
欢送感兴趣的小伙伴一起体验、反馈倡议并参加共建!你的Star是对咱们工作的最大激励~

百度AI开发者社区https://ai.baidu.com/forum ,为全国各地开发者提供一个交换、分享、答疑解惑的平台,让开发者在研发路上不再“孤军奋战”,通过一直地交换与探讨找出更好的技术解决方案。如果你想尝试各种人工智能技术、开辟利用场景,赶快退出百度AI社区,你对 AI 的所有畅想,在这里都能够实现!

扫描下方二维码,增加小助手微信「京东卡、小度定制周边、神秘礼盒、行李箱」等更多福利你来拿~