【问题标题】:Poor object detection with OpenCV DNN and YOLOv3OpenCV DNN 和 YOLOv3 的目标检测不佳
【发布时间】:2019-12-31 22:42:12
【问题描述】:

OpenCV 的 DNN 模块带有 object detection sample code。

我从训练它的同一 COCO 数据集中下载了 YOLOv3 模型和示例图像:

wget https://pjreddie.com/media/files/yolov3.weights  
wget https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolov3.cfg
wget http://farm8.staticflickr.com/7272/7745390240_0dcf7d107d_z.jpg

以下是场景中标记的对象:

然后我运行示例代码来检测未标记图像中的对象:

python object_detection.py --model yolov3.weights --config yolov3.cfg --height 320 --input 7745390240_0dcf7d107d_z.jpg 

这会在它检测到的对象周围绘制矩形。但是检测基本上是垃圾。


如果我直接使用 Darknet,它的标签如下:

【问题讨论】:

    标签: opencv computer-vision object-detection yolo


    【解决方案1】:

    缺少的参数似乎是来自this tutorial 的--scale 0.00392 --rgb。

      --scale SCALE         Preprocess input image by multiplying on a scale
                            factor. (default: 1.0)
      --rgb                 Indicate that model works with RGB input images
                            instead BGR ones. (default: False)
    

    这些作为参数传递给cv2.dnn.blobFromImage。

    我认为scale 实际上并没有调整输入图像的大小,而是将图像的每个元素转换为 [0.0, 1.0] 范围内的浮点数。 0.00392 约为 1/255。

    【讨论】:

      猜你喜欢
      • 2019-04-20
      • 2021-04-09
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      • 2019-12-01
      • 2013-12-09
      相关资源
      最近更新 更多