首页 > 其他分享 > 经典重塑-yolov3的正负样本选择和损失函数的故事

经典重塑-yolov3的正负样本选择和损失函数的故事

时间:2022-09-24 23:34:50浏览次数:84  
标签:loss 13 yolov3 IOU 样本 损失 正负 计算 重塑

先讲一下正负样本选择,因为必须要先选择正负样本才能计算损失,毕竟坐标误差,iou误差和分类误差都是和正样本相关的。

 

然后再来讲一下损失函数的计算方式

 

 

我个人理解上包括三个损失:坐标损失,就是计算输出中心点、高宽的损失,采用的均方差;还有一个是目标置信度损失,也就是框内存在目标的概率,这个采用的是二值交叉熵损失;还有一个是分类损失,也就是数据的类别

最大的变动是分类损失换成了二分交叉熵,这是由于yolov3中剔除了softmax改用logistic。

注意在计算iou并取其中最大值时,比较的是9个bounding box,并不是3个

 

loss需要对三个特征层进行处理,这里以最小的特征层为例

利用y_true取出该特征层中真实存在目标的点的位置(m,13,13,3,1)及其对应的种类(m,13,13,3,80)
将yolo_outputs的预测值输出进行处理,得到reshape后的预测值y_pre,shape分别为(m,13,13,3,85),(m,26,26,3,85),(m,52,52,3,85)。还有解码后的xy,wh
获取真实框编码后的值,后面用于计算loss,编码后的值其含义与y_pre相同,可用于计算loss
对于每一幅图,计算其中所有真实框与预测框的IOU,取出每个网络点中IOU最大的先验框,如果这个最大的IOU都小于ignore_thresh,则保留,一般来说ignore_thresh取0.5,该步的目的是为了平衡负样本
计算xy和wh上的loss,其计算的是实际上存在目标的,利用第三步真实框编码后的的结果和未处理的预测结果进行对比得到loss
计算置信度的loss,其有两部分构成,第一部分是实际上存在目标的,预测结果中置信度的值与1对比;第二部分是实际上不存在目标的,在第四步中得到其最大IOU的值与0对比
计算预测种类的loss,其计算的是实际上存在目标的,预测类与真实类的差距

标签:loss,13,yolov3,IOU,样本,损失,正负,计算,重塑
From: https://www.cnblogs.com/chentiao/p/16726968.html

相关文章