专利名称:机器人装置、面容识别方法和面容识别装置的制作方法
技术领域:
本发明涉及一种具有人类界面的机器人装置,能在预定的时间内、在动态变化的操作环境下做出响应,并涉及一种可作为用于机器人的人类界面的面容识别方法和面容识别装置,而且本发明涉及一种机器人识别装置、一种面容识别方法和一种面容识别装置,可以在预定的时间内、在动态变化的操作环境下识别用户的面容。
更具体地,本发明涉及一种机器人装置、一种面容识别方法和一种面容识别装置,不需要如变形(morphing)之类的位置控制(positioning),并且允许强壮(robust)的面容识别而不管旋转、位置变化等,特别地,本发明涉及一种机器人装置、一种面容识别方法和一种面容识别装置,在具有不同的照明条件或照相机参数的环境下允许强壮的面容识别。
背景技术:
面容识别技术可广泛应用于人机界面,例如,用于不会强加给用户负担的个人认证系统和性别辨别系统。尽管基于侧面面容的识别技术已经开始考虑,但现在基于正面图像的识别技术是最普遍的。
有关面容识别的研究被认为是验证模式识别理论的基准,因而已有各种面容识别的方法被开发。在开发中所采用的如安全系统中的认证以及从大规模数据库搜索一个人这样的大多数应用,要求在静态环境下的准确度。
最近,已经可获得其外观类似如狗的动物的娱乐用的机器人装置。例如,在2000年11月25日,索尼公司宣布了“SDR-3X”,它是一个有两条腿的可移动的似人机器人。这类有腿的可移动机器人是不稳定的,并且难于控制其姿势和步态;然而,有益的是,这种机器人可在楼梯或梯子上上下并克服各障碍物,实现灵活的行走和跑动而不管地面平还是不平。此外,借助允许机器人自主操作的改进的智能,人和机器人生活在同一个生活空间中变得不是不可能了。
通过根据外部信息(如关于环境的信息)、内部状态(如情感状态)等自主操作眼和腿,智能机器人装置能够表现出类似动物的行为。
出现这样的机器人装置提高了对人类界面技术的要求,这种技术允许在预定的时间内、在动态变化的操作环境下做出响应,其一是通过机器人装置进行的面容辨别。例如,通过使用面容辨别,可以从许多人中辨别一个用户(物主、朋友或合法用户),而且通过根据各个用户改变反应,获得了更高级的娱乐。
相对于应用到安全系统中的认证及从大规模数据库搜索一个人,机器人装置中的面容识别技术要求在预定的时间内、在动态变化的操作环境下做出响应甚至以有些差的准确度为代价。
在这样的机器人装置中的面容辨别应用,除了解决从给定场景识别一个人的问题之外,还需要解决下面的问题。
(1)由于机器人装置本身移动,因而必须认可环境的变化和多样性。
(2)由于人与机器人装置的相对位置变化,因而在交互作用期间必须将人保持在视线内。
(3)有助于辨别一个人的图像必须从大量场景选择,而且必须做出综合判断。
(4)必须在预定的时间内发生响应。
面容识别方法的主流一直是基于神经网络的方法以及将主要分量分析(principal component analysis,PCA)应用到由面容图像的亮度值组成的矢量空间的方法(本征空间法)。然而,这些常规的方法已有下面一些缺点首先,基于神经网络的面容识别不允许增量式学习。
至于基于本征空间的方法,尽管采用了正交逐段线性空间(即平均两个面容图像形成一个人脸),但在很多情况下实际上并不提供线性,所以要求被称为变形或调准(alignment)的精确位置控制。有些方法试图通过在预处理中对位置、旋转和大小的规范化(normalization)减轻影响,然而,所述处理不一定奏效。这已成为损坏识别性能的一个因素。此外,因为面容空间的维度(degree)被显著减少以允许在该空间中分离,所以可能损失高维度的特征。
此外,上述的每个识别方法对照明条件变化、照相机参数变化、噪声、位置和旋转的效果是易受影响的,所以需要如噪声滤波和变形之类的预处理。而且,有关综合(generalization)能力的问题仍然存在。
发明内容
本发明的目的是提供一种机器人装置,该装置拥有允许在预定的时间内、在动态变化的操作环境下进行响应的人类界面,而且提供可用作为机器人的人类界面的良好的面容识别方法和面容识别装置。
本发明的另一个目的是提供一种良好的机器人装置、面容识别方法和面容识别装置,在预定的时间内、在动态变化的操作环境下允许用户面容的识别。
本发明的另一个目的是提供一种良好的机器人装置、面容识别方法和面容识别装置,在具有不同照明条件和照相机参数的环境下允许强壮的面容识别。
本发明的另一个目的是提供一种良好的机器人装置、面容识别方法和面容识别装置,不需要如变形之类的位置控制,并且允许强壮的面容识别而不管旋转、位置变化等。
本发明的另一个目的是提供一种良好的机器人装置、面容识别方法和面容识别装置,不需要如变形之类的位置控制,并且允许强壮的面容识别而不管旋转、位置变化等。
由于上述目的做出本发明。本发明在其第一方面是一种自主运作的机器人装置,该装置包括图像输入装置,用于输入面容图像;面容特征提取装置,用于使用具有方位选择性并与不同频率分量相关联的多个滤波器提取所述面容图像的各特征;及面容辨别装置,用于从其它各面容辨别一个特定面容,所述辨别通过使用核心函数(kernel function)非线性地映射由所述面容特征提取装置提取的所述面容特征,并通过获得在用所述映射获得的特征空间中分离的超平面而进行。
所述面容特征提取装置可由Gabor滤波器实现,而所述面容辨别装置可由支持矢量机(support vector machine)实现。
根据本发明的所述第一方面,所述机器人装置不需要对输入图像如变形之类的位置控制,允许强壮的面容识别而不管旋转、位置变化等。即,该机器人装置被允许在预定的时间内、在动态变化的操作环境下识别各用户的面容,并实时响应各个用户。
所述面容特征提取装置可包括滤波器改变装置,用于根据识别任务改变Gabor滤波器的类型。
而且,所述面容特征提取装置在低频进行滤波时,可欠取样(downsample)滤波后的图像,以减少滤波后图像的维数(dimension)。欠取样的矢量被排成一行以形成一个长矢量,该矢量在随后的阶段被供给所述面容识别装置。
本发明在其第二方面是面容识别装置或面容识别方法,包括图像输入装置或步骤,用于输入面容图像;面容特征提取装置或步骤,用于使用具有方位选择性并与不同频率分量相关联的多个滤波器提取所述面容图像的各特征;及面容辨别装置或步骤,用于从其它各面容辨别一个特定面容,所述辨别通过使用核心函数非线性地映射由所述面容特征提取装置或步骤提取的所述面容特征,并通过获得在用所述映射获得的特征空间中分离的超平面而进行。
所述面容特征提取装置可由Gabor滤波器实现,而所述面容辨别装置可由支持矢量机实现。
通过根据本发明的所述第二方面的面容识别装置或面容识别方法,不需要对输入图像如变形之类的位置控制,就允许强壮的面容识别而不管旋转、位置变化等。即,在预定时间内甚至在动态变化的操作环境下,也允许用户的面容的识别。通过在机器人装置中使用根据本发明的所述第二方面的面容识别装置或面容识别方法,例如,允许所述机器人装置根据各个用户无延缓地采取不同反应,获得更高级的娱乐。
所述面容特征提取装置或步骤可包括滤波器改变装置或步骤,用于根据识别任务改变Gabor滤波器的类型。
而且,所述面容特征提取装置或步骤在低频进行滤波时,欠取样滤波后的图像,以减少滤波后图像的维数。欠取样的矢量被排成一行以形成一个长矢量,该矢量在随后的阶段被供给所述面容识别装置或步骤。
根据本发明后面描述的各实施例和附图,通过详细的说明,本发明的其它目的、特征和优点将会显而易见。
图1根据本发明的实施例显示了有腿的可移动机器人100的正视图。
图2根据本发明的所述实施例显示了所述有腿的可移动机器人100的后视图。
图3是一个示意图,该图根据所述实施例显示了所述有腿的可移动机器人100中的自由度的配置。
图4是一个示意图,该图显示了所述有腿的可移动机器人100的控制系统的配置。
图5是一个示意图,该图根据所述实施例显示了用于执行所述机器人装置100的处理操作的控制程序的软件配置。
图6详细地显示了中间件层140的具体软件配置。
图7详细地显示了应用层141的具体软件配置。
图8详细地显示了动作模型库170的具体软件配置。
图9显示了用于根据动作模型170-1到170-n确定随后动作的有限概率自动化(finite-probability automation)的原理。
图10显示了为每个节点NODE0到NODEn提供的状态转换(transition)表,这些节点组成自身动作模型170-1到170-n。
图11是一个方框图,该图显示了在学习阶段中根据所述实施例的面容识别系统1000的功能配置。
图12是一个方框图,该图显示了在识别阶段中根据所述实施例的面容识别系统1000的功能配置。
图13显示了用在所述实施例中的Gabor滤波器的空间域(spatial-domain)特性。
图14显示了用在所述实施例中的Gabor滤波器的空间域特性。
图15显示了用在所述实施例中的Gabor滤波器的空间域特性。
图16显示了用在所述实施例中的Gabor滤波器的空间域特性。
图17显示了用在所述实施例中的Gabor滤波器的空间域特性。
图18显示了用在所述实施例中的Gabor滤波器的空间域特性。
图19显示了用在所述实施例中的Gabor滤波器的空间域特性。
图20显示了用在所述实施例中的Gabor滤波器的空间域特性。
图21显示了用在所述实施例中的Gabor滤波器的空间域特性。
图22显示了用在所述实施例中的Gabor滤波器的空间域特性。
图23显示了用在所述实施例中的Gabor滤波器的空间域特性。
图24显示了用在所述实施例中的Gabor滤波器的空间域特性。
图25显示了用在所述实施例中的Gabor滤波器的空间域特性。
图26显示了用在所述实施例中的Gabor滤波器的空间域特性。
图27显示了用在所述实施例中的Gabor滤波器的空间域特性。
图28显示了用在所述实施例中的Gabor滤波器的空间域特性。
图29显示了用在所述实施例中的Gabor滤波器的空间域特性。
图30显示了用在所述实施例中的Gabor滤波器的空间域特性。
图31显示了用在所述实施例中的Gabor滤波器的空间域特性。
图32显示了用在所述实施例中的Gabor滤波器的空间域特性。
图33显示了用在所述实施例中的Gabor滤波器的空间域特性。
图34显示了用在所述实施例中的Gabor滤波器的空间域特性。
图35显示了用在所述实施例中的Gabor滤波器的空间域特性。
图36显示了用在所述实施例中的Gabor滤波器的空间域特性。
图37显示了输入图像的一个例子。
图38显示了用图13中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图39显示了用图14中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图40显示了用图15中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图41显示了用图16中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图42显示了用图17中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图43显示了用图18中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图44显示了用图19中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图45显示了用图20中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图46显示了用图21中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图47显示了用图22中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图48显示了用图23中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图49显示了用图24中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图50显示了用图25中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图51显示了用图26中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图52显示了用图27中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图53显示了用图28中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图54显示了用图29中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图55显示了用图30中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图56显示了用图31中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图57显示了用图32中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图58显示了用图33中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图59显示了用图34中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图60显示了用图35中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图61显示了用图36中显示的所述Gabor滤波器过滤图37中显示的所述输入图像的结果。
图62显示了各图像中的面容大小与距离之间的关系。
图63说明了通过各个面容大小的图像的快速傅利叶变换来计算频率域(frequency domain)中的峰值的处理。
图64显示了Gabor滤波器的频率和距离之间的关系。
图65是一个流程图,该图显示了使用距离信息通过Gabor滤波器进行的面容提取处理的步骤。
具体实施例方式
现在将参照
本发明的各实施例。
在下述的本发明的一个实施例中,本发明被应用于具有似人外形的有两条腿的可移动机器人装置,即有人的特点的机器人。然而,在其根本上,本发明不限于此,例如还可能类似地应用于有四条腿的可移动机器人,如机器狗之类。
按照本实施例的机器人装置根据外部信息(如关于环境的信息)和内部状态(如情感状态)、通过自主地操作眼、腿等,展现出具有真实性的行为。该机器人装置具有用作人类界面的识别面容的能力,以允许辨别用户(朋友或物主)等的面容,根据面容识别的结果采取基于各个用户的不同反应。A.机器人的构造图1和图2分别显示了根据所述实施例的有腿的可移动机器人100的正视图和后视图。图3示意地显示了有腿的可移动机器人100的各关节的自由度。
如图3所示,有腿的可移动机器人100是具有多个肢体的结构体(structure),它具有包括两支胳膊和头部1的上肢,包括两条能移动的腿的下肢,及连接上肢和下肢的躯干。
支撑头部1的颈椎关节有三个自由度,即颈椎关节左右摇摆轴2、颈椎关节俯仰轴3和颈椎关节转动轴4。
每支胳膊有肩关节俯仰轴8、肩关节转动轴9、上臂左右摇摆轴10、肘关节俯仰轴11、前臂左右摇摆轴12、腕关节俯仰轴13、腕关节转动轴14和手15。手15实际上是一个包含有多个手指的结构体,因而具有多个关节和多个自由度。然而,手15的操作对机器人100的姿势控制和步态控制没有重大的贡献或影响,因而在本说明书中假定手15的自由度为零。这样,每支胳膊被假定具有7个自由度。
躯干有三个自由度,即躯干俯仰轴5、躯干转动轴6和躯干左右摇摆轴7。
组成下肢的每条腿都有髋关节左右摇摆轴16、髋关节俯仰轴17、髋关节转动轴18、膝关节俯仰轴19、踝关节俯仰轴20、踝关节转动轴21和脚22。在本说明书中,髋关节俯仰轴17和髋关节转动轴18的交汇定义了根据本实施例的有腿的可移动机器人100的髋关节的位置。尽管人的脚22实际上是包括具有多个关节和多个自由度的结构体,但根据本实施例的有腿的可移动机器人100的脚却具有零自由度。这样,每条腿就有6个自由度。
总之,总体上,根据本实施例的有腿的可移动机器人100总共有3+7×2+3+6×2=32个自由度。然而,用于娱乐的有腿的可移动机器人100的自由度不必限于32。可以理解,自由度(即关节数)可以根据设计和制造上的限制和要求的技术规格适当地增加和减少。
如上所述,有腿的可移动机器人100的自由度用致动器(actuator)实现。考虑到无额外膨胀(bulk)地模拟人的自然形状外观的需要,以及为了控制用两腿走路的不稳定结构体的姿态,所述致动器最好尺寸小、重量轻。在本实施例中,使用的是小尺寸的AC伺服致动器,每个伺服致动器直接连接到一个齿轮,并包含一个合并在电机部件中的单片伺服控制系统。这种类型的AC伺服致动器被公开在,例如转让给本申请的申请人的、日本未经审查专利申请公布No.2000-299970(日本专利申请No.11-33386)中。
图4示意地显示了所述有腿的可移动机器人100的控制系统的配置。该控制系统包括控制器116和用作为机器人装置100的能源的电池117,并且安装在如该装置的躯体中或有腿的可移动机器人的背部。控制器116包括CPU(中央处理器)110、DRAM(动态随机存取存储器)111、闪速(flash)ROM(只读存储器)112、PC(个人计算机)卡接口电路113和信号处理电路114,经内部总线115彼此连接。该装置包括角速度传感器118、加速度传感器119等,用于检测机器人装置100的运动的方向和加速度。
该装置的头部包括CCD(电荷耦合器件)照相机120,用于反映外部状态;触摸传感器121,用于检测如“抚摸(stroke)”或“打击(strike)”这样的由根据用户的物理操作施加的压力;距离传感器122,用于测量到位于正前方的目标的距离;话筒123,用于收集外部声音;扬声器124,用于输出如动物声音等这样的声音;上述部件都安装在所述装置的预定位置上。CCD照相机120起着图像输入装置的作用,用于在面容辨别时拍摄面容图像。
此外,在各腿部件的关节处,在各腿部件和躯体部件间的连接部分,以及在头部部件和躯体部件间的连接部分等,根据它们各自的自由度还装有致动器125-1到125-n和电位计126-1到126-n。例如,致动器125-1到125-n分别由单伺服电机实现。用伺服电机来驱动和控制腿部部件,以转换到目标姿势或操作。
包括角速度传感器118、加速度传感器119、触摸传感器121、距离传感器122、话筒123、扬声器124的上述各种传感器和电位计126-1到126-n以及致动器125-1到125-n,分别集中到关联的集线器(HUB)127-1到127-n,从而连接到控制器116的信号处理电路114。CCD照相机120和电池117直接连接到信号处理电路114。
信号处理电路114顺序收集由上述传感器提供的传感器数据、图像数据和音频数据,并且根据需要将这些数据经内部总线115存储于DRAM 111中的指定的地址上。此外,信号处理电路114也顺序收集由电池117提供的表明剩余电池容量的剩余电池数据,并类似地将这些数据存储在DRAM 111中的指定的地址上。
随后在机器人装置100的控制操作中,CPU 110可获得上述存储在DRAM 111中的传感器数据、图像数据、音频数据和剩余电池数据。
实际上,在机器人装置100的电源开始接通时,CPU 110经PC卡接口电路113或直接地读取存储在存储卡128——被置于躯干部件2的PC卡槽(未显示)中——中或存储在闪速ROM 112中的控制程序,并将控制程序装入DRAM 111。
在装载控制程序之后,根据如前所述的从信号处理电路114顺序存储在DRAM 111中的传感器数据、图像数据、音频数据和剩余电池数据,CPU 110判断其自身状态和所述装置的周围情况、用户是否已经做出指令或操作等。
进而,CPU 110根据判断的结果和装入DRAM 111之中的控制程序来确定随后的动作,并根据确定结果按要求驱动致动器125-1到125-n,从而使头部左右摇摆或者驱使腿部部件执行如行走之类的腿部动作。
在执行所述程序时,CPU 110根据要求产生音频数据,并通过信号处理电路114将此音频数据供给扬声器24作为音频信号,从而向外输出基于所述音频信号的声音。
如上所述,机器人装置100被配置为根据其自身状态和周围情况以及用户的指令和操作而自主行为。B.控制程库的软件配置图5示意地显示了控制程序的软件配置,该控制程序用于实施根据本实施例的机器人装置100的处理操作。
如图所示,设备驱动程序层130处于控制程序的最低层,而且它包含由多个设备驱动程序组成的设备驱动程序集31。在此,每个设备驱动程序是一个对象,允许直接访问如CCD照相机20(参见图4)或定时器这样的用于普通计算机处理的硬件,并且它一般启动处理以响应由相关硬件(中断处理器)引起的中断。
机器人的服务器对象132位于设备驱动程序层130的最低层,并且它包括例如,由软件套件(suite)组成的虚拟机器人133,用于提供访问硬件的接口,这些硬件如前述的各种传感器和致动器125-1到125-n;由主要用于管理电源的开关的软件套件组成的电源管理程序134;由管理各种设备驱动程序的软件套件组成的设备驱动器管理程序135;以及由管理机器人装置100的机制的软件套件组成的设计的机器人136。
管理程序对象137包括对象管理程序138和服务管理程序139。对象管理程序138是用于管理包含于机器人的服务器对象132、中间件层140和应用层141中的各软件套件的启动(activation)和停止(deactivation)的软件套件。服务管理程序139是用于根据有关对象间连接的信息来管理对象间的连接的软件套件,在存储于存储卡128中的连接文件中进行说明(参见图4)。
中间件层140位于机器人的服务器对象132的直接上位,而且它是由软件套件组成的,用于提供根据本实施例的机器人装置100的基本功能,如图像处理和音频处理之类。应用层141位于中间件层140的直接上位,而且它是由软件套件组成的,用于根据通过组成中间件层140的软件套件处理的结果来确定机器人装置100的动作。
图6详细地显示了中间件层140的具体软件配置。
如图6所示,中间件层140包括识别系统中间件160,该识别系统中间件又包括信号处理模块150到158,分别用于噪声检测、温度检测、亮度检测、音阶检测、距离检测、姿态检测、触摸传感器、运动检测和颜色识别,而且该识别系统中间件包括输入语义学转换程序模块159。中间件层140还包括输出系统中间件169,该中间件又包括输出语义学转换程序模块168并包括信号处理模块161到167,分别用于姿态管理、跟踪、运动回放、行走、跌倒恢复和音频回放。
识别系统中间件160的信号处理模块150到158,从利用机器人的服务器对象132的虚拟机器人133从DRAM 11(参见图4)读出的传感器数据、图像数据(面容图像数据)和音频数据,分别采集相关联的数据,根据这些数据来执行预定的处理,并向输入语义学转换程序模块159提供处理的结果。例如,虚拟机器人133被实施,以便根据预定的通信协议交换或转换信号。
根据从信号处理模块150到158提供的处理结果,输入语义学转换程序模块159识别其自身状态或环境情况,诸如“有噪声的”、“热的”、“明亮的”、“检测到球”、“检测到跌倒”、“受到抚摸”、“受到打击”、“听到音阶do、mi和sol”、“检测到移动物体”、“检测到障碍物”或“发现(识别)了人A”之类,并识别用户的指令和操作,向应用层141输出识别结果。
图7详细地显示了应用层141的具体软件配置。如图所示,应用层141包括五个模块,即动作模型库170、动作切换模块171、学习模块172、情感模型173和本能模型174。
图8显示了动作模型库170的具体软件配置。如图所示,动作模型库170包括相互独立的动作模型170-1到170-n,它们分别与许多预先选定的条件关联,诸如,“剩余电池容量少”、“从跌倒恢复”、“避开障碍物”、“表达情感”、“检测到球”以及“发现(识别)了人A”。
在接收来自输入语义学转换程序模块159的识别结果时或者当自从上次识别结果收到后已经过预定时间,动作模型170-1到170-n的每个按要求参考存储在情感模型173中的相关情感参数值和存储在本能模型174中的相关期望参数值(后面将要说明)来确定随后的动作,输出确定结果给动作切换模块171。
在本实施例中,动作模型170-1到170-n根据被称为有限概率自动化的算法(图9所示)来确定随后的动作。如图所示,根据有限概率自动化,从节点(状态)NODE0到NODEn之中的一个节点到节点NODE0到NODEn之中的另一个节点转换的目的地,可根据为互连节点NODE0到NODEn的弧ARC1到ARCn而分别设置的转换概率P1到Pn盖然性地确定。
更具体地,动作模型170-1到170-n具有如其一示于图10的状态转换表180,所述状态转换表分别与构成自身动作模型170-1到170-n的节点NODE0到NODEn相关联。
在状态转换表180中,用作为在节点NODE0到NODEn的转换条件的输入事件(识别结果)以“输入事件名”行上的优先顺序列出,关于转换条件的进一步条件被规定在“数据名”和“数据范围”行上的关联列中。
例如,在图10所示的状态转换表180中所代表的节点NODE100上,当给出表明“检测到球(BALL)”的识别结果时,向另一个节点转换的条件是与所述识别结果一起给出的所述球的“大小(SIZE)”在“0到1,000”的范围内。类似地,如果给出了表明“检测到障碍物(OBSTACLE)”的识别结果,向另一个节点转换的条件是与所述识别结果一起给出的到所述障碍物的“距离(DISTANCE)”在“0到100”的范围内。
即使没有识别结果被输入,但如果分别存储在情感模型173和本能模型174中的情感和期望参数值之中的“高兴(JOY)”、“惊讶(SURPRISE)”和“悲伤(SUDNESS)”的参数值之一是在“50到100”范围内,也允许节点NODE100转换到另一个节点上,所述情感模型173和本能模型174由动作模型170-1到170-n定期参考。
此外,在状态转换表180中,允许节点NODE0到NODEn转换到其上的节点的名称被列在“转换到其它节点的概率”部分的“转换目的地节点”列中,而向其它可作为转换目的地的节点NODE0到NODEn转换的概率,在满足“输入事件名”、“数据值”和“数据范围”各行中的所有条件时,被规定在“转换到其它节点的概率”部分的对应部分中,而在向其它节点NODE0到NODEn的转换中要输出的动作被规定在“转换到其它节点的概率”部分的“输出动作”行中。在“转换到其它节点的概率”部分的各行中的各概率的和是100[%]。
因而,在图10所示的状态转换表180中所表示的节点NODE100上,如果给定表明“检测到球(BALL)”和球的“SIZE(大小)”的识别结果在“0到1,000”的范围内,那么向“节点NODE120(节点120)”的转换就以“30[%]”的概率发生,在此情况下“ACTION1”的动作被输出,即由所述装置执行。
如状态转换表180中所规定的那样,分别将动作模型170-1到170-n定义为节点NODE0到NODEn的链(chain)。因而,例如在从输入语义学转换程序模块159给出识别结果时,随后的动作根据节点NODE0到NODEn的相关之一的状态转换表盖然性地确定,输出确定的结果到动作切换模块171。此外,通过在图10所示的状态转换表中为著录项提供“发现(识别)人A”的输入事件名,以及规定转换条件等,可指令在机器人装置识别特定用户时将要采取的反应。
从分别从动作模型库170的动作模型170-1到170-n输出的动作,图7所示的动作切换模块171选择由动作模型170-1到170-n之一——如事先确定地具有高的优先级——输出的动作,并将执行该动作的命令(此后被称为“动作命令”)传送给中间件层140的输出语义学转换程序模块168。在本实施例中,在其在图8中传下去时,动作模型170-1到170-n具有较高的优先级。
此外,根据动作完成后从输出语义学转换程序模块168被给定的动作完成信息,动作切换模块171向学习模块172、情感模型173和本能模型174通知动作的完成。
关于由输入语义学转换程序模块159给出的识别结果,学习模块172接收如“受抚摸”或“受打击”这样的教导的识别结果的输入,所述教导通过用户的操作被接收。
根据所述识别结果和动作切换模块171的通知,学习模块172修改动作模型170-1到170-n的相关之一的相关转换概率,以便在“受到打击(斥责)”时降低动作的发生概率而在“受到抚摸(表扬)”时提高动作的发生概率。
情感模型173具有代表总共六种情感的强度的参数,即分别是“高兴”、“悲伤”、“愤怒”、“惊讶”、“厌恶”和“恐惧”。根据输入语义学转换程序模块159给出的如“受到打击”和“受到抚摸”这样的特定识别结果、经过的时间和由动作切换模块171给出的通知等,情感模型173定期更新各情感的参数值。
更具体地,让ΔE[t]表示当时的情感变化量,所述变化量根据由输入语义学转换程序模块159给出的识别结果、当时机器人装置100的动作及自上次更新后经过的时间等,按照预定的公式计算出的,让E[t]表示情感的当前参数值,并让ke表示代表情感灵敏度的系数,那么情感模型173用下面的方程(1)来计算下一阶段中情感的参数值E[t+1],以其替换情感的当前参数值E[t]以更新情感的参数值。情感模型173类似地更新所有情感的参数值。
E[t+1]=E[t]+ke×ΔE[t] (1)由各识别结果和输出语义学转换程序模块168发出的通知影响每个情感参数值的变化量ΔE[t]的程度是预定的。例如,表明“受到打击”的识别结果显著影响代表“愤怒”情感的参数值的变化量ΔE[t]。表明“受到抚摸”的识别结果显著影响代表“高兴”情感的参数值的变化量ΔE[t]。
由输出语义学转换程序模块168发出的通知用作被认为是动作的反馈信息(动作完成信息),即代表动作发生的结果的信息。情感模型173也根据这个信息来改变情感。例如,“咆哮”的动作降低愤怒情感的级别。由输出语义学转换程序模块168发出的通知也被输入到前述的学习模块172。学习模块172根据该通知修改动作模型170-1到170-n的相关转换概率。
可用动作切换调制器(modulator)171的输出(带有情感的动作)来提供动作结果的反馈。
本能模型174具有表现相互独立的四种期望的强度的参数,即“运动欲(exercise)”、“爱情欲(affection)”、“食欲(appetite)”和“好奇心(curiosty)”。根据由输入语义学转换程序模块159给出的识别结果、经过的时间及动作切换模块171的通知等,本能模型174定期更新所述期望的参数值。
更具体地,关于“运动欲”、“爱情欲”和“好奇心”,本能模型174使用下面的方程(2)——其中ΔI[k]表示当时的相关期望的变化量,所述变化量是根据识别结果、经过的时间及由输出语义学转换程序模块168给出的通知等,按照预定的公式计算出来的,I[k]表示期望的当前参数值,ki表示表明期望的灵敏度的系数——以便计算下一阶段中期望的参数值I[k+1],通过用所述计算结果替代当前的期望参数值I[k],以更新期望的参数值。本能模型类似地更新除“食欲”之外的所有期望的参数值。
I[k+1]=I[k]+ki×ΔI[k](2)由识别结果和输出语义学转换程序模块168给出的通知等影响每个期望的变化量ΔI[k]的程度是预定的。例如,输出语义学转换程序模块168给出的通知对代表“疲劳”的参数值的变化量ΔI[k]有显著的影响。
在本实施例中,情感和期望(本能)的每个参数值限于在0到100的范围内改变,而系数ke和ki的值分别为情感和期望设置。
中间件层140的输出语义学转换程序模块168向输出系统语义学转换程序模块169中的相关信号处理模块161到167提供从应用层141的动作切换模块171给出的、如“前进”、“高兴”、“鸣叫”或“跟踪(跟踪球)”这样的抽象动作命令。
然后,信号处理模块161到167在收到动作命令时便根据该动作命令产生,诸如要给致动器125-1到125-n(参见图4)的相关之一的用于执行该动作的伺服命令值这样的驱动数据,或者要从扬声器124输出的声音的音频数据,并通过机器人的服务器对象132的虚拟机器人133和信号处理电路114,将这些数据顺序转发给相关致动器125-1到125-n或扬声器124。
如上所述,机器人装置100被配置为,根据其自身的(内部)状态和(外部)环境情况及用户的指令和操作,按控制程序来自主行事。C.由机器人装置进行的面容识别智能机器人装置需要允许在预定时间内在动态变化的操作环境下的响应的人类界面技术。根据本实施例的机器人装置100,通过使用面容识别技术,可以从许多人中辨别一个用户(物主、朋友或合法用户),并根据识别结果(即取决于用户)来控制反应,获得了更高级的娱乐。
能在预定时间内在动态变化的操作环境下响应的、根据本实施例的面容识别系统1000,包括面容提取处理部件1001,用于从CCD照相机拍摄的图像提取面容模式;以及面容识别部件1002,用于根据所述提取的面容模式来识别面容。在本实施例中,“Gabor滤波”被用于提取面容模式(提取面容图像的特征)的面容提取处理,在所述“Gabor”滤波中,具有方位选择性和与不同频率分量相关联的多个滤波器被用于提取面容图像的特征。在用于从所述面容模式识别面容的面容识别处理中,使用了支持矢量机(SVM),其中,利用核心函数实现非线性映射并获得在所述映射后的特征空间中分离的超平面,从而从其它的面容辨别一个特定的面容。
面容识别系统1000具有在其期间面容识别部件学习面容模式的学习阶段,以及在其期间根据学到的数据来识别从拍摄的图像提取的面容模式的识别阶段。
图11显示了根据本实施例的面容识别系统1000的学习阶段的配置,图12显示了面容识别系统1000的识别阶段的配置。
如图11所示,在学习阶段,由Gabor滤波(filtering)1001从来自CCD照相机输入的拍摄到的用户图像提取面容,而结果被接入支持矢量机1002中。支持矢量机1002用外部提供的学习数据(即教师数据)获得暂时的辨别功能。
如图12所示,在识别阶段,由Gabor滤波1001从来自CCD照相机输入的拍摄到的用户图像提取面容,而结果被接入支持矢量机1002中。支持矢量机1002在数据库中的各种图像上尝试所述暂时辨别功能以检测面容。成功检测的面容被当作面容数据输出。检测中失败的面容当作非面容数据被加到学习数据中,并再次进行学习。
下面将详细说明Gabor滤波和支持矢量机。Gahor滤波已经发现,人的有些视觉细胞对特定方位有选择性。这样的细胞包括响应垂直线而发火(ignite)的细胞和响应水平线的细胞。类似地,Gabor滤波是由具有方位选择性的多个滤波器实施的空间滤波。
Garbor滤波器在空间上由Garbor函数来表示。Garbor函数g(x,y)包括由余弦分量组成的载波s(x,y)和具有二维高斯分布的包络线Wr(x,y),如下面的方程(3)所示。
g(x,y)=s(x,y)wr(x,y) (3)载波s(x,y)使用复合函数通过下面的方程(4)表示,其中坐标值(u0,v0)表示空间频率,P表示余弦分量的相位。
s(x,y)=exp(j(2π(u0x+v0y)+P)) (4)用上述方程(4)表达的载波可以被分为实分量Re(s(x,y))和虚分量Im(s(x,y)),如下面的方程(5)所示。
Re(s(x,y))=cos(2π(u0x+v0y)+P)Im(s(x,y))=sin(2π(u0x+v0y)+P) (5)具有二维高斯分布的包络线如下面的方程(6)所示。
wr(x,y)=K exp(-π(a2(x-x0)r2+b2(y-y0)r2)) (6)坐标值(x0,y0)对应函数的峰值,而常数a和b是高斯分布的比例(scale)参数。在下面的方程(7)中,下标r表示旋转操作。
(x-x0)r=(x-x0)cosθ+(y-y0)sinθ (7)(y-y0)r=-(x-x0)sinθ+(y-y0)cosθ从上面的方程(4)和(6),Gabor滤波器可表示为下面方程(8)所表达的空间函数。
g(x,y)=K exp(-π(a2(x-x0)r2+b2(y-y0)r2))(8)exp(j(2π(u0x+v0y)+P))在本实施例中,面容提取部件1001使用8个方向和3个频率来执行总共使用了24个Gabor滤波器的面容提取处理。图13到图36显示了本实施例中所用的各Gabor滤波器的空间域的特性。这些图中的,图13到20显示了与高频分量相关联的Gabor滤波器,其中方向以22.5°的增量改变。图21到28显示了与中频分量相关联的Gabor滤波器,其中方向以22.5°的增量改变。图29到36显示了与低频分量相关联的Gabor滤波器,其中方向以22.5°的增量改变。可知,图中的阴影表明垂直于纸面的坐标轴方向上的分量。
Gabor滤波器的响应由下面方程(9)来表达,其中,Gi表示第i个Gabor滤波器,Ji表示第i个Gabor(Gabor喷射(Jet))的结果,I表示输入图像。实际上,方程(9)的计算可以利用快速傅利叶变换来快速进行。
Ji(x,y)=Gi(x,y)_I(x,y)(9)图38到61分别显示了用图13到36所示的Gabor滤波器对图37所示的输入图像(该输入图像有20×20个像素)滤波的结果。Gabor滤波器实质上涵盖了所有的频率。
用重建滤波后的图像来测试准备的Gabor滤波器的性能。重建的图像H用下面的方程(10)来表达。H(x,y)=Σi=10aiJi(x,y)---(10)]]>重建图像对输入图像I的误差E用下面方程(11)来表达。E=12||I(x,y)-H(x,y)||2=12Σx,y(I(x,y)-H(x,y))2]]>=12Σx,y(I(x,y)-Σi-1QaiJi(x,y))2=12Σx,y(I(x,y)-Σi=1QaiGi⊗I)2----(11)]]>通过获得最小化误差E的优化a可以重建。支持矢量机在本实施例中,关于面容识别,使用支持矢量机(SVM)将目标面容从其它面容辨别,在模式识别领域中,就学习的综合(generalization)能力而言,所述支持矢量机已知是最好的。
已知,SVM自身已被论述,例如在B.Sholkopf等人的报告(B.Sholkopf,C.Burges,A.Smola,“Advance in Kernel Methods Support Vector Learning(核心方法支持矢量学习的进展)”,The MIT press(麻省理工学院出版社),1999)中。本发明的发明人的初步实验结果证明,基于SVM的面容识别比基于主要分量分析(PCA)或神经网络的方法获得更好的结果。
SVM是一种使用线性辨别器(视感控器,(perceptron))作为辨别函数的学习机,并可利用核心函数被扩展到非线性空间。通过最大化分类的边界(margin)来学习辨别函数,并通过解决理论上保证可发现全局解(globalsolution)的二维数学规划问题(two-dimensional mathematical planningproblem)来获得解。
通常,将模式识别问题简化为对测试采样x=(x1,x2,...,xn)的下面辨别函数f(x)的计算。f(x)=Σj=1nwjxj+b---(12)]]>SVM用来学习的教师标志表示如下。
y=(y1,y2,...,yn) (13)那么,SVM进行的面容模式的识别可视为在下面的约束条件下最小化加权因子w的平方的问题。
yi(wTxi+b)≥1 (14)具有约束条件的问题可用Lagrange不确定常数法(Lagrange’sundetermined constant method)来解决。首先,引入表示如下的Lagrange。L(w,b,α)=12||w||2-Σl=1lαi(yi(xiTw+b)-1))---(15)]]>然后对每个b和w进行偏微分。∂L∂b=∂L∂w=0---(16)]]>因而,SVM进行的面容模式的识别可视为如下表示的二维规划问题。maxΣαi-12ΣαiαjyiyjTxj---(17)]]>约束条件αi≥0,∑αiyi=0如果特征空间的维度(degree)数小于训练采样数,就可通过引入松弛变量ξ≥0将约束条件修改,表示如下。
yi(wTxi+b)≥1-ξi(18)通过最小化下面的目标函数允许优化。12||w||2+CΣξi---(19)]]>在上面方程(19)中,C表示规定约束条件被减弱到什么程度的系数,其值必须通过实验确定。maxΣαi-12ΣαiαjyiyjTxj---(20)]]>约束条件0≤αi≤ C,∑αiyi=0然而,方程(20)不直接使非线性问题得以解决。因而,在本实施例中,引入核心函数K(x,x′)用于映射到较高维的空间(核心技巧),允许在那个空间中线性分离。这等于在原始空间中的非线性分离。
核心函数使用映射Φ由下面方程来表示。
K(x,x′)=Φ(x)TΦ(x′) (21)在方程(12)中表示的辨别函数可表达如下。
f(Ф(x))=wTФ(x)+b=∑aiyiK(x,xi)+b (22)此外,学习可视为如下表示的二维规划问题。maxΣαi-12ΣαiαjyiyjxjK(Xi,xj)---(23)]]>约束条件0≤αi≤C,∑αiyi=0
作为核心,例如,可使用如下表示的高斯核心(半径基本函数(radiusbasic function,RBF))。K(x,x′)=exp(-|x-x′|2σ2)---(24)]]>对于Gabor滤波,可以根据识别任务来改变滤波器的类型。
对在低频的滤波,保持所有矢量形式的滤波后的图像是冗余的。因而,可以欠取样滤波后的图像以减少矢量的维数。24个欠取样的矢量被排在一条线上形成长矢量。
在本实施例中用于面容模式识别的、作为将特征空间分成为两类的辨别器的SVM进行学习,以便辨别一个人“是人A”或者“非人A”。因而,首先从数据库的图像中搜集人A的面容图像,并将由Gabor滤波得到的矢量标签为“非人A”。一般地,面容图像的数量最好大于特征空间的维数。如果要识别10个人的面容,就类似地对每个人实施辨别器,如“是人B”和“非人B”之类。
通过如上所述的学习,可以得到分辨“是人A”和“非人A”的支持矢量。SVM是将特征空间划分为二的辨别器,在输入新的面容图像时,SVM根据Gabor滤波的矢量位于由支持矢量决定的边界的哪一边来输出识别结果。如果所述矢量位于相对所述边界的“人A”的区域中,识别就导致“人A”。如果所述矢量位于“非人A”的区域中,识别就导致“非人A”。
从输入图像(该图像是从CCD照相机或类似装置输入的)提取出来作为面容区域的区域并非是固定不变的。因而可将这个区域投影到特征空间中远离要识别的类别的一个点。因而通过估计如眼、鼻和嘴的特征部位以及通过仿射变换(affine transformation)进行变形,可以提高识别率。
此外,可用引导程序(bootstrap)法来改进识别性能。一幅图像从用于学习的图像分别收集并用于引导程序。这表明,如果在学习之后辨别器输出错误的识别结果,就将输入图像投入用于再学习的学习集合。
此外,为了改进识别性能,识别结果的暂时变化被监视。在最简单的方法中,如果十次中八次识别为“人A”,一个人就被识别为“人A”。其它的方法已经被提出,包括基于Kalman滤波的预测方法。其它实施例如上所述,面容提取部件1001可根据识别任务改变Gabor滤波器的类型。更具体地,Gabor滤波器的类型在此是指频率的数目及其各值的设置以及方向数和各方向的设置。
在上述的实施例中,提供了具有三种频率的Gabor滤波器;然而,可用单个频率来识别面容图像。尽管识别率可能会降低,但这减少了计算量。在对大量程序消耗有限的计算机资源的娱乐机器人中,计算量减少是显著的优点,所述程序包括控制操作的程序和控制内部状态(情感和本能)的程序。
具有根据本实施例的面容识别系统安装其上的机器人100(参见图1到3)用如两个照相机从立体视图获取距离信息。可用所述距离信息来调节Gabor滤波器。
可预先获得面容大小和距离之间的关系。此外,在面容图像大小和Gabor滤波器的频率之间也存在一定的关系。即,如果面容图像小,特征提取就必须在高频执行;而如果面容图像大,在低频就足够了。
如果输入图像不是面容区域提取的,就必须确定面容的区域,而且必须从整个图像辨别面容的特性。在此情形,可以根据距离图像的分布选择依照距离的频率。上述的结果由随后的支持矢量机(SVM,后面描述)辨别。
下面将说明由Gabor滤波器使用距离信息进行面容提取处理的步骤。
1.获得图像中面容大小(T像素×T像素)和距离(M cm)之间的关系。在图62中,水平轴对应距离,而垂直轴对应面容图像的大小。在垂直轴上,假设每个面容图像是方形的,并表示其边长。例如,在预定的距离拍摄图像,并让人测量该图像中的面容区域的大小。
2.频率域中的各峰值通过各个大小的面容图像的快速傅利叶变换(FFT)得到(参见图63)。拍摄不同大小的面容图像,并由此分别得出频率的各峰值。
3.获得距离和频率之间的关系(参见图64)。根据上述的1和2,获得如图64所示的距离和频率之间的关系。
(参见图65)1.对一个图像获得距离。
(分别对所述图像中的各像素确定三维坐标值。)2.从所述距离计算出频率。
根据在所述准备的步骤3中得到的关系计算频率。
3.用与所计算出的频率相关联的Gabor滤波器提取特征。
4.由支持矢量机辨别所得到的图像,以确定该图像是否对应一个特定的面容。补充尽管在上文已从各具体实施例的角度说明了本发明,但易于明了的是,在不违背本发明精神的情况下,本领域的技术人员可对各实施例进行修改或替代。
在本质上,本发明不必受限于所谓“机器人”的制品。即,本发明可类似地用于某些机械装置上,所述装置以通过电或磁效应模拟人的操作的方式运作,即使产品属于其它的产业领域,如玩具。
即,本发明已通过举例方式公开,而本说明书中的公开内容不应被视为限制。本发明的主旨必须首先根据权利要求部分确定。
产业上的可利用性根据本发明,提供了在预定时间内、在动态变化的操作环境下可响应的具有人类界面的一种机器人装置,以及可以用作为机器人的人类界面的良好的面容识别方法和面容识别装置。
此外,根据本发明,还提供了一种良好的机器人装置、面容识别方法和面容识别装置,允许在预定时间内、在动态变化的操作环境下识别用户的面容。
此外,根据本发明,还提供了一种良好的机器人装置、面容识别方法和面容识别装置,不需要如变形之类的位置控制,并且允许强壮的面容识别而不管旋转、位置变化等。
此外,根据本发明,还提供了一种良好的机器人装置、面容识别方法和面容识别装置,在具有不同的照明条件和照相机参数的环境下允许强壮的面容识别。
权利要求
1.一种自主运作的机器人,包括图像输入装置,用于输入面容图像;面容特征提取装置,用于使用具有方位选择性并与不同频率分量相关联的多个滤波器提取所述面容图像的各特征;及面容辨别装置,用于从其它各面容辨别一个特定面容,所述辨别通过使用核心函数非线性地映射由所述面容特征提取装置提取的所述面容特征、并通过获得在用所述映射获得的特征空间中分离的超平面而进行。
2.根据权利要求1所述的机器人装置,其中所述面容特征提取装置由Gabor滤波器实现,而所述面容辨别装置由支持矢量机实现。
3.根据权利要求1所述的机器人装置,其中所述面容特征提取装置包括滤波器改变装置,用于根据识别任务改变所述Gabor滤波器的类型。
4.根据权利要求1所述的机器人装置,其中所述面容特征提取装置在低频进行滤波时,欠取样(downsample)滤波后的图像,以减少滤波后图像的维数(dimension)。
5.一种面容识别装置,包括图像输入装置,用于输入面容图像;面容特征提取装置,用于使用具有方位选择性并与不同频率分量相关联的多个滤波器提取所述面容图像的各特征;及面容辨别装置,用于从其它各面容辨别一个特定面容,所述辨别通过使用核心函数非线性地映射由所述面容特征提取装置提取的所述面容特征、并通过获得在用所述映射获得的特征空间中分离的超平面而进行。
6.根据权利要求5所述的面容识别装置,其中所述面容特征提取装置由Gabor滤波器实现,而所述面容辨别装置由支持矢量机实现。
7.根据权利要求5所述的面容识别装置,其中所述面容特征提取装置包括滤波器改变装置,用于根据识别任务改变所述Gabor滤波器的类型。
8.根据权利要求5所述的面容识别装置,其中所述面容特征提取装置在低频进行滤波时,欠取样滤波后的图像,以减少滤波后图像的维数。
9.一种面容识别方法,包括图像输入步骤,用于输入面容图像;面容特征提取步骤,用于使用具有方位选择性并与不同频率分量相关联的多个滤波器提取所述面容图像的各特征;及面容辨别步骤,用于从其它各面容辨别一个特定面容,所述辨别通过使用核心函数非线性地映射在所述面容特征提取步骤中提取的所述面容特征、并通过获得在用所述映射获得的特征空间中分离的超平面而进行。
10.根据权利要求9所述的面容识别方法,其中在所述面容特征提取步骤中使用Gabor滤波器从所述输入图像提取面容的各特征,并且在所述面容辨别步骤中使用支持矢量机从其它各面容辨别一个特定面容。
11.根据权利要求9所述的面容识别方法,其中所述面容特征提取步骤包括滤波器改变步骤,用于根据识别任务改变所述Gabor滤波器的类型。
12.根据权利要求9所述的面容识别方法,其中在低频进行滤波时,滤波后的图像在所述面容特征提取步骤中被欠取样,以减少滤波后图像的维数。
全文摘要
一种机器人包括面容提取部件,用于提取包含在由CCD照相机拾取的图像中的面容特征;面容识别部件,用于根据由所述面容提取部件获得的所述面容提取结果来识别面容。所述面容提取部件由Gabor滤波器构成,所述Gabor滤波器通过使用多个具有方位选择性和不同频率分量的滤波器对图像滤波。所述面容识别部件由支持矢量机构成,所述支持矢量机将所述面容提取结果映射到非线性空间上并获得在空间中分离的超平面,从而从非面容区分面容。所述机器人能够在预定的时间内、在动态变化环境中识别用户面容。
文档编号G06K9/00GK1476589SQ02803094
公开日2004年2月18日 申请日期2002年8月21日 优先权日2001年8月23日
发明者横野顺, 佐部浩太郎, 太郎, 太, 河本献太 申请人:索尼公司