【Android论文栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了Android论文-基于android系统的图像内容检测 - 期刊论文的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
网络出版时间:2012-08-13 11:30网络出版地址:http://www.cnki.net/kcms/detail/12.1151.TP.20120813.1130.010.html 软件 2012 年第 33 卷 第 6 期 Software 国际 IT 传媒品牌 基于
android系统的图像内容检测 鄢志勇,王嘉梅 (云南民族大学,云南 昆明 650500) 摘 要:本文提出一中基于
android 系统的人脸检测方法,可以针对不同分辨率下的多个人脸进行检测,并针对多检测目标环境 提出了修正算法,结果证明能提高多人脸检测条件下的识别正确率。
利用 SQLite 创建基于图像内容的特征数据库,以特征检索的 方式对图像进行分类。
同时介绍了基于 Windows 系统的
Android 开发环境搭建和算法实现的关键步骤。
关键词:
Android;SQLite;人脸检测;数据库;特征检索 中图分类号:TP391 文献标识码:A DoI: 10.3969/j.issn.1003-6970.2012.06.011 Image Content Detection based on the
Android System YaN Zhi-yong waNG Jia-mei Yunnan Nationalities University Yunnan Kunming 650500 China 【Abstract】 this paper proposes a way to detect faces based on
android system. It provides an algorithm amended to recognize faces in different resolutions. the results proved to be improving the accuracy of recognition in multiface detection.Create an image feature data- base using SQLite then to classify images according to the image feature retrieve based on image contents. at the same time it also intro- duces how to set up the
android development environment based on windows system and implement the algorithm. 【Key words】 AndroidSQLite Face Detect Database Feature Retrieve 0 引 言 1.1 搭载软件开发环境 Windows 系统下,需要安装与配置相应的 JDK、
Android Android 是以 Linux 为基础针对移动设别(例如智能手机、 SDK、Eclipse IDE 以及 ADT。
首先,需要先配置好 JAVA 的 平板电脑等)的以一款开源操作系统,是当前三大手机智能操 运行环境 , (JDK)安装完后打开 cmd 窗口,输入 java -version 作系统之一。
它是由 Google 公司所领导的开放手持设备联盟 查看 JDK 的版本,结果信息如图 1 检测 JAVA 版本。
开发 ,并于 2007 年 11 月 5 日正式向公众展示其操作系统,次 年九月发布了第一个版本的
android 操作系统。
基于
android 系统自身的优势,其吸引了大批手机制造商及程序开发者涌 图 1 检测 JAVA 版本 入,市场份额增长迅速。
于 2011 年第一季度,
Android 在全球 的市场份额首次超过塞班系统,跃居全球第一。
2012 年 2 月 在 接 下 来 安 装
Android SDK, 安 装 前 需 要 先 要 先 到 数据,
Android 占据全球智能手机操作系统市场 52.5 的份额,
Android Developer 下载与计算机相匹配的 SDK 版本。
安装 中国市场占有率为 68.41。
完成后配置环境变量,有两个 PATH 路径需要配置。
一个是 ; (
android-sdk-windowstools) 另一个为(
android-sdk- 1 开发环境 windowsplatform-tools。
配置好后,重新启动计算机,进入
Android 支 持 在 多 个 系 统 下 进 行 开 发, 如 MAC OS、 例 cmd 命令窗口, 运行
android -h 检查 SDK 信息,结果如图 windows 及 Linux 等, 比 较 而 言 在 Linux 下 效 率 会 高 些, 相 2 检查 SDK。
因为
Android 本生就是基于 Linux 的。
但无论在那一操作系 最后,安装 Eclipse 并配置 Google 为 Eclipse 提供的开发 统下都需要运用 Google 提供的 SDK 开发工具利用 JAVA 语 在安装好 Eclipse 后, 工具 ADT。
进入菜单“Help”-gt“Install 言进行开发,同时也可以利用一些辅助软件减少编程中的重 然 New Software”中 添 加 ADT 工 具, 后 在 选 Window gt 复代码(如 Eclipse)。
本文介绍在 windows 操作系统下利用 Preferences 菜单中选择
android 标签并配置好 SDK 的安装路 2 Eclipse 来搭建
Android 开发环境 。
径,之后就可以在 Eclipse 中根据需要创建
android 虚拟机 3。
作者简介:鄢志勇 , 在读硕士, (1987-)男, 主要研究方向:图像处理,
Android 应用开发; 通信联系人:王嘉梅,教授,主要研究方向:图像处理 . 35 软件杂志欢迎推荐投稿:http://www.ccomsoft.com/软件 (您的文章得到院士的关注) 鄢志勇 等:基于
android 系统的图像内容检测 择、分类特征选择、显示分类或处理结果。
其与用户的交互过 程如图 4 UI 功能 这个过程通过三个 Activity 来实现,第一 个 Activity 中实现用户处理方式的选择,第二个 Activity 实 现对应参数的设定,最后一个显示执行过程的进度并显示执 行结果。
三个界面的的显示效果在 layout 中进行设定,不同 Activity 间利用 Intend 类实现参数的传递。
值得注意的是,在 图 2 检测 SDK 处理阶段由于移动设备性能有限,处理过程可能需要一定时间2 实现步骤 为不影响用户进行其他操作,开启了 service 执行新线程以便 占用时间的识别分类过程在新线程中运行。
在
android 系统下,实现人脸识别并以人脸个数将图像进 处理方式选择行分类,需要完成识别人脸 4、统计人脸个数、创建图像特征数据库 5、匹配图像等关键步骤 6。
其实现过程如图 3 系统实现过程,其中人脸识别后根据用户选择的处理参数对图像显示或 仅识别人脸 识别人脸并分类分类。
如果用户选择的是单幅图像人脸识别则直接显示识别 选择识别参数及结果,相应的如果用户选择的是对多个图像根据特征进行分类 选择识别参数 分类方式则创建数据库 7-8 并根据特征进行分类。
图像文件 开始执行 图像预处理 显示识别结果 图 4 UI 功能 Y 2.2 人脸检测与分类 人脸识别 特征提取写入数据库 人脸检测大体可归结为以下几类:基于图像的方法,如积 N 分投影法、马赛克图像法、对称性分析法等;基于模板的方法, 图像匹配并分类 将特征写入数据库 如可变形模板法、活动轮廓模型法等;基于统计学习的方法,如 并显示结果 特征脸方法、视觉学习方法、神经网络法等 9-10。
其一般过程如 图 3 系统实现过程 图 5 人脸检测过程。
其中图像文件读取 sdcard 根目录中 Classify 文件夹中的图像信息,读取文件利
android 提供的 BitmapFactory 类来实 输入图像现。
而解码格式统一采用了 ARG_8888 以此来保证图像的质 确定候选人量,如若用户硬件不支持程序会自动根据用户手机的屏幕参数 脸区域来进行调整。
在图像预处理中主要完成图像在进行人脸识别前的一些准备工作,获取图像的基本参数并对图像进行相应调 人脸是否存在 标记图像整以便识别工作的顺利完成,主要包括:获取读入位图的大小 N Y信息,并与屏幕大小进行比较,如果大于屏幕则对图像进行变 确定人脸数及 输出参数换以变图像能够在屏幕上完全显示出来,如果小于屏幕尺寸则 计算眼中距不做处理。
获取屏幕主要代码如下: // 创 建 WindowManager 类, 利 用 其 方 法 输出相关参数getDefaultDisplay 获取屏幕参数 图 5 人脸检测过程 WindowManager windowManager getWindow- 首先,确定图像中的候选人脸区域;其次,利用人脸检测器Manager 判别候选人脸区域是否包含人脸;如果包含人脸则继续搜索人 Display display windowManager.getDefaultDis- 脸张数并根据双眼位置计算每个人脸的眼中距,为了提高准确play 性这一过程可重复验证;最后,通过对前面步骤检测结果的综 screenWidth display.getWidth 合处理,输出图像中人脸张数以及各脸中中双眼的中距位置等 screenHeight display.getHeight 特征参数。
本文利用
Android 提供的人脸检测函数针对在多2.1 UI 设计 目标检测条件下进行的了改进以实现上述过程。
在对多个人 根据程序需要完成的任务 UI 具有三大功能:处理方式选 脸进行检测时有时会因拍摄角度以及图像质量的问题导致一软件杂志欢迎推荐投稿:http://www.ccomsoft.com/ 36 软件 (您的文章得到院士的关注) 鄢志勇 等:基于
android 系统的图像内容检测 些人脸不能够被识别出来,针对这一情况本文提出了一种快速 修正的方法。
其具体过程如图 6 算法流程: 初始化
Android 人脸识别别 判断是否存在 三张脸 N 区域修正 读取特征数据 图 7 图像处理对比结果 Y 表 1 处理耗时 加入未识别 平台 图像大小 采用修正算法前 采用修正算法后 人脸信息 M9 533×533 723ms 921ms 写入数据 表 2 内容分类结果正确率统计 照片 正确 独照识别 合照识别 风景照 独照 合照 风景照 结束 总数 识别率 正确率 正确率 误识率 20 张 85 8 75 7 100 5 20 图 6 算法流程 从图中可以看出在没有修正前左下角的人脸没有被检测 利用
Android 提供的函数搜索出图像中人脸信息,在目 出来,而在执行修正算法后能够被检测出来,说明该修正算法 标大于三个的情况下,对搜索出的人脸信息进行分析。
提取每 张人脸的特征信息,计算出每幅图像包含的人脸区域的双眼中 在多目标人脸检测条件下能够提高识别率,但是耗时要稍多于 点位置、相邻中点位置的距离差及高度差。
以平均人脸区域间 未修正的算法。
在对图像分类的处理中,对多人脸张人脸的识 隔为标准判断两个相邻人脸间距离是否大于平均距离,如果大 别正确率要高于单张人脸的识别正确率,反映出了修正算法在 于则继续判断其人眼中点距的高度差是否在平均高度差范围 多人脸条件下的优势。
内,如果在高度差范围内就判断两张人脸中还存在这一张未 4 结论 识别出的人脸,然后在两张脸间区域中降低 CONFIDENCE_ THRESHOLD 系数搜索是否存在人脸,如果就在人脸信息中 图像内容检测是一项具挑战性的研究工作。
经过几十年 加入这张未识别出的人脸信息。
的发展,虽然已经取得了一定的进展和突破,但还存在着很多 最后,利用 SQlite 建立一个图像信息库,将每幅图像的检 难题。
本文对多人脸检测中存在的问题,针对
Android 移动 测出的特征数据包括人脸数量、各个人脸中双眼位置信息与其 设备的特点提出了一种在多人脸检测条件下的修正算法,并利 对应的 ID 放入建立的数据库中,以便实现图像的分类处理。
SQLite 创建特征数据库初步实现了小型移动设备中本地图像 根据用户所选择的分类方式查询数据库信息,并将符合参数的 内容检索。
图像数据复制到 sdcard 中的相应文件夹中完成分类目的。
参考文献 3 软件性能分析 1 WIKIPEDIXOL.http://en.wikipedia.org/wiki/
Android 2
Android DevelopersOL.http://developer.
android.com/ 测试平台为魅族公司的 M9,搭载
Android OS 2.3.5 操 guide/index.html 作系统,主频为 1GHz 的三星 S5PC110 处理器及魅族公司的 3 Hello.
Android.3rd.EditionM.America.2010 Pragmatic Pro- MX,搭载
Android OS 2.3.5 操作系统,主频为 1。
4GHz 的高 grammers LLCJuly 2010 4 周德龙.人脸识别技术研究 D.西安: 西北工业大学,2001. 通双核处理器。
软件成功安装后运行《人脸检测与分类》软件, 5 刘直芳 . 人脸检测和识别的研究 D. 四川: 四川大学博士学位论 选择处理方式,当选择仅识别人脸按钮后,弹出参数对话框输入 文 .2004 最大可识别人脸数及勾选人脸修正选项,参数设置完成点击执 6 C.J.WuJ.SHuangHuman face profile recognition by computer Pattern RecognitionJ.1990、 23:225-259. 行。
当进度条满格时显示处理结果。
图 7 图像处理对比结果中 7 梁路宏 艾海舟 肖习攀等 . 基于模板匹配与支.