基于Android端的照片比对系统,基于Android系统的人脸识别系统
【文章摘要】
当前随着基于Android系统的移动终端设备的广泛应用,以及图像采集设备的普遍集成,使得Android系统的图像采集设备除了具有照相、摄像功能以外,正在扩展新的实用型功能。其中,利用Android系统中的图像采集设备,开发人脸识别系统,使移动终端设备多了一种加密的方式。从硬件角度无需成本投入,软件方面需要进行基于Android系统的人脸识别系统的开发。该系统可以设置在用户的开机环节,也可设置在关键数据加密的环节,系统自动识别用户脸部头像,以使设备中的信息处于安全状态。文章研究了一种基于Android系统的人脸识别系统的设计与开发。
【关键词】
人脸识别系统;基于Android系统;图像采集设备
当前随着基于Android系统的移动终端设备的广泛应用,以及图像采集设备的集成,使得Android系统的图像采集设备除了具有照相、摄像功能以外,正在扩展新的实用型功能。其中,利用Android系统中的图像采集设备,开发人脸识别系统,使移动终端设备多了一种加密的方式。从硬件角度无需成本投入,软件方面需要进行基于Android系统的人脸识别系统的开发。该系统可以设置在用户的开机环节,也可设置在关键数据加密的环节,系统自动识别用户脸部头像,以使设备中的信息处于安全状态。
1 关键技术
在Android系统下基于OpenCV的人脸检测实现需通过Android NDK工具集将利用JNI编写的本地代码组件嵌入到Android应用程序中、通过KPCA算法进行人脸识别来解除手机锁。所以整个实现过程分为两个步骤:首先,利用Android应用程序框架编写Java端代码I最后通过JNI与OpenCV接口编写本地C/C++代码,并利用AndroidNDK 对其进行编译生成Java代码可调用的共享库,最后通过SDK生产Android应用程序。
2 系统设计
整个系统按以下四步进行:图像采集设备、人脸图像定位程序(获取图像后对人脸从五官到轮廓的位置建模,确定采集对象的位置与要比对的图像位置相匹配)、图像预处理模块、提取图像特征、检索数据库(把提取的数据和数据库中需要认证的数据进行比对)、显示处理结果。
其中,人脸识别的过程是关键模块。首先对输入样本进行采集的图像采集阶段;随后对采集的图像做预处理,主要是对图像样本进行归一化处理,称为图像预处理;接下来是判断图像是否包含人脸的人脸检测阶段;若图像中含有人脸则对图像中的人脸进行特征定位和提取,称为特征提取阶段;随后是通过提取到的不同人脸之间的不同特征进行分类的人脸分类阶段;最后的阶段是通过图像中的人脸特征与其他人脸进行对比,确认和识别身份信息的人脸识别阶段。其中人脸检测、人脸特征定位与提取和人脸识别这三个阶段是人脸识别最主要的组成部分。
3 算法设计
3.1 AdaBoost人脸检测算法
AdaBoost 人脸检测算法是一种基于积分图、级联分类器和AdaBoost 的方法在这种方法中使用 Harr 特征来作为检测人脸的关键特征,首先使用 AdaBoost 算法对样本进行训练优选 出少量分类能力最强的 Harr 特征作为弱分类器,并将弱分类 器组合成强分类器。在检测时,使用分层策略设计了一种基于 级联结构的强分类器进行人脸检测。在整个检测算法中,AdaBoost 是其核心内容。使用AdaBoost 算法进行特征选择并建立强分类器的过程描述如下:
1) 输入:训练样本集{( x1,y1) ,……,( xn, yn) },其中 xi 为样 本集中第 i 个样本,yi ={1,0},分别对应于正负样本,样本总数 n,需要选择的特征个数为 s。
2) 初始化样本权重: w1, j =1/n。
3) 对 t =1,…… s,进行循环 。
4) 输出强分类器: H( x) = 1 ∑ T t =1 αtht( x) ≥ 1 2 ∑ T t =1 αt{ 0 otherwise ( 5) 其中,αt = log( 1/βt) 。
3.2 KPCA的人脸识别的算法
KPCA的人脸识别算法的基本过程为:
1) 图像预处理:将人脸图像的维数统一为 256×256。
2) 图像曲波变换:把人脸数据库中的每幅图像进行 Wrapping 的曲波变换,提取出曲波的第一层系数C{1},并把它排列成列向量,组成曲波特征 T,其中采用尺度(scale=3)和方向(angle=8)。
3) 核主主元分析(KPCA):对曲波特征 T采用多项式核主元 d i j i j k(x , x ) = (x x +1)
分析的方法,提取出主成分(train_features),作为最后的人脸识别特征。
4) 识别:对于测试图像采用相同的处理方法求出特征(test_features),采用最近邻法进行分类。
4 实现过程
软件实现过程示意图如下图所示。在Android系统下基于OpenCV的人脸检测实现需通过Android NDK工具集将利用JNI编写的本地代码组件嵌入到Android应用程序中、通过KPCA算法进行人脸识别来解除手机锁,所以整个实现过程分为两个步骤:首先,利用Android应用程序框架编写Java端代码,最后通过JNI与OpenCV接口编写本地C/C++代码,并利用AndroidNDK 对其进行编译生成Java代码可调用的共享库,最后通过SDK生产Android应用程序。(图1)
5 小结
当前,基于Android的人脸识别系统正在广泛的开发与应用,所采用的算法与技术也各不相同, 本系统的最大特点是:第一,识别过程低内存控制;第二,实现隐私保护;第三,可对用户脸部进行实时识别。
【参考文献】
[1]基于Android平台人脸识别系统的设计与实现[D],刘超.吉林大学.2013-04 .
[2]Android平台手机防盗系统的设计与实现[D],凡里伟.大连理工大学.2012-03 .
[3]基于OpenCV在Android平台下实现人脸识别[J], 聂鹏鹏; 王二伟; 刘敏丰; 张昊.电子元器件应用.2012-12.
[4]基于Android系统的增强现实技术的研究与实现[J],左文豪.湖南大学.2013-04.
基于Android端的照片比对系统,基于Android系统的人脸识别系统相关推荐
- 人脸识别系统做CCC认证,人脸识别系统做SRRC认证
人脸识别系统做CCC认证,人脸识别系统做SRRC认证 人脸识别一体机3C认证办理流程 1:认证委托和申请,资料必须纸档并签字,盖公司印章,一式两份. 2:产品送样检测,每个产品成品数量为五,收到测试样 ...
- 人脸识别门禁_门禁人脸识别系统铜陵县门禁人脸识别系统哪家好
门禁人脸识别系统铜陵县门禁人脸识别系统哪家好 工地 1.建筑工地使用人脸识别门禁考勤机解决问题:工人刷脸出入,刷脸考勤,杜绝虚假考勤,提高考勤效率,工人工种分组,实名制管理. 2.人脸识别测温一体机用 ...
- 基于Python的(拍照签到+网课在线检测)深度学习的人脸识别系统
摘 要 近年来,网络技术日新月异,我们已经进入了大数据的时代并成为其中第一员,由此带来数据量的飞跃式的增长,而如何利用这些数据产生实际的生产价值则成为了大数据时代的一个重要问题.而人脸识别技术是一份对 ...
- Python | 人脸识别系统 — 用户操作
本博客为人脸识别系统的摄像头画面展示代码解释 人脸识别系统博客汇总:人脸识别系统-博客索引 项目GitHub地址:Su-Face-Recognition: A face recognition for ...
- Python | 人脸识别系统 — 人脸比对 代码部分
本博客为人脸识别系统的人脸比对代码解释 人脸识别系统博客汇总:人脸识别系统-博客索引 项目GitHub地址:Su-Face-Recognition: A face recognition for us ...
- Python | 人脸识别系统 — 活体检测
本博客为人脸识别系统的活体检测代码解释 人脸识别系统博客汇总:人脸识别系统-博客索引 项目GitHub地址:Su-Face-Recognition: A face recognition for us ...
- GAN掉人脸识别系统?GAN模型「女扮男装」
文章来源 新智元 编辑:LRS [新智元导读]人脸识别技术最近又有新的破解方式!一位斯坦福的学生使用GAN模型生成了几张自己的图片,轻松攻破两个约会软件,最离谱的是「女扮男装」都识别不出来. 真的有人 ...
- android人脸识别应用架构,基于Android平台人脸识别系统的设计与实现
摘要: 伴随着社会信息化,自动化的发展,以及科技的进步,未来将是移动互联网的时 代,为适应移动互联网的发展智能化的小型移动终端将是未来的发展趋势.与此同时人们对信息的安全性要求不断的提高,高自动化和高 ...
- 基于 PCA 的人脸识别系统及人脸姿态分析
文章目录 1 PCA 1.1 原理 1.2 算法流程 1.2.1 零均值化 1.2.2 计算协方差矩阵 1.2.3 特征值和特征向量 1.2.4 降维得到 K 维特征 1.2.5 PCA 的优缺点 2 ...
最新文章
- Python知识点2——列表基础
- python中哪个函数能生成集合_神奇的python系列11:函数之生成器,列表推导式
- Java 7和Java 8之间的细微自动关闭合同更改
- mysql galera status_MySQL galera cluster集群的监控
- 贝叶斯参数估计的理解及其在电商算法中的应用
- ubuntu中make出错
- IFC标准是什么标准?IFC标准的发展历程是怎样的?
- 阿里巴巴矢量图标库使用在线字体图标
- win10 重装我们找不任何驱动器
- 逻辑上的“谬误”真的是我们应该所认为的错误吗?
- NFT“MetaBunny”公开发售后飙升近35倍 首轮公开发售1000枚后结束
- 黑苹果核心显卡clover驱动教程
- 阿里云 mysql 100_MySQL服务进程占用系统CPU达100%-阿里云开发者社区
- 毕业学位论文常见问题总结
- 快速调出multisim里单刀双置开关
- 2022年高处安装、维护、拆除培训试题模拟考试平台操作
- 福布斯中国20位最佳创业投资人出炉 女性占四席
- 美团云品牌升级启用动态logo,传导云价值释放云红利
- 六旋翼农用喷药、航拍功能无人机设计
- 如何选择O2OA(翱途)开发平台的部署架构?
热门文章
- 《Matlab实用案例》系列Matlab从入门到精通实用100例案例教程目录(持续同步更新)
- Android 顶部标签栏及内容列表的设计与实现
- android动态显示/隐藏statusbar,android4.4动态显示隐藏statusbar和禁止下拉
- genymotion模拟器配置X86模拟器加速器
- 计算机通信技术论文,计算机通信技术专业论文选题 计算机通信技术论文题目如何取...
- 火影忍者手游服务器维护什么意思,火影忍者手游停机维护 决斗场赛季玩法
- sql 使用汇总(PQSQL)
- 不用excel和ERP管理软件,也能轻松搞定多级BOM管理
- Android 5.x SEAndroid/SElinux内核节点的读写权限
- 基于JavaEE的服装销售管理系统_JSP网站设计_SqlServer数据库设计