前言:我所寫的「操作步驟」均是**級的,把我的字翻譯成**,就能寫出來專案框架
在深度學習火起來之前,傳統的目標檢測往往都是通過人來設計演算法提取特徵並餵入機器學習的svm演算法中,進行目標的定位和例項劃分。為了避免知識嘈雜,大家暈頭轉向,我沒有把一些過程名詞解發布來,便於大家理清脈絡
所謂目標定位:就是在一張上框出某一目標的最小外界矩形
所謂例項劃分:下圖左圖定位,右圖例項分割
傳統目標檢測 的操作步驟:
1.輸入
2.做高斯平滑(模糊化,目的是去噪音)
3.人為製造滑動視窗(大小可以一樣可以不一樣),可以遵照大物體用大視窗,小物體用小視窗的準則。在上滑動,並得到乙個個的候選區域,並給與其正負例的標籤(訓練時
)4.若上一步大小不一樣,那麼得到的候選區域也就不一樣,無法餵入分類器,所以resize成同樣大小。
5.提取候選區域的特徵(用hog演算法)
6.對提取出來的特徵做歸一化
7.餵入svm支援向量機進行分類
8.此時可能存在乙個目標很多框框著它,此時用非極大值抑制
9.得到是正例還是負例後還原回去
結束。優化:
滑動視窗那一步,相當於對所有區域進行了遍歷,十分笨重。於是傳統目標檢測對這一步進行了優化,將上面第三步替換成了select search(選擇搜尋),其步驟是:
1.用felswzalb演算法對畫素進行聚類(根據每個畫素顏色的相近關係聚類)
2.對第一步的結果加工:相鄰的塊兩兩成對,計算其相似度(顏色,紋理,大小,距離),將四種相似度合併得到該「對」的最終的相似度,
3.將最終相似度從大到小排序,將最大的那一「對」拿出來,作為新集合r1
4.計算r1與原來的所有對(少了拿出來的這一對)的相似度,繼續第3步,將最大的那一對拿出來作為r2.
5.直到原來的所有「對」被這樣拿乾淨為止。
傳統的目標檢測方法
傳統的目標檢測方法分為4個階段 影象預處理 目標區域選擇 特徵提取 分類器分類。對於一張輸入影象首先會對其進行降噪 平滑等預處理工作,然後在給定影象上選擇一些目標出現概率較高的候選區域,接著對這些候選區域進行特徵值提取,最後使用分類器對提取到的特徵值進行分類,得到候選框所屬的類別。1.影象預處理 影...
傳統目標檢測演算法綜述
一 viola jones 人臉檢測 1.haar特徵抽取 初始化樣本的權重w,樣本權重之和為1 訓練弱分類器 更新樣本權重 迴圈第二步 結合做個分類器結果,進行投票 2.訓練人臉分類器 3.滑動視窗 二 hog svm 行人檢測,opencv實現 1.提取hog特徵 hog特徵 2.訓練svm分類...
目標檢測 SSD原理
ssd使用vgg 16 atrous作為基礎網路,其中黃色部分為在vgg 16基礎網路上填加的特徵提取層。ssd與yolo不同之處是除了在最終特徵圖上做目標檢測之外,還在之前選取的5個特特徵圖上進行 ssd圖1為ssd網路進行一次 的示意圖,可以看出,檢測過程不僅在填加特徵圖 conv8 2,con...