达摩院视觉算法黑科技之透明抠图

简介: 透明抠图问题作为抠图问题的一种,其采用的方法和模型构建与通常的模型有所不同,透明抠图需要将环境光,折射率的影响纳入计算,而一般的折射光图又很难获得,因此透明抠图的模型在过去一直难以建立,或者说很难达到令人满意的效果,达摩院视觉算法团队通过双分支解码器(Object Mask获取,Opacity预测),颜色纠正模块,对图像实现高精度透明抠图。

透明抠图 vs 非透明抠图
物体的抠图问题可以定义为求解以下的公式,即给定图像I,求解前景颜色F、背景颜色B和Alpha matte的线性组合:
1.png
对于透明物体而言,它展现在观察者眼中的颜色是由其前景颜色,背景颜色以及环境光线经过前景物体自我反射折射混合而成的,因此,它的公式会更加复杂一些:
2.png
3.png

4.png表示的是环境光的影响 它是所有光线E(w)与反射率方程R乘积在所有点上的二重积分,求解很复杂[1],导致实现精确的透明抠图是一个非常困难的问题。因此,现有透明抠图研究的目标也是实现视觉感受“真实”的抠图而已,并非追求完全真实的抠图结果。

现有研究
SOTA的Matting算法在同时提供原图和对应trimap的情况下,可以的实现对半透物体的处理(如下图为GCA-Matting[2]的效果),但tripmap在实际的图像的处理中难以获取,限制了这类算法其在业务中的使用。
5.png
TOM-Net[3]将透明抠图问题视为折射流的估计问题,网络支持对单图输入,经过三分支的编解码器网络,分别预测图像的Object Mask,attenuative mask,flow mask(折射流图),并可以通过折射流信息进一步在新的背景进行合成。该方法的局限性在于其假设物体必须全部为无色透明物体,并且在训练过程中需要折射流图作为label, 而折射流图在真实世界是非常难以获取的,因此该方法的训练数只能依赖于图形学合成,与真实透明图像的分布无法一致(图像的语义合理性存疑,例如玻璃杯在山前悬浮)。经过我们在实际数据上的测试,该方法在实际图像的表现并不理想。
6.png
[4]提出了基于语义分支和边缘分支结构的真实世界透明物体分割网络,通过边界注意力模块(Boundary Attention Modeule)增强对透明物体的分割精度,并发布了目前数量最大的透明物体分割标注数据集Trans10K。然而,文章提出的算法和发布的数据集都是处理到语义分割层面,并没有对物体的透明度做进一步处理。
7.png

问题简化
考虑到透明抠图问题本身难以求解,而且数据构建也非常困难,在实际的应用场景中,为保证同时保证算法的泛化能力和抠图效果,我们对问题进行了简化, 我们假设所需处理的物体的透明部分是无色的,且所在环境的背景颜色分布相对均匀。在这样的条件下,背景的自发光或反射光的颜色可以认为是全局一致的颜色,不会出现多种颜色叠加的情况,4.png的估计就只是和背景颜色相关了。特别的,如果预知背景的颜色,可以通过将其作为先验引入4.png中,对结果进行背景杂色的抑制及去除。

模型设计
我们的模型输入为单张图像,首先提取其深层特征。然后进行语义级别的分割和提取,力求完整准确地获得物体所在图像区域(Mask)。同步进行对图像物体不透明度(Opacity)的预测。而不透明度(Opacity)的预测由于在训练的时候没有进行语义的约束,容易存在非主体区域的噪声影响,因此,将两者进行融合可以将透明信息约束在主体范围内。
最后,对于已知背景颜色先验的场景(如已知是绿幕),我们可以引入颜色纠正模块,实现对背景透出的杂色进行去除。对于背景颜色未知,但饱和度低的场景,抠图结果也依然可用。

结果与应用
在已知背景颜色先验的情况下,可以通过颜色纠正模块对背景透出的杂色进行去除(左到右:实拍图,Opacity, 直接抠图结果,色偏纠正结果)
8.png
9.png

对于背景颜色未知,但饱和度低的场景,抠图结果也依然可用。
10.png

更多结果
11.png
12.png
目前在车辆分割算法上,我们已经实现了基于透明抠图的思路用于改善半透车窗区域的效果,使得车辆经过抠图,能够更加自然和谐与新背景进行融合。目前车辆分割已经上线阿里云视觉智能开放平台(https://vision.aliyun.com/),欢迎大家体验试用。
13.png

总结与展望
目前的透明抠图算法,面对更为多样的真实场景下物体,仍然具有以下不足,需要进一步探索解决:
1.真实透明物体图像数据量严重不足,且标注困难;
2.主体不透明度图(Opacity)的预测容易受到图像中噪声的影响;
3.在得到Opacity图后,在未知背景先验,且背景颜色饱和度高的情况下,如何实现将背景色的去除(如下图的杯子整体泛蓝);
后续我们会考虑进一步提取背景的特征,将背景先验知识引入到透明度的估计上,增加RGB偏移输出信息,尝试对前景物体的颜色进行纠正

[1] Environment matting and compositing
[2] Natural Image Matting via Guided Contextual Attention
[3] Learning Transparent Object Matting
[4] Segmenting Transparent Objects in the Wild

目录
相关文章
|
机器学习/深度学习 编解码 算法
基于深度学习的图像抠图算法
数字图像抠图是当前计算机视觉的热门研究问题之一,其广泛应用于电脑特效制作、电影电视作品创作等领域。图像抠图的本质是图像的软分割,旨在提取图片、视频流中创作者感兴趣的前景物体,并将其同背景剥离和目标背景进行融合,从而获得新的具有视觉冲击力的图片或视频流。电影工业上常用绿幕来辅助抠图,但在自然图像中,如何精确地提取前景物体成为了当前研究的重难点。目标物体边缘的细节信息,包括动物的毛发、半透明的物件、颜色相近的物体、模糊的轮廓都会不同程度地影响图像抠图精度。
901 0
|
算法 计算机视觉 数据可视化
揭秘阿里妈妈智能抠图算法:简单几笔,精准抠图
阿里妈妈智能抠图编辑器旨在为设计领域提供简单、易用的在线抠图工具。用户只需要简单几笔甚至不需要任何操作即可以将目标从图片中高精度提取出来,包括头发丝,婚纱,玻璃瓶、烟雾等半透明区域。
6591 0
|
1天前
|
传感器 算法
基于GA遗传算法的多机无源定位系统GDOP优化matlab仿真
本项目基于遗传算法(GA)优化多机无源定位系统的GDOP,使用MATLAB2022A进行仿真。通过遗传算法的选择、交叉和变异操作,迭代优化传感器配置,最小化GDOP值,提高定位精度。仿真输出包括GDOP优化结果、遗传算法收敛曲线及三维空间坐标点分布图。核心程序实现了染色体编码、适应度评估、遗传操作等关键步骤,最终展示优化后的传感器布局及其性能。
|
2天前
|
机器学习/深度学习 算法 安全
基于深度学习的路面裂缝检测算法matlab仿真
本项目基于YOLOv2算法实现高效的路面裂缝检测,使用Matlab 2022a开发。完整程序运行效果无水印,核心代码配有详细中文注释及操作视频。通过深度学习技术,将目标检测转化为回归问题,直接预测裂缝位置和类别,大幅提升检测效率与准确性。适用于实时检测任务,确保道路安全维护。 简介涵盖了算法理论、数据集准备、网络训练及检测过程,采用Darknet-19卷积神经网络结构,结合随机梯度下降算法进行训练。
|
3天前
|
算法 数据可视化 数据安全/隐私保护
一级倒立摆平衡控制系统MATLAB仿真,可显示倒立摆平衡动画,对比极点配置,线性二次型,PID,PI及PD五种算法
本课题基于MATLAB对一级倒立摆控制系统进行升级仿真,增加了PI、PD控制器,并对比了极点配置、线性二次型、PID、PI及PD五种算法的控制效果。通过GUI界面显示倒立摆动画和控制输出曲线,展示了不同控制器在偏转角和小车位移变化上的性能差异。理论部分介绍了倒立摆系统的力学模型,包括小车和杆的动力学方程。核心程序实现了不同控制算法的选择与仿真结果的可视化。
31 15
|
3天前
|
算法
基于SOA海鸥优化算法的三维曲面最高点搜索matlab仿真
本程序基于海鸥优化算法(SOA)进行三维曲面最高点搜索的MATLAB仿真,输出收敛曲线和搜索结果。使用MATLAB2022A版本运行,核心代码实现种群初始化、适应度计算、交叉变异等操作。SOA模拟海鸥觅食行为,通过搜索飞行、跟随飞行和掠食飞行三种策略高效探索解空间,找到全局最优解。
|
4天前
|
算法 数据安全/隐私保护 计算机视觉
基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
本项目展示了256×256图像通过双线性插值放大至512×512的效果,无水印展示。使用Matlab 2022a和Vivado 2019.2开发,提供完整代码及详细中文注释、操作视频。核心程序实现图像缩放,并在Matlab中验证效果。双线性插值算法通过FPGA高效实现图像缩放,确保质量。
|
5天前
|
机器学习/深度学习 数据采集 算法
基于GWO灰狼优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a,展示了时间序列预测算法的运行效果(无水印)。核心程序包含详细中文注释和操作视频。算法采用CNN-GRU-SAM网络,结合灰狼优化(GWO),通过卷积层提取局部特征、GRU处理长期依赖、自注意力机制捕捉全局特征,最终实现复杂非线性时间序列的高效预测。
|
5天前
|
传感器 算法 物联网
基于粒子群算法的网络最优节点部署优化matlab仿真
本项目基于粒子群优化(PSO)算法,实现WSN网络节点的最优部署,以最大化节点覆盖范围。使用MATLAB2022A进行开发与测试,展示了优化后的节点分布及其覆盖范围。核心代码通过定义目标函数和约束条件,利用PSO算法迭代搜索最佳节点位置,并绘制优化结果图。PSO算法灵感源于鸟群觅食行为,适用于连续和离散空间的优化问题,在通信网络、物联网等领域有广泛应用。该算法通过模拟粒子群体智慧,高效逼近最优解,提升网络性能。

热门文章

最新文章