OpenCV  4.10.0
开源计算机视觉
加载中...
搜索中...
无匹配项
使用卷积神经网络进行目标检测

构建

构建“dnn_object”模块的示例。有关详细信息,请参阅 OpenCV 构建教程。启用 BUILD_EXAMPLES=ON CMake 选项,并构建以下目标(Linux)

  • example_dnn_objdetect_image_classification
  • example_dnn_objdetect_obj_detect

opencv_extra/dnn_objdetect 下载权重文件和模型定义文件

目标检测

example_dnn_objdetect_obj_detect <model-definition-file> <model-weights-file> <test-image>

以下所有示例均在具有 Intel(R) Core(TM)2 i3-4005U CPU @ 1.70GHz 的笔记本电脑上运行(无 GPU)。

该模型非常快,平均只需 0.172091 秒即可预测多个边界框。

<bin_path>/example_dnn_objdetect_obj_detect SqueezeDet_deploy.prototxt SqueezeDet.caffemodel tutorials/images/aeroplane.jpg
检测到的目标总数:在 0.168792 秒内检测到 1
------
类别:飞机
概率:0.845181
坐标:41 116 415 254
------
Train_Dets
<bin_path>/example_dnn_objdetect_obj_detect SqueezeDet_deploy.prototxt SqueezeDet.caffemodel tutorials/images/bus.jpg
检测到的目标总数:在 0.201276 秒内检测到 1
------
类别:公交车
概率:0.701829
坐标:0 32 415 244
------
Train_Dets
<bin_path>/example_dnn_objdetect_obj_detect SqueezeDet_deploy.prototxt SqueezeDet.caffemodel tutorials/images/cat.jpg
检测到的目标总数:在 0.190335 秒内检测到 1
------
类别:猫
概率:0.703465
坐标:34 0 381 282
------
Train_Dets
<bin_path>/example_dnn_objdetect_obj_detect SqueezeDet_deploy.prototxt SqueezeDet.caffemodel tutorials/images/persons_mutli.jpg
检测到的目标总数:在 0.169152 秒内检测到 2
------
类别:人物
概率:0.737349
坐标:160 67 313 363
------
类别:人物
概率:0.720328
坐标:187 198 222 323
------
Train_Dets

继续使用其他图像运行该模型!

更改阈值

默认情况下,此模型对信心阈值设置为 0.53 的检测进行阈值化。在过滤期间,有许多预测的边界框,你可以通过传递可选参数 threshold 的值来手动控制要进行阈值化的内容,如下所示

<bin_path>/example_dnn_objdetect_obj_detect <model-definition-file> <model-weights-file> <test-image> <threshold>

例如将阈值更改为 0.0,会产生以下结果

Train_Dets

这似乎没有多大帮助!

图像分类

example_dnn_objdetect_image_classification <model-definition-file> <model-weights-file> <test-image>

模型的大小为 4.9MB,只需 0.136401 秒即可对图像进行分类。

对示例运行该模型会产生以下结果

<bin_path>/example_dnn_objdetect_image_classification SqueezeNet_deploy.prototxt SqueezeNet.caffemodel tutorials/images/aeroplane.jpg
最佳类别索引:404
耗时:0.137722
概率:77.1757

通过查阅 synset_words.txt,预测的类别属于 客机

<bin_path>/example_dnn_objdetect_image_classification SqueezeNet_deploy.prototxt SqueezeNet.caffemodel tutorials/images/cat.jpg
最佳类别索引:285
耗时:0.136401
概率:40.7111

所属类别:埃及猫

<bin_path>/example_dnn_objdetect_image_classification SqueezeNet_deploy.prototxt SqueezeNet.caffemodel tutorials/images/space_shuttle.jpg
最佳类别索引:812
耗时:0.137792
概率:15.8467

所属类别:航天飞机