分割图像的方法、应用及计算设备与流程

文档序号:12471831阅读:269来源:国知局
分割图像的方法、应用及计算设备与流程

本发明涉及视频技术领域,尤其涉及分割图像的方法、应用及计算设备。



背景技术:

图像分割是图像处理和编辑中的一项基本操作,精确地从图像中分割出所需要的区域是基于内容的图像处理算法的关键。例如,从图像中分割出头发区域是图像分割技术的一项实际应用。在一些诸如头发换色,头发美化等实际任务中,头发分割是必要的处理步骤,也是整个任务的重点和难点。

现有的解决方案多是借鉴通用图像分割的处理方法。常用的图像分割方法包括基于阈值分割,基于边缘分割,基于区域增长分割,基于聚类分割和图割分割方式等。传统的图像分割方法对于简单应用场景(例如头发与背景对面鲜明,头发颜色纹理变化不明显)可以得到较好的分割效果。但对一些复杂的应用场景(比如头发与背景界限模糊,头发颜色变化较大,头发纹理细节缺失等),很容易出现头发错分的现象。

因此,本发明提出了一种新的分割图像的技术方案。



技术实现要素:

为此,本发明提供一种新的分割图像的技术方案,有效的解决了上面至少一个问题。

根据本发明的一个方面,提供一种分割图像的方法,适于在计算设备中执行。该计算设备存储有多个训练样本。每个训练样本包括一幅图像和该图像中目标区域的标注掩码图。例如,每个训练样本中图像为人脸图像,该样本中图像的目标区域为头发区域。该方法包括下述步骤。将每个训练样本中图像、在待优化的卷积神经网络模型中正向传递,以获取该训练样本中目标区域的分割掩码图。基于所获取的每个训练样本中目标区域的分割掩码图和对应的标注掩码图的偏差,利用下降梯度算法对待优化的卷积神经网络模型进行参数优化。将待分割的图像在已优化参数的卷积神经网络模型中正向传递,以获取该待分割的图像中目标区域的分割掩码图。

可选地,在根据本发明的分割图像的应用中,待优化的卷积神经网络模型包括卷积层、激活层、池化层、归一化层和输出层。将每个训练样本中图像、在待优化的卷积神经网络模型中正向传递,以获取该训练样本中目标区域的分割掩码图的步骤包括下述操作。将该训练样本中图像输入到卷积层,并在卷积层中对图像进行特征提取以输出包含多个特征图的第一特征图集合。通过激活层中激活函数,对第一特征图集合执行特征映射,以获取第二特征图集合。在池化层中对第二特征图集合进行下采样操作,以获取第三特征图集合。在归一化层对第三特征图集合执行局部归一化操作,以获取第四特征图集合。在输出层中对所述第一、第二、第三和第四特征图集合中至少两个进行特征融合,以获取该训练样本中目标区域的分割掩码图。其中,特征融合的操作具体可以实施为下述方式:对第四特征图集合进行插值运算,以获取第五特征图集合;将第五特征图集合与第二特征图集合进行平均操作,并获取该分割掩码图。

可选地,在根据本发明的分割图像的应用中,激活函数包括Sigmoid函数和修正线性单元函数中任一种。待优化的卷积神经网络模型还包括损失函数层。基于所获取的每个训练样本中目标区域的分割图像和对应的掩码图的偏差,利用下降梯度算法对待优化的卷积神经网络模型进行参数优化的步骤包括下述操作。在损失函数层,根据下述代价函数,计算所述待优化的卷积神经网络模型中其他每一层的参数调整量:

其中,m表示多个训练样本的数量,x(i)表示第i个训练样本中图像,y(i)表示第i个训练样本中掩码图,n表示卷积神经网络的层数,sl表示卷积神经网络中第l层的神经元数目,表示连接第l层第i神经元和第l+1层第j神经元的权重参数,b表示网络模型偏置项,λ表示权重衰减系数,hW,b(x(i))表示第i个样本对应的目标区域的分割图,y(i)表示第i个样本的目标区域的掩码图,J(W,b;x(i),y(i))表示第i个训练样本的代价函数。

根据本发明的又一个方面,提供一种分割图像的应用,适于驻留在计算设备中。该应用包括存储单元、模型训练单元和图像分割单元。存储单元存储有多个训练样本,每个训练样本包括一幅图像和该图像中目标区域的标注掩码图。模型训练单元适于将每个训练样本中图像、在待优化的卷积神经网络模型中正向传递,以获取该训练样本中目标区域的分割掩码图。基于所获取的每个训练样本中目标区域的分割掩码图和对应的标注掩码图的偏差,模型训练单元利用下降梯度算法对待优化的卷积神经网络模型进行参数优化。图像分割单元适于将待分割的图像在已优化参数的卷积神经网络模型中正向传递,以获取该待分割的图像中目标区域的分割掩码图。

根据本发明的又一个方面,提供一种计算设备,包括根据本发明的分割图像的应用。

综上,不同于传统的图像分割方式,本发明的分割图像的技术方案,可以利用实际应用场景中采集的训练样本对卷积神经网络模型进行训练。这样,经过迭代训练,本发明的分割图像的技术方案可以获取到优化的卷积神经网络模型。在此基础上,本发明的分割图像技术方案可以有较高的鲁棒性和分割精度。特别是,本发明的分割图像的技术方案在分割头发区域时,能够对人脸图像中头发区域进行高精度分割,极大提高用户体验度。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明一些实施例的计算设备100的示意图;

图2示出了根据本发明一些实施例的分割图像的方法200的流程图;

图3A、3B和3C分别示出了根据本发明实施例中一个训练样本的图像和标注掩码图;

图4示出了根据本发明一个实施例中待优化的卷积神经网络模型400的示意图;以及

图5示出了根据本发明一些实施例的分割图像的应用500的示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一些实施例的计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。

取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)、图形处理器(GPU)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)、图形处理器(GPU)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。

取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。

计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。

网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。

计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以包括桌面计算机和笔记本计算机配置的个人计算机。计算设备还可以被实现为服务器。

在一个典型的应用场景中,计算设备100需要分割图像。相应地,计算设备100可以执行分割图像的方法(例如,下文中方法200)。应用122可以包括分割图像的应用(例如下文中应用500)。

图2示出了根据本发明一些实施例的分割图像的方法200的流程图。方法200适于在各种计算设备(100)中执行。不限于此,方法200也可以被配置为在分布式集群中执行。即,方法200可以在多个计算设备节点中并行执行。这里,方法200需要先训练分割图像的模型,然后利用已训练的模型来处理待分割的图像。在对模型进行训练时,执行方法200的计算设备中存储有多个训练样本。每个训练样本包括一幅图像和该图像中目标区域的标注掩码图。在根据本发明一个实施例中,每个训练样本中图像为人脸部图像,目标区域例如为头发区域,但不限于此。需要说明的是,本发明的训练样本集是通过对实际应用场景进行采样所获得的。换言之,本发明的训练样本采样自多种类型(不同的光照、尺寸和清晰度)的图像。如图3A、3B和3C分别示出了根据本发明实施例中一个训练样本的图像和标注掩码图。下面对方法200进行详细说明。

如图2所示,方法200始于步骤S210。在步骤S210中,将每个训练样本中图像、在待优化的卷积神经网络(CNN)模型中正向传递,以获取该训练样本中目标区域的分割掩码图。需要说明的是,取决于期望的配置,本发明中卷积神经网络模型可以有多种选择。例如,卷积神经网络架构可以被配置为CAFFE(相关网站:http://caffe.berkeleyvision.org/)架构,但不限于此。关于卷积神经网络更具体结构说明可以参见“http://ufldl.stanford.edu/wiki”等公知内容,这里不再赘述。

图4示出了根据本发明一个实施例中待优化的卷积神经网络模型400示意图。下面模型400为例,对步骤S210的更具体实施方式进行示例性说明,但本发明中模型结构并不限于此。

如图4所示,本实施例的卷积神经网络模型400包括卷积层410、激活层420、池化层430、归一化层440、输出层450和损失函数层460。一般而言,为了优化卷积神经网络的参数,方法200可以多次迭代执行步骤S210,并且针对不同训练样本的执行过程可以是并行执行的,本发明对此不做过多限制。在每次执行步骤S210时,首先将一个训练样本中图像输入到卷积层410。在卷积层410中,步骤S210可以对图像进行特征提取,以输出包含多个特征图的第一特征图集合。这里,图像例如可以是RGB像素格式,但不限于此。随后,步骤S210在激活层420中利用激活函数执行特征映射操作(换言之,对第一特征图集合中每个特征图进行二次特征提取),以获取第二特征图集合。这里,激活函数例如是Sigmoid函数或修正线性单元(Relu)函数,但不限于此。在池化层430中,步骤S210对第二特征图执行下采样操作,以获取第三特征图集合。这里,步骤S210可以采用多种公知的下采样方式来减小特征图的尺寸,这里不再赘述。在归一化层440中,步骤S210可以对第三特征图集合中每个特征图进行归一化操作,以获取第四特征图。这里,归一化操作例如可以起到“侧抑制”的效果。在输出层450中,步骤S210可以根据之前的不同深度(即不同层)中特征图集合,获取关于训练样本中图像目标区域的分割掩码图。根据本发明一个实施例,步骤S210可以基于第二特征图集合和第四特征图集合来执行平均操作,以获取分割掩码图。具体地,步骤S210对第四特征图集合中特征图执行插值运算,以便获取与第二特征图集合尺寸一致的第五特征图集合。随后,步骤S210将第五特征图集合和第二特征图集合中对应特征图进行数据平均操作,并获取分割掩码图。

在训练样本中标注掩码图和步骤S210所获取的分割掩码图的基础上,方法200执行步骤S220。在步骤S220中,利用下降梯度算法对待优化的卷积神经网络模型400进行参数优化。在根据本发明一个实施例中,步骤S220可以在损失函数层460,根据下述代价函数计算卷积神经网络模型400其它层(即410至450)中每一层的参数调整量(换言之,步骤S220在卷积神经网络400中执行反向传递)。

其中,m表示多个训练样本的数量,x(i)表示第i个训练样本中图像,y(i)表示第i个训练样本中掩码图,n表示卷积神经网络的层数,sl表示卷积神经网络中第l层的神经元数目,表示连接第l层第i神经元和第l+1层第j神经元的权重参数,b表示网络模型偏置项,λ表示权重衰减系数,hW,b(x(i))表示第i个样本对应的目标区域的分割图,y(i)表示第i个样本的目标区域的掩码图,J(W,b;x(i),y(i))表示第i个训练样本的代价函数。另外,步骤S220也可以基于其他公知的代价函数来对卷积神经网络进行参数优化,这里不再赘述。

基于多次执行步骤S210和S220而获得的已优化的卷积神经网络模型,方法200可以执行步骤S230,将待分割的图像在已优化的卷积神经网络模型中正向传递,以获取该待分割的图像中目标区域的分割掩码图。这里,将待分割的图像在已优化的模型中的正向传递方式与步骤S210的执行方式类似,这里不再赘述。例如,头发区域的分割掩码图是关于头发区域的概率图。高头发概率的区域被显示为白色,低头发概率的区域显示被为黑色。处于中间概率值的区域被显示为灰色。

综上,不同于传统的图像分割方式,本发明的分割图像的技术方案,可以利用实际应用场景中采集的训练样本对卷积神经网络模型进行训练。这样,经过迭代训练,本发明的分割图像的技术方案可以获取到优化的卷积神经网络模型。在此基础上,本发明的分割图像技术方案可以有较高的鲁棒性和分割精度。特别是,本发明的分割图像的技术方案在分割头发区域时,能够对人脸图像中头发区域进行高精度分割,极大提高用户体验度。

图5示出了根据本发明一些实施例的分割图像的应用500的示意图。应用500适于驻留在计算设备(100)中。另外,应用500也可以被配置为在集群中执行的分布式应用,本发明对此不做过多限制。

如图5所示,应用500包括存储单元510、模型训练单元520和图像分割单元530。存储单元510存储有多个训练样本。每个训练样本包括一幅图像和该图像中目标区域的标注掩码图。例如,每个训练样本中图像为人脸图像,该样本中图像的目标区域为头发区域,但不限于此。

模型训练单元520适于将每个训练样本中图像、在待优化的卷积神经网络模型中正向传递,以获取该训练样本中目标区域的分割掩码图。在根据本发明一个实施例中,待优化的卷积神经网络模型包括卷积层、激活层、池化层、归一化层和输出层。模型训练单元520首先将该训练样本中图像输入到卷积层,并在卷积层中对图像进行第一特征提取以输出包含多个特征图的第一特征图集合。通过激活层中激活函数,模型训练单元520对第一特征图集合执行第二次特征提取,以获取第二特征图集合。这里,激活函数例如是Sigmoid函数或修正线性单元(Relu)函数,但不限于此。在池化层中,模型训练单元520对第二特征图集合进行下采样操作,以获取第三特征图集合。在归一化层中,模型训练单元520对第三特征图集合执行局部归一化操作,以获取第四特征图集合。在输出层中模型训练单元520对所述第一、第二、第三和第四特征图集合中至少两个进行特征融合,以获取该训练样本中目标区域的分割掩码图。例如,模型训练单元520可以根据第二和第四特征图集合来获取分割掩码图。具体地,模型训练单元520对第四特征图集合进行插值运算,以获取第五特征图集合。在此基础上,模型训练单元520将第五特征图集合与第二特征图集合进行平均操作并获取该分割掩码图。

另外,基于所获取的每个训练样本中目标区域的分割掩码图和对应的标注掩码图的偏差,模型训练单元520利用下降梯度算法对待优化的卷积神经网络模型进行参数优化。在根据本发明一个实施例中,卷积神经网络还包括损失函数层。在损失函数层,模型训练单元520根据下述代价函数,计算所述待优化的卷积神经网络模型中其他每一层的参数调整量:

其中,m表示多个训练样本的数量,x(i)表示第i个训练样本中图像,y(i)表示第i个训练样本中掩码图,n表示卷积神经网络的层数,sl表示卷积神经网络中第l层的神经元数目,表示连接第l层第i神经元和第l+1层第j神经元的权重参数,b表示网络模型偏置项,λ表示权重衰减系数,hW,b(x(i))表示第i个样本对应的目标区域的分割图,y(i)表示第i个样本的目标区域的掩码图,J(W,b;x(i),y(i))表示第i个训练样本的代价函数。模型训练单元520更具体的实施方式与步骤S210和S220一致,这里不再赘述。

图像分割单元530适于将待分割的图像在已优化参数的卷积神经网络模型中正向传递,以获取该待分割的图像中目标区域的分割掩码图。

A10、如A8或A9所述的应用,其中,所述激活函数包括Sigmoid函数和修正线性单元函数中任一项。A11、如A7-A10中任一项所述的应用,其中,所述待优化的卷积神经网络模型还包括损失函数层;所述模型训练单元适于根据下述方式基于所获取的每个训练样本中目标区域的分割图像和对应的掩码图的偏差,利用下降梯度算法对待优化的卷积神经网络模型进行参数优化:在损失函数层,根据下述代价函数,计算所述待优化的卷积神经网络模型中其他每一层的参数调整量:

其中,m表示所述多个训练样本的数量,x(i)表示第i个训练样本中图像,y(i)表示第i个训练样本中掩码图,n表示卷积神经网络的层数,sl表示卷积神经网络中第l层的神经元数目,表示连接第l层第i神经元和第l+1层第j神经元的权重参数,b表示网络模型偏置项,λ表示权重衰减系数,hW,b(x(i))表示第i个样本对应的目标区域的分割图,y(i)表示第i个样本的目标区域的掩码图,J(W,b;x(i),y(i))表示第i个训练样本的代价函数。A12、如A7-A11中任一项所述的应用,其中,所述每个训练样本中图像为人脸图像,该样本中图像的目标区域为头发区域。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1