OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
未找到匹配项
使用CNN进行目标检测

构建

构建“dnn_objectect”模块的示例。详情请参考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 <模型定义文件> <模型权重文件> <测试图像>

以下所有示例均在一台配备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
检测到的目标总数:1,耗时0.168792秒
------
类别:飞机 (aeroplane)
概率:0.845181
坐标:41 116 415 254
------
Train_Dets
<bin_path>/example_dnn_objdetect_obj_detect SqueezeDet_deploy.prototxt SqueezeDet.caffemodel tutorials/images/bus.jpg
检测到的目标总数:1,耗时0.201276秒
------
类别:公交车 (bus)
概率:0.701829
坐标:0 32 415 244
------
Train_Dets
<bin_path>/example_dnn_objdetect_obj_detect SqueezeDet_deploy.prototxt SqueezeDet.caffemodel tutorials/images/cat.jpg
检测到的目标总数:1,耗时0.190335秒
------
类别:猫 (cat)
概率:0.703465
坐标:34 0 381 282
------
Train_Dets
<bin_path>/example_dnn_objdetect_obj_detect SqueezeDet_deploy.prototxt SqueezeNet.caffemodel tutorials/images/persons_mutli.jpg
检测到的目标总数:2,耗时0.169152秒
------
类别:人 (person)
概率:0.737349
坐标:160 67 313 363
------
类别:人 (person)
概率:0.720328
坐标:187 198 222 323
------
Train_Dets

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

更改阈值

默认情况下,此模型将检测结果的置信度阈值设置为0.53。在过滤过程中,会预测许多边界框,您可以通过传递可选参数threshold的值来手动控制过滤阈值,例如:

<bin_path>/example_dnn_objdetect_obj_detect <模型定义文件> <模型权重文件> <测试图像> <阈值>

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

Train_Dets

这似乎并没有什么帮助!

图像分类

example_dnn_objdetect_image_classification <模型定义文件> <模型权重文件> <测试图像>

模型大小为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,预测的类别属于airliner(客机)

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

这属于类别:Egyptian cat(埃及猫)

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

这属于类别:space shuttle(航天飞机)