基于形象关联模式通讯录的设计与实现

2015-12-25 02:29张素娴张志豪
无锡职业技术学院学报 2015年1期
关键词:通讯录联系人人脸

张素娴,黄 俊,张志豪

(湖州师范学院 信息与工程学院,浙江 湖州 313000)

人脑对形象信息的理解远比对抽象信息的理解更有为效,用更加形象、直观的图形方式表达信息已成为人们日益追求研究目标[1]。与此同时,随着软硬件技术的发展,更加切合人类自然行为的人机交互技术也越来越受到人们的重视[2]。

在电脑、手机等电子产品中使用通讯录作为人脑与机器存储之间的一种常见接口,大大提高了人们对联系对象的记录与查询效率。传统通讯录通常用二维表结构存储联系人信息。这类通讯录可以很方便地通过关键字进行检索,比如常用的根据姓名进行查询的方式。根据人们的认知习惯与记忆规律,人的大脑更倾向于对图像、声音、气味等形象信息的存储与处理。人与人之间的信息交流已不仅局限于手机通话、短信等,还包括了以图像为媒介的信息传递与交流。“圈人”等基于人脸检测与识别的网络社交工具日渐风靡,表明可视化的信息交流将成为社交网络的重要需求。将联系人照片添加到通讯录中无疑是一种有效方法。然而,基于目前图像处理技术的发展程度,直接通过图像索引来查询通讯录的方式还远未普及。

本文结合人脑记忆特性,通过将有意义的人脸照片作为通讯录查询的入口,设计、开发一个通讯录管理工具,实现可视化的信息组织及查询,为将人的自然行为引入人机交互过程进行了初步尝试。本文认为,用户对一些有意义的照片具有较深刻的记忆。通过梳理记忆中的照片,能够更方便地找到朋友的联系信息。

1 设计方案

1.1 通讯录查找过程

传统通讯录的查找通常基于姓名匹配。比如要找“张三”的联系方式,需要直接在通讯录中以“张三”作为关键字进行搜索。用户在被查找的联系方式之间通过“姓名”这一高度抽象的载体进行一级关联。关联模式如图1所示。

图1 通过姓名的抽象关联模式

该图反映了在用户(U)与联系人(C)之间的关系,这种关系由关键字(K,如姓名等)进行关联。如式(1)所示。

关键字与联系人之间是一一对应关系。之所以称之为抽象关联,是因为在用户与关键字之间的对应是抽象的,即用户需维护一张抽象的关键字列表。目前有些通讯录也支持模糊查询,即可通过名称子串、相似串甚至别名等方式来索引联系人信息,但这种方式本质上并未改变这种抽象关联的本质。

本文设计的方案融合了“场景”、“肖像”等具体的载体,在用户与被查找的联系人之间建立了多级形象关联。如图2所示。

这种方式将用户对具体载体的记忆融入查询过程,即将用户与联系人之间的关系用形象化的记忆信息实行关联。如式(2)所示。

其中M表示用户的形象化记忆信息,该信息是掩映不同侧面的关键字的融合。用符号θ表示这种融合,则M可表示为:

图2 融合场景与肖像的形象关联模式

θ反映了M的构成,但具体表达与人脑的思维有关,可能有不同形式。在这个问题中,M是可知的,θ是不可知的,K对M的表征是不全面、不准确的。在软件设计中,通常的做法是选择更具代表性的K,以期望其更加准确地表征M。而如何在人机交互过程中直接引入M应该是提高软件易用性的途径之一。本文提出的方案在这一方面进行了初步尝试。

这种关联方式有以下优点:一是引入了具体化的场景、肖像等元素,使用户在查找过程中能够充分利用记忆中的形象信息进行检索;二是避免了传统通讯中由于“记不住名字”所带来的麻烦。

1.2 总体结构

为实现将有意义的照片与通讯录进行关联,将系统分为照片获取、人脸检测、通讯录管理三个模块。照片获取分别采用本地打开、实时拍摄两种方式;人脸检测主要实现人脸的定位及人数统计;通讯录管理分为编辑通讯录条目、管理已识别图片等功能。其中人脸的定位及人数统计是该系统的核心。系统总体结构如图3所示。

图3 系统总体结构

该图虚线上部表示通讯录的创建过程;虚线下方表示基于图库的联系人查找功能。经过系统处理的图片将被保存在图库中。用户可根据模糊的记忆通过该软件打开图库中的图片,进而获得图片中朋友的联系信息。

1.3 数据库设计

根据应用需求,一张照片往往包含多位联系人,基于形象关联模式的通讯录软件需要维护照片、联系人两大类信息,因此需分别针对图片及联系人创建数据表。本文设计了Picture表用于存储图片信息,包含图片的编号、名称、图中人数等字段。结构如表1所示。

表1 Picture表结构

Contact表用于存储联系人信息,包含联系人编号、姓名、电话、通讯地址、备注等字段。结构如表2所示。

表2 Contacts表结构

Picture表和Contact表的主键(id)及外键(picid)都不为空。关系如图4所示。

图4 Picture表和Contact表的关系

两张表建立关联主要目的是实现照片与联系人信息之间的关联,从而将人脑对场景及肖像的零散记忆融入通讯录查询过程。

2 系统实现

系统采用Java语言进行开发。照片中人脸的检测与计数采用 OpenCV(Open Source Computer Vision Library)[3]实现。OpenCV 是一款跨平台的开源计算机视觉库,广泛用于摄像机位置标定[4]、动态手势轨迹识别[5]、人脸检测与跟踪[6-8]等领域。

通过本文设计的通讯录软件,用户可打开本地图像或即时拍摄图像,然后分别针对图像中的人物添加通讯录并实现基于形象关联模式的查询与管理。主要实现了照片获取、人脸检测、通讯录管理等功能模块。

2.1 照片获取

照片获取采用两种方法,一是打开本地图像,二是实时拍摄。实际应用中可能以打开本地图像的方法更为常用。

(1)打开本地图像

采用MyEclipse内置的JFileChooser的对象创建文件打开界面,同时在Description中设置目录下可选文件格式,在accept函数中筛选出符合Description中的文件格式。核心代码如下:

若创建多个图片格式,需重写setFileFilter接口,及接口中的Description和accept函数。

(2)实时拍摄

该功能需要用到sun公司的媒体流的插件JMF。首先调用摄像头驱动接口,获得视频流地址,创建DataSourse的数据源,然后用Swing组件的方式调用摄像头显示视频流。同时还需要编写辅助线程用于播放点击时拍照的声音。显示视频流的核心代码如下所示:

点击拍照按钮时执行两项操作:一是在控件上显示图像流数据;二是保存图像文件。

2.2 人脸检测

本文用OpenCV确定人脸位置并计数,通过将图像扫描窗口中的内容与预存的人脸特征图片对比进行判断。为提高检测精度,首先采用级联分类器进行多重循环扫描,然后选择最合适分类器的结果作为最终结论。

识别期间采用多轮分层次的地毯式扫描,如果一个区域多次呈现与视觉库中模型相似的特重,则对该区域进行坐标标记,并进行计数。核心代码如下:

在识别后的图片中采用红色方框标出所有人脸区域,并给出照片中的人数。

3 通讯录管理

系统将保存已经检测过的图片,并对其进行管理,包括修改图像信息、根据姓名或其他关键字进行检索等,以便于更加有效地查找用户所需信息。该模型主要包含联系人的添加、更新、检索等功能。由于本文设计的通讯录将以图片及图中的人物肖像为索引。因此系统需针对图片中不同的人脸区域添加联系人信息,主要包括姓名、手机号、通讯地址等,还可以对相应人脸区域进行备注。

例如,系统打开一张照片,将首先检查该照片是否已存储在数据库中,如果未存储在数据库中,则意味着该照片尚未进行过人脸检测,接下来将启动人脸检测流程。经过人脸检测的图片,可以分别针对人脸区域编辑联系人信息,或通过点击人脸区域进行信息查询。

在后台以图片联系人编号检索数据库。在界面中将系统识别出的人脸位置与联系人数据建立一一关联,方便用户根据对照片的理解迅速找到联系人数据,提供了更为新颖的查询体验。系统界面如图5所示。

图5 系统界面

该图展示的是打开图片后系统自动识别出人脸区域,并在左下角显示人数统计结果。人脸区域的浅色矩形指示了系统识别出的人脸位置。在右侧区域可以进行通讯录管理。

4 结语

随着移动技术的发展及电子设备的普及,用户与系统之间的交互越来越占有突出的地位。针对目前的通讯录查询交互模式多基于抽象关键字列表的情况,本文提出一种用户与联系人之间的形象关联模式,并基于该模式实现了一款通讯录软件。利用该软件,用户可在对照片识别进行人脸检测的基础上进行联系人信息管理,从而实现了将用户记忆中的形象信息引入人机交互过程,有效提高了查询效果与软件应用趣味性。

[1] 戴超凡,王明利.研讨信息交互式可视化平台设计与实现[J].计算机工程,2010,36(1):238-240.

[2] 管业鹏.基于多模态视觉特征的自然人机交互[J].电子学报,2013,41(11):2223-2229.

[3] 陈胜勇,刘盛.基于OpenCV的计算机视觉技术实现[M].北京:科学出版社,2008.

[4] 李洪雷,管群,胡凯衡,等.VC++环境下基于OpenCV的摄像机标定系统的开发[J].计算机应用与软件,2011,28(6):19-21,31.

[5] 江超,艾矫燕.基于OpenCV的摄像头动态手势轨迹识别及其应用[J].计算机应用,2012,32(S1):128-133.

[6] 朱承志.基于OpenCV的人脸检测与跟踪[J].计算机工程与应用,2012,48(26):157-161.

[7] 陶颖军.基于OpenCV的人脸识别应用[J].计算机系统应用,2012,21(3):220-223.

[8] 张莹,李勇平,敖新宇.基于OpenCV的通用人脸检测模块设计[J].计算机工程与科学,2011,33(1):97-101.

猜你喜欢
通讯录联系人人脸
有特点的人脸
一起学画人脸
本期石友通讯录
通讯录
本期石友通讯录
美食通讯录
让重要联系人更醒目
为每个联系人设定不同的铃声
三国漫——人脸解锁
教你将手机联系人导出到Excel