基于HOG特征的简单人脸检测算法实现
1. HOG特征提取
HOG(Histogram of Oriented Gradients)特征是一种用于目标检测的特征描述符,在人脸检测中有着广泛的应用。其主要步骤如下:
1. 归一化每个单元格的直方图 :通过与相邻单元格块进行比较,进一步抑制图像中光照的影响。
2. 构建一维特征向量 :从每个单元格的信息中构建一维特征向量。
在Scikit - Image项目中,内置了快速的HOG提取器,以下是一个简单的示例代码,用于提取图像的HOG特征并可视化:
from skimage import data, color, feature
import skimage.data
import matplotlib.pyplot as plt
image = color.rgb2gray(data.chelsea())
hog_vec, hog_vis = feature.hog(image, visualise=True)
fig, ax = plt.subplots(1, 2, figsize=(12, 6),
subplot_kw=dict(xticks=[], yticks=[]))
ax[0].imshow(image, cmap='gray')
ax[0].set_title('input image')
ax[1].imshow(hog_vis)
ax[1].set_title('visualization of HOG feat