公开/公告号CN112487911A
专利类型发明专利
公开/公告日2021-03-12
原文格式PDF
申请/专利权人 中国信息通信科技集团有限公司;武汉烽火众智数字技术有限责任公司;
申请/专利号CN202011329405.1
申请日2020-11-24
分类号G06K9/00(20060101);G06K9/62(20060101);G06N3/04(20060101);
代理机构11228 北京汇泽知识产权代理有限公司;
代理人张涛
地址 430000 湖北省武汉市东湖新技术开发区高新四路6号烽火科技园
入库时间 2023-06-19 10:11:51
技术领域
本发明涉及图像处理技术领域,尤其涉及一种智能监控环境下基于改进yolov3的实时行人检测方法及装置。
背景技术
行人检测是计算机视觉的一项基本任务,是指通过计算机判断图像或视频帧中是否存在行人并给出行人的精确位置的技术。行人检测结合行人重识别后能广泛应用于智能视频监控和智能安保等领域。由于该技术在以上行业的广泛应用,行人检测技术已成为计算机视觉领域最活跃的研究方向之一。行人检测方法主要分为两种,基于传统手工特征的方法和基于深度学习的方法。前者又称为特征工程方法,侧重于寻找或设计优秀的特征描述子,普遍存在提取的特征单一、计算复杂度高、对行人外观变化缺乏鲁棒性、检测性能不高等问题。随着深度学习在图像任务上的崛起,行人检测领域已经逐渐出现了各种端到端的深度学习检测方法,比较有代表性的有Faster-rcnn,SSD,yolov3,Tiny-yolov3等算法。
yolov3系列算法是一种单阶段目标检测算法,在不同的特征层上对特征图上的点预测有无目标的置信度、目标的位置以及目标的类别。相比Faster-rcnn与SSD算法,yolov3算法均衡了速度和准确率两方面指标,是当前目标检测领域最为优秀的算法之一。然而原生yolov3和Tiny-yolov3分别采用具有53层卷积的DarkNet53和一个7层的小型特征提取网络,前者可以保证较高精度但是计算复杂度较高,后者降低了计算复杂度但是同时检测精度也大幅降低。对于智能监控等场景,其对行人检测的精度和实时性均有较高要求,特别是在CPU环境或嵌入式设备中,以上算法未能达到又快精度又高的要求。
发明内容
为解决现有技术存在的上述技术问题,本发明提供一种智能监控环境下基于改进yolov3的实时行人检测方法及装置。
本发明是这样实现的:
一方面,本发明提供一种智能监控环境下基于改进yolov3的实时行人检测方法,包括以下步骤:
获取监控场景下的行人图像,对图像中的行人目标进行标注,将图像按一定比例随机划分为训练集、测试集和验证集;
对训练集、测试集和验证集的图像进行预处理;
利用训练集对改进后的yolov3算法进行训练,所述改进后的yolov3算法为在原始yolov3算法的基础上对特征提取网络、特征融合层、预测层进行改进后的算法;
通过测试集和验证集来选取改进后yolov3算法的最优模型,并将其用于监控视频下的行人检测。
进一步地,所述对训练集、测试集和验证集的图像进行预处理具体包括:
对图像进行水平翻转,颜色、亮度、对比度随机变换,色温变换,随机裁剪的数据扩增操作。
进一步地,所述在原始yolov3算法的基础上对特征提取网络进行改进具体包括:
采用EfficentNet-B0特征提取网络替换原始yolov3算法的DarkNet53网络。
进一步地,所述在原始yolov3算法的基础上对特征融合层进行改进具体包括:
将原始yolov3算法的特征融合层卷积系列中的1x1、3x3、1x1、3x3、1x1卷积层减少为1x1、3x3、1x1卷积层。
进一步地,所述在原始yolov3算法的基础上对特征融合层进行改进还包括:
将原始yolov3算法的特征融合层的3x3普通卷积改进为压缩卷积。
进一步地,所述对训练集、测试集和验证集的图像进行预处理具体包括:
根据图像的实际长宽比,将原始输入图像的长和宽分别调整到32像素的整数倍,并将网络输入图像尺寸由方形输入调整为固定的矩形输入的形式。
进一步地,所述在原始yolov3算法的基础上对预测层进行改进具体包括:
改进后的yolov3算法对于矩形图像输入,1/8、1/16、1/32三种尺度预测层中特征图w和h方向的像素数分别为W和H,将三种尺度预测层的输出大小分别改进为W
进一步地,所述利用训练集对改进后的yolov3算法进行训练具体包括:
采用不同训练策略及优化参数多次训练,得到多个模型文件。
进一步地,所述通过测试集和验证集来选取改进后yolov3算法的最优模型具体包括:
在测试集测试单次训练过程中不同训练阶段保存的模型的map指标中,选择map指标最高的模型文件进行保存;
在验证集上测试保存的不同参数下模型的map指标,取map指标最高的模型作为最优模型。
另一方面,本发明还提供一种智能监控环境下基于改进yolov3的实时行人检测装置,包括:
图像标注划分模块,用于获取监控场景下的行人图像,对图像中的行人目标进行标注,将图像按一定比例随机划分为训练集、测试集和验证集;
图像预处理模块,用于对训练集、测试集和验证集的图像进行预处理;
改进yolov3算法训练模块,用于利用训练集对改进后的yolov3算法进行训练,所述改进后的yolov3算法为在原始yolov3算法的基础上对特征提取网络、特征融合层、预测层进行改进后的算法;
模型选取模块,用于通过测试集和验证集来选取改进后yolov3算法的最优模型,并将其用于监控视频下的行人检测。
与现有技术相比,本发明具有以下有益效果:
1、采用了更为高效的特征提取网络,在保证对输入图像进行丰富细致的特征提取的同时保持了较低的计算量;
2、针对实际视频帧图像的长宽比,对输入图像尺寸及网络的预测层输出向量进行了调整,有效提高了图像利用率,相对于原yolov3方形图像输入减小了行人检测计算量;
3、在各特征融合层减少了卷积层数并采用了计算复杂度较低但感受野更大的缩放卷积机制,保持低耗时的同时提高对行人的检测效果。
附图说明
图1为本发明实施例提供的一种智能监控环境下基于改进yolov3的实时行人检测方法的流程图;
图2为本发明实施例提供的改进后的yolov3算法的网络结构图;
图3为本发明实施例提供的特征融合层改进前后对比图;
图4为本发明实施例提供的普通卷积和压缩卷积结构图;
图5为本发明实施例提供的一种智能监控环境下基于改进yolov3的实时行人检测装置的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种智能监控环境下基于改进yolov3的实时行人检测方法,包括以下步骤:
S1、获取监控场景下的行人图像,对图像中的行人目标进行标注,将图像按一定比例随机划分为训练集、测试集和验证集;
具体地,可通过采集监控摄像头下的视频然后解析得到多个行人多种状态下的图像,在一个实施例中,可收集约2000个行人不同地点、不同时间、不同角度、不同天气、不同距离(近,中,远)下的大小为1920x1080的50000张图片,然后对图像中的行人目标进行标注,随机按照7:1.5:1.5的比例划分训练集、测试集、验证集。
S2、对训练集、测试集和验证集的图像进行预处理;
具体地,首先对图像进行水平翻转,颜色、亮度、对比度随机变换,色温变换,随机裁剪等数据扩增操作,对于任意原始输入图像每种数据扩增可以以0.5的概率执行;然后根据图像的实际长宽比,将原始输入图像的长和宽分别调整到32像素的整数倍,并将网络输入图像尺寸由方形输入MxM调整为固定的矩形输入MxN的形式。在一个实施例中,将w=1920、h=1080的所有原始输入图像根据长宽比调整为w=704、h=384。常规yolov3算法将数据填充或调整为608x608等方形图像,对于从视频帧中获得的矩形图像这样操作不仅会造成较大的图像分辨率浪费,而且拉伸或挤压后的图像会有一定程度失真而降低检测的准确性。与方形输入图像相比,相同面积情况下,与图像本身长宽比匹配的矩形图像输入提高了图像的利用率和检测的精度。
S3、利用训练集对改进后的yolov3算法进行训练,所述改进后的yolov3算法为在原始yolov3算法的基础上对特征提取网络、特征融合层、预测层进行改进后的算法,参照图2;
具体地,本发明首先对原始的yolov3算法进行了改进,具体包括:
1、特征提取网络的改进:
采用EfficentNet-B0特征提取网络替换原始yolov3算法的DarkNet53网络,对输入图像进行特征提取。DarkNet53网络具备较强的特征提取能力,但是该网络层数较深,特征提取过程的FLOPS较大,计算量较大,不适用于在计算资源受限且对实时性要求极高的安防监控条件。EffientNet-B0由16个移动翻转瓶颈卷积模块和2个卷积层构成,是当前最为先进的特征提取网络之一。该结构既具备较高的实时性又在图像分类任务中保持了非常高的精度,在保持较低计算量的同时能对复杂场景下的行人特征进行精细提取。
2、特征融合层的改进:
特征融合过程为分别取特征提取网络中1/8、1/16、1/32降采样层处的特征图,对1/16和1/32尺寸降采样特征图分别进行上采样再和上一层次相同尺寸特征图通道合并得到三种不同尺度的特征图,三种尺度特征图经过特征融合层后得到融合后的特征图。
本发明对特征融合层的第一个改进为,如图3所示,为了降低特征融合过程的计算复杂度,将原始yolov3算法的特征融合层(ConvolutionalSet)卷积系列中的1x1、3x3、1x1、3x3、1x1卷积层减少为1x1、3x3、1x1卷积层。在一个实施例中,对于1/8、1/16、1/32的特征融合层其调整后的1x1、3x3、1x1卷积层的通道数分别为(64,128,64)、(128,256,128)、(256,512,256),步长均为1。
本发明对特征融合层的第二个改进为,为了进一步降低特征融合过程的计算复杂度,将原始yolov3算法的特征融合层(ConvolutionalSet)的3x3普通卷积改进为压缩卷积(ZoomedConv),其具体结构如图4所示。压缩卷积在进行卷积操作前先以线性插值方式将输入特征图长宽均缩小到原来的1/2,依次进行卷积和批归一化之后用线性插值方式将特征图长宽放大2倍,再进行Relu操作。相比普通卷积,压缩卷积输出的特征图上每个像素点具有更大的感受野,由于在进行耗时较高的卷积操作前减小了输入特征图尺寸,大幅降低了整个操作计算量。
3、预测层的改进:
yolov3算法中1/8、1/16、1/32三种尺度预测层中特征图w和h方向的像素数是一致的,每种尺度特征图每个像素与3种预设值的anchor绑定,通过在每种尺度预测层的特征图像素上预测是否含有物体(objectness-score)、物体相对位置(x、y、w、h)、类别(N)来输出检测结果,三种尺度预测层的输出大小分别为S
然后利用训练集对改进后的yolov3算法进行训练,具体包括:
采用不同训练策略及优化参数多次训练,得到多个模型文件。在一个实施例中,分别采用Adam、SGD策略以lr=0.0002、0.001、0.005对改进后的yolov3算法进行训练。每训练50个epoch学习率降低到原来的0.1倍,训练过程中batchsize设置为4,总迭代次数300epoch,动量固定为0.9,权重衰减固定为0.0005,每10个epoch保存一次模型。其余yolov3算法相关参数采用与论文相同的默认参数。
S4、通过测试集和验证集来选取改进后yolov3算法的最优模型,并将其用于监控视频下的行人检测。
具体地,在测试集测试单次训练过程中不同训练阶段保存的模型的map指标中,选择map指标最高的模型文件进行保存;
在验证集上测试保存的不同参数下模型的map指标,取map指标最高的模型作为最优模型,用于行人检测。
通过上述方式选取的最优模型,可获得较高的行人检测精度。
本发明采用了更为高效的特征提取网络,在保证对输入图像进行丰富细致的特征提取的同时保持了较低的计算量;针对实际视频帧图像的长宽比,对输入图像尺寸及网络的预测层输出向量进行了调整,有效提高了图像利用率,相对于原yolov3方形图像输入减小了行人检测计算量;在各特征融合层减少了卷积层数并采用了计算复杂度较低但感受野更大的缩放卷积机制,保持低耗时的同时提高对行人的检测效果。
基于同一发明构思,本发明实施例还提供了一种智能监控环境下基于改进yolov3的实时行人检测装置,由于该装置所解决问题的原理与前述实施例的方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。
如图5所示,为本发明实施例提供的一种智能监控环境下基于改进yolov3的实时行人检测装置,可以用于执行上述方法实施例,该装置包括:
图像标注划分模块,用于获取监控场景下的行人图像,对图像中的行人目标进行标注,将图像按一定比例随机划分为训练集、测试集和验证集;
图像预处理模块,用于对训练集、测试集和验证集的图像进行预处理;
改进yolov3算法训练模块,用于利用训练集对改进后的yolov3算法进行训练,所述改进后的yolov3算法为在原始yolov3算法的基础上对特征提取网络、特征融合层、预测层进行改进后的算法;
模型选取模块,用于通过测试集和验证集来选取改进后yolov3算法的最优模型,并将其用于监控视频下的行人检测。
进一步地,所述图像预处理模块具体用于:
对图像进行水平翻转,颜色、亮度、对比度随机变换,色温变换,随机裁剪的数据扩增操作。
进一步地,所述在原始yolov3算法的基础上对特征提取网络进行改进具体包括:
采用EfficentNet-B0特征提取网络替换原始yolov3算法的DarkNet53网络。
进一步地,所述在原始yolov3算法的基础上对特征融合层进行改进具体包括:
将原始yolov3算法的特征融合层卷积系列中的1x1、3x3、1x1、3x3、1x1卷积层减少为1x1、3x3、1x1卷积层。
进一步地,所述在原始yolov3算法的基础上对特征融合层进行改进还包括:
将原始yolov3算法的特征融合层的3x3普通卷积改进为压缩卷积。
进一步地,所述图像预处理模块还用于:
根据图像的实际长宽比,将原始输入图像的长和宽分别调整到32像素的整数倍,并将网络输入图像尺寸由方形输入调整为固定的矩形输入的形式。
进一步地,所述在原始yolov3算法的基础上对预测层进行改进具体包括:
改进后的yolov3算法对于矩形图像输入,1/8、1/16、1/32三种尺度预测层中特征图w和h方向的像素数分别为W和H,将三种尺度预测层的输出大小分别改进为W
进一步地,所述改进yolov3算法训练模块具体用于:
采用不同训练策略及优化参数多次训练,得到多个模型文件。
进一步地,所述模型选取模块具体用于:
在测试集测试单次训练过程中不同训练阶段保存的模型的map指标中,选择map指标最高的模型文件进行保存;
在验证集上测试保存的不同参数下模型的map指标,取map指标最高的模型作为最优模型。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 云环境下基于网格文件系统实时交易的网格划分方法,装置及其系统
机译: 云环境下基于网格文件系统实时交易的网格划分方法,装置及其系统
机译: 低照度环境下基于摄像机的水位检测方法及装置