用于人脸识别的方向梯度直方图
基于非下采样Contourlet梯度方向直方图的人脸识别
Fa c e r e c o g n i t i o n b a s e d o n hi s t o g r a ms o f no n s u bs a mp l e d c o n t o ur l e t o r i e nt e d g r a di e nt
奉俊 鹏, 杨恢先 , 蔡 勇勇, 翟云龙, 李球球
( 湘潭 大学 材料与光电物理学 院, 湖南 湘潭 4 1 1 1 0 5 ) ( 通信作者电子邮箱 y a n g h x @x t u . e d u . a n )
摘
要: 针对人脸- / e ,  ̄ ' 1 系统准确度 不高的问题 , 提 出一种基 于非 下采样 C o n t o u r l e t 梯度 方 向直方 图( H N O G) 的人
N o n s u b s a m p l e d c o n t o u r l e t O i r e n t e d G r a d i e n t( HN O G) w a s p r o p o s e d .F i r s t l y ,a f a c e i ma g e w a s d e c o m p o s e d w i t h N o n — S u b s a m p l e d C o n t o u r l e t T r a n s f o r m( N S C T )a n d t h e c o e f i f c i e n t s w e r e d i v i d e d i n t o s e v e r a l b l o c k s .T h e n h i s t o g r a ms o f o i r e n t e d
梯度直方图特征
梯度直方图特征(HOG)是一种对图像局部重叠区域的密集型描述符, 它通过计算局部区域的梯度方向直方图来构成特征。
Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。
需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。
HOG特征是一种局部区域描述符,它通过计算局部区域上的梯度方向直方图来构成人体特征,能够很好地描述人体的边缘。
它对光照变化和小量的偏移不敏感。
图像中像素点(x,y)的梯度为Dalal提出的Hog特征提取的过程:把样本图像分割为若干个像素的单元(cell),把梯度方向平均划分为9个区间(bin),在每个单元里面对所有像素的梯度方向在各个方向区间进行直方图统计,得到一个9维的特征向量,每相邻的4个单元构成一个块(block),把一个块内的特征向量联起来得到36维的特征向量,用块对样本图像进行扫描,扫描步长为一个单元。
最后将所有块的特征串联起来,就得到了人体的特征。
例如,对于64*128的图像而言,每2*2的单元(16*16的像素)构成一个块,每个块内有4*9=36个特征,以8个像素为步长,那么,水平方向将有7个扫描窗口,垂直方向将有15个扫描窗口。
也就是说,64*128的图片,总共有36*7*15=3780个特征。
在行人检测过程中,除了上面提到的HOG特征提取过程,还包括彩图转灰度,亮度校正等步骤。
总结一下,在行人检测中,HOG特征计算的步骤:(1)将输入的彩图转换为灰度图;(2)采用Gamma校正法对输入图像进行颜色空间的标准化(归一化);目的是调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰;(3)计算梯度;主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。
(4)将梯度投影到单元的梯度方向;目的是为局部图像区域提供一个编码,(5)将所有单元格在块上进行归一化;归一化能够更进一步对光照、阴影和边缘进行压缩,通常,每个单元格由多个不同的块共享,但它的归一化是基于不同块的,所以计算结果也不一样。
python+人工智能-人脸探测原理--方向梯度直方图
人脸探测原理--方向梯度直方图给计算机输入一套房的面积,位置,朝向,房间数目,计算机就可以自动给你算出它的价格;输入一个人的学历,住址,朋友数目,去过的地方,计算机也可以自动给你算出他/她的年收入;输入一种植物的花瓣数目,花瓣宽度/长度,叶子长度/宽度,花香描述等,计算机就可以告诉我们这种植物的名称;……这些问题都可以通过选择一个机器学习算法,给它数据,然后等待输出结果. 人脸探测也是可以通过机器学习算法来做的.它的目的就是找出图片中的人脸.人脸探测是人脸识别算法和图片审核中所用的算法.在区分人脸之前,首先要找出人脸在照片中的位置! 近几年来的相机都有人脸探测的功能,它能找出人脸,以便可以对每张人脸对焦,从而得出更清晰的照片.我们这里用来做识别人脸,而非得到更清晰的照片.注:自从Paul Viola和Michael Jones 发明了能应用在一般照相机上的快速探测人脸的方法,人脸探测在上个时代初就成为主流技术.现在,人们有了更好的方法用于快速探测人脸.我们将用的方法----方向梯度直方图(Histogram of Oriented Gradients, HOG, 2005). 首先将照片转成黑白照片,因为色彩的信息我们不需要.然后,我们依次关注照片中的每一个像素点.对每个像素点, 我们想看看那些直接包围着它的像素点. 我们的目标:计算出当前像素相对于其周围的像素有多暗. 然后我们想画出像素由明到暗变化最快的方向:对照片中的每一个像素点重复上述操作, 最终每一个像素都被一个箭头取代了. 这些箭头称为梯度,它们显示整张照片由明到暗变化最快的方向.这样做有什么好处?如果我们直接分析像素, 同一个人的非常暗的照片和非常亮的照片将具有完全不同的像素值. 但是考虑亮度改变的方向时,暗照片和两照片将有几乎一样的表示! 所以我们不直接处理像素值信息,而是处理像素明暗的变化信息.我们可以用梯度来看一些基本模式,而不是所有细节!为了达到这目的,我们将照片分成小方格,每个方格的大小为16x16像素.在每一个小方格中,我们将计算在每个主要方向有多少个梯度点.例如,可以考虑有多少个指向(0°,60°)区间,有多少个指向(60°,120°),有多少个指向(120°,180°),等等. 接下来,我们可以统计每个区间内方向梯度的个数(可以为方向梯度的绝对值作为权重),个数最多的区间就"胜出"了.我们以这个区间的箭头方向去取代该小方格.这样,我们就将原图片转化成了非常简单的表示.它只以简单的方式描述人脸的基本结构.为了在这张HOG图片中找到人脸, 我们只需找到我们的图片中最像已知HOG 模式的那部分.已知HOG模式由大量其他照片训练并提取出来,如图所示.为了计算一个HOG描述器, 我们首先需要计算水平梯度和竖直梯度;然后可求得方向梯度直方图. 这可以由如下的核过滤该图片而得:<src='https:///wp-content/uploads/2016/11/gra dient-kernels.jpg' width='350'>我们也可用OpenCV中的Sobel算符来达到同样的目的.1. # Python gradient calculation2. # Read image3. im = cv2.imread('li.jpg')4. im = np.float32(im) / 255.05.6. # Calculate gradient7. gx = cv2.Sobel(img, cv2.CV_32F, 1, 0, ksize=1)8. gy = cv2.Sobel(img, cv2.CV_32F, 0, 1, ksize=1)然后,我们可以用gx, gy来计算梯度的大小和方向.如果我们用OpenCV, 可以应用函数cartToPolar来计算这两个量.代码如下.1. # Python Calculate gradient magnitude and direction ( in degrees )2. mag, angle = cv2.cartToPolar(gx, gy, angleInDegrees=True)我们也可以用skimage模块来计算和显示一幅图的方向梯度直方图.示例代码如下:1. # To calculate HOG and display the HOG image2. import matplotlib.pyplot as plt3. from skimage.feature import hog4. from skimage import data, exposure5. from skimage import color6.7. image = color.rgb2gray(data.astronaut()) #to change to gray, after importing color8. #image = data.astronaut()9.10. fd, hog_image = hog(image, orientations=8, pixels_per_cell=(16, 16),11. cells_per_block=(1, 1), visualise=True)12. #fd, hog_image = hog(image, orientations=8, pixels_per_cell=(16, 16),13. # cells_per_block=(1, 1), visualise=True, multichannel=True)14. # Both visulaize or visualise is OK, but for this version of skimage, use 'visualise'.15.16. fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 4), sharex=True, sharey=True)17. ax1.axis('off')18. ax1.imshow(image, cmap=plt.cm.gray)19. ax1.set_title('Input image')20.21. # Rescale histogram for better display22. hog_image_rescaled = exposure.rescale_intensity(hog_image, in_range=(0, 10))23.24. ax2.axis('off')25. ax2.imshow(hog_image_rescaled, cmap=plt.cm.gray)26. ax2.set_title('Histogram of Oriented Gradients')27. plt.show()结果如下,左边为原图(已经转成黑白照片),右图为方向梯度直方图.我们也可以利用io.imread()导入图片,使之称为numpy.ndarray型的数据. 然后也可对图片进行同样的操作,得到方向梯度直方图. 代码和上面的代码只在导入图片时有细微差别.代码和结果依次如下:1. import matplotlib.pyplot as plt2. from skimage import color3. from skimage.feature import hog4. from skimage import data, exposure5.6. from skimage import io7.8. image = io.imread('./li_00.jpg')9. image = color.rgb2gray(image)10.11. print("type of image is:{}".format(type(image)))12. print("image is:{}".format(image))13. print("no. of columns of image is:{}".format(len(image[0])))14. print("no. of rows of image is:{}".format(len(image)))15.16. fd, hog_image = hog(image, orientations=8, pixels_per_cell=(8, 8),17. cells_per_block=(1, 1), visualise=True)18.19. fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 4), sharex=True, sharey=True)20.21. ax1.axis('off')22. ax1.imshow(image, cmap=plt.cm.gray)23. ax1.set_title('Input image')24.25. # Rescale histogram for better display26. hog_image_rescaled = exposure.rescale_intensity(hog_image, in_range=(0, 10))27.28. ax2.axis('off')29. ax2.imshow(hog_image_rescaled, cmap=plt.cm.gray)30. ax2.set_title('Histogram of Oriented Gradients')31. plt.show()参考文献1. Dalal, N. and Triggs, B., “Histograms of Oriented Gradients for Human Detection,”IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2005, San Diego, CA, USA.2. David G. Lowe, “Distinctive image features from scale-invariant keypoints,”International Journal of Computer Vision, 60, 2 (2004), pp. 91-110.。
总结人脸识别技术的算法模型
总结人脸识别技术的算法模型一、引言人脸识别技术是指通过计算机对人脸图像进行分析和处理,从而实现对人脸身份的识别。
随着科技的不断发展和应用场景的不断扩大,人脸识别技术已经成为了当今最为热门的技术之一。
本文将从算法模型的角度来总结人脸识别技术。
二、传统算法模型1. 特征提取传统算法模型中最常用的特征提取方法是基于LBP(Local Binary Pattern)和HOG(Histogram of Oriented Gradient)算法。
其中LBP算法主要通过对图像中每个像素点与周围八个像素点进行比较,生成一个二进制数来表示该点的特征;HOG算法则是基于图像中梯度方向直方图的方法,通过计算不同方向上梯度直方图来提取特征。
2. 降维传统算法模型中常用的降维方法有PCA(Principal Component Analysis)和LDA(Linear Discriminant Analysis)两种。
其中PCA 主要是通过线性变换将高维数据映射到低维空间上,从而达到降维的目的;而LDA则是通过找到使类间距离最大化、类内距离最小化的投影方向来实现降维。
3. 分类器传统算法模型中常用的分类器有SVM(Support Vector Machine)和KNN(K-Nearest Neighbor)两种。
其中SVM是一种基于最大间隔分类的方法,通过找到能够将不同类别分开的最优超平面来实现分类;而KNN则是一种基于距离度量的方法,通过找到与待分类样本距离最近的k个训练样本来确定其类别。
三、深度学习算法模型1. 卷积神经网络卷积神经网络是深度学习中最为常见和有效的人脸识别算法模型之一。
它主要由卷积层、池化层、全连接层等组成,通过多层卷积和池化操作来提取图像特征,并通过全连接层将特征映射到输出空间上进行分类。
2. 人脸验证网络人脸验证网络主要是针对人脸识别中的一对一验证问题而设计的。
它主要由共享卷积层和两个分支组成,其中一个分支用于提取目标人脸图像的特征,另一个分支用于提取参考人脸图像的特征,并通过计算两个分支的特征向量之间的距离来进行分类。
图像梯度方向直方图描述子
基于梯度幅值的方向权重投影
Step 3 基于梯度幅值的方向权重投影
HOG结构 通常使用的HOG结构大致有三种:矩形HOG(简称为 R-HOG),圆形HOG和中心环绕HOG。它们的单位都是 Block(即块)
LOGO
Dalal的试验证明矩形HOG和圆形HOG的检测效果基本一致, 而环绕形HOG效果相对差一些。并且,圆形与环绕形的HOG 文献比较少,应用研究没有矩形HOG普遍。所以在此,我 将着重讲解矩形HOG的情况。
LOGO
重叠块: Datal等人在他们那篇关于HOG最为经典的论文 《Histogram of Oriented Gradient for Human Detection》提出了利用块与块的重叠(Overlap)来解决 混叠,并且取得了不错的效果。
LOGO
在重叠方式中,块与块之间的边缘点被重复根据权重投影到各自相邻 块(block)中,从而一定模糊了块与块之间的边界,处于块边缘部分的像 素点也能够给相邻块中的方向梯度直方图提供一定贡献,从而达到关联块 与块之间的关系的作用。Datal对于块和块之间相互重叠程度对人体目标检 测识别率影响也做了实验分析。
LOGO
关于HOG的总结
关于HOG的总结:
HOG的优点 HOG的缺点 对于HOG的一些启发
LOGO
HOG的优点:
HOG表示的是边缘(梯度)的结构特征,因此可以描述 局部的形状信息; 位置和方向空间的量化一定程度上可以抑制平移和旋转 带来的影响; 采取在局部区域归一化直方图,可以部分抵消光照变化 带来的影响。 由于一定程度忽略了光照颜色对图像造成的影响,使得 图像所需要的表征数据的维度降低了。 而且由于它这种分块分单元的处理方法,也使得图像局 部像素点之间的关系可以很好得到的表征。
hog函数
hog函数一、什么是hog函数1.1 hog函数的定义Hog函数是指方向梯度直方图(Histogram of Oriented Gradients)函数,它是一种在计算机视觉领域常用的特征描述算法。
Hog函数通过计算图像中每个像素的方向梯度直方图来提取有效的图像特征。
Hog函数可以用于目标检测、行人识别、人脸识别等各种视觉任务。
1.2 hog函数的原理Hog函数的原理基于以下两个假设: - 图像中的局部目标通常通过边缘和角点来表示。
- 目标的外观和形状可以通过局部区域的梯度方向直方图来描述。
Hog函数的计算步骤如下: 1. 图像预处理:将彩色图像转换为灰度图像,消除光照的干扰。
2. 计算梯度:使用Sobel算子计算图像的水平和垂直梯度。
3. 划分图像:将图像划分为小的局部区域(Cell),每个区域包含若干个像素。
4. 计算局部梯度直方图:对每个局部区域内的像素,根据其梯度方向统计直方图。
5. 归一化:对每个区域内的直方图进行归一化,去除光照等干扰。
6. 拼接:将所有局部区域的直方图拼接成一个特征向量。
7. 使用特征向量进行目标检测或识别。
二、hog函数在目标检测中的应用2.1 hog函数在行人检测中的应用行人检测是计算机视觉中的一个重要任务,而hog函数在行人检测中得到了广泛的应用。
在行人检测中,hog函数可以通过学习样本图像中的行人特征,构建行人模型进行检测。
hog函数通过提取图像中的梯度特征,能够有效地对行人的形状和外观进行描述,从而实现行人检测任务。
2.2 hog函数在目标检测中的优势相比于其他特征描述算法,如SIFT、SURF等,hog函数具有以下优势: - 不受光照变化的影响:hog函数在计算特征时对光照的变化具有较好的鲁棒性,能够有效地去除光照的影响。
- 不受尺度变化的影响:hog函数在计算特征时可以通过在不同尺度上进行图像金字塔操作来适应不同大小的目标。
- 较低的计算复杂度:hog函数的计算过程相对简单,可以高效地提取图像的特征。
人脸识别主要方法
人脸识别主要方法人脸识别作为一种生物特征识别技术,在多个领域得到了广泛应用,如安全控制、人脸图像检索等。
人脸识别主要依赖于图像处理、模式识别和机器学习等技术,其中常用的方法包括特征提取、模型训练和识别匹配等步骤。
下面将介绍人脸识别的主要方法。
首先是人脸检测。
人脸检测是指在图像或视频中,确定是否存在人脸,并且将人脸从图像中分离出来。
人脸检测可以采用基于特征的方法,如Haar特征分类器和方向梯度直方图(HOG)等;也可以采用基于模型的方法,如基于支持向量机(SVM)和卷积神经网络(CNN)等。
其次是人脸对齐。
人脸对齐是指将检测到的人脸图像进行归一化处理,使得人脸的位置、角度、大小等因素对识别结果影响较小。
常用的人脸对齐方法有基于关键点定位的方法,如元素组合模型(ASM)和支持向量回归(SVR)等;也可以采用基于模型的方法,如Active Shape Models (ASM)和Active Appearance Models(AAM)等。
再次是特征提取。
在特征提取阶段,主要通过从人脸图像中提取出区分人脸的特征。
传统的特征提取方法有基于灰度信息的方法,如局部二值模式(LBP)和Gabor滤波器等;也有基于几何信息的方法,如主动外观模型(AAM)和多尺度区域卷积神经网络(MTCNN)等。
此外,近年来,深度学习技术的发展,使得基于深度神经网络的特征提取方法得到了广泛应用,如卷积神经网络(CNN)和自编码器等。
最后是模型训练和识别匹配。
在模型训练阶段,使用已标注的人脸图像数据集对模型进行训练,从而得到适用于人脸识别任务的分类模型。
常用的模型训练方法有基于统计机器学习的方法,如SVM和随机森林等;也有基于深度学习的方法,如卷积神经网络(CNN)和神经网络分类器等。
在识别匹配阶段,通过将输入的人脸图像与已训练好的人脸库中的人脸进行比对,从而得到识别结果。
常用的识别匹配方法有特征脸法、Fisher线性判别法(FLD)和支持向量机等。
图像的三大特征(转)
图像的三⼤特征(转)原⽂(⼀)HOG特征1、HOG特征:⽅向梯度直⽅图(Histogram of Oriented Gradient, HOG)特征是⼀种在计算机视觉和图像处理中⽤来进⾏物体检测的特征描述⼦。
它通过计算和统计图像局部区域的梯度⽅向直⽅图来构成特征。
Hog特征结合 SVM分类器已经被⼴泛应⽤于图像识别中,尤其在⾏⼈检测中获得了极⼤的成功。
需要提醒的是,HOG+SVM进⾏⾏⼈检测的⽅法是法国研究⼈员Dalal 在2005的CVPR上提出的,⽽如今虽然有很多⾏⼈检测算法不断提出,但基本都是以HOG+SVM的思路为主。
(1)主要思想:在⼀副图像中,局部⽬标的表象和形状(appearance and shape)能够被梯度或边缘的⽅向密度分布很好地描述。
(本质:梯度的统计信息,⽽梯度主要存在于边缘的地⽅)。
(2)具体的实现⽅法是:⾸先将图像分成⼩的连通区域,我们把它叫细胞单元。
然后采集细胞单元中各像素点的梯度的或边缘的⽅向直⽅图。
最后把这些直⽅图组合起来就可以构成特征描述器。
(3)提⾼性能:把这些局部直⽅图在图像的更⼤的范围内(我们把它叫区间或block)进⾏对⽐度归⼀化(contrast-normalized),所采⽤的⽅法是:先计算各直⽅图在这个区间(block)中的密度,然后根据这个密度对区间中的各个细胞单元做归⼀化。
通过这个归⼀化后,能对光照变化和阴影获得更好的效果。
(4)优点:与其他的特征描述⽅法相⽐,HOG有很多优点。
⾸先,由于HOG是在图像的局部⽅格单元上操作,所以它对图像⼏何的和光学的形变都能保持很好的不变性,这两种形变只会出现在更⼤的空间领域上。
其次,在粗的空域抽样、精细的⽅向抽样以及较强的局部光学归⼀化等条件下,只要⾏⼈⼤体上能够保持直⽴的姿势,可以容许⾏⼈有⼀些细微的肢体动作,这些细微的动作可以被忽略⽽不影响检测效果。
因此HOG特征是特别适合于做图像中的⼈体检测的。
2、HOG特征提取算法的实现过程:⼤概过程:HOG特征提取⽅法就是将⼀个image(你要检测的⽬标或者扫描窗⼝):1)灰度化(将图像看做⼀个x,y,z(灰度)的三维图像);2)采⽤Gamma校正法对输⼊图像进⾏颜⾊空间的标准化(归⼀化);⽬的是调节图像的对⽐度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪⾳的⼲扰;3)计算图像每个像素的梯度(包括⼤⼩和⽅向);主要是为了捕获轮廓信息,同时进⼀步弱化光照的⼲扰。
人脸识别PPT课件
资金是运动的价值,资金的价值是随 时间变 化而变 化的, 是时间 的函数 ,随时 间的推 移而增 值,其 增值的 这部分 资金就 是原有 资金的 时间价 值
2 图像预处理
➢ 灰度化
将彩色图像转换为灰度图,其中有三种方法:最大值法、平均值法、以及加权平均法。
➢ 几何变换
通过平移、转置、镜像、旋转、缩放等几何变换对采集的图像进行处理,用于改正图像采集系统的系统误差。
资金是运动的价值,资金的价值是随 时间变 化而变 化的, 是时间 的函数 ,随时 间的推 移而增 值,其 增值的 这部分 资金就 是原有 资金的 时间价 值
4 人脸识别
主流的人脸识别技术基本上可以归结为三类:
基于几何特征的方法
基于模板的方法
• 特征脸方法 • 线性判别分析方法 • 奇异值分解方法 • 神经网络算法 • 动态连接匹配
资金是运动的价值,资金的价值是随 时间变 化而变 化的, 是时间 的函数 ,随时 间的推 移而增 值,其 增值的 这部分 资金就 是原有 资金的 时间价 值
1 应用场景
身份证查验,证据留存
当前主要是通过扫描或者复印身份证信 息,人工比对身份证照片。扫描或复印身份 证只是作为备案,并不能有效核实身份证真 伪。要确保是采用真实身份证办理业务,必 须有某种技术手段对办事人提供的身份证进 行查验。
2 几何变换
定义:图像空间变化,将一幅图的坐标位置映射到另一幅图像中的新坐标上。 目的:通过适当的几何变换,消除几何因素(视角,方位等)造成的图像外观变化。
➢ 图像平移 ➢ 图像转置 ➢ 图像旋转 ➢ 图像缩放
资金是运动的价值,资金的价值是随 时间变 化而变 化的, 是时间 的函数 ,随时 间的推 移而增 值,其 增值的 这部分 资金就 是原有 资金的 时间价 值
图像识别中的特征提取算法综述
图像识别中的特征提取算法综述近年来,随着人工智能技术的迅猛发展,图像识别成为了热门的研究领域。
在图像识别的过程中,特征提取是至关重要的步骤。
本文将综述图像识别中的特征提取算法,并探讨它们在实际应用中的优劣。
一、传统特征提取算法1. 尺度不变特征变换(Scale-Invariant Feature Transform, SIFT)SIFT是一种使用尺度空间技术进行特征提取的算法。
它通过在不同尺度下对图像进行高斯滤波,并计算图像梯度的幅值和方向来提取图像的特征点。
SIFT算法具有尺度不变性和旋转不变性,对于物体的缩放、旋转、平移等变换有较强的鲁棒性。
2. 方向梯度直方图(Histogram of Oriented Gradient, HOG)HOG算法是一种基于局部梯度方向的图像特征描述子。
它将图像分成小的区域,计算每个区域内梯度方向的直方图,并将这些直方图拼接成一个特征向量。
HOG算法在行人检测、人脸识别等领域取得了良好的效果。
3. 主成分分析(Principal Component Analysis, PCA)PCA是一种常用的降维算法,也可用于图像的特征提取。
它通过计算图像的协方差矩阵的特征向量和特征值,找到图像的主要特征。
PCA算法广泛用于图像压缩和图像分类等领域。
二、深度学习中的特征提取算法1. 卷积神经网络(Convolutional Neural Network, CNN)CNN是一种深度学习算法,被广泛应用于图像识别领域。
CNN通过多层卷积和池化操作提取图像的局部特征,并通过全连接层进行分类。
相比于传统特征提取算法,CNN能够自动学习图像的高级特征,具有更好的表达能力和泛化能力。
2. 深度残差网络(Deep Residual Network, ResNet)ResNet是一种深度残差网络,通过引入残差模块解决了训练深层网络时的梯度消失问题。
ResNet可以自动学习高级特征,并在图像识别任务中取得了诸多突破性的成果。
素描梯度方向直方图用于人脸画像识别
g r a d i e n t ( S - H O G)d e s c i r p t o r .T h e m a i n p a r a m e t e r s i n t h e p r o c e s s o f S - H O G d e s c i r p t o r a c c u m u l a t i n g i ma g e g r a d i e n t
3 . 2 2 %和6 8 . 8 1 % 。在 M S F S库上 , 分别提高 1 4 %、 5 . 5 %和2 6 . 5 % 。在 P R I P库上 , 分别提高 6 . 1 5 %、 4 . 0 6 %和 9 . 7 5 %
关键词 : 人脸 画像 ; 素描算子 ; 梯度方 向直方 图描述子 ; 不 变特征
f a c e s k e t c h’ S t hi c k g r a d i e n t a mp l i t u de i ma g e c o n t o u r i s p r o p o s e d,wh i c h d e v e l o ps s k e t c h hi s t o g r a m o f o r i e n t a t i o n
i n f o r ma t i o n a r e o pt i mi z e d.wh i c h i mp r o v e s i ma g e i n f o r ma t i o n d e s c r i p t i o n a b i l i t y o f S— H OG d e s c r i p t o r . Ai mi ng a t a d—
中 图分 类 号 : T P 3 9 1 . 4 文献标识码 : A 国 家标 准 学 科分 类代 码 : 5 2 0 . 2 0 4 0
HOG(方向梯度直方图)与特征识别
HOG(⽅向梯度直⽅图)与特征识别结合这周看的论⽂,我对这周研究的Histogram of oriented gradients(HOG)谈谈⾃⼰的理解:HOG descriptors 是应⽤在计算机视觉和图像处理领域,⽤于⽬标检测的特征描述器。
这项技术是⽤来计算局部图像梯度的⽅向信息的统计值。
这种⽅法跟边缘⽅向直⽅图(edge orientation histograms)、尺度不变特征变换(scale-invariant feature transform descriptors)以及形状上下⽂⽅法( shape contexts)有很多相似之处,但与它们的不同点是:HOG描述器是在⼀个⽹格密集的⼤⼩统⼀的细胞单元(dense grid of uniformly spaced cells)上计算,⽽且为了提⾼性能,还采⽤了重叠的局部对⽐度归⼀化(overlapping local contrast normalization)技术。
这篇⽂章的作者Navneet Dalal和Bill Triggs是法国国家计算机技术和控制研究所French National Institute for Research in Computer Science and Control (INRIA)的研究员。
他们在这篇⽂章中⾸次提出了HOG⽅法。
这篇⽂章被发表在2005年的CVPR上。
他们主要是将这种⽅法应⽤在静态图像中的⾏⼈检测上,但在后来,他们也将其应⽤在电影和视频中的⾏⼈检测,以及静态图像中的车辆和常见动物的检测。
HOG描述器最重要的思想是:在⼀副图像中,局部⽬标的表象和形状(appearance and shape)能够被梯度或边缘的⽅向密度分布很好地描述。
具体的实现⽅法是:⾸先将图像分成⼩的连通区域,我们把它叫细胞单元。
然后采集细胞单元中各像素点的梯度的或边缘的⽅向直⽅图。
最后把这些直⽅图组合起来就可以构成特征描述器。
用于人脸识别的相对梯度直方图特征描述
Cho n gq i n g Uni v e r s i t y ,Cho ngq i n g 4 0 0 0 44, Chi na;
2 .Ch o n g q i n g Un i v e r s i t y o f S c i e n c e& Te c h n o l o g y,Ch o n g q i n g 4 0 1 3 3 1 。Ch i n )
*Co r r e s po n d i n g a u t h o r,E - ma i l : y a n g l p @c q u. e d u . ( - ”
Ab s t r a c t :As Pa t t e r n o f Or i e nt e d Ed ge Ma g ni t u d e( POEM )me t h od c a n n ot a c qu i r e e n ou g h f e a t u r e d e — s c r i p t i o n i n f o r ma t i o n i n i l l u mi na t i o n c on d i t i o n c h a n ge s d r as t i c a l l y,t hi s pa p e r a n a l v z e s t h e c h a r a c t e r i s —
HOG(方向梯度直方图)
1、HOG特征:方向梯度直方图(Histogr am of Oriente d Gradien t, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。
它通过计算和统计图像局部区域的梯度方向直方图来构成特征。
Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。
需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的C VPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以H OG+SVM的思路为主。
(1)主要思想:在一副图像中,局部目标的表象和形状(appeara nce and shape)能够被梯度或边缘的方向密度分布很好地描述。
(本质:梯度的统计信息,而梯度主要存在于边缘的地方)。
(2)具体的实现方法是:首先将图像分成小的连通区域,我们把它叫细胞单元。
然后采集细胞单元中各像素点的梯度的或边缘的方向直方图。
最后把这些直方图组合起来就可以构成特征描述器。
(3)提高性能:把这些局部直方图在图像的更大的范围内(我们把它叫区间或block)进行对比度归一化(contras t-normali zed),所采用的方法是:先计算各直方图在这个区间(block)中的密度,然后根据这个密度对区间中的各个细胞单元做归一化。
通过这个归一化后,能对光照变化和阴影获得更好的效果。
(4)优点:与其他的特征描述方法相比,HOG有很多优点。
首先,由于HOG是在图像的局部方格单元上操作,所以它对图像几何的和光学的形变都能保持很好的不变性,这两种形变只会出现在更大的空间领域上。
其次,在粗的空域抽样、精细的方向抽样以及较强的局部光学归一化等条件下,只要行人大体上能够保持直立的姿势,可以容许行人有一些细微的肢体动作,这些细微的动作可以被忽略而不影响检测效果。
如何理解HOG特征
如何理解HOG特征HOG特征是一种用于目标检测和图像识别的特征描述方法。
它是基于局部梯度方向直方图的算法,通过计算图像中不同区域的梯度方向直方图来描述图像的局部特征。
以下是对HOG特征的理解:1. 梯度方向直方图(Gradient Orientation Histogram):HOG特征的核心是梯度方向直方图。
梯度方向表示了图像中的边缘和纹理方向,在计算梯度方向直方图时,首先需要计算图像中每个像素点的梯度大小和梯度方向。
梯度大小表示了像素点的强度,而梯度方向表示了像素点的方向。
2. 图像分块(Image Blocks):为了提高HOG特征的描述能力,在计算梯度方向直方图时,需要将图像进行划分成多个小的块。
每个块内计算梯度方向直方图,将每个方向的梯度值累加到对应的直方图中。
3. 归一化(Normalization):由于不同的图像可能有不同的光照条件和对比度,需要对计算得到的梯度方向直方图进行归一化处理,使得各个方向上的梯度值具有相同的重要性。
常用的归一化方法是对每个块内的直方图进行L2范数归一化。
4. 颜色通道(Color Channels):除了灰度图像外,HOG特征还可以用于彩色图像。
对于彩色图像,可以将其转换为不同的颜色通道(如RGB通道、HSV通道等),然后分别计算每个通道的梯度方向直方图,并将它们合并成最终的特征向量。
5. 多尺度(Multiscale):由于待检测的目标可能出现在不同的尺度下,为了增加HOG特征的鲁棒性,常常使用多尺度来检测目标。
在不同的尺度下提取HOG特征,并将这些特征向量进行拼接,得到最终的特征向量。
6. 分类器(Classifier):HOG特征是一种高维向量,通常需要使用机器学习算法进行分类或目标检测。
常用的分类器包括支持向量机(SVM)和神经网络等。
7. 应用领域(Applications):HOG特征在计算机视觉领域有广泛的应用。
例如,HOG特征可用于行人检测、人脸识别、车辆检测、动作识别等。
face_recognition库原理
face_recognition库原理Face_recognition是一个用于人脸识别的Python库,其基本原理是使用深度学习模型来提取和比较人脸特征。
下面我们将详细介绍face_recognition库的原理。
1.人脸检测:Face_recognition库使用HOG(Histogram of Oriented Gradients,方向梯度直方图)算法进行人脸检测。
HOG算法通过计算图像局部区域的梯度直方图来获得图像的特征向量,然后使用滑动窗口的方法来检测人脸。
2.人脸对齐:在进行人脸识别之前,需要对人脸进行对齐,使得不同人脸的特征点对应位置相同。
为了实现人脸对齐,face_recognition库使用了dlib库中的正交距离变换(Orthogonal Procrustes Analysis)算法。
该算法通过计算两组特征点之间的旋转、缩放和平移变换,使得两组特征点对应的点之间的欧式距离最小。
3.人脸特征提取:Face_recognition库基于深度学习模型的思想,使用预训练的卷积神经网络(Convolutional Neural Networks,CNN)来提取人脸特征。
具体来说,它使用了dlib库中的基于ResNet的深度学习模型。
该模型可以将人脸图像映射到一个128维的特征向量,这个特征向量被称为人脸嵌入(face embedding)或人脸特征向量。
4.人脸比较:在进行人脸识别时,face_recognition库将两个人脸的特征向量进行比较,通过计算两个特征向量之间的欧式距离来判断其相似度。
欧式距离越小,说明两个人脸越相似。
5.人脸识别:总的来说,face_recognition库的原理是使用深度学习模型来提取和比较人脸特征,通过计算特征向量之间的欧式距离来判断人脸的相似度,从而实现人脸检测和识别的功能。
这个库在准确性和速度上都具有较高的性能,因此被广泛应用于人脸识别系统中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用于人脸识别的方向梯度直方图
摘要:
方向梯度直方图已经被成功地应用于多个研究领域,并且表现出色,特别是在行人检测上表现不俗。
然而,这项技术却很少被应用于人脸识别。
为了给人脸识别开发出一个快速并高效的新功能,最初的方向梯度直方图和它的演变被应用于评估不同因素的影响。
同时也开发了一个基于信息的标准去评估不同功能的潜在分类能力。
比较试验表明,即时使用了一个相对简单的功能描述符,这项被提出的方向梯度直方图功能实现了几乎相同的识别率,但花费的计算时间比广泛用于FRGC和CAS-PEAL数据库的Gaber特征低得多。
关键词:人脸识别,功能,方向梯度直方图。
简介
图像强度包括识别信息和噪声,而且在大多数情况下是对象识别的唯一来源。
然而,真正重要的不是绝对值,而是反映了结构信息或对象的纹理变化的相对值。
各种特征的提取和挑选方法已经使用广泛。
除了如PCA和LDA的整体方法,局部描述符近来也在被研究。
一个局部面部区域的理想描述符应该有大类的方差和小类的方差,这意味着描述符应该能强有力的应对不同的照明,轻微的变形,
图像质量退化等等。
信息理论被用于开发一个评估不同功能的潜在分类能力的标准。
在这已经被纹理分析团队开发出的图像补丁的出现的各类描述符中,当用于代表面部图像时,局部二进制模式功能产生了最好的结果。
这个使用局部二进制用于面部描述的想法可以被视为一个围观模式的复合,这能被这个操作符描述的很好。
然而,有时候微观模式太多,以至于在实践中一个系统不得不减少局部区域的数量或形成一个合理长度特征向量的可能尺度的数量。
Gabor小波,它的内核同哺乳动物的大脑皮层简单细胞的二维代表要点相似,是由Gabor在1946年第一次提出。
Gabor转换同时提高了面部特征的方向和强度,并且作为一个有效的元素被广泛应用与图像处理和模式识别任务。
Gabor小波是曾用于人脸识别的最受欢迎和最成功的功能。
例如,它在动态链接架构框架和弹性图匹配方法等被用于人脸识别。
方向梯度直方图的使用上也有很多前辈。
Freeman和Roth将它应用于手势识别,Dalal 和Triggs使用它提出了一个行人检测算法并取得了优秀的检测结果。
方向梯度直方图提供了当劳氏尺度不变特征变换(SIFT)宽基线图像匹配时,与局部空间直方图和规划化结合的匹配规模不变要点的底层图像描述符。
然而,几乎找不到可以证实这项功能在人脸识别上成功运用的出版物。
1方向梯度直方图
1.1基本理论
方向梯度直方图功能的基本思想是即使没有相应的梯度或边缘的精确知识,局部对象的外观和形状特征也往往能被局部强度梯度的分布或边缘方向很好地特征化。
自从直方图给出了平移不变性,定位分析能强有力的应对照明变化。
方向梯度直方图特性总结了图像区域分布的测量,并且对识别纹理对象变形形状特别有用。
这个方法同时简单快捷,所以直方图能够迅速计算。
用于SIFT或EBGM方法时,原始的方向梯度直方图功能是由每个图像的关键点生成的。
每个关键点的周边区域被分为若干均匀间隔的单元,对于每个单元来
说,一个一维的局部直方图的梯度方向或边缘方向是由细胞的所有像素积累而成的。
一个关键点周围的所有单元的直方图条目形成那个关键点的特征。
所有要点结合的直方图特性形成图像表示。
整个过程由图1所示。
图1图像窗口分割成小的空间区域(单元),局部一维直方图的梯度方向或者边缘方向积累并连接形成最终的直方图特征。
1.2方向表示
方向可以表示为一单角或二倍角。
一个单角把给定的边和对比的逆转区域当做具有相反的方向。
二倍角表示是指这些有相同的方向。
单角表示可能允许更多的重要模式。
这项工作使用了单角表示为了使模式之间允许更多的差别。
第4部分中的测试显示了单角表示比二倍角表示表现更为出色。
注意这不同于使用了一个单角表示代替二倍角的经典的Gabor特性。
如果一个图像窗口I能够被均分为N个单元,这个图像窗口能够被表示为:
Ct是所有像素的集合,它属于t-th单元,对于图像窗口I的任意像素p(x,y),对比是由下列式子给出:
梯度方向由下列式子给出:
如果方法被分为H个,这就意味着每个单元的直方图向量长度为H,直方图向量可以如下计算:
|Ct|表示集合Ct的大小。
1.3归一化
为了照明和噪声的更好的不变性,通常是在计算柱状图向量之后使用归一化步骤。
有4个不同的归一化方案: L2-norm,L2-Hys,L1-sqrt和L1-norm。
由于其更好的表现,该分析使用了L2-norm方案:
Ε是一个小的积极量,当空单元被考虑到时,它被使用于正则化。
1.4快速计算
Liu等人为梯度方向不在定位中心的像素介绍了快速计算直方图重量的方法。
如图2所示:
图2投影梯度级最近的中心方向的平行四边形法
2 重叠的方向梯度直方图
眼睛位置的准确性对匹配两个面部图像是非常重要的。
然而,准确性不可能达到100%,而且当光照条件不好或动作模糊时,准确性将大大下降。
直方图本身对这个问题提供了一些平衡,但这是不够的。
因此,重叠的方向梯度直方图功能被提出去进一步克服这个问题。
这个灵感来源于Dalal和Trigg的结论:虽然毫无根据,但被重叠引入的冗余信息明显提高了行人检测的表现。
在重叠的方向梯度直方图被提出之前,必须首先解释使用方向梯度直方图功能的方法。
方向梯度直方图的特性在这里并不是每个关键点生成的,但是面部图像是被均分为大小一致的相同单元。
面部图像的最终特征是由每个单元首先生成的柱状图获得,然后简单的将它们连接在一起(图3a)。
整个过程与LBP特征提取是相似的。
为了生成一个重叠的方向梯度直方图特性,一些原始的方向梯度直方图特性伴随着基于一个独特的方向梯度直方图网格产生的每个方向梯度直方图特征首
次独立生成。
这些不同的网格可能包含不同大小的单元(虽然在我们的实验中,为了简单起见,它们是相同的),但是它们不得不被放到不同的位置。
因此,这些不同的方向梯度直方图网格中的单元们可能如图3b一样相互重叠。
然后,或者每个网格生成的特性为了特征级融合完全链接,或者两个具有个别特征的面部图像的相似分数为了分数级融合而计算。
图3(a)图像窗口被均分为大小相同的单元,局部一维梯度方向直方图积累并连接形成最终的直方图特征。
(b)两种不同网格相互重叠的部分区域。
3 测量特性的分类能力
根据 Devuver的说法,贝叶斯距离、错误概率和对数信息测量如下相关:
Pe是贝叶斯错误概率,B(X|Y)是贝叶斯距离,H(X|Y)是对数信息测量。
由信息理论,
方程11表明一个更大的交互信息I(X|Y)将会减少Pe。
让E表示身份空间,让F表示特征空间,熵H(E)是一个给定分类问题的常数,交互信息I(E|F)能被用于评估不同特征的潜在分类能力。
伴随着同方差的假设和总离散的高斯分布假设,I(E|F)能够被写为:
Sw是在类矩阵,Sb是类间矩阵,St是总离散矩阵。
Λ是广义特征值和用于找到fisher基础向量的广义特征值问题的相关量,K是剩余维度的数量。
然后不同特征的I(E|F)为分类而做比较。
4实验结果
各种不同的试验是用于研究方向梯度直方图特征的变化,并且比较不同特征的能量级别、识别率以及它们基于FRGC v2.0数据库和CAS-PEAL数据库的实际分辨率。
在FRGC v2.0数据库(图4)训练集中存有222对象的超过10000个正面图像,验证集中存有466个对象的超过32 000的正面图像。
在训练过程中,对于训练集中每个对象,随机抽取其10张图像进行训练。
验证图像过程采用466个对象的有表情和光照变化的图像。
查询组中所用图像与在FRGC Ver2.0上进行的标准实验4相同,由8014个不受控制的静止图像组成。
目标级包括由466单一
的受控制的静止图像组成,每个对象对应一个图像,这与在FRGC上进行的标准实验4稍有不同,因为在大多数实际应用中,每个对象并没有多个目标图像,而对于每一个对象的多个查询图像却是共同的。
图4在FRGC v2.0数据库中受控制和不受控制的图像
5结论
方向梯度直方图特征描述符作为一个比较简单的局部特征描述符,广泛应用于行人探测和跟踪,但极少被用于人脸识别。
随着一种快速的计算方法的产生,以及对影响方向梯度直方图性能的多种不同因素进行评估,,设计出具有精细渐变尺度,能够精确定位,单元尺度小且有重叠的HOG特征描述符梯度,同时,这种特征描述符能够实现与其他相同的性能,但是比Gabor描述符花费的时间少,且比LBP描述符更精确。
在这里,把这种互信息作为潜在的不同能量等级的一般测量可能是比方向梯度直方图功能在人脸识别中的成功应用更重要的理论。
这种互信息能够实现不同特征的比较,而不管它具体的应用环境。
本文深入探索的基于方向梯度直方图特征的人脸识别在未来的工作将会得到进一步扩展,并把这种特征与其他特征融合起来,因为其他功能能够通过精确匹配来提高稳定性,并且对计算量几乎没有影响。
相对简单而有效的HOG特征描述符对融合任务来说是最佳选择。