Matlab神经网络对指纹进行分类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab神经网络对指纹进行分类相关的知识,希望对你有一定的参考价值。
我已经提取了指纹数据库的功能,然后应该应用神经网络按性别对图像进行分类。我还没有和NN合作,我知道一点。
- 应该使用什么类型的NN?它是人工神经网络还是多层感知器?
- 如果图像大小不一样,那有关系吗?
也许这方面的一些代码示例可能有所帮助。
神经网络是函数逼近器。您可以将其视为分段线性拟合的高科技表亲。如果你想用一个参数来适应最复杂的现象 - 你将获得平均值,如果它不是无限有用的话,不应该感到惊讶。为了获得有用的拟合,您必须将所建模的现象的性质与NN结合起来。如果要对平面进行建模,那么您将需要多个系数(通常为3或4,具体取决于您的配方)。
这个问题背后的一个问题是“指纹的基础是什么”。根据我的意思,我指的是来自线性代数和微积分的重要包装词,它涉及向量空间,跨度和特征。一旦你知道“基础”是什么,那么你可以建立一个神经网络来近似基础,这个神经网络将给出合理的结果。
因此,当我在寻找基础上的论文时,我发现了这一点:
- http://phys.org/news/2012-02-experts-human-error-fingerprint-analysis.html
- http://phys.org/news/2013-07-fingerprint-grading.html
- http://phys.org/news/2013-04-forensic-scientists-recover-fingerprints-foods.html
- http://phys.org/news/2012-11-method-artificial-fingerprints.html
- http://phys.org/news/2011-08-chemist-contributes-method-recovering-fingerprints.html
在这里,你去了一个关于指纹基础的好文件:http://math.arizona.edu/~anewell/publications/Fingerprint_Formation.pdf
采取非常粗略的刺,你可能会尝试在narxnet(带外部输入的非线性自动回归网络)link上增加一些变化。我会增长它,直到它使用某种倍增容量来表征你的设置。我将收敛率视为“大小”的函数,以便较小的网络告知较大的收敛需要多长时间。这意味着可能需要一个非常大的网络才能完成这项工作,但是大型网络就像787一样 - 它们花费很多,需要永远建立,有时候飞得不好。
如果我很聪明,我会关注Kucken的文章,并将输入表达为某种应力场的逆模型。
祝你好运。
您可以尝试使用SOM/LVQ网络在MATLAB中进行分类,图像大小确实很重要,您应该尝试在进行特征提取之前将图像标准化为标准尺寸。这将确保将每个特征向量分配给输入神经元。
function scan(img)
files = dir('*.jpg');
hist = [];
for n = 1 : length(files)
filename = files(n).name;
file = imread(filename);
hist = [hist, imhist(rgb2gray(imresize(file,[ 50 50])))]; %#ok
end
som = selforgmap([10 10]);
som = train(som, hist);
t = som(hist); %extract class data
net = lvqnet(10);
net = train(net, hist, t);
like(img, hist, files, net)
end
没有代码示例,但本文可能会有所帮助:An Effective Fingerprint Verification Technique, Gogoi & Bhattacharyya
本文提出了一种有效的指纹验证方法,该方法基于数据挖掘技术,称为细节聚类和图论方法,分析指纹比对过程,给出细节的特征空间表示,并产生可检测数量的下界。明显的指纹。该方法还通过使用细节图的拓扑行为以及使用称为Hausdorff距离的距离度量来证明每个单独指纹的不变性。该方法提供了基于图的指纹生物识别数据的索引生成机制。自组织映射神经网络还用于对指纹进行分类。
以上是关于Matlab神经网络对指纹进行分类的主要内容,如果未能解决你的问题,请参考以下文章
模式识别设计:基于Matlab PCA的BP神经网络人脸表情分类识别