0.前言
机器学习
监督学习(分类、回归)与非监督学习
数据集与训练样本
Hog计算与python实现
对于 skinage natplotlib numpy 等python库的使用
机器学习和人工智能
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
识别步骤:
1.找到人脸区域
2.对人脸进行旋转等操作 是之成为标桩状态
3.提取特征并分析
4.和已经标记的人进行对比(训练集)
1.人脸检测
方向梯度直方图(HOG)
1.1计算梯度图像
1.2代码实现
"""
使用skinage 计算图片HOG
"""
#1.导入库
from skimage import io,color
from skimage.feature import hog
import matplotlib.pyplot as plt
#2.导入图片
image = io.imread("lena.jpg")
image = color.rgb2gray(image)
#3.计算HOG
#获得1-array HOG
#hog_image (用于可视化)
arr,hog_image = hog(image,visualize = True)
#作图
fig,(ax1,ax2) = plt.subplots(1,2,figsize=(8,4))
ax1.imshow(image,cmap=plt.cm.gray)
ax2.imshow(hog_image,cmap=plt.cm.gray)
plt.show()
"""
使用skinage 计算图片HOG
"""
#1.导入库
from skimage import io,color
from skimage.feature import hog
import matplotlib.pyplot as plt
#2.导入图片
image = io.imread("lena.jpg")
image = color.rgb2gray(image)
#3.计算HOG
#获得1-array HOG
#hog_image (用于可视化)
arr,hog_image = hog(image,visualise = True,orientations = 4)
#orientations = 4来设置hog单位的大小
#作图
fig,(ax1,ax2) = plt.subplots(1,2,figsize=(8,4))
ax1.imshow(image,cmap=plt.cm.gray)
ax2.imshow(hog_image,cmap=plt.cm.gray)
plt.show()
1.3结果
更多关于hog的原理:https://blog.csdn.net/liulina603/article/details/8291093