最详细的语义分割---05利用训练好的模型进行预测

前面已经将模型训练好了,并将权重文件保存在weights文件夹中,接下来可以利用predict脚本对模型做一个简单的预测,看一下模型的预测效果。
在这里插入图片描述

首先就是导入之前训练的模型,并加载权重。注意这里归一化的均值和方差一定要填写你训练时候的均值和方差。然后填写对应的权重路径和图像路径,和预测结果的保存路径。

本次预测的图像为:
在这里插在这里插入图片描述入图片描述

将以上准备工作做好之后就可以运行脚本来进行预测。主要的思路就是将图片归一化之后送入网络,然后对预测结果进行处理,根据要求还原图像。主要的代码如下:
在这里插入图片描述
语义分割的预测结果一般是有N个通道(N为分割的类别数),其中每个通道上的像素点表示该像素点属于这个通道的概率(也就是属于这个类别的概率,因为每个通道都代表着一个类别,例如第1个通道上的所有像素点就表示网络预测那些像素点属于第一个类别,如果这些像素点属于这个类别,那么预测结果的值就比较大,反之若不属于这个类别,网络的预测结果就比较小,接近于0)。我们在通道维度进行softmax处理,就可以将预测结果转换为0-1之间的概率,然后在每个像素的位置取最大值的索引,用于代表这个像素的类别。
需要注意的是,由于pytorch只能按batch处理图像,所以对于单张图像的预测,要对它利用unsqueeze增加一个batch维度,送入网络预测出结果后要利用squeeze去除batch维度。
通过softmax和argmax取通道最大的索引之后,我们获得的预测结果就是和输入图像一样大小的预测图,图中的每个位置的像素点的值是网络对该像素点预测的类别,其数值为0-N(N为网络需要预测的类别),这些数值人眼是无法进行观察的,所以需要对它进行染色,转换成便于观察的彩色图像。对于将预测结果进行后处理的代码主要如下:
在这里插入图片描述
这部分的功能就是将图像根据提供的染色板进行染色,然后保存。具体的代码分析可以看后面的博文,有对染色过程的详细介绍。
预测图像的标签是这个:
在这里插入图片描述
预测结果为:
在这里插入图片描述

由于只训练了一个epoch,哈哈哈哈 预测的结果比较拉跨。多训练几次效果应该会更好!

  • 9
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
天池赛事的零基础入门语义分割-地表建筑物识别任务是一个面向初学者的语义分割竞赛。任务的目标是利用机器学习和计算机视觉技术,对卫星图像中的地表建筑物进行标记和识别。 在这个任务中,参赛者需要使用给定的训练数据集进行模型训练和优化。训练数据集包含了一系列卫星图像和相应的像素级标注,标注了地表建筑物的位置。参赛者需要通过分析训练数据集中的图像和标注信息,来构建一个能够准确地识别出地表建筑物的模型。 参赛者需要注意的是,语义分割是指将图像中的每个像素进行分类,使得同一类别的像素具有相同的标签。因此,在地表建筑物识别任务中,参赛者需要将地表建筑物区域与其他区域进行区分,并正确地进行标记。这对于初学者来说可能是一个挑战,因此需要掌握基本的图像处理和机器学习知识。 参赛者可以根据自己的理解,选择合适的算法和模型来完成这个任务。常见的方法包括卷积神经网络(CNN),通过设计适当的网络结构和训练方式,提高模型的准确性和泛化能力。同时,数据预处理和数据增强技术也是提高模型性能的关键。参赛者可以通过对数据进行增强和扩充,提高模型的鲁棒性和识别能力。 最后,参赛者需要使用训练好的模型对测试数据集进行预测,并生成预测结果。这些预测结果将用于评估参赛者模型的性能和准确度。评估指标通常包括像素级准确度(Pixel Accuracy)和平均交并比(Mean Intersection over Union),参赛者需要根据这些指标来评估和改进自己的模型。 总之,通过参加这个任务,初学者可以通过实践和挑战来提高自己的图像处理和机器学习技能,并掌握语义分割的基本概念和方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值