❶ 區域生長的區域生長
它是一個迭代的過程,這里每個種子像素點都迭代生長,直到處理過每個像素,因此形成了不同的區域,這些區域它們的邊界通過閉合的多邊形定義。
在區域生長中的主要問題如下:
(1)表示區域的初始化種子的選擇:在區域生長過程中,這些不同區域點合適屬性的選擇。
(2)基於圖像具體屬性的像素生長不一定是好的分割。在區域生長過程中,不應該使用連通性或鄰接信息。
(3)相似性:相似性表示在灰度級中觀察在兩個空間鄰接像素之間或像素集合的平均灰度級間的最小差分,它們將產生不同的區域。如果這個差分比相似度閾值小,則像素屬於相同的區域。
(4)區域面積:最小面積閾值與像素中的最小區域大小有關。在分割的圖像中,沒有區域比這個閾值小,它由用戶定義。
區域生長的後處理(region growing post-processing):由於非優化參數的設置,區域生長經常會導致欠生長或過生長。人們已經開發了各種各樣的後處理。從區域生長和基於邊緣的分割中,後處理能獲得聯合分割的信息。更加簡單的後處理是根據一般啟發法,並且根據最初應用的均勻性標准,減少分割圖像中無法與任何鄰接區域合並的最小區域的數量。
區域連接圖
在場景中區域間的鄰接關系可以由區域鄰接圖(region adjacency graph, RAG)表示。在場景中的區域由在RAG的節點集合表示 N = {N1, N2, ... , Nm},這里,節點Ni表示在場景中的區域Ri ,並且區域Ri的屬性存儲在節點的數據結構Ni中。在Ni和Nj之間的邊緣Eij表示在區域Ri和Rj之間的連接。如果在區域Ri里存放一個像素與在區域Rj彼此相鄰,那麼兩個區域Ri和Rj是相鄰的。鄰接可能是4連通或8連通的。鄰接關系是自反(reflexive)和對稱(symmetric)的,但不一定是可傳遞(transitive)的。下圖顯示具有6個截然不同區域的場景鄰接圖。
當它表示區域鄰接圖(RAG)是,二進制矩陣A成為鄰接矩陣(adjacency matrix)。在RAG里,當節點Ni和Nj鄰接,在A中,aij是1。因為鄰接關系是自反的,矩陣的對角元素都是1。在上圖的多區域場景鄰接矩陣(關系)如下所示。
區域合並和分裂
由於在場景中分割單一大區域,分割演算法可能產生許多個小區域。在這種情況下,較小的區域需要根據相似性合並,並且使較小的區域更緊密。簡單的區域合並演算法如下所述。
步驟1:使用閾值集合將圖像分割為R1,R2,R,…,Rm。
步驟2:從圖像的分割描述中生成區域鄰接圖(region adjacency graphics,RAG)。
步驟3:對於每個Rj,i = 1,2,…,m,從RAG中確定所有Rj,j≠i,如Ri和Rj鄰接。
步驟4:對於所有i和j,計算在Ri和Rj之間合適的相似性度量Sij。
步驟5:如果Sij>T,那麼合並Ri和Rj
步驟6:根據相似性標准,重復步驟3~步驟5,直到沒有合並的區域為止。
合並的另一個策略是根據兩個區域之間的邊緣強度。在這個方法中,在鄰接區域之間的合並是根據兩個區域間沿標定邊界長度的邊緣強度。如果邊緣強度小,即邊緣點較弱(weak),如果合並沒有大量改變平均像素強度值,那麼可以合並兩個區域。
還有這種情況:由於錯誤的預處理分割,產生了太小的區域。這歸結於不同區域錯誤合並成一個區域。在這種情況下,在分割區域中灰度值的變化可能高於閾值(T),因此,需要將區域分裂成更小的區域,這樣每個更小的區域都有均勻小方差。
分裂和合並可能結合在一起用於復雜場景的分割,基於規則可以指導分裂和合並運算的應用。
❷ 醫學圖像處理
圖像分割是前期的工作重點,主要使用了現成的軟體來完成圖像分割任務:3DMed(中國科學院自動化醫學圖像處理研究所)。
該軟體集成了6種分割演算法插件,按照官方文檔的說法,區域生長演算法特別適合於分割小的結構如腫瘤和傷疤,下面是使用3DMed載入的原始29189000016.dcm圖像:
下面是使用區域生長演算法對腫瘤的分割結果:
其中Different Value和Change Value為控制區域增長的兩個參數,通過實驗發現選取2和10效果較好。
下面是分割後的保存結果:
3DMed中會自動將結果文件名保存為29189000016_segmented.dcm。
但是該演算法需要人工交互獲得種子節點,自動化程度不高。同時區域增長演算法對雜訊敏感,導致抽取出的區域有空洞或者無法正確抽取出感興趣區域。
特徵提取就是從分割的區域中提取出描述該區域特徵的一些數據,這一步的工作使用了兩種方法進行探索。
使用MATLAB進行常用的基本統計特徵的提取,該方法可以提取出 一階統計特徵 (描述感興趣區域內各提速參數的分布,通常是基於直方圖進行分析),在MATLAB中簡單的區域描繪如下:
l 周長:區域邊界的長度, 即位於區域邊界上的像素數目.
l 面積:, 區域中的像素總數.
l 緻密性:(周長) 2/面積.
l 區域的質心.
l 灰度均值: 區域中所有像素的平均值.
l 灰度中值: 區域中所有像素的排序中值.
l 包含區域的最小矩形.
l 最小或最大灰度級.
l 大於或小於均值的像素數.
l 歐拉數: 區域中的對象數減去這些對象的孔洞數。
MATLAB中的regionprops(L, properties)函數可以用來計算區域描繪特徵:首先使用bwlabel(I, n)對圖像I進行n(4或者8)連通標號,然後使用regionprops()進行統計計算。
Mazda是一個圖像紋理分析的工具,可以自動對圖像進行特徵提取。下面是使用Mazda載入分割好的結果:
下面是對分割結果進行特徵提取的結果:
對於Feature name的表示現在還沒有完全搞明白,正在研究。
Mazda還可以進行 高階統計量 的提取(就是進一步加入了過濾器),小波分析就是高階統計量的一種,下面是小波分析的結果:
同時可以手動對Features進行feature selection,然後保存選擇的結果。
❸ 圖像分割技術論文
圖像分割是圖像處理與計算機視覺的基本問題之一,是圖像處理圖像分析的關鍵步驟。我整理了圖像分割技術論文,歡迎閱讀!
圖像分割技術研究
摘要:圖像分割是圖像處理與計算機視覺的基本問題之一,是圖像處理圖像分析的關鍵步驟。本文介紹了基於閾值的分割方法和圖像分割的圖像分割性能的評價、應用現狀;最後總結出圖像分割的發展趨勢。
關鍵詞:圖像分割、閾值、邊緣檢測、區域分割
中圖分類號: TN957.52 文獻標識碼: A
1引言
隨著圖像分割技術研究的深入,其應用日趨廣泛。凡屬需要對圖像目標進行提取、測量的工作都離不開圖像分割。圖像分割是圖像處理、模式識別和人工智慧等多個領域中一個十分重要且又十分困難的問題,是計算機視覺技術中首要的、重要的關鍵步驟。圖像分割結果的好壞直接影響對計算機視覺中的圖像理解。現有的方法多是為特定應用設計的,有很大的針對性和局限性,到目前為止還不存在一個通用的方法,也不存在一個判斷分割是否成功的客觀標准。因此,對圖像分割的研究目前還缺乏一個統一的理論體系,使得圖像分割的研究仍然是一個極富有挑戰性的課題。
2圖像分割方法
圖像分割(Image Segmentation),簡單地說就是將一幅數字圖像分割成不同的區域,在同一區域內具有在一定的准則下可認為是相同的性質,如灰度、顏色、紋理等。而任何相鄰區域之間其性質具有明顯的區別。
2.1基於灰度特徵的閾值分割方法
閾值分割技術是經典的、流行的圖象分割方法之一,它是用一個或幾個閾值將圖像的灰度級分為幾個部分,認為屬於同一個部分的像素是同一個物體。
這類方法主要包括以下幾種:
(1)單閾值法,用一個全局閾值區分背景和目標。當一幅圖像的直方圖具有明顯的雙峰時,選擇兩峰之間的谷底作為閾值。
(2)雙閾值法,用兩個閾值區分背景和目標。通過設置兩個閾值,以防單閾值設置閾值過高或過低,把目標像素誤歸為背景像素,或把背景像素誤歸為目標像素。
(3)多閾值法,當存在照明不均,突發雜訊等因素或背景灰度變化較大時,整幅圖像不存在合適的單一閾值,單一閾值不能兼顧圖像不同區域的具體情況,這時可將圖像分塊處理,對每一塊設一個閾值。
2.2 邊緣檢測分割法
基於邊緣檢測技術可以按照處理的順序分為並行邊緣檢測和串列邊緣檢測兩大類。常見的邊緣檢測方法有:差分法、模板匹配法及統計方法等。由於邊緣灰度變化規律一般體現為階梯狀或者脈沖狀。邊緣與差分值的關系可以歸納為兩種情況,其一是邊緣發生在差分最大值或者最小值處;其二是邊緣發生在過零處。
2.3基於區域的分割方法
基於區域的分割方法利用的是圖像的空間性質。該方法認為分割出來的某一區域具有相似的性質。常用的方法有區域生長法和區域分裂合並法。該類方法對含有復雜場景或自然景物等先驗知識不足的圖像進行分割,效果較好。
區域生長方法是把一幅圖像分成許多小區域開始的,這些初始的小區域可能是小的鄰域甚至是單個像素,在每個區域中,通過計算能反映一個物體內像素一致性的特徵,作為區域合並的判斷標准。區域合並的第一步是賦給每個區域一組參數,即特徵。接下來對相鄰區域的所有邊界進行考查,如果給定邊界兩側的特徵值差異明顯,那麼這個邊界很強,反之則弱。強邊界允許繼續存在,而弱邊界被消除,相鄰區域被合並。沒有可以消除的弱邊界時,區域合並過程結束,圖像分割也就完成。
2.4結合特定工具的圖像分割技術
20世紀80年代末以來,隨著一些特殊理論的出現及其成熟,如數學形態學、分形理論、模糊數學、小波分析、模式識別、遺傳演算法等,大量學者致力於將新的概念、新的方法用於圖像分割,有效地改善了分割效果。產生了不少新的分割演算法。下面對這些演算法做一些簡單的概括。
2.4.1基於數學形態學的分割演算法
分水嶺演算法是一種經典的借鑒了數學形態理論的分割方法。該方法中,將一幅圖像比為一個具有不同高度值的地形,高灰度值處被認為是山脊,底灰度值處被認為是山谷,將一滴水從任一點流下,它會朝地勢底的地方流動,最終聚於某一局部最底點,最後所有的水滴會分聚在不同的吸引盆地,由此,相應的圖像就被分割成若幹部分。分水嶺演算法具有運算簡單、性能優良,能夠較好提取運動對象輪廓、准確得到運動物體邊緣的優點。但分割時需要梯度信息,對雜訊較敏感。
2.4.2基於模糊數學的分割演算法
目前,模糊技術在圖像分割中應用的一個顯著特點就是它能和現有的許多圖像分割方法相結合,形成一系列的集成模糊分割技術,例如模糊聚類、模糊閾值、模糊邊緣檢測技術等。
這類方法主要有廣義模糊運算元與模糊閾值法兩種分割演算法。
(1)廣義模糊運算元在廣義模糊集合的范圍內對圖像處理,使真正的邊緣處於較低灰度級,但還有一些不是邊緣的像素點的灰度也在較低灰度級中,雖然演算法的計算簡明,且邊緣細膩,但得到的邊緣圖會出現斷線問題。
(2)模糊閾值法引入灰度圖像的模糊數學描述,通過計算圖像的模糊熵來選取圖像的分割閾值,後用閾值法處理圖像得到邊界。
2.4.3基於遺傳演算法的分割方法
此演算法是受生物進化論思想提出的一種優化問題的解決方法,它使用參數編碼集而不是參數本身,通過模擬進化,以適者生存的策略搜索函數的解空間,它是在點群中而不是在單點進行尋優。遺傳演算法在求解過程中使用隨機轉換規則而不是確定性規則來工作,它唯一需要的信息是適應值,通過對群體進行簡單的復制、雜交、變異作用完成搜索過程。由於此法能進行能量函數全局最小優化搜索,且可以降低搜索空間維數,降低演算法對模板初始位置的敏感,計算時間也大為減少。其缺點是容易收斂於局部最優。
2.4.4基於神經網路分割演算法
人工神經網路具有自組織、自學習、自適應的性能和非常強的非線性映射能力,適合解決背景知識不清楚、推理規則不明確和比較復雜的分類問題,因而也適合解決比較復雜的圖像分割問題。原則上講,大部分分割方法都可用 ANN(attificial neural network)實現。ANN 用於分割的研究起步較晚,只有多層前饋NN,多層誤差反傳(BP)NN,自組織NN,Hopfield NN以及滿足約束的NN(CSNN-Const raint Satisfaction Neurat Network)等得到了應用。使用一個多層前向神經網路用於圖象分割,輸入層神經元的數目取決於輸入特徵數,而輸出層神經元的數目等同於分類的數目。
2.5圖像分割中的其他方法
前面介紹了4大類圖像分割較常用的方法,有關圖像分割方法和文獻很多,新方法不斷產生,這些方法有的只對特定的情形有效,有的綜合了幾種方法,放在一起統稱為第5類。
(1)標號法(labeling)是一種基於統計學的方法,這種方法將圖像欲分割成的幾個區域各以一個不同的標號來表示,用一定的方式對圖像中的每一個像素賦以標號,標號相同的像素就合並成該標號所代表的區域。
(2)基於Snak模型的分割方法,基於Snake模型的分割是通過對能量函數的動態優化來逼近圖像目標的真實輪廓的
(3)紋理分割,由於新的數學工具的引入,紋理分割技術取得了一些進展,張蓬等人將小波分析應用於紋理基元提取。
(4)基於知識的圖像分割方法,直接建立在先驗知識的基礎上,使分割更符合實際圖像的特點。該方法的難度在於知識的正確合理的表示與利用。
3圖像分割性能的評價
圖像分割評價主要有兩個方面的內容:一是研究各分割演算法在不同情況下的表現,掌握如何選擇和控制其參數設置,以適應不同需要。二是分析多個分割演算法在分割同一圖像時的性能,比較優劣,以便在實際應用中選取合適的演算法。分割評價方法分為分析法和實驗法兩大類。分析法是直接分析分割演算法本身的原理及性能,而實驗法是通過對測試圖像的分割結果來評價演算法的。兩種方法各有優劣,由於缺乏可靠理論依據,並非所有分割演算法都能夠通過分析法分析其性能。每種評價方法都是出於某種考慮而提出來的,不同的評價方法只能反映分割演算法性能的某一性能。另一方面,每一種分割演算法的性能是由多種因素決定的,因此,有可能需要多種准則來綜合評價。
4圖像分割技術的發展趨勢
隨著神經網路、遺傳演算法、統計學理論、小波理論以及分形理論等在圖像分割中的廣泛應用,圖像分割技術呈現出以下的發展趨勢:(1)多種特徵的融合。(2)多種分割方法的結合。(3)新理論與新方法。
參考文獻
[1] [美]RC岡薩雷斯.數字圖像處理(第二版)[M].阮秋琦,等譯.北京:電子工業出版社,2003
[2] 章毓晉.圖像分割[M].北京:科學出版社,2001.
[3] 李弼程,彭天強,彭波等.智能圖像處理技術[M].北京:電子工業出版社,2004.
[4] 楊暉,曲秀傑.圖像分割方法綜述[J].電腦開發與應用。2005,18(3):21-23.
點擊下頁還有更多>>>圖像分割技術論文
❹ 傳統的圖像分割方法有哪些
1.基於閾值的分割方法
灰度閾值分割法是一種最常用的並行區域技術,它是圖像分割中應用數量最多的一類。閾值分割方法實際上是輸入圖像f到輸出圖像g的變化
其中,T為閾值;對於物體的圖像元素,g(i,j)=1,對於背景的圖像元素,g(i,j)=0。
由此可見,閾值分割演算法的關鍵是確定閾值,如果能確定一個適合的閾值就可准確地將圖像分割開來。閾值確定後,閾值與像素點的灰度值比較和像素分割可對各像素並行地進行,分割的結果直接給出圖像區域。
閾值分割的優點是計算簡單、運算效率較高、速度快。在重視運算效率的應用場合(如用於軟體實現),它得到了廣泛應用。
2.基於區域的分割方法
區域生長和分裂合並法是兩種典型的串列區域技術,其分割過程後續步驟的處理要根據前面步驟的結果進行判斷而確定。
(1)區域生長
區域生長的基本思想是將具有相似性質的像素集合起來構成區域。具體先對每個需要分割的區域找一個種子像素作為生長的起點,然後將種子像素周圍鄰域中與種子像素有相同或相似性質的像素(根據某種事先確定的生長或相似准則來判定)合並到種子像素所在的區域中。將這些新像素當作新的種子像素繼續進行上面的過程,直到再沒有滿足條件的像素可被包括進來。這樣一個區域就長成了。
(2)區域分裂合並
區域生長是從某個或者某些像素點出發,最後得到整個區域,進而實現目標提取。分裂合並差不多是區域生長的逆過程:從整個圖像出發,不斷分裂得到各個子區域,然後再把前景區域合並,實現目標提取。分裂合並的假設是對於一幅圖像,前景區域是由一些相互連通的像素組成的,因此,如果把一幅圖像分裂到像素級,那麼就可以判定該像素是否為前景像素。當所有像素點或者子區域完成判斷以後,把前景區域或者像素合並就可得到前景目標。
3.基於邊緣的分割方法
基於邊緣的分割方法是指通過邊緣檢測,即檢測灰度級或者結構具有突變的地方,確定一個區域的終結,即另一個區域開始的地方。不同的圖像灰度不同,邊界處一般有明顯的邊緣,利用此特徵可以分割圖像。
4.基於特定理論的分割方法
圖像分割至今尚無通用的自身理論。隨著各學科新理論和新方法的提出,出現了與一些特定理論、方法相結合的圖像分割方法,主要有:基於聚類分析的圖像分割方法、基於模糊集理論的分割方法等。
5.基於基因編碼的分割方法
基於基因編碼的分割方法是指把圖像背景和目標像素用不同的基因編碼表示,通過區域性的劃分,把圖像背景和目標分離出來的方法。該方法具有處理速度快的優點,但演算法實現起來比較難。
6.基於小波變換的分割方法
小波變換是近年來得到廣泛應用的數學工具,它在時域和頻域都具有良好的局部化性質,並且小波變換具有多尺度特性,能夠在不同尺度上對信號進行分析,因此在圖像處理和分析等許多方面得到應用。
基於小波變換的閾值圖像分割方法的基本思想是首先由二進小波變換將圖像的直方圖分解為不同層次的小波系數,然後依據給定的分割准則和小波系數選擇閾值門限,最後利用閾值標出圖像分割的區域。整個分割過程是從粗到細,由尺度變化來控制,即起始分割由粗略的L2(R)子空間上投影的直方圖來實現,如果分割不理想,則利用直方圖在精細的子空間上的小波系數逐步細化圖像分割。分割演算法的計算會與圖像尺寸大小呈線性變化。
7.基於神經網路的分割方法
近年來,人工神經網路識別技術已經引起了廣泛的關注,並應用於圖像分割。基於神經網路的分割方法的基本思想是通過訓練多層感知機來得到線性決策函數,然後用決策函數對像素進行分類來達到分割的目的。這種方法需要大量的訓練數據。神經網路存在巨量的連接,容易引入空間信息,能較好地解決圖像中的雜訊和不均勻問題。選擇何種網路結構是這種方法要解決的主要問題。
❺ 圖像分割
圖像閾值化分割是一種傳統的最常用的圖像分割方法,因其實現簡單、計算量小、性能較穩定而成為圖像分割中最基本和應用最廣泛的分割技術。它特別適用於目標和背景占據不同灰度級范圍的圖像。它不僅可以極大的壓縮數據量,而且也大大簡化了分析和處理步驟,因此在很多情況下,是進行圖像分析、特徵提取與模式識別之前的必要的圖像預處理過程。
圖像閾值化的目的是要按照灰度級,對像素集合進行一個劃分,得到的每個子集形成一個與現實景物相對應的區域,各個區域內部具有一致的屬性,而相鄰區域不具有這種一致屬性。這樣的劃分可以通過從灰度級出發選取一個或多個閾值來實現。
基本原理是:通過設定不同的特徵閾值,把圖像象素點分為若干類。
常用的特徵包括:直接來自原始圖像的灰度或彩色特徵;由原始灰度或彩色值變換得到的特徵。
設原始圖像為f(x,y),按照一定的准則f(x,y)中找到特徵值T,將圖像分割為兩個部分,分割後的圖像為:
若取:b0=0(黑),b1=1(白),即為我們通常所說的圖像二值化。
閾值分割方法實際上是輸入圖像f到輸出圖像g的如下變換:
其中,T為閾值,對於物體的圖像元素g(i,j)=1,對於背景的圖像元素g(i,j)=0。
由此可見,閾值分割演算法的關鍵是確定閾值,如果能確定一個合適的閾值就可准確地將圖像分割開來。閾值確定後,將閾值與像素點的灰度值逐個進行比較,而且像素分割可對各像素並行地進行,分割的結果直接給出圖像區域。
閾值分割的優點是計算簡單、運算效率較高、速度快。有著各種各樣的閾值處理技術,包括全局閾值、自適應閾值、最佳閾值等等。
閾值處理技術參看:
區域分割是講圖像按照相似性准則分成不同的區域,主要包括區域增長,區域分裂合並和分水嶺等幾種類型。
區域生長是一種串列區域分割的圖像分割方法。區域生長是指從某個像素出發,按照一定的准則,逐步加入鄰近像素,當滿足一定的條件時,區域生長終止。區域生長的好壞決定於1. 初始點(種子點)的選取。 2. 生長准則。 3. 終止條件 。區域生長是從某個或者某些像素點出發,最後得到整個區域,進而實現目標的提取。
區域生長的基本思想是將具有相似性質的像素集合起來構成區域。具體先對每個需要分割的區域找一個種子像素作為生長的起點,然後將種子像素周圍鄰域中與種子像素有相同或相似性質的像素(根據某種事先確定的生長或相似准則來判定)合並到種子像素所在的區域中。將這些新像素當作新的種子像素繼續進行上面的過程,直到再沒有滿足條件的像素可被包括進來。這樣一個區域就長成了。
區域生長需要選擇一組能正確代表所需區域的種子像素,確定在生長過程中的相似性准則,制定讓生長停止的條件或准則。相似性准則可以是灰度級、彩色、紋理、梯度等特性。選取的種子像素可以是單個像素,也可以是包含若干個像素的小區域。大部分區域生長准則使用圖像的局部性質。生長准則可根據不同原則制定,而使用不同的生長准則會影響區域生長的過程。
圖1是區域增長的示例。
區域生長是一種古老的圖像分割方法,最早的區域生長圖像分割方法是由Levine等人提出的。該方法一般有兩種方式,一種是先給定圖像中要分割的目標物體內的一個小塊或者說種子區域(seed point),再在種子區域基礎上不斷將其周圍的像素點以一定的規則加入其中,達到最終將代表該物體的所有像素點結合成一個區域的目的;另一種是先將圖像分割成很多的一致性較強,如區域內像素灰度值相同的小區域,再按一定的規則將小區域融合成大區域,達到分割圖像的目的,典型的區域生長法如T. C. Pong等人提出的基於小面(facet)模型的區域生長法,區域生長法固有的缺點是往往會造成過度分割,即將圖像分割成過多的區域
區域生長實現的步驟如下:
區域分裂合並演算法的基本思想是先確定一個分裂合並的准則,即區域特徵一致性的測度,當圖像中某個區域的特徵不一致時就將該區域分裂成4個相等的子區域,當相鄰的子區域滿足一致性特徵時則將它們合成一個大區域,直至所有區域不再滿足分裂合並的條件為止。當分裂到不能再分的情況時,分裂結束,然後它將查找相鄰區域有沒有相似的特徵,如果有就將相似區域進行合並,最後達到分割的作用。在一定程度上區域生長和區域分裂合並演算法有異曲同工之妙,互相促進相輔相成的,區域分裂到極致就是分割成單一像素點,然後按照一定的測量准則進行合並,在一定程度上可以認為是單一像素點的區域生長方法。區域生長比區域分裂合並的方法節省了分裂的過程,而區域分裂合並的方法可以在較大的一個相似區域基礎上再進行相似合並,而區域生長只能從單一像素點出發進行生長(合並)。
反復進行拆分和聚合以滿足限制條件的演算法。
令R表示整幅圖像區域並選擇一個謂詞P。對R進行分割的一種方法是反復將分割得到的結果圖像再次分為四個區域,直到對任何區域Ri,有P(Ri)=TRUE。這里是從整幅圖像開始。如果P(R)=FALSE,就將圖像分割為4個區域。對任何區域如果P的值是FALSE.就將這4個區域的每個區域再次分別分為4個區域,如此不斷繼續下去。這種特殊的分割技術用所謂的四叉樹形式表示最為方便(就是說,每個非葉子節點正好有4個子樹),這正如圖10.42中說明的樹那樣。注意,樹的根對應於整幅圖像,每個節點對應於劃分的子部分。此時,只有R4進行了進一步的再細分。
如果只使用拆分,最後的分區可能會包含具有相同性質的相鄰區域。這種缺陷可以通過進行拆分的同時也允許進行區域聚合來得到矯正。就是說,只有在P(Rj∪Rk)=TRUE時,兩個相鄰的區域Rj和Rk才能聚合。
前面的討論可以總結為如下過程。在反復操作的每一步,我們需要做:
可以對前面講述的基本思想進行幾種變化。例如,一種可能的變化是開始時將圖像拆分為一組圖象塊。然後對每個塊進一步進行上述拆分,但聚合操作開始時受只能將4個塊並為一組的限制。這4個塊是四叉樹表示法中節點的後代且都滿足謂詞P。當不能再進行此類聚合時,這個過程終止於滿足步驟2的最後的區域聚合。在這種情況下,聚合的區域可能會大小不同。這種方法的主要優點是對於拆分和聚合都使用同樣的四叉樹,直到聚合的最後一步。
分水嶺分割方法,是一種基於拓撲理論的數學形態學的分割方法,其基本思想是把圖像看作是測地學上的拓撲地貌,圖像中每一點像素的灰度值表示該點的海拔高度,每一個局部極小值及其影響區域稱為集水盆,而集水盆的邊界則形成分水嶺。分水嶺的概念和形成可以通過模擬浸入過程來說明。在每一個局部極小值表面,刺穿一個小孔,然後把整個模型慢慢浸入水中,隨著浸入的加深,每一個局部極小值的影響域慢慢向外擴展,在兩個集水盆匯合處構築大壩,即形成分水嶺。
分水嶺的計算過程是一個迭代標注過程。分水嶺比較經典的計算方法是L. Vincent提出的。在該演算法中,分水嶺計算分兩個步驟,一個是排序過程,一個是淹沒過程。首先對每個像素的灰度級進行從低到高排序,然後在從低到高實現淹沒過程中,對每一個局部極小值在h階高度的影響域採用先進先出(FIFO)結構進行判斷及標注。
分水嶺變換得到的是輸入圖像的集水盆圖像,集水盆之間的邊界點,即為分水嶺。顯然,分水嶺表示的是輸入圖像極大值點。因此,為得到圖像的邊緣信息,通常把梯度圖像作為輸入圖像,即
分水嶺演算法對微弱邊緣具有良好的響應,圖像中的雜訊、物體表面細微的灰度變化,都會產生過度分割的現象。但同時應當看出,分水嶺演算法對微弱邊緣具有良好的響應,是得到封閉連續邊緣的保證的。另外,分水嶺演算法所得到的封閉的集水盆,為分析圖像的區域特徵提供了可能。
為消除分水嶺演算法產生的過度分割,通常可以採用兩種處理方法,一是利用先驗知識去除無關邊緣信息。二是修改梯度函數使得集水盆只響應想要探測的目標。
為降低分水嶺演算法產生的過度分割,通常要對梯度函數進行修改,一個簡單的方法是對梯度圖像進行閾值處理,以消除灰度的微小變化產生的過度分割。即
程序可採用方法:用閾值限制梯度圖像以達到消除灰度值的微小變化產生的過度分割,獲得適量的區域,再對這些區域的邊緣點的灰度級進行從低到高排序,然後在從低到高實現淹沒的過程,梯度圖像用Sobel運算元計算獲得。對梯度圖像進行閾值處理時,選取合適的閾值對最終分割的圖像有很大影響,因此閾值的選取是圖像分割效果好壞的一個關鍵。缺點:實際圖像中可能含有微弱的邊緣,灰度變化的數值差別不是特別明顯,選取閾值過大可能會消去這些微弱邊緣。
參考文章:
圖像分割的一種重要途徑是通過邊緣檢測,即檢測灰度級或者結構具有突變的地方,表明一個區域的終結,也是另一個區域開始的地方。這種不連續性稱為邊緣。不同的圖像灰度不同,邊界處一般有明顯的邊緣,利用此特徵可以分割圖像。
圖像中邊緣處像素的灰度值不連續,這種不連續性可通過求導數來檢測到。對於階躍狀邊緣,其位置對應一階導數的極值點,對應二階導數的過零點(零交叉點)。因此常用微分運算元進行邊緣檢測。常用的一階微分運算元有Roberts運算元、Prewitt運算元和Sobel運算元,二階微分運算元有Laplace運算元和Kirsh運算元等。在實際中各種微分運算元常用小區域模板來表示,微分運算是利用模板和圖像卷積來實現。這些運算元對雜訊敏感,只適合於雜訊較小不太復雜的圖像。
由於邊緣和雜訊都是灰度不連續點,在頻域均為高頻分量,直接採用微分運算難以克服雜訊的影響。因此用微分運算元檢測邊緣前要對圖像進行平滑濾波。LoG運算元和Canny運算元是具有平滑功能的二階和一階微分運算元,邊緣檢測效果較好,
在邊緣檢測演算法中,前三個步驟用得十分普遍。這是因為大多數場合下,僅僅需要邊緣檢測器指出邊緣出現在圖像某一像素點的附近,而沒有必要指出邊緣的精確位置或方向.邊緣檢測誤差通常是指邊緣誤分類誤差,即把假邊緣判別成邊緣而保留,而把真邊緣判別成假邊緣而去掉.邊緣估計誤差是用概率統計模型來描述邊緣的位置和方向誤差的.我們將邊緣檢測誤差和邊緣估計誤差區分開,是因為它們的計算方法完全不同,其誤差模型也完全不同.
Roberts運算元 :邊緣定位準,但是對雜訊敏感。適用於邊緣明顯且雜訊較少的圖像分割。Roberts邊緣檢測運算元是一種利用局部差分運算元尋找邊緣的運算元,Robert運算元圖像處理後結果邊緣不是很平滑。經分析,由於Robert運算元通常會在圖像邊緣附近的區域內產生較寬的響應,故採用上述運算元檢測的邊緣圖像常需做細化處理,邊緣定位的精度不是很高。
Prewitt運算元 :對雜訊有抑製作用,抑制雜訊的原理是通過像素平均,但是像素平均相當於對圖像的低通濾波,所以Prewitt運算元對邊緣的定位不如Roberts運算元。
Sobel運算元 :Sobel運算元和Prewitt運算元都是加權平均,但是Sobel運算元認為,鄰域的像素對當前像素產生的影響不是等價的,所以距離不同的像素具有不同的權值,對運算元結果產生的影響也不同。一般來說,距離越遠,產生的影響越小。
Isotropic Sobel運算元 :加權平均運算元,權值反比於鄰點與中心點的距離,當沿不同方向檢測邊緣時梯度幅度一致,就是通常所說的各向同性。
在邊沿檢測中,常用的一種模板是Sobel 運算元。Sobel 運算元有兩個,一個是檢測水平邊沿的;另一個是檢測垂直平邊沿的 。Sobel運算元另一種形式是各向同性Sobel(Isotropic Sobel)運算元,也有兩個,一個是檢測水平邊沿的,另一個是檢測垂直平邊沿的 。各向同性Sobel運算元和普通Sobel運算元相比,它的位置加權系數更為准確,在檢測不同方向的邊沿時梯度的幅度一致。由於建築物圖像的特殊性,我們可以發現,處理該類型圖像輪廓時,並不需要對梯度方向進行運算,所以程序並沒有給出各向同性Sobel運算元的處理方法。
1971年,R.Kirsch[34]提出了一種能檢測邊緣方向的Kirsch運算元新方法:它使用了8個模板來確定梯度幅度值和梯度的方向。
圖像中的每個點都用8個掩模進行卷積,每個掩模對某個特定邊緣方向作出最大響應。所有8個方向中的最大值作為邊緣幅度圖像的輸出。最大響應掩模的序號構成了對邊緣方向的編碼。
Kirsch運算元的梯度幅度值用如下公式:
不同檢測運算元的對比:
參考文章:
文章引用於 木夜溯
編輯 Lornatang
校準 Lornatang
❻ 我所了解的圖像分割
圖像分割是我大二2019年做的東西,這篇文章用來總結。
分語義【像素級別圖像】,實例【分割物體有進一步分類】。
基於圖像的灰度特徵來計算一個或多個灰度閾值,並將圖像中每個像素的灰度值與閾值作比較,最後將像素根據比較結果分到合適的類別中。
確定某個准則函數來求解最佳灰度閾值。【閾值法特別適用於目標和背景占據不同灰度級范圍的圖。】
值得一提的是:特徵點檢測也有此方法
直接尋找區域。有兩種基本形式:一種是區域生長,從單個像素出發,逐步合並以形成所需要的分割區域;另一種是從全局出發,逐步切割至所需的分割區域。
基於邊緣檢測的圖像分割演算法試圖通過檢測包含不同區域的邊緣來解決分割問題。它可以說是人們最先想到也是研究最多的方法之一。通常不同區域的邊界上像素的灰度值變化比較劇烈,如果將圖片從空間域通過傅里葉變換到頻率域,邊緣就對應著高頻部分,這是一種非常簡單的邊緣檢測演算法。
常規卷積
常規卷積+殘差【解決梯度消失,網路變深】
Efficient Neural Network(ENet)
ResNet-38
full-resolution resial network(FRRN)
AdapNey
由目標檢測發展而來(R-CNN、Fast R-CNN)
在Faster R-CNN的結構基礎上加上了Mask預測分支,並且改良了ROI Pooling,提出了ROI Align。
評價函數只對目標檢測的候選框進行打分,而不是分割模板
(1)ReSeg模型【FCN改進】
FCN的不足:沒有考慮到局部或者全局的上下文依賴關系,而在語義分割中這種依賴關系是非常有用的。所以在ReSeg中作者使用RNN去檢索上下文信息,以此作為分割的一部分依據。
卷積神經網路在進行采樣的時候會丟失部分細節信息,這樣的目的是得到更具特徵的價值。但是這個過程是不可逆的,有的時候會導致後面進行操作的時候圖像的 解析度太低 ,出現 細節丟失 等問題。因此我們通過上采樣在一定程度上可以不全一些丟失的信息,從而得到更加准確的分割邊界。
卷積後進行一次上采樣,得到segment map。
優點:
FCN對圖像進行了像素級的分類,從而解決了 語義級別 的圖像分割問題;
FCN可以 接受任意尺寸的輸入圖像 ,可以保留下原始輸入圖像中的空間信息;
缺點:
得到的結果由於上采樣的原因比較模糊和平滑,對圖像中的 細節不敏感 ;
對各個像素分別進行分類,沒有充分考慮 像素與像素的關系,缺乏空間一致性。
恢復在深度卷積神經網路中下降的解析度,從而獲取更多的上下文信息。
DeepLab是結合了深度卷積神經網路和概率圖模型的方法,應用在語義分割的任務上,目的是做逐像素分類,其先進性體現在DenseCRFs(概率圖模型)和DCNN的結合。是將每個像素視為CRF節點,利用遠程依賴關系並使用CRF推理直接優化DCNN的損失函數。
在圖像分割領域,FCN的一個眾所周知的操作就是平滑以後再填充,就是先進行卷積再進行pooling,這樣在降低圖像尺寸的同時增大感受野,但是在先減小圖片尺寸(卷積)再增大尺寸(上采樣)的過程中一定有一些信息損失掉了,所以這里就有可以提高的空間。
DeepLab提出空洞卷積解決這一問題
(1)常規圖像分割
交叉熵Loss
Focal Loss【解決難易樣本不均衡】
(2)醫療影像分割
Dice Loss(該損失函數的提出有一個背景,直接優化性能度量,涉及到我的另一個課題非凸優化)
IOU(常做為評價指標)
基於以上幾個基本的Loss還有各種各樣的改進
因為相鄰臨的像素對應感受野內的圖像信息太過相似了,如果臨近的像素都屬於所需分割區域的內部,那麼這種『相似』是有利的,但是如果相鄰 像素剛好處在所需分割區域的邊界上,那麼這種相似就是有害的了。
上下文特徵是很常見的,其實上下文大概去理解就是圖像中的每一個像素點不可能是孤立的,一個像素一定和周圍像素是有一定的關系的,大量像素的互相聯系才產生了圖像中的各種物體,所以上下文特徵就指像素以及周邊像素的某種聯系。
1、對網路輸出的分割的邊界增加額外的損失,或者讓網路對邊界的特徵和區域內部的特徵分開建模學習。其本質上的思想還是讓網路同時做兩個任務:分割和邊緣檢測。另外,提高輸入圖像的輸入解析度和中間層特徵圖的解析度同樣也是簡單有效的。
2、利用loss動態加權或者在圖像二維空間上采樣來解決同一張圖像中不同語義的像素個數不均衡以及學習的難易程度不同的問題。
3、利用半監督或者弱監督學習的方法減少標注昂貴的問題。利用多個標簽有雜訊的樣本或其特徵構建虛擬的標簽干凈的虛擬樣本或特徵來減少標簽的雜訊。
4、利用合理的上下文的建模機制,幫助網路猜測遮擋部分的語義信息。
5、在網路中構建不同圖像之間損失或者特徵交互模塊。
❼ 基於影像特徵的圖像分割
通過遙感變化信息檢測方法對兩時相遙感影像進行處理分析後,得到 「變化信息」影像,同時為了便於後續震害信息的識別,需要把這些變化信息從復雜的環境背景中提取出來,得到一個僅包含變化信息的二值影像,這里就需要用到圖像分割 ( ImageSegmentation ) 技術。圖 像 分 割 包括 手 動分 割 和 自動分割兩種,手動分割是指操作者利用相關的經驗進行小圖斑的合並、提取和取捨,但是對於大區域遙感影像來說,手工操作工作量大、效率低、速度慢、周期長、容易漏掉小圖斑,並且分割圖斑的邊界容易受到操作者的主觀控制,對精度的影響也較大,所以本研究中的圖像分割一般指的是自動分割。
退化廢棄地遙感信息提取研究
圖 4 -11 基於 MNF/ICA 多源遙感變化信息檢測法結果從 20 世紀 70 年代起,圖像分割方法一直受到各國學者的關注,至今已經提出了很多種分割方法,FuK. S. ( 1981) 將分割方法分成閾值分割、邊緣分割和區域分割,實際上區域分割包含了閾值分割。蔡殉、朱波 ( 2002) 則將圖像分割方法分成更多的類別,包括閾值分割、彩色分割、基於模糊集法、深度分割、像素分割、區域增長法,其中彩色分割、深度分割和像素分割都屬於閾值分割。
由於現今遙感變化信息檢測還處於像元級別 ( 鍾家強,2005) ,通過不同檢測方法,對灰度、彩色影像進行處理變換,使得變化信息的灰度 ( 像素值) 和色彩信息得到加強,通常表現出灰白色 ( 圖 4 - 8、圖 4 - 9) 和亮綠色 ( 圖 4 - 11) ,與周圍地物的色標不協調,可以通過確定相關的變化閾值把變化區域分割出來。但是由於變化信息受到太陽輻射、大氣干擾、感測器參數、空間解析度、光譜解析度以及季節差異等因素影響,變化圖斑的灰度有時在一定的范圍內波動,增加了變化信息精確分割的難度,這使得變化閾值的確定顯得尤為重要。
( 一) 變化影像特徵分析
通過多時相遙感變化信息檢測方法得到的灰度或彩色影像通常具有以下特徵: ① 影像中光譜特徵復雜,包含的地物類型眾多,但是變化信息和背景環境的光譜性質不一致。② 灰度影像的變換信息圖斑一般分布在灰度軸的兩端 ( 就是較亮的區域) ,不過有時也可能位於暗端,極少數情況下也可能位於兩者之間,這要根據具體的遙感數據和採用何種檢測方法來定; 彩色影像變化信息圖斑一般為亮綠色,是否能夠和周圍地物類型明顯區分要根據實際情況而定。③ 變化信息圖斑內部的灰度值比較均勻,但是會在一定范圍內波動,所以圖像分割時很容易丟失細小的圖斑。④ 變化信息圖斑之間灰度特徵比較相似 ( 一致) ,但是紋理特徵的差別通常較明顯,因為變化信息的圖斑可能屬於不同的地物類型,所以通常不能用紋理信息來分割變化信息圖斑。⑤ 由於非人為控制的因素,影像中不可避免地存在一些雜訊信息,這些雜訊信息一般表現在與變化信息圖斑接近的小圖斑( 圖 4 - 9 表現得特別明顯) ,所以分割的時候要區分哪些是變化信息圖斑,哪些是雜訊圖斑。⑥ 對於不同的環境和區域,變化信息圖斑是服從隨機分布的,有的地方稀疏,有的地方密集。
( 二) 單閾值區域分割法
單閾值區域分割是一種簡單有效的圖像分割方法,其用一個閾值將變化圖像的灰度級分為兩個部分: 變化與未變化。其最大特點是計算簡單,在重視運算效率的應用場合 ( 例如用於硬體實現) 得到了廣泛應用 ( 馮德俊,2004) 。一般是利用圖像的灰度直方圖來確定分割閾值。在計算分割閾值時,常在去除雜訊的基礎上將灰度直方圖包絡成一條曲線,如果圖像上有多個特徵區域,其直方圖就會出現多個峰值,每個峰值對應一個特徵區域,而谷底值點就為分割閾值,用以劃分不同的特徵區域。
復雜圖像的目標和背景的灰度值時常有部分交錯,為了在分割時使這種錯誤分割的概率最小,需要尋找出最優的分割閾值,所以單閾值區域分割法也叫最優閾值法,意指能夠使分割誤差最小。圖像的灰度直方圖可以看成是像元灰度值的概率分布密度函數,假設一幅圖像僅含有目標和背景兩個主要的灰度值區域,那麼其直方圖就表示對應目標和背景兩個單峰值的概率分布密度函數之和,如果已知密度函數的形式,就可以計算出使誤差最小的最優閾值。其計算原理如下:
假設一幅含有高斯雜訊的圖像,其背景和目標的直方圖(概率密度函數)分別為pb(z)和po(z),那麼整個圖像的混合概率密度p(z)為(章毓晉,2001):
退化廢棄地遙感信息提取研究
式中:σb和σo分別為背景和目標均值的均方差;μb和μo分別為背景和目標的平均灰度值;pb和po分別為背景和目標區域灰度的先驗概率,二者之和為1。如果μb<μo,需要確定閾值T,將小於閾值的分割作為背景,大於閾值的分割作為目標,假設將目標像元錯誤地劃分為背景以及把背景錯誤地劃分為目標的概率分別為Eb(T)和Eo(T),則總的誤差為兩者之和E(T)。為了使該誤差最小,將總誤差對T求導數,並令導數為零,得到
退化廢棄地遙感信息提取研究
將該式代入式(4-3),可得二項式
退化廢棄地遙感信息提取研究
求解該二項式得到最優閾值
退化廢棄地遙感信息提取研究
最優閾值T的選取原理如圖4-12所示,其原理可以概括為:將經過平滑去噪後的直方圖看成一條曲線h(x),最優閾值T必須滿足以下兩個條件:
退化廢棄地遙感信息提取研究
圖4-12 最優閾值選取原理
設原始圖像 f( x,y) 的灰度值范圍為 G =[0,L -1],用最優單閾值法把圖像分成兩類,最優分割閾值為 T ( 0 < T < L -1) ,分割後生成的二值影像為 g( x,y) :
退化廢棄地遙感信息提取研究
本研究在 ERDAS 軟體下利用空間建模語言 ( SML) 實現了單閾值 ( 最優閾值) 法,分別分析了圖 4 -8、圖 4 -9 和圖 4 -11 變化影像的直方圖分布情況 ( 圖 4 -13) ,並進行了最優閾值區域分割,把得到的三幅二值變化信息影像取合集,即把三幅影像相加,保留所有大於 1 的像素點,最後得到變化區域二值影像,如圖 4 -14 所示。
圖 4 -13 三幅變化影像的直方圖曲線
圖 4 -14 單閾值法提取的變化信息二值影像( 白色區域為發生變化的區域)
圖 4 -15 雙閾值模糊識別法計算流程
(三)雙閾值模糊識別分割法
由於單閾值區域分割法只有一個全局閾值參與影像分割,然而影像受到大氣、雜訊、光照以及背景灰度變化的共同影響,導致了變化信息的灰度值總是在一定范圍內波動,常常出現變化信息和雜訊以及其他地物類別交錯的現象。在這種情況下,單閾值區域分割難以滿足精度的要求,如何區分出其中的變化信息?本研究提出了雙閾值模糊識別分割法,其流程如圖4-15所示。
利用變化圖像的灰度直方圖計算得到兩個閾值T1和T2,並且T1<T2,然後利用雙閾值法對變化圖像進行分割(DaneKottkeetal.,1989、1998),將圖像f(x,y)分割為三個類別:背景、不確定類、變化信息:
退化廢棄地遙感信息提取研究
對其中不確定的像元保留其灰度值不變,利用模糊識別運算元構建目標函數,分別計算出該像元屬於兩種不同類別(背景和變化信息)的模糊隸屬度,通過比較兩種隸屬度的大小判斷其歸屬(把它歸類到隸屬度大的那一類當中),劃分到背景與變化信息當中,直到完成所有不確定像元的劃分,即完成了整個分割過程。
1.雙閾值T1和T2的計算
核心閾值T1的計算按照公式4-5的單閾值(最優閾值法)區域分割法得到。核心閾值T2則是利用灰度直方圖中大於T1閾值的像元灰度求平均值得到。
設影像的灰度值在0到255之間(8維圖像),利用離散積分的原理來計算灰度的均值。如果利用單閾值法計算出來的最優閾值為T1,那麼核心閾值T2的計算公式如下:
退化廢棄地遙感信息提取研究
式中:ni表示變化圖像中灰度為i的像元出現的個數。
2.模糊識別演算法
模糊識別演算法的基本思想如下(李希燦等,2003、2008):
首先將樣本集規格化,就是把樣本集的特徵值規格化到0到1之間,設樣本特徵值y規格化為x,樣本集n個樣本劃分為C個類別,則模糊識別矩陣為
退化廢棄地遙感信息提取研究
式中:Uhj為樣本j歸屬於第h類的相對隸屬度,h=1,2,…,C,且應當滿足以下條件:
退化廢棄地遙感信息提取研究
設C個類別的特徵值為標准指數或模糊聚類中心指標,則C個類別的中心指標向量為:
退化廢棄地遙感信息提取研究
式中:Sh為第h類的中心指標,0≤Sh≤1且h=1,2,…,c,為了求解最優模糊識別矩陣U和模糊最優中心指標S,建立目標函數(李希燦,1998):
退化廢棄地遙感信息提取研究
式4-14的意義是:樣本集對於全體類別的加權廣義海明距離平方和為最小。顯然,在不分類別(h=1,Uhj=1)的情況下,該公式變為通常的最小二乘最優准則。在式4-14的目標函數下,計算出最優模糊劃分的隸屬度和中心指標向量:
退化廢棄地遙感信息提取研究
式中:u*hj為樣本j隸屬於h類的隸屬度。
3.分割歸類
通過構造的目標函數(隸屬度函數),分別計算出每個像素點屬於「目標」(變化信息)和「背景」(非變化信息)的隸屬度,並把它分入到隸屬度大的那一類當中,從而完成圖像分割的過程。
圖4-16 雙閾值模糊識別分割法二值影像
(白色區域為變化信息)
通過在ERDAS下利用空間建模語言(SML)實現該分割演算法,分別將圖4-8、圖4-9和圖4-11變化圖像作為輸入對象,進行雙閾值模糊識別分割,得到的二值變化圖像取合集最終結果如圖4-16所示。從圖4-16中可以看出,雙閾值模糊識別分割法能夠在一定程度上消除單閾值區域分割法中混雜在變化信息中的離散雜訊和個別地物類型,使變化信息更加准確、集中,從而提高了分割的精度。實踐證明,雙閾值模糊識別分割法有著堅實的理論基礎,並且在實際變化信息的分割中能夠取得很好的效果,是一種可行、可靠的圖像分割自動演算法。
❽ 區域增長演算法(C#實現)
這個不是跟區域填充差不多麼?
如果每次都要逐個單元掃描 不是卡死?
你可以去參考下區域填充算發 雖然那個演算法也不怎麼樣 不過至少每次尋找新點時候 不用逐個重新掃描;
你是想做識別么?
是逐個掃描一次..問題當標識好之後,,當你選擇下一個種子點的時候,又要重新掃描.這樣是很麻煩;
你可以採用區域填充..他首先確定一個種子點 然後他由這個種子點出發.當走到一路盡頭的時候就會返回 延下一個方向走..這樣就避免了逐點掃描
例如有這么一個方塊
A B C D E F
G H I J K L
M O P Q R S
T U V W X Y
假如沖 Q開始先左走 PQ關系小 則 P跟Q一樣 依次走到M 每一個都標記了 當然其中也有些不符合要求 然後M開始往上走....當走到一個點發現他四周所有的位置都被標記 而退回上一個點 繼續下一個方向..依次走完 這就是一個遞歸的方法,,而遞歸本質也是棧的使用(跟4皇後求法 也有點類似)
❾ 圖像分割演算法總結
圖像處理的很多任務都離不開圖像分割。因為圖像分割在cv中實在太重要(有用)了,就先把圖像分割的常用演算法做個總結。
接觸機器學習和深度學習時間已經不短了。期間看過各種相關知識但從未總結過。本文過後我會盡可能詳細的從工程角度來總結,從傳統機器學習演算法,傳統計算機視覺庫演算法到深度學習目前常用演算法和論文,以及模型在各平台的轉化,量化,服務化部署等相關知識總結。
圖像分割常用演算法大致分為下面幾類。由於圖像的能量范函,邊緣追蹤等方法的效果往往只能解決特定問題,效果並不理想,這里不再闡述。當然二值化本身也可以分割一些簡單圖像的。但是二值化演算法較多,我會專門做一個文章來總結。這里不再贅述。
1.基於邊緣的圖像分割演算法:
有利用圖像梯度的傳統演算法運算元的sobel,roberts,prewitt,拉普拉斯以及canny等。
這些演算法的基本思想都是採用合適的卷積運算元,對圖像做卷積。從而求出圖像對應的梯度圖像。(至於為什麼通過如圖1這樣的運算元卷積,即可得到圖像的梯度圖像,請讀者復習下卷積和倒數的概念自行推導)由於圖像的邊緣處往往是圖像像素差異較大,梯度較大地方。因此我們通過合適的卷積核得到圖像的梯度圖像,即得到了圖像的邊緣圖像。至於二階運算元的推導,與一階類似。優點:傳統運算元梯度檢測,只需要用合適的卷積核做卷積,即可快速得出對應的邊緣圖像。缺點:圖像邊緣不一定準確,復雜圖像的梯度不僅僅出現在圖像邊緣,可以能出現在圖像內部的色彩和紋理上。
也有基於深度學習方法hed,rcf等。由於這類網路都有同一個比較嚴重的缺陷,這里只舉例hed網路。hed是基於FCN和VGG改進,同時引出6個loss進行優化訓練,通過多個層輸出不同scale的粒度的邊緣,然後通過一個訓練權重融合各個層的邊緣結果。hed網路結構如下:
可以得到一個比較完整的梯度圖像,可參考github的hed實現。優點:圖像的梯度細節和邊緣完整性,相比傳統的邊緣運算元要好很多。但是hed對於邊緣的圖像內部的邊緣並不能很好的區分。當然我們可以自行更改loss來嘗試只擬合外部的圖像邊緣。但最致命的問題在於,基於vgg的hed的網路表達能力有限,對於圖像和背景接近,或者圖像和背景部分相融的圖片,hed似乎就有點無能為力了。
2.基於區域分割的演算法:
區域分割比較常用的如傳統的演算法結合遺傳演算法,區域生長演算法,區域分裂合並,分水嶺演算法等。這里傳統演算法的思路是比較簡單易懂的,如果有無法理解的地方,歡迎大家一起討論學習。這里不再做過多的分析。
基於區域和語意的深度學習分割演算法,是目前圖像分割成果較多和研究的主要方向。例如FCN系列的全卷積網路,以及經典的醫學圖像分割常用的unet系列,以及rcnn系列發展下的maskrcnn,以及18年底的PAnet。基於語意的圖像分割技術,無疑會成為圖像分割技術的主流。
其中,基於深度學習語意的其他相關演算法也可以間接或直接的應用到圖像分割。如經典的圖像matting問題。18年又出現了許多非常優秀的演算法和論文。如Deep-Image-Matting,以及效果非常優秀的MIT的 semantic soft segmentation(sss).
基於語意的圖像分割效果明顯要好於其他的傳統演算法。我在解決圖像分割的問題時,首先嘗試用了hed網路。最後的效果並不理想。雖然也參考github,做了hed的一些fine-tune,但是還是上面提到的原因,在我多次嘗試後,最終放棄。轉而適用FCN系列的網路。但是fcn也無法解決圖像和背景相融的問題。圖片相融的分割,感覺即需要大的感受野,又需要未相融部分原圖像細節,所以單原FCN的網路,很難做出准確的分割。中間還測試過很多其他相關的網路,但都效果不佳。考慮到感受野和原圖像細節,嘗試了resnet和densenet作為圖像特徵提取的底層。最終我測試了unet系列的網路:
unet的原始模型如圖所示。在自己拍照爬蟲等手段採集了將近1000張圖片。去掉了圖片質量太差的,圖片內容太過類似的。爬蟲最終收集160多張,自己拍照收集200張圖片後,又用ps手動p了邊緣圖像,採用圖像增強變換,大約有300*24張圖片。原生unet網路的表現比較一般。在將unet普通的卷積層改為resnet後,網路的表達能力明顯提升。在將resnet改為resnet101,此時,即使對於部分相融的圖像,也能較好的分割了。但是unet的模型體積已經不能接受。
在最後階段,看到maskrcnn的實例分割。maskrcnn一路由rcnn,fasterrcnn發展過來。於是用maskrcnn來加入自己的訓練數據和label圖像進行訓練。maskrcnn的結果表現並不令人滿意,對於邊緣的定位,相比於其他演算法,略顯粗糙。在產品應用中,明顯還不合適。
3.基於圖的分割演算法
基於深度學習的deepgrab,效果表現並不是十分理想。deepgrab的git作者backbone採用了deeplabv2的網路結構。並沒有完全安裝原論文來做。
論文原地址參考: https://arxiv.org/pdf/1707.00243.pdf
整體結構類似於encode和decoder。並沒有太仔細的研究,因為基於resent101的結構,在模型體積,速度以及deeplab的分割精度上,都不能滿足當前的需求。之前大致總結過計算機視覺的相關知識點,既然目前在討論移動端模型,那後面就分模塊總結下移動端模型的應用落地吧。
由於時間實在有限。這里並沒有針對每個演算法進行詳細的講解。後續我會從基礎的機器學習演算法開始總結。
❿ 在圖像處理中,有什麼演算法可以將目標分割成幾個部分
主要看你對photoshop等圖像處理軟體中各個工具的掌握熟練度 比如說可以用鋼筆工具或者套索工具進行選擇摳圖 至於摳得怎樣 這個別人不能代勞 只能看你自己水平啦 然後按快捷鍵ctrl+J,即把選中的部分單獨摳出來建立一個圖層 然後再進行編輯啦(好像沒有你說的可以精確摳圖的演算法哦)