VS2015+OpenCV3.4.5+QT5.12+WINDOWS10用c++调用tensorflow训练好的.pb文件图像检测

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_31806049/article/details/88577846

想要快速做图像检测,但不想自己训练库,了解到现在可以直接掉tensorflow的模型。于是做了这个,原始是qt4,vs2010,但想要调用tensorflow模型,opencv必须在3.3版本以上,而这个版本以上必须VS2015以上来支持,同时vs2015必须qt5.7以上来配合显示。经过一系列的查找资料,知道了各个版本的限制。tensorflow模型又必须在VS中的64位下调试。最终确定下来开发环境如标题所示。经过一个多星期的环境配置,终于配置成功了(中间各种问题阻挠着我)。

https://www.jianshu.com/p/d3607ccb72a8

按照上述链接做了一遍。各种调试解决bug后最终始终报错如下

OpenCV(3.4.1) Error: Unspecified error (Const input blob for weights not found) in cv::dnn::experimental_dnn_v4::`anonymous-namespace'::TFImporter::getConstBlob, file C:\build\master_winpack-build-win64-vc14\opencv\modules\dnn\src\tensorflow\tf_importer.cpp, line 579


    出现这个问题,可能是你的.pb模型文件与.pbtxt文件不对应       这个是在下面链接下找到的答案

https://blog.csdn.net/guyuealian/article/details/80570120

这里提了一下常见的错误和坑。。然后我从这个思路出发,找了上面这边文章的.pb文件和pbtxt文件来尝试。尝试了几个以后确实其他都可以实现,只有第一个文字那对文件不匹配。但试了这几个提到的效果都很差,图像不出框。原始图像和最终图像一个样子。ssd_inception_v2_coco_2017_11_17/frozen_inference_graph.pb和ssd_inception_v2_coco_2017_11_17.pbtxt这对就是没有效果,我把confidenceThreshold参数由原来的0.2改成了0.05以后面前出现了框框,但效果仍然很差,但这就说明程序是没问题的,是训练模型不合适。最终,我换成了下面这对文件效果还凑合。

ssd_mobilenet_v1_coco_11_06_2017/frozen_inference_graph.pb和ssd_mobilenet_v1_coco.pbtxt

这对检测出大概,虽然也有误差,但相比之前的那几个模型要好很多。

https://blog.csdn.net/xingchenbingbuyu/article/details/78416887

上面的链接我也参考了一下。

最后为了满足leader的要求我又在qt上实现了简单的显示。至少这几个开发环境算是搭建成功了。

 

PS:这里没有用到python的东西。我之前还下了Python的安装环境,越搞越麻烦,后来只是调用了python训练好的tensorflow模型生成的pb文件,直接在VS环境下编写代码就可以了。

还有遗留问题没有解决,网上好多资料得到的训练好的模型是四个文件,ckpt文件等,而这里我们用的是pb文件,那么怎么将那四个文件转换成我们要的pb文件和pbtxt文件,我还是没找到好的解决方法,网上查到的资料很乱。理论上有资料说ckpt文件是暂时的缓存文件,而pb才是真正的固化文件。而我是python门外汉,也不想自己搞的面太错综复杂了。留给大神给我答案吧,或者给我个链接也行。

最终结果以后有机会再展示。。https://blog.csdn.net/GAN_player/article/details/77586489 我是参考这个博文成功将ckpt文件转成pb,并测试成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值