基于改进YOLOv3和改进NMS的行人检测方法
文献发布时间:2023-06-19 09:43:16
技术领域
本发明属于行人检测技术领域,具体涉及一种基于改进YOLOv3算法的复杂环境下行人检测方法。
背景技术
随着我国城市化进程的加快,越来越多的大型公共建筑应运而生,与此同时也出现了越来越多如车站、地铁、商场等人员密集场所,因此,实时、准确的行人识别与检测方法在密集场所寻找走失人员等有着极为重要的应用价值。传统的行人检测方法主要采用人工设计特征进行全局特征行人检测,通过Haar小波特征、HOG特征、Shapelet与Edgelte特征等训练分类器进行行人检测,并在现有的数据集上取得了许多令人瞩目的效果。由于标准数据集中的样本分布并不均衡,例如目标区域与非目标区域、易分目标与难分目标分布不均衡,目前的主流检测方法只专注于目标区域与非目标区域的分布不均衡,在训练的过程中,通过手动将两者的比例调整为1:3克服目标区域与非目标区域分布不均衡的缺陷,但这种操作使数据集的制作过程变得耗时且费力。
发明内容
针对现有技术的不足,本发明提出了基于改进YOLOv3和改进NMS的行人检测方法,将行人检测问题转化为回归问题,利用卷积神经网络对整个图像进行处理,提供预测的类别和位置,同时通过降低易分样本的权重,提高难分样本的权重使样本分布均衡。
基于改进YOLOv3和改进NMS的行人检测方法,包括以下步骤:
步骤一、数据集采集
采集客观环境中行人在摄像头下拍摄的各种姿势和不同位置的图像形成行人图像数据集。
所述各种姿势的图像包括躺、坐、蹲、行走、站立和跑步的行人图像。
所述不同位置的图像包括与摄像头不同距离的行人图像和存在不同遮挡情况的行人图像。
步骤二、数据预处理
2.1、对步骤一采集获取的行人图像数据集进行扩充,包括以下步骤:
①对图像进行水平和垂直翻转、随机裁剪、随机角度旋转、改变图像对比度和亮度;
②用Random Erasing方法随机选择图像中的一个任意大小的矩形区域,擦除选定区域内的像素值并对擦除的像素值赋0至255之间的随机值;
2.2、对扩充后的行人图像数据集进行标注
用标注工具生成对应目标的标注信息及标签信息。
所述标注信息为数据集中目标的位置信息,标签信息为数据集中目标所属的类别,类别为人的目标标签信息为person。
2.3、将标注后的行人图像数据集分为训练集和测试集。
步骤三、对训练集图像进行调整、聚类
3.1、对步骤二获得的训练集中的图像进行尺寸调整,作为YOLOv3网络的输入图像,并设置IoU阈值、置信度阈值与距离阈值;
3.2、通过YOLOv3网络结构提取输入图像的特征,并使用组归一化GroupNormalization对提取到的图像特征进行归一化操作。
3.3、使用K-means聚类方法对输入图像进行聚类,得到最有可能的检测目标形状。
所述K-means聚类方法的聚类公式为:
d(anchor,truth)=1-IoU(anchor,truth) (1)
其中,d(anchor,truth)表示预测框与实际框的距离,anchor为预测框,truth为实际框,IoU(anchor,truth)为预测框与实际框的交并比。
当d(anchor,truth)小于等于距离阈值时,通过以下公式确定预测框的宽高大小:
以图像的左上角为坐标原点,其中,b
预测框的置信度公式为:
p_obj=y*IoU(anchor,truth) (3)
其中,y的取值为0或1,y=0表示图像中没有目标,y=1表示有目标;
置信度损失为:
其中,S表示将输入图片划分为S*S块,每块图像负责输出一个预测框,B为每块图像中的类别数,
步骤四、计算预测框的回归损失
使用CIoU函数代替YOLOv3中原有的预测框回归损失函数IoU Loss,计算预测框的回归损失,计算公式为:
其中
其中,Pos表示一张图片中检测出的物体中心点总数,p为某一中心点的索引,λ用于抑制离散点的程度,l和g为数组,分别包括预测框和实际框的宽度、高度以及左上角的横、纵坐标,b,b
步骤五、解决样本分布不均衡
在分类损失函数和预测框回归损失函数中引入GHM思想,以解决样本分布不均衡的问题。
分类损失函数使用二元交叉熵损失函数,计算公式为:
其中,Num是训练图片的总数量,y
5.1、利用GHM对分类损失函数进行处理,包括:
将L
令梯度模长g为:
令梯度密度GD为:
其中,g
定义梯度密度均衡化参数β
得到均衡化后的类别损失函数为:
其中,p
5.2、利用GHM对预测框回归损失函数进行处理,包括:
定义
定义
得到均衡化后的检测框回归损失函数为:
步骤六、计算总损失函数
根据步骤四与步骤五的计算结果,得到总损失函数:
L
步骤七、融合提取特征过程中产生的多尺度信息
7.1、利用特征金字塔网络提取YOLOv3网络内的特征层次结构。
7.2、引入PANet思想对具有横向连接的自顶向下路径进行扩展,创建自底向上的路径,利用准确的低层定位信号增强整个特征层次。
步骤八、冗余预测框抑制
采用结合了CIoU的软化非极大值抑制算法函数进行冗余预测框抑制,通过降低CIoU函数指标大于阈值的预测框的置信度,输出精确度更高的预测框,计算公式如下:
其中,M为当前得分最高的预测框,b为待处理框,当IoU-R
本发明具有以下有益效果:
1、在分类损失函数和预测框回归损失函数的计算过程中引入GHM思想,降低了目标检测任务中正负样本不均衡带来的不利影响;
2、使用软化非极大值抑制算法函数来改进NMS,可以更好的去除生成框,解决两个或多个行人相互重叠时NMS出现漏检的情况,提高检测的召回率;
3、在预测框回归损失函数和软化非极大值抑制算法函数中引入CIoU概念,同时考虑了预测框和实际框的最小外接框以及检测框尺寸误差,使预测框更接近实际框。
附图说明
图1为引入PANet思想的改进YOLOv3网络结构。
具体实施方式
以下结合附图对本发明作进一步的解释说明;
基于改进YOLOv3和改进NMS的行人检测方法,包括以下步骤:
步骤一、数据集采集
采集客观环境中行人在摄像头下拍摄的包括躺、坐、蹲、行走、站立和跑步各种姿势,以及距离摄像头不同位置的行人图像和存在不同遮挡情况的行人图像。
步骤二、数据预处理
2.1、对步骤一采集获取的行人图像数据集进行水平和垂直翻转、随机裁剪、随机角度旋转、改变图像对比度和亮度,然后用Random Erasing方法随机选择图像中的一个任意大小的矩形区域,擦除选定区域内的像素值并对擦除的像素值赋0至255之间的随机值,以此对行人图像数据集进行扩充。
2.2、对扩充后的行人图像数据集进行标注,利用标注工具生成对应目标的标注信息及标签信息。其中标注信息为数据集中目标的位置信息,标签信息为数据集中目标所属的类别,类别为人的目标标签信息为person。
2.3、将标注后的行人图像数据集分为训练集和测试集。
步骤三、对训练集图像进行调整、聚类
3.1、对步骤二获得的训练集中的图像进行尺寸调整,作为YOLOv3网络的输入图像,并设置IoU阈值、置信度阈值与距离阈值;
3.2、通过YOLOv3网络结构提取输入图像的特征,并使用组归一化GroupNormalization对提取到的图像特征进行归一化操作。
3.3、使用K-means聚类方法对输入图像进行聚类,得到最有可能的检测目标形状。
所述K-means聚类方法的聚类公式为:
d(anchor,truth)=1-IoU(anchor,truth) (1)
其中,d(anchor,truth)表示预测框与实际框的距离,anchor为预测框,truth为实际框,IoU(anchor,truth)为预测框与实际框的交并比。
当d(anchor,truth)小于等于距离阈值时,通过以下公式确定预测框的宽高大小:
以图像的左上角为坐标原点,其中,b
预测框的置信度公式为:
p_obj=y*IoU(anchor,truth) (3)
其中,y的取值为0或1,y=0表示图像中没有目标,y=1表示有目标;
置信度损失为:
其中,S表示将输入图片划分为S*S块,每块图像负责输出一个预测框,B为每块图像中的类别数,
步骤四、计算预测框的回归损失
YOLOv3中原有的预测框回归损失函数IoU Loss存在两个缺陷:1、预测框和实际框不相交时,IoU Loss不能反映两者之间距离的远近,导致无法优化;2、在确定实际框和预测框交并比及两者尺寸时,IoU Loss无法反映两者之间的相对位置关系。使用CIoU函数代替IoU Loss计算预测框的回归损失,可以兼顾实际框和预测框之间的重叠面积、中心点距离以及长宽比,所以使用CIoU函数计算预测框的回归损失可以更加准确、鲁棒得得到检测框定位。CIoU函数计算公式为:
其中
其中,Pos表示一张图片中检测出的物体中心点总数,p为某一中心点的索引,λ用于抑制离散点的程度,l和g为数组,分别包括预测框和实际框的宽度、高度以及左上角的横、纵坐标,b,b
步骤五、解决样本分布不均衡
在训练过程中,模型能够成功判别的简单样本的数量非常大,在模型更新中很有可能占据主导作用,那么这样的参数更新并不会显著改善模型的判断能力,反而使整个训练变得非常低效。在分类损失函数和预测框回归损失函数中引入GHM思想,可以根据样本的分类难度与其梯度的分布情况,通过降低高密度区域样本的权重降低样本不均衡带来的影响。
分类损失函数使用二元交叉熵损失函数,计算公式为:
其中,Num是训练图片的总数量,y
5.1、利用GHM对分类损失函数进行处理,包括:
将L
令梯度模长g为:
令梯度密度GD为:
其中,g
定义梯度密度均衡化参数β
得到均衡化后的类别损失函数为:
其中,p
5.2、利用GHM对预测框回归损失函数进行处理,包括:
定义
定义
得到均衡化后的检测框回归损失函数为:
步骤六、计算总损失函数
根据步骤四与步骤五的计算结果,得到总损失函数:
L
步骤七、融合提取特征过程中产生的多尺度信息
7.1、利用特征金字塔网络提取YOLOv3网络内的特征层次结构。
7.2、如图1所示,引入PANet思想对具有横向连接的自顶向下路径进行扩展,创建自底向上的路径,利用准确的低层定位信号增强整个特征层次。
引入PANet的思想,可以将YOLOv3网络在提取输入图像特征的过程中产生的多尺度信息进行更好的融合。
步骤八、冗余预测框抑制
在模型生成检测框后,由于同一目标会产生多个检测框,需要进行Soft-NMS操作删除冗余的检测框。但是在Soft-NMS中,通常使用IoU作为指标进行冗余检测框抑制,但该指标只考虑了实际框和检测框的重叠区域,所以在出现遮挡情况时常常会出现错误抑制。由于CIoU同时考虑了实际框和预测框之间的重叠面积,中心点距离以及长宽比,所以将其作为新的抑制指标引入Soft-NMS中,提出了CIoU-Soft-NMS,改善了遮挡环境下的冗余框抑制。
采用结合了CIoU的软化非极大值抑制算法进行冗余预测框抑制,计算公式如下:
其中,M为当前得分最高的预测框,b为待处理框,当IoU-R
- 基于改进YOLOv3和改进NMS的行人检测方法
- 智能监控环境下基于改进yolov3的实时行人检测方法及装置