圖像處理應用中深度學習的重要性分析

2020-12-15 電子發燒友

圖像處理應用中深度學習的重要性分析

act視覺系統設計 發表於 2020-12-13 11:24:53

作者:Martin Cassel,Silicon Software

工業應用中FPGA 上的神經元網絡(CNN)

深度學習應用憑藉其在識別應用中超高的預測準確率,在圖像處理領域獲得了極大關注,這勢必將提升現有圖像處理系統的性能並開創新的應用領域。

利用卷積神經網絡(Convolutional Neural Network, CNN) 等深層神經網絡的解決方案,可以逐漸取代基於算法說明的傳統圖像處理工作。儘管圖像預處理、後期處理和信號處理仍採用現有方法進行,但在圖像分類應用中(缺陷、對象以及特徵分類),深度學習變得愈加重要。

利用深度學習處理某些任務更簡單,效果更好,甚至某些任務只能用深度學習方法來解決。深度學習正在逐漸威脅傳統圖像處理方法的地位——特別是處理任務中包含有複雜變量時(如反射面、光照不佳的環境、光照變化或移動的對象)。

深度學習具有平移不變性的優點,這部分使用傳統處理方式需要大量的投入。但如果需要對圖像中的對象或錯誤進行定位、標定、代碼讀取或後期處理,則傳統算法更具有優勢。

圖1:傳統圖像處理及深度學習的適用範圍對比。

傳統圖像處理 深度學習
典型應用 典型應用
尺寸測量
代碼讀取
有/無檢測
 機器人引導
 印刷檢測
汽車
電子
表面檢測(裂紋、劃痕)
食品、植物、木材檢測
塑料、注塑成型
織物檢測
醫療成像
農業
典型特徵 典型特徵
對目標有嚴格要求
方向固定
客戶提供容差範圍內的正式規格
 可靠性100%
目標可變
方向可變
客戶提供模糊的規格,提供Good和Bad零件的樣本
可靠性99%

深度學習包括神經網絡的訓練和學習、網絡的實現和推斷運算、網絡的CNN 算法在圖像上的執行與分類結果的輸出。用於訓練的數據越多,分類的預測精度就會越高。由於數據量龐大,訓練神經網絡時通常選用GPU。

圖2:訓練數據越多,預測精度越高

速度與精度

基於各種不同技術的處理器,是否都能滿足工業圖像處理中的特殊需求呢?CNN應用必須執行快速(推斷)同時滿足極低的時延。在滿足處理速度的同時,還要滿足高帶寬、低發熱、實時性以及供貨周期長這些需求,僅僅使用傳統CPU 或GPU 是難以實現的,它們通常可以為非工業領域的圖像處理任務提供更合適的解決方案,在這些領域的識別任務儘管同樣複雜,但相對較低的數據吞吐性能即可滿足需求。各個平臺之間區別很大,僅從技術指標方面就能看出,它們無法應用於高要求的任務。儘管GPU 的推斷耗時比CPU 或特殊晶片短得多(如TPU -TensorFlow Processing Units、TensorFlow 處理單元以及Intel Movidius處理器),但是其數據吞吐量這項指標只能達到大約每秒50MB這樣一個較低的水平。

在通常的圖像處理應用中,只需要對少數幾個特性進行分類,因此選擇小型或中型網絡通常就足以應對,AlexNet、SqueezeNet 或MobileNet 都是這類網絡的典型代表。這幾種網絡類型在機器視覺領域,預測精度、網絡大小和計算速度以及帶寬這幾方面有著良好的平衡。這裡可以很明顯地看到,通過選擇合適的網絡,可以在犧牲小部分檢測精度的同時,獲得數據吞吐量方面的極大提高,同時也為優化資源和提高分類質量提供了可能性。

圖3:《對用於實際應用的深層神經網絡模式的分析》,Alfredo Canziani、Adam Paszke、Eugenio Culurciello (2017)

推斷應用中的FPGA 和SoC

在很多圖像處理任務的需求中,特別是機器視覺領域,FPGA可以作為獨立處理單元或與ARM 處理器一起構成SoC。FPGA 具有高度並行處理能力、穩定的圖像採集能力以及相對於CPU 和GPU更高的運算性能、圖像幀率和帶寬。基於FPGA的CNN應用可完成高帶寬的分類工作,這尤其適用於高速在線檢測。

FPGA支持直接在圖像採集卡或在嵌入式視覺設備上處理圖像數據——從採集到輸出以及外圍設備控制——且無任何CPU佔用,這個特點讓FPGA特別適用於高強度運算的應用,如CNN。因此未配備GPU 的小型PC 也能使用,從而可降低整體系統成本。在工業環境溫度下,FPGA的能效比GPU高十倍,是嵌入式設備的理想之選,這顯著擴大了深度學習在工業4.0 以及無人機和自動駕駛領域的應用。

GPU擁有更高的計算精度和更高的預測精度,但這些是以更短的供貨周期、更高的功耗以及更低的數據吞吐量為代價的。在一個示範性的對比中,基於FPGA的解決方案的數據處理性能是使用GPU的類似解決方案的7.3倍左右。

圖4:FPGA 的性能大約是GPU 性能的7.3倍

優化FPGA 資源

在深度學習領域,存在各種不用降低分類質量就能節省資源的方法。其中之一是通過圖像縮放來降低數據吞吐量,或者改變數據位深:我們的項目經驗表明,數據的位深對後來的預測精度影響甚微。將數據位深32位浮點數降為8位定點數或整數,可以讓FPGA將節省下來的資源用於更大的網絡架構,或實現更高的數據吞吐量,從而實現處理速度的提升,這對例如焊縫檢測或機器人技術這類應用非常有意義。通過類似的預處理降低數據量,讓更適合FPGA的小型網絡的使用成為可能,這樣的網絡通常足以處理缺陷特徵較少的簡單分類任務。

32 位浮點GPU 雖然擁有更高的計算精度,但這一點對深度學習的推斷而言無關緊要,在FPGA中使用8位定點運算的網絡,能為大多數深度學習應用提供足夠精確的預測精度,誤差幾乎可以忽略不計。如果需要特別高的計算精度,可以採取一種資源折中策略,在更大的FPGA 上使用16位定點運算。

現在已經有了能完美滿足工業生產的高速處理需求的解決方案,通常使用高性能圖像採集卡或者嵌入式視覺設備,例如使用大型FPGA和高解析度傳感器的智能相機。利用多種多樣的FPGA 資源,可以處理更複雜的架構以及應用。有了更高的數據帶寬,能夠在FPGA上對整幅圖像進行處理,或進行額外的圖像預處理以及後期處理,例如對GigE Vision相機的最大數據輸出帶寬的深度學習運算也完全能夠滿足。

結語

與傳統圖像處理相比,深度學習應用需要在訓練方面投入較多時間,但是相較其帶來的可靠性和處理速度,這些投入是值得的。圖像採集卡和(嵌入式)視覺設備上所使用的FPGA技術,令神經網絡應用於工業級應用成為可能,這需要強大的實時處理能力、低延遲(實時在線檢測)、高數據吞吐量、高帶寬和低功耗低發熱(嵌入式視覺應用),以及高解析度。FPGA 及圖像採集卡較長的供貨周期保障了投資安全性,同時由於系統可快速的整合且整體系統成本較低,用戶可以節省長期支出。

編輯:hfy

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 在圖像處理中應用深度學習技術
    利用卷積神經網絡(Convolutional Neural Network, CNN) 等深層神經網絡的解決方案,可以逐漸取代基於算法說明的傳統圖像處理工作。儘管圖像預處理、後期處理和信號處理仍採用現有方法進行,但在圖像分類應用中(缺陷、對象以及特徵分類),深度學習變得愈加重要。利用深度學習處理某些任務更簡單,效果更好,甚至某些任務只能用深度學習方法來解決。
  • 深度學習在圖像處理中的應用趨勢及常見技巧
    目前為止,圖像處理已成為深度學習中重要的研究領域,幾乎所有的深度學習框架都支持圖像處理工具。當前深度學習在圖像處理領域的應用可分為三方面:圖像處理(基本圖像變換)、圖像識別(以神經網絡為主流的圖像特徵提取)和圖像生成(以神經風格遷移為代表)。本文第一部分介紹深度學習中圖像處理的常用技巧,第二部分淺析深度學習中圖像處理的主流應用,最後對本文內容進行簡要總結。
  • 【推薦】基於MATLAB編程、機器學習、深度學習在圖像處理中的實踐技術應用
    尤其是在計算機視覺和圖像處理領域,各種顛覆性的成果應運而生。因此,為了幫助廣大科研人員更加系統地學習圖像處理、機器學習和深度學習的基礎理論知識及對應的代碼實現方法,Ai尚研修特舉辦「MATLAB圖像處理與機器學習技術應用培訓班」 培訓班,旨在幫助學員掌握圖像處理的基礎知識,以及經典機器學習算法和最新的深度神經網絡、遷移學習、對抗生成網絡等算法的基本原理及其MATLAB編程實現方法。
  • 深度學習中的圖像分割:方法和應用
    ,包括傳統方法和深度學習方法,以及應用場景。基於人工智慧和深度學習方法的現代計算機視覺技術在過去10年裡取得了顯著進展。如今,它被用於圖像分類、人臉識別、圖像中物體的識別、視頻分析和分類以及機器人和自動駕駛車輛的圖像處理等應用上。許多計算機視覺任務需要對圖像進行智能分割,以理解圖像中的內容,並使每個部分的分析更加容易。
  • MATLAB數據分析/圖形圖像處理/機器學習與深度學習培訓
    MATLAB是由美國MathWorks公司推出的一款應用於科學計算和工程仿真的交互式編程軟體,它有包羅萬象的工具箱和草稿紙式的程式語言,將符號計算、數值分析、矩陣計算、科學數據可視化、數據處理與機器學習、圖像處理、信號處理、計算金融學、計算生物學以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易於使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案
  • 一文探討可解釋深度學習技術在醫療圖像診斷中的應用
    然後,結合三篇文章具體分析了可解釋深度學習模型在醫療圖像分析中的應用。作為一種領先的人工智慧方法,深度學習應用於各種醫學診斷任務都是非常有效的,在某些方面甚至超過了人類專家。其中,一些計算機視覺方面的最新技術已經應用於醫學成像任務中,如阿爾茨海默病的分類、肺癌檢測、視網膜疾病檢測等。
  • 關於MATLAB 圖像處理與深度學習的作用分析和介紹
    接下來我們將介紹如何創建該算法,並說明為何深度學習和圖像處理對於對象檢測和圖像分類同樣十分有用。 圖像處理與深度學習 我們重點介紹兩種技術: 圖像處理 按像素級別變換或者修改圖像。比如,過濾、模糊、去模糊和邊緣檢測等; 深度學習 通過學習樣本圖像自動識別圖像特點。近幾年,深度學習已經徹底改變了圖像處理領域。
  • 深度學習在圖像取證領域中的進展
    部分壓縮後的數字圖像為了獲得更好的視覺效果會進行後處理操作,任何的圖像編輯都可以應用在後處理操作,經常使用的編輯為:幾何變換(旋轉、縮放等)、模糊、銳化、對比度調整、圖像拼接、複製-粘貼。經過編輯後的數字圖像重新保存為JPEG格式形成最終的數字圖像。數字圖像取證的出發點是通過提取數字圖像周期中留下的固有痕跡進行分析和理解數字圖像的操作歷史。
  • 遙感圖像處理中的深度學習專題 《中國科學:信息科學》英文版
    SCIENCE CHINA InformationSciences Vol. 63 Number 4 專題簡介 深度學習是一種非常適用於大數據應用的新興技術
  • 醫學圖像處理與深度學習入門
    利用深度學習技術,分析圖像與視頻,並且將之應用在諸如自動駕駛,無人機等等領域已經成為最新研究方向。
  • 【線上】MATLAB數據分析、圖形圖像處理、機器學習與深度學習在線培訓班
    、矩陣計算、科學數據可視化、數據處理與機器學習、圖像處理、信號處理、計算金融學、計算生物學以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易於使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案。
  • 深度學習在圖像超解析度重建中的應用
    SR可分為兩類:從多張低解析度圖像重建出高解析度圖像和從單張低解析度圖像重建出高解析度圖像。基於深度學習的SR,主要是基於單張低解析度的重建方法,即Single Image Super-Resolution (SISR)。SISR是一個逆問題,對於一個低解析度圖像,可能存在許多不同的高解析度圖像與之對應,因此通常在求解高解析度圖像時會加一個先驗信息進行規範化約束。
  • 【北京/線上】MATLAB數據分析、圖形圖像處理、機器學習與深度學習在線培訓班
    、矩陣計算、科學數據可視化、數據處理與機器學習、圖像處理、信號處理、計算金融學、計算生物學以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易於使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案。
  • 遙感圖像處理中的深度學習專題 |《中國科學:信息科學》英文版
    Information SciencesVol. 63     Number 4深度學習是一種非常適用於大數據應用的新興技術.在對地觀測領域, 由大量在軌衛星獲取的海量遙感數據, 使其成為數據驅動應用的典範. 過去幾年來, 遙感圖像處理相關的深度學習研究快速增長, 包括高光譜遙感圖像、合成孔徑雷達(SAR)圖像等處理、分類、參數反演及目標檢測識別.
  • 資料| 深度學習技術圖像處理入門
    資料 | 深度學習技術圖像處理入門
  • 超全深度學習細粒度圖像分析:項目、綜述、教程一網打盡
    來自曠視科技、南京大學和早稻田大學的研究者對基於深度學習的細粒度圖像分析進行了綜述,從細粒度圖像識別、檢索和生成三個方向展開論述。計算機視覺(CV)是用機器來理解和分析圖像的過程,是人工智慧中一個重要分支。在 CV 的各個研究領域中,細粒度圖像分析(fine-grained image analysis, FGIA)是一個長期存在的基礎性問題,而且在各種實際應用(比如鳥的種類、汽車模型、商品識別等)中無處不在。
  • 自然語言處理深度學習的7個應用
    自然語言處理領域正在從統計方法轉變為神經網絡方法。自然語言中仍有許多具有挑戰性的問題需要解決。然而,深度學習方法在一些特定的語言問題上取得了最新的成果。這不僅僅是深度學習模型在基準問題上的表現,基準問題也是最有趣的;事實上,一個單一的模型可以學習詞義和執行語言任務,從而消除了對專業手工製作方法渠道的需要。
  • 「人工智慧師資班」(Python機器學習,圖像識別與深度學習,深度學習與NLP,知識圖譜,強化學習)
    本次培訓分為Python機器學習,圖像識別與深度學習,深度學習與NLP,知識圖譜和強化學習五大專題。本次培訓由權威專家主講,提供實驗環境及實驗數據,並提供配套資料,通過剖析工程案例展現機器學習、深度學習落地全過程。培訓暫定2021年1月5日開始,每個專題6天左右,一共28天,直播集訓。本次培訓由淺入深,面向0基礎、不懂機器學習、不具備任何Python基礎的老師和同學。
  • 深度學習在自然語言處理上的七大應用
    最有趣的不僅僅是深度學習模型在基準問題上的性能;事實上,一個單一的模型可以學習單詞的意思和執行語言任務,從而避免需要一套專門的和手工的方法。 在這篇文章中,你將發現 7 種有趣的自然語言處理任務,其中深度學習方法正在取得一些進展。 在此文中,我們將看看下面的 7 種自然語言處理問題。
  • 【CCCF專題】深度學習在自然語言處理中的應用
    例如,在機器學習標誌性的基準測試手寫體識別任務中,深度學習可以將錯誤率從1.4%(SVM模型)降低到0.39%[1];在語音識別領域,深度學習歷史性地將錯誤率從27.4%降低到18.5%[2]。現代深度學習方法最引人注目的一個特點是其具有自動特徵學習的能力。有效的特徵提取是各類機器學習方法共同的基礎要素。