机器视觉领域的核心问题之一就是目标检测(object detection),它的任务是找出图像当中所有感兴趣的目标(物体),确定其位置和大小。对于人类来说,目标检测是一个非常简单的任务。然而,计算机能够“看到”的是图像被编码之后的数字,很难解图像或是视频帧中出现了人或是物体这样的高层语义概念,也就更加难以定位目标出现在图像中哪个区域。

与此同时,由于目标会出现在图像或是视频帧中的任何位置,目标的形态千变万化,图像或是视频帧的背景千差万别,诸多因素都使得目标检测对计算机来说是一个具有挑战性的问题。百度自研的深度学习平台飞桨(PaddlePaddle)开源了用于目标检测的一系列模型,从而可以快速构建强大的应用,满足各种场景的应用,包括但不仅限于安防监控、医学图像识别、交通车辆检测、信号灯识别、食品检测等等。

项目地址:

https://github.com/PaddlePaddle/models/tree/v1.4/PaddleCV

经典的单阶段的目标检测器SSD

Single Shot MultiBox Detector (SSD) 是一种单阶段的目标检测器。与两阶段的检测方法不同,单阶段目标检测并不进行区域推荐,而是直接从特征图回归出目标的边界框和分类概率。SSD 运用了这种单阶段检测的思想,并且对其进行改进:在不同尺度的特征图上检测对应尺度的目标。

如下图所示,SSD 在六个尺度的特征图上进行了不同层级的预测。每个层级由两个3x3卷积分别对目标类别和边界框偏移进行回归。因此对于每个类别,SSD 的六个层级一共会产生 38x38x4 + 19x19x6 + 10x10x6 +5x5x6 + 3x3x4 + 1x1x4 = 8732 个检测结果。SSD 可以方便地插入到任何一种标准卷积网络中,比如 VGG、ResNet 或者MobileNet,这些网络被称作检测器的基网络。

表:SSD模型评估结果

项目地址:

https://github.com/PaddlePaddle/models/blob/v1.4/PaddleCV/object_detection/README_cn.md

运行速度大大提升的Faster R-CNN

Faster R-CNN,区域生成网络(RPN)+Fast RCNN的实现,将候选区域生成、特征提取、分类、位置精修统一到一个深度网络框架,大大提高运行速度。作为经典的目标检测框架,虽然是2015年的论文,但是它至今仍然是许多目标检测算法的基础,这在飞速发展的深度学习领域十分难得。

Faster R-CNN整体网络可以分为4个主要内容:

  • 基础卷积层(CNN):作为一种卷积神经网络目标检测方法,Faster R-CNN首先使用一组基础的卷积网络提取图像的特征图。特征图被后续RPN层和全连接层共享。

  • 区域生成网络(RPN):RPN网络用于生成候选区域(proposals)。该层通过一组固定的尺寸和比例得到一组锚点(anchors), 通过softmax判断锚点属于前景或者背景,再利用区域回归修正锚点从而获得精确的候选区域。

  • RoI Pooling:该层收集输入的特征图和候选区域,将候选区域映射到特征图中并池化为统一大小的区域特征图,送入全连接层判定目标类别,该层可选用RoIPool和RoIAlign两种方式,在config.py中设置roi_func。

  • 检测层:利用区域特征图计算候选区域的类别,同时再次通过区域回归获得检测框最终的精确位置。

项目地址:

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/rcnn

像素级别检测的MaskR-CNN

FasterR-CNN 在物体检测中已达到非常好的性能,Mask R-CNN在此基础上更进一步:得到像素级别的检测结果。对每一个目标物体,不仅给出其边界框,并且对边界框内的各个像素是否属于该物体进行标记。Mask R-CNN同样为两阶段框架,第一阶段扫描图像生成候选框;第二阶段根据候选框得到分类结果,边界框,同时在原有Faster R-CNN模型基础上添加分割分支,得到掩码结果,实现了掩码和类别预测关系的解藕。MaskR-CNN斩获了ICCV2017年的最佳论文,并且在实例分割、目标检测、人体关键点检测三个任务都取得了很好的效果。

项目地址:

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/rcnn

速度和精度均衡的YOLO v3

YOLO 创造性的提出one-stage,就是目标定位和目标识别在一个步骤中完成。由于整个检测流水线是单个网络,因此可以直接在检测性能上进行端到端优化,使得基础YOLO模型能以每秒45帧的速度实时处理图像,较小网络的Fast YOLO每秒处理图像可达到惊人的155帧。

YOLO v3保持了YOLO的速度优势,提升了模型精度,尤其加强了小目标、重叠遮挡目标的识别,补齐了YOLO的短板,是目前速度和精度均衡的目标检测网络。基于飞桨(PaddlePaddle)的YOLO v3实现,参考了论文【Bag of Tricks for ImageClassification with Convolutional NeuralNetworks】,增加了mixup,label_smooth等处理,精度(mAP(0.5:0.95))相比于原作者的实现提高了4.7个绝对百分点,在此基础上加入synchronize batchnormalization, 最终精度相比原作者提高5.9个绝对百分点。

表:模型评估结果

表:模型预测速度

项目地址:

https://github.com/PaddlePaddle/models/blob/v1.4/PaddleCV/yolov3/README_cn.md

2018WIDER FACE三料冠军PyramidBox

PyramidBox 是一种基于SSD的单阶段人脸检测器,利用上下文信息解决非受控场景中的小脸、模糊和遮挡的人脸检测的技术难题。PyramidBox在六个尺度的特征图上进行不同层级的预测,主要包括以下模块:LFPN、Pyramid Anchors、CPM、Data-anchor-sampling。WIDER FACE共包括3万多张图片近40万个人脸,是目前国际上规模最大、场景最为复杂、难度和挑战性最高的人脸检测公开数据集。

由于更高的难度、更准确的标注和评测信息,近年来WIDER FACE成为研究机构和公司争相挑战的业界标杆。2018年3月, PyramidBox模型在WIDER FACE的“Easy”、“Medium”和“Hard”三项评测子集中均荣膺榜首。PyramidBox模型在有一千张人脸的示例图片上展示鲁棒的检测性能,检测出其中的880张人脸。

项目地址:

https://github.com/PaddlePaddle/models/blob/v1.4/PaddleCV/face_detection/README_cn.md

强烈推荐 | 基于飞桨的五大目标检测模型实战详解相关推荐

  1. 精度45.9%,推理速度72.9FPS,百度飞桨推出工业级目标检测模型 PP-YOLO

    允中 发自 凹非寺 量子位 编辑 | 公众号 QbitAI 工业视觉.自动驾驶.安防.新零售等我们身边熟知的各行各业都需要目标检测技术,由于其很好的平衡了标注成本.检测精度和速度等,成为当前智能制造产 ...

  2. 如何一个模型走天下?集成训练多数据集,打造通用目标检测模型方法详解

    在目标检测的实际应用中,常常会出现需要泛化的目标检测系统的情况.如城市安防中,需要目标检测系统能够检测足够多类别的目标,才能达到更好的安防效果. 但目前常用的目标检测数据集中包含的类别数量有限,使用单 ...

  3. 深度篇——目标检测史(七) 细说 YOLO-V3目标检测 之 代码详解

    返回主目录 返回 目标检测史 目录 上一章:深度篇--目标检测史(六) 细说 YOLO-V3目标检测 下一章:深度篇--目标检测史(八) 细说 CornerNet-Lite 目标检测 论文地址:< ...

  4. 强烈推荐| 飞桨十大中文NLP开源工具详解

    PaddleNLP是基于飞桨(PaddlePaddle)开发的工业级中文NLP开源工具与预训练模型集,将自然语言处理领域的多种模型用一套共享骨架代码实现,可大大减少开发者在开发过程中的重复工作.Pad ...

  5. 飞桨十大中文NLP开源工具详解

    PaddleNLP是基于飞桨(PaddlePaddle)开发的工业级中文NLP开源工具与预训练模型集,将自然语言处理领域的多种模型用一套共享骨架代码实现,可大大减少开发者在开发过程中的重复工作.Pad ...

  6. 目标检测算法YOLOv4详解

    YOLOv4是精度速度最优平衡, 各种调优手段是真香,本文主要从以下几个方面进行阐述: YOLOv4介绍 YOLOv4框架原理 BackBone训练策略 BackBone推理策略 检测头训练策略 检测 ...

  7. 目标检测算法YOLO-V2详解

    ❝ 上期我们一起学习了YOLO-V1算法的框架原来和损失函数等知识,如下: 目标检测算法YOLO-V1算法详解 目标检测模型YOLO-V1损失函数详解 [文末领福利] ❞ 今天,我们一起学习下YOLO ...

  8. 目标检测之SSD详解

    SSD介绍 SSD(Single Shot Multibox Detector)是一种单阶多层的目标检测模型,因为SSD只进行了一次框的预测与损失计算,因此属于One-Stage范畴里的一种主流框架, ...

  9. 基于飞桨复现ICML顶会模型SGC,可实现超快速网络收敛

    点击左上方蓝字关注我们 [飞桨开发者说]尹梓琦,北京理工大学在读本科生,关注图深度学习,图挖掘算法和谱图理论 随着深度学习在欧几里得空间的成功应用,例如CNN,RNN等极大的提高了图像分类,序列预测等 ...

最新文章

  1. 居然仅用浏览器,就完成了Spring Boot应用的开发与部署!
  2. python解压文件_使用Python实现文件压缩和解压
  3. node.js mysql 不退出_node.js,node-mysql_使用了node-mysql的代码无法自动停止,node.js,node-mysql - phpStudy...
  4. Spring IOC注入Map接口小技巧
  5. android引入开源库_为好目录引入开源:通过代码帮助公益组织
  6. 我发现了个 Python 黑魔法,执行任意代码都会自动念上一段「平安经」
  7. mongodb 备份 导入导出
  8. CaysnPrinter - Windows平台开发包打印示例程序及接口说明文档 - 20170710
  9. 草图大师SketchUp 2022 安装教程
  10. python编写程序掷骰子游戏_python学习之掷骰子游戏
  11. 好斌c语言教程,C语言学习大纲__斌(讲解).doc.doc
  12. 苍蓝誓约服务器维护什么时候结束,《苍蓝誓约》12月10日09:30停服维护公告
  13. 图解HTTP(读书笔记01)
  14. 两个年月日怎么相减_(excle可以计算日期差值吗)excel表中,两个日期相减如何得出相差年月...
  15. 如何正确选择注塑模具浇口位置?这下真的懂了
  16. java 加密word_Java 加密和解密PDF文档
  17. XML DOM摘要五(XPath)
  18. ATX框架下 app的webview操作
  19. 无意间发现一个好用的视频转换gif图片的开源框架
  20. 【数分书单】分析思维《一本小小的蓝色逻辑书》第四章小结

热门文章

  1. uni-app学习(八)mapMutations和Mutations
  2. OpenCV级联分类器训练与使用实战教程-贾志刚-专题视频课程
  3. 七大排序算法大汇总(上)
  4. java 网站计数器_Java页面计数器
  5. 日IP100如何月赚2000,半分不假
  6. b2b2c系统jwt权限源码分享part1
  7. 【OpenCV4】图像的傅里叶变换 cv::dft() 和逆变换 cv::idft() 解析(c++)
  8. 高新计算机模拟视频2018,抖音短视频电脑版2018 无需模拟器版
  9. 【转载】Go对比Python的优点
  10. stm32毕业设计 单片机MP3音乐播放器