tensorflow C++图像分割/目标检测从tensor输出图像

本文详细介绍了如何使用TensorFlow C++在Ubuntu下实现图像分割任务,并确保其结果与Python环境下一致。通过自定义编译库和调整代码逻辑,作者解决了输出图像数据矩阵而非概率值的问题,最终实现了与Python环境下图像分割结果的完美匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前我是由tensorflow C++得到图像分类结果,即得到不同类别的概率,如tensorflow c++ API预测多张图片batch inference_元气少女缘结神的博客-优快云博客 所示,这种方法用在很多地方都没问题,并与python下结果一致,包括小数点后四五位仍旧保持概率一致。

以前对于图像分类的应用中,就是按下面这样从预测后的tensor得到概率:

auto tmap = probabilities.tensor<float, 2>();

但是tensorflow C++中对于图像分割/目标检测这种应用,需要从tensor中输出处理结果即二维图像,以图像分割为例,需要输出经过分割后的图像数据矩阵而非一个概率。这方面资料太少,无法像上面那样写,否则是得不到真正正确的分割后的图像,即使得到了也是错误的或者与python下分割图像不一致。

摸索很久终于搞定,现在与python下图像分割结果已经一致。如下图所示:左边是python输出的分割图像,右边是tensorflow C++输出的分割图像。

 可以看到TF C++图像分割结果与python下TF图像分割结果一致。

 整体代码放在 https://download.youkuaiyun.com/download/wd1603926823/87517527 这个链接中,大家按需查看。我用的是自己编译的tensorflow gpu c++库 ubuntu下tensorflow 2.0/2.5 c++动态库编译gpu版本_元气少女缘结神的博客-优快云博客_tensorflow2.0 ubuntu 后面测试过用tensorflow cpu c++库也一样 opencv4.1无法加载python-cnn模型,编译第三方库libtensorflow_cc.so巨坑_元气少女缘结神的博客-优快云博客

 无论是CPU库还是GPU库 2.0~2.5都可以,主要是按链接 https://download.youkuaiyun.com/download/wd1603926823/86954185 中的代码写就行了。看性能,以前我用的是TF-CPU,绝对是达不到下图的性能的,所以尽量用TF-GPU,别用TF-CPU:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元气少女缘结神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值