一种随图像中关键点移动的自适应贴图方法和系统与流程

文档序号:11408245阅读:330来源:国知局
一种随图像中关键点移动的自适应贴图方法和系统与流程

本发明涉及图像处理领域,更具体地,涉及随图像中关键点移动的自适应贴图方法和系统。



背景技术:

随着摄影技术和计算机应用的发展,在视频图像上进行贴图变得越来越普遍,所谓贴图就是在图像中的特定部位加上动态贴图的效果,以人脸为例,特定部位可以指眼睛、鼻子或嘴巴,现有的贴图方法仅仅将贴图放置在画面中的特定位置,当特定位置的发生变化时,虽然贴图的位置也随之变化,但由于没有考虑特定位置的显示比例发生了变化,导致贴图的形状会发生一定程度的扭曲,使得贴图的显示效果大打折扣。



技术实现要素:

本发明提供一种克服上述问题或者至少部分地解决上述问题的随图像中关键点移动的自适应贴图的方法和系统。

根据本发明的一个方面,提供一种随图像中关键点移动的自适应贴图的方法,包括:

s1、定位图像中关键物体上关键点的位置,根据所述关键点移动后的位置变化,对图像上的任意一点进行旋转矩阵转换,获得对应该任意一点的旋转矩阵转换后的坐标;

s2、根据关键点移动后的坐标与贴图的缩放系数,获得位于关键点移动后的位置附近一定范围的坐标;

s3、根据所述位于关键点移动后的位置附近一定范围的坐标、关键点的坐标以及贴图的缩放系数,获得贴图采样坐标,并在所述贴图采样坐标上显示贴图。

根据本发明的另一个方面,提供一种随图像中关键点移动的自适应贴图系统,包括:

转换坐标装置,定位图像中关键物体上关键点的位置,根据所述关键点移动后的位置变化,对图像上的任意一点进行旋转矩阵转换,获得对应该任意一点的旋转矩阵转换后的坐标;

附近坐标生成装置,根据关键点移动后的坐标与贴图的缩放系数,获得位于关键点移动后的位置附近一定范围的坐标;

贴图采样坐标获得装置,根据所述位于关键点移动后的位置附近一定范围的坐标、关键点的坐标以及贴图的缩放系数,获得贴图采样坐标,并在所述贴图采样坐标上显示贴图。

本申请提出一种随图像中关键点移动的自适应贴图方法和系统,通过定位图像中关键物体上关键点的位置,根据所述关键点移动后的位置变化,对图像上的任意一点进行旋转矩阵转换,得到对应该点的旋转矩阵转换后的坐标,确保图像上的点都随关键点的位置变化而同步移动,再根据关键点移动后的坐标与贴图的缩放系数,筛选位于关键点移动后的位置附近一定范围的坐标,最后结合关键点的坐标以及贴图的缩放系数,获得显示贴图的贴图采样坐标,本发明使得在图像上关键点移动的情况下,贴图自适应地进行移动,并且不改变原有的显示比例,提高了用户的体验。

附图说明

图1为本发明实施例的一种随图像中关键点移动的自适应贴图方法的流程图;

图2为本发明实施例中步骤s1的流程图;

图3为本发明实施例中步骤s2的流程示意图;

图4为本发明实施例的一种随图像中关键点移动的自适应贴图系统的框图;

图5为本发明实施例中转换模块的结构框图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

为了克服现有技术中,贴图不能随人脸的旋转而自适应旋转的问题,本发明提供了一种能够随人脸旋转的自适应旋转的贴图方法。

图1示出了本发明实施例的一种随人脸旋转的自适应贴图方法的流程图,如图1可知,本方法包括:

s1、定位图像中关键物体上关键点的位置,根据所述关键点移动后的位置变化,对图像上的任意一点进行旋转矩阵转换,获得对应该任意一点的旋转矩阵转换后的坐标;

s2、根据关键点移动后的坐标与贴图的缩放系数,获得位于关键点移动后的位置附近一定范围的坐标;

s3、根据所述位于关键点移动后的位置附近一定范围的坐标、关键点的坐标以及贴图的缩放系数,获得贴图采样坐标,并在所述贴图采样坐标上显示贴图。

本申请提出一种随图像中关键点移动的自适应贴图方法和系统,通过定位图像中关键物体上关键点的位置,根据所述关键点移动后的位置变化,对图像上的任意一点进行旋转矩阵转换,得到对应该点的转换后的坐标,再根据关键点移动后的坐标与贴图的缩放系数,筛选位于关键点移动后的位置附近一定范围的坐标,最后结合关键点的坐标以及贴图的缩放系数,获得显示贴图的贴图采样坐标,本发明使得在图像上关键点移动的情况下,贴图自适应地进行移动,并且不改变原有的显示比例,提高了用户的体验。

图2示出了本发明实施例中步骤s1的流程图,包括:

s1.1、获取图像的宽高比,定位图像中关键物体上关键点的位置。

需要注意的是,由于常规图像的形状均为长方形,如大部分视频的宽高比为16:9、4:3、2:1,因此,当图像上的坐标发生旋转时,必然会发生扭曲,最显著的是在有手机观看视频时,手机在横屏模式下或竖屏模型下,字幕上字的宽度不同,因此,为了保证贴图在旋转过程中的形状保持不变,本实施例考虑基于图像的宽高比对任意一点的坐标进行缩放。

s1.2、获取关键点移动的距离以及关键物体的转动角度。

s1.3、根据图像的宽高比、关键点移动的距离以及关键物体的转动角度,对图像上的任意一点进行旋转矩阵转换,获得对应该任意一点的旋转矩阵转换后的坐标。

需要注意的是,将图像的坐标称之为世界坐标系,将图像中可移动的关键物体所在的坐标系称之为物体坐标系,贴图虽然位于图像的坐标系中,但贴图又始终跟随物体运动,相当于与物体的坐标系具有联系,因此为了保证贴图的旋转适应两个坐标系间的转换,需要根据图像的宽高比、关键点移动的距离以及关键物体的转动角度,对图像上的任意一点进行旋转矩阵转换。

出于使描述清晰易懂的考虑,以下实施例中的关键物体均以人脸为例,但不用来限制本发明的范围。

在一个实施例中,步骤s1.3进一步包括:

s1.3.1、对图像上的任意一点,根据图像的宽高比,对该点的坐标进行缩放,获得缩放后的坐标;

s1.3.2、将旋转中心点的坐标由原点坐标平移至所述关键点的坐标,并根据关键点的移动距离对缩放后的坐标进行平移,获得第一次平移后的坐标。

需要注意的是,如果一个图形d绕某点o旋转α°后,得到的新图形与原图形完全重合,称o为图形d的旋转中心点。为了保证贴图能够以某个特定位置进行旋转,需要将旋转中心平移至特定位置,以保证旋转后的图像与原图像完全重合,在本发明的应用场景下,旋转中心点即为关键点,所谓的关键点,简单的说,就是贴图需要始终对齐的点,以在人的眼睛上进行贴图为例,关键点可以是人的眼睛的区域的中心点(假设这一点是瞳孔的坐标)。显然,本实施例中所述旋转中心点是指图像中人脸移动后的关键点,同样以上述举例来说,就是人脸移动后瞳孔的坐标。当然,本发明并不局限于对人眼进行贴图,本发明同样适用于对人脸其他部位,例如鼻子、嘴巴或者眉毛的贴图,在此不做赘述。

s1.3.3、根据关键物体的转动角度以及旋转中心点的坐标,对该第一次平移后的坐标进行旋转,获得旋转后的坐标。

需要注意的是,人脸的旋转角度可通过人脸上关键点的位置计算出来,例如,计算鼻梁与水平方向x轴的角度,在此不再详细给出计算公式。因此,为了保证旋转后的坐标与人脸的旋转角度一致且形状不发生改变,本实施例通过根据人脸的旋转角度以及旋转中心点的坐标,对该第一次平移后的坐标进行旋转来获得。

s1.3.4、将旋转中心点的坐标由所述关键点的坐标平移回原点坐标,并根据旋转中心点的移动距离对缩放后的坐标进行平移,获得第二次平移后的坐标。

s1.3.5、将所述第二次平移后的坐标缩放回原比例,获得所述转换后的坐标。

需要注意的是,在完成第二次平移后,将坐标缩放为原比例,即实现了贴图的正确显示。

在一个实施例中,步骤s1.3进一步包括:

s1.3.1、对于图像上的任意一点,将该点的坐标(x,y)转换为齐次坐标(x,y,1),基于图像的宽高比r,对该齐次坐标进行缩放,获得缩放后的坐标(r*x,y,1)。

需要注意的,齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示。例如,二维点(x,y)的齐次坐标表示为(hx,hy,h)。由此可以看出,一个向量的齐次表示是不唯一的,齐次坐标的h取不同的值都表示的是同一个点,比如齐次坐标(8,4,2)、(4,2,1)表示的都是二维点(4,2)。引入齐次坐标的目的主要是合并矩阵运算中的乘法和加法,表示为p'=p*m的形式。即它提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。

缩放后坐标用矩阵m1表示为:

s1.3.2、将旋转中心点的坐标由原点坐标(0,0)平移至所述关键点的坐标(dx,dy),并根据关键点的移动距离对缩放后的坐标进行平移,获得第一次平移后的坐标(r*x+dx/r,y+dy,1)。

需要注意的是,在二维坐标中,原旋转中心点的坐标为原点坐标(0,0),假设平移后的坐标为(dx,dy),在x轴方向平移了sx个单位,在y轴方向平移了sy个单位,定义[x,y]为变换前坐标,[x,y]为变换后坐标。则:x=x+sx;y=y+sy;用矩阵表示:

应用到本实施例中,第一次平移后的坐标用矩阵m2表示为:

s1.3.3、根据关键物体的转动角度a以及旋转中心点的坐标,对该第一次平移后的坐标进行旋转,获得旋转后的坐标:((r*x+dx/r)*cosa-(y+dy)*sina,(r*x+dx/r)*sina-(y+dy)*cosa,1)。

需要注意的是,设某点与原点连线和x轴夹角为b度,以原点为圆心,逆时针转过a度,原点与该点连线长度为r。[x,y]为变换前坐标,[x,y]为变换后坐标。则:

x=r*cos(b);y=r*sin(b);

x=r*cos(a+b)=r*cos(a)*cos(b)-r*sin(a)*sin(b)=x*cos(a)-y*sin(a);

y=r*sin(a+b)=r*sin(a)*cos(b)+r*cos(a)*sin(b)=x*sin(a)+y*cos(a);

用矩阵表示:

应用到本实施例中,旋转后的坐标用矩阵m3表示为:

s1.3.4、将旋转中心点的坐标由所述关键点的坐标平移至原点坐标,并根据旋转中心点平移距离对旋转后的坐标进行平移,获得第二次平移后的坐标:((r*x+dx/r)*cosa-(y+dy)*sina-dx/r,(r*x+dx/r)*sina-(y+dy)*cosa-dy,1)。

需要注意的是,第二次平移后的坐标用矩阵m4表示为:

s1.3.5、将所述第二次平移后的坐标缩放回原比例,获得所述转换后的坐标:((x+dx/r2)*cosa-(y+dy)*sina-dx/r2,(x+dx/r2)*sina-(y+dy)*cosa-dy)。

需要注意的是,转换后的坐标用矩阵m5表示为:

图3示出了本发明实施例中步骤s2的流程示意图,如图3可知,步骤s2包括:

s2.1、基于关键物体的纵向长度、贴图宽度以及图像的宽度,获得贴图在x轴的缩放系数,基于关键物体的纵向长度、贴图高度以及图像的高度,获得贴图在y轴的缩放系数;

s2.2、对于任意一个旋转矩阵转换后的坐标,定义该旋转矩阵转换后的坐标为(dstx,dsty),关键点的坐标为(centerx,centery),当该旋转后的坐标满足以下条件:(centerx-resizex*0.5)<dstx≤(centerx+resizex*0.5)且(centery–resizey*0.5)<dsty≤(centery+resizey*0.5),则将该旋转矩阵转换后的坐标作为位于关键点移动后的位置附近一定范围的坐标。

在一个可选实施例中,贴图在x轴的缩放系数resizex的表达式为:resizex=l*w/(w*r);贴图在y轴的缩放系数resizey的表达式为:resizey=l*h/(h*r);

其中,l表示关键物体的纵向长度的长度,例如人脸的长度,w表示贴图的宽度,h表示贴图的高度,r表示显示系数,w表示图像的宽度,h表示图像的高度。

在一个可选实施例中,根据所述位于关键点移动后的位置附近一定范围的坐标、关键点的坐标以及贴图的缩放系数,获得贴图采样坐标的步骤,进一步包括:

定义位于关键点移动后的位置附近一定范围的坐标为(nearx,neary),关键点坐标为(centerx,centery),贴图在x轴的缩放系数resizex,贴图在y轴的缩放系数resizey,贴图采样坐标为(coordx,coordy),则:

coordx=(nearx-centerx+resizex*0.5)/resizex;

coordy=(neary-centery+resizey*0.5)/resizey。

图4示出了本发明实施例的一种随图像中关键点移动的自适应贴图系统的框图,包括:

转换坐标装置,定位图像中关键物体上关键点的位置,根据所述关键点移动后的位置变化,对图像上的任意一点进行旋转矩阵转换,获得对应该任意一点的旋转矩阵转换后的坐标;

附近坐标生成装置,根据关键点移动后的坐标与贴图的缩放系数,获得位于关键点移动后的位置附近一定范围的坐标;

贴图采样坐标获得装置,根据所述位于关键点移动后的位置附近一定范围的坐标、关键点的坐标以及贴图的缩放系数,获得贴图采样坐标,并在所述贴图采样坐标上显示贴图。

需要注意的是,本实施例通过定位图像中关键物体上关键点的位置,根据所述关键点移动后的位置变化,对图像上的任意一点进行旋转矩阵转换,得到对应该点的旋转矩阵转换后的坐标,确保图像上的点都随关键点的位置变化而同步移动,再根据关键点移动后的坐标与贴图的缩放系数,筛选位于关键点移动后的位置附近一定范围的坐标,最后结合关键点的坐标以及贴图的缩放系数,获得显示贴图的贴图采样坐标,本发明使得在图像上关键点移动的情况下,贴图自适应地进行移动,并且不改变原有的显示比例,提高了用户的体验。

在一个实施例中,转换坐标装置包括:

定位模块,用于获取图像的宽高比,定位图像中关键物体上关键点的位置;

需要注意的是,由于常规图像的形状均为长方形,如大部分视频的宽高比为16:9、4:3、2:1,因此,当图像上的坐标发生旋转时,必然会发生扭曲,最显著的是在有手机观看视频时,手机在横屏模式下或竖屏模型下,字幕上字的宽度不同,因此,为了保证贴图在旋转过程中的形状保持不变,本实施例考虑基于贴图的宽高比对任意一点的坐标进行缩放。

获取关键点参数模块、用于获取关键点移动的距离以及关键物体的转动角度;以及

转换模块,用于根据图像的宽高比、关键点移动的距离以及关键物体的转动角度,对图像上的任意一点进行旋转矩阵转换,获得对应该任意一点的转换后的坐标。

需要注意的是,将图像的坐标称之为世界坐标系,将图像中可移动的关键物体所在的坐标系称之为物体坐标系,贴图虽然位于图像的坐标系中,但贴图又始终跟随物体运动,相当于与物体的坐标系具有联系,因此为了保证贴图的旋转适应两个坐标系间的转换,需要根据图像的宽高比、关键点移动的距离以及关键物体的转动角度,对图像上的任意一点进行旋转矩阵转换。

图5示出了本发明实施例中转换模块的结构框图,包括:

第一缩放单元,用于对图像上的任意一点,根据图像的宽高比,对该点的坐标进行缩放,获得缩放后的坐标。

第一平移单元,用于将旋转中心点的坐标由原点坐标平移至所述关键点的坐标,并根据关键点的移动距离对缩放后的坐标进行平移,获得第一次平移后的坐标。

需要注意的是,如果一个图形d绕某点o旋转α°后,得到的新图形与原图形完全重合,称d为旋转对称图形,称o为旋转对称图形d的旋转中心点。为了保证贴图能够以某个特定位置进行旋转,需要将旋转中心平移至特定位置,以保证旋转后的图像与原图像完全重合,在本发明的应用场景下,旋转中心点即为关键点,所谓的关键点,简单的说,就是贴图需要始终对齐的点,以在人的眼睛上进行贴图为例,关键点可以是人的眼睛的区域的中心点(假设这一点是瞳孔的坐标)。显然,本实施例中所述旋转中心点是指图像中人脸移动后的关键点,同样以上述举例来说,就是人脸移动后瞳孔的坐标。当然,本发明并不局限于对人眼进行贴图,本发明同样适用于对人脸其他部位,例如鼻子、嘴巴或者眉毛的贴图,在此不做赘述。

旋转单元,用于根据关键物体的转动角度以及旋转中心点的坐标,对该第一次平移后的坐标进行旋转,获得旋转后的坐标。

需要注意的是,人脸的旋转角度可通过人脸上关键点的位置计算出来,例如,计算鼻梁与水平方向x轴的角度,在此不再详细给出计算公式。因此,为了保证旋转后的坐标与人脸的旋转角度一致且形状不发生改变,本实施例通过根据人脸的旋转角度以及旋转中心点的坐标,对该第一次平移后的坐标进行旋转来获得。

第二平移单元,用于将旋转中心点的坐标由所述关键点的坐标平移回原点坐标,并根据旋转中心点的移动距离对缩放后的坐标进行平移,获得第二次平移后的坐标;以及

第二缩放单元,用于将所述第二次平移后的坐标缩放回原比例,获得所述转换后的坐标。

在一个实施例中,附近坐标生成装置包括:

缩放系数获取模块,用于基于关键物体的纵向长度、贴图宽度以及图像的宽度,获得贴图在x轴的缩放系数,基于关键物体的纵向长度、贴图高度以及图像的高度,获得贴图在y轴的缩放系数;

附件坐标获取模块,用于对于任意一个旋转后的坐标,定义该旋转后的坐标为(dstx,dsty),关键点的坐标为(centerx,centery),当该旋转后的坐标满足以下条件:(centerx-resizex*0.5)<dstx≤(centerx

+resizex*0.5)且(centery–resizey*0.5)<dsty≤(centery+resizey*0.5),则将该旋转后的坐标作为位于关键点移动后的位置附近一定范围的坐标。

在一个具体实施例中,所述贴图采样坐标获得装置进一步用于:

定义位于关键点移动后的位置附近一定范围的坐标为(nearx,neary),贴图采样坐标为(coordx,coordy),则:

coordx=(nearx-centerx+resizex*0.5)/resizex;

coordy=(neary-centery+resizey*0.5)/resizey。

在一个实施例中,本发明公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:

s1、定位图像中关键物体上关键点的位置,根据所述关键点移动后的位置变化,对图像上的任意一点进行旋转矩阵转换,获得对应该任意一点的旋转矩阵转换后的坐标;

s2、根据关键点移动后的坐标与贴图的缩放系数,获得位于关键点移动后的位置附近一定范围的坐标;

s3、根据所述位于关键点移动后的位置附近一定范围的坐标、关键点的坐标以及贴图的缩放系数,获得贴图采样坐标,并在所述贴图采样坐标上显示贴图。

在一个实施例中,本发明公开了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:

s1、定位图像中关键物体上关键点的位置,根据所述关键点移动后的位置变化,对图像上的任意一点进行旋转矩阵转换,获得对应该任意一点的转换后的坐标;

s2、根据关键点移动后的坐标与贴图的缩放系数,获得位于关键点移动后的位置附近一定范围的坐标;

s3、根据所述位于关键点移动后的位置附近一定范围的坐标、关键点的坐标以及贴图的缩放系数,获得贴图采样坐标,并在所述贴图采样坐标上显示贴图。

最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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