基于YOLOv3算法的目标检测设计与实现文献综述
2020-04-15 15:44:50
目标检测是指从图像或者视频中找到感兴趣的所有目标与背景分开框起来,标注上这些是什么物体。需要判断是否存在目标,并确定目标的位置和范围。这是一种基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。
传统的目标检测方法基于目标特征训练分类器,包括尺度不变特征转换(Scale-invariant feature transform,SIFT)、方向梯度直方图(Histogram of oriented gradient,HOG)等特征,通过对目标进行特征提取、特征学习和检测等步骤实现目标检测。其基本原理是先通过训练集(train set)学习分类器,然后在图像中以不同尺度的窗口滑动扫描整个图像,对每次扫描的结果基于特征进行判断和分类。然而传统的目标检测算法采用了滑动窗口法提取候选框,使得生成的候选区域较多,导致目标检测的时间复杂度较高,不能满足实际应用的需求。
伴随着大数据时代的来临,深度学习也取得了重大的突破进展。卷积神经网络(Convolutional Neural Networks,CNN)既是一种著名的深度学习模型。其实早在1998年,LeCun等就提出了一种称为LeNet的卷积神经网络模型,由于当时缺乏大规模的训练数据,计算机的计算能力也有限,所以LeNet在解决复杂问题(例如大规模的图像和视频分类问题)时,效果并不好。2006年以后,特别是随着大数据时代的到来,在高性能的计算平台(如高性能的PC机、图形工作站、云计算平台等)上用大规模的数据集训练复杂的模型成为可能。
深度学习逐渐成为了机器视觉领域的主流方法,与传统的目标检测算法相比,深度学习算法具有更好的表达能力、更高的准确性,深度神经网络在模型架构和学习过程上与人类认识和感知世界的神经系统类似。从理论上讲,深度学习在训练样本足够时,能够学习出良好的语义特征,这些特征能够帮助我们进行目标识别和检测,同时,深度学习尤其是深度卷积网络采用了局部感受野、池化等方法,具有了一定的平移、缩放、扭曲的不变性,使得算法模型更加鲁棒。
基于深度学习的目标检测分为两类:一种是基于Region Proposal的“两步”(two stage)式的深度学习目标检测算法,例如R-CNN系列。另外一种是基于回归方法的“一步”(one stage)式的深度学习目标检测算法,这类算法不需要进行候选区域提取,而本论文采用的YOLOv3算法既是典型的一步式深度学习目标检测算法。这类算法使用神经网络在输入图像提取出的特征图上直接进行回归操作,预测目标的边框和类别,取得了不错的成果,使得目标检测真正有了实时性的可能。
{title}2. 研究的基本内容与方案
{title}研究的基本内容是将基于深度学习的YOLOv3(You Only Look Once v3)算法应用于图像和视频中出现的多个目标的检测。 并对比YOLOv3算法与其他目标检测算法的优势。
针对图像和视频中的小物体如智能手机的检测对算法进行改进,使该算法准确率更高,鲁棒性更好。 因此预设目标包括以下部分:
(1)实现YOLOv3算法并训练自己的网络。
(2)使用YOLOv3算法对图像和视频中出现的多个目标进行检测。
(3)对比与其他目标检测算法YOLOv3算法的优势。