自学内容网 自学内容网

全卷积网络之FCN图像语义分割

前言

FCN是一种用于图像语义分割的全卷积网络,可以端到端进行像素级预测。

语义分割

图像语义分割是图像处理和机器视觉技术中的重要一环,旨在对图像中的每个像素进行分类。与普通的分类任务不同,语义分割任务输出与输入大小相同的图像,输出图像的每个像素对应了输入图像每个像素的类别。语义分割常被应用于人脸识别、物体检测、医学影像、卫星图像分析、自动驾驶感知等领域。

模型简介

FCN是一种用于图像分割的端到端的深度学习方法,通过全卷积神经网络实现像素级的预测,主要使用卷积化、上采样和跳跃结构等技术来实现图像分割。通过将全连接层转换为卷积层,利用上采样和跳跃结构获取更多的局部和全局信息,得到与原图大小相等的分割结果。

网络特点

全卷积网络不需要全连接层,可以处理任意尺寸的输入。反卷积层可以输出精细的结果,而跳级结构可以结合不同深度层的结果,同时保证网络的鲁棒性和精确性。

数据处理

数据预处理

由于PASCAL VOC 2012数据集中图像的分辨率大多不一致,无法放在一个tensor中,故输入前需做标准化处理。

数据加载

训练集可视化

这段文字描述了在卷积神经网络中进行池化和卷积操作后,通过反卷积实现不同尺寸的输出。FCN-32s、FCN-16s和FCN-8s分别通过反卷积将输出图像的尺寸扩大到与输入图像相同,并在不同层级上融合特征图以实现更精细的语义分割。

训练准备

导入VGG-16部分预训练权重

FCN使用VGG-16作为骨干网络,用于实现图像编码。使用下面代码导入VGG-16预训练模型的部分预训练权重。

损失函数

语义分割是图像分类的一种形式,通过对图像中的每个像素点进行分类来实现。在语义分割中,使用交叉熵损失函数来计算FCN网络输出与mask之间的损失,这里采用了mindspore.nn.CrossEntropyLoss()作为损失函数。

模型训练

模型推理

使用训练的网络对模型推理结果进行展示。

总结

FCN提出了使用全卷积层进行端到端图像分割的方法,相比传统的CNN方法,具有接受任意大小输入图像和更高效的优点。然而,FCN仍存在两个问题:分割结果不够精细,特别是在边界处;而且没有充分考虑像素与像素之间的关系,缺乏空间一致性。


原文地址:https://blog.csdn.net/qq_33816117/article/details/140277573

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!