0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

图像分割算法原理及工作流程

新机器视觉 来源:工业新视力 2023-08-18 15:48 次阅读

算法原理

基于深度学习的图像分割算法属于图像处理领域最高层次的图像理解范畴。所谓图像分割就是把图像分割成具有相似的颜色或纹理特性的若干子区域,并使它们对应不同的物体或物体的不同部分的技术。这些子区域,组成图像的完备子集,又相互之间不重叠。

1、传统分割方法

图像分割问题最早来自于一些文本的分割,医学图像分割。在文本图像分割中,需要切割出字符,常见的问题包括指纹识别,车牌识别;由于这一类问题比较简单,因为基于阈值和聚类的方法被经常使用。基于阈值和聚类的方法虽然简单,但因此也经常失效。以graphcut为代表的方法,是传统图像分割里面鲁棒性最好的方法。Graphcut的基本思路,就是建立一张图,其中以图像像素或者超像素作为图像顶点,然后移除一些边,使得各个子图不相连从而实现分割。图割方法优化的目标是找到一个切割,使得移除边的和权重最小。

2、深度学习方法:

全卷积神经网络(Fully connected Network)是第一个将卷积神经网络正式用于图像分割问题的网络。一个用于分类任务的深度神经网络通过卷积来不断抽象学习,实现分辨率的降低,最后从一个较小的featuremap或者最后的特征向量,这个featuremap通常为55或者77等大小。而图像分割任务需要恢复与原尺度大小一样的图片,所以,需要从这个featuremap恢复原始图片尺寸,这是一个上采样的过程。由于这个过程与反卷积是正好对应的逆操作,所以我们通常称其为反卷积。代表算法有FCN、Unet、Deeplab等。

3、深度学习算法较之传统分割算法的优势:

(1)学习能力强:深度学习自动提取低层次或者高层次特征,具有较强的学习能力。

(2)覆盖范围广,适应性好:深度学习的神经网络层数很多,宽度很广,理论上可以映射到任意函数,所以能解决很复杂的问题。

(3)数据驱动,上限高:深度学习高度依赖数据,数据量越大,它的表现就越好。在图像识别、面部识别、NLP 等部分任务甚至已经超过了人类的表现。同时还可以通过调参进一步提高它的上限。

(4)可移植性好:由于深度学习的优异表现,有很多框架可以使用,例如TensorFlow、Pytorch。这些框架可以兼容很多平台。

传统分割方法中特征提取主要依赖人工设计的提取器,需要有专业知识及复杂的调参过程,同时每个方法都是针对具体应用,泛化能力及鲁棒性较差。存储开销大,计算效率低下,识别速度较慢。

深度学习主要是数据驱动进行特征提取,根据大量样本的学习能够得到深层的、数据集特定的特征表示,其对数据集的表达更高效和准确,所提取的抽象特征鲁棒性更强,泛化能力更好,并且可以是端到端的。

4、Unet算法

本项目使用了基于深度学习的Unet网络:Unet网络由两部分组成,前半部分作用是特征提取(基础模型为MobileNet),后半部分是上采样。在一些文献中也把这样的结构叫做编码器-解码器结构。由于此网络整体结构类似于大写的英文字母U,故得名Unet。

wKgaomTfIrGAIWiIAAB7IHJoruY952.jpg

Unet与其他常见的分割网络有一点非常不同的地方:Unet采用了完全不同的特征融合方式:拼接,Unet采用将特征在channel维度拼接在一起,形成更厚的特征。而FCN融合时使用的对应点相加,并不形成更厚的特征。

所以语义分割网络在特征融合时有两种办法:

(1)FCN式的对应点相加,对应于TensorFlow中的tf.add()函数;

(2)Unet式的channel维度拼接融合,对应于TensorFlow的tf.concat()函数,比较占显存。

除了上述新颖的特征融合方式,Unet还有以下几个优点:

(1)5个pooling layer实现了网络对图像特征的多尺度特征识别。

(2)上采样部分会融合特征提取部分的输出,这样做实际上是将多尺度特征融合在了一起,以最后一个上采样为例,它的特征既来自第一个卷积block的输出(同尺度特征),也来自上采样的输出(大尺度特征),这样的连接是贯穿整个网络的,可以看到上图的网络中有四次融合过程,相对应的FCN网络只在最后一层进行融合。

数据集准备

深度学习模型的精确度一般依赖于数据集的大小,CNN要求用于训练的数据集足够大,能够覆盖问题域中所有已知可能出现的问题。设计CNN的时候,数据集包含三个子集:训练集、测试集、验证集。

1、训练集:包含问题域中的所有数据,并在训练阶段用来调整网络的权重。

2、测试集:在训练的过程中用于测试网络对训练集中未出现数据的检测性能,根据网络在测试集上的性能情况,网络的结构可能需要做出调整,或者增加训练循环次数。

3、验证集:验证集中的数据统一应该包含在测试集和训练集中没有出现过的数据,用于在网络确定之后能够更好的测试和衡量网络的性能。

数据预处理与参数设置

1、数据预处理

为了加速训练的收敛速度,一般都会采用一些数据预处理技术,其中包括:去除噪声、输入数据降维、删除无关数据等。

数据的平衡化在目标检测问题中异常重要,一般认为训练集中的数据应该相对于标签类别近似于平均分布,也就是每一个类别标签所对应的数据集在训练集中是基本相等的,以避免网络过于倾向于表现某些分类的特点。

为了平衡数据集,应该移除一些过度富余的分类中的数据,并相应补充一些相对样例稀少的分类中的数据。还有一个方法就是复制一部分这些样例稀少的数据,并在这些数据中加入随机噪声。

2、数据归一化

将数据规则化到统一的区间(如[0,1])中,可以防止数据中存在较大数值的数据造成数值较小的数据对于训练效果减弱甚至无效化。一个常用的方法是将输入和输出数据按比例调整到一个和激活函数相对应的区间。

3、网络权值初始化

CNN的初始化主要是初始化卷积层和输出层的权值和偏置。网络权值初始化就是将网络中的所有连接权重赋予一个初始值,如果初始权重向量处在误差曲面的一个相对平缓的区域的时候,网络训练的收敛速度可能会很缓慢,一般情况下网络的连接权重和偏置被初始化在一个具有0均值的相对小的区间内均匀分布。

4、学习速率

如果学习速率选取的较大,则会在训练过程中较大幅度的调整权值,从而加快网络的训练速度,但是这会造成网络在误差曲面上搜索过程中频繁抖动,且有可能使得训练过程不能收敛。如果学习速率选取的较小,能够稳定的使得网络逼近于全局最优点,但也可能陷入一些局部最优,并且参数更新速度较慢。自适应学习率设定有较好的效果。

5、收敛条件

训练误差、误差梯度、交叉验证等可以作为停止训练的判定条件。一般来说,训练集的误差会随着网络训练的进行而逐步降低。

标注

对训练集和测试集的数据使用专业的标注工具进行标注,本项目标注图片数量为5000张。

训练流程

训练过程分为两个阶段:前向传播阶段和后向传播阶段

前向传播阶段:

1、从样本集中取N个样本,输入网络。

2、计算相应的实际输出,在此阶段信息从输入层经过逐级变换,传送到输出层。

后向传播阶段:

1、计算实际输出与相应的理想输出的误差。

2、按照极小化误差的方法调整权值矩阵。

具体训练过程如下:

1、选定训练组,从样本集中分别随机地寻求N个样本作为训练组。

2、将各权值、偏置,设置成小的接近于0的随机值,并初始化精度控制参数和学习率。

3、从训练组中取一个输入模式加到网络,并给出它的目标输出向量。

4、计算出中间层输出向量,计算出网络的实际输出向量。

5、将输出向量中的元素与目标向量中的元素进行比较,计算出输出误差;对于中间层的隐单元也需要计算出误差。

6、依次计算出各权值的调整量和偏置的调整量。

7、调整权值和调整偏置。

8、当经历M次迭代后,判断指标是否满足精度要求,如果不满足,则返回步骤3,继续迭代;如果满足就进入下一步。

9、训练结束,将权值和偏置保存在模型文件中。这时可以认为各个权值已经达到稳定,模型已经形成。再一次进行训练时,直接从模型文件中导出权值和偏置进行训练,不需要进行初始化。

识别流程

利用训练好的模型对待检测的图片进行缺陷检测的具体流程大致为:

1、将整张图片传入模型进行下采样,得到特征图。

2、将特征图进行上采样且结合下采样特征图得到与原图尺寸一样的mask图。

3、对mask图进行可视化即可看到测试结果。

模型优化

针对识别结果可以通过以下方法优化模型:

1、增加样本数量。

2、丰富缺陷种类和平衡每种缺陷的样本数量。

3、调整模型参数。

来源:工业新视力

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4716

    浏览量

    99747
  • 图像分割算法

    关注

    0

    文章

    3

    浏览量

    6301
  • 分割算法
    +关注

    关注

    0

    文章

    10

    浏览量

    7183
  • 深度学习
    +关注

    关注

    73

    文章

    5414

    浏览量

    120399

原文标题:图像分割算法原理及工作流程

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于GAC模型实现交互式图像分割的改进算法

    的交互式 图像 分割方法。如何自动提供数量少而有效的候选边界点是本文研究的重点。1 基于GAC模型的交互式 图像 分割 算法  基于GAC模型的交互式
    发表于09-19 09:19

    基于改进遗传算法图像分割方法

    基于改进遗传 算法图像 分割方法提出一种应用于 图像 分割的改进遗传 算法,
    发表于09-19 09:36

    AndroidWifi工作流程

    AndroidWifi 工作流程
    发表于11-02 10:52

    AndroidWifi工作流程

    AndroidWifi 工作流程
    发表于09-25 11:17

    AndroidWifi工作流程

    AndroidWifi 工作流程
    发表于11-08 09:07

    免疫克隆SAR图像分割算法

    由于存在相干斑噪声的影响,使得常规的 图像 分割技术应用于SAR 图像时,效果往往较差。该文提出一种新人工免疫系统SAR 图像 分割
    发表于11-13 11:36 16次下载

    一种改进的图像分割算法分析

    针对传统阈值 分割 算法的一些缺点,通过将数字形态学与阈值 分割 算法相互结合提出了一种改进的阈值 分割 算法
    发表于11-03 09:47 3次下载
    一种改进的<b class='flag-5'>图像</b><b class='flag-5'>分割</b><b class='flag-5'>算法</b>分析

    基于像素聚类进行图像分割算法

    B型心脏超声 图像 分割是计算心功能参数前重要的一步。针对超声 图像的低分辨率影响 分割精度及基于模型的 分割 算法
    发表于12-06 16:44 0次下载
    基于像素聚类进行<b class='flag-5'>图像</b><b class='flag-5'>分割</b>的<b class='flag-5'>算法</b>

    一种新的彩色图像分割算法

    本文提出一种新的结合分水岭与种子区域生成、区域合并的彩色 图像 分割 算法。首先将RGB颜色空间转换成HSI间,应用分水岭 算法图像进行初始化
    发表于12-14 14:41 1次下载
    一种新的彩色<b class='flag-5'>图像</b><b class='flag-5'>分割</b><b class='flag-5'>算法</b>

    图像分割图像边缘检测

    图像 分割的研究多年来一直受到人们的高度重视,至今提出了各种类型的 分割 算法。Pal把 图像 分割
    发表于12-19 09:29 1.1w次阅读
    <b class='flag-5'>图像</b><b class='flag-5'>分割</b>和<b class='flag-5'>图像</b>边缘检测

    测试工程师工作流程有哪些

    测试工程师的 工作流程,与公司的整体 工作流程,项目的测试要求等因素相关。本文主要讨论测试工程师的一般 工作流程
    的头像 发表于10-03 16:56 7485次阅读

    工作流程图怎么用?有哪些绘制工作流程图的软件

    工作流程图是清晰地展示 工作中各个环节的 流程图图示,主要用于 工作活动和效率的管理。 工作流程图这种图示方法具有直观描述性、简洁性、可操作性和指导
    的头像 发表于07-28 14:22 3350次阅读

    改进自适应GACV的水下图像分割算法研究

    改进自适应GACV的水下 图像 分割 算法研究(通信电源技术20年第13期)-基于改进自适应GACV的水下 图像 分割
    发表于09-22 15:32 11次下载
    改进自适应GACV的水下<b class='flag-5'>图像</b><b class='flag-5'>分割</b><b class='flag-5'>算法</b>研究

    一种对红细胞和白细胞图像分类任务的主动学习端到端工作流程

    细胞成像的 分割和分类等技术是一个快速发展的领域研究。就像在其他机器学习领域一样,数据的标注是非常昂贵的,并且对于数据标注的质量要求也非常的高。针对这一问题,本篇文章介绍一种对红细胞和白细胞 图像分类任务的主动学习端到端 工作流程
    的头像 发表于08-13 10:27 1056次阅读

    卷积神经网络算法流程卷积神经网络模型工作流程

    卷积神经网络 算法 流程卷积神经网络模型 工作流程卷积神经网络(Convolutional Neural Network,CNN)是一种广泛应用于目标跟踪、 图像识别和语音识别等领域的深
    的头像 发表于08-21 16:50 2358次阅读