本文將繼續介紹常見的影象處理演算法之影象分割演算法,影象分割是從影象中找出目標所在的區域,把影象分成若干個特定的、具有獨特性質的區域並提出感興趣目標的技術和過程。下圖是影象分割的兩個例子,分別從原始影象中分割出花和人物。其實簡單理解,通常情況下影象分割就是去除影象背景提取感興趣區域的過程。
基於閾值的分割演算法是最簡單直接的分割演算法。由於影象中目標位置和其他區域之間具有不同的灰度值,具有這種性質的目標區域通過閾值分割能夠取得非常好的效果。通過閾值進行分割通常可以需要乙個或多個灰度值作為閾值使影象分成不同的目標區域與背景區域。
如何找到合適的閾值進行分割是基於閾值的分割演算法中最核心的問題。學者們針對這一問題進行了深入的研究。大津法(otsu)、最大熵法等演算法是其中比較突出的演算法,這類演算法在影象中適用固定的閾值。但是也有一類演算法使用區域性閾值,這類演算法稱為自適應閾值演算法。這類演算法根據影象的區域性特徵計算區域性的閾值,通常情況下這類演算法在有陰影或者影象灰度不均勻的情況下,具有比全域性閾值更加好的分割效果。由於基於閾值的分割演算法對雜訊敏感,通常情況影象在分割之前需要進行影象去噪的操作。
otsu演算法通過計算前景和背景的兩個類的最大類間方差得到閾值,閾值將整張影象分為前景和背景兩個部分。
基於區域生長的分割演算法將具有相似特徵的畫素集合聚集構成乙個區域,這個區域中的相鄰畫素之間具有相似的性質。演算法首先在每個區域中尋找乙個畫素點作為種子點,然後人工設定合適的生長規則與停止規則,這些規則可以是灰度級別的特徵、紋理級別的特徵、梯度級別的特徵等,生長規則可以根據實際需要具體設定。滿足生長規則的畫素點視為具有相似特徵,將這些畫素點劃分到種子點所在區域中。將新的畫素點作為種子點重複上面的步驟,直到所有的種子點都執行的一遍,生成的區域就是該種子點所在的區域。區域生長法的優勢是整個演算法計算簡單,對於區域內部較為平滑的連通目標能分割得到很好的結果,同時演算法對雜訊不那麼敏感。而它的缺點也非常明顯,需要人為選定合適的區域生長種子點,而且生長規則選取的不合適可能導致區域內有空洞,甚至在複雜的影象中使用區域生長演算法可以導致欠分割或者過分割。最後,作為一種序列的演算法,當目標區域較大時,目標分割的速度較慢。
通過區域的邊緣來實現影象的分割是影象分割中常見的一種演算法。由於不同區域中通常具有結構突變或者不連續的地方,這些地方往往能夠為影象分割提供了有效的依據。這些不連續或者結構突變的地方稱為邊緣。影象中不同區域通常具有明顯的邊緣,利用邊緣資訊能夠很好的實現對不同區域的分割。
基於邊緣的影象分割演算法最重要的是邊緣的檢測。影象的邊緣通常是影象顏色、灰度性質不連續的位置。對於影象邊緣的檢測,通常使用邊緣檢測運算元計算得出。常用的影象邊緣檢測運算元有:laplace運算元、sobel運算元、canny運算元等。
基於圖論的影象分割技術是近年來影象分割領域的乙個新的研究熱點。其基本思想是將影象對映為帶權無向圖,把畫素視作節點,節點之間的邊的權重對應於兩個畫素間的不相似性度量,割的容量對應能量函式。運用最大流/最小流演算法對圖進行切割,得到的最小割對應於待提取的目標邊界。下面將介紹基於圖的分割中的grabcut演算法.
grabcut演算法是常用的一種影象分割演算法,演算法是對graphcut的改進和公升級,相對於graphcut,該演算法使用迭代估計來訓練模型,同時支援不完整的標記,該演算法有效綜合了中的邊界特徵和紋理特徵,只需要少量的人工互動操作就可以對目標實現較好的分割效果。
grabcut使用k個高斯分量的全協方差混合高斯模型(gmm)對背景和目標建立模型。混合高斯模型表徵影象中每個畫素點的特徵,影象中的每個畫素對應乙個高斯分量。在graphcut 的基礎上,grabcut重新定義了gibbs能量e。能量e的最小化代表了乙個良好的分割。
grabcut演算法使用迭代最小化的方式進行演算法的更新優化。迭代的方法如下:
1、將影象中目標區域的每乙個畫素分配到混合高斯模型中,計算其中最大的高斯分量;
2、針對得到的高斯分量與畫素之間的關係,得到每個高斯模型的均值和協方差引數;
3、通過最大流或者最小割演算法實現分割能量的最小化;
4、重複上述過程,直到演算法收斂。
grabcut演算法通過以上迭代得到最小割,從而實現影象的分割。
Segmentation分割總結
一 語義分割與例項分割的區別 在深度學習層面,分割任務都是畫素級任務,語義分割標籤數量固定,本質是對於每個畫素的分類問題。而例項分割需要分辨出每個例項,類別其實是不確定的,所以不能算作分類問題。二 現階段例項分割的主要分支 1.proposal based method 基於區域的二階段方法 是現階...
傳統分布式事務
兩階段提交協議 優化問題 標準事務模型 三階段提交協議 docommit 解決兩階段問題 參考協調者詢問是否可以提交。參與者鎖住資源,開始事務操作,寫undo和redo,不提交。參與者響應,如果執行成功,返回就緒,如果失敗,返回未準備。提交協調者發出正式提交請求。參與者提交本地事務,釋放資源。參與者...
《鋼鐵俠》 傳統英雄非傳統上位
鋼鐵俠 是美國08年暑期電影的第一炮,即使你把耳朵堵上,也可以清楚的聽到,這一炮打的確實很響。又是漫畫英雄!又是神奇公司!當marvel studios 一年一度的帶領著其手下花花綠綠的漫畫英雄一次又一次的掏走我們口袋中的銀兩時,我們對這種近似於打劫的做法早已麻木。乙個二流的導演,兩個三流的編劇,再...