① 遙感圖像分類法
圖像分類是與圖像信息提取和增強不同的遙感圖像處理中另一重要的方面,與圖像增強後仍需人為解譯不同,它企圖用計算機做出定量的決定來代替人為視覺判譯步驟。因此,分類處理後輸出的是一幅專題圖像。在此圖像中,原來圖像中的每一個象元依據不同的統計決定準則被劃歸為不同的地表覆蓋類,由於是一種統計決定,必然伴隨著某種錯誤的概率。因此,在邏輯上的合理要求是,對每一個象元所做的決定,應是使整個被分類面積即對大量單個象元的分類的某個錯誤判據為最小。
以下是幾種常用的遙感圖像分類方法:
1.最大似然分類(maximum likelihood classification)
最大似然分類是一種基於貝葉斯判別准則的非線性監督分類方法,需要知道已知的或確定的訓練樣區典型標準的先驗概率P(wi)和條件概率密度函數P(wi,x)。P(wi)通常根據各種先驗知識給出或假定它們相等:P(wix)則是首先確定其分布形式,然後利用訓練樣本估計其參數。一般假設為正態分布,或通過數學方法化為正態分布。其判別函數集為:
Di(x)=P(wix),i=1,2,…,m (2-2)
如果Di(x)≥ Dj(x),則x屬於wi類。其中,j≠i,j=1,2,…,m。m為類別數。
從上述最大似然分類的說明看,其關鍵就在於已知類別的定義,先驗概率的確定,參與分類的變數的好壞和結果誤差評價。直到現在,最大似然分類至少還有兩個缺點:一是事先大量人力已知光譜類的選擇和定義:二是需要長時間的計算機分類計算時間。實際上這也使得最大似然分類法遙感應用受到了限制,因此許多人專門研究改進演算法以便解決和縮減圖像分類的時間,提高分類的精度。Solst和Lillesand(1991)為了解決已知類別定義消耗大量人力的缺點,發展了半自動訓練法進行已知光譜類的定義。Fabio Maselli等(1992)利用Skidmore和Tumer提出的非參數分類器計算出各已知類訓練集的先驗概率,然後將它們插入常規的最大似然分類過程中進行分類。該方法融合了非參數和參數分類過程的優點,提高了分類的精度。
通常情況下,地形會影響到訓練集數據,這樣訓練集光譜數據就偏離了最大似然分類的假設條件正態分布,從而常規的最大似然分類法在地形起伏較大的地區效果並不太好。為了解決這一問題,C.Conese和G.Maracchi和F.Maselli(1993)提出了一種改進的最大似然分類演算法,即去掉每一類數據集中與第一主成分相關的信息(地形信息)然後再進行分類。通過試驗,這種方法是有效的,分類精度得到了提高。
K.Arai(1993)用光譜和空間信息進行分類改進了最大似然分類方法。該方法簡單易行,大大提高了正確分類的概率。C.Conese和Fabio Maselli(1992)用誤差矩陣提高最大似然分類面積估計的精度。Irina Kerl(1996)加最大似然分類精度的一種方法,即多概率比較法。他對同一遙感數據的原始波段、主成分和植被指數的22種組合進行了最大似然分類,發現沒有一種波段組合的分類能給出圖像中所有土地利用類型的精確分類,每一波段組合僅對圖像中的一兩類土地利用類型分類有效。因此他提出將能有效區分出所要決定的土地利用類型的幾個波段組合的分類結果進行組合來進行圖像分類,並稱這種方法為多概率比較法,這種方法的基礎就是圖像數據不同波段組合的分類結果之間分類概率大小的比較。應用這種方法提高了分類的精度。
2.最小距離分類(minimum distance classification)
最小距離分類是一種線性判別監督分類方法,也需要對訓練區模式樣本進行統計分析,是大似然分類法中的一種極為重要的特殊情況。最小距離分類在演算法上比較簡單,首先需選出要區分類別的訓練樣區,並且從圖像數據中求出各類訓練樣區各個波段的均值和標准差,然後再計算圖像中其他各個象元的灰度值向量到各已知類訓練樣區均值向量之間的距離。如果距離小於指定的閾值(一般取標准差的倍數),且與某一類的距離最近,就將該象元劃歸為某類。因此稱為最小距離分類。該方法的精度主要取決於已知類訓練樣區的多少和樣本區的統計精度。另外,距離度量的方法不同,分類的結果也不相同,常見的有:
(1)明氏距離(minkowski distance)
中亞地區高光譜遙感地物蝕變信息識別與提取
式中Tij=-Tij。
③經過①②步後,隨機象元X被劃歸為正確的類。
另外,通過對參與計算變數的排序和部分一總和邏輯的考慮,可大大降低該演算法計算的時間。與最小距離(歐氏距離)和最大似然分類器相比,整體平均分類器所用時間最少,分類精度與最小距離大致相同,對像農田面積和森林這樣的名義類型的分類十分有效。
Haluk Cetin(1996)提出了一種分類方法:類間距離頻率分布法(interclass distance frequency dis-tribution),這是多光譜數據非參數分類方法的一種。類間距離頻率分布過程簡單,是一種有力的可視化技術,它圖形地顯示多光譜數據和類分布。首先選擇感興趣的類,這些類的統計信息從典型的訓練樣區可獲得。利用類的平均測量矢量計算多光譜數據中每個象元的距離,並存放在一個兩維數據分布數組中。選擇其他類的訓練區,訓練區數據的分布通過距離計算可獲得。通過可視化地檢查結果,建立分類查詢表(look-up table),然後利用分類查詢表進行多光譜圖像數據的分類,具體細節請參見原文。
H.N.Srikanta Prakash等(1996)改進了遙感數據凝聚聚類分析,這是一種基於相互近鄰概念,用來進行多光譜數據分類的非參數、層次、凝聚聚類分析演算法。該方法定義了圍繞象元的感興趣區域(area of interest around each pixel),然後在它內部尋找分類時初始合並操作需要的k最近鄰,將象元的特徵值、波段值和象元的相對位置值一起考慮,提出了改進的距離量度,這樣,大大減少了計算的時間和內存的需求,降低了分類的誤差概率。
Steven E.Franklin和Bradley A.Wilson(1992)設計了3階段分類器進行遙感圖像的分類,它由一個基於四叉樹的分割運算元、一個高斯最小距離均值測試和一個包括輔助地理網數據和光譜曲線測量的最終測試構成。與最大似然分類技術相比,3階段分類器的總體分類精度得到了提高,減少計算時間,另外僅需最少的訓練樣區數據(它們在復雜地形區很難獲得)。
② 機器人視覺系統中圖像分割技術傳統方法概論1
姓名:寇世文
學號:21011110234
【嵌牛導讀】:隨著人工智慧技術的不斷發展,智能機器人領域也得到了空前的發展。尤其是深度神經網路廣泛應用於視覺系統中後,取得了許多很明顯的成效。對於自主移動機器人來說,視覺系統有著十分重要的作用,而圖像分割技術更是在這個系統中擔任著十分重要的角色。傳統的圖像分割技術基本上已經能夠將圖像的前景和後景分隔開來,但是近年來隨著深度學習演算法的發展,人們開始將其應用到圖像分割中,提出了很多分割網路,也達到了很好的分割效果。在實現圖像分割的基礎上,人們還使得分割具有了語義類別和標簽,就是現在的語義分割。本文在介紹了語義分割的基礎上又引出了新的任務分割場景,實例分割和全景分割。並且介紹了最近研究的熱點三維點雲的語義分割問題,闡述了其實現的必要性。
【嵌牛鼻子】智能機器人,圖像分割、語義分割、計算機視覺
【嵌牛提問】圖像分割技術的傳統常見方法
【嵌牛正文】
一、引言
計算機視覺,即computer vision,就是通過計算機來模擬人的視覺工作原理,來獲取和完成一系列圖像信息處理的機器。計算機視覺屬於機器學習在視覺領域的應用,是一個多學科交叉的研究領域,其涉及數學、物理、生物、計算機工程等多個學科。
計算機視覺的主要應用有無人駕駛、人臉識別、無人安防、車輛車牌識別、智能傳圖、3D重構、VR/AR、智能拍照、醫學圖像處理、無人機、工業檢測等。人駕駛又稱自動駕駛,是目前人工智慧領域一個比較重要的研究方向,讓汽車可以進行自主駕駛,或者輔助駕駛員駕駛,提升駕駛操作的安全性。人臉識別技術目前已經研究得相對比較成熟,並在很多地方得到了應用,且人臉識別准確率目前已經高於人眼的識別准確率。安防一直是我國比較重視的問題,也是人們特別重視的問題,在很多重要地點都安排有巡警巡查,在居民小區以及公司一般也都有保安巡查來確保安全。車輛車牌識別目前已經是一種非誠成熟的技術了,高速路上的違章檢測,車流分析,安全帶識別,智能紅綠燈,還有停車場的車輛身份識別等都用到了車輛車牌識別。3D重構之前在工業領域應用比較多,可以用於對三維物體進行建模,方便測量出物體的各種參數,或者對物體進行簡單復制。計算機視覺還有很多應用,隨著技術的發展,應用領域也會越來越多。在工業領域的應用,在機器人技術方面的應用等。
對於傳統的圖像分割過程,通常可以分為5個步驟,即特徵感知、圖像預處理、特徵提取、特徵篩選和推理預測與識別。通過研究發現,在視覺的早期的發展過程中,人們對於圖像中的特徵並沒有表現出足夠的關注。且傳統的分割過程是把特徵提取和分類分開來做的,等到需要輸出結果的時候再結合到一起,可想而知其實現的困難程度。
在深度學習演算法出來之後,卷積神經網路被廣泛應用於計算機視覺技術中,也因此衍生出了很多的研究方向。深度學習主要是以特徵為基礎來進行比對,如在人臉識別方面,使用卷積神經網路分別對兩張人臉進行不同位置的特徵提取,然後再進行相互比對,最後得到比對結果。目前的計算機視覺的主要研究方向有圖像分類、目標檢測、圖像分割、目標跟蹤、圖像濾波與降噪、圖像增強、風格化、三維重建、圖像檢索、GAN等。本文主要是針對圖像分割這一領域,進行簡要的概述。
圖像分割技術是計算機視覺領域的個重要的研究方向,是圖像語義理解的重要一環。圖像分割是指將圖像分成若干具有相似性質的區域的過程,從數學角度來看,圖像分割是將圖像劃分成互不相交的區域的過程。近些年來隨著深度學習技術的逐步深入,圖像分割技術有了突飛猛進的發展,該技術相關的場景物體分割、人體前背景分割、人臉人體Parsing、三維重建等技術已經在無人駕駛、增強現實、安防監控等行業都得到廣泛的應用。
二、發展現狀
近來已經有很多學者將圖像分割技術應用到移動機器人的控制中,能夠做到在機器人運動的同時定位、構建地圖並分割出不同的前景和後景,使視覺系統掃描到的圖像具有語義信息。並有學者也致力於分割得更為准確和精細,不僅能夠做到區分不同類的物體,也能夠實現對同類的不同物體的分類,甚至可以做到在此基礎上加上對背景的分割。由於我們生活的世界是三維空間,還有學者將圖像場景還原到三維中,然後使用相關方法對整個三維場景進行分割。作為計算機視覺的研究中的一個較為經典的難題,圖像分割這一領域也越來越被人們所關注。
首先是傳統的圖像分割方法。在傳統分割方面,人們使用數字圖像處理、拓撲學、數學等方面的知識來進行圖像分割。雖然現在的算力逐漸增加且深度學習不斷發展,一些傳統的分割方法所取得的效果不如深度學習,但是其分割的思想仍有很多值得我們去學習的。
第一種方法是基於閾值的圖像分割方法。這種方法的核心思想是想根據圖像的灰度特徵來給出一個或多個灰度閾值,將此閾值作為一個標准值與圖像中的每個像素逐一進行比較。很容易想到,通過這個逐一比較過程能夠得到兩類結果,一類是灰度值大於閾值的像素點集,另一類是灰度值小於閾值的像素點集,從而很自然地將圖像進行了分割。所以,不難發現,此方法的最關鍵的一步就是按照一定的准則函數來得到最佳灰度閾值,這樣才能夠得到合適的分類結果。值得一提的是,如果圖像中需要分割的目標和背景分別占據了不同的灰度值甚至是不同的等級,那使用這種方法會得到很好的效果。並且,假如對於一張圖像的處理,我們只需要設定一個閾值時,可以將其稱為單閾值分割。但是圖像中如果不止一個目標,即有多個目標需要進行提取的時候,單一閾值分割就無法做到將它們都分割開來,此時應選取多個閾值對其進行處理,這個分割的過程為多閾值分割。總的來說,閾值分割法有著其獨特的特點,其計算簡單、效率較高。但是,由於這種方法只考慮的是單個像素的灰度值及其特徵,而完全忽略了空間特徵,這也就導致了其對雜訊比較敏感且魯棒性不高。
第二種方法是基於區域的圖像分割方法。這種方法具有兩種基本形式:一種是區域生長,這種分割方法是從單個像素出發,逐漸將相似的區域進行合並,最終得到需要的區域。另一種方法是直接從圖像的全局出發,一點一點逐步切割至所需要的區域。區域生長指的是,給定一組種子像素,其分別代表了不同的生長區域,然後讓這些種子像素逐漸合並鄰域里符合條件的像素點。如果有新的像素點添加進來,同樣把它們作為種子像素來處理。
區域分裂合並的分割過程可以說是區域生長的逆過程,這種方法是從圖像的全局出發通過不斷分裂得到各個子區域,然後提取目標的過程。此外,在此過程中,還需要合並前景區域。
在區域分割方法中還有一種分水嶺演算法。受啟發於分水嶺的構成,這種分割方法將圖像看作是測地學上的拓撲地貌,這樣圖像中每一個像素點對應的海拔高度可以用該點的灰度值來表示。分水嶺的形成過程實際上可以通過模擬浸入過程來實現。具體做法是,在每個局部極小值的表面都刺穿一個小孔,然後把模型慢慢浸入水中,隨著水慢慢浸入其中,分水嶺就隨之形成了。
第三種方法是基於邊緣檢測的分割方法。邊緣檢測的思想就是試圖通過檢測不同物體的邊緣來將圖像分割開來,這種方法是人們最先想到的也是研究最多的方法之一。如果我們將圖片從空間域變換到頻率域中去,其中物體的邊緣部分就對應著高頻部分,很容易就能夠找到邊緣信息,因此也使得分割問題變得容易。邊緣檢測的方法能夠實現快而且准確的定位,但是其不能保證邊緣的連續性和封閉性,且當一幅圖像的細節信息過多時,其就會在邊緣處產生大量的細碎邊緣,在形成完整的分割區域時就會有缺陷。
第四種圖像分割方法結合了特定的工具。這里所說的特定工具是各種圖像處理工具以及演算法等,隨著圖像分割研究工作的深入,很多學者開始將一些圖像處理的工具和一些演算法應用到此工作中,並取得了不錯的結果。小波變換在數字圖像處理中發揮著很重要的作用,它能夠將時域和頻域統一起來研究信號。尤其是在圖像邊緣檢測方面,小波變換能夠檢測二元函數的局部突變能力。其次是基於遺傳演算法的圖像分割,遺傳演算法主要借鑒了生物界自然選擇和自然遺傳機制的隨機化搜索方法。其模擬了由基因序列控制的生物群體的進化過程,其擅長於全局搜索,但是局部搜多能力不足。將遺傳演算法應用到圖像處理中也是當前研究的一個熱點問題,在此選擇這種方法的主要原因是遺傳演算法具有快速的隨機搜索能力,而且其搜索能力與問題的領域沒有任何關系。
除此之外,還有基於主動輪廓模型的分割方法,這種方法具有統一的開放式的描述形式,為圖像分割技術的研究和創新提供了理想的框架。此方法也是對邊緣信息進行檢測的一種方法,主要是在給定圖像中利用曲線演化來檢測目標。
③ 圖象分割有哪三種不同的途徑
圖象分割有三種不同的途徑,其一是將各象素劃歸到相應物體或區域的象素聚類方法即區域法,其二是通過直接確定區域間的邊界來實現分割的邊界方法,其三是首先檢測邊緣象素再將邊緣象素連接起來構成邊界形成分割。早期的圖像分割方法可以分為兩大類。一類是邊界方法,這種方法假設圖像分割結果的某個子區域在原來圖像中一定會有邊緣存在;一類是區域方法,這種方法假設圖像分割結果的某個子區域一定會有相同的性質,而不同區域的像素則沒有共同的性質。這兩種方法都有優點和缺點,有的學者考慮把兩者結合起來進行研究。現在,隨著計算機處理能力的提高,很多方法不斷涌現,如基於彩色分量分割、紋理圖像分割。所使用的數學工具和分析手段也是不斷的擴展,從時域信號到頻域信號處理,小波變換等等。
圖像分割主要包括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的分割精度上,都不能滿足當前的需求。之前大致總結過計算機視覺的相關知識點,既然目前在討論移動端模型,那後面就分模塊總結下移動端模型的應用落地吧。
由於時間實在有限。這里並沒有針對每個演算法進行詳細的講解。後續我會從基礎的機器學習演算法開始總結。