python图像识别与提取数据,图像识别特征提取方法

  python图像识别与提取数据,图像识别特征提取方法

  Python人脸图像特征提取(HOG,Dlib,CNN方法)))))))。

  1.猪脸图像的特征提取

  1.猪的特征:

  1)主要观点:

  2)实现方法:

  3)提高性能:

  4)优势

  2.HOG特征提取算法的实现过程:

  2.Dlib人脸图像特征提取

  1.1简介。Dlib

  2.主要特征

  3.人脸图像的卷积神经网络特征提取。

  1.卷积神经网络综述

  2.卷积神经网络结构

  1)输入层

  2)隐藏层

  卷积层

  游泳池层

  输出层

  1.猪脸图像的特征提取

  1.猪的特征:

  梯度方向直方图(HOG)特征是计算机视觉和图像处理中用于目标检测的特征描述符。通过计算和统计图像局部区域的梯度方向直方图,形成特征。Hog特征结合SVM识别器已经广泛应用于图像识别,尤其是行人检测。另外,基于HOG SVM的行人检测方法是由CVPR的法国研究者Dalal于2005年提出的。现在,已经提出了许多行人检测算法,但是它们基本上都是围绕着SVM的思想。

  1)主要观点:

  在图像中,局部目标的外观和形状可以很好地用边缘的梯度或方向密度分布来描述。其本质是斜率的统计信息,主要存在于边缘。

  Hog特征结合SVM识别器已经广泛应用于图像识别,尤其是行人检测。

  2)实现方法:

  首先,图像被分成小的连通区域,这些区域被称为细胞单元。然后,收集细胞单元中每个像素的梯度或边缘方向直方图。最后,通过组合这些直方图,可以构建特征描述符。

  3)提高性能:

  通过在图像的更大范围(称为区间)内归一化这些局部直方图的对比度,可以提高算法的性能。首先计算该区间内每个直方图的密度,并根据密度对区间内的每个单元格进行归一化。通过这种归一化,可以在光线变化和阴影上获得更好的效果。

  4)优势

  与其他特征描述方法相比,HOG具有很多优点。首先,由于HOG是在图像的局部网格上操作的,所以它能对图像的几何形变和光学形变保持良好的不变性,而这两种形变只出现在更大的空间区域内。其次,在粗空间采样、细方向采样、强局部光学归一化等条件下。如果行人能基本保持直立姿势,可以允许他们进行精细的肢体动作,在不影响检测效果的情况下可以忽略。因此,HOG的特性特别适合图像中的人体检测。

  2.HOG特征提取算法的实现过程:

  HOG的特征提取方法是提取图像

  1)灰度)将图像视为X、Y、Z(灰度)的三维图像;

  2)校正和标准化输入图像的颜色空间;目的是调整图像对比度,减少图像中局部阴影和光照变化的影响,抑制噪声干扰。

  3)图像中每个像素的梯度(包括大小和方向);主要是为了捕捉轮廓信息,进一步减少光线的干扰。

  4)将图像分成小单元(例如6*6像素/单元);

  5)通过对每个单元的梯度直方图(不同梯度的数量)求和,可以形成每个单元的描述;

  6)每几个细胞形成一个区块(例如,3*3个细胞/区块)。如果一个块中所有单元的特征描述符都是连通的,则可以获得该块的HOG特征描述符。

  7)当连接图像中所有块的HOG特征描述符时,得到图像(检测目标)的HOG特征描述符。这是可用于最终分类的特征向量。

  HOG特征提取流程图:

  每一步的详细步骤如下。

  标准化伽马空间和颜色空间

  为了减少光线的影响,需要先对整幅图像进行归一化处理。在图像的纹理强度中,局部表面曝光占了很大的比重,因此这种压缩过程可以有效地减少图像的局部阴影和光照变化。颜色信息没有影响,通常转换成灰度;

  计算图像的梯度

  计算图像横轴和纵轴的梯度,并以此为基础计算每个像素位置的梯度方向值;搜索操作不仅可以捕获轮廓、图形和一些纹理信息,还可以进一步减少光线的影响。

  最常见的方法是简单地使用一维离散差分模板来处理一个方向或水平和垂直方向的图像。更具体地说,您需要使用过滤器核心来过滤图像中的颜色和各种数据。

  做一个方向直方图。

  单元中的每个像素基于方向在直方图通道上投票。投票方法是加权的。也就是说,每张票都有一个根据像素点的渐变宽度计算的权重。权重可以用振幅本身或其函数来表示。在实际测试中已经表明,通过用振幅表示权重可以获得最佳效果,但是也可以选择振幅。

  振幅的函数,如振幅的平方根、平方和截断形式。该单元可以是矩形或星形的。直方图均匀分布在0-1800(无向)或0-3600(有向)的范围内。研究发现,在行人检测测试中,使用无方向梯度和9个直方图通道可以达到最佳效果。

  将细胞单位组合成大的间隔。

  由于局部光照和前景背景对比度的变化,梯度强度在非常大的范围内变化。有必要对梯度强度进行归一化。标准化可以进一步压缩照明、阴影和边缘。

  采用的方法是将每个细胞单位组合成一个大的、空间上相连的区间。这样,HOG描述符就变成了一个由每个区间内所有细胞单元的直方图分量组成的向量。这些间隔相互重叠,这意味着每个细胞单位的输出多次作用于最终描述符。

  区间主要有两种几何形状:3354矩形区间(R-HOG)和圆形区间(C-HOG)。R-HOG区间大致是一个正方形格子,可以用三个参数来表征:每个区间的细胞单元数,每个细胞单元的像素个数,每个细胞的直方图通道数。

  收集猪的特征

  将提取的HOG特征输入到SVM分类器中,寻找一个最优超平面作为决策函数。

  第二,Dlib人脸图像特征提取

  1.1简介。Dlib

  Dlib是一个现代化的C工具箱,它包含了机器学习算法和用C语言创建复杂软件来解决实际问题的工具。它广泛应用于工业和学术界,包括机器人、嵌入式设备、手机和大型高性能计算环境。Dlib的开源许可允许您在任何应用程序中免费使用它。

  Dlib历史悠久,包含很多模块。近年来,作者主要致力于机器学习、深度学习、图像处理等模块的开发。

  2.主要特征

  文档丰富

  与许多开源项目不同,Dlib为每个类和函数提供了完整准确的文档。它还具有调试模式,可以帮助您检查使用函数的先决条件。当这个特性被启用时,它将捕获由不正确地调用函数或以不正确的方式使用对象所导致的绝大多数错误。

  提供了许多示例程序(非常有用的示例!)

  我认为文档是函数库最重要的部分。因此,如果您发现任何未记录的内容、不清楚或过期的文档,请告诉原作者,他们将及时修复。

  高质量、广泛兼容的代码

  良好的单元测试覆盖率。单元测试行与库代码行的比例大约是1比4。

  该库定期在微软视窗、Linux和Mac OS X系统上进行测试。事实上,它可以在任何POSIX系统上运行,并且已经在Solaris、HPUX和BSD上使用。

  没有其他包可以依赖。只需要操作系统现成提供的底层API。

  使用该库之前,不需要任何安装或配置步骤。有关更多信息,请参见如何编译页面。

  所有特定于操作系统的代码都被隔离在最小的操作系统抽象层中。库的其余部分要么位于操作系统抽象层之上,要么是纯ISO标准c。

  3.卷积神经网络人脸图像特征提取

  1.卷积神经网络简介

  卷积神经网络(CNN)是一种具有卷积计算和深层结构的前馈神经网络,是深度学习的代表性算法之一。卷积神经网络具有表示学习的能力,可以根据其层次结构对输入信息进行分类,因此也被称为“移位不变人工神经网络(SIANN)”

  2.卷积神经网络结构

  1)输入层

  卷积神经网络的输入层可以处理多维数据。通常,一维卷积神经网络的输入层接收一维或二维数组,其中一维数组通常是时间或频谱样本。二维阵列可以包含多个通道;二维卷积神经网络的输入层接收二维或三维数组;三维卷积神经网络的输入层接收四维数组。由于卷积神经网络在计算机视觉领域有着广泛的应用,很多研究在介绍其结构时都是以三维输入数据即平面上的二维像素和RGB通道为前提的。

  与其他神经网络算法类似,由于梯度下降算法,卷积神经网络的输入特征需要标准化。具体来说,在将学习数据输入卷积神经网络之前,需要在信道或时间/频率维度上对输入数据进行归一化。如果输入数据是像素,分布在其中的原始像素值也可以归一化到[0,1]区间。输入特征的标准化有利于提高卷积神经网络的学习效率和性能。

  2)隐藏层

  卷积神经网络的隐层包括三种常见的构造:卷积层、池层和全连接层。在一些更现代的算法中,可能有复杂的结构,如初始模块和残差块。在一般结构中,卷积层和池层是卷积神经网络所特有的。卷积层中的卷积核包含权重系数,而池层不包含,因此池层在文献中可能不被认为是一个独立的层。以LeNet-5为例,三种常见的隐层类型的顺序通常是:输入-卷积层-池层-全连接层-输出。

  卷积层

  卷积层的作用是提取输入数据的特征,它包含许多卷积核。卷积核的每个元素对应一个权重系数和一个偏置向量,类似于前馈神经网络的神经元。卷积层中的每个神经元与前一层中彼此靠近的区域中的多个神经元相连接。面积的大小取决于回旋核的大小,文献上称之为“感受野”,其含义可以类比视皮层细胞。当卷积核工作时,它会定期扫描输入特征,将感受野中输入特征的矩阵元素相乘并求和,并叠加偏差:

  游泳池层

  在卷积层进行特征提取后,输出的特征图将被传送到pool层进行特征选择和信息过滤。pool图层包含一个预置的pool函数,其作用是用其相邻区域的要素地图统计数据替换要素地图中某一点的结果。在池层中选择池区域与卷积核扫描特征图相同,由池大小、步长和填充控制。

  输出层

  卷积神经网络中输出层的上游通常是全连接层,因此其结构和工作原理与传统前馈神经网络相同。对于图像分类的问题,输出层使用逻辑函数或softmax函数输出分类标签。在物体检测问题中,输出层可以设计为输出物体的中心坐标、大小和分类。在图像语义分割中,输出层直接输出每个像素的分类结果。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: