我试图解释 yolov3.cfg 文件中不同参数的用途,但是,我找不到关于 ignore_thresh 和 truth_thresh 的任何解释。
我目前(有限的)理解是,它们要么与作为组合边界框的阈值的非最大抑制有关,要么与预测置信度的上限和下限有关。
在网上找不到真正解释参数的人,只有复制粘贴部分配置文件的人。我浏览过https://blog.paperspace.com/tag/series-yolo/ YOLOv3 在 PyTorch 中实现,然而,他们顺利跳过使用和解释这两个参数。
yolov3.cfg 的相关部分如下所示。
[yolo]
mask = 3,4,5
anchors = 10,13, 16,30, 33,23, 30,61, 62,45, ...
classes=80
num=9
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1
我认为这并不重要,但我使用 AlexeyAB 的暗网存储库作为框架。
最佳答案
我还发现了 this :
ignore_thresh = .7 :该参数决定需要计算的IOU误差是否大于thresh,IOU误差在代价函数中没有被夹住。
truth_thresh = 1 :参与计算的IOU阈值的大小。
当预测检测框通过ignore_thresh与ground true IOU重叠时,检测框不参与loss的计算,否则参与。
目的是控制参与损失计算的检测框的尺度。
当ignore_thresh过大,接近1时,则参与。检测框的回归次数会少,容易造成过拟合。
如果ignore_thresh设置的太小,那么参与计算的参与人数就会很大。同时,在进行检测框回归时容易造成欠拟合。
关于threshold - yolov3.cfg中YOLO层中ignore_thresh和truth_thresh的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56199478/