一种实现增强现实的方法及设备与流程

文档序号:15616219发布日期:2018-10-09 21:27阅读:117来源:国知局

本发明涉及增强现实技术领域,尤其涉及一种实现增强现实的方法及设备。



背景技术:

增强现实技术(augmentedreality,ar)借助计算机图形技术和可视化技术生成现实环境中不存在的虚拟对象,并通过图像识别定位技术将虚拟对象准确地融合到真实环境中,借助显示设备将虚拟对象与真实环境融为一体,并呈现给使用者真实的感观体验。

现有的ar-glass设备通过slam算法根据输入端(灰度摄像头、彩色摄像头、深度摄像头、传感器设备等器件中的一种或多种)数据得到场景3d信息(三维重建)和设备在场景中的姿态(位置和旋转数据),并通过videosee-through或者opticalsee-through的方式呈现真实场景。同时根据slam算法得到的场景3d信息和设备在场景中的姿态在真实场景中融合显示虚拟信息(文字、图片、视频、三维模型、独立的三维场景等)。但是,在显示虚拟信息时通常是通过预设其在真实场景中的姿态或者让用户手动控制虚拟信息移动到想要显示的位置,这种方式操作复杂而且虚实融合会存在较大偏差的问题。



技术实现要素:

本发明提供一种实现增强现实的方法及设备,能够自动控制虚拟信息移动到想要显示的位置,简化操作且能够有效降低虚实融合存在的偏差。

本申请实施例提供了一种实现增强现实的方法,包括:

实时采集包含人脸图像的环境场景图像;

通过人脸识别算法对当前帧环境场景图像进行人脸识别,根据人脸识别结果在预设的人脸数据库中查找与所述人脸识别结果对应的虚拟信息;

利用预先建立的面部3d模型对所述人脸识别结果对应的人脸图像区域进行脸部对齐处理,得到所述人脸图像区域的人脸特征点集合,所述人脸特征点集合包括一组在所述图像区域的特征点的二维坐标和一组对应在所述脸部3d模型中的特征点的三维坐标;

通过slam算法对多帧环境场景图像进行图像配准,计算出当前帧环境场景图像的姿态和三维场景;

利用当前帧环境场景图像的姿态、三维场景和所述人脸特征点集合,计算出当前帧环境场景图像中人脸在世界坐标系中的姿态;

根据当前帧环境场景图像中人脸在世界坐标系中的姿态,将所述虚拟信息显示在当前帧环境场景图像中。

可选的,所述利用当前帧环境场景图像的姿态、三维场景和所述人脸特征点集合,计算出当前帧环境场景图像中人脸在世界坐标系中的姿态,具体包括:

利用当前帧环境场景图像的姿态、三维场景和所述人脸特征点集合,计算出所述人脸特征点集合中每个特征点在世界坐标系中的三维坐标;

根据所述人脸特征点集合中每个特征点在世界坐标系中的三维坐标,计算出人脸在世界坐标系中的姿态。

可选的,所述根据人脸在世界坐标系中的姿态,将所述虚拟信息显示在当前帧环境场景图像中,具体包括:

根据人脸在世界坐标系中的姿态,将所述虚拟信息叠加到当前帧环境场景图像中显示的人脸所对应的位置上。

可选的,所述通过人脸识别算法对当前帧环境场景图像进行人脸识别,具体包括:

按照预设频率通过人脸识别算法对当前帧环境场景图像进行人脸识别。

可选的,在根据人脸在所述世界坐标系中的姿态,将所述虚拟信息显示在当前帧环境场景图像中之后,所述方法还包括:

利用当前帧环境场景图像中人脸在世界坐标系中的姿态对后续帧环境场景图像中的人脸在世界坐标系中的姿态进行跟踪;

利用跟踪得到的所述后续帧环境场景图像中人脸在世界坐标系中的姿态,将所述虚拟信息显示在所述后续帧环境场景图像中。

本申请一实施例还提供了一种实现增强现实设备,包括:

图像采集单元,用于实时采集包含人脸图像的环境场景图像;

人脸识别单元,用于通过人脸识别算法对当前帧环境场景图像进行人脸识别,根据人脸识别结果在预设的人脸数据库中查找与所述人脸识别结果对应的虚拟信息;

脸部对齐单元,用于利用预先建立的面部3d模型对所述人脸识别结果对应的人脸图像区域进行脸部对齐处理,得到所述人脸图像区域的人脸特征点集合,所述人脸特征点集合包括一组在所述图像区域的特征点的二维坐标和一组对应在所述脸部3d模型中的特征点的三维坐标;

图像配准单元,用于通过slam算法对多帧环境场景图像进行图像配准,计算出当前帧环境场景图像的姿态和三维场景;

姿态计算单元,用于利用当前帧环境场景图像的姿态、三维场景和所述人脸特征点集合,计算出当前帧环境场景图像中人脸在世界坐标系中的姿态;

叠加显示单元,用于根据当前帧环境场景图像中人脸在世界坐标系中的姿态,将所述虚拟信息显示在当前帧环境场景图像中。

可选的,所述姿态计算单元,包括:

三维坐标计算子单元,用于利用当前帧环境场景图像的姿态、三维场景和所述人脸特征点集合,计算出所述人脸特征点集合中每个特征点在世界坐标系中的三维坐标;

姿态计算子单元,用于根据所述人脸特征点集合中每个特征点在世界坐标系中的三维坐标,计算出人脸在世界坐标系中的姿态。

可选的,所述叠加显示单元,具体用于根据人脸在世界坐标系中的姿态,将所述虚拟信息叠加到当前帧环境场景图像中显示的人脸所对应的位置上。

可选的,所述人脸识别单元,具体用于按照预设频率通过人脸识别算法对当前帧环境场景图像进行人脸识别。

可选的,还包括:

姿态跟踪单元,用于在根据人脸在所述世界坐标系中的姿态,将所述虚拟信息显示在当前帧环境场景图像中之后,利用当前帧环境场景图像中人脸在世界坐标系中的姿态对后续帧环境场景图像中的人脸在世界坐标系中的姿态进行跟踪;

所述叠加显示单元,还用于利用跟踪得到的所述后续帧环境场景图像中人脸在世界坐标系中的姿态,将所述虚拟信息显示在所述后续帧环境场景图像中。本发明的有益效果如下:

由于本申请实施例是通过对采集包含人脸图像的环境场景图像进行人脸识别得到识别结果及其对应的虚拟信息,并继续对环境场景图像进行脸部对齐处理和slam算法进行运算,计算出当前帧环境场景图像中人脸在世界坐标系中的姿态,再根据当前帧环境场景图像中的人脸姿态,将所述虚拟信息显示在当前帧环境场景图像中,由此可知,可以通过设备自动每帧环境场景图像对应的虚拟信息及人脸姿态,然后将虚拟信息自动显示在人脸姿态对应的位置上,从而实现了自动控制所述虚拟信息移动到想人脸的对应位置进行显示,且通过设备计算出的人脸姿态的准确度相比人工移动的准确度具有明显的提高,而且无需用户手动操作,如此,实现了简化操作且能够有效降低虚实融合存在的偏差的效果。

附图说明

图1为本发明实施例中实现增强现实的方法流程图;

图2为本发明实施例中获取第i帧环境场景图像的平面集合的方法流程图;

图3为本发明实施例中实现增强现实设备的模块图。

具体实施方式

本发明提供一种实现增强现实的方法及设备,能够自动控制虚拟信息移动到想要显示的位置,简化操作且能够有效降低虚实融合存在的偏差。

下面结合附图对本发明优选的实施方式进行详细说明。

如图1所示,本发明公开了一种实现增强现实的方法,具体包括以下步骤:

s101、实时采集包含人脸图像的环境场景图像;

s102、通过人脸识别算法对当前帧环境场景图像进行人脸识别,根据人脸识别结果在预设的人脸数据库中查找与所述人脸识别结果对应的虚拟信息;

s103、利用预先建立的面部3d模型对所述人脸识别结果对应的人脸图像区域进行脸部对齐处理,得到所述人脸图像区域的人脸特征点集合,所述人脸特征点集合包括一组在所述图像区域的特征点的二维坐标和一组对应在所述脸部3d模型中的特征点的三维坐标;

s104、通过slam算法对多帧环境场景图像进行图像配准,计算出当前帧环境场景图像的姿态和三维场景;

s105、利用当前帧环境场景图像的姿态、三维场景和所述人脸特征点集合,计算出当前帧环境场景图像中人脸在世界坐标系中的姿态;

s106、根据当前帧环境场景图像中人脸在世界坐标系中的姿态,将所述虚拟信息显示在当前帧环境场景图像中。

其中,在步骤s101中,可以通过如摄像头、摄像机、鱼眼镜头等摄像设备实时采集包含人脸图像的环境场景图像。

接下来执行步骤s102,由于所述环境场景图像中包含有人脸图像,因此,可以通过人脸识别算法对当前帧环境场景图像进行人脸识别,并得到所述人脸识别结果;再根据所述人脸识别结果在所述预设的人脸数据库中查找与所述人脸识别结果对应的虚拟信息。

在具体实施过程中,在执行步骤s101或步骤s102之前,需要预先所述预设的人脸数据库,所述预设的人脸数据库中存储有大量的人脸数据及其对应的虚拟信息;所述虚拟信息可以包括人脸数据对应的用户的身高、体重、年龄、姓名、职业、从事工作、学历和所在公司等信息;如此,在从所述预设的人脸数据库中查找到所述人脸识别结果之后,能够获取到与所述人脸识别结果对应的虚拟信息。

具体来讲,所述人脸识别算法可以是基于几何特征的识别算法、基于模板的识别算法和基于模型的识别算法,其中,在所述人脸识别算法为基于模板的识别算法时,所述人脸识别算法可以为基于相关匹配的算法、特征脸算法、线性判别分析算法、奇异值分解算法、神经网络算法、动态连接匹配算法等;在所述人脸识别算法为基于模型的算法时,所述人脸识别算法可以为基于隐马尔柯夫模型,主动形状模型和主动外观模型的算法等,本申请不作具体限制。

例如,首先建立了一个预设的人脸数据库a,a中存储有人脸图像a1、a2、a3、a4和a5及其对应的虚拟信息;然后通过摄像头实时采集包含人脸图像的环境场景图像;并通过人脸识别算法对当前帧环境场景图像进行人脸识别,识别出当前帧环境图像中的人脸图像为a2,则判定所述人脸识别结果为a2并获取a2对应的虚拟信息。

本申请实施例中,为了降低计算量,可以按照预设频率通过人脸识别算法对当前帧环境场景图像进行人脸识别,从而使得在一定时间内需要进行人脸识别的当前帧环境场景图像的数量减少,如此,能够有效降低计算量,其中,所述预设频率可以根据设备的性能来设定,在设备的性能越高时,所述预设频率设置的越大;在设备的性能越低时,所述预设频率设置的越小;当然,为了确保计算的实时性,所述预设频率可以设置为小于每秒刷新频率的数值。若所述每秒刷新频率为60帧,则所述预设频率可以设置为小于60的50、45、40、30、20等。

本申请实施例中,在通过人脸识别算法对当前帧环境场景图像进行人脸识别时,若某一帧环境场景图像未识别出相应的人脸识别结果,则禁止对该帧环境场景图像进行人脸识别,对该帧环境场景图像的下一帧场景图像进行人脸识别。

接下来执行步骤s103,在通过步骤s102得到所述人脸识别结果后,必然可以利用所述面部3d模型对所述人脸图像区域进行脸部对齐处理,得到所述人脸特征点集合。

在具体实施过程中,在执行步骤s103之前,需要预先建立所述脸部3d模型,而在建立所述面部3d模型过程中,首先会建立一个通用的面部模型,即使用三角面网格对人脸进行逼近,从而获得所述面部3d模型,并保存所述面部3d模型中的人脸上的眼睛、鼻子、下巴和嘴部、面部轮廓等特征部位的特征点的三维坐标,而所述面部3d模型中的人脸上的眼睛、鼻子、下巴和嘴部、面部轮廓等特征部位的所有特征点组成所述面部3d模型的预设对齐特征点集,并保存所述预设对齐特征点集的三维坐标集。

具体来讲,在建立所述面部3d模型之后,然后通过脸部对齐算法使用所述面部3d模型对所述人脸图像区域进行脸部对齐处理,从所述人脸图像区域中得到完成面部对齐的匹配特征点集的二维坐标集;其中,所述匹配特征点集和所述预设对齐特征点集中的特征点匹配;其中,所述匹配特征点集的二维坐标集为所述人脸特征点集合中的一组在所述图像区域的特征点的二维坐标;所述预设对齐特征点集的三维坐标集所述人脸特征点集合中的一组对应在所述脸部3d模型中的特征点的三维坐标;即可知,所述匹配特征点集及其二维坐标集和所述预设对齐特征点集及其三维坐标集组成所述人脸特征点集合。

本申请实施例中,所述面部对齐算法例如可以是aam(activeappreancemodel)算法、asm(activeshapemodel)和clm(constrainedlocalmodel)算法等,本申请不作具体限制。

具体的,由于特征点对齐是面部对齐的前置条件,使得在获取到完成面部对齐的一帧图像时,所述匹配对齐特征点集中的特征点必然是与所述预设对齐特征点集中的特征点是匹配的,进而可以获取到所述匹配对齐特征点集的二维特征点集并进行保存;而所述预设对齐特征点集的三维坐标集在建立所述面部3d模型时已保存,如此,使得所述匹配对齐特征点的二维坐标集和所述预设对齐特征点集的三维坐标集均已保存。

例如,以摄像设备为摄像头b为例,首先建立一个通用的面部3d模型并保存所述面部3d模型中的对齐特征点集的三维坐标,其中,所述面部3d模型中的预设对齐特征点集用g表示,以及在摄像头b通电开始工作之后,通过摄像头n在一段时间内实时获取包含人脸图像的环境场景图像,若摄像头b在该段时间内获取的当前帧环境场景图像依次为b1、b2、b3….bk,如此,在当前帧环境场景图像为b1时,对b1进行人脸识别,得到人脸识别结果及其虚拟信息;以及利用所述脸部3d模型对b1进行脸部对齐处理,从b1中提取与g匹配的特征点集b11,将g及其三维坐标集和b11及其二维坐标集作为所述人脸特征点集合。

本申请实施例过程中,步骤s102和步骤s103可以同时执行,也可以先执行步骤s103后执行步骤s102,本申请不作具体限制。

接下来执行步骤s104,从采集的环境场景图像中挑选出与当前帧环境场景图像相邻的至少一帧环境场景图像,然后使用同时定位与建图(simultaneouslocalizationandmapping,简称slam)算法对当前帧环境场景图像和挑选出的所述至少一帧环境场景图像进行图像配准,计算出当前帧环境场景图像对应的世界坐标系相对于相机坐标系的姿态和三维场景。

具体来讲,通过slam算法可以对当前帧环境场景图像进行三维重建,从而可以获取到当前帧环境场景图像对应的三维场景;而且通过slam算法对多帧环境场景图像进行图像配准,计算出当前帧环境场景图像对应的世界坐标系相对于相机坐标系的姿态。

具体的,当前帧环境场景图像对应的世界坐标系(xs,ys,zs)即三维场景用wslam表示,以及对应的相机坐标系(xc,yc,zc)用cslam表示,当前帧环境场景图像对应的世界坐标系相对于相机坐标系的姿态用rt表示,r表示旋转矩阵(3x3),t表示位移向量(tx,ty,tz),则可知:

wslam×rt=cslam公式(1)

如此,通过公式(1)可以计算得到rt。

接下来执行步骤s105,可以利用当前帧环境场景图像的姿态、三维场景和所述人脸特征点集合,计算出所述人脸特征点集合中每个特征点在世界坐标系中的三维坐标;根据所述人脸特征点集合中每个特征点在世界坐标系中的三维坐标,计算出人脸在世界坐标系中的姿态。

在具体实施过程中,由于所述匹配对齐特征点的二维坐标集中的每个坐标均可以作为cslam中的一个值;而所述预设对齐特征点集的三维坐标集与所述匹配对齐特征点的二维坐标集对应,如此,通过公式(1)和所述人脸特征点集合即可计算出所述脸部3d模型所在的物体坐标系相对于世界坐标系的转换关系用p表示;根据所述匹配对齐特征点的二维坐标集和所述转换关系,即可计算出所述人脸特征点集合中每个特征点在世界坐标系中的三维坐标;根据所述人脸特征点集合中每个特征点在世界坐标系中的三维坐标,计算出人脸在世界坐标系中的姿态。

具体来讲,利用所述人脸特征点集合中的二维坐标集和三维坐标集进行计算,得到当前帧环境场景图像对应的物体坐标系相对于相机坐标系的姿态用r1t1表示,其中,r1表示旋转矩阵(3x3),t1表示位移向量(tx,ty,tz),;然后根据公式(1)得到的rt和r1t1进行计算可得到所述转换关系,即p=rt×r1t1-1;然后利用所述转换关系和所述预设对齐特征点集的三维坐标集,计算出所述人脸特征点集合中每个特征点在世界坐标系中的三维坐标。

接下来执行步骤s106,根据当前帧环境场景图像中人脸在世界坐标系中的姿态,将所述虚拟信息叠加到当前帧环境场景图像中显示的人脸所对应的位置上。

在具体实施过程中,可以在当前帧环境场景图像中显示的人脸的左右两侧显示所述虚拟信息,也可以在当前帧环境场景图像中显示的人脸的上部显示所述虚拟信息,也可以当前帧环境场景图像中显示的人脸的前后方显示所述虚拟信息,本申请不作具体限制。

如此,可以对每帧或每几帧环境场景图像的执行步骤s101~s106,从而可以在每帧或每几帧环境场景图像中显示的人脸姿态的对应位置显示所述虚拟信息,进而实现了自动控制所述虚拟信息移动到人脸姿态的对应位置进行显示,而且通过设备计算出的人脸姿态的准确度相比人工移动的准确度具有明显的提高,而且无需用户手动操作,如此,实现了简化操作且能够有效降低虚实融合存在的偏差的效果。

在本申请另一实施例中,在根据人脸在所述世界坐标系中的姿态,将所述虚拟信息显示在当前帧环境场景图像中之后,如图2所示,所述方法还包括:

s201、利用当前帧环境场景图像中人脸在世界坐标系中的姿态对后续帧环境场景图像中的人脸在世界坐标系中的姿态进行跟踪;

s202、利用跟踪得到的所述后续帧环境场景图像中人脸在世界坐标系中的姿态,将所述虚拟信息显示在所述后续帧环境场景图像中。

本申请实施例中,人脸在世界坐标系中的姿态简称为人脸姿态,其含义相同。

在步骤s201中,以当前帧环境场景图像为初始帧环境场景图像,利用相邻一帧或多帧环境场景图像中的人脸姿态对后续帧环境场景图像中的人脸姿态进行跟踪,以得到所述后续帧环境场景图像中的人脸姿态;所述后续帧环境场景图像为当前帧环境场景图像之后的一帧或多帧连线的环境场景图像。

具体来讲,可以首先利用利用当前帧环境场景图像中的人脸姿态对后一帧环境场景图像的姿态进行跟踪,获取跟踪得到的后一帧环境场景图像中的人脸姿态;在获取到后一帧环境场景图像中的人脸姿态之后;再利用相邻一帧或多帧环境场景图像中的人脸姿态对后二帧环境场景图像中的人脸姿态进行跟踪,获得后二帧环境场景图像中的人脸姿态,通过此种方式可以获取后续帧环境场景图像的人脸姿态。

接下来执行步骤s202,利用跟踪得到的所述后续帧环境场景图像中的人脸姿态,将所述虚拟信息叠加到所述后续帧环境场景图像中显示的人脸所对应的位置上。

本发明有益效果如下:

由于本申请实施例是通过对采集包含人脸图像的环境场景图像进行人脸识别得到识别结果及其对应的虚拟信息,并继续对环境场景图像进行脸部对齐处理和slam算法进行运算,计算出当前帧环境场景图像中人脸在世界坐标系中的姿态,再根据当前帧环境场景图像中的人脸姿态,将所述虚拟信息显示在当前帧环境场景图像中,由此可知,可以通过设备自动每帧环境场景图像对应的虚拟信息及人脸姿态,然后将虚拟信息自动显示在人脸姿态对应的位置上,从而实现了自动控制所述虚拟信息移动到想人脸的对应位置进行显示而无需人工操作,且通过设备计算出的人脸姿态的准确度相比人工移动的准确度具有明显的提高,而且无需用户手动操作,如此,实现了简化操作且能够有效降低虚实融合存在的偏差的效果。

基于与上述方法相同的技术构思,本发明还提供了一种实现增强现实设备,如图3所示,包括:

图像采集单元301,用于实时采集包含人脸图像的环境场景图像;

人脸识别单元302,用于通过人脸识别算法对当前帧环境场景图像进行人脸识别,根据人脸识别结果在预设的人脸数据库中查找与所述人脸识别结果对应的虚拟信息;

脸部对齐单元303,用于利用预先建立的面部3d模型对所述人脸识别结果对应的人脸图像区域进行脸部对齐处理,得到所述人脸图像区域的人脸特征点集合,所述人脸特征点集合包括一组在所述图像区域的特征点的二维坐标和一组对应在所述脸部3d模型中的特征点的三维坐标;

图像配准单元304,用于通过slam算法对多帧环境场景图像进行图像配准,计算出当前帧环境场景图像的姿态和三维场景;

姿态计算单元305,用于利用当前帧环境场景图像的姿态、三维场景和所述人脸特征点集合,计算出当前帧环境场景图像中人脸在世界坐标系中的姿态;

叠加显示单元306,用于根据当前帧环境场景图像中人脸在世界坐标系中的姿态,将所述虚拟信息显示在当前帧环境场景图像中。

优选的,姿态计算单元305,包括:

三维坐标计算子单元,用于利用当前帧环境场景图像的姿态、三维场景和所述人脸特征点集合,计算出所述人脸特征点集合中每个特征点在世界坐标系中的三维坐标;

姿态计算子单元,用于根据所述人脸特征点集合中每个特征点在世界坐标系中的三维坐标,计算出人脸在世界坐标系中的姿态。

优选的,叠加显示单元306,具体用于根据人脸在世界坐标系中的姿态,将所述虚拟信息叠加到当前帧环境场景图像中显示的人脸所对应的位置上。

优选的,人脸识别单元302,具体用于按照预设频率通过人脸识别算法对当前帧环境场景图像进行人脸识别。

优选的,还包括:

姿态跟踪单元,用于在根据人脸在所述世界坐标系中的姿态,将所述虚拟信息显示在当前帧环境场景图像中之后,利用当前帧环境场景图像中人脸在世界坐标系中的姿态对后续帧环境场景图像中的人脸在世界坐标系中的姿态进行跟踪;

叠加显示单元306,还用于利用跟踪得到的所述后续帧环境场景图像中人脸在世界坐标系中的姿态,将所述虚拟信息显示在所述后续帧环境场景图像中。

本发明的有益效果如下:

由于本申请实施例是通过对采集包含人脸图像的环境场景图像进行人脸识别得到识别结果及其对应的虚拟信息,并继续对环境场景图像进行脸部对齐处理和slam算法进行运算,计算出当前帧环境场景图像中人脸在世界坐标系中的姿态,再根据当前帧环境场景图像中的人脸姿态,将所述虚拟信息显示在当前帧环境场景图像中,由此可知,可以通过设备自动每帧环境场景图像对应的虚拟信息及人脸姿态,然后将虚拟信息自动显示在人脸姿态对应的位置上,从而实现了自动控制所述虚拟信息移动到想人脸的对应位置进行显示,且通过设备计算出的人脸姿态的准确度相比人工移动的准确度具有明显的提高,而且无需用户手动操作,如此,实现了简化操作且能够有效降低虚实融合存在的偏差的效果。

本发明实施例中所述模块或单元,可以通过通用集成电路,例如cpu(centralprocessingunit,中央处理器),或通过asic(applicationspecificintegratedcircuit,专用集成电路)来实现。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

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