PaddleDetection环境部署与小组分工

2021SC@SDUSC

项目简介:

PaddleDetection飞桨目标检测开发套件,旨在帮助开发者更快更好地完成检测模型的组建、训练、优化及部署等全开发流程。

PaddleDetection模块化地实现了多种主流目标检测算法,提供了丰富的数据增强策略、网络模块组件(如骨干网络)、损失函数等,并集成了模型压缩和跨平台高性能部署能力。

经过长时间产业实践打磨,PaddleDetection已拥有顺畅、卓越的使用体验,被工业质检、遥感图像检测、无人巡检、新零售、互联网、科研等十多个行业的开发者广泛应用。

部署与安装:

下载好Paddle预测库。选择win10下的cuda10版本

PaddleDetection环境部署与小组分工_第1张图片

下载好PaddleDetection的代码:选择release0.4

PaddleDetection环境部署与小组分工_第2张图片

将上述预测库、PaddleDetection代码、opencv放在一个文件夹中

PaddleDetection环境部署与小组分工_第3张图片

打开Cmake软件,添加编译来源和编译输出。

编译文件来源PaddleDetection代码中deploy/cpp。作者自定义便于输出,在编译来源文件夹同一个目录下,创建了一个out文件夹。

PaddleDetection环境部署与小组分工_第4张图片

 点击Configure,选择x64模式 

PaddleDetection环境部署与小组分工_第5张图片

然后点击3 Open Project会发现我们编译生成的项目。

PaddleDetection环境部署与小组分工_第6张图片

PaddleDetection环境部署与小组分工_第7张图片

 在VS下进行调试 

最先选择release模式,找到main文件夹,并右键点击--重新生成

PaddleDetection环境部署与小组分工_第8张图片

PaddleDetection环境部署与小组分工_第9张图片

PaddleDetection环境部署与小组分工_第10张图片

组内分工:

我负责人脸检测模型以及YOLOv3增强模型相关内容的研究

YOLOv3增强模型

YOLOv3 是由 Joseph Redmon 和 Ali Farhadi 提出的单阶段检测器, 该检测 器与达到同样精度的传统目标检测方法相比,推断速度能达到接近两倍.

PaddleDetection实现版本中使用了 Bag of Freebies for Training Object Detection Neural Networks 中提出的图像增强和label smooth等优化方法,精度优于darknet框架的实现版本,在COCO-2017数据集上,YOLOv3(DarkNet)达到mAP(0.50:0.95)= 38.9的精度,比darknet实现版本的精度(33.0)要高5.9。同时,在推断速度方面,基于Paddle预测库的加速方法,推断速度比darknet高30%。

在此基础上,PaddleDetection对YOLOv3进一步改进,进一步提升了速度和精度,最终在COCO mAP上可以达到43.2。

方法描述:

1.将YOLOv3骨架网络更换为ResNet50-VD。ResNet50-VD网络相比原生的DarkNet53网络在速度和精度上都有一定的优势,且相较DarkNet53 ResNet系列更容易扩展,针对自己业务场景可以选择ResNet18、34、101等不同结构作为检测模型的主干网络。

2.引入Deformable Convolution v2(可变形卷积)替代原始卷积操作,Deformable Convolution已经在多个视觉任务中广泛验证过其效果,在Yolo v3增强模型中考虑到速度与精度的平衡,我们仅使用Deformable Convolution替换了主干网络中Stage5部分的3x3卷积。

3.在FPN部分增加DropBlock模块,提高模型泛化能力。Dropout操作如下图(b)中所示是分类网络中广泛使用的增强模型泛化能力的重要手段之一。DropBlock算法相比于Dropout算法,在Drop特征的时候会集中Drop掉某一块区域,更适应于在检测任务中提高网络泛化能力。

4.Yolo v3作为一阶段检测网络,在定位精度上相比Faster RCNN,Cascade RCNN等网络结构有着其天然的劣势,增加IoU Loss分支,可以一定程度上提高BBox定位精度,缩小一阶段和两阶段检测网络的差距。

5.增加IoU Aware分支,预测输出BBox和真实BBox的IoU,修正用于NMS的评分,可进一步提高YOLOV3的预测性能。

6.使用Object365数据集训练得到的模型作为coco数据集上的预训练模型,Object365数据集包含约60万张图片以及365种类别,相比coco数据集进行预训练可以进一步提高YOLOv3的精度。

PaddleDetection环境部署与小组分工_第11张图片

人脸检测模型 

 FaceDetection的目标是提供高效、高速的人脸检测解决方案,包括最先进的模型和经典模型。

PaddleDetection环境部署与小组分工_第12张图片

算法细节 

 FaceBoxes 由Shifeng Zhang等人提出的高速和高准确率的人脸检测器, 被称为“高精度CPU实时人脸检测器”。 该论文收录于IJCB(2017)。

BlazeFace 是Google Research发布的人脸检测模型。它轻巧并且性能良好, 专为移动GPU推理量身定制。在旗舰设备上,速度可达到200-1000+FPS

作为特色模型,PaddleDetection从技术和框架上与传统目标检测相比做出了创新与发展,小组内成员对PaddleDetection对特色模型代码分析做出了不同的分工,我负责人脸检测模型以及YOLOv3增强模型的部分,今后将把工作重心转移到这些模型库的代码分析中。

你可能感兴趣的:(笔记,人工智能,目标检测)