深度學習中的圖像分割:方法和應用

2021-02-25 程式設計師遇見GitHub

公眾號關注 「程式設計師遇見GitHub」

作者 | missinglink.ai   編譯 | ronghuaiyang

介紹使圖像分割的方法,包括傳統方法和深度學習方法,以及應用場景。

基於人工智慧和深度學習方法的現代計算機視覺技術在過去10年裡取得了顯著進展。如今,它被用於圖像分類、人臉識別、圖像中物體的識別、視頻分析和分類以及機器人和自動駕駛車輛的圖像處理等應用上。

許多計算機視覺任務需要對圖像進行智能分割,以理解圖像中的內容,並使每個部分的分析更加容易。今天的圖像分割技術使用計算機視覺深度學習模型來理解圖像的每個像素所代表的真實物體,這在十年前是無法想像的。

深度學習可以學習視覺輸入的模式,以預測組成圖像的對象類。用於圖像處理的主要深度學習架構是卷積神經網絡(CNN),或者是特定的CNN框架,如AlexNet、VGG、Inception和ResNet。計算機視覺的深度學習模型通常在專門的圖形處理單元(GPU)上訓練和執行,以減少計算時間。

   什麼是圖像分割?

圖像分割是計算機視覺中的一個關鍵過程。它包括將視覺輸入分割成片段以簡化圖像分析。片段表示目標或目標的一部分,並由像素集或「超像素」組成。圖像分割將像素組織成更大的部分,消除了將單個像素作為觀察單位的需要。圖像分析有三個層次:

分類 - 將整幅圖片分成「人」、「動物」、「戶外」等類別目標檢測 - 檢測圖像中的目標並在其周圍畫一個矩形,例如一個人或一隻羊。分割 - 識別圖像的部分,並理解它們屬於什麼對象。分割是進行目標檢測和分類的基礎。

   語義分割 vs. 實例分割

在分割過程本身,有兩個粒度級別:

語義分割 - 將圖像中的所有像素劃分為有意義的對象類。這些類是「語義上可解釋的」,並對應於現實世界的類別。例如,你可以將與貓相關的所有像素分離出來,並將它們塗成綠色。這也被稱為dense預測,因為它預測了每個像素的含義。

實例分割 - 標識圖像中每個對象的每個實例。它與語義分割的不同之處在於它不是對每個像素進行分類。如果一幅圖像中有三輛車,語義分割將所有的車分類為一個實例,而實例分割則識別每一輛車。   傳統的圖像分割方法

還有一些過去常用的圖像分割技術,但效率不如深度學習技術,因為它們使用嚴格的算法,需要人工幹預和專業知識。這些包括:

閾值 - 將圖像分割為前景和背景。指定的閾值將像素分為兩個級別之一,以隔離對象。閾值化將灰度圖像轉換為二值圖像或將彩色圖像的較亮和較暗像素進行區分。

K-means聚類 - 算法識別數據中的組,變量K表示組的數量。該算法根據特徵相似性將每個數據點(或像素)分配到其中一組。聚類不是分析預定義的組,而是迭代地工作,從而有機地形成組。

基於直方圖的圖像分割 - 使用直方圖根據「灰度」對像素進行分組。簡單的圖像由一個對象和一個背景組成。背景通常是一個灰度級,是較大的實體。因此,一個較大的峰值代表了直方圖中的背景灰度。一個較小的峰值代表這個物體,這是另一個灰色級別。

邊緣檢測 - 識別亮度的急劇變化或不連續的地方。邊緣檢測通常包括將不連續點排列成曲線線段或邊緣。例如,一塊紅色和一塊藍色之間的邊界。

   深度學習如何助力圖像分割方法

現代圖像分割技術以深度學習技術為動力。下面是幾種用於分割的深度學習架構:

使用CNN進行圖像分割,是將圖像的patch作為輸入輸入給卷積神經網絡,卷積神經網絡對像素進行標記。CNN不能一次處理整個圖像。它掃描圖像,每次看一個由幾個像素組成的小「濾鏡」,直到它映射出整個圖像。

傳統的cnn網絡具有全連接的層,不能處理不同的輸入大小。FCNs使用卷積層來處理不同大小的輸入,可以工作得更快。最終的輸出層具有較大的感受野,對應於圖像的高度和寬度,而通道的數量對應於類的數量。卷積層對每個像素進行分類,以確定圖像的上下文,包括目標的位置。

集成學習 將兩個或兩個以上相關分析模型的結果合成為單個。集成學習可以提高預測精度,減少泛化誤差。這樣就可以對圖像進行精確的分類和分割。通過集成學習嘗試生成一組弱的基礎學習器,對圖像的部分進行分類,並組合它們的輸出,而不是試圖創建一個單一的最優學習者。

DeepLab 使用DeepLab的一個主要動機是在幫助控制信號抽取的同時執行圖像分割 —— 減少樣本的數量和網絡必須處理的數據量。另一個動機是啟用多尺度上下文特徵學習 —— 從不同尺度的圖像中聚合特徵。DeepLab使用ImageNet預訓練的ResNet進行特徵提取。DeepLab使用空洞卷積而不是規則的卷積。每個卷積的不同擴張率使ResNet塊能夠捕獲多尺度的上下文信息。DeepLab由三個部分組成:

Atrous convolutions — 使用一個因子,可以擴展或收縮卷積濾波器的視場。ResNet — 微軟的深度卷積網絡(DCNN)。它提供了一個框架,可以在保持性能的同時訓練數千個層。ResNet強大的表徵能力促進了計算機視覺應用的發展,如物體檢測和人臉識別。Atrous spatial pyramid pooling (ASPP) — 提供多尺度信息。它使用一組具有不同擴展率的複雜函數來捕獲大範圍的上下文。ASPP還使用全局平均池(GAP)來合併圖像級特徵並添加全局上下文信息。

SegNet neural network 一種基於深度編碼器和解碼器的架構,也稱為語義像素分割。它包括對輸入圖像進行低維編碼,然後在解碼器中利用方向不變性能力恢復圖像。然後在解碼器端生成一個分割圖像。


   圖像分割的應用

圖像分割有助於確定目標之間的關係,以及目標在圖像中的上下文。應用包括人臉識別、車牌識別和衛星圖像分析。例如,零售和時尚等行業在基於圖像的搜索中使用了圖像分割。自動駕駛汽車用它來了解周圍的環境。

目標檢測和人臉檢測

這些應用包括識別數字圖像中特定類的目標實例。語義對象可以分類成類,如人臉、汽車、建築物或貓。

人臉檢測 - 一種用於許多應用的目標檢測,包括數字相機的生物識別和自動對焦功能。算法檢測和驗證面部特徵的存在。例如,眼睛在灰度圖像中顯示為谷地。醫學影像 - 從醫學影像中提取臨床相關信息。例如,放射學家可以使用機器學習來增強分析,通過將圖像分割成不同的器官、組織類型或疾病症狀。這可以減少運行診斷測試所需的時間。機器視覺 - 捕捉和處理圖像,為設備提供操作指導的應用。這包括工業和非工業的應用。機器視覺系統使用專用攝像機中的數字傳感器,使計算機硬體和軟體能夠測量、處理和分析圖像。例如,檢測系統為汽水瓶拍照,然後根據合格 - 不合格標準分析圖像,以確定瓶子是否被正確地填充。視頻監控 — 視頻跟蹤和運動目標跟蹤

這涉及到在視頻中定位移動物體。其用途包括安全和監視、交通控制、人機互動和視頻編輯。

自動駕駛 自動駕駛汽車必須能夠感知和理解他們的環境,以便安全駕駛。相關類別的對象包括其他車輛、建築物和行人。語義分割使自動駕駛汽車能夠識別圖像中的哪些區域可以安全駕駛。虹膜識別 一種能識別複雜虹膜圖案的生物特徵識別技術。它使用自動模式識別來分析人眼的視頻圖像。人臉識別 從視頻中識別個體。這項技術將從輸入圖像中選擇的面部特徵與資料庫中的人臉進行比較。零售圖像識別

這個應用讓零售商了解貨架上商品的布局。算法實時處理產品數據,檢測貨架上是否有商品。如果有產品缺貨,他們可以找出原因,通知跟單員,並為供應鏈的相應部分推薦解決方案。

英文原文:https://missinglink.ai/guides/computer-vision/image-segmentation-deep-learning-methods-applications/

相關焦點

  • 基於深度學習方法的圖像分割
    如果能夠快速準去地做圖像分割,很多問題將會迎刃而解。因此,它的應用領域就包括但不限於:自動駕駛、圖像美化、三維重建等等。語義分割是一個非常困難的問題,尤其是在深度學習之前。深度學習使得圖像分割的準確率提高了很多,下面我們就總結一下近年來最具有代表性的方法和論文。
  • 語義分割的經典學習方法和深度學習方法綜述
    語義分割和實例分割之間的比較本文將探討一些使用經典和基於深度學習的方法來執行語義分割的方法。此外,還將討論常用的損失函數的選擇和應用。經典方法在深度學習時代到來之前,大量的圖像處理技術被用來將圖像分割成感興趣的區域。下面列出了一些常用的方法。灰度分割最簡單的語義分段形式涉及分配區域必須滿足的硬編碼規則或屬性,以便為其分配特定標籤。規則可以根據像素的屬性(例如灰度級強度)來構建。使用此技術的一種方法是拆分(Split)和合併(Merge)算法。
  • 圖像分割中的深度學習:U-Net 體系結構
    一般說來,分割(https://www.fritz.ai/image-segmentation/)是將一幅圖像分割為若干個部分的過程,這種圖像處理過程可以得到圖像中的目標或者紋理,常常被用於遙感影像或者腫瘤的檢測應用中。
  • 深度學習第33講:CNN圖像語義分割和實例分割綜述
    從本節開始,筆者將繼續花費幾講的時間來研讀關於語義分割和實例分割相關的經典網絡和論文,以期對深度學習計算機視覺的第三大任務,也是最難的任務——圖像分割有一個宏觀的把握和細節的了解。      總的而言,目前的分割任務主要有兩種: 語義分割和實例分割。那語義分割和實例分割具體都是什麼含義呢?二者又有什麼區別和聯繫呢?
  • 從0到1必看 | 基於深度學習方法的圖像分割
    圖像的語義分割(Semantic Segmentation)是計算機視覺中非常重要的任務。它的目標是為圖像中的每個像素分類。如果能夠快速準去地做圖像分割,很多問題將會迎刃而解。因此,它的應用領域就包括但不限於:自動駕駛、圖像美化、三維重建等等。
  • 科學家開發出一種基於深度學習的生物醫學圖像分割方法
    科學家開發出一種基於深度學習的生物醫學圖像分割方法 作者:小柯機器人 發布時間:2020/12/9 13:32:53 德國海德堡大學Klaus H.
  • 圖像分割方法介紹及應用
    一、圖像分割方法介紹(一)基於閾值的分割方法灰度閾值分割法是一種最常用的並行區域技術,它是圖像分割中應用數量最多的一類。閾值分割方法實際上是輸入圖像f到輸出圖像g的如下變換:其中,T為閾值,對於物體的圖像元素,g(i,j)=1,對於背景的圖像元素,g(i,j)=0。
  • 一文探討可解釋深度學習技術在醫療圖像診斷中的應用
    本文重點關注可解釋深度學習方法在醫療圖像診斷中的應用。由於醫學圖像自有的特點,構建用於醫療圖像分析的可解釋深度學習模型與其它領域中的應用是不同的。本文依託於綜述性文章[1],首先回顧了可解釋性方法的主要分類以及可解釋深度學習在醫療圖像診斷領域中應用的主要方法。然後,結合三篇文章具體分析了可解釋深度學習模型在醫療圖像分析中的應用。
  • 深度學習在圖像超解析度重建中的應用
    SR可分為兩類:從多張低解析度圖像重建出高解析度圖像和從單張低解析度圖像重建出高解析度圖像。基於深度學習的SR,主要是基於單張低解析度的重建方法,即Single Image Super-Resolution (SISR)。SISR是一個逆問題,對於一個低解析度圖像,可能存在許多不同的高解析度圖像與之對應,因此通常在求解高解析度圖像時會加一個先驗信息進行規範化約束。
  • 在圖像處理中應用深度學習技術
    利用卷積神經網絡(Convolutional Neural Network, CNN) 等深層神經網絡的解決方案,可以逐漸取代基於算法說明的傳統圖像處理工作。儘管圖像預處理、後期處理和信號處理仍採用現有方法進行,但在圖像分類應用中(缺陷、對象以及特徵分類),深度學習變得愈加重要。利用深度學習處理某些任務更簡單,效果更好,甚至某些任務只能用深度學習方法來解決。
  • 基於深度學習的語義分割綜述
    近年來,由於深度學習模型在視覺應用中的成功,已有大量的工作致力於利用深度學習模型開發圖像分割方法。本文全面回顧了撰寫本文時的文獻,涵蓋了語義和實例級分割的大量開創性工作,包括完全卷積像素標記網絡、編碼器-解碼器架構、多尺度和基於金字塔的方法、遞歸網絡,視覺attention模型,以及生成對抗模型。
  • 一文詳解圖像分割的主流方法及新思路
    圖像分割是計算機視覺領域的重要任務之一,在醫學圖像分析、視頻監控、遙感圖像處理、工業質檢、場景理解等領域有著廣泛的應用。而隨著深度學習模型在視覺應用中的成功,已有大量的工作致力於利用深度學習模型進行圖像分割,為了幫助大家更好的了解圖像分割,智東西公開課精選了「圖像分割」系列文章。作為本系列的開篇,本文對圖像分割的主流方法及新思路展開介紹。
  • 【推薦】基於MATLAB編程、機器學習、深度學習在圖像處理中的實踐技術應用
    >Matlab科研經驗分享與科研工具推薦深度學習在遙感地物分類、目標識別和圖像分割技巧總結尤其是在計算機視覺和圖像處理領域,各種顛覆性的成果應運而生。因此,為了幫助廣大科研人員更加系統地學習圖像處理、機器學習和深度學習的基礎理論知識及對應的代碼實現方法,Ai尚研修特舉辦「MATLAB圖像處理與機器學習技術應用培訓班」 培訓班,旨在幫助學員掌握圖像處理的基礎知識,以及經典機器學習算法和最新的深度神經網絡、遷移學習、對抗生成網絡等算法的基本原理及其MATLAB編程實現方法。
  • 圖像處理應用中深度學習的重要性分析
    工業應用中FPGA 上的神經元網絡(CNN) 深度學習應用憑藉其在識別應用中超高的預測準確率,在圖像處理領域獲得了極大關注,這勢必將提升現有圖像處理系統的性能並開創新的應用領域。 利用卷積神經網絡(Convolutional Neural Network, CNN) 等深層神經網絡的解決方案,可以逐漸取代基於算法說明的傳統圖像處理工作。儘管圖像預處理、後期處理和信號處理仍採用現有方法進行,但在圖像分類應用中(缺陷、對象以及特徵分類),深度學習變得愈加重要。 利用深度學習處理某些任務更簡單,效果更好,甚至某些任務只能用深度學習方法來解決。
  • 100個深度圖像分割算法,紐約大學UCLA等最新綜述論文
    研究者們提出了各種圖像分割算法。最近,由於深度學習模型在廣泛的視覺應用中取得了成功,已經有大量的工作致力於開發使用深度學習模型的圖像分割方法。我們的調研涵蓋了圖像分割的最新文獻,並討論了到2019年提出的一百多種基於深度學習的分割方法。我們對這些方法的不同方面提供了全面的回顧和見解,包括培訓數據、網絡架構的選擇、損失功能、培訓策略以及它們的關鍵貢獻。我們對所述方法的性能進行了比較總結,並討論了基於深度學習的圖像分割模型的幾個挑戰和未來可能的方向。
  • 圖像分割深度學習從零開始學習路線
    你可能需要對深度學習和計算機視覺的基本任務有一個較為系統的學習,這塊應該轉看深度學習入門等相關話題,斯坦福的李飛飛cs231n被推薦的挺多的。這塊我就不多贅述了,我更多分享後面三個階段關於分割的學習。第一階段:看分割是分割這個階段的典型表現是,有了對深度學習和計算機視覺的基礎,開始痴迷於各種分割網絡和loss改進,對benchmark的每一個性能的改進都有很好的follow。這個階段應該梳理以下問題。
  • 深度| 2017 CV 技術報告之圖像分割、超解析度和動作識別
    ——Piotr Dollar,2016.[49]圖 6:FAIR 語義分割技術實例展示,來源 Dollar(2016)。上圖展示了 FAIR 應用的圖像分割技術,它按順序包括了 DeepMask、SharpMask 和 MutiPathNet 技術。該流程可實現大規模場景中的精準分割與分類。
  • 深度學習與圖像識別
    而深度學習可以針對新的應用從訓練數據中很快學習得到新的有效的特徵表示。一個模式識別系統包括特徵和分類器兩個主要的組成部分,二者關係密切,而在傳統的方法中它們的優化是分開的。在神經網絡的框架下,特徵表示和分類器是聯合優化的,可以最大程度發揮二者聯合協作的性能。
  • 圖像識別中的深度學習【香港中文大學王曉剛】
    由此可知全局和上下文信息對於局部的判斷是非常重要的,而這些信息在基於局部特徵的方法中在最開始階段就丟失了。理想情況下,模型應該將整幅圖像作為輸入,直接預測整幅分割圖。圖像分割可以被看做一個高維數據轉換的問題來解決。這樣不但利用到了上下文信息,模型在高維數據轉換過程中也隱式地加入了形狀先驗。但是由於整幅圖像內容過於複雜,淺層模型很難有效地捕捉全局特徵。
  • 深度網絡圖像分割通俗指南
    在這篇文章中,我將介紹如何使用當前最先進的深度學習來嘗試解決這個問題。我不是機器學習的專家,所以我希望這個帖子對於其他希望使用這個強大新工具的非專家們有一定的幫助作用。這個問題稱為分割。也就是說,從這張圖開始: