視覺中的經典影象特徵小結(一): 顏色直方圖, HOG, LBP
[普兒原創, 如有錯誤和紕漏歡迎指正. 更新中...]
1. 顏色直方圖
顏色空間在本質上是定義在某種座標系統下的子空間,空間中的每一個座標表示一種不同的顏色。顏色空間的目的在於給出某種顏色標準,使得不同的裝置和用途都能對顏色有一致的描述。這裡主要介紹兩種不同的顏色空間,包括RGB顏色空間和CIE-Lab顏色空間,如圖4-2所示。
(a)RGB顏色空間; (b)CIE-Lab顏色空間
圖1 顏色空間示意圖
RGB顏色空間是定義在三維笛卡爾座標系中的顏色模型,每一種顏色定義在3個主顏色分量紅(R)、綠(G)、藍(B)上。如圖1(a)所示,立方體表示RGB空間,3個主顏色分量分別在立方體位於座標軸的角上,3個分量在虛線表示的立方體對角線上的取值相等,表示灰度值空間。座標原點表示黑色,3個分量在距離原點最遠的角上取得最大值,表示白色。通過RGB顏色空間表示的影象由分別由紅、綠、藍3個通道的影象組成。當影象被顯示出來時,3個通道的顏色被組合起來表示RGB顏色空間中的一種顏色。
與RGB顏色空間不同,CIE-Lab顏色空間由國際照明委員會在1976年正式提出,旨在提供一種基於人類視覺感知特性的顏色系統,能通過數字的方式度量人體感知到的顏色的差別[1]。CIE-Lab顏色空間由明度(luminance)分量、a分量和b分量表示。其中明度分量表示顏色的灰度,a和b分量共同定義了色調和飽和度,a分量表徵從紅(+a)到綠(-a)的顏色,b分量表徵從黃(+b)到藍(-b)的顏色,且a、b分量相互垂直,如圖4-2(b)所示。直觀說來,CIE-Lab顏色空間是基於人的主觀感知定義的,例如沒有“偏紅的綠色”和“偏藍的黃色”,是用於替換過分簡化的RGB直角座標顏色空間的折中方案。
本文在RGB和CIE-Lab顏色空間的各通道影象上提取直方圖作為影象區域的顏色特徵。所謂直方圖,是指強度為\([0, L-1]\)範圍的影象的離散函式\(h(r_k)=n_k\),其中\(r_k\)表示第\(k\)級灰度,\(n_k\)是影象中灰度級為\(r_k\)的畫素個數。通常用影象中的畫素總數\(n\)除直方圖函式\(h(\cdot)\)的每個值來得到歸一化的直方圖\(P(r_k)=\frac{n_k}{n}, k=0, 1, \cdots, L-1\). 直觀說來,\(P(r_k)\)給出了灰度級為\(r_k\)發生的概率估計值。
2. 方向梯度直方圖(HOG)
圖2. 方向梯度直方圖
方向梯度直方圖(Histogram of Oriented Gradient, HOG)最初用於行人檢測,由Dalal等人[2]提出,現已被廣泛應用於各種目標檢測問題中。方向梯度直方圖統計影象的梯度方向和幅度(大小)資訊,非常適合描述影象的形狀特徵。
在實現時,方向梯度直方圖首先將影象分解若干影象塊(block),每個影象塊中有若干細胞單元(cell),即矩形或環形的小影象塊。然後計算每個細胞單元的方向梯度直方圖,將同一影象塊內的所有細胞單元的直方圖連線起來形成該影象塊的方向梯度直方圖特徵,並對其進行歸一化。最後將影象所有影象塊的特徵描述連線起來就得到了整張影象的方向梯度直方圖特徵。
下面介紹一個計算方向梯度直方圖的具體例子。如圖2所示,首先對每個分割區域,取能夠完全包含該分割區域的最小矩形塊作為初始影象,並將該影象灰度化,歸一化為\(72\times 72\)的影象。每個影象繼續劃分為\(2\times 2\)的影象塊,每個影象塊包含\(3\times 3\)的細胞單元,每個細胞單元包含\(6\times 6\)個畫素。在每個細胞單元中,分別用\([-1, 0, 1]\)和\([1, 0, -1]^T\)的梯度運算元對影象做卷積提取水平方向的梯度\(G_x\)和垂直方向的影象梯度\(G_y\)。然後梯度幅度\(M_G\)和方向\(\alpha_G\)可以通過下述公式計算
\(M_G = \sqrt{G_x^2 + G_y^2}\),
\(\alpha_G = \tan^{-1} \frac{G_y}{G_x}\).
然後,再將梯度分為8個區間,以梯度幅度作為每個區間的大小統計梯度直方圖。在統計完每個細胞單元的直方圖後,將每個影象塊內的細胞單元直方圖連線起來進行歸一化,得到該影象塊的統計直方圖。最後,將所有影象塊的直方圖連線起來,得到原始影象的方向梯度直方圖,維度為\(8\times 3 \times 3 \times 2 \times 2 = 288\)維,作為該影象的特徵描述。
3. 區域性二值模式(LBP)直方圖
圖3. 區域性二值模式
區域性二值模式(Local Binary Pattern,LBP)最早由Ojala等人[3]提出,是一種描述區域性紋理特徵的運算元,最早應用於人臉識別、表情識別等問題。
區域性二值模式運算元的計算基於紋理單元(texture units),通過對多個紋理單元的分析就能得到一個影象區域的紋理譜(texture spectrum)。在區域性二值模式中,一個紋理單元定義為一個\(3\times 3\)的影象視窗(圖3(a)),由中心畫素周圍的8個值表徵,其中每個值的取值只有\((0, 1)\),若周圍畫素的值大於中心畫素,則取值為1,否則取值為0(圖3(b)). 注意一個紋理單元所有的取值可能有\(2^8 = 256\)種。然後,對該視窗進行\(3\times 3\)的卷積操作,即給紋理單元中的8個值賦予權重(圖3(c))。最後將紋理單元的8個值相加,得到該紋理單元的響應(圖3(d), 響應為\(1+8+32+128 = 169 \))。
只實際應用中, 往往是針對一個影象計算每個畫素的LBP響應, 最後再統計所有LBP響應的直方圖.
相關推薦
視覺中的經典影象特徵小結(一): 顏色直方圖, HOG, LBP
[普兒原創, 如有錯誤和紕漏歡迎指正. 更新中...] 1. 顏色直方圖 顏色空間在本質上是定義在某種座標系統下的子空間,空間中的每一個座標表示一種不同的顏色。顏色空間的目的在於給出某種顏色標準,使得不同的裝置和用途都能對顏色有一致的描述。這裡主要介紹兩種不同的顏色空間,包括RGB顏色空間和CIE-La
js中document的用法小結(一)
() 創建 odi seo 開始 func click style onclick document常用屬性: document.title//設置文檔標題,與HTNL中的title標簽等價 document.bgColor//設置頁面背景顏色 document
機器視覺中的影象積分圖及其實現
https://blog.csdn.net/baimafujinji/article/details/50466224 計算機視覺中,人臉檢測(Face Detection)是一項常見的任務。Paul Viola和Michael Jones在《Rapid object dete
MATLAB中關於影象特徵提取相關內容
一、影象的邊緣檢測及edge函式的Prewitt和Ganny運算元 ①影象的邊緣:指其周圍畫素灰度急劇變化的那些畫素的集合,他是影象最基本的特徵。邊緣存在於目標,背景和區域之間,所以,它是影象分割所依賴的最重要的依據。由於邊緣是位置的標誌,對灰度的變化不敏感,因此邊緣也是影
影象特徵提取(顏色,紋理,形狀)
1.顏色特徵提取 計算機視覺的特徵提取演算法研究至關重要。在一些演算法中,一個高複雜度特徵的提取可能能夠解決問題(進行目標檢測等目的),但這將以處理更多資料,需要更高的處理效果為代價。而顏色特徵無需進行大量計算。只需將數字影象中的畫素值進行相應轉換,表現為
OpenCV4Android中的影象旋轉另一方法
除了之前在OpenCV4Android中影象預覽旋轉90度的問題中提高的的CameraBridgeViewBase中的deliverAndDrawFrame修改的方法之外,還可以這樣做: 修改在Mai
OpenCV數字影象處理(一)——直方圖均衡化的實現
計算一幅影象的直方圖 影象是由不同數值的顏色畫素組成,畫素值在整幅影象中的分佈情況是該影象的一個重要屬性。直方圖(Histogram)是一幅影象分佈的精確圖形表示。因此,灰度影象的直方圖有256個專案。 OpenCV計算直方圖 環境:Windows 10,
影象特徵提取三大法寶:HOG特徵,LBP特徵,Haar特徵
(一)HOG特徵 1、HOG特徵: 方向梯度直方圖(Histogram of Oriented Gradient, HOG)特徵是一種在計算機視覺和影象處理中用來進行物體檢測的特徵描述子。它通過計算和統計影象區域性區域的梯度方向直方圖來構成特徵。Hog特徵結合SVM分
影象特徵提取三大法寶:HOG特徵、LBP特徵、Haar-like特徵
轉自:https://blog.csdn.net/q123456789098/article/details/52748918(一)HOG特徵1、HOG特徵:方向梯度直方圖(Histogram of Oriented Gradient, HOG)特徵是一種在計算機視覺和影象處
MATLAB數字影象處理(一)直方圖均衡化
直方圖均衡化的基本原理是根據原始影象某個畫素點出現的概率對應著累積分佈函式的值決定的,假設原始影象為 該影象的概率密度函式(直方圖)為: 累積分佈函式為: 畫素為3的值,在CDF(3)=0.556,均衡化後的值為0.5556*(灰度級,這裡是9)-1=4.004,取
OpenCV之影象特徵提取與檢測(十) HOG特徵檢測
用於人像的識別,動物識別。需要提前錄入訓練資料,才能進行對比識別,OpenCV中已經錄入了行人的訓練資料 HOG(Histogram of Oriented Gradient)特徵描述子提取: 灰
影象處理與計算機視覺基礎,經典以及最近發展(一)
在小波變換之前,時頻分析的工具只有傅立葉變換。眾所周知,傅立葉變換在時域沒有解析度,不能捕捉區域性頻域資訊。雖然短時傅立葉變換克服了這個缺點,但只能刻畫恆定視窗的頻率特性,並且不能很好的擴充套件到二維。小波變換的出現很好的解決了時頻分析的問題,作為一種多解析度分析工具,在影象處理中得到了極大的發展和應用。在小
影象處理和計算機視覺中的經典論文(部分)
自己視野狹小,不敢說全部,只是把自己熟悉的方向中的部分經典文章列出來了。經典的論文,讀得怎麼透都不過分。有人說關於配準的文章太多了,其實我也不太關注這方面,不過由於它們引用率都比較高,就都列出來了,不過在zip包裡一篇都沒有。不關注這方面的可以無視之。 文件和論文下載地址:
Python自學之樂-python 2、python 3中經典類、新式類的深度和廣度優先小結
python2 __init__ 寫上 print class ast python init 廣度優先 #Author:clarkclass Original(object):#在python 3 中寫上object的新式類和不寫的經典類遵循的都是廣度優先原則 de
《TensorFlow:實戰Google深度學習框架》——6.1 影象識別中經典資料集介紹
1、CIFAR資料集 CIFAR是一個影響力很大的影象分類資料集,CIFAR資料集中的圖片為32*32的彩色圖片,由Alex Krizhevsky教授、Vinod Nair博士和Geoffrey Hinton教授整理的。 CIFAR是影象詞典專案(Visual Dictionar
VS程式設計,WPF中,後臺C#建立Telerik顏色選擇器,顏色拾取器,調色盤的一種方法
之前的文章說過如何通過XAML語言,前臺建立顏色拾取器, 這裡展示一種後臺程式碼建立顏色調色盤的方法。 1、前臺的XAML格式 <telerik:RadColorEditor Width="500"
VS程式設計,WPF中telerik:RadGridView 更改某一列背景顏色的一種方法
有時為了美觀,需要將GridView控制元件中某一列資料的顏色。 這裡提供了一種方法。 1、前臺獨立定義並繫結集合的欄位 2、在要更改顏色的列新增如下格式的程式碼: <telerik:Gr
以下這段程式碼是在python中使用閉包時一段經典的錯誤程式碼
def foo(): a = 1 def bar(): a = a + 1 return a return bar 這段程式的本意是要通過在每次呼叫閉包函式時都對變數a進行遞增的操作。但在實際使用時
影象處理之特徵提取(一)之HOG特徵 特徵數的計算
對於64128的影象而言,每88的畫素組成一個cell,每22個cell組成一個塊,也就是說,64128的圖片,總共有36715=3780個特徵。 單個cell的9個特徵,每個block(掃描視窗)包含22個cell也就是229=36個特徵,一個64128大小的
經典演算法研究系列 九 影象特徵提取與匹配之SIFT演算法
經典演算法研究系列:九、SIFT演算法研究作者:July、二零一一年二月十五日。推薦閱讀:David G. Lowe, "Distinctive image features from scale-invariant keypoints," Internationa