cs231n这个课的前半部分看过两遍了,始终没能把这个课学完,希望参加训练营能督促我学完这门课,动手实践作业。
目录
SIFT(Scale-Invariant Feature Transform)尺度不变特征变换
SPM(Spatial Pyramid Matching)空间金字塔匹配
HoG(Histogram of Oriented Gradients)梯度方向直方图
DPM(Deformable Part-Based Model)可变形的基于部件的模型
一、关于猫视觉试验的结论:
视觉处理是从简单的结构开始,比如边缘 ,然后随着信息处理,大脑逐渐建立起复杂的理解。
二、关于第一课提到的目标分割概念:
是由于当时目标识别太困难,所以想着先解决目标分割吧。就是把相近的像素点归到一起,并不知道这一堆像素点组成的东西是什么,但是可以把它们和背景以及其他东西分开。
之前在《图像处理、分析与机器视觉》上看过一些分割的知识,也一并整理到这里好了
分割在预处理和分析之间,分为完全分割和部分分割,两者区别是分割完后有没有重叠相交部分,没有的话就是完全分割。(这个定义并没有什么用的感觉)
分割主要使用的特征分三类:
1、全局知识,用图像特征直方图表示,比如阈值化分割的时候,可以用灰度直方图确定分割需要设定的阈值(我的理解,不知道对不对)
2、边缘 3、区域 这两点都是基于亮度、纹理等等
具体使用的分割方法后面遇到再一一具体说吧
三、关于Adaboost人脸检测算法实现
2001年计算机计算速度还很慢,这个算法可以实时识别人脸真的很厉害
这个图的左下角的黑白框是Haar特征,利用这种框在图片上划过,让黑白框和每一次覆盖的图像切片相乘(我把它简单的理解成矢量相乘),两者越相近,乘出来的结果越大。(这个过程就是Haar小波变换)比如两眼之间的部分比眼睛亮很多,就会和黑白黑的框相乘得到很大的值,以此识别出眼睛。
Adaboost是为了在Haar特征得到的非常多弱分类器(即效果都不太好)中选出一些可靠的。
具体过程是迭代训练更改权重的过程,即开始的时候所有训练样本都是权重相同的,每轮训练都把被分类器分错的样本权重提高,分对的样本权重降低。(额,好抽象,有时间代码实现一下,先挖个坑)
四、关于ImageNet,Pascal Voc这两个数据集
Pascal Voc 2006-2012的目标识别挑战赛数据集,20个类
ImageNet 有2.2万个类,4千万张图片,为了提供大量的训练数据,防止机器学习的高维模型过拟合,从而有更好的泛化能力
五、关于SIFT、SPM、HoG、DpM这四篇论文
SIFT(Scale-Invariant Feature Transform)尺度不变特征变换
是一种用来提取特征的方法。可以用来匹配不同图片中的同一物体,物体发生旋转、缩放、透视等等。
怎样做到使提取到的特征尺度不变的
论文里写道:通过模糊图像梯度位置来实现不变性的。
这些位置是通过DoG(Difference-of-Gaussian)得到,即不同参数的高斯滤波结果相减,取最大或最小值位置。高斯滤波是低通滤波器,边缘通常为高频信号,DoG在相减中去除了相同的没有被过滤掉的正常图像,留下的是边缘。最大或最小值代表什么?
论文中还提到,通过构建图像金字塔,在每个级别重采样,来提高计算最大最小值的效率。是因为这个所以是尺度不变吗?
重采样还用到双线性插值
越读论文越发现各种不会的知识点,太多了基础的东西不会了
高斯滤波为什么低通,为什么边缘是高频信号,啥是双线性插值
可能要读《数字图像处理》
但是那个太信号与处理了,读不懂……
啊,咋办嘛
SPM(Spatial Pyramid Matching)空间金字塔匹配
把图像分块分成很多子区域,用不同尺度多次分块,于是形成空间金字塔,匹配就是计算相似度。
HoG(Histogram of Oriented Gradients)梯度方向直方图
统计各方向的梯度频率的直方图。可以用来行人检测。
就是把一堆堆的像素划分成cell,统计每个cell里每20°的梯度有多少,形成HoG特征向量。
再把一堆堆的cell划分成block,每个block里的cell的HoG特征向量归一化,防止不同cell间由于光照造成梯度差异。
把block里不同cell中的HoG特征向量首位相连,得到HoG描述子(咋收尾相连?)
然后用SVM(Support Vector Machine)支持向量机训练HoG特征向量(还是训练描述子?),得到匹配用的模板。
DPM(Deformable Part-Based Model)可变形的基于部件的模型
是一种分而治之的方法,把检测目标分解成检测各部件,这些部件间用“弹簧”连接。可以用来人脸检测