【机器学习】传统目标检测算法之HOG
轉載+理解:hog:https://www.cnblogs.com/wyuzl/p/6792216.html
hog:https://blog.csdn.net/masibuaa/article/details/14056807
基礎知識:http://blog.sina.com.cn/s/blog_60e6e3d50101bier.html
非極大值抑制NMS:https://www.cnblogs.com/makefile/p/nms.html
概述
CVPR2005這篇文章中,HOG是用來做行人檢測的。作者研究了行人檢測的特征集問題,局部歸一化的HOG描述子相比于現存的特征集(包括小波)有更好的表現。相比于邊緣方向直方圖(Edge Orientation Histograms)、SIFT描述子、形狀上下文(Shape Contexts),HOG是在網格密集的大小統一的細胞單元(dense grid of uniformly spaced cells)上進行計算,而且為了提高性能,還采用了重疊的局部對比度歸一化(overlapping local contrast normalizations)。作者用行人檢測(行人是大部分可見的并且基本上是直立的)進行測試,為了保證速度和簡潔性,使用線性SVM作為分類器。
作者在文中提到他們的非正式實驗表明,即使截止到05年最好的基于特征點的方法,在行人檢測方面比本論文的方法的錯檢率也要高上至少1-2個數量級,主要是因為這些基于特征點的檢測器不能可靠地檢測行人結構。HOG有個優點,提取的邊緣和梯度特征能很好的抓住局部形狀的特點,且因是對圖像做了Gamma校正和采用cell方式進行梯度方向量化,在局部進行提取,所以對幾何和光學變化都有很好的不變性,變換或旋轉對于足夠小的區域影響很小。對于行人檢測,在粗糙空域采樣(coarse spatial sampling)、精細方向采樣(fine orientation sampling)和強局部灰度歸一化(strong local photometric normalization)這些條件下,只要行人大體上能夠保持直立的姿勢,就容許有一些細微的肢體動作,這些細微的動作可以被忽略而不影響檢測效果。綜上,HOG特征很適合于做圖像中的人體檢測。
1 Overview of the Method
HOG方法是基于對稠密網格中歸一化的局部方向梯度直方圖的計算。此方法的基本觀點是:局部目標的外表和形狀可以被局部梯度或邊緣方向的分布很好的描述,即使我們不知道對應的梯度和邊緣的位置。在實際操作中,將圖像分為小的元胞(cells),在每個元胞內累加計算出一維的梯度方向(或邊緣方向)直方圖。為了對光照和陰影有更好的不變性,需要對直方圖進行對比度歸一化,這可以通過將元胞組成更大的塊(blocks)并歸一化塊內的所有元胞來實現。歸一化的塊描述符就叫作HOG描述子。將檢測窗口中的所有塊的HOG描述子組合起來就形成了最終的特征向量,然后使用SVM分類器進行行人檢測。如上圖描述了特征提取和目標檢測流程。檢測窗口劃分為重疊的塊,對這些塊計算HOG描述子,形成的特征向量放到線性SVM中進行目標/非目標的二分類。檢測窗口在整個圖像的所有位置和尺度上進行掃描,并對輸出的金字塔進行非極大值抑制來檢測目標。
詳細的過程在上面的博客中寫的很清楚了。我就簡單說一下流程。
拿到圖片,先做預處理,規范化之類的,然后把圖片分成很多block,再把block分成很多cell,分別求出每個cell的梯度,然后做每個cell的空間/方向bin統計,再對block做歸一化,得到圖片的所有特征,輸入svm做分類。再對分類得到的檢測框做NMS處理。
非極大值抑制
?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的【机器学习】传统目标检测算法之HOG的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习】传统目标检测算法之级联分类器
- 下一篇: 【机器学习】传统目标检测算法之DPM