资源下载地址:https://download.csdn.net/download/sheziqiong/85749883
资源下载地址:https://download.csdn.net/download/sheziqiong/85749883
这里要提一点就是后期分析错误的时候发现了某些困难样本很难识别,尝试了mix-up增强的方法从数据入手改善,mix-up简单来说就是图片的加权和,可以看下图:
但是在本场景使用mix-up后因为整个场景背景较为复杂,两个复杂图片的叠加使得很多有效信息得不到很好的表达,模型的表现没有得到提高
我们知道YOLO是基于anchor box来预测偏移,那anchor box的size就很重要,我们先可视化一下钢筋框的长宽(归一化后):
我们可以看到基本上是1:1,我们再看看YOLO v3的anchor box:
10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326
测试样本中出现了许多背景样本错捡的问题,我们自然而然会想到Focal loss,我们知道Focal loss有两个参数
α
γ
\alpha \gamma
αγ,其中
γ
\gamma
γ固定为2不用调,主要是调整
α
\alpha
α,但在试验中我发现无论怎么调这个参数,最后训练的时候虽然收敛的速度加快许多,但是检测的效果都没有变好,这和YOLO论文中作者说加了Focal loss不work一样,后面想了很久才明白:我们知道YOLO对物体的判断有三种:正例,负例和忽视,与ground truth的iou超过0.5就会被认为ignore,我们用YOLO v1的一张图来说明:
我们知道整个红色框都是这只狗,但在红色框内的网格并不都与这只狗的gound truth的IOU超过0.5,这就让一些本来应该忽视的样本变成了负例,加入了我们Focal Loss的“困难样本集”,造成了label noise,让使用了Focal loss之后模型的表现变差。要解决这一点很简单,将ignore的阈值从0.5调至0.1或0.2,表现马上就提升了。(减少了很多背景错捡,但因为阈值调低的原因多了很多框,这个可以通过后期对分数阈值的控制来消除,因为那些框基本都是低分框)
资源下载地址:https://download.csdn.net/download/sheziqiong/85749883
资源下载地址:https://download.csdn.net/download/sheziqiong/85749883