OpenCV134 OpenCV DNN ENet实现图像分割

134 OpenCV DNN ENet实现图像分割

代码

作者预训练的网络模型暂时无法下载,后续补充实验及代码

实验结果

解释

OpenCV DNN支持ENet网络模型的图像分割,这里采用的预先训练的ENet网络模型下载地址如下:
GitHub - e-lab/ENet-training
基于Cityscapes数据集的训练预测结果 – 见图一

该模型是torch模型,加载的API为:

1
retval = cv.dnn.readNetFromTorch(model[, isBinary[, evaluate]])
  • model参数表示二进制的模型权重文件
  • isBinary 默认为true
  • evaluate 默认为true,指定网络的测试阶段。如果为true,则类似于Torch中的validate()方法。

跑ENet网络的时候,OpenCV4.0.x与DLIE一起编译之后,当使用
DNN_BACKEND_INFERENCE_ENGINE,作为推断后台的时候,会得到上采样最大池化错误
切换为DNN_BACKEND_OPENCV 则torch模型正常加载!

在这里插入图片描述


所有内容均来源于贾志刚老师的知识星球——OpenCV研习社,本文为个人整理学习,已获得贾老师授权,有兴趣、有能力的可以加入贾老师的知识星球进行深入学习。
在这里插入图片描述