CN108446595A - 一种空间定位方法、装置、系统及存储介质 - Google Patents
一种空间定位方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN108446595A CN108446595A CN201810146628.0A CN201810146628A CN108446595A CN 108446595 A CN108446595 A CN 108446595A CN 201810146628 A CN201810146628 A CN 201810146628A CN 108446595 A CN108446595 A CN 108446595A
- Authority
- CN
- China
- Prior art keywords
- face
- user
- feature point
- camera
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Biology (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Graphics (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种空间定位方法,该定位方法包括:获取用户脸部的第一特征点和第二特征点之间的空间距离;根据空间距离对预先设定的人脸3D网格进行变形处理,得到与用户匹配的人脸3D网格;获取用户的定位图像;根据用户的定位图像和与用户匹配的人脸3D网格,确定用户脸部的空间位置。本发明实施例通过获取用户脸部特征点之间的空间距离,并根据特征点之间的空间距离对预设的3D网格进行变形处理,以使预设的3D网格与用户脸部相匹配,通过用户定位图像和该3D网格确认用户脸部的空间位置,由此得到了精确的人脸空间三维坐标,实现人脸的空间定位。
Description
技术领域
本发明涉及定位技术领域,尤其涉及一种空间定位方法、装置、系统及存储介质。
背景技术
在很多应用场景中,需要对人脸进行空间定位,确定人脸大概的空间三维坐标。举例而言,在现有的裸眼3D(三维)显示技术中,为了给用户提供良好的3D视觉效果,避免出现串扰、反视等影响3D显示效果的问题,通常采用人脸跟踪显示方案,跟踪用户脸部的空间位置,即跟踪用户的观看位置,基于该空间位置进行显示排图,从而使得用户在合理范围内都能看到正确的3D视觉效果。
在现有的人脸定位技术中,往往都是采用单目摄像头拍摄人脸的图像,基于该人脸图像,通过人脸跟踪算法找到人脸的几个主要的特征点在该人脸图像中的位置,再通过人脸3D网格对齐的算法计算人脸大概的空间三维坐标。
但是上述人脸定位技术中使用单目摄像头采集的2D(2维)图像,理论上是可能无法得到精确的人脸空间三维坐标,例如,两个五官差不多的人,一个脸比较大站在远一点的位置,一个脸比较小站在比较近的地方,在拍照后得到的2D图像中,他们的人脸特征点的坐标是相类似的。也就是说通过人脸特征点去计算空间位置会存在多解,无法区别脸大小的情况的。
发明内容
为了解决现有技术存在的问题,本发明实施例提供了一种空间定位方法、装置、系统及存储介质,能够有效提高人脸空间定位的准确性。
第一方面,本发明实施例提供了一种人脸的空间定位方法,包括:
获取用户脸部的第一特征点和第二特征点之间的空间距离;
根据所述空间距离对预先设定的人脸3D网格进行变形处理,得到与所述用户匹配的人脸3D网格;
获取所述用户的定位图像;
根据所述用户的定位图像和所述与所述用户匹配的人脸3D网格,确定所述用户脸部的空间位置。
基于上述技术方案,本发明还可以做出如下改进。
结合第一方面,在第一方面的第一种实施方式中,所述获取用户脸部的第一特征点和第二特征点之间的空间距离具体包括:
获取通过多目摄像头采集的多幅用户图像;
分别获取所述用户脸部的第一特征点和第二特征点在每幅所述用户图像中的像素坐标;
根据所述多目摄像头的参数、所述获取的所述用户脸部的第一特征点和第二特征点在每幅所述用户图像中的像素坐标,确定所述用户脸部的第一特征点和第二特征点的世界坐标;
根据所述用户脸部的第一特征点和第二特征点的世界坐标,确定所述用户脸部的第一特征点和第二特征点之间的空间距离。
结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述分别获取所述用户脸部的第一特征点和第二特征点在每幅所述用户图像中的像素坐标具体包括:
确定所述用户图像中的用户脸部区域;
检测所述用户脸部区域中的人脸特征点以获取所述人脸特征点在所述用户图像中的像素坐标,所述人脸特征点包括:所述第一特征点和所述第二特征点,或者,
检测所述用户脸部区域中的人脸特征点以获取所述人脸特征点在所述用户图像中的像素坐标,根据所述人脸特征点在所述用户图像中的像素坐标,计算所述第一特征点和第二特征点在所述用户图像中的像素坐标。
结合第一方面的第二种实施方式,在第一方面的第三种实施方式中,所述第一特征点为左眼瞳孔,所述第二特征点为右眼瞳孔;
所述人脸特征点包括左眼轮廓点和右眼轮廓点;
所述根据所述人脸特征点在所述用户图像中的像素坐标,计算所述第一特征点和第二特征点在所述用户图像中的像素坐标包括:
将所述右眼轮廓点在所述用户图像的像素坐标取平均值,得到所述右眼瞳孔在所述用户图像中的像素坐标;以及,
将所述左眼轮廓点在所述用户图像的像素坐标取平均值,得到所述左眼瞳孔在所述用户图像中的像素坐标。
结合第一方面的第一种实施方式,在第一方面的第四种实施方式中,所述多目摄像头包括:第一摄像头和第二摄像头;
所述多幅用户图像包括所述第一摄像头采集的第一图像和所述第二摄像头采集的第二图像;
所述根据所述多目摄像头的参数、所述获取的所述用户脸部的第一特征点和第二特征点在每幅所述用户图像中的像素坐标,确定所述用户脸部的第一特征点和第二特征点的世界坐标具体包括:
根据如下公式进行第一迭代运算处理,以获取所述用户脸部的第一特征点的世界坐标:
其中:
n表示迭代次数,初始值为0,XL表示世界坐标;
为预先设定的所述用户脸部的第一特征点的初始世界坐标;
当所述第一迭代运算处理满足预设收敛条件时,将确定为所述用户脸部的第一特征点的世界坐标:
fx1、fy1、px1、py1、R1、T1为所述第一摄像头的参数,其中,(fx1,fy1,px1,py1)为所述第一摄像头的内参,(R1,T1)为所述第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为所述第二摄像头的参数,其中,(fx2,fy2,px2,py2)为所述第二摄像头的内参,(R2,T2)为所述第二摄像头的外参;
s1和s2为缩放因子;
(u′L1,v′L1)为所述获取的所述用户脸部的第一特征点在所述第一图像中的像素坐标,(u′L2,v′L2)为所述获取的所述用户脸部的第一特征点在所述第二图像中的像素坐标;
为世界坐标变换到所述第一图像中的像素坐标,为世界坐标变换到所述第二图像中的像素坐标;
和/或,
根据如下公式进行第二迭代运算处理,以获取所述用户脸部的第二特征点的世界坐标:
其中:
m表示迭代次数,初始值为0,XR表示世界坐标;
为预先设定的所述用户脸部的第二特征点的初始世界坐标;
当所述第二迭代运算处理满足预设收敛条件时,将确定为所述用户脸部的第二特征点的世界坐标:
fx1、fy1、px1、py1、R1、T1为所述第一摄像头的参数,其中,(fx1,fy1,px1,py1)为所述第一摄像头的内参,(R1,T1)为所述第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为所述第二摄像头的参数,其中,(fx2,fy2,px2,py2)为所述第二摄像头的内参,(R2,T2)为所述第二摄像头的外参;
s1和s2为缩放因子;
(u′R1,v′R1)为所述获取的所述用户脸部的第二特征点在所述第一图像中的像素坐标,(u′R2,v′R2)为所述获取的所述用户脸部的第二特征点在所述第二图像中的像素坐标;
为世界坐标变换到所述第一图像中的像素坐标,为世界坐标变换到所述第二图像中的像素坐标。
结合第一方面,在第一方面的第五种实施方式中,所述根据所述空间距离对预先设定的人脸3D网格进行变形处理,得到与所述用户匹配的人脸3D网格具体包括:
根据如下公式,对所述预先设定的人脸3D网格进行变形处理,从而得到与所述用户匹配的人脸3D网格:
其中,S′为变形处理后人脸3D网格坐标,S为预先设定的人脸3D网格坐标,A为所述获取的用户脸部的第一特征点和第二特征点之间的空间距离,A0为所述预先设定的人脸3D网格对应的、人脸的第一特征点和第二特征点之间的空间距离。
结合第一方面,在第一方面的第六种实施方式中,所述根据所述用户的定位图像和所述与所述用户匹配的人脸3D网格,确定所述用户脸部的空间位置具体包括:
确定所述定位图像中的用户脸部区域,并检测所述用户脸部区域中的人脸特征点以获取所述人脸特征点在所述定位图像上的像素坐标;
根据所述人脸特征点在所述定位图像上的像素坐标和所述与所述用户匹配的人脸3D网格,利用如下公式进行第三迭代运算处理,以获取所述用户脸部的空间位置:
其中:
k表示迭代次数,初始值为0,RT表示人脸3D网格相对于采集所述定位图像的摄像头的旋转平移参数,RT0为预先设定的、人脸3D网格相对于采集所述定位图像的摄像头的初始旋转平移参数;
当所述第三迭代运算处理满足预设收敛条件时,从RTk+1分离出所述用户脸部的三维空间坐标,作为所述用户脸部的空间位置;
(fx1,fy1,px1,py1)为所述采集所述定位图像的摄像头的内参;
s1为缩放因子;
(u′1,v′1)、(u′2,v′2)、…为所述获取的定位图像中人脸特征点的像素坐标,S1、S2、…为所述与所述用户匹配的人脸3D网格中与所述人脸特征点对应的特征点三维坐标;
…为所述与所述用户匹配的人脸3D网格由RTk变换到所述定位图像中的像素坐标。
结合第一方面或者第一方面的第一、第二、第四、第五、第六种实施方式中的任一种实施方式,在第一方面的第七种实施方式中,所述第一特征点为左眼瞳孔,所述第二特征点为右眼瞳孔,所述第一特征点与所述第二特征点的空间距离为瞳距。
结合第一方面的第一种实施方式,在第一方面的第八种实施方式中,所述多目摄像头为双目摄像头。
结合第一方面的第八种实施方式,在第一方面的第九种实施方式中,所述获取所述用户的定位图像包括:
获取所述双目摄像头中的一个摄像头所采集的用户图像,作为所述定位图像。
第二方面,本发明实施例提供了一种人脸的空间定位装置,包括:
第一数据处理单元、第二数据处理单元和第三数据处理单元;
所述第一数据处理单元,用于获取用户脸部的第一特征点和第二特征点之间的空间距离;
所述第二数据处理单元,用于根据所述空间距离对预先设定的人脸3D网格进行变形处理,得到与所述用户匹配的人脸3D网格;
所述第三数据处理单元,用于获取所述用户的定位图像,并根据所述用户的定位图像和所述与所述用户匹配的人脸3D网格,确定所述用户脸部的空间位置。
结合第二方面,在第二方面的第一种实施方式中,所述第一数据处理单元,包括:
第一获取模块,用于获取所述多目摄像头采集的多幅用户图像;
第二获取模块,用于分别获取所述用户脸部的第一特征点和第二特征点在每幅所述用户图像中的像素坐标;
第一确定模块,用于根据所述多目摄像头的参数、所述获取的所述用户脸部的第一特征点和第二特征点在每幅所述用户图像中的像素坐标,确定所述用户脸部的第一特征点和第二特征点的世界坐标;
第二确定模块,用于根据所述用户脸部的第一特征点和第二特征点的世界坐标,确定所述用户脸部的第一特征点和第二特征点之间的空间距离。
结合第二方面的第一种实施方式,在本发明的第二种实施方式中,所述第二获取模块,具体包括:
第一确定子模块,用于确定所述用户图像中的用户脸部区域;
获取子模块,用于检测所述用户脸部区域中的人脸特征点以获取所述人脸特征点在所述用户图像中的像素坐标点,所述人脸特征点包括:所述第一特征点和所述第二特征点,或者,检测所述用户脸部区域中的人脸特征点以获取所述人脸特征点在所述用户图像中的像素坐标,根据所述人脸特征点在所述用户图像中的像素坐标,计算所述第一特征点和第二特征点在所述用户图像中的像素坐标。
结合第二方面的第二种实施方式,在第二方面的第三种实施方式中,所述第一特征点为左眼瞳孔,所述第二特征点为右眼瞳孔,
所述人脸特征点包括:左眼轮廓点和右眼轮廓点;
所述获取子模块具体用于:将所述左眼轮廓点在所述用户图像的像素坐标取平均值,得到所述左眼瞳孔在所述用户图像中的像素坐标;以及,将所述右眼轮廓点在所述用户图像的像素坐标去平均值,得到所述右眼瞳孔在所述用户图像中的像素坐标。
结合第二方面的第一种实施方式,在第二方面的第四种实施方式中,所述多目摄像头包括:第一摄像头和第二摄像头;
所述多目摄像头采集的所述多幅用户图像包括:所述第一摄像头采集的第一图像和所述第二摄像头采集的第二图像;
所述第一确定模块具体用于:
根据如下公式进行第一迭代运算处理,以获取所述用户脸部的第一特征点的世界坐标:
其中:
n表示迭代次数,初始值为0,XL表示世界坐标;
为预先设定的所述用户脸部的第一特征点的初始世界坐标;
当所述第一迭代运算处理满足预设收敛条件时,将确定为所述用户脸部的第一特征点的世界坐标:
fx1、fy1、px1、py1、R1、T1为所述第一摄像头的参数,其中,
(fx1,fy1,px1,py1)为所述第一摄像头的内参,(R1,T1)为所述第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为所述第二摄像头的参数,其中,(fx2,fy2,px2,py2)为所述第二摄像头的内参,(R2,T2)为所述第二摄像头的外参;
s1和s2为缩放因子;
(u′L1,v′L1)为所述获取的所述用户脸部的第一特征点在所述第一图像中的像素坐标,(u′L2,v′L2)为所述获取的所述用户脸部的第一特征点在所述第二图像中的像素坐标;
为世界坐标变换到所述第一图像中的像素坐标,为世界坐标变换到所述第二图像中的像素坐标;
和/或,
根据如下公式进行第二迭代运算处理,以获取所述用户脸部的第二特征点的世界坐标:
其中:
m表示迭代次数,初始值为0,XR表示世界坐标;
为预先设定的所述用户脸部的第二特征点的初始世界坐标;
当所述第二迭代运算处理满足预设收敛条件时,将确定为所述用户脸部的第二特征点的世界坐标:
fx1、fy1、px1、py1、R1、T1为所述第一摄像头的参数,其中,
(fx1,fy1,px1,py1)为所述第一摄像头的内参,(R1,T1)为所述第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为所述第二摄像头的参数,其中,(fx2,fy2,px2,py2)为所述第二摄像头的内参,(R2,T2)为所述第二摄像头的外参;
s1和s2为缩放因子;
(u′R1,v′R1)为所述获取的所述用户脸部的第二特征点在所述第一图像中的像素坐标,(u′R2,v′R2)为所述获取的所述用户脸部的第二特征点在所述第二图像中的像素坐标;
为世界坐标变换到所述第一图像中的像素坐标,为世界坐标变换到所述第二图像中的像素坐标。
结合第二方面,在第二方面的第五种实施方式中,所述第二数据处理单元,具体用于:根据如下公式,对所述预先设定的人脸3D网格进行变形处理,从而得到与所述用户匹配的人脸3D网格:
其中,S′为变形处理后人脸3D网格坐标,S为预先设定的人脸3D网格坐标,A为所述获取的用户脸部的第一特征点和第二特征点之间的空间距离,A0为所述预先设定的人脸3D网格对应的、人脸的第一特征点和第二特征点之间的空间距离。
结合第二方面,在第二方面的第六种实施方式中,所述第三数据处理单元包括:
检测模块,用于确定所述定位图像中的用户脸部区域,并检测所述用户脸部区域中的人脸特征点以获取所述人脸特征点在所述定位图像上的像素坐标;
运算模块,用于根据所述人脸特征点在所述定位图像上的像素坐标和所述与所述用户匹配的人脸3D网格,利用如下公式进行第三迭代运算处理,以获取所述用户脸部的空间位置:
其中:
k表示迭代次数,初始值为0,RT表示人脸3D网格相对于采集所述定位图像的摄像头的旋转平移参数,RT0为预先设定的、人脸3D网格相对于采集所述定位图像的摄像头的初始旋转平移参数;
当所述第三迭代运算处理满足预设收敛条件时,从RTk+1分离出所述用户脸部的三维空间坐标,作为所述用户脸部的空间位置;
(fx1,fy1,px1,py1)为所述采集所述定位图像的摄像头的内参;
s1为缩放因子;
(u′1,v′1)、(u′2,v′2)、…为所述获取的定位图像中人脸特征点的像素坐标,S1、S2、…为所述与所述用户匹配的人脸3D网格中与所述人脸特征点对应的特征点三维坐标;
…为所述用户匹配的人脸3D网格由RTk变换到所述定位图像中的像素坐标。
结合第二方面或者第二方面的第一、第二、第四、第五、第六种实施方式中的任一种实施方式,在第二方面的第七种实施方式中,所述第一特征点为左眼瞳孔,所述第二特征点为右眼瞳孔,所述第一特征点与所述第二特征点的空间距离为瞳距。
结合第二方面的第一种实施方式,在第二方面的第八种实施方式中,所述多目摄像头为双目摄像头。
结合第二方面的第八种实施方式,在第二方面的第九种实施方式中,所述第三数据处理单元,用于获取所述双目摄像头中的一个摄像头所采集的用户图像,作为所述定位图像。
第三发明,本发明实施例还提供一种空间定位系统,包括存储器、处理器和至少一个被存储在所述存储器中并被配置为由所述处理器执行的计算机程序,所述计算机程序被配置为用于前述第二方面所提供的空间定位方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有应用程序,所述计算机程序可被处理器执行以实现前述第二方面所提供的空间定位方法。
本发明的上述技术方案与现有技术相比具有如下优点:本发明实施例通过获取用户脸部特征点之间的空间距离,并根据特征点之间的空间距离对预设的3D网格进行变形处理,以使预设的3D网格与用户脸部相匹配,通过用户定位图像和该3D网格确认用户脸部的空间位置,由此得到了精确的人脸空间三维坐标。
附图说明
图1是本发明实施例提供的一种人脸的空间定位方法流程示意图;
图2是本发明又一实施例提供的一种人脸的空间定位方法流程示意图;
图3是本发明另一实施例提供的一种人脸的空间定位方法流程示意图;
图4是本发明另一实施例提供的一种人脸的空间定位方法流程示意图其一;
图5是本发明另一实施例提供的一种人脸的空间定位方法流程示意图其二;
图6是本发明另一实施例提供的一种空间定位系统装置示意图;
图7是本发明另一实施例提供的一种空间定位装置系统示意图。
图8为本发明实施例中的人脸3D网格的示例性示意图。
图9为本发明实施例中所检测的人脸特征点的示例性示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供的一种人脸的空间定位方法,包括:
S11、获取用户脸部的第一特征点和第二特征点之间的空间距离。
具体的,空间距离表示三维空间中点、线、面之间的距离,亦表示真实空间中点、线、面之间的距离。本步骤中获取用户脸部的第一特征点和第二特征点之间的空间距离,当然,该空间距离也可以采用第一特征点和第二特征点在三维空间的某一方向上的距离,例如两个特征点在水平方向上的距离。
对于用户而言,其脸部第一特征点和第二特征点之间的空间距离是固定不变的。对于不同的用户,该第一特征点和第二特征点之间的空间距离可能相同,也可能不同。
其中,第一特征点和第二特征点不限,即其具体所处的脸部位置不限,本领域技术人员可以合理选择,例如可从人脸的标志性部位选择特征点。
举例而言,第一特征点可以为左眼瞳孔,第二特征点可以为右眼瞳孔,这两个特征点之间的空间距离为瞳距,不同的用户瞳距可能相同也可能不同。
本步骤中,可以采取任何可行方式获取用户脸部的第一特征点和第二特征点之间的空间距离,本发明对此不做限定。举例而言,该空间距离可以是预先存储的,本步骤中可以读取预先存储的空间距离即可,该空间距离也可以是用户或其他人员输入的,本步骤中,通过接收用户输入而获取到空间距离。当然,该空间距离也可以是实时通过运算等方式获取的。
S12、根据空间距离对预先设定的人脸3D网格进行变形处理,得到与用户匹配的人脸3D网格。
人脸3D网格亦可称为人脸3D模型,是模拟真实人脸而设计,用于确定人脸的三维空间坐标。本发明实施例中,人脸3D网格可参见图8。人脸3D网格与真实人脸相对应,通常来讲,使用固定参数设计人脸3D网格,即在人脸3D网格中人脸第一特征点和第二特征点之间的空间距离是固定的。举例而言,一般采用的人脸3D网格,对应真实瞳距68毫米,即人脸3D网格是按照瞳距68毫米设计的,亦即人脸3D网格的瞳距是68毫米。
如果针对不同用户的人脸进行定位都采用同样的人脸3D网格,而不同用户脸部第一特征点和第二特征点的空间距离即真实距离可能是不同的,使用同样的人脸3D网格对用户脸部来进行定位将出现定位不准确的问题。因此,本发明实施例中,利用用户脸部第一特征点和第二特征点的空间距离对预先设定的人脸3D网格进行变形处理,从而得到与用户匹配到的人脸3D网格,进一步根据该与用户匹配的人脸3D网格对用户脸部进行定位,有效提高了定位的准确性。
具体的,得到用户脸部特征点之间的空间距离,即得到了第一特征点和第二特征点之间的真实距离,此时,通过该空间距离对预先设定的人脸3D网格进行变形处理,使该人脸3D网格与用户脸部相匹配,即该人脸3D网格与用户脸部的大小相匹配。
其中,变形处理的方式不限,例如,变形处理的结果使得人脸3D网格与用户的人脸相匹配,即使得人脸3D网格对应的第一特征点和第二特征点之间的空间距离等于或者接近用户脸部的第一特征点和第二特征点之间的真实距离。
例如,对预先设定的人脸3D网格进行变形处理的方式包括:根据如下公式,对预先设定的人脸3D网格进行变形处理,从而得到与用户匹配的人脸3D网格:
其中,S'为变形处理后人脸3D网格坐标,S为预先设定的人脸3D网格坐标,A为获取的用户脸部的第一特征点和第二特征点之间的空间距离,A0为预先设定的人脸3D网格对应的、人脸的第一特征点和第二特征点之间的空间距离。
S13、获取用户的定位图像。
具体的,可通过单目摄像头或者多目摄像头采集用户的定位图像。该定位图像包括至少一张。该定位图像中包含用用户的脸部图像。
需要强调的是,由于步骤13和前述两个步骤S11和S12并没有逻辑上的必要关联,因此,步骤13和前述两个步骤S11和S12执行顺序不限,可以先后执行,也可以并行执行。
S14、根据用户的定位图像和与用户匹配的人脸3D网格,确定用户脸部的空间位置。
即,获取到用户脸部的三维空间坐标。可以理解的是,所确定的脸部的空间位置包括至少一个人脸特征点的空间位置。
本发明实施例通过获取用户脸部特征点之间的空间距离,并根据特征点之间的空间距离对预设的3D网格进行变形处理,以使预设的3D网格与用户脸部相匹配,通过用户定位图像和该3D网格确认用户脸部的空间位置,由此得到了精确的人脸空间三维坐标。
可选的,如图2所示,在本实施例中,S14步骤中,根据用户的定位图像和与用户匹配的人脸3D网格,确定用户脸部的空间位置的方式包括:
S21、确定定位图像中的用户脸部区域,并检测用户脸部区域中的人脸特征点以获取人脸特征点在定位图像上的像素坐标。
所检测到的人脸特征点可参见图9,包括眉毛、眼部、脸部轮廓、鼻子和嘴巴等部位的特征点。当然,人脸特征点不限于此,例如,所检测的人脸特征点可以仅包括上述特征点中的部分特征点。
本步骤可参见现有技术,这里不再赘述。
S22、根据人脸特征点在定位图像上的像素坐标和与用户匹配的人脸3D网格,利用如下公式进行第三迭代运算处理,以获取用户脸部的空间位置:
其中:
k表示迭代次数,初始值为0,RT表示人脸3D网格相对于采集定位图像的摄像头的旋转平移参数,RT0为预先设定的、人脸3D网格相对于采集定位图像的摄像头的初始旋转平移参数;
(fx1,fy1,px1,py1)为采集定位图像的摄像头的内参;
s1为缩放因子;
(u′1,v′1)、(u′2,v′2)、…为获取的定位图像中人脸特征点的像素坐标,S1、S2、…为与用户匹配的人脸3D网格中与人脸特征点对应的特征点三维坐标;
…为用户匹配的人脸3D网格由RTk变换到定位图像中的像素坐标。
S23、当第三迭代运算处理满足预设收敛条件时,从RTk+1分离出用户脸部的三维空间坐标,作为用户脸部的空间位置。
具体的,通过将与用户脸部匹配的人脸3D网格对应用户的2D图像进行旋转和平移,直到与用户脸部匹配的人脸3D网格在定位图像上的投影与该用户的2D图像相匹配,此时的平移参数即为用户脸部的空间位置。
本领域技术人员所公知的,在采集定位图像的摄像头坐标系下,人脸3D网格和定位图像具有如下投影关系:
其中,s为缩放因子,S表示人脸3D网格,(u,v)为定位图像上的图像位置(即像素坐标),(fx1,vy1,px1,py1)为摄像头的内参,RT为人脸3D网格相对于摄像头的旋转平移参数,RT为未知量。
当人脸3D网格经过多次的旋转平移后,投影到定位图像的图像位置为所获取的定位图像中人脸的位置,则,此时的人脸3D网格就与空间中的人脸基本重合,即可从当前的RT中分离出T,此时的T即为人脸的空间三维坐标。
基于上述原理,按照非线性最优好的思路,将所有的人脸特征点和人脸3D网格中与人脸特征点对应的特征点列在一起:
对R,T求偏导得到偏导矩阵J,之后利用泰勒一阶展开可得:
U′=Uk+J(RTk+1-RTk)
RTk+1=RTk+(JTJ)-1JT(U′-Uk)
其中,k表示迭代次数,初始值为0,U′是检测出来的像素坐标,RT0是预先设定的初始旋转平移参数,从k=0开始进行迭代运算,每次迭代求出一个新的旋转平移参数RTk+1,RTk+1作为新的参数,进行下一次迭代,直到达到收敛条件,最后可以从RTk+1分离出较为精确的人脸三维空间坐标T。其中,收敛条件不限,例如,可以是迭代次数达到阈值,或者,RTk+1与RTk的差值小于预设阈值,或者RTk+1与RTk的差值连续小于预设阈值的次数达到预设次数等。
上述实施例中,通过获取用户脸部的特征点之间的空间距离,对预设的人脸3D网格进行变形,使人脸3D网格与用户脸部相匹配,而后获取用户的定位图像,将人脸3D网格对应该定位图像进行旋转和平移,由此得到用户脸部的空间位置,实现了对用户脸部的真实三维坐标的确定,有效提高了定位的准确性。
如图3所示,本发明实施例提供了一种上述S11步骤的具体实现方式,即,获取第一特征点和第二特征点的空间距离的方式,包括:
S31、获取通过多目摄像头采集的多幅用户图像。
其中,每幅用户图像与多目摄像头中的一个摄像头相对应,即多目摄像头中的每个摄像头采集一副用户图像。多目摄像头中摄像头的数量可根据设备规模以及具体需求等合理进行配置,本发明对此不做限定。
具体的,该多目摄像头例如为双目摄像头,通过双目摄像头中的任一摄像头均分别采集一副用户图像。
S32、分别获取用户脸部的第一特征点和第二特征点在每幅用户图像中的像素坐标。
第一特征点和第二特征点请参见前述实施例,这里不再赘述。
本实施例中,根据多目摄像头所拍摄的多幅用户图像来获取第一特征点和第二特征点的空间距离。具体的,为计算用户脸部第一特征点和第二特征点之间的空间距离,本步骤中,获取用户脸部的第一特征点和第二特征点在每幅用户图像中的像素坐标,用以后续数据处理。
其中,如图4所示,具体的像素坐标获取方式包括:
S41、确定用户图像中的用户脸部区域;
S42、检测用户脸部区域中的人脸特征点以获取人脸特征点在用户图像中的像素坐标,人脸特征点包括:第一特征点和第二特征点。
人脸特征点同样可参见图9。
也就是说,当第一特征点和第二特征点包括在所检测到的人脸特征点中,例如,第一特征点和第二特征点分别为左眼左眼角点和右眼右眼角点,即通过检测人脸特征点,即可获取到第一和第二特征点在用户图像中的像素坐标,亦即,直接对用户图像中的用户脸部区域的第一特征点和第二特这个点的像素坐标进行检测;
或者,在第一特征点和第二特征点不包括在所检测到的人脸特征点中时,可以根据所检测的人脸特征点的像素坐标,来计算出第一特征点的像素坐标,具体的,如图5所示,包括:
S51、确定用户图像中的用户脸部区域;S52、检测用户脸部区域中的人脸特征点以获取人脸特征点在用户图像中的像素坐标,S53、根据人脸特征点在用户图像中的像素坐标,计算第一特征点和第二特征点在用户图像中的像素坐标。
举例说明,在一个具体实施例中,第一特征点为左眼瞳孔,第二特征点为右眼瞳孔;人脸特征点包括左眼轮廓点和右眼轮廓点;可将右眼轮廓点在用户图像的像素坐标取平均值,得到右眼瞳孔在用户图像中的像素坐标;以及将左眼轮廓点在用户图像的像素坐标取平均值,得到左眼瞳孔在用户图像中的像素坐标。即,检测用户脸部区域中的左右眼轮廓点的像素坐标,通过左、右眼轮廓点的像素坐标取平均值对应的作为左、右眼瞳孔的像素坐标,实现对用户脸部的第一特征点和第二特征点在每幅用户图像中的像素坐标的获取。
S33、根据多目摄像头的参数、获取的用户脸部的第一特征点和第二特征点在每幅用户图像中的像素坐标,确定用户脸部的第一特征点和第二特征点的世界坐标,即世界坐标系下的三维坐标。
具体的,根据多目摄像头的参数,将第一特征点在每幅用户图像中的像素坐标变换为相应的世界坐标,将第二特征点在每幅用户图像中的像素坐标变换为相应的世界坐标,由此计算出用户脸部的第一特征点和第二特征点的世界坐标。
以下对对具体的世界坐标确定过程进行举例详细说明。本示例中:多目摄像头包括:第一摄像头和第二摄像头;多幅用户图像包括第一摄像头采集的第一图像和第二摄像头采集的第二图像;针对第一特征点,具体的世界坐标确定过程包括:
根据如下公式进行第一迭代运算处理,以获取用户脸部的第一特征点的世界坐标:
其中:
n表示迭代次数,初始值为0,XL表示世界坐标;
为预先设定的用户脸部的第一特征点的初始世界坐标;
fx1、fy1、px1、py1、R1、T1为第一摄像头的参数,其中,(fx1,fy1,px1,py1)为第一摄像头的内参,(R1,T1)为第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为第二摄像头的参数,其中,(fx2,fy2,px2,py2)为第二摄像头的内参,(R2,T2)为第二摄像头的外参;
s1和s2为缩放因子;
(u′L1,v′L1)为获取的用户脸部的第一特征点在第一图像中的像素坐标,(u′L2,v′L2)为获取的用户脸部的第一特征点在第二图像中的像素坐标;
为世界坐标变换到第一图像中的像素坐标,为世界坐标变换到第二图像中的像素坐标。
当第一迭代运算处理满足预设收敛条件时,例如,迭代次数达到预设次数,或者,本次获取的世界坐标和前次获取的世界坐标的差接近为0或者接近一个预设值等,将确定为用户脸部的第一特征点的世界坐标。
本领域技术人员所公知的,第一特征点在第一摄像头的投影成像过程可表示如下:
而第一特征点在第二摄像头的投影成像过程如下:
其中,fx1、fy1、px1、py1、R1、T1为第一摄像头的参数,其中,(fx1,fy1,px1,py1)为第一摄像头的内参,(R1,T1)为第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为第二摄像头的参数,其中,(fx2,fy2,px2,py2)为第二摄像头的内参,(R2,T2)为第二摄像头的外参;
s1和s2为缩放因子;XL表示第一特征点的世界坐标,而(uL1,vL1),(uL2,vL2)分别为第一特征点在第一摄像头拍摄的图像中的像素坐标。
因为投影成像是一个非线性的过程,需要多次迭代才能求解出世界坐标坐标,因此,按照非线性最优化的思路,定义如下函数:
对XL求偏导得到偏导矩阵J,之后利用泰勒一阶展开可得:
其中,n表示迭代次数,初始值为0,U′L是检测出来的像素坐标,是预先设定的初始旋转平移参数,从n=0开始进行迭代运算,每次迭代求出一个新的旋转平移参数作为新的参数,进行下一次迭代,直到达到收敛条件,最后可得到较为精确的世界坐标XL,其中,收敛条件不限,例如,可以是迭代次数达到阈值,或者,与的差值小于预设阈值,或者与的差值连续小于预设阈值的次数达到预设次数等。
fx1、fy1、px1、py1、R1、T1
(fx1,fy1,px1,py1)
fx2、fy2、px2、py2、R1、T1
s1
针对第二特征点,可采用与前述第一特征点完全相同的方法,获取其世界坐标,但可以理解的是,本发明不限于此,第一特征点和第二特征点的世界坐标可以分别采用相同或者不同的方式获取。
第二特征点具体的世界坐标确定过程如下,原理请参见前述第一特征点的说明,以下不再详述:
根据如下公式进行第二迭代运算处理,以获取用户脸部的第二特征点的世界坐标:
其中:
m表示迭代次数,初始值为0,XR表示世界坐标;
为预先设定的用户脸部的第二特征点的初始世界坐标;
fx1、fy1、px1、py1、R1、T1为第一摄像头的参数,其中,(fx1,fy1,px1,py1)为第一摄像头的内参,(R1,T1)为第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为第二摄像头的参数,其中,(fx2,fy2,px2,py2)为第二摄像头的内参,(R2,T2)为第二摄像头的外参;
s1和s2为缩放因子;
(u′R1,v′R1)为获取的用户脸部的第二特征点在第一图像中的像素坐标,(u′R2,v′R2)为获取的用户脸部的第二特征点在第二图像中的像素坐标;
为世界坐标变换到第一图像中的像素坐标,为世界坐标变换到第二图像中的像素坐标。
当第二迭代运算处理满足预设收敛条件时,例如,迭代次数达到预设次数,或者,本次获取的世界坐标和前次获取的世界坐标的差接近为0,接近一个预设值,将确定为用户脸部的第二特征点的世界坐标。
S34、根据用户脸部的第一特征点和第二特征点的世界坐标,确定用户脸部的第一特征点和第二特征点之间的空间距离。
具体的,通过用户脸部的特征点的世界坐标,计算得到相应的用户脸部特征点之间的空间距离,以此确定用户脸部特征点之间的真实距离。计算公式例如如下:
其中,A表示第一特征点和第二特征点的空间距离,XL和XR分别表示第一特征点和第二特征点的世界坐标。
但是这样算出来的空间距离,往往非常依赖人眼检测/人脸检测的像素坐标的精度,检测算法收到环境的影响难免会出现抖动、偏移,所以优选的,可以利用各摄像头采集的一段图像序列持续的计算空间距离,并使用kalman等滤波算法,降低计算的噪声,最后输出一个相对稳定的空间距离。
举例而言,第一特征点与第二特征点可以分别为左右眼瞳孔,而第一特征点与第二特征点的空间距离为瞳距。
上述实施例中,根据拍摄用户脸部图像的多目摄像头的参数,对用户脸部图像中第一特征点和第二特征点的像素坐标进行转换,得到用户脸部图像中第一特征点和第二特征点的世界坐标,并由此计算得到用户脸部第一特征点和第二特征点之间的空间距离,提供了用户脸部第一特征点和第二特征点之间的真实距离,以此来完成对预设的人脸3D网格的变形,保证空间定位的精准性。即,在获取到空间距离后,即可利用空间距离调整预先设定的人脸3D网格,利用调整后的人脸3D网格进行人脸空间定位,有效提高了定位的准确性。
本发明实施例中,多目摄像头可采用双目摄像头,而在后续获取定位图像时,可关闭双目摄像头中的一个摄像头,而仅采用双目摄像头中的一个摄像头采集的定位图像,可以有效节省功耗,因此,从硬件配置来看,仅需双目摄像头即可达准确定位的目的。
本发明实施例提供的空间定位方法可以应用在前文背景技术中所提到的裸眼立体显示技术中,即由裸眼立体显示系统来执行,在常规裸眼立体显示之前,可以首先获取到第一特征点和第二特征点的空间距离,利用空间距离对预定人脸3D网格进行变形。接下来,进行人眼跟踪式的常规裸眼立体显示,采集用户的定位图像,利用变形后的人脸3D网格和定位图像确定用户的脸部空间位置即观看位置,基于观看位置进行排图显示,有效保证观看位置定位的准确性,并提供了正确良好的3D视觉效果。
如图6所示,本发明实施例还提供了一种人脸的空间定位装置,包括:第一数据处理单元、第二数据处理单元和第三数据处理单元;
在本实施例中,第一数据处理单元,用于获取用户脸部的第一特征点和第二特征点之间的空间距离;
第二数据处理单元,用于根据空间距离对预先设定的人脸3D网格进行变形处理,得到与用户匹配的人脸3D网格;
第三数据处理单元,用于获取用户的定位图像,并根据用户的定位图像和与用户匹配的人脸3D网格,确定用户脸部的空间位置。
具体的,第一数据处理单元可包括:
第一获取模块,用于获取多目摄像头采集的多幅用户图像。
第二获取模块,用于分别获取用户脸部的第一特征点和第二特征点在每幅用户图像中的像素坐标;
第一确定模块,用于根据多目摄像头的参数、获取的用户脸部的第一特征点和第二特征点在每幅用户图像中的像素坐标,确定用户脸部的第一特征点和第二特征点的世界坐标;
第二确定模块,用于根据用户脸部的第一特征点和第二特征点的世界坐标,确定用户脸部的第一特征点和第二特征点之间的空间距离。
在本实施例中,获取特征点在用户图像中的像素坐标的第一方案,即第二获取模块,具体包括:
第一确定子模块,用于确定用户图像中的用户脸部区域,获取子模块,用于:检测用户脸部区域中的人脸特征点以获取人脸特征点在用户图像中的像素坐标点,人脸特征点包括:第一特征点和第二特征点,通过检测人脸坐标点直接得到第一特征点和第二特征点的像素坐标;
或者,获取特征点在用户图像中的像素坐标的第二方案,即所述第二获取模块,具体包括:
第一确定子模块,用于确定用户图像中的用户脸部区域;
获取子模块,用于:检测用户脸部区域中的人脸特征点以获取人脸特征点在用户图像中的像素坐标,根据人脸特征点在用户图像中的像素坐标,计算第一特征点和第二特征点在用户图像中的像素坐标。例如,求平均值的方式。
相比较于直接检测第一特征点和第二特征点的像素坐标,该方案具有较强的容错率,直接检测第一特征点和第二特征点的像素坐标可以得到真实的特征点的像素坐标,但是出现检测错误对结果的影响较大,通过例如平均等方式计算特征点的像素坐标可以降低检测错误对结果的影响,两种方案可根据具体应用的情况进行选择。
其中,第二方案具体包括:
用户脸部的第一特征点为左眼通孔,用户脸部的第二特征点为右眼瞳孔,用户脸部的第一特征点与第二特征点的空间距离为瞳距,人脸特征点包括:左眼轮廓点和右眼轮廓点,获取子模块具体用于将左眼轮廓点在用户图像的像素坐标取平均值,得到左眼瞳孔在用户图像中的像素坐标;以及,将右眼轮廓点在用户图像的像素坐标去平均值,得到右眼瞳孔在用户图像中的像素坐标。
在本实施例中,第一数据处理单元还可包括:
第一确定模块,用于根据多目摄像头的参数、获取的用户脸部的第一特征点和第二特征点在每幅用户图像中的像素坐标,确定用户脸部的第一特征点和第二特征点的世界坐标;
第二确定模块,用于用户脸部的第一特征点和第二特征点的世界坐标,确定用户脸部的第一特征点和第二特征点之间的空间距离。
举例而言,在本实施例中,多目摄像头包括:第一摄像头和第二摄像头;多目摄像头采集的多幅用户图像包括:第一摄像头采集的第一图像和第二摄像头采集的第二图像;
在本实施例中,第一确定模块具体用于:
根据如下公式进行第一迭代运算处理,以获取用户脸部的第一特征点的世界坐标:
其中:
n表示迭代次数,初始值为0,XL表示世界坐标;
为预先设定的用户脸部的第一特征点的初始世界坐标;
当第一迭代运算处理满足预设收敛条件时,将确定为用户脸部的第一特征点的世界坐标:
fx1、fy1、px1、py1、R1、T1为第一摄像头的参数,其中,
(fx1,fy1,px1,py1)为第一摄像头的内参,(R1,T1)为第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为第二摄像头的参数,其中,(fx2,fy2,px2,py2)为第二摄像头的内参,(R2,T2)为第二摄像头的外参;
s1和s2为缩放因子;
(u′L1,v′L1)为获取的用户脸部的第一特征点在第一图像中的像素坐标,(u′L2,v′L2)为获取的用户脸部的第一特征点在第二图像中的像素坐标;
为世界坐标变换到第一图像中的像素坐标,为世界坐标变换到第二图像中的像素坐标;
在本实施例中,第一确定模块可具体用于:
根据如下公式进行第二迭代运算处理,以获取用户脸部的第二特征点的世界坐标:
其中:
m表示迭代次数,初始值为0,XR表示世界坐标;
为预先设定的用户脸部的第二特征点的初始世界坐标;
当第二迭代运算处理满足预设收敛条件时,将确定为用户脸部的第二特征点的世界坐标:
fx1、fy1、px1、py1、R1、T1为第一摄像头的参数,其中,
(fx1,fy1,px1,py1)为第一摄像头的内参,(R1,T1)为第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为第二摄像头的参数,其中,(fx2,fy2,px2,py2)为第二摄像头的内参,(R2,T2)为第二摄像头的外参;
s1和s2为缩放因子;
(u′R1,v′R1)为获取的用户脸部的第二特征点在第一图像中的像素坐标,(u′R2,v′R2)为获取的用户脸部的第二特征点在第二图像中的像素坐标;
为世界坐标变换到第一图像中的像素坐标,为世界坐标变换到第二图像中的像素坐标。
第二数据处理单元,用于根据空间距离对预先设定的人脸3D网格进行变形处理,得到与用户匹配的人脸3D网格;
在本实施例中,第二数据处理单元可根据如下公式,对预先设定的人脸3D网格进行变形处理,从而得到与用户匹配的人脸3D网格:
其中,S′为变形处理后人脸3D网格坐标,S为预先设定的人脸3D网格坐标,A为获取的用户脸部的第一特征点和第二特征点之间的空间距离,A0为预先设定的人脸3D网格对应的、人脸的第一特征点和第二特征点之间的空间距离。
第三数据处理单元,用于获取图像获取单元采集的用户的定位图像,并根据用户的定位图像和与用户匹配的人脸3D网格,确定用户脸部的空间位置;
在本实施例中,第三数据处理单元单元可包括:
检测模块,用于确定定位图像中的用户脸部区域,并检测用户脸部区域中的人脸特征点以获取人脸特征点在定位图像上的像素坐标;
运算模块,用于根据人脸特征点在定位图像上的像素坐标和与用户匹配的人脸3D网格,利用如下公式进行第三迭代运算处理,以获取用户脸部的空间位置:
其中:
k表示迭代次数,初始值为0,RT表示人脸3D网格相对于采集定位图像的摄像头的旋转平移参数,RT0为预先设定的、人脸3D网格相对于采集定位图像的摄像头的初始旋转平移参数;
当第三迭代运算处理满足预设收敛条件时,从RTk+1分离出用户脸部的三维空间坐标,作为用户脸部的空间位置;
(fx1,fy1,px1,py1)为采集定位图像的摄像头的内参;
s1为缩放因子;
(u′1,v′1)、(u′2,v′2)、…为获取的定位图像中人脸特征点的像素坐标,S1、S2、…为与用户匹配的人脸3D网格中与人脸特征点对应的特征点三维坐标;
…为用户匹配的人脸3D网格由RTk变换到定位图像中的像素坐标。
在本实施例中,举例而言,所述第一特征点为左眼瞳孔,所述第二特征点为右眼瞳孔,所述第一特征点与所述第二特征点的空间距离为瞳距。
在本实施例中,举例而言,多目摄像头可以为为双目摄像头;而第三数据处理单元可获取双目摄像头中的一个摄像头所采集的用户图像,作为定位图像。
如图7所示,本发明实施例还提供了一种空间定位装置,包括:处理器和存储器,在本实施例中,存储器用于存储至少一条指令,指令用于由处理器加载并执行。在本实施例中,处理器,用于加载并执行指令以实现上述任一空间定位方法。
对上述实施例中的系统或装置提供用于记录可以实现上述实施例的功能的软件程序的程序代码的存储介质,并通过系统或装置的计算机(或CPU或MPU)读取并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读出的程序代码本身执行上述实施例的功能,而存储程序代码的存储介质构成本发明实施例。
作为用于提供程序代码的存储介质,例如软盘、硬盘、光盘、磁光盘、CD-ROM、CD-R、磁带、非易失存储卡、ROM、以及类似物都可以使用。
上述实施例的功能不仅可以通过由计算机执行读出的程序代码来实现,而且也可以通过在计算机上运行的OS(操作系统)根据程序代码的指令执行的一些或全部的实际处理操作来实现。
此外,本发明实施例还包括这样一种情况,即在从存储介质读出的程序代码被写入被插入计算机的功能扩展卡之后,或者被写入和计算机相连的功能扩展单元内提供的存储器之后,在功能扩展卡或功能扩展单元中包括的CPU或类似物按照程序代码的命令执行部分处理或全部处理,从而实现上述实施例的功能。
本发明实施例还提供了一种计算机可读存储介质,其中存储有多条指令,指令用于由处理器加载并执行,指令被处理器加载并执行时实现上述任一项空间定位方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (22)
1.一种人脸的空间定位方法,其特征在于,包括:
获取用户脸部的第一特征点和第二特征点之间的空间距离;
根据所述空间距离对预先设定的人脸3D网格进行变形处理,得到与所述用户匹配的人脸3D网格;
获取所述用户的定位图像;
根据所述用户的定位图像和所述与所述用户匹配的人脸3D网格,确定所述用户脸部的空间位置。
2.根据权利要求1所述的空间定位方法,其特征在于,所述获取用户脸部的第一特征点和第二特征点之间的空间距离具体包括:
获取通过多目摄像头采集的多幅用户图像;
分别获取所述用户脸部的第一特征点和第二特征点在每幅所述用户图像中的像素坐标;
根据所述多目摄像头的参数、所述获取的所述用户脸部的第一特征点和第二特征点在每幅所述用户图像中的像素坐标,确定所述用户脸部的第一特征点和第二特征点的世界坐标;
根据所述用户脸部的第一特征点和第二特征点的世界坐标,确定所述用户脸部的第一特征点和第二特征点之间的空间距离。
3.根据权利要求2所述的空间定位方法,其特征在于,
所述分别获取所述用户脸部的第一特征点和第二特征点在每幅所述用户图像中的像素坐标具体包括:
确定所述用户图像中的用户脸部区域;
检测所述用户脸部区域中的人脸特征点以获取所述人脸特征点在所述用户图像中的像素坐标,所述人脸特征点包括:所述第一特征点和所述第二特征点,或者,
检测所述用户脸部区域中的人脸特征点以获取所述人脸特征点在所述用户图像中的像素坐标,根据所述人脸特征点在所述用户图像中的像素坐标,计算所述第一特征点和第二特征点在所述用户图像中的像素坐标。
4.根据权利要求3所述的空间定位方法,其特征在于,
所述第一特征点为左眼瞳孔,所述第二特征点为右眼瞳孔;
所述人脸特征点包括左眼轮廓点和右眼轮廓点;
所述根据所述人脸特征点在所述用户图像中的像素坐标,计算所述第一特征点和第二特征点在所述用户图像中的像素坐标包括:
将所述右眼轮廓点在所述用户图像的像素坐标取平均值,得到所述右眼瞳孔在所述用户图像中的像素坐标;以及,
将所述左眼轮廓点在所述用户图像的像素坐标取平均值,得到所述左眼瞳孔在所述用户图像中的像素坐标。
5.根据权利要求2所述的空间定位方法,其特征在于,
所述多目摄像头包括:第一摄像头和第二摄像头;
所述多幅用户图像包括所述第一摄像头采集的第一图像和所述第二摄像头采集的第二图像;
所述根据所述多目摄像头的参数、所述获取的所述用户脸部的第一特征点和第二特征点在每幅所述用户图像中的像素坐标,确定所述用户脸部的第一特征点和第二特征点的世界坐标具体包括:
根据如下公式进行第一迭代运算处理,以获取所述用户脸部的第一特征点的世界坐标:
其中:
n表示迭代次数,初始值为0,XL表示世界坐标;
为预先设定的所述用户脸部的第一特征点的初始世界坐标;
当所述第一迭代运算处理满足预设收敛条件时,将确定为所述用户脸部的第一特征点的世界坐标:
fx1、fy1、px1、py1、R1、T1为所述第一摄像头的参数,其中,(fx1,fy1,px1,py1)为所述第一摄像头的内参,(R1,T1)为所述第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为所述第二摄像头的参数,其中,(fx2,fy2,px2,py2)为所述第二摄像头的内参,(R2,T2)为所述第二摄像头的外参;
s1和s2为缩放因子;
(u′L1,v′L1)为所述获取的所述用户脸部的第一特征点在所述第一图像中的像素坐标,(u′L2,v′L2)为所述获取的所述用户脸部的第一特征点在所述第二图像中的像素坐标;
为世界坐标变换到所述第一图像中的像素坐标,为世界坐标变换到所述第二图像中的像素坐标;
和/或,
根据如下公式进行第二迭代运算处理,以获取所述用户脸部的第二特征点的世界坐标:
其中:
m表示迭代次数,初始值为0,XR表示世界坐标;
为预先设定的所述用户脸部的第二特征点的初始世界坐标;
当所述第二迭代运算处理满足预设收敛条件时,将确定为所述用户脸部的第二特征点的世界坐标:
fx1、fy1、px1、py1、R1、T1为所述第一摄像头的参数,其中,(fx1,fy1,px1,py1)为所述第一摄像头的内参,(R1,T1)为所述第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为所述第二摄像头的参数,其中,(fx2,fy2,px2,py2)为所述第二摄像头的内参,(R2,T2)为所述第二摄像头的外参;
s1和s2为缩放因子;
(u′R1,v′R1)为所述获取的所述用户脸部的第二特征点在所述第一图像中的像素坐标,(u′R2,v′R2)为所述获取的所述用户脸部的第二特征点在所述第二图像中的像素坐标;
为世界坐标变换到所述第一图像中的像素坐标,为世界坐标变换到所述第二图像中的像素坐标。
6.根据权利要求1所述的空间定位方法,其特征在于,
所述根据所述空间距离对预先设定的人脸3D网格进行变形处理,得到与所述用户匹配的人脸3D网格具体包括:
根据如下公式,对所述预先设定的人脸3D网格进行变形处理,从而得到与所述用户匹配的人脸3D网格:
其中,S′为变形处理后人脸3D网格坐标,S为预先设定的人脸3D网格坐标,A为所述获取的用户脸部的第一特征点和第二特征点之间的空间距离,A0为所述预先设定的人脸3D网格对应的、人脸的第一特征点和第二特征点之间的空间距离。
7.根据权利要求1所述的空间定位方法,其特征在于,
所述根据所述用户的定位图像和所述与所述用户匹配的人脸3D网格,确定所述用户脸部的空间位置具体包括:
确定所述定位图像中的用户脸部区域,并检测所述用户脸部区域中的人脸特征点以获取所述人脸特征点在所述定位图像上的像素坐标;
根据所述人脸特征点在所述定位图像上的像素坐标和所述与所述用户匹配的人脸3D网格,利用如下公式进行第三迭代运算处理,以获取所述用户脸部的空间位置:
其中:
k表示迭代次数,初始值为0,RT表示人脸3D网格相对于采集所述定位图像的摄像头的旋转平移参数,RT0为预先设定的、人脸3D网格相对于采集所述定位图像的摄像头的初始旋转平移参数;
当所述第三迭代运算处理满足预设收敛条件时,从RTk+1分离出所述用户脸部的三维空间坐标,作为所述用户脸部的空间位置;
(fx1,fy1,px1,py1)为所述采集所述定位图像的摄像头的内参;
s1为缩放因子;
(u′1,v′1)、(u′2,v′2)、…为所述获取的定位图像中人脸特征点的像素坐标,S1、S2、…为所述与所述用户匹配的人脸3D网格中与所述人脸特征点对应的特征点三维坐标;
…为所述与所述用户匹配的人脸3D网格由RTk变换到所述定位图像中的像素坐标。
8.根据权利要求1至3、5至7任一项所述的空间定位方法,其特征在于,
所述第一特征点为左眼瞳孔,所述第二特征点为右眼瞳孔,所述第一特征点与所述第二特征点的空间距离为瞳距。
9.根据权利要求2所述的一种空间定位方法,其特征在于,所述多目摄像头为双目摄像头。
10.根据权利要求9所述的一种空间定位方法,其特征在于,所述获取所述用户的定位图像包括:
获取所述双目摄像头中的一个摄像头所采集的用户图像,作为所述定位图像。
11.一种人脸的空间定位装置,其特征在于,包括:
第一数据处理单元、第二数据处理单元和第三数据处理单元;
所述第一数据处理单元,用于获取用户脸部的第一特征点和第二特征点之间的空间距离;
所述第二数据处理单元,用于根据所述空间距离对预先设定的人脸3D网格进行变形处理,得到与所述用户匹配的人脸3D网格;
所述第三数据处理单元,用于获取所述用户的定位图像,并根据所述用户的定位图像和所述与所述用户匹配的人脸3D网格,确定所述用户脸部的空间位置。
12.根据权利要求11所述的空间定位装置,其特征在于,所述第一数据处理单元,包括:
第一获取模块,用于获取多目摄像头采集的多幅用户图像;
第二获取模块,用于分别获取所述用户脸部的第一特征点和第二特征点在每幅所述用户图像中的像素坐标;
第一确定模块,用于根据所述多目摄像头的参数、所述获取的所述用户脸部的第一特征点和第二特征点在每幅所述用户图像中的像素坐标,确定所述用户脸部的第一特征点和第二特征点的世界坐标;
第二确定模块,用于根据所述用户脸部的第一特征点和第二特征点的世界坐标,确定所述用户脸部的第一特征点和第二特征点之间的空间距离。
13.根据权利要求12所述的空间定位装置,其特征在于,所述第二获取模块,具体包括:
第一确定子模块,用于确定所述用户图像中的用户脸部区域;
获取子模块,用于检测所述用户脸部区域中的人脸特征点以获取所述人脸特征点在所述用户图像中的像素坐标点,所述人脸特征点包括:所述第一特征点和所述第二特征点,或者,检测所述用户脸部区域中的人脸特征点以获取所述人脸特征点在所述用户图像中的像素坐标,根据所述人脸特征点在所述用户图像中的像素坐标,计算所述第一特征点和第二特征点在所述用户图像中的像素坐标。
14.根据权利要求13所述的空间定位装置,其特征在于,
所述第一特征点为左眼瞳孔,所述第二特征点为右眼瞳孔,
所述人脸特征点包括:左眼轮廓点和右眼轮廓点;
所述获取子模块具体用于:将所述左眼轮廓点在所述用户图像的像素坐标取平均值,得到所述左眼瞳孔在所述用户图像中的像素坐标;以及,将所述右眼轮廓点在所述用户图像的像素坐标去平均值,得到所述右眼瞳孔在所述用户图像中的像素坐标。
15.根据权利要求12所述的空间定位装置,其特征在于,
所述多目摄像头包括:第一摄像头和第二摄像头;
所述多目摄像头采集的所述多幅用户图像包括:所述第一摄像头采集的第一图像和所述第二摄像头采集的第二图像;
所述第一确定模块具体用于:
根据如下公式进行第一迭代运算处理,以获取所述用户脸部的第一特征点的世界坐标:
其中:
n表示迭代次数,初始值为0,XL表示世界坐标;
为预先设定的所述用户脸部的第一特征点的初始世界坐标;
当所述第一迭代运算处理满足预设收敛条件时,将确定为所述用户脸部的第一特征点的世界坐标:
fx1、fy1、px1、py1、R1、T1为所述第一摄像头的参数,其中,
(fx1,fy1,px1,py1)为所述第一摄像头的内参,(R1,T1)为所述第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为所述第二摄像头的参数,其中,(fx2,fy2,px2,py2)为所述第二摄像头的内参,(R2,T2)为所述第二摄像头的外参;
s1和s2为缩放因子;
(u′L1,v′L1)为所述获取的所述用户脸部的第一特征点在所述第一图像中的像素坐标,(u′L2,v′L2)为所述获取的所述用户脸部的第一特征点在所述第二图像中的像素坐标;
为世界坐标变换到所述第一图像中的像素坐标,为世界坐标变换到所述第二图像中的像素坐标;
和/或,
根据如下公式进行第二迭代运算处理,以获取所述用户脸部的第二特征点的世界坐标:
其中:
m表示迭代次数,初始值为0,XR表示世界坐标;
为预先设定的所述用户脸部的第二特征点的初始世界坐标;
当所述第二迭代运算处理满足预设收敛条件时,将确定为所述用户脸部的第二特征点的世界坐标:
fx1、fy1、px1、py1、R1、T1为所述第一摄像头的参数,其中,
(fx1,fy1,px1,py1)为所述第一摄像头的内参,(R1,T1)为所述第一摄像头的外参;
fx2、fy2、px2、py2、R1、T1为所述第二摄像头的参数,其中,(fx2,fy2,px2,py2)为所述第二摄像头的内参,(R2,T2)为所述第二摄像头的外参;
s1和s2为缩放因子;
(u′R1,v′R1)为所述获取的所述用户脸部的第二特征点在所述第一图像中的像素坐标,(u′R2,v′R2)为所述获取的所述用户脸部的第二特征点在所述第二图像中的像素坐标;
为世界坐标变换到所述第一图像中的像素坐标,为世界坐标变换到所述第二图像中的像素坐标。
16.根据权利要求11所述的空间定位装置,其特征在于,
所述第二数据处理单元,具体用于:根据如下公式,对所述预先设定的人脸3D网格进行变形处理,从而得到与所述用户匹配的人脸3D网格:
其中,S′为变形处理后人脸3D网格坐标,S为预先设定的人脸3D网格坐标,A为所述获取的用户脸部的第一特征点和第二特征点之间的空间距离,A0为所述预先设定的人脸3D网格对应的、人脸的第一特征点和第二特征点之间的空间距离。
17.根据权利要求11所述的空间定位装置,其特征在于,
所述第三数据处理单元包括:
检测模块,用于确定所述定位图像中的用户脸部区域,并检测所述用户脸部区域中的人脸特征点以获取所述人脸特征点在所述定位图像上的像素坐标;
运算模块,用于根据所述人脸特征点在所述定位图像上的像素坐标和所述与所述用户匹配的人脸3D网格,利用如下公式进行第三迭代运算处理,以获取所述用户脸部的空间位置:
其中:
k表示迭代次数,初始值为0,RT表示人脸3D网格相对于采集所述定位图像的摄像头的旋转平移参数,RT0为预先设定的、人脸3D网格相对于采集所述定位图像的摄像头的初始旋转平移参数;
当所述第三迭代运算处理满足预设收敛条件时,从RTk+1分离出所述用户脸部的三维空间坐标,作为所述用户脸部的空间位置;
(fx1,fy1,px1,py1)为所述采集所述定位图像的摄像头的内参;
s1为缩放因子;
(u′1,v′1)、(u′2,v′2)、…为所述获取的定位图像中人脸特征点的像素坐标,S1、S2、…为所述与所述用户匹配的人脸3D网格中与所述人脸特征点对应的特征点三维坐标;
…为所述用户匹配的人脸3D网格由RTk变换到所述定位图像中的像素坐标。
18.根据权利要求11至13、15至17任一项所述的空间定位装置,其特征在于,
所述第一特征点为左眼瞳孔,所述第二特征点为右眼瞳孔,所述第一特征点与所述第二特征点的空间距离为瞳距。
19.根据权利要求12所述的一种空间定位装置,其特征在于,
所述多目摄像头为双目摄像头。
20.根据权利要求19所述的一种空间定位装置,其特征在于,
所述第三数据处理单元,用于获取所述双目摄像头中的一个摄像头所采集的用户图像,作为所述定位图像。
21.一种空间定位系统,其特征在于,包括存储器、处理器和至少一个被存储在所述存储器中并被配置为由所述处理器执行的计算机程序,所述计算机程序被配置为用于执行权利要求1至10中任一项所述空间定位方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有应用程序,所述计算机程序可被处理器执行以实现如权利要求1-10任一项所述空间定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810146628.0A CN108446595A (zh) | 2018-02-12 | 2018-02-12 | 一种空间定位方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810146628.0A CN108446595A (zh) | 2018-02-12 | 2018-02-12 | 一种空间定位方法、装置、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108446595A true CN108446595A (zh) | 2018-08-24 |
Family
ID=63192615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810146628.0A Withdrawn CN108446595A (zh) | 2018-02-12 | 2018-02-12 | 一种空间定位方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108446595A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909571A (zh) * | 2018-09-17 | 2020-03-24 | 武汉资联虹康科技股份有限公司 | 一种高精度面部识别空间定位方法 |
CN112380965A (zh) * | 2020-11-11 | 2021-02-19 | 浙江大华技术股份有限公司 | 进行人脸识别的方法及多目摄像机 |
CN113221600A (zh) * | 2020-01-21 | 2021-08-06 | 初速度(苏州)科技有限公司 | 一种图像特征点的标定方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101672A (zh) * | 2007-07-13 | 2008-01-09 | 中国科学技术大学 | 基于虚拟图像对应的立体视觉三维人脸建模方法 |
CN101383055A (zh) * | 2008-09-18 | 2009-03-11 | 北京中星微电子有限公司 | 一种三维人脸模型的构造方法和系统 |
CN104809687A (zh) * | 2015-04-23 | 2015-07-29 | 上海趣搭网络科技有限公司 | 三维人脸图像生成方法及系统 |
CN104978764A (zh) * | 2014-04-10 | 2015-10-14 | 华为技术有限公司 | 三维人脸网格模型处理方法和设备 |
US20170039761A1 (en) * | 2014-05-14 | 2017-02-09 | Huawei Technologies Co., Ltd. | Image Processing Method And Apparatus |
CN106504271A (zh) * | 2015-09-07 | 2017-03-15 | 三星电子株式会社 | 用于眼睛跟踪的方法和设备 |
-
2018
- 2018-02-12 CN CN201810146628.0A patent/CN108446595A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101672A (zh) * | 2007-07-13 | 2008-01-09 | 中国科学技术大学 | 基于虚拟图像对应的立体视觉三维人脸建模方法 |
CN101383055A (zh) * | 2008-09-18 | 2009-03-11 | 北京中星微电子有限公司 | 一种三维人脸模型的构造方法和系统 |
CN104978764A (zh) * | 2014-04-10 | 2015-10-14 | 华为技术有限公司 | 三维人脸网格模型处理方法和设备 |
US20170039761A1 (en) * | 2014-05-14 | 2017-02-09 | Huawei Technologies Co., Ltd. | Image Processing Method And Apparatus |
CN104809687A (zh) * | 2015-04-23 | 2015-07-29 | 上海趣搭网络科技有限公司 | 三维人脸图像生成方法及系统 |
CN106504271A (zh) * | 2015-09-07 | 2017-03-15 | 三星电子株式会社 | 用于眼睛跟踪的方法和设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909571A (zh) * | 2018-09-17 | 2020-03-24 | 武汉资联虹康科技股份有限公司 | 一种高精度面部识别空间定位方法 |
CN110909571B (zh) * | 2018-09-17 | 2022-05-03 | 武汉资联虹康科技股份有限公司 | 一种高精度面部识别空间定位方法 |
CN113221600A (zh) * | 2020-01-21 | 2021-08-06 | 初速度(苏州)科技有限公司 | 一种图像特征点的标定方法及装置 |
CN113221600B (zh) * | 2020-01-21 | 2022-06-21 | 魔门塔(苏州)科技有限公司 | 一种图像特征点的标定方法及装置 |
CN112380965A (zh) * | 2020-11-11 | 2021-02-19 | 浙江大华技术股份有限公司 | 进行人脸识别的方法及多目摄像机 |
CN112380965B (zh) * | 2020-11-11 | 2024-04-09 | 浙江大华技术股份有限公司 | 进行人脸识别的方法及多目摄像机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107705333B (zh) | 基于双目相机的空间定位方法及装置 | |
JP4789745B2 (ja) | 画像処理装置および方法 | |
EP3339943A1 (en) | Method and system for obtaining optometric parameters for fitting eyeglasses | |
US20200334842A1 (en) | Methods, devices and computer program products for global bundle adjustment of 3d images | |
CN108960045A (zh) | 眼球追踪方法、电子装置及非暂态电脑可读取记录媒体 | |
WO2009091029A1 (ja) | 顔姿勢推定装置、顔姿勢推定方法、及び、顔姿勢推定プログラム | |
US12073630B2 (en) | Moving object tracking method and apparatus | |
CN113689503B (zh) | 目标对象的姿态检测方法、装置、设备及存储介质 | |
WO2017022033A1 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
CN109801379A (zh) | 通用的增强现实眼镜及其标定方法 | |
CN108282650A (zh) | 一种裸眼立体显示方法、装置、系统及存储介质 | |
WO2016030305A1 (en) | Method and device for registering an image to a model | |
CN108446595A (zh) | 一种空间定位方法、装置、系统及存储介质 | |
CN110243390B (zh) | 位姿的确定方法、装置及里程计 | |
CN112926464B (zh) | 一种人脸活体检测方法以及装置 | |
CN113538682B (zh) | 模型训练、头部重建方法、电子设备及存储介质 | |
CN108345821A (zh) | 面部追踪方法及设备 | |
WO2018207032A1 (en) | Method and system for calibrating a velocimetry system | |
CN109117726A (zh) | 一种识别认证方法、装置、系统及存储介质 | |
CN116170689A (zh) | 视频生成方法、装置、计算机设备和存储介质 | |
CN113610969B (zh) | 一种三维人体模型生成方法、装置、电子设备及存储介质 | |
CN109389645A (zh) | 相机自校准方法、系统、相机、机器人及云端服务器 | |
JP6950644B2 (ja) | 注意対象推定装置及び注意対象推定方法 | |
LU100684B1 (en) | Method and system for head pose estimation | |
US20230144111A1 (en) | A method for generating a 3d model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180824 |
|
WW01 | Invention patent application withdrawn after publication |