使用Pytorch实现语义分割Semantic Segmentation

代码 https://github.com/CSAILVision/semantic-segmentation-pytorch

相关论文 https://arxiv.org/pdf/1608.05442.pdf

ubuntu16.04 + pycharm + python3.5 + cuda9.0(显卡1070)

相关库的版本

future        0.18.2  
numpy         1.18.5  
opencv-python 3.4.1.15
Pillow        7.2.0   
pip           19.0.3  
PyYAML        5.3.1   
scipy         1.4.1   
setuptools    40.8.0  
six           1.15.0  
torch         0.4.1   
torchvision   0.2.1   
tqdm          4.55.0  
yacs          0.1.8  

1.在工程路径下创建ckpt文件夹,并将http://sceneparsing.csail.mit.edu/model/pytorch中模型文件夹 ade20k-resnet50dilated-ppm_deepsup 下载后放进去

2.在工程路径下创建测试图片文件夹test_img,将需要测试的图片放进去,如图:

3.将parser的‘’--img参数的相关代码改为:

parser.add_argument(
        "--imgs",
        default='/home/dl/PycharmProjects/MITSS/test_img',
        required=False,
        type=str,
        help="an image path, or a directory name"
    )

4.parser的‘--cfg’参数代码改为:(注意yaml的文件名要和ckpt内的文件名对应)

parser.add_argument(
        "--cfg",
        default="config/ade20k-resnet50dilated-ppm_deepsup.yaml",
        metavar="FILE",
        help="path to config file",
        type=str,
    )

测试结果:

   

  

对大目标的分割不太好

  

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ONNX(Open Neural Network Exchange)是今天最流行的深度学习模型格式之一,被广泛用于将训练好的模型在不同的平台间进行交换和部署。ONNX语义分割是指使用ONNX格式的模型进行图像语义分割任务。 语义分割是计算机视觉领域中的重要任务,其目标是将图像中的每个像素分类为不同的预定义类别。传统的方法通常使用卷积神经网络(CNN)进行语义分割,而ONNX为这些CNN模型提供了一个通用的格式。 使用ONNX进行语义分割有以下几个步骤: 1. 训练模型:使用深度学习框架(如PyTorch、TensorFlow等)训练一个语义分割模型,确保模型能够准确地将图像中的像素分类为需要的类别。 2. 导出为ONNX格式:将训练好的模型导出为ONNX格式。不同的深度学习框架通常都提供了导出模型为ONNX格式的功能,可以通过相应的API或命令来完成。 3. 部署和推理:将导出的ONNX模型部署到目标平台上以进行推理。ONNX模型可以在支持ONNX的平台上进行部署和推理,如移动设备、物联网设备、嵌入式系统等。 4. 图像分割:使用部署的ONNX模型对新的图像进行语义分割。将待分割的图像输入到ONNX模型中,模型将根据其学习到的知识对每个像素进行分类。 ONNX语义分割提供了一种通用的、跨平台的解决方案,使得开发人员能够在不同的设备上部署和使用训练好的语义分割模型。它具有跨平台兼容性、高性能、低资源消耗等优势,因此在计算机视觉领域得到了广泛应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值