技术领域
[0001] 本
发明涉及一种智能显示器系统,具体涉及一种自动跟踪头部姿态的智能显示器系统,属于智能识别技术领域。
背景技术
[0002] 显示器作为计算机不可或缺的
人机交互终端,在我们工作生活中随处可见。现在的显示器姿态(即可视
角度)仅能手动调节,不能根据使用者的头部姿态变化而自动调整。人眼横向清晰的视线区域为35°,纵向清晰视线区域为20°。头部姿态的改变,使清晰视线区域改变;此时若显示器姿态不变,则很难有清晰视觉且容易造成眼部疲劳。但频繁进行手动调节不仅麻烦,还不能保证显示器能够正好位于清晰视线区域内。
[0003] 要想实现显示器自动跟随头部姿态调整,必须保证头部姿态构建的精确度。在头部姿态构建过程中,人脸特征点
定位是一个极其关键的步骤。人脸特征点定位为人脸图像的处理与分析提供了重要的几何信息,计算机在一幅人脸图像中自动地定位出人脸各个器官的准确
位置以及人脸外轮廓等。特征点定位是
人脸识别技术中的不可缺少的预处理环节,定位的准确与否直接关系到后续工作的可靠性。基于人脸图像特征的识别通常
抽取人脸器官如眼睛、眉毛、鼻子和嘴巴等器官的位置、尺度以及彼此间的比率作为特征,进一步地可以用几何形状拟合人脸器官,从而以几何参数作为描述人脸的特征。
[0004] 目前依据检测的信息类型,人脸特征点定位方法大致可分为以下6类:(1)基于灰度信息的方法;(2)基于先验规则的方法;(3)基于统制的方法;(4)基于小波的方法;(5)3D方法;(6)基于几何形状的方法。
[0005] 总体来说,基于先验规则的方法准确率较低,对图像
质量要求高,受表情姿态光照影响大,但有时也有运算量小的优势,适合与其他方法结合进行特征点定位。基于统计模型和小波的方法的共同优点是对图像质量要求低,受表情姿态光照影响小,而且准确率高,对样本的训练等方面也使得运算量大大提高,但该类方法是特征点定位方法的发展趋势和方向。3D方法是在处理视频序列中的人脸特征点定位方法,还不太成熟,有待进—步研究。基于几何形状的方法虽然也对图像质量要求高,受表情姿态光照影响大,但准确率较高,是目前为止该领域的主流
算法。
发明内容
[0006] 有鉴于此,本发明提供一种自动跟踪头部姿态的智能显示器系统,通过该系统能够依据头部姿态的变化自动改变显示器姿态,让其始终与头部保持最佳位置,可以有效缓解眼部疲劳与
预防近视。
[0007] 所述自动跟踪头部姿态的智能显示器系统包括
图像采集模
块、视觉算法处理模块和显示器控
制模块;所述图像采集模块包括单目摄像机,显示器
控制模块包括显示器、
舵机控制模块和侧倾舵机。
[0008] 所述单目摄像机位于显示器后上方的中间位置,单目摄像按照设定
频率采集显示器前方使用者的头部图像,并将采集到的图像实时发送给视觉算法处理模块。所述视觉算法处理模块对接收到的头部图像数进行畸变校正,得到校正后的单目图像。所述视觉算法处理模块对校正后的单目图像进行人脸识别并提取脸部特征点,所述单目图像中的脸部特征点为左眼特征点和右眼特征点。
[0009] 所述视觉算法处理模块中建立有图像
坐标系o′-x′y′;所述图像坐标系以单目摄像机成像平面左上角的
像素为原点,
水平方向为x轴,竖直方向为y轴;由此所述左眼特征点在图像坐标系o′-x′y′下的坐标为(x′a,y′a),右眼特征点在图像坐标系o′-x′y′下的坐标为(x′b,y′b);则当前头部侧倾角θ为:
[0010] 所述视觉算法处理模块将计算得到的头部侧倾角发送给舵机控制模块。所述舵机控制模块获得头部侧倾角度后,向侧倾舵机发送控制
信号,侧倾舵机带动显示器侧倾相应角度,使显示器平面平行于使用者面部。
[0011] 所述图像采集模块中还包括由相同型号的左目摄像机和右目摄像形成的双目摄像机对,所述显示器控制模块中还包括
俯仰舵机;所述左目摄像机和右目摄像机位于单目摄像机下方的左右两边,三个摄像机呈“品”字形摆放。
[0012] 所述左目摄像机和右目摄像机的光轴平行,左目摄像机和右目摄像机同时按照设定的频率采集显示器前方使用者的头部图像,并将同一时刻采集的两幅图像实时发送给视觉算法处理模块。所述视觉算法处理模块对同时接收到的两幅图像进行畸变校正,得到校正后的双目图像对,分别为校正后的左目图像和校正后的右目图像。所述视觉算法处理模块对校正后的双目图像对分别进行人脸识别并分别提取脸部特征点,所述双目图像对中的脸部特征点为左眼特征点、右眼特征点和嘴部中点。
[0013] 所述视觉算法处理模块中建立有左目摄像机的图像坐标系ol-xlyl、右目摄像机的图像坐标系or-xryr及三维空间立体坐标系o-xyz;其中所述图像坐标系ol-xlyl、图像坐标系or-xryr的建立方法与图像坐标系o′-x′y′的建立方法相同;所述三维空间立体坐标系o-xyz以左目摄像机的投影中心为原点,xyz三坐标轴成右手坐标系,且z轴为双目摄像机对的主光轴方向。
[0014] 选取校正后的左目图像或右目图像中的一幅,以其三个特征点为基准进行俯仰角的计算:以选取校正后的左目图像为例,在三维空间立体坐标系o-xyz下,所述校正后的左目图像中左眼特征点的坐标为 右眼特征点的坐标为 嘴部中点的坐标为 其中所述xal为校正后的左目图像中左眼特征点在图像坐标系ol-xlyl中的横坐标,xar为校正后的右目图像中左眼特征点在图像坐标系or-xryr中的横坐标,xbl为校正后的左目图像中右眼特征点在图像坐标系ol-xlyl中的横坐标,xbr为校正后的右目图像中右眼特征点在图像坐标系or-xryr中的横坐标,xcl为校正后的左目图像中嘴部中点在图像坐标系ol-xlyl中的横坐标,xcr为校正后的右目图像中嘴部中点在图像坐标系or-xryr中的横坐标,T为左目摄像机和右目摄像机投影中心间的距离,f为左目摄像机和右目摄像机的焦距。
[0015] 设校正后的左目图像中左眼特征点与右眼特征点连线的中点为D点,则可获得D点的坐标(xdl,ydl,zdl);则当前头部俯仰角 为:
[0016] 所述视觉算法处理模块将计算得到的头部俯仰角发送给舵机控制模块;所述舵机控制模块获得头部俯仰角后,向俯仰舵机发送
控制信号,俯仰舵机带动显示器俯仰相应角度,使显示器平面平行于使用者面部。
[0017] 当第i次检测后经视觉算法处理模块处理得到的实际侧倾角θi在[-5°,+5°]之间时,将实际侧倾角发送给舵机控制模块,并将当前状态作为初始状态,令θ0=0,然后进入以下工作循环,直至再次出现实际侧倾角在[-5°,+5°]之间的情况;
[0018] (a) 若视觉算法处理模块计算得到的侧倾角 θj在[-15°,-5°)∪(+5°,+15°]范围内时,令当前实际侧倾角θs=θj+θ0,并将实际侧倾角θs发送给舵机控制模块,然后进入步骤(b);
[0019] 若视觉算法处理模块无法完成人脸识别,则向舵机控制模块发送等待指令,侧倾舵机不动作,显示器保持当前姿态不变,然后进入步骤(c);
[0020] 若视觉算法处理模块计算得到的侧倾角θj在[-5°,+5°]之间,则令当前实际侧倾角θs=θj+θ0,并将实际侧倾角θs发送给舵机控制模块,然后进入步骤(c);
[0021] (b)令初始侧倾角θ0=θj+θ0,视觉算法处理模块将下次接收到的头部图像侧倾-θj,然后进行人脸识别、特征点的提取及侧倾角的计算;
[0022] (c)视觉算法处理模块对接收到的头部图像直接进行人脸识别、特征点的提取及侧倾角的计算。
[0023] 所述单目摄像机和双目摄像机对的俯仰角和高度均可调节。
[0024] 有益效果
[0025] (1)该系统能够实时捕捉人体头部的侧倾姿态,并且利用舵机控制模块实现显示器跟随头部姿态的调整其位置,使显示器始终与头部保持最佳视线位置,从而保护视
力等。
[0026] (2)增加双目摄像机对后,使该系统能够实时捕捉人体头部的俯仰姿态,并实现显示器的自动跟随,从而进一步完善其使用性能。
[0027] (3)视觉算法处理模块利用获取的头部图像进行预处理,能够获得更大的人脸识别范围;使对侧倾角度的检测被扩展至[-40°,+40°];且可降低由于头部的下意识摆动而造成的显示器误摆动。
[0028] (4)所述的摄像机高度和俯仰角可调,可以满足不同身高和坐姿的使用者,并获得更大的视角。
附图说明
[0029] 图1为
实施例2所述系统的控制流程
框图;
[0030] 图2为实施例2所述系统的安装示意图;
[0031] 图3为所述脸部特征点分布图;
[0032] 图4为头部正常姿态与侧倾姿态、俯仰姿态对比示意图;
[0033] 图5为建立的三维空间立体坐标系的示意图。
[0034] 其中:1-单目摄像机、2-左目摄像机、3-右目摄像机、4-
支架、5-侧倾舵机、6-俯仰舵机、7-左眼特征点、8-右眼特征点、9-嘴部中点
具体实施方式
[0035] 下面结合附图和实施例,对本发明作进一步的详细说明。
[0036] 为便于描述,在此定义:下面两个实施例中所述的头部轴线为人面部左眼和右眼连线的 中点与嘴部中点的连线(即面部对称线)。在正常坐姿下(上身处于竖直状态)头部轴线垂直于水平面,头部轴线的方向随头部姿态的改变而改变。所述的最佳视线位置是指显示器平面平行于人面部,并且显示器左(右)侧边缘所在直线方向始终平行于人体头部轴线的位置。
[0037] 实施例1:
[0038] 在使用计算机时,使用者最易出现的即为头部的侧倾姿态,从而导致面部偏离最佳视线位置。所述侧倾姿态是指头部左右摆动时使头部轴线偏离竖直位置的姿态,如图4的中图所示。本实施例提供的系统可以使显示器跟随人体头部侧倾姿态的改变实现自动跟随,使显示器始终与头部保持最佳视线位置。
[0039] 该系统包括图像采集模块、视觉算法处理模块和显示器控制模块。其中图像采集模块为
分辨率为640×480的单目摄像机1;视觉算法处理模块由计算机主机及其外围
电路组成;显示器控制模块包括显示器、侧倾舵机5、舵机控制模块及外围电路。其各部分的连接关系为:单目摄像机1通过摄像机支架4安装在显示器后上方,所述单目摄像机1的俯仰角可调,便于进行不同视角的图像获取,即通过改变摄像机的俯仰角度,使不同身高与坐姿的使用者在正常坐姿下其头部始终位于单目摄像机采集图像的中间部分(即保证摄像机能够采集到完整的头部图像);同时所述摄像机支架高度可调,以配合摄像机俯仰角度可调的特性扩展其使用范围。计算机主机通过USB
连接线与单目摄像机相连,通过串口通讯模块与舵机控制模块相连,舵机控制模块控制侧倾舵机运转。所述显示器安装在显示器支架上,同时显示器支架上固定有侧倾舵机,显示器通过连接轴与侧倾舵机相连,用于实现显示器侧倾姿态的调整。
[0040] 该系统的工作原理为:所述图像采集模块通过单目摄像机采集人体头部图像,并通过其内部的标定模块对获取的图像对进行矫正,然后将矫正后的图像发送给视觉算法处理模块;视觉算法处理模块基于主动形状模型(ASM)算法及双目
立体视觉原理提取其接收到的图像中的特征点,并计算出头部侧倾的角度,然后将计算的角度值发送给显示器控制模块;显示器控制模块依据接收到的头部侧倾的角度值,通过控制侧倾舵机改变显示器姿态,使显示器始终与使用者头部保持最佳视线位置。
[0041] 下面结合图1中的单目模式对该系统的工作流程进行详细描述:
[0042] 首次使用该系统前,应先对所述单目摄像机进行标定,获得单目摄像机标定参数。摄像机标定的主要任务是确定表征摄像机内部属性的内部参数及表征切向与径向畸变的畸变参数,利用标定参数可以去除图像畸变。
[0043] (101)使用前,调整单目摄像机的高度和俯仰角,使其适应使用者身高,保证使用者在正常坐姿时,单目摄像机能完整采集其头部图像,并尽量使采集的头部图像处于单目摄像 机所采集图像的中间位置。然后启动单目摄像机,单目摄像机以15
帧/秒的频率采集使用者头部图像,并将所采集的图像实时发送给视觉算法处理模块。
[0044] (102)视觉算法处理模块利用标定好的内部参数与畸变参数对接收到的头部图像进行畸变校正,得到校正后的头部图像。
[0045] (103)面部特征点的提取:
[0046] 由于面部特征点位置不随表情变化而改变,可以被用来表征头部姿态。面部特征点提取前需进行人脸识别,本实施例中,视觉算法处理模块采用现在较为成熟的Viola Jones目标检测器在校正后的头部图像中进行人脸识别。所述Viola Jones目标检测器可以在图像中识别出图4左图所示的人脸(正常姿态的人脸),并且用矩形框选出人脸的位置。面部特征点提取运用了ASM算法,本实施例中获得的面部特征点为左眼特征点7(A点)与右眼特征点8(B点),如图3所示。
[0047] (104)确定头部侧倾角度:
[0048] 为进行侧倾角度的计算,在所述视觉算法处理模块中建立有图像坐标系o′-x′y′。本实施例中所述图像坐标系以单目摄像机成像平面左上角的像素为原点,以水平方向为x轴(向右为正),以竖直方向为y轴(向下为正).由此所述左眼特征点7在图像坐标系o′-x′y′下的坐标为(x′a,y′a),右眼特征点8在图像坐标系o′-x′y′下的坐标为(x′b,y′b);则当前头部侧倾角度即为左眼特征点7与右眼特征点8的连线与y轴的夹角θ:
[0049] (105)视觉算法处理模块通过串口通讯将计算得到的头部侧倾角度发送给舵机控制模块;舵机控制模块获得头部侧倾角度后,向侧倾舵机发送控制信号,侧倾舵机带动显示器侧倾相应角度,使显示器与头部保持最佳视线位置。在本实施例中,当计算得到的侧倾角度为正值时,显示器向左侧倾;当计算得到的侧倾角度为正值时,显示器向右侧倾。
[0050] 但是采用上述流程对于侧倾超过±15°的人脸,识别成功率很低。如果人脸无法识别,即无法获得人脸在图像中的位置,从而就无法运用ASM获取面部特征点,因此,在本实施例中引入一种拓展
人脸检测范围的方法。这种方法针对侧倾姿态的人脸矫正,利用已获得的头部侧倾姿态信息,即侧倾角度θ对图像进行旋转补偿。
[0051] 本实施例中设不加补偿的人脸侧倾角为[-5°,+5°]。若在第i次检测时经视觉算法处理模块处理得到的实际侧倾角θi在[-5°,+5°]之间时,则将实际侧倾角发送给舵机控制模块,将当前状态作为初始状态,令θ0=0,然后进入以下工作循环,直至再次出现实际侧倾角在[-5°,+5°]之间的情况。
[0052] (a) 若视觉算法处理模块计算得到的侧倾角 θj在[-15°,-5°)∪(+5°,+15°]范围内时,令当前实际侧倾角θs=θj+θ0,并将实际侧倾角θs发送给舵机控制模块,然后进入步骤(b);
[0053] 若视觉算法处理模块无法完成人脸识别,则向舵机控制模块发送等待指令,侧倾舵机不动作,显示器保持当前姿态不变,然后进入步骤(c);
[0054] 若视觉算法处理模块计算得到的侧倾角θj在[-5°,+5°]之间,则令当前实际侧倾角θs=θj+θ0,并将实际侧倾角θs发送给舵机控制模块,然后进入步骤(c);
[0055] (b)令初始侧倾角θ0=θj+θ0,视觉算法处理模块将下次接收到的头部图像侧倾-θj,然后进行人脸识别、特征点的提取及侧倾角的计算。
[0056] (c)视觉算法处理模块对接收到的头部图像直接进行人脸识别、特征点的提取及侧倾角的计算。
[0057] 由于总可以找到实际侧倾角在[-5°,+5°]范围的情况,因此,系统工作于上述过程的循环内。测试表明,采用上述方法对侧倾角度的检测可以被扩展至[-40°,+40°],并且可以避免头部快速摆动导致的显示器快速摆动,一般而言,这样的摆动是下意识的,属于本设计要滤除的干扰。
[0058] 实施例2:
[0059] 实际中,头部姿态是侧倾、俯仰与侧旋的耦合,为进一步提高该系统的使用性能,本实施例中增加了俯仰姿态的调整(侧旋姿态在使用计算机时不是常规姿态,在此忽略);即同时考虑侧倾姿态与俯仰姿态,并将这两个
自由度上的姿态进行独立分析。所述俯仰姿态是指头部轴线与计算机平面所成角度不为0的姿态,如图4中的右图所示。
[0060] 基于此,在实施例1所述的系统中增加了俯仰舵机及由左目摄像机2和右目摄像机3形成的双目摄像机对及俯仰舵机。由此形成的自动跟踪头部姿态的智能显示器系统如图2所示,该系统可以使显示器跟随人体头部侧倾与俯仰姿态的改变实现自动跟随,使显示器始终与头部保持最佳视线位置。
[0061] 本实施例中双目摄像机对选用相同的型号,分辨率均为640×480。三个摄像机呈“品”字形摆放,均安装在摄像机支架上,其中双目摄像机对位于单目摄像机下方的左右两边。所述三个摄像机的俯仰角和高度均可调。俯仰舵机安装在显示器支架上,显示器通过另一根连接轴与俯仰舵机相连,用于实现显示器俯仰姿态的调整。计算机主机通过USB连接线与单目摄像机及双目摄像机对相连;同时计算机主机通过串口通讯模块与舵机控制模块相连,舵机控制模块控制侧倾舵机和俯仰舵机运转。
[0062] 本实施例中,依据图像采集方式的不同,具有以下两种工作模式:单目模式工作与双目工作模式。其中,单目工作模式下使用单目摄像机获取头部侧倾姿态并实现显示器随动功能,具体实现方式与实施例1相同。双目工作模式下使用双目摄像机对获取头部俯仰姿态和侧倾姿态并实现显示器随动功能。
[0063] 下面对该系统的双目工作模式进行详细描述。
[0064] 首次使用该系统前,先对所述双目摄像对进行标定,获得其标定参数。所述双目摄像对的标定参数是指利用摄像机标定方法得到的摄像机内部参数、外部参数以及畸变参数。然后利用标定参数可以去除图像畸变。
[0065] (201)调整左目摄像机和右目摄像机的高度和俯仰角,保证两摄像机光轴平行;且使其使其适应使用的身高,保证显示器前使用者在正常坐姿时,左目摄像机和右目摄像机都能够完整采集其头部图像。然后启动双目摄像机对,双目摄像机对同时以15帧/秒的频率采集使用者头部图像,并将同一时刻采集的两幅图像实时发送给视觉算法处理模块。
[0066] (202)视觉算法处理模块利用标定好的内部参数、畸变参数和外部参数对同时接收到的两幅图像进行畸变校正,得到校正后的左目图像和右目图像。
[0067] (203)面部特征点的提取:
[0068] 本实施例中面部特征点的提取采用与实施例1中相同的人脸识别技术与人脸特征点定位技术,区别在于,本实施例中需分别获取校正后的左目图像和右目图像中的3个特征点:左眼特征点A、右眼特征点B和嘴部中点C。
[0069] (204)确定头部侧倾角度俯仰角度:
[0070] 侧倾角度的获取方法与实施例1相同,选择校正后的左目图像和右目图像中的任意一个为基准计算即可。
[0071] 为计算俯仰角度,需在视觉算法处理模块中建立三维空间立体坐标系o-xyz,如图5所示。所述三维空间立体坐标系o-xyz的建立方法为:首先分别建立左目摄像机的图像坐标系ol-xlyl、右目摄像机的图像坐标系or-xryr,建立方法如实施例1中的图像坐标系o′-x′y′。
[0072] 所述三维空间立体坐标系o-xyz以左目摄像机的投影中心为原点,双目摄像机对的主光轴方向为z轴,且xyz三坐标轴成右手坐标系。本实施例中以校正后的左目图像中的三个特征点为基准进行俯仰角的计算。以选取校正后的左目图像为例,在三维空间立体坐标系o-xyz下所述校正后的左目图像中左眼特征点的坐标为 右眼特征点的坐标为 嘴部中点的坐标为 其中所述xal为校正后的
左目图像中左眼特征点在图像坐标系ol-xlyl中的横坐标,xar为校正后的右目图像中左眼特征点在图像坐标系or-xryr中的横坐标,xbl为校正后的左目图像中右眼特征点在图像坐标系ol-xlyl中的横坐标,xbr为校正后的右目图像中右眼特征点在图像坐标系or-xryr中的横坐标,xcl为校正后的左目图像中嘴部中点在图像坐标系ol-xlyl中的横坐标,xcr为校正后的右目图像中嘴部中点在图像坐标系or-xryr中的横坐标,T为左目摄像机和右目摄像机投影中心间的距离,f为左目摄像机和右目摄像机的焦距。
[0073] 则当前俯仰角度的获取方法为:设A点与B点连线的中点为D点,则可获得D点的坐标(xd,yd,zd);头部俯仰角 即为D点与C点的连线与xOy平面的夹角,即当前头部轴线方向与xOy平面的夹角:
[0074] (205)视觉算法处理模块通过串口通讯将头部侧倾角度和头部俯仰角度传至显示器控制模块。显示器控制模块获得头部侧倾角度和俯仰角度后,分别向侧倾舵机及俯仰舵机发送控制信号,侧倾舵机和俯仰舵机带动显示器旋转相应角度,使显示器与头部保持最佳视线位置。
[0075] 对俯仰角不用进行补偿调整,侧倾角调整同单目模式,只是两幅图像同时旋转即可。
[0076] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。