ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:30KB ,
资源ID:3824930      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3824930.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于人工智能算法的图像识别与生成.doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

基于人工智能算法的图像识别与生成.doc

1、基于人工智能算法的图像识别与生成摘要:本次报告的工作是利用 PCA,SVM 以及人工神经网络(ANN)实现对人脸的特征提取、分类和预测。然后利用 GAN(生成对抗网络)实现对手写数字的生成,并用 SVM 做预测,验证生成效果。 本次报告采用的数据源自剑桥大学的 ORL 人脸数据库,其中包含 40 个人共 400 张人脸图像。 关键词:人工智能;图像识别;数据 中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2018)13-0173-02 1 PCA 降维 PCA(principal components analysis)即主成分分析,又称主分量分析。旨在利用降维的思想,把

2、多指标转化为少数几个综合指标。 首先我们给出了数据库的平均脸的图像,并利用 PCA对人脸降维,通过改变降低到的维度研究了保留维度的多少带来的影响。最后给出了每一个维度的特征脸图像,讨论了每一个维度所能够代表的人脸信息。 1.1 平均脸 首先,我们将数据库中 400 张人脸按行存储到一个矩阵中,即每一行为一张人脸(10304 像素) ,每张人脸共10304 维特征。我们对每一个维度去平均,构成一个新的行向量,这就是平均脸。 平均脸反映了数据库中 400 张人脸的平均特征,可以看清人脸的轮廓,但无法识别人脸的局部细节。 1.2 降低至不同维度时还原脸的情况 从左到右从上到下依次是同一张脸降低至10

3、,30,50,100,200,250,300,350,400 的图像。可以看到,随着保留维数的增多,图像越清晰,与原图的差异越小。 1.3 提取单一维度的特征做还原 为了研究不同维度所代表的人脸的信息,我们把 PCA之后的每一个特征向量单独提取出来对人脸做还原,还原的时候不加入平均脸并且做直方图均衡化。 结果如下: 每一张图像下方的数字代表了 PCA 之后按特征值从大到小排序的顺序,比如第一张图代表 PCA 之后最大特征值所对应的特征向量还原出的人脸。 特征累积图的纵坐标代表了所保留的特征占总特征的比例。它是这样计算出来的,假设保留 k 维信息,则纵坐标值为这 k 个特征值的和除以总的 400

4、(400*10304 的矩阵,最多有 400 个非零特征值)个特征值的和。 从图 4 可以看出,当保留维数为 100 维时,即能保留人脸 90%的信息,而之后随着保留维数的增多,保留信息的增多变缓。 同样的结论也可由提取每个维度所代表的特征获得。从前到后观察实验所得的图像,我们可以发现,人脸变得越来越模糊,到 100 维以后已经分辨不清人脸了。这就说明前面的维度反映了大众脸的特征,而越往后面的维度则反映不同人脸的细节,比如头发长短等等,以及图片噪声。2 SVM 对人脸分类 SVM(支持向量机)是 Corinna Cortes 和 Vapnik 等于1995 年首先提出的,在机器学习中,支持向量

5、机是与相关的学习算法有关的监督学习模型,可以分析数据,识别模式,用于分类和回归分析。 2.1 制作多分类器 用 PCA 对人脸降维以后,我们用 SVM 将 400 张人脸进行分类。我们取每个人的前五张照片合并起来共 200 张作为训练集,每个人后五张照片合并起来共 200 张作为测试集。40 个人即有 40 个标签,也就是有 40 类,但 SVM 只能作二分类器,因此我们利用二分类器生成多分类器,基本思想是制作 C(40,2)个一对一分类器(也就是每两个类别一个) ,每一张照片都分别用所有一对一分类器分类,分类结果存储到投票矩阵中,分类结果就是投票矩阵中数字最大的那个。 分类前,我们还需对 P

6、CA 后的数据进行归一化处理,将图像矩阵的每一个元素映射到(-1,1)之间。 2.2 参数选择及程序结果 1)分类数据:每人取前五张做训练,后五张做测试(不加入自己的人脸) SVM 参数设定:k = 75(PCA 降至 75 维) Sigma = 30 c = 15 预测准确率: accuracy=0.8950 2)每人取前五张做训练,后五张做测试(加入自己的人脸) SVM 参数同上, 预测准确率: accuracy=0.8585 我们发现,当加入自己拍摄的人脸图像后,预测准确率有一定的下降,这可能是由于拍照时的光线,角度等造成的。 3 ANN 对人脸分类 人工神经网络(Artificial

7、Neural Networks,简写为ANNs)也简称为神经网络( NNs)或称作连接模型(Connection Model) ,它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。 为了方便与 SVM 的结果作比对,ANN 的训练集和测试集与 SVM 相同,并且不加入自己人脸。 3.1 ANN 结果及与 SVM 分类比较 ANN 分类结果: ANN 参数设定为:1 个隐层,含 200 个神经元 学习率:1 dropout fraction:0.5 激活函数:sigmoid L2 正

8、则: 0.0001 epoch:200 batchsize :50 分类错误率: 即分类准确率(accuracy)为:93.5% ?验过程中可以发现,通过对神经网络多个参数的调节,准确率的变化是很复杂的,最终的 93.5%的准确率应该还有上升的空间,参数还待进一步调整。 与 SVM 比较起来,ANN 准确率更高,但分析表明,对于本次报告所采用的数据库,ANN 和 SVM 的准确度不会有太大差异,因此 SVM 的参数或许还可以进一步优化。 4 GAN 生成手写数字 生成对抗网络(GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(

9、Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。原始 GAN 理论中,并不要求 G 和 D 都是神经网络,只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为 G 和 D 。 在下面的工作中,我们利用已有的手写数字(0-9)图片(60000 张用于训练,10000 张用于测试) ,对生成对抗网络(GAN)进行训练并生成手写数字,每个数字提取5000 个样本作为训练集。最后用 SVM 对电脑生成的手写数字分类,看是否能“骗过”分类器。 4.1 参数设定及程序结果 首先,我们选取一个想要生成的手写字体,将

10、已有数据中所有该字体挑出并取前 5000 个作为训练集。 参数设定:生成器(generator):输入层、隐层和输出层分别有 100,512,784 个神经元。 识别器(discriminator):输入层、隐层和输出层分别有 784,200,1 个神经元。 学习率:0.01 Batchsize:50 更新判别器时的迭代次数设为 1 生成训练集: load(mnist_uint8 ) ; classify_num = 9; classify_matrix = zeros(1,10) ; classify_matrix (classify_num+1 ) = 1; choose = zeros(

11、size(train_x,1) ,1) ; for i=1:size(train_x,1) if(train_y(i,:)=classify_matrix) choose(i) = choose(i )+1 ; end end choose = logical(choose) ; train_x = train_x(choose ,:) ; train_x = train_x(1:5000,:) ; train_x = double(reshape(train_x, 5000, 28, 28) )/255; train_x = permute(train_x ,1 ,3,2) ; train_

12、x = reshape(train_x, 5000, 784) ; 生成器损失虽然不是很低,但是最终基本稳定。 4.2 SVM 对生成手写数字做分类 我们用 GAN 分别生成 0 到 9 的手写数字,将生成的图片作为测试集用 SVM 做分类,看是否能分到正确的类别。 Result 是 SVM 中的投票矩阵,投票数最多的一个的序号减一即为所分到的类别(数字 0-9) 。这里的 SVM?别于前面所讨论的人脸识别的 SVM,它是由 45 个(C(10,2) )一对一分类器生成的多分类器。 可以看到,每一个由 GAN 生成的手写数字均被 SVM分到了正确的类别,如此可见 GAN 实在强大。 5 总结 运用 PCA 对原始数据进行降维,不仅能够保留原始的主要信息,而且可以减少算法的执行时间。通过组合 SVM的二分类器来生成多分类器实现对人脸的识别,准确率达到 89.5%,用人工神经网络 ANN 进行分类准确率达到 93.5%。最后利用 GAN 生成手写字体,SVM 全部正确地进行了分类,这表明 GAN 生成的手写数字是十分逼真的。 参考文献: 1 刘振明.基于 J2EE 新闻门户网站的设计与研究 D.吉林大学,2010(06):65-102.

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。