如何运行“ssd_object_detection.cpp”?

时间:2018-02-20 12:32:19

标签: c++ opencv deep-learning

我正在尝试使用深度学习来学习对象检测,而我实际上是在尝试运行示例代码“ssd_object_detection.cpp”。在此代码中,必须输入以下参数:

const char* params
= "{ help           | false | print usage         }"
"{ proto          |       | model configuration }"
"{ model          |       | model weights       }"
"{ camera_device  | 0     | camera device number}"
"{ video          |       | video or image for detection}"
"{ min_confidence | 0.5   | min confidence      }";

按照此代码的说明,我从此网站下载了一些预训练模型:https://github.com/weiliu89/caffe/tree/ssd#models \ n 所以,我获得了一个包含下一个档案的文件夹:

  • deploy.prototxt
  • finetune_ssd_pascal.py
  • solver.prototxt
  • test.prototxt
  • train.prototxt
  • VGG_VOC0712Plus_SSD_300x300_ft_iter_160000.caffemodel

然后,我将所有这些数据复制到我的项目文件夹,并尝试使用以下代码:

const char* params
= "{ help           | false | print usage         }"
"{ proto          |test.prototxt| model configuration }"
"{ model          |VGG_VOC0712Plus_SSD_300x300_ft_iter_160000.caffemodel| model weights       }"
"{ camera_device  | 0     | camera device number}"
"{ video          |MyRoute...| video or image for detection}"
"{ min_confidence | 0.5   | min confidence      }";

但是在输出中我得到了以下错误:

  

[libprotobuf错误   C:\ build \ master_winpack-build-win64-vc14 \ opencv \ 3rdparty \ protobuf \ src \ google \ protobuf \ text_format.cc:298]解析文本格式时出错opencv_caffe.NetParameter:13:18:消息   类型“opencv_caffe.TransformationParameter”没有命名的字段   “resize_param”。 OpenCV错误:未指定错误(FAILED:   ReadProtoFromTextFile(param_file,param)。

     

无法解析NetParameter   file:test.prototxt)在cv :: dnn :: ReadNetParamsFromTextFileOrDie,file   C:\构建\ master_winpack-集结Win64上-VCl 4 \的OpenCV \模块\ DNN \ SRC \ CAFFE \ caffe_io.cpp,   第1145行

我使用了所有的.prototxt档案,并尝试了其他可行的解决方案,但我仍然无法运行示例代码。

有人可以解释一下我应该在这段代码中写什么参数,或者我做错了什么?

抱歉我的英语不好,并提前致谢。

0 个答案:

没有答案