BP神经网络对指纹识别的应用(Matlab代码实现)

简介: BP神经网络对指纹识别的应用(Matlab代码实现)

💥1 概述

在现代计算机具有强大的计算和信息处理能力的今天,指纹识别作为个人身份鉴定等领域的热点问题一直被人们长期关注着,目前也得到了广泛的应用,例如它可以应用于金融、保险、证券行业的身份认证,安防,人力资源管理等等。


指纹模板分类作指纹识别的热点问题,是人们研究的一个特定方向.新的指纹分类算法应该能够利用前人研究的成果,结合多种识别算法的优点,达到一个具有自适应性、容错性和实时性的新高度。


经过前人努力,在指纹识别技术上已经有很大的突破,识别技术基本趋于成熟化,大多数情况下指纹都能被比较理想的识别.但是随着在某些领域应用的广泛性,人们对指纹识别的实时性、可靠性提出了更高的要求.于是应对指纹识别的种种新要求,我们需要找到更好的识别方法.针对这样的要求,本文提出了一种基于BP神经网络的、对已建好的指纹模板库进行快速分类的算法。


反向传播模型也称BP(Back—Propagation)模型,是一种用于前向多层神经网络的反向传播学习算法.BP网络学习的目的是对网络的连接权值进行调整,使得调整后的网络对任意输入都能够得到期望的输出。为了训练此网络,提供若干个量化后的指纹模板数据,然后计算网络输出,并把输出单元的实际输出值和期望输出值加以比较,然后计算误差;其次,改变网络中所有连接权值以减小误差.反复进行训练,直到网络达到预期的训练目标为止。但BP网络最大的缺点就是学习周期长且极易进入局部极小值.为提高其学习速率.不少学者针对不同应用领域提出了各种加速学习速率的优化算法.作者提出一种将改进梯度算法和DFP变尺度算法相结合的权值修正算法。在误差寻优初期,采用改进梯度算法进行迭代,当寻优过程开始接近最优时,使用DFP变尺度算法,使得算法不仅具有收敛速率快等特点,而且算法简单,有利于增强学习的实时性。


📚2 运行结果

🎉3 参考文献

[1]邓秀春,韩孜,黄剑.基于BP神经网络特征提取的指纹识别应用[J].广西轻工业,2008(04):51-52.

👨‍💻4 Matlab代码

主函数部分代码:

% close all 
% clear 
% echo on 
% clc 
% [inputs,targets] = simplefitdata;
%  net = newff(inputs,targets,20);
%  net = train(net,inputs,targets);
%  outputs = net(inputs);
%  errors = outputs - targets;
%  perf = perform(net,outputs,targets)
inputs = zeros(12,8);
fid = fopen('fingers_feature.txt');
inputs = fscanf(fid, '%f', [12,8]);
disp(inputs);
fclose(fid);
% inputs = [1,2,3,4;1.9,3.7,5.2,3.6;0,1,-1,-1;2,4,6,4;3,6,9,3];
targets = [0,0,0,0,1,1,1,1;0,0,1,1,0,0,1,1;0,1,0,1,0,1,0,1];
net = newff(inputs,targets,20);
net = train(net,inputs,targets);
outputs = net(inputs);
errors = outputs - targets;
perf = perform(net,outputs,targets)  
% NEWFF??生成一个新的前向神经网络 
% TRAIN??对 BP 神经网络进行训练 
% SIM??对 BP 神经网络进行仿真 
% pause        
% %  敲任意键开始 
% clc 
% %  定义训练样本 
% % P 为输入矢量 
% P=[-1,  -2,    3,    1;       -1,    1,    5,  -3];
% % T 为目标矢量 
% T=[-1, -1, 1, 1]; 
% pause; 
% clc 
% %  创建一个新的前向神经网络 
% net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')
% %  当前输入层权值和阈值 
% inputWeights=net.IW{1,1} 
% inputbias=net.b{1} 
% %  当前网络层权值和阈值 


相关文章
|
4月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
262 0
|
4月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
159 0
|
4月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
232 8
|
4月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
244 8
|
SQL 监控 安全
网络安全与信息安全:漏洞、加密与安全意识
随着互联网的迅猛发展,网络安全和信息安全问题日益受到关注。本文深入探讨了网络安全漏洞、加密技术以及提高个人和组织的安全意识的重要性。通过分析常见的网络攻击手段如缓冲区溢出、SQL注入等,揭示了计算机系统中存在的缺陷及其潜在威胁。同时,详细介绍了对称加密和非对称加密算法的原理及应用场景,强调了数字签名和数字证书在验证信息完整性中的关键作用。此外,还讨论了培养良好上网习惯、定期备份数据等提升安全意识的方法,旨在帮助读者更好地理解和应对复杂的网络安全挑战。
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
329 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
258 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
265 10
|
监控 安全 网络安全
网络安全与信息安全:漏洞、加密与意识的交织
在数字时代的浪潮中,网络安全与信息安全成为维护数据完整性、保密性和可用性的关键。本文深入探讨了网络安全中的漏洞概念、加密技术的应用以及提升安全意识的重要性。通过实际案例分析,揭示了网络攻击的常见模式和防御策略,强调了教育和技术并重的安全理念。旨在为读者提供一套全面的网络安全知识框架,从而在日益复杂的网络环境中保护个人和组织的资产安全。

热门文章

最新文章