OpenCV自带dnn的Example研究(1)— classification

这个博客系列,简单来说,今天我们就是要研究
508489-20190428093352390-2004914984.png
6个文件,看看在最新的OpenCV中,它们是如何发挥作用的。
在配置使用的过程中,需要注意使用较高版本的VS避免编译器兼容问题;由于DNN程序的运行依赖于训练成功的模型,因此需要预先下载准备;此外如果出现各种报错,需要对症下药。
此外,由于需要使用common.hpp文件,所以需要引入dnn目录到include中
508489-20190428093353010-2000246347.png
用到的数据集都放在:
链接:https://pan.baidu.com/s/1WPoXU3VodErPHZo6Yc21xA 
提取码:01no 
如果你没找到,那一定是我忘了。
=====================================================================================友善的分割线============================
注意,这个例子是有官方文档的

它推荐的调用的模式为:
./example_dnn_classification --model=bvlc_googlenet.caffemodel --config=bvlc_googlenet.prototxt --width=224 --height=224 --classes=classification_classes_ILSVRC2012.txt --input=space_shuttle.jpg --mean="104 117 123"

从参数中,我们可以看出,这里的模型为caffemodel,模型的参数配置为prototxt,而 classification_classes_ILSVRC2012.txt应该是和训练类型相关的,它长这样:
508489-20190428093353617-1926652524.png

按照文档中说明,打开参数配置
508489-20190428093354041-952136691.png
在当前项目属性页->调试->命令参数下面:
--model=e:/template/bvlc_googlenet.caffemodel --config=e:/template/bvlc_googlenet.prototxt --width=224 --height=224 --classes=e:/template/classification_classes_ILSVRC2012.txt --input=E:/template/dogvscat1K/cat.1.jpg --mean="104 117 123" --rgb
识别的结果,肯定是没有问题的。我没看看tabby cat这个来自哪里?
508489-20190428093354428-489887737.jpg
就来自上面的分类文件。
508489-20190428093354659-524683440.png

508489-20190428093354991-1759019137.jpg
508489-20190428093355546-1039613433.jpg
肯定是有正确的也会有失败的。我相信随着模型的不断完善,特别是对特定领域内数据的专门训练,肯定在判断的结果上能够有提升的方法。
仅仅凭借几张照片还看不出结果,必须依据科学的方法来做。

代码中
mean subtraction (-104, -117, -123) for each blue, green and red channels 
这句可能和项目本身是有关系的,这里先不做追究。
 




附件列表

 

转载于:https://www.cnblogs.com/jsxyhelu/p/10782154.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值