張 丹,單海軍,王 哲,吳陳煒
(1.之江實驗室,杭州 311121;2.約克大學(xué),多倫多 M3J1P3;3.商湯集團有限公司,香港 999077)
近年來,人工智能和深度學(xué)習(xí)獲得突破,成為了大眾關(guān)注的焦點。如LeCun Y,Bengio Y,Hinton G等[1]提出的深度卷積網(wǎng)絡(luò)在圖像識別領(lǐng)域大放異彩就是典型。計算機視覺是人工智能領(lǐng)域最重要的研究方向,因為視覺也是人體獲得信息最多的感官來源,Treicher[2]等通過實驗證實:視覺信息占人類獲得全部信息的83%。因此,計算機視覺也一直是各大研究機構(gòu)和企業(yè)爭相研究的熱點,也是人工智能領(lǐng)域研究歷史最長、技術(shù)積累最多的方向。本文嘗試從計算機視覺的兩大研究內(nèi)容——圖像和視頻,來闡述圖像識別與理解、視頻識別與理解的研究歷史和最新技術(shù)進展,并對計算機視覺技術(shù)在公共安防、智慧醫(yī)療、自動駕駛等領(lǐng)域的應(yīng)用現(xiàn)狀進行介紹。通過對技術(shù)及應(yīng)用的歸納和總結(jié),希望能為關(guān)注該領(lǐng)域的專家和學(xué)者提供最新且有價值的內(nèi)容。
計算機視覺的研究主體之一是圖像,目的是對圖像進行各種各樣的處理與分析。按照對圖像理解層次的不同,一般可以把計算機視覺分為低級視覺和高級視覺,低級視覺包括圖像去噪、拼接、超分辨率等傳統(tǒng)任務(wù)。通常而言,這些任務(wù)不需要計算機理解圖像上有什么,而高級視覺則明確要求計算機理解圖像上有什么,以及解決基于此而引出的新問題。本文將重點對高級視覺進行介紹。
人們通常喜歡把計算機和人腦進行對比,以更好地理解和探討計算機視覺技術(shù)在做什么。我們也由一個例子開始:對于一個牙牙學(xué)語的嬰兒,父母會拿著一張圖,問這是什么,這其實就是在教嬰兒做最簡單的圖像分類。等嬰兒大了一些,他可以指著圖上的樹、房子、小狗,依次說出這些是什么,聰明的孩子還可以用手指把房子的輪廓勾勒出來,這就是計算機視覺中的圖像檢測和圖像分割。隨著大腦發(fā)育,孩子對圖像理解地更深了,學(xué)會看圖說話了,這也就對應(yīng)了我們要介紹的圖像描述任務(wù)。
本節(jié)將以圖像分類、圖像檢測、圖像分割和圖像描述的順序,由易到難地介紹計算機視覺的幾個重要方面。
圖像分類是計算機視覺最基礎(chǔ)的任務(wù)之一,也叫圖像識別,主要通過算法識別圖像中的物體類別,如一匹馬、花朵、小狗等。該領(lǐng)域長期以來吸引了大量研究者們的關(guān)注。2012年,由Hinton團隊[3]研發(fā)的基于神經(jīng)網(wǎng)絡(luò)的算法在ImageNet圖像分類挑戰(zhàn)賽上奪得第一,并以15.3%的錯誤率大幅領(lǐng)先第二名的26.2%,一舉震驚學(xué)術(shù)界。在此之前,傳統(tǒng)算法大多使用手工設(shè)計的特征配合當時最好的分類算法支持向量機來進行分類[4],這類方法最大的問題就是當分類種類變多后,人一般很難設(shè)計出相應(yīng)的圖像特征來表示新的類別,需要相關(guān)領(lǐng)域的專家花費以年為單位的時間反復(fù)試驗。而Hinton團隊的巨大成功讓人們看到:神經(jīng)網(wǎng)絡(luò)可以通過學(xué)習(xí)大量標注后的數(shù)據(jù)以及梯度反傳算法,端到端地優(yōu)化整個圖像識別任務(wù),從而使得人們不再需要關(guān)注為每個新的種類設(shè)計獨特的特征,而只需要設(shè)計網(wǎng)絡(luò)結(jié)構(gòu)使網(wǎng)絡(luò)更容易被優(yōu)化。
神經(jīng)網(wǎng)絡(luò)一般由一層層的神經(jīng)元組成,神經(jīng)元之間通過權(quán)重進行關(guān)聯(lián),不同層的神經(jīng)元之間還會設(shè)置激活函數(shù),使得神經(jīng)網(wǎng)絡(luò)具有非線性的表達能力。在其后的幾年至今,基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法幾乎統(tǒng)治了所有計算機視覺相關(guān)領(lǐng)域。一個最重要的發(fā)現(xiàn)就是隨著神經(jīng)網(wǎng)絡(luò)的層數(shù)加深,參數(shù)增多,它的表達能力越強,能擬合的數(shù)據(jù)量越大,VGG和Inception網(wǎng)絡(luò)都是其中的典型代表。但是隨著網(wǎng)絡(luò)變深,梯度消失問題逐漸明顯,較淺的神經(jīng)層幾乎接收不到深層網(wǎng)絡(luò)傳來的梯度,導(dǎo)致網(wǎng)絡(luò)無法收斂到較好的局部最優(yōu)。此后最重要的工作就是2015年何愷明等[5]提出的殘差網(wǎng)絡(luò),該方法通過恒等映射解決了梯度消失的問題,并破記錄的將原來幾十層的網(wǎng)絡(luò)加深到了幾百層,基于該網(wǎng)絡(luò)的方法在多個挑戰(zhàn)中都取得了冠軍。2016年圍棋人機大戰(zhàn)中,以4∶1戰(zhàn)勝世界圍棋冠軍李世石的算法AlphaGo 采用的也是殘差網(wǎng)絡(luò)的結(jié)構(gòu)。雖然現(xiàn)在圖像分類問題上的研究已有很多,該領(lǐng)域的研究也相對比較成熟。但是還面臨較多的細分問題挑戰(zhàn),如同種類物體內(nèi)的識別,圖像遮擋下的物體識別與分類,視點變化和尺度變化等,這些問題都值得繼續(xù)探索。
圖像目標檢測的任務(wù)是要求算法用一個矩形框框出圖上每一個物體,并對框里的物體進行分類。從任務(wù)難度上看,圖像檢測比圖像分類增加了一個定位的功能,即需要找到圖上所有目標的位置,然后再對框進行圖像分類的處理。
經(jīng)典的檢測算法包括基于梯度直方圖(HOG)特征的算法以及Deformable Part Model (DPM)。HOG 特征算法主要提取圖上的方向梯度直方圖,并通過支持向量機來得到目標的模板。然而,對于一些非剛體、可以形變的目標來說,要用模板來窮盡其所有的姿態(tài)幾乎是不可能的。DPM的解決辦法就是對目標的每個部分單獨建立子模型,并且建立了子模型與主模型之間的形變約束。比如人的手臂可以擺到頭部附近,但是不可能離開身體兩米遠。這些先驗的位置關(guān)系通過損失函數(shù)的形式定義出來,就可以有效建模目標的變形情況。
深度學(xué)習(xí)興起后,區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(RCNN)首次將其應(yīng)用到目標檢測問題上,并在檢測準確率上大幅超越以往的HOG和DPM算法,成為了新的研究熱點[6]。RCNN首先通過Selective Search算法為圖像生成上百個候選框,再將每個候選框送入神經(jīng)網(wǎng)絡(luò)提取特征,最后用支持向量機進行分類[7]。RCNN在訓(xùn)練和測試時都有多個步驟,只有其中提取特征的部分是由神經(jīng)網(wǎng)絡(luò)完成的,之后的研究重點集中在如何將其余所有步驟都通過神經(jīng)網(wǎng)絡(luò)來完成,從而可以端到端的優(yōu)化整個系統(tǒng)的性能。其中,快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Faster-RCNN)算法提出了Region Proposal network (RPN)來進行候選框的生成,由神經(jīng)網(wǎng)絡(luò)來預(yù)測候選框的位置和大?。?],同時,RPN和RCNN兩部分可以共享底層網(wǎng)絡(luò)并聯(lián)合優(yōu)化。這個方法大大提高了網(wǎng)絡(luò)效率,而且由網(wǎng)絡(luò)預(yù)測的候選框質(zhì)量也優(yōu)于Selective Search和Edgebox這類傳統(tǒng)算法。Faster-RCNN推理時分為兩個階段,第一階段是RPN生成上萬個候選框,網(wǎng)絡(luò)預(yù)測框里是否有物體,按框得分篩選出可信度較高的候選框,進入第二階段,進一步細分類。為了讓網(wǎng)絡(luò)運行更快,研究者又提出了以SSD和YOLO為代表的一階段檢測器,這些方法的特點是對所有的候選框直接進行分類,跳過了是否有目標的步驟。
圖像分割是將整個圖像分成一個個像素組,并對每個像素進行標記和分類。它試圖在語義上理解圖像中每個像素的類別,是行人、道路、建筑物還是其他類別。因此,與圖像分類不同,研究人員需要用模型對密集的像素進行預(yù)測。較早的算法一般通過對每個像素的局部領(lǐng)域提取紋理、光照等特征,再對該像素進行粗分類,然后基于條件隨機場對分割結(jié)果進行建模。粗分類的結(jié)果由于是基于每個像素獨立預(yù)測的,一般有比較大的不穩(wěn)定性。條件隨機場假設(shè)相鄰的像素應(yīng)該具有相同的類別,除非兩個像素剛好落在圖像梯度較大的位置。通過優(yōu)化單像素的預(yù)測結(jié)果和領(lǐng)域約束,條件隨機場可以優(yōu)化出一個較平滑的分割結(jié)果。
由于神經(jīng)網(wǎng)絡(luò)可以通過數(shù)據(jù)驅(qū)動,并能自動優(yōu)化參數(shù),特征提取和分類兩部分可以在網(wǎng)絡(luò)中統(tǒng)一完成。只需要將以每個像素為中心選取一個鄰域作為網(wǎng)絡(luò)的輸入,網(wǎng)絡(luò)就可以較好地預(yù)測出該區(qū)塊中心像素的類別,比如2013年Lecun等[9]提出的方法是提取多尺度的圖像區(qū)塊進行學(xué)習(xí),讓網(wǎng)絡(luò)從多個層級的信息中學(xué)到更全面的信息;2014年P(guān)inheiro等[10]提出的基于循環(huán)神經(jīng)網(wǎng)絡(luò)來對圖像區(qū)塊進行預(yù)測,每次的輸入是圖像塊以及上一輪的預(yù)測概率圖,網(wǎng)絡(luò)可以基于上一輪的預(yù)測對自己進行修正。
但是,這類方法在推理時,需要將相鄰像素的重合部分反復(fù)輸入網(wǎng)絡(luò),非常低效。2015 國際計算機視覺頂會上,Darrell 等[11]提出的全卷積神經(jīng)網(wǎng)絡(luò)(FCN)因為解決此問題而獲得了最佳論文的榮譽。FCN的原理就是通過卷積操作等效替換了原本分割網(wǎng)絡(luò)中的全連接層,并且用反卷積層解決了網(wǎng)絡(luò)特征層降采樣后分辨率下降的問題。這樣,F(xiàn)CN的輸入不再是某個像素為中心的圖像區(qū)塊,而直接是原圖像,輸出則是相同大小的分割結(jié)果圖。此后,幾乎所有的圖像分割方法都采用了FCN或其相似的原理。較有代表性的是Deeplab,將概率統(tǒng)計模型條件隨機場通過神經(jīng)網(wǎng)絡(luò)建模,自動學(xué)習(xí)其中的參數(shù)。圖像分割(UNet)在網(wǎng)絡(luò)中添加了跳層連接,增加了多尺度的信息使預(yù)測的細節(jié)更完善。
圖像描述是指給定一張圖像,算法自動生成一段描述性文字,即看圖作文。圖像描述是上述幾個任務(wù)的能力遞進與語義理解遞進,它需要算法不僅要理解圖上有什么物體,而且要理解物體之間的相互關(guān)系,最后要用文字將其描述出來。因此,主流的圖像描述框架一般分為兩步,先將圖像進行編碼,提取語義特征,然后再將特征通過長短期記憶網(wǎng)絡(luò)進行解碼,逐字輸出描述語句。
由于圖像上的物體可能有很多,但真正重要的目標只有少量,最早的方法在圖像編碼中引入了注意力機制,即讓網(wǎng)絡(luò)在無監(jiān)督的情況下自己學(xué)習(xí)哪些空間區(qū)域是比較重要的,這樣會比直接不加區(qū)分地對整張圖編碼要更合理,比如SCACNN和Show,Attend and Tell就是其中的代表。但是,由于注意力機制是靠網(wǎng)絡(luò)自動學(xué)習(xí)的,本身的精度無法保證,并且一般來說圖像描述的主語都是圖上的目標物體,因此研究者又引入了目標檢測和屬性分析的模型。通??梢园言趯iT做目標檢測和屬性分析的數(shù)據(jù)集上訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)引入到系統(tǒng)中,作為一種強有力的圖像編碼方式。這種編碼方式不僅得到了顯式的目標類別、屬性等信息,同時也通過這些網(wǎng)絡(luò)得到了目標的外觀特征,可以進一步在解碼中幫助生成語句。
在訓(xùn)練方式上,一般深度學(xué)習(xí)的算法使用交叉熵損失來優(yōu)化網(wǎng)絡(luò),每個算法預(yù)測的句子需要和人類描述的句子逐個單詞地一一對應(yīng)起來。但是,由于自然語言具有多義性的特點,即同一個意思可以由多種相同的方式表達,逐詞比較的損失函數(shù)顯然過于死板。同時,由于生成單詞的過程是不可微的,無法通過反向傳播算法來直接優(yōu)化,因此很多工作引入了強化學(xué)習(xí)來解決這些問題[12-14]。
視頻是圖像在時序上的序列組成。相對圖像而言,視頻有其特點:不僅僅只有視覺畫面,視頻還包含聲音,具有多模態(tài)信息;另外視頻中包含運動,有物體的運動信息,它對于行為類的內(nèi)容有強有力的表現(xiàn)形式,需要理解的層次和維度更深。計算機視覺技術(shù)的迅速發(fā)展和深度學(xué)習(xí)的突破不僅拓寬了圖像領(lǐng)域的應(yīng)用,同時也給視頻內(nèi)容的識別與理解帶來了新的契機。相對圖像識別與理解,視頻信息更豐富,研究也更富挑戰(zhàn)性。目前,視覺領(lǐng)域研究還比較少,隨著AI能力的進一步發(fā)展,以及與5G時代的深度融合,視頻將成為未來社會主要的溝通交流的信息媒介。所以說視頻是下一個風(fēng)口,值得大力投入進行研究。
下文將由淺入深地介紹視頻識別與理解的幾大領(lǐng)域:視頻目標檢測與識別、視頻目標跟蹤、視頻行為識別和視頻描述,闡述各分支的研究現(xiàn)狀。
目標檢測是計算機視覺的一個熱門研究方向,應(yīng)用廣泛,如視頻智能監(jiān)控、機器人導(dǎo)航、工業(yè)視覺檢測等諸多領(lǐng)域。視頻目標檢測是圖像目標檢測的延伸,找出圖像或視頻幀中所有感興趣的物體,并定位出目標物體位置和類別。不過在圖像中,目標是靜態(tài)的,目標和位置均固定不變;在視頻中,目標和位置均隨視頻動態(tài)變化,要進行目標檢測難度更大。
計算機視覺對于目標運動的分析可以大致分為三個層次:運動分割與目標檢測,目標跟蹤,動作識別與行為描述。其中,目標檢測既是計算機視覺領(lǐng)域要解決的基礎(chǔ)任務(wù)之一,同時也是視頻監(jiān)控技術(shù)的基本任務(wù)。視頻目標檢測本質(zhì)上解決兩個問題:圖像識別和目標定位。
簡單來講,相比單張圖片檢測,視頻檢測多了時間上下文的信息。充分利用好時序上下文關(guān)系,可以解決視頻中連續(xù)幀之間的信息冗余問題,減少計算量,從而提高檢測速度。同時關(guān)注如何提高檢測質(zhì)量,解決視頻中的運動模糊、視頻失焦等問題。
按照技術(shù)實現(xiàn)的原理來看,現(xiàn)在的視頻目標檢測方法主要有以下三類:一是與光流相結(jié)合,如微軟亞洲研究院的Dai的Deep Feature Flow(DFF)算法[15-16],該模型首先將檢測任務(wù)分為特征提取任務(wù)和檢測任務(wù)兩部分,通過算法識別出關(guān)鍵幀、非關(guān)鍵幀,在關(guān)鍵幀上提取特征得到特征圖,在非關(guān)鍵幀上使用FlowNet估計光流,通過關(guān)鍵幀提取的特征做雙線性的形式得到非關(guān)鍵幀的特征圖,在兩種方式得到特征圖后使用檢測網(wǎng)絡(luò)完成目標檢測。二是與RNN模型結(jié)合,如Xiao等[17]提出了用于視頻對象檢測的空間-時間記憶網(wǎng)絡(luò),其核心是一種新穎的時空記憶模塊(STMM)作為反復(fù)計算單元,用于模擬長期時間外觀和運動動力學(xué)。STMM的設(shè)計實現(xiàn)了預(yù)訓(xùn)練骨干卷積神經(jīng)網(wǎng)絡(luò)(CNN)重量的完全集成,這對于精確檢測至關(guān)重要。此外,針對視頻中的對象運動,提出了一種新穎的MatchTrans模塊,用于在幀與幀之間對齊空間-時間記憶。三是與檢測相結(jié)合,如Feichtenhofer等[18]提出了一種ConvNet架構(gòu),它能同時執(zhí)行檢測和跟蹤??偟膩碚f,視頻目標檢測相關(guān)的研究還不多,該領(lǐng)域處于起步階段。但是不管是從實用性而言,還是從學(xué)術(shù)研究的角度來說,都是很不錯的研究課題。
目標跟蹤是計算機視覺中一類非常重要的問題,也是視頻中特有的研究問題。簡單來講,目標跟蹤是在動態(tài)連續(xù)的視頻序列中,建立所要跟蹤物體的位置關(guān)系,得到目標物體完整的運動軌跡,并判斷其運動趨勢。按照跟蹤目標數(shù)量的多少,可分為單目標跟蹤與多目標跟蹤。前者跟蹤視頻畫面中的單個目標,后者則同時跟蹤視頻畫面中的多個目標,得到這些目標的運動軌跡。
單目標跟蹤一般默認為目標一直在視頻中,視頻中跟蹤的目標也唯一。這類問題研究歷史已久,相對比較成熟。對于多目標跟蹤,一般情況下,對象位置變化很大,跟蹤目標個數(shù)不固定。相對單目標跟蹤來說,多目標跟蹤問題更加復(fù)雜,通常需要解決以下問題:跟蹤目標的自動初始化和自動終止,即如何判斷新目標的出現(xiàn),舊目標的消失;跟蹤目標的運動預(yù)測和相似度判別,即準確的區(qū)分每一個目標;跟蹤目標之間的交互和遮擋處理;跟丟目標再次出現(xiàn)時,如何進行再識別等。
目標跟蹤是計算機視覺研究領(lǐng)域的熱點問題之一,過去幾十年以來,涌現(xiàn)出了一批性能出色的技術(shù)和方法,按照技術(shù)的原理,大致可以分為三大類:一是經(jīng)典跟蹤方法,如 Meanshift、粒子濾波(Particle Filter)和卡爾曼濾波等;二是基于檢測(Track By Detection)或相關(guān)濾波(Correlation Filter)的方法;三是近幾年來出現(xiàn)的深度學(xué)習(xí)相關(guān)方法。
2010年以前,目標跟蹤領(lǐng)域大部分采用一些經(jīng)典的跟蹤方法,比如Meanshift、粒子濾波和卡爾曼濾波,以及基于特征點的光流算法等。Meanshift 的本質(zhì)是一種基于概率密度分布的跟蹤方法,其原理是使目標的搜索一直沿著概率梯度上升的方向,直到迭代收斂到局部峰值。粒子濾波方法是一種基于粒子分布統(tǒng)計的方法,首先對跟蹤目標進行建模,并定義一種相似度度量方法,以確定粒子與目標的匹配程度。卡爾曼濾波常被用于描述目標的運動模型,它不對目標的特征建模,而是對目標的運動模型進行建模,以估計目標在下一幀的位置。另外,基于特征點的光流跟蹤也屬于經(jīng)典跟蹤方法,它的原理是在目標上提取一些特征點,然后在下一幀計算這些特征點的光流匹配點,統(tǒng)計得到目標的位置。
經(jīng)典的跟蹤方法有很多缺陷:如無法處理和適應(yīng)復(fù)雜的跟蹤變化,另外,算法也不夠魯棒,準確性也偏低。隨著技術(shù)的發(fā)展,逐漸提出了基于檢測的跟蹤方法,基本原理是把跟蹤的目標作為前景,利用在線學(xué)習(xí)或離線訓(xùn)練的檢測器來區(qū)分前景目標和背景,從而得到前景目標的位置。相比經(jīng)典方法,基于檢測的跟蹤方法更能適應(yīng)跟蹤過程中的復(fù)雜變化。隨著技術(shù)的發(fā)展,還出現(xiàn)了相關(guān)濾波的跟蹤算法,如Martins等[19]在2012年提出的CSK方法,作者提出了一種基于循環(huán)矩陣的核跟蹤方法,并解決了密集采樣的問題,最后利用傅立葉變換快速實現(xiàn)了檢測過程。其后又衍生出了基于HOG特征的KCF方法、考慮多尺度或顏色特征的方法以及用深度學(xué)習(xí)提取的特征結(jié)合 KCF 的方法等。
第三大類是深度學(xué)習(xí)相關(guān)的視頻目標跟蹤方法。在目標跟蹤上,深度學(xué)習(xí)的應(yīng)用方式是把神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的特征直接應(yīng)用到相關(guān)濾波或Struck的跟蹤框架里面,從而實現(xiàn)目標跟蹤。本質(zhì)上,深度學(xué)習(xí)方法是提取到了更好的特征表達,跟蹤模型有效地利用深度學(xué)習(xí)的特征提升目標跟蹤性能。根據(jù)特征的層次不同,基于深度學(xué)習(xí)的多目標跟蹤可以分為表觀特征的深度學(xué)習(xí)、基于相似性度量的深度學(xué)習(xí),以及基于高階匹配特征的深度學(xué)習(xí)。另外,基于深度學(xué)習(xí)的跟蹤方法有比較好的特性,是端到端輸出的跟蹤框架,如GOTURN。目前,基于深度學(xué)習(xí)的跟蹤框架還在不斷發(fā)展中,從SiameseFC到CFNet等,這個領(lǐng)域正在蓬勃發(fā)展。
總的來說,基于深度學(xué)習(xí)的單目標跟蹤算法取得了長足的進步。相對而言,深度學(xué)習(xí)在多目標跟蹤領(lǐng)域的應(yīng)用還比較多的局限于匹配度量的學(xué)習(xí)。在多目標跟蹤領(lǐng)域中,研究如何采用生成式網(wǎng)絡(luò)模型和深度強化學(xué)習(xí)來學(xué)習(xí)跟蹤場景的適應(yīng)性,以提升跟蹤算法的性能是未來的研究趨勢。
視頻行為識別,也稱為動作識別,在智能監(jiān)控、人機交互、視頻序列理解、醫(yī)療健康等眾多領(lǐng)域扮演著很重要的角色。簡單來講,是給定一個視頻,讓計算機判斷感興趣的人或物體在進行什么行為,比如跑步、打太極、騎自行車等。視頻行為識別是計算機視覺的一個基本問題,也是計算機視覺中視頻理解的關(guān)鍵基礎(chǔ)技術(shù),只有識別視頻中的單個行為,才能整合起來對視頻整體有所理解。
行為識別是非常有難度的,其處理對象是視頻,相對于圖像分類來說多了一個需要處理的時序維度。行為識別還有一個難點是視頻段長度不一,而且開放環(huán)境下視頻中存在多尺度、多目標、攝像機移動等眾多問題,實際問題非常復(fù)雜。
按照技術(shù)的發(fā)展歷程來看,行為識別技術(shù)主要分為兩類:一是傳統(tǒng)方法,如iDT (improved Dense Trajectories)方法;二是基于深度學(xué)習(xí)的相關(guān)方法。
在傳統(tǒng)方法中,iDT算法最為經(jīng)典和有效,其框架主要包含密集采樣特征點、特征軌跡跟蹤和基于軌跡的特征提取三個部分。通過網(wǎng)格劃分的方式在多尺度圖像中分別密集采樣特征點,特征軌跡跟蹤通過計算特征點領(lǐng)域內(nèi)的光流中值來得到特征點的運動方向,運動描述完成基于軌跡的特征提取。
基于深度學(xué)習(xí)的行為識別方法是目前行為識別領(lǐng)域的主流技術(shù)。按照實現(xiàn)原理的不同,也可以分為幾大類:時空結(jié)合網(wǎng)絡(luò)、雙流網(wǎng)絡(luò)、深層生成網(wǎng)絡(luò)。
時空網(wǎng)絡(luò)(Spatialtemporal Networks)建模本質(zhì)上是三維卷積網(wǎng)絡(luò),受到卷積神經(jīng)網(wǎng)絡(luò)在圖像分類領(lǐng)域取得成功的啟發(fā),研究人員把卷積神經(jīng)網(wǎng)絡(luò)用于視頻分類,即在2D卷積網(wǎng)絡(luò)的基礎(chǔ)之上把時間信息加入卷積運算。利用三維核從空間和時間維度提取特征,從而捕捉編碼在相鄰幀中的時空信息和運動,最經(jīng)典的方法就是Facebook提出的C3D模型。
雙流網(wǎng)絡(luò)模型(Two-Stream Networks)[20]主要借鑒人類視覺皮層織物的原理,視覺皮層包含兩個通路:腹流參與物體識別,背流參與空間位置信息處理以及識別動作。Simonyan和Zisserman設(shè)計了一類深層神經(jīng)網(wǎng)絡(luò),引入兩個并行網(wǎng)絡(luò)用于行為識別,即空間流(Spatial stream)接受原始靜止視頻幀,時間流網(wǎng)絡(luò)(Temporal stream)接受光流場為輸入,這兩個流在最后融合進行識別和分類。
深層生成網(wǎng)絡(luò)(Deep Generative Networks)本質(zhì)是一種無監(jiān)督技術(shù),因為數(shù)據(jù)注釋的成本很高,如果訓(xùn)練不需要標簽,模型還能夠很好地捕捉到序列的內(nèi)容和運動,則可以實現(xiàn)準確的預(yù)測。目前主要的模型有Dynencoder[21],它是一種深度自動編碼器,用于捕獲視頻動態(tài);還有LSTM 自動編碼器,它能接受序列為輸入并學(xué)習(xí)相應(yīng)的緊湊表示,用于發(fā)現(xiàn)長期線索[22]。
行為識別現(xiàn)在是一個正在大力進行研究的領(lǐng)域,還有很多問題遠遠沒有到解決:從短時特征的提取到長時時間序列的建模,包括多尺度的檢測、跟蹤、姿態(tài)估計以及相關(guān)問題。另外,行為分析識別還和視頻描述有很大的相關(guān)性,是后者的基礎(chǔ),都屬于視頻理解。
在對視頻的物體識別分類,目標的行為識別之后,最重要的工作是對視頻內(nèi)容的理解。圖像描述(Image Captioning)是為一張圖像生成一句描述,視頻描述(Video Captioning)與其類似,是為一個視頻片段生成一句描述。因為短視頻包含多幀視頻圖像,所以相比于圖像描述,視頻描述更復(fù)雜更具難度,需要考慮幀與幀之間的關(guān)系(時序因素)對生成句子的影響,以及視頻上下文之間的聯(lián)系。
在視頻描述中,理解視頻時不僅要理解每一幀中的物體,也要理解物體在多幀之間的運動。所以,視頻理解往往比圖像理解更為復(fù)雜。主要表現(xiàn)為如下幾點:一、視頻既可以被視為幀流,亦可以視為Trimmed Video Clip;當其被視為幀流的時候,首先將視頻幀作為圖片,最后對其進行池化操作;對于Trimmed Video Clip的情況,可以使用時域頻域模型來學(xué)習(xí)視頻中的一些行為。二、視頻中的多模態(tài)信息,如音頻和字符,都可以作為視頻描述的輸入特征。三、在視頻描述中可以使用不同的池化方式,如基于時間軸的均值池化和最大值池化,還可以使用注意力機制,比如Hard-Attention和Soft-Attention,或者使用編解碼的方法對其進行處理。
S2VT 模型(Sequence to Sequence-Video to Text)是視頻描述領(lǐng)域最早的研究之一,它使用了編碼器解碼器結(jié)構(gòu)[23]。編碼器的主要作用是將有用的視頻信息使用深度神經(jīng)網(wǎng)絡(luò)(CNN,RNN)轉(zhuǎn)化成特征給解碼器使用。
SA 模型和S2VT 模型一樣是比較經(jīng)典的視頻描述任務(wù)模型,兩者的創(chuàng)新性各有偏重:S2VT將seq2seq模型引入了視頻描述任務(wù),SA模型則是將注意力機制引入了視頻描述任務(wù)。注意力機制本質(zhì)上是在視頻中有權(quán)重地選擇特征,即視頻提取多幀的圖像特征后,在生成描述的時候,會給每個圖像特征一個權(quán)重系數(shù),決定這個權(quán)重系數(shù)的是模型解碼階段每個RNN(LSTM)隱藏單元,所有權(quán)重系數(shù)的和為1。
總結(jié)來講,在視頻描述領(lǐng)域,目前主要有兩大類方法:一類是基于CNN-LSTM框架,另一類是基于編解碼框架。
隨著近幾年來計算機視覺技術(shù)的進步,智慧醫(yī)療領(lǐng)域受到了學(xué)術(shù)界和產(chǎn)業(yè)界的持續(xù)關(guān)注,其應(yīng)用也越來越廣泛和深入。Topol等[24]指出,面向智慧醫(yī)療,人工智能技術(shù)從三個層面將產(chǎn)生深刻的影響:第一層面對于臨床醫(yī)生,計算機視覺技術(shù)能幫助其更快速、更準確地進行圖像分析工作;第二層面對于衛(wèi)生系統(tǒng),其能通過人工智能的方式改善工作流程、減少醫(yī)療差錯;第三層面對于患者,通過增強的云存儲能力,他們可以處理自己的數(shù)據(jù),以促進自我健康。
深度學(xué)習(xí)在醫(yī)學(xué)圖像等領(lǐng)域的應(yīng)用有大量的研究成果被報道。如圖像配準技術(shù),是在醫(yī)學(xué)圖像分析領(lǐng)域進行量化多參數(shù)分析與視覺評估領(lǐng)域的關(guān)鍵技術(shù)[25]。Monti[26]等比較并且評估了PET與MR 兩種圖像模式下的配準方式,通過實驗論證了PET 與MR 混合的配準方式能在頭頸部這類復(fù)雜的解剖區(qū)域提供更高的配準精度。Esener等[27]則針對乳腺癌的診斷,采用多階段分類的方式研究了一種特征集合技術(shù),獲得了相對于單階段分類更高的分類準確率。Gargiulo 等[28]將CT和MRI圖像與DTI跟蹤成像結(jié)合起來,使用圖像分割協(xié)議對顱骨基底、腫瘤和關(guān)鍵纖維束進行三維建模,為神經(jīng)外科手術(shù)提供了先進的治療方式。
Gurovich等[29]通過訓(xùn)練能代表200 多種綜合癥的17000 多張罕見病患者的面部圖像,得到了DeepGestlt 算法模型,該模型能夠提高識別罕見遺傳綜合征的準確率,在實驗的502 張不同的圖像中,其正確識別綜合征的準確率達到了91%。Friedman等人訓(xùn)練了基于卷積神經(jīng)網(wǎng)絡(luò)的人工智能來識別心室功能障礙患者,當在52870名患者上測試該神經(jīng)網(wǎng)絡(luò),靈敏度、特異性和準確度的值分別為86.3%、85.7%和85.7%。而且在沒有心室功能障礙的患者中,人工智能篩查陽性的患者未來發(fā)生心室功能障礙的風(fēng)險是陰性的4倍。
公共安防領(lǐng)域是計算機視覺技術(shù)的重要應(yīng)用場景,尤其是人臉識別技術(shù),作為構(gòu)建立體化、現(xiàn)代化社會治安防控體系的重要抓手和技術(shù)突破點,在當前的圖偵實戰(zhàn)中具有重要應(yīng)用價值[30]。近十年來,街道攝像頭等視覺傳感器的普及為智能安防的應(yīng)用提供了硬件基礎(chǔ)與數(shù)據(jù)基礎(chǔ),為深度學(xué)習(xí)算法模型提供了大量的訓(xùn)練數(shù)據(jù),從而大幅提升了人臉識別的技術(shù)水平[31-33]。
國內(nèi)多家人臉識別產(chǎn)品已經(jīng)被公安部門用于安防領(lǐng)域。完整的人臉識別系統(tǒng)包括人臉檢測、人臉配準、人臉匹配、人臉屬性分析等模塊[34],其主要應(yīng)用包括靜態(tài)人臉識別、動態(tài)人臉識別、視頻結(jié)構(gòu)化等。如1:1比對的身份認證,相當于靜態(tài)環(huán)境下的人臉驗證任務(wù),用于比對輸入圖像與指定圖像之間的匹配,已經(jīng)成熟應(yīng)用于人臉解鎖、身份驗證等場景,在2008年北京奧運會期間作為國家級項目投入使用,在奧運會歷史上第一次使用該項技術(shù)保障了開閉幕式安檢的安全通暢[35]。
動態(tài)人臉識別技術(shù)則通過攝像頭等視覺傳感設(shè)備在視頻流中獲得動態(tài)的多個人臉圖像,從數(shù)據(jù)庫中的大量圖像中找到相似度最高的人臉圖像,用于人群密集場所當中的布控,協(xié)助安全部門進行可疑人口排查、逃犯抓捕等情報研判任務(wù)。視頻結(jié)構(gòu)化則是面向人、車、物等對象,從視頻流中抽象出對象的屬性,如人員的體貌特征、車輛的外形特征等。這些技術(shù)能夠預(yù)警打架斗毆、高危車輛等社會治安問題的發(fā)生,為公安工作提供了一大利器,成為打擊違法犯罪活動、建設(shè)平安城市的重要技術(shù)[36]。
無人機與自動駕駛行業(yè)的興起,讓計算機視覺在這些領(lǐng)域的應(yīng)用也成為了近年來的研究熱點。以無人機為例,簡單至航拍,復(fù)雜至救援救災(zāi)和空中加油等應(yīng)用,都需要高精度的視覺信號以保障決策與行動的可靠性[37]。無人機的核心導(dǎo)航系統(tǒng)中,很重要的一個子系統(tǒng)就是視覺系統(tǒng),通過單攝像頭、雙攝像頭、三攝像頭甚至全方向的攝像頭布置,視覺系統(tǒng)能克服傳統(tǒng)方法的限制與缺點,結(jié)合SLAM、VO等技術(shù),應(yīng)用近幾年熱門的深度學(xué)習(xí)算法,能夠提升位姿估計、高度探測、地標跟蹤、邊緣檢測、視覺測距、障礙檢測與規(guī)避、定位與導(dǎo)航等任務(wù)的進度。從外界獲取的信號與無人機飛控系統(tǒng)的視覺伺服系統(tǒng)形成閉環(huán)能提升飛行器的穩(wěn)定性[38]。目前,商用的無人機已被廣泛地應(yīng)用于活動拍攝、編隊表演、交通檢測乃至載人飛行等領(lǐng)域。
計算機視覺軟硬件技術(shù)的齊頭并進加速了自動駕駛汽車技術(shù)的發(fā)展,特別是在攝像頭普及,激光雷達、毫米波雷達、360o大視場光學(xué)成像、多光譜成像等視覺傳感器配套跟進條件下,在卷積神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)算法等的配合下,基于計算機視覺系統(tǒng)的目標識別系統(tǒng)利用計算機視覺觀測交通環(huán)境,從實時視頻信號中自動識別出目標,為自動駕駛,如起步、加速、制動、車道線跟蹤、換道、避撞、停車等操作提供判別依據(jù)[39]。自動駕駛的車輛可以完成道路及道路邊沿識別、車道線檢測、車輛識別、車輛類型識別、非機動車識別、行人識別、交通標志識別、障礙物識別與避讓等任務(wù)。目前國內(nèi)外一些企業(yè)在自動駕駛領(lǐng)域都取得了不錯的成績。
計算機視覺應(yīng)用非常廣泛,除了上文提到的三個重要的領(lǐng)域之外,在三大產(chǎn)業(yè)(工業(yè)、農(nóng)業(yè)、服務(wù)業(yè))都有著大量的應(yīng)用實踐,為人類生活提供了越來越多的便利。如在工業(yè)領(lǐng)域,計算機視覺是工業(yè)機器人領(lǐng)域的關(guān)鍵技術(shù),配合機械裝置能夠?qū)崿F(xiàn)產(chǎn)品外觀檢測、缺陷檢測、質(zhì)量檢測、產(chǎn)品分類、部件裝配等功能。ABB公司研發(fā)的IRB360工業(yè)機器人借助FlexPiker視覺系統(tǒng)實現(xiàn)了跟蹤傳送帶物品并且完成分揀,大大提升了工作效率。在工業(yè)互聯(lián)網(wǎng)大力推進的大背景下,計算機視覺的應(yīng)用將越來越普及,在智能化、無人化的工業(yè)上發(fā)揮出更大的作用。
在農(nóng)業(yè)領(lǐng)域,計算機視覺的應(yīng)用成果涉及農(nóng)產(chǎn)品品質(zhì)檢測、作物識別與分級、農(nóng)副產(chǎn)品出廠質(zhì)量監(jiān)測、植物生長監(jiān)測、病蟲害的探測與防治、自動化收獲等領(lǐng)域,為精細農(nóng)業(yè)和農(nóng)業(yè)生產(chǎn)自動化奠定了基礎(chǔ)。騰訊報道了其在2018年利用攝像頭等傳感器收集溫室氣溫等環(huán)境數(shù)據(jù),再通過深度學(xué)習(xí)模型計算、判斷與決策,遠程控制黃瓜的生產(chǎn),減少了人力資源的投入。
在第三產(chǎn)業(yè),“智慧城市”概念帶動了諸如智慧交通、智慧教育、智慧社區(qū)、智慧零售、智慧政務(wù)等基于計算機視覺技術(shù)的應(yīng)用場景。在泛娛樂行業(yè),應(yīng)用深度卷積神經(jīng)網(wǎng)絡(luò)的AlphaGo在2016年擊敗了圍棋世界冠軍李世石九段,成為了人工智能發(fā)展歷史上的一個里程碑事件。而不久后,其研發(fā)團隊推出了更為先進的AlphaGoZero系統(tǒng),采用新的強化學(xué)習(xí)算法,獲得了超人的性能,同時打敗圍棋、將棋、西洋棋的世界頂尖人類選手。這也預(yù)示以計算機視覺為代表的人工智能技術(shù)未來將深刻改變?nèi)祟惖纳罘绞侥酥辽鐣螒B(tài)。
近年來,互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)帶來了海量的數(shù)據(jù)積累,以圖形處理單元為代表的計算力顯著提升,深度學(xué)習(xí)這一關(guān)鍵技術(shù)蓬勃發(fā)展,計算機視覺技術(shù)在多個領(lǐng)域突破了實用的技術(shù)紅線,并且開始在越來越多公眾熟知的領(lǐng)域起到至關(guān)重要的作用。本文主要從圖像和視頻的識別與理解兩個角度總結(jié)了計算機視覺領(lǐng)域的最新研究成果,并解釋了這些技術(shù)背后的原理。最后,介紹了計算機視覺在智慧醫(yī)療、公共安全和自動駕駛等領(lǐng)域的應(yīng)用??梢灶A(yù)見未來以計算機視覺為代表的人工智能技術(shù)將深刻改變?nèi)祟惖纳罘绞侥酥辽鐣螒B(tài)。