目的及意义(含国内外的研究现状分析)
研究目的
本次毕业设计拟对 COCO 数据集进行提取,并结合其他自制数据集补充,得到行人车辆的图片和标签,搭建 You Only Look Once (YOLO) 网络模型,训练得到针对车辆和行人的目标检测模型。
研究意义
目标检测是计算机视觉中的一个重要分支,常用的方法有 R-CNN[1]、Fast R-CNN[2]、Faster R-CNN[3]、YOLO[4]、SSD[5] 等。在这些算法之中,YOLO 以其较高的准确率、实时性和较小的模型而较为出名。YOLOv4 tiny[6] 的模型大小可以到达到 23 MB,而且 Intersection over Union(IoU)在 50% 以上的 average precision(AP)可以达到 40.2%,基于 YOLO 模型训练出来的车辆与行人检测模型,可以部署在一些嵌入式设备中,从而运用在自动驾驶领域。
国内外研究现状
自 2012 年 Hinton 设计的 AlexNet 获得 ImageNet 竞赛冠军以来,人们便开始更多的关注卷积神经网络 CNN,之后也启发了 VGG、GoogLeNet 等知名的卷积神经网络,而 YOLOv1 就是基于 GoogLeNet 的 backbone 进行改进。在 YOLOv1 提出以前,常用的基于深度学习的目标检测算法为 R-CNN 系列,其方法可以认为先使用 Region Proposal Network(RPN)网络生成一系列样本的候选框,然后使用 CNN 网络对候选框进行识别并分类。这种方法的精确度取决于其候选框的提取,而且耗时大,Faster R-CNN 网络在 GPU 上检测 PASCAL VOC 的速度达到 5 frame per second (FPS),而 mean average precision (mAP) 达到 73.2%[3:1]。这种方法因为需要两步进行检测,所以被称为 two-stage 方法。
Joseph Redmon 提出的 YOLOv1 模型基于 GoogLeNet 进行改善,开创性的将候选框和各个类的识别结果合在一起输出,并针对 loss 函数进行了重新设计。这种将 two-stage 方法中的两步合为一步的方法也被称为 one-stage 方法。这种开创性的设计使得 YOLOv1 在 GPU 上检测 PASCAL VOC 的速度达到 45 FPS,加速版本 YOLO 还可以达到 150 FPS,并且 mAP 达到 63.4。相较于 Faster R-CNN,虽然 mAP 变小了,但是模型的 fps 得了极大的提升,可以运用于实时系统 [4:1]。
为了提升模型的精确度,YOLOv2 在所有卷积层中使用了 Batch Normalization(BN)层,减少了训练时模型对初始化权重的敏感程度,避免模型过拟合。为了减少网络对不同分辨率输入的敏感程度,YOLOv2 对网络进行了多个分辨率尺度的训练。受到了 Faster R-CNN 的启发,YOLOv2 使用预制的 Anchor Box 去预测 Bounding Box 并去掉了全连接层,加快了计算,预制的 Anchor Box 通过对数据集中的物体框使用 K-mean 聚类算法获得。为了提高小目标的检测效果,作者提出了 passthrough 层,获取更细的特征 [7]。
YOLOv1 和 YOLOv2 对小目标的检测效果一直不好,为了提升 YOLO 网络对小目标的检测性能,YOLOv3 借鉴特征金字塔 [8],一共有三个尺寸的特征图用于检测目标,小尺寸的特征图检测大物体,大尺寸的特征图检测小物体。为了提升网络性能,参考了 ResNet 结构,引入了残差块 [9]。
YOLOv4 使用了近年来深度学习方面的许多技巧,包含了 mish 激活函数、CIoU loss 函数、mosaic 数据增强等。通过使用这些技巧,YOLOv4 在 COCO 数据集上的 mAP 达到了 65.7%, 而速度达到了 62 FPS[10]。
研究(设计)的基本内容、目标、拟采用的技术方案及措施
研究的基本内容
(1)深入了解学习深度学习的理论基础知识
(2)学习 YOLO 网络的评价指标和网络中的 backbone、neck、head、bounding box、anchor、mosaic 数据增强、loss 函数设计等技术方面的细节
(3)针对现有数据集的检测结果对 YOLO 网络进行调整优化,目前在这方面已经有研究参考 [11][12][13][14]。
研究目标
(1)收集车辆和行人相关数据集
(2)复现 YOLO 网络
(3)根据现有数据集的特点,使用 K-means 聚类方法获得合适的 anchor 以提升网络检测性能
(4)搭建 YOLO 网络并进行训练,实现对行人和车辆的检测
本文拟采用的技术方案及措施
(1)文献研究法
利用图书馆、网络等途径,广泛收集相关的文献资料,加以阅读和分析,以了解目标检测的发展历史,了解目标检测算法的各类技巧的原理,以便深刻了解 YOLO 网络使用和改进的技巧。
(2)数据集收集
对于深度学习来说,数据集中样本的数量对模型的性能有较大影响。因此数据集的选择就比较重要。COCO 数据集是微软团队推出的一个数据集,相较于以前常用的 PASCAL VOC,COCO 的类别以及每张图的实例和标签都要多 [15]。因此现在许多研究使用 COCO 来训练模型 [9:1][10:1]。因此本次设计将从 COCO 数据集中提取行人以及各个车辆的图片、标注,同时从其他数据集和网络图片标注等方式填充更多数据作为本次设计的数据集。
(3)YOLO 网络
YOLO 是一个目标检测算法,YOLO 网络将目标检测问题转换为回归问题,直接利用卷积神经网络预测目标的 Bounding Box 和各个类别的置信概率,使得算法的计算速度非常快,且 YOLO 结构简单、模型小可以部署在一些嵌入设备上面。本次毕业设计拟使用收集到的行人车辆数据对 YOLO 模型进行训练,并根据检测效果调整网络的超参数以做到更好的检测效果。
技术路线图
进度安排
2021.3.1-2021.3.31 学习深度学习相关知识,设计并开发算法雏形
2021.4.1-2021.4.30 针对现有算法进行测试,并且尝试对网络参数进行修改和微调
2021.5.1-2021.5.20 撰写并修改毕业论文
2021.5.21-2021.5.31 准备答辩
阅读的参考文献不少于 15 篇(其中近五年外文文献不少于 3 篇)
Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C] CVPR. 2014: 580-587. ↩︎
Girshick R. Fast r-cnn[C] IEEE international conference on computer vision. 2015: 1440-1448. ↩︎
Ren S , He K , Girshick R , et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6):1137-1149. ↩︎ ↩︎
Redmon J , Divvala S , Girshick R , et al. You Only Look Once: Unified, Real-Time Object Detection[C]CVPR. IEEE, 2015:779-788. ↩︎ ↩︎
Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C] Springer, Cham, 2016: 21-37. ↩︎
Wang C Y, Bochkovskiy A, Liao H Y M. Scaled-YOLOv4: Scaling Cross Stage Partial Network[J]. arXiv preprint arXiv:2011.08036, 2020. ↩︎
Redmon J , Farhadi A . YOLO9000: Better, Faster, Stronger[J]. 2017:6517-6525. ↩︎
Lin T Y , Dollár, Piotr, Girshick R , et al. Feature Pyramid Networks for Object Detection[C]CVPR.2017:2117-2125. ↩︎
Redmon J , Farhadi A . YOLOv3: An Incremental Improvement[J]. arXiv preprint arXiv:1804.02767, 2018. ↩︎ ↩︎
Bochkovskiy A , Wang C Y , Liao H Y M . YOLOv4: Optimal Speed and Accuracy of Object Detection [J]. arXiv preprint arXiv:2004.10934, 2020. ↩︎ ↩︎
胡臣辰,陈贤富。基于 YOLO 改进残差网络结构的车辆检测方法 [J]. 信息技术与网络安全,2020,39 (09):56-60. ↩︎
鞠默然,罗海波,王仲博,何淼,常铮,惠斌。改进的 YOLO V3 算法及其在小目标检测中的应用 [J]. 光学学报,2019,39 (07):253-260. ↩︎
付云霞。基于 YOLO 算法的行人检测 [J]. 科学技术创新,2020 (29):110-111. ↩︎
顾恭,徐旭东。改进 YOLOv3 的车辆实时检测与信息识别技术 [J]. 计算机工程与应用,2020,56 (22):173-184. ↩︎
Lin T Y , Maire M , Belongie S , et al. Microsoft COCO: Common Objects in Context[C] European Conference on Computer Vision. Springer International Publishing, 2014: 740-755. ↩︎