張雪松 莊嚴 閆飛 王偉
計算機視覺是一個多學科交叉的領域,主要研究如何從靜態圖像或者視頻流中自動地提取、分析和理解其中的有用信息[1].圖像數據可以使用不同類型的傳感器采集,其表現形式也是多種多樣的,例如不同分辨率的彩色圖片、灰度圖片、深度圖片和三維激光點云等.物體識別與檢測屬于計算機視覺領域的一個基礎性問題,主要任務是在靜態圖像或視頻流中識別及定位出其中感興趣的物體.物體識別通常要求對于任意給定的圖像能夠正確地對其中包含物體的語義類別進行類標簽預測,而物體檢測則還要求將圖像中的物體準確地定位出來.而且,物體檢測對于定位的精確度要求也不一樣,可以用矩形框將圖像中的物體框選出來,也可以將物體從圖像中分割出來,后者稱為像素級物體檢測[2].
物體識別可以分為實例級物體識別和類別級物體識別兩種主要類型[3].對于實例級物體識別,其主要任務是在圖片或視頻中找到某個特定的物體,例如在一張含有多個行人的圖片中找出航天員楊利偉.實例級物體識別的難度主要在于感興趣的特定物體通常被其他物體所遮擋,而且其姿態和尺度是變化的.目前,實例級物體識別所采用的方法主要是從圖像中提取角點、線、輪廓或者表觀特征,然后采用匹配和幾何配準等方式和目標物體進行對比,根據匹配程度找出圖像中的目標物體[3].到目前為止,實例級物體識別的研究已經趨于成熟,其中比較有代表性的工作是提取SIFT[4?5]、SURF[6]或深度DeCAF[7]特征,然后基于樹或哈希算法[8]以及幾何驗證[9]等方法進行特征匹配.
類別級物體識別的主要任務是判斷給定的圖像或視頻中是否存在屬于某一語義類別的物體實例,例如判斷一張圖片中是否有椅子類別的物體存在.由于在不同拍攝視角、光線條件和嘈雜場景的圖像中,屬于同一類別的不同物體可能存在較大程度的類內變化,這就給對物體類別進行數學建模帶來了很大的挑戰.此外,物體類別的定義本身屬于語義層面的概念,往往存在一詞多義的現象,比如,多個形狀和表觀特征完全不同的物體都可以被人們叫做椅子.類別級物體檢測是比類別級物體識別更加嚴格的任務,它不僅要求計算機能夠判斷出給定的圖像數據中是否含有某些類別的物體,而且還要能夠準確定位出屬于同一類別的物體的位置.由于類別級物體識別與檢測任務是緊密相關的,因此其采用的方法也是相輔相成的.
為了能夠對物體類別進行數學建模,研究人員通常需要采集大量的圖像數據,然后對這些圖像數據按照語義類別進行分類和手工標注.雖然近年來不斷地有各種研究機構推出自己采集和手工標注的數據集[10?11],但是研究人員發現大量數據集都存在有偏向性[12?13]的問題.舉例來說,將SUN2012數據集[11]訓練出來的分類器在Caltech256數據集[14]上進行測試,其分類準確率將會有大幅度的下降.在移動機器人應用中,機器人使用異構傳感器采集到的圖像數據在表現形式和特征分布上差異更大,例如用攝像頭采集的彩色圖像和用三維激光測距儀采集的三維點云在表現形式上就完全不同.因此,使用不同傳感器采集的同一物體類別的圖像數據的特征分布差異十分顯著,這就使得利用單一傳感器采集的數據訓練出來的分類器只能夠適用于本領域內的物體識別與檢測任務.由于三維激光測距儀和雷達等可采集深度信息的傳感器的造價比較昂貴且采集過程比較復雜,因此三維點云數據集的規模及其所包含的物體類別數目相對于大規模Web圖片數據集而言小很多.當采用有監督或者半監督學習方式進行物體檢測時,分類器訓練過程中使用的少量正樣本通常來自訓練圖片中標注的矩形框或者多邊形,而大量的負樣本往往直接從背景區域提取,正負訓練樣本數量的絕對不平衡導致訓練出的分類器模型帶有偏向性且易于過擬合.
在基于小規模數據集的類別級物體識別與檢測應用中,過擬合、類不平衡和跨領域特征分布差異等關鍵問題與挑戰交織在一起.近年來,隨著遷移學習理論的發展與成熟,為解決物體識別與檢測中的問題與挑戰提供了新的思路和解決方案.本文圍繞遷移學習理論如何應用于類別級物體識別與檢測展開論述,以問題驅動的方式對遷移學習理論在物體識別與檢測中的應用研究工作進行綜述.章節安排如下:第1節對遷移學習理論和類別級物體識別與檢測的研究現狀進行了歸納和梳理;第2節對遷移學習如何解決類不平衡問題進行論述;第3節對遷移學習如何解決跨領域特征分布差異進行介紹;第4節對遷移學習如何解決過擬合問題進行了討論;第5節對研究重點和技術發展趨勢進行說明.最后,對該研究方向進行總結.
在機器學習領域,傳統的機器學習方法通常局限于解決單一領域內的問題,即要求訓練數據和測試數據都服從相同的分布.當訓練數據和測試數據的特征分布不同時,往往需要在新數據集上重新訓練模型.但是,在實際應用中,重新采集數據的成本很高甚至有時難以實現,此時將從源領域中學習到的有用知識遷移到目標領域就變得很有必要.自從1995年遷移學習研究興起以來,不斷有研究人員將傳統的機器學習方法擴展到了遷移學習中,其中包括基于核學習的遷移學習[15?17]、基于強化學習的遷移學習[18?19]、基于流形學習的遷移學習[20]和基于深度學習的遷移學習[21]等.
首先,我們給出遷移學習中一些術語的定義[22].
定義1(領域).一個領域可以形式化地表示為

其中,χ表示特征空間,p(X)表示X={x1,x2,···,xn}∈χ,xi∈d,i=1,2,···,n的邊緣分布.
定義2(任務).給定某一個具體的領域D={χ,p(X)},一個任務可以形式化地表示為


Pan等[22]將遷移學習形式化地定義為:“給定一個源領域Ds和源任務Γs,一個目標領域Dt和目標任務Γt,遷移學習使用Ds和Γs中已有的知識去改進Dt中對目標預測函數f(·)的學習,其中Ds6=Dt或者Γs6=Γt”.因此,遷移學習的過程就是將源領域Ds中解決任務Γs時學習到的“有用”知識遷移到目標領域Γt,結合Γt中已有的訓練數據為完成任務構造出泛化能力更好的模型,如圖1所示.

圖1 機器學習中遷移學習過程的概念表示Fig.1 Concept illustration of transfer learning process in machine learning
文獻[23]中,Aytar將遷移學習過程概括為回答下面的4個主要問題:1)從何處遷移(Where to transfer);2)遷移什么(What to transfer);3)如何遷移(How to transfer);4)何時遷移(When to transfer).
“從何處遷移?”問的是被遷移到目標領域的知識的來源.根據遷移學習的定義,只要在源領域中存在對于完成目標領域任務有用的知識都可以將其遷移到目標領域.值得指出,如果遷移到目標領域的知識來自源領域或目標領域中的多個相關的任務,則屬于多任務學習(Multi-task learning)的范疇[24?25].多任務學習和遷移學習是機器學習中兩個高度相關的研究領域,多任務學習主要強調多個相關任務的共同學習,即多個模型如何聯合地進行訓練.除此之外,還可以根據遷移學習中源領域的個數將遷移學習分為單源遷移學習(Single source transfer learning)和多源遷移學習(Multi-source transfer learning)[26?29].
“遷移什么?”問的是源領域的哪些知識可以被遷移到目標領域任務中.由于在源領域的某些知識是局限于某個源任務的,因此只有具有共性的知識才是可能遷移到目標領域的“有用”知識.文獻[22]將被遷移的知識類型分為數據級知識和模型級知識兩種類型,其中數據級知識主要包括實例、特征表示和關系型知識,模型級知識指的是模型的參數.根據從源領域遷移的知識類型,可以將遷移學習方法分為基于實例的遷移、基于特征表示的遷移、基于參數的遷移和關系型知識的遷移4種主要類型,如表1所示.此外,還可以將多種類型的知識聯合遷移到目標領域中,稱為混合知識遷移(Hybrid knowledge transfer)[30].例如基于實例和特征的遷移學習、基于特征和參數的遷移學習等.
“如何遷移?” 問的是使用哪種機器學習范型和方法來進行遷移.當給定了源領域中可以遷移的知識類型之后,只要確定了遷移學習的范型就可以根據目標領域任務的特點來設計具體的算法了.由于表1中已經概括了遷移學習的常用方法,這里重點介紹遷移學習的范型.眾所周知,傳統的機器學習理論中提出過大量的范型.文獻[31]根據訓練數據的特點和學習目標將其分為有監督學習、無監督學習、半監督學習、歸納式學習、直推式學習和元學習等.因為傳統的機器學習范型只涉及單一領域內的學習,所以它們不能被直接運用到遷移學習中來.通過對傳統機器學習范型定義的擴展,Pan等[22]最早較為系統地將遷移學習的范型分為歸納式遷移學習(Inductive transfer learning)、直推式遷移學習(Transductive transfer learning)和無監督式遷移學習(Unsupervised transfer learning)三種.概括地講,歸納式遷移學習和無監督式遷移學習允許源領域任務和目標領域任務不同但是相關,而直推式遷移學習要求源領域任務和目標領域任務相同.值得指出,直推式遷移學習和領域適應(Domain adaptation)的研究內容相似,但是二者存在一定差異.在領域適應研究中,不僅允許部分源領域訓練數據有類標簽,而且也允許有少量的目標領域訓練數據有類標簽[32].文獻[33]中指出,對于全部目標領域訓練數據有類標簽的情況,稱為有監督領域適應(Supervised domain adaptation),對于僅少量目標領域訓練數據有類標簽的情況,稱為半監督領域適應(Semi-supervised domain adaptation),對于全部目標領域訓練數據都沒有類標簽的情況,稱為為無監督領域適應(Unsupervised domain adaptation).綜上所述,通過將遷移學習中的三種范型和表1中的遷移學習方法進行交叉組合,就構成了遷移學習的主要研究內容.

表1 遷移學習的不同方法[22]Table 1 Different approaches to transfer learning[22]
“何時遷移?”問的是遷移學習使用的時機.顯而易見,遷移學習并不是在任何時候都是有益的,尤其是當源領域和目標領域任務差異顯著時,進行遷移學習往往會導致負遷移的發生.例如,將源領域中完成騎自行車任務時學到知識遷移給目標領域中的開汽車任務必然是有害的.雖然如何避免負遷移是一個亟待解決的問題,但是相關的研究仍然較少.文獻[34]中提出了一種核方法,可以同時用來評估不同任務的相關性和不同實例的相似性,以此減少負遷移的可能性.Ge等[35]提出了一種兩階段框架,當源領域中存在和目標領域任務完全無關知識的前提下,仍然有效地從多個源領域中遷移“有用”的知識給目標領域任務,避免負遷移的發生.在物體識別與檢測等應用中,當源領域/任務和目標領域/任務間的差異十分顯著或者目標領域的訓練數據充分時,一般不需要遷移學習.
下面以遷移學習方法為主線,對遷移學習理論的研究現狀進行概述.
1)基于實例的遷移學習方法
基于實例的遷移方法的主要思想是有選擇性地從源領域挑選部分“有用”樣本到目標領域,通過擴大目標領域訓練樣本集的方式提高所訓練出模型的泛化能力.由于實例遷移并不進行特征層面的變換,只是直接將源領域的樣本“借用”到目標領域,為了防止負遷移的發生,一般要求源領域和目標領域數據的特征分布相似.
表2中歸納和總結了一些典型的基于實例的遷移學習算法,通過對比分析可以看出集成學習、決策樹和深度學習等算法已經在基于實例的遷移學習領域進行了一定的擴展性研究,但是針對多實例遷移學習、多源和無監督方式的實例級遷移學習的理論研究仍然較為少見,有待進一步加強.
2)基于特征表示的遷移學習方法
基于特征表示的遷移學習方法的主要思想是學習一種特征變換,利用該特征變換可以將源領域的實例有效地映射到目標領域特征空間,或者將源領域和目標領域的實例映射到一個共同的子空間.“有效映射”的含義是特征變換應該能夠減少源領域和目標領域訓練數據在特征分布上的差異且不破壞數據的可分性.因此,利用特征變換后的源領域和目標領域樣本訓練模型實質上相當于通過增加訓練數據來提高模型的泛化能力.
表3中歸納和總結了一些基于特征表示的遷移學習方法,通過對比分析可以看出基于無監督或半監督的單源特征遷移學習算法研究較多,多源特征遷移學習的理論研究仍然較少,有待進一步加強.
3)基于參數的遷移學習方法
基于參數的遷移學習方法的主要思想是,如果源領域任務和目標領域任務相似,那么源領域模型中的有些參數有助于學習目標領域模型,將從源領域學到的模型參數作為初始值訓練出的目標領域模型要比用隨機初始化參數值的方式更有效.
表4中歸納和總結了一些基于參數的遷移學習方法,通過對比分析可以發現早期的參數遷移學習方法主要圍繞支持向量機模型進行.近幾年,針對深度卷積神經網絡、貝葉斯網絡和隨機森林等模型的參數遷移研究已取得初步的成果.但是,多源的半監督和無監督方式的參數遷移學習理論研究仍然較少,有待進一步加強.
4)關系型知識的遷移學習方法
關系型知識遷移學習的主要思想是將源領域內數據間的關系型知識遷移到目標領域內相似角色的數據間關系中去.只要兩個領域中屬于同等級數據的角色類似,將源領域中數據間的關系型知識遷移到目標領域同等級數據間關系的學習過程中就是“有益”的.由于遷移的對象是數據間的關系型知識,所以這種遷移方式的源領域和目標領域的數據允許非獨立同分布.舉例來說,院長在高校中所扮演的角色類似于處長在工廠中扮演的角色,而院長和教師間的關系類似于處長和職員間的關系.因此,只要建立了院長和處長角色的映射以及教師和技術員角色的映射,就可以將高校領域中的院長和教師間的關系知識遷移到工廠領域中處長和技術員間關系的學習過程中.
基于關系型知識的遷移一般適用于使用圖建模的網絡化數據,例如室內場景環境中物體間的語義關系和社會網絡數據間的關系等.文獻[36]提出了一個完備的馬爾科夫邏輯網絡(Markov logic networks,MLN)遷移系統.在MLN中,關系型領域中的實體用謂詞表示,而實體間的關系用一階邏輯表示.該方法首先將源MLN中的謂詞映射到目標領域,然后在目標領域中繼續修正其映射結構以提高其性能.文獻[54]提出了一個方法,可以在目標領域樣本極少且存在不連通單元的特殊情況下將源MLN中的謂詞映射到目標領域,從而實現關系型知識的遷移.文獻[55]中提出了一種基于高階語義關系型知識遷移的非參數化的語義分割方法,可以將源領域的標注圖片中的場景上下文關系型知識遷移給目標領域的未標注圖片.

表2 基于實例的遷移學習方法Table 2 Instance based transfer learning methods

表3 基于特征表示的遷移學習方法Table 3 Feature representation based transfer learning methods

序號 文獻 發表年份文獻中提出的算法或方法的名稱 主要思想 源領域和目標領域訓練數據的形式化描述遷移學習類型4 [47] 2015 CoMuT 提出了一種為多個源領域和目標領域尋找共同特征表示的方法,該方法采用半監督的方式將訓練數據映射到一個隱空間,利用隱空間建立源領域和目標領域的聯系.Dk src={(x(i)src,y(i)src)k}mk i=1,k=1,···,S,DTgt={x(i)tgt}k i=1∪半監督多源遷移學習{(x(i)tgt,y(i)tgt)}n i=k+1,無監督單源遷移學習和多任務學習6 [49] 2017 Autoencoder-Based FTL 5 [48] 2015 TSM 提出了一個異構特征空間映射方法和任務選擇方法用于無監督遷移學習.Dk src={x(i)m>>n k}mki=1,k=1,···,S,Dt Tgt={x(i)tgt}nti=1,t=1,···,T基于降噪自動編碼、共享隱層自動編碼和極限學習機自動編碼技術提出了三種特征遷移方法用于語音情感識別任務.Dsrc={(x(i)src,y(i)src)}m i=1,DTgt={(x(i)tgt)}ni=1,m>>n無監督單源遷移學習

表4 基于參數的遷移學習方法Table 4 Parameter based transfer learning methods
5)混合遷移學習方法
混合遷移學習的主要思想是綜合地運用上面4種遷移學習方法,進一步提高目標領域模型的學習效果.Xia等[56]提出了一種樣本選擇(Sample se-lection)和特征集成(Feature ensemble)的方法,聯合使用實例遷移和特征遷移來解決源領域和目標領域的邊緣概率密度與條件概率密度分布的差異.文獻[57]提出了一種混合遷移學習機制,分別使用實例遷移和特征遷移來解決領域特征分布差異的問題.
雖然近年來遷移學習在理論研究上取得了很多的研究成果,但是在物體識別與檢測領域應用時仍有很多新的問題需要解決.例如,許多遷移學習理論研究人員提出的算法只是在低維特征空間上進行了驗證,而物體類別的特征空間通常都是高維度的.此外,隨著深度學習等基于大數據的機器學習算法在計算機視覺領域應用中取得的巨大成功,也給深度遷移學習理論的發展和應用研究帶來了新的機遇和挑戰.
1)類別級物體識別方法研究現狀
在類別級物體識別領域,比較有影響的方法主要包括基于詞包(Bag of words,BoW)模型[58]的方法和基于深度卷積神經網絡(Convolutional neural network,CNN)模型的方法兩大類.文獻[59]中對基于詞包模型的圖像分類方法進行了較為系統的綜述,歸納總結了PASCAL VOC競賽從2005年至2012年的冠軍團隊使用的方法,指出所有冠軍團隊的算法都是基于詞包模型.2012年被視為類別級物體識別領域的一個重大轉折點,主要體現在基于深度CNN模型的方法以較大的優勢超越了基于詞包模型的方法.近幾年,隨著深度學習理論在計算機視覺領域的廣泛應用,基于大規模數據集和深度CNN模型的方法已成為類別級物體識別與檢測研究的主流方向,研究主要集中在CNN體系結構的設計與CNN模型訓練過程的優化.
表5對歷屆ILSVRC(Image Net large scale visual recognition challenge,ILSVRC)競賽中出現的基于CNN模型的物體識別方法進行歸納總結.通過對比表5中的數據不難看出,2010年和2011年的冠軍團隊使用的方法是詞包模型結合SVM分類器,2012年以后ILSVRC的冠軍團隊方法都是基于深度CNN模型的,性能的提高主要通過設計新的CNN的體系結構和提出新的模型優化技術.雖然基于大規模數據集和深度CNN模型的物體識別方法取得了很高的分類準確率,但是當訓練樣本不足時深度CNN模型易于過擬合,而且CNN模型的層次過深時還會出現性能退化問題.另外,在源領域訓練得到的深度CNN模型不能直接應用于特征分布不同的目標領域物體識別任務.因此,將遷移學習理論引入類別級物體識別領域,降低深度CNN模型訓練對于大規模數據集和高配置硬件資源的依賴,進一步解決跨領域特征分布差異和類分布不平衡等實踐中遇到的問題很有現實意義.
2)類別級物體檢測方法研究現狀
近年來,在類別級物體檢測領域,比較有影響的方法可以分為基于滑動窗口的方法和基于深度CNN模型的方法兩大類.基于滑動窗口的類別級物體檢測方法以可變形部件模型[67]為代表,2013年基于深度CNN模型和選擇性搜索(Selective search)技術的R-CNN[68]的框架的出現,使得類別級物體檢測進入一個全新的時期.

表5 ILSVRC圖像分類方法[60]Table 5 Imageclassification methods in ILSVRC[60]
近幾年,基于深度CNN模型的類別級物體檢測方法可以分為兩個主要方向:
1)基于候選區域建議(Region proposal)和深度CNN分類的兩階段(Two stage)物體檢測方法,代表性工作有R-CNN[68]、SPP-NET[69]、Fast R-CNN[70]、Faster R-CNN[71]和 Mask R-CNN[72]等.
2)將物體檢測轉換為回歸問題的一階段(One stage)物體檢測方法,代表性工作有YOLO[73?74]、SSD[75]、G-CNN[76]和 RON[77]等.
值得指出,由于這兩個方向采用的檢測框架存在差異,導致算法的性能也各有優勢,兩階段物體檢測方法的準確率占優,而一階段物體檢測方法的檢測速度占優.
表6中歸納和對比了典型的物體檢測方法,對每個方法的創新點進行了簡要的描述.近年來,物體檢測領域的兩階段方法和一階段方法普遍基于深度CNN模型、大規模數據集和高配置的硬件設備,并且只是在訓練和測試領域不變的前提條件下表現出了十分優異的性能.但是,在訓練樣本不足、硬件資源受限和跨領域等情況下,基于深度CNN的物體檢測方法的性能將出現較大幅度的退化.因此,基于深度CNN和遷移學習的類別級物體檢測是一個很有意義的研究方向.
分類器訓練是類別級物體識別與檢測中的關鍵,在類偏態分布(Skewed class distribution)的數據集的上訓練分類器會導致容易訓練出有偏向性的分類器,因為只要投機性地將多數類標簽作為預測輸出就會獲得很高的訓練正確率.但是,如果少數類樣本的分類錯誤代價遠遠高于多數類樣本,這種帶有偏向性的分類器是毫無意義的.Weiss[78]指出,機器學習中的類不平衡包括類相對不平衡和類絕對不平衡兩種情況.以二元分類為例,類相對不平衡指的是分類器訓練時可以提供足夠數量的正訓練樣本,只是正負訓練樣本數量的比例失衡.類絕對不平衡指的是正訓練樣本數量嚴重稀缺且正負訓練樣本數量的比例失衡.在物體識別任務中,由于一些物體的數據采集代價很高,導致其訓練樣本數量嚴重匱乏.因此,當采用有區別的(Discriminative)方式訓練分類器時,分類器將偏向于始終輸出訓練數據中多數類的標簽,這將導致分類器無法有效地識別物體.對于物體檢測任務而言,當采用有區別的方式訓練物體的檢測器時,正訓練樣本通常在訓練圖片中標注的矩形框中提取,而負訓練樣本則在訓練圖片的背景區域隨機地大量提取.由于訓練時使用的負樣本數量遠遠多于正樣本數量,訓練出來的物體檢測器則很容易帶有偏向性且易于過擬合.

表6 典型的物體檢測方法Table 6 Typical object detection methods
近年來,機器學習領域圍繞類不平衡學習問題進行了大量的理論研究.He等[79]對類不平衡條件下的模型訓練和度量方法給出了一個較為全面的綜述.文獻[79]將已有的類不平衡學習方法分為三種主要的類型:數據級(Data-level)方法、算法級(Algorithm-level)方法和成本敏感(Cost-sensitive)方法.對于“數據級方法”而言,在模型學習過程中對少數類訓練樣本的過采樣(Over-sampling)和對多數類訓練樣本的欠采樣(Under-sampling)策略被廣泛用于再平衡類的偏態分布.Zhou等[80]通過實驗比較了隨機過采樣(Random over-sampling,ROS)和隨機欠采樣(Random under-sampling,RUS)方法在訓練成本敏感(Cost-sensitive)神經網絡時的作用.文獻[81?83]中提出了人工合成少數類過采樣技術(Synthetic minorities over-sampling technique,SMOTE)及一系列擴展方法來解決類不平衡問題.盡管ROS、RUS和SMOTE技術在解決類相對不平衡問題時取得了較好的效果,但是在解決類絕對不平衡問題時的作用仍很有限.對于“算法級方法”來說,采用的主要策略是基于類不平衡的訓練數據集將采用類平衡算法訓練出來的模型適配(Adapt)為滿足類不平衡應用.對于“成本敏感方法”而言,主要策略是在訓練模型時為少數類訓練數據分配一個較大的權重,而為多數類訓練數據分配一個較小的權重.
到目前為止,在機器學習的理論研究層面,利用遷移學習解決類不平衡學習問題的研究仍然較少.Al-Stouhi等[84]提出了一個Rare-transfer算法,通過引入依賴于類標簽的校正因子來減緩源領域樣本權重的收斂速度.文獻[84]中特別指出,Raretransfer算法是第一個在實例遷移框架下解決類不平衡問題的算法,論文中對算法的驗證使用的是文本挖掘應用.文獻[85]在類不平衡條件下對比了主流遷移學習算法和傳統機器學習算法的性能.Wang等[86]提出了一種基于平衡分布適應(Balanced distribution adaptation)的深度遷移網絡模型,通過自適應地平衡邊緣分布和條件分布差異來解決類不平衡問題帶來的挑戰.文獻[35]提出了一個兩階段學習框架,可用于解決多源遷移學習過程中的負遷移和類分布不平衡問題,并且從理論上證明了所提出方法的錯誤邊界.Su等[87]基于自適應閾值化和二次加權思想提出了4種方法來解決類不平衡數據對自適應正則化遷移學習(Adaptation regularization transfer learning)算法的影響,并且在UCI數據集和腦電圖分類應用中驗證了所提出方法的有效性.
在物體識別與檢測領域,雖然文獻[67?68]中通過難負例挖掘(Hard negative mining)結合支持向量機(Support vector machine,SVM)的方法在類不平衡條件下訓練出了準確率較高的物體檢測器,但是難負例挖掘技術通常只適用于類相對不平衡條件下的物體識別與檢測任務,即少數類訓練樣本的數量不是真正的稀缺(Scarity),只是相對于多數類訓練樣本而言數量上有些比例失衡.針對物體檢測中出現的類絕對不平衡問題,文獻[88]中提出了一個RUS-SMOTEBoost算法來訓練分類器并將其用于物體檢測的再分類階段,該算法在每一輪boosting迭代時都對目標領域的多數類訓練樣本進行RUS采樣,對少數類訓練樣本進行SMOTE采樣,以保證在類絕對不平衡時減少SMOTE運算的開銷.
在基于遷移學習的類不平衡物體識別與檢測方面,文獻[89]針對類不平衡的無監督領域適應問題,提出了一種最鄰近共同空間學習(Closest common space learning,CCSL)算法,通過引入隱領域變量(Latent domain variable)來表征領域內和領域間的類標簽和結構信息,該算法的求解過程可以視為同時進行實例加權和子空間學習.Tsai等[90]提出了一個領域受限遷移編碼(Domain constraint transfer coding,DcTC)算法,該算法通過挖掘單領域或跨領域隱子空間的方式學習一個共同的特征空間,并將其用于領域適應和分類.Wang等[91]從統計學的角度提出了一個平衡分布適應(Balanced distribution adaptation,BDA)算法,可以自適應地權衡源領域和目標領域間邊緣分布和條件分布的差異,然后基于BDA算法提出了加權平衡分布適應(Weighted balanced distribution adaptation,W-BDA)算法,用于解決遷移學習中的類分布不平衡問題.在文獻[92]中針對物體識別中的類絕對不平衡問題,提出了一種人工合成實例遷移學習的方法,其基本思想是利用源領域和目標領域的訓練樣本人工合成出一些樣本,然后通過實例遷移的方式有選擇性地從源領域實例和人工合成實例中遷移一部分“有用”的實例到目標領域中.通過為每個人工合成實例分配一個合理的權重,將其動態加入TrAdaboost算法的每一輪弱分類器訓練過程中.文獻[89?92]中的每個方法均通過實驗驗證了其在類不平衡物體識別應用中的有效性.
綜上所述,類不平衡條件下的遷移學習理論研究積累比較薄弱,尤其缺少各種類不平衡遷移學習算法的理論損失邊界的定量化證明,這從某種程度上阻礙了算法的應用研究.另外,基于遷移學習理論的類不平衡物體識別與檢測研究主要集中在基于實例和特征遷移的類別級物體識別范疇,對于類絕對不平衡條件下的物體檢測方面的研究比較少見.
跨領域物體識別與檢測的主要挑戰來自于跨領域帶來的特征空間差異.近年來,遷移學習和領域適應中的一些理論開始被廣泛應用于解決跨領域物體識別和檢測任務中.值得指出,領域適應屬于遷移學習的一個分支,側重于研究兩個領域間的特征分布不同但任務相同的遷移學習.
在物體識別與檢測應用中,同構特征的含義是指源領域和目標領域的特征提取和編碼方法相同.此時,表示源領域和目標領域物體的特征向量維度相同,物體特征分布的差異主要由圖像內在差異性導致,例如拍攝視角變換、圖像分辨率或者圖像紋理特性等.
文獻[93]中提出了一個有監督的對稱特征變換學習算法用于跨領域的多類物體識別,該算法基于Davis等提出的信息論度量學習(Informationtheoretic metric learning)方法[94]學習特征變換函數.文獻[95]中提出了適用于目標領域分布隨時間進化的連續流形適應方法(Continuous manifold adaptation),該方法將每一個目標領域的樣本均視為隱含采樣于目標領域流形的一個不同的子空間上.文獻[96]提出了一種自適應結構化SVM(Adaptive structural SVM,A-SSVM)算法用于有監督的行人檢測,同時基于高斯過程回歸等方法提出一種無監督的行人檢測方法.文獻[97]中提出了一種深度遷移網絡(Deep transfer network)框架,將深度神經網絡用于跨領域的特征分布匹配,并且在跨領域多類物體識別應用中對算法的有效性進行了驗證.Yang等[98]提出了一個Boosting框架下的多特征學習方法,通過迭代地學習多特征表示來解決無監督領域適應的問題.文獻[99]中提出了一種深度適應網絡DAN,將深度CNN應用到了領域適應中.在DAN中,每個任務的隱特征表示被嵌入共生核Hilbert空間中進行匹配.Yan等[100]提出了一個最大化獨立領域適應(Maximum independence domain adaptation)算法,用于從領域特征中學習出最大化獨立特征,并且在跨領域多類物體識別應用中對算法的有效性進行了驗證.Long等[101]提出了一種無監督的領域適應方法,利用深度神經網絡從有類標簽的源領域訓練數據和無類標簽的目標領域訓練數據中同時學習分類器和可以遷移的特征.文獻[102]基于前向神經網絡和對抗式訓練方法提出了一種無監督的領域對抗神經網絡DANN,可以使用標準后向傳播和梯度下降算法進行模型訓練.Long等[103]基于希爾伯特空間嵌入(Hilbert space embedding,HSE)和聯合最大化平均差異準則(Joint maximum mean discrepancy,JMMD)提出了一種聯合適應網絡(Joint adaptation networks,JAN),通過使用對抗式訓練的方法最大化源領域和目標領域間的JMMD度量.文獻[104]在Faster R-CNN框架下提出了領域不變候選區域生成(Domain-invariant region proposal,DRP)網絡,基于實例和遷移學習實現了跨領域的物體檢測.文獻[105]提出了一種弱監督的漸進式領域適應方法,通過領域變換(Domain transfer,DT)和偽標注(Pseudo-labeling,PL)兩種方法人工生成的樣本對源領域檢測器進行微調實現跨領域物體檢測.
表7對文獻[93?105]中提出的方法進行了歸納和總結,通過對比分析可以看出當前研究主要是基于單源無監督領域適應的物體識別應用研究,其中深度神經網絡和特征遷移學習的結合性研究較多.不難發現,基于同構特征遷移的物體檢測研究在近三年才逐漸活躍起來,這可能與類絕對不平衡條件下的特征遷移學習理論研究仍比較薄弱有關系.
在物體識別與檢測應用中,異構特征的含義是指源領域和目標領域的特征提取和編碼方法完全不同.一般來說,異構特征遷移算法更為通用,它們也適用于同構特征空間的物體識別與檢測任務.Kulis等[106]擴展了文獻[93]中的方法并且提出了一個非對稱特征變換學習算法,該算法允許源領域和目標領域的特征維數不一樣.文獻[107]針對異構領域適應問題,提出了一種異構特征擴增(Heterogeneous feature augmentation)方法,該方法將源領域和目標領域中維度不同的特征映射到一個共同的子空間,以此來減少跨領域特征分布的差異性.Xiao等[108]基于Hilbert-Schmidt獨立性準則將目標核矩陣(Target kernel matrix)和源核矩陣(Source kernel matrix)的子矩陣進行匹配,以此將目標領域數據映射為源領域的相似數據,同時利用源領域數據學習一個源領域分類器.文獻[109]提出了一個跨領域標志選擇(Cross-domain landmark selection)算法用于異構領域適應,該算法可以識別跨領域的標志性數據并將其用于生成領域不變的特征子空間.
表8對文獻[106?109]中提出的方法進行了歸納和總結,通過對比分析可以看出異構特征遷移學習理論在物體識別與檢測領域的應用難度很大,目前的研究主要集中在物體識別應用領域,且主要采用有監督和半監督學習方式.另外,由于嘈雜背景的干擾和類分布不平衡等因素的影響,異構特征遷移學習理論在物體檢測中的相關研究很少見到.

表7 基于同構特征遷移的物體識別與檢測方法Table 7 Homogeneous feature transfer based object recognition and detection methods

表8 基于異構特征遷移的物體識別與檢測方法Table 8 Heterogeneous feature transfer based object recognition and detection methods
雖然已經有大量的遷移學習算法通過學習特征變換函數來解決跨領域物體識別遇到的特征分布差異問題,但是這些方法絕大多數采用的都是離線學習的方式,即目標領域的訓練數據是以離線方式獲取的.當源領域訓練數據集的規模很大或者目標領域訓練數據通過在線方式獲取時,采用離線方式學習特征變換通常由于內存開銷過大導致無法滿足實際應用的需求.目前,關于在線特征變換學習的研究較為少見,Zhao等[110]提出了一個在線遷移學習框架用于解決同構和異構領域適應問題,但是他們的工作主要集中于二分類在線遷移學習和文本挖掘應用.文獻[111]中提出了一個在線遷移學習框架用于捕獲代理(Agent)間的交互,指出強化學習中的遷移學習屬于在線遷移學習的一種特殊情況.文獻[112]針對離線方式學習特征變換時內存開銷過大的缺點,提出了一系列在線線性和非線性特征變換學習算法,通過在線學習的方式來學習特征變換函數,有效地減少了計算機的內存開銷.
近年來,基于深度學習的物體識別與檢測方法取得了極大的成功,但是這些方法適用的前提條件是有高質量的大數據和高配置的硬件設備支持.但是,在移動機器人環境感知領域,當移動機器人使用三維激光測距儀等傳感器獲取三維點云數據時,由于采集成本較高,三維點云數據集的規模和含有的物體種類相對于Web圖片數據集而言小很多.當目標領域訓練數據不足時,訓練的模型易于過擬合,即在訓練數據上表現很好,但在測試數據上的泛化能力很差.因此,解決過擬合問題對于某些特殊應用需求的物體識別與檢測任務而言十分重要,遷移學習中的多任務學習、實例遷移和參數遷移可以用來解決這個問題.
多任務學習通過聯合利用包含在多個相關任務中的有用信息,同時改善模型完成多個任務時的泛化能力,如圖2所示.由于多任務學習涉及目標領域內多個任務間知識的共享和遷移,本文將其視為遷移學習的范疇.對于多類物識別與體檢測任務而言,每個類別的物體識別與檢測可以視為一個任務,多任務學習的動機是聯合訓練多個物體分類器要比單獨地訓練每一個物體分類器的效果更好.
Ghifary等[113]提出了一種多任務自動編碼器(Multi-task autoencoder),可以在跨領域物體識別時具有更好的泛化能力.文獻[114]提出了一種層次化深度多任務學習算法,用于大規模物體識別(例如:自動識別成千上萬個原子物體類別)應用,該方法中使用視覺樹(Visual tree)的方法將視覺上相似的原子物體(Atom object)類別分類為一組,以此自動標識多個任務的內部相關性.Torralba等[115]基于GentleBoost集成學習和決策樹樁弱分類器提出了一種多任務特征選擇類型的算法JointBoost,基于共享碎片特征實現復雜場景中的多類多視角物體檢測任務,該方法通過在多物體類別間尋找共享特征的方式降低了小樣本帶來的模型過擬合風險并且提高了模型的健壯性.文獻[88]在Torralba等[115]工作的基礎上,利用BA圖表示模型和再分類等技術實現了基于三維點云的多類多視角物體檢測.Li等[116]基于帶有全局輸入和輸出的全連通神經網絡提出了一種多任務深度顯著模型.該模型使用了多任務學習框架來發現語義圖像分割和顯著性檢測之間的內在相關性.文獻[117]提出了一種端到端的多任務學習方法,可以聯合學習出物體及其行為.Chu等[118]提出了一種基于多任務深度卷積神經網絡和感興趣區域投票(Region-of-interest voting)的車輛檢測框架,該設計使得卷積神經網絡模型可以共享不同的車輛屬性中的視覺知識.Lu等[119]提出了一種多模態樹結構嵌入多任務學習方法,該方法既可以選擇有區別能力的特征,也可以選擇多個相似的分類任務共享的特征.文獻[120]提出了一種聯合稀疏表示和多任務學習的方法用于光譜物體檢測,利用多任務學習技術將稀疏表示模型集成到多個相關的子光譜圖像中.Zhang等[121]提出了一種多任務相關粒子濾波(Multi-task correlation particle filter)方法用于物體跟蹤應用中,其中多任務相關濾波利用多個不同特征的內部相關性來聯合學習相關濾波.

圖2 單任務學習vs.多任務學習過程Fig.2 Single task learning vs.multi-task learning process
訓練數據匱乏導致的分類器過擬合問題還可以通過從源領域遷移一些實例來擴大目標領域的訓練數據規模的方法來解決.由于真實場景中嘈雜背景和類分布不平衡等因素的影響,基于實例遷移的物體檢測研究較少,主要困難在于如何有效地選擇“有用”的實例來擴增目標領域數據集,同時有效地避免負遷移的發生.文獻[122]針對多類物體數據集中部分物體類別缺少訓練數據的問題,通過從其他相關物體類別中直接遷移實例或者簡單變換后再遷移實例的方式,擴大了部分物體類別的訓練數據集規模.Zhang等[92]提出了一種基于人工合成實例遷移學習的物體識別方法,其基本思想是利用源領域和目標領域的訓練樣本人工合成出一些樣本,然后通過實例遷移的方式有選擇性地從源領域實例和人工合成實例中遷移一部分“有用”的實例到目標領域中.
在跨領域多類物體識別中,有時候源領域只有若干訓練好的模型卻沒有訓練數據可以提供.這時,如何利用這些已有的源領域模型和少量的目標領域樣本訓練出泛化能力更好的目標領域模型是一個很有意義的工作.目前,一些基于支持向量機[23,67]或卷積神經網絡(Convolve neural network,CNN)的參數遷移算法[68]已經被用于解決這個問題.這些算法的主要思想是以源領域模型中的部分或全部參數值作為目標領域模型訓練時的參數初始值,然后利用少量的目標領域訓練數據來繼續學習目標領域模型.基于參數的遷移學習通常要求源領域和目標領域的模型使用相同的算法進行訓練.
Xu等[96]在可變形部件模型[67]基礎上提出了兩種半監督領域適應方法和一種無監督領域適應方法,將從虛擬世界行人圖片集上訓練的模型知識遷移到對真實世界行人圖片的物體檢測任務中.Malisiewicz等[123]利用一個正訓練標本(Examplar)和大量的負訓練樣本去訓練一個標本支持向量機(Examplar-SVM,E-SVM)模型,并將E-SVM 模型集成后用于物體檢測任務中.正訓練標本中包含的元數據(Meta-data)知識(例如,分割信息、幾何結構和3D模型等)可以直接遷移到目標領域的檢測任務中.文獻[124?125]基于E-SVM 的思想提出了一種基于部件的遷移正則化方法EE-SVM,通過從標本支持向量機模型中遷移部件級參數到新模型中構造出泛化能力更強的模型.文獻[126]中使用參數遷移的方法從源領域CNN模型中遷移參數用于訓練目標領域CNN模型,其中源領域模型使用的是AlexNet體系結構[61],目標領域CNN模型的體系結構則是在AlexNet體系結構上針對目標領域的任務特點進行了調整修改.Hoffman等[127]提出了一個方法用于將CNN在源領域RGB圖片集上訓練的模型遷移到目標領域中基于深度圖的應用中.
通過第4.1節~第4.3節的文獻綜述,可以看出多任務學習、實例遷移和參數遷移在解決訓練數據匱乏所導致的模型過擬合問題上各具特點.多任務學習適用于目標領域內有多個相關任務且每個任務的訓練數據不足的情況,此時知識的共享和遷移僅在目標領域內部進行,不涉及到源領域中知識的遷移.因此,目標領域內多個任務的相關性和任務的數量對于模型的學習效果影響很大.實例遷移在用于解決模型過擬合問題時,主要是通過遷移單個或多個源領域的實例或者人工合成一些實例來擴增目標領域的數據集規模,進而提高訓練出的模型的泛化能力.此時,如何快速地挑選或人工合成出“有用”的輔助實例且避免負遷移很重要.由于遷移學習中的“負遷移”問題尚未得到有效解決,目前在實際應用中主要是利用圖像抖動(Image jittering)方法(即圖像的旋轉、縮放和平移等)來擴增目標領域的數據集規模.參數遷移在解決模型過擬合問題時,前提條件是目標領域需要訓練的模型和源領域中已有的模型體系結構一致且訓練算法相同,利用目標領域小規模的訓練樣本對已有的源領域模型進行參數微調.總的來講,上述三種方法的適用場合各不相同,在應用時需要根據實際情況選用.
從當前的研究現狀來看,遷移學習理論正在物體識別與檢測領域進行著大量的實踐應用.所發表的研究成果主要集中在特征遷移和參數遷移的范疇內,在利用遷移學習理論來解決類不平衡、異構特征和運動物體檢測等方向的應用仍然較少.因此,未來的研究重點可以概括為以下4個方面:
1)深度學習和遷移學習相結合
近年來,深度學習在計算機視覺領域的應用很成功,通過依賴大數據和GPU硬件設備等的支持,將多類物體識別與檢測的準確率大幅度地進行了提升.但是,深度學習對于數據質量和規模的要求在某些移動機器人的應用領域是無法滿足的.因此,如何利用遷移學習降低深度學習對大數據的依賴是個十分重要的研究工作.
2)在線學習與遷移學習相結合
在移動機器人應用中,在視頻流中進行運動物體追蹤是一個更加有挑戰性的研究課題.移動機器人通常采用多類傳感器在不同環境中對感興趣的物體進行追蹤定位,當機器人所處的外部環境不斷發生變化時,如何讓機器人在進行物體檢測時能夠實時地適應環境的變化是個很有挑戰性的研究工作.
3)跨傳感器和異構特征空間的遷移學習
由于使用不同的數據采集傳感器或者特征提取和編碼方法生成的物體特征分布差異顯著.例如,將從基于RGB彩色圖片的物體檢測任務中學習到的知識遷移到基于三維點云、BA圖或者深度圖的物體檢測任務中是個更有挑戰性的研究工作.因此,在跨傳感器和異構特征空間下進行知識的遷移將面臨來自特征分布異構、嘈雜背景干擾和小數據量等眾多因素的干擾.
4)多源知識遷移和避免負遷移問題
目前,遷移學習領域對于多源遷移學習在物體識別與檢測中的應用研究較少.遷移學習算法在海量的多源知識中窮舉搜索“有用”的知識會導致知識的遷移時間過長,無法滿足物體檢測對實時性的需求.另外,源領域中“有用”的知識和“有害”的知識是并存的,如何避免負遷移是減少遷移學習過程中嘈雜背景對于物體檢測準確率影響的關鍵.
近年來,隨著移動機器人主動環境感知等領域對于物體識別與檢測技術的需求不斷變化,對于遷移學習理論的發展和應用也提出了更高的要求,新的基于遷移學習的物體檢測方法和思路也不斷涌現.以下是對該研究領域的技術發展趨勢的展望:
1)基于深度遷移學習的物體識別與檢測
基于深度學習的物體檢測方法的模型訓練中普遍使用了大規模數據集和深度卷積神經網絡.因此,引入遷移學習的目的主要在于通過改進CNN的訓練過程提高物體檢測的準確率.Yosinski等[128]通過大量物體識別實驗定量分析了卷積神經網絡編碼特征過程中,哪一個卷積層編碼的特征更適合進行遷移學習使用.文獻[129]提出了一種半監督遷移學習方法,將多核最大平均差異(Multikernel maximum mean discrepancy)損失引入微調卷積神經網絡遷移學習框架中并用于中文字符識別.Christodoulidis等[130]提出了一種基于多源遷移學習的方法,使用多個源領域數據集預訓練模型并將其遷移到目標領域的模式識別任務中.
2)基于在線遷移學習的運動物體檢測
近幾年,運動物體檢測(或物體跟蹤)的方法可以分為三個主要方向:
a)基于檢測的物體跟蹤(Tracking by detection),比較有代表性的工作有TLD[131]、Struck[132]和DCEM[133]等.該類方法與基于靜態圖片的物體檢測方法類似,區別在于對特征和機器學習的速度要求更高,檢測范圍和尺度更小.
b)基于相關濾波(Correlation filter)的物體跟蹤[134],比較代表性工作有CSK[135]、KCF[136]和CN[137]等.該類方法的主要思想是學習一個濾波器,然后和圖像進行卷積操作得到相關信息圖,圖中相關值最大的點就是物體的位置.
c)基于深度學習的物體跟蹤,比較有代表性的工作是 DLT[138]、SO-DLT[139]、FCNT[140]、MDNet[141]和RTT[142]等.上述基于深度學習的物體跟蹤方法中大量地使用了CNN模型的預訓練和微調(參數遷移)的策略,其他的遷移學習方法使用較少.
3)基于異構特征遷移學習的物體識別與檢測
近幾年,基于異構特征領域適應的跨領域多類物體識別研究的較為深入,比較有代表性的工作有ARC-t[106]、HFA[107]、MIDA[100]和 CDLS[109]等.目前的研究主要集中在多類物體識別的應用范疇,在跨領域物體檢測方面的研究很少見,主要原因是嘈雜背景對異構特征遷移學習的干擾較大,影響了遷移學習的效果.在未來,異構特征遷移在物體檢測領域的應用將是一個很有應用價值的研究工作.
基于遷移學習的類別級物體識別與檢測的應用研究工作,將為基于小規模數據集的物體識別與檢測應用提供一系列有效的解決方案,同時也會推動遷移學習理論的深入發展.要在該領域取得創新性的研究成果,必須把遷移學習理論和物體識別與檢測技術有機地結合起來,兼顧理論創新與技術創新.此外,遷移學習可以彌補基于大數據和深度學習的物體識別與檢測方法的不足,遷移學習的引入將為該領域的深入發展提供一個新的研究方向,為其注入新的活力.