我正在尝试使用AlexeyAB暗网检测图像中的对象,但是它仅检测2个或3个对象。它无法检测到小的对象(例如帽子)。我正在使用以下命令:
./darknet detector test ./cfg/coco.data ./cfg/yolov3.cfg /weight_path/ /image_path/
我该怎么办?
答案 0 :(得分:0)
根据AlexeyAB page对于小物体,您可以执行以下操作:
用于训练小物体(图像拍摄后小于16x16 调整为416x416)-设置图层= -1,而不是11 https://github.com/AlexeyAB/darknet/blob/6390a5a2ab61a0bdf6f1a9a6b4a739c16b36e0d7/cfg/yolov3.cfg#L720 并设置stride = 4而不是 https://github.com/AlexeyAB/darknet/blob/6390a5a2ab61a0bdf6f1a9a6b4a739c16b36e0d7/cfg/yolov3.cfg#L717
对于训练大小物体,可以使用修改后的模型:
同样,在训练完成之后,在检测阶段,您可以执行以下操作:
通过在.cfg文件(高度= 608和 宽度= 608)或(高度= 832,宽度= 832)或(32的任何倍数) -这样可以提高精度,并可以检测小物体:link
不必再次训练网络,只需使用已经针对416x416分辨率进行训练的.weights文件
但要获得更高的准确性,您应该使用更高分辨率的608x608或832x832进行训练,请注意:如果发生错误,内存不足
然后在.cfg文件中,您应该增加细分= 16、32或64:link