一种基于深度学习的复杂环境下行人实时检测方法与流程

专利2022-06-29  92


本发明属于目标识别领域,特别涉及一种基于深度学习的复杂环境下行人实时检测方法。



背景技术:

行人检测因在驾驶辅助(自动驾驶车辆)、机器人技术、人的再识别、视频监控、行人行为分析等领域的广泛应用,而受到计算机视觉界的广泛关注。目前,与传统方法相比,深度学习技术在行人检测领域取得了良好的效果。然而,在一些复杂的自然环境中,仅依靠可见光谱图像或红外光谱图像的检测任务的结果不够准确。行人目标在复杂的环境中会遇到很多挑战,如:烟雾、雨水、灰尘、光线暗淡等。rgb彩色图像光谱信息丰富,在一定的光照下可以反映场景的细节,但在能见度较差时很难检测到目标;红外热图像是一种热辐射图像,灰度级是由观察目标和背景之间的温差确定,通常缺乏结构信息,因此,目标容易与背景混合,导致误检和漏检。在这种情况下,严重影响行人目标检测系统的可靠性和实用性,因此复杂环境下的实时行人检测这一研究课题具有重大的现实意义。



技术实现要素:

本发明的目的是提供一种基于深度学习的复杂环境下行人实时检测方法,能够快速、准确的检测到复杂环境下红外光、rgb彩色图像中的行人目标,并提高对像素较小的小目标的识别能力,保证了检测效果和检测速度。

为了达到上述目的,本发明提供一种基于深度学习的复杂环境下行人实时检测方法,包含步骤:

s1、建立基于yolo算法的检测模型;所述检测模型具体包含依序连接的:基于resnet的五层卷积网络层、基于spp的三层最大池化层、三层目标检测层;

s2、选取色热图片库中复杂环境下的若干张行人图像,并将所述行人图像设置为预定的尺寸;从所述若干张行人图像中选取部分行人图像作为训练数据集,其余的行人图像作为测试数据集;将所述训练数据集输入所述检测模型,训练检测模型;

s3、将测试数据集输入训练好的检测模型,输出对测试数据集中行人目标的检测结果,并筛选所述检测结果;

s4、与yolov3、yolo-tiny检测算法进行比对,验证检测精度、检测速度。

步骤s1所述的检测模型中,每层最大池化层均包含一个滤波器,三层最大池化层的滤波器尺寸分别为5×5、9×9、13×13像素。

步骤s1所述的检测模型中,三层目标检测层的检测尺度分别为13×13、26×26、104×104像素;通过k-means聚类算法根据每层目标检测层的检测尺度,分别为每层目标检测层生成对应的三个不同尺寸的锚箱。

步骤s2中所述预定的尺寸为416×416像素。

步骤s3具体包含:

s31、通过基于resnet的五层卷积网络层提取测试数据集中的行人目标特征;

s32、通过基于spp的三层最大池化层进一步提取测试数据集中的行人目标特征;

s33、通过三层目标检测层,基于多尺度预测策略,根据提取的所述行人目标特征,预测测试数据集中行人目标的边界框坐标值、目标置信度得分、行人目标类别概率;

s34、通过非极大值抑制方法根据所述边界框坐标值、目标置信度得分、行人目标类别概率,筛选得到行人目标的检测结果。

与现有技术相比,本发明的优点在于:

1)本发明能够从烟雾、雨水、灰尘、光线暗淡等复杂环境下所采集的rgb彩色图像、红外热图像中检测到行人目标,对于复杂环境对图像造成的干扰具有很好的鲁棒性;

2)本发明所使用的检测模型减少用于目标特征提取的网络层数,通过基于resnet的五层卷积网络层和基于spp的三层最大池化层提取图像中的行人特征,能够在有效提取复杂环境下的目标特征、保证检测精度的同时,显著提高目标特征提取的速率;

3)本发明通过基于resnet的五层卷积网络层能够有效控制梯度的传播,避免梯度消失或爆炸不利于训练检测模型;

4)本发明通过在三层目标检测层设置不同的检测尺度和不同尺寸的锚箱进行多尺度检测,大大提高对像素小于80×40的小目标的检测能力.

附图说明

为了更清楚地说明本发明技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图:

图1为本发明的检测模型示意图;

图2为本发明中的三层目标检测层进行多尺度预测示意图;

图3为本发明的基于resnet的五层卷积网络层结构示意图;

图4为本发明的基于深度学习的复杂环境下行人实时检测方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种基于深度学习的复杂环境下行人实时检测方法,用于检测复杂环境下行人图像中的行人目标。在本发明的实施例中,所采用的硬件配置为inteli78700k处理器、nvidiatitanxp显卡、64gbram的服务器,软件环境为ubuntu16.04系统、darknet框架。

如图4所示,本发明的基于深度学习的复杂环境下行人实时检测方法包含步骤:

s1、建立基于yolo(youonlylookonce你只能活一次)算法的检测模型;如图1所示,所述检测模型具体包含依序连接的:基于resnet(深度残差网络)的五层卷积网络层、基于spp(spatialpyramidpooling空间金字塔池)的三层最大池化层、三层目标检测层;

所述基于resnet的五层卷积网络层和三层最大池化层共同构成检测模型的特征提取网络,用于提取rgb彩色图像、红外热图像的行人目标特征。

图3为本发明的基于resnet的五层卷积网络层结构示意图,其中conv(convolutionallayer)为卷积层,max(maxpoollayer)为最大池化层,res(residuallayer)为残差层,filter为滤波器,size表示滤波器尺寸,output表示输出的特征图像素大小。如图1所示,所述五层卷积网络层输出的特征图像素大小依次为208×208、104×104、52×52、26×26、13×13。

对于传统的基于深度学习的网络模型来说,网络越深,所能学到的东西越多。当然收敛速度也就越慢,训练时间越长。然而网络深度到了一定程度之后就会发现学习率降低的情况,甚至在一些场景下,学习网络层数越深反而降低了分类的准确率,而且很容易出现梯度消失和梯度爆炸。也即学习网络太深,检测模型就会变得不敏感,导致检测模型最后分类的效果往往不会太好。resnet引入了残差块的设计,克服了这种由于网络深度的加深而产生的学习率变低、准确率无法有效提升的问题。使得在训练网络模型的同时,又能保证良好的性能。

如图1所示,在本发明的检测模型中,基于spp的三层最大池化层中,每层最大池化层均包含一个滤波器,三层最大池化层的滤波器尺寸分别为5×5、9×9、13×13像素。基于spp的三层最大池化层能够将rgb彩色图像、红外热图像从较细的层次划分为较粗的层次,并在所有层次上聚合局部特征,以进一步获取rgb彩色图像、红外光图像中的行人目标特征,提高对行人目标的检测精度。

所述三层目标检测层用于根据所述行人目标特征,从rgb彩色图像、红外热图像中检测行人目标。

如图1所示,三层目标检测层的检测尺度分别为13×13、26×26、104×104;通过k-means(k均值聚类)算法根据每层目标检测层的检测尺度,分别为每层目标检测层生成对应的三个不同尺寸的锚箱。每层目标检测层锚箱的尺寸如表1所示:

表1锚箱的宽度和高度表

s2、选取色热图片库中复杂环境下的若干张行人图像,并将所述行人图像设置为预定的尺寸;从所述若干张行人图像中选取部分行人图像作为训练数据集,其余的行人图像作为测试数据集;将所述训练数据集输入所述检测模型,训练检测模型;

在本发明的实施例中,从otcbvs的osu色热数据库中选取了1000张复杂环境下的行人图像。这些行人图像均融合了红外热图像和rgb彩色图像。选取1000张行人图像中的700张作为训练数据集,其余300张作为测试数据集,所有行人图像中的行人标签都是使用labelimg(图像标注工具)手工打好。

在本发明的实施例中,首先将行人图像设定为416×416像素。通过随机梯度下降法训练所述检测模型。在训练检测模型的过程中,设定初始学习率为0.001,动量(momentum)为0.9,权重衰减(decay)为0.005,批大小(batchsize)为16,使用用0.001的学习率迭代训练数据12000次,然后再用0.0001的学习率继续迭代6000次,最后用0.00001的学习率继续迭代3000次。正负样本的iou(intersection-over-union交并比)设置为0.5。

s3、将测试数据集输入训练好的检测模型,输出对测试数据集中行人目标的检测结果,并通过非极大值抑制方法筛选所述检测结果;

步骤s3具体包含:

s31、通过基于resnet的五层卷积网络层提取测试数据集中的行人目标特征;

s32、通过基于spp的三层最大池化层进一步提取测试数据集中的行人目标特征;

s33、通过三层目标检测层,基于多尺度预测策略,根据提取的所述行人目标特征,预测测试数据集中目标的边界框坐标值、目标置信度得分、行人目标类别概率。

如图2所示,步骤s33具体包含:将所述基于spp的三层最大池化层的输出作为所述三层目标检测层的输入。三层目标检测层依序包含第一至第三层目标检测层,分别在13×13、26×26、104×104像素的三个尺度上进行检测,并使用2倍上采样在第一层目标检测层和第二层目标检测层之间进行特征图尺度传递,使用4倍上采样在第二层目标检测层和第三层目标检测层之间进行特征图尺度传递。通过两次上采样,操作合并不同目标检测层提取的特征。第一层目标检测层的检测尺度为13×13像素,即指第一层目标检测层生成的单元格像素大小为13×13。每层目标检测层中,每个单元格均通过对应的3个锚箱预测得到3个边界框。在本发明的实施例中,如表1所示,第一层目标检测层的单元格通过宽度(像素)、高度(像素)分别为(18.9479,11.9025)、(44.8887,22.4906)、(88.8151,27.1594)的三个锚箱预测得到3个边界框。每一个边界框用于预测四个边界框坐标值。通过每个边界框输出(1 4 c)个值(4个边框坐标值、1个目标置信度得分,c为预测到的目标类别数),本发明中的行人目标类别概率是c个目标类别中的一种;

s34、通过非极大值抑制方法根据所述边界框坐标值、目标置信度得分、行人目标类别概率,筛选得到行人目标的检测结果。步骤s34具体包含:

s341、通过所述行人目标类别概率识别行人目标;

s342、通过非极大值抑制方法筛选检测结果;

步骤s33中,在进行行人目标检测时会针对一个行人目标在图像上生成多个检测结果候选框,一个所述候选框即一个预测得到的所述边界框,每个边界框对应一个目标置信度得分;把对应于同一个行人目标的目标置信度得分排序,选取目标置信度得分最高的那个候选框作为标准框,其他的候选框作为参照框。接下来计算参照框与标准框的重合程度(iou),如果重合程度大于设定的阈值就删除该参照框,将标准框作为行人目标的检测结果。因为对于同一个检测得到的行人目标可能会有好几个高得分的框,我们只需要结果最好的一个即可。

s4、与yolov3、yolo-tiny检测算法进行比对,验证检测精度、检测速度。

表2为yolov3、yolo-tiny、ours(本发明的检测方法)的检测精度、检测速度比对表。表2中通过map(meanaverageprecision平均精度均值)反映目标检测精度,其中fps(framepersecond每秒帧数)为每秒的检测帧数,代表目标检测速度。

表2检测算法比对

map的计算方法如式(1)和式(2)所示,

其中,ap为averageprecision(平均精度),表示行人类别的检测精度;r表示测试数据集中行人类别所有目标的数量;n表示测试数据集中所有类别目标的数量;j表示目标的序号,若与真实值相关,ij为1,否则ij为0;而rj是前j个目标中相关目标的数量。q表示某一类别;qr表示总的类别数量。map(平均ap值)是多个类别ap值的平均数,值介于0~1之间,因本发明只有一种行人目标类别,map值与ap值相等,且值越大表示该算法的检测精度越高。

根据表2可知,yolo-tiny的检测速率快,但其检测精度较低,实用性较差。本发明检测算法的检测精确度远远高于yolo-tiny,虽然略低于yolov3,但在检测速度上比yolov3提升明显。因此本发明的综合性能最佳。

本发明的基于深度学习的复杂环境下行人实时检测方法,可以用于基于rgb彩色图像或红外热图像的实时监控场景。本发明在五层卷积网络层后增加了基于spp的三层最大池化层,进一步提取了图像中的行人目标特征;并通过三层目标检测层的多尺度检测策略,大大提高对像素小于80×40的小目标的检测能力。

现有技术中,yolov3检测算法所使用的darknet53网络对于行人目标的检测过于复杂和冗余,其参数过多会导致训练复杂,需要较大的训练数据集,检测速度也会降低;现有技术中的yolov3-tiny的检测速度是以降低检测精度为代价。基于实验结果表明,本发明的基于深度学习的复杂环境下行人实时检测方法综合检测表现更为优异,检测结果更准确,且实时性更强,解决了yolov3算法参数量过大而yolo-tiny召回率低的问题。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。


技术特征:

1.一种基于深度学习的复杂环境下行人实时检测方法,其特征在于,包含步骤:

s1、建立基于yolo算法的检测模型;所述检测模型具体包含依序连接的:基于resnet的五层卷积网络层、基于spp的三层最大池化层、三层目标检测层;

s2、选取色热图片库中复杂环境下的若干张行人图像,并将所述行人图像设置为预定的尺寸;从所述若干张行人图像中选取部分行人图像作为训练数据集,其余的行人图像作为测试数据集;将所述训练数据集输入所述检测模型,训练检测模型;

s3、将测试数据集输入训练好的检测模型,输出对测试数据集中行人目标的检测结果,并筛选所述检测结果;

s4、与yolov3、yolo-tiny检测算法进行比对,验证检测精度、检测速度。

2.如权利要求1所述的基于深度学习的复杂环境下行人实时检测方法,其特征在于,步骤s1所述的检测模型中,每层最大池化层均包含一个滤波器,三层最大池化层的滤波器尺寸分别为5×5、9×9、13×13像素。

3.如权利要求1所述的基于深度学习的复杂环境下行人实时检测方法,其特征在于,步骤s1所述的检测模型中,三层目标检测层的检测尺度分别为13×13、26×26、104×104像素;通过k-means聚类算法根据每层目标检测层的检测尺度,分别为每层目标检测层生成对应的三个不同尺寸的锚箱。

4.如权利要求1所述的基于深度学习的复杂环境下行人实时检测方法,其特征在于,步骤s2中所述预定的尺寸为416×416像素。

5.如权利要求1所述的基于深度学习的复杂环境下行人实时检测方法,其特征在于,步骤s2中具体是通过随机梯度下降法训练所述检测模型。

6.如权利要求1所述的基于深度学习的复杂环境下行人实时检测方法,其特征在于,步骤s2中所述行人图像融合了红外热图像和rgb彩色图像。

7.如权利要求1所述的基于深度学习的复杂环境下行人实时检测方法,其特征在于,步骤s3具体包含:

s31、通过基于resnet的五层卷积网络层提取测试数据集中的行人目标特征;

s32、通过基于spp的三层最大池化层进一步提取测试数据集中的行人目标特征;

s33、通过三层目标检测层,基于多尺度预测策略,根据提取的所述行人目标特征,预测测试数据集中行人目标的边界框坐标值、目标置信度得分、行人目标类别概率;

s34、通过非极大值抑制方法根据所述边界框坐标值、目标置信度得分、行人目标类别概率,筛选得到行人目标的检测结果。

技术总结
本发明提供一种基于深度学习的复杂环境下行人实时检测方法,包含步骤:S1、建立基于YOLO算法的检测模型;S2、选取色热图片库中复杂环境下的若干张行人图像,建立训练数据集和测试数据集,将所述训练数据集输入所述检测模型,训练检测模型;S3、将测试数据集输入训练好的检测模型,输出对测试数据集的红外热图像、RGB彩色图像中行人目标的检测结果,并通过非极大值抑制方法筛选所述检测结果;S4、与YOLOv3、YOLO‑tiny检测算法进行比对,验证检测精度、检测速度。

技术研发人员:孙丽华;周薇娜
受保护的技术使用者:上海海事大学
技术研发日:2020.01.08
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-18879.html

最新回复(0)