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

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

3天内不再提示

解析关于颜色空间采样的抠图算法

电子工程师 来源:微型机与应用 陈 玲,舒志 作者:微型机与应用 陈 2021-04-02 17:56 次阅读

摘 要: 由于自然图像抠图具有高度的不确定性,目前的抠图方法中对于前背景颜色较为复杂的图片处理效果并不理想。本文首先通过采集大量的样本对来估计初始的掩膜值,但是通过采样得到的样本对并不能很好地估计掩膜值,为此定义未知像素与前背景样本点的空间距离和颜色距离函数来对其进行优化。

通过最小化该代价函数来求得最优的样本对,使得最终得到的结果实现了准确性和鲁棒性的良好均衡。自然图像抠图实验结果表明,与其他几种抠图算法相比,本算法在视觉效果上和均差误差上都优于其他算法。

0 引言

抠图就是从一张给定的图片中提取出感兴趣的部分,数字图像抠图可以表示为前景F和背景B的线性组合,即颜色组合公式:

6357643744741000002999745.png

对于图像中的每个像素点(x, y),式(1)中的I(x, y)代表该点的像素值,F(x, y)和B(x, y)代表该点的前景色和背景色的像素值,α代表前景色所占的比例,称之为透明度或者掩膜值,α的取值介于[0, 1]之间,当α=1时表明当前像素是完全前景像素,当α=0时表示当前像素是完全背景像素,而抠图的本质就是求出每个像素点对应的α值。由于式(1)中α、F和B都是未知的,所以式(1)的解具有高度不确定性,因此自然图像抠图实际上是一个不能精确求解的过程。

当前的抠图方法根据研究图像近邻像素的相关性和图像统计,可分为基于采样、基于传播、采样传播相结合三种方法。

其中基于采样的抠图方法通过计算前景和背景的颜色来估计掩膜值,早期的方法如Bayesian Matting[1]、Ruzon-Tomasi[2]、Hillman[3]等都是基于采样的方法,但是通过采样的方法采集到的前景和背景像素的样本点具有不确定性,使得最终得到的掩膜值不够精确;

基于传播的方法不需要通过采集样本点来估计掩膜值,它假设未知像素在一个小窗口内是局部平滑的,再在闭合空间中求解α。Random Walk Matting[4] 、Closed Form Solution[5] 、Poisson Matting[6]等都属于基于传播的方法,该方法对大部分图片都能取得较好的结果,但是对一些前景和背景颜色较为复杂的图像,采样与传播相结合的方法能取得更好的结果,如Shared Matting[7]、Robust Matting[8]、Comprehensive Sampling Matting[9]等。

对于复杂的图像,要计算得到精确的掩膜值是比较困难的。本文首先采集大量的与未知像素相邻的样本点,然后通过未知像素与前景和背景样本点的颜色空间距离来定义一个目标函数对其进行优化,从而选出最优的样本对来求图像的掩膜值,最后结合拉普拉斯矩阵和信度值函数对其进行优化得到最终的掩膜值。将本文得到的结果与多种抠图算法进行比较,结果表明本文算法能取得更好的掩膜值。

1 Comprehensive Sampling Sets方法介绍

为了求出每个未知像素的最优样本对,Comprehensive Sampling Sets方法根据光学和图像空间统计来建立一个目标函数:

6357643753599200005032485.png

其中K表示像素点Iz与由式(1)求出的估计值之间的彩色误差:

6357643760479000007681547.png

S表示样本对(F,B)和未知像素的空间距离:

6357643761630400009123499.png

其中SzF是像素z的所有前景样本点的集合,│SzF│表示样本点的个数,SzB与其类似,FiS表示样本点Fi的空间坐标。

C表示图像中的颜色统计:

6357643763111700007913734.png

其中d(Fi, Bi)是Fi和Bi的颜色分布:

6357643764065600001034760.png

6357643772270100006920817.png

是样本 Fi的均值、方差以及样本群的大小。根据目标函数O,从中选出最优的样本对,再根据下式:

6357643765223500004921111.png

计算出一个初始的掩膜值α,然后根据参考文献[7]的方法对初始掩膜值进行优化。

2 基于颜色采样抠图

2.1 区域划分

本文的算法需要用户预先提供一张原图像的trimap图,也叫三分图,它通过用户手工操作得到目标边界的前景、背景和未知区域的精细划分,在得到的三分图中,白色部分即为已知的前景区域,黑色部分为已知的背景区域,灰色部分则是需要计算的未知区域。

区域划分的目的是减少计算的复杂度,因为图像中大部分区域的掩膜值都是已知的,即前景部分的掩膜值为1,背景部分的掩膜值为0,只需要计算未知区域每个像素点的掩膜值。区域划分的准确性对掩膜值有很大的影响,因此,为了使得到的结果更加精确,本文实验所需的三分图都由下载得到。

2.2 初始掩膜值的估计

由式(1)可知,对于一幅彩色图像,该式中α、 F和B都是未知的,所以首先通过采样的方法来采集前景像素样本点F和背景像素样本点B。在本文的算法中,采用参考文献[8]的方法来采样,即沿着己知前景区域和己知背景区域的边界稀疏地采集样本点,这样采集得到的样本集合能够较好地捕捉到前景色或背景色的变化,当采集到足够的样本点之后,再根据式(7)来求初始的missing image file,但是仅仅通过采样得到的missing image file还很粗糙,需要进一步优化。

为了优化初始的掩膜值,定义一个颜色空间代价函数来选择最终的样本对:

6357643776739600009413749.png

其中,

6357643787249300008114785.png

表示当前像素I与由颜色线性组合式(1)得到的估计值的颜色距离,如果当前像素I与颜色组合公式估计的值十分接近,那么(Fi, Bj)就可以作为较优的样本对来估计掩膜值。这个式子在参考文献[8]中首次被提出,在文献参考[9]和[10]中也采用了相同的颜色代价函数,但是由于采集到的样本对较多,仅仅通过式(8)来选择最终的样本对并不可靠,所以接下来定义空间代价函数

6357643788702300003989572.png

6357643778589800008632217.png

与参考文献[9]的空间代价函数类似,为每个前景和背景样本点定义一个空间距离函数missing image file和missing image file,式(9)和(10)中missing image file、missing image file和xI代表前景样本点、背景样本点和未知像素的空间坐标,missing image file和missing image file表示已知的前景和背景样本点的集合。

接下来根据颜色代价函数定义Pα,它表示当一个未知像素与前景样本点的颜色较近而与背景样本点的颜色相差较大时,就认为该未知像素很有可能就是一个完全前景像素,因此定义下式:

6357643791836500006975520.png

其中:

6357643793014500008103674.png

当PF趋近于0时,最小化Pα就相当于最小化α;当PF趋近于1时,最小化Pα就相当于最大化α;当PF=0.5时,则Pα是一个常数项。式(11)将会在目标函数中用来求最优的样本对。

结合颜色空间代价函数定义一个选择最终样本对的代价函数:

6357643794343900004097332.png

最小化式(13)来求最优的样本对,并且把求得的最优的样本对记为

6357643800345200001120001.png

6357643795428100008543885.png

再利用求得的最优样本对

6357643827407200005486840.png

来重新估计未知像素的掩膜值 。

2.3 掩膜值的优化

在上述算法中已经计算得到一个掩膜值,但是这个掩膜值并不够精确,所以接下来采用闭合式空间中求解的方法对其进行优化。首先采用参考文献[5]的方法构造一个拉普拉斯矩阵,由于抠图问题是典型的不确定问题,因此需要添加一定的约束条件,把求得的掩膜值missing image file和信度值f作为数据项,信度值missing image file,其中σ=0.01,并且结合拉普拉斯矩阵作为约束项来构造一个代价函数:

missing image file

上式中,missing image file和missing image file是权重参数,设为200和0.1,D是一个对角矩阵,已知区域的像素记为1,未知像素的像素记为0,F是对角线元素为信度值f的对角矩阵;对式(15)关于α求导并令导数为0即可求得最终的α,图1所得结果即为最终得到的掩膜值。

3 实验及结果

6357643844580800004099798.jpg

6357643844784200002635877.jpg

本文实验均在matlab下完成。实验的系统配置为Inter(R) Core(TM) Quad CPU处理器、2.66 GHz主频以及3.46 GB内存。实验所需图片均由下载得到,其中包括实验原图、trimap图和ground-truth图,如图2所示。本文将5幅图得到的实验结果与Robust Matting[8],Global Sampling[10]、Comprehensive Sampling Sets [9]所得的结果进行比较。还计算出各个算法得到的掩膜图与其相应的ground-truth图的均方误差作为算法性能评价的量化指标,如表1所示。

6357643829708700005545156.jpg

6357643831323800009486507.jpg

从表1及图3可以看出,通过对5组图片进行实验,本文算法不管是从视觉角度还是均方误差角度都具有明显的优势,其他三种算法中,Comprehensive Sampling Sets最好,Global Sampling次之,Robust Matting效果较差。从实验结果可以看出,Robust Matting对于前背景颜色较为相近的图片处理效果较差, Global Sampling对细节的把握不够精确。本文算法得到的掩膜图不仅在细节部分优于其他3种算法,而且与ground-truth相比,误差最小。

4 结论

本文首先通过采集大量的样本对求出初始的掩膜值,再定义一个颜色空间代价函数来选择最优的样本对,与以前的算法比较,本文利用未知像素与其较近的前景或背景样本点的距离来判断该未知像素是否为完全前景像素或者完全背景像素,并且在最终掩膜值的优化过程中把信度值作为约束项,使得最终得到的结果在细节方面更加精确,而且对于前背景颜色较为相近的图片也能得到较为理想的结果。

参考文献

[1] Chuang Y Y, Curless B, Salesin D H, et al. A bayesian approach to digital matting[C]。 Computer Vision and Pattern

Recognition, 2001. CVPR 2001. Proceedings of the 2001 IEEE Computer Society Conference on. IEEE, 2001, 2(2):

264-271.

[2] Ruzon M A, Tomasi C. Alpha estimation in natural images[C]。 Computer Vision and Pattern Recognition, 2000: Proceedings of IEEE Conference on. IEEE, 2000: 18-25.

[3] Hillman P, Hannah J, Renshaw D. Alpha channel estimation in high resolution images and image sequences[C].Computer Vision and Pattern Recognition, 2001. CVPR 2001. Proceedings of the 2001 IEEE Computer SocietyConference on. IEEE, 2001, 1(1)::1063-1068.

[4] Grady L, Schiwietz T, Aharon S, et al. Random walks for interactive alpha-matting[C]。 Proceedings of VIIP. 2005,2005: 423-429.

[5] Levin A, Lischinski D, Weiss Y. A closed-form solution to natural image matting[J]。 Pattern Analysis and MachineIntelligence, IEEE Transactions on, 2008, 30(2): 228-242.

编辑:jq

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

    关注

    88

    文章

    3441

    浏览量

    92436
  • CPU处理器
    +关注

    关注

    0

    文章

    20

    浏览量

    9807
收藏 人收藏

    评论

    相关推荐

    【爱芯派 Pro 开发板试用体验】+ 交互式软件的实现

    感谢电子发烧友和爱芯元智公司提供的测试机会。 前面介绍了分割图像的SAM框架在爱芯派 Pro (AXera-Pi Pro)开发板的测试结果,今天来展示一下对SAM程序的修改,使它成为一个交互式
    发表于 01-02 22:04

    PCL泊松盘采样具体流程

    点之间最近的距离r,以及采样点所在空间的维度n,比如2维平面 2、在空间里生成足够多的网格,保证不接触的两个网格之间的点的距离大于r,并且网格数量足够多保证每个网格至多只需装一个采样
    的头像 发表于 11-21 17:42 451次阅读
    PCL泊松盘<b class='flag-5'>采样</b>具体流程

    PCL中法线空间采样介绍

    法线空间采样 NormalSpaceSampling即:法线空间采样,它在法向量空间内均匀随机抽样,使所选点之间的法线分布尽可能大,结果表现
    的头像 发表于 11-21 17:28 338次阅读

    求助,关于ADC采样的相关参数问题

    在应用单片机进行ADC项目设计的时候,结合以前弄的数据采集卡,这里有几个关于ADC采样的几个参数的问题,ADC的采样率,采样数,单次采样,连
    发表于 11-09 07:50

    单片机采样ADC数值一般都是用的什么滤波算法

    单片机采样ADC数值一般都是用的什么滤波算法
    发表于 10-16 06:26

    四轴的姿态进行采样用通常是用什么滤波算法进行滤波的?

    四轴的姿态进行采样用通常是用什么滤波算法进行滤波的
    发表于 10-09 06:42

    C语言经典算法大全

    C语言经典算法,详细解析算法过程及算法思想,给读者具有启发意义,教程包含C语言大部分常用算法,仅供学习,禁止商业传播
    发表于 10-07 08:16

    为什么重采样很重要?Pandas中重新采样的关键问题解析

    采样是时间序列分析中处理时序数据的一项基本技术。它是关于将时间序列数据从一个频率转换到另一个频率,它可以更改数据的时间间隔,通过上采样增加粒度,或通过下采样减少粒度。
    的头像 发表于 09-19 17:06 1434次阅读
    为什么重<b class='flag-5'>采样</b>很重要?Pandas中重新<b class='flag-5'>采样</b>的关键问题<b class='flag-5'>解析</b>

    Opencv调用bmcv_image_vpp_convert做缩放或者颜色空间转换,得到的图片不一致是为什么?

    Opencv 读取图片后,cvMat 转为bmimage之 后, 调用 bmcv_image_vpp_convert 做缩放或者颜色空间转换,得到的图片不一致
    发表于 09-19 07:41

    利用OpenCV进行颜色检测

    关于利用OpenCV进行颜色分类,本文包含了HSV介绍及应用、cv2.inRange及应用、RGB与HSV通道的区别三个方面。
    的头像 发表于 08-18 10:32 857次阅读
    利用OpenCV进行<b class='flag-5'>颜色</b>检测

    自动驾驶 RRT算法原理解析

    RRT 算法是一种对状态空间随机采样算法,通过对采样点进行碰撞检测,避免了对空间的精确建模带来
    发表于 07-28 15:45 1456次阅读
    自动驾驶 RRT<b class='flag-5'>算法</b>原理<b class='flag-5'>解析</b>

    IP库新增多种颜色转换空间IP简介

    颜色空间转换是图像及视频中常用的解决方案,涉及hsv-rgb、rgb-ycrcb等一些常见的颜色空间互相转换,今天带来几种常见的颜色
    的头像 发表于 07-17 08:48 1110次阅读
    IP库新增多种<b class='flag-5'>颜色</b>转换<b class='flag-5'>空间</b>IP简介

    解析单电阻采样的原理以及注意点

    双电阻和三电阻的采样方案比较常见了,原理比较简单。随着成本的压力和技术的进步,现在单电阻采样的方式越来越常见。
    的头像 发表于 07-10 16:05 2007次阅读
    <b class='flag-5'>解析</b>单电阻<b class='flag-5'>采样</b>的原理以及注意点

    解析单电阻采样的原理以及注意点

    双电阻和三电阻的采样方案比较常见了,原理比较简单。随着成本的压力和技术的进步,现在单电阻采样的方式越来越常见。
    的头像 发表于 07-06 15:53 2241次阅读
    <b class='flag-5'>解析</b>单电阻<b class='flag-5'>采样</b>的原理以及注意点

    Python OpenCV教程:特定颜色的检测

    在这篇OpenCV Python文章中,我想展示OpenCV中的基本颜色检测示例。 我们用颜色空间颜色模型来表示计算机上的颜色,该模型基本
    的头像 发表于 07-03 10:30 648次阅读