鄧蓬月 孫 星 金 鑫 李曉東
北京電子科技學(xué)院,北京市 100070
隨著大數(shù)據(jù)時代的來臨,多媒體信息來源不斷擴大,也同樣帶來了圖像大量堆砌和信息爆炸的困擾,因此,需要對各種圖像資源進行智能化管理。 圖像檢索技術(shù)近年來受到廣泛關(guān)注。 圖像檢索技術(shù)的基本方法[2]是分析圖像的本質(zhì)的屬性,再從圖像數(shù)據(jù)庫中尋找相似或者相近的圖像。
在上述的研究中完成了精確度很高的太陽位置估計的研究工作,光照信息對于將虛擬對象插入到真實場景中的效果圖像的真實性至關(guān)重要。 能夠從單張場景圖像自動估計太陽位置是將三維模型插入到場景中的前提條件。 傳統(tǒng)的室外太陽方位估計方法通常使用手工標(biāo)注特征或線索。 這些標(biāo)注很大程度上依賴于人類的經(jīng)驗和使用其它圖像理解技術(shù)(如陰影和天空檢測、幾何恢復(fù)和圖像的本征分解)進行的預(yù)處理過程,在性能和準(zhǔn)確率方面有很大局限性。 與之不同的是,系統(tǒng)中使用的圖像標(biāo)簽并不采用人工標(biāo)注的方式,而是利用深度學(xué)習(xí)[5]訓(xùn)練得到的效果較好的深度學(xué)習(xí)模型,使用該模型估計圖像的天頂角和方位角作為圖像的標(biāo)簽,從而使標(biāo)簽更具客觀性。
那么本文應(yīng)該怎樣將這項研究應(yīng)用于實際生活中呢? 論文中提到的太陽位置估計方法主要用于影視后期制作,制作中有時需要找到兩張相似光照背景的場景圖像,此處可以使用太陽位置估計方法對圖像進行光照背景的計算,為了減小圖像檢索和處理中的工作量,在本文中需要設(shè)計實現(xiàn)一個指定光照背景檢索系統(tǒng),利用該系統(tǒng)就可以快速有效的對龐雜的圖像場景信息進行圖像檢索,篩選出需要的具有相似光照背景信息的場景圖像,并對檢索出圖像的進行后期制作。
本文使用的方法是圖像檢索領(lǐng)域較為普遍的基于文本的圖像檢索,系統(tǒng)的設(shè)計盡可能地減少對圖像整體的處理操作,通過計算圖像的太陽位置特征數(shù)據(jù)的數(shù)據(jù)庫中的特征數(shù)據(jù)匹配程度進行檢索。 首先,對指定光照背景檢索系統(tǒng)的各個功能模塊進行分析,建立圖像數(shù)據(jù)庫。 系統(tǒng)中的圖像數(shù)據(jù)庫包含webcam[13]、kitti 和從timelapse 數(shù)據(jù)集上的圖像,將圖像路徑和圖像信息錄入到數(shù)據(jù)庫中。 其次,進行界面的詳細設(shè)計和代碼的具體的系統(tǒng)實現(xiàn)。 系統(tǒng)設(shè)計對輸入的圖像進行太陽位置的估計,并將估計的結(jié)果與數(shù)據(jù)庫中相似的圖像數(shù)據(jù)信息進行匹配計算,最后輸出一組排列有序的圖像。
本文所設(shè)計的光照背景檢索系統(tǒng)的核心是光照分析和太陽位置估計。 國內(nèi)外許多研究學(xué)者都太陽位置估計對這一研究課題進行了探索,并且取得了不錯的成果。 根據(jù)使用方法的不同,基于圖像的光照分析方法可以分為兩大類:基于傳統(tǒng)的方法和基于深度學(xué)習(xí)的方法。
Ho?ek 等人[10]在Preetham 模型[15]的基礎(chǔ)上進行改進并提出了一種天空亮度模型,該模型能夠比Preetham 模型更加精確地表示天空的亮度分布,并且在隨后的工作中,該模型又被擴展為包括太陽輻射函數(shù)[10]。 Lalonde 等人[16]也對Preetham 模型進行了擴展,在其基礎(chǔ)上又添加了一種新的經(jīng)驗太陽模型,并將室外環(huán)境光照表示為Preetham 天空模型與太陽模型的和。 Lalonde等人[13]提出采用概率分布的方法從單張室外圖片中恢復(fù)出光照信息。 該方法將圖片中的天空區(qū)域,地面上的陰影區(qū)域以及垂直物體表面上的陰影區(qū)域等特征信息組合在一起以生成更加健全、可靠、準(zhǔn)確的信息。 然后,這些信息與有關(guān)光照參數(shù)的一些先驗知識相結(jié)合并采用概率分布函數(shù)的方法計算出太陽方位和太陽可見度等光照參數(shù)。
一些方法利用關(guān)于場景布局,反射率和場景光照的先驗知識[17]來恢復(fù)光照參數(shù),這些先驗知識被用于創(chuàng)建優(yōu)化模型或貝葉斯模型。 由于這些先驗知識只適用于特定的場景并不能用于其他的場景,所以這些方法在現(xiàn)實場景中的應(yīng)用具有較大的局限性。 Xing 等人[18]提出了一種基于在線視頻序列的動態(tài)光照估計方法,該方法適用于不存在陰影區(qū)域、天空亮度分布不均勻的室外場景。
Ma 等人[14]提出利用深度學(xué)習(xí)的方法直接從一張圖片中預(yù)測其對應(yīng)的太陽方位,該方法采用了Alexnet 網(wǎng)絡(luò)結(jié)構(gòu)并比較了采用不同損失函數(shù)的預(yù)測結(jié)果,實驗結(jié)果表明采用余弦距離訓(xùn)練出的模型預(yù)測準(zhǔn)確度最高。 Jin 等人[4]提出在深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中加入short-cuts 結(jié)構(gòu)以實現(xiàn)低層特征與高層特征的融合,這種融合可以增強網(wǎng)絡(luò)提取的圖像特征。
Hold-Geoffroy 等人[12]提出一種基于CNN 的從單張室外低動態(tài)范圍圖片中估計其對應(yīng)的高動態(tài)范圍光照信息的方法。 該方法首先將基于物理的Ho?ek-Wilkie[10]天空模型應(yīng)用于全景圖中的天空區(qū)域以獲取太陽方位,大氣渾濁度,照相機參數(shù)等光照參數(shù)。 然后利用從全景圖中截取的部分圖片(訓(xùn)練圖片)和已獲取的光照參數(shù)(標(biāo)簽數(shù)據(jù))對深度神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。
Cheng 等人[19]提出一種從成對圖片中恢復(fù)場景光照的方法,其中兩張圖片分別由相機設(shè)備的前置攝像頭和后置攝像頭拍攝。 該方法不使用光照參數(shù)而是使用球諧光照[19][20]對場景光照進行表示。 該方法首先需要計算出每張圖片所對應(yīng)的球諧系數(shù)并將其作為標(biāo)簽數(shù)據(jù),之后利用成對的圖片和其對應(yīng)的標(biāo)簽數(shù)據(jù)對深度神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。 該方法不僅適用于室外場景的光照分析同時也適用于室內(nèi)場景的光照分析。Gardner 等人[21]提出一種基于深度學(xué)習(xí)的室內(nèi)光照分析方法。 該方法首先利用一個光源分類器對低動態(tài)范圍圖像中的光源位置進行自動標(biāo)注,這些標(biāo)注信息作為標(biāo)簽數(shù)據(jù)用于訓(xùn)練一個光源位置預(yù)測網(wǎng)絡(luò),之后再利用一個小的高動態(tài)范圍圖像數(shù)據(jù)集對已訓(xùn)練好的網(wǎng)絡(luò)進行微調(diào)以實現(xiàn)圖像中光強信息的預(yù)測。
Zhang 等人[20]提出一種從低動態(tài)范圍室外全景圖中預(yù)測高動態(tài)范圍光照信息的端到端的方法。 該方法利用卷積和反卷積的操作來實現(xiàn)從低動態(tài)范圍到高動態(tài)范圍的逆色調(diào)映射過程[22],為了訓(xùn)練網(wǎng)絡(luò),作者合成了大量的高動態(tài)范圍圖片和對應(yīng)的低動態(tài)范圍圖片。 同時,該數(shù)據(jù)集也為以后的研究工作提供了方便。
本文主要開展指定光照背景檢索和太陽位置估計的應(yīng)用研究,主要研究內(nèi)容包括:基于深度學(xué)習(xí)的太陽位置估計、將基于深度學(xué)習(xí)的太陽位置估計方法應(yīng)用于指定光照背景檢索系統(tǒng)。第一節(jié)主要簡要介紹了一些太陽位置的傳統(tǒng)方法和基于深度學(xué)習(xí)的方法,簡要闡述各種方法的原理以及優(yōu)缺點。 第二節(jié)中主要介紹光照背景設(shè)計,描述系統(tǒng)的用例圖,根據(jù)需求設(shè)計系統(tǒng)功能模塊和系統(tǒng)流程。 描述選擇圖像檢索路徑用例、太陽位置計算用例和檢索數(shù)據(jù)庫中相似背景圖像用例。 第三節(jié)主要介紹幾種室外場景圖像數(shù)據(jù)庫。 第四節(jié)簡單介紹了SunOriNet 的實現(xiàn)。第五節(jié)將SunOriNet 方法估計的太陽位置于其他類似方法對比,對比結(jié)果明顯優(yōu)于其他方法。第六節(jié)主要描述了主要光照背景系統(tǒng)的實現(xiàn),并且對于整個系統(tǒng)進行測試。 第七節(jié)總結(jié)全文。
本節(jié)對于指定光照背景系統(tǒng)設(shè)計做出用例分析,并且根據(jù)需求設(shè)計劃分功能模塊,設(shè)計系統(tǒng)流程。
系統(tǒng)用戶用例如圖1 所示,主要分為三個大的模塊:選擇圖像檢索路徑、計算太陽位置、檢索數(shù)據(jù)庫中相似背景。 選擇檢索路徑主要為了便利用戶,當(dāng)用戶只需要某一類圖像時,可以選擇相同或者不同的存儲位置的室外場景圖像進行檢索。 而計算太陽位置主要包含兩個方面:計算太陽方位角與計算太陽天頂角。 第三部分主要是通過比較太陽方位角和天頂角檢索相似背景圖像。 更詳細的內(nèi)容在下文的幾張表中做了更詳細的補充。 系統(tǒng)[6]主要是針對用戶輸入的圖像進行相似光照背景信息的檢索,以選擇圖像的檢索路徑,太陽位置計算和檢索數(shù)據(jù)庫中相似背景圖像給出相應(yīng)的用例描述。
選擇圖像檢索路徑用例描述如表1 所示。選擇圖像的檢索路徑是為了減少用戶的工作量,當(dāng)用戶只需要某一類圖像時,可以選擇對某個場景進行光照背景檢索的路徑,也可以同時對不同的存儲位置的室外場景圖像進行檢索。 太陽位置計算是根據(jù)輸入圖像選擇圖像測試得到輸入圖像的太陽位置信息。 將太陽的天頂角和方位角顯示在用戶界面上,方便進行后續(xù)的檢索操作。 太陽位置計算用例描述如表2 所示:
表1 選擇圖像檢索路徑用例描述
表2 太陽位置計算用例描述
表3 檢索數(shù)據(jù)庫中相似背景圖像用例描述
檢索數(shù)據(jù)庫中相似背景圖像用例描述如表3 所示。 該系統(tǒng)無需用戶注冊登錄環(huán)節(jié),系統(tǒng)用戶可以得到指定的光照背景圖像和場景圖像的具體天頂角方位角信息。
系統(tǒng)功能模塊主要功能模塊介紹:1)數(shù)據(jù)采集:從數(shù)據(jù)集中獲取圖像數(shù)據(jù),并對沒有太陽位置標(biāo)簽的場景圖像進行計算得到太陽位置信息。 2)數(shù)據(jù)檢索:用戶向系統(tǒng)提交一幅待查詢的圖像,然后對用戶提交的場景圖像調(diào)用接口進行太陽位置估計,并將得到的結(jié)果與本地的圖像庫進行相似比較,檢索出符合用戶要求的場景圖像和太陽位置信息。 3)數(shù)據(jù)顯示:檢索后系統(tǒng)將滿足一定相似要求的圖像和它與輸入圖像太陽位置的相差角度反饋給用戶。 搜索結(jié)果可以采用圖標(biāo)和列表兩種顯示方式,并按照相似度進行排序。
指定光照背景檢索的主要思路是:通過用戶提交一張室外場景圖像,系統(tǒng)通過調(diào)用使用SunOriNet[4]網(wǎng)絡(luò)訓(xùn)練得到的Caffe 模型[7]對輸入圖像進行太陽位置估計,求出場景圖像的天頂角和方位角參數(shù),用得到的參數(shù)信息和圖像數(shù)據(jù)庫中的圖像參數(shù)信息進行誤差角度計算,獲得光照背景信息相似度較高場景圖像。 在進行結(jié)果的輸出時,根據(jù)圖像之間相似度大小升序排列輸出與場景圖像光照背景最相似的十張圖像。 系統(tǒng)的指定光照背景檢索功能模塊的具體設(shè)計如圖2 所示。 系統(tǒng)的主要工作流程有:
(1)輸入一張室外場景圖像;
(2)調(diào)用第二章訓(xùn)練好的Caffe 模型[7]計算輸入圖像的天頂角和方位角;
(3)通過誤差角度計算進行相似度的衡量;
(4)檢索相似的光照背景圖像,從圖像庫中找出十幅與輸入圖像光照背景相似的圖像;
(5)將圖像按與輸入圖像相差度數(shù)從小到大排列。
本文闡述了三種數(shù)據(jù)集和數(shù)據(jù)庫儲存方式。系統(tǒng)設(shè)計的目的是實現(xiàn)為影視后期制作提供一個可以根據(jù)輸入的場景圖像檢索出和它的光照背景相似的圖像的功能。 指定光照背景檢索系統(tǒng)使用了60 萬張有標(biāo)簽的圖像組成圖像數(shù)據(jù)庫。 數(shù)據(jù)庫的組成有webcam 數(shù)據(jù)集[13]、Kitti 數(shù)據(jù)集、time-lapse 數(shù)據(jù)集、Sun360 數(shù)據(jù)庫。
本文使用webcam 數(shù)據(jù)集[1]作為太陽位置估計[8]的訓(xùn)練集。 Webcam 數(shù)據(jù)集是一個包含太陽位置信息的數(shù)據(jù)集。 其中包含了從54 個不同網(wǎng)絡(luò)攝像頭序列中拍攝的不同圖像,這樣長時間和多地域跨度的拍攝,使每個拍攝攝像頭大量獲取太陽位置,具有詳細的圖像信息。 從這些參數(shù)中可以直接得到每張圖像的太陽位置。
KITTI[3]是目前國際上最大的自動駕駛場景下的計算機視覺算法評測數(shù)據(jù)集。 KITTI 包含市區(qū)、鄉(xiāng)村和高速公路等場景采集的真實圖像數(shù)據(jù),每張圖像中最多達15 輛車和30 個行人,還有各種程度的遮擋與截斷。 整個數(shù)據(jù)集由389對立體圖像和光流圖,39.2 km 視覺測距序列以及超過200k 3D 標(biāo)注物體的圖像組成,以10Hz的頻率采樣及同步。 從KITTI 上得GPS 和IMU獲得圖像的時間戳和位置信息從而計算出圖像的太陽位置。
time-lapse 數(shù)據(jù)集是一個包含多個室外場景延時視頻的數(shù)據(jù)集,數(shù)據(jù)庫的圖像時使用自寫程序?qū)ζ溥M行逐幀截圖,獲得場景圖像數(shù)據(jù)。 但是,這個數(shù)據(jù)集中圖像并沒有包含它的光照信息,所以需要通過調(diào)用SunOriNet[4]訓(xùn)練的出的Caffe 模型對數(shù)據(jù)集中截取出來的圖像進行太陽位置估計[8],得到圖像的太陽位置信息。
SUN360 數(shù)據(jù)集[22]全面收集了帶標(biāo)簽的全景圖,涵蓋了360x180 的全景,可用于各種環(huán)境場景,地點和其中的物體。 SUN360 數(shù)據(jù)集[22]大致可分為室外場景和室內(nèi)場景的360 度全景圖,而下文使用的測試圖片為室外場景圖片。 對于每張全景圖,分別從七個不同的方位角度截取7張圖片,下文中測試圖片對應(yīng)的就是某全景圖的一個方位角的圖片。
本系統(tǒng)的數(shù)據(jù)庫語言采用SQL Sever2016,數(shù)據(jù)庫名稱為SceneRetrieval。 系統(tǒng)中盡量不使用直接處理圖像的方法,因為圖像陣列很大,具有計算復(fù)雜和不方便傳輸?shù)娜秉c。 數(shù)據(jù)庫在進行數(shù)據(jù)存儲之前先計算出圖像的特征值并且將其路徑信息和特征值進行存儲。 數(shù)據(jù)庫的數(shù)據(jù)表中存儲的信息為圖像編號即對應(yīng)存儲圖像的名稱、圖像的路徑、圖像的天頂角方位角信息等光照信息。 具體的存儲格式如表4 所示。
表4 數(shù)據(jù)庫存儲表
本節(jié)介紹SunOriNet 實現(xiàn),本文提出了一種新的太陽方位估計的深卷積神經(jīng)網(wǎng)絡(luò),稱為SunOriNet,如圖3 所示。 太陽位置估計應(yīng)同時考慮到圖像的低層特征和高層特征。 因此,該網(wǎng)絡(luò)使用一個接觸層來直接連接中間特征映射到高級特征映射。 這樣可以將淺層特征直接傳遞到后面,通過加法操作將淺層特征與高層特征相結(jié)合,這樣可以解決了深層網(wǎng)絡(luò)的梯度消失問題,它的優(yōu)點在于增加了梯度的傳遞,加強了特征的傳播,減少了模型參數(shù)的運算,加快網(wǎng)絡(luò)的收斂速度并提高了準(zhǔn)確率。 這個網(wǎng)絡(luò)有兩個輸出,它可以同時預(yù)測出方位角和天頂角。
在這一部分中,展示了本文中提出的方法的實驗結(jié)果,并讓其與最先進的方法進行了比較。并在表格中給出了與基于其它深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)方法的比較結(jié)果[14]。 結(jié)果如表5 所示。 表5 比較的數(shù)據(jù)集來自SUN360 數(shù)據(jù)集[22]。 下表為了便于比較,將綜合誤差單位由弧度轉(zhuǎn)化為度。 從下表對比綜合誤差來看,本文所提出的SunOriNet 對于太陽方位的明顯優(yōu)于歐幾里得方法。
本節(jié)主要對指定光照背景檢索[12]系統(tǒng)進行設(shè)計和實現(xiàn),主要設(shè)計包括:場景圖像的光照信息提取,場景圖像的光照背景的光照特征信息匹配等。 本章實現(xiàn)了圖像的預(yù)處理,MATLAB 調(diào)用SunOriNet[4]訓(xùn)練好的Caffe 模型對圖像進行太陽位置估計[8],待查詢圖像與數(shù)據(jù)庫中的圖像的光照背景的相似度匹配。 為查詢接口提供一個完整的用戶界面,本文采用MATLAB GUI(Graphical User Interface)設(shè)計[11]實現(xiàn)了指定光照背景的檢索,對圖像庫中的圖像進行了檢索實驗。 實驗結(jié)果表明,本章中的檢索系統(tǒng)能夠簡單、有效,迅速的檢索出有相似光照背景的場景圖像。
通過設(shè)計一個深度卷積神經(jīng)網(wǎng)絡(luò)[4](DCNN)完成了對室外光照進行端到端的估計的方法,在本節(jié)中在MATLAB 中調(diào)用Caffe 中的MATLAB 接口,用經(jīng)過SunOriNet[4]訓(xùn)練得到的估計太陽位置的Caffe 模型來計算輸入圖像的太陽位置特征參數(shù),即輸入圖像的天頂角和方位角。
如圖4 所示,當(dāng)打開一張圖像后,會顯示圖像的路徑信息。 當(dāng)點擊“太陽位置計算”按鈕后,調(diào)用Caffe 模型對輸入的圖像進行太陽位置估計[8]得到天頂角和方位角的大小(zenith angle=-4.2237 azimuth angle =1.178)。
圖像的檢索的重點是圖像的特征匹配算法,首先通過調(diào)用Caffe 模型得到場景圖像的太陽位置的天頂角和方位角參數(shù)。 接下來通過將場景圖像的太陽位置參數(shù)與圖像庫中的參數(shù)進行相似度計算。 計算過程如下,根據(jù)取得的天頂角(zenith)和方位角( azimuth)計算出太陽位置的坐標(biāo)如公式:
根據(jù)求出的太陽位置x、y、z 坐標(biāo),要與庫中圖像的特征數(shù)據(jù)zenithi和azimuthi求出庫中圖像的xi、yi、zi進行誤差角度計算。 相似度誤差角度為θ,有如下公式:
如圖5 所示,通過計算可以得出數(shù)據(jù)庫中的圖像與輸入場景圖像中太陽位置的相差角度,并從中篩選出與它光照方向最接近的從小到大排列的十張圖像。 當(dāng)輸入設(shè)置檢索路徑為F:\77W-image,按下“光照背景檢索”按鈕,可以得到該路徑下與輸入圖像光照背景相似的十張圖像,并在系統(tǒng)的界面中顯示十張相似光照背景的場景圖像名稱信息和小圖標(biāo)。 當(dāng)點擊圖像后可以看到場景圖像具體的太陽位置信息。
本文中將太陽位置估計的方法應(yīng)用于實現(xiàn)影視后期制作過程中的指定光照背景檢索系統(tǒng)。該系統(tǒng)主要實現(xiàn)了輸入一張室外場景圖像,通過計算檢索出與該圖像具有相似光照背景的圖像。首先本章對數(shù)據(jù)庫的組成元素進行了簡單的介紹,經(jīng)過構(gòu)建訓(xùn)練模型計算得出輸入圖像的太陽的天頂角和方位角信息,根據(jù)輸入圖像的太陽位置信息與數(shù)據(jù)庫中其它圖像的太陽位置信息進行相似度計算,檢索出與輸入的圖像太陽位置相近的十張圖像并顯示圖像的具體信息和與輸入圖像相差的角度。 本文設(shè)計提出了的SunOriNet網(wǎng)絡(luò)結(jié)構(gòu),用一個接觸層將中間特征與高級特征相連接,解決了一般網(wǎng)絡(luò)中出現(xiàn)的梯度消失等問題,增加了梯度的傳遞,用簡單的方法讓兩層之間進行恒等映射,加強了特征的傳播和網(wǎng)絡(luò)的收斂速度并提高了準(zhǔn)確率,該網(wǎng)絡(luò)結(jié)構(gòu)有良好的圖像特征提取能力。