构建
构建“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
所属类别:航天飞机