发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明提供了一种基于迁移学习的SSD红外图像行人检测方法,能够解决样本不充足条件下无法准确识别、分类的问题。
为解决上述技术问题,本发明提供如下技术方案:包括,利用ImageNet数据集对MobileNet V2+SSD网络进行训练,并保存权重;将OUS红外行人数据集转化为三通道图像进行数据扩充,根据8:2的比例划分训练集和测试集,且转换为tfrecord格式文件;利用所述训练集对预先训练好的SSD网络进行微调,将所述测试集输入训练好的检测模型,根据检测结果调整超参数,输出最终的所述检测模型。
作为本发明所述的基于迁移学习的SSD红外图像行人检测方法的一种优选方案,其中:所述微调包括,将所述ImageNet数据集预先训练好的权重转换为在所述OUS热红外行人数据集上的权重;将直接涉及到输出层的网络层,即Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2和Conv11_2层的网络权重进行重新学习;通过卷积层融合多尺度特征图,生成包含感兴趣对象概率的边界框bounding box,利用非最大值抑制NMS生成所述检测结果;利用所述检测模型在训练集上的误差不断迭代训练,得到对数据拟合的合理检测模型。
作为本发明所述的基于迁移学习的SSD红外图像行人检测方法的一种优选方案,其中:所述扩充包括,对10%的图像进行上下翻转、50%的图像进行镜像翻转、左右平移20%、剪切变换±16°、图像缩放80%到120%之间、随机旋转±15°。
作为本发明所述的基于迁移学习的SSD红外图像行人检测方法的一种优选方案,其中:转化为所述三通道图像包括,利用RGB赋予原通道的值将红外图像转变为三通道;通过LabelImg对行人图像进行标记,构建红外行人图像对应的.xml格式标签。
作为本发明所述的基于迁移学习的SSD红外图像行人检测方法的一种优选方案,其中:所述标签包括,图像名称、目标类别及目标所在位置的坐标信息的xml树。
作为本发明所述的基于迁移学习的SSD红外图像行人检测方法的一种优选方案,其中:所述MobileNet V2+SSD网络包括,所述SSD网络由VGG16构建,其包括5组13个卷积层、5个最大池化层和3个全连接层,其中,所述卷积层的步长为1、卷积核为3×3、所述池化层步长为2、大小为2×2;所述MoblieNet V2添加宽度缩放因子α,使得每层网络都变薄,输入通道由D变为αD,输出通道由K变为αK,计算量变为:
F×F×αD×N×N+1×1×αD×αK×N×N
其中,计算量和参数个数缩小为原来的α2。
作为本发明所述的基于迁移学习的SSD红外图像行人检测方法的一种优选方案,其中:还包括,所述MoblieNet为轻量级网络,采用深度可分解卷积将一个标准卷积分解为深度卷积和点卷积,其为2D卷积并作为卷积核深度为1的CNN卷积核,每个卷积核只对输入数据的一层做卷积运算,其计算量为:
F×F×D×N×N+1×1×D×K×N×N
其中,F为卷积核的维度,D为输入的深度,N为输入的宽度和高度,K为输出的深度。
作为本发明所述的基于迁移学习的SSD红外图像行人检测方法的一种优选方案,其中:所述检测模型以损失函数为目标函数,包括,所述损失函数定义为位置误差与置信度误差的加权之和,如下:
其中,N是先验框的正样本的数量,c为类别置信度预测值,l为先验框所对应边界框的位置预测值,g为真实边界框的位置参数,α为权重系数。
作为本发明所述的基于迁移学习的SSD红外图像行人检测方法的一种优选方案,其中:还包括,所述位置误差采用Smooth L1 loss定义,如下:
由于l是编码值,所以计算时要先对g进行编码得到
如下:
其中,d为先验框位置,variance为超参数,用来调整检测值对
进行缩放。
作为本发明所述的基于迁移学习的SSD红外图像行人检测方法的一种优选方案,其中:还包括,所述置信误差采用softmax loss计算,如下:
其中,
为一个参数指标,当
时表示第i个预测边界框与第j个真实边界框匹配,并且边界框的类别为p,c为类别置信度预测值,p的概率预测越高,损失越小,概率通过softmax产生。
本发明的有益效果:本发明通过将测试集输入到训练好的模型中,根据结果调整超参数,提高网络精确率,平均精确率mAP为94.8%,提升了网络训练效果,加快了网络收敛,提高了准确率,并克服了现有样本数量较少而无法准确识别分类的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明第一个实施例所述的基于迁移学习的SSD红外图像行人检测方法的流程示意图;
图2为本发明第一个实施例所述的基于迁移学习的SSD红外图像行人检测方法的扩充后的数据集部分图像示意图;
图3为本发明第一个实施例所述的基于迁移学习的SSD红外图像行人检测方法的原图像示意图;
图4为本发明第一个实施例所述的基于迁移学习的SSD红外图像行人检测方法的标签可视化示意图;
图5为本发明第一个实施例所述的基于迁移学习的SSD红外图像行人检测方法的.xml格式的图片标签信息示意图;
图6为本发明第二个实施例所述的基于迁移学习的SSD红外图像行人检测方法的map函数曲线示意图;
图7为本发明第二个实施例所述的基于迁移学习的SSD红外图像行人检测方法的localization loss函数曲线示意图;
图8为本发明第二个实施例所述的基于迁移学习的SSD红外图像行人检测方法的classification loss函数曲线示意图;
图9为本发明第二个实施例所述的基于迁移学习的SSD红外图像行人检测方法的总损失值曲线示意图;
图10为本发明第二个实施例所述的基于迁移学习的SSD红外图像行人检测方法的测试输入图像示意图;
图11为本发明第二个实施例所述的基于迁移学习的SSD红外图像行人检测方法的检测结果示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1~图5,为本发明的第一个实施例,提供了一种基于迁移学习的SSD红外图像行人检测方法,包括:
S1:利用ImageNet数据集对MobileNet V2+SSD网络进行训练,并保存权重。其中需要说明的是,MobileNet V2+SSD网络包括:
SSD网络由VGG16构建,其包括5组13个卷积层、5个最大池化层和3个全连接层,其中,卷积层的步长为1、卷积核为3×3、池化层步长为2、大小为2×2;
MoblieNet V2添加宽度缩放因子α,使得每层网络都变薄,输入通道由D变为αD,输出通道由K变为αK,计算量变为:
F×F×αD×N×N+1×1×αD×αK×N×N
其中,计算量和参数个数缩小为原来的α2。
MoblieNet为轻量级网络,采用深度可分解卷积将一个标准卷积分解为深度卷积和点卷积,其为2D卷积并作为卷积核深度为1的CNN卷积核,每个卷积核只对输入数据的一层做卷积运算,其计算量为:
F×F×D×N×N+1×1×D×K×N×N
其中,F为卷积核的维度,D为输入的深度,N为输入的宽度和高度,K为输出的深度。
S2:将OUS红外行人数据集转化为三通道图像进行数据扩充,根据8:2的比例划分训练集和测试集,且转换为tfrecord格式文件。本步骤需要说明的是,扩充包括:
对10%的图像进行上下翻转、50%的图像进行镜像翻转、左右平移20%、剪切变换±16°、图像缩放80%到120%之间、随机旋转±15°。
进一步的,转化为三通道图像包括:
利用RGB赋予原通道的值将红外图像转变为三通道;
通过LabelImg对行人图像进行标记,构建红外行人图像对应的.xml格式标签;
标签包括,图像名称、目标类别及目标所在位置的坐标信息的xml树。
S3:利用训练集对预先训练好的SSD网络进行微调,将测试集输入训练好的检测模型,根据检测结果调整超参数,输出最终的检测模型。其中还需要说明的是,微调包括:
将ImageNet数据集预先训练好的权重转换为在OUS热红外行人数据集上的权重;
将直接涉及到输出层的网络层,即Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2和Conv11_2层的网络权重进行重新学习;
通过卷积层融合多尺度特征图,生成包含感兴趣对象概率的边界框boundingbox,利用非最大值抑制NMS生成检测结果;
利用检测模型在训练集上的误差不断迭代训练,得到对数据拟合的合理检测模型。
进一步的,检测模型以损失函数为目标函数,包括:
损失函数定义为位置误差与置信度误差的加权之和,如下:
其中,N是先验框的正样本的数量,c为类别置信度预测值,l为先验框所对应边界框的位置预测值,g为真实边界框的位置参数,α为权重系数;
位置误差采用Smooth L1 loss定义,如下:
由于l是编码值,所以计算时要先对g进行编码得到
如下:
其中,d为先验框位置,variance为超参数,用来调整检测值对
进行缩放;
置信误差采用softmax loss计算,如下:
其中,
为一个参数指标,当
时表示第i个预测边界框与第j个真实边界框匹配,并且边界框的类别为p,c为类别置信度预测值,p的概率预测越高,损失越小,概率通过softmax产生。
参照图2,为扩充后的数据集部分图像,由于OUS数据集只有284幅图像,为了达到较好的结果,本实施例采用数据增强的方式来对数据集进行扩充,主要为对10%的图像进行上下翻转、50%的图像进行镜像翻转、左右平移20%、剪切变换±16°、图像缩放80%到120%之间、随机旋转±15°,之后数据集扩充为2823幅图像。
参照图3、图4和图5,因为红外图像为单通道图像,而SSD网络要求输入图像为三通道图像,本实施例通过把原通道的值赋予RGB三个通道的方法将红外图像转变为三通道,使用LabelImg对这2823幅行人图像进行标记,构建红外行人图像对应的.xml格式标签,可以看出.xml格式的图片标签信息主要为包括图像名称、目标类别、目标所在位置的坐标信息的xml树。
优选的,将数据集标签转换为.csv格式,再将.xml格式的图片标签所包含的图像名称、图像宽高、目标类别与坐标写入表格文件,同时以8:2的比例分为训练集和测试集,数据集具体数值如下表所示:
表1:数据集具体数值表。
数据集 |
图像数(幅) |
行人数(人) |
训练集 |
2258 |
5568 |
测试集 |
565 |
1336 |
合计 |
2823 |
6904 |
在SSD网络中并不能直接处理xml格式及cvs格式的文件所包含的标签信息,需要进一步转换为网络能读取的tfrecord格式文件,tfrecord格式文件是一种二进制文件更方便复制和移动,并且不需要单独的标签文件,因此本实施例将图片和.xml格式的标签转换为.tfrecord格式文件进行读取(迁移学习)。
当数据集准备好后,利用本发明方法不断学习数据集中的目标特征并训练出能检测目标的权值模型,通过SSD己经在ImageNet数据集上训练迭代了数十万次的网络权重作为基础来初始化网络参数,训练迭代过的权值模型己经初步具备了的提取特征的能力,能够提高网络训练效果加快收敛。
实施例2
参照图6~图11,为本发明的第二个实施例,该实施例不同于第一个实施例的是,提供了一种基于迁移学习的SSD红外图像行人检测方法的验证,包括:
参照图6,需要说明的是,为了验证权值模型检测目标的准确率,主要是看检测测试集所有数据后计算得到的平均准确率均值(MAP)的大小,本实施例采用Adam下降法,所有图片分批次投入模型训练,提升了梯度下降时更新所有参数的速度,尽可能获得参数解的最优值,本实施例设定每次输入模型训练的图片数量为16,设置迭代次数为9000次,最后测试集准确率为94.8%,根据每一万次验证计算得到的MAP,绘制出准确率随迭代步数增加的曲线图。
参照图7、图8和图9,均为训练过程中损失值的收敛曲线,横坐标为迭代次数,最大迭代为9000次,总损失值下降到为1.94,网络训练结果较理想,其中,localization_loss为边界框回归的损失即位置损失,classification_loss为将检测的对象分类为各种类别的损失即分类损失,total_loss为总损失。
参照图6、图7、图8和图9,可以看出不论是准确率还是损失的曲线都是有波动的,并不是平滑的,这是由于本实施例采用的是Adam下降法,每次训练的只是所有数据集中的一批图像,对这一批图像进行计算得到的损失和准确率,虽然曲线有所起伏,但是准确率的整体趋势是上升的,而损失是下降的,模型是在逐渐收敛的。
参照图6,可以看出随着训练次数的增加,mAP在不断提升,准确率在迭代次数为0到2000次之间曲线变化非常明显,准确率的提升幅度很大,代表模型处于学习阶段;而迭代次数在3200次之后,准确率的曲线基本保持平稳,没有出现大幅度的变化,这是因为模型逐渐收敛,参数的更新在不断向最优解拟合,当训练次数达到5000次后,准确率趋于饱和,训练次数达到9000次时,SSD算法平均准确率均值约为94.8%。
参照图10和图11,是对测试集图片进行目标检测的效果,测试时候先搭建好算法网络,再直接调用训练9000次时的权值模型,计算出图片中目标的位置偏移、目标类别、预定义框位置,根据预定义框位置和位置偏移量得到目标最终的位置(目标中心、目标长和目标宽),设置黄绿色来绘制目标边框,并给出目标为某一类的概率,当预测概率>50%时认为该目标属于行人,如图10对于3个目标分类为行人的概率分别为75%(机器75%确定该目标为行人)、92%、96%,对输入的5幅图像都能预测成功。
为了验证对OUS热红外行人数据集进行增广可以使网络模型达到较好的效果,提高检测精度,本实施例对数据集进行扩充和优化后的网络性能对比如下所示:
表2:优化数据集前后对比表。
数据集处理方法 |
mAP(%) |
数据扩充前 |
64.17 |
数据扩充后 |
90.23 |
数据优化后 |
94.80 |
本实施例采用平均准确率(mAP)、查全率(recall,R)、检测时间三个指标作为不同算法在红外图像行人目标检测任务上的评判标准,兼顾查准查全两个要求,衡量算法整体性能,更全面评价不同算法针对行人目标的检测性能。
表3:不同模型在数据集中的识别结果对比表。
模型 |
mAP(%) |
R(%) |
检测时间(ms) |
Faster-Rcnn |
79.1 |
74.35 |
2374 |
YOLO |
75.25 |
69.79 |
1653 |
SSD |
77.86 |
72.33 |
3428 |
本发明方法 |
94.8 |
85.94 |
530 |
综上,本发明通过将测试集输入到训练好的模型中,根据结果调整超参数,提高网络精确率,平均精确率mAP为94.8%,提升了网络训练效果,加快了网络收敛,提高了准确率。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。