论文部分内容阅读
摘要:车辆行人检测是利用计算机视觉技术判断图像或者视频序列中是否存在行人或车辆并给予精确定位的一种目标检测技术。行人检测技术是行人跟踪、行人识别等技术的基础与前提,它在自动驾驶、智能监控、智慧城市、无人零售等领域具有重要的作用。由于行人兼具刚性和柔性物体的特征,外观易受穿着、遮挡、姿态、尺度和视角等因素的影响,因此行人检测一直是计算机视觉领域中一个既具有研究价值又极具挑战性的课题。本项目旨在对车辆行人检测算法进行研究,使用深度学习方法实现车辆行人检测算法,并使用公开数据集对神经网络模型进行训练,实现车辆行人检测技术,完成对图像与视频序列中的车辆行人进行目标检测的任务。
关键词:深度学习;卷积神经网络;车辆行人检测
一、车辆行人检测的背景和意义
1.行人检测
行人检测就是计算机对于给定的图像和视频,判断出其中是否有行人及行人的位置,是行人跟踪、身份识别、行人行为分析等的基础。在自动驾驶领域,行人检测是感知模块的重要组成部分,它为汽车的决策系统提供信息;在智能监控方面,行人检测配合行人跟踪技术,能够对行人的行走路径进行跟踪;在智慧城市领域,行人检测技术能够对交通违法行为进行辅助判别;在无人零售领域,行人检测配合人脸识别技术对顾客的购物提供帮助。
2.车辆检测
近年来,随着无人驾驶技术、计算机视觉技术的不断发展,智能交通作为一种新兴交通理念应运而生并逐渐流行起来。对自然场景下的车辆及行人定位系统可以比作是无人驾驶技术的“眼睛”,是智能交通和无人驾驶的重要组成部分。然而很多传统的目标检测算法都是基于手工设计的特征和小训练样本的,往往受到光照、遮挡、环境变化等众多因素的影响,进而影响了目标检测算法的性能。基于深度学习的目标检测系统以极大的优势超越了传统视觉算法,通过在大数据下自主学习得到的特征,在数量以及性能上都远远超出了人手工设计的算法特征。
二、项目主要研究内容
1.深度学习目标检测算法的选择
在对比了深度学习目标检测算法中主流的2-stage算法与1-stage算法以及它们各自的优缺点后,最终,考虑到车辆行人检测对实时性的较高要求,在保证一定的准确率的情况下,该系统使用了1-stage算法中的YOLOv3卷积神经网络,将车辆行人检测任务看作分类与回归问题,使用一个端到端的卷积神经网络来实现车辆行人检测,相比2-stage算法具有较高的速度,同时仍保持着良好的精度,非常适合应用于工程领域。
2. YOLOv3卷积神经网络算法的应用
为了对神经网络进行训练,使用公开数据集KITTI自动驾驶场景数据集来对神经网络模型进行训练,特别地,针对道路上经常存在的车辆与行人、车辆与车辆、行人与行人之间相互遮挡的问题,结合Oxford RobotCar、INRIA等公开数据集,搜寻并手动标记了500张具有遮挡情况的图像,使用这些图像来对神经网络进行训练,以提升对遮挡物体的目标检测效果。
为了达到出色的检测效果,该系统借鉴了深度学习中另一个目标检测算法Faster R-CNN的思路。简单来说,R-CNN算法与传统用于分类的CNN算法的区别在于R-CNN先提取目标区域,然后对目标区域提取特征进行分类,而传统分类任务是对整体目标区域提取特征进行分类。
在该项目中,首先生成先验的候选区域,作为神经网络对车辆行人位置的初始预测。为了生成先验的候选区域,需要确定先验候选区域的尺寸和宽高比。应用了机器学习中的K-means聚类算法,得出了适合于车辆与行人检测的候选区域的尺寸和宽高比,之后对数据集中的边界框的宽高信息进行聚类,计算出适合于车辆行人检测的先验候选区域的9种尺寸与宽高比。
该系统中将整个卷积神经网络分为两大部分,第一部分是特征提取网络,负责对输入的图像进行特征提取,得到多种尺寸的特征图;第二部分是检测网络,它以特征提取网络产生的特征图作为输入,通过对特征图做进一步的卷积运算,分析每个候选区域中包含物体的概率,并输出边界框回归系数来对候选区域的位置进行最后的调整。
在特征提取階段,特征提取网络以原始图像作为输入,通过卷积等运算来提取图像的特征。为了达到出色的效果,在过程中采用了DarkNet-53卷积神经网络作为特征提取网络的主干部分。DarkNet-53具有非常明显的优点:首先,它的网络具有53层,是深度较深的网络,而网络的深度越深,越能提取到图像更加丰富的特征,越有利于对图像内容的分析。第二,它在每一个卷积层之后都加入了批标准化网络层以及LeakyReLU激活层,可以避免梯度爆炸、梯度消失等问题的出现;第三,它借鉴了深度学习中先进的残差网络结构,既可以避免梯度爆炸、梯度消失等问题的出现,又增强了模型的非线性表达能力。
对于每个候选区域,设计检测网络,让其输出一个7维的向量,一个向量中的7个值分别代表:候选区域包含物体的概率(置信度),候选区域中的物体是车辆的概率,候选区域中的物体是行人的概率,以及4个用于修正候选区域位置的边界框回归系数。检测网络会考察每个候选区域包含物体的概率,概率低于0.7则舍弃该候选区域。对于包含物体的概率大于0.7的候选区域,如果它是车辆的概率更高,则将它判断为车辆,否则判断为行人。接下来,使用4个边界框回归系数来对候选区域的位置进行修正,反向传播误差以训练和优化神经网络。
在得到位置修正后的候选区域后,对它们应用非极大值抑制算法,保留对每个物体的预测效果最好的边界框,对“一个行人目标,多个候选区域”的情况进行处理,减少输出结果的冗余,提高精度。
为了对网络进行训练,结合检测网络输出的7维向量的内容:置信度、类别概率以及位置信息,采用这三种内容的损失的联合函数来对网络进行训练。联合损失函数是置信度损失、类别概率损失与位置信息损失的加权和,这样,在训练过程中可以兼顾判断候选区域是否包含物体的训练、判断候选区域内包含哪种类别的物体的训练以及修正先验候选区域位置的训练。 通过对车辆行人检测的需求分析与调研,发现车辆行人检测的应用形式主要有三种:检测图像中的车辆与行人,检测视频序列中的车辆与行人,以及调用摄像头捕捉影像,实时检测车辆与行人。因此针对这三种应用形式,设计了具有这三种功能的前端界面,实现了对输入图像进行检测、输入视频进行检测以及开启摄像头进行检测这三种功能。
三、项目设计重点与难点
1.遮挡情况的物体检测。
遮挡情况是目标检测中较为棘手的一个问题,针对遮挡情况,该系统从KITTI、Oxford RobotCar、INRIA等公开数据集中搜寻并手动标记了500张具有遮挡情况的图像,使用这些图像来对神经网络进行训练,以提升对遮挡物体的目标检测效果。
2.特征提取网络的设计。
特征提取网络在整个卷积神经网络中扮演着至关重要的角色,它的性能决定了提取出的图像特征的优劣,同时,它也是容易发生梯度消失、梯度爆炸、过拟合等问题的部分。该系统中选择DarkNet-53卷积神经网络,它具有较深的网络结构,可以很好地提取图像的特征;同时深度也不算太深,现有的显卡等设备可以胜任训练它的任务;它采用了批标准化和Leaky ReLU激活函数,可以解决梯度消失、梯度爆炸等问题的出现;同时采用深度学习神经网络中先进的残差块结构,可以有效地解决在深度较深的情况下容易发生的过拟合问题。
3.损失函数的设计。
检测网络部分需要输出三种内容:置信度、类别概率以及位置信息。这三个内容都需要通过良好的训练来达到较好的效果,而one-stage算法中的代表性网络YOLOv3的优势在于可以端到端的训练,在保证精度的情况下显著提升速度,因此在训练过程中使用了这三种损失的一个联合损失,可以同时对这三种内容进行训练。
四、总结与展望
行人检测技术作为计算机视觉领域的重要问题与热门问题,是推动自动驾驶、智能监控、场景理解等应用领域发展的基础与前提。本文介绍了该基于深度学习的车辆行人检测系统的研究背景与意义、主要研究内容和研究过程中的重点与难点问题,从YOLOv3卷积神经网络算法入手,结合了深度学习在计算机视觉方面的一些研究成果,利用深度学习网络作为特征提取方法。虽然本文中该系统的检测方法已远优于传统的车辆行人检测算法,但其实施过程中仍存在不足与需要改进之处,如当前使用的GPU算力不足,导致算法运行效果欠佳、算法对重叠行人的识别不够准确,需改进算法,或扩充训练集等。
参考文献
[1].宋欢欢、惠飞、景首才、郭兰英、马峻岩.改进的 RetinaNet 模型的车辆目 标检测.计算机工程与应用[J].
[2].张汇、杜煜、寧淑荣、张永华、杨硕、杜晨.基于 Faster RCNN 的行人检 测方法.传感器与微系统[J].
[3].王彬.基于深度学习的行人检测.北京交通大学
[4].杨志恒.基于深度学习的车载实时行人检测研究.数码世界[J].
(作者单位:哈尔滨工程大学)
关键词:深度学习;卷积神经网络;车辆行人检测
一、车辆行人检测的背景和意义
1.行人检测
行人检测就是计算机对于给定的图像和视频,判断出其中是否有行人及行人的位置,是行人跟踪、身份识别、行人行为分析等的基础。在自动驾驶领域,行人检测是感知模块的重要组成部分,它为汽车的决策系统提供信息;在智能监控方面,行人检测配合行人跟踪技术,能够对行人的行走路径进行跟踪;在智慧城市领域,行人检测技术能够对交通违法行为进行辅助判别;在无人零售领域,行人检测配合人脸识别技术对顾客的购物提供帮助。
2.车辆检测
近年来,随着无人驾驶技术、计算机视觉技术的不断发展,智能交通作为一种新兴交通理念应运而生并逐渐流行起来。对自然场景下的车辆及行人定位系统可以比作是无人驾驶技术的“眼睛”,是智能交通和无人驾驶的重要组成部分。然而很多传统的目标检测算法都是基于手工设计的特征和小训练样本的,往往受到光照、遮挡、环境变化等众多因素的影响,进而影响了目标检测算法的性能。基于深度学习的目标检测系统以极大的优势超越了传统视觉算法,通过在大数据下自主学习得到的特征,在数量以及性能上都远远超出了人手工设计的算法特征。
二、项目主要研究内容
1.深度学习目标检测算法的选择
在对比了深度学习目标检测算法中主流的2-stage算法与1-stage算法以及它们各自的优缺点后,最终,考虑到车辆行人检测对实时性的较高要求,在保证一定的准确率的情况下,该系统使用了1-stage算法中的YOLOv3卷积神经网络,将车辆行人检测任务看作分类与回归问题,使用一个端到端的卷积神经网络来实现车辆行人检测,相比2-stage算法具有较高的速度,同时仍保持着良好的精度,非常适合应用于工程领域。
2. YOLOv3卷积神经网络算法的应用
为了对神经网络进行训练,使用公开数据集KITTI自动驾驶场景数据集来对神经网络模型进行训练,特别地,针对道路上经常存在的车辆与行人、车辆与车辆、行人与行人之间相互遮挡的问题,结合Oxford RobotCar、INRIA等公开数据集,搜寻并手动标记了500张具有遮挡情况的图像,使用这些图像来对神经网络进行训练,以提升对遮挡物体的目标检测效果。
为了达到出色的检测效果,该系统借鉴了深度学习中另一个目标检测算法Faster R-CNN的思路。简单来说,R-CNN算法与传统用于分类的CNN算法的区别在于R-CNN先提取目标区域,然后对目标区域提取特征进行分类,而传统分类任务是对整体目标区域提取特征进行分类。
在该项目中,首先生成先验的候选区域,作为神经网络对车辆行人位置的初始预测。为了生成先验的候选区域,需要确定先验候选区域的尺寸和宽高比。应用了机器学习中的K-means聚类算法,得出了适合于车辆与行人检测的候选区域的尺寸和宽高比,之后对数据集中的边界框的宽高信息进行聚类,计算出适合于车辆行人检测的先验候选区域的9种尺寸与宽高比。
该系统中将整个卷积神经网络分为两大部分,第一部分是特征提取网络,负责对输入的图像进行特征提取,得到多种尺寸的特征图;第二部分是检测网络,它以特征提取网络产生的特征图作为输入,通过对特征图做进一步的卷积运算,分析每个候选区域中包含物体的概率,并输出边界框回归系数来对候选区域的位置进行最后的调整。
在特征提取階段,特征提取网络以原始图像作为输入,通过卷积等运算来提取图像的特征。为了达到出色的效果,在过程中采用了DarkNet-53卷积神经网络作为特征提取网络的主干部分。DarkNet-53具有非常明显的优点:首先,它的网络具有53层,是深度较深的网络,而网络的深度越深,越能提取到图像更加丰富的特征,越有利于对图像内容的分析。第二,它在每一个卷积层之后都加入了批标准化网络层以及LeakyReLU激活层,可以避免梯度爆炸、梯度消失等问题的出现;第三,它借鉴了深度学习中先进的残差网络结构,既可以避免梯度爆炸、梯度消失等问题的出现,又增强了模型的非线性表达能力。
对于每个候选区域,设计检测网络,让其输出一个7维的向量,一个向量中的7个值分别代表:候选区域包含物体的概率(置信度),候选区域中的物体是车辆的概率,候选区域中的物体是行人的概率,以及4个用于修正候选区域位置的边界框回归系数。检测网络会考察每个候选区域包含物体的概率,概率低于0.7则舍弃该候选区域。对于包含物体的概率大于0.7的候选区域,如果它是车辆的概率更高,则将它判断为车辆,否则判断为行人。接下来,使用4个边界框回归系数来对候选区域的位置进行修正,反向传播误差以训练和优化神经网络。
在得到位置修正后的候选区域后,对它们应用非极大值抑制算法,保留对每个物体的预测效果最好的边界框,对“一个行人目标,多个候选区域”的情况进行处理,减少输出结果的冗余,提高精度。
为了对网络进行训练,结合检测网络输出的7维向量的内容:置信度、类别概率以及位置信息,采用这三种内容的损失的联合函数来对网络进行训练。联合损失函数是置信度损失、类别概率损失与位置信息损失的加权和,这样,在训练过程中可以兼顾判断候选区域是否包含物体的训练、判断候选区域内包含哪种类别的物体的训练以及修正先验候选区域位置的训练。 通过对车辆行人检测的需求分析与调研,发现车辆行人检测的应用形式主要有三种:检测图像中的车辆与行人,检测视频序列中的车辆与行人,以及调用摄像头捕捉影像,实时检测车辆与行人。因此针对这三种应用形式,设计了具有这三种功能的前端界面,实现了对输入图像进行检测、输入视频进行检测以及开启摄像头进行检测这三种功能。
三、项目设计重点与难点
1.遮挡情况的物体检测。
遮挡情况是目标检测中较为棘手的一个问题,针对遮挡情况,该系统从KITTI、Oxford RobotCar、INRIA等公开数据集中搜寻并手动标记了500张具有遮挡情况的图像,使用这些图像来对神经网络进行训练,以提升对遮挡物体的目标检测效果。
2.特征提取网络的设计。
特征提取网络在整个卷积神经网络中扮演着至关重要的角色,它的性能决定了提取出的图像特征的优劣,同时,它也是容易发生梯度消失、梯度爆炸、过拟合等问题的部分。该系统中选择DarkNet-53卷积神经网络,它具有较深的网络结构,可以很好地提取图像的特征;同时深度也不算太深,现有的显卡等设备可以胜任训练它的任务;它采用了批标准化和Leaky ReLU激活函数,可以解决梯度消失、梯度爆炸等问题的出现;同时采用深度学习神经网络中先进的残差块结构,可以有效地解决在深度较深的情况下容易发生的过拟合问题。
3.损失函数的设计。
检测网络部分需要输出三种内容:置信度、类别概率以及位置信息。这三个内容都需要通过良好的训练来达到较好的效果,而one-stage算法中的代表性网络YOLOv3的优势在于可以端到端的训练,在保证精度的情况下显著提升速度,因此在训练过程中使用了这三种损失的一个联合损失,可以同时对这三种内容进行训练。
四、总结与展望
行人检测技术作为计算机视觉领域的重要问题与热门问题,是推动自动驾驶、智能监控、场景理解等应用领域发展的基础与前提。本文介绍了该基于深度学习的车辆行人检测系统的研究背景与意义、主要研究内容和研究过程中的重点与难点问题,从YOLOv3卷积神经网络算法入手,结合了深度学习在计算机视觉方面的一些研究成果,利用深度学习网络作为特征提取方法。虽然本文中该系统的检测方法已远优于传统的车辆行人检测算法,但其实施过程中仍存在不足与需要改进之处,如当前使用的GPU算力不足,导致算法运行效果欠佳、算法对重叠行人的识别不够准确,需改进算法,或扩充训练集等。
参考文献
[1].宋欢欢、惠飞、景首才、郭兰英、马峻岩.改进的 RetinaNet 模型的车辆目 标检测.计算机工程与应用[J].
[2].张汇、杜煜、寧淑荣、张永华、杨硕、杜晨.基于 Faster RCNN 的行人检 测方法.传感器与微系统[J].
[3].王彬.基于深度学习的行人检测.北京交通大学
[4].杨志恒.基于深度学习的车载实时行人检测研究.数码世界[J].
(作者单位:哈尔滨工程大学)