1. 程式人生 > >提取HOG特徵訓練SVM分類器(一)HOG篇

提取HOG特徵訓練SVM分類器(一)HOG篇

利用hog特徵訓練svm分類器的總體思路:

1、提取正負樣本hog特徵

2、投入svm分類器訓練,得到model
3、由model生成檢測子

4、利用檢測子檢測負樣本,得到hardexample

5、提取hardexample的hog特徵並結合第一步中的特徵一起投入訓練,得到最終檢測子。

本文主要先介紹hog特徵,以及描述子的計算。hog特徵提取演算法的實現過程:

HOG特徵提取方法就是將一個image(你要檢測的目標或者掃描視窗):

1)灰度化(將影象看做一個x,y,z(灰度)的三維影象);

2)採用Gamma校正法對輸入影象進行顏色空間的標準化(歸一化);目的是調節影象的對比度,降低影象區域性的陰影和光照變化所造成的影響,同時可以抑制噪音的干擾;

3)計算影象每個畫素的梯度(包括大小和方向);主要是為了捕獲輪廓資訊,同時進一步弱化光照的干擾。

4)將影象劃分成小cells(例如6*6畫素/cell);

5)統計每個cell的梯度直方圖(不同梯度的個數),即可形成每個celldescriptor

6)將每幾個cell組成一個block(例如3*3cell/block),一個block內所有cell的特徵descriptor串聯起來便得到該blockHOG特徵descriptor

7)將影象image內的所有blockHOG特徵descriptor串聯起來就可以得到該image(你要檢測的目標)的HOG特徵descriptor

了。這個就是最終的可供分類使用的特徵向量了。

Dalal提出的Hog特徵提取的過程:把樣本影象分割為若干個畫素的單元(cell),把梯度方向平均劃分為9個區間(bin),在每個單元裡面對所有畫素的梯度方向在各個方向區間進行直方圖統計,得到一個9維的特徵向量,每相鄰的4個單元構成一個塊(block),把一個塊內的特徵向量聯起來得到36維的特徵向量,用塊對樣本影象進行掃描,掃描步長為一個單元。最後將所有塊的特徵串聯起來,就得到了人體的特徵。例如,對於64*128的影象而言,8*8的畫素組成一個cell,每2*2cell組成一個塊,因為每個cell9個特徵,所以每個塊內有4*9=36個特徵,以

8個畫素為步長,那麼,水平方向將有7個掃描視窗,垂直方向將有15個掃描視窗。也就是說,64*128的圖片,總共有36*7*15=3780個特徵。

特徵維數n=視窗塊數X塊中胞元數X向量維數(bin)

HOG Descriptor(WinSize(64.128),BlockSize(16.16),BlockStride(8.8),CellSize(8.8))

視窗塊數目:(64-16)/8+1 *(128-16)/8+1=105塊

參考:http://blog.csdn.net/masibuaa/article/details/12917961,非常優秀的同類型部落格

相關推薦

提取HOG特徵訓練SVM分類HOG

利用hog特徵訓練svm分類器的總體思路:1、提取正負樣本hog特徵 2、投入svm分類器訓練,得到model3、由model生成檢測子4、利用檢測子檢測負樣本,得到hardexample 5、提取hardexample的hog特徵並結合第一步中的特徵一起投入訓練,得到最終

利用Hog特徵SVM分類進行行人檢測

https://blog.csdn.net/qianqing13579/article/details/46509037 梯度直方圖特徵(HOG) 是一種對影象區域性重疊區域的密集型描述符, 它通過計算區域性區域的梯度方向直方圖來構成特徵。Hog特徵結合SVM分類器已經被廣

Python構建SVM分類線性

1.SVM建立線性分類器SVM用來構建分類器和迴歸器的監督學習模型,SVM通過對數學方程組的求解,可以找出兩組資料之間的最佳分割邊界。2.準備工作我們首先對資料進行視覺化,使用的檔案來自學習書籍配套管網。首先增加以下程式碼:import numpy as np import

最優間隔分類

通過前三章的討論,當我們拿到一給定資料集時第一要務是尋找一條分界線時分界線兩邊的點到線的(幾何)間隔最大,達到這一要求即認為這是個好的分類器。這樣的分類器會在正負樣本間畫出一個斷層(幾何間隔)。 現在我們又一個線性可分的訓練集(即存在一超平面將正負樣本分開

機器學習入門-貝葉斯分類

今天學習的內容是貝葉斯分類器。 在正式介紹之前,先說兩個名詞: 標稱型資料:只在有限的目標集中取值,如真與假(主要用於分類) 數值型資料:可從無限的數值集合中取值(主要用於迴歸分析) 貝葉斯決策論 Bayes Decision theor

使用gensim和sklearn搭建一個文字分類:流程概述

總的來講,一個完整的文字分類器主要由兩個階段,或者說兩個部分組成:一是將文字向量化,將一個字串轉化成向量形式;二是傳統的分類器,包括線性分類器,SVM, 神經網路分類器等等。 之前看的THUCTC的技術棧是使用 tf-idf 來進行文字向量化,使用卡方校驗(c

貝葉斯分類

貝葉斯推理提供了一種概率(主要應用條件概率)學習手段,根據以往資料的概率分佈和已觀察到的資料進行推理判斷。對資料量大的問題十分適用,在雲端計算和大資料時代再次成為研究熱點。貝葉斯分類器分成兩個部分,第一部分對基礎知識、貝葉斯決策論、極大似然估計、樸素貝葉斯

opencv中應用HOG特徵訓練SVM分類的一般框架

1.HOG特徵提取 opencv裡關於HOG特徵的提取是通過函式HOGDescriptor()來完成的,主要有下面4個建構函式: CV_WRAP HOGDescriptor() : winSize(64,128), blockSize(16,16), blockStri

自己訓練SVM分類進行HOG行人檢測

正樣本來源是INRIA資料集中的96*160大小的人體圖片,使用時上下左右都去掉16個畫素,擷取中間的64*128大小的人體。 SVM使用的是OpenCV自帶的CvSVM類。 首先計算正負樣本影象的HOG描述子,組成一個特徵向量矩陣,對應的要有一個指定每個特徵向量的類別的

利用hog特徵訓練svm識別位置固定驗證碼

RT(純做記錄) 說要了解github但是還沒邁出艱難的第一步,主要是程式碼太水。今天整理了一下,並且用了sklearn模組的svm進行hog特徵提取來識別驗證碼,一個原因是上一篇部落格的svm訓練出來的模型,對於z的識別一直錯誤,一直識別成S。所以對特徵這塊來

影象特徵提取HOG特徵

1、HOG特徵:        方向梯度直方圖(Histogram of Oriented Gradient, HOG)特徵是一種在計算機視覺和影象處理中用來進行物體檢測的特徵描述子。它通過計算和統計影象區域性區域的梯度方向直方圖來構成特徵。Hog特徵結合SVM分類器已

影象處理之影象特徵提取HOG特徵

1、HOG特徵:        方向梯度直方圖(Histogram of Oriented Gradient, HOG)特徵是一種在計算機視覺和影象處理中用來進行物體檢測的特徵描述子。它通過計算和統計

機器學習系列——樸素貝葉斯分類

表示 -h line log ima 條件 code 樸素貝葉斯 spa 貝葉斯定理: 其中: 表示事件B已經發生的前提下,事件A發生的概率,叫做事件B發生下事件A的條件概率。其基本求解公式為:。 機器學習系列——樸素貝葉斯分類器(二)

級聯分類CascadeClassifier

class tis scale int div aar ron span cas 成員函數detectMultiScale(),檢測人臉圖像 void detectMultiScale(   const Mat& image,   CV_OUT vec

機器學習:貝葉斯分類——高斯樸素貝葉斯分類代碼實現

mod ces 數據 大於等於 即使 平均值 方差 很多 mode 一 高斯樸素貝葉斯分類器代碼實現 網上搜索不調用sklearn實現的樸素貝葉斯分類器基本很少,即使有也是結合文本分類的多項式或伯努利類型,因此自己寫了一遍能直接封裝的高斯類型NB分類器,當然與真正的源碼相

分類問題SVM(Python——基於skearn實現鳶尾花資料集分類)

第一步: # -*- coding: utf-8 -*- """ Created on Fri Sep 21 14:26:25 2018 @author: bd04 """ # !/usr/bin/env python # encoding: utf-8 __auth

貝葉斯分類

不同特徵獨立性假設條件下的貝葉斯分類器介紹 在貝葉斯分類器(一)一節,我們簡要證明了貝葉斯分類器相較於其他判別規則具有最小誤分類概率。我們知道貝葉斯分類的關鍵包括對類先驗概率的確定以及類樣本概率密度的確定。當使用不同的方法估計類樣本概率密度時,我們基於貝葉斯分類

情感分析方法之snownlp和貝葉斯分類

《情感分析方法之nltk情感分析器和SVM分類器(二)》主要使用nltk處理英文語料,使用SVM分類器處理中文語料。實際的新聞評論中既包含英文,又包含中文和阿拉伯文。本次主要使用snownlp處理中文語料。一、snownlp使用from snownlp import Snow

文字分類實戰—— word2vec預訓練詞向量

1 大綱概述   文字分類這個系列將會有十篇左右,包括基於word2vec預訓練的文字分類,與及基於最新的預訓練模型(ELMo,BERT等)的文字分類。總共有以下系列:   word2vec預訓練詞向量   textCNN 模型   charCNN 模型   Bi-LSTM 模型   Bi-LST

文字分類實戰—— Bi-LSTM模型 文字分類實戰—— word2vec預訓練詞向量

1 大綱概述   文字分類這個系列將會有十篇左右,包括基於word2vec預訓練的文字分類,與及基於最新的預訓練模型(ELMo,BERT等)的文字分類。總共有以下系列:   word2vec預訓練詞向量   textCNN 模型   charCNN 模型   Bi-LSTM 模型   Bi-LST