一种基于人脸跟踪改变视点角度显示三维图形的方法
【技术领域】
本发明具体涉及一种基于人脸跟踪改变视点角度显示三维图形的方法。
【背景技术】
三维图形屏幕投射的原理(见图1)是从显示屏1’前的一个视点2’出发,将三维图形3’从显示屏1’内的虚拟绘图空间11’,投射到一个平面(即显视屏1’)上所得到的三维图形3’;在使用很多三维图形3’的场合,由于用户观看三维图形3’的视点2’移动以及用户移动三维图形3’时,需要通过透视变换将对象于显示屏内的虚拟绘图空间中的三维坐标变换为显示于显示屏上的二维坐标。基于此位置信息以及对象表面的纹理特征,如颜色和图像,通过渲染处理来逐个像素单元确定颜色信息,然后该图像信息被写入帧缓冲存储器,以便在屏幕上显示。当前的三维用户界面或者三维游戏的绘图的视点位置都是固定的,并不会随着用户的位置变化而变化,这样造成用户很容易感觉到看见的不是一个真实的三维物体。
【发明内容】
本发明要解决的技术问题,在于提供一种基于人脸跟踪改变视点角度显示三维图形的方法,使显示屏内的三维图形能随观看者的观看位置变化而变化,让观看者的观看感觉更逼真。
本发明是这样实现的:一种基于人脸跟踪改变视点角度显示三维图形的方法;该方法包括一显示三维图形的显示屏、一图像采集装置、一人脸识别单元、一视点角度偏移判断单元、一三维图形处理器、一存储器及一显示控制单元;所述显示屏及图像采集装置设置于同一平面上;所述存储器内存有绘制三维图形的绘图材质;
具体如下步骤:
步骤10、所述三维图形处理器依据显示屏前的一基准视点于该显示屏内的虚拟绘图空间中绘制三维图形,并将该三维图形显示于显示屏上;所述显示屏及图像采集装置二者分别与该基准视点之间的距离保持一致;所述图像采集装置截取一该显示屏前方的图像,且所述基准视点位于该图像的中心点,并将该图像传送给所述人脸识别单元;
步骤20、所述人脸识别单元依据该图像识别出观看者的人脸中心位置,将该人脸中心位置传送给所述视点角度偏移判断单元;
步骤30、所述视点角度偏移判断单元依据该人脸中心位置信息判断视点偏移角度;将该视点偏移角度传送给所述三维图形处理器;所述步骤30具体为:
步骤31、将所述步骤10的图像虚拟于显示屏前形成一与该显示屏平行对应的虚拟图像;所述虚拟图像为一长度为L,宽度为W的像素矩阵,L与W的单位为像素;所述虚拟图像的对角线的长度为Ld,Ld=W/sin[Arctan(W/L)],Ld的单位为像素;
步骤32、所述图像采集装置的视角角度为θC;所述虚拟图像上的基准视点与该图像采集装置的距离为一用于计算视点偏移角度而假设的一个虚拟距离D,D=(Ld/2)/tan(θC/2),D的单位为像素;
步骤33、基于所述虚拟图像的中心点,于该虚拟图像上建立一包含X轴及Y轴的二维坐标系;所述二维坐标系的单位为像素;将所述步骤20的人脸中心位置于该二维坐标系上对应成一人脸中心位置坐标(XV,YV);依所述人脸中心位置坐标(XV,YV)于该二维坐标系的位置,分别进入相应的步骤34或步骤35或步骤36或步骤37;
步骤34、当该人脸中心位置坐标(XV,YV)位于该二维坐标系的第一象限时,相应所述人脸中心位置坐标(XV,YV)的X轴的投影长度=XV,Y轴的投影长度=YV;所述视点偏移角度为:以该显示屏的中心点为中心,该基准视点向X轴的正方向偏移θ1度,并向Y轴的正方向偏移θ2度;θ1=[Arctan(XV/D)],θ2=[Arctan(YV/D)];进入步骤40;
步骤35、当该人脸中心位置坐标(XV,YV)位于该二维坐标系的第二象限时,相应所述人脸中心位置坐标(XV,YV)的X轴的投影长度=|XV|,Y轴的投影长度=YV;所述视点偏移角度为:以该显示屏的中心点为中心,该基准视点向X轴的负方向偏移θ3度,并向Y轴的正方向偏移θ4度;θ3=[Arctan(|XV|/D)],θ4=[Arctan(YV/D)];进入步骤40;
步骤36、当该人脸中心位置坐标(XV,YV)位于该二维坐标系的第三象限时,相应所述人脸中心位置坐标(XV,YV)的X轴的投影长度=|XV|,Y轴的投影长度=|YV|;所述视点偏移角度为:以该显示屏的中心点为中心,该基准视点向X轴的负方向偏移θ5度,并向Y轴的负方向偏移θ6度;θ5=[Arctan(|XV|/D)],θ6=[Arctan(|YV|/D)];进入步骤40;
步骤37、当该人脸中心位置坐标(XV,YV)位于该二维坐标系的第四象限时,相应所述人脸中心位置坐标(XV,YV)的X轴的投影长度=XV,Y轴的投影长度=|YV|;所述视点偏移角度为:以该显示屏的中心点为中心,该基准视点向X轴的负方向偏移θ7度,并向Y轴的负方向偏移θ8度;θ7=[Arctan(XV/D)],θ8=[Arctan(|YV|/D)];进入步骤40。
步骤40、所述三维图形处理器将所述基准视点依据该视点偏移角度进行偏移得到一观看视点,基于该观看视点从所述存储器读取绘图材质后,绘制新的三维图形,并将该新的三维图形存入所述存储器中;
步骤50、所述显示控制单元从该存储器调用该新的三维图形,并将该新的三维图形按照显示屏需要的时序传送显示于显示屏上。
进一步地,所述步骤20中的人脸中心位置还可以是观看者的双眼间的中间点位置。
进一步地,所述图像采集装置设置于该显示屏的中心位置。
本发明具有如下优点:通过预先定义的基准视线及人脸识别单元定位观看者的眼睛位置,通过视线角度偏移判断单元判断基准视线的偏移角度,再通过三维图形处理器及显示控制单元将相应偏移后的基准视线的三维图像显示于显示屏上,使观看者能在不同角度位置上享受同样立体且生动的三维图像。
【附图说明】
下面参照附图结合实施例对本发明作进一步的说明。
图1为三维图形屏幕投射的原理的示意图。
图2为本发明一种基于人脸跟踪三维图形绘制方法执行流程图。
图3为本发明一种基于人脸跟踪三维图形绘制方法的电路结构示意图。
图4为本发明一种基于人脸跟踪三维图形绘制方法中定义基准视点的示意图。
图5为本发明一种基于人脸跟踪三维图形绘制方法中将图像虚拟于显示屏前的示意图。
图6为本发明一种基于人脸跟踪三维图形绘制方法中虚拟图像的示意图。
图7为本发明一种基于人脸跟踪三维图形绘制方法中将图像虚拟于图像采集装置前的示意图。
图8为本发明一种基于人脸跟踪三维图形绘制方法中人脸中心位置于虚拟图像上第一象限时基准视点向X轴方向偏移的示意图。
图9为本发明一种基于人脸跟踪三维图形绘制方法中人脸中心位置于虚拟图像上第一象限时基准视点向Y轴方向偏移的示意图。
图10为本发明一种基于人脸跟踪三维图形绘制方法中人脸中心位置于虚拟图像上第二象限时基准视点向X轴方向偏移的示意图。
图11为本发明一种基于人脸跟踪三维图形绘制方法中人脸中心位置于虚拟图像上第二象限时基准视点向Y轴方向偏移的示意图。
图12为本发明一种基于人脸跟踪三维图形绘制方法中人脸中心位置于虚拟图像上第三象限时基准视点向X轴方向偏移的示意图。
图13为本发明一种基于人脸跟踪三维图形绘制方法中人脸中心位置于虚拟图像上第三象限时基准视点向Y轴方向偏移的示意图。
图14为本发明一种基于人脸跟踪三维图形绘制方法中人脸中心位置于虚拟图像上第四象限时基准视点向X轴方向偏移的示意图。
图15为本发明一种基于人脸跟踪三维图形绘制方法中人脸中心位置于虚拟图像上第四象限时基准视点向Y轴方向偏移的示意图。
【具体实施方式】
请参阅图2至图4所示,一种基于人脸跟踪改变视点角度显示三维图形的方法;该方法包括一显示三维图形的显示屏1、一图像采集装置(如摄像头)2、一人脸识别单元3、一视点角度偏移判断单元4、一三维图形处理器(即GPU)5、一存储器6及一显示控制单元7;所述显示屏1及图像采集装置2设置于同一平面上;所述存储器6内存有绘制三维图形的绘图材质;
具体如下步骤:
步骤10、所述三维图形处理器2依据显示屏1前的一基准视点VB于该显示屏1内的虚拟绘图空间11中绘制三维图形12(见图4),并将该三维图形12显示于显示屏1上;所述显示屏1及图像采集装置2二者分别与该基准视点VB之间的距离保持一致;所述图像采集装置2截取一该显示屏1前方的图像,且所述基准视点VB位于该图像的中心点,并将该图像传送给所述人脸识别单元3;
步骤20、所述人脸识别单元3依据该图像识别出观看者8的人脸中心位置,将该人脸中心位置传送给所述视点角度偏移判断单元4;
步骤30、所述视点角度偏移判断单元4依据该人脸中心位置信息判断视点偏移角度;将该视点偏移角度传送给所述三维图形处理器5;
步骤40、所述三维图形处理器5将所述基准视点VB依据该视点偏移角度进行偏移得到一观看视点,基于该观看视点从所述存储器6读取绘图材质后,绘制新的三维图形,并将该新的三维图形存入所述存储器6中;
步骤50、所述显示控制单元7从该存储器6调用该新的三维图形,并将该新的三维图形按照显示屏1需要的时序传送显示于显示屏1上。
如图5至图15所示,所述步骤30具体为:
步骤31、将所述步骤10的图像虚拟于显示屏1前形成一与该显示屏平行对应的虚拟图像21(见图5);所述虚拟图像21为一长度为L,宽度为W的像素矩阵,L与W的单位为像素(见图6);所述虚拟图像21的对角线的长度为Ld,Ld=W/sin[Arctan(W/L)],Ld的单位为像素;其中,该虚拟图像21的长度乘以宽度的像素值,即为该图像采集装置2的图像采集清晰度参数。例如:图像采集装置2的图像采集清晰度为720p级别,该虚拟图像21即为1280x720的解析度,则L为1280,W为720;如果图像采集清晰度为1080p,该虚拟图像21即为1920x1080的解析度,则L为1920,W为1080;
步骤32、所述图像采集装置2的视角角度为θC;所述虚拟图像21上的基准视点VB与该图像采集装置2的距离为一用于计算视点偏移角度而假设的一个虚拟距离D,D=(Ld/2)/tan(θC/2),D的单位为像素(见图7,由于在实际上,所述基准视点VB分别与所述显示屏1及图像采集装置2二者间的距离一致,通过所述步骤31以虚拟的方式将虚拟图像21映射于显示屏1前,以便于计算出一个用于计算视点偏移角度的一个虚拟距离D);其中,所述视角角度θC,即为图像采集装置2的拍摄视角角度参数。例如:如果图像采集装置2的拍摄视角角度为60度,则θC=60度;如果图像采集装置2为拍摄视角角度120度的广角镜头时,则θC=120度;
步骤33、基于所述虚拟图像21的中心点OC(即基准视点VB),于该虚拟图像21上建立一包含X轴及Y轴的二维坐标系;所述二维坐标系的单位为像素;将所述步骤20的人脸中心位置于该二维坐标系上对应成一人脸中心位置坐标(XV,YV);依所述人脸中心位置坐标(XV,YV)于该二维坐标系的位置,分别举出不同的实施例(即步骤34至步骤37);
实施例一、
当该人脸中心位置坐标(XV,YV)位于该二维坐标系的第一象限时(见图8和图9),相应所述人脸中心位置坐标(XV,YV)的X轴的投影长度=XV,Y轴的投影长度=YV;所述视点偏移角度为:以该显示屏1的中心点OP为中心,该基准视点VB向X轴的正方向偏移θ1度,并向Y轴的正方向偏移θ2度;θ1=[Arctan(XV/D)],θ2=[Arctan(YV/D)];进入步骤40;
实施例二、
当该人脸中心位置坐标(XV,YV)位于该二维坐标系的第二象限时(见图10和图11),相应所述人脸中心位置坐标(XV,YV)的X轴的投影长度=|XV|,Y轴的投影长度=YV;所述视点偏移角度为:以该显示屏1的中心点OP为中心,该基准视点VB向X轴的负方向偏移θ3度,并向Y轴的正方向偏移θ4度;θ3=[Arctan(|XV|/D)],θ4=[Arctan(YV/D)];进入步骤40;
实施例三、
当该人脸中心位置坐标(XV,YV)位于该二维坐标系的第三象限时(见图12和图13),相应所述人脸中心位置坐标(XV,YV)的X轴的投影长度=|XV|,Y轴的投影长度=|YV|;所述视点偏移角度为:以该显示屏1的中心点OP为中心,该基准视点VB向X轴的负方向偏移θ5度,并向Y轴的负方向偏移θ6度;θ5=[Arctan(|XV|/D)],θ6=[Arctan(|YV|/D)];进入步骤40;
实施例四、
当该人脸中心位置坐标(XV,YV)位于该二维坐标系的第四象限时(见图14和图15),相应所述人脸中心位置坐标(XV,YV)的X轴的投影长度=XV,Y轴的投影长度=|YV|;所述视点偏移角度为:以该显示屏1的中心点OP为中心,该基准视点VB向X轴的负方向偏移θ7度,并向Y轴的负方向偏移θ8度;θ7=[Arctan(XV/D)],θ8=[Arctan(|YV|/D)];进入步骤40。
如图2和图3所示,本发明一种基于人脸跟踪三维图形绘制方法在实际应用时,将显示屏1和图像采集装置2设置在同一平面上,目的是要让图像采集装置2在截取图像时能和显示于显示屏1上的三维图形12能够平行对应,以利于对基准视点VB的定义;较佳的情况下,将图像采集装置2设置于显示屏1的中心位置,更利于对基准视点VB的定义;通过虚拟的方式,将显示于显示屏1及图像采集装置2所截取的图像(即虚拟图像21)二者相应设置的中心点(即显示屏1的中心点OP和基准视点VB)对应关联,预先完成模拟观看者8从虚拟图像21上的基准视点VB的实际位置看向显示屏1上的三维图像12时的基准视点VB的定义(见图4及图5);图像采集装置2截取显示屏1前方的图像,并将该图像发给人脸识别单元3;当图像中包含观看者8时,人脸识别单元3于图像上定位出观看者8的人脸中心位置,该人脸中心位置还可以是观看者8的双眼间的中间点位置,定位点更接近观看者8的眼睛位置,效果更好;人脸识别单元3将该人脸中心位置的信息发给视线角度偏移判断单元4;视线角度偏移判断单元4依据人脸中心位置(即观看视点)在图像上的位置,判断从基准视点VB偏移至观看视点的视点偏移角度(即步骤31至步骤37所述,藉由虚拟图像21上的人脸中心位置坐标来判断),并将视点偏移角度的信息发给三维图形处理器5;三维图形处理器5依据视点偏移角度将基准视点VB进行偏移,即可得到所述步骤40中的观看视点,基于该观看视点重新绘制新的三维图像并存入存储器6中;新的三维图像通过显示控制单元7按照显示屏1所需的格式及时序发送至显示屏1上显示;即实现观看者8在图像采集装置2的截取范围内移动时,在不同的视点角度下仍能基于基准视点VB的视点角度下观看到显示屏1上的三维图形12,让观看者7通过显示屏1所看到的三维图形12更接近是真实立体物体的感觉;其中,三维图形12能是用户界面或游戏画面,如此便大幅加强观看者界面和显示屏1内的游戏或影像的生动性和趣味性。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。