Jon*_*nas 5 threshold darknet yolo
我试图解释 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
Run Code Online (Sandbox Code Playgroud)
我认为这并不重要,但我使用 AlexeyAB 的 darknet 存储库作为框架。
我还发现了这个:
ignore_thresh = .7:该参数决定是否需要计算IOU误差大于thresh,并且IOU误差不被捏在成本函数中。
true_thresh = 1:参与计算的IOU阈值大小。
当预测的检测框通过ignore_thresh与地面真实IOU重叠时,检测框不参与loss的计算,否则参与loss的计算。
目的是控制参与损失计算的检测框的规模。
当ignore_thresh太大,接近1时,则参与检测框的回归次数会较少,很容易造成过拟合。
如果ignore_thresh设置得太小,那么参与计算的参与者数量就会很大。同时,在进行检测框回归时,很容易造成欠拟合。