图 2. 头部方位分为五个角区域,其中使用的人脸图像来自远 GTAV 人脸数据库 [3]。
由图 2,本文作者将一个人的视野(Field of View,FOV)分为中心视野和周边视野,具体包括下面三个分区:
中心视野(Central Field of View,CFV):这个视野位于人类视野的中心。该区域设置为 30° 的锥形区域(图 2 中为 75° 至 105°);
近周边视野(Near Peripheral Field of View,NPFV):定义为 CFV 区两侧 45° 扇形区域。在 CFV 的右侧(图 2 中为 30° 到 75° 之间),该区域被定义为右侧近周边视野(RNPFV),而在左侧(图 2 中为 105° 到 150° 之间),该区域被称为左侧近周边视野(LNPFV);
远周边视野(Far Peripheral Field of View,FPFV):这个视野存在于人视野边缘的两侧,具体包括右侧远周边视野(RFPFV)和左侧远周边视野(LFPFV)。
如果在 CFV/LNPFV/RNPFV 中检测到 VFOA,则机器人会产生头部转动动作(微弱信号)。如果检测到的 VFOA 在 LFPFV 或 RFPFV 中,则机器人产生摇头动作(强信号)。当机器人成功吸引目标人的注意时,通信信道建立模块(图 1(a)的右侧部分)尝试与目标人建立通信信道。机器人决定了注意力转移的程度,并向目标人发出一个感知信号,表明它想和她 / 他交流。机器人通过眨眼完成眼神交流。
2.1 视觉注意焦点的识别及其水平
本文重点关注的是:持续的注意力(Sustained Attention)和集中或转移的注意力(Focused or Shifted Attention)。集中注意力或转移注意力是由刺激或意外事件所导致的瞬时反应,而持续的注意力则是由任务决定的。本文根据视觉信号(Visual Cues)和注视模式来衡量 VFOA 及其水平。
1)获取视觉信号。一是,使用视觉机器的 faceAPI 来检测和跟踪目标人的头部姿势 h_p。二是,使用光流特征检测头部运动 h_m [4]。三是,重叠面窗口:如果检测到一个面部并且与最近的头部运动窗口重叠,h_m 大于 50%,则认为检测到重叠的面部窗口 o_f(o_f=1)。检测到重叠面窗口就意味着目标人把脸转向了机器人。本文使用 Viola-Jones AdaBoost-Haar-like 人脸检测器检测人脸 [5]。
2)注视模式分类。一个人的注视模式表明了他 / 她感兴趣的对象。一般来说,人类的注视模式分为三种。当一个人在没有任何特定任务的情况下观看场景时,也就是说,当她 / 他「只是看到」场景时,就发生了自发的观看(Spontaneous Viewing)。当一个人带着特定的问题或任务(例如,她 / 他可能对博物馆中的某一幅画感兴趣)观看场景时,会出现任务或场景相关的观看(Task or Scene-Relevant Viewing)。当受试者不太注意自己在看什么,而是在关注一些「内心的想法」时,就会出现思维观察的取向(Orientation of Thought Viewing)。本文讨论的是前两种注视模式,使用 SVM 进行两类注视模式的分类处理。
图 3. (a) 检测到的头部及其在图像中的位置。(b) 提取人脸特征点。(c) 基于人脸特征点的眼睛区域估计。(d) 检测到眼睛区域内的虹膜中心。
为了得到注视模式 Gp,本文考虑了头部在图像中的平移运动和虹膜在眼睛中的位置变化。图 3 给出了本文实验定位人头部的过程。首先定位到头部区域,之后利用 ASM 找到面部特征点,最后定位到虹膜中心。令 H_0 表示初始头部位置,E_t 为第 t 帧的眼睛注视位置(眼睛中相对虹膜位置)。T_Ht 表示来自 H_0 的头部运动的平移矢量,则第 t 帧的注视点 Q_t 确定如下:
Gp={Q_0,Q_1, ...,Q_L−1} 表示 L 帧的注视模式。图 4(a)示出了观看场景中的特定点(任务或与场景相关的观看)的人的注视模式,并且在图 4(b)中示出如何观看三个不同点(自发观看)。
图 4. 注视模式:(a)与任务或场景相关的观察;(b) 自发观看。
通过对注视模式的重心进行归一化处理,从注视模式数据中提取特征向量。假设 C_m 是重心,r_t 是从 C_m 到注视点 Q_t 的欧氏距离: