作者:崔毅博,湯仁東,邢大軍,王雋,李尚生
01??引言
光流計(jì)算作為計(jì)算機(jī)視覺的一個(gè)長期基本任務(wù),其重要性顯而易見。由于運(yùn)動(dòng)視覺處理的特殊性,光流作為后面高級視覺處理的輸入,對其準(zhǔn)確度、實(shí)時(shí)性都有著極高的要求,光流計(jì)算的性能會直接影響其后的高級視覺處理。
光流計(jì)算技術(shù)在計(jì)算機(jī)視覺的各主要研究方向如檢測、分割、導(dǎo)航、位姿估計(jì)、3維重建等領(lǐng)域中都有著重要的應(yīng)用,其相關(guān)算法在更上層的應(yīng)用場景如自動(dòng)駕駛、氣象預(yù)報(bào)、雷達(dá)信息處理、衛(wèi)星及航空影像分析、同步定位與地圖構(gòu)建( SLAM)、視覺神經(jīng)科學(xué)相關(guān)領(lǐng)域以及軍事應(yīng)用領(lǐng)域等前沿?zé)狳c(diǎn)方向更是有著重要的研究價(jià)值與應(yīng)用價(jià)值。由此可見光流計(jì)算技術(shù)的發(fā)展對于計(jì)算機(jī)視覺領(lǐng)域的重要意義。
本文按照傳統(tǒng)光流計(jì)算技術(shù)的主要發(fā)展過程(第2節(jié))、基于深度學(xué)習(xí)的光流計(jì)算技術(shù)發(fā)展過程(第3節(jié))、光流測試相關(guān)數(shù)據(jù)集和性能評價(jià)指標(biāo)(第4節(jié))、光流計(jì)算技術(shù)的具體應(yīng)用(第5節(jié))、總結(jié)及光流計(jì)算技術(shù)未來發(fā)展趨勢展望(第6節(jié))的順序安排各節(jié)內(nèi)容。
02??傳統(tǒng)光流計(jì)算技術(shù)的主要發(fā)展過程
通過圖像計(jì)算光流,自20世紀(jì)80年代興起,其中具有代表性的經(jīng)典算法為Horn等人[1]提出的HS(Horn-Schunck)光流算法與Lucas等人[2]提出的LK(Lucas-Kanade)光流算法,而后基于這兩種算法的各種改進(jìn)版本有許多。其中HS算法是基于變分法求解光流,LK算法是基于差分法求解光流,但二者都基于兩個(gè)共同的假設(shè):
假設(shè)1 亮度恒定假設(shè):同一目標(biāo)在不同幀間運(yùn)動(dòng)時(shí),其亮度不會發(fā)生改變。
假設(shè)2 小運(yùn)動(dòng)假設(shè):短時(shí)間像素的位置不會劇烈變化,即相鄰幀之間像素距離變化較小。
用數(shù)學(xué)模型說明如下:若表示t時(shí)刻
位置的像素在圖像上的亮度,則根據(jù)假設(shè)1和假設(shè)2得到
若,
分別為像素沿x與y軸的速度,對式(1)進(jìn)行泰勒展開,忽略高階無窮小后對t求導(dǎo),而后代入
,則可得
式(2)就是由光流的基本假設(shè)推出的光流基本方程。在其基礎(chǔ)上通過加入不同的約束、改變求解方式,得到像素的值即圖像相鄰幀之間的光流。
2.1 HS光流算法
HS光流算法是一種優(yōu)化算法,通過在假設(shè)1、假設(shè)2的基礎(chǔ)上加入全局平滑約束條件,即假設(shè)值小范圍內(nèi)變化很小,其加入的全局平滑約束項(xiàng)為
此約束項(xiàng)表征光流的連續(xù)性即平滑(其為0時(shí)代表光流在任意方向無變化),結(jié)合光流基本方程建立平滑約束下光流優(yōu)化方程(也稱能量函數(shù))
其中,是平滑項(xiàng)的權(quán)重,根據(jù)假設(shè)最小化此方程,利用歐拉-拉格朗日(Euler-Lagrange)方程求解,經(jīng)迭代至收斂得到光流信息
。此類優(yōu)化方法易陷入局部極值,其初始值很重要,而實(shí)際使用時(shí)往往無法獲得初始值,這就導(dǎo)致此類算法在新場景下會有一段不穩(wěn)定期。
2.2 LK光流算法
LK光流在假設(shè)1和假設(shè)2的基礎(chǔ)上增加假設(shè)3:
假設(shè)3 空間一致性:某一個(gè)小窗口內(nèi)的像素短時(shí)間內(nèi)具有相同的運(yùn)動(dòng)(即相同)。
若小窗口為,則其中有
個(gè)像素,則可根據(jù)式(2)列出超定方程并用最小二乘法解此方程即可求出這個(gè)
窗口的光流值
。由于此類方法在大窗口下無法保證相同運(yùn)動(dòng)方向和假設(shè)2這個(gè)微分條件的成立,需利用圖像金字塔技術(shù)[3]把圖像分層壓縮到低分辨率,把大位移運(yùn)動(dòng)變成了高層金字塔的小位移運(yùn)動(dòng),進(jìn)而配合插值算法逐層應(yīng)用此方法求解光流。
在以上兩種算法的基礎(chǔ)上,針對光流的不同問題有相應(yīng)的改進(jìn)方法,如:為解決算法易陷入局部極值問題而提出的前后向光流法[4],為解決遮擋問題而融合卡爾曼濾波運(yùn)動(dòng)預(yù)測的LK改進(jìn)算法[5],以及各類通過改進(jìn)定位角點(diǎn)準(zhǔn)確度與匹配準(zhǔn)確度來提升光流準(zhǔn)確性的改進(jìn)方法等。
隨著深度學(xué)習(xí)的興起,利用卷積神經(jīng)網(wǎng)絡(luò)來進(jìn)行光流估計(jì)已經(jīng)成為一種重要方法,與計(jì)算機(jī)視覺其他領(lǐng)域橫向比較,基于深度學(xué)習(xí)的光流計(jì)算方法在準(zhǔn)確度、魯棒性、實(shí)時(shí)性等方面有著天然的優(yōu)勢。因此基于深度學(xué)習(xí)的光流計(jì)算通常被認(rèn)為是有別于經(jīng)典算法的一種新模式,也是一個(gè)極具發(fā)展前景的技術(shù)方向。
03??基于深度學(xué)習(xí)的光流計(jì)算技術(shù)發(fā)展
有別于傳統(tǒng)人工設(shè)計(jì)的方法來求解光流,深度學(xué)習(xí)從數(shù)據(jù)的角度出發(fā),利用數(shù)據(jù)訓(xùn)練相關(guān)模型,從而得到可以準(zhǔn)確進(jìn)行光流估計(jì)的模型,并利用此模型在應(yīng)用場景中對光流進(jìn)行估計(jì)。隨著GPU以及計(jì)算機(jī)算力的不斷發(fā)展,目前基于深度學(xué)習(xí)的光流計(jì)算無論在準(zhǔn)確度還是實(shí)時(shí)性上都已經(jīng)超過經(jīng)典算法。
Dosovitskiy等人[6]在2015年首次提出的基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)的FlowNet實(shí)現(xiàn)了利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行光流的估計(jì)(第1代監(jiān)督模型),為訓(xùn)練所提出的模型同時(shí)開發(fā)了Flying Chairs數(shù)據(jù)集,F(xiàn)lowNet的提出表明了完全基于卷積神經(jīng)網(wǎng)絡(luò)端到端的架構(gòu)有能力解決光流估計(jì)的相關(guān)問題。此后基于深度學(xué)習(xí)的模型逐步在性能上趕超經(jīng)典算法。其中主要可以分為兩個(gè)大類:基于監(jiān)督學(xué)習(xí)的光流估計(jì)模型和自監(jiān)督學(xué)習(xí)的光流估計(jì)模型。下面分別進(jìn)行介紹。
3.1 基于監(jiān)督學(xué)習(xí)的光流估計(jì)模型
監(jiān)督學(xué)習(xí)模型往往需要結(jié)合相關(guān)領(lǐng)域知識,利用監(jiān)督學(xué)習(xí)的方式來對模型進(jìn)行訓(xùn)練,其中結(jié)合領(lǐng)域知識方面主要有兩種途徑:
第1種是結(jié)合數(shù)據(jù)相關(guān)知識。普遍的做法就是通過把領(lǐng)域知識制作成光流相關(guān)數(shù)據(jù)集,使得神經(jīng)網(wǎng)絡(luò)可以利用這類數(shù)據(jù)集進(jìn)行訓(xùn)練和評估,從而使得訓(xùn)練出的深度學(xué)習(xí)模型可以進(jìn)行光流估計(jì)。相關(guān)數(shù)據(jù)集介紹詳見第4節(jié)。
第2種是借鑒之前已有經(jīng)典算法的約束條件與計(jì)算框架。結(jié)合卷積神經(jīng)網(wǎng)絡(luò)可以提取圖像高維度特征以及可以進(jìn)行并行計(jì)算的特點(diǎn),進(jìn)而得到光流在準(zhǔn)確率和實(shí)時(shí)性上的提升,其中比較有代表性的就是 DCflow[7],上述兩種領(lǐng)域知識結(jié)合方法在監(jiān)督學(xué)習(xí)中可以同時(shí)使用。
DCflow參考FullFlow[8]提出的代價(jià)體(cost volume)以及由粗糙到精細(xì)的(Coarse-To-Fine, CTF)范式,這種CTF范式結(jié)構(gòu)主要分為4步:特征提取(features)、構(gòu)建代價(jià)體(cost volume)、代價(jià)體處理與光流后處理。
CTF范式的主要計(jì)算量在計(jì)算和優(yōu)化代價(jià)體以及后處理上,代價(jià)體表示了每個(gè)位置提取出的高維特征之間的聯(lián)系,在FlowNet2.0[9](把FlowNetS/C相關(guān)模塊進(jìn)行了組合堆疊實(shí)驗(yàn))中作者也支持顯示地構(gòu)建代價(jià)體,稱其往往比隱式的效果要好。繼FlowNet2.0之后,深度學(xué)習(xí)算法在實(shí)時(shí)性和精度上都開始超越經(jīng)典算法,其中較為重要的借鑒經(jīng)典算法結(jié)構(gòu)的深度卷積網(wǎng)絡(luò)模型是基于CTF范式的PWC-Net(Pyramid, Warping, and Cost volume, PWC)[10](第2代監(jiān)督模型),其框架如圖1所示。
圖1 傳統(tǒng)框架與PWC-Net框架圖對比圖(圖片改繪自文獻(xiàn)[10])
PWC-Net相較于FlowNet2.0,準(zhǔn)確率更高且速度更快,改進(jìn)了FlowNet2.0模型參數(shù)量大且訓(xùn)練繁瑣的問題(速度快2倍參數(shù)量下降17倍)。其主要結(jié)構(gòu)借鑒傳統(tǒng)基于能量最小化的CTF光流計(jì)算框架(如圖1),與傳統(tǒng)方法不同的是,其先利用卷積層進(jìn)行圖像金字塔計(jì)算;再利用warp層模仿warp算法把第2幀圖像利用上一幀光流扭曲(warp)到第1幀;然后對金字塔每一層利用卷積提取的特征(features)構(gòu)建代價(jià)體(cost volume)找到特征之間的關(guān)系,把第1幀圖像的特征、代價(jià)體、上一幀的光流輸入到光流估計(jì)層得到光流估計(jì);對應(yīng)傳統(tǒng)光流計(jì)算的后處理模塊,最后用基于空洞卷積的上下文網(wǎng)絡(luò)進(jìn)行后處理,這個(gè)網(wǎng)絡(luò)輸入上一層的光流估計(jì)值和光流估計(jì)值的倒數(shù)第2層特征,可以優(yōu)化并把光流放大到所需大小,類似經(jīng)典算法結(jié)構(gòu)的深度學(xué)習(xí)光流模型還有許多[11]。對PWC-Net進(jìn)行改進(jìn)效果較好的是利用迭代殘差細(xì)化(Iterative Residual Refinement,IRR)方法的IRR-PWC模型[12],這種方法可以在維持參數(shù)數(shù)量的情況下提高準(zhǔn)確率,在附加去遮擋模塊后,可以對遮擋情況下的光流預(yù)測更加準(zhǔn)確。PWC-Net整體架構(gòu)如圖1所示。
圖1(b)中warp層的數(shù)學(xué)表達(dá)式為
其中,代表t時(shí)刻圖像
在圖像金字塔第
層的特征,
是像素坐標(biāo)(包括橫縱坐標(biāo)),
是
層的光流,
是對應(yīng)位置上采樣的
層的光流,式(5)表達(dá)的意思是如果光流估計(jì)準(zhǔn)確,則在
處特征
應(yīng)與在
處特征
相同。
代價(jià)體(cost volume)的數(shù)學(xué)表達(dá)式可以表示為
其中,為超參,表征最大相關(guān)距離。這部分就是利用向量點(diǎn)積來進(jìn)行特征相關(guān)性計(jì)算,從而計(jì)算出特征之間的相似性,代價(jià)體即表征這種特征之間相似性的映射。
在監(jiān)督模型中,RAFT(Recurrent All-pairs Field Transforms for optical flow)[13]是十分重要的模型(第3代監(jiān)督模型),其框架如圖2所示。這個(gè)模型實(shí)現(xiàn)了整個(gè)網(wǎng)絡(luò)端到端訓(xùn)練的同時(shí),在效果上超過了PWC-Net和IRR-PWC,且實(shí)現(xiàn)了模型的輕量化。其主要思路是利用卷積提取兩幀圖像的特征,而后對特征做內(nèi)積得到4D代價(jià)體(4D cost volumes)作為兩個(gè)特征之間相似性的度量空間,有別于其他算法,光流會通過一個(gè)門控循環(huán)單元(Gated Recurrent Unit, GRU)的一個(gè)輸出,在4D 代價(jià)體空間內(nèi)進(jìn)行查詢,查詢結(jié)果將用來更新GRU進(jìn)行迭代細(xì)化,這樣就可以有效利用上下文信息,通過GRU最終輸出精細(xì)化后的光流,最后通過利用周圍像素上采樣恢復(fù)光流到原圖像分辨率。RAFT模型表明了端到端的深度學(xué)習(xí)模型在性能上可以超越人為模塊化設(shè)計(jì)的模型,并且截至本文成稿時(shí)間,仍是深度學(xué)習(xí)模型性能進(jìn)行比較的一個(gè)基準(zhǔn)。
圖2 RATF模型框架圖(圖片改繪自文獻(xiàn)[13])
以PWC-Net, RATF為代表的這種CTF范式的神經(jīng)網(wǎng)絡(luò)模型可以提高性能的主要途徑是優(yōu)化后3步,以減少計(jì)算量、提高精度及其抗噪性能。當(dāng)然還有借鑒其他范式的模型,如經(jīng)典算法EpicFlow[14]的由稀疏到稠密(Sparse-To-Dense, STD)范式,其主要步驟為:計(jì)算稀疏匹配集、計(jì)算光流稀疏到稠密的插值、后處理以及優(yōu)化得到光流。
另一種光流計(jì)算重要范式是STD。如PatchBatch[15]在經(jīng)典EpicFlow的基礎(chǔ)上利用神經(jīng)網(wǎng)絡(luò)提取高維度特征來計(jì)算稀疏匹配集,提高了匹配集的質(zhì)量,結(jié)合EpicFlow的稠密插值最終得到光流。FTDM(Fully-Trainable Deep Matching)[16]通過訓(xùn)練一個(gè)u型拓?fù)涞腃NN來等效深度匹配(Deep Matching, DM)算法,從而計(jì)算出稀疏匹配集,而后利用EpicFlow稠密插值得到光流。此類方法主要改進(jìn)方向在于計(jì)算稀疏匹配集、計(jì)算稀疏到稠密的插值這兩個(gè)步驟上,即如何在低算力的情況下找到質(zhì)量更高的稀疏匹配集,以及如何進(jìn)行更好的插值計(jì)算。
以上兩種框架都是基于CNN的,而也有部分方法致力于改進(jìn)CNN卷積模型本身性能,使其更適用于光流估計(jì)任務(wù),從而在本質(zhì)上提高光流估計(jì)的性能,如模型PPAC-HD3[17],利用概率像素自適應(yīng)卷積提高模型性能,優(yōu)化光流的邊緣及精度。
隨著深度學(xué)習(xí)模型的性能不斷提升,目前基于Transformer的模型在語言、圖像以及多模態(tài)處理方面表現(xiàn)出了突出的性能。截至2022年10月KITTI數(shù)據(jù)集上表現(xiàn)最優(yōu)的純視覺光流估計(jì)模型是基于Transformer的GMFlow (Global Matching, GM)[18]作為第4代監(jiān)督模型,其框架如圖3所示,其改進(jìn)版GMFlow+實(shí)現(xiàn)了多模態(tài)處理。GMFlow主要利用attention技術(shù)優(yōu)化了利用卷積處理代價(jià)體自帶的局部局限性問題,可以做到全局匹配,所以在處理大位移上優(yōu)勢明顯,其基于Transformer架構(gòu)的處理方法是短期內(nèi)的主流方向。
圖3 GMFlow的框架圖(圖片改繪自文獻(xiàn)[18])
Transformer等利用self-attention技術(shù)的深度學(xué)習(xí)模型,其核心公式表示為
其中,為基于圖像的嵌入向量,
是K的維度,self-attntion其本質(zhì)是找到相關(guān)特征,并有針對性地強(qiáng)化高維特征向量,從而使得所需相關(guān)特征突出出來,與代價(jià)體本質(zhì)一致但不會受到距離限制,利用深度學(xué)習(xí)框架并行計(jì)算的優(yōu)勢在計(jì)算速度上相較于代價(jià)體更快。
除主要?jiǎng)?chuàng)新及作為行業(yè)基準(zhǔn)的模型外,每年還有大量基于以上模型的改進(jìn)模型。近3年基于RAFT的改進(jìn)居多,效果也日益增強(qiáng),基于Transfomer架構(gòu)的模型也逐步體現(xiàn)出其優(yōu)勢,結(jié)合圖神經(jīng)網(wǎng)絡(luò)技術(shù)解決卷積固有的相關(guān)缺陷是未來發(fā)展的主要方向之一。各類模型主要解決的問題和特點(diǎn)詳見表1,其中淺灰色為CTF范式模型,淺藍(lán)色為STD范式模型,加粗字體為行業(yè)廣泛認(rèn)可的基準(zhǔn)模型。
表1 光流估計(jì)監(jiān)督模型匯總
由于域差(domain gap),以及制作光流訓(xùn)練的數(shù)據(jù)集本身成本與技術(shù)難度很高,除監(jiān)督學(xué)習(xí)外深度學(xué)習(xí)光流模型的另一種主要模式是自監(jiān)督學(xué)習(xí)模型,不利用人工標(biāo)注的數(shù)據(jù)集進(jìn)行學(xué)習(xí),可以極大降低訓(xùn)練模型的成本,若可以直接利用真實(shí)數(shù)據(jù)進(jìn)行自監(jiān)督訓(xùn)練,則可有效避免數(shù)據(jù)集與真實(shí)數(shù)據(jù)之間域差問題。
3.2 基于自監(jiān)督學(xué)習(xí)的光流估計(jì)模型
在2016年Long等人[23]利用簡單的編碼解碼器(Encoder-Decoder)神經(jīng)網(wǎng)絡(luò)MIND來對前后兩幀之間的關(guān)聯(lián)關(guān)系進(jìn)行學(xué)習(xí),并認(rèn)為光流估計(jì)是這種求解關(guān)聯(lián)關(guān)系的一個(gè)子問題,其方法就是取視頻流前后3幀圖像,利用第1幀和第3幀來對第2幀進(jìn)行估計(jì),并用夏博尼爾損失(Charbonnier loss)()作為損失函數(shù)(Loss)進(jìn)行訓(xùn)練,成功表明了自監(jiān)督學(xué)習(xí)可以有效學(xué)習(xí)前后兩幀之間的關(guān)聯(lián)關(guān)系。
同年,Yu等人[24]提出了基于光度誤差(photometric loss,用以衡量經(jīng)推測的光流扭曲(warp)后的第2幀和第1幀的差異)與平滑誤差(smoothness loss,衡量空間相鄰光流預(yù)測之間的差異)類似FlowNet的端到端自監(jiān)督訓(xùn)練模型UnsupervisedFlowNet,并達(dá)到了當(dāng)時(shí)KITTI數(shù)據(jù)集的最佳效果。UnFlow[25]在其誤差計(jì)算的基礎(chǔ)上,利用交換前后兩幀順序,送入CNN預(yù)測前后雙向光流并計(jì)算誤差的方法(理論上這兩個(gè)光流方向是相反的),進(jìn)一步提高了訓(xùn)練模型的預(yù)測精度。DDFlow[26]在UnFlow的基礎(chǔ)上,采用了知識蒸餾結(jié)構(gòu),其中老師網(wǎng)絡(luò)與UnFlow類似,但在學(xué)生網(wǎng)絡(luò)中增加了對遮擋相關(guān)的損失函數(shù)(Loss),可以對遮擋進(jìn)行學(xué)習(xí),而非簡單剔除。對于遮擋問題, SelFlow[27]在PWC-Net的基礎(chǔ)上結(jié)合光度誤差,提出了一個(gè)自監(jiān)督的模型,其主要思想是首先訓(xùn)練一個(gè)無遮擋情況下光流預(yù)測的CNN,而后對圖像進(jìn)行超像素分割(防止分割形式單一)并按分割隨機(jī)分配噪聲遮擋,用第1個(gè)CNN對光流的預(yù)測結(jié)果來指導(dǎo)第2個(gè)有遮擋情況下的CNN訓(xùn)練,從而提高第2個(gè)模塊的抗遮擋能力。
UFlow[28]綜合了之前所提出的各類方法,并對各類方法中所有組件進(jìn)行了評估測試,從而選擇出最優(yōu)組合,并通過總結(jié)得到了4種模型優(yōu)化方法:代價(jià)體歸一化、遮擋梯度停止、同級流分辨率下應(yīng)用平滑度、調(diào)整圖像大小用以自監(jiān)督訓(xùn)練,從而提高了模型性能。在UFlow的基礎(chǔ)上, UPFlow[29]通過把傳統(tǒng)上采樣用到的雙線性插值優(yōu)化為可學(xué)習(xí)的雙線性插值,降低了以往CTF模式上采樣造成的誤差,合并其提出的模型蒸餾損失,使得光流預(yù)測的邊緣更加清晰。直到目前較新的SMURF[30]實(shí)現(xiàn)了RAFT架構(gòu)自監(jiān)督的方法,自監(jiān)督光流性能已經(jīng)超越之前監(jiān)督模型的基準(zhǔn)(PWC-Net和FlowNet2)。自監(jiān)督模型相關(guān)進(jìn)展總結(jié)如表2,其中加粗字體為基準(zhǔn)模型。
表2 光流估計(jì)自監(jiān)督模型匯總
除監(jiān)督與自監(jiān)督模型之外,還有半監(jiān)督模型,這類模型可以充分利用監(jiān)督數(shù)據(jù)提高模型的精度,同時(shí)擁有自監(jiān)督模型訓(xùn)練數(shù)據(jù)易于獲取的優(yōu)點(diǎn),但從另一個(gè)角度看,這類模型也同時(shí)有著這兩類模型的缺點(diǎn)。其中比較有代表性的是SSFlow(Semi-Supervised, SS)[33],其主要思想是利用生成對抗神經(jīng)網(wǎng)絡(luò)(Generative Adversative Nets, GAN),通過真實(shí)數(shù)據(jù)和合成數(shù)據(jù)同時(shí)訓(xùn)練,GAN的判斷模塊可以學(xué)習(xí)到合成數(shù)據(jù)與真實(shí)數(shù)據(jù)之間的域差(domain gap),從而指導(dǎo)生成器生成的光流更加準(zhǔn)確,但GAN模型往往難以訓(xùn)練。
以上是基于深度學(xué)習(xí)的光流計(jì)算技術(shù)的大致發(fā)展過程,基于深度學(xué)習(xí)的模型很大程度上解決了經(jīng)典算法中不滿足假設(shè)1和假設(shè)2的相關(guān)的問題,例如遮擋或物體存在變形的情況下,則亮度恒定假設(shè)無法保證;物體位移較大的情況下,光流變化無法滿足假設(shè)2,因此傳統(tǒng)基于變分與優(yōu)化的方法無法滿足微分條件等。而且由于計(jì)算機(jī)分布式計(jì)算性能的提升,基于深度學(xué)習(xí)的方法在實(shí)時(shí)性上往往優(yōu)于經(jīng)典算法,所以在2017年后深度學(xué)習(xí)逐漸成為光流估計(jì)方面的主流算法。
04??光流測試相關(guān)數(shù)據(jù)集和性能評價(jià)指標(biāo)
數(shù)據(jù)集對于訓(xùn)練深度學(xué)習(xí)模型非常重要,深度學(xué)習(xí)也可以認(rèn)為是由數(shù)據(jù)驅(qū)動(dòng)的一種算法,數(shù)據(jù)集的質(zhì)量直接影響訓(xùn)練出的模型的性能,常用的用于訓(xùn)練和測試的公開數(shù)據(jù)集包括:簡單但實(shí)用、利用椅子模型和隨機(jī)圖像生成的合成光流數(shù)據(jù)集(FlowNet驗(yàn)證過的)FlyingChairs[6],主要用于車輛自動(dòng)駕駛方面包含激光雷達(dá)和真實(shí)場景光流的KITTI Flow數(shù)據(jù)集[34,35],城市自動(dòng)駕駛數(shù)據(jù)集HD1K,廣為使用的合成動(dòng)畫數(shù)據(jù)集MPI-Sintel[36],密集小目標(biāo)行人運(yùn)動(dòng)數(shù)據(jù)集Crowd-Flow[37],可以根據(jù)需求生成虛擬數(shù)據(jù)集的無人機(jī)模擬平臺AirSim以及基于動(dòng)畫引擎Unreal Engine 4生成的高質(zhì)量虛擬駕駛場景的模擬平臺Carla。光流數(shù)據(jù)集的發(fā)展促進(jìn)了光流相關(guān)算法的發(fā)展,相關(guān)模型與算法的性能可以在數(shù)據(jù)集上得到驗(yàn)證,在公開數(shù)據(jù)集上的測試結(jié)果往往作為評價(jià)光流算法與模型效果的重要參考。
常用的評估數(shù)據(jù)集,也是公認(rèn)的模型評價(jià)標(biāo)準(zhǔn),通常有以下幾個(gè)(見表3)。
表3 光流估計(jì)模型評估公開數(shù)據(jù)集
在光流計(jì)算性能指標(biāo)上,5個(gè)最重要的指標(biāo)分別是端點(diǎn)誤差(End-Point Error, EPE)、平均端點(diǎn)誤差(Average End-Point Error, AEPE)、每秒幀速率(Frame Per Second,FPS)、角度誤差(Angular Error,AE)和平均角度誤差(Average Angular Error,AAE)。其中EPE為估計(jì)光流和真實(shí)光流之間的歐氏距離,用來衡量光流估計(jì)的準(zhǔn)確程度,AE常用于評估角度誤差,二者是互補(bǔ)的,AE對小幅度運(yùn)動(dòng)誤差敏感,EPE對大幅度運(yùn)動(dòng)誤差敏感。其定義分別為
其中,表示第
個(gè)像素的估計(jì)光流值,
表示第
個(gè)像素光流真值,
為總像素個(gè)數(shù)。AEPE與AAE越小說明估計(jì)的光流值與標(biāo)準(zhǔn)值誤差越小,即越準(zhǔn)確。FPS則是衡量實(shí)時(shí)性能的指標(biāo),其值越大代表方法的實(shí)時(shí)性越強(qiáng),也常用1/FPS(即處理每一幀所用時(shí)間)來衡量此項(xiàng)性能。
在上述指標(biāo)中EPE, AEPE是最常用的比較算法準(zhǔn)確度的性能指標(biāo),在所有數(shù)據(jù)集上通用,可以對模型整體性能進(jìn)行評估,但無法衡量在某單一方面的性能。目前模型評估普遍利用的是KITTI2012, KITTI2015, Sintel Clean, Sintel Final 4個(gè)數(shù)據(jù)集。由于不同數(shù)據(jù)集數(shù)據(jù)分布以及對光流的衡量指標(biāo)不一致,同一模型在不同數(shù)據(jù)集的性能也不同,但整體與表格所列順序正相關(guān)。詳細(xì)信息以及各類模型與算法準(zhǔn)確度排名各類數(shù)據(jù)集官網(wǎng)都有實(shí)時(shí)更新,僅以本文介紹的部分模型及其改進(jìn)型為例,準(zhǔn)確率以Sintel 與KITTI數(shù)據(jù)集官網(wǎng)截至成稿時(shí)公布數(shù)據(jù)為準(zhǔn),其性能如表4所示。
表4 部分模型在Sintel及KITTI數(shù)據(jù)集上的性能(截至2023年3月)
05??光流計(jì)算技術(shù)的具體應(yīng)用
光流計(jì)算技術(shù)在實(shí)際應(yīng)用時(shí),常作為一個(gè)單獨(dú)模塊來使用,也可以和其他模塊組合使用,準(zhǔn)確的光流可以提供物體有效的運(yùn)動(dòng)、結(jié)構(gòu)等信息。
在視頻處理方面,常常直接利用光流信息。如在視頻檢測領(lǐng)域,常利用光流信息來進(jìn)行特征聚合以及特征在非關(guān)鍵幀之間傳播;在視頻跟蹤領(lǐng)域,比較經(jīng)典的跟蹤-學(xué)習(xí)-檢測(Tracking-Learning-Detection, TLD)算法[42]分為跟蹤模塊、學(xué)習(xí)模塊、檢測模塊3大部分,其中的跟蹤模塊最早就是基于光流計(jì)算技術(shù)的經(jīng)典LK算法來估計(jì)物體運(yùn)動(dòng)的,隨著光流計(jì)算技術(shù)的發(fā)展,此框架下的光流模塊也可以被更先進(jìn)的模塊替換;基于雙流框架的視頻檢測與行為識別也常利用光流作為輸入之一,以光流提供的物體運(yùn)動(dòng)信息來輔助進(jìn)行行為識別;基于光流的運(yùn)動(dòng)信息,也可以為人面部表情識別、手勢識別、動(dòng)作識別等相關(guān)技術(shù)提供有效信息等。
光流在視頻跟蹤技術(shù)的具體應(yīng)用場景也有很多,在交通監(jiān)控上,對車輛、行人的異常行為進(jìn)行檢測,用以檢測可疑滯留物、人群異常聚集、突發(fā)火情等;在體育比賽中,可以利用此項(xiàng)技術(shù)進(jìn)行運(yùn)動(dòng)員跟蹤;在軍事領(lǐng)域,目標(biāo)的鎖定與跟蹤應(yīng)用更加廣泛,各類基于視頻的武器平臺與彈藥的導(dǎo)引頭都需要視頻跟蹤技術(shù),尤其是目前許多國家出現(xiàn)了智能化的無人武器平臺,其中利用視頻進(jìn)行檢測跟蹤鎖定目標(biāo)已經(jīng)是此類武器平臺的重要組件之一。
基于光流的動(dòng)作識別技術(shù)的應(yīng)用場景也很廣泛,如在安防監(jiān)控領(lǐng)域,可以利用動(dòng)作識別來預(yù)防公共場所的突發(fā)事件,若利用人工監(jiān)控,則往往成本高、效率低;在視頻檢索中應(yīng)用動(dòng)作識別,根據(jù)視頻動(dòng)作分析其視頻行為,進(jìn)而對相關(guān)視頻進(jìn)行檢索與推薦;在人機(jī)交互領(lǐng)域用動(dòng)作識別技術(shù)完成人機(jī)對話,目前已經(jīng)在許多游戲中廣泛使用等。
在實(shí)時(shí)定位與地圖構(gòu)建(SLAM)中,可以利用光流信息配合相機(jī)模型的3維運(yùn)動(dòng)約束,經(jīng)過優(yōu)化算法,可以從光流中得到相機(jī)的3維位姿進(jìn)而確定與其連接的物體的位姿,這種基于光流的位姿測量技術(shù)常被用于無人機(jī)、自動(dòng)駕駛等領(lǐng)域,許多基于視覺導(dǎo)航的機(jī)器人也是利用此項(xiàng)技術(shù)進(jìn)行實(shí)時(shí)導(dǎo)航,尤其是在紋理豐富的室內(nèi)場景較為常用,與基于慣導(dǎo)與GPS的導(dǎo)航不同,基于計(jì)算機(jī)視覺的導(dǎo)航無需接受其他任何信號且沒有慣導(dǎo)那種累積誤差,在軍事領(lǐng)域的具體應(yīng)用場景有無人飛行器自動(dòng)著陸、導(dǎo)彈精確導(dǎo)航、基于光流的目標(biāo)鎖定跟蹤技術(shù)、爆炸云分析、與陀螺儀結(jié)合進(jìn)行彈體高度估計(jì)等應(yīng)用也比較普遍等。視覺SLAM定位及點(diǎn)云生成效果如圖4所示。
圖4 光流SLAM效果圖(圖片出自文獻(xiàn)[43])
與此技術(shù)相關(guān)的還有基于光流的3維重建技術(shù),其基本原理也是通過光流解算相機(jī)位姿,而后基于不同視角的相機(jī)位姿利用幾何約束生成點(diǎn)云以實(shí)現(xiàn)物體的3維重建等,此項(xiàng)技術(shù)的具體應(yīng)用場景包括文物3D數(shù)據(jù)錄入、3D動(dòng)畫建模、醫(yī)療影像、3D光流(場景流)、軍事戰(zhàn)場測繪等領(lǐng)域。
此外,在氣象預(yù)報(bào)方面,基于雷達(dá)數(shù)據(jù)的雷暴識別追蹤和外推預(yù)報(bào)技術(shù),可以利用光流替代交叉相關(guān)法,對云團(tuán)等進(jìn)行外推預(yù)報(bào),提高天氣預(yù)報(bào)的準(zhǔn)確度;在醫(yī)學(xué)上,3維光流可以用于器官運(yùn)動(dòng)估計(jì),以及基于光流場的圖像配準(zhǔn)等應(yīng)用;由于光流相關(guān)算法部分基于變分優(yōu)化,在紅外圖像配準(zhǔn)方面也有相關(guān)算法的應(yīng)用;在軍事應(yīng)用方面基于光流的目標(biāo)鎖定跟蹤技術(shù)、爆炸云分析、與陀螺儀結(jié)合進(jìn)行彈體高度估計(jì)等應(yīng)用也比較普遍;在火災(zāi)煙霧預(yù)防檢測等領(lǐng)域,光流法也有著重要的應(yīng)用;自動(dòng)駕駛領(lǐng)域光流與激光雷達(dá)的組合達(dá)到了KITTI數(shù)據(jù)集光流最佳效果,這種多傳感器融合也是光流計(jì)算技術(shù)應(yīng)用的一個(gè)重要方面等等。
光流計(jì)算技術(shù)的進(jìn)展與腦科學(xué)視覺運(yùn)動(dòng)感知等領(lǐng)域既相互交叉也相互啟發(fā),大腦對視覺進(jìn)行編碼的過程在某些方面與深度神經(jīng)網(wǎng)絡(luò)類似。如Mountcastle (1957), Hubel(1962)以及 Wiesel (1963)等人研究發(fā)現(xiàn),在大腦皮層若干區(qū)域,反應(yīng)特性上表現(xiàn)出相似選擇性的細(xì)胞聚集在一起,這與卷積神經(jīng)網(wǎng)絡(luò)中卷積核提取某一高維特征的特點(diǎn)類似。通過和其他動(dòng)物實(shí)驗(yàn)數(shù)據(jù)比對發(fā)現(xiàn),不同物種和皮質(zhì)區(qū)域的組織類型的相似性表明存在著將方向和旋轉(zhuǎn)域映射到皮層表面的普遍原則(即運(yùn)動(dòng)感知),而光流計(jì)算技術(shù)可以認(rèn)為是對這種映射原則的一種模擬。
除上述外光流的應(yīng)用場景可以覆蓋基于計(jì)算機(jī)視覺技術(shù)的大部分領(lǐng)域,相關(guān)算法在其他場景的應(yīng)用也很多。作為計(jì)算機(jī)視覺的基本問題之一,光流計(jì)算技術(shù)的發(fā)展有助于其所覆蓋相關(guān)領(lǐng)域的技術(shù)進(jìn)步與性能提高。
06??總結(jié)與發(fā)展趨勢展望
本文介紹了光流相關(guān)的基礎(chǔ)知識,總結(jié)了光流計(jì)算技術(shù)主要的技術(shù)發(fā)展路線,對技術(shù)發(fā)展過程中比較典型的算法與模型進(jìn)行了簡要的闡述,對相關(guān)算法的核心創(chuàng)新點(diǎn)與思路進(jìn)行了歸納,對光流評估數(shù)據(jù)集與指標(biāo)方面做了簡要分析,并對光流的應(yīng)用場景進(jìn)行了簡要總結(jié)。
光流計(jì)算技術(shù)結(jié)合深度學(xué)習(xí)是目前光流計(jì)算的主要發(fā)展趨勢,其主要的技術(shù)方向是獲得一種可以適用于任何場景快速且精確的光流估計(jì)方法,個(gè)人認(rèn)為其中主流技術(shù)的發(fā)展趨勢是利用更加先進(jìn)的深度學(xué)習(xí)架構(gòu)如圖神經(jīng)網(wǎng)絡(luò)、transformer架構(gòu)、3D卷積模型等,提高模型預(yù)測的準(zhǔn)確度,強(qiáng)化模型的泛化能力和推理能力,解決諸如遮擋、小目標(biāo)、大位移、光照、邊界模糊、形變、噪聲等方向的光流計(jì)算問題。
從目前光流計(jì)算的發(fā)展來看,利用深度學(xué)習(xí)模型來進(jìn)行更準(zhǔn)確、實(shí)時(shí)性更好的光流預(yù)測依舊是光流計(jì)算發(fā)展的長期目標(biāo);在基于現(xiàn)有深度學(xué)習(xí)的模型上進(jìn)行優(yōu)化,在保證精度的同時(shí)加強(qiáng)實(shí)時(shí)性與降低模型參數(shù)的規(guī)模,這也是基于深度學(xué)習(xí)的光流模型可以繼續(xù)優(yōu)化的方向;2D光流相關(guān)算法可以結(jié)合深度信息,向3D光流(場景流)方向發(fā)展,加強(qiáng)動(dòng)態(tài)環(huán)境中對3D運(yùn)動(dòng)的理解;隨著腦科學(xué)的發(fā)展,人類視覺機(jī)制將被進(jìn)一步解析,利用仿生模擬人類視覺過程,如利用神經(jīng)動(dòng)力學(xué)模型結(jié)合深度學(xué)習(xí)對物體運(yùn)動(dòng)進(jìn)行預(yù)測,也是目前重要的發(fā)展方向之一;生物視覺具有高穩(wěn)定性、高適應(yīng)性和低功耗等特點(diǎn),是下一代人工智能算法開發(fā)的重要參考借鑒對象,生物視覺系統(tǒng)中存在專門處理運(yùn)動(dòng)信息的神經(jīng)元和神經(jīng)環(huán)路[44,45],相關(guān)神經(jīng)機(jī)制也得到了初步解析[46,47],如何借鑒相關(guān)機(jī)制,開發(fā)出性能更優(yōu)的類腦算法,將是光流計(jì)算領(lǐng)域極具潛力的發(fā)展方向之一。
編輯:黃飛
?
評論