華中科技大學最新全面《工業缺陷檢測深度學習方法》綜述
基于深度學習的工業缺陷檢測方法可以降低傳統人工質檢的成本, 提升檢測的準確性與效率, 因而在智能制造中扮演重要角色, 并逐漸成為計算機視覺領域新興的研究熱點之一. 其被廣泛地應用 于無人質檢、智能巡檢、質量控制等各種生產與運維場景中. 本綜述旨在對工業缺陷檢測的任務定義、 難點、挑戰、主流方法、公共數據集及評價指標等進行全面歸納, 以幫助研究人員快速了解該領域. 具 體而言, 本文首先介紹工業缺陷檢測的背景與特點. 接著, 按照實際數據標注情況, 劃分出缺陷模式已 知、缺陷模式未知與少量缺陷標注 3 種研究任務設置, 并根據方法類型作進一步歸納與分析, 探討了 各方法的性能優劣與適用場景, 闡明了方法與實際應用需求的關聯性. 此外, 本文還歸納了方法部署 中的關鍵輔助技術, 總結了現有方法在實際產業落地中存在的局限性. 最后, 本文對該領域未來的發 展趨勢和潛在研究方向進行了展望.
引言
大到飛機機翼, 小到芯片晶粒, 工業制品在現代社會中無處不在. 工業缺陷檢測, 旨在發現各種工 業制品的外觀瑕疵, 是保障產品質量、維持生產穩定的重要技術之一. 以往的缺陷檢測需要人工篩查, 成本高、效率低, 難以覆蓋大規模的質檢需求. 近年來, 隨著工業成像、計算機視覺和深度學習等領域 的新技術層出不窮, 基于視覺的工業缺陷檢測技術得到了長足的發展, 成為了針對產品外觀質檢的一 種有效的解決方案, 引發了學術界和工業界的強烈關注. 工業缺陷檢測不僅可以用于檢測各種工業制 品, 如金屬、紡織物、半導體等, 而且具有優秀的檢測精度與效率, 還能提供簡便、安全的操作環境. 因 此, 工業缺陷檢測已成為智能制造領域重要的基礎研究與技術之一, 并被廣泛應用于無人質檢、智能巡檢、生產控制和異常溯源等場景. 《中國制造 2025》行動綱領指出, 建設制造強國任務艱巨而緊迫, 需要加速推進信息化與工業化的深度融合, 推進生產過程的智能化. 因此, 基于視覺的工業缺陷檢測 不僅具有非常重要的研究價值, 同時也擁有廣闊的應用前景. 然而, 相比于一般的目標檢測任務, 工業 缺陷檢測面臨著諸多難點, 如, 缺陷樣本匱乏、缺陷的可視性低、形狀不規則、類型未知等, 導致許多 現有方法難以同時滿足高精度、高速度的任務需求, 因此在實現落地應用的道路上依然存在大量問題 亟待解決.
由于工業缺陷可以視為工業產品的外觀 “異常”, 因此也有部分工業缺陷檢測方法采用了異常檢 測的思路. 然而異常檢測的定義與工業缺陷檢測也有所區別. 具體而言, 異常檢測的概念更加廣泛與 抽象, 其中圖像異常檢測主要關注輸入圖像是否為異常實例, 而工業缺陷檢測更關注像素層面的檢出 任務. 在像素層面上, 異常與正常模式的差別更加細微, 檢測難度也大幅增加. 因此直接使用異常檢測 方法難以滿足工業缺陷檢測的任務需求.
近年來, 深度學習方法因其在處理背景復雜、缺陷微弱的工業圖像時展現出卓越的性能優勢, 逐 漸在該領域占據主導地位. 鑒于此, 本文對基于深度學習的工業缺陷檢測方法進行綜述, 旨在幫助研 究人員快速對該領域的任務設置、主流方法、評價體系等方面有系統性的了解. 由于該任務具有較強 的應用驅動性, 本文按照實際情況中數據樣本的標注與使用情況, 劃分出 3 種任務設置: 缺陷模式已 知、缺陷模式未知和少量缺陷標注. 特別地, 本文還歸納了促進方法落地的關鍵輔助技術, 其有助于提 升方法的實用性. 本文關注各方法間的共性與不同, 按照問題導向逐步剖析其發展脈絡, 并結合領域 研究現狀對未來發展趨勢進行展望, 希望幫助研究者們開拓思路.
目前國內外的綜述 [1~5] 大多探討廣義的異常檢測領域的方法, 試圖涵蓋圖像、視頻、表格和序列 等各種數據形式. 文獻 [2, 3] 對基于深度學習的異常檢測方法進行了綜合性的歸納與分析, 但缺乏針 對工業場景的探討. 文獻 [6, 7] 雖然以工業生產為背景來綜述, 但主要著眼于傳統方法與系統控制. 文 獻 [8] 對基于深度學習的表面缺陷檢測方法進行了系統性的歸納, 但主要梳理有監督方法. 而近期, 基 于無監督、半監督等設置的研究同樣涌現出許多新的成果, 但目前尚無相應針對工業缺陷檢測領域的 全面而細致的綜述文獻. 因此, 本綜述希望填補這一空缺, 并著重對此類新方法進行介紹與總結. 本文后續內容的組織如下: 第 2 節介紹工業缺陷檢測問題的定義, 分析研究難點與挑戰; 第 3 節 基于 3 種任務設置介紹近年主流的工業缺陷檢測方法, 并按照方法的設計原理進一步歸納與分析; 第 4 節梳理針對實際部署的關鍵輔助技術; 第 5 節介紹常用的公開數據集與評價指標, 并比較典型方法 的性能; 最后, 第 6 節總結了當前研究的狀況與局限性, 并對未來發展趨勢與潛在研究方向進行展望.
2 問題定義與研究現狀
2.1 問題定義
基于視覺的工業缺陷檢測旨在發現織物、芯片、藥品乃至基建材料等各種工業制品的外觀可見缺 陷. 這些缺陷雖然微小, 卻可能嚴重危害產品的正常功能. 它們可能發生在工業產品的生命周期中任何 時期, 如產品的生產、運輸與使用過程等. 缺陷 (defect) 的概念可類比到異常 (anomaly). 異常指超出預期模式范圍的數據[1] , 目前已有大量 工作對其進行定義與歸類 [1~5, 9, 10] . 通常學者根據數據之間是否存在上下文關系, 將異常分為點異常、 上下文異常和集群異常 [1, 5, 10] . 如圖 1(a) 所示, 點異常又稱為離群值 (outliers) [9] , 描述數值上偏離正 常樣本的獨立數據; 上下文異常同樣描述數據點, 其數值屬于正常范圍, 但不符合局部上下文規律; 集群異常描述一系列相關數據的集合, 集合中的每一個實例的數值在單獨考察時都處于正常值域, 但集 合整體的相關性特征不服從正常模式. 具體到圖像數據, 文獻 [5] 根據異常是否存在明顯的語義性將 圖像異常分為低級紋理異常和高級語義異常. 與異常相近的概念還包括新穎點 (novelty) 和分布外數 據 (out-of-distribution, OOD) [4] . 在圖 1(b) 所示的圖像分類任務中, 基于白貓樣本定義貓類. 白狗即 使顏色相近, 但因語義類別不同而屬于離群值; 黑貓屬于貓類, 語義類別相同, 但其顏色屬性未在訓練 集中出現過, 而屬于新穎點; OOD 則關注數據集合的分布差異, 文本數據集與自然場景中貓的數據集 的分布呈現出明顯差異. 類似地, 如圖 1(c) 所示, 工業缺陷檢測中, 正常樣本包括多類產品, 缺陷可被 視為其外觀上的 “異常”. 不同的是, 工業缺陷往往出現在圖像中的小部分區域, 顯著程度更低, 且語義 概念模糊. 因而, 一般的圖像異常檢測往往僅需區分正常與異常樣本, 而工業缺陷檢測更關注于檢測 圖像中的異常像素. 在實際工業場景中, 缺陷的定義更加主觀, 因而學者們試圖尋求其與異常檢測的 關聯. 考慮到上述幾種任務的相似性, 在部分缺陷檢測方法中也采用了異常檢測、新穎點檢測與 OOD 檢測的思路. 例如, 單獨考慮缺陷的像素值, 可類比為新穎點或離群值; 考慮像素間的關聯時, 又可將 其類比上下文異常或集群異常.
雖然缺陷通常屬于未知模式, 但仍然可以從已有的缺陷樣本中發現一定的共性, 因此總結缺陷與 背景的類型有助于針對性地設計檢測方法. 如圖 2 所示, 依據缺陷出現的位置與表現形式, 本文將工 業缺陷分為表面缺陷與結構缺陷. 表面缺陷主要出現在產品表面的局部位置, 通常表現在紋理突變、 異狀區域、反規律模式或錯誤的圖案. 例如, 表面裂紋、色塊、織物的稀織以及商標文字的印刷錯誤 等. 根據缺陷區域的像素值與周圍背景的差異性可將其類比為離群值或集群異常: 離群值型缺陷的像 素值通常與正常圖像具有明顯差異; 集群異常型缺陷的像素值與周圍正常區域屬于同一范圍, 因而更 難被發現. 結構缺陷主要是由產品整體的結構錯誤所致, 包括形變、錯位、缺損與污染. 例如鐵絲的彎 曲、二極管的邊緣缺損或處于錯誤的位置等. 相應地, 根據是否包含產品整體結構, 背景可分為紋理類 與物體類. 紋理類聚焦產品的局部表面, 按照復雜程度依次劃分為簡單紋理、規則紋理與無規則紋理. 物體類包含產品整體, 結構更加復雜, 且存在產品之外的背景干擾. 此時, 不僅需要考慮表面缺陷, 也 要考慮結構缺陷. 可見, 在不同的背景上, 不同種類的缺陷微弱程度不同. 即使是同種缺陷的不同實例 之間, 可視性也可能有較大差異.
根據輸出結果粒度的不同, 工業視覺缺陷檢測任務一般包括分類和定位. 如圖 3 所示, 對于一個 待測圖像實例, 分類任務首先將其二分類為正常樣本或缺陷樣本; 當缺陷類型已知時, 還可進一步對缺陷類型進行判別, 例如, 織物上可能存在穿線、異色等多種缺陷. 定位任務的目標是找到缺陷在圖像 中的具體區域, 根據缺陷區域的描述方式可分為檢測 (檢測框) 與分割 (像素級). 事實上, 上述任務有 時是可以同時進行的, 例如, 在分類模型上利用可視化方法 [11~13] 可實現像素級的定位, 分割結果同 樣可以用來判斷整圖的分類. 由于工業缺陷的形狀不規則、尺寸變化較大, 檢測框難以精確表示缺陷 的位置, 而且容易引入較多無關的背景信息, 對缺陷檢測性能的評估造成麻煩. 因而, 在實際的缺陷定 位任務中, 研究者們更關注缺陷分割方法. 鑒于此, 本文將重點論述分類與分割任務的工作。
2.2 研究概述
工業缺陷檢測長期以來都是工業視覺領域最重要的研究之一. 近年來, 隨著深度學習在計算機視 覺任務中的普及, 基于深度學習的工業缺陷檢測方法也得到了飛速發展, 并逐漸占據主流. 得益于卷 積神經網絡 (convolutional neural network, CNN) 強大的特征提取能力與對高維數據的表征能力, 基 于深度學習的方法可以自動學習人工難以設計的特征, 不僅節約了手工設計特征的成本, 還令檢測精 度大幅提高. 相比基于圖像處理與統計學習的傳統方法, 它更擅長處理復雜的工業圖像數據. 本文將 近年國內外工業缺陷檢測領域的熱點研究進展組織為圖 4 所示的結構. 檢測算法依據實際工業場景 中數據情況的不同, 被分為缺陷模式已知、缺陷模式未知與少量缺陷標注 3 種設置. 缺陷模式已知時, 一般采用有監督深度學習方法, 需要充足而精確的樣本標注, 可以從分類、檢測與分割 3 種角度進行 方法設計. 缺陷模式未知時, 一般采用無監督深度學習方法構造比較對象. 根據比較對象維度的不同, 可分為在圖像維度與在特征維度比較相似度, 并基于方法的原理進一步細分. 少量缺陷標注的場景貼 近實際工業情況, 訓練集中包含比例不均衡正負樣本, 且只有少量的缺陷樣本具有精確或不精確的標注. 此時, 根據具體的數據標注情況, 分別采用小樣本、半監督和弱監督等新興方法來處理, 近年來這 些方法也逐漸得到學術界與工業界的高度重視. 自監督學習屬于無監督學習的一種, 其從無標注數據 中挖掘自身的監督信息, 最近也在工業缺陷檢測領域得到了廣泛的應用. 因此, 本文從構建監督信息 的角度對自監督方法予以歸納. 輔助技術主要用于提升檢測方法的實用性, 本文主要從 3 個角度討論. 數據增強與合成為數據貪婪的檢測模型提供足夠的訓練集; 模型壓縮與加速技術面向落地使用中的低 存儲開銷與實時性需求; 閾值設置旨在找到推理階段最合適的分類邊界.
3 檢測算法
3.1 缺陷模式已知
在許多實際工業場景中, 大部分缺陷的類型已事先經過專業的統計與歸納, 因而在方法設計時可 以利用缺陷的特征直接檢測, 或者利用先驗知識搜集、標注數據集來訓練模型. 基于有監督設置的深度學習方法已經在許多視覺任務上取得了較為成熟的發展與應用. 當缺陷種 類已知且具有充足的標注樣本, 或者需要解決缺陷種類的多分類問題時, 工業缺陷檢測往往采用有監 督方法. 這些方法大多是將已有的通用目標的分類、檢測、分割模型應用于工業場景, 并根據實際情 況中缺陷的微弱性與模型的速度需求進行微調.有監督的方法可以解決缺陷多分類的問題, 適合于大部分缺陷的類型已知或缺陷特點鮮明的情況. 盡管需要高昂的標注成本, 但是此類方法在樣本充足的情況下具有優良的性能, 并已在部分實際應用 中檢驗了方法的有效性. 現有方法在簡單規則的工業場景中已較為成熟, 而對于復雜背景及無規則微 弱缺陷的檢測仍有發展空間. 然而, 面對樣本匱乏、缺陷模式未知的情況時, 有監督方法本身依然存在 不足.
3.2 缺陷模式未知
在實際情況中, 含有缺陷的樣本極難獲取. 面對缺陷的未知性與無規則性, 基于缺陷先驗知識的 方法存在較大的局限性. 因此, 無監督的設置已經引起了廣泛重視. 此類方法大多借鑒異常檢測的思 路, 對易于獲取與描述的正常樣本進行建模. 缺陷被定義為正常范圍之外的模式. 無監督設置下的任 務目標通常是判斷待測樣本是否包含缺陷, 或對缺陷區域進行定位, 此時定位結果的輸出一般是像素 級的分割結果。基于無監督設置的深度學習方法僅需要易于獲取的正常樣本用于模型訓練, 無需使用真實缺陷樣 本. 其不僅能解決有監督深度學習方法無法發現未知缺陷的問題, 而且擁有比傳統方法更強的對圖像 特征的表達能力, 因而成為了當今的研究熱點. 此類方法的核心思想是構建出一個與待測樣本最相近 的 “模板” 與之比較, 根據像素或特征的差異性實現缺陷的檢出與定位. 根據比較維度的不同, 本文將 方法劃分為基于圖像相似度的方法與基于特征相似度的方法.
3.3 少量缺陷標注
實際工業場景的情況往往介于上述兩種設置之間. 不僅可以獲得相對充分的正常樣本, 還可以事 先收集少量缺陷樣本, 并進行標注. 即使缺陷樣本只有粗粒度的標注也能為檢測性能帶來提升, 因此 純粹的有監督與無監督方法均難以充分利用提供的數據, 而不是最佳的解決方案. 此時, 面對樣本稀 少、數據不均衡、標注不精確等問題, 研究者們嘗試基于小樣本、半監督和弱監督的設置來設計更加合理的方法.
4 輔助技術
檢測方法設計不僅要考慮方法本身的檢測精度, 還需要根據實際情況, 利用一些輔助技術幫助其 投入產業使用. 對此, 本文主要綜述 3 種關鍵的輔助技術: 數據擴增旨在利用合成等手段增加樣本的 多樣性, ****以提升有監督和自監督方法的性能; 輕量化技術關注模型在實際部署時的時間與空間復雜度, 幫助模型在低功耗設備上達到實時檢測的水平; 閾值設置是區分正常與異常樣本的關鍵, 合適而可控 的閾值設置有助于方法實現較高的實際性能。
**5 數據集與性能評估 **
5.1 常用數據集
當前常被用于工業缺陷檢測研究的數據集如表 3 [19, 30, 39, 173~182]1)所示. 本文具體介紹近年提出的契合不同任務設置的典型數據集.
5.2 評價指標
由于分類與分割通常在工業缺陷檢測中具有較大的實用價值, 本文主要介紹這兩類任務的評價 指標. 分類的性能通常采用準確率 (accuracy)、精確率 (precision) 和召回率 (recall) 進行評估. 準確率指所有預測正確的類占全部的比重; 精確率也被稱查準率, 指預測為缺陷的樣本中正確預測所占的比例; 召回率也被稱為查全率、真陽性 率 (true positive rate, TPR), 指所有缺陷中被正確檢出的比例. 在實際應用中, 往往還會關注誤檢率 (false drop rate, FPR) 與漏檢率 (false negatives rate, FNR), 它們衡量模型的不足之處。像素級缺陷定位的任務可視為前景與背景的兩類分割問題. 當輸出的異常分數圖是表示對應像素 為缺陷概率的熱力圖時, 需要對其設定相應閾值獲得二值化分割結果. 因此, 分割指標也可分為固定 閾值的指標和與閾值無關的指標。
6 總結與展望
6.1 總結
作為工業視覺的核心技術, 基于視覺的工業缺陷檢測因其廣泛而重要的應用價值, 逐漸成為炙手 可熱的新興研究問題之一. 近年來已經涌現出大量的新理論和新方法, 并已逐漸投入實際產業. 本文對 該領域的任務定義、研究難點、檢測方法、輔助技術、常用公開數據集、評價指標與典型方法性能等 進行了綜合梳理, 重點綜述了深度學習方法的重要進展然而, 盡管目前工業缺陷檢測方法已在部分工業數據上表現出較高的性能, 但現有研究依然存在 很大的局限性, 限制了相關方法的進一步研究與落地.
6.1.1 更貼近實際的任務設置
基于有監督的缺陷檢測方法已逐漸趨于成熟, 展現出了優越的性能. 但是有監督方法依賴于大規 模帶有精確標注數據的支持, 而數據的搜集與標注過程成本高昂, 使之無法與實際工業場景完全吻合. 同時, 有監督方法無法處理新類別缺陷的檢測問題. 無監督方法雖然大大降低了數據標注的需求, 也 能檢測未知型缺陷, 但是在定位性能與可解釋性方面仍然無法替代有監督方法. 在實際生產環境中, 少量缺陷標注的情況更加常見. 用戶不僅可以提供大量的正常樣本, 同時也 能提供少量具有精確或粗糙標注的缺陷樣本. 相比于上述兩種設置, 小樣本、半監督和弱監督的方法 更加貼合工業場景, 可以更加充分地利用資源, 因而其關注度迅速增加. 目前, 這些方法仍然處于發展 的初期, 仍有待進一步的研究與發展.
6.1.2 缺乏完備的數據集
數據集是深度學習方法研究的基礎. 目前常用于工業缺陷檢測任務的數據集主要存在著背景類型 單一、缺陷種類單一等不足, 無法模擬現實中復雜的檢測場景. 在實際工業生產過程中, 所拍攝的產品 圖像也可能來源于不同的成像條件、不同的拍攝角度或者不同制程, 在同一產品上也會出現不同類型 的缺陷. 構建更貼近實際工業場景與任務設置的數據集不僅有助于更加實用的算法的開發, 也有助于 算法實際部署. 例如, 多重成像的數據集可以將在一種成像條件下難以被發現的缺陷在另一成像中凸 顯, 從而給缺陷發現帶來了便利. 工業缺陷檢測方法在無人巡檢、異常溯源等延伸性工作的性能也需 要經過相應數據集的檢驗. 因此, 新數據集的建立與完善也非常重要, 只有構造出合適的數據集, 才能 支撐各種新場景、新任務和新設置下方法的發展.
6.2 展望
除了上述總結的目前研究中的不足, 該領域還有許多極具潛力的研究方向有待進一步探索.
6.2.1 神經架構搜索
現有的基于深度學習的方法大多依靠手工設計深度神經網絡, 依照經驗設置超參數. 因此, 現有 的模型結構可能并非面向工業缺陷檢測的最優解. Rippel 等 [132] 比較了多種基礎網絡對模型性能的 影響, 其中基于自動機器學習 (automated machine learning, AutoML) 獲得的 EfficientNet [187] 的性能 優于人工設計的 ResNet [188] . EfficientNet 高效的網絡結構與 Swish 激活函數被認為是提升性能的主 要原因. 相比于其他通用的視覺檢測任務, 大部分工業視覺的使用場景更加具體, 利用神經架構搜索 (neural architecture search, NAS) 的方法自動搜索針對特定任務場景的最優模型是一種可行的解決方 案, 不僅有助于彌補人工經驗設置的不足, 還能提升模型的效率. AutoOD [189] 基于 NAS 搜索 AE 架 構的模型參數, 實現了優于手工模型的檢測性能. 然而, 目前 NAS 在無監督與半監督設置中的應用尚 少, 未來可能在工業視覺領域的相關任務上得到發展.
6.2.2 Transformer 的應用
近年來, Transformer 模型 [190] 被引入到計算機視覺領域, 并在多種視覺任務上展現出優越的性 能[191~195] . 相比于 CNN 關注局部特征關系, 視覺 Transformer 利用注意力機制, 可以建模圖像中的長 距離關系. Xie 等 [196] 將高效的 Swin Transformer[194] 改進后用于有監督的太陽能電池板的缺陷檢測.其增加窗間注意力來增強全局語義特征的提取, 用多尺度聚合模塊結合不同層級的特征, 實現了較高 的分類性能. 然而, Transformer 模型的性能優勢通常需要足夠的訓練數據支撐, 而大部分工業缺陷檢 測場景難以獲取充足的缺陷數據. 因此, 研究者們嘗試在無監督設置下引入 Transformer, 一般將其用 于基于圖像相似度的方法. Mishra 等 [180] 將基于圖像重建模型的編碼器改為 Transformer 結構, 以增 強全局特征的提取能力. 同時, 用 GMM 對 Transformer 的編碼結果進行密度估計. 在測試階段, 根據 GMM 對圖像塊的密度估計結果進行缺陷定位, 同時結合重建誤差實現圖像級分類. Pirnay 等 [157] 認 為在基于圖像復原任務的缺陷檢測方法 [114] 中, 長距離信息有利于高質量的圖像復原, 從而提升缺陷 分割能力, 因而將 CNN 替換為 Transformer, 根據周圍信息來復原圖像塊, 最終根據重建誤差進行缺陷 分割. Pinaya 等 [197] 首先訓練 VQ-VAE [198] 對圖像進行離散編碼, 然后利用多個高效的 Transformer 模型 Performer [195] 對不同順序的離散編碼進行自回歸建模. 最終基于重建誤差和隱空間編碼的似然 進行異常分割, 從而減少誤檢. Transformer 具有全局關系建模的能力, 且具有更好的可解釋性 [199] . 但是其對計算資源的需求也 相應增大, 對工業場景的低開銷需求提出挑戰. 目前也有相關工作繼續在高效 Transformer 模型[194, 195] 與小數據集 [199] 的應用上進行探索. 盡管目前 Transformer 在工業缺陷檢測領域的實用性還尚未得到 充分探索, 但現有研究已經指出了 Transformer 的潛力.
6.2.3 多重成像與多模態
早期的工業缺陷檢測方法利用光學方法提升缺陷的顯著性, 從而使其易于被檢出. 事實上, 工業 缺陷的種類千差萬別, 可能存在各自適合的成像方式, 因此, 利用不同成像條件的差異產生區分力是 一個具有潛力的方案. 在實際場景下, 紅外線、X 射線等其他成像方式可能適合特定產品的質檢任務; 結構光、激光等方式獲得的 3D 信息還能進一步提升產品結構性缺陷的表達能力. 目前大部分的方法 僅關注于單一的 RGB、灰度圖像或其他成像形式的輸入. 為了綜合不同成像條件的感知能力, 模型可 以進一步考慮融合多模態數據的特征來增強檢測性能, 以應對更復雜的場景.
6.2.4 更具可解釋性的方法
盡管深度學習極大地促進了工業缺陷檢測的發展, 新興的方法擁有卓越的檢測性能, 但是不少方 法仍缺乏完備的可解釋性. 許多基于無監督的方法還依賴大量的經驗性假設. 對模型解釋性的研究不 僅有助于人們理解模型工作機制, 還能促進新型方法的研發. 從輔助人工檢測的角度而言, 建立人機 互信在實際應用落地的推進中至關重要. 因此, 置信度預測 [200] 和模型可視化等模型理解的研究不只 在工業缺陷檢測領域, 也在整個人工智能領域極具意義.
6.2.5 在線學習與聯邦學習
現有方法大多采用離線學習的方法, 即預先根據對應所給數據集訓練模型, 然后部署到產線中. 但 由于訓練初期通常缺乏有標簽的缺陷樣本, 部署時模型的實際性能難達最佳. 在實際應用中, 產線可 以不斷地提供新樣本, 也可能發現新的缺陷類型. 因此, 運用在線學習的方法對模型進行快速實時的 調整也將成為后續研究與應用的重點之一. 由于某些產品及其缺陷存在一定的共性特征, 結合不同生 產線上的樣本有助于充分訓練與調整模型. 考慮到工業數據往往容易涉及隱私問題, 引入聯邦學習的 框架有助于在保障各個合作者隱私安全的前提下, 有效地結合各方的樣本數據.
目前,以深度學習為代表的人工智能算法憑借超大規模數據集以及強大的計算資源,在圖像分類、生物特征識別、醫療 輔助診斷等領域取得了優秀的成果并成功落地.然而,在許多實際的應用場景中,因諸多限制,研究人員無法獲取到大量樣本 或者獲取樣本的代價過高,因此研究圖像分類任務在小樣本情形下的學習算法成為了推動智能化進程的核心動力,同時也成為 了當下的研究熱點.小樣本學習指在監督信息數量有限的情況下進行學習并解決問題的算法.首先,從機器學習理論的角度 描述了小樣本學習困難的原因;其次,根據小樣本學習算法的設計動機將現有算法歸為表征學習、數據擴充、學習策略三大類, 并分析其優缺點;然后,總結了常用的小樣本學習評價方法以及現有模型在公用數據集上的表現;最后,討論了小樣本圖像分類 技術的難點及未來的研究趨勢,為今后的研究提供參考。
近年來,人工智能技術在大數據時代迎來了高速發展,從 早期的學術探索迅速轉變為實際應用.目前,以深度學習為 代表的人工智能算法憑借超大規模數據集以及強大的計算資 源,在圖像分類、生物特征識別、醫療輔助診斷等領域取得了優秀的成果并成功落地. 然而,當今現實場景中通常并不具備獲得大規模可訓練 數據的條件,這不利于許多傳統行業的智能化轉型.另一方 面,由于圖像分類算法在實際應用中起著關鍵性的作用,因此 面向圖像分類的小樣本學習的關鍵算法研究成為了產業智能 化轉型的驅動引擎之一.
深度學習以大規模數據集為前提,在圖像分類、目標檢 測、文本分析[1G3]等領域取得了顯著的成功.然而在實際場景 中,首先,由于成本、隱私、安全或道德問題,相關研究者很難 或不可能獲得大規模、高質量的數據及標注.例如,在醫療領 域,醫學影像的產生來源于病例,但少量的病例并不能夠輔助 機器對醫療影像進行分析.其次,在算法設計層面,研究者期 望機器學會以人類的方式進行學習,即在獲取少量樣本的情 況下,對樣本進行分類和識別,并且具有快速理解新概念并將 其泛化的能力. 為了能夠在監督信息數量有限的情況下進行學習,針對 小樣本學習(FewGshotLearning)[4G8]的研究應運而生.在小 樣本分類中,模型在一組具有豐富樣本的類別集上進行訓練, 這些類稱為基類,然后在類別不交叉的僅具有少量樣本的另 一組類別集(新類)上進行訓練與測試.
目前,針對小樣本學習的研究工作越來越豐富,隨著深度 學習的發展,涌現了很多新穎的小樣本學習方法[9G11].例如, 在模型表征階段采用自監督學習以更好地表征出圖像[12G15]; 在數據 擴 充 階 段,采 用 從 原 始 域 擴 充 或 從 語 義 空 間 擴 充 等[11,16G17]方式來處理小樣本學習任務;在學習階段,使用遷移 學習、度量學習、元學習等算法[18G24]以更好地尋找到一個有 良好泛化能力的模型.現有的小樣本綜述文獻[25G26]通常從 算法類別的角度進行歸納總結,而本文將從理論誤差分析以 及算法設計 動 機 的 角 度 來 進 行 綜 述,并 覆 蓋 近 年 來 取 得 的 成果. 本文首先從機器學習理論的角度描述了小樣本學習難以 泛化的原因;其次,依據小樣本學習算法的設計動機將現有算 法歸為表征學習、數據擴充、學習策略三大類,并評價其優缺 點;然后,總結了常用的小樣本學習評價方法以及現有模型在 公用數據集上的表現;最后,提出了一些有前景的研究方向, 為今后的研究提供參考。
中科院自動化所等《圖像異常檢測研究現狀》綜述論文
圖像異常檢測是計算機視覺領域的一個熱門研究課題, 其目標是在不使用真實異常樣本的情況下, 利用現有的正 常樣本構建模型以檢測可能出現的各種異常圖像, 在工業外觀缺陷檢測, 醫學圖像分析, 高光譜圖像處理等領域有較高的研 究意義和應用價值. 本文首先介紹了異常的定義以及常見的異常類型. 然后, 本文根據在模型構建過程中有無神經網絡的參 與, 將圖像異常檢測方法分為基于傳統方法和基于深度學習兩大類型, 并分別對相應的檢測方法的設計思路、優點和局限性 進行了綜述與分析. 其次, 梳理了圖像異常檢測任務中面臨的主要挑戰. 最后, 對該領域未來可能的研究方向進行了展望.
//www.aas.net.cn/cn/article/doi/10.16383/j.aas.c200956
異常檢測是機器學習領域中一項重要的研究內容. 它是一種利用無標注樣本或者正常樣本構建檢測模型[1], 檢測與期望模式存在差異的異常樣本的方法. 異常檢測在各種領域中都有廣泛的應用, 如網絡入侵檢測, 信號處理, 工業大數據分析, 異常行為檢測和圖像與視頻處理等.
早期的異常檢測算法大多應用于數據挖掘領域, 而近年來隨著計算機視覺和深度學習等相關技術的發展, 許多相關工作將異常檢測引入到圖像處理領域來解決樣本匱乏情況下的目標檢測問題.
傳統的目標檢測算法中很大一部分方法屬于監督學習的范疇, 即需要收集足夠的目標類別樣本并進行精確的標注, 比如圖像的類別、圖像中目標的位置以及每一個像素點的類別信息等[2, 3]. 然而, 在許多應用場景下, 很難收集到足夠數量的樣本. 例如, 在表面缺陷檢測任務當中, 實際收集到的圖像大部分屬于正常的無缺陷樣本, 僅有少部分屬于缺陷樣本, 而需要檢測的缺陷類型又十分多樣, 這就使得可供訓練的缺陷樣本的數量十分有限[4]. 又比如在安檢任務當中, 不斷會有新的異常物品出現[5]. 而對于醫學圖像中病變區域的識別任務, 不僅帶有病變區域的樣本十分稀少, 對樣本進行手工標注也十分耗時[6]. 在這些情況下, 由于目標類別樣本的缺乏, 傳統的目標檢測和圖像分割的方法已不再適用.
而異常檢測無需任何標注樣本就能構建檢測模型的特點, 使得其十分適用于上述幾種情況[7]. 在圖像異常檢測當中, 收集正常圖像的難度要遠低于收集異常圖像的難度, 能顯著減少檢測算法在實際應用中的時間和人力成本. 而且, 在異常檢測中模型是通過分析與正常樣本之間的差異來檢測異常樣本, 這使得異常檢測算法對各種類型甚至是全新的異常樣本都具有檢測能力. 雖然標注樣本的缺失給圖像異常檢測帶來了許多問題和挑戰, 不過由于上述各種優點, 如表1所示, 已經有許多方法將圖像異常檢測應用在各種領域中.因此, 圖像異常檢測問題具有較高的研究價值和實際應用價值.
隨著對異常檢測研究的深入, 大量研究成果不斷涌現, 也有許多學者開展了一些綜述性工作. 如Ehret等[20]根據不同的圖像背景, 對大量圖像異常檢測方法進行了綜述, 不過對基于深度學習的方法還缺乏一定的梳理. Pang等[21]和Chalapathy[22]等則是從更為廣闊的角度對基于深度學習的異常檢測方法進行了梳理, 不過由于數據類型的多樣性, 這些工作對異常檢測在圖像中的應用還缺乏針對性. 陶顯等[23]對異常檢測在工業外觀缺陷檢測中的應用進行了一些總結, 不過重心落在有監督的檢測任務上, 對無監督的異常檢測方法欠缺一定的整理和歸納. 而本文則針對無監督的圖像異常檢測任務, 以工業、醫學和高光譜圖像作為具體應用領域, 對傳統和基于深度學習的兩大類方法進行梳理. 上述三種應用領域都有相同的特點即可使用的帶標注異常樣本數量稀少, 因此有許多工作針對這幾個領域內的異常目標檢測問題開展了研究. 本文整體結構安排如下: 第1節將介紹異常的定義以及常見的形態. 第2節根據模型構建過程中有無神經網絡的參與, 將現有的圖像異常檢測算法分為傳統方法和基于深度學習兩大類并分別進行綜述與分析. 第3節將介紹圖像異常檢測中常用的數據集. 第4節將介紹在圖像異常檢測當中面臨的主要挑戰. 第5節將綜合圖像異常檢測的研究現狀對未來可能的發展方向進行展望. 最后第6節將對本文內容進行總結.
異常, 又被稱為離群值, 是一個在數據挖掘領域中常見的概念[24], 已經有不少的工作嘗試對異常數據進行定義[25, 26]. Hawkins等[25]將異常定義為與其余觀測結果完全不同, 以至于懷疑其是由不同機制產生的觀測值. 一般情況下, 會將常見的異常樣本分為三個類別[1]: 點異常、上下文異常和集群異常. 點異常一般表現為某些嚴重偏離正常數據分布范圍的觀測值, 如圖1(a)所示的二維數據點, 其中偏離了正常樣本點的分布區域(N1, N2)的點(O1, O2和O3)即為異常點。
圖像數據中每一個像素點上的像素值就對應著一個觀測結果. 由于圖像內像素值的多樣性, 僅僅分析某一個點的像素值很難判斷其是否屬于異常. 所以在大部分圖像異常檢測任務中, 需要聯合分析圖像背景以及周圍像素信息來進行分類, 檢測的異常也大多屬于上下文或者模式異常. 當然, 這三種異常類型之間并沒有非常嚴格的界限. 例如, 有一部分方法就提取圖像的各類特征[27], 并將其與正常圖像的特征進行比較以判斷是否屬于異常, 這就將原始圖像空間內模式異常的檢測轉換到了特征空間內點異常的檢測. 圖像異常檢測任務根據異常的形態可以分為定性異常的分類和定量異常的定位兩個類別. 定性異常的分類, 類似于傳統圖像識別任務中的圖像分類任務, 即整體地給出是否異常的判斷, 無需準確定位異常的位置. 如圖2左上圖所示, 左側代表正常圖像, 右側代表異常圖像, 在第一行中, 模型僅使用服飾數據集(Fashion mixed national institute of standards and technology database, Fashion-MNIST)[28]中衣服類型的樣本進行訓練, 則其他類別的樣本圖像(鞋子等)對模型來說都是需要檢測的異常樣本, 因為他們在紋理、結構和語義信息等方面都不相同. 又或者如第二行所示, 異常圖像中的三極管與正常圖像之間只是出現了整體的偏移, 而三極管表面并不存在任何局部的異常區域, 難以準確地定義出現異常的位置, 更適合整體地進行異常與否的分類.
一般情況下圖像異常檢測的目標是通過無監督或者半監督學習的方式, 檢測與正常圖像不同的異常圖像或者局部異常區域. 近年來傳統機器學習方法已經在圖像異常檢測領域有了較多的應用, 而隨著深度學習技術的發展, 越來越多的方法嘗試結合神經網絡來實現圖像異常檢測. 根據在模型構建階段有無神經網絡的參與, 現有的圖像異常檢測方法可以分為基于傳統方法和基于深度學習的方法兩大類別. 如圖3所示, 基于傳統方法的異常檢測技術大致包含六個類別: 基于模板匹配、基于統計模型、基于圖像分解、基于頻域分析、基于稀疏編碼重構和基于分類面構建的異常檢測方法. 而基于深度學習的方法大致包含四個類別: 基于距離度量、基于分類面構建、基于圖像重構和結合傳統方法的異常檢測方法.
本文根據檢測原理將傳統圖像異常檢測方法分類為以下類別: 基于模板匹配、基于統計模型、基于圖像分解、基于頻域分析、 基于稀疏編碼重構和基于分類面構建的異常檢測方法. 傳統的圖像異常檢測算法大多會學習一個模型來描述正常圖像, 隨后在檢測階段根據待檢圖像與現有模型之間的匹配程度來進行異常檢測.
近年來, 深度學習在計算機視覺中的各個領域內都得到了長足的發展. 相比于傳統的方法, 深度學習由于其無需人工設計特征, 算法通用性更高等優點, 已經被廣泛引入到了圖像異常檢測任務當中. 現有的方法大致可以分為以下幾類: 基于距離度量的方法、基于分類面構建的方法、基于圖像重構的方法和與傳統方法相結合的方法.
圖像異常檢測相關的研究方興未艾, 目前有許多識別定性異常的相關文章是在傳統圖像分類數據集上開展的, 諸如MNIST[89], Fashion-MNIST[28], CIFAR-10[90]等等. 而對于定量異常的檢測任務, 所使用的數據集就與具體的應用領域相關, 如表4所示.
本文對近年來圖像異常檢測方法的發展狀況進行了回顧, 可以看到針對這一問題已經有了一定數量的研究. 關于未來可能的研究方向, 我們認為可以從以下幾個角度進行考慮:
1) 構建更為高效的異常檢測算法. 對于異常檢測而言, 不僅僅需要對待檢圖像進行正常與否的判斷, 往往還需要對異常區域進行定位. 比如工業圖像表面的缺陷檢測, 醫學圖像中病變區域的定位等等. 然而, 由于在訓練階段沒有任何關于異常區域的標注信息, 傳統的目標檢測或者圖像分割的方法無法直接應用到異常檢測任務中. 因此, 現有的方法大多采用的是將待檢圖像切分成一系列的圖像塊, 然后分塊進行異常與否的二分類來進行異常區域的定位. 而且, 為了獲得異常區域的準確輪廓, 這種切分的步長一般較小, 會顯著影響算法的效率. 現有的一些方法比如頻譜分析雖然能夠同時處理整張圖像以實現高效的定位, 但該方法對于圖像有一定的要求. 而基于深度學習的圖像重構方法雖然沒有上述約束, 但重構圖像中殘留的異常區域會影響后續的檢測. 因此, 如何兼顧檢測精度和實時性仍需進一步的探索.
2) 小樣本/半監督學習. 現階段的異常檢測方法大部分僅利用正常樣本來訓練模型. 但是在實際檢測任務中, 并不是完全無法獲取真實的異常樣本. 比如在工業外觀檢測任務中, 少量的缺陷樣本是可以獲取的. 而且對幾張缺陷圖像進行標注并不會顯著地增加訓練成本. 而且相關文獻[96]初步嘗試了在訓練過程中引入一張真實異常圖像并且獲得了一定的效果提升. 因此可以考慮結合小樣本學習的方法, 利用大量正常樣本和幾張真實的異常樣本來進行模型訓練以提高性能. 而有些異常檢測任務面臨的是嚴格無監督的環境[98], 連所用樣本是否屬于正常樣本也不可預知, 此時訓練樣本中存在的少量異常樣本就會對模型的訓練產生性能上的影響, 如果采用半監督的訓練方式, 對少量正常和異常樣本進行標注, 可以有效提升模型對潛在異常樣本的檢測能力. 但是這種方法還是會面臨一些問題, 比如采集到的異常樣本顯然不可能囊括所有類別, 如何讓模型兼顧對已知類型和未知類型異常樣本的檢測能力, 也是一個待研究的任務.
3) 更自適應的樣本合成方法. 在許多相關的文獻中[105, 108, 110]都已經證明了在模型訓練階段, 引入各種人工構造的異常圖像能有效地提升檢測性能. 即便構造的異常圖像與真實的異常圖像并不相同, 額外增加的異常圖像可以提升分類面的貼合度或者背景重構的穩定度, 這都可以增加模型對潛在異常圖像的檢測能力. 但相關文獻表明這些額外的異常樣本越接近與正常樣本模型的性能越好[105]. 然而, 相關方法中額外使用的異常圖像大多是采集自別的數據集, 這些圖像一般與正常樣本的分布之間存在較為明顯的差異. 雖然有方法嘗試采用梯度上升的方式合成異常圖像, 但該方法在更為復雜的圖像上的結果還有待論證. 因此, 如何針對各種正常圖像自適應地合成異常樣本也是一個有待解決的問題.
4) 輕量化網絡設計. 基于深度學習的異常檢測方法得益于神經網絡強大的學習能力往往能得到比傳統方法更優秀的性能, 但代價是需要更多的計算量和更長的處理時間. 對于一張待測圖像, 需要利用深層神經網絡提取特征向量以區分正常和異常樣本, 而且重構類的方法還需要再次經過第二個深層神經網絡來重構輸入圖像. 因此, 更為輕量化的網絡設計能夠減少方法的運行時間. 此外, 大多數方法在驗證時硬件條件較好, 而實際生產現場要部署同等算力的設備會需要較高的成本, 因此, 輕量化的網絡設計在減少計算量的同時, 還能降低對硬件設備的需求, 降低在實際應用中的成本. 針對這一問題, 現階段常用的有兩類方法: 1)輕量模型設計, 設計更為高效的網絡計算方法以實現減小模型體積的同時保持性能不變, 例如MobileNet[175]等. 也可以采用知識蒸餾的方式, 用復雜網絡的輸出作為目標來訓練一個更為簡單的網絡; 2)模型壓縮, 有通過剪枝的方式剔除冗余的權重以減小模型大小, 也有通過網絡量化的方式, 以犧牲一定精度為代價減小網絡參數所占空間, 其中二值化模型具有突出的壓縮性能, 更利于模型部署.
5) 更高精度的異常定位方法. 對于異常定位任務, 現有的方法大多會采用滑窗的方式將原始圖像分解成一系列小的圖像區域, 然后再利用異常分類的方式對每一個區域進行異常與否的分析. 這種分塊分析的方式無法精準地定位異常區域, 處于異常紋理與正常紋理的交界處的圖像區域也很有可能被誤判為異常. 而對于能直接定位異常的圖像重構類方法, 又會因自身重構精度的限制, 在正常紋理區域也會出現差異, 這也會影響對一些微弱異常區域的定位效果. 在醫學和工業等領域內異常目標的檢測中, 不僅要關注召回率, 異常檢測的精準率也十分重要. 但從現有方法的效果看, 許多方法主要在召回率方面性能優異, 因為在實際應用領域中漏檢的危害性遠高于誤檢. 但如果能夠在保證召回率的同時提高精準率, 盡可能減少后續人工或者算法的二次處理, 異常檢測方法將能更廣泛地應用在相關領域中. 因此, 如何精準定位異常區域并減少對正常圖像區域的誤判情況, 同樣也是一個值得研究的問題.
隨著深度學習的不斷發展,目標檢測技術逐步從基于傳統的手工檢測方法向基于深度神經網絡的檢測方法轉變。在眾多基于深度學習的目標檢測算法中,基于深度學習的單階段目標檢測算法因其網絡結構較簡單、運行速度較快以及具有更高的檢測效率而被廣泛運用。但現有的基于深度學習的單階段目標檢測方法由于小目標物體包含的特征信息較少、分辨率較低、背景信息較復雜、細節信息不明顯以及定位精度要求較高等原因,導致在檢測過程中對小目標物體的檢測效果不理想,使得模型檢測精度降低。針對目前基于深度學習的單階段目標檢測算法存在的問題,研究了大量基于深度學習的單階段小目標檢測技術。首先從單階段目標檢測方法的Anchor Box、網絡結構、交并比函數以及損失函數等幾個方面,系統地總結了針對小目標檢測的優化方法;其次列舉了常用的小目標檢測數據集及其應用領域,并給出在各小目標檢測數據集上的檢測結果圖;最后探討了基于深度學習的單階段小目標檢測方法的未來研究方向。
導讀:本文將參考上述綜述論文,從預訓練語言模型應用于文本生成任務的三個挑戰出發:
如何對輸入數據進行編碼并保持語義,使其與預訓練語言模型進行融合; 如何設計通用且合適的預訓練語言模型架構,使其作為生成函數; 如何優化生成函數,并保證生成文本滿足特殊屬性。 并詳細列舉目前每個挑戰下的研究進展。
文本生成是目前自然語言處理領域一項非常重要但具有挑戰性的任務,它的目的是希望生成可讀的自然語言文本,比較有代表性的應用,例如對話系統、文本摘要和機器翻譯等。
目前,深度神經模型在文本生成研究中已取得重大進展,其優勢在于深度神經網絡可以端到端地學習輸入數據到輸出文本的語義映射,而不需要人工參與進行特征工程。但是,深度神經模型往往具有大量的參數,而大部分文本生成任務數據集都非常小,因此深度神經網絡非常容易在這些數據集上過擬合,導致其無法在實際應用中進行泛化。
隨著預訓練語言模型(Pretrained Language Models, PLMs)范式的蓬勃發展,越來越多的研究將其運用到各種自然語言處理任務中以取得SOTA效果,例如BERT解決語言理解和GPT解決語言生成。通過在大規模語料集上進行預訓練,預訓練語言模型可以準確地理解自然語言并以自然語言的形式流暢表達,這兩項都是完成文本生成任務的重要能力。
小目標檢測一直是目標檢測領域中的熱點和難點,其主要挑戰是小目標像素少,難以提取有效的特征信息.近年來,隨著深度學習理論和技術的快速發展,基于深度學習的小目標檢測取得了較大進展,研究者從網絡結構、訓練策略、數據處理等方面入手,提出了一系列用于提高小目標檢測性能的方法.該文對基于深度學習的小目標檢測方法進行詳細綜述,按照方法原理將現有的小目標檢測方法分為基于多尺度預測、基于數據增強技術、基于提高特征分辨率、基于上下文信息,以及基于新的主干網絡和訓練策略等5類方法,全面分析總結基于深度學習的小目標檢測方法的研究現狀和最新進展,對比分析這些方法的特點和性能,并介紹常用的小目標檢測數據集.在總體梳理小目標檢測方法的研究進展的基礎上,對未來的研究方向進行展望.
為滿足智能制造企業對產品質量檢測的需求, 服務制造企業生產管理, 對缺陷檢測技術的研究現狀、典型方法和應用 進行梳理. 首先總結了磁粉檢測法、滲透檢測法、渦流檢測法、超聲波檢測法、機器視覺和基于深度學習的缺陷檢測技術的 優缺點; 對比分析了磁粉檢測法、滲透檢測法、渦流檢測法、超聲波檢測法、機器視覺檢測的主流缺陷檢測技術和基于深度 學習的缺陷檢測技術的研究現狀; 然后, 梳理了缺陷檢測技術在電子元器件、管道、焊接件、機械零件和質量控制中的典型應 用; 最后, 對缺陷檢測技術的研究情況進行了總結和展望, 指出該研究領域亟需解決的問題和未來發展的方向, 并從高精度、 高定位、快速檢測、小目標、復雜背景、被遮擋物體檢測、物體關聯關系等幾個方面總結近年來發表在 ICCV (International Conference on Computer Vision) 和 CVPR (International Conference on Computer Vision and Pattern Recognition) 等 知名國際會議上相關論文的核心思想和源代碼, 為缺陷檢測技術的進一步發展提供理論和應用上的借鑒與參考.
//www.aas.net.cn/fileZDHXB/journal/article/zdhxb/2020/11/PDF/zdhxb-46-11-2319.pdf
摘要:近年來,基于深度學習的表面缺陷檢測技術廣泛應用在各種工業場景中.本文對近年來基于深度學習的表面缺陷檢測方法進行了梳理,根據數據標簽的不同將其分為全監督學習模型方法、無監督學習模型方法和其他方法三大類,并對各種典型方法進一步細分歸類和對比分析,總結了每種方法的優缺點和應用場景.本文探討了表面缺陷檢測中三個關鍵問題,介紹了工業表面缺陷常用數據集.最后,對表面缺陷檢測的未來發展趨勢進行了展望.