主要内容

骨折比重

提取面向梯度(HOG)特征的直方图

描述

例子

特征= extractHOGFeatures (一世返回从真实颜色或灰度输入图像中提取的HOG特征,一世.特性以1-by-的形式返回N向量,N为HOG特征长度。返回的特征编码来自图像区域的局部形状信息。您可以将此信息用于许多任务,包括分类、检测和跟踪。

例子

[特征有效点] =骨折比法(一世返回围绕指定点位置提取的HOG特征。该函数还返回有效点,它包含周围区域完全包含其中的输入点位置一世.与点相关的比例信息被忽略。

例子

[___可视化] =骨折比法(一世___可选地使用任何前面的语法返回HOG功能可视化。您可以使用此可视化使用阴谋可视化).

[___] =骨折比法(___名称,值使用一个或多个名称,值对参数指定的其他选项使用前面的任何语法。

例子

全部折叠

阅读感兴趣的形象。

img = imread (“cameraman.tif”);

提取猪特征。

[FeatureVector,Hogvisualization] =骨折比法(IMG);

在原始图像上绘制HOG特征。

图;imshow(img);抓住;情节(Hogvisualization);

图中包含一个坐标轴。轴包含3个类型图像的对象,线。

阅读感兴趣的形象。

I1 = imread ('甘迪克莱恩普恩');

提取猪特征。

[Hog1,可视化] =骨折比法(I1,'细胞化',[32 32]);

显示原始图像和HOG功能。

次要情节(1、2、1);imshow (I1);次要情节(1、2、2);情节(可视化);

图包含2个轴。轴1包含2个类型的2个物体。轴2包含类型图像的对象。

带着兴趣去阅读。

i2 = imread('甘迪克莱恩普恩');

检测并选择图像中最强的角落。

角落=检测到Fastfeatures(IM2Gray(I2));Strongest = Selectstrongest(角落,3);

提取猪特征。

[hog2, validPoints ptVis] = extractHOGFeatures (I2,最强的);

显示原始图像与覆盖的HOG特征周围最强的角落。

图;imshow (I2);抓住;情节(ptVis“颜色”“绿色”);

图中包含一个坐标轴。轴包含图像、直线、矩形等6个对象。

输入参数

全部折叠

输入图像,指定m——- - - - - -N-by-3 TrueColor或m——- - - - - -N2-D灰度。输入图像必须是真实的,非分数值。如果您有严格的裁剪图像,则可能会丢失HOG功能可以编码的形状信息。您可以避免丢失此信息,包括包含背景像素的补丁周围的额外像素。

数据类型:单身的||int16|uint8.|uint16|逻辑

一个正方形区域的中心位置点,指定为任意一个Brikspoint.surfpoints.MSERREGIONSorbpoints.或者角点对象,或一个m- 2矩阵m[Xy)坐标。该函数从完全包含在图像边界内的邻域中提取描述符。你可以用BlockSize参数。只有完全包含在图像中的邻域才被用来确定有效的输出点。该函数忽略与这些点相关的比例信息。

名称-值对的观点

指定可选的逗号分离对名称,值参数。姓名是参数名称和价值是相应的价值。姓名必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'blocksize'[2]设置BlockSize是一个2乘2的方块。

HOG单元格的大小,以像素为单位指定为2元素向量。要捕获大规模的空间信息,请增大单元格的大小。当您增加单元格大小时,您可能会丢失小规模的细节。

块中的小区数,指定为2元素矢量。大块尺寸值减少了抑制局部照明变化的能力。由于大块中的像素数量,这些变化可能会丢失平均值。减少块大小有助于捕获本地像素的意义。较小的块大小可以帮助抑制猪功能的照明变化。

相邻块之间重叠的单元数,指定为2元素向量。为了确保足够的对比度规格化,选择至少一半块大小的重叠。较大的重叠值可以捕获更多的信息,但会产生更大的特征向量大小。此属性仅适用于从区域而不是点位置提取HOG特征时。当你提取一个点位置周围的HOG特征时,只使用了一个块,因此不会出现重叠。

定向直方图箱数,指定为正标量。要编码更精细的方向细节,请增加箱数。增加该值增加了特征向量的大小,这需要更多时间来处理。

选择方向值,指定为逻辑标量。当您将此属性设置为时真的,定向值在-180和180度之间的箱中均匀间隔。当您将此属性设置为时错误的,它们从0到180均匀地间隔开。在这种情况下,将小于0的θ的值放入θ+ 180值箱中。使用签名的方向可以帮助区分光到暗与图像区域内的暗到光转换。

输出参数

全部折叠

提取的HOG功能,返回为1-by-N向量或一个P.——- - - - - -问:矩阵。这些特征对图像中的区域或点位置的局部形状信息进行编码。您可以将此信息用于许多任务,包括分类、检测和跟踪。

特征输出 描述
1-by-N向量 猪特征长度,N,基于图像大小和功能参数值。
N=刺激([BlockSperimage.BlockSizeNumBins])
BlockSperimage.=地面((尺寸一世)./CellSize-BlockSize)./(BlockSize-块榫)+ 1)
P.——- - - - - -问:矩阵 P.为其周围区域完全包含在输入图像中的有效点的个数。您提供的提取点位置的输入值。
周围区域计算为:
CellSize.*BlockSize
特征向量长度,问:,计算为:
刺激([NumBinsBlockSize])。

例1。HOG特征向量中直方图的排列

下图显示了具有六个单元格的图像。

如果你设置了BlockSize到 [2 2],它会使每个猪块,2×2个细胞的大小。细胞的大小为像素。你可以将它设置为CellSize财产。

HOG特征向量由HOG块安排。细胞直方图,h(cyx),是1-by-NumBins

下图显示了HOG特征向量在块之间有1 × 1的单元重叠。

与每个关联的有效点特征描述符矢量输出。此输出可以作为a返回角点目的,Brikspoint.surfpoints.目的,MSERREGIONS目的,orbpoints.对象或一个m- 2矩阵[Xy)坐标。功能提取物m大小等于[的区域内有效兴趣点的描述符数目CellSize.*BlockSize].提取的描述符作为与输入相同类型的对象或矩阵返回。该区域必须完全包含在图像中。

HOG特性可视化,作为对象返回。函数输出这个可选参数来可视化提取的HOG特征。你可以使用阴谋方法与可视化输出。看到提取和绘图猪特征的例子。

HOG特征使用均匀间隔的网格来可视化玫瑰情节。图像的小区大小和图像的大小确定网格尺寸。每个玫瑰图显示猪细胞内渐变取向的分布。缩放玫瑰图的每个花瓣的长度以指示每个方向在细胞直方图内产生的贡献。该曲线显示垂直于梯度方向的边缘方向。通过边缘方向查看绘图允许您更好地理解猪编码的形状和轮廓。每个玫瑰图显示两次NumBins花瓣。

您可以使用以下语法绘制HOG功能:

绘图(可视化)图HOG的特点是一组玫瑰图。
情节(可视化,AX)将Hog特征绘制到轴轴中。
绘图(___,'颜色',ColorSpec.指定用于绘制HOG功能的颜色,其中ColorSpec.代表颜色。

参考

[1] Dalal,N.和B. Triggs。“人类检测的导向梯度直方图”,IEEE计算机视觉和模式识别的计算机协会会议,第1卷(2005年6月),第886-893页。

扩展能力

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

介绍在R2013B.