基于深度学习的图像抠图算法

简介: 数字图像抠图是当前计算机视觉的热门研究问题之一,其广泛应用于电脑特效制作、电影电视作品创作等领域。图像抠图的本质是图像的软分割,旨在提取图片、视频流中创作者感兴趣的前景物体,并将其同背景剥离和目标背景进行融合,从而获得新的具有视觉冲击力的图片或视频流。电影工业上常用绿幕来辅助抠图,但在自然图像中,如何精确地提取前景物体成为了当前研究的重难点。目标物体边缘的细节信息,包括动物的毛发、半透明的物件、颜色相近的物体、模糊的轮廓都会不同程度地影响图像抠图精度。

    基于深度学习的方法类似于一个黑盒,通过搭建学习网络迭代地求解出最优的 Alpha matte。He 等人使用一个用于分割的 CNN 网络训练生成出三分图,再结合 Closed-form 方法抠出质量更优的前景。Deep Image Matting不同于前面文献基于传统的方法,认为抠图问题仍是个颜色问题,尽管加入了别的特征信息,却依旧是在提取低水平信息(Low-level context)。文章作者提出了全卷积的编码解码网络来提取图像深层次的信息,直接从用户输入的图像和输入的三分图中计算Alpha matte 而不是仅仅依赖于颜色、纹理等浅层信息。

     AlphaGAN使用生成对抗网络来实现抠图,生成器部分生成得到 Alpha 通道流,判别器部分用于判断合成图像是否为真,使用 PatchGAN获取高频特征信息,避免直接生成的 Alpha matte 过于平滑,使训练生成器能够得到更锐利的结果。  

     深度人像抠图提出了一种不需要三分图作为先验输入的人像抠图算法,该方法基于以往的文献创建了私有的人像抠图数据集,并将原始图像作为输入,网络结合人像结构信息自动预测三分图,最终得到 Alpha matte。Zhang 等人分别在解码器部分预测了前景和背景区域,随后融合两个结果以预测更好的 Alpha matte 结果。

     基于学习的采样方法则通过估计前景和背景颜色作为网络的先验,文章认为背景可以作为前景遮挡的不透明物,其具有连续的低层次特征信息。首先基于连续的低层次信息估计背景,再由背景估计前景部分,最终将这两个部分作为先验输入来预测 Alpha 值。

     AdaMatting提出将抠图细分成自适应三分图估计和 Alpha matte 估计两个子任务,将半透明区域和不透明的前景背景分离,即便输入的三分图不够精细,也能预测出良好的抠图结果。HAttMatting通过多层特征提取网络得到的高级语义信息和低级外观信息来改进前景细节,提出了端到端的分层注意力抠图网络。Adobe 最新的 HDMatting则可处理超高分辨率的 6000×6000 图像。算法基于图像块剪裁拼接的形式,解决了不同图像块间的语义一致性和依赖性问题。提出了通过给定的三分图先验来对跨图像块的语义依赖性建立数学模型的全新超高分辨率图像抠图方法。

相关文章
|
9天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
137 55
|
19天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
108 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
13天前
|
机器学习/深度学习 算法 信息无障碍
基于GoogleNet深度学习网络的手语识别算法matlab仿真
本项目展示了基于GoogleNet的深度学习手语识别算法,使用Matlab2022a实现。通过卷积神经网络(CNN)识别手语手势,如"How are you"、"I am fine"、"I love you"等。核心在于Inception模块,通过多尺度处理和1x1卷积减少计算量,提高效率。项目附带完整代码及操作视频。
|
16天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于深度学习网络的宝石类型识别算法matlab仿真
本项目利用GoogLeNet深度学习网络进行宝石类型识别,实验包括收集多类宝石图像数据集并按7:1:2比例划分。使用Matlab2022a实现算法,提供含中文注释的完整代码及操作视频。GoogLeNet通过其独特的Inception模块,结合数据增强、学习率调整和正则化等优化手段,有效提升了宝石识别的准确性和效率。
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
80 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
1月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
89 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
89 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 编解码 算法
什么是超分辨率?浅谈一下基于深度学习的图像超分辨率技术
超分辨率技术旨在提升图像或视频的清晰度,通过增加单位长度内的采样点数量来提高空间分辨率。基于深度学习的方法,如SRCNN、VDSR、SRResNet等,通过卷积神经网络和残差学习等技术,显著提升了图像重建的质量。此外,基于参考图像的超分辨率技术通过利用高分辨率参考图像,进一步提高了重建图像的真实感和细节。
|
1月前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
85 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习的奇迹:如何用神经网络识别图像
【10月更文挑战第33天】在这篇文章中,我们将探索深度学习的奇妙世界,特别是卷积神经网络(CNN)在图像识别中的应用。我们将通过一个简单的代码示例,展示如何使用Python和Keras库构建一个能够识别手写数字的神经网络。这不仅是对深度学习概念的直观介绍,也是对技术实践的一次尝试。让我们一起踏上这段探索之旅,看看数据、模型和代码是如何交织在一起,创造出令人惊叹的结果。
34 0