原圖片
產(chǎn)生superpixel的方法
1. How to segment an image into regions???? 怎樣把一張圖片分割成不同的區(qū)域藤违?
2. How to define a predicate that determines a good segmentation???? 如何判定一個(gè)好的分割?
3. How to create an efficient algorithm based on the predicate???? 怎樣根據(jù)這個(gè)判定創(chuàng)造一個(gè)好的算法议街?
4. How do you address semantic areas with high variability in intensity?怎樣處理亮度變化較大的分割區(qū)域璧榄?
5. How do you capture non-local properties in an image?如何獲取圖像的非局部特征?
第一個(gè)問(wèn)題:怎樣把一張圖片分割為不同區(qū)域骨杂?
在這篇論文中,兩點(diǎn)之間邊的權(quán)重指的是兩個(gè)頂點(diǎn)的不相似性雳灾,使用兩個(gè)頂點(diǎn)RGB之間的平方差來(lái)得到。
樹(shù):特殊的圖谎亩,圖中任意兩個(gè)頂點(diǎn)谈竿,都有路徑相連接摸吠,但是沒(méi)有回路。如上圖中加粗的邊所連接而成的圖呀洲。如果啼止,i和h這條邊也保留下來(lái),那么h,I,c,f,g就構(gòu)成了一個(gè)回路滓窍,就不是樹(shù)了巩那。
最小生成樹(shù)(MST,minimum spanning tree):特殊的樹(shù),給定需要連接的頂點(diǎn)即横,選擇邊權(quán)之和最小的樹(shù)。上圖即是一棵MST跺嗽。
第一個(gè)問(wèn)題解答:本文中页藻,初始化時(shí)每一個(gè)像素點(diǎn)都是一個(gè)頂點(diǎn),然后逐漸合并得到一個(gè)區(qū)域份帐,確切地說(shuō)是連接這個(gè)區(qū)域中的像素點(diǎn)的一個(gè)MST。如圖弥鹦,棕色圓圈為頂點(diǎn),線段為邊朦促,合并棕色頂點(diǎn)所生成的MST栓始,對(duì)應(yīng)的就是一個(gè)分割區(qū)域。分割后的結(jié)果其實(shí)就是一棵一棵的書(shū)幻赚。
第二個(gè)問(wèn)題:如何判定一個(gè)好的分割臊旭?
一個(gè)好的分割就是能夠區(qū)分好這三種區(qū)域的分割啥刻。
先看一下,我們?cè)嫉姆指钤斐缮蠄D中間效果的原因娄涩。
判定紅色區(qū)域和綠色區(qū)域是否合并映跟,通過(guò)紫色邊<不相似性>來(lái)判斷,設(shè)置一個(gè)唯一閾值申窘,如果小于這個(gè)閾值,就合并。對(duì)于高頻區(qū)路鹰,我們可以稱(chēng)為二維碼區(qū),想要把這個(gè)區(qū)域分割成一個(gè)區(qū)域优构,這個(gè)閾值就得設(shè)置成很大的數(shù)雁竞,那么對(duì)于斜坡和平緩區(qū),所有的值都會(huì)小于這個(gè)閾值碑诉,導(dǎo)致,這三個(gè)區(qū)域并到一起进栽,失去分割效果。相反格嗅,如果,我們的閾值設(shè)置的很小屯掖,就會(huì)導(dǎo)致二維碼區(qū)域保留,一小塊一小塊的粪摘。
造成貼圖的中間的那個(gè)不正確分割效果圖的原因是阀湿,我們?cè)O(shè)置的閾值適中,把二維碼圖并到了平緩區(qū)中陷嘴。
第三、四個(gè)問(wèn)題:怎樣根據(jù)這個(gè)判定創(chuàng)造一個(gè)好的算法灾挨?怎樣處理亮度變化較大的分割區(qū)域?
我們應(yīng)該對(duì)于不同的區(qū)域設(shè)置不同的閾值地技。根據(jù)這個(gè)想法秒拔,作者提出了自適應(yīng)的閾值調(diào)整方法。這樣砂缩,對(duì)于高頻區(qū),我們的閾值自動(dòng)變大妹懒,平緩區(qū)閾值自動(dòng)小双吆,這樣就可以實(shí)現(xiàn)上面三個(gè)高頻,斜坡好乐,平緩區(qū)的分割了。
Mint表示同一顆樹(shù)下權(quán)重最大的邊(最不相似的兩個(gè)點(diǎn))
Dif 表示鏈接兩個(gè)樹(shù)的最小權(quán)重邊
如果Dif>=Min(Mint(c1),mint(c2))搂橙,兩個(gè)樹(shù)之間的距離>min(這兩個(gè)樹(shù)中最大的那兩個(gè)權(quán)重邊);? 表示他們不是同一個(gè)類(lèi),不能合到一起区转。Min(Mint(c1),mint(c2)表示c1和c2能夠共同容忍的最大差異。
對(duì)于初始點(diǎn)侄泽,圖片的每一個(gè)像素都是一個(gè)獨(dú)立的MST,所以必須是兩個(gè)像素值完全一樣才能滿足上面條件蜻韭,所以我們,要設(shè)置一個(gè)初始閾值肖方,這個(gè)閾值要有一個(gè)性質(zhì),隨著我們樹(shù)的變大(C變大)析桥,這個(gè)初始閾值tao(C)逐漸趨向于0,使得我們的自適應(yīng)閾值起作用艰垂。k控制合并后的區(qū)域的大小。k=0,表示猜憎,所有像素值完全相同才可以合并。k非常大截亦,不同像素值之間可以有差異。
算法步驟:首先,下圖中的每一個(gè)圓點(diǎn)都是代表一個(gè)像素葬馋,
1. 我們先對(duì)每一個(gè)像素計(jì)算與他相鄰的八個(gè)位置的不相似性,也就是他們之間權(quán)重蛋逾。
2.按照從小到大的順序排列窗悯,選出最小的邊,把他們合并到一個(gè)分割里面
3.此時(shí)蒋院,就要參照莲绰,兩顆樹(shù)如何合并了姑丑,如果類(lèi)間的差異<類(lèi)內(nèi)共同容忍的最大差異,那么合并震肮,更新新區(qū)域留拾,一直重復(fù)這個(gè)操作
4.更新該類(lèi)的不相似度閾值戳晌,C變大了痴柔。
5.結(jié)束條件,找不到一條邊能夠滿足條件扛施,結(jié)束屹篓。
如何獲取圖像的非局部特征?
計(jì)算兩個(gè)pixel的歐式距離谍肤,選取10個(gè)最近鄰,保證時(shí)間復(fù)雜度篷角。這個(gè)是用來(lái)解決分割區(qū)中間稍微有斷開(kāi)的情況系任,如果只考慮顏色方面的信息,會(huì)導(dǎo)致分割區(qū)域被斷開(kāi)俩滥,如果考慮他們的位置信息,可以稍微避免這個(gè)問(wèn)題错忱。
對(duì)于彩色圖片,上文是將R,G,B作為距離以清,整張圖片只進(jìn)行一次分割,原文說(shuō)對(duì)每一個(gè)通道都進(jìn)行一次分割箕肃,最后對(duì)結(jié)果取交集今魔,也就是說(shuō)圖片中的兩個(gè)點(diǎn)要?jiǎng)澐值酵粋€(gè)區(qū)域,則在R,G,B三個(gè)通道的劃分結(jié)果中错森,始終在同一個(gè)區(qū)域作為最終分割結(jié)果。