馬思騏 袁健
摘要:為了保證公共安全,身邊的攝像頭越來(lái)越多,在錄像監(jiān)控視頻中提取有效信息也變得日益困難。針對(duì)該問(wèn)題,提出一種新的基于無(wú)監(jiān)督學(xué)習(xí)的圖像匹配算法。該算法無(wú)需像以往算法一樣,需要大量人工標(biāo)注的數(shù)據(jù),而是通過(guò)觀看視頻即可完成訓(xùn)練,從而節(jié)約了大量時(shí)間成本。利用圖像匹配算法,可以將視頻中無(wú)效與相似內(nèi)容進(jìn)行濃縮,以提煉出有效內(nèi)容。該算法在MPI?Sintel與KITTI集上進(jìn)行了測(cè)試,APE分別為4.695與5.838,Accuracy@30分別為0.993與0.967,達(dá)到了較為理想的效果。
關(guān)鍵詞:深度學(xué)習(xí);圖像匹配;無(wú)監(jiān)督學(xué)習(xí);視頻濃縮
DOIDOI:10.11907/rjdk.181444
中圖分類號(hào):TP312
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):1672?7800(2018)012?0096?04
An Image Matching Algorithm for Video Synopsis
MA Si?qi,YUAN Jian
(School of Optical?Electrical and Computer Engineering,?The University of Shanghai for Science and Technology, Shanghai 200082, China)
Abstract:To ensure public safety, there are more and more cameras around us. Along with that, there are more and more long?term video surveillance. It is increasingly difficult to extract effective information in these videos. To solve this problem, this paper uses a new image matching algorithm based on unsupervised learning. It does not need the same amounts of manually labeled data as the pre?vious algorithms. It can complete training by simply watching the video and save a lot of time and cost. Then?through the image matching algorithm, invalid and similar content in the video can be condensed to extract effective content. Through experiments, the algorithm of this paper was tested in the MPI?Sintel and KITTI sets, the APE are 4.695 and 5.838 and the Accuracy@30 are 0.993 and 0.967. Therefore good results are achieved.
Key Words:deep learning;image matching;unsupervised learning;video synopsis
0?引言
近年來(lái),在一些公共區(qū)域發(fā)生了人員密集踩踏、暴力恐怖襲擊等眾多惡性事件,導(dǎo)致大量人身傷亡,在社會(huì)上造成了極大影響。因此,如今很多公共區(qū)域都安裝了監(jiān)控?cái)z像頭,攝像頭將拍攝的視頻流傳輸?shù)椒?wù)器,然后在控制中心依靠人工實(shí)時(shí)查看以發(fā)現(xiàn)險(xiǎn)情,但該方法效率低、成本高,需要耗費(fèi)大量人力成本,且肉眼監(jiān)測(cè)的情況極易出錯(cuò),無(wú)法實(shí)現(xiàn)對(duì)公共區(qū)域全范圍的實(shí)時(shí)監(jiān)測(cè)。因此,迫切需要一種圖像匹配算法去除長(zhǎng)時(shí)間視頻中無(wú)用信息的空白幀,以加快線索搜索速度。為了得到較好效果,采用深度學(xué)習(xí)的智能檢測(cè)系統(tǒng)需要大量數(shù)據(jù)進(jìn)行訓(xùn)練,因而需要大量人工標(biāo)注,從而使算法開發(fā)成本非常高。
我國(guó)對(duì)圖像匹配算法的研究雖然起步較晚,但在近年來(lái)獲得了研究者的重點(diǎn)關(guān)注。王小睿等[1]提出并實(shí)現(xiàn)了一種自動(dòng)圖像配準(zhǔn)方法,用于圖像的高精度配準(zhǔn),但實(shí)際上其只是一種使用互相關(guān)系數(shù)作為相似性測(cè)度的半自動(dòng)圖像配準(zhǔn)方法;郭海濤等[2]提出一種將遺傳算法(Genetic Algorithm,簡(jiǎn)稱GA)用于圖像配準(zhǔn)的算法;熊興華等[3]提出將遺傳算法與最小二乘法相結(jié)合,用于圖像的子像素級(jí)配準(zhǔn);李智等[4]提出基于輪廓相似性測(cè)度的圖像配準(zhǔn)方法,可適用于輪廓特征豐富的圖像配準(zhǔn)。由此可見,圖像匹配技術(shù)經(jīng)過(guò)多年研究,已取得了大量研究成果,但由于圖像匹配效果受多方面因素影響,相關(guān)技術(shù)有待進(jìn)一步提升。
1?相關(guān)工作
本文利用現(xiàn)實(shí)世界視頻序列中自然包含的時(shí)間相關(guān)性訓(xùn)練深度卷積網(wǎng)絡(luò),不需要手工標(biāo)注即可完成幀插值,然后使用學(xué)習(xí)的CNN為每個(gè)輸出像素計(jì)算靈敏度圖。靈敏度圖即梯度w.r.t.輸入,指示每個(gè)輸入像素對(duì)特定輸出像素的影響。將具有最大影響的兩個(gè)輸入像素(每個(gè)輸入幀一個(gè))視為對(duì)應(yīng)圖像(即匹配),雖然是間接的,但對(duì)于由此產(chǎn)生的模型,通過(guò)簡(jiǎn)單地觀看視頻即可完成對(duì)應(yīng)的幀匹配。
本文算法的主要優(yōu)點(diǎn)在于可以利用普通的視頻序列訓(xùn)練用于幀插值的深度卷積網(wǎng)絡(luò),而不需要任何人為的數(shù)據(jù)標(biāo)注。本文訓(xùn)練數(shù)據(jù)由3個(gè)圖像給出,每個(gè)圖像由2個(gè)輸入圖像與1個(gè)輸出圖像組成,表示標(biāo)注的內(nèi)插幀。標(biāo)注圖像的正確示例為:當(dāng)插入到輸入圖像對(duì)之間時(shí),形成時(shí)間相關(guān)性的幀序列圖像。這種時(shí)間相關(guān)性自然包含在正則視頻序列中,從而可以簡(jiǎn)單地使用來(lái)自幾乎任意視頻流的連續(xù)圖像三元組進(jìn)行網(wǎng)絡(luò)訓(xùn)練。每個(gè)三元組的第一幀與第三幀作為網(wǎng)絡(luò)輸入,第二幀作為標(biāo)注的內(nèi)插幀。最重要的是,在網(wǎng)絡(luò)反向傳播過(guò)程中得到了幀—幀對(duì)應(yīng)關(guān)系,因此其不需要人工設(shè)計(jì)模型與繁鎖的手工標(biāo)注,而是通過(guò)簡(jiǎn)單地觀看視頻即可學(xué)習(xí)圖像匹配方法。
1.1?神經(jīng)網(wǎng)絡(luò)匹配
在本文中,通過(guò)應(yīng)用與Simonyan等[20]使用的類似技術(shù)進(jìn)行反向傳播,對(duì)于輸出圖像中的每個(gè)像素,都計(jì)算其輸入像素的梯度,從而得到在輸入像素影響下,輸出像素有多少受到了反向傳播影響,并影響了網(wǎng)絡(luò)輸入處的映射敏感性。
I?2=F(I?1,I?3)表示一個(gè)非線性函數(shù)(即訓(xùn)練的神經(jīng)網(wǎng)絡(luò)),描述了從輸入圖像I?1和I?3到差值圖像I?2的映射,I?2幾乎在輸入幀的正中間。考慮到函數(shù)是一個(gè)向量映射,可以被分成h×w?的非線性子函數(shù),每隔一幀都可以在輸入圖像中產(chǎn)生對(duì)應(yīng)像素。
為了產(chǎn)生一個(gè)可反映反向傳播中映射敏感性的圖,本文針對(duì)每個(gè)輸入圖像計(jì)算Jacobian矩陣。Jacobian矩陣如下:
以上公式描述了一個(gè)?h×w矩陣如何在輸出中對(duì)每一個(gè)h×w像素產(chǎn)生映射結(jié)果。本文定義了一個(gè)輸出點(diǎn)(i,j)的絕對(duì)梯度,以對(duì)應(yīng)每一個(gè)輸出圖像,然后衡量每個(gè)具體的輸入?1和?3?,如公式(3)所示。
該方式通過(guò)計(jì)算其絕對(duì)值代替每個(gè)矩陣的輸入,為了導(dǎo)出每個(gè)對(duì)應(yīng)幀內(nèi)容的坐標(biāo),以該方式產(chǎn)生的梯度圖可以更好地表示靈敏度或影響圖。
即使是無(wú)監(jiān)督學(xué)習(xí),在本文中也選擇了最簡(jiǎn)單的方法。本文選取在?Gi,j?I?1(?1,?3)和Gi,j?I?3(?1,?3)中各自的最大輸入,并找到了Cij?I?1和Cij?I?3?。通過(guò)計(jì)算輸入圖像中每個(gè)點(diǎn)的梯度圖,然后提取每次結(jié)果中最具有價(jià)值的點(diǎn),得到:
所有對(duì)應(yīng)點(diǎn)集合?S通過(guò)結(jié)合從Cij?I?1和Cij?I?3?提取的相同索引元素,最終表現(xiàn)為:
1.2?用于幀插值的深度神經(jīng)網(wǎng)絡(luò)
如圖1所示,其包含了卷積部分與解卷積部分。與Hinton & Salakhutdinov [15]提出的自動(dòng)編碼結(jié)構(gòu)類似,這兩部分分別用于“編碼”與“解碼”。卷積部分基本模塊如下:
INPUT–>[CONV->PRELU]*3->POOL->OUTPUT
本文采用參數(shù)整流線性單位[14],根據(jù)VGG?Net的建議,將所有卷積濾波器的接收域大小設(shè)置為3,其中stride和padding都為1,然后將[CONV->PRELU]復(fù)制3遍,以更好地模擬非線性特征。
解卷積部分包括多個(gè)解卷積模塊,每個(gè)模塊都包括一個(gè)卷積變換層與兩個(gè)卷積層。前者有4個(gè)接收域,stride為1,padding為1。解卷積模塊如下:
INPUT->[CONVT-> PRELU] -> [CONV->PRELU]*2 -> OUTPUT
為了在幀插值里保持圖像細(xì)節(jié),在本文中復(fù)制了卷積模塊2、3、4的輸出特征,然后將其連接起來(lái)作為解卷積模塊4、3、2的額外輸入。由于本文中的網(wǎng)絡(luò)是完全卷積的,允許輸入不同分辨率的圖像,這是一個(gè)很大優(yōu)勢(shì),因?yàn)椴煌瑪?shù)據(jù)集可能會(huì)用到不同寬高比,網(wǎng)絡(luò)中每個(gè)塊的輸出blob大小如表1所示。需要注意的是,實(shí)驗(yàn)將兩個(gè)RGB圖像疊加到一個(gè)輸入斑點(diǎn)中,因此深度為6。網(wǎng)絡(luò)輸出為RGB圖像,因此深度為3。Sintel的數(shù)據(jù)很容易獲得,唯一區(qū)別是輸入圖像縮放到256×128而不是384×128。
2?實(shí)驗(yàn)
2.1?神經(jīng)網(wǎng)絡(luò)訓(xùn)練
訓(xùn)練數(shù)據(jù)的數(shù)量與質(zhì)量對(duì)于深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練至關(guān)重要,但本文可以簡(jiǎn)單地使用大量真實(shí)世界的視頻。在這項(xiàng)工作中,本文專注于使用KITTI RAW視頻[11]與Sintel視頻進(jìn)行訓(xùn)練,結(jié)果顯示該神經(jīng)網(wǎng)絡(luò)表現(xiàn)非常好。該網(wǎng)絡(luò)首先訓(xùn)練KITTI RAW視頻序列,該數(shù)據(jù)集包含56個(gè)圖像序列,共16 951幀。對(duì)于每個(gè)序列,本文將每3個(gè)連續(xù)幀(前后兩個(gè)方向)作為訓(xùn)練三元組,其中第1個(gè)和第3個(gè)圖像作為網(wǎng)絡(luò)輸入,第2個(gè)圖像作為相應(yīng)輸出,然后通過(guò)垂直翻轉(zhuǎn)、水平翻轉(zhuǎn)和兩者的組合進(jìn)行圖像增強(qiáng)。
樣本三聯(lián)體的總數(shù)是133 921,然后從原始Sintel電影中選擇案例對(duì)網(wǎng)絡(luò)進(jìn)行微調(diào)。實(shí)驗(yàn)過(guò)程中,從電影中手動(dòng)收集了總共5 670幀的63個(gè)視頻剪輯,對(duì)其進(jìn)行分組并增加數(shù)據(jù)后,最終得到44 352個(gè)樣本三元組。與以相對(duì)均勻速度記錄的KITTI序列相比,Sintel序列在本文工作環(huán)境中代表較難的訓(xùn)練實(shí)例,因?yàn)槠浒舜罅靠焖倥c人為渲染的運(yùn)動(dòng),捕捉幀速率僅為24FPS。Sintel樣本的重要部分因此不包含所需的時(shí)間相關(guān)性。
2.2?細(xì)節(jié)訓(xùn)練
實(shí)驗(yàn)在具有兩個(gè)K40c GPU的機(jī)器上使用Caffe[16]進(jìn)行訓(xùn)練。網(wǎng)絡(luò)權(quán)重采用Xavier的方法進(jìn)行初始化[12],并由Adam解算器[14]進(jìn)行優(yōu)化,固定動(dòng)量為0.9。初始學(xué)習(xí)速率設(shè)置為1e-3,然后在損失函數(shù)停止下降時(shí)進(jìn)行手動(dòng)調(diào)整。對(duì)于KITTI RAW數(shù)據(jù)集的訓(xùn)練,將圖像縮放為384×128;對(duì)于Sintel數(shù)據(jù)集的訓(xùn)練,將圖像縮放為256×128,批量大小為16。本文對(duì)KITTI RAW進(jìn)行了大約20個(gè)時(shí)期的訓(xùn)練,然后在Sintel電影圖像上對(duì)其微調(diào)了15個(gè)時(shí)期。訓(xùn)練期間未觀察到過(guò)度訓(xùn)練,并在5天后終止訓(xùn)練。
2.3?算法損失
文獻(xiàn)[13]、[21]中提到,在輸出幀與訓(xùn)練樣例之間最小化L2損失,可能導(dǎo)致不切實(shí)際與模糊的預(yù)測(cè)。本文在整個(gè)實(shí)驗(yàn)中未能證實(shí)這一點(diǎn),但發(fā)現(xiàn)通常用于魯棒光流計(jì)算[20]的Charbonnier損耗
可以對(duì)L2損耗作適當(dāng)改進(jìn),因此繼續(xù)采用其進(jìn)行網(wǎng)絡(luò)訓(xùn)練,并設(shè)置ε?集為0.1。
2.4?圖像匹配表現(xiàn)
本文將產(chǎn)生的匹配與幾種經(jīng)驗(yàn)設(shè)計(jì)方法進(jìn)行比較(本文算法簡(jiǎn)稱為ABBY),包括經(jīng)典的Kanade?Lucas?Tomasi特征跟蹤器[5]、HoG描述符匹配[9](其被廣泛用于增強(qiáng)密集光流計(jì)算)以及最近的DeepMatching方法[22],其依賴于多層卷積體系結(jié)構(gòu),且性能先進(jìn)。比較不同匹配算法需要從多個(gè)角度考慮,因?yàn)槠渫ǔ閳D像不同部分產(chǎn)生不同數(shù)量的匹配。為了公平比較,本文調(diào)整了每個(gè)算法參數(shù),使算法在匹配輸入圖像上盡可能均勻分布。對(duì)于DeepMatching,本文使用默認(rèn)參數(shù);對(duì)于ABBY,本文從4個(gè)像素寬度均勻網(wǎng)格的每個(gè)角中提取對(duì)應(yīng)關(guān)系;對(duì)于KLT,本文將minEigThreshold設(shè)置為1e-9,以生成盡可能多的匹配;對(duì)于HoG,再次將像素采樣網(wǎng)格寬度設(shè)置為4,然后根據(jù)合適的度量值對(duì)匹配進(jìn)行排序,并為每個(gè)算法選擇相同數(shù)量的最佳匹配。通過(guò)這種方式,4種算法產(chǎn)生相同數(shù)量的匹配,且每個(gè)輸入圖像具有相似的覆蓋范圍。
本文在KITTI[11]與MPI?Sintel[10]訓(xùn)練集中提取有效的標(biāo)注數(shù)據(jù)進(jìn)行比較,并使用圖像分辨率相同的圖像執(zhí)行所有實(shí)驗(yàn)。在KITTI上圖像被縮放為384×128,MPI?Sintel圖像縮放為256×128。本文使用KITTI RAW序列訓(xùn)練的網(wǎng)絡(luò)進(jìn)行KITTI Flow 2012訓(xùn)練集的匹配實(shí)驗(yàn),然后使用Sintel影片剪輯上的微調(diào)網(wǎng)絡(luò)進(jìn)行MPI?Sintel Flow訓(xùn)練集實(shí)驗(yàn)。這4種算法是根據(jù)平均點(diǎn)誤差(APE)與精度@ T進(jìn)行評(píng)估的,后者被定義為與第一張圖像的“正確”匹配相對(duì)于匹配總數(shù)的比例[18]。如果在第二張圖像中的像素匹配比T像素更接近標(biāo)注值,則匹配正確。
在KITTI 2012與MPI?Sintel培訓(xùn)集上進(jìn)行匹配性能測(cè)試結(jié)果如表2、表3所示。其中DeepM表示DeepMatching,采用指標(biāo)為:平均點(diǎn)誤差(APE)(越低越好),精度@ T(越高越好)。
如表2、表3所示,DeepMatching根據(jù)所有度量標(biāo)準(zhǔn)以及MPI?Sintel與KITTI集合生成最高質(zhì)量的匹配結(jié)果。值得注意的是,本文算法在KITTI上的DeepMatching性能非常接近,在精度@10與精度@20方面的性能優(yōu)于KLT跟蹤和HoG匹配,但在MPISintel上的表現(xiàn)有所下降。盡管APE測(cè)量結(jié)果表明其性能優(yōu)于HoG和KLT,但本文算法在MPI?Sintel的整體性能上仍然具有競(jìng)爭(zhēng)力。
3?實(shí)驗(yàn)結(jié)果與分析
本文研究表明,目前的工作使人工神經(jīng)網(wǎng)絡(luò)不需要大量手工標(biāo)注數(shù)據(jù),即可從普通視頻中學(xué)習(xí)圖像匹配。盡管本文算法目前在實(shí)際應(yīng)用場(chǎng)景中并不能提供所需的計(jì)算效率,但其可為相關(guān)問(wèn)題提供更簡(jiǎn)單的解決方案。相信該方法未來(lái)會(huì)得到更廣泛的應(yīng)用,并且在計(jì)算效率與可靠性方面更加符合現(xiàn)實(shí)需求。
參考文獻(xiàn):
[1]?王小睿,吳信才.遙感多圖像的自動(dòng)配準(zhǔn)技術(shù)[J].中國(guó)圖形圖像學(xué)報(bào),1997,10(2):735?738.
[2]?郭海濤,劉智,張保明.基于遺傳算法的快速影像匹配技術(shù)的研究[J].測(cè)繪學(xué)院報(bào),2001,18(S1):20?22.
[3]?熊興華,錢曾波,王任享.遺傳算法與最小二乘法相結(jié)合的遙感圖像子像素匹配[J].測(cè)繪學(xué)報(bào),2001,30(1):54?59.
[4]?李智,張雅聲.基于輪廓特征的圖像配準(zhǔn)研究[J].指揮技術(shù)學(xué)院報(bào),1998,9(3):101?106.
[5]?BIRCHFIELD S. Derivation of Kanade?Lucas?Tomasi tracking equation[J]. Unpublished Notes, 1997,44(5):1811?1843.
[6]?SCHAFER R, WIEGAND T,?SCHWARZ H.The emerging H.264/AVC standard[J].EBU Technique Review, 2003.
[7]?王嵩,薛全,張穎,等.H.264視頻編碼新標(biāo)準(zhǔn)及性能分析[J].電視技術(shù),2003(6):25?27.
[8]?YU A, LEE R, FLYNN M. Early detection of all?zero coefficients in H.263[C].Picture Coding Symposium,1997.
[9]?BROX T, MALIK J. Large displacement optical flow:descriptor matching in variational motion estimation[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2011,33(3):500?513.
[10]?BUTLER D J, WULFF J, STANLEY G B, et al. A naturalistic open source movie for optical flow evaluation[M].Computer Vision– ECCV 2012. Springer Berlin Heidelberg, 2012:611?625.
[11]?GEIGER A, LENZ P, STILLER C, et al. Vision meets robotics: the KITTI dataset[J]. International Journal of Robotics Research, 2013,32(11):1231?1237.
[12]?GLOROT X, BENGIO Y. Understanding the difficulty of training deep feedforward neuralnetworks[J]. Journal of Machine Learning Research, 2010,9:249?256.
[13]?GOROSHIN R, MATHIEU M, LECUN Y. Learning to linearize under uncertainty[J]. Computer Science, 2015.
[14]?HE K, ZHANG X, REN S, et al. Delving deep into rectifiers: surpassing human?level performance on imagenet classification[C]. IEEE International Conference on Computer Vision,2015:1026?1034.
[15]?HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks.[J]. Science, 2006,313:504?507.
[16]?JIA Y, SHELHAMER E, DONAHUE J,et al. Caffe: convolutional architecture for fast feature embedding[DB/OL].http://www.icsi.berkeley.edu/pubs/vision/caffe14.pdf.
[17]?KINGMA D, BA J. Adam: a method for stochastic optimization[C]. ICLR, 2015:1?15.
[18]?REVAUD J, WEINZAEPFEL P, HARCHAOUI Z, et al.Deep convolutional matching[DB/OL]. http://cn.arxiv.org/pdf/1506.07656.
[19]?SIMONYAN K, VEDALDI A, ZISSERMAN A. Deep inside convolutional networks: visualising image classification models and saliency maps[DB/OL]. http://www.robots.ox.ac.uk/~vgg/publications/2014/Simonyan14a/simonyan14a.pdf.
[20]?SUN D, ROTH S, BLACK M J. A quantitative analysis of current practices in optical flow estimation and the principles behind them[M].?Holand: Kluwer Academic Publishers, 2014.
[21]?WANG X, GUPTA A. Unsupervised learning of visual representations using videos[C].IEEE International Conference on Computer Vision, 2015:2794?2802.
[22]?WEINZAEPFEL P, REVAUD J, HARCHAOUI Z, et al. Deepflow: large displacement optical flow with deep matching[C].IEEE International Conference on Computer Vision, 2014:1385?139.