多目标检测整合算法
输入输出接口
Input:image/video
Output:(1)BandingBox左上右下的坐标位置
(2)Type类型:人,车,…,…
(3) 执行度:是指判别目标物为某种类型的比率。比如为人,车,…,…的比率。
(4)需要灯光投射控制区域的左上右下的坐标位置
(5)摄像头与目标物距离
(6)ID号(特指目标物跟踪)
算法介绍和设计方案
在图片多目标检测的应用基础之上,对视频帧进行离散化的处理,从而达到处理视频的效果。评判目标检测系统的标准有三个重要的指标。
(1)使用公式:IOU=TP/(TP+FP+FN)来评估模型,即判别预测的方框和真实的方框的重叠度。
(2)mAP(Mean Average Precision),在多个类别的检测中,每一个类别都可以调整阈值,算出召回率从0到1时的准确率(同一召回率取最高的准确率),计算准确率的平均值,而后再对于所有类求平均得到 mAP。该值介于0到1之间,且越大越好。
(3) FPS(Frames Per Second),用于评判系统检测速度。本系统主要按照以上三个指标对多目标检测任务进行评估,最终在数据集上的达到官方实验效果,鉴于数据各种场景的复杂性,其最终IOU和mAP难以评估,估计会低于预期。
在实现标准数据集实验效果的基础上,进行各种场景的迁移学习从而进行微调,并最终应用于处理视频帧,现初步预定帧率为35FPS,但使用环境的不同可能会影响最终的帧率。
图1. 多目标检测实例
参考传统目标检测算法,综合目前各种深度学习网络模型在多目标检测任务中的应用效果,本项目拟采用初步复现,稳步提升的总体路线,从经典的Faster RCNN到SDD …… 一直到最新的YOLOv3,逐一验证和改进并产品化。鉴于此,项目的开发总体流程如图2所示:
图2. 系统总体流程图
依据VOC、MS COCO等标准数据集对多目标检测任务的数据标注形式和规则,本项目的数据集需要按如下方式组织,标注数据的形式和其对应的原始图像如图3所示:
图3. 数据标注样例(左)与原始图像数据(右)
本系统暂拟定复现和改进YOLOv3网络,但在此之前会验证Faster RCNN和YOLOV3等网络模型。
Faster RCNN网络结构说明:
图4. Faster RCNN网络结构
Faster RCNN可以看做“区域生成网络RPNs + Fast RCNN”的系统,用区域生成网络代替Fast RCNN中的Selective Search方法。 RPN网络的核心思想是使用CNN卷积神经网络直接产生Region Proposal,使用的方法本质上就是滑动窗口(只需在最后的卷积层上滑动一遍),由anchor机制和边框回归可以得到多尺度多长宽比的Region Proposal。
YOLOV3网络结构说明:
图5. YOLOV3网络结构
YOLOV3使用VGG-16-Atrous作为基础网络,其中黄色部分是在VGG-16基础网络上添加的特征提取层。YOLOV3与YOLO不同之处是除了在最终特征图上做目标检测之外,还在之前选取的5个特特征图上进行预测。从图5可以看出,检测过程不仅在添加特征图(conv8_2, conv9_2, conv_10_2, pool_11)上进行,为了保证网络对小目标有很好检测效果,检测过程也在基础网络特征图(conv4_3, conv_7)上进行。
图6. 车辆检测算法性能对比
YOLOv3网络结构说明:
图7. YOLOv3网络结构
YOLOv3模型是目前YOLO系列中最新的、执行效果最好和处理速度最快的目标检测模型,可用于服务器端的部署。
集成整合方案:
第一,使用COCO数据集,将行人,车辆,地面标识,TSR的COCO公开数据集进行整合,使用yolov3在GPU上进行训练和测试,反复调整网络结构和参数,直到训练loss收敛,测试结果性能指标和检测图像输出显示效果较佳。
第二,整合视觉行人,车辆,地面标识,TSR的数据集,使用上一步的yolov3网络模型,用迁移学习的方法,训练和测试视觉的数据集,反复调整yolov3的网络模型和参数,直到训练loss收敛,测试结果性能指标和检测图像输出显示效果较佳。
第三,将上一步yolov3的网络模型集成到FPGA板子上,继续利用整合好的视觉的数据集,反复调整网络模型和参数,反复优化网络结构,保证准确度,召回率,帧率都达到较佳的效果。
Schedule:
在GPU上完成coco数据集上的yolov3整合。
在GPU上完成自主采集数据集上的yolov3整合。
在FPGA上完成自主采集数据集上的yolov3整合。
性能指标:
在自主采集数据集上达到(详细指标在开发过程中逐步修正)
|
行人 |
车辆 |
路面标识 |
TSR |
备注 |
准确度 |
80%(60米) |
80%(100米) |
80%(50米) |
80%(60米) |
|
召回率 |
50%(60米) |
60%(100米) |
50%(50米) |
50%(60米) |
|
帧率 |
30fps |
30fps |
30fps |
30fps |
|
表1. 性能指标
集成
算法开发完成后,将算法集成到嵌入式硬件平台用于路测。