陳耀東,劉 琴,彭蝶飛
(1.長沙師范學院 a.信息與工程系; b.科研與學科建設處,長沙 410100; 2.湖南省教育科學研究院 職業(yè)教育與成人教育研究所,長沙 410005)
姿態(tài)估計主要針對圖像數(shù)據(jù)的人體組件定位問題,是當前圖像識別領域的一個熱門研究[1],具有廣泛的應用前景。區(qū)別于圖像分類,姿態(tài)估計模型一般考慮建立組件外觀和組件空間關系,將組件定位轉換為一個結構化分類問題[2]。估計模型的參數(shù)學習一般基于傳統(tǒng)的監(jiān)督學習方式[3-4],監(jiān)督學習的一個前提假設是訓練數(shù)據(jù)集(以下簡稱為源集)與測試數(shù)據(jù)集(以下簡稱為目標集)處于相同或趨近的特征分布,這在現(xiàn)實環(huán)境中通常難以滿足。例如通過田徑運動場景的運動員動作集訓練而成的姿態(tài)估計模型去識別停車場監(jiān)控視頻中的行人姿態(tài),由于2種數(shù)據(jù)集在人體姿態(tài)分布上具有較大差異,采用傳統(tǒng)學習算法獲取的估計模型其泛化性能難以保證。領域自適應(Domain Adaptation,DA)是近幾年提出的一種新的機器學習方法,能有效地解決上述分布差異環(huán)境下的參數(shù)學習問題[5-7]。在DA中所謂的“領域”差異從狹義上說是源集和目標集的分布差異,而廣義上還可指代為待學習模型的任務差異。DA目前在人工智能的各個領域都有相關的應用,例如自然語言處理的中文分詞[8]、情感分析[9],計算機視覺的圖像分類[10]、目標檢測[11-12]等二值分類任務。另外,文獻[13]提出了一種面向結構化輸出的DA算法,該算法重新定義了結構化支持向量機(Structural SVM,S-SVM)[14]的損失函數(shù)。在優(yōu)化目標參數(shù)的同時保持其與源參數(shù)的相似性,該算法成功應用于部件標注任務的跨領域?qū)W習。
在上述的DA方法中,多數(shù)是將目標參數(shù)作為一個整體來考慮與源參數(shù)的自適應程度,這對于圖像分類[10]、目標檢測[11]等基于全局特征的識別方法行之有效,但在基于局部特征的識別方法(例如基于部件的方法)中受到限制。因為對于此類算法的目標參數(shù)而言,不同局部特征指向的目標參數(shù)其自適應度(或者說遷移度)并不一致,典型的如姿態(tài)估計場景,頭部、軀干無論在外觀還是相對位置,變化程度均比手臂、腳部等更小,那么自適應度相對較高,反之亦然??梢?“細粒度”的自適應學習能夠使得目標模型更具魯棒性。為此,本文提出一種組件感知的自適應學習算法。該算法的訓練過程將目標的整體學習更改為各組件獨立學習自適應過程,即各組件能夠自動感知“合適的”自適應權重。為使學習過程效率更高,本文引入基于主動學習的2種樣本選取策略。通過選取對知識遷移有用的樣本子集進行訓練,從而加速參數(shù)學習的收斂過程。
圖1展示了姿態(tài)估計任務的基本過程。給定的某目標圖像,通過一個已學習的估計模型(見圖1(a))自動定位該目標預定的一個組件集(見圖1(b))。當前的估計模型主要采用判別統(tǒng)計模型,下面給出具體的形式化描述。
圖1 姿態(tài)估計的主要任務
假設待估計目標由p個組件構成,每個組件由向量h=(x,y,l,θ)定位,其中,(x,y)表示該組件的坐標,(l,θ)分別代表尺度和方向。姿態(tài)估計的計算過程即是在給定的目標圖像I中搜索所有可能的姿態(tài)H并且選擇具有最高得分的姿態(tài)。候選姿態(tài)H的得分可用下式計算:
(1)
(2)
(3)
-(d1,d2,d3,d4,d5,d6,d7,d8)T·
(Δx,Δx2,Δy,Δy2,Δl,Δs2,Δθ,Δθ2)
(4)
Δx=(xi-xj),Δy=(yi-yj),…,Δθ=(θi-θj)
(5)
(6)
Score(H,I)=W·φ(H,I)
(7)
(8)
姿態(tài)估計的目標即是在給定的目標圖像中找出最佳的姿態(tài)候選:
H*={(h0,t0),(h1,t1),…,(hp,tp)}
滿足:
H*=argmaxScore(H,I)
其中,hi和ti分別代表第i個組件的位置向量和子類型。不同于目標檢測[15],姿態(tài)估計輸出具有樹狀結構的結果值H(見圖1(d))。估計模型的參數(shù)學習一般采用傳統(tǒng)的學習算法,如S-SVM[14],但此類算法只有假定源集與目標集處于相同的特征分布才能達到有效的學習,當現(xiàn)實環(huán)境不滿足假設時將限制W的泛化性能。下一節(jié)將討論基于DA的結構化學習算法,以解決源集與目標集處于不同分布場景的參數(shù)學習問題。
本節(jié)首先闡述組件感知的DA算法,然后介紹基于主動學習的樣本選取策略,最后對兩者進行整合。
minWR(W)+C·L(W,DL)
(9)
(10)
對比式(9)和式(10)可以看出,自適應學習不是直接優(yōu)化目標參數(shù)W,而是希望從目標訓練集DL中找到一個與源參數(shù)WS接近的目標參數(shù)W,同時滿足該參數(shù)在DL中具有最小的分類損失值。由第1節(jié)可知,姿態(tài)估計的參數(shù)向量W即是所有組件權重向量的線性組合,若根據(jù)式(10)的優(yōu)化,每個組件均以相同的權重控制對應參數(shù)集Wi的自適應過程。事實上,每個組件的分布差異程度是不同的,例如人的頭部外觀變化相比前肢變化要小,因而分布差異度也較小。基于此,本文重新定義正則算子,引入β=(β1,β2,…,βp)代表每個組件的自適應權重,即:
(11)
(12)
(13)
式(13)適于歸入二次規(guī)劃問題求解,其對偶形式為:
(14)
式(14)的計算與常規(guī)的S-SVM相仿,本文限于篇幅不做具體闡述,詳見文獻[14],參數(shù)優(yōu)化過程與樣本選取策略整合后的算法見2.2節(jié)。最終目標函數(shù)形式如下式所示。
ΔW′·φ(H,X)]
(15)
目標分類器由源分類函數(shù)與差值函數(shù)2部分組成,注意源分類函數(shù)是由帶有適應權重的多個組件分類器組合而成。
2.1節(jié)的組件感知DA算法仍是基于監(jiān)督學習方式,即采用目標領域的標注訓練樣本集DL作為目標參數(shù)的訓練依據(jù)。對監(jiān)督學習方式而言,標注訓練集的“質(zhì)量”是影響算法分類性能的一個重要因素。若標注實例具有足夠的代表性或者判別性,則通過式(12)得到的目標參數(shù)W具有更強的泛化能力。當目標集規(guī)模龐大,隨機選取是唯一可行的方法,但如果目標集規(guī)模不大,主動學習顯然更為有效。從樣本添加方式上,目前主動學習研究有基于樣本池和基于數(shù)據(jù)流的2種,簡單而言,前者是逐個添加樣本,后者是批量添加。主動學習的研究更多著重于選取策略,主要有基于不確定度的方法、基于樣本空間縮減的方法、委員會方法、基于未來泛化誤差率縮減的方法等[17],文獻[18]基于SVM的學習過程提出了2種主動學習策略——基于最不確定的和基于最確定的樣本選取,實驗證明了2種方式都比未采用主動學習策略效果要強。
區(qū)別于上述方法,本文則是從自適應的角度看待樣本選取,即趨向于選取對知識遷移有用的樣本子集。本節(jié)將討論2種樣本選取策略——基于損失率與基于歧義性的方法,選取“高質(zhì)量”的樣本子集作為訓練用的標注對象。從原理上看,基于損失率的方法即是考慮縮減目標函數(shù)的泛化誤差率,基于歧義性的方法即是考慮選取最不確定性樣本。
為方便說明,本節(jié)將式(1)的Score函數(shù)簡記為F,由源集D0訓練的分類函數(shù)記為F0,目標數(shù)據(jù)集仍記為D,DL?D表示從D當中選取的人工標注樣本集。假設P(Y|X)為某個圖像樣本X∈D的條件概率,Y為對應的分類值,且有P(X)為該樣本的邊概率。若式(1)采用經(jīng)典的結構化分類方法優(yōu)化,則函數(shù)F的期望風險R(F)表示為:
EXEY|X(ΔF(Y))
(16)
其中,ΔF(Y)度量函數(shù)F對于訓練樣本X的輸出損失度,由式(12)計算。E(X,Y)、EX、EY|X分別表示(X,Y)的聯(lián)合分布、X的邊分布和Y的條件分布。因真實的聯(lián)合分布無法獲知,本文將期望風險用經(jīng)驗風險擬合:
(17)
根據(jù)2.1節(jié)提出的自適應算法,本文希望求取一個子集DL,滿足:
DL*= argmaxDL?D(R(F0)-R(F))≈
(18)
式(18)旨在找到一個合適的子集DL?D,能最大化的表示源函數(shù)損失度ΔF0(Y)與目標函數(shù)損失度ΔF(Y)的差異值。類似于文獻[19],這里假設目標函數(shù)F的損失度歸于0或者某個訓練時設定的極小值ξ,得到
(19)
由于式(19)可能的標注子集數(shù)目非常大(共有2|D|),采用主動學習策略從目標集D當中逐個挑選樣本加入DL是一種有效的解決方法,本文共提出了2種樣本選取策略。為了描述直觀,采用二值線性SVM示意相關理論,見圖2。
圖2 自適應學習原理與主動學習策略
1)期望損失最大的實例選取(Most Expected-Error Case Selection,MECS)。由于無法獲取目標樣本PX∈DL(Y|X)的條件概率分布,因此假設PX∈DL(Y|X)≈PX∈D0(Y|X)≈PX∈D0(Y)。定義PX∈D0(Y)為Y的每個具體組件類型在源集D0上的頻率分布:
(20)
其中,freD0(pi)代表在組件pi在源集D0中的出現(xiàn)頻率,根據(jù)式(20),MECS在目標集上選取對于源分類器F0具有最大損失率的樣本(如圖2(b)所示),即:
X*=argmaxX∈DDLPX∈DL(Y)ΔF0(Y)
(21)
Y=argmaxF(H,X)
對DA問題而言,此實例能最大的反映2個數(shù)據(jù)集的分布差異,對目標集而言具有顯著的代表性。
2)歧義最大的實例選取(Most Ambiguous Case Selection,MACS)。從式(12)可知,DA算法本質(zhì)上通過調(diào)整源分類超平面W0來構建新的超平面W,MACS假設2個超平面具有足夠的相似性,那么F0總能正確的分類目標集樣本。該策略選取最具歧義(即分類信任值最低)的樣本作為標注對象。
X*=argminX∈DDL|F0(X,Y,W0)|
(22)
此策略認為那些在源分類器上小于分類間隔的目標樣本對于確定目標分界面也具有重要的判別性(如圖2(c)所示)。
將上述2種樣本選取策略整合至DA算法,整體訓練框架如下:
penalty C>0,threshold ε>0,源分類器WS.
2.DL←formula 20 or 21
3.S←?
4.repeat
6. for i=1,…,M do
8. end for
10.until
11.return (W,β,ξ)
算法首先使用源分類器WS執(zhí)行樣本選取策略,從目標集內(nèi)獲得一個標注子集DL。第4步~第10步基于cutting-plane對(W,ξ)迭代求解,關鍵思想是從訓練集DL中搜索最具懲罰度的約束條件(即某一結構化輸出)。其中第5步依據(jù)當前工作集求解目標參數(shù)W,注意這里采用式(10)的自適應優(yōu)化,然后用學習到的W從每個訓練樣本中找到最具懲罰的輸出,并加入工作集S。算法的結束條件為S不再變化,此時由S訓練的參數(shù)為給定誤差ε下的最優(yōu)解。上述訓練算法的實現(xiàn)是在開源代碼SVM-Struct[20]上修改了迭代第一步,將常規(guī)的SVM優(yōu)化函數(shù)替換為本文的式(10)。C和ε是調(diào)節(jié)SVM訓練深度的2個經(jīng)驗性參數(shù),SVM-Struct默認設定C=0.01,ε=0.1。根據(jù)文獻[14]的理論推導,C值越大或者ε值越小,訓練迭代次數(shù)越大,參數(shù)擬合度越高,本文經(jīng)過多次交叉驗證,權衡了訓練效率和過擬合問題,經(jīng)驗性地保持C的默認值,ε取0.01。
式(1)采用判別算法估計姿態(tài)時受到了2種特征分布的影響,即各組件的外觀特征分布(以下簡稱外觀分布)以及組件間的位移特征分布(以下簡稱格局分布),本節(jié)根據(jù)這2種分布差異模擬了對應的測試場景。表1顯示了目標集和評估模型的具體配置。DL表示從目標集當中按某一策略選取的標注樣本子集。本文共選取了5種學習模型,Baseline代表常規(guī)的S-SVM[14],即假定源-目標數(shù)據(jù)集處于相同分布,Ada為面向結構化輸出的DA算法[13],Ada_ca代表2.1節(jié)提出的組件感知的自適應算法,Ada_ca_MECS和Ada_ca_MACS代表Ada_ca分別整合MECS和MACS 2種樣本選取策略后的自適應算法。為了客觀對比,實驗以隨機方式從目標集合選取與Ada_ca_MECS和Ada_ca_MACS相同數(shù)量的樣本,標注后作為Ada_ca的訓練集。上述5種模型從目標集參數(shù)學習的角度來看均為監(jiān)督學習模式。
表1 實驗用源/目標集配置
本節(jié)借助2個特定的人體Pose標注集模擬組件分布差異,實驗的一個基本假設是來自不同場景的人體Pose具有不同的組件格局分布。訓練集Iterator Image Parsing(IP)[21]取自田徑運動場景,包含305張人體Pose,每個Pose由14個關鍵點標注;測試集Leeds Sport Pose(LSP)[22]未限定Pose場景,標注方式與IP相同。為了獲得更好的實驗效果,本文從LSP中隨機選取同等規(guī)模(約300)但不包含田徑場景的樣本(記為LSP300)。
表2 格局分布差異下的自適應算法性能對比 %
表2數(shù)據(jù)顯示Ada_ca、Ada_ca_MECS、Ada_ca_MACS分別采用Random、MECS和MACS 3種樣本選取策略,結果表明MECS策略表現(xiàn)最佳,因此認為MECS選取對目標集而言最有代表性(或者說判別性)的樣本,學習到的分類模型具有更強的泛化性能。MACS采用傳統(tǒng)的主動學習策略,當源-目標集的特征分布不同時,此策略只能選取對源模型有判別性的目標樣本(參見圖2(b))。
圖3進一步評估了3種樣本策略在限定樣本數(shù)目下的性能變化。2種樣本選取策略MECS和MACS均明顯優(yōu)于Random選取,其中MECS除了在樣本數(shù)40時略低于MACS,其他情形下表明更佳。
圖3 不同樣本選取策略的性能對比
本節(jié)基于2個采樣來源不同的數(shù)據(jù)集進行自適應評估。實驗假設不同的采樣來源其組件外觀的特征分布亦不同,即以不同數(shù)據(jù)集來假設組件外觀的分布差異。實驗從LSP訓練集當中隨機選取1 000個樣本(記為LSP1000),測試集基于當前主流的FLIC[23],該數(shù)據(jù)集包括5 003張從各類電影中截取的圖片,通過人工方式標注上半身10個關節(jié)點,從FLIC中隨機選取2 000個樣本。圖4顯示了5個模型在PASCAL上姿態(tài)估計的平均準確率。類似于實驗1的測試結果,4種自適應算法均優(yōu)于傳統(tǒng)的監(jiān)督學習方法(Baseline),相比一般的自適應方法(Ada),本文的組件感知自適應方法(Ada_ca)有3.1%的性能提升,而且整合主動學習策略的自適應算法同樣能進一步提升估計性能1%~2%。Ada與監(jiān)督算法Ada_ca在此實驗中的差距(約3.1%)小于在實驗1當中的差距(4.1%)主要原因是實驗1的源-目標集分布差異體現(xiàn)在組件的相對位置(即姿態(tài)的變化);實驗2的2個數(shù)據(jù)集的分布差異主要體現(xiàn)在組件的外觀形式。這表明格局分布特征(即組件的相對位置)相比外觀特征對姿態(tài)估計的性能影響更大。
圖4 外觀分布差異下自適應算法的性能對比
本文提出一種DA與主動學習相結合的訓練算法,并應用于姿態(tài)估計問題。本文算法基于最簡單的正規(guī)子擴展原理,相比近幾年提出的更先進的自適應模型(例如子空間[10]、Laplarian SVM[11]、Distribution Adaptation[12]等),仍有廣闊的研究空間。本文提出的主動學習策略是獲取“高質(zhì)量”子集的一種有效途徑,但如果目標數(shù)據(jù)集的規(guī)模非常大,則此方法因無法實現(xiàn)全局搜索而失效。下一步將考慮更為復雜的自適應場景,對本文算法進行研究與改進。