一种鼻尖定位方法和装置
技术领域
本发明实施例涉及数字图像处理技术领域,尤其涉及一种鼻尖定位方法和装置。
背景技术
随着三维成像技术的日益成熟,通过三维成像技术在人脸识别中的应用越来越广泛。
现在技术中,对于人脸的识别往往采用整体面部数据的提取,而对于面部中各个部位的确定通常采用估计的方式,如采用估计的方式估计鼻尖结构的位置,估计的方式并不能精确的确定出鼻尖结构的位置,进而无法以鼻尖为中心精确提取出用户整个面部数据。
在实现本发明实施例的过程中,发明人发现现有技术至少存在以下缺陷:在人脸识别过程中不能准确的得出鼻尖结构的位置。
发明内容
本发明实施例的目的在于提供一种鼻尖定位方法和装置,以解决在人脸识别过程中不能准确的得出鼻尖结构的位置的问题。
第一方面,本发明实施例的一可能的实施方案提供了一种鼻尖定位方法,包括:对三维面部图像数据进行过分割处理,得到多个三维超体素;根据从所述三维面部图像数据中获取的三维超体素的信息,估计鼻尖位置;根据所述鼻尖位置和所述三维超体素的信息,确定与所述三维面部图像数据相对应的三维面部轮廓;对所述三维面部轮廓进行检测,确定所述三维面部轮廓的凸起部位;对所述凸起部位进行检测,确定鼻尖结构和鼻尖的位置。
优选地,所述对所述三维面部轮廓进行检测,确定所述三维面部轮廓的凸起部位,包括:将三维圆球体置于所述三维面部轮廓上进行滚动操作,确定每次滚动操作圆球体在所述三维面部轮廓上的接触面积;依据所述接触面积确定所述圆形的非接触面积;通过所述接触面积和所述非接触面积的关系确定当前位置是否属于凸起部位。
优选地,所述对所述凸起部位进行检测,确定鼻尖结构和鼻尖的位置,包括:将所述凸起部位与鼻部三角模型进行匹配;将匹配度最优的凸起部位确定为鼻尖结构;基于所述鼻尖结构和三角模型确定鼻尖的位置。
优选地,所述对三维面部图像数据进行过分割处理,得到多个三维超体素,包括:构建体素空间,在所述体素空间中对三维人体图像数据进行过分割处理,得到多个面部图像的三维超体素。
优选地,所述根据从所述三维面部图像数据中获取的三维超体素的信息,估计鼻尖位置,包括:以所述三维超体素为基本单位在体素空间中构建邻接关系,得到面部的三维布局结构;基于霍夫森林模型从所述三维布局中估计鼻尖的位置。
优选地,所述根据所述鼻尖位置和所述三维超体素的信息,确定与所述三维面部图像数据相对应的三维面部轮廓,包括:以鼻尖的位置为中心对所述三维布局进行剖面截取,得到面部的左剖面和右剖面;将所述左剖面和右剖面投影到三维坐标系中,获得完整的三维面部轮廓。
第二方面,本发明实施例的一可能的实施方案提供了一种鼻尖定位装置,包括:分割模块,用于对三维面部图像数据进行过分割处理,得到多个三维超体素;估计模块,用于根据从所述三维面部图像数据中获取的三维超体素的信息,估计鼻尖位置;第一确定模块,用于根据所述鼻尖位置和所述三维超体素的信息,确定与所述三维面部图像数据相对应的三维面部轮廓;第二确定模块,用于对所述三维面部轮廓进行检测,确定所述三维面部轮廓的凸起部位;第三确定模块,用于对所述凸起部位进行检测,确定鼻尖结构和鼻尖的位置。
优选地,所述第二确定模块包括:第一面积确定子模块,用于将三维圆球体置于所述三维面部轮廓上进行滚动操作,确定每次滚动操作圆球体在所述三维面部轮廓上的接触面积;第二面积确定子模块,用于依据所述接触面积确定所述圆形的非接触面积;判断子模块,用于通过所述接触面积和所述非接触面积的关系确定当前位置是否属于凸起部位。
优选地,所述第三确定模块包括:匹配子模块,用于将所述凸起部位与鼻部三角模型进行匹配;结构确定子模块,用于将匹配度最优的凸起部位确定为鼻尖结构;位置确定子模块,用于基于所述鼻尖结构和三角模型确定鼻尖的位置。
优选地,所述分割模块,用于构建体素空间,在所述体素空间中对三维人体图像数据进行过分割处理,得到多个面部图像的三维超体素。
本发明实施例通过对三维面部图像数据进行过分割处理,得到多个三维超体素,根据从三维面部图像数据中获取的三维超体素的信息,估计鼻尖位置,根据鼻尖位置和三维超体素的信息,确定与三维面部图像数据相对应的三维面部轮廓,对三维面部轮廓进行检测,确定三维面部轮廓的凸起部位,对凸起部位进行检测,确定鼻尖结构和鼻尖的位置。本发明实施例先通过估计的方式粗略估计出鼻尖位置,再以鼻尖位置为中心进行面部截取,获取用户整个面部的轮廓,基于得到的面部轮廓检测确定用户的凸起部位,再经过二次检测确定出用户的鼻尖结构,进而基于鼻尖结构可以精确地确定出鼻尖的位置信息。
附图说明
图1是本发明实施例一提供的一种鼻尖定位方法的步骤流程图;
图2是本发明实施例二提供的一种鼻尖定位方法的步骤流程图;
图3是本发明实施例二的三维坐标系中三维面部轮廓的示意图;
图4是本发明实施例二的检测凸起部位的示意图;
图5是本发明实施例二的基于三角模型确定鼻尖结构的示意图;
图6是本发明实施例三提供的一种鼻尖定位装置的结构框图;
图7是本发明实施例四提供的一种鼻尖定位装置的结构框图。
具体实施方式
下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本发明实施例的具体实施方式作进一步详细说明。以下实施例用于说明本发明实施例,但不用来限制本发明实施例的范围。
本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
实施例一
参照图1,示出了本发明实施例一提供的一种鼻尖定位方法的步骤流程图,具体可以包括如下步骤:
步骤102、对三维面部图像数据进行过分割处理,得到多个三维超体素。
在本发明实施例中,采用过分割技术对用户的三维面部图像数据进行过分割处理得到多个三维超体素,其中,超体素是二维图像中广泛使用的超像素在三维空间的扩展,能够高效地将三维无规则的点云数据过分割为有意义的三维局部结构,其中得到的每个三维超体素中的三维数据点是相互连通的,且具有相似的几何特征。其中,过分割是将目标对象按照一定的特征划分为多个子对象。
在本发明实施例的一种可行方案中,可以采用三维点云的方式确定用的三维面部图像数据,再采用VCCS(Voxel Cloud Connectivity Segmentation,体素云连接分割)算法进行点云过分割,其中,VCCS是一种高效的基于K-均值算法的超体素分割算法。
步骤104、根据从三维面部图像数据中获取的三维超体素的信息,估计鼻尖位置。
经过分割得到多个三维超体素,根据每个三维超体素相似的几何特征,将多个三维超体素进行组合,获得用户面部的三维布局结构,再基于模型匹配,从三维布局结构中估计出鼻尖的位置信息。
步骤106、根据鼻尖位置和三维超体素的信息,确定与三维面部图像数据相对应的三维面部轮廓。
在估计出用户鼻尖的位置后,以用户的鼻尖位置为中心,基于用户面部的三维超体素信息从三维布局中对用户的面部进行截取,得出与三维面部图像数据相对应的三维面部轮廓,其中,得到的三维面部轮廓用户确定用户面部中鼻尖的具体位置。
步骤108、对三维面部轮廓进行检测,确定三维面部轮廓的凸起部位。
在得到用户的三维面部轮廓后,对三维面部轮廓进行检测,确定三维面部轮廓中的凸起部位,在实际检测中,用户的凸起部位包括鼻子、嘴巴、下巴等部位,因此还需要进一步确定经过检测得到的凸起部位中的鼻尖结构,其中,鼻尖结构包括用户的整个鼻子部位。
步骤110、对凸起部位进行检测,确定鼻尖结构和鼻尖的位置。
对经过检测得到的凸起部位进行二次检测,确定属于鼻尖结构的凸起部位,确定出鼻尖结构后再确定鼻尖的位置,其中,可以采用几何模型对凸起部位进行检测确定鼻尖结构,再通过几何模型确定鼻尖的位置信息。
本发明实施例通过对三维面部图像数据进行过分割处理,得到多个三维超体素,根据从三维面部图像数据中获取的三维超体素的信息,估计鼻尖位置,根据鼻尖位置和三维超体素的信息,确定与三维面部图像数据相对应的三维面部轮廓,对三维面部轮廓进行检测,确定三维面部轮廓的凸起部位,对凸起部位进行检测,确定鼻尖结构和鼻尖的位置。本发明实施例先通过估计的方式粗略估计出鼻尖位置,再以鼻尖位置为中心进行面部截取,获取用户整个面部的轮廓,基于得到的面部轮廓检测确定用户的凸起部位,再经过二次检测确定出用户的鼻尖结构,进而基于鼻尖结构可以精确地确定出鼻尖的位置信息。
实施例二
参照图2,示出了本发明实施例二提供的一种鼻尖定位方法的步骤流程图,本实施例的鼻尖定位方法具体可以包括如下步骤:
步骤202、构建体素空间,在体素空间中对三维人体图像数据进行过分割处理,得到多个面部图像的三维超体素。
本发明实施例中根据空间分辨率r,利用八叉树算法从三维点云数据中构建体素空间Vr。本发明实施例将Vr(i)表示空间Vr中索引为i的体素(voxel)的特征向量,如下式:
Vr(i)=F1…n
其中,F表示索引为i的体素的特征向量,n表示特征个数。本发明实施例中的体素均指空间Vr中的体素。
在体素空间中,将通过三维点云得到的三维人体图像数据在体素空间中进行过分割处理,在体素空间中得到与面部图像对应的多个三维超体素。
在本发明实施例的一种可选方式中,可以采用VCCS算法进行点云过分割。
步骤204、以三维超体素为基本单位在体素空间中构建邻接关系,得到面部的三维布局结构。
经过分割得到的多个三维超体素具有相似的几何特征,且每个三维超体素中的三维数据点是相互连通的,即可以通过特定的面部特征以三维超体素为基本单位在体素空间中构建邻接关系,如鼻尖结构中的多个三维超体素具有特定的鼻部特征,因此,可以将这些三维超体素建立邻接关系,进而得出整个面部的三维布局。
步骤206、基于霍夫森林模型从三维布局中估计鼻尖的位置。
基于霍夫森林模型对面部的三维布局进行匹配,粗略估计出鼻尖的位置,其中,通过特征匹配和霍夫投票构建三维霍夫投票空间,再通过非极大值抑制或均值漂移算法在霍夫投票空间中检测极值来估计鼻尖位置。
步骤208、以鼻尖的位置为中心对三维布局进行剖面截取,得到面部的左剖面和右剖面。
估计出鼻尖位置后,以鼻尖位置为中心对三维布局进行剖面截取,如可以通过以半径为80mm的半球截取面部数据,得到用户面部的做剖面和右剖面;在本发明实施例中为精确地确定鼻尖结构,可以扩大面部数据的截取范围,对此本发明实施例对截取面部数据半球的半径不作具体限定。
步骤210、将左剖面和右剖面投影到三维坐标系中,获得完整的三维面部轮廓。
将截取到的用户面部的左剖面和右剖面投影到三维坐标系中,并将左剖面和右剖面进行对应组合,在三维坐标系中获得完整的三维面部轮廓,将三维面部轮廓放置于三维坐标系的目的是使三维面部轮廓中的各点都可以用坐标的形式进行表示,方便后续的处理步骤,如图3所示,将头部三维点云数据分解为一组剖面。截取的角度步长为α,范围为[-90°,90°],并将头部剖面分为两组:左半部分[-90°,0°]和右半部分[0°,90°];左半部分的头部剖面向x-y平面投影落在x-y平面的负半平面,逐行扫描,x坐标最小的点集构成头部外围轮廓线;右半部分的头部剖面向x-y平面投影落在x-y平面的正半平面,逐行扫描,x坐标最大的点集构成头部外围轮廓线。
在本发明实施例中对于如何将三维面部轮廓放置于三维坐标系中,可根据实际情况进行设定,本发明实施例不作具体限定。
需要说明的是,在本发明实施例中先估计鼻尖的位置,再进行面部数据的剖面截取,将其在三维坐标系中组合生成完整的面部轮廓;上述操作的目的都是为了后续处理步骤获得精确的鼻尖位置。
在本发明实施例的一种可选方案中,对三维坐标系中的三维面部轮廓进行面部姿态校准,其中,校准包括:PCA(principal components analysis,主成分分析)校正。为了提高校准的精度采用迭代的方法进行校正,其中,PCA是主成分分析,令点云集P为3×n的矩阵,每一列对应一个点(x,y,z)坐标,具体可以采用下述公式:
对应的均值矩阵为:
其中,Pk是第k个点。
对应的协方差矩阵为:
其中,校正的旋转矩阵就是对协方差C进行SVD(The singular valuedecomposition,奇异值分解)分解使得CV=DV,其中D是特征值构成的对角阵,V是特征向量构成的矩阵,姿态校正的过程为:
P'=V(P-m)
步骤212、将三维圆球体置于三维面部轮廓上进行滚动操作,确定每次滚动操作圆球体在三维面部轮廓上的接触面积。
步骤214、依据接触面积确定圆形的非接触面积。
步骤216、通过接触面积和非接触面积的关系确定当前位置是否属于凸起部位。
在本发明实施例中,可以采用三维圆球体检测法检测三维面部轮廓上的凸起部位,具体包括:根据三维面部轮廓和三维圆球体的体积比确定三维圆球体的大小,如100:1的体积比例;再将三维圆球体置于三维面部轮廓上依次进行滚动操作,每次滚动可以由三维圆球体在三维坐标系中的坐标确定,根据每次滚动操作确定三维圆球体和三维面部轮廓的接触面积,如图4所示,在此,可以设定一个门限值thre1(threshold,门限),根据接触面积确定非接触面积,当三维圆球体的接触面积和非接触面积的差值小于thre1时,则确定经过滚动操作三维圆球体所在的位置(三维面部轮廓和三维圆球体的接触位置)为凸出部位。
在本发明实施例中,一种可选方案包括:圆形检测法检测三维面部轮廓的凸起部位,设定圆形的周长为180个单位,依次将圆形在三维面部轮廓上滚动操作,确定每次滚动操作圆形和三维面部轮廓接触部分的圆形周长L1,再确定非接触部分圆形的周长L2,设定一个门限值thre1’,当L1和L2的差值小于thre1’时,则确定经过滚动操作圆形所在的位置(三维面部轮廓和圆形的接触位置)为凸出部位。
步骤218、将凸起部位与鼻部三角模型进行匹配。
在实际处理中,用户面部的凸起部位包括多个,如鼻子、下巴等,因此需要进一步确定哪个凸起部位属于鼻尖结构。
对检测确定的多个凸起部位进行统计,并以统计直方图的形式进行表示,从统计直方图中确定最优的一个或多个凸起部位(最优的凸起部位不一定是鼻尖结构)。
将一个或多个凸起部位与几个模型进行匹配,其中,集合模型包括但不限于鼻部三角模型,匹配步骤具体包括:
如图5所示,D为候选鼻尖位置,沿着轮廓线向两头搜索,找出最大的凸包。如DEF段再往上到G点不是凸包点,DCB再往下到A点不是凸起点。因此,截取轮廓线BCDEF进行分析。
步骤220、将匹配度最优的凸起部位确定为鼻尖结构。
步骤222、基于鼻尖结构和三角模型确定鼻尖的位置。
通常整个鼻子轮廓近似为三角形,因此对截取的轮廓线进行三角形拟合。轮廓线DEF和DCB分别拟合为线段DF和DB,第三边为BF,三角形的高为h。设多边形BCDEFB的面积为Ap,三角形BDF的面积为At,则三角形拟合度S定义为:
S=2-Ap/At
显然,S越大说明多边形越接近于三角形。
鼻尖结构的几何形状特征还应满足如下三个条件:
其一、鼻梁长度大于鼻尖到鼻底的长度,即DF/DB>thre2,其中,门限thre2大于1。
其二、鼻梁DF长度不会太长也不会太短,属于区间[thre3,thre4]。
其三、鼻子的高度h>thre5。
满足上述三个条件,且三角形拟合度S值最高的候选鼻尖点认为是真正的鼻尖点。
因此,将D点作为鼻尖的位置。
本发明实施例通过构建体素空间,在体素空间中对三维人体图像数据进行过分割处理,得到多个面部图像的三维超体素,以三维超体素为基本单位在体素空间中构建邻接关系,得到面部的三维布局结构,基于霍夫森林模型从三维布局中估计鼻尖的位置,以鼻尖的位置为中心对三维布局进行剖面截取,得到面部的左剖面和右剖面,将左剖面和右剖面投影到三维坐标系中,获得完整的三维面部轮廓,将三维圆球体置于三维面部轮廓上进行滚动操作,确定每次滚动操作圆球体在三维面部轮廓上的接触面积,依据接触面积确定圆形的非接触面积,通过接触面积和非接触面积的关系确定当前位置是否属于凸起部位,将凸起部位与鼻部三角模型进行匹配,将匹配度最优的凸起部位确定为鼻尖结构,基于鼻尖结构和三角模型确定鼻尖的位置。先通过霍夫森林模型估计鼻尖位置,再通过三维圆球体滚动检测面部轮廓的凸起部位,最后通过鼻部三维模型确定属于鼻尖结构的凸起部位以及鼻尖的具体位置;经过估计和二次检测能准确地确定鼻尖结构和鼻尖位置。
本领域技术人员可以理解,在本发明实施例具体实施方式的上述方法中,各步骤的序号大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例具体实施方式的实施过程构成任何限定。
实施例三
参照图6,示出了本发明实施例三提供的一种鼻尖定位装置的结构框图。本实施例的鼻尖定位装置具体可以包括如下模块:
分割模块602,用于对三维面部图像数据进行过分割处理,得到多个三维超体素。
估计模块604,用于根据从所述三维面部图像数据中获取的三维超体素的信息,估计鼻尖位置。
第一确定模块606,用于根据所述鼻尖位置和所述三维超体素的信息,确定与所述三维面部图像数据相对应的三维面部轮廓。
第二确定模块608,用于对所述三维面部轮廓进行检测,确定所述三维面部轮廓的凸起部位。
第三确定模块610,用于对所述凸起部位进行检测,确定鼻尖结构和鼻尖的位置。
本发明实施例通过对三维面部图像数据进行过分割处理,得到多个三维超体素,根据从三维面部图像数据中获取的三维超体素的信息,估计鼻尖位置,根据鼻尖位置和三维超体素的信息,确定与三维面部图像数据相对应的三维面部轮廓,对三维面部轮廓进行检测,确定三维面部轮廓的凸起部位,对凸起部位进行检测,确定鼻尖结构和鼻尖的位置。本发明实施例先通过估计的方式粗略估计出鼻尖位置,再以鼻尖位置为中心进行面部截取,获取用户整个面部的轮廓,基于得到的面部轮廓检测确定用户的凸起部位,再经过二次检测确定出用户的鼻尖结构,进而基于鼻尖结构可以精确地确定出鼻尖的位置信息。
实施例四
参照图7,示出了本发明实施例四提供的一种鼻尖定位装置的结构框图,本实施例的鼻尖定位装置具体可以包括如下模块:
分割模块602,用于构建体素空间,在所述体素空间中对三维人体图像数据进行过分割处理,得到多个面部图像的三维超体素。
估计模块604,用于以所述三维超体素为基本单位在体素空间中构建邻接关系,得到面部的三维布局结构;基于霍夫森林模型从所述三维布局中估计鼻尖的位置。
第一确定模块606,用于以鼻尖的位置为中心对所述三维布局进行剖面截取,得到面部的左剖面和右剖面;将所述左剖面和右剖面投影到三维坐标系中,获得完整的三维面部轮廓。
第二确定模块608,用于对所述三维面部轮廓进行检测,确定所述三维面部轮廓的凸起部位。
作为改进,第二确定模608块包括:第一面积确定子模块6082,用于将三维圆球体置于所述三维面部轮廓上进行滚动操作,确定每次滚动操作圆球体在所述三维面部轮廓上的接触面积;第二面积确定子模块6084,用于依据所述接触面积确定所述圆形的非接触面积;判断子模块6086,用于通过所述接触面积和所述非接触面积的关系确定当前位置是否属于凸起部位。
第三确定模块610,用于对所述凸起部位进行检测,确定鼻尖结构和鼻尖的位置。作为改进,第三确定模块610包括:匹配子模块6102,用于将所述凸起部位与鼻部三角模型进行匹配;结构确定子模块6104,用于将匹配度最优的凸起部位确定为鼻尖结构;位置确定子模块6106,用于基于所述鼻尖结构和三角模型确定鼻尖的位置。
本发明实施例的鼻尖定位装置通过构建体素空间,在体素空间中对三维人体图像数据进行过分割处理,得到多个面部图像的三维超体素,以三维超体素为基本单位在体素空间中构建邻接关系,得到面部的三维布局结构,基于霍夫森林模型从三维布局中估计鼻尖的位置,以鼻尖的位置为中心对三维布局进行剖面截取,得到面部的左剖面和右剖面,将左剖面和右剖面投影到三维坐标系中,获得完整的三维面部轮廓,将三维圆球体置于三维面部轮廓上进行滚动操作,确定每次滚动操作圆球体在三维面部轮廓上的接触面积,依据接触面积确定圆形的非接触面积,通过接触面积和非接触面积的关系确定当前位置是否属于凸起部位,将凸起部位与鼻部三角模型进行匹配,将匹配度最优的凸起部位确定为鼻尖结构,基于鼻尖结构和三角模型确定鼻尖的位置。先通过霍夫森林模型估计鼻尖位置,再通过三维圆球体滚动检测面部轮廓的凸起部位,最后通过鼻部三维模型确定属于鼻尖结构的凸起部位以及鼻尖的具体位置;经过估计和二次检测能准确地确定鼻尖结构和鼻尖位置。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。