通过对YOLOv8模型训练过程中的各项损失和性能指标的分析,我们可以深入理解模型的学习效果和优化空间。 首先,观察到训练过程中的边界框损失(box_loss)、分类损失(cls_loss)和分布式焦点损失(dfl_loss)均呈现出随着训练轮次增加而逐渐下降的趋势。这表明模型在识别物体位置、分类准确性以及预测分布上的性能都随着时间的推...
Loss计算过程包括两部分:正负样本分配策略和Loss计算。 正负样本分配策略 Task-Aligned Assigner,又名对齐分配器,在YOLOv8中是一种动态的分配策略。 一言以蔽之: 针对所有像素点预测的 Cls score 和 Reg Score(Box与每个GT box的IOU) ,通过加权的方式得到最终的加权分数,通过对加权分数进行排序后选择Topk个正样本。
从YOLOv8训练损失和评估指标图像中,我们可以对模型的学习过程进行细致的分析。 box_loss代表预测物体周围边界框的误差。cls_loss是分类损失,指示模型在将物体正确分类到各个类别的能力。df1_loss可能代表一个“可微特征”损失,这在物体检测中经常用来确保学习到的特征能够很好地区分物体类别。所有三个图表都显示了下降趋...
Box_loss 反映了模型预测边界框与实际标注之间差异的大小,从图像中可以看到,训练和验证的box_loss都呈现出明显的下降趋势,这表明模型在定位手势目标上的能力随着训练的进行而不断提高。Cls_loss 表示类别损失,用于评估模型预测的类别信息与真实类别标签之间的一致性。观察到cls_loss在训练期间也在稳步下降,这意味着模型...
从左至右,上至下,图中依次显示了训练集上的边框损失(train/box_loss)、分类损失(train/cls_loss)、定位损失(train/dfl_loss)、验证集上的边框损失(val/box_loss)、分类损失(val/cls_loss)、定位损失(val/dfl_loss),以及模型的精度(metrics/precision(B))、召回率(metrics/recall(B))、平均精度(metrics/...
loss[1]*=self.hyp.pose/batch_size # pose gain loss[2]*=self.hyp.kobj/batch_size # kobj gain loss[3]*=self.hyp.cls # cls gain loss[4]*=self.hyp.dfl # dfl gainreturnloss.sum()*batch_size,loss.detach() 1. 2. 3. 4.
分类损失cls_loss:计算锚框与对应的标定分类是否正确,越小分类得越准; 动态特征损失(dfl_loss):DFLLoss是一种用于回归预测框与目标框之间距离的损失函数。在计算损失时,目标框需要缩放到特征图尺度,即除以相应的stride,并与预测的边界框计算Ciou Loss,同时与预测的anchors中心点到各边的距离计算回归DFLLoss。这个过...
在深度学习中,我们通常用损失函数下降的曲线来观察模型训练的情况。YOLOv8在训练时主要包含三个方面的损失:定位损失(box_loss)、分类损失(cls_loss)、动态特征损失(dfl_loss)以及分割损失(seg_loss),在训练结束后,可以在runs/目录下找到训练过程及结果文件,如下所示: ...
cls_loss是分类损失,指示模型在将物体正确分类到各个类别的能力。df1_loss可能代表一个“可微特征”损失,这在物体检测中经常用来确保学习到的特征能够很好地区分物体类别。所有三个图表都显示了下降趋势,表明模型在经过多次迭代后正在学习并提高其预测能力。图表中的平滑线条表明模型在学习过程中没有经历高变异性,这通常...
Cls Loss用于衡量模型预测的类别分布与真实标签之间的差异。交叉熵损失函数是分类任务中常用的一种损失函数,其公式为: L o s s c l s = − ∑ c = 1 M y o , c l o g ( p o , c ) Loss_{cls}=-\sum_{c=1}^{M}y_{o,c}log(p_{o},c)Losscls=−c=1∑Myo,clog(po,c) ...