机器学习周记(第三十五周:语义分割)2024.4.15~2024.4.21

目录

摘要

ABSTRACT

1 语义分割基本概念

1.1 数据集格式

​编辑

1.2 语义分割评价指标

1.3 语义分割标注工具

2 转置卷积

3 FCN网络结构基本原理


摘要

  本周主要学习了语义分割的基本概念及其在计算机视觉领域中的应用。了解了语义分割的几种经典网络,如全卷积网络(FCN)、DeepLabV3和LR-ASPP等。深入理解了这些网络的结构和工作原理,特别是FCN网络,它通过替换传统CNN的全连接层为卷积层,实现对图像的像素级分类。此外,还知道了语义分割的常用数据集格式、评价指标以及标注工具,如Labelme和EISeg,并详细讨论了转置卷积的机制和其在神经网络中上采样的应用。最后,学习了FCN网络的结构和原理,理解了其在处理任意尺寸输入图像和保留空间信息方面的优势。

ABSTRACT

  This week, we primarily studied the basic concepts of semantic segmentation and its applications in the field of computer vision. We explored several classical networks used in semantic segmentation, such as the Fully Convolutional Network (FCN), DeepLabV3, and LR-ASPP. We gained a deep understanding of the structure and working principles of these networks, particularly the FCN, which accomplishes pixel-level classification of images by replacing the fully connected layers of traditional CNNs with convolutional layers. Additionally, we learned about common data set formats, evaluation metrics, and annotation tools used in semantic segmentation, such as Labelme and EISeg. We also discussed in detail the mechanism of transposed convolution and its application in upsampling within neural networks. Lastly, we studied the structure and principles of the FCN network, understanding its advantages in handling input images of arbitrary size and preserving spatial information.

1 语义分割基本概念

  语义分割计算机视觉领域中的一种重要技术,它的目标是将图像分割成多个区域,每个区域表示特定的语义类别。这些类别可以是人、车辆、建筑物等,也可以是更具体的对象,如道路、天空、植被等。语义分割任务是将属于同一类别的像素组合在一起,并为每个像素指定一个类别标签。

  语义分割经典网络有全卷积网络(FCN)DeepLabV3以及LR-ASPP等。全卷积网络(FCN)是语义分割中的一种流行架构,它通过替换CNN中的全连接层为卷积层,使得网络能够输出与输入图像同样大小的特征图,实现像素到像素的分类。DeepLabV3是一个先进的深度学习架构,专门用于图像语义分割任务,由谷歌的研究团队开发。这个模型是DeepLab系列的第三个版本,继承并改进了之前版本的一些核心概念,特别是在处理图像中的多尺度信息边界细节上具有显著的优势。LR-ASPP通常用在轻量级的卷积神经网络中,如MobileNetEfficientNet,这些网络本身就是为了减少计算资源的消耗而设计的。在语义分割任务中,输入图像首先通过这种轻量级的基础网络进行特征提取。之后,特征图经过LR-ASPP模块进行进一步处理,模块中包括不同空洞率的空洞卷积和全局平均池化层,以捕获多尺度和全局信息。

1.1 数据集格式

  语义分割数据集中对应的标注图像(.png)用PIL的 Image.open() 函数读取时,默认为 P 模式,即一个单通道的图像。在背景处的像素值为0,目标边缘处用的像素值为255(训练时一般会忽略像素值为255的区域),目标区域内根据目标的类别索引信息进行填充,例如人对应的目标索引是15,所以目标区域的像素值用15填充。

  单通道的图像数据加上调色板之后的结果就可以表示出不同颜色的像素所代表的类别。

1.2 语义分割评价指标

  语义分割常用的评价指标有 Pixel Accuracy(Global Acc)mean Accuracymean IoU。

  假设已知真实标签和预测标签(忽略边缘):

  首先对于真实标签中类别0的部分,将其设置为白色,其余类别设置为灰色。对于预测标签中类别为0的部分,预测正确的设置为绿色,预测错误的设置为红色。最终计算得,当预测标签为0的像素中,真实标签也为0的像素个数为16,真实标签为3的像素个数为2,然后将结果填入表中:

  同理,对预测标签中类别1的像素计算可以得到:

  最终得到的表如下:

  最终得到的各项评价指标如下:

 

1.3 语义分割标注工具

1.Labelme:

下载地址:labelmeai/labelme: Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation). (github.com)

使用参考:

Labelme分割标注软件使用_labelme2voc.py-CSDN博客

2.EISeg:

下载地址:

GitHub - PaddlePaddle/PaddleSeg: Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.

使用参考:

EISeg分割标注软件使用_eiseg使用-CSDN博客

2 转置卷积

  转置卷积(Transposed Convolution),是一种常用于神经网络中的操作,通常用于上采样过程,即从较小的特征图恢复到较大的特征图尺寸。虽然称为“转置卷积”,但实际上它并不是卷积的真正逆操作,而是一种通过卷积核进行上采样的方法。

  转置卷积的运算步骤如下(注意:填充运算的 s 和 p,与卷积运算的 s 和 p 不是一样的):

  卷积核上下左右翻转过程与卷积运算过程如下(注意:卷积运算不需要再次填充,故一般 p 设为0,s 设为1):

  普通卷积过程中,滑动卷积核操作使用 kernel 等效矩阵替代。

  将上图输入 feature map 按行展开,可以得到一个 1 x 16 的矩阵。

  将 kernel 等效矩阵也按行展开,可以得到一个 16 x 4 的矩阵。

  最终普通卷积计算过程可以用如下矩阵乘法表示:

  而转置卷积则是乘上 c 的转置矩阵(注意:此处不是逆运算,不是乘上 c 的逆矩阵):

  将矩阵反推,就能得到对应的 feature map 和 kernel。

  转置卷积反推得到的 feature map 按 s=2,p=0,k=3 进行填充,然后再用之前一个 3 x 3 的 kernel 对其按照 s=1,p=0,k=3 进行卷积,得到的结果和转置卷积的结果一致。

  观察可以发现,上图中绿色的这个 kernel 其实就是之前普通卷积中的 kernel 进行上下左右翻转之后的结果。

3 FCN网络结构基本原理

  在传统的CNN网络中,在最后的卷积层之后会连接上若干个全连接层,将卷积层产生的特征图(feature map)映射成为一个固定长度的特征向量。一般的CNN结构适用于图像级别的分类和回归任务,因为它们最后都期望得到输入图像的分类的概率,如ALexNet网络最后输出一个1000维的向量表示输入图像属于每一类的概率。如下图所示:

  FCN是对图像进行像素级的分类(也就是每个像素点都进行分类),从而解决了语义级别的图像分割问题。与上面介绍的经典CNN在卷积层使用全连接层得到固定长度的特征向量进行分类不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的特征图(feature map)进行上采样,使它恢复到输入图像相同的尺寸,从而可以对每一个像素都产生一个预测,同时保留了原始输入图像中的空间信息,最后在上采样的特征图进行像素的分类。简单的说,FCNCNN的区别在于FCNCNN最后的全连接层换成卷积层,其输出的是一张已经标记好的图(heat map,不同的颜色代表不同的分类),而不是一个概率值。如下图所示:

  对于任一个卷积层,都存在一个能实现和它一样的前向传播函数的全连接层,任何全连接层都可以被转化为卷积层。例如VGG16中,经过一次卷积、四次池化操作后,特征图的尺寸转换为了 7x7x512,然后通过4096个节点和1000个节点的全连接层将特征转化为输出。

  输入FC1的特征是将7x7x512的特征展平为长度为25088的向量,FC1中的每一个节点包含25088个权重参数,通过将权重参数和向量进行加权求和,得到每一个节点的特征。因此FC1的参数个数就是25088x4096=102760448个。

  将FC1转化成卷积层的方法如下。通过一个大小与特征大小相同的卷积核(shape:7x7x512),卷积核的个数与全连接层的节点个数一致,同时 P=0,S=1。由此得到的结果也是可以看作长度为25088的向量,而一个卷积核的参数和一个节点的参数是一样的,因此卷积层的参数与全连接层的参数个数也是一致的。

  同理,FC2也可以转化为一个卷积层,这样VGG16的所有全连接层就都转化为了卷积层。以上就是FCN网络的基本原理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/572105.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

绝地求生【商城更新】WIA联名上架//专属商店下架

大家好,我是闲游盒. 本周商城将在4.24(周三)更新,商城内容更新如下: 上架物品 ▲W.I.A联名皮肤大礼包 小礼包如下: 包含3套衣服以及MINI、DBS的联名皮肤,3个头饰还挺有特色的,你喜欢…

Edge浏览器下载文件提示 “无法安全下载” 的解决方法

提示如下: 虽然我们可以通过 "保留" 进行下载,但是每次需要选择,比较麻烦 解决方法: 1、打开注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft 2、创建2个 "项" Edge\InsecureContentAllowedForUrls…

目前主流的负载均衡器

客户端负载均衡器 Ribbon 客户端根据自己的请求进行负载均衡Ribbon就属于这一类 Ribbon可以帮助你在调用这些服务时进行负载均衡。具体来说,当你通过Ribbon进行服务调用时,它可以根据配置的负载均衡策略(如轮询、随机、最少并发数等&#xff…

机器学习笔记(一)基本概念

一、浅谈机器学习 1.1 机器学习简介 机器学习目的并不是为了得到最后的运算结果,而是对计算过程进行分析,总结出一套运算的规则。只要数据量足够多,运算规则就越准确。最后可以根据这套规则对没有通过验证的数据进行预算,得到预算…

Linux编译和NXP官方系统移植

文章目录 一、Linux安装环境配置二、Linux编译流程三、单个.dtb文件编译方法1.修改顶层makefile2.编译设备树文件3.验证 四、NXP官方Linux系统移植1.将NXP官方Linux系统导入到Ubuntu系统中2.解压系统3.编译系统4.验证5.在NXP官方系统中添加自己的板子 五、 CPU 主频和网络驱动修…

数据赋能(67)——概念:数据变现

数据变现是指通过某种方式将数据转化为实际的收益或绩效。数据变现的方式多种多样,可以根据不同的应用场景和业务需求进行选择和组合。 数据变现的主要方式如下: 数据销售与租赁 组织直接出售原始数据或经过处理、整合后的数据给需要的组织或个人。组织…

视频高效批量剪辑视频,支持批量给视频进行添加新封面,让视频制作效率飙升

在当下这个视频内容爆炸的时代,无论是企业宣传、产品推广还是个人创作,高质量、高效率的视频制作都显得尤为重要。但是,传统的视频剪辑方式往往耗时耗力,效率低下,让人头疼不已。如何快速、高效地制作、编辑和推广&…

ETL工具-nifi干货系列 第十七讲 nifi Input PortOut Port 实战教程

1、端口(Port),包含输入端口(Input Port)和输出端口(Out Port ) 使用一个或多个处理组构建的数据流需要一种方式将处理组连接到其他数据流组件。 处理组和处理组之间可以通过使用端口来进行连…

OpenCV实现霍夫变换

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV 如何实现边缘检测器 下一篇 :OpenCV 实现霍夫圆变换 目标 在本教程中,您将学习如何: 使用 OpenCV 函数 HoughLines()和 HoughLinesP()检测图像中的线条。…

YASKAWA安川机器人DX100轴板维修故障细节分享

随着科技的日新月异,机器人在工业生产中扮演的角色愈发重要。而作为机器人的“大脑”——电路板,其稳定运作对整个系统的可靠性至关重要。面对可能出现的YASKAWA安川机器人DX100轴板故障,如何快速、准确地诊断问题并予以解决呢?下…

数据结构之常见排序算法

目录 一、排序中的概念 二、常见排序算法--升序 1、插入排序 (1)直接插入排序 (2)希尔排序 2、选择排序 (1)单指针选择排序 (2)双指针选择排序 (3)堆…

日志集中审计系列(5)--- LogAuditor接收USG设备日志

日志集中审计系列(5)--- LogAuditor接收USG设备日志 前言拓扑图设备选型组网需求配置思路操作步骤结果验证前言 近期有读者留言:“因华为数通模拟器仅能支持USG6000V的防火墙,无法支持别的安全产品,导致很多网络安全的方案和产品功能无法模拟练习,是否有真机操作的实验或…

文旅强势复苏 苏州金龙新V系客车助力湖北“文旅升级”

2024年4月24日,苏州金龙携多款新V系客车登陆素有九省通衢之称的湖北武汉,在当地文旅行业,刮起一场客运品质升级之风。作为“五一”出行热门城市、自然人文资源丰富的旅游大省,武汉乃至湖北旅游市场堪称客运产品的试金石&#xff0…

赵磊老师:共同的利益和文化理念契合才是两项留人的重要法宝

优秀人才对企业的发展与影响毋庸置疑,优秀人才的流失往往直接带来业绩的损失,甚至导致企业从此一蹶不振,当然一个组织也需要大量的执行者,通过执行者的辛劳工作,使其为客户创造价值的想法变成产品,变成产生…

shellshock题解思路分享

shellshock 考查bash远程任意代码执行漏洞。 可以看到含有bash文件,使用以下命令测试bash是否受shellshock影响 env x() { :;}; echo test ./bash -c:test受影响,执行bash远程任意代码执行漏洞 env x() { :;}; /bin/cat flag ./shellshock具体可以看…

海南封关怎么看?win战略会任志雄解析

今年海南自由贸易港建设也进入了新阶段:将在2025年年底前适时启动全岛封关运作,封关后的海南将以全新姿态迎接更广泛的发展机遇。 封关在即,企业有何感受?还有哪些准备工作?封关后的海南将呈现怎样的状态?近日,红星资本局记者深入实地了解海南自贸港如何成型起势。 利好当…

劳保工具佩戴监测识别摄像机

随着工业生产技术的不断进步和劳动保护意识的提高,劳保工具的佩戴已成为维护工人安全健康的重要环节。为了更好地监测和识别工人是否正确佩戴劳保工具,以及工作场所是否存在安全隐患,智能劳保工具佩戴监测识别摄像机应运而生。这种摄像机结合…

嵌入式Linux driver开发实操(十八):Linux音频ALSA开发

应用程序程序员应该使用库API,而不是内核API。alsa库提供了内核API 100%的功能,但增加了可用性方面的主要改进,使应用程序代码更简单、更美观。未来的修复程序或兼容性代码可能会放在库代码中,而不是放在内核驱动程序中。 使用ALSA API和libasound进行简单的声音播放: /*…

遥控车模的电机控制器

一、项目简介 基于CH32V103单片机结合RTT开发一套无刷电机无感矢量控制器,使用无感矢量控制无刷电机具有噪音小、控制线性度好、电机效率高等优点。使用三相全桥电路将直流电转换为交流电驱动无刷电机,利用串联电阻和差分采样电路采集UV两相的电流信号。…

智慧码头港口:施工作业安全生产AI视频监管与风险预警平台方案

一、建设思路 随着全球贸易的快速发展,港口作为连接海洋与内陆的关键节点,其运营效率和安全性越来越受到人们的关注。为了提升港口的运营效率和安全性,智慧港口视频智能监控系统的建设显得尤为重要。 1)系统架构设计 系统应该采…