基于机器学习的掌纹识别与分类(PCA+SVM+KNN)

一、题目

1.1 研究背景

掌纹识别是一种生物识别技术,具有较高的安全性和准确性。随着机器学习技术的发展,基于机器学习的掌纹识别方法得到了广泛的应用。本文旨在探讨基于机器学习的掌纹识别与分类方法,以提高掌纹识别的准确性和可靠性。

1.2 研究内容

项目主要研究了基于机器学习的掌纹识别与分类方法。首先,对掌纹图像进行预处理,包括图像去噪、增强和归一化等操作。然后,利用机器学习算法对预处理后的图像进行特征提取和分类器的训练。最后,对分类器进行测试和评估,以验证其准确性和可靠性。

二、数据库介绍

数据库是由100 个手掌,每个手掌 6 个原始图像和 ROI(Region of Interest)图像组成ROI表示从原始手掌图像中定位裁剪出的正方形感兴趣区域,尺寸为128×128个像素。

图1  本项目部分数据集训练截图

三、任务选择

本课题将分类算法应用于掌纹识别的基本应用模式,以验证其有效性。为了实现这一目标,我们在实验中采取了随机划分数据集的方式,按照70%和30%的比例将掌纹的ROI数据集分为训练集和测试集。具体而言,我们随机选取了420张掌纹图像作为训练集,用于训练我们的模型,而另外180张掌纹图像则被选为测试集,用于评估模型的性能。此外,本课题主要选用的模型是KNN和SVM

四、评价指标

为了衡量实验结果的好坏,针对于分类任务我选用了准确率(accuary)、精确度(Precision)、召回率(Recall)、F1分数(F1-score)、支持度(Support)作为主要的评价指标。

4.1混淆矩阵

在介绍精确率和召回率两类评价指标之前,首先需提出混淆矩阵(confusion matrix)的概念。以常见的二分类问题为例,我们可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)四种情形,令TP、FP、TN、FN分别标示其对应的样例数,则显然满足式。

故分类结果的“混淆矩阵”(confusion matrix)如下所示。

表 1分类结果混淆矩阵

真实情况

预测结果

正例

反例

正例

TP(真正例)

FN(假反例)

反例

FP(假正例)

TN(真反例)

4.2准确率

准确率代表的是正类和负类预测正确的比例,即表示总的正确率,基于混淆矩阵的定义,准确率

      

4.3精确率

精确率在模式识别领域属于测试系统性能的指标,是识别或检索结果中的相关样例数与结果中样例总数的比值,即表示预测为正的样本中有多少是真正的正样本,精确率

4.4召回率

召回率是已识别出的样例数与相关类别所有样例数的比值,即表示的是样本中的正例有多少被预测正确了,同样可将召回率

精确率和召回率是一对矛盾的度量,一般来说,精确率高时,召回率偏低,而召回率高时,精确率往往偏低。由此表明,高的召回率意味着可能会有更多的误检,但是会尽力找到每一个应该被找到的对象。

4.5F1-Score

F1-Score又称为平衡F分数(Balanced Score),是统计学中用来衡量二分类模型精确度的一种指标,它同时兼顾了分类模型的精确率和召回率,可用式F1-Score的公式为

4.6支持度

支持度(Support)是指每个类别的样本数量。在混淆矩阵中,支持度可以通过将真实情况和预测结果的行或列求和得到。具体来说,在二分类问题中,支持度可以表示为以下方式:

正例的支持度 = TP + FN

反例的支持度 = FP + TN

其中,TP表示真正例,FN表示假反例,FP表示假正例,TN表示真反例。支持度告诉我们每个类别的样本数量,是评估模型性能时的重要参考指标之一。

本项目主要采用Python编程语言进行研究。在研究过程中,本项目按照主要内容可分为三大模块:图像预处理、特征提取、特征融合以及模型的选取与训练。

5.1图像预处理

在输入图像之前,我们图像进行一定的预处理,尽可能消除图像中无关的信息,增强有关信息的可检测性和最大限度地简化数据,从而改进特征抽取、匹配和识别的可靠性。

5.1.1直方图均衡化

直方图均衡化是一种用于增强图像对比度的技术,它通过重新分配图像像素的灰度级别,使得整个灰度级别范围内的像素值分布更加均匀。这样做可以使得暗部和亮部的细节更加清晰,从而提高图像中有关信息的可检测性。具体来说,直方图均衡化的过程如下:

(1)统计图像中每个灰度级别的像素数量,得到原始图像的灰度直方图。

(2)根据原始图像的灰度直方图,计算每个灰度级别的累积分布函数(CDF)。CDF表示了在当前灰度级别下,小于等于该灰度级别的像素所占的比例。

(3)将CDF进行线性映射,得到新的灰度级别。映射的目标是使得新的灰度级别均匀分布,即将原始图像中集中在某个灰度范围内的像素值拉开,以增加对比度。

(4)根据映射得到的新灰度级别,对原始图像的每个像素进行重新赋值,得到均衡化后的图像。

通过这个过程,直方图均衡化可以使得图像中的细节更加清晰,从而增强图像中的有关信息。这种技术常用于预处理阶段,可以帮助提高图像的质量,使得后续的特征提取、目标检测等任务取得更好的效果。

5.1.2Sobel算子

Sobel算子是一种常用的边缘检测算子,用于计算图像中每个像素点的梯度值。通过检测图像中的边缘,Sobel算子可以帮助我们提取出物体的轮廓信息,并减少背景的干扰。Sobel算子的操作过程如下:

(1)将原始图像转换为灰度图像。

对灰度图像进行卷积操作。Sobel算子使用两个卷积核,分别对图像在水平和垂直方向上进行卷积。

(2)计算每个像素点的水平和垂直方向的梯度值。水平方向的梯度值表示图像在x轴方向上的变化率,垂直方向的梯度值表示图像在y轴方向上的变化率。

(3)根据水平和垂直方向的梯度值,计算每个像素点的梯度强度和梯度方向。梯度强度表示边缘的强度,梯度方向表示边缘的方向。

(4)根据梯度强度和阈值进行边缘检测。通常情况下,我们会设置一个阈值,将梯度强度大于阈值的像素点判断为边缘点。

通过Sobel算子的操作,我们可以得到图像中的边缘信息&#

猜你喜欢

转载自blog.csdn.net/qq_63042830/article/details/135091408