一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于生成图像抠图的三分图的方法和系统与流程

2022-07-14 03:46:41 来源:中国专利 TAG:


1.本公开涉及一种图像处理系统及其方法,更具体地,涉及一种用于生成图像抠图(image matting)的三分图(tri-map)的方法和系统。


背景技术:

2.一般来说,在图像处理领域,一种称为图像抠图的技术被用来准确估计图像和视频中的前景对象。所估计的前景对象从图像和视频中被提取出来。图像抠图是图像和视频编辑应用中的重要技术,诸如用于创造视觉效果的电影制作,对背景施加色彩(color pop),对背景进行遮蔽或施加模糊效果,透视缩放,结合两个或更多个图像和视频等。图像抠图技术通常会生成用于将图像或视频中的前景与背景分开的“前景蒙版(alpha matte)”或“蒙版(matte)”。此外,图像抠图与图像分割问题不同,其中,图像分割生成二值图像,其中,图像中的像素属于前景或属于背景。然而,图像抠图不同于图像分割,其中,一些像素可能既属于前景,也属于背景,这种像素称为未知像素或混合像素。估计图像中的未知像素是使用三分图执行的。使用图像或视频的三分图,在图像抠图中产生“前景蒙版”。


技术实现要素:

3.技术问题
4.现有的图像抠图方法或目前最先进的分割算法在包括诸如头发丝、毛皮衣服等的对象的图像中引入更精细的边界细节的方面存在限制。此外,现有的图像抠图方法通常使用单独的三分图输入或用户干预来标识包括未知像素的区域。
5.现有的人脸抠图(matting)技术之一是利用脸部点和抓取切割来自动生成三分图。另一种现有的交互式图像抠图技术需要人的互动,用笔画(bush stroke)来标记未知区域。然而,这些技术需要太多输入,或者需要人为干预,从而使蒙版生成过程变得复杂,并且容易出现人为错误。因此,有必要从图像或视频自动生成精细的前景蒙版,而无需任何用户干预。
6.上面提供的信息仅用于加强对本公开的一般背景的理解,而不应被视为承认或以任何形式表明该信息构成本领域技术人员已经知道的现有技术。
7.问题的解决方案
8.在接下来的描述中,将对额外方面进行部分阐述,并且额外方面将部分地从描述中变得明显,或者可以通过所呈现的实施例的实践来了解。
9.根据实施例,提供了一种对图像执行图像抠图的方法,该方法包括:由图像处理系统检测图像中的一个或多个对象;由图像处理系统使用一个或多个图像分割技术来确定用于一个或多个对象中的每一个的与图像关联的置信图;以及,由图像处理系统基于图像中的一个或多个对象中的每一个的大小和图像中的第一像素与图像中的一个或多个对象中的至少一个中的第二像素之间的距离中的至少一个,从置信图生成用于图像中的一个或多个对象中的每一个的三分图,其中,三分图被用来执行图像抠图。
10.检测图像中的一个或多个对象包括:使用一个或多个对象检测技术来标识图像中的一个或多个对象。
11.确定置信图包括:基于预训练深度学习模型、深度传感器或飞行时间(tof)传感器中的至少一个,计算用于图像中的一个或多个对象的置信图;以及,使用基于颜色相似性的边界校正技术修改置信图。
12.该方法还包括:使用图像的大小与图像中的一个或多个对象中的每一个的大小的比例和预定值作为变换函数的输入来确定用于一个或多个对象中的每一个的变换值。
13.生成用于图像中的一个或多个对象中的每一个的三分图还包括:计算从图像中的位于一个或多个对象的外部的第一像素到图像中的一个或多个对象中的至少一个中的第二像素的距离;将该距离和与一个或多个对象中的每一个对应的变换值进行比较;以及,基于距离小于变换值,将第一像素标记为未知像素;或者,基于距离大于或等于变换值,使用置信图将第一像素标记为前景像素或背景像素中的至少一个。
14.执行图像抠图包括:将图像和图像的三分图提供给第一预训练深度学习模型;以及,生成图像的前景蒙版,其中,图像中的前景和背景是使用前景蒙版分离的。
15.根据实施例,提供了一种用于对图像执行图像抠图的图像处理系统,图像处理系统包括:存储器;和处理器,其被配置为:检测图像中的一个或多个对象;使用一个或多个图像分割技术来确定用于一个或多个对象中的每一个的与图像关联的置信图;以及,基于图像中的一个或多个对象中的每一个的大小和图像中的第一像素与图像中的一个或多个对象中的至少一个中的第二像素之间的距离中的至少一个,从置信图生成用于图像中的一个或多个对象中的每一个的三分图,其中,三分图被用来执行图像抠图。
16.处理器还被配置为:使用一个或多个对象检测技术来标识图像中的一个或多个对象。
17.处理器还被配置为:基于预训练深度学习模型、深度传感器或飞行时间(tof)传感器中的至少一个,计算用于图像中的一个或多个对象的置信图;以及,使用基于颜色相似性的边界校正技术修改置信图。
18.处理器还被配置为:使用图像的大小与图像中的一个或多个对象中的每一个的大小的比例和预定值作为变换函数的输入来确定用于一个或多个对象中的每一个的变换值。
19.处理器还被配置为:计算从图像中的位于一个或多个对象的外部的第一像素到图像中的一个或多个对象中的至少一个中的第二像素的距离;将距离和与一个或多个对象中的每一个对应的变换值进行比较;以及,基于距离小于变换值,将第一像素标记为未知像素;或者,基于距离大于或等于变换值,使用置信图将第一像素标记为前景像素或背景像素中的至少一个。
20.处理器还被配置为:将图像和图像的三分图提供给第一预训练深度学习模型;以及,生成图像的前景蒙版,其中,图像中的前景和背景是使用前景蒙版分离的。
21.根据实施例,提供了一种对图像执行图像抠图的方法,该方法包括:由图像处理系统检测图像中的一个或多个对象;由图像处理系统将图像和图像中的一个或多个对象提供给第二预训练深度学习模型,以生成用于图像中一个或多个对象中的每一个的三分图,第二预训练深度学习模型基于图像的大小和图像中的一个或多个对象中的每一个的大小中的至少一个来生成三分图;以及,由图像处理系统使用图像的三分图来对图像执行图像抠
图。
22.该方法还包括:训练第二预训练深度学习模型,其中,训练第二预训练深度学习模型包括:提供一个或多个样本图像作为初始深度学习模型的输入,其中,初始深度学习模型基于具有跳跃连接(skip connection)的编码器解码器模型;基于初始深度学习模型的输出,使用损失函数计算用于一个或多个样本图像中的每个像素的损失值,其中,输出表示用于样本图像中的每个像素的标签;基于与一个或多个样本图像中的每个像素关联的标签来聚合损失值,其中,标签包括前景像素、背景像素或未知像素之一;以及,基于聚合的损失值,使用监督学习技术修改初始深度学习模型的一个或多个权重。
23.图像中的一个或多个对象中的至少一个中的第二像素是基于应用于图像中的一个或多个对象中的每一个的边界框来确定的,其中,第二像素位于边界框的中心。
24.生成用于图像中的一个或多个对象中的每一个的三分图包括:使用形态学运算生成三分图,其中,基于图像的大小与图像中的一个或多个对象中的每一个的大小的比例来确定形态学运算的核(kernel)大小。
25.一个或多个对象检测技术包括使用利用haar(哈尔)特征的基于机器学习的viola-jones(维奥-拉琼斯)对象检测框架的边界框技术、标度不变特征变换(sift)、定向梯度直方图(hog)特征、基于深度学习的区域建议、用于对象检测的单次细化神经网络或单次多框检测器中的至少一个。
附图说明
26.本公开的特定实施例的上述和其他方面、特征和优点将从结合附图的以下描述中变得更加明显,其中:
27.图1示出根据实施例的用于生成图像抠图的三分图的示例性环境;
28.图2显示根据实施例的图像处理系统的详细框图;
29.图3显示示出根据实施例的用于基于变换值和置信图生成图像抠图的三分图的方法步骤的流程图;
30.图4a显示根据实施例的对图像中的一个或多个对象的示例性检测;
31.图4b显示根据实施例的使用深度传感器对置信图的示例性确定;
32.图4c显示根据实施例的使用飞行时间传感器对置信图的示例性确定;
33.图4d显示根据实施例的使用预训练深度学习模型的置信图的示例性确定和使用基于颜色相似性的边界校正技术的置信图的修改;
34.图4e显示根据实施例的为图像生成的示例性三分图;
35.图4f显示根据实施例的从图像的三分图生成的示例性前景蒙版;
36.图5显示示出根据实施例的用于使用第二深度学习模型生成图像抠图的三分图的方法步骤的流程图;
37.图6显示根据实施例的使用第二深度学习模型和第一深度学习模型对图像的三分图和前景蒙版的示例性生成;以及
38.图7显示根据实施例的用于生成图像抠图的三分图的计算机系统。
具体实施方式
39.在本公开中,术语“示例性”在本文被用来指“作为示例、实例或说明”。本公开的描述为“示例性”的任何实施例或实施方式不应被理解为比其他实施例更优选或更有利。
40.尽管本公开的实施例可以有各种修改和替代形式,不过在附图中,以示例的方式显示本公开的具体实施例,其在下面将进行详细描述。然而,应当理解,本文公开的实施例不是为了限制本公开的范围,相反,本公开应被理解为涵盖在本公开的精神和范围内的所有修改、等同物和替代物。
41.术语“包括”、“包含”或其任何其他变体是指涵盖非排他性的包括,使得包括组件或步骤的列表的设置、设备或方法不仅仅包括这些组件或步骤,而是可能包括未明确列出的、或者设置或设备或方法所固有的其他组件或步骤。换句话说,在没有更多约束的情况下,在设备或系统或装置中的由“包括......”开展的一个或多个元素不排除设备或系统或装置中存在其他元素或额外元素。
42.在以下对实施例的描述中,参考了构成本文一部分的附图,在附图中,以本公开可实践的具体实施例的方式进行显示。这些实施例的描述足够详细,以使本领域技术人员能够实践本公开,而且应当理解,可以利用其他实施例,并且可以在不脱离本公开的范围的情况下进行改变。
43.图1显示根据实施例的用于生成图像抠图的三分图的示例性环境。
44.本公开涉及一种生成三分图(107)以执行图像抠图的方法。图像抠图技术生成“前景蒙版”(109)。前景蒙版(109)用于将图像(103)或视频中的前景与背景分开。图像(103)或视频可以是rgb图像或rgb视频、cmyk图像或cmyk视频等。在图像(103)中,前景表示图像(103)中的距离用于捕获图像(103)的相机(110)较近的部分,背景表示图像(103)中的距离用于捕获图像(103)的相机(110)较远的部分。例如,图像(103)中的三个人可以被包括在前景中,并且图像(103)中的树木可以被包括在背景中。此外,图像处理系统(102)被用来执行图像抠图。图像处理系统(102)可以在用户设备(诸如图1所示的智能手机(101)、智能手表、笔记本计算机、台式计算机、服务器、平板计算机等)中的至少一个中实现。图像处理系统(102)可以对图像(103)或视频实时执行图像抠图。图像处理系统(102)从图像捕获设备(诸如相机(110))或从存储介质接收图像(103)。图像处理系统(102)检测图像(103)中的一个或多个对象(104a、104b、104c,统称为“104”)。一个或多个对象(104)表示图像(103)中的将标识为图像(103)中的前景的部分。例如,一个或多个对象(104)可以包括一个或多个人、一个或多个动物、一个或多个物品、一个或多个动画人物、一个或多个车辆等中的至少一个。图像处理系统(102)使用一个或多个对象检测技术来检测图像(103)中的一个或多个对象(104)。例如,一个或多个对象检测技术可以包括利用haar特征的基于机器学习的viola-jones对象检测框架、标度不变特征变换(sift)、定向梯度直方图(hog)特征、以及基于深度学习的区域建议、用于对象检测的单次细化神经网络、单次多框检测器等。例如,如图1所示,图像处理系统(102)检测三个人的脸作为图像(103)中的一个或多个对象(104)。在一个实施例中,图像处理系统(102)可以接收指示图像(103)中的一个或多个对象(104)的用户输入。
45.此外,图像处理系统(102)使用一个或多个图像分割技术确定用于图像(103)中的一个或多个对象(104)中的每一个的与图像(103)关联的置信图(105)。一个或多个图像分
割技术可以包括预训练深度学习模型、深度传感器和飞行时间(tof)传感器中的至少一个。置信图(105)表示像素属于图像(103)中的前景或背景的概率。
46.在实施例中,图像处理系统(102)使用变换函数计算用于一个或多个对象(104)中的每一个的变换值(106)。在此,图像(103)的大小和/或图像(103)中的一个或多个对象(104)中的每一个的大小中的至少一个可以作为输入被提供给变换函数。变换函数可以包括线性变换函数或非线性变换函数中的至少一个。例如,变换函数可以是双曲正切函数(tanh)、sigmoid、指数、高斯等。变换值(106)被计算为与图像(103)中的一个或多个对象(104)中的每一个的大小成正比。例如,对于图像(103)中的三个人,变换值(106)对于第一对象(104a)可以是14,对于第二对象(104b)可以是5,对于第三对象(104c)可以是8。
47.在实施例中,在计算变换值(106)之后,图像处理系统(102)生成用于图1所示的图像(103)中的一个或多个对象(104)中的每一个的三分图(107)。基于图像(103)中的每个像素与图像(103)中的一个或多个对象(104)中的每一个之间的距离和与一个或多个对象(104)中的每一个对应的变换值(106),从置信图(105)生成三分图(107)。图像(103)的三分图(107)表示明确的背景(即,黑色)、明确的前景(即,白色)和未知区域(即,灰色)。在实施例中,图像处理系统(102)可以基于图像(103)和图像(103)中的一个或多个对象(104),使用预训练第二深度学习模型生成三分图(107)。第二深度学习模型可以被预训练以学习:确定置信图(105)、计算变值(106)和生成图像(103)的三分图(107)。在实施例中,图像处理系统(102)使用形态学运算生成三分图(107),并且基于图像(103)的大小与图像(103)中的一个或多个对象(104)中的每一个的大小的比例(例如,脸部比例)来确定形态学运算的核大小。
48.此外,三分图(107)和图像(103)作为输入被提供给第一深度学习模型,用于对图像(103)执行图像抠图。例如,第一深度学习模型可以是基于编码器解码器的神经网络。第一深度学习模型生成包括图1所示的图像(103)的前景蒙版(109)的输出。通过使用前景蒙版(109),前景和背景可以从图像(103)中彼此分离。
49.图2显示根据实施例的图像处理系统(102)的详细框图。
50.图像处理系统(102)可以包括中央处理单元(“cpu”或“处理器”)(203)和存储可由处理器(203)执行的指令的存储器(202)。处理器(203)可以包括用于执行完成用户或系统生成的请求的程序组件的至少一个数据处理器。存储器(202)可以通信耦接到处理器(203)。图像处理系统(102)还包括输入/输出(i/o)接口(201)。i/o接口(201)可以耦接到处理器(203),通过i/o接口(201),可以传送输入信号或/和输出信号。在一个实施例中,图像处理系统(102)可以通过i/o接口(201)接收图像(103)和用户输入。
51.在一些实施方式中,图像处理系统(102)可以包括图2所示的数据(204)和模块(209)。作为示例,数据(204)和模块(209)可以被存储在图像处理系统(102)的存储器(202)中。来自多个模块(209)的至少一个模块可以通过人工智能(ai)模型实现。存储器(202)可以是非易失性存储器、易失性存储器,并且与ai关联的功能可以通过非易失性存储器、易失性存储器和处理器(203)执行。
52.此外,处理器(203)可以包括一个或多个处理器。此时,一个或多个处理器可以是通用处理器(诸如中央处理单元(cpu)、应用处理器(ap)等)、图形专用的处理单元(诸如图形处理单元(gpu)、视觉处理单元(vpu))和/或ai专用的处理器(诸如神经处理单元(npu))。
一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义运算规则或人工智能(ai)模型来控制输入数据的处理。预定义运算规则或人工智能模型是通过训练或学习提供的。在此,学习是指:通过将学习算法应用于多个学习数据,生成具有期望特性的预定义运算规则或人工智能模型。学习可以在执行根据实施例的人工智能的设备中执行,和/或可以通过单独的服务器/系统实施。
53.ai模型可以包括多个神经网络层。每个层具有多个权重值,并且通过先前层的计算和多个权重的运算执行层操作。神经网络的示例包括但不限于卷积神经网络(cnn)、深度神经网络(dnn)、递归神经网络(rnn)、受限玻尔兹曼机(rbm)、深度信念网络(dbn)、双向递归深度神经网络(brdnn)、生成对抗网络(gan)和深度q网络。学习算法是一种用于使用多个学习数据训练预定目标设备(例如,机器人),以引起、允许或控制目标设备做出确定或预测的方法。学习算法的示例包括但不限于有监督学习、无监督学习、半监督学习或强化学习。
54.在一个实施例中,数据(204)可以包括,例如,对象数据(205)、置信图数据(206)、三分图数据(207)和其他数据(208)。本文对数据(204)进行详细描述。
55.在实施例中,对象数据(205)包括在图像(103)中检测到的一个或多个对象(104)。在实施例中,与一个或多个对象(104)中的每一个关联的一个或多个像素值和一个或多个像素的坐标可被存储在对象数据(205)中。在另一实施例中,对象数据(205)可以包括与图像(103)中的一个或多个对象(104)中的每一个关联的边界框的坐标。例如,边界框的形状可以是包含一个或多个对象(104)中的每一个的正方形、矩形、圆形。
56.在实施例中,置信图数据(206)包括对于图像(103)中的一个或多个对象(104)中的每一个确定的置信图(105)。置信图(105)表示像素属于图像(103)中的前景或背景的概率。
57.在实施例中,三分图数据(207)包括对于图像(103)生成的三分图(107)。三分图(107)将图像(103)分成3类,即,明确的前景、明确的背景和未知区域。明确的前景由白色的像素表示,明确的背景由黑色的像素表示,并且未知区域由灰色的像素表示。
58.在实施例中,其他数据(208)可以包括与图像(103)中的一个或多个对象(104)中的每一个关联的变换值(106)、图像(103)的前景蒙版(109)、第一深度学习模型、第二深度学习模型等。
59.在一些实施例中,数据(204)可以以各种数据结构的形式被存储在存储器(202)中。此外,数据(204)可以使用数据模型来组织,诸如关系型或层次型数据模型。其他数据(208)可以存储数据,包括由模块(209)生成以执行图像处理系统(102)的各种功能的临时数据和临时文件。此外,在实施例中,存储器(202)可以包括静态随机存取存储器(sram)、动态随机存取存储器(dram)、全局缓冲器等中的至少一个。
60.在一些实施例中,存储在存储器(202)中的数据(204)可以由图像处理系统(102)的模块(209)处理。模块(209)可以被存储在通信耦接到处理器(203)的存储器(202)内,或可以被存储在图2所示的存储器(202)的外部。如本文所用,术语模块(209)可以指专用集成电路(asic)、现场可编程门阵列(fpga)、电子电路、执行一个或多个软件或固件程序的处理器(203)(共享、专用或分组)和存储器(202)、组合逻辑电路和/或提供所描述的功能的其他合适组件。在一些其他实施例中,模块(209)可以使用asic或fpga中的至少一个实现。
61.在一个实施方式中,模块(209)可以包括,例如,对象检测模块(210)、置信图确定
模块(211)、计算模块(212)、三分图生成模块(213)、图像抠图模块(214)和其它模块(215)。可以理解,这些前述模块(209)可以代表为单个模块或不同模块的组合。
62.在实施例中,对象检测模块(210)被用来检测图像(103)中的一个或多个对象(104)。图像(103)中的一个或多个对象(104)是通过使用一个或多个对象检测技术标识图像(103)中的一个或多个对象(104)来检测的。例如,一个或多个对象检测技术可以包括利用haar特征的基于机器学习的viola-jones对象检测框架、标度不变特征变换(sift)、定向梯度直方图(hog)特征、以及基于深度学习的区域建议、用于对象检测的单次细化神经网络、单次多框检测器等。
63.在实施例中,置信图确定模块(211)被用来使用一个或多个图像分割技术确定用于一个或多个对象(104)中的每一个的与图像(103)关联的置信图(105)。置信图确定模块(211)基于预训练深度学习模型、深度传感器或飞行时间(tof)传感器中的至少一个,计算用于图像(103)中的一个或多个对象(104)的置信图(105)。此外,置信图确定模块(211)使用基于颜色相似性的边界校正技术修改置信图(105)。
64.在实施例中,计算模块(212)使用变换函数计算用于一个或多个对象(104)中的每一个的变换值(106)。计算模块(212)使用图像(103)的大小与图像(103)中的一个或多个对象(104)中的每一个的大小的比例和预定值作为变换函数的输入,确定用于一个或多个对象(104)中的每一个的变换值(106)。变换函数可以包括线性变换函数或非线性变换函数中的至少一个。
65.在实施例中,三分图生成模块(213)被用来生成用于图像(103)中的一个或多个对象(104)中的每一个的三分图(107)。三分图生成模块(213)计算从图像(103)中的像素到图像(103)中的一个或多个对象(104)中的每一个的距离。此外,将该距离和与一个或多个对象(104)中的每一个对应的变换值(106)进行比较。此外,当距离小于变换值(106)时,三分图生成模块(213)将像素标记为未知像素。可替换地,当距离大于或等于变换值(106)时,三分图生成模块(213)使用置信图(105)将像素标记为前景像素或背景像素中的至少一个。
66.在实施例中,图像抠图模块(214)被用来执行图像(103)的图像抠图。图像抠图模块(214)将图像(103)和图像(103)的三分图(107)提供给预训练的第一深度学习模型。此外,图像抠图模块(214)基于预训练的第一深度学习模型的输出,生成图像(103)的前景蒙版(109)。图像(103)中的前景和背景是使用前景蒙版(109)分离的。
67.在实施例中,其他模块(215)被用来使用预训练的第二深度学习模型生成三分图(107)。
68.图3显示示出根据实施例的执行图像(103)的图像抠图的方法的流程图。
69.图3所示的方法300的顺序或次序不应被理解为限制,而且方法300可以以任何顺序排列,并且任何数量的所描述的方法块可以进行组合。此外,在不脱离本公开的范围的情况下,可以从方法中删除个别的块。此外,该方法可以在任何合适的硬件、软件、固件或其任何组合中实现。
70.在操作301中,图像处理系统(102)检测图像(103)中的一个或多个对象(104)。
71.在实施例中,检测图像(103)中的一个或多个对象(104)包括使用一个或多个对象检测技术标识图像(103)中的一个或多个对象(104)。一个或多个对象检测技术可以包括利用haar特征的基于机器学习的viola-jones对象检测框架、标度不变特征变换(sift)、定向
梯度直方图(hog)特征、以及基于深度学习的区域建议、用于对象检测的单次细化神经网络、单次多框检测器等。一个或多个对象(104)可以包括一个或多个人、一个或多个脸部、一个或多个动物、一个或多个物品、一个或多个动画人物、一个或多个车辆、一个或多个建筑物等的至少一个。例如,在图4a中,显示了检测作为图像(103)中的一个或多个对象(104)的一个或多个人的脸部。
72.在操作302中,图像处理系统(102)使用一个或多个图像分割技术确定用于一个或多个对象(104)中的每一个的与图像(103)关联的置信图(105)。
73.在实施例中,图像处理系统(102)基于使用深度传感器的预训练深度学习模型或飞行时间(tof)传感器中的至少一个,通过计算图像(103)中的一个或多个对象(104)来确定置信图(105)。置信图(105)表示像素属于图像(103)中的前景或背景的概率。在实施例中,用户可以从一个或多个对象(104)中选择至少一个对象来生成置信图(105)。具体地,如图4b所示,深度传感器(401)被用来生成用于由相机(110)捕获的图像(103)的深度图(402)。如图4b所示,使用深度图(402),图像处理系统(102)使用所检测的一个或多个对象(104)来基于图像(103)中的一个或多个对象(104)的深度生成置信图(105)。在另一实施例中,如图4c所示,tof传感器(403)可以被用来生成用于由相机(110)捕获的图像(103)的深度图(402)。如图4c所示,使用深度图(402),图像处理系统(102)使用所检测的一个或多个对象(104)来基于图像(103)中的一个或多个对象(104)的深度生成置信图(105)。在又一实施例中,如图4d所示,图像处理系统(102)使用预训练深度学习模型来确定用于图像(103)的置信图(105)。此外,如图4e所示,图像处理系统(102)使用基于颜色相似性的边界校正技术修改置信图(105)。此外,一个或多个图像增强技术可以基于直方图、小波变换、梯度信息、基于分水岭的深度图、基于区域的颜色平均化,以在图像(103)中执行基于颜色相似性的边界校正。
74.在实施例中,在生成置信图(105)之后,图像处理系统(102)使用变换函数计算用于一个或多个对象(104)中的每一个的变换值(106),其中,图像(103)的大小和图像(103)中的一个或多个对象(104)中的每一个的大小中的至少一个被作为输入提供给变换函数。
75.在实施例中,图像处理系统(102)通过以下方式计算变换值(106):使用图像(103)的大小与图像(103)中的一个或多个对象(104)中的每一个的大小的比例和预定值作为变换函数的输入来确定用于一个或多个对象(104)中的每一个的变换值(106)。在实施例中,预定值可以是31、51等。然而,预定值不限于此。图像处理系统(102)可以接收预定值作为用户输入。变换值(106)与图像(103)中的一个或多个对象(104)的大小和图像(103)的大小的比例成正比。例如,变换值(106)可以用下面的等式计算:
[0076][0077]
例如,变换值(106)可以是诸如5、12、17、35等的值。为来自图像(103)中的一个或多个对象(104)的每个对象计算变换值(106)。
[0078]
在操作303中,图像处理系统(102)基于图像(103)中的一个或多个对象(104)中的每一个的大小和图像(103)中的每个像素与图像(103)中的一个或多个对象(104)中的每一个的距离中的至少一个,从置信图(105)生成用于图像(103)中的一个或多个对象(104)中的每一个的三分图(107)。在此,三分图(107)被用来执行图像抠图。
[0079]
在实施例中,图像处理系统(102)通过计算从图像(103)中的像素到图像(103)中的一个或多个对象(104)中的每一个的距离,生成用于图像(103)中的一个或多个对象(104)中的每一个的三分图(107)。为图像(103)中的每个像素计算距离。距离可以用欧氏距离技术来计算。例如,位于应用于图像(103)中的一个或多个对象(104)中的每一个的边界框的中心的像素被用来计算与边界框的外部的每个像素的距离。此外,图像处理系统(102)可以将每个像素的距离和与一个或多个对象(104)中的每一个对应的变换值(106)进行比较,并且当位于边界框的中心的像素和边界框的外部的像素之间的距离小于变值(106)时,将每个像素标记为未知像素。例如,如果位于边界框的中心的像素与边界框的外部的像素之间的距离为7,并且变换值(106)为12,则该像素被标记为未知像素。三分图(107)中的未知像素构成未知区域。可替换地,当位于边界框的中心的像素与边界框的外部的像素之间的距离大于或等于变换值(106),图像处理系统(102)使用置信图(105)将每个像素标记为前景像素或背景像素中的至少一个。例如,如果位于边界框的中心的像素与边界框的外部的像素之间的距离为22,并且变换值(106)为9,则该像素被使用置信图(105)标记为前景像素或背景像素之一。三分图(107)中的前景像素构成前景区域,并且三分图(107)中的背景像素构成背景区域。图4f所示的三分图(107)是由图像处理单元生成的,与图4e所示的置信图(105)对应。
[0080]
在实施例中,如图4f所示,图像处理系统(102)通过将图像(103)和图像(103)的三分图(107)提供给预训练的第一深度学习模型来执行图像抠图。进一步地,如图4f所示,使用预训练的第一深度学习模型的输出生成图像(103)的前景蒙版(109),其中,图像(103)中的前景区域和背景区域是使用前景蒙版(109)分开的。预训练的第一深度学习模型可以基于编码器解码器模型、卷积神经网络、递归神经网络等。
[0081]
图5显示示出根据实施例的使用预训练的第二深度学习模型执行图像(103)的图像抠图的方法的流程图。图6显示根据实施例的使用第二深度学习模型和第一深度学习模型对图像的三分图和前景蒙版的示例性生成。
[0082]
在操作501中,图像处理系统(102)检测图像(103)中的一个或多个对象(104)。在上面的图3的步骤301中,详细描述了使用一个或多个对象检测技术检测图像(103)中的一个或多个对象(104)。
[0083]
在操作502中,图像处理系统(102)将图像(103)和图像(103)中的一个或多个对象(104)提供给预训练的第二深度学习模型,以生成用于图像(103)中的一个或多个对象(104)中的每一个的三分图(107)。预训练的第二深度学习模型基于图像(103)的大小和图像(103)中的一个或多个对象(104)中的每一个的大小中的至少一个,生成三分图(107)。
[0084]
在实施例中,第二深度学习模型基于具有跳跃连接的编码器解码器模型。图像处理系统(102)通过提供一个或多个样本图像作为初始深度学习模型的输入来训练第二深度学习模型。此外,图像处理系统(102)基于初始深度学习模型的输出,使用损失函数计算用于一个或多个样本图像中的每个像素的损失值。该输出表示用于图像(103)中的每个像素的标签。标签指示未知像素、前景像素或背景像素中的至少一个。损失函数可以包括交叉熵函数、均方误差函数等中的至少一个。损失值表示初始深度学习模型的输出和预期输出之间的误差。预期输出可以是与由用户确定的一个或多个图像关联的前景蒙版(109)。此外,图像处理系统(102)基于与一个或多个样本图像中的每个像素关联的标签来聚合损失值。
此后,图像处理系统(102)基于所聚合的损失值,使用有监督学习技术修改与初始深度学习模型关联的一个或多个权重中的至少一个。基于修改后的一个或多个权重,第二深度学习模型学习,以基于图像(103)的大小和图像(103)中的一个或多个对象(104)中的每一个的大小中的至少一个来生成用于图像(103)的三分图(107)。
[0085]
在操作503中,图像处理系统(102)使用图像(103)的三分图(107)执行用于图像(103)的图像抠图。在上面,参考图3的步骤304详细描述了使用预训练的第一深度学习模型生成三分图(107)。图像抠图生成图像(103)的前景蒙版(109),其中,图像(103)中的前景区域和背景区域是使用前景蒙版(109)分开的。
[0086]
根据用于执行图像(103)的图像抠图的方法,图像处理单元(102)可以通过使用图像数据(即,像素值)作为用于人工智能模型的输入数据来获得输出数据,即,图像(103)的前景蒙版(109)、三分图(107)、置信图(105)。人工智能模型可以通过训练来获得。也就是说,配置为执行期望特征(或目的)的预定义运算规则或人工智能模型是通过由训练算法用多条训练数据训练基础人工智能模型来获得的。人工智能模型可以包括多个神经网络层。多个神经网络层中的每一个包括多个权重值,并且通过在先前层的计算结果和多个权重值之间进行计算来执行神经网络计算。神经网络的示例包括但不限于卷积神经网络(cnn)、深度神经网络(dnn)、递归神经网络(rnn)、受限玻尔兹曼机(rbm)、深度信念网络(dbn)、双向递归深度神经网络(brdnn)、生成对抗网络(gan)和深度q网络。
[0087]
生成三分图(107)以执行图像(103)的图像抠图的方法包括:基于图像(103)中的一个或多个对象(104)的大小和深度,生成用于图像(103)中的一个或多个对象(104)中的每一个的自适应三分图(107)。从一个或多个对象(104)中为每个对象(104)计算的变换值(106)减少图像(103)的三分图(107)中的未知区域。第一深度学习模型产生高质量的前景蒙版(109),其可以用于人像模式,以为聚焦对象(104)引入更精细的细节(头发丝、毛皮等),并产生类似dslr(数码单反相机)的虚化效果。此外,更精细的前景蒙版(109)可以被用来提取图像(103)中的一个或多个对象(104),并且将一个或多个对象(104)与不同的背景自然融合。前景蒙版(109)的生成不需要人与图像(103)进行互动来标记三分图(107)中的用于图像抠图的未知区域。前景蒙版(109)是为由移动电话或智能电话捕获的低质量或低分辨率的图像生成的。前景蒙版(109)可以用于图像(103)中的一个或多个对象(104)的3d(三维)建模。
[0088]
图7示出根据实施例的示例性计算机系统(700)的框图。计算机系统(700)可以被用来实现生成三分图(107)以执行图像抠图的方法。计算机系统(700)可以包括中央处理单元(“cpu”或“处理器”)(702)。处理器(702)可以包括用于执行监测用户的身体素质的程序组件的至少一个数据处理器。处理器(702)可以包括专用处理单元,诸如集成系统(总线)控制器、内存管理控制单元、浮点单元、图形处理单元、数字信号处理单元等。
[0089]
处理器(702)可以经由输入/输出(i/o)接口(701)通信耦接到一个或多个i/o设备。i/o接口(701)可以采用通信协议/方法,诸如但不限于音频、模拟、数字、单声道、rca连接器、立体声、ieee-1394、串行总线、通用串行总线(usb)、红外线、ps/2、bnc(同轴电缆连接器)、同轴、分量(component)、复合、数字视觉接口(dvi)、高清多媒体接口(hdmi)、射频(rf)天线、s-video(s端子输出)、视频图形阵列(vga)、ieee 802.n/b/g/n/x、蓝牙、蜂窝(例如,码分多址(cdma)、高速分组接入(hspa )、全球移动通信系统(gsm)、长期演进(lte)、wimax
等)等。
[0090]
通过使用i/o接口(701),计算机系统(700)可以与一个或多个i/o设备通信。例如,输入设备(710)可以是天线、键盘、鼠标、操纵杆、(红外)遥控器、相机、读卡器、传真机、适配器、生物识别器、麦克风、触摸屏、触摸板、轨迹球、手写笔、扫描仪、存储设备、收发器、视频设备/源等。输出设备(711)可以是打印机、传真机、视频显示器(例如,阴极射线管(crt)、液晶显示器(lcd)、发光二极管(led)、等离子体、等离子显示板(pdp)、有机发光二极管显示器(oled)等)、音频扬声器等。
[0091]
在一些实施例中,计算机系统(700)通过通信网络(709)连接到服务运营商。处理器(702)可以经由网络接口(703)连接到通信网络(709)。网络接口(703)可以与通信网络(709)通信。网络接口(703)可以采用连接协议,包括但不限于直接连接、以太网(例如,双绞线10/100/1000base t)、传输控制协议/互联网协议(tcp/ip)、令牌环、ieee 802.11a/b/g/n/x等。通信网络(709)可以包括但不限于直接互连、电子商务网络、对等(p2p)网络、局域网(lan)、广域网(wan)、无线网络(例如,使用无线应用协议)、互联网、wi-fi等。通过使用网络接口(703)和通信网络(709),计算机系统(700)可以与一个或多个服务运营商通信。
[0092]
在一些实施例中,处理器(702)可以经由存储接口(704)通信耦接到存储器(705)(例如,随机存取存储器(ram)、只读存储器(rom)等)。采用连接协议,诸如串行高级技术附件(sata)、集成驱动电子(ide)、ieee-1394、通用串行总线(usb)、光纤通道、小型计算机系统接口(scsi)等,存储接口(704)可以连接到存储器(705)(包括但不限于存储驱动器、可移动盘驱动器等)。存储器驱动器还可以包括磁鼓、磁盘驱动器、磁光驱动器、光驱动器、独立磁盘冗余阵列(raid)、固态存储器设备、固态驱动器等。
[0093]
存储器(705)可以存储程序或数据库组件的集合,包括但不限于用户界面(706)、操作系统(707)、网络服务器(708)等。在一些实施例中,计算机系统(700)可以存储用户/应用数据(706),诸如数据、变量、记录等。这种数据库可以被实现为容错的、关系型的、可扩展的、安全的数据库,诸如oracle(甲骨文)或sybase(赛贝斯)。
[0094]
操作系统(707)可以促进计算机系统(700)的资源管理和操作。操作系统的示例包括但不限于类unix系统的发行版(例如,berkeley software(bsd)、openbsd等)、发行版(例如,发行版(例如,等)、((10等)、google
tm android
tm
、os等。
[0095]
在一些实施例中,计算机系统(700)可以实现存储网络浏览器的程序组件。网络浏览器可以是超文本浏览应用,诸如internetgoogle
tm chrome
tm
、、等。可以使用安全超文本传输协议(https)、安全套接层(ssl)、传输层安全(tls)等提供安全网络浏览。网络浏览器可以利用诸如ajax(异步javascript和xml)、html(超文本标记语言)、以利用诸如ajax(异步javascript和xml)、html(超文本标记语言)、应用编程接口(api)等工具。在一些实施例中,计算机系统(700)可以实现存储邮件服务器的程序组件。邮件服务器可以是互联网邮件服务器,诸如
microsoft exchange等。邮件服务器可以利用诸如active server pages(asp,动态服务器网页)、c /c#、.net、cgi scripts(cgi脚本)、scripts(cgi脚本)、php、等的设施。邮件服务器可以利用通信协议,诸如互联网消息访问协议(imap)、消息应用编程接口(mapi)、exchange、邮局协议(pop)、简单邮件传输协议(smtp)等。在一些实施例中,计算机系统(700)可以实现存储邮件客户端的程序组件。邮件客户端可以是邮件浏览应用,诸如mail、mail、等。
[0096]
此外,一个或多个计算机可读存储介质可以用于实现与本公开一致的实施例。计算机可读存储介质是指可以在其上存储可由处理器读取的信息或数据的任何类型的物理存储器。因此,计算机可读存储介质可以存储用于由一个或多个处理器执行的指令,包括用于使处理器执行与本文描述的实施例一致的步骤或阶段的指令。术语“计算机可读介质”应被理解为包括有形物品,并且不包括载波和瞬时信号(即,非暂时性的)。示例包括随机存取存储器(ram)、只读存储器(rom)、易失性存储器、非易失性存储器、硬盘、光盘(cd)rom、数字视频光盘(dvd)、闪存驱动器、磁盘和任何其他已知的物理存储介质。
[0097]
图像(103)可以从连接到通信网络(709)的远程设备(712)接收。
[0098]
术语“一实施例”、“实施例”、“多个实施例”、“该实施例”、“一个或多个实施例”、“一些实施例”和“一个实施例”是指“本公开的一个或多个(但不是所有)实施例”,除非另有明确表示。
[0099]
术语“包括”、“包含”、“具有”及其变体是指“包括但不限于”,除非另有明确表示。
[0100]
所列举的项目不暗示任何或所有的项目是相互排斥的,除非另有明确表示。术语“一”、“一个”和“该”是指“一个或多个”,除非另有明确表示。
[0101]
单数表达可以包括复数表达,除非上下文另有明确表示。
[0102]
当本文描述单个设备或物品时,显然,可以用一个以上的设备/物品(无论它们是否协作)来代替单个设备/物品。类似地,在本文描述一个以上的设备或物品的情况下,显然,可以用单个设备/物品来代替一个以上的设备或物品,或者可以用不同数量的设备/物品来代替所示数量的设备或程序。设备的功能和/或特征可以由一个或多个其他设备以不同方式包括在内。
[0103]
图3和图5的操作显示特定事件以特定顺序出现。在一些实施例中,特定操作可以被以不同的顺序执行、修改或删除。此外,各种操作可以被添加到参考图3和图5描述的实施例。此外,本文描述的操作可以依次处理,或可以并行处理。此外,操作可以由单个处理单元或分布式处理单元执行。
[0104]
本公开的实施例已在上面进行显示和描述,然而,本公开的实施例不限于前述的具体实施例,显然,本公开所属技术领域中的本领域普通技术人员可以在不脱离本公开的范围的情况下,做出各种修改、替换和改进。此外,应当理解,这种修改、替换和改进应当落入本公开的保护范围内,并且不应脱离本公开的技术构思或预期进行独立解释。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献