• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于U?net網(wǎng)絡的圖像語義分割

      2023-07-17 09:30:30許超王仕山
      計算機應用文摘 2023年13期

      許超 王仕山

      摘要:分割圖像的方法有很多種,文章主要涉及的內(nèi)容是基于分水嶺算法的圖像分割,并且應用壘卷積神經(jīng)網(wǎng)絡模型和Kcras框架編程實現(xiàn)基于U-net網(wǎng)絡的圖像語義分割,以及實現(xiàn)對細胞圖像的分割。

      關鍵詞:圖像語義分割;全卷積神經(jīng)網(wǎng)絡;分水嶺算法

      中圖法分類號:TP391 文獻標識碼:A

      圖像分割技術的實質是將圖像分為許多有特定性質的區(qū)域,并對這些圖像子區(qū)域定義研究目標,得到內(nèi)部互相連通的部分過程,同一區(qū)域內(nèi)部一致,不同區(qū)域表現(xiàn)不同。

      但隨著圖像應用領域的不斷發(fā)展,待分析的圖像也隨之改變,對圖像分割的質量也提出了更高的要求。

      因此,傳統(tǒng)圖像分割算法已不能滿足發(fā)展的需要,所以圖像分割技術要向著更加廣泛、細致的方向研究,以取得新的研究成果。新的理論知識也為圖像的研究提供了思路,為解決出現(xiàn)的新問題,國內(nèi)外學者將各種新的理論知識與方法融合到圖像分割算法中。

      1 傳統(tǒng)圖像分割方法

      1.1 基于閾值的圖像分割方法

      圖像分割方法中較為傳統(tǒng)的閾值分割法,是一種基本的、應用廣泛的分割技術,尤其是在圖像處理領域被廣泛使用。閾值分割法在實現(xiàn)的過程中簡單快捷、性能穩(wěn)定,而且計算量小。

      閾值分割方法根據(jù)不同的灰度背景和目標區(qū)域對它們進行分類[1] ,并通過設置不同的閾值將圖像像素分成幾類。閾值分割方法非常適用于目標和背景占據(jù)不同灰度范圍時的圖像處理,圖像閾值分割的關鍵是閾值的選取是否合理、正確。

      灰度閾值分割是一種并行區(qū)域分割技術。單閾值分割是指圖像若僅用目標和背景這2 大類分割,則選?。?個閾值即可。事實上,單閾值分割是從輸入圖像f 到輸出圖像g 的轉換,即:

      式中,T 為閾值,g(i,j)= 1 是對應目標的圖像元素,g(i,j)= 0 是對應背景的圖像元素。但如果要從圖像中提取多個目標,使用單個的閾值分割將會出現(xiàn)錯誤,那么就需要選取多個閾值來達到將每個目標都分割開的目的,這其實就是多閾值分割。這也證實了閾值分割的結果主要取決于閾值的設定。閾值選定后,可以并行進行對閾值和像素點灰度值的比較及對各像素的分割。

      1.2 基于區(qū)域的圖像分割方法

      在圖像分割算法中,基于區(qū)域的分割方法將區(qū)域作為分割基礎。區(qū)域生長和區(qū)域分裂合并是其包含的2 種具體算法。

      1.2.1 區(qū)域生長

      區(qū)域生長是一種串行區(qū)域技術。在分割過程中,需要根據(jù)上一步的結果來確定后續(xù)每一步的處理。

      常用的算法有:結合模糊連接度的區(qū)域生長、對稱區(qū)域生長。

      將具有相似特性的像素集合構成區(qū)域是區(qū)域生長的基本思想。區(qū)域生長的過程大致如下:第一步,在每個需要分割的區(qū)域中找到一個種子像素點作為生長起點;第二步,找到種子像素周圍具有相同或相似屬性的像素合并到種子像素中的區(qū)域;最后,新像素作為一個新的種子像素重復上述過程,直到像素不再符合條件。

      區(qū)域生長算法很簡單,而且分割效果好,甚至可以用于分割連在一起且相對均勻的對象。但它需要人工選取種子, 且對噪聲比較敏感,容易導致誤差,如區(qū)域內(nèi)有空洞出現(xiàn)。由于目標較大時分割速度較慢,因此盡量提高運行效率成為算法設計的關注點。

      1.2.2 區(qū)域分裂合并

      為實現(xiàn)采用區(qū)域分裂合并算法對目標的提取,從整幅圖像中將各個區(qū)域進行分裂,輸出的結果被稱為子區(qū)域,然后將前景區(qū)域合并得到前景目標。區(qū)域生長實現(xiàn)目標的提取,要從某個或者某些像素點出發(fā)得到整個區(qū)域,而分裂合并可以理解為區(qū)域生長的逆過程。分割合并假設是圖像的前景區(qū)域由相互連接的像素組成,那么判定該像素是否為前景像素需要把一幅圖像分裂到像素級,然后對所有像素或子區(qū)域進行判斷,前景區(qū)域或像素合并,即可得到前景目標。

      一種典型的區(qū)域分裂合并法是四叉樹分解法,設計分裂合并準則是分裂合并法的關鍵。區(qū)域分裂合并方法對于復雜的圖像分割是一種很好的方法,但其算法較復雜,且在分割過程中可能會出現(xiàn)區(qū)域邊界被破壞的現(xiàn)象。

      1.3 基于邊緣檢測的圖像分割方法

      基于邊緣檢測的分割方法是通過檢測對包含不同區(qū)域的邊緣進行分割,這也是研究者使用最多的一種方法。實現(xiàn)邊緣檢測方法的主要假設之一是:不同區(qū)域之間在邊緣上的像素灰度值的變化大多較為劇烈。邊緣檢測法一般以圖像一階導數(shù)的極大值或二階導數(shù)過零點的信息為標準,為判斷邊緣點提供基本依據(jù)。

      根據(jù)處理技術,邊緣檢測可分為串行邊緣檢測和并行邊緣檢測。串行邊緣檢測利用之前的像素驗證結果來確定當前像素是否屬于檢測邊緣上的點;并行邊緣檢測是確定一個像素點是否屬于檢測邊緣上的一個點;并行邊緣檢測是對目標像素點和其相鄰像素點進行檢測。

      如今還有很多方法被提出,如基于曲面擬合法、基于邊界曲線擬合法、基于反映?擴散方程法、串行邊界查找法以及基于變形模型法。邊緣檢測法的優(yōu)點是運算速度快且邊緣定位準,但在圖像分割中的應用不能保證邊緣的連續(xù)性和封閉性,且高細節(jié)區(qū)域具有大量的斷裂邊緣,不能形成整個大區(qū)域。

      由于以上2 大難點的限制,無論采用何種方法,單獨的邊緣檢測只能產(chǎn)生邊緣點,而不是完整意義上的圖像分割過程。采用邊緣生長技術能夠最大程度地保證邊緣的封閉性,或使用有向勢能函數(shù)將有缺口的兩邊緣強制連接一起,以得到封閉邊緣圖。未來的研究方向為應用于提取初始邊緣點的自適應閾值的選取、層次分割圖像更大區(qū)域的選取以及如何確認重要邊緣以去除假邊緣。

      2 原理

      分水嶺分割技術是一種基于區(qū)域增長的分割方法,能夠得到目標連續(xù)、閉合的邊界,但像素邊界寬。

      分水嶺算法是一種實用而且應用廣泛的分割技術,在很多領域都達到了預期的分割效果。

      分水嶺分割法是指將一幅圖像比作一個拓撲地形圖,它的灰度值相當于地形高度值,即對應圖像空間和對應圖像灰度,山峰是高灰度值,山谷是低灰度值。通常低洼處被稱為匯水盆地,匯水盆地之間的山脊被稱為分水嶺,水會從分水嶺流下去,而且朝著不同匯水盆地流的可能性是相同的。

      分水嶺圖像分割算法就是通過確定分水嶺的位置來進行圖像分割的,分割是為了找到分水線。在灰度圖中找到不同的分水嶺和匯水盆地,邊緣用分水嶺來表示,而不同的匯水盆地則代表不同的區(qū)域。分水嶺分割算法經(jīng)常用于處理圖像中連接在一起的目標物體,通常會取得較好的效果。

      3 算法

      分水嶺的計算過程是一個迭代標記過程。文森特L 提出了一種計算分水嶺的經(jīng)典方法。在該算法中,需要分2 步進行計算,其中一個是排序過程,另一個是淹沒過程。在運算中要先按照升序將每個像素的灰度級進行排序,然后在從低到高逐步實現(xiàn)淹沒的過程中,用先進先出的結構對每一個局部極小值在h階高度的影響域進行判斷及標注。

      分水嶺變換得到的是輸入圖像的匯水盆圖像,分水嶺是匯水盆之間的邊界點。由此可見,分水嶺表示的是輸入圖像的極大值點,一般將梯度圖像作為輸入圖像,以得到圖像的邊緣信息,表達式為:

      g(x,y)= grad(f(x,y))= {[f(x,y)-f(x-1,y)]2[f(x,y)-f(x,y-1)]2}0.5 (2)

      式中,f(x,y)為原始圖像,grad{.}為梯度運算。

      在保證封閉連續(xù)邊緣的前提下,分水嶺算法在對微弱邊緣處理上具有良好的效果,但也存在缺陷,即使用時會因圖像中的噪聲和物體表面細密紋理的灰度變化,而導致過度分割現(xiàn)象出現(xiàn)。應用分水嶺算法得到的封閉的匯水盆,為分析圖像的區(qū)域特征提供了可能。

      改進的分水嶺分割技術有很多種。一般可以采用2 種處理方法消除分水嶺算法產(chǎn)生的過度分割。

      (1)分割前進行預處理。先對圖像進行預處理,去除無關邊緣信息,再用分水嶺分割。通過除噪標記前景背景、求梯度圖像等,減少較小的匯水盆,以減少分割區(qū)域數(shù)量。比如,修改梯度函數(shù),使匯水盆只能響應想要探測的目標。因此,對梯度函數(shù)進行調整,以及對梯度圖像進行閾值處理是一個較簡單的方法,可以消除因灰度的微小變化產(chǎn)生的過度分割。表達式為:g(x,y)= max(grad(f(x,y)),gθ) (3)式中,gθ 為閾值。用Sobel 算子計算可以獲得梯度圖像。但若選取閾值過大,則在處理實際圖像過程時,圖像中含有灰度變化小的微弱邊緣可能會被消除。

      (2)分割后處理。在分割后對結果圖像進行合并。在初始分割過程中,若產(chǎn)生了較多小區(qū)域,則最后合并處理過程就會出現(xiàn)運算量過大的現(xiàn)象,復雜的計算大幅降低了處理的效率。比如,閾值的選擇會影響分割,合并標準的確定也會產(chǎn)生影響。通常情況下,合并標準與相鄰區(qū)域有關,由其邊界強度信息和平均灰度信息確定,根據(jù)合并標準,獲得的分割結果會有所不同。

      4 基于全卷積神經(jīng)網(wǎng)絡的圖像分割

      4.1 Python 介紹

      Python 是一種面向對象、動態(tài)數(shù)據(jù)類型的程序編寫設計語言。其不僅語法全面,而且可以大量開發(fā)文檔。它是用途廣泛且功能強大的代碼運行工具。

      Matlab 與Python 可以算得上是能夠相提并論的計算機編寫程序,Python 中常用的擴展庫以及大多被廣泛使用的功能,在Matlab 中都能找到與其對應的。

      但是,Matlab 中有很強專業(yè)性的工具箱還不能夠被取代。

      Python 有以下優(yōu)點。(1)免費。Python 是一種開放源碼的軟件。(2) 簡單易學。(3) 豐富的庫。另外,其還有速度快、支持面向對象編程、易于移植以及可嵌入等優(yōu)點。但是,它幾乎不能將程序連用一行寫成,命令行輸出時也有限制, 必須將程序寫入. Py文件。

      Python 常用于系統(tǒng)、數(shù)據(jù)庫以及網(wǎng)絡的編程、圖形處理、數(shù)字處理、文本處理以及多媒體應用等。簡單爬蟲也可以用Python 編寫。本文也采用了Python軟件中的機器學習模型進行實踐,以實現(xiàn)數(shù)字圖像的處理。

      4.2 全卷積神經(jīng)網(wǎng)絡

      通?;趥鹘y(tǒng)的卷積神經(jīng)網(wǎng)絡的分割方法是采用一個像素周圍的一個圖像塊,輸入卷積神經(jīng)網(wǎng)絡進行訓練和預測,以達到對該像素分類的目的。這種方法有3 個缺點:存儲較大、計算效率低、感知區(qū)域的大小受像素塊大小的限制。分析像素塊只能提取局部的特征,由于整幅圖像比像素塊大很多,因此限制了分類的性能。全卷積神經(jīng)網(wǎng)絡能夠有針對性地解決以上分割缺點。

      全卷積神經(jīng)網(wǎng)絡可以做到像素級的分割圖像,能處理語義級別的圖像分割問題。它與經(jīng)典的卷積神經(jīng)網(wǎng)絡分類不同,全卷積神經(jīng)網(wǎng)絡在卷積層轉化為全連接層,以得到固定長度的特征向量。在全卷積網(wǎng)絡中,任意尺寸的輸入圖像都可被接受,對最后一個卷積層的特征圖用反卷積層上采樣處理[2] ,使它恢復到與輸入圖像相同大小,然后在上采樣的特征圖上逐一進行像素分類,最終完成整幅圖像分割。這樣不僅能對每個像素進行預測,還保留了原始輸入圖像中的空間信息。

      4.3 細胞分割中的應用

      (1)導入需要使用的系統(tǒng)包和自定義模塊。導入keras 中的優(yōu)化器,數(shù)據(jù)預處理模塊中的three_to_one?channel 函數(shù)和one_to_one?channel 函數(shù),trainGenerator函數(shù)和validGenerator 函數(shù)。

      (2)輸入待分割數(shù)據(jù)的信息。首先給出訓練集和驗證集中標注圖片的路徑信息,再給出需要備份標注的圖片,標注圖片是三通道還是單通道,最后給出標注數(shù)據(jù)的詳細信息。信息中包括顏色與待分割識別物體的對應關系,以及待分割識別物體對應的新標注圖片像素信息。

      (3)數(shù)據(jù)預處理。生成新標注圖片像素和顏色的關系字典、顏色和新標注圖片像素的關系數(shù)組以及源圖顏色和新圖標注序號對應關系。復制訓練集和驗證集標注圖片到一個臨時文件夾并且將原標注圖片所在文件夾的標注圖片轉換為可輸入全卷積網(wǎng)絡的圖片格式。

      (4)模型建立和編譯。輸入已知信息,計算分割物體包括背景的類別數(shù)。

      (5)模型訓練。

      (6)訓練效果可視化:得到圖1、圖2。

      從可視化圖中得出,圖1 隨訓練樣本個數(shù)的不斷增加,精準度越來越高。圖2 隨訓練次數(shù)的增加,損失率趨近于0。訓練集與驗證集的相似度越來越高,表示圖片分割效果理想,幾乎能全部分割清楚。模型結果避免了過擬合。

      過擬合是指為了得到一致性的假設,使假設過程變得過度嚴格,其本質是數(shù)學優(yōu)化的問題。因訓練集和測試集存在差異,若最初得到的損失函數(shù)為0,則表示對訓練集中的內(nèi)容過分擬合,所以評價時為了避免過擬合,可以采用增大數(shù)據(jù)運行量以及增加測試樣本集個數(shù)這2 種常用方法。

      5 結束語

      本文主要介紹了圖像分割的原理、傳統(tǒng)的幾種圖像分割方法及全卷積神經(jīng)網(wǎng)絡算法?;冢?net神經(jīng)網(wǎng)絡結構對細胞圖像進行分割處理,它對小樣本的訓練集也能夠得到很好的效果。將細胞圖像生成可以訓練的樣本,實現(xiàn)分割訓練模型,并且分析處理結果是否能夠達到預期效果。在具體實驗中,將圖片轉化為二維數(shù)組并將其輸入到U?net 模型進行分割,實現(xiàn)訓練可視化,分析判斷過程訓練集與預測集的損失函數(shù)以及精確度。研究發(fā)現(xiàn),使用U?net 神經(jīng)網(wǎng)絡進行的圖像分割與原圖像基本相近,精準度高。

      參考文獻:

      [1] 許曉麗.基于聚類分析的圖像分割算法研究[D].哈爾濱:哈爾濱工程大學,2012.

      [2] 梅迪.應用于圖像語義分割的神經(jīng)網(wǎng)絡———從SEGNET 到U?NET[J].電子制作,2021(12):49?52.

      作者簡介:許超(1994—),碩士,助教,研究方向:人工智能技術。

      札达县| 淮北市| 全州县| 蒙城县| 游戏| 包头市| 阆中市| 大宁县| 定安县| 禄丰县| 阳泉市| 昌邑市| 聂拉木县| 晋城| 冀州市| 余姚市| 高要市| 武宁县| 扶绥县| 咸宁市| 嘉定区| 武穴市| 兴化市| 社旗县| 岳普湖县| 蒙阴县| 元氏县| 高碑店市| 栾城县| 东乡| 甘谷县| 永仁县| 彭水| 安宁市| 南宁市| 科尔| 丽江市| 内黄县| 洛隆县| 仙居县| 沽源县|