申金晟,池明旻
(復(fù)旦大學(xué) 計算機科學(xué)技術(shù)學(xué)院,上海 201203)
(上海市數(shù)據(jù)科學(xué)重點實驗室,上海 201203)
近年來遙感技術(shù)正朝著高時間分辨率、高空間分辨率、高光譜分辨率快速發(fā)展,遙感數(shù)據(jù)已經(jīng)進入到大數(shù)據(jù)時代[1].在國內(nèi)城鎮(zhèn)化快速推進的過程中,遙感技術(shù)作為動態(tài)獲取城市地形地貌、城市建設(shè)、土地利用與覆蓋等信息的重要手段,為城市公關(guān)安全、自然災(zāi)害預(yù)警、環(huán)境污染等提供必要的監(jiān)測信息,為相關(guān)政府部門對城市系統(tǒng)規(guī)劃和決策提供科學(xué)依據(jù).
在城市遙感大數(shù)據(jù)中,一項重要任務(wù)為土地覆蓋分類任務(wù)[2],即為遙感數(shù)據(jù)(尤其對高空間分辨率多光譜遙感圖像)中土地的物理覆蓋類型(諸如裸土、建筑、植被、水體等)進行分類.作為一項分類任務(wù),城市遙感數(shù)據(jù)面臨著嚴重缺乏標記數(shù)據(jù)且標記困難的現(xiàn)狀.為此,我們已提出了基于社交媒體數(shù)據(jù)的城市遙感眾包標記系統(tǒng)[3],其系統(tǒng)框架圖如圖1,其中矩形框部分為本文工作在框架中位置.在該系統(tǒng)中,我們使用主動學(xué)習(xí)技術(shù),從城市遙感圖像中挑選最需要標記的樣本點.對這些待標記樣本點,在社交媒體照片數(shù)據(jù)集中(這里指帶有GPS信息的城市室外照片)通過GPS信息關(guān)聯(lián)周圍的城市照片,經(jīng)過圖像聚類為眾包標記者提供最能反映標記點地物特征的照片,完成一輪迭代.
在該系統(tǒng)中,我們需要面對數(shù)據(jù)關(guān)聯(lián)問題,即照片所呈現(xiàn)的內(nèi)容不一定反映標記點內(nèi)容.為此,我們希望在圖像特征提取的過程中,生成的特征不僅能有效表征圖像,更能反映圖像中近景的特征,從而減小數(shù)據(jù)關(guān)聯(lián)帶來的誤差.
圖1 城市遙感數(shù)據(jù)眾包標記系統(tǒng)框架圖[3]
為此,在本文中我們提出了基于深度先驗的特征提取算法,該算法在特征提取過程中加入了圖像深度信息,從而聚焦照片近處的物體特征;同時,該特征能很好地表征室外照片,并被用于其他圖像任務(wù).
圖像的特征提取始終是計算機視覺領(lǐng)域的一個核心問題,特征的好壞往往決定了目標任務(wù)的最終結(jié)果.通常,圖像的特征提取可以分為兩個步驟:
1)提取圖像原始特征.這些特征往往是局部不變性特征,具有較強的表達能力,諸如SIFT特征[4]、SURF特征[5]、HOG特征[6]等等.
2)為圖像的原始特征進行編碼.通常,圖像的原始特征規(guī)模往往比較龐大,因此需要進一步為這些特征進行編碼,起到去噪、壓縮等功能,使得圖像特征的表達更為緊湊,方便后續(xù)目標任務(wù).常見的圖像特征編碼算法包括 BoW 算法[7]、Fisher Vector算法[8]、VLAD算法[9]等.本步驟并不是必須的,在目標任務(wù)中直接使用圖像原始特征也完全可以.
自Krizhevsky等人開創(chuàng)性地提出了AlexNet[10]后,卷積神經(jīng)網(wǎng)絡(luò)(以下簡稱CNN)在圖像分類、目標檢測等一系列計算機視覺任務(wù)中都取得了突破性進展.CNN的網(wǎng)絡(luò)結(jié)構(gòu)主要由卷積層和全連接層堆疊而成,其卷積層的輸出為卷積圖張量,全連接層的輸出為固定維度的向量.Razavian等人[11]使用預(yù)訓(xùn)練的CNN模型提取圖像特征,結(jié)合分類算法(SVM等),在多個圖像任務(wù)和數(shù)據(jù)集上都取得了優(yōu)于傳統(tǒng)圖像特征(SIFT特征等)的結(jié)果,證明了CNN模型具有良好的特征表達能力和泛化能力.
Girshick等人[12]在目標檢測任務(wù)中,直接使用CNN的全連接層輸出作為候選區(qū)域的圖像特征,并結(jié)合SVM做分類.Babenko等人[13]則在圖像檢索任務(wù)中使用AlexNet模型中的全連接層輸出作為圖像特征,并用PCA[14]降維.作者分別比較了不同全連接層輸出的效果,同時使用自己收集的地標建筑物數(shù)據(jù)集微調(diào)(fine-tune)網(wǎng)絡(luò)提升檢索效果.Gong等人[15]提出了MOP Pool特征提取算法,該算法對圖像的不同分塊使用CNN提取全連接層輸出作為圖像原始特征,結(jié)合VLAD算法對其編碼,并驗證了CNN特征具有一定的尺度不變性和旋轉(zhuǎn)不變性.
另一方面,相較于使用全連接層輸出,卷積層輸出保留了更多的圖像空間信息和底層細節(jié)信息,因此受到越來越多的關(guān)注.Ng等人[16]使用卷積圖張量結(jié)合VLAD算法,在圖像檢索任務(wù)上得到了優(yōu)于MOP Pool的結(jié)果.Tolias等人[17]提出了 RMAC 池化方法,通過對卷積圖進行滑塊做最大池化(max pooling),并對池化后的局部特征合并降維得到最終特征.
Babenko等人[18]提出了和池化(sum pooling)方法替代最大池化,對CNN中的特征圖進行編碼,并設(shè)置中心先驗權(quán)重來提升檢索效果,即SPOC算法.同時,該文對不同卷積層輸出的特征張量進行對比,驗證越是靠后的卷積層提取的原始特征張量對圖像的表達能力越強.
到目前為止的主要特征提取算法都是對圖像進行全局地表征,而在本文任務(wù)中,我們需要在圖像特征提取過程中有區(qū)別的對待不同距離的景物,并更關(guān)注圖像近景內(nèi)容,目前尚未有專門的算法.因此我們需要提出一個新的特征提取算法.
本節(jié)將給出基于深度先驗的圖像特征構(gòu)造算法.算法框架圖如圖2所示.對于輸入圖像,我們將基于以下流程來提取圖像特征:
1)使用單目圖像深度估計算法為圖像還原深度信息.
2)使用CNN卷積層部分提取特征圖張量作為圖像的原始特征.
3)結(jié)合圖像的深度先驗和特征圖張量計算卷積圖權(quán)重,并使用和池化方法對原始特征進行編碼.
圖2 基于深度先驗的圖像特征提取算法框架圖
對于輸入圖像,我們使用單目圖像深度估計算法來還原圖像的深度信息.這里的深度信息指圖像中拍攝的物體距離相機鏡頭的真實距離,因此該任務(wù)是典型的不適定問題.常見的深度估計算法主要包括基于馬爾科夫隨機場方法(以下簡稱MRF)[19–21]、基于大規(guī)模RGB-D數(shù)據(jù)集的無參估計[22,23]以及卷積神經(jīng)網(wǎng)絡(luò)方法[24,25].本文的目標任務(wù)在為室外城市照片提取特征,故選擇結(jié)合CNN的MRF算法來還原圖像深度信息,而得到的深度圖即圖像特征提取的先驗信息.
由先前的論述可知,CNN卷積層的輸出比全連接層輸出保留了更多的圖像空間信息,具有更強的圖像表達能力.此外,在 CNN 處理圖像時,往往需要對輸入圖像預(yù)處理(裁剪或形變縮放),將其規(guī)約到固定大小(比如VGG網(wǎng)絡(luò)中規(guī)定圖像輸入尺寸為224×224),以保證最后的全連接層參數(shù)一致.使用卷積層輸出作為圖像的原始特征則意味著不再需要將輸入圖片規(guī)約到固定大小.常見的輸入圖像規(guī)約預(yù)處理有三種:
1)雙步縮放:將圖像分別在長寬兩個維度上縮放至固定值,比如 224×224.
2)單步縮放:將圖像在長或?qū)捝峡s放至固定值,另一維度上同比例縮放.
3)圖像原始尺寸輸入.
顯然,圖像原始尺寸輸入即不會改變圖像的空間信息,也不會損失圖像的細節(jié)信息.本文即采用原始圖像輸入來提取原始特征.
另一方面,使用原始圖像輸入會使不同尺寸的圖像在同一個卷積層所得到的卷積圖大小不同.這里,我們對得到的卷積圖再使用單尺度的Spatial Pyramid Pooling[26]進行規(guī)約,使得所有圖像所獲得的最終原始特征尺寸相同,使用的池化方法為最大值池化.
在使用CNN獲得了圖像的原始特征后,我們提出一種結(jié)合圖像深度先驗的池化方法來提取最終的圖像特征.整個和池化編碼過程如圖 3,其中,×表示每個卷積特征圖分別與深度先驗權(quán)重做和池化.
圖3 基于深度先驗的全局和池化示意圖
對于輸入圖像,在使用某種卷積神經(jīng)網(wǎng)絡(luò)對其進行訓(xùn)練后,其中某一個卷積層L的輸出結(jié)果為特征張量記為F∈RW×H×N,W×H為特征圖的長和寬,N為該卷積層的卷積核數(shù)量.定義由第k個卷積核產(chǎn)生的特征圖為fk∈RW×H,特征圖中位置(x,y)處的值為fx,y,k,構(gòu)造卷積層L所輸出的第k個特征圖的特征值φk如下:
其中,wx,y為特征圖中點(x,y)處的響應(yīng)權(quán)重,dx,y為該點的深度權(quán)重.對于響應(yīng)權(quán)重矩陣W∈RW×H,我們使用特征圖fk來構(gòu)造:
對于深度權(quán)重,我們使用圖像的深度信息為權(quán)重賦值.我們先將輸入圖像的深度圖縮放至W×H,則:
其中,dmax為深度最大值,dmin為深度最小值,d(x,y)為(x,y)處的深度信息.ε為一個極小量,保證單目圖像深度估計過程中對極遠處的誤判.該權(quán)重值使圖像特征向近景傾斜.
對于獲得的權(quán)重矩陣,我們使用L2范數(shù)歸一化,即:
其中,權(quán)重矩陣V∈RW×H,定義如下:
我們對卷積層L輸出的所有N個特征圖經(jīng)過上述和池化計算,獲得該卷積層的一個N維的特征向量φ,并使用同維度的PCA白化,并對得到的白化特征再進行L2范數(shù)歸一化,最終得到N維圖像特征.
作為比較,我們將SPOC算法摘錄如下:
其中,ax,y為高斯中心先驗,其權(quán)值設(shè)置如下:
其中,σ為分布協(xié)方差,設(shè)置為特征圖中心距最近邊界長度的三分之一.可以看到SPOC算法是在sum pooling的基礎(chǔ)上加上了高斯中心先驗,并不能有效反映圖像中的圖標物體,更不能反映近景的特征.
我們的目標任務(wù)在于圖像特征提取過程中更關(guān)注近景,但該任務(wù)并不是一個標準的圖像任務(wù),所以沒有一個標準數(shù)據(jù)集可以進行對比.但在一定程度上,本文任務(wù)和基于內(nèi)容的圖像檢索(Content Based Image Retrieval,CBIR)任務(wù)相近,二者都要求特征對圖像中的內(nèi)容物體有良好的表征能力.因此,我們將在圖像檢索任務(wù)上與其他特征提取算法進行對比.
我們使用 Oxford5k Buildings dataset[26]作為實驗數(shù)據(jù)集.該數(shù)據(jù)集包含了5063張圖片和55個查詢.圖片采集自Filckr上反映牛津地區(qū)的照片,本身即為社交媒體圖像,而查詢內(nèi)容均為牛津地標建物的室外照片,與我們的社交媒體數(shù)據(jù)集中城市室外照片非常相近.
我們使用VGG16-NET[27]模型作為提取圖像原始特征的網(wǎng)絡(luò)結(jié)構(gòu).所有網(wǎng)絡(luò)參數(shù)均訓(xùn)練自ImageNet數(shù)據(jù)集[28],不對網(wǎng)絡(luò)做重訓(xùn)練或微調(diào).我們使用VGG16中最后一個卷積層(即conv5_3)輸出的特征張量作為原始圖像特征.在深度權(quán)重的計算中,ε設(shè)置為0.0001.該卷積層共有512個卷積核,得到512個卷積特征圖.在進行池化編碼后,最終獲得一個512維的圖像特征.
對于查詢區(qū)域的特征提取,通常將查詢區(qū)域從原圖中進行剪裁,再對剪裁圖像進行特征提取.這里我們借鑒SPP-NET[29]中從圖像到卷積特征圖之間區(qū)域位置映射關(guān)系,直接從全圖的卷積圖上剪裁查詢區(qū)域的特征再進行池化編碼.
在SPOC中提到,數(shù)據(jù)集中查詢內(nèi)容往往靠近圖像的中心區(qū)域,因此設(shè)置了高斯中心先驗來減少近處景物的噪聲(比如近處的植被、門框等).為此,我們將靠近圖像邊界的近景的深度信息設(shè)置為極遠處從而提高圖像檢索的準確率.
在相似度上,我們使用余弦距離來計算圖像間的相似度.在實驗結(jié)果的評價上,使用平均正確率均值(mean Average Precision,mAP)作為評價標準,其中圖像檢索的結(jié)果依據(jù)余弦距離進行排名.
圖4展示了單目圖像深度估計獲得的圖像深度圖,上排為輸入的室外城市照片,下排為對應(yīng)的使用單目圖像深度估計算法還原的深度圖.這里使用的深度估計算法為自行設(shè)計的結(jié)合CNN的條件隨機場算法,在Make3D數(shù)據(jù)集[19]上的相對誤差為0.276.我們可以看到,通過深度估計所獲得的深度先驗?zāi)芑痉从吵鰣D像中物體的基本輪廓和遠近關(guān)系,從而幫助我們獲 取圖像的近處景物.
圖4 單目圖像深度估計可視化結(jié)果
圖5展示了本文設(shè)計的權(quán)重矩陣,圖5(a)是輸入的室外城市照片和對應(yīng)的深度先驗權(quán)重矩陣,圖5(b)是SPOC高斯中心先驗,對所有輸入圖像,SPOC的全局和池化權(quán)重矩陣相同.這里的權(quán)重矩陣未經(jīng)中心化去近景操作.作為對比,我們展示了SPOC算法的高斯先驗中心權(quán)重.我們可以看到,本文基于深度先驗的權(quán)重矩陣能有效地反映出圖像中的主要物體,同時,深度先驗可以使特征聚焦近處景物.
圖5 全局和池化權(quán)重矩陣
表1展示了不同圖像特征提取算法在Oxford5k Buildings數(shù)據(jù)集上圖像檢索的結(jié)果,帶*表示使用全圖查詢的結(jié)果.該表中結(jié)果除本文算法外其余結(jié)果皆來自原論文.該結(jié)果表明本文特征提取算法對室外照片有良好的表征能力.同時,我們可以看到使用CNN提取的圖像特征相比于傳統(tǒng)特征總體上有所提高.此外,通過池化編碼CNN卷積層輸出的特征張量能大幅減小特征規(guī)模,極大地降低了后續(xù)任務(wù)的計算量,同時,得益于深度學(xué)習(xí)的GPU加速,圖像的原始特征規(guī)模和計算時間也大幅降低.本文方法在Oxford5k Buildings數(shù)據(jù)集上取得了較好的結(jié)果,主要得益于以下幾點.
首先,Oxford5k Buildings數(shù)據(jù)集的查詢目標都是室外建筑,而查詢結(jié)果也是室外圖片,圖像的深度估計算法可以較好地得到物體的輪廓和深度信息,其結(jié)果本身就能有效反映圖像中的主要物體.其次,查詢區(qū)域特征全部為特征圖剪裁保證了圖像原始特征的統(tǒng)一性.最后,原始圖像輸入最大程度地保證了原始特征的空間信息和細節(jié)信息,這一點我們將進行對比實驗.
表1 Oxford5k Buildings 數(shù)據(jù)集圖像檢索結(jié)果
圖6則展示了對輸入圖像進行縮放的實驗結(jié)果.我們將圖像縮放到224×224,使用的是預(yù)訓(xùn)練的VGG16網(wǎng)絡(luò),得到conv5_3卷積層輸出的14×14特征圖,并分別使用sum pooling、SPOC和深度先驗方法提取特征,最終特征的維度為 512 維.可以看到,實驗結(jié)果都分別低于表1中的結(jié)果,說明對于較高分辨率的圖像而言,在輸入時進行縮放(主要是縮小)會使CNN圖像特征的表達能力大幅下降,一方面是縮小到固定尺寸破壞了原有圖像的空間信息,同時大尺度地縮小圖像使得圖像的細節(jié)信息被模糊.
圖6 對輸入圖像縮放的檢索結(jié)果
本文提出了基于深度先驗的圖像特征提取算法,該算法可以有效聚焦近處景物特征.而圖像檢索實驗驗證了該特征能有效表征室外照片,可以被使應(yīng)用于其他相關(guān)圖像任務(wù)中.同時,我們發(fā)現(xiàn)在圖像特征提取過程中,原始圖像輸入對特征的表征能力有極大地提高,并且再一次驗證了CNN模型的良好泛化能力和表征能力.