目標檢測實驗報告
檢測所用軟硬體+雲伺服器:
硬體:macos或者windows電腦
軟體:pycharm+生成的測試集
雲伺服器:滴滴雲(輸入博主的大師碼:8996 ,可以和博主一樣9折享受服務
什麼是傳統目標檢測?
首先我們先來了解一下什麼是目標檢測?簡單來說就是把存在的目標從中找到並識別出來。我們發現這對於我們人來說十分簡單,但對於計算機而言,它是怎麼做到的呢?
傳統目標檢測方法分為三部分:區域選擇 → 特徵提取 → 分類器
即首先在給定的影象上選擇一些候選的區域,然後對這些區域提取特徵,最後使用訓練的分類器進行分類。下面我們對這三個階段分別進行介紹
2.2.1區域選取
這一步是為了對目標的位置進行定位。由於目標可能出現在影象的任何位置,而且目標的大小、長寬比例也不確定,所以最初採用滑動視窗的策略對整幅影象進行遍歷,而且需要設定不同的尺度,不同的長寬比。這種窮舉的策略雖然包含了目標所有可能出現的位置,但是缺點也是顯而易見的:時間複雜度太高,產生冗餘視窗太多,這也嚴重影響後續特徵提取和分類的速度和效能。(實際上由於受到時間複雜度的問題,滑動視窗的長寬比一般都是固定的設定幾個,所以對於長寬比浮動較大的多類別目標檢測,即便是滑動視窗遍歷也不能得到很好的區域)
2.2.2特徵的設計
傳統檢測方法的特徵提取演算法主要有兩種:hog特徵和lbp演算法
hog:方向梯度直方圖(histogram of oriented gradient, hog)。使用梯度直方圖來描述的形狀特徵。主要在行人檢測方面。從名字可知,主要將影象中的pixel的方向變化作為特徵。因為梯度變化主要是發生在物體邊緣,這樣就可以知道物體的大致形狀。可以進行物體分類或者檢測。經典的特徵提取一般需要一些超參,比如視窗大小等。
提取方法:講乙個image灰度化—>顏色空間的標準化—>計算影象每個畫素的梯度 —>將影象劃分成小cells—>統計每個cell的梯度直方圖 —> 將每幾個cell組成乙個block—>將影象image內的所有block的hog特徵descriptor串聯起來。 lbp演算法:lbp(local binary pattern,區域性二值模式),反映了區域性的紋理特徵,跟乙個畫素的鄰域有關。對每個畫素的鄰域做減法,大於用1表示,否則用0表示則產生了乙個二進位制數來表示這個畫素的區域性紋理。這個鄰域其實也相當於乙個window,window的形狀也是可以改變的。
2.2.3分類器的設計
一、利用adaboost演算法進行訓練
並不是所有特徵都是有用的,adaboost特徵分類器具有特徵選擇的能力。
adaboost 將一系列的弱分類器通過線性組合,構成乙個強分類器,
如下所示:
是乙個強分類器。
二、訓練弱分類器
計算所有訓練樣本的特徵值,並將其從小到大排序,隨機選取乙個特徵值作為閾值,把所有元素分為兩部分,小於閾值的一部分分類為人臉,大於閾值的一部分分類為非人臉。如下圖所示,紅色表示人臉,藍色表示非人臉。
假如有5個樣本,前兩個為人臉,後三個為非人臉,用11000表示。如果閾值在第乙個之前,通過弱分類器判定為:00000,有兩個誤差,如果閾值在第乙個和第二個之間,通過弱分類器判定為:10000,有1個誤差,如果閾值在第二個和第三個之間,通過弱分類器判定為:11000,有0個誤差,依次類推,這樣共有6個誤差,然後從中找到乙個誤差最小的當成閾值,這樣就訓練好了乙個最優的弱分類器。
三、訓練強分類器
假設有n個訓練樣本
,其中有m個正樣本,l個負樣本,如果
是人臉影象,則
, 否則
其步驟如下:
2、2、4 總結:
傳統檢測歷史久遠,然而一直以來存在著兩個主要問題:
1)基於滑動視窗的區域選擇策略沒有針對性,時間複雜度高,視窗冗餘
2)手工設計的特徵對於多樣性的變化沒有很好的魯棒性
模式識別課程筆記(一)
閱讀目錄 一 模式識別 pattern recognition 二 模式識別型別 三 模式識別系統 四 評價標準 一 模式識別 pattern recognition 人類在識別和分辨事物時,往往是在先驗知識和以往對此類事物的多個具體例項觀察基礎上產生的整體性質和特徵的認識。其實,每一種外界事物都可...
模式識別課程問答(一)
為了能讓機器執行和完成識別任務,必須對分類識別物件進行科學的抽象,建立它的數學模型,用以描述和代替識別物件,這種物件的描述即為模式。表現形式有特徵向量 符號串 圖 關係式。模式識別是指根據研究物件的特徵或屬性,運用一定的分析演算法認定其類別,並且分類識別的結果應盡可能地符合真實。具有視覺的機械人 包...
傳統目標檢測演算法綜述
一 viola jones 人臉檢測 1.haar特徵抽取 初始化樣本的權重w,樣本權重之和為1 訓練弱分類器 更新樣本權重 迴圈第二步 結合做個分類器結果,進行投票 2.訓練人臉分類器 3.滑動視窗 二 hog svm 行人檢測,opencv實現 1.提取hog特徵 hog特徵 2.訓練svm分類...