1.一种基于EIoU改进的YOLOv3方法,包含以下步骤:
步骤一:下载当前目标检测领域通用数据集COCO数据集,保证与该领域通用数据集保持一致,以达到比对效果,检测本发明方法性能;
步骤二:重建YOLOv3网络体系,并以步骤一中所选取的数据集为基础,训练YOLOv3网络,输出权重文件Q,检测其性能,并做好对比资料;
步骤三:针对当前基于IoU的损失LIoU在预选框被目标框完全包裹情况下无法进行梯度回传的不足,提出改进版的基于EIoU表示的损失函数LEIoU,并将其嵌入方法模型,进行训练检测其性能;
基于EIoU表示的损失函数LEIoU损失值计算公式如下:
LEIoU=1‑IoU+R
其中:
惩罚因子 其中(x'1,y'1)、
(x'1,y'2)、(x'2,y'1)、(x'2,y'2)分别代表预测框的四个顶点坐标,(x1,y1)、(x1,y2)、(x2,y1)、(x2,y2)分别代表真实框的四个顶点坐标,l、w分别代表的是能够同时包含预测框和真
2 2
实框的最小闭包区域的长和宽,并且l2=(max(x2,x'2)‑min(x1,x'1)) ,w=(max(y2,y'2)‑2
min(y1,y'1)) ,*代表乘积,IoU即是预测框与真实框之间的交并比,LEIoU代表损失值;
由上述公式可以看出,LEIoU将推动预测框与真实框不断靠近,对于预测框与真实框不相交以及包含的情况下,仍然可使预测框向真实框方向靠近,而且同时考虑了真实框完全包裹预测框的情况下预测框相同面积大小但不同长宽比的情形,LEIoU不受长宽比的限制;
将该损失函数模块嵌入YOLOv3模型中替换基于IoU的损失函数LIoU,并再次进行训练,训练过程与步骤三中的训练过程保持一致,输出权重文件,并对训练结果进行检测;
步骤四:对比经典的YOLOv3方法,分析测试结果。
2.根据权利要求1所述的一种基于EIoU改进的YOLOv3方法,步骤一:下载当前目标检测领域通用数据集COCO数据集,COCO的全称是Microsoft Common Objects in Context,是微软团队提供的一个可以用来进行图像识别的数据集,COCO数据集提供了80个对象类别,本发明用到的数据集中图片的标注类型为object detection(目标检测)类型,其表现为标注了图片中感兴趣目标的类别信息pi及该目标所在的中心位置坐标(x,y)及目标的宽度w和高度h,用矩形框可视化;选取这个数据集与该领域通用数据集保持一致,以达到比对效果,检测本发明方法性能。
3.根据权利要求1所述的一种基于EIoU改进的YOLOv3方法,步骤二:重建YOLOv3网络体系,并以步骤一中所选取的数据集为基础,训练YOLOv3网络,输出权重文件Q,检测其性能,并做好对比资料,具体网络模型及训练过程如下:YOLOv3方法的主体网络结构由52个卷积层组成,分为三个阶段,即三个不同尺度的输出;1~26层卷积为阶段1,27~43层卷积为阶段2,44~52层卷积为阶段3,阶段1的输出也就是第26个卷积层的输出感受野小,负责检测小目标,阶段2的输出也就是第43个卷积层的输出感受野居中,负责检测中等大小的目标,阶段3的输出也就是第52个卷积层的输出感受野大,容易检测出大目标;
首先网络随机初始化权值,使初始化的值服从高斯正态分布,然后输入像素为416×
416×3的图片,通过第1层卷积层,卷积核尺寸为3×3,步长为1,个数为32,得到416×416×
32的特征图输出;进入第2层卷积层,卷积核尺寸为3×3,步长为2,个数为64,得到208×208×64的特征图输出,以此类推;依据网络图中的各层不同的卷积核,分别进入三个不同阶段依次得到52×52×256的特征图、26×26×512的特征图和13×13×1024的特征图,然后进入特征交互层1,2,3继续进行卷积操作,分别如下:特征交互层1是一个卷积模块,包含5步卷积操作,卷积核尺寸及个数依次为1×1×
128,、3×3×256、1×1×128、3×3×256和1×1×128,步长均为1,得到52×52×128的特征图,并进行3×3×256和1×1×255的卷积操作,得到52×52×255的特征图1;
特征交互层2是一个卷积模块,包含5步卷积操作,卷积核尺寸及个数依次为1×1×
256,、3×3×512、1×1×256、3×3×512和1×1×256,步长均为1,得到26×26×256的特征图,并进行3×3×512和1×1×255的卷积操作,得到26×26×255的特征图2;
特征交互层3是一个卷积模块,包含5步卷积操作,卷积核尺寸及个数依次为1×1×
512,、3×3×1024、1×1×512、3×3×1024和1×1×512,步长均为1,得到13×13×512的特征图,并进行3×3×1024和1×1×255的卷积操作,得到13×13×255的特征图3;
以52×52×255特征图1为例进行说明:第一个维度52代表图片中横向像素点的个数,第二个维度52代表图片中纵向像素点的个数,第三个维度255代表感兴趣目标特征数,包含
3个尺度的信息,每个尺度的信息又包含85个信息点,85个信息点分别为:感兴趣目标所在的中心位置坐标(x,y)、目标的宽度w和高度h,以及类别信息pi和置信度C,其中类别信息pi=80;故3×(1+1+1+1+80+1)=255;特征图2和特征图3各维度的意义与特征图1相同;
经过上述网络模型得到感兴趣目标的预测框信息,将预测框与真实框进行比对,计算损失误差,包括IoU损失LIoU,置信度损失LC,类别损失LP,计算公式如下:a.IoU损失LIoU
LIoU表示目标位置损失值:
LIoU=1‑IoU;
b.置信度损失
置信度损失使用的函数为二值交叉熵函数:
LC=obj_loss+noobj_loss
其中,N表示网络预测的边界框的总数, 表示第i个预测的边界框中是否存在目标,若存在,则 若不存在,则 Ci表示目标所在第i个边界框的置信度, 表示网络预测的第i个边界框的置信度;
c.类别损失
其中,pi表示目标所在第i个边界框中各类别的概率, 表示网络预测的第i个边界框中各类别的概率;
最终的损失函数L为:
L=LIoU+LC+LP
本发明根据精度要求设定迭代阈值为100,当迭代次数小于100时,利用Adam优化方法进行权值更新直到损失值低于设定的阈值或迭代次数大于100,结束训练过程,并输出权重文件Q1,Q1中包含训练过程中各个网络层的各参数的权重系数及偏移量,而后对训练结果进行性能检测;
综上,具体训练过程可简化总结如下:
(1)网络随机初始化权值,使初始化的值服从高斯正态分布;
(2)输入图片数据经过本发明步骤二中的网络模型输出三个不同尺度的特征图,并利用此特征图得到预测框信息;
(3)将预测框与真实框进行比对,此阶段计算损失误差主要包括IoU损失LIoU,置信度损失LC,类别损失LP;
(4)此时当迭代次数小于100时,利用Adam优化方法进行权值更新,直到损失值低于设定的阈值或迭代次数大于100,结束训练过程,并输出权重文件,而后对训练结果进行性能检测;本发明方法的主要测试指标为mAP(mean Average Precision),代表平均的平均精确度,首先是一个类别内,求平均精确度(Average Precision),然后对所有类别的平均精确度再求平均(mean Average Precision)。
4.根据权利要求1所述的一种基于EIoU改进的YOLOv3方法,步骤四:对比经典的YOLOv3方法,分析测试结果;
测试过程中采用IoU=0.5时的检测准确率作为方法性能的度量指标,如果方法对某张图片的预测矩形框和该图片的真实矩形框间的交并比大于0.5,那么就认为方法对该图片检测成功。