Artificial intelligence 神经网络指纹图谱

Artificial intelligence 神经网络指纹图谱,artificial-intelligence,neural-network,fingerprint,Artificial Intelligence,Neural Network,Fingerprint,我们有一个开发自动指纹识别系统(AFIS)的项目。我们已经阅读了很多有关该领域的论文,还在阅读指纹识别手册。我们无法理解的是;我们到底要在哪里使用神经网络 到目前为止,我们得到了;1) 应用直方图等式+DFT(如有必要)以获得对比度并去除噪声。2) 图像二值化+3)图像细化(形态学细化)这些都可以。然后进行特征提取。在3x3窗口中,我们搜索细节点,寻找像中间的-1这样的模式,并且只有一个其他1个邻居,所以它是终止-。然后我们得到细节点,并使用庞加莱指数法得到奇异点。但在那之后,当我们有细节和奇点

我们有一个开发自动指纹识别系统(AFIS)的项目。我们已经阅读了很多有关该领域的论文,还在阅读指纹识别手册。我们无法理解的是;我们到底要在哪里使用神经网络


到目前为止,我们得到了;1) 应用直方图等式+DFT(如有必要)以获得对比度并去除噪声。2) 图像二值化+3)图像细化(形态学细化)这些都可以。然后进行特征提取。在3x3窗口中,我们搜索细节点,寻找像中间的-1这样的模式,并且只有一个其他1个邻居,所以它是终止-。然后我们得到细节点,并使用庞加莱指数法得到奇异点。但在那之后,当我们有细节和奇点时,我们将在哪里使用神经网络呢?如果要分类,如何分类?既然我们用庞加莱指数提取奇异点,为什么我们需要人工神经网络来分类?如果要提取细节点,我们不是用特征提取吗?您可能想指出哪些资源?谢谢。

我相信你说的神经网络是指多层感知器(MLP)。对于你的情况,它打算对指纹进行分类。但是如果你的算法已经识别了它们,那么你就不需要MLP。否则,包含细节点的新特性(比如
X
)就是网络的输入(图1)。和
y
是指纹标签。MLP将学习一个函数,该函数将特征作为参数,并返回其可能属于的概率(由softmax函数计算)。这在scikit中很容易实现。为了演示,我对下面的代码片段使用逻辑回归,但所有有监督的神经网络算法都遵循相同的过程

from sklearn import linear_model

# Initialize Logistic Regression

lr = linear_model.LogisticRegression(C=10)

# Let X be the training data (Fingerprint Features)
X = [[0,1],[2,3],[1,5]]
# Let y be their labels
y = [0, 1, 2]

# Train Logistic Regression through X and y
lr.fit(X,y)
Out[284]: 
LogisticRegression(C=10, class_weight=None, dual=False, fit_intercept=True,
          intercept_scaling=1, penalty='l2', random_state=None, tol=0.0001)
# Return their probabilities
lr.predict_proba(X)
Out[285]: 
array([[ 0.64974581,  0.144104  ,  0.20615019],
       [ 0.04442027,  0.81437946,  0.14120027],
       [ 0.04096602,  0.0840223 ,  0.87501168]])
第一个值
0.64974581
X
中样本
[0,1]
分配给类
0
的概率。因为它是该行向量中的最高值,它将返回值
0
,第二行和第三行向量将分别返回
1
2

                          (Figure 1 : Multi-layer Perceptron)


我相信你说的神经网络是指多层感知器(MLP)。对于你的情况,它打算对指纹进行分类。但是如果你的算法已经识别了它们,那么你就不需要MLP。否则,包含细节点的新特性(比如
X
)就是网络的输入(图1)。和
y
是指纹标签。MLP将学习一个函数,该函数将特征作为参数,并返回其可能属于的概率(由softmax函数计算)。这在scikit中很容易实现。为了演示,我对下面的代码片段使用逻辑回归,但所有有监督的神经网络算法都遵循相同的过程

from sklearn import linear_model

# Initialize Logistic Regression

lr = linear_model.LogisticRegression(C=10)

# Let X be the training data (Fingerprint Features)
X = [[0,1],[2,3],[1,5]]
# Let y be their labels
y = [0, 1, 2]

# Train Logistic Regression through X and y
lr.fit(X,y)
Out[284]: 
LogisticRegression(C=10, class_weight=None, dual=False, fit_intercept=True,
          intercept_scaling=1, penalty='l2', random_state=None, tol=0.0001)
# Return their probabilities
lr.predict_proba(X)
Out[285]: 
array([[ 0.64974581,  0.144104  ,  0.20615019],
       [ 0.04442027,  0.81437946,  0.14120027],
       [ 0.04096602,  0.0840223 ,  0.87501168]])
第一个值
0.64974581
X
中样本
[0,1]
分配给类
0
的概率。因为它是该行向量中的最高值,它将返回值
0
,第二行和第三行向量将分别返回
1
2

                          (Figure 1 : Multi-layer Perceptron)