新闻中心

EEPW首页 > 医疗电子 > 设计应用 > 智能移动人脸辨识系统——跟我走机器人

智能移动人脸辨识系统——跟我走机器人

作者:香港中文大学 张立志 傅家权 张小明 张建宏时间:2007-03-12来源:电子产品世界收藏

摘要: 本文以发展具有功能的智能为目标。的名称为“跟我走”。它能够根据的结果,判断用户的身份,并跟随该用户。系统的开发建基于英特尔 XScale 微处理器平台、Linux操作系统和 QT/Embedded 图形使用者接口。为了建构一个智能机器人,我们在系统上加入了基于 (EBGM) 的程序,运用了算法的功能。系统提供了简易的用户介面,方便管理和下达指令。“跟我走机器人” 除了应用于娱乐外,亦可胜任各种工业应用。

关键词;机器人;人脸辨识;

本文引用地址:http://www.eepw.com.cn/article/41134.htm

前言

机器人在社会中的重要性与日俱增,原因在于我们每日所完成的许多工作都是按部就班进行的,无需思虑。这些工作可以由一个机器人来轻松地完成,有时候,机器人的表现要远远优于人类的表现。随着SONY“机器狗”[1]的流行,近年来涌现出一类新的机器人。这类能模仿人类行为的新型机器人在国际玩具市场上目前极为流行。

为了将这种智能玩具技术推向更高的发展水平,我们开发了“跟我走”机器人,它拥有能识别人并跟踪人的新功能。面部识别的功能使得机器人更为人性化,能辨认出不同的人。这一功能使得机器人在很大程度上实现了人性化,主人的家庭可以轻松地接纳它为家庭中的一员。我们选择人脸作为验证的依据,因为它的可分辨性好,而且难以为其他人所复制。此外,与虹膜识别和指纹识别相比,用户在进行人脸识别时所费的周章更少,而且用户不那么容易察觉到识别过程的存在。

在本系统中,我们选用了(Elastic Bunch Graph Matching,EBGM)方法作为识别时的面部辨认算法。该算法的细节将在后面详细解释。运动跟踪功能也是机器人的一项基本功能,它可以使机器人自动跟随主人,从而增强了系统的可移动性。

在人脸识别方面存在的主要困难,是如何确定图像中人脸的位置。本系统的解决之道是多次采集用户的图像,并要求用户眨眼睛以便能找到眼睛的所在。这种方法也防止了其他人拿着用户的相片来欺骗系统。

拥有XScale处理器的LIOD系统成为我们所研制的这款机器人的内核。Xscale处理器的软件经过了优化,使得它能够瞬时执行面部识别算法和运动跟踪功能。XScale PXA270处理器对我们的应用来说已经足够了,因为我们的系统所用的EBGM算法针对运行时间的需求进行了优化,它适合于移植到嵌入式系统。

在本文的余下部分,我们将逐步阐述我们的思想和实现方法,展示系统整体的工作流程,软件和硬件之间的协同以及本项目的实验结果。
这是一个精简版的报告,完整版本可以从如下网址下载:http://pc89225.cse.cuhk.edu.hk/intelcup/

系统描述

总体结构

本项目需要采用的一个主要部件就是摄像机。一旦系统启动,摄像机就必须完成初始化。
图1示出了系统的总体工作流程。系统由3个部分组成,包括“识别”,“登记”和“运动跟踪”。用户在启动任何其他流程前应该启动“识别模式”。这可以确保机器人能够在执行任何功能前识别出合法主人。如果验证后没有指令发送到系统中,它会保持在“空闲模式”。

图1  系统工作原理图

处于“空闲模式”时,系统连续捕捉和显示图像,同时等待进一步指令。用户此时可以选择“登记模式”还是“运动跟踪模式”。

“登记模式”允许有新用户添加到系统中。在“运动跟踪”模式中,机器人将自动跟踪它的主人。下面,我们将依次讨论这3个部分。

识别/登记模式

“识别模式”和“登记模式”基本上是类似的。

为了执行“识别/登记步骤”,系统必须首先通过基于图像差异技术的“眼部检测算法”来获取眼睛的位置。当用户眨眼睛时,在由摄像机连续捕捉到的图像上,除了其眼睛位置出现差异外,其余部分将始终保持不变。于是,一旦用户进入“识别/登记模式”,系统将连续捕捉图像,并传递给“眼睛捕捉算法”,以找出眼睛的位置。如果系统能正确找出眼睛的位置,用户可以选择进入“识别”或是登记步骤,这将触发弹性图匹配(EBGM)算法。

“眨眼”判断法利用了网络摄像头可以轻松捕捉多幅图像的特点,可以让用户参与到验证过程中,从而增强了机器人的可交互特性。

在“登记步骤”中将存储一个记录,以备进一步的匹配。对于“识别步骤”来说,它是一个“1对N”的过程。系统将对每项记录进行比较,如果用户与那些已登记的图像一致,则显示一个记号。这一工作流程的优点在于,在传递到“识别/登记步骤”(人脸识别算法)之前,对眼睛位置的识别的正确性得到了保证。该工作流程提高了人脸识别算法的检测成功率。

运动跟踪模式

当运动跟踪功能启动时,程序以固定的间隔连续运行。为了实现图像的平滑显示,一旦用户进入“运动跟踪模式”,程序控制就转回主程序执行。“以QT捕捉和显示”则与“运动跟踪步骤”并行执行。不利之处在于“运动跟踪步骤”可能会丢弃部分图像。系统可能无法保持对微小运动的敏感性。但是,这样的安排仍然适合于我们的应用,能够跟踪人的移动。

具体实现

硬件

*总体结构

图2示出了系统的总体架构。我们下面将对这些部件逐个进行讨论。

图2 硬件之间的交互关系

*机器人(见图3)

图3 机器人设计的总体框图

87C552微控制器

87C552微控制器起到PXA270开发板与电机驱动之间的桥梁作用。我们之所以选用87C552,是因为它支持一个集成化的脉宽调制(PWM)模块,它可以提供2个8bit PWM通道。MCU接收来自于PXA270板的控制指令,从而产生输出到L298电机驱动器的PWM信号。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

linux相关文章:linux教程


脉宽调制相关文章:脉宽调制原理


评论


相关推荐

技术专区

关闭