百度:YOLOX和NanoDet都没我优秀!轻量型实时目标检测模型PP-PicoDet开源
导读
百度提出新型移动端实时检测模型PP-PicoDet。本文对anchor-free策略在轻量型检测器中的应用进行了探索;对骨干结构进行了增强并设计了一种轻量Neck部件;同时对SimOTA策略与Loss进行了改进。通过上述改进,所提PP-PicoDet取得了超越其他实时检测模型的性能。
论文链接:https://arxiv.org/abs/2111.00902
代码链接:https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.3/configs/picodet
比YOLOX还要优秀,百度提出新型移动端实时检测模型PP-PicoDet。本文对anchor-free策略在轻量型检测器中的应用进行了探索;对骨干结构进行了增强并设计了一种轻量Neck部件;同时对SimOTA策略与Loss进行了改进。通过上述改进,所提PP-PicoDet取得了超越其他实时检测模型的性能。比如:PicoDet-S仅需0.99M参数即可取得30.6%mAP,比YOLOX-Nano高4.8%同时推理延迟降低55%,比NanoDet指标高7.1%,同时推理速度高达150fps(骁龙865)。
Abstract
更佳的精度-效率均衡已成为目标检测领域极具挑战性问题。本文致力于目标检测的关键技术优化与架构选择以提升其性能与效率。
我们对anchor-free策略在轻量型目标检测模型中的应用进行了探索;我们对骨干结构进行了增强并设计了一种轻量型Neck结构以提升模型的特征提取能力;我们对label assignment策略与损失函数进行了改进以促进更稳定、更高效的训练。通过上述优化,我们构建了一类实时目标检测器PP-PicoDet,它在移动端设备上取得了非常优异的性能。
相比其他主流检测模型,所提方案取得了更好的精度-效率均衡。比如
PicoDet-S仅需0.99M参数即可取得30.6%mAP,比YOLOX-Nano高4.8%同时推理延迟降低55%,比NanoDet指标高7.1%;当输入尺寸为320时,在移动端ARM CPU上可以达到123FPS处理速度,推理框架为PaddleLite时,推理速度可达150FPS。
PicoDet-M仅需2.15M参数即可取得34.3%mAP指标;
PicoDet-L仅需3.3M参数即可取得40.9%mAP,比YOLOv5s高3.7%mAP,推理速度快44%。
如下图所示,所提方案具有最佳的精度-效率均衡。
Contribution
本文贡献主要包含以下几点:
采用CSP架构构建CSP-PAN,它通过卷积对所有分支输入通道进行统一,大幅提升特征提取能力,同时减少了参数量。与此同时,我们将深度卷积从扩展到提升感受野;
label assignment是目标检测非常重要的模块。我们在SimOTA的基础上对某些计算细节进行了优化,在不损失效率的同时增强了性能。具体来说,我们采用VarifocalLoss与GIoULoss的加权组合计算损失矩阵 。
ShuffleNetV2在移动端非常高效,我们对其进行了增强并提出一种新的骨干ESNet(Enhanced ShuffleNet, ESNet);
提出一种用于检测的改进版One-Shot NAS方案以寻找最佳的架构。
Method
接下来,我们将首先呈现设计思路与NAS搜索方案,这有助于提升精度、降低推理延迟;然后我们再介绍关于Neck与Head模块的增强策略;最后我们对Label Assignment以及其他提升性能的策略进行介绍。
Better Backbone
实验发现:相比其他模型,ShuffleNetV2在移动端具有更好的鲁棒性 。为提升ShuffleNetV2的性能,我们参考PP-LCNet对其进行了增强并构建一种新的骨干ESNet。
上图给出了ESNet中的ESBlock结构示意图。SE是一种非常棒的提升特征表达能力的操作,故ESBlock中包含了SE模块。SE模块的设计参考了MobileNetV3,即两个激活函数分别为Sigmoid、H-Sigmoid。
通道置换为ShuffleNetV2中的通道提供了信息交换,但它会导致融合特征损失。为解决该问题,当stride=2时,我们添加了depth与point卷积对不同通道信息进行融合(见上图3-a)。
GhostNet中的Ghost模块能够用更少的参数生成更多特征并提升模型的学习能力。因此,当stride=1时,我们在ESBlock中引入Ghost模块以提升其性能(见上图3-b)。
上述部分内容是手工方式的模块设计,文中还用到了NAS技术对ESNet进行搜索以更好的适配检测模型。对该部分内容感兴趣的同学建议查看原文,笔者对此暂时略过。
CSP-PAN and Detector Head
上图给出了PP-PicoDet整体架构示意图。接下来,我们重点关注CSP-PAN与Head部分。CSP结构已被广泛应用于YOLOv4与YOLOX的Neck部分。
在原始CSP-PAN中,每个输出特征的通道数与源自骨干的输入通道数保持相同。大通道数的结构在移动端存在昂贵的计算消耗。我们通过 卷积将输出特征的通道数调整到最小通道数 以解决上述问题。
Top-down与bottom-up两路特征融合通过CSP结构执行。此外,我们还在CSP-PAN的基础上添加了一个特征尺度以检测更多目标(见上图P6分支)。与此同时,除了卷积外,其他卷积均为深度卷积。这种结构设计可以带来可观的性能提升,同时参数量更少。
在检测头部分,我们采用深度分离卷基于卷积提升感受野。深度分离卷积的数量可以设置为2、4或者更多。Neck与Head均具有四个尺度分支,我们保持两者的通道数一致。YOLOX采用更少通道数的“解耦头”提升性能;而PP-PicoDet的“耦合头”具有更好的性能,且无需减少通道数 。该方案的Head与YOLOX的Head具有几乎相同的参数量和推理速度。
Label Assignment Strategy and Loss
正负样本的标签分类对于目标检测器有着非常重要的影响。RetinaNet通过IoU进行正负样本划分;FCOS则将中心点位于GT的anchor视作正样本;YOLOv4与YOLOv5则选择中心点与近邻anchor作为正样本;ATSS则通过统计信息进行正负样本划分;SimOTA则是一种随训练过程而动态变换的标签分配策略,具有更好的性能。因此,我们选择SimOTA作为标签分配方案。
在SimOTA的基础上,我们对其cost矩阵进行优化,采用VarifocalLoss与GIoULoss的加权组合计算。定义如下:
对于分类头,我们采用VarifocalLoss耦合分类预测与质量预测;对于回归头,我们采用GIoU与DistributionFocalLoss。整体损失定义如下:
Other Strategies
近年来,越来越多的激活函数取得了比ReLU更优的性能。其中,H-Swish是一种移动端友好的算子,故我们将检测器中的ReLU替换为H-Swish,性能大幅提升同时推理速度不变 。
相比线性学习率机制,cosine 学习率机制更为平滑且有益于训练稳定性。
过多的数据增强可以提升增强效应,但会影响轻量型模型的训练难度。因此,我们仅使用RandomFlip, RandomCrop, Multi-scale Resize等数据增广。
Experiments
上表给出了所提方案与其他轻量型检测器的性能对比,从中可以看到:无论是精度还是速度,所提方案均大幅超越了所有YOLO模型 。性能的提升主要源于以下几点改进:
Neck部分比其他YOLO模型更轻量,故骨干与Head可以赋予更多计算量;
VarifocalLoss的组合可以处理类别不平衡、动态学习样本分类与FOCS的回归方案在轻量模型中表现更佳;
在相同参数量下,PP-PicoDet-S超越了YOLOX-Nano与NanoDet;PP-PicoDet-L的精度与速度均超越了YOLOv5s。此外,由于更高效的卷积优化,PaddleLite的推理速度要比NCNN更快。总而言之,PP-PicoDet在极大程度上领先其他SOTA模型。
Ablation Study
上表给出了PP-PicoDet从基线模型逐步优化而来的性能对比。基线模型类似NanoDet,骨干为ShuffleNetV2-1x,Neck采用了无卷积PAN,损失采用了GFL,标签分配采用ATSS,激活函数为LeakyReLU。从中可以看到:
采用本文所提CSP-PAN可以带来3.8%mAP指标提升,而参数量提升少于50K;
相比QFL,VFL可以带来0.1%mAP指标提升;
ATSS与SimOTA具有相同的性能,而改进版SimOTA可以将性能提升到30.0%mAP;
相比LeakyReLU,H-Swish可以带来0.9%mAP指标提升。
上表对比了ShuffleNetV2-1.5x与ESNet-1x的性能,可以看到:ESNet具有更高的性能、更快的推理速度、更少的计算量。
上表对比了人工设计模型与NAS搜索模型的性能,可以看到:搜索到的模型的指标仅下降0.2%mAP,而推理延迟减少41.5% 。因此,我们将基线模型的骨干替换为ESNet-0.75x,参数量减少约200K,而性能仅下降0.3%mAP。
本文仅做学术分享,如有侵权,请联系删文。
3D视觉精品课程推荐:
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
百度:YOLOX和NanoDet都没我优秀!轻量型实时目标检测模型PP-PicoDet开源相关推荐
- 【深度学习】百度:YOLOX和NanoDet都没我优秀!轻量型实时目标检测模型PP-PicoDet开源...
作者丨happy 编辑丨极市平台 导读 百度提出新型移动端实时检测模型PP-PicoDet.本文对anchor-free策略在轻量型检测器中的应用进行了探索:对骨干结构进行了增强并设计了一种轻量Nec ...
- 用OpenCV实现超轻量的NanoDet目标检测模型!
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨nihate 审稿丨邓富城 编辑丨极市平台 导读 本文作者用OpenCV部署了超轻量目标检测模型 ...
- 精度45.9%,推理速度72.9FPS,百度飞桨推出工业级目标检测模型 PP-YOLO
允中 发自 凹非寺 量子位 编辑 | 公众号 QbitAI 工业视觉.自动驾驶.安防.新零售等我们身边熟知的各行各业都需要目标检测技术,由于其很好的平衡了标注成本.检测精度和速度等,成为当前智能制造产 ...
- 【20201127期嵌入式AI周报】NanoDet 目标检测模型、移植 ncnn到 RISC-V等!
导读:本期为 AI 简报 20201127 期,将为您带来 8 条相关新闻,希望对您有所帮助~ 一共2000+字,全篇看完需要5~7分钟 1. NanoDet:轻量级(1.8MB).超快速(移动端97 ...
- 1.8M超轻量目标检测模型NanoDet,比YOLO跑得快
机器之心报道,项目作者:RangiLyu 目标检测一直是计算机视觉领域的一大难题,其目标是找出图像中的所有感兴趣区域,并确定这些区域的位置和类别.目标检测中的深度学习方法已经发展了很多年,并出现了不同 ...
- windows缩放200模糊_1.8M超轻量目标检测模型NanoDet,比YOLO跑得快,上线两天Star量超200...
机器之心报道 项目作者:RangiLyu 如何把 anchor-free 模型移植到移动端或嵌入式设备?这个项目对单阶段检测模型三大模块(Head.Neck.Backbone)进行轻量化,得到模型大小 ...
- 收藏 | 超轻量目标检测模型NanoDet,比YOLO跑得快,上线两天Star量超200
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习> ...
- 1.8M超轻量目标检测模型NanoDet,比YOLO跑得快,上线两天Star量超200
点击 机器学习算法与Python学习 ,选择加星标 精彩内容不迷路 作者|RangiLyu,本文由机器之心报道 目标检测一直是计算机视觉领域的一大难题,其目标是找出图像中的所有感兴趣区域,并确定这些区 ...
- “快到没朋友”的目标检测模型YOLO v3问世,之后arXiv垮掉了…
安妮 编译整理 量子位 出品 | 公众号 QbitAI 今天有三件事挺有意思. 一是以"快到没朋友"著称的流行目标检测模型YOLO推出全新v3版,新版本又双叒叕提升了精度和速度.在 ...
最新文章
- (一)Cisco DHCP Snooping原理(转载)
- C语言 下标运算符和指针运算符
- select及触发方式,select监听多链接,select与epoll的实现区别
- js中变量作用域的小理解
- 中科大 计算机网络5 接入网和物理媒体
- _Linux进程信号详解
- python运行时间只算快的吗_10种检测Python程序运行时间、CPU和内存占用的方法
- 应用开发框架之——业务规则脚本化
- excel日期格式改不了_画进度计划横道图,Excel就够了
- java8 meta区_JVM-Java8的MetaSpace
- Esp8266(4)
- c语言sqrt函数无作用,如何在不使用C语言的sqrt函数的情况下获得数字的平方根...
- 读《活着》余华---笔记
- Heartbeat简介
- 2019年电子设计国赛综合测评回顾
- CSS改变simditor代码区间的默认显示样式和自动换行
- 403 Forbidden - PUT https://registry.npmjs.org/- Forbidden
- 抖音中的视频怎么使用手机录制 安卓手机录屏软件哪个好
- std::forward理解
- Mac-如何在任意文件夹下打开终端