具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中实现的图像风格刷,旨在将参考图中包含的多种视觉效果直接、全部转换至当前待处理的输入图上,得到结果图,即操作过程就像使用office格式刷一样,故称作图像风格刷。
图1为本发明实施例提供的图像风格刷的实现方法流程图。本发明实施例针对现有技术只能对图像某些特定的风格元素或某些手工设计好的风格进行转换,不能进行一般性的风格转换的问题,提供了图像风格刷的实现方法,该方法具体步骤如下:
步骤S101、根据输入图与参考图之间的稠密对应,获取输入图与参考图的匹配对应点。
具体地,该步骤可以采用尺度不变特征变换(Scale-invariant featuretransform,SIFT)方法,加速稳健特征(Speeded Up Robust Features,SURF)方法,或者基于深度网络的点映射方法检测输入图与参考图之间的稠密对应,将检测到的对应点作为输入图与参考图的匹配对应点。
该步骤S101中得到的输入图中的匹配对应点与参考图中的匹配对应点为一一对应的关系,即输入图中的每一个匹配对应点都有参考图中的一个匹配对应点与之对应。
步骤S102、根据所述匹配对应点,确定所述输入图的第一超像素集合和所述参考图的第二超像素集合。
其中,超像素为多个像素点构成的集合。
具体地,根据匹配对应点的位置,将输入图划分为多个超像素,构成第一超像素集合;将参考图划分为多个超像素,构成第二超像素集合。第一超像素结合中包括了输入图中所有的像素点,第二超像素集合中包括了参考图中所有的像素点。
步骤S103、根据所述输入图的第一超像素集合和所述参考图的第二超像素集合,确定超像素二部图。
该步骤在步骤S102的基础上,对输入图与参考图中的非匹配对应点进行聚类,得到所述输入图的第一超像素集合和所述参考图的第二超像素集合,并进一步根据第一超像素集合和第二超像素集合,构建超像素的二部图。超像素二部图由多个顶点和边的集合构成,超像素二部图的顶点包括所有第一超像素集合和第二超像素集合中的超像素,超像素二部图的边包括以任一第一超像素集合中的超像素与任一第二超像素结合中的超像素连接成的边为边。
步骤S104、对所述超像素二部图进行二部图匹配,确定所述输入图的第一超像素集合与所述参考图的第二超像素集合中相互匹配的超像素对。
根据上述步骤S103中构建出的二部图,进行二部图匹配,得到第一超像素集合与第二超像素集合中相互匹配的超像素对,也即是得到输入图与参考图之间对应的超像素对,在本发明实施例中,用ΙF,c和ΙF,f表示任一超像素对,其中,ΙF,c表示输入图中的超像素,ΙF,f表示参考图中的超像素。
优选地,对所述超像素二部图进行二部图匹配可采用匈牙利算法实现,本发明实施例中还可以采用其他二部图匹配方法,本发明实施例对此不做具体限定。
步骤S105、根据第一颜色空间和所述超像素对,对所述输入图的超像素进行颜色转换,得到结果图。
优选地,第一颜色空间采用一个特殊的各通道间去相关性的颜色空间,如lαβ颜色空间。
具体地,根据第一颜色空间和每对所述超像素对,对所述超像素对中所述输入图的超像素进行颜色转换,得到新的超像素,作为结果图中对应的超像素;多有的超像素对进行颜色转换完毕后,得到所有的超像素构成结果图。
本发明实施例通过根据输入图与参考图之间的稠密对应,获取输入图与参考图的匹配对应点;根据所述匹配对应点,确定所述输入图的第一超像素集合和所述参考图的第二超像素集合,并进一步确定超像素二部图;对所述超像素二部图进行二部图匹配,确定所述输入图的第一超像素集合与所述参考图的第二超像素集合中相互匹配的超像素对;根据第一颜色空间和所述超像素对,对所述输入图的超像素进行颜色转换,得到结果图,可以根据参考图具备的多种风格元素,对输入图进行风格转换,得到结果图,实现将参考图中包含的多种风格元素直接、全部转换至输入图上,改变输入图的颜色、灰度、对比度相关的视觉效果,从而使得结果图具有参考图的风格。
图2为本发明另一实施例提供的图像风格刷的实现方法流程图;图3为本发明另一实施例提供的像素点所在图像块的示意图。在上述实施例基础上,步骤S102具体可以分解成以下多个步骤:
步骤S201、确定所述输入图和所述参考图的像素点的多层次特征。
具体地,计算所述输入图和所述参考图中每个像素点的多层次特征。
所述输入图或所述参考图中像素点的所述多层次特征包括:所述像素点的灰度矢量,颜色矢量,梯度,绝对位置,纹理特征,相对位置,局部约束线性编码特征。
所述输入图或所述参考图中处于(i,j)位置的像素点的多层次特征可以分别用如下符号表示:M(i,j)表示像素点在第一图像块的灰度矢量,C(i,j)表示像素点的颜色矢量,DV(i,j)表示像素点在第二图像块的梯度,表示像素点的绝对位置,T(i,j)表示像素点在第三图像块的纹理特征,表示像素点的相对位置,S(i,j)表示像素点的局部约束线性编码特征。
进一步地,其中Ν(i,j)表示第一图像块中的像素点位置(k,l)的集合。其中,第一图像块为处于(i,j)位置的像素点的所在图像块,且第一图像块为以处于(i,j)位置的像素点为中心的m×m个像素点构成的矩形图像块。另外,m为正整数,m的几个可选值为5、7、9、11、13、15、17。在本发明实施例中,m优选值为13。图3中给出了当m取值为5时第一图像块的示意图,其中处于(i,j)位置的像素点用白色表示,第一图像块由图中所示的以处于(i,j)位置的像素点为中心的5×5个像素点构成。
另外,第二图像块,第三图像块与第一图像块的定义相同,在此不再赘述。优先地,第一图像块,第二图像块和第三图像块大小相同。
其中IR,IG和IB是图像I的三个颜色通道,I(i,j)表示处于(i,j)位置的像素点的灰度,图像I的三个颜色通道与所述像素点灰度的关系是:
其中dIx表示所述输入图(或参考图)在水平方向的灰度差,dIy表示所述输入图(或参考图)在竖直方向的灰度差。
T(i,j)优选采用Yuan等人提出的基于因式分解的纹理分割方法得到,在本发明实施例中,T(i,j)还可以采用其他方法计算得到,本发明实施例对此不做限定。
其中,h和w分别表示所述输入图(或参考图)的宽度和高度。
定义为一个t1维矢量,其中t1为所述输入图(或参考图)中所述匹配对应点的个数,中每一维度值与一个所述匹配对应点对应,与距离所述像素点最近的t2个所述匹配对应点对应的维度值设定为α=(τTτI+nα)-1(τT[i,j]T),除所述与距离所述像素点最近的t2个所述匹配对应点外的其他所述匹配对应点对应的维度值定义为0,其中,I为单位矩阵,(il,jl)为距离所述像素点第l近的像素点的位置,nα为α的岭参数,nα的优选取值为1000。另外,t2的值由技术人员预先设定,优选地,t2取值范围为3≤t2≤20,最优取值为5。
S(i,j)定义为一个t1维矢量,表示的是在由M(i,j),C(i,j),I(i,j)和DV(i,j)组成的特征空间中的相对位置。S(i,j)中每一维度值与一个所述匹配对应点对应,与距离所述像素点最近的t2个所述匹配对应点对应的维度值设定为其中,I为单位矩阵, nβ是β的岭参数,取值为106。
步骤S202、根据所述匹配对应点和所述输入图的像素点的多层次特征,确定所述输入图的匹配对应点的第三超像素集合。
该步骤具体包括:遍历所述输入图中的每个匹配对应点,计算所述输入图中各非匹配对应点分别与所述匹配对应点的聚类距离;根据所述输入图中 各非匹配对应点分别与所述匹配对应点的聚类距离,从所述输入图对应的各非匹配对应点中确定出与所述匹配对应点的聚类距离小于聚类阈值的非匹配对应点;将所述聚类距离小于聚类阈值的非匹配对应点聚类到所述匹配对应点的超像素中;将所述输入图中由各匹配对应点的超像素构成的集合作为所述输入图的匹配对应点的第三超像素集合。
其中,所述输入图的非匹配对应点为所述输入图中除所述匹配对应点外的像素点,所述参考图的非匹配对应点为所述参考图中除所述匹配对应点外的像素点。
优选地,遍历所述输入图中的每个匹配对应点时,计算每个非匹配对应点到当前匹配对应点的距离时,如果非匹配对应点已经被聚类到其他匹配对应点的超像素中,则不再计算其到当前匹配对应点的距离,也不把其聚类到当前匹配对应点的超像素中,以节省计算时间,提高聚类效率。
进一步地,第一非匹配对应点为所述输入图或所述参考图中的任一非匹配对应点,相应的,第一匹配对应点为与所述第一非匹配对应点在同一图中的任一匹配对应点。所述第一非匹配对应点与所述第一匹配对应点的聚类距离为:
其中,t表示所述第一非匹配对应点,p表示所述第一匹配对应点,(it,jt)表示所述第一非匹配对应点的位置,表示位于(it,jt)上的第一非匹配对应点,(ip,jp)表示所述第一匹配对应点的位置,表示所述第一匹配对应点, 表示所述第一非匹配对应点的灰度矢量,表示所述第一匹配对应点的灰度矢量;表示所述第一非匹配对应点的纹理特征,表示所述第一匹配对应点的纹理特征,表示所述第一非匹配对应点的颜色矢量, 表示所述第一匹配对应点的颜色矢量,表示所述第一非匹配对应点的梯度,表示所述第一匹配对应点的梯度,表示所述第一非匹配对应点的绝对位置,表示所述第一匹配对应点的绝对位置,λM、λT、λC、λDV和均为常数。
另外,聚类阈值的值可以由技术人员预先设定,本发明实施例中,该聚类阈值的优选取值为1.2×109。该聚类阈值还可以根据实际需要设定为其他值,本发明实施例中对此不做具体限定。
例如,输入图的匹配对应点有3个,分别是匹配对应点A、匹配对应点B和匹配对应点C;非匹配对应点有7个,分别为非匹配对应点1,非匹配对应点2,…,非匹配对应点7;预设聚类阈值为1.2×109。首先,分别计算7个非匹配对应点与匹配对应点A的聚类距离,假设非匹配对应点1和非匹配对应点2与匹配对应点A的聚类距离小于1.2×109,而其他5个非匹配对应点与匹配对应点A的聚类距离均不小于1.2×109,则将非匹配对应点1和非匹配对应点2聚类到匹配对应点A的超像素。然后,分别计算非匹配对应点3,非匹配对应点4,非匹配对应点5,非匹配对应点6,非匹配对应点7与匹配对应点B的聚类距离;假设非匹配对应点3与匹配对应点B的聚类距离小于1.2×109,而其他4个非匹配对应点与匹配对应点B的聚类距离均不小于1.2×109,则将非匹配对应点3聚类到匹配对应点B的超像素。第三,分别计算非匹配对应点4,非匹配对应点5,非匹配对应点6,非匹配对应点7与匹配对应点C的聚类距离;假设非匹配对应点5、非匹配对应点6与匹配对应点C的聚类距离均小于1.2×109,而其他2个非匹配对应点与匹配对应点C的聚类距离均不小于1.2×109,则将非匹配对应点5和非匹配对应点6聚类到匹配对应点C的超像素。该举例中得到三个匹配对应点对应的三个超像素构成的集合作为所述输入图的匹配对应点的第三超像素集合,剩下的非匹配对应点4和非匹配对应点7未被聚类到任何匹配对应点的超像素。
步骤S203、根据所述匹配对应点和所述参考图的像素点的多层次特征,确定所述参考图的匹配对应点的第四超像素集合。
该步骤具体包括:遍历所述参考图中的每个匹配对应点,计算所述参考图中各非匹配对应点分别与所述匹配对应点的聚类距离;根据所述参考图中各非匹配对应点分别与所述匹配对应点的聚类距离,从所述参考图对应的各非匹配对应点中确定出与所述匹配对应点的聚类距离小于聚类阈值的非匹配对应点;将所述聚类距离小于聚类阈值的非匹配对应点聚类到所述匹配对应点的超像素中;将所述参考图中由各匹配对应点的超像素构成的集合作为所述参考图的匹配对应点的第四超像素集合。
其中,所述参考图中各非匹配对应点分别与所述匹配对应点的聚类距离与步骤S202中所述输入图中各非匹配对应点分别与所述匹配对应点的聚类距离的计算方法类似,此处不再赘述。
另外,聚类阈值的值可以由技术人员预先设定,本发明实施例中,该聚类阈值的优选取值为1.2×109。该聚类阈值还可以根据实际需要设定为其他值,本发明实施例中对此不做具体限定。
步骤S204、根据所述匹配对应点,以及所述输入图和所述参考图的像素点的多层次特征,确定所述输入图的非匹配对应点的第五超像素集合和所述参考图的非匹配对应点的第六超像素集合。
该步骤具体包括:根据所述输入图和所述参考图的所述像素点的多层次特征、所述输入图和所述参考图中未被聚类到所述匹配对应点的超像素的所述非匹配对应点,确定像素级二部图;根据所述像素级二部图,确定所述输入图的非匹配对应点的第五超像素集合和所述参考图的非匹配对应点的第六超像素集合。
进一步地,根据所述输入图和所述参考图的所述像素点的多层次特征、所述输入图和所述参考图中未被聚类到所述匹配对应点的超像素的所述非匹配对应点,确定像素级二部图具体包括:将所述输入图和所述参考图中未被聚类到所述匹配对应点的超像素的所述非匹配对应点构成的集合作为所述像素级二部图的顶点集合;将所述输入图中任一未被聚类到所述匹配对应点的超像素的所述非匹配对应点,与所述参考图中任一未被聚类到所述匹配对应点的超像素的所述非匹配对应点作为两个顶点,连接所述两个顶点所成的边的集合作为所述像素级二部图的边的集合;根据所述像素级二部图的顶点集合与所述像素级二部图的边的集合,确定所述像素级二部图。
例如,假设输入图中未被聚类到匹配对应点的超像素的非匹配对应点有3个,分别是非配对应点1、非配对应点2和非配对应点3;参考图中未被聚类到匹配对应点的超像素的非匹配对应点有2个,分别是非配对应点A和非配对应点B。所构建的像素级二部图的顶点集合为{非配对应点1,非配对应点2,非配对应点3,非配对应点A,非配对应点B};像素级二部图的边集合为{(非配对应点1,非配对应点A),(非配对应点1,非配对应点B),(非配对应点2,非配对应点A),(非配对应点2,非配对应点B),(非配对 应点3,非配对应点A),(非配对应点3,非配对应点B)},其中(非配对应点1,非配对应点A)表示连接非配对应点1与非配对应点A两个顶点所成的边;根据像素级二部图的顶点集合和像素级二部图的边集合即可确定该像素级二部图。
优选地,可以为像素级二部图的边增加权值,定义像素级二部图的边的权值为:
其中,表示所述输入图中与所述像素级二部图的边相邻的第一像素点,表示表示所述参考图中与所述像素级二部图的边相邻的第二像素点, 表示所述第一像素点的所述局部约束线性编码特征,表示所述第二像素点的所述局部约束线性编码特征,表示所述第一像素点的纹理特征,表示所述第二像素点的纹理特征,表示所述第一像素点的绝对位置,表示所述第二像素点的绝对位置,表示所述第一像素点的相对位置,表示所述第二像素点的相对位置,λS、λT、均为常数。
另外,根据所述像素级二部图,确定所述输入图的非匹配对应点的第五超像素集合和所述参考图的非匹配对应点的第六超像素集合具体包括:根据所述像素级二部图,进行二部图划分,确定所述输入图的非匹配对应点的第五超像素集合和所述参考图的非匹配对应点的第六超像素集合。
首先定义输入图的一个多层特征向量:参考图的一个多层特征向量
构建出像素级二部图后,二部图的划分可以采用求解广义的特征向量的方法实现。其中,像素级二部图可以表示为(X,Y,E),X表示所述像素级二部图在输入图中的顶点集合,Y表示所述像素级二部图在参考图中的顶点结合,E表示像素级二部图边的结合。
定义广义的特征向量的问题:Jg=λDg,其中,λ是需要被优化的特征值,D=diag(Ω1)是度矩阵,J=D-Ω是拉普拉斯矩阵,由1是单位向量,Ω是二部图的关联矩阵,该关联矩阵包含像素级二部图的边的权值。通过求解上述问题可以得到一个度矩阵D,该度矩阵D为分块对角矩阵。然后使用兰索斯(lanczos)方法得出:进一步得到 中包含了像素点之间相互连接的信息,根据像素点之间相互连接的信息得到在输入图和参考图中分别聚类得到k个超像素,输入图中的k个超像素构成的集合为第五超像素集合,参考图中的k个超像素构成的集合为第六超像素集合。其中,DX=diag(Ω)1和DY=diag(Ω)T1定义为X和Y的度矩阵。其中,k可以由技术人员预先设定,可选取值为20≤k≤200,最优选取值为80。
通过上述方法对所述像素级二部图进行二部图匹配,得到的所述输入图的非匹配对应点的第五超像素集合中超像素的个数与所述参考图的非匹配对应点的第六超像素集合中超像素的个数相等。
步骤S205、根据所述第三超像素集合和所述第五超像素集合,确定所述第一超像素集合,根据所述第四超像素集合和所述第六超像素集合,确定所述第二超像素集合。
由上述步骤得出的第三超像素集合为输入图中匹配对应点对应的超像素集合,第五超像素集合输入图中非匹配对应点对应的超像素集合,第三超像素集合与第五超像素集合的并集即为第一超像素集合。类似地,由上述步骤得出的第四超像素集合为参考图中匹配对应点对应的超像素集合,第六超像素集合参考图中非匹配对应点对应的超像素集合,第四超像素集合与第六超像素集合的并集即为第二超像素集合。
本发明实施例为步骤S102的细化,根据所述输入图和所述参考图的像素点的多层次特征,在由灰度矢量,颜色矢量,灰度和梯度构成的特征空间中,将输入图和参考图的像素点分别聚类成相等个数的超像素,从而使后续得到相互匹配的超像素对覆盖所有的超像素,而不存在没有配对的超像素,进一步使得根据超像素对,对输入图中所有超像素进行颜色转换,确保颜色转换覆盖输入图中每一个超像素,也即是覆盖输入图中每一个像素点,更好地实现将参考图中包含的多种风格元素直接、全部转换至输入图上,改变输入图的颜色、灰度、对比度相关的视觉效果,从而使得结果图具有参考图的风格。
图4为本发明的另一实施例提供的图像风格刷的实现方法流程图;在上述实施例基础上,如图4所示,所述根据所述输入图的第一超像素集合和所述参考图的第二超像素集合,确定超像素二部图,包括以下步骤:
步骤S401、将所述输入图的第一超像素集合和所述参考图的第二超像素集合的并集作为所述超像素二部图的顶点集合。
步骤S402、将所述输入图的第一超像素集合中任一超像素和所述参考图的第二超像素集合中任一超像素作为两个顶点,连接所述两个顶点所成的边的集合作为所述超像素二部图的边的集合。
优选地,可定义所述超像素二部图的边的权值为:
其中,表示所述输入图中与所述超像素二部图的边相邻的第一超像素,表示所述参考图中与所述超像素二部图的边相邻的第二超像素,表示所述第一超像素的局部约束线性编码特征,表示所述第二超像素的局部约束线性编码特征,表示所述第一超像素的纹理特征,表示所述第二超像素的纹理特征,表示所述第一超像素的绝对位置,表示所述第二超像素的绝对位置,表示所述第一超像素的相对位置,表示所述第二超像素的相对位置,λS、λT、均为常数。
其中,所述输入图或所述参考图中超像素的一多层次特征为所述第三超像素中所有像素点的所述多层次特征的均值。例如,超像素A中包含3个像素点,分别记为像素点1,像素点2和像素点3。那么,超像素A的灰度矢量为像素点1、像素点2和像素点3的灰度矢量的均值;超像素A的颜色矢量为像素点1、像素点2和像素点3的颜色矢量的均值;同理可以得出超像素A的其他多层次特征,此处不再赘述。
为方便理解超像素二部图的边的集合,下面以第一超像素集合中包含2个超像素,第二超像素集合中包含3个超像素为例进行说明:假设第一超像素集合中包含超像素A和超像素B,第二超像素集合中包含超像素1,超像素2和超像素3。超像素二部图的边的集合包括的边有:(超像素A,超像素1),(超像素A,超像素2),(超像素A,超像素3),(超像素B,超像素1),(超像素B,超像素2),(超像素B,超像素3)。其中(超像素A,超像素1)表示连接超像素A和超像素1所成的边。
步骤S403、根据所述超像素二部图的顶点集合和所述超像素二部图的边的集合,确定所述超像素二部图。
本发明实施例中构建超像素二部图的方法,覆盖了所有输入图中的超像素,使后续得到相互匹配的超像素对覆盖所有的超像素,而不存在没有配对的超像素,进一步使得根据超像素对,对输入图中所有超像素进行颜色转换,确保颜色转换覆盖输入图中每一个超像素,也即是覆盖输入图中每一个像素点,更好地实现将参考图中包含的多种风格元素直接、全部转换至输入图上,改变输入图的颜色、灰度、对比度相关的视觉效果,从而使得结果图具有参考图的风格。
图5为本发明的另一实施例提供的图像风格刷的实现方法流程图;在上述实施例的基础上,如图5所示,所述根据第一颜色空间和所述超像素对,对所述输入图的超像素进行颜色转换,得到结果图,具体包括一下步骤:
步骤S501、将所述输入图转换到所述第一颜色空间,得到第一中间输入图。
优选地,第一颜色空间采用一个特殊的各通道间去相关性的颜色空间,如lαβ颜色空间,在进行颜色转换之前的输入图与参考图均用RGB颜色空间的表示方法表示。
具体地,对输入图中的每一个超像素进行颜色转换,转换到第一颜色空间,颜色转换后的超像素构成的图为第一中间输入图。
步骤S502、将所述参考图转换到所述第一颜色空间,得到第一中间参考图。
具体地,对参考图中的每一个超像素进行颜色转换,转换到第一颜色空间,颜色转换后的超像素构成的图为第一中间参考图。
由于进行颜色转换前输入图与参考图中的超像素为一一对应的,进行颜色转换后第一中间输入图和第一中间参考图中的超像素也是一一对应的。
步骤S503、根据所述第一中间输入图、所述第一中间参考图、以及所述超像素对,对所述第一中间输入图进行颜色转换,得到第二中间输入图。
下面以在lαβ颜色空间中,以第一中间输入图和第一中间参考图中的超像素对ΙF,c和ΙF,f为例,对每对超像素进行颜色转换的过程进行说明:首先,对第一中间输入图的超像素ΙF,c分别在l颜色通道、α颜色通道和β颜色通道中进行颜色转换:
根据上述计算结果和第一中间参考图中的超像素ΙF,f,进行如下颜色转换:
其中,<·>表示计算均值的操作,表示第一中间参考图的超像素ΙF,f在l颜色通道中的标准差,表示第一中间参考图的超像素ΙF,f在α颜色通道中的标准差,表示第一中间参考图在β颜色通道中的标准差,表示第一中间输入图的超像素ΙF,c在l颜色通道中的标准差,表示第一中间输入图的超像素ΙF,c在α颜色通道中的标准差,表示第一中间输入图在β颜色通道中的标准差。下标l、α和β分别代表矢量所表示的l颜色通道、α颜色通道和β颜色通道。表示在l颜色通道中第一中间输入图的超像素ΙF,c的转换结果,表示在α颜色通道中第一中间输入图的超像素ΙF,c的转换结果,表示在β颜色通道中第一中间输入图的超像素ΙF,c的转换结果。
步骤S504、将所述第二中间输入图转换到第二颜色空间,得到所述结果图。
其中,第二颜色空间为RGB颜色空间。
基于步骤S503中的举例,继续将和分别转换回RGB颜色空间,得到结果图。
优选地,在步骤S504之后,还包括步骤S505:对所述结果图进行引导滤波处理。可选地,可以采用双边滤波,引导性滤波,1范式约束下的边缘保持滤波等方法对所述结果图进行引导滤波处理。
本发明实施例通过对输入图的超像素进行颜色转换,在颜色转换完成后,对结果图进行引导滤波处理,可以消除超像素边界对结果图视觉效果的影响,使得结果图的风格更加接近参考图。
图6为本发明另一实施例提供的图像风格刷的实现装置结构图;本发明实施例提供的图像风格刷的实现装置可以执行图像风格刷的实现方法实施例提供的处理流程,该图像风格刷的实现装置具体设置在上述方法实施例的图像风格刷的设备中,如图4所示,所述图像风格刷的实现装置60包括:获取 模块61,用于根据输入图与参考图之间的稠密对应,获取输入图与参考图的匹配对应点;第一确定模块62,用于根据所述匹配对应点,确定所述输入图的第一超像素集合和所述参考图的第二超像素集合;第二确定模块63,用于根据所述输入图的第一超像素集合和所述参考图的第二超像素集合,确定超像素二部图;第三确定模块64,用于对所述超像素二部图进行二部图匹配,确定所述输入图的第一超像素集合与所述参考图的第二超像素集合中相互匹配的超像素对;颜色转换模块65,用于根据第一颜色空间和所述超像素对,对所述输入图的超像素进行颜色转换,得到结果图。
本发明实施例提供的图像风格刷的实现装置可以具体用于执行上述图1所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过根据输入图与参考图之间的稠密对应,获取输入图与参考图的匹配对应点;根据所述匹配对应点,确定所述输入图的第一超像素集合和所述参考图的第二超像素集合,并进一步确定超像素二部图;对所述超像素二部图进行二部图匹配,确定所述输入图的第一超像素集合与所述参考图的第二超像素集合中相互匹配的超像素对;根据第一颜色空间和所述超像素对,对所述输入图的超像素进行颜色转换,得到结果图,可以根据参考图具备的多种风格元素,对输入图进行风格转换,得到结果图,实现将参考图中包含的多种风格元素直接、全部转换至输入图上,改变输入图的颜色、灰度、对比度相关的视觉效果,从而使得结果图具有参考图的风格。
图7为本发明另一实施例提供的图像风格刷的实现装置结构图;在上述实施例基础上,如图7所示,所述第一确定模块62,包括:第一确定单元621,用于确定所述输入图和所述参考图的像素点的多层次特征;第二确定单元622,用于根据所述匹配对应点和所述输入图的所述像素点的多层次特征,确定所述输入图的匹配对应点的第三超像素集合;第三确定单元623,用于根据所述匹配对应点和所述参考图的所述像素点的多层次特征,确定所述参考图的匹配对应点的第四超像素集合;第四确定单元624,用于根据所述匹配对应点,以及所述输入图和所述参考图的所述像素点的多层次特征,确定所述输入图的非匹配对应点的第五超像素集合和所述参考图的非匹配对应点的第六超像素集合;其中,所述输入图的非匹配对应点为所述输入图中除所述匹配对应点外的像素点,所述参考图的非匹配对应点为所述参考图中除所述 匹配对应点外的像素点;第五确定单元625,用于根据所述第三超像素集合和所述第五超像素集合,确定所述第一超像素集合,根据所述第四超像素集合和所述第六超像素集合,确定所述第二超像素集合。
其中,所述输入图或所述参考图中像素点的所述多层次特征包括:所述像素点的灰度矢量,颜色矢量,梯度,绝对位置,纹理特征,相对位置,局部约束线性编码特征。
进一步地,所述第二确定单元622包括:第一计算子单元,用于遍历所述输入图中的每个匹配对应点,计算所述输入图中各非匹配对应点分别与所述匹配对应点的聚类距离;第一确定子单元,用于根据所述输入图中各非匹配对应点分别与所述匹配对应点的聚类距离,从所述输入图对应的各非匹配对应点中确定出与所述匹配对应点的聚类距离小于聚类阈值的非匹配对应点;第一聚类子单元,用于将所述聚类距离小于聚类阈值的非匹配对应点聚类到所述匹配对应点的超像素中;第二确定子单元,用于将所述输入图中由各匹配对应点的超像素构成的集合作为所述输入图的匹配对应点的第三超像素集合。
所述第三确定单元623包括:第二计算子单元,用于遍历所述参考图中的每个匹配对应点,计算所述参考图中各非匹配对应点分别与所述匹配对应点的聚类距离;第三确定子单元,用于根据所述参考图中各非匹配对应点分别与所述匹配对应点的聚类距离,从所述参考图对应的各非匹配对应点中确定出与所述匹配对应点的聚类距离小于聚类阈值的非匹配对应点;第二聚类子单元,用于将所述聚类距离小于聚类阈值的非匹配对应点聚类到所述匹配对应点的超像素中;第四确定子单元,用于将所述参考图中由各匹配对应点的超像素构成的集合作为所述参考图的匹配对应点的第四超像素集合;其中,第一非匹配对应点为所述输入图或所述参考图中的任一非匹配对应点,相应的,第一匹配对应点为与所述第一非匹配对应点在同一图中的任一匹配对应点。
所述第一非匹配对应点与所述第一匹配对应点的聚类距离为
其中,t表示所述第一非匹配对应点,p表示所述第一匹配对应点,(it,jt)表示所述第一非匹配对应点的位置,表示位于(it,jt)上的第一非匹配对应点,(ip,jp)表示所述第一匹配对应点的位置,表示所述第一匹配对应点, 表示所述第一非匹配对应点的灰度矢量,表示所述第一匹配对应点的灰度矢量;表示所述第一非匹配对应点的纹理特征,表示所述第一匹配对应点的纹理特征,表示所述第一非匹配对应点的颜色矢量, 表示所述第一匹配对应点的颜色矢量,表示所述第一非匹配对应点的梯度,表示所述第一匹配对应点的梯度,表示所述第一非匹配对应点的绝对位置,表示所述第一匹配对应点的绝对位置,λM、λT、λC、λDV和均为常数。
所述第四确定单元624包括:第五确定子单元,用于根据所述输入图和所述参考图的所述像素点的多层次特征、所述输入图和所述参考图中未被聚类到所述匹配对应点的超像素的所述非匹配对应点,确定像素级二部图;第六确定子单元,用于根据所述像素级二部图,确定所述输入图的非匹配对应点的第五超像素集合和所述参考图的非匹配对应点的第六超像素集合。
所述第五确定子单元还用于将所述输入图和所述参考图中未被聚类到所述匹配对应点的超像素的所述非匹配对应点构成的集合作为所述像素级二部图的顶点集合;将所述输入图中任一未被聚类到所述匹配对应点的超像素的所述非匹配对应点,与所述参考图中任一未被聚类到所述匹配对应点的超像素的所述非匹配对应点作为两个顶点,连接所述两个顶点所成的边的集合作为所述像素级二部图的边的集合;根据所述像素级二部图的顶点集合与所述像素级二部图的边的集合,确定所述像素级二部图。
所述像素级二部图的边的权值为
其中,表示所述输入图中与所述像素级二部图的边相邻的第一像素点,表示表示所述参考图中与所述像素级二部图的边相邻的第二像素点, 表示所述第一像素点的所述局部约束线性编码特征,表示所述第二像素点的所述局部约束线性编码特征,表示所述第一像素点的纹理特 征,表示所述第二像素点的纹理特征,表示所述第一像素点的绝对位置,表示所述第二像素点的绝对位置,表示所述第一像素点的相对位置,表示所述第二像素点的相对位置,λS、λT、均为常数。
所述输入图的非匹配对应点的第五超像素集合中超像素的个数与所述参考图的非匹配对应点的第六超像素集合中超像素的个数相等。
本发明实施例提供的图像风格刷的实现装置可以具体用于执行上述图2所提供的方法实施例,具体功能此处不再赘述。
本发明实施例根据所述输入图和所述参考图的像素点的多层次特征,在由灰度矢量,颜色矢量,灰度和梯度构成的特征空间中,将输入图和参考图的像素点分别聚类成相等个数的超像素,从而使后续得到相互匹配的超像素对覆盖所有的超像素,而不存在没有配对的超像素,进一步使得根据超像素对,对输入图中所有超像素进行颜色转换,确保颜色转换覆盖输入图中每一个超像素,也即是覆盖输入图中每一个像素点,更好地实现将参考图中包含的多种风格元素直接、全部转换至输入图上,改变输入图的颜色、灰度、对比度相关的视觉效果,从而使得结果图具有参考图的风格。
在上述实施例基础上,如图7所示,所述第二确定模块63包括:顶点集合获取单元631,用于将所述输入图的第一超像素集合和所述参考图的第二超像素集合的并集作为所述超像素二部图的顶点集合;边集合获取单元632,用于将所述输入图的第一超像素集合中任一超像素和所述参考图的第二超像素集合中任一超像素作为两个顶点,连接所述两个顶点所成的边的集合作为所述超像素二部图的边的集合;超像素二部图确定单元633,根据所述超像素二部图的顶点集合和所述超像素二部图的边的集合,确定所述超像素二部图。
其中,所述超像素二部图的边的权值为
其中,表示所述输入图中与所述超像素二部图的边相邻的第一超像素,表示所述参考图中与所述超像素二部图的边相邻的第二超像素,表示所述第一超像素的局部约束线性编码特征,表示所述第二超像素的局部约束线性编码特征,表示所述第一超像素的纹理特征,表示所述第二超像素的纹理特征,表示所述第一超像素的绝对位置,表示所述第二超像素的绝对位置,表示所述第一超像素的相对位置,表示所述第二超像素的相对位置,λS、λT、均为常数。
所述输入图或所述参考图中超像素的一多层次特征为所述第三超像素中所有像素点的所述多层次特征的均值。
本发明实施例提供的图像风格刷的实现装置可以具体用于执行上述图4所提供的方法实施例,具体功能此处不再赘述。
本发明实施例中构建超像素二部图的方法,覆盖了所有输入图中的超像素,使后续得到相互匹配的超像素对覆盖所有的超像素,而不存在没有配对的超像素,进一步使得根据超像素对,对输入图中所有超像素进行颜色转换,确保颜色转换覆盖输入图中每一个超像素,也即是覆盖输入图中每一个像素点,更好地实现将参考图中包含的多种风格元素直接、全部转换至输入图上,改变输入图的颜色、灰度、对比度相关的视觉效果,从而使得结果图具有参考图的风格。
在上述实施例基础上,如图7所示,所述颜色转换模块65包括:第一转换单元651,用于将所述输入图转换到所述第一颜色空间,得到第一中间输入图;第二转换单元652,用于将所述参考图转换到所述第一颜色空间,得到第一中间参考图;第三转换单元653,用于根据所述第一中间输入图、所述第一中间参考图、以及所述超像素对,对所述第一中间输入图进行颜色转换,得到第二中间输入图;第四转换单元654,用于将所述第二中间输入图转换到第二颜色空间,得到所述结果图。
优选地,图像风格刷的实现装置还包括:引导滤波模块66,用于对所述结果图进行引导滤波处理。
本发明实施例通过对输入图的超像素进行颜色转换,在颜色转换完成后,对结果图进行引导滤波处理,可以消除超像素边界对结果图视觉效果的影响,使得结果图的风格更加接近参考图。
综上所述,本发明实施例通过根据输入图与参考图之间的稠密对应,获 取输入图与参考图的匹配对应点;根据所述匹配对应点,确定所述输入图的第一超像素集合和所述参考图的第二超像素集合,并进一步确定超像素二部图;对所述超像素二部图进行二部图匹配,确定所述输入图的第一超像素集合与所述参考图的第二超像素集合中相互匹配的超像素对;根据第一颜色空间和所述超像素对,对所述输入图的超像素进行颜色转换,得到结果图,可以根据参考图具备的多种风格元素,对输入图进行风格转换,得到结果图,实现将参考图中包含的多种风格元素直接、全部转换至输入图上,改变输入图的颜色、灰度、对比度相关的视觉效果,从而使得结果图具有参考图的风格;通过对结果图进行引导滤波处理,可以消除超像素边界对结果图视觉效果的影响,使得结果图的风格更加接近参考图。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、 随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。