一、抠图算法简介

  Alpha matting算法研究的是如何将一幅图像中的前景信息和背景信息分离的问题,即抠图。这类问题是数字图像处理与数字图像编辑领域中的一类经典问题,广泛应用于视频编缉与视频分割领域中。Alpha matting的数学模型是

                  

由Porter 和 Duff于1984 年提出[1]。他们首先引入了α 通道的概念,即它是一种前景和背景颜色的线性混合表示方法。一张图片包含前景信息、背景信息,将该图片看成是前景图和背景图的合成图,于是便有了以上的混合模型。前景α为1, 背景α为 0,α的取值介于0-1之间,表示前后背景图的线性组合。在大多数自然图像中,大多数像素点都属于绝对前景或者绝对背景,如何将其它混合点的α 值准确的估计出来是alpha matting的关键。

  给定一个输入图像,对于所有像素点,它的(F,B, α)都是未知的,需要进行估计,如果图片是灰度图片,每个像素点包含3个未知数,这样的问题是一个欠约束问题。大多数抠图问题需要用户交互的先验条件,使得我们对已知输入图像的颜色统计有预先的估计和假设,从而能够更加准确的估计出未知量的值,常见的人工添加的约束条件有三区标注图(trimap)草图(scribble)两种。

  预先提供的约束条件(trimap图或scribble图)越精确,未知区域内的点就越少,更多前景和背景信息就更容易利用。然而,在实践中,要求预先输入非常准确的 trimap 是一件异常繁琐的工作,不现实也不必要的,如何在预先提供的trimap以及最终算法所求得的抠图结果之间寻求一个最佳答案,不同的抠图算法对于这个问题有着不同的阐述。

二、Alpha matting 算法的发展

  通常,alpha matting算法要解决两个问题,一个是求解图像像素点颜色分布模型,一个是求解像素点颜色和α 值的关系。一些经典的抠图算法会预先假设好局部像素点颜色分布模型和像素点颜色α 值模型,再通过采样(例如贝叶斯抠图[2])或传播(例如封闭式(closed-form)抠图[3])的方法拟合模型,求解α 值,另一些抠图算法将抠图问题视为一个半监督的学习过程,用学习的方法拟合模型求解α 值[4]。以上这些方法中关联像素点是从待定像素的邻域中取的,除了这些局部抠图算法之外,一些学者根据非局部原理提出非局部抠图算法,例如K近邻抠图[5]、全局采样抠图[6]等。近年来深度学习如火如荼,最近比较热门的发展方向是基于CNN的抠图方法[7]

  2003年Chuang Y Y等提出贝叶斯抠图(Bayes matting)[2]算法,核心是通过领域采样,从待定像素的领域像素中采样关联像素,利用图像像素点的颜色值特征,以定向高斯模型建立像素颜色模型,再用极大似然发估计α 值。贝叶斯方法从条件概率的角度去考虑抠图问题,以贝叶斯公式建立F、B和α的联合概率分布,抠图问题就可以被转化为已知图片像素颜色I的情况下,为了最大化后验概率P(F,B,α|I),求 F、B和α估计值的问题。

  2006年Levin A等提出封闭式抠图(Closed formed matting)[3],核心思想是通过传播的方法来利用图像的颜色特征,即允许α值从已知区域传播到领域未知域。封闭式抠图基于两个假设:一是颜色分布遵循颜色线性模型;二是前景背景颜色值局部平滑,并由此推知未知像素的alpha值和该像素点的颜色I呈线性相关关系,经过矩阵计算之后,代价函数表达式转化为关于α的二次型形式:  

                  

  其中L为拉普拉斯矩阵(matting Laplacian matirx),可以由图像局部像素点颜色计算得到。由此,待定点的α值可以在没有明确估计该像素点前景和背景颜色的情况下以封闭的形式求解。

  封闭式抠图方法提出的拉普拉斯矩阵被广泛地于各种抠图方法中。例如,K近邻抠图(KNN matting,2012)[5]就是通过在特征空间取k个最邻近点计算得拉普拉斯矩阵计算α值,这种非局部抠图关注于可以处理更稀疏的trimap,甚至不需要附加的约束条件输入,直接通过图像自身的前景与背景属性的区别来进行分割。

  贝叶斯算法基于图像局部颜色一致性的假设前提,封闭式抠图预先假设了颜色线性模型,这两种经典方法都预先假设了颜色分布模型,考虑到颜色分布不一定服从一个确定的模型,2009年有学者提出了基于学习的抠图算法(learning based matting)[4],将抠图问题视为一个半监督的学习问题,以更通用的学习的方法拟合颜色模型求解α值,并且这种算法模型,除了颜色之外还可以融入其他图像特征。较早期的抠图算法中图像特征只考虑颜色,例如贝叶斯抠图(2003)和封闭式抠图(2006)采用的图像特征是颜色,K近邻抠图(2012)采用的特征是HSV颜色和像素点坐标两种[5],随着抠图算法的发展,算法模型中渐渐融入其他图像特征。例如2017年Chao L[9]设计了一个新的特征,称为SUMD特征,以增加像素识别能力。这种特征是一种纹理特征,功能是使具有相似纹理的像素点具有相似的特征值。

  传统alpha matting 方法通常只使用低层次的特征,基于深度学习的算法可以考虑更高层次的图像特征,并且可以通过创建大型图像数据集来自动优化算法。2017年Xu N等 [7]提出一种基于深度学习的新抠图算法,使用的CNN模型分为两个阶段:第一阶段是深卷积编码器,将原图和对应的trimap图作为输入,预测图像的α;第二阶段是一个小型卷积神经网络,作用是对第一个网络的输出进行精修优化。由于CNN网络可以捕捉到更高阶的图像结构和语义特征,并且可以通过大数据集进行优化,基于深度学习的抠图方法可以更好的适用于真实图像。

三、抠图公式-图像去雾

  图像去雾的研究算法有很多,但是主要分为两类,基于图像增强的去雾算法和基于图像复原的去雾算法。基于图像增强的去雾算法主要是通过去除图像的噪声,提高图像的对比度,从而恢复出无雾清晰图像。而基于图像复原的去雾算法,主要是采用雾化图像模型。

  2009年何凯明[14]提出暗通道去雾算法,将抠图算法应用到图像去雾算法中,以优化透射率计算。何的暗通道去雾算法是基于图像复原的去雾算法,采用雾化图像模型,其数学表达为:

                 

  其中I(x)为观测到的雾化图像,J(x)是景物的实际图像,t(x)是透射率,A 为大气光成分。

      

  图像去雾的目标就是从I(x)中恢复J(x) 、A、 t(x),在雾化图像模型中,大气光成分A虽然是未知量,但一般情况下,它是一个三通道强度值均接近于255的全局常量,唯一的未知是散射率t(x),而在求得t(x)的情况下,可以很容易恢复出实际图像J。

  雾化图像模型抠图公式数学表达形式是一样的,J、A、t分别与前景F、背景B、透明度通道α对应。何参考封闭式抠图[3]的代价函数提出去雾算法透射率的代价函数:

                  E(t) = tTLt                                          

  其中L为拉普拉阿斯矩阵,与封闭式抠图[3]中的拉普拉斯矩阵有着相似的形式,这样就可以采用图像软抠图的方法,对计算得到的透射率图t(x)进行精细优化。

  采用封闭式抠图算法优化图像去雾透射率的方法计算速度较慢,为了解决这个问题,2013年何凯明[15]提出了一种新型的图像滤波方法——引导滤波器,将封闭式抠图算法应用在图像滤波中。

参考文献

[1]       T. Duff, T. Porter. Compositing Digital Images[C]//Proceedings of the 11th Annual Conference on Computer Graphics and Interactive Techniques. 1984:253–259.

[2]       Chuang Y Y, Curless B, Salesin D H, et al. A Bayesian approach to digital matting[C]// IEEE Computer Society Conference on Computer Vision & Pattern Recognition. 2003.

[3]       Levin A , Lischinski D , Weiss Y. A Closed Form Solution to Natural Image Matting[C]// null. IEEE Computer Society, 2006:61-68.

[4]       Zheng Y , Kambhamettu C . Learning based digital matting[C]// 2009 IEEE 12th International Conference on Computer Vision (ICCV). IEEE Computer Society, 2009.

[5]       Chen Q , Li D , Tang C K . KNN Matting[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(9):2175-2188.

[6]       He K, Rhemann C, Rother C, et al. A global sampling method for alpha matting[J]. 2011.

[7]       Xu N , Price B , Cohen S , et al. Deep Image Matting[J]. 2017.

[8]       He K , Rhemann C , Rother C , et al. A global sampling method for alpha matting[J]. 2011.

[9]       Chao L, Ping W, Zhu X, et al. Three-layer graph framework with the sumD feature for alpha matting[J]. Computer Vision & Image Understanding, 2017, 162:S1077314217301236.

[10]     姚桂林. 数字图像抠图关键技术研究[D].哈尔滨工业大学,2013.

[11]     杨仙魁. 闭合型抠图的研究与应用[D].云南大学,2013.

[12]     崔兆华,高立群,马红宾,李洪军.改进alpha-matting算法及其在军事红外目标提取中的应用[J].渤海大学学报(自然科学版),2013,34(02):225-231+95.

[13]     Al Y Y B E. Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images[J]. Iccv, 2001, 1:105-112.

[14]     He K, Jian S, Tang X. Single image haze removal using dark channel prior[C]// IEEE Conference on Computer Vision & Pattern Recognition. 2009.

[15]     He K, Sun J, Tang X. Guided Image Filtering[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2013, 35(6):1397-1409.

转载于:https://www.cnblogs.com/smartweed/p/10373565.html

Alpha matting算法发展相关推荐

  1. 抠图算法-Alpha Matting

    目录 概述 graph cut Alpha Matting 概述 对于抠图,比较简单的方法是图像分割,这是很老的方法,但这其实算不上真正意义的抠图,因为他的主要目的是用于图像之间块与块的分割.典型的就 ...

  2. 图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting

    一.序言   陆陆续续的如果累计起来,我估计至少有二十来位左右的朋友加我QQ,向我咨询有关抠图方面的算法,可惜的是,我对这方面之前一直是没有研究过的.除了利用和Photoshop中的魔棒一样的技术或者 ...

  3. opencv 图像 抠图 算法_图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting

    一.序言 陆陆续续的如果累计起来,我估计至少有二十来位左右的朋友加我QQ,向我咨询有关抠图方面的算法,可惜的是,我对这方面之前一直是没有研究过的.除了利用和Photoshop中的魔棒一样的技术或者Ph ...

  4. 图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting

    本篇博文来自博主Imageshop,打赏或想要查阅更多内容可以移步至Imageshop. 转载自:https://www.cnblogs.com/Imageshop/p/3550185.html    ...

  5. 转载:图像抠图算法学习 -Shared Sampling for Real-Time Alpha Matting

    原文地址:https://www.cnblogs.com/Imageshop/p/3550185.html 一.序言   陆陆续续的如果累计起来,我估计至少有二十来位左右的朋友加我QQ,向我咨询有关抠 ...

  6. 自然图像抠图/视频抠像技术发展情况梳理(image matting, alpha matting, video matting)--计算机视觉专题1

    自然图像抠图/视频抠像技术发展情况梳理 Sason@CSDN 持续更新. 当前更新日期2013.03.05, 添加Fast Mating.Global Matting.视频扣像. 当前更新日期2013 ...

  7. 图像抠图Image Matting算法调研

    目录 1.Trimap和Strokes 2. 相关数据集 3.论文算法调研 3.1 Deep Image Matting 3.2 Semantic Image Matting 3.3 Backgrou ...

  8. 什么是alpha matting?

    同学给我一篇文献,针对视频对象分割,论文提出了一种精确运动层分割和Matting技术,将运动分割与alpha matting技术结合起来,由于对alpha matting不太懂,所以找资料认真学习了一 ...

  9. 神奇的 Animal Matting 算法,毛发抠图不是事。

    一.前言 抠图是个体力活. 抠图最难的,就是处理毛发. 想没想过,有一天,算法直接帮你自动抠图?细致到毛发的那种! 毛发的分割都不是问题! 新鲜热乎刚出炉的 Image Matting 算法,你值得拥 ...

最新文章

  1. 总结ThinkPHP使用技巧经验分享(四)
  2. python 如何编写图像标定(标记)(annotation)画框程序?
  3. 深入掌握JMS(三):MessageListener
  4. CentOS下搭建测试WEB平台
  5. 如何扫描出Android系统媒体库中视频文件
  6. ElementUI:导航nav设置路由模式后,切换路由导航样式不变话
  7. 使用PhoneNumberValidator判断用户输入的电话格式,并用PhoneFormatter对电话号码格式化。...
  8. rk3399 外接一个usb声卡,同时指定另一个usb声卡做放音功能
  9. python实验报告代写_Python 读写CSV作业代写代做、代写Python I/O文件读写程序作业、代写代做python 实验报告...
  10. chorme的性能优化工具
  11. 2021年高压电工考试技巧及高压电工模拟考试
  12. 100923G-Por Costel and the Orchard
  13. 电力窃漏电用户自动识别
  14. 微信小程序云开发完整案例
  15. C++ 语法基础课 习题2 —— printf 语句与判断结构
  16. SpringAOP切点表达式
  17. C语言的32个常用关键字
  18. Maven及插件安装
  19. 【Oauth认证】使用scribe实现OAUTH
  20. spark封神之路(2)-spark运行模式

热门文章

  1. vue使用百度地图GL 卫星地球地图 避坑一 BMAP_EARTH_MAP出现 undefined报错的问题
  2. php显示商品订货单,ECSHOP二次开发,在用户中心的订单详情页显示商品
  3. 对抗软件规模与复杂度的战争:救命、治病、养生(上篇)
  4. IBM实习日记——4.1
  5. Modern Robotics正运动学(forward kinematics)
  6. uniapp 小程序里面实现视频列表,播放当前视频,其它视频暂停,视频列表为组件形式引入。
  7. linux uint32t 头文件,STM32 uint32_t 在哪个头文件里
  8. Jack Ma 你当初UT了没?
  9. springboot集成netty框架(物联网tcp连接,只服务端)
  10. git克隆代码报错fatal: unable to access...