扫盲记-第三篇--图像分割

学习内容来源于网络

图像分割

图像分割是什么?如果下学术定义,就是把图像分割成想要的语义上相同的若干子区域,看上面的自动驾驶的分割任务,路是路,车是车,树是树。这些子区域,组成图像的完备子集,相互之间不重叠。图像分割可以被看作是一个逐像素的图像分类问题。

传统办法:

  1. 边缘与阈值法

简单的边缘检测曾被用于图像分割,但需要做复杂后处理。阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较。最广泛使用也最具有代表性质就是OTSU方法,它是用于灰度图像分割的方法,核心思想是使类间方差最大化。OTSU方法非常简单,要求被分割的物体颜色纹理比较紧凑,类内方差小,只适合一些文本图像的处理,比如车牌、指纹等。

  1. 区域增长,分裂

对于类内方差较大的目标OTSU方法分割结果不理想,OTSU方法没有利用好像素的空间信息,导致分割结果极其容易受噪声干扰,经常出现断裂的边缘,需要后处理。区域生长法出它通过一些种子点,再加上相似性准则来不断扩充区域直至达到类别的边界,使得分割的结果具有很强的连续性。区域分裂则是反过程。区域生长法的代表是分水岭算法分水岭算法对于弱边缘有不错的响应,因此常被用于材料图像的分割,以及产生超像素用于提高其他方法的分割效率。超像素归为图像分割的方法,SLIC,Meanshift等都是非常经典的方法配合其他方法一起使用,往往产生惊人的效果。

  1. 图割

以graphcut为代表的图割方法,是传统图像分割里面鲁棒性最好的方法,graphcut是一种概率无向图模型(Probabilistic undirected graphical model),又称之为Markov random field-MRF马尔可夫随机场。

Graphcut的基本思路,首先建立一张图,其中以图像像素或者超像素作为图像顶点,然后优化的目标是要找到一个切割,使得各个子图不相连从而实现分割,前提是移除边和权重最小。

随后图割方法从MRF发展到CRF,即条件随机场。CRF通常包含两个优化目标,一是区域的相似度,被称为区域能量项,即piecewise能量;另一个是被切断边的相似度,被称为边缘能量项,即pairwise能量。CRF追求区域能量项的最大化以及边缘能量的最小化,即区域内部越相似越好,区域间相似度越低越好。图割方法很通用,对于纹理比较复杂的图像分割效果很不错。图割方法缺点,时间复杂度和空间复杂度较高,因此通常使用超像素进行加速计算。

Grabcut是graphcut的迭代版本。Grabcut它的基本思路:使用混合高斯模型(Gaussian Mixture Model,GMM)替代了graphcut基于灰度的模型,初始的混合高斯模型的构建,通过用户交互来指定,只需要指定确定性的背景像素区域即可,通常画一个框来指定。CRF与MRF的区别可以参考【Discriminative fields for modeling spatial dependencies in natural images】,图割方法很实用,是图像分割领域中的研究者必须掌握的技能。

  1. 轮廓模型

轮廓模型的基本思想是使用连续曲线来表达目标轮廓,并定义一个能量泛函,其自变量为曲线,将分割过程转变为求解能量泛函的最小值的过程。数值实现可通过求解函数对应的欧拉(Euler-Lagrange)方程来实现。轮廓模型包括以snake模型为代表的参数活动轮廓模型和以水平集方法为代表的几何活动轮廓模型当能量达到最小时的曲线位置就处于正确的目标轮廓

基于轮廓模型分割方法具有以下几个显著的特点:

(1)    由于能量泛函是在连续状态下实现,所以最终得到的图像轮廓可以达到较高的精度;

(2)    通过约束目标轮廓为光滑,同时融入其它关于目标形状的先验信息,算法可以具有较强的鲁棒性;

(3)    使用光滑的闭合曲线表示物体的轮廓,可获取完整的轮廓,从而避免传统图像分割方法中的预/后处理过程。

缺点就是比较敏感,容易陷入局部极值

深度学习办法:

第一篇采用深度学习方法来做图像分割的是FCN【Fully Convolutional Networks for Semantic Segmentation】,分类任务到了最后,图像被表征成了一个一维的向量,而分割任务则需要恢复一张与原图大小相等的图,所以全连接自然是不行的。

在从最小分辨率的feature map上采样的过程中,融合了卷积过程中同一分辨率大小的特征图,这种将网络浅层深层信息融合的思想是分割网络的必备。一种对称和优美的网络结构【Bayesian segnet: Model uncertainty in deep convolutional encoder-decoder architectures for scene understanding】:

基于FCN的改进的许多方法采用了不同的上采样办法,带孔卷积增加感受野的方法、图片与特征的多尺度信息融合、增加CRF等后处理的方法等。但万变不离其宗,最终分割结果的好坏往往取决于网络的表征能力、问题的简化、好的标注数据等。

分割不仅仅是分类问题

前文所述的,都是将分割当成一个分类问题来对待的,将每个像素要被归为明确的类别。然而分割的终极目标不只是归类,比如为了做背景替换的抠图(image matting。对于分类问题,产生的分割背景和前景不能够完美融合,因此需要一种带透明度通道的分割或者先分割再利用泊松融合等技术进行边缘融合的解决办法,这就是一个image matting问题。

image matting问题可以用一个简单的数学表达式表达:

I = aF + (1-a)B

其中F是前景,B是背景,a是透明度,一张图可以看作在透明度图像的控制下,前景和背景的线性融合。解这个问题有点病态,对于三通道的RGB图像,只有3个方程,却需要解出6个变量。所以像closed matting等方法都要做局部区域颜色不变的约束才能求出解析解。

随着技术的进步image matting问题从传统方法发展到了深度学习,对主流方法进行了比较请参见:http://www.alphamatting.com/index.html

一种end to end的方案deep image matting

谱分割(spectral segmentation),Laplacian矩阵,soft transitions与layers,SLIC等。

谱分割与laplacian矩阵是graphcut的归一化版本Normalized Cut的核心,而soft transitions与layers是photoshop最核心的思想,SLIC则是用于减少计算量的超像素方法。将这些方法和加上深度学习相互融合使用,就会图像分割效果极好的图像分割效果。【Semantic Soft Segmentation】

学习内容来源 言有三(微信号:Longlongtogo) https://mp.weixin.qq.com/s?__biz=MzA3NDIyMjM1NA==&mid=2649029723&idx=1&sn=555a2d45fa210a1c5c5c703de54899a4&chksm=87134226b064cb30f070ea5a2368f1c5bb6679d0f13e7e84b3f6374be33c549ce81a665d6e25&token=872571663&lang=zh_CN#rd

原文地址:https://www.cnblogs.com/jeshy/p/10582704.html

时间: 2024-10-08 16:46:08

扫盲记-第三篇--图像分割的相关文章

我的屌丝giser成长记-研三篇

进入研三以来,基本都是自己的自由时间了,从导师的项目抽离出来,慢慢的都交给师弟他们来负责.研三的核心任务就是找工作以及写毕业论文,因为有导师科研基金项目成果作为支撑,所以自己的论文没什么可担心,一切都是水到渠成.研二假期时候,自己有在猪八戒网或者其他渠道,接过一些小的gis单子来做,当是生活补贴也好,进入研三以来,就寻思着怎么组成一个gis开发团队,通过团队接一些大一点的gis项目,还有就是磨练团队的合作意识以及默契,长远的来说,要是拓展业务开了话,慢慢的往工作室甚至开gis公司的方向发展. 第

扫盲记-第四篇--弱监督深度学习的图像分割

学习内容来源于网络 原创见 微信公众号: 有三AI  https://mp.weixin.qq.com/s/USOWECXk_az4b6eTssfOBw 基于弱监督深度学习的图像分割方法 本文主要介绍基于深度学习的图像分割方法,即语义分割.实例分割和全景分割. 1 基础概念 生活中,我们和周围的事物都是有“标签”的,比如人.杯子.天空等等.在不同的场景下,相同的事物可能对应了不同的标签,比如长在地上的一片小草称为“草地”,长在花盆里的很可能属于“盆栽”,画在画中的又属于“装饰”. 如果把整幅图像

HttpApplication处理对象与HttpModule处理模块 (第三篇)

一.HttpApplication对象简述 在HttpRuntime创建了HttpContext对象之后,HttpRuntime将随后创建一个用于处理请求的对象,这个对象的类型为HttpApplication. HttpRuntime管理一个定义在System.Web命名空间下的HttpApplicationFactory类的时候,HttpApplicationFactory通过工厂模式管理HttpApplication对象.在HttpApplicationFactory内部维护了一个HttpA

第三篇 读后感

      今天读了大道至简中的第三篇关于团队缺乏的不只是管理的文章,其中作者引用了<汉书>中的“言人三人众”,来说明团队是至少以三个人为规模的,而三人构成的团队,这样便具备了团队的一些基本特征:主从.监督和责任.团队并不是个体能够组成的,两个人同样不能成为一个团队,两人则互相支撑,正如古文中“从”字是二人互立的,并没有监督.老师课上所说的一个和尚有水喝,两个和尚抬水喝,三个和尚没水喝的故事,三个和尚之所以没水喝是因为没有能够的安排没有领导人,三个人本能比一个人有更高的效率,正如文中所说的的一

LoadRunner用户行为模拟器 《第三篇》

用户行为模拟器简称VU,VU通过运行VU脚本模拟了用户对软件的操作行为.VU是基于网络协议的.很明显,被测服务器是通过各种各样的网络协议与客户端打交道的.VU要"骗过"被测服务器,当然就要遵守这些协议,按规矩.按步骤来执行动作,否则就会吃"闭门羹". 基于网络协议的脚本的一个好处是,我们可以使用相对少的硬件资源,来生成大量的虚拟用户负载.相比之下,WinRunner和QTP脚本时基于界面事件的,它在一台主机上同时只能运行一个虚拟用户的脚本,因为一个虚拟用户会占用整个

第三篇——第二部分——第五文 配置SQL Server镜像——域环境SQL Server镜像日常维护

本文接上面两篇搭建镜像的文章: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境:http://blog.csdn.net/dba_huangzj/article/details/28904503第三篇--第二部分--第四文 配置SQL Server镜像--非域环境:http://blog.csdn.net/dba_huangzj/article/details/27652857 在搭建的过程中,可能你会遇到比较多的问题,下面介绍一些常见的问题及解决方案,另外把主要精力放到对

视觉SLAM中的数学基础 第三篇 李群与李代数

视觉SLAM中的数学基础 第三篇 李群与李代数 前言 在SLAM中,除了表达3D旋转与位移之外,我们还要对它们进行估计,因为SLAM整个过程就是在不断地估计机器人的位姿与地图.为了做这件事,需要对变换矩阵进行插值.求导.迭代等操作.例如,在经典ICP问题中,给定了两组3D点,我们要计算它们之间的变换矩阵.假设第一组的3D点为$\mathbf{P}=\{ \mathbf{p}_i | i = [1,2, \ldots, N] \}$,第二组3D点为$\mathbf{Q}=\{ \mathbf{q}

第三篇——第二部分——第一文 SQL Server镜像简介

原文:第三篇--第二部分--第一文 SQL Server镜像简介 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26951563 镜像是什么?说白了就是个镜子(没用过镜子?没镜子你总要小便吧?开个玩笑.. ),这里镜子的含义主要有两个:1.一模一样,下面会详细介绍,包括库名.数据文件和日志文件的存放路径都要一样.2.看得到,却"用不了",镜像库在没有做任何处理时是不可访问的.下面进入专业一点的解释: 数据库镜像(SQL Se

玩转VIM-札记(三)

玩转VIM-札记(三) 眨眼之间,5月就要从指间溜走,不给人一点点遐想的时间,我要赶紧抓着五月的尾巴,在博客中在添一笔.那么就还接着Vim来说吧.以Vim来为五月画上一个句号. 返璞归真 相信经过玩转Vim-札记(一)和玩转Vim-札记(二)的学习,对于光标的移动已经能做到随心所欲了,但是如果想要更快速的操作,以下几个光标移动的命令也是必不可少的. 在当前行上移动光标: 0 ^ $ f F t T , ; 0 → 到行头 ^ → 到本行的第一个非blank字符 $ → 到行尾 g_ → 到本行最