冈萨雷斯《数字图像处理》读书笔记(十一)——表示和描述
雖然不是專門研究圖像分割的(峰兄才是),但多少接觸了一點(diǎn),并且圖像分割是圖像處理中的最為復(fù)雜的,通過圖像分割可以很好地認(rèn)識圖像處理的好多方法。今天看的是邊界追蹤和鏈碼的表示。網(wǎng)易計(jì)算機(jī)視覺工程師的第一道選擇題就考察了這個(gè),其實(shí)岡薩雷斯的書第11章就有講,還是要多看書啊。
書中是接著圖像分割講的。我們分割完成后總要表示它,那么就有兩種思路,一種是選擇外部特征,表示分割部分的邊界,一種是選擇內(nèi)部特征,找出分割主體的像素。之所以說思路,還沒有上升到方法,是因?yàn)榫唧w的方法要求描述子要對大小、旋轉(zhuǎn)、平移不敏感。
邊界追蹤就是一種找邊界的方法,它的輸出是排序過的邊界點(diǎn)的序列。追蹤方法有Moore邊界追蹤方法和Square跟蹤算法。Moore算法是在當(dāng)前點(diǎn)的8鄰域(摩爾鄰域)內(nèi)順時(shí)針找黑色像素,找到則遞歸進(jìn)行下一步。Square則沒有利于鄰域進(jìn)行搜索,是一個(gè)if-then規(guī)則,根據(jù)當(dāng)前像素的情況進(jìn)行移動方向的選擇,如果當(dāng)前像素是黑色,則左移一個(gè)像素;如果當(dāng)前是白色,則右移。這種方法無法追蹤得到只具有八鄰接性而不具有四鄰接性圖形的邊界。
邊界追蹤算法找到了圖形邊界,我們要對它進(jìn)行描述和表示,其實(shí)就是進(jìn)行編碼。書中主要介紹了Freeman鏈碼,基于Moore邊界追蹤,對下一個(gè)像素相對于當(dāng)前像素的位置進(jìn)行編碼(有8個(gè)方向)。對8個(gè)方向依次用0~7的數(shù)字表示。就像特戰(zhàn)隊(duì)隊(duì)員之間通報(bào)敵人在幾點(diǎn)鐘方向一樣,鏈碼表示了下一個(gè)邊界點(diǎn)的方向(遠(yuǎn)近就是一個(gè)像素塊的距離,像素的對角線或者邊長)。
| ????????????????????????????? ?? 3 | ??????????????????????????????? 2 | ??????????????????????????????? 1 |
| ???????????????????????????????? 4 | ? | ??????????????????????????????? 0 |
| ???????????????????????????????? 5 | ???????????????????????????????? 6 | ??????????????????????????????? 7 |
Freeman鏈碼顯然與初始點(diǎn)的選取有關(guān),我們還需要使編碼與初始錨點(diǎn)無關(guān),即無論選擇哪一個(gè)點(diǎn)做起始點(diǎn),最后的編碼都相同。注意到如果依次使用不同的點(diǎn)做初始點(diǎn),編碼之間的關(guān)系是循環(huán)移位,于是我們可以對它們進(jìn)行歸一化,選擇其中最小的最為最終的編碼(把編碼看作自然數(shù)進(jìn)行大小的比較)。
剛才提到了,描述子應(yīng)該具有旋轉(zhuǎn)、平移、縮放不變性。平移不變性很明顯是滿足的,縮放不變性通過重采樣也可以滿足。旋轉(zhuǎn)不變性要通過差分編碼來解決,同時(shí)減少編碼長度。需要注意的是計(jì)算差值的時(shí)候不是對原始的Freeman鏈碼的相鄰兩個(gè)數(shù)做減法,而是要滿足逆時(shí)針關(guān)系的條件下做減法,因?yàn)樵?鄰域內(nèi)編碼是按照逆時(shí)針的順序編碼的。比如643的差分碼。6到4按照逆時(shí)針的走法要6步,4到3要7步,所以差分碼是67.但是這也只能滿足旋轉(zhuǎn)角度是45度的整數(shù)倍時(shí)的不變性。
鏈碼所能編碼的邊界應(yīng)該是離散的,在保持邊界特征的前提下盡量短。這就是多邊形近似。MPP最小周長多邊形近似利用了邊界區(qū)域像素內(nèi)外墻之間的凹頂點(diǎn)和凸頂點(diǎn),利用橡皮條原理完成近似。此外還有聚合技術(shù)和分裂技術(shù)。
除了鏈碼,表示邊界和形狀的方法還有標(biāo)記圖和邊界線段、骨架。標(biāo)記圖是邊界的一維表示,描述質(zhì)心到邊界的距離與角度的關(guān)系。為了實(shí)現(xiàn)旋轉(zhuǎn)不變性,可以將距離質(zhì)心最遠(yuǎn)的點(diǎn)選為起始點(diǎn),或者在本征軸上選擇距離質(zhì)心最遠(yuǎn)的點(diǎn)。注意是起始點(diǎn)的意思是角度軸以起始點(diǎn)的角度開始變化。邊界線段利用了凸殼和凸缺的概念,從一個(gè)凸缺進(jìn)入另一個(gè)凸缺的轉(zhuǎn)折點(diǎn)就是分割點(diǎn)。骨架可以用中軸變換MAT來定義,組成骨架的點(diǎn)是邊界上與該點(diǎn)有多個(gè)最近鄰點(diǎn)的點(diǎn),可以用燎原之火來形象化:大火從邊界開始向中心燃燒,它們集合的地方就是骨架。
邊界描述子
講完表示,就要說到真正的邊界描述子了。最簡單的是描述邊界的長度,偏心率,曲率。長度可以通過鏈碼求出,垂直和水平方向長度是1,對角是根號2.偏心率是長軸和短軸之比,長軸短軸相互垂直,長軸就是直徑,是其端點(diǎn)是邊界上距離最遠(yuǎn)的點(diǎn)。曲率描述斜率的變化率。斜率變化非負(fù)處的點(diǎn)是凸線段的一部分(其實(shí)就是二階導(dǎo))。
描述子還有形狀數(shù)。同樣基于鏈碼。形狀數(shù)的階n定義為鏈碼的長度(數(shù)字個(gè)數(shù))。差分鏈碼也可以歸一化,得到的就是形狀編號。
傅里葉描繪子,將二維平面的點(diǎn)看作復(fù)平面的點(diǎn),坐標(biāo)看作是一個(gè)復(fù)數(shù),從而將二維問題簡化成一維問題。對它求傅里葉變換,然后就可以重構(gòu)原來的邊界信號。重構(gòu)過程中可以選擇部分分量(舍去高頻細(xì)節(jié))。同時(shí)借助傅里葉變換可以很好地表示選擇平移縮放變換。將二維問題轉(zhuǎn)換為一維問題的方法還有統(tǒng)計(jì)矩。矩其實(shí)是變量與均值的插值的冪的期望。我們可以將曲線旋轉(zhuǎn)作為直方圖,這樣無論是哪個(gè)角度的曲線,都通過將斷點(diǎn)連線轉(zhuǎn)至水平方向,即實(shí)現(xiàn)了旋轉(zhuǎn)不變性,進(jìn)一步將直方圖歸一化為單位面積,直方圖轉(zhuǎn)為概率密度圖,實(shí)現(xiàn)了尺寸的歸一化。矩的實(shí)現(xiàn)簡單,而且矩包含了對邊界形狀的物理解釋。二階矩是曲線關(guān)于均值的擴(kuò)展程度,三階矩度量曲線關(guān)于均值的對稱性。
區(qū)域描述子
以上是邊界的描述子,對于區(qū)域也有對應(yīng)的一些描述子。比如使用周長和面積表示區(qū)域的致密性。圓度率也可以描述致密性,是該區(qū)域的面積與同樣周長的圓的面積之比。拓?fù)涿枥L子,通過孔洞數(shù)量H和連通分量的數(shù)量C可以定義歐拉數(shù)E=C-H.歐拉數(shù)同時(shí)還可以簡單地解釋由直線線段表示的區(qū)域(多邊形網(wǎng)絡(luò))。V-Q+F=C-H,V表示頂點(diǎn)數(shù),Q是邊數(shù),F是面數(shù)。使用連通分量可以在已分割圖像中提取最大特征。
區(qū)域的另一個(gè)特征是紋理。紋理的表示方法又有三種,統(tǒng)計(jì)方法、結(jié)構(gòu)方法和頻譜方法。
統(tǒng)計(jì)方法的對象是灰度直方圖,方差表示度量對比度,三階矩度量直方圖偏斜度(負(fù)數(shù)表示直方圖對稱尺度向左偏)。直方圖中無法體現(xiàn)像素的位置信息,我們通過共生矩陣可以表示灰度值之間的相對位置。共生矩陣其實(shí)也是一種統(tǒng)計(jì),只不過統(tǒng)計(jì)的是當(dāng)前像素右邊緊鄰的像素的灰度值。矩陣的元素m34表示灰度值為3的像素右邊第一個(gè)元素灰度值是4的情況個(gè)數(shù)是m。
結(jié)構(gòu)方法的思想是找到一些基本的紋理單元,通過一些規(guī)則可以生成復(fù)雜的紋理。
頻譜方法當(dāng)然是利用傅里葉頻譜,進(jìn)一步使用極坐標(biāo),并且分別對r和角度theta積分,得到兩個(gè)一維函數(shù)。
不變矩
除了紋理,還可以使用不變矩描述區(qū)域。大小為MxN的圖像的二維(p+q)階矩定義為:
中心矩還要在求冪之前與均值做差。由二階矩和三階矩可以推出7個(gè)不變矩組,書中列出了7種不變矩在旋轉(zhuǎn)縮放鏡像平移下的表現(xiàn)。
使用主分量進(jìn)行描繪
有時(shí)候我們可以得到多光譜下的圖像,即便是單幅圖像也可以分成三通道下的三個(gè)分量圖像。每個(gè)像素對應(yīng)一個(gè)多維的向量,于是MxN大小的圖像可以得到MxN個(gè)向量,向量維數(shù)由圖像的個(gè)數(shù)決定。用比較饒但是簡潔的說法就是圖像的大小決定向量的個(gè)數(shù),圖像的個(gè)數(shù)決定向量的大小(維數(shù))。借助霍特林變換(離散KL變換)
A由x的協(xié)方差矩陣的特征向量構(gòu)成。y的協(xié)方差矩陣是對角矩陣,主對角線的特征值就是x的協(xié)方差矩陣的特征值。可以通過y重構(gòu)x,當(dāng)不使用所有的特征值和其對應(yīng)的特征向量重構(gòu)時(shí),誤差就是剩余沒有使用的特征值的和,所以我們霍特林變換是均方誤差最小的,因?yàn)锳的行向量對應(yīng)的特征值是遞減的。霍特林變換也叫主分量變換。
協(xié)方差矩陣的最大特征值對應(yīng)的特征向量指向了總體方差最大的方向,第二個(gè)特征向量與第一個(gè)垂直,這樣就可以找到質(zhì)心,同時(shí)使用主分量變換可以對圖像尺度、平移和旋轉(zhuǎn)歸一化。
Reference:
總結(jié)
以上是生活随笔為你收集整理的冈萨雷斯《数字图像处理》读书笔记(十一)——表示和描述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据常见问题:数据倾斜
- 下一篇: 双摄与双目视觉