仿生眼定位追踪系统及其工作方法

文档序号:10673907阅读:497来源:国知局
仿生眼定位追踪系统及其工作方法
【专利摘要】本发明公开了一种仿生眼定位追踪系统及其工作方法,所述的系统主要由仿生眼云台模块、声音采集传感器阵列、摄像头模块、云台运动控制模块、控制器模块和上位机模块六部分组成。本发明通过上述各系统将三维空间声源定位技术、视觉处理算法与自动控制技术相结合,可以实现一种仿生眼定位追踪系统与工作方法,使得仿生眼能够实时朝向说话人脸部轮廓的中心,可以让仿生装置在与人交流互动时,显得更加生动、活泼和友好,增添更多的趣味性。
【专利说明】
仿生眼定位追踪系统及其工作方法
技术领域
[0001] 本发明涉及各种仿生眼对目标的定位追踪系统和工作方法,尤其涉及将仿生眼的 双眼注视到说话人脸的仿生眼定位追踪系统和工作方法。
【背景技术】
[0002] 目前,各种仿生机器人(如,仿人形、仿动物形等)对周围环境的感知系统,主要通 过仿生眼和仿生耳来获取外界信息。
[0003] 其中,在仿生眼的设计中,主要通过安装两个摄像头充当仿生眼来获取视频信息, 对仿生眼整体结构建立数学模型,应用视觉处理的一些算法,实现对目标物体的三维信息 计算和人脸识别等。与此相关的技术已经比较成熟,并且被广泛应用到工业、军事、医疗等 诸多领域。
[0004] 但是,现有的充当仿生眼的摄像头或者固定安装在某位置上,或者能通过人的操 控进行方向调整,一般无法实现仿生眼与当前说话人的自动对视与跟踪,缺乏生动与友好 交流效果。
[0005] 在类似于仿生耳的声源定位技术中,已存在应用麦克风等声音信号采集装置来实 现声源定位的应用,该技术为本领域的公知技术,如,下述文献:郑珍珍,冯华君,沈常宇等. 基于坐标系变换的三维声源定位算法[J].浙江大学学报,2008,42(2) :341-343(下简称文 献1),其中就提到了一种基于声达时间差(TDOA)的声源定位技术,并给出了一种基于坐标 系变换的三维声源定位算法。
[0006] 但是,现有的声源定位方法只是依赖于麦克风等声音信号采集装置来收集信号, 信息来源单一、稳定性低、误差大,在声源信号受到外界因素干扰时,这种声源定位方法无 法实现对说话人的精准定位。
[0007] 在展览或公开场合,在众人围观情形下,如何将仿生眼的两个摄像头能生动、准确 地注视到说话人的脸上,并能自动跟随说话人的移动而转动双眼(两个摄像头),让对话人 的脸能够实时处在摄像头采集到的图像中心,目前尚无此类技术与方法的研究。

【发明内容】

[0008] 为了解决现有仿生眼无法实现自动注视与跟踪说话人脸的技术缺陷,本发明基于 仿生眼和仿生耳的现有技术,提供一种仿生眼定位追踪系统,以实现将仿生眼的两个摄像 头自动注视并跟踪到说话人脸。
[0009] 本发明同时提供这种定位追踪系统的工作方法。
[0010] 为达上述目的,本发明的仿生眼定位追踪系统主要由以下六部分组成:仿生眼云 台模块、声音采集传感器阵列、摄像头模块、云台运动控制模块、控制器模块、上位机模块; 其中:
[0011]所述的仿生眼云台模块包括:一个云台底座、一个搭载平台和左右两个子云台,其 中,云台底座与搭载平台之间通过一个水平旋转关节相连,通过搭载平台在云台底座上的 水平转动来模仿仿生机器人的颈部转动;在搭载平台上安装有左右两个子云台,左右两个 子云台分别各有一个水平旋转架和一个俯仰旋转架,这样,每个子云台都具有水平旋转和 俯仰旋转两个转动关节,两个摄像头分别安装在左右两个子云台中间的俯仰旋转架上,充 当仿生眼的眼睛,通过左右两个子云台各自的水平旋转和俯仰旋转关节的转动,可以分别 调整安装在左右两个子云台上的摄像头指向,来模仿眼睛的转动,这样的仿生眼云台模块 总共有五个运动自由度,在搭载平台上的正中位置,绑定一个可随搭载平台水平转动的颈 部坐标系。
[0012] 所述的声音采集传感器阵列在本系统中充当仿生耳,将四个特性相同的麦克风, 以仿生眼云台底座支点为中心,按正四面体的空间几何关系安装在云台底座中心周围,并 将云台底座支点中心作为仿生眼云台基础坐标系的原点,这样,通过采集到的声音信号及 声源定位算法(可参照【背景技术】中提到的文献1等提到的声源定位方法),得到说话人嘴部 相对于基础坐标系的三维坐标值。
[0013] 所述的摄像头模块由两个独立的摄像头组成,分别安装在左右两个子云台中间的 俯仰旋转架上,在本系统中充当仿生眼的双眼,用来获取视频信息,并将视频数据传给上位 机模块。
[0014] 所述的云台运动控制模块包括:分别安装在左右两个子云台上的水平旋转驱动电 机和俯仰旋转驱动电机、一个搭载平台的水平旋转驱动电机、数据传输模块。云台运动控制 模块根据接收到的控制器模块输出的各个驱动电机转动信号来控制相应关节的驱动电机 进行转动。
[0015] 所述的控制器模块,一方面采集声音采集传感器阵列的输出信号,运行声源定位 算法,获得说话人嘴部相对于云台基础坐标系的三维坐标值,并将该说话人嘴部的三维坐 标传给上位机模块;另一方面接收上位机模块发出的控制指令和数据信息,来控制各个驱 动电机转动相应角度,同时也向上位机模块返回系统的运动状态。
[0016] 所述的上位机模块包括:仿生眼云台的眼睛水平转角<^和扮的求解运算程序、对搭 载平台水平旋转转角Θ的求解运算程序、仿生眼云台模块左右两个子云台关节空间的求解 运算程序、视觉处理算法程序、与控制器的通信程序。
[0017] 本发明的工作方法主要包含如下步骤:
[0018] 步骤一、系统初始化:系统上电,声音采集传感器阵列进入工作状态,上位机模块 显示摄像头模块获取的视频图像,控制器模块控制所有驱动电机复位到初始角度。
[0019] 步骤二、声源定位:控制器模块读取声音采集传感器阵列采集的声音数据,并运行 声源定位算法得到说话人嘴部相对于云台基础坐标系的三维坐标值,将该坐标值传给上位 机模块。
[0020] 步骤三、眼睛水平转角求解:即对仿生眼云台模块左右两个子云台各自水平转角 的求解。
[0021] 上位机模块根据说话人嘴部相对于云台基础坐标系的三维坐标值,折算成说话人 嘴部相对于颈部坐标系的三维坐标值,在当前颈部未旋转状态下,来求解两个眼睛分别转 向说话人嘴部时所需的水平转角;若其中任意一个的水平转角超过±30度(设定范围),这 时需要对颈部进行旋转调整,则转向步骤四;若求解出来的两个眼睛的水平旋转角都未超 过±30度(设定范围),这时不需要对颈部进行旋转调整,则转向步骤五。
[0022] 步骤四、对颈部关节进行旋转调整:即对搭载平台水平旋转转角的求解。
[0023] 上位机模块先根据说话人嘴部相对于颈部坐标系的三维坐标值,以满足搭载平台 转向正直面向说话人嘴部为条件,反解出颈部所需的水平旋转角,上位机模块将颈部的水 平旋转角发给控制器模块,由控制器模块控制颈部水平旋转驱动电机转动相应角度,实现 搭载平台转向正直面对说话人嘴部方向,这样,颈部坐标系也转向正直面对说话人嘴部方 向,然后转向步骤五,再相对当前颈部坐标系来进行仿生眼云台模块左右两个子云台的关 节空间求解运算,以使得两个眼睛分别转向说话人嘴部方向。
[0024]步骤五、仿生眼云台模块左右两个子云台关节空间求解:上位机模块根据说话人 嘴部相对当前颈部坐标系的关系来进行仿生眼云台模块左右两个子云台关节空间求解运 算,分别反解出左右两个子云台的俯仰旋转驱动电机、水平旋转驱动电机应当旋转的角度 信息,然后发给控制器模块,由控制器模块控制左右两个子云台各自的俯仰旋转驱动电机、 水平旋转驱动电机转动相应角度,以实现仿生眼的双眼初步对向说话人的嘴部。
[0025]至此,完成了将两个摄像头(眼睛)初步对准说话人嘴部的过程。
[0026]步骤六、眼睛方向修正:即对仿生眼云台模块左右两个子云台各个旋转关节转角 的修正。上位机模块运行人脸识别算法,来获取说话人脸部矩形外围轮廓并求取其中心位 置在视频图像坐标系中的二维坐标值,根据该二维坐标值与视频图像中心位置的偏移量, 分别求出左右两个子云台的俯仰旋转驱动电机、水平旋转驱动电机旋转角度的修正值,然 后将上述旋转角度修正值再次发给控制器模块,由控制器模块控制左右两个子云台各自的 俯仰旋转驱动电机、水平旋转驱动电机微调相应角度,以实现对仿生眼两个眼睛分别精准 朝向说话人的脸部轮廓中心方向,使得说话人脸部矩形轮廓中心出现在摄像头识别的视频 图像中心。
[0027]步骤七、若控制器模块检测到新的说话人出现时,则循环执行步骤二、步骤三、步 骤四、步骤五、步骤六,对新出现的说话人脸进行实时跟踪;若没有新的说话人出现,则循环 执行步骤六,使得眼睛的相应自由度根据当前说话人脸位置的移动而调整。
[0028] 步骤八、检测整个系统是否需要继续工作,若是,则转向步骤七,判断是否有新的 说话人出现,若否,则退出工作关机。
[0029] 下面结合工作原理说明本发明的优点:
[0030] 本发明将充当仿生眼的两个摄像头安装在一个具有五自由度的云台上;通过三维 空间声源定位技术,实现对说话人嘴部位置的初步三维定位;根据对云台关节空间的求解 运算方法,得到并转动云台各个关节的相应转角,将仿生眼盯到初步定位的方向;结合人脸 识别方法,找出说话人脸部轮廓中心的准确方位,并微调云台相关关节的转角,以将说话人 的脸部轮廓移至充当仿生眼的两个摄像头采集的图像中心为止;当说话人走动时,仿生眼 将跟随该说话人脸的位置变化而自动转动调整,以保证说话人的脸部能实时处在摄像头采 集的图像中心;直至另一个人再开口说话时,仿生眼才会再次按照前述的工作过程,重新注 视新的说话人脸。
[0031] 总之:本发明将三维空间声源定位技术、视觉处理算法与自动控制技术相结合,可 以实现一种仿生眼定位追踪系统与工作方法,使得仿生眼能够实时朝向说话人脸部轮廓的 中心,可以让仿生装置在与人交流互动时,显得更加生动、活泼和友好,增添更多的趣味性。
【附图说明】
[0032] 图1为仿生眼定位追踪系统总体关系框图;
[0033] 图2为仿生眼定位追踪系统总体结构示意图;
[0034]图3为仿生眼云台模块结构示意图;
[0035]图4为云台运动控制模块结构示意图;
[0036]图5说话人脸部轮廓中心与两个摄像头图像坐标系之间的空间关系示意图;
[0037]图6为初始位置时的各坐标系关系不意图;
[0038]图7为仿生眼定位追踪系统工作流程图。
[0039]图例说明:
[0040]图1:100-声音采集传感器阵列;200-摄像头模块;300-仿生眼云台模块;400-云台 运动控制模块;500-控制器模块;600-上位机模块;
[00411图2:100-声音采集传感器阵列;101-1号麦克风;102-2号麦克风;103-3号麦克风; 104-4号麦克风;200-摄像头模块;201-左摄像头;202-右摄像头;300-仿生眼云台模块; [0042] 图3:301-云台底座;302-搭载平台;303-左子云台;304-右子云台;305-左子云台 的水平旋转架;306-左子云台的俯仰旋转架;307-右子云台的水平旋转架;308-右子云台的 俯仰旋转架;
[0043]图4:401-搭载平台的水平旋转驱动电机;402-左子云台的水平旋转驱动电机; 403-左子云台的俯仰旋转驱动电机;404-右子云台的水平旋转驱动电机;405-右子云台的 俯仰旋转驱动电机。
【具体实施方式】
[0044] 下面结合附图,说明本发明的仿生眼定位追踪系统与工作方法。
[0045] 本发明的仿生眼定位追踪系统主要由以下六个部分组成:声音采集传感器阵列 100、摄像头模块200、仿生眼云台模块300、云台运动控制模块400、控制器模块500、上位机 模块600;如图1所示,其中:
[0046] 所述的声音采集传感器阵列100在本系统中充当仿生耳,分别将1号麦克风101、2 号麦克风1〇2、3号麦克风103、4号麦克风104,如图2所示,以仿生眼云台底座301支点为中 心,按照正四面体的空间几何关系安装在云台底座中心周围,并将云台底座301支点中心作 为仿生眼云台基础坐标系Oo的原点,如图6所示,这样,通过采集到的声音信号及声源定位 算法,可得到说话人嘴部相对于基础坐标系的三维坐标值。
[0047]所述的摄像头模块200由左摄像头201和右摄像头202组成,如图2所示,将左摄像 头201安装在左子云台303的俯仰旋转架306上,将右摄像头201安装在右子云台304的俯仰 旋转架308上,在本系统中充当仿生眼的双眼,用来获取视频信息,并将视频数据传给上位 机模块600。
[0048]所述的仿生眼云台模块300包括:一个云台底座301、一个搭载平台302、左子云台 303、右子云台304,如图3所示,其中,云台底座301与搭载平台302之间通过一个水平旋转关 节相连,通过搭载平台在云台底座301上的水平转动来模仿仿生机器人的颈部转动;在搭载 平台302上安装有左子云台303和右子云台304,左子云台303有一个水平旋转架305和一个 俯仰旋转架306,右子云台304有一个水平旋转架307和一个俯仰旋转架308,这样,每个子云 台都具有水平旋转和俯仰旋转两个转动关节,两个摄像头分别安装在左右两个子云台中间 的俯仰旋转架上,充当仿生眼的眼睛,通过左右两个子云台各自的水平旋转和俯仰旋转关 节的转动,可以分别调整安装在左右两个子云台上的摄像头指向,来模仿眼睛的转动,这样 的仿生眼云台模块300总共有五个运动自由度,而且在搭载平台302的正中位置,绑定一个 可随搭载平台302水平转动而转动的颈部坐标系O 1,如图6所示。
[0049]所述的云台运动控制模块400包括:安装在左子云台303上的水平旋转驱动电机 402和俯仰旋转驱动电机403、安装在右子云台304上的水平旋转驱动电机404和俯仰旋转驱 动电机405、一个搭载平台302的水平旋转驱动电机401、数据传输模块406,如图4所示,云台 运动控制模块400根据接收到的控制器模块500输出的各个驱动电机转动信号来控制相应 关节的驱动电机进行转动。
[0050]所述的控制器模块500, 一方面米集声音米集传感器阵列100的输出信号,运行声 源定位算法,获得说话人嘴部相对于云台基础坐标系Oo的三维坐标值,并将该说话人的三 维坐标传给上位机模块600,如图i所示;另一方面接收上位机模块 600发出的控制指令和数 据信息,来控制各个驱动电机转动相应角度,同时也向上位机模块600返回系统的运动状 ??τ O
[0051]所述的上位机模块600包括:仿生眼云台的眼睛水平转角的求解运算程序、 对搭载平台302水平旋转转角Θ的求解运算程序、仿生眼云台模块左右两个子云台关节空间 的求解运算程序、视觉处理算法程序、与控制器500的通信程序。
[0052]本发明实现仿生眼对说话人脸的跟踪定位具体工作方法主要包含如下步骤:
[0053]步骤一、系统初始化:系统上电,声音采集传感器阵列100进入工作状态,上位机模 块600显示摄像头模块200获取的视频图像,控制器模块500控制安装在左子云台303上的水 平旋转驱动电机402和俯仰旋转驱动电机403、安装在右子云台304上的水平旋转驱动电机 404和俯仰旋转驱动电机405、一个搭载平台302上的水平旋转驱动电机401复位到初始角 度。
[0054]步骤二、声源定位:控制器模块500读取声音采集传感器阵列100采集的数据,并运 行声源定位算法得到说话人嘴部相对于云台基础坐标系Oo的三维坐标值,将该坐标值传给 上位机模块600。
[0055]步骤三、眼睛水平转角求解:即对仿生眼云台模块300左右两个子云台各自水平转 角(^和杉:的求解。
[0056]上位机模块600根据说话人嘴部相对于云台基础坐标系Oo的三维坐标值,折算成 说话人嘴部相对于颈部坐标系O1的三维坐标值,在当前搭载平台302未旋转状态下,来求解 左摄像头201和右摄像头202分别转向说话人嘴部时左子云台303水平旋转驱动电机的转角 度^和右子云台304水平旋转驱动电机的转角度扮,若其中任意一个的水平转角超过±30° (设定范围),这时需要对搭载平台302颈部进行旋转调整,则转向步骤四;若求解出来的左 子云台303水平旋转驱动电机的转角度Q 1和右子云台304水平旋转驱动电机的转角度扮都未 超过±30° (设定范围),这时不需要对搭载平台302进行旋转调整,则转向步骤五。
[0057]步骤四、对颈部关节进行旋转调整:即对搭载平台302水平旋转转角Θ的求解。
[0058]上位机模块600先根据说话人嘴部相对于颈部坐标系O1的三维坐标值,以满足搭 载平台302转向正直面向说话人嘴部为条件,反解出搭载平台302颈部所需的水平旋转角θ。 上位机模块600将搭载平台302颈部所需的水平旋转角Θ发给控制器模块500,由控制器模块 500控制搭载平台302的水平旋转驱动电机401转动相应角度Θ,实现搭载平台302转向正直 面对说话人嘴部方向,这样,颈部坐标系轴也转向正直面对说话人嘴部方向,然后转 向步骤五,再相对当前颈部坐标系O 1来进行仿生眼云台模块左右两个子云台的关节空间求 解运算,以使得左摄像头201和右摄像头202分别转向说话人嘴部方向 [0059] 步骤五、仿生眼云台模块300左右两个子云台关节空间求解:上位机模块600根据 说话人嘴部相对当前颈部坐标系O1的关系来进行仿生眼云台模块左右两个子云台的关节 空间求解运算,分别反解出左子云台303的水平旋转驱动电机402和俯仰旋转驱动电机403 的旋转角度^、吧,右子云台304的水平旋转驱动电机404和俯仰旋转驱动电机405的旋转角 度βι、&,然后发给控制器模块500,由控制器模块500控制左子云台303的水平旋转驱动电机 402和俯仰旋转驱动电机403、右子云台304的水平旋转驱动电机404和俯仰旋转驱动电机 405转动相应角度,以实现仿生眼的左摄像头201和右摄像头202初步对向说话人的嘴部。
[0060] 至此,完成了将两个摄像头(眼睛)初步对准说话人嘴部的过程。
[0061] 步骤六、眼睛方向修正:即对仿生眼云台模块左右两个子云台各个旋转关节转角 的修正。
[0062] 上位机模块600运行人脸识别算法,来获取说话人脸部矩形外围轮廓并求取其中 心位置在左摄像头201的视频图像坐标系Oi-XiYi和右摄像头202的视频图像坐标系O r-XrYr 中的二维坐标值(Χι,Υι)和(Xr,Yr),如图5所示,设图像宽度为W,高度为Η,根据该二维坐标 值与视频图像中心位置(W/2,H/2)的偏移量,分别求出左子云台303的水平旋转驱动电机 402旋转角度^的修正值△ Ct1和俯仰旋转驱动电机403旋转角度<12的修正值△ a2,以及右子 云台304的水平旋转驱动电机404旋转角度仏的修正值△扮和俯仰旋转驱动电机405旋转角 度说的修正值△ β2,然后将上述旋转角度修正值再次发给控制器模块500,由控制器模块500 控制左子云台303的水平旋转驱动电机402和俯仰旋转驱动电机403、右子云台304的水平旋 转驱动电机404和俯仰旋转驱动电机405微调相应角度,以实现仿生眼的左摄像头201和右 摄像头201分别精准朝向说话人脸部矩形轮廓中心方向,使得说话人脸部矩形外围轮廓中 心出现在摄像头识别的视频图像中心。
[0063]步骤七、若控制器模块500检测到有新的说话人出现时,则循环执行步骤二、步骤 三、步骤四、步骤五、步骤六,对新出现的说话人脸进行实时跟踪;若没有新的说话人出现, 则循环执行步骤六,使得眼睛的相应自由度根据当前说话人脸位置的移动而调整。
[0064]步骤八、检测整个系统是否需要继续工作,若是,则转向步骤七,判断是否有新的 说话人出现,若否,则退出工作关机。
[0065]本发明工作方法中:步骤三中提到的眼睛水平转角求解的具体算法、步骤四中提 到的对颈部进行旋转调整的计算方法、步骤五中提到的仿生眼云台模块左右两个子云台关 节空间求解方法均为本领域常用技术。为了便于审查员理解,下面分别详述。
[0066]本发明描述所涉及的所有角度单位均取为:度,所有长度单位均取为:毫米(mm)。 [0067]在上述步骤三中提到的眼睛水平转角求解的具体算法包含如下步骤:
[0068]步骤3.1、如图6所示,在仿生眼云台模块300上分别建立固定的云台基础坐标系 Oo-XqYqZo,水平转动的颈部坐标系O1-X1Y1Z1,左子云台303基础坐标系O 2-X2Y2Z2,左子云台 303水平旋转坐标系O3-X3Y3Z3,303左子云台俯仰旋转坐标系〇4_Χ 4Υ4Ζ4,右子云台304基础坐 标系O5-K5Y5Z5坐标系,右子云台304水平旋转坐标系〇6~K6Y6Z6,右子云台304俯仰旋转坐标系 Ο7-Χ7Υ7Ζ7,分别简称为 〇0、〇1、〇2、〇4、〇5、〇6、〇7坐标系,其中:
[0069] Oo坐标系建在仿生眼云台底座301支点中心,经声源定位算法获得说话人嘴部的 三维坐标值是在该坐标系下的表述,为整个仿生眼云台的基础坐标系;
[0070] O1坐标系建在搭载平台302上面的中心处,与搭载平台302绑定一起,相当于颈部 坐标系,O 1坐标系跟随搭载平台302的水平转动而转动,其转角用Θ表示;
[0071] O2坐标系建在左子云台303的水平旋转关节轴线的底端中心平面上,与搭载平台 302绑定一起,为左子云台303基础坐标系;
[0072] O3坐标系其原点正好建在左子云台303的水平旋转关节轴线的正上方,且与俯仰 关节轴线等高,〇3坐标系端正地绑定在左子云台303水平旋转架305上,随着左子云台303的 水平旋转架305的水平转动而转动,其转角用Ct1表示;
[0073] 〇4坐标系原点与O3坐标系原点重合,O4坐标系端正地绑定在左子云台303俯仰旋转 架306上,随着左子云台303俯仰旋转架306的俯仰转动而转动,因为〇4坐标系的X4轴正方向 正好与固定在俯仰旋转架306上的左摄像头201的光轴重合,如图5所示,故,〇4坐标系也称 为左摄像头201坐标系,左摄像头201将会随着左子云台303水平旋转架305及俯仰旋转架 306的转动而转动,〇4坐标系随左子云台303俯仰旋转架306俯仰的转角用α2表示;
[0074] O5坐标系建在右子云台304的水平旋转关节轴线的底端中心平面上,与搭载平台 302绑定一起,为右子云台304基础坐标系;
[0075] O6坐标系其原点正好建在右子云台304的水平旋转关节轴线的正上方,且与俯仰 关节轴线等高,O6坐标系端正地绑定在右子云台水平旋转架307上,随着右子云台304水平 旋转架307的水平转动而转动,其转角用扮表示;
[0076] 〇7坐标系原点与O6坐标系原点重合,0?坐标系端正地绑定在右子云台304俯仰旋转 架308上,随着右子云台304俯仰旋转架308的俯仰转动而转动,因为〇7坐标系的X7轴正方向 正好与固定在俯仰旋转架308上的右摄像头201的光轴重合,故,〇7坐标系也称为右摄像头 坐标系,右摄像201头将会随着右子云台304水平旋转架307及俯仰旋转架308的转动而转 动,O 7坐标系随右子云台304俯仰旋转架308俯仰的转角用β2表示;
[0077]步骤3.2、空间相对关系描述:
[0078]如图6所示,将颈部坐标系&相对于云台基础坐标系Oo的平动和水平旋转关系用矩 阵Ao描述,将O2坐标系相对于O1坐标系的平动关系用矩阵A1描述,将O 3坐标系相对于O2坐标 系的平动和水平旋转关系用矩阵A2描述,将O 4坐标系相对于O3坐标系的俯仰旋转关系用矩 阵A3描述,将O 5坐标系相对于O1坐标系的平动关系用矩阵A4描述,将O6坐标系相对于O 5坐标 系的平动和水平旋转关系用矩阵A5描述,将〇7坐标系相对于O6坐标系的俯仰旋转关系用矩 阵A 6描述,将说话人嘴部相对于云台基础坐标系Oo的矢量关系用矩阵P描述,将说话人嘴部 相对于左摄像头坐标系〇4的矢量关系用矩阵Pl描述,将说话人的嘴部相对于右摄像头坐标 系0?的矢量关系用矩阵Pr描述;
[0079]根据上述坐标系的空间关系描述可分别表示为如下系列矩阵:
[0080]
[0081]
[0082]
[0083]
[0084]
[0085] 矩阵中=Pz1SO1坐标系原点相对于Oo坐标系原点的高度,为已知;Py为颈部坐标系 (^原点与左右两个子云台基础坐标系原点之间的距离,为已知;Pz 2为O3坐标系原点相对于 坐标系原点和〇6坐标系原点相对于%坐标系原点的高度,为已知;
[0086] Θ为O1坐标系相对于〇Q坐标系的水平旋转角度,也是颈部水平旋转驱动电机401的 转角度,从上方看,逆时针为正,顺时针为负,可随时读取,为已知量;
[0087] Ct1SO3坐标系相对于O2坐标系的水平旋转角度,也是左子云台水平旋转驱动电机 402的转角度,该转角充当左眼的水平转动,从上方看,逆时针为正,顺时针为负,是需求解 量;
[0088] ~为叫坐标系相对于O3坐标系的俯仰旋转角度,也是左子云台俯仰旋转驱动电机 403的转角度,该转角充当左眼的俯仰转动,从侧面看,下俯为正,上仰为负,是需求解量; [0089]仇为0 6坐标系相对于O5坐标系的水平旋转角度,也是右子云台水平旋转驱动电机 404的转角度,该转角充当右眼的水平转动,从上方看,逆时针为正,顺时针为负,是需求解 量;
[0090] 扮为07坐标系相对于O6坐标系的俯仰旋转角度,也是右子云台俯仰旋转驱动电机 405的转角度,该转角充当右眼的俯仰转动,从侧面看,下俯为正,上仰为负,是需求解量;
[0091] X、Y、Z为说话人嘴部的三维坐标值,经控制器模块500运行声源定位算法实时获 得,在此处计算时作为已知量;
[0092]当左右两个子云台面向正前方时,左右两个子云台的水平旋转角分别为:(^ = 0°、 βι = 〇° ;
[0093] 当左摄像头201正对声源目标时,必有Yl = 0,Zl = 0,Xl是需求解量;
[0094] 当右摄像头202正对声源目标时,必有Yr = 0,Zr = 0,Xr是需求解量;
[0095] 步骤3.3、在颈部未旋转的情况下,进行仿生眼云台左子云台303水平旋转驱动电 机的转角度Q1和右子云台304水平旋转驱动电机的转角度扮求解运算:
[0096]根据上述各个坐标系间的空间关系,可以将说话人嘴部相对于云台基础坐标系的 三维坐标值的矢量描述P与左摄像头201、右摄像头202坐标系的X轴正直朝向说话人嘴部时 的矢量描述Pl、Pr建立如下关系式:
[0097]
(11)
[0098]此时,只需计算左右两个子云台所需的水平旋转角度<^与扮,通过前述各公式及已 知条件可以推导获得:
[0099]
(12)
[0100] 这样,在颈部关节未旋转的情况下(θ = 0°),求解得到了眼睛看向说话人嘴部位置 时,左右两个子云台所需的水平旋转角度<^与扮,即得到了左子云台303水平旋转驱动电机 的转角度α 1和右子云台304水平旋转驱动电机的转角度扮。
[0101] 在上述步骤四中提到的对颈部进行旋转调整的计算方法为:
[0102] 若将颈部关节旋转调整好后,颈部坐标系O1应该正直朝向说话人嘴部,设调整后 说话人的嘴部相对颈部坐标系O 1的矢量关系用矩阵P1描述,设调整后O1颈部坐标系相对于 云台基础坐标系Oo的平动和水平旋转关系用B描述,则可将它们写成下列矩阵:
[0103]
(14)矩阵中: (X1,Y1,Z1)为说话人嘴部在颈部坐标系O1中的坐标表述,当颈部坐标系⑴的心轴正直朝向说 话人嘴部时Yi = O,是定值,Xi、Z1是需求解量;Θ为颈部水平旋转驱动电机401的旋转角度,从 上方看,逆时针为正,顺时针为负,是需求解量;Pz 1为坐标系相对Oo坐标系的高度,可测量得 到,为已知量;
[0104] 根据上述各个坐标系间的空间关系,可以将说话人嘴部相对于云台基础坐标系O0 的三维坐标值的矢量描述P与相对于调整后颈部坐标系〇1的矢量描述丹建立如下关系式:
[0105] P = B · Pi (15)
[0106] 将(8)式及已知条件代入(15)式可推导获得:
[0107]
(16)
[0108]上述所求的仿生眼颈部关节水平旋转角度Θ,即为,若使搭载平台302正对向说话 人的嘴部方向,搭载平台302所需得旋转角度,也是颈部水平旋转驱动电机401所需的转动 角度Θ。
[0109]在上述步骤五中提到的,仿生眼云台模块左右两个子云台关节空间求解方法为: [0110]此时,颈部关节无需作旋转调整,根据前述建立的各个坐标系间的关系描述公式 (I)-(IO),当左右两个摄像头都对准同一个说话人的嘴部位置时,同样应有公式(11)。 由前述各公式及已知条件可以推导获得:
[0112]
(17)
[0113] 上述求解左右子云台相应自由度的旋转角度〇1、〇2、仇、02的过程,即为反解左子云 台303的水平旋转驱动电机402旋转角度^和俯仰旋转驱动电机403旋转角度<1 2,右子云台 304的水平旋转驱动电机404的旋转角度仇和俯仰旋转驱动电机405的旋转角度扮的计算过 程,其中,Xl是左摄像头201的光心到说话人嘴部之间的距离,Xr是右摄像头光心到说话人嘴 部之间的距离。
[0114] 本发明步骤六所提的眼睛方向修正值的计算方法步骤如下:以下所有角度单位均 取为:度(° ),所有与视频图像相关的参数单位均取为:像素;
[0115] 步骤6.1、上位机模块600读取并显示仿生眼的左摄像头201和右摄像头202获取的 视频图像,设图像宽度为W,高度为H;
[0116] 步骤6.2、上位机模块600运行人脸识别算法,分别在左摄像头201、右摄像头202识 别的视频图像中,计算出说话人脸矩形外围轮廓中心位置在左摄像头201的视频图像坐标 系Oi-XiYi和右摄像头201的视频图像坐标系O r-XrYr中的二维坐标值:(Xi,Yi )、(Xr,Yr),如图 5所示。
[0117] 步骤6.3、取左摄像头201的视频图像坐标系Oi-XiYi和右摄像头201的视频图像坐 标系Or-XrYr的中心位置坐标值均为:(W/2,H/2),则在左摄像头201识别的视频图像中,说话 人脸部中心位置的二维坐标值(Χι,Υι)与视频图像中心位置的二维坐标值(W/2,H/2)偏移量 为:
[0118] .(IS)
[0119] 在右摄像头201识别的视频图像中,说话人脸部中心位置的二维坐标值(Xr,Yr)与 视频图像中心位置的二维坐标值(W/2,H/2)偏移量为:
[0120]
(19)
[0121] 步骤6.4、根据偏移量求取双眼相应自由度旋转角度修正值:
[0122] 左眼水平旋转自由度旋转角修正值:Δ aparctanC Δ Xi/length); (20)
[0123] 左眼俯仰旋转自由度旋转角修正值:Δ a2 = arctan( Δ Yi/length); (21)
[0124] 右眼水平旋转自由度旋转角修正值:Δ Pparctar^ Δ Xr/length); (22)
[0125] 右眼俯仰旋转自由度旋转角修正值:Δ 02 = arctan( Δ Yr/length); (23)
[0126] 其中,length为摄像头的焦距参数,根据摄像头的实际参数来设定;旋转角修正值 Δ αι、Δ a〗、Δ βι、Δ 02中均包含正、负号两种情况。
[0127] 相应驱动电机旋转上述修正角后,可将说话人脸部矩形外围轮廓调整到图像的中 心位置。
[0128] 下面列举两个实施例进一步说明本发明在实际中的应用
[0129] 实施例:
[0130] 实施例1:仿生眼云台结构设计参数为:PzI = 150mm,PZ2 = 120mm,Pyi = 120mm,假设 由控制器模块500运行声源定位算法得到说话人嘴部相对于云台基础坐标系Oo的三维坐标 值P=[6000 2000 3000 1]τ;首先,根据本发明步骤三中公式(12)式及已知条件得:
[0131] αι = 17.398〇 ,βι = 19.461〇
[0132] 两个角度值均在±30°以内,这时不需要对搭载平台302颈部进行旋转调整;
[0133] 然后,根据本发明步骤五,将已知条件代入公式(17)得:
[0134] αι = 17.398〇 ,α2 = -23.472〇 ,Xl = 6854.7mm,0i = 19.461° ,β2 = -23.2214° ,Xr = 6924.4mm;
[0135] 如果将上述计算结果及已知条件带回公式(11)进行验证,可以得出说话人嘴部相 对于云台基础坐标系Oo的三维坐标值:
[0136] 'Ρ=[6000.1 1999.7 2999.8 1]τ
[0137] 可知'Ρ~Ρ,且误差在允许范围内,验证了本发明角度求解方法的正确性。
[0138] 最后,根据本发明步骤六,说话人脸矩形外围轮廓中心位置在左摄像头201的视频 图像坐标系Oi-XiYi和右摄像头201的视频图像坐标系O r-XrYr中的二维坐标值分别为:(520, 100)、(130,110),与视频图像中心位置的二维坐标值(320,240)偏移量分别为:
[0139]
[0140]摄像头焦距参数取为:length = 3000,将上述条件带入公式(20)-(23)得出各个旋 转角修正值:
[0141] Δαι = 3.81〇 ^ Δα2 = -2.61° ^ Δβι = -3.62〇 ^ Δβ2 = -2.48°
[0142] 相应驱动电机旋转上述修正角后,可将说话人脸部矩形外围轮廓调整到图像的中 心位置。
[0?43] 实施例2:仿生眼云台结构设计参数为:PzI = 150mm,PZ2 = 120mm,Pyi = 120mm,假设 由控制器模块500运行声源定位算法得到说话人嘴部相对于云台基础坐标系Oo的三维坐标 值P=[3000 3000 3000 1]τ;根据本发明步骤三中(12)式及已知条件得:
[0144] αι = 43·834。、βι = 46·1267。,
[0145] 可见,它们均超出了 ±30°范围,根据本发明步骤四,首先要对搭载平台302颈部进 行旋转调整,将已知条件代入(16)式可求得:θ = 45.0033°,控制搭载平台302旋转角度Θ = 45.0033°后,使搭载平台302正对向说话人的嘴部方向;然后,相对当前颈部坐标系O1来进 行步骤五运算,将P=[3000 3000 3000 1]τ,θ = 45.0033°及其它已知条件代入公式(17), 得:(^ = -1.6204°,α2 = -32·7519。,XL = 5O46.5mm,0i = 1.62O4。,β2 = -32·7519。,Xr = 5046.5mm,此时,CX1 =-1.6204°、βι = 1.6204°,均在±30°以内;如果将上述计算结果及已知 条件带回公式(I 1)进行验证,可以得出说话人嘴部相对于云台基础坐标系Oo的三维坐标值 为:
[0146] 'Ρ=[3000.1 2999.8 2999.9 1]τ
[0147] 可知'Ρ~Ρ,且误差在允许范围内,验证了本发明角度求解方法的正确性。
[0148] 最后,根据本发明步骤六,说话人脸矩形外围轮廓中心位置在左摄像头201的视频 图像坐标系Oi-XiYi和右摄像头201的视频图像坐标系O r-XrYr中的二维坐标值分别为:
[0149] (400,340 )、( 240,350 ),与视频图像中心位置的二维坐标值(320,240)偏移量分别 为:
[0150]
[0151] 摄像头焦距参数取为:length = 3000,将上述条件带入公式(20)-(23)得出各个旋 转角修正值:
[0152] Δ Qi = 1.53° ^ Aa2 = 1.90° ^ Δβι = -1.53〇 ^ Δβ2 = 2.09°
[0153] 相应驱动电机旋转上述修正角后,可将说话人脸部矩形外围轮廓调整到图像的中 心位置。
[0154]声源定位、人脸识别和视觉处理等技术与算法为公知技术,在此不再详细描述,本 发明结合上述技术及仿生眼云台结构设计与关节空间求解算法,实现了仿生眼对说话人脸 部矩形外围轮廓的精确定位与追踪。
【主权项】
1. 一种仿生眼定位追踪系统,其特征在于,它主要由以下六部分组成: 仿生眼云台模块、声音采集传感器阵列、摄像头模块、云台运动控制模块、控制器模块 和上位机模块;其中: 所述的仿生眼云台模块包括:一个云台底座、一个搭载平台和左右两个子云台,其中, 云台底座与搭载平台之间通过一个水平旋转关节相连,通过搭载平台在云台底座上的水平 转动来模仿仿生机器人的颈部转动;在搭载平台上安装有左右两个子云台,左右两个子云 台分别各有一个水平旋转架和一个俯仰旋转架,这样,每个子云台都具有水平旋转和俯仰 旋转两个转动关节,两个摄像头分别安装在左右两个子云台中间的俯仰旋转架上,充当仿 生眼的眼睛,通过左右两个子云台各自的水平旋转和俯仰旋转关节的转动,可以分别调整 安装在左右两个子云台上的摄像头指向,来模仿眼睛的转动; 所述的声音采集传感器阵列在本系统中充当仿生耳,将四个特性相同的麦克风,以仿 生眼云台底座支点为中心,按正四面体的空间几何关系安装在云台底座中心周围,并将云 台底座支点中心作为仿生眼云台基础坐标系的原点,这样,通过采集到的声音信号及声源 定位算法,得到说话人嘴部相对于基础坐标系的三维坐标值; 所述的摄像头模块由两个独立的摄像头组成,分别安装在左右两个子云台中间的俯仰 旋转架上,在本系统中充当仿生眼的双眼,用来获取视频信息,并将视频数据传给上位机模 块; 所述的云台运动控制模块包括:分别安装在左右两个子云台上的水平旋转驱动电机和 俯仰旋转驱动电机、一个搭载平台的水平旋转驱动电机和数据传输模块;云台运动控制模 块根据接收到的控制器模块输出的各个驱动电机转动信号来控制相应关节的驱动电机进 行转动; 所述的控制器模块,一方面采集声音采集传感器阵列的输出信号,运行声源定位算法, 获得说话人嘴部相对于云台基础坐标系的三维坐标值,并将该说话人嘴部的三维坐标传给 上位机模块;另一方面接收上位机模块发出的控制指令和数据信息,来控制各个驱动电机 转动相应角度,同时也向上位机模块返回系统的运动状态; 所述的上位机模块包括:仿生眼云台的眼睛水平转角W和扮的求解运算程序、对搭载平 台水平旋转转角9的求解运算程序、仿生眼云台模块左右两个子云台关节空间的求解运算 程序、视觉处理算法程序和与控制器的通信程序。2. -种如权利要求1所述的仿生眼定位追踪系统的工作方法,其特征在于,主要包含如 下步骤: 步骤一、系统初始化:系统上电,声音采集传感器阵列进入工作状态,上位机模块显示 摄像头模块获取的视频图像,控制器模块控制所有驱动电机复位到初始角度; 步骤二、声源定位:控制器模块读取声音采集传感器阵列采集的声音数据,并运行声源 定位算法得到说话人嘴部相对于云台基础坐标系的三维坐标值,将该坐标值传给上位机模 块; 步骤三、眼睛水平转角求解:即对仿生眼云台模块左右两个子云台各自水平转角的求 解; 上位机模块根据说话人嘴部相对于云台基础坐标系的三维坐标值,折算成说话人嘴部 相对于颈部坐标系的三维坐标值,在当前颈部未旋转状态下,来求解两个眼睛分别转向说 话人嘴部时所需的水平转角;若其中任意一个的水平转角超过±30度,这时需要对颈部进 行旋转调整,则转向步骤四;若求解出来的两个眼睛的水平旋转角都未超过±30度,这时不 需要对颈部进行旋转调整,则转向步骤五; 步骤四、对颈部关节进行旋转调整:即对搭载平台水平旋转转角的求解; 上位机模块先根据说话人嘴部相对于颈部坐标系的三维坐标值,以满足搭载平台转向 正直面向说话人嘴部为条件,反解出颈部所需的水平旋转角,上位机模块将颈部的水平旋 转角发给控制器模块,由控制器模块控制颈部水平旋转驱动电机转动相应角度,实现搭载 平台转向正直面对说话人嘴部方向,这样,颈部坐标系也转向正直面对说话人嘴部方向,然 后转向步骤五,再相对当前颈部坐标系来进行仿生眼云台模块左右两个子云台的关节空间 求解运算,以使得两个眼睛分别转向说话人嘴部方向; 步骤五、仿生眼云台模块左右两个子云台关节空间求解: 上位机模块根据说话人嘴部相对当前颈部坐标系的关系来进行仿生眼云台模块左右 两个子云台关节空间求解运算,分别反解出左右两个子云台的俯仰旋转驱动电机和水平旋 转驱动电机应当旋转的角度信息,然后发给控制器模块,由控制器模块控制左右两个子云 台各自的俯仰旋转驱动电机和水平旋转驱动电机转动相应角度,以实现仿生眼的双眼初步 对向说话人的嘴部; 至此,完成了将两个摄像头初步对准说话人嘴部的过程; 步骤六、眼睛方向修正:即对仿生眼云台模块左右两个子云台各个旋转关节转角的修 正; 上位机模块运行人脸识别算法,来获取说话人脸部矩形外围轮廓并求取其中心位置在 视频图像坐标系中的二维坐标值,根据该二维坐标值与视频图像中心位置的偏移量,分别 求出左右两个子云台的俯仰旋转驱动电机和水平旋转驱动电机旋转角度的修正值,然后将 上述旋转角度修正值再次发给控制器模块,由控制器模块控制左右两个子云台各自的俯仰 旋转驱动电机和水平旋转驱动电机微调相应角度,以实现对仿生眼两个眼睛分别精准朝向 说话人的脸部轮廓中心方向,使得说话人脸部矩形轮廓中心出现在摄像头识别的视频图像 中心; 步骤七、若控制器模块检测到新的说话人出现时,则循环执行步骤二、步骤三、步骤四、 步骤五和步骤六,对新出现的说话人脸进行实时跟踪;若没有新的说话人出现,则循环执行 步骤六,使得眼睛的相应自由度根据当前说话人脸位置的移动而调整; 步骤八、检测整个系统是否需要继续工作,若是,则转向步骤七,判断是否有新的说话 人出现,若否,则退出工作关机。3.如权利要求2所述的工作方法,其特征在于,步骤六所提的眼睛方向修正值的计算方 法步骤如下: 以下所有角度单位均取为:度(°),所有与视频图像相关的参数单位均取为:像素; 步骤6.1、上位机模块(600)读取并显示仿生眼的左摄像头(201)和右摄像头(202)获取 的视频图像,设图像宽度为W,高度为H; 步骤6.2、上位机模块(600)运行人脸识别算法,分别在左摄像头(201)、右摄像头(202) 识别的视频图像中,计算出说话人脸矩形外围轮廓中心位置在左摄像头(201)的视频图像 坐标系Oi-XiYi和右摄像头(201)的视频图像坐标系O r-XrYr中的二维坐标值:(Xi,Yi)、(Xr, Yr); 步骤6.3、取左摄像头(201)的视频图像坐标系O1-X1Y1和右摄像头(201)的视频图像坐 标系Or-XrYr的中心位置坐标值均为:(W/2,H/2),则在左摄像头(201)识别的视频图像中,说 话人脸部中心位置的二维坐标值(X^YO与视频图像中心位置的二维坐标值(W/2,H/2)偏移 量为:在右摄像头(201)识别的视频图像中,说话人脸部中心位置的二维坐标值(Xr,Yr)与视 频图像中心位置的二维坐标值(W/2,H/2)偏移量为:步骤6.4、根据偏移量求取双眼相应自由度旋转角度修正值: 左眼水平旋转自由度旋转角修正值:A afarctar^ A Xi/length); 左眼俯仰旋转自由度旋转角修正值:A a2 = arctan( A Yi/length); 右眼水平旋转自由度旋转角修正值:A fo = arctan( A Xr/length); 右眼俯仰旋转自由度旋转角修正值:A fe = arctan( A Yr/length); 其中,length为摄像头的焦距参数,根据摄像头的实际参数来设定;旋转角修正值Aai、 A a2、A 0i、A说中均包含正、负号两种情况; 相应驱动电机旋转上述修正角后,从而将说话人脸部矩形外围轮廓调整到图像的中心 位置。
【文档编号】B25J19/04GK106042005SQ201610379179
【公开日】2016年10月26日
【申请日】2016年6月1日
【发明人】樊炳辉, 李镇, 刘勰, 柏山清, 尹逊敏
【申请人】山东科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1