为什么yolo无法检测图像中的所有对象?

时间:2019-10-10 07:50:10

标签: machine-learning image-processing object-detection yolo darknet

我正在尝试使用AlexeyAB暗网检测图像中的对象,但是它仅检测2个或3个对象。它无法检测到小的对象(例如帽子)。我正在使用以下命令:

./darknet detector test ./cfg/coco.data ./cfg/yolov3.cfg /weight_path/ /image_path/

我该怎么办?

1 个答案:

答案 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

  •