传统算法目标检测知识点整理(一)

1.直方图均衡化、滤波编码、阈值分割(峰谷法、灰度阈值法)、区域增长、分裂合并

https://wenku.baidu.com/view/6341c428a36925c52cc58bd63186bceb18e8ed02.html

2.区域生长、区域分离合并、使用分水岭变化(来源:Matlab(冈萨雷斯)

3. 基于图的分割(https://blog.csdn.net/guoyunfei20/article/details/78727972

3. PCA主成分分析方法(来源大论文)

主成分分析[39](PCA)方法是一种数学变换方法,它能够将高维数据按实际问题的需要被简化的描述出来,同时还能够反映出高维数据中那些本质的数据信息,达到降低数据维数的目的[40]。它简单实用,而且没有参数限制,应用领域多。最早将PCA方法用于人脸识别过程中的研究者是Pentland,由于该方法被证实简单有效,因而很快流行起来。在人脸识别过程中,PCA把人脸空间中的高维数据经过KL变换分解映射到较小维数的特征空间中,这种方法在损失最小人脸数据信息的前提下获得了最大限度的数据降维。设参加训练用的人脸图像大小为M×N,让其按照行或列顺序重新排列成为一个d=M×N维的向量,设样本集有k幅表情图像,则所有训练样本的向量集合记为X={Xi ,i=1, 2,…, k},Xi对应一幅图像形成的d维向量。计算k幅图像的平均向量,平均向量又叫平均脸:

                                                                                  

然后用每幅训练图像减去平均向量,得:

                                                                                

Ai, i=1, 2,…, k作为列,生成d×k维的矩阵A,计算A的协方差矩阵 :        
                                                                               

这里Cd×d维的矩阵,然后求C的特征向量,并由它们构成一组新的正交基,我们将这组特征向量记作V1,V2,…Vd,同时求出特征向量对应的特征值λ1,λ2,…,λd。特征向量按行组合形成特征矩阵V,则人脸图像Xi在这组基下的投影Yi为:

                                                                               

投影后的向量Yi的维数仍为d,可以将特征值λ1,λ2,…,λd按从小到大的顺序排列,从C的特征向量中选出前k个特征值所对应的向量组成特征矩阵V,这里k<dXi在此特征矩阵上进行投影得到的Yik维向量,相比Xi有很大程度的降维,这里的向量Yi便是从对应人脸样本Xi上提取得到的即将用于后续分类器训练的特征向量。若将得到的特征向量V1,V2,…,Vd按照样本图像大小M×N还原成矩阵并作为图像显示出来,可以看出特征向量呈人脸形状。因此该方法也为“特征脸”方法。图3.1(a)是ORL人脸库中所有人脸样本的平均脸,图3.1(b)是为用ORL人脸库中的一系列样本求得的前3个特征脸,即为求得的V1,V2,V3所对应的图

                                                        

4. Haar特征

基于机器学习的方法分为训练和测试两个阶段,训练阶段需要采集大量的人脸和非人脸样本图像供机器学习所用,通过学习可以获得一个确定了判别函数的分类器。在测试阶段,便可利用该分类器对一幅输入图像进行人脸检测,具体检测过程可描述如下:在被检测图像上设置一子窗口,提取该子窗口上的特征向量,将特征向量作为训练阶段所确定的分类器的输入,从而来判断该子窗口是否为人脸。子窗口在整个图像上逐像素的移动,每个子窗口都进行相同的判断,从而最终确定检测图像上是否存在人脸以及人脸的位置。和基于先验知识的方法相比较,基于机器学习的方法能够应对复杂环境下的人脸检测问题,它是当前的主流研究方向。在基于机器学习的方法中,人脸的特征或类别是利用统计分析和机器学习[31]的技术从样本中学习来的。机器学习方法主要有人工神经网络方法,支持向量机方法,Adaboost方法,其中Adaboost方法已经被证明是一种有效而实用的学习方法,由于该方法的巨大成功,近几年的人脸检测方法通常是该方法的变形或者扩展,有着广泛的应用性。

AdaBoost算法是由Freund和Schapire[32]提出的一种将弱分类器训练成强分类器的方法。Viola和Jones[33]于2001年首次将AdaBoost算法应用在人脸检测这一领域,该方法的关键是使用了Haar矩形特征和积分图[34]。

                            

Haar矩形特征结构不复杂,计算代价小,可以作为人脸检测用特征。基本的Haar矩形特征有5种形式,如图2.1所示。其中两个矩形块状(a)和(b)的特征取值是白色矩形中的像素灰度值之和与黑色框像素灰度值之和的差,可用来表示图像中边缘信息。三个矩形块状(c)和(d)的特征值为两个黑色矩形中的像素灰度值之和与一个白色矩形中框像素灰度值之和的差,可用于表示图像中线条信息。四个矩形块状(e)的特征值定义为两个白色矩形中的像素灰度值之和与两个黑色矩形框像素灰度值之和的差,可用来表示图像中斜向边界信息。这种图像特征的数量是十分巨大的,例如一个大小为24×24的检测器模板,相应矩形框的个数有4万多个。

可借助积分图像快速计算出基本的Haar特征值。如图2.2(a)所示,任意一幅图像f的积分图像g在任何一个像素点(x,y)的取值定义为:

              

由图2.2(b)可知,借助于积分图像,只需经过4次查表便可获得任意一个矩形框内的所有像素之和。经过8次查表运算可以得到任意一个包含两个矩形框的Haar特征。由图2.1可知,由于Haar特征的矩形框相互邻接,所以一个包含2个矩形框的Haar特征可由6次查表运算得到,一个包含3个矩形框的Haar特征可由8次查表运算得到,一个包含4个矩形框的特征可由9次查表运算得到。Adaboost算法中用到了Haar特征来训练分类器,该算法的基本思想是先将多个分类能力一般的弱分类器通过某种方法集成起来,构成一个鉴别能力很强的强分类器,再将若干个强分类器串联成为级联分类器以完成图像的搜索检测[35]。

鉴于AdaBoost算法在人脸检测方面良好的性能表现,OpenCV提供了基于该算法的相关函数,研究者便可以利用这些现成的函数来快速进行人脸检测。OpenCV包含一系列预先训练好的物体识别文件,当然代码也允许你训练并存储新的物体模型。此技术虽然可以用于人脸检测,但也不限于此,它还可以进行人眼检测。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章