我训练YoloV3进行物体检测。 我训练达到Avg Recall:批量中的所有图像几乎为1.0,Avg IOU高于0.9。 但是当我使用未包含在训练中的图像进行测试(但它们与那些经过训练的图像非常相似)时,检测阈值需要设置为0.1。 但是,使用训练中使用的那些图像进行测试,其检测率阈值可以设置为高达0.7。 什么可能是错的或我需要在培训中改变什么? 我的cfg培训是
1e3
答案 0 :(得分:1)
在将Yolo用于非正方形图像时遇到了这样的问题。你这样吗 在训练阶段,Yolo调整图像大小以使其达到所需大小(即您的网络中的416x416):https://github.com/pjreddie/darknet/blob/master/src/data.c#L971 但是在测试阶段,它会调整图像保留宽高比的大小,并在图像上添加所需的边框:https://github.com/pjreddie/darknet/blob/master/examples/detector.c#L587(下面是带有笨拙调整大小的替代代码行)。自然,如果输入图像不是方形的,则它们看起来与trainig中的有很大不同:) 我使用https://github.com/AlexeyAB/darknet前叉,并且这个问题已在最近(https://github.com/AlexeyAB/darknet/commit/efaf684cb20b996db0cd6d99d20fabb4bc26859a)那里修复。但似乎,原始的Yolo仍然拥有它。 PS。虽然Yolo是一个很棒的工具,但是它的代码有很多类似的东西,并且在使用它时查看源代码和调试器是一个好主意:)
答案 1 :(得分:0)
取消批处理= 1且细分= 1,并在最后两行添加注释:
# Testing
#batch=1
#subdivisions=1
# Training
batch=16
subdivisions=8