导读:飞桨(PaddlePaddle)致力于让深度学习技术的创新与应用更简单。为了让更多的开发者了解飞桨的最近技术进展,特别组织了系列技术稿件,视频来源于2019 WaveSummit秋季深度学习开发者峰会上的技术公开课。
本期是由百度飞桨资深研发工程师为大家带来图像检测库PaddleDetection深度解析与应用,敬请观看。
视频关键知识点Notes:
PaddleDetection为百度结合科研和业务需求所构建的一套目标检测库。主要有四个特点:一是模块化设计;二是模型丰富;三是高性能;四是工业级部署。整体全景图如下图所示:
01
模块化设计
依据于检测算法的工作流程划分为几个相对独立子模块,如Backbone主干网络、AnchorHead、RoIExtract、RoIHead等,再加上优化器、数据模块可以非常方便开发者组合使用。同时在应用层提供了训练、评估和推理、以及模型压缩的API。一般来说,用户只需要调用API和配置文件即可快速开始。
02
模型丰富
在算法层面,PaddleDetection支持了目前常用的主流检测算法,,单阶段检测算法包括: SSD, RetinaNet, YOLOv3, 两阶段检测算法包括:Faster-RCNN,Mask-RCNN, Cascade-RCNN,支持两阶段的FPN。在主干网、数据增强、在预训练模型方面,都提供了很好的支持。
同时PaddleDetection还进一步增强了YOLOv3,基于COCO的mAP再进一步提升至41.4%,GPU上的推理速度进一步提升。本次还发布了BlazeFace等系列人脸检测模型,同时还发布了自研的搜索版本BlazeFace,模型大小压缩三倍的情况下(体积仅有234k),大幅提升预测速度。特别强调一下,预训练模型中的行人检测和车辆检测的模型,是基于百度内部的业务数据得到效果不错的模型,值得推荐。
03
高性能
主要体现在训练速度、训练显存和推理速度上。基于飞桨的显存优化策略,PaddleDetection大部分的模型显存占用较竞品少,训练及推理速度更快,比如YOLOv3比竞品快了40%以上。
04
工业级部署
PaddleDetection基于飞桨高性能的引擎,提供了一套完备的部署方案。对于Linux和Windows都提供了良好的支持,GPU预测底层支持TensorRT加速以及FP16预测。 CPU底层支持使用MKLDNN加速。再加上PaddleSlim提供的模型压缩策略,可以提供更小的模型和更快的速度,满足工业级部署的需求。
05
应用案例
5.1遥感图像高尔夫球场检测
自然场景图像一般人非常容易理解,但是遥感图像不仅需要专家才能够识别出对象,还会受到四季、气候的变化影响。使用传统方法需要大量的人工配合。这种情况下对实时性要求没有那么高,对准确率和召回率要求比较高。通过选择二阶段的模型如FasterRCNN,重新设计了Anchor尺寸,并且进行了裁减、旋转等数据增强方案,最终在内部评测的数据集上得到82%的精度指标。相比传统的方法,大大提升了作业的效率。
5.2手机壳外观缺陷检测
手机壳外观缺陷一般主要包含压伤、划痕、污点、气泡等等。在工业生产流水线上,手机壳外观、环境背景复杂多变,对于实时性的要求也比较高。这样的场景下,选择预测速度比较快的YOLOv3,同时加上各种数据增强的措施。在内部的评测数据集上,准确率可以达到99.55%。值得一提的是,基于百度研发的EdgeBoard硬件,实际延时小于750毫秒,对比竞品预测速度提升200%以上。
进入网盘获取视频中的PPT,链接:
https://pan.baidu.com/s/12czq6Ixf-R2DzmsuNolGHw 密码:wfwa
想与更多的深度学习开发者交流,请加入飞桨官方QQ群:796771754。
如果您想详细了解更多飞桨PaddlePaddle的相关内容,请参阅以下文档。
官网地址:https://www.paddlepaddle.org.cn/
项目地址:
https://github.com/PaddlePaddle/PaddleDetection