原文鏈接:https://www.xuebuyuan.com/3256564.html
一個histogram,通常可以用一個列向量表示(例子中的a,b),列向量里面的每一個值就是一個bin(a,b),比如說列向量有個50個元素,那么就代表有50個bin。
對於彩色圖像,一般是rgb,3個維度,每個顏色一般是0-255的灰度級,就是對應8個bin,每個維度8bin,
直方圖是頻次的累計,實際上是一種簡單的概率分布,你要求的是,RGB分別為(1,1,1),(1,1,2),(1,1,3),。。。,(8,8,8)的概率。
你把RGB顏色空間,想象成一個三維立體的坐標系,rgb對應xyz軸,每個顏色8 bins,對應xyz三個軸上,8個等分刻度,這樣就得到一個8x8x8=512個小立方體構成的大立方體,你要的直方圖就是每個小立方體在大立方體中出現的概率分布
顏色特征是在圖像檢索中應用最為廣泛的視覺特征,主要原因在於顏色往往和圖像中所包含的物體或場景十分相關。此外,與其他的視覺特征相比,顏色特征對圖像本身的尺寸、方向、視角的依賴性較小,從而具有較高的魯棒性。
面向圖像檢索的顏色特征的表達涉及到若干問題。首先,我們需要選擇合適的顏色空間來描述顏色特征;其次,我們要采用一定的量化方法將顏色特征表達為向量的形式;最后,還要定義一種相似度(距離)標准用來衡量圖像之間在顏色上的相似性。在本節中,我們將主要討論前兩個問題,並介紹顏色直方圖、顏色矩、顏色集、顏色聚合向量以及顏色相關圖等顏色特征的表示方法。
1 顏色直方圖
顏色直方圖是在許多圖像檢索系統中被廣泛采用的顏色特征。它所描述的是不同色彩在整幅圖像中所占的比例,而並不關心每種色彩所處的空間位置,即無法描述圖像中的對象或物體。顏色直方圖特別適於描述那些難以進行自動分割的圖像。
當然,顏色直方圖可以是基於不同的顏色空間和坐標系。最常用的顏色空間是RGB顏色空間,原因在於大部分的數字圖像都是用這種顏色空間表達的。然而,RGB空間結構並不符合人們對顏色相似性的主觀判斷。因此,有人提出了基於HSV空間、Luv空間和Lab空間的顏色直方圖,因為它們更接近於人們對顏色的主觀認識。其中HSV空間是直方圖最常用的顏色空間。它的三個分量分別代表色彩(Hue)、飽和度(Saturation)和值(Value)。
計算顏色直方圖需要將顏色空間划分成若干個小的顏色區間,每個小區間成為直方圖的一個bin。這個過程稱為顏色量化(color quantization)。然后,通過計算顏色落在每個小區間內的像素數量可以得到顏色直方圖。顏色量化有許多方法,例如向量量化、聚類方法或者神經網絡方法。最為常用的做法是將顏色空間的各個分量(維度)均勻地進行划分。相比之下,聚類算法則會考慮到圖像顏色特征在整個空間中的分布情況,從而避免出現某些bin中的像素數量非常稀疏的情況,使量化更為有效。另外,如果圖像是RGB格式而直方圖是HSV空間中的,我們可以預先建立從量化的RGB空間到量化的HSV空間之間的查找表(look-up
table),從而加快直方圖的計算過程。
上述的顏色量化方法會產生一定的問題。設想兩幅圖像的顏色直方圖幾乎相同,只是互相錯開了一個bin,這時如果我們采用L1距離或者歐拉距離(見3.1.1節)計算兩者的相似度,會得到很小的相似度值。為了克服這個缺陷,需要考慮到相似但不相同的顏色之間的相似度。一種方法是采用二次式距離[4](見3.1.3節)。另一種方法是對顏色直方圖事先進行平滑過濾,即每個bin中的像素對於相鄰的幾個bin也有貢獻。這樣,相似但不相同顏色之間的相似度對直方圖的相似度也有所貢獻。
選擇合適的顏色小區間(即直方圖的bin)數目和顏色量化方法與具體應用的性能和效率要求有關。一般來說,顏色小區間的數目越多,直方圖對顏色的分辨能力就越強。然而,bin的數目很大的顏色直方圖不但會增加計算負擔,也不利於在大型圖像庫中建立索引。而且對於某些應用來說,使用非常精細的顏色空間划分方法不一定能夠提高檢索效果,特別是對於不能容忍對相關圖像錯漏的那些應用。另一種有效減少直方圖bin的數目的辦法是只選用那些數值最大(即像素數目最多)的bin來構造圖像特征,因為這些表示主要顏色的bin能夠表達圖像中大部分像素的顏色。實驗證明這種方法並不會降低顏色直方圖的檢索效果。事實上,由於忽略了那些數值較小的bin,顏色直方圖對噪聲的敏感程度降低了,有時會使檢索效果更好。兩種采用主要顏色構造直方圖的方法可以在文獻[5,6]中找到。
2 顏色矩
另一種非常簡單而有效的顏色特征使由Stricker 和Orengo所提出的顏色矩(color moments) [7]。這種方法的數學基礎在於圖像中任何的顏色分布均可以用它的矩來表示。此外,由於顏色分布信息主要集中在低階矩中,因此僅采用顏色的一階矩(mean)、二階矩(variance)和三階矩(skewness)就足以表達圖像的顏色分布。與顏色直方圖相比,該方法的另一個好處在於無需對特征進行向量化。因此,圖像的顏色矩一共只需要9個分量(3個顏色分量,每個分量上3個低階矩),與其他的顏色特征相比是非常簡潔的。在實際應用中為避免低次矩較弱的分辨能力,顏色矩常和其它特征結合使用,而且一般在使用其它特征前起到過濾縮小范圍(narrow
down)的作用。
3 顏色集
為支持大規模圖像庫中的快速查找,Smith和Chang提出了用顏色集(color sets)作為對顏色直方圖的一種近似[8]。他們首先將RGB顏色空間轉化成視覺均衡的顏色空間(如HSV空間),並將顏色空間量化成若干個bin。然后,他們用色彩自動分割技術將圖像分為若干區域,每個區域用量化顏色空間的某個顏色分量來索引,從而將圖像表達一個二進制的顏色索引集。在圖像匹配中,比較不同圖像顏色集之間的距離和色彩區域的空間關系(包括區域的分離、包含、交等,每種對應於不同得評分)。因為顏色集表達為二進制的特征向量,可以構造二分查找樹來加快檢索速度,這對於大規模的圖像集合十分有利。
4 顏色聚合向量
針對顏色直方圖和顏色矩無法表達圖像色彩的空間位置的缺點,Pass[9]提出了圖像的顏色聚合向量(color coherence vector)。它是顏色直方圖的一種演變,其核心思想是將屬於直方圖每一個bin的像素進行分為兩部分:如果該bin內的某些像素所占據的連續區域的面積大於給定的閾值,則該區域內的像素作為聚合像素,否則作為非聚合像素。假設αi與βi分別代表直方圖的第i個bin中聚合像素和非聚合像素的數量,圖像的顏色聚合向量可以表達為<(α1, β1), (α2, β2), …, (αN, βN)>。而<α1
+ β1, α2 + β2, …, αN +βN > 就是該圖像的顏色直方圖。由於包含了顏色分布的空間信息,顏色聚合向量相比顏色直方圖可以達到更好的檢索效果。
5 顏色相關圖
顏色相關圖(color correlogram)是圖像顏色分布的另一種表達方式[16]。這種特征不但刻畫了某一種顏色的像素數量占整個圖像的比例,還反映了不同顏色對之間的空間相關性。實驗表明,顏色相關圖比顏色直方圖和顏色聚合向量具有更高的檢索效率,特別是查詢空間關系一致的圖像。
如果考慮到任何顏色之間的相關性,顏色相關圖會變得非常復雜和龐大(空間復雜度為O(N2d))。一種簡化的變種是顏色自動相關圖(color auto-correlogram),它僅僅考察具有相同顏色的像素間的空間關系,因此空間復雜度降到O(Nd)。