当前位置: 首页 > news >正文

FCN语义分割算法原理与实战

FCN语义分割算法原理与实战

本文若有舛误,尚祈诸君不吝斧正,感激不尽。

前提概要:所使用的材料来源

对应视频材料:FCN语义分割

虽然可能比较简单但是奠定了使用卷积神经网络做语义分割任务的基础。

语义分割:输入图片,经过网络模型,输出原始图片对应像素的类别。

image-20250719071700292

FCN语义分割算法原理

主流常见的计算机视觉任务
  • 图像分类
  • 目标检测
  • 语义分割
  • 实例分割
  • and so on
image-20250718190027668
image-20250719071938433
FCN模型如何进行语义分割

image-20250719100238213

语义分割任务:输出的是矩阵与输入图像大小一致,输出后的每个像素有对应类别的概率,映射原图中对应位置的类别。

FCN模型输出结果解析

image-20250719100950136

假设标注20个类别,则最终输出结果是21个类别,因为还有一个背景类别。

输入HxW -->net --> HxWxC 注意:C(通道数)=分类个数+背景

转置卷积先导

image-20250719104527748

转置卷积的计算过程

image-20250721094430784

输入特征 * 卷积核 = 输出特征


image-20250721095018181

image-20250721100918190

FCN网络版本解析

image-20250722192651058

采取了很多跳转连接方法

全卷积网络为什么可以接收任意大小的输入?

image-20250722192525204

FCN网络的损失函数

损失函数是像素级的分类交叉熵(Pixel-wise Softmax + Cross-Entropy Loss)

image-20250722202837250

语义分割算法模型的评价指标(import!)

常用的包含以下四个:

  • Pixel Accuracy 像素准确率 image-20250722204728505

    • 所有被正确分类的像素所占的比例
    • 特点:直观简单,但对于类分布极度不均衡的数据(如背景占比很大)会有“准确率虚高”的问题

  • Mean Accuracy 平均类别准确率image-20250722204743343

    • 每个类别的像素准确率的平均值
    • 特点:可以平衡类间分布不均的问题,但是对于小类极为敏感

  • Mean IoU 平均交并比image-20250722204800650

    • 每个类别的交并比(IoU)的平均值 (语义分割中最常用的评价指标之一!)
    • 特点:对每一类都很公平,能反映模型在小类上的表现

  • Frequency Weighted IoU 频率加权交并比image-20250722204811309
    • 考虑类别在数据中出现频率的IoU加权平均
    • 特点:类似Mean IU,但考虑了每类像素的数量,更贴近数据真实分布。避免了某些稀有类对平均结果的影响

像素准确率和平均类别准确率的案例:

image-20250722205452259

平均交并比案例:

image-20250722210347951

FCN语义分割网络结构讲解

背景:标准的 FCN 论文(Fully Convolutional Networks for Semantic Segmentation, 2015)本身是基于 VGG 构建的,并没有显式使用 bottleneck 结构,但后续很多工作(比如 DeepLab 系列、FCN-ResNet 等)将 FCN 与 ResNet 等网络结合。所有FCN有一些不同结构的版本。

image-20250729191340914

右侧的图片为整体的流程图,最后输出的大小是480 x 480 x 21,其中的21(通道数)表示21个类别。

Bottleneck:

结构图中的Bottleneck构建了四个基本的层,这四个层就是resnet的主干网络。

核心代码:

image-20250729193847814

膨胀卷积:

亦称为空洞卷积,可以增加卷积核的感受野,同时不增加计算量。核心思想是通过插入空洞卷积扩展卷积核的有效感受野,使其捕获更大范围的上下文信息。

image-20250729194318256

image-20250729194847473

注意:代码中的dilation默认为1则表示普通卷积,大于1的情况下表示膨胀卷积。

原版的Resnet中没有使用膨胀卷积。

FCNHead:

头部层对应代码

image-20250729200028911

http://www.dtcms.com/a/304248.html

相关文章:

  • 八股训练营 40 天心得:一场结束,也是一场新的开始
  • 力扣热题100--------240.搜索二维矩阵
  • LeetCode热题100——46. 全排列
  • 研电赛-基于GD32的纳型无人机AI追踪系统1
  • vue相关的拖拉拽官网
  • minio安装 windows系统
  • C语言第六章函数递归
  • Linux文件归档和备份
  • Qt 多线程网络编程实战
  • iOS 能耗·电池·电量监控实战指南:如何全面查看与优化 App 电能消耗
  • VTK开发笔记(一):VTK介绍,Qt5.9.3+VS2017x64+VTK8.2编译
  • AI驱动的浏览器自动化革命:Claude Code + BrowserCat MCP深度实践指南
  • 【MySQL学习|黑马笔记|Day2】SQL|DML、DGL、DCL,函数,约束
  • Python 打造 Excel 到 JSON 转换工具:从开发到打包全攻略
  • Java后端开发数据校验工作
  • Qt 嵌入式开发环境搭建
  • .NET测试平台Parasoft dotTEST在汽车电子行业的核心功能及应用
  • PCIE4.0/5.0/DDR4/DDR5使用以及布局布线规则-集萃
  • python cli命令 cli工具命令 自定义cli命名 开发 兼容 window、mac、linux,调用示例
  • ath12k_mac_op_tx到数据包发送的完整调用路径
  • Java把word转HTML格式
  • Hexo+Shoka 博客搭建保姆级教程
  • 鸿蒙Harmony-自定义List组件,解决List组件手势滑动点击卡住问题
  • Android JNI 语法全解析:从基础到实战
  • 预过滤环境光贴图制作教程:第二步 - 生成环境贴图图集
  • 音频算法基础(语音识别 / 降噪 / 分离)
  • p5.js 三角形triangle的用法
  • 中国贸促会融媒体中心出海活动负责人、出海星球创始人莅临绿算技术
  • FSMC的配置和应用
  • python类里面的魔法方法