一种基于深度学习的自然图像抠图方法及抠图装置

文档序号:29745112发布日期:2022-04-21 21:26阅读:147来源:国知局
一种基于深度学习的自然图像抠图方法及抠图装置

1.本发明涉及一种抠图方法及其抠图装置,尤其涉及一种基于深度学习的自然图像抠图方法及其抠图装置。


背景技术:

2.图像抠图是计算机视觉中一项基础但较为困难的问题,旨在精确的估计前景、背景及透明度。抠图技术的应用十分广泛,在图像编辑和电影制作中尤为关键。下述公式为图像合成的定义,其中αi,fi,bi分别对应像素点i处的透明度、前景值和背景值。每一个像素点的都是前景和背景依据透明度进行线性组合。当αi=0时,表示当前像素点完全由背景像素组成,当αi=1时,表示当前像素点完全由前景像素组成,当αi∈[0,1]时,当前像素由前景和背景线性组成。从公式可以看出,抠图问题已知自然图像i的三通道像素值,需对于透明度遮罩(alpha matte)构成的单通道图像进行求解,而单通道的透明度、三通道的前景、三通道的背景共7个未知数,是一个高度欠约束问题。
[0003]ii
=α
ifi
+(1-αi)bi,αi∈[0,1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(1)
[0004]
图像抠图常使用三分图(trimap)作为额外输入对问题进行约束,三分图将图像分为前景、背景和未知区域三个部分,在三分图的约束下只需求解未知区域中的透明度遮罩即可,大大简化了问题。传统的抠图方法通常基于采样或基于传播,而这些方法的问题在于过于依赖颜色信息,在颜色对比清晰的图片上表现良好,但在不符合颜色分布假设的情况下经常失败。近年来深度学习的兴起和其在图像处理方向上取得的成功使得研究人员们开始使用深度学习的方法研究抠图,比如使用u-net结构的编-解码器网络直接对透明度遮罩进行求解,虽然结构经典但在细节上还略有欠缺。又如使用背景图像作为额外输入,通过减少未知数个数来简化问题的抠图方法,虽然在提供了背景的视频、图像抠图中效果不错,但对使用场景的限制也使得该方法较难广泛应用。还有一些深度学习方法试图不使用三分图作为额外输入,先通过图像分割的网络求得粗略的前背景区域,再用这些信息作为指引进行抠图,虽然实现了无额外输入的端到端抠图,但是从效果上看还是不如使用三分图的方法,并且非常依赖特定数据集,泛化能力较差。


技术实现要素:

[0005]
为了要解决现有的自然图像抠图不够精细,在未知区域较大图片中效果不好的技术问题,本发明提出一种基于深度学习的自然图像抠图方法及其抠图装置。
[0006]
本发明采用以下技术方案实现:一种基于深度学习的自然图像抠图方法,其包括以下步骤:
[0007]
步骤一,设计四通道的图像输入,前三个通道是待抠图的自然图像,第四通道为与所述待抠图的自然图像相对应的三分图;其中,所述待抠图的自然图像选自一个图像训练集;
[0008]
步骤二,采用预先训练好的预训练模型提取所述图像输入的特征图;
[0009]
步骤三,定义第一阶段,在所述第一阶段内:设定基于深度学习的网络模型一,针对所述特征图得到所述网络模型一的第一阶段的粗略透明度遮罩;
[0010]
步骤四,定义第二阶段,在所述第二阶段内:将所述特征图随机取多个区域,并将这些区域中对应的粗略透明度遮罩作为第五通道添加到所述图像输入中;在当前的所述图像输入下,一方面采用基于深度学习的网络模型二,得到所述网络模型二的第二阶段的精细透明度遮罩,另一方面采用卷积神经网络预测求解精细透明度遮罩的困难难度;
[0011]
步骤五,对一个图像测试集中的所有待抠图的自然图像进行步骤一至四的测试,其中,针对每张待抠图的自然图像的特征图,先计算各个区域的困难难度,根据各个区域的困难难度进行排序,困难程度低的区域直接预测精细透明度遮罩;对于困难程度高的区域,与相邻区域重叠的部分采用相应相邻区域的粗略透明度遮罩作为引导预测相应的精细透明度遮罩。
[0012]
作为上述方案的进一步改进,计算粗略透明度遮罩时:网络模型的每一层的特征图都经过一个压缩激发注意力模块,通过压缩激发注意力模块的压缩、激发操作对每一层的特征图计算各通道的注意力,作为权重分别乘以对应通道的特征图并得到使用注意力后的特征图,将这些特征图用在跳过连接中,融合浅层和深层不同尺度的信息。
[0013]
作为上述方案的进一步改进,为了对图像测试集中的图像分区域处理更加精细,对相应图像做滑动窗口处理。
[0014]
优选地,将adobe自然图像抠图数据集中的431张前景图像分成两部分,分别有358张和73张前景图像,将这些前景图像分别与coco数据集中的图像按照1:100的比例依据透明度遮罩进行合成得到35800张图像的图像训练集和7300张图像的图像验证集;将composition-1k测试数据集作为图像测试集,其中包含1000个测试图像,这些图像主要由来自pascal voc数据集的50个前景对象和1000个不同的背景图像组成。
[0015]
作为上述方案的进一步改进,所述预训练模型为型号为resnext-101的预训练模型。
[0016]
优选地,将自然图像与三分图拼接为4通道的输入x,使用101层的残差网络resnext-101预训练模型,通过下采样和卷积等操作得到四个不同尺度的特征图layer0,layer1,layer2,layer3;将得到的特征图分别通过压缩激发注意力模块,压缩激发注意力模块由一个池化层和一个全连接层构成,将特征图转化为一维的权重,将这些权重和各个通道点乘得到特征图并由此得到第一阶段的粗略透明度遮罩。
[0017]
再优选地,使用损失函数用于两个优化网络模型的参数,损失的目标为使得抠图结果与给定的相应透明度遮罩真值接近,所述损失函数公式如下:
[0018][0019]
式中,li是在i像素处的损失,代表在i像素处的透明度遮罩的预测,代表在i像素处的透明度遮罩的预测,代表在i像素处的透明度遮罩的真值,ε是所述损失函数的函数常数。
[0020]
作为上述方案的进一步改进,在图像训练集中的数据处理方式为随机裁剪为320*320大小的区域,现在此基础上随机向上、下、左、右、左上、左下、右上、右下这些方向移动120个像素来模拟测试时的重叠区域。
[0021]
本发明还提供一种基于深度学习的自然图像抠图装置,其包括:
[0022]
图像输入构成模块,用于设计四通道的图像输入,前三个通道是待抠图的自然图像,第四通道为与所述待抠图的自然图像相对应的三分图;其中,所述待抠图的自然图像选自一个图像训练集;
[0023]
特征图提取模块,用于采用预先训练好的预训练模型提取所述图像输入的特征图;
[0024]
透明度遮罩获取模块,用于定义第一阶段,在所述第一阶段内:设定基于深度学习的网络模型一,针对所述特征图得到所述网络模型一的第一阶段的粗略透明度遮罩;还用于定义第二阶段,在所述第二阶段内:将所述特征图随机取多个区域,并将这些区域中对应的粗略透明度遮罩作为第五通道添加到所述图像输入中;在当前的所述图像输入下,一方面采用基于深度学习的网络模型二,得到所述网络模型二的第二阶段的精细透明度遮罩,另一方面采用卷积神经网络预测求解精细透明度遮罩的困难难度;
[0025]
测试验证模块,用于对一个图像测试集中的所有待抠图的自然图像启动所述图像输入构成模块、所述特征图提取模块、所透明度遮罩获取模块进行测试,其中,针对每张待抠图的自然图像的特征图,先计算各个区域的困难难度,根据各个区域的困难难度进行排序,困难程度低的区域直接预测精细透明度遮罩;对于困难程度高的区域,与相邻区域重叠的部分采用相应相邻区域的粗略透明度遮罩作为引导预测相应的精细透明度遮罩。
[0026]
作为上述方案的进一步改进,所述自然图像抠图装置采用了上述任意基于深度学习的自然图像抠图方法。
[0027]
本发明的基于深度学习的图像抠图方法,用以解决图像抠图问题中抠图结果不够精细以及在小内存设备上抠图会导致内存溢出的问题。本发明主要步骤如下:步骤1:对于输入的图像,使用预训练模型提取每个层的特征,将这些特征通过注意力模块得到跳过连接中的特征作为不同尺度的信息输入到深度学习的网络模型一中得到第一阶段的透明度遮罩预测。步骤2:对于第一阶段的输入,随机选取一部分区域,用透明度遮罩预测做为额外输入进行引导。步骤 3:使用第一阶段相同的网络结构(即深度学习的网络模型二)进行第二阶段的训练,学习预测的困难度并得到第二阶段的训练模型。步骤4:对测试图像进行滑动窗口分块,使用第二阶段的模型对所有分块按照预测困难度进行排序,较难预测的块最后预测,在重叠区域使用第一阶段的预测作为引导并进一步细化。结果表明,在公共自然图像抠图数据集中,发明提出的方法获得了较好的效果,并在网络模型参数较大时可在内存较小的设备中运行。
附图说明
[0028]
图1为本发明基于深度学习的自然图像抠图方法的主要步骤流程图;
[0029]
图2为图1中采用的网路模型的示意图。
具体实施方式
[0030]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0031]
请参阅图1,本发明的基于深度学习的自然图像抠图方法主要包括以下步骤:
[0032]
步骤一,设计四通道的图像输入,前三个通道是待抠图的自然图像,第四通道为与所述待抠图的自然图像相对应的三分图;其中,所述待抠图的自然图像选自一个图像训练集;
[0033]
步骤二,采用预先训练好的预训练模型提取所述图像输入的特征图;
[0034]
步骤三,定义第一阶段,在所述第一阶段内:设定基于深度学习的网络模型一,针对所述特征图得到所述网络模型一的第一阶段的粗略透明度遮罩;
[0035]
步骤四,定义第二阶段,在所述第二阶段内:将所述特征图随机取多个区域,并将这些区域中对应的粗略透明度遮罩作为第五通道添加到所述图像输入中;在当前的所述图像输入下,一方面采用基于深度学习的网络模型二,得到所述网络模型二的第二阶段的精细透明度遮罩,另一方面采用卷积神经网络预测求解精细透明度遮罩的困难难度;
[0036]
步骤五,如图2所示,对一个图像测试集中的所有待抠图的自然图像进行步骤一至四的测试,其中,针对每张待抠图的自然图像的特征图,先计算各个区域的困难难度,根据各个区域的困难难度进行排序,困难程度低的区域直接预测精细透明度遮罩;对于困难程度高的区域,与相邻区域重叠的部分采用相应相邻区域的粗略透明度遮罩作为引导预测相应的精细透明度遮罩。
[0037]
通过基于深度学习的网络模型一对四通道的图像输入,得到了第一阶段的粗略透明度遮罩;使用与基于深度学习的网络模型一相同的编解码网络即基于深度学习的网络模型二,将输入部分随机在当前的块上取左上、左下、右上、右下等区域,并将这些区域中对应的第一阶段透明度遮罩作为第五通道添加到输入中;网络中不仅学习求解透明度遮罩的方法,同时学习到求解透明度遮罩的困难程度;可对测试的图片进行滑动窗口分块,还可先按照求解难度排序,再按排序结果对这些分块进行两阶段预测。本发明在技术上解决了未知区域较大图片难以抠图以及网络参数过多无法在内存较小的设备上抠图的问题,并在公开自然图像抠图数据集上取得了较好的结果。
[0038]
在本实施例中,输入为待抠图的自然图像+对应的三分图构成的4通道图像,使用resnext-101预训练模型和编-解码网络对图像进行初步的抠图,解码器将初步结果输出得到粗略透明度遮罩预测。选择当前块的一个随机区域,将这个区域在第一阶段中的透明度遮罩预测作为额外指导信息添加为第五通道输入,前四通道的特征图由自然图像和三分图组成。使用第一阶段相同的编解码结构网络,同时学习如何求解透明度遮罩和预测困难度。对测试集图像进行测试,使用滑动窗口对图像进行分块处理,对所有的块按照预测困难度排序,困难程度低的先进行预测,对于较难预测的块,其与旁边块的重叠部分用已预测过的透明度遮罩作为额外输入作为引导得到最终预测。
[0039]
对于输入的自然图像和三分图组成的四通道输入x,使用resnext-101的预训练模型作为编码器部分得到每层的特征图,每一层的特征图都经过一个压缩激发注意力模块,通过压缩激发模块的压缩、激发操作对每一个特征图计算各通道的注意力,作为权重分别乘以对应通道的特征图并得到使用注意力后的特征图,将这些特征图用在跳过连接中,融合不同尺度的信息。最后通过卷积、反池化等操作构成的解码器得到第一阶段粗略的透明度遮罩预测。
[0040]
首先,将adobe(公司名称)自然图像抠图数据集中的431张前景图像分成两部分,分别有358张和73张前景图像,将这些前景图像分别与coco数据集中的图像按照1:100的比
例依据透明度遮罩进行合成得到35800张图像的训练集和7300张图像的验证集。
[0041]
其次,将自然图像与三分图图像拼接为四通道的输入x,使用resnext-101 预训练模型,通过下采样和卷积等操作得到四个不同尺度的特征图layer0, layer1,layer2,layer3。将得到的特征图分别通过压缩激发注意力模块,压缩激发注意力模块由一个池化层和一个全连接层构成,将特征图转化为一维的权重,将这些权重和各个通道点乘得到特征图并输入到解码器中得到第一阶段的透明度遮罩预测。使用的损失函数公式如下:
[0042][0043]
式中,li是在i像素处的损失,代表在i像素处的透明度遮罩的预测,代表在i像素处的透明度遮罩的预测,代表在i像素处的透明度遮罩的真值,ε是所述损失函数的函数常数。ε可以是一个很小的值,加上ε是为了在损失为0时仍可求导。
[0044]
为了模拟在测试中的滑动窗口,将第二阶段训练中的数据做以下处理。随机的选择向上、下、左、右、左上、左下、右上、右下这些方向移动(具体像素的数量和测试中滑动窗口步幅保持一致)。将移动过程中的重叠区域添加额外的第五通道,第五通道的值为使用第一阶段模型对该区域的透明度遮罩预测。
[0045]
在本实施例中,在训练集中的数据处理方式为随机裁剪为320*320大小的块,现在此基础上随机向上、下、左、右、左上、左下、右上、右下这些方向移动120个像素来模拟测试时的重叠区域。在这些区域中将输入部分增加一个通道,这个通道的值为第一阶段的透明度遮罩预测,使用透明度遮罩和三分图对这些区域共同进行引导。
[0046]
第二阶段的网络结构和第一阶段保持一致,选用相同网络的原因为需要学习的内容差距不大,均是从值为0到1之间的输入中学习到透明度的信息和指引,它们的差别在于三分图中的值只有0、0.5、1,而第一阶段的透明度遮罩预测是 0到1之间所有可能的值。将修改后的输入放入网络中。同时使用一个小型卷积网络学习到预测困难度。
[0047]
首先,使用和第一阶段相同的网络结构,对添加一个通道后的输入进行第二阶段的训练,输出为第二阶段的透明度遮罩预测。
[0048]
其次,使用一个小型的cnn卷积网络对图像预测难度进行训练。
[0049]
对测试集中的图像按照320*320像素的大小分块(分块大小与训练过程中所取的大小一致),并做滑动窗口处理。将所有的滑块按照第二阶段中学习到的预测困难度排序,困难程度低的块先进行预测,对于较难预测的块,使用它旁边已经预测过的块作为指引,重叠的区域用预测过的透明度遮罩作为第五通道的引导,得到最终整张图像的预测。
[0050]
测试集中的图像使用滑动窗口的方式,按照每块320*320大小、步幅为120 像素进行分块,分块后使用第二阶段中的困难度预测得到所有块的预测难度,并将所有的块按照预测难度进行排序,难度小的块先预测,当预测到较困难的块时,将重叠区域的输入增加一个通道,通道的值为第一阶段的透明度遮罩预测,并使用第二阶段的模型对当前块进行预测。最后得到整张图片的预测值。
[0051]
本发明的自然图像抠图方法,端到端进行两阶段的图像抠图的方法,解决了自然图像抠图不够精细,在未知区域较大图片中效果不好的问题,提出的方法步骤有:步骤1,通过在抠图问题中广泛使用的编-解码网络对四通道输入(原图 +三分图)进行特征编解码(就是特征图的提取),得到了第一阶段的粗略透明度遮罩;步骤2,使用相同的编解码网络,
将输入部分随机在当前的块上取左上、左下、右上、右下等区域,并将这些区域中对应的第一阶段透明度遮罩作为第五通道添加到输入中;步骤3,网络中不仅学习求解透明度遮罩的方法,同时学习到求解透明度遮罩的困难程度(也可被形容为准确程度,困难程度越低,预测结果越准确);步骤4,对测试的图片进行滑动窗口分块,先按照求解难度排序,再按排序结果对这些分块进行两阶段预测。本发明在技术上解决了未知区域较大图片难以抠图以及网络参数过多无法在内存较小的设备上抠图的问题,并在公开自然图像抠图数据集上取得了较好的结果。
[0052]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0053]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明申请的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1