设为首页 加入收藏 期刊导航 网站地图
  • 首页
  • 期刊
    • 数学与物理
    • 地球与环境
    • 信息通讯
    • 经济与管理
    • 生命科学
    • 工程技术
    • 医药卫生
    • 人文社科
    • 化学与材料
  • 会议
  • 合作
  • 新闻
  • 我们
  • 招聘
  • 千人智库
  • 我要投搞
  • 办刊

期刊菜单

  • ●领域
  • ●编委
  • ●投稿须知
  • ●最新文章
  • ●检索
  • ●投稿

文章导航

  • ●Abstract
  • ●Full-Text PDF
  • ●Full-Text HTML
  • ●Full-Text ePUB
  • ●Linked References
  • ●How to Cite this Article
Computer Science and Application 计算机科学与应用, 2012, 2, 240-245
http://dx.doi.org/10.12677/csa.2012.25042 Published Online December 2012 (http://www.hanspub.org/journal/csa.html)
Human Localization Based on Audio-Video System on
Mobile Robot
Kai Wen, Junchuan Liu
School of Mechanical and Automation, Beihang University, Beijing
Email: kwenbuaa@gmail.com
Received: Oct. 25th, 2012; revised: Nov. 11th, 2012; accepted: Nov. 26th, 2012
Abstract: In this paper, we introduce an audio-video system to help mobile robot to locate human. For the position of
human, the auditory system of robot is used to locate the sound azimuth. Then, the survey uses video system to detect
the abscissa of human face in the video for horizontal angle compensation; the robot is then guided to the user. The in-
novation of this paper is to put forward a kind of method to locate target people using a quaternary cross microphone
array and monocular vision. The off-line results show that the audio-video system is feasible to locate human in the in-
telligent information household robot.
Keywords: Mobile Robot; Sound Source Localization; Face Detection
基于移动机器人听觉–视觉的目标人定位
温 凯,刘军传
北京航空航天大学机械工程及自动化学院,北京
Email: kwenbuaa@gmail.com
收稿日期:2012 年10 月25日;修回日期:2012 年11 月11日;录用日期:2012 年11月26 日
摘 要:介绍了一种用于移动机器人搜索目标人方位的听觉和视觉一体的定位方法。针对目标人的位置,利用
机器人听觉定位系统进行声源水平方向初定位。在此基础上,用视觉检测人脸中心在摄像头视野中的位置,进
行水平角度补偿,引导机器人走向目标人。本文的创新点在于提出了一种四元十字麦克风阵和单目视觉联合对
目标人进行定位的方法。离线实验表明,这种声视一体的定位方法在家用机器人目标人定位上是可行的。
关键词:移动机器人;声源定位;人脸检测
1. 引言
近年来,融合平板电脑技术和移动机器人技术的
智能信息家用机器人已经开始进入人们的生活。用户
使用机器人的信息服务时,经常需要走到机器人前去
操作,非常不便。为方便使用,在用户召唤时让机器
人自己走到用户前,是很有意义也很有必要的。
对目标人的定位是实现机器人响应用户召唤走
到用户面前的基础,利用声源或视觉对目标人进行定
位是一种便捷有效的方法,得到了国内外众多研究者
的关注。
Huang 等人[1]利用安装在机器人头部成正四面体
结构的四个麦克风进行声源轴向角和仰角的定位,互
相关函数和互功率谱相位差分别被用于时延估计。
Valin 等人[2]开发研制了避障机器人。他们在机器
人上搭载了8个麦克风,机器人具有鲁棒的定位性能
和通过使用波束成形和粒子滤波能跟踪几个同时声
源。
Ishi[3]对机器人在办公室环境和室外环境下的声
Copyright © 2012 Hanspub
240
基于移动机器人听觉–视觉的目标人定位
源定位进行了研究。用到的麦克风阵列是十四通道
的,声源定位方法是多重信号分类方法(MUSIC)。
国内邵怀宗等[4]基于麦克风均匀圆阵,采用改进
的MUSIC 算法对近场声源进行定位。顿向明等人[5]
用五元麦克风阵列和改进的时延估计算法来定位储
罐内爬壁机器人的位姿。15 m 内该系统定位距离误差
在12 cm 内,方向角误差在 15˚以内。
在上述声源定位方法中,五元麦克风阵列和十四
通道阵用到的麦克风阵元数量较多,不便在家用机器
人上安装。采用八通道麦克风阵列和正四面体结构可
获得较高的定位精度,但对机器人上的安装空间和安
装精度提出了更高的要求。
Okuno 和Nakadai[6]等融合听觉事件形成的听觉
流与视觉事件形成的视觉流生成联合流,以控制SIG
机器人注意力的转移,听觉用的是双耳听觉,视觉用
了两个 CCD 摄像头。听觉事件为声源方向估计,视
觉事件为多人人脸检测。
河北工业大学的陈涛、张明路等人[7],用双耳听
觉系统确定声源的粗方位,然后用双目视觉系统进行
水平方位角误差补偿,垂直标高角的评估和声源距离
的评估。
使用双目视觉定位需要对摄像机进行精确标定,
并且对图像处理和配准有很高的要求,在家庭环境中
使用很容易受到环境因素的干扰。
本文在移动机器人上设计了一个四通道十字型
的麦克风阵列来获取目标人的水平方位角,定位精度
要在 15˚内,以便机器人声源定位,转过相应角度后,
目标人出现在机器人视野中。然后用单目摄像头检测
目标人脸在摄像头图像中的位置。视觉检测结果用来
对听觉定位进行补偿,具体检测流程如图1示。
本文离线验证了声源定位和人脸检测算法,探索
了声视一体定位算法的可行性。
2. 声视一体定位原理
2.1. 听觉系统对声源的定位
2.1.1. 定位原理
麦克风阵列定位的基本原理是将麦克风在空间
布置成一定几何形状的阵列,通过检测和计算各麦克
风所得信号的时延,然后根据时延估计值和阵元几何
关系来确定目标的位置。
人脸中心在摄像头
正中区域?
用户召唤
声源定位
摄像头拍照检
测人脸位置
向前走
机器人顺
时针转1度
机器人逆
时针转1度
人脸中心在左
侧?
Y
N
Y
N
传感器检测到人体,
机器人停止运动
Figure 1. The process of localization based on audio-video system
图1. 声视一体定位流程
2.1.2. 时延估计算法
本文采用广义互相关算法(GCC)[8]作为时延估计
算法。
麦克风 i和j在t时刻接收到的信号幅值


i
x
t和


j
x
t为:





iiii
x
tst n

t
(1)




jjjj
x
tst n

t (2)
其中,


s
t为声源在t时刻接收到的信号幅值, i

、
和
i
ni

是声源到 i麦克风的幅值衰减系数,加性噪声
和时延值。
j

、
j
n和
j

是声源到 j麦克风的幅值衰
减系数,加性噪声和时延值。接收信号

i
x
t和


j
x
t的
互相关函数


ij
R

为:
 



iji j
RExtxt


 (3)
由互相关函数与互功率谱的关系[7]可得:
 
π
0d
j
ij ij
RGe





e
(4)
两信号的广义互相关函数[7]可表示为:
 
π
0d
gj
ijij ij
RG





(5)
式5中


ij


为加权函数,本文加权函数为




1
ij ij
G




,在频域乘以加权函数可以削弱噪
声的影响,起到了锐化互相关函数和抗噪声效果。由
信号的相关性可知,求得

ij
R

的峰值时刻对应的

值,就是 i,j两麦克风的时延值。
Copyright © 2012 Hanspub 241
基于移动机器人听觉–视觉的目标人定位
2.1.3. 四元十字位置估计算法
出于成本、定位精度和复杂度的考虑,本文选择
四元十字麦克风阵列,如图2所示。
M1~M4 表示 1~4 号麦克风,坐标系以 M1~M4
所在平面为 XOY 平面,垂直麦克风阵列中心向上的
轴为 Z轴,规定在麦克风阵列XY 平面,以 X正方向
为始边,逆时间为正方向,顺时针为负方向。声源的
位置为,各阵元到中心间距 d为20 cm,
表示声源到 i麦克风的距离。r和

,,Sxyz

1~ 4

Lii 

分别
表示声源到麦克风阵列中心的距离和水平角。在三维
坐标系中,利用几何关系,可得下列方程组:




2222
222 2
1
2
22
2
222 2
3
2
22
4
2112
3113
4114
xyzr
2
2
x
dyzL
x
ydz L
x
dyzL
x
ydz L
LL c
LL c
LL c






 




 






(5)
上式中,c是常温下声速, ij

表示声音到达麦克
风i和j的时延,当声源在不同的象限时,解方程组(5)
可得:
当

在第一象限,即 13 0


,241412 0


时,
或

在第四象限,即 13 0

24
,1412 0


时,
14 12
13
arctan




 (6)
当

在第二象限,即 13 0

,241412 0


时,
14 12
13
arctan 180




 (7)
当

在第三象限,即 13 0

,241412 0


时,
14 12
13
arctan 180






(8)
由式(6)~(8)可看出,声源三维坐标

,,
x
yz 在水平
方位角计算过程中被抵消了。水平方位角可用各麦克
风间的时延值

ij
R

求得。此方程组还可以求出声源
到阵元中心的距离和声源的俯仰角。但本系统主要应
用的是水平角,所以距离和俯仰角不做研究。
M1
M2
M3
M4
S
X
Y
L2
(x,y,z)
Z
r
O
Y
X
OM1
M2
M3
M4
S
(x,y)

d
Figure 2. Microphone array
图2. 麦克风阵列
2.2. 视觉人脸检测
人脸检测就是从各种不同图像中确定人脸的存
在,并且确定人脸的位置和数量。2001 年Viola 和
Jones[9]提出了Adaboost 人脸检测方法。他们的方法是
目前检测正确率最高,速度最快的算法之一。
2.2.1. Adaboost 人脸检测原理
Adaboost 人脸检测方法是一种基于积分图、分类
器和 Adaboost 算法的方法。
1) 特征的选取,特征值和分类器
在人脸检测过程中,需要对候选图像进行分析,
判断是否为人脸,多数人脸检测系统都是使用特征对
人脸模式进行建模,这些特征都应有一定的人脸和非
人脸区分性。Adaboost 用于人脸检测时,需要从人脸
中抽取大量的简单特征。本算法选择由Rainer Lien-
hart[10]等人提出的扩展的 Haar 型特征,如图 3~5所示。
Haar 型特征值的定义是黑色矩形和白色矩形在
图像子窗口中对应的区域的灰度级总和之差,而积分
图法是一种快速计算特征值的方法。
Figure 3. Edge feature
图3. 边缘特征
Figure 4. Surrounded feature
图4. 环绕特征
Figure 5. Line feature
图5. 线特征
Copyright © 2012 Hanspub
242
基于移动机器人听觉–视觉的目标人定位
分类器是 Viloa [11]等人通过计算每个Haar 特征的
特征值是否达到人脸域值,从而判定一个图形区域是
否为人脸区域的规则。
2) Adaboost 算法
Adaboost 算法的基本思想就是将大量分类能力
一般的弱分类器通过一定方法叠加(boost)起来,构成
一个分类能力很强的强分类器,再将若干个强分类器
串联成为分级分类器完成图像搜索检测。每一层分类
器经过 Adaboost 算法训练后都能让几乎全部正例样
本通过,而拒绝很大一部分非人脸样本。最终通过所
有层筛选的样本被接受为人脸窗口。检测过程如图 6
所示。
2.2.2. 实现方法
本文的人脸检测是在Windows下利用 VS2008,
以OpenCV2.3.1 为基础,利用库中的相关函数为基础
进行处理。
OpenCV 的人脸检测函数采用了 Viola & Jones人
脸检测方法,主要是调用训练好的瀑布级联分类器
cascade 来进行模式匹配。
2.2.3. 脸部检测流程
OpenCV 人脸检测流程如图 7所示。
第一层
分类器
第二层
分类器
第N层分
类器
…
所有扫
描窗口
被拒绝
的窗口
T
F
T
被拒绝
的窗口
被拒绝
的窗口
T人脸
窗口
FF
Figure 6. The detection cascade
图6. 级联检测器
cvLoadImage
cvCvtcolor
cvEqualizeHist
cvHaarDetect
Objects
cvRect
载入图像
灰度图像
直方图归一化
Haar检测
结果存放
Figure 7. Process of OpenCV face detection
图7. OpenCV 脸部检测流程图
首先输入图像,当检测到脸部后需利用 cvCvt-
color()转化为灰度图像,利用 cvEqualizeHist()进行直
方图归一化处理。再用 cvLoad()从文件中加载人脸检
测模版 CvHaarClassifierCascade 变量,然后利用 cv-
HaarDetectObjects()来进行检测,函数使用针对某目标
物体训练的级联分类器在图像中找到包含目标物体
的矩形区域和位置,并且将这些区域和位置作为一序
列的矩形框返回,最终检测结果保存在 cvRect 变量
中。
3. 离线定位实验
3.1. 声源定位实验
麦克风实验数据采集是在长10 m宽5 m高4 m
的走廊大厅里进行的。麦克风阵列在机器人上的布置
如图 8所示。人站在距离机器人3 m 处,当采集卡上
的指示灯亮时,对机器人说话,机器人上的声音采集
卡采集 1秒种人说话的声音,过程如图9所示。
采集硬件是置于机器人上自制的 STM32单片机
采集卡。软件程序是用定时器控制采集间隔,每100 us
进入一次中断,在中断中用DMA 将四路AD 转化后
的麦克风信号存储到FLASH 中。
xy
z
O
Figure 8. Robot phototype
图8. 机器人样机
θ
x
y
z
O
S
Figure 9. Sound acquisition
图9. 声音采集过程
Copyright © 2012 Hanspub 243
基于移动机器人听觉–视觉的目标人定位
离线处理时,将 FLASH 中的数据通过串口传到
PC 机上,在Matlab 上将采到的四路语音信号分别代
入式(1)~(5)中求 得时延 值,再 将时延 值代入 式(6 )~(8)
中即可求得目标人水平方位角。处理过程的图示如图
10 和11。声源定位结果如表 1所示。
图10 显示的是目标人在阵元中心135 度时,各
麦克风采集到的声音信号幅值。图11 是1,4麦克风
互相关函数图,求出图中互相关函数峰值时刻与中心
点的点数并除以采样率,即可得到时延值。
表1中人的位置 表示目标人相对于机器人坐标
系的水平方位角,计算位置 是由麦克风阵列计算出
的目标人的水平方位角。由表1对数据结果进行分析,
可以看出,误差基本在 10度以内,满足设计目标。
经过分析,走廊里人走路的脚步声以及单片机的 AD
转化精度等,均会对声源定位的结果造成影响。
Figure 10. Voice signal collected by every microphone
图10. 各麦克风收到的语音信号
Figure 11. Cross-correlation function of microphone 1 and micro-
phone 4
图11. 麦克风 1与4的互相关函数图
Table 1. Experiment result
表1. 测试结果
人的位置 θ(˚) 030 45 60 90 120
计算位置 θ'(˚) 023.2 45 60.3 90.0 126.9
人的位置 θ(˚) 135 150 180 –30 –45
计算位置 θ'(˚) 130.6144.5 180 –26.6–39.8
人的位置 θ(˚) –60 –90 –120 –135–150
计算位置 θ'(˚) –58.0 –90 –119.7 –135–148.0
3.2. 人脸检测结果
在Matlab 上求出声源定位角后,将此角度输给机
器人,控制机器人转过相应角度。下一步用机器人摄
像头拍摄照片,将所拍照片在 PC 机上进行人脸检测,
求出人脸位置和区域,补偿声源定位的水平角。
人脸检测用到的图片是用机器人操作系统自带
的摄像头拍摄所得。摄像头是OV9650 的130 万像素
CMOS 摄像头,所拍图片尺寸是 1280 × 960。人脸检
测的过程,是将采集到的照片放到 PC 机上,在VS2008
下用 OpenCV2.3.1 处理。
几种不同背景和光照条件下的检测结果如图
12(a)~(d)所示,图像下面的数字表示图像在水平方向
的坐标值,单位是像素点数。图12(a)~(d)中人脸中心
水平坐标值分别是 617、726、525 和519,红圈中的
区域表示检测到的人脸区域。
结果表明,视觉检测算法在不同光照、背景繁简
和人脸正对摄像头并且没有遮挡的情况下,均可以检
测到人脸区域和位置。
本文设定摄像头图像左边区域是横坐标在 0~600
像素点内的区域,中心区域为图像横坐标在 600~680
像素点内的区域,右边区域为图像横坐标在 680~1280
像素点内的区域。
按照图 1中的流程,当检测到人脸中心横坐标后,
就可以根据检测到的坐标值调整机器人姿态了。图
12(a)中人脸中心坐标为617,在图像正中区域,所以
机器人不用校正,向前走;图 12(b)中人脸中心坐标为
726,在图像右边区域,机器人需顺时针方向转动校
正,图 12(c)和(d)中人脸中心分别为525 和519,人 脸
中心在图像左边区域,机器人需逆时针方向转动校
正,待目标人出现在视野正中区域后,则向前走,当
传感器检测到人体后,机器人停止运动。
Copyright © 2012 Hanspub
244
基于移动机器人听觉–视觉的目标人定位
Copyright © 2012 Hanspub 245
0600 680128006006801280
(a) (b)
0600 68012800600 6801280
(c) (d)
Figure 12. Results of face detection: (a) Bright light; (b) Dark light;
(c) Complex background; (d) Simple background
图12. 人脸检测结果:(a) 光线明亮;(b) 光线较暗;(c) 背景复杂;
(d) 背景简单
4. 结论与展望
本文的实验是将机器人摄像头上拍摄的图像和
机器人上的 STM32 单片机采集到的麦克风数据,离
线在 PC 机上处理的。通过对麦克风阵列的离线定位
结果分析,可以看出,四元十字的麦克风阵列,可以
满足移动机器人对目标人在水平方位角的初步定位。
在此基础上,基于 OpenCV的人脸检测系统,可以较
好地在图像中检测出人脸中心位置,以便对声源定位
结果进行补偿。离线实验表明,此定位方法可以用于
家用移动机器人目标人的定位。
本文用离线的方式探索了采用声视觉联合定位
方法对目标人进行定位的可行性,下一步工作是在机
器人上位机 Tiny210 上采集麦克风的声音,在 Tiny210
的Linux 系统上实时定位声源,并将人脸检测程序移
植到在 Tiny210 的Linux 操作系统中,实时对人脸进
行检测,实现机器人对目标人的在线定位。
参考文献 (References)
[1] J. Huang, K. Kume, A. Saji, et al. Robotic spatial sound local-
ization and its 3-D sound human interface. Tokyo: Proceedings
of the 1st International Symposium on Cyber Worlds, 2002: 191-
197.
[2] J. M. Valin, F. Michaud, J. Rouat, et al. Robust localization and
tracking of simultaneous moving sound source using beamform-
ing and particle filtering. Robotics and Autonomous Systems
Journal, 2007, 55(3): 216-228.
[3] C. T. Ishi, O. Chatot, H. Ishiguro, et al. Evaluation of a MUSIC-
based real-time sound localization of multiple sound sources in
real nosiy environments. St Louis: IEEE/RSJ International Con-
ference on Intellignet Robots and Systems, 2009: 2027-2032.
[4] 邵怀宗, 林静然, 彭启琮等. 基于麦克风阵列的声源定位研
究[J]. 云南民族大学学报(自然科学版), 2004, 13(4): 256-258.
[5] 顿向明, 缪松华, 沈静等. 基于麦克风阵列的储罐内爬壁机
器人定位技术[J]. 机器人, 2012, 34(4): 460-465.
[6] K. Nakadai, K. Hidai, H. Mizoguchi, et al. Real-time auditory
and visual multiple-object tracking for humanoids. Seattle: Pro-
ceedings of the 17th International Joint Conference on Artificial
Intelligence, 2001: 1425-1436.
[7] 陈涛, 张明路, 付灵丽. 基于机器人听觉–视觉系统的声源
目标定位[J]. 计算机应用, 2009, 9(9): 2471-2480.
[8] H. Charles, G. Knapp and C. Carter. The generalized correlation
method for estimation of time delay. IEEE Transactions On
Acoustics, Speech, and Signal Processing, 1976, 24(4): 320-327.
[9] P. Viola, M. Jones. Robust real time object detection. Vancouver:
2nd International Workshop on Statistical and Computational
Theories of Vision: Modeling, Learning, Computing, and Sam-
pling, 13 July 2001: 151-155.
[10] R. Lienhart, J. Maydt. An extended set of haar-like features for
rapid object detection. IEEE ICIP, 2002, 1: 900-903.
[11] P. Viola, M. Jones. Rapid object detection using a boosted cas-
cade of simple features. Kauai: IEEE Conference on Computer
Vision and Pattern Recognition, 2001.

版权所有:汉斯出版社 (Hans Publishers) Copyright © 2012 Hans Publishers Inc. All rights reserved.