, ,, ,,
(1.長江科學(xué)院 水土保持研究所,武漢 430010;2. 長江水利委員會 網(wǎng)絡(luò)與信息中心,武漢 430010;3.武漢大學(xué) 測繪遙感信息工程國家重點(diǎn)實(shí)驗(yàn)室,武漢 430079)
進(jìn)入21世紀(jì)后,傳感器與信息獲取技術(shù)有了迅猛的發(fā)展,歐美一系列高分辨遙感衛(wèi)星的發(fā)射成功,使遙感影像的分辨率已由早期的幾十米提高到當(dāng)前的1 m(OrbView-3)、0.61 m(QuickBird)、甚至0.41 m(GeoEye-1全色)[1]。各種時間、空間和光譜分辨率的遙感影像正在呈幾何級數(shù)增長,但其利用率卻很低[2-3],其關(guān)鍵原因是傳統(tǒng)遙感影像處理方法已經(jīng)無法有效應(yīng)對其日產(chǎn)量海量和單幅像素海量。
傳統(tǒng)的遙感影像處理方法一般是采用串行(或循環(huán))的方式對單張遙感影像(或遙感影像集)進(jìn)行處理。此類方法對于數(shù)量較少、數(shù)據(jù)量較少的遙感影像較為適用,但面對海量高分辨率遙感影像時就顯得無能為力。受限于計算機(jī)單機(jī)硬件,海量遙感影像的處理無法直接進(jìn)行。而對于某些勉強(qiáng)成功的處理,也需要長時間的等待,這對于數(shù)據(jù)處理者和使用者來說都是無法接受的。因此,需要轉(zhuǎn)換研究思路,擴(kuò)展處理能力,盡最大可能提高資源的利用率,縮短處理時間。
近10 a來,在計算機(jī)技術(shù)、信息技術(shù)與網(wǎng)絡(luò)技術(shù)的高速發(fā)展之下,新興的高性能計算技術(shù)(如云計算),在海量數(shù)據(jù)處理方面已經(jīng)得到廣泛推廣。利用高性能計算集群的超強(qiáng)計算、存儲及吞吐能力對海量高分辨率遙感影像集進(jìn)行并行的底層視覺特征的檢測和描述將極大地縮短處理時間,這為當(dāng)前海量高分辨率遙感影像高效處理提供了一種新的思路,也是遙感影像研究領(lǐng)域未來發(fā)展的一大趨勢。本文將在基于MapReduce的高分辨率遙感影像處理的研究框架下,介紹一種基于云計算的高分辨率遙感影像特征提取方法,實(shí)現(xiàn)海量高分辨率遙感影像的海量底層視覺特征的提取,并作為將來研究遙感影像檢索和人工地物識別的基礎(chǔ)。
影響高分辨率遙感影像獲取的條件十分復(fù)雜,如天氣變化、拍攝位置和角度變化、設(shè)備自身的不穩(wěn)定等等,這些都使采集的高分辨率遙感影像的質(zhì)量和內(nèi)容存在較大差異。為了更好地對高分辨率遙感影像和人工地物進(jìn)行描述,使同類型的人工地物能被更好地歸類,而不同類型的人工地物能被更好地區(qū)分,選擇的高分辨率遙感影像底層視覺特征要能有效應(yīng)對3個方面的差異性問題:①不同人工地物類型間的差異;②視點(diǎn)變化所帶來的差異;③不同條件下獲取的差異。
根據(jù)計算機(jī)視覺的研究,采用Affine Covariant Regions(仿射協(xié)變區(qū)域)[4],如MSER[5],Harris-Affine[6],Salient Regions[7]等,來描述高分辨率遙感影像中的人工地物是較好的選擇。仿射協(xié)變區(qū)域具有如下優(yōu)點(diǎn):①通過像素梯度計算而來,具有多尺度視點(diǎn)不變描述性;②從像素層次對強(qiáng)度信息有較好的表達(dá),對指定區(qū)域有較好的描述穩(wěn)定性;③使用像素間差異對區(qū)域進(jìn)行描述,對輻射變化具有較好的容錯性。
高分辨率遙感影像底層視覺特征的描述生成過程,主要包括特征興趣點(diǎn)(區(qū)域)檢測和特征區(qū)域描述2個大步驟。下面首先對本文將采用的2種底層視覺特征:MSER和Harris-Affine特征區(qū)域進(jìn)行介紹,再介紹SIFT128維特征描述器[8]。
圖1 高分辨率遙感影像的MSER特征區(qū)域檢測效果
2.1.1 MSER(Maximally Stable Extremal Regions)
MSER,即最大穩(wěn)定極值區(qū)域,是通過1個區(qū)域和其外邊界強(qiáng)度函數(shù)的極值屬性來獨(dú)立定義的區(qū)域。通過遍歷每個像素的灰度值,可以獲取1張灰度圖Ⅰ所有可能的二值化閾值。通過指定小于某個域值的像素全為黑色,而大于該域值的像素全為白色,就可以生成1個以幀t對應(yīng)數(shù)值t為閾值的二值化處理圖像It的連續(xù)圖像集。那么,首先將會出現(xiàn)1幅白色圖像,然后對應(yīng)于局部強(qiáng)度最小的黑色斑點(diǎn)將會出現(xiàn)并開始生長。隨著閾值的增加,2個局部最小區(qū)域?qū)⒃谀滁c(diǎn)出現(xiàn)合并。最終,整張圖像將變?yōu)槿?。此連續(xù)圖像集中所有幀全部連接部分的集合,就是最大區(qū)域的集合;而最小區(qū)域的集合則可以通過倒轉(zhuǎn)圖像I的強(qiáng)度并執(zhí)行同樣的處理而獲得。
對高分辨遙感影像中自然地物和人工地物區(qū)域分別進(jìn)行MSER特征檢測,可以獲得檢測效果如圖1所示。其中,用橢圓來標(biāo)注檢測的MSER特征,表示MSER特征區(qū)域的位置、尺度和方向。
圖1(a)和圖1(b)分別為高分辨率遙感影像中自然地物與人工地物區(qū)域MSER特征檢測效果。自然地物分布面積廣,邊緣不明顯,紋理單一,特征數(shù)量少,而人工地物面積小、類型多、邊緣明顯、結(jié)構(gòu)復(fù)雜,可檢測出的MSER特征多,說明MSER檢測器適于檢測高分辨率遙感影像中人工地物的底層視覺特征。
2.1.2 HARRIS-Affine特征
Mikolajczyk等[6]在2002年首次提出Harris-Affine特征,并最終于2004總結(jié)完善其基本原理和檢測方法。通過引入自適應(yīng)的迭代方法調(diào)整特征尺度與位置,Harris-Affine特征實(shí)現(xiàn)了特征尺度和空間位置的自動選取,克服了Harris特征點(diǎn)的弱尺度特性。同時,還引入自適應(yīng)的迭代方法調(diào)整特征區(qū)域形狀,使Harris-Affine特征能夠克服仿射變換所產(chǎn)生的形變。
通過對高分辨遙感影像中自然地物和人工地物區(qū)域進(jìn)行Harris-Affine特征檢測,可以獲得Harris-Affine檢測器的檢測效果,如圖2所示。其中,用橢圓來標(biāo)注檢測的Harris-Affine特征,表示Harris-Affine特征區(qū)域的位置、尺度和方向。
圖2 高分辨率遙感影像的Harris-Affine特征檢測效果
圖2中可以看出,自然地物特征尺度小,重疊部分少,邊緣不明顯,特征數(shù)量少,而人工地物邊緣明顯、結(jié)構(gòu)復(fù)雜、遮擋陰影多,可檢測出Harris-Affine特征多,而且其具有尺度和仿射不變性,是高分辨率遙感影像描述的較好選擇。
通過前文介紹的MSER特征檢測器和Harris-Affine特征檢測器已經(jīng)可以檢測出高分辨率遙感影像的興趣點(diǎn)集合,并且為每個興趣點(diǎn)賦予了仿射協(xié)變區(qū)域的橢圓參數(shù)描述,包括影像位置(m,n)和橢圓系數(shù)a,b,c。該仿射不變橢圓特征區(qū)域可表示為
a(x-m)(x-m)+2b(x-m)(y-n)+
c(y-n)(y-n)=1 。
由于SIFT特征描述器對仿射變換、輻射變換、視點(diǎn)變換等都具有一定的魯棒性,是一種公認(rèn)穩(wěn)定可靠的圖像局部特征描述器,故在此選用SIFT特征描述器來對前文所提取出的仿射協(xié)變區(qū)域進(jìn)行描述。
每個興趣點(diǎn)的SIFT128維特征描述,可以看作是它獨(dú)一無二的“指紋”,使其能與相同場景的相同興趣點(diǎn)得到正確的匹配,也讓它能夠區(qū)別于不同場景中的不同興趣點(diǎn)。因?yàn)椴煌b感影像中物體上的興趣點(diǎn)普遍存在著一定差異,所以為了使興趣點(diǎn)描述具有較好的容錯性,SIFT特征描述器選用了統(tǒng)計和多維向量相結(jié)合的方法來有效地滿足此種需求。
首先,取興趣點(diǎn)鄰域范圍內(nèi)16×16像素的窗口,然后將其劃分成4×4像素的子窗口共4×4=16個,然后再對每個子窗口進(jìn)行相應(yīng)的處理來生成SIFT128維特征描述向量,此步細(xì)節(jié)在下面闡述。
對于前文劃分出來的每個4×4像素子窗口,首先計算出其中每個像素的梯度大小和梯度方向,然后使用8梯度方向的直方圖來統(tǒng)計子窗口的平均方向。
圓周360°被平均分為8份,45°為1個區(qū)間,于是梯度方向?qū)儆?°~44°范圍之中的像素就被歸入第1個區(qū)間,然后是45°~89°范圍、90°~134°范圍……為了有效區(qū)分各個像素的梯度對興趣點(diǎn)描述的貢獻(xiàn)大小,更準(zhǔn)確地計算出興趣點(diǎn)的128維特征向量,SIFT特征描述器采用了基于高斯核函數(shù)的距離加權(quán)。通過高斯核函數(shù)來為選定的16×16像素窗口內(nèi)的各個像素的梯度大小進(jìn)行加權(quán)從而得到實(shí)際貢獻(xiàn)的梯度大小。不難發(fā)現(xiàn),距離興趣點(diǎn)越遠(yuǎn)的像素點(diǎn)所做出的貢獻(xiàn)程度越小。
通過前面介紹的方法,就可以為各個4×4像素的子窗口都創(chuàng)建1個8方向的通過高斯核函數(shù)加權(quán)的梯度直方統(tǒng)計圖,而興趣點(diǎn)周圍的16×16像素的鄰域內(nèi)包括了4×4個子窗口,每個子窗口包含了1個8維特征向量,也即是4×4×8=128維特征向量,接著通過對此128維的特征向量進(jìn)行單位化,就得了指定興趣點(diǎn)的128維SIFT描述子。
2004年Google公司最早提出了云計算軟件大型并行編程模型MapReduce[9]。在MapReduce中,主要有job和task兩級概念。其中,一個job可分解成多個task。作為Master的節(jié)點(diǎn)承擔(dān)job,并負(fù)責(zé)把“用戶程序”提交的job根據(jù)節(jié)點(diǎn)負(fù)載狀態(tài)按Map和Reduce 2種分配到各個Worker進(jìn)行執(zhí)行。數(shù)據(jù)流是按照輸入文件、文件分塊、中間結(jié)果和輸出文件的順序進(jìn)行轉(zhuǎn)換。
為實(shí)現(xiàn)高分辨率遙感影像底層視覺特征的高效檢測與描述,本文提出了基于MapReduce框架的底層視覺特征高效檢測與描述流程,如圖3所示。本處理的輸入數(shù)據(jù)為小影像集大文件,即一種為了提高影像數(shù)據(jù)尋址和讀取速度,將原始影像集組織成數(shù)據(jù)和索引的存儲結(jié)構(gòu)。其中,“大文件-索引”存儲著各幅小影像數(shù)據(jù)在整個大文件中的位移、原始影像名、劃分行列號、經(jīng)度、緯度、經(jīng)度像素分辨率和緯度像素分辨率;“大文件-數(shù)據(jù)”記錄遙感影像數(shù)據(jù)的剩余元數(shù)據(jù),如投影坐標(biāo)系、生產(chǎn)日期、傳感器類型、小影像數(shù)據(jù)長度(大小)等,以及小影像數(shù)據(jù)本身。
本處理流程可支持多種底層視覺特征的并行檢測和描述,并可根據(jù)需求自行配置檢測器和描述器,具有較好的擴(kuò)展性。同時,由于采用MapReduce框架設(shè)計,本處理對輸入數(shù)據(jù)量也具有很強(qiáng)的擴(kuò)展性。流程如圖3所示。
圖3 基于MapReduce的底層視覺特征高效檢測與描述流程
本處理流程主要分為以下4個處理步驟:
(1) Split(劃分)。作為本處理流程的第1步,劃分是對輸入文件或文件集按照一定規(guī)則切分成邏輯的小塊(inputSplit)并傳輸給每個Map操作的過程。在本步驟中輸入數(shù)據(jù)為數(shù)據(jù)預(yù)處理所生成的小影像集大文件(索引和數(shù)據(jù))。Split函數(shù)通過完全讀取大文件-索引來分析大文件-數(shù)據(jù)中遙感影像數(shù)據(jù)的元數(shù)據(jù),進(jìn)而以預(yù)定規(guī)則對大文件-數(shù)據(jù)進(jìn)行邏輯上的劃分并分配給Map操作。然后,RecordReader函數(shù)將劃分(inputSplit)讀取成一條條key-value的記錄按次序傳遞給Map函數(shù)完成數(shù)據(jù)輸入工作。輸入數(shù)據(jù)劃分流程圖如圖4所示。
圖4 數(shù)據(jù)劃分流程圖
(2) Map(映射)。這一階段是實(shí)際執(zhí)行高分辨率遙感影像底層視覺特征的并行檢測和描述的步驟。在1個Map操作內(nèi)部,將按照串行的順序來進(jìn)行底層視覺特征檢測和描述處理。但是為了減少遙感影像文件的讀取次數(shù),可將多個檢測器組合起來,最后通過1個描述器循環(huán)的對檢測到的各類底層視覺特征進(jìn)行描述。Map操作輸入的記錄key-value格式為
(3) Partition(分區(qū))。本操作實(shí)際上應(yīng)是Map處理階段的一部分,它根據(jù)Feature type對Map輸出的
(4) Reduce(歸約)。這是MapReduce的最后操作階段,其用于合并保存各種類型的底層視覺特征描述。按類型排序重組的
硬件:4臺浪潮英信NF5220服務(wù)器,每臺8個Intel Xeon E5504 2.0 G的CPU,64 GB RAM 內(nèi)存和1T硬盤。網(wǎng)絡(luò)連接使用TP-Link千兆交換機(jī)。
軟件:虛擬系統(tǒng)為CentOS 6.5,安裝jdk-6u27-linux-x64-rpm,Hadoop-0.20.2,HBase-0.90.3,Zookeeper-3.3.1,GDAL1.6,編程平臺為Eclipse3.7(INDIGO)。其中,Java在Linux下調(diào)用的GDAL包是在SWIG(Simplified Wrapper and Interface Generator)的基礎(chǔ)上使用G++4.4和ANT編譯而成。
虛擬集群:在4臺物理機(jī)器上每臺虛擬出4臺機(jī)器,組成共16個節(jié)點(diǎn)的Hadoop集群。其中包括1臺Master(TaskTracker,NameNode)和15臺Slave(JobTracker,DataNode),HDFS系統(tǒng)數(shù)據(jù)備份設(shè)置為3,MapReduce內(nèi)存設(shè)置為2 046 MB,每臺虛擬機(jī)可支持2個Map操作。
本實(shí)驗(yàn)數(shù)據(jù)為小影像集大文件,以256為影像規(guī)則網(wǎng)格劃分像素處理生成的6組小影像集大文件,詳細(xì)內(nèi)容如表1所示。
表1 小影像集大文件詳細(xì)信息
將基于MapReduce框架對海量高分辨率遙感影像的底層視覺特征MSER和Harris-Affine特征區(qū)域進(jìn)行高效檢測,再使用SIFT128維特征向量描述。2種高分辨率遙感影像底層視覺特征的檢測和描述工具使用的是Visual Geometry Group(VGG)所提供的LINUX環(huán)境下的3個LN應(yīng)用程序(VGG,2007)?;贛apReduce框架,在Hadoop平臺上實(shí)現(xiàn)并行的高分辨率遙感影像底層視覺特征高效提取是通過Java調(diào)用這些LN應(yīng)用程序?qū)崿F(xiàn)的。
經(jīng)過多次特征提取實(shí)驗(yàn),本文認(rèn)為以50幅小影像作為1個劃分,可使每個Map操作執(zhí)行時間控制在1 min左右。實(shí)驗(yàn)結(jié)果符合Hadoop平臺設(shè)計開發(fā)者對MapReduce使用的推薦,故本實(shí)驗(yàn)設(shè)置單個Map操作的容量為50。
4.2.1 不同數(shù)量小影像的特征提取效率實(shí)驗(yàn)
通過對6組小影像集大文件中各幅小影像進(jìn)行底層視覺特征MSER,Harris-Affine特征區(qū)域檢測和SIFT128維特征描述,并將每幅小影像文件名和特征描述以
圖5 6組小影像集大文件運(yùn)行時間與輸出數(shù)據(jù)量
其中,星點(diǎn)實(shí)線表示各組小影像集大文件處理的總運(yùn)行時間;三角虛線表示所檢測出的MSER和Harris-Affine特征區(qū)域的SIFT128維特征描述的文本輸出文件數(shù)據(jù)量。不難看出,本實(shí)驗(yàn)中集群固定16個節(jié)點(diǎn)的情況下,隨著小影像數(shù)量的增長,3條曲線都幾乎呈線性增長趨勢,說明本方法對海量高分辨率遙感影像數(shù)據(jù)的處理與存儲都具有很好的擴(kuò)展性。
同時,通過統(tǒng)計處理的各組小影像集大文件所得的MSER和Harris-Affine特征數(shù)量,可得如下統(tǒng)計(見表2)??芍?,隨著小影像數(shù)量的倍數(shù)增長,2種特征數(shù)量也基本是倍數(shù)增長的,而萬幅小影像的特征數(shù)量就已是百萬級,到第5組數(shù)據(jù)時已是千萬級。
表2 6組小影像集大文件的MSER和Harris-Affine特征數(shù)量
4.2.2 不同節(jié)點(diǎn)數(shù)處理效率實(shí)驗(yàn)
本實(shí)驗(yàn)以第1組10幅原始高分辨遙感影像預(yù)處理的包含10 240幅小影像的大文件為處理對象,單個Map操作的容量仍設(shè)置為50。通過設(shè)定節(jié)點(diǎn)數(shù)量分別為2,4,6,8,10,12和14,探討本方法處理能力的擴(kuò)展性,實(shí)驗(yàn)效果如圖6所示。
圖6 10 240幅影像不同節(jié)點(diǎn)數(shù)運(yùn)行時間對比
隨著節(jié)點(diǎn)數(shù)的增加,3項運(yùn)行時間都逐漸減小。其中,在2至8個節(jié)點(diǎn)時,運(yùn)行時間減少明顯。這是,由于在此階段內(nèi)一開始并行運(yùn)行的Map操作數(shù)量不足,處理能力弱,使Reduce操作長期處于等待任務(wù)狀態(tài),此時總運(yùn)行時間主要決定于Map操作的運(yùn)行時間。當(dāng)節(jié)點(diǎn)數(shù)增多時,Map操作數(shù)量增多,其處理能力增強(qiáng),也就直接減少了總運(yùn)行時間。而在8至14個節(jié)點(diǎn)時,運(yùn)行時間減少得較為緩慢。這是由于在此階段內(nèi),并行運(yùn)行的Map操作數(shù)量多,已超過Reduce操作的能力,此時總運(yùn)行時間主要決定于Reduce操作的運(yùn)行時間,因此總運(yùn)行時間減少不明顯。
本實(shí)驗(yàn)還對6組小影像集大文件分別進(jìn)行了不同節(jié)點(diǎn)數(shù)的實(shí)驗(yàn),其運(yùn)行時間的對比如圖7所示。各數(shù)據(jù)量級的運(yùn)行時間都呈現(xiàn)出與圖6中相同的趨勢,說明本方法對大數(shù)據(jù)量小影像集大文件具有很高的擴(kuò)展性。
圖7 6組小影像集大文件不同節(jié)點(diǎn)數(shù)運(yùn)行時間對比
本文介紹了高分辨率遙感影像底層視覺特征MSER和Harris-Affine特征區(qū)域的檢測和SIFT128維描述的細(xì)節(jié)。在此基礎(chǔ)之上,提出了一種基于MapReduce的高分辨率遙感影像底層視覺特征的檢測與描述方法。通過在16個節(jié)點(diǎn)的Hadoop集群上進(jìn)行數(shù)據(jù)量擴(kuò)展和處理能力擴(kuò)展實(shí)驗(yàn),證明了本文提出的基于MapReduce的高分辨率遙感影像底層視覺特征的高效檢測與描述方法的高效率及可擴(kuò)展性。進(jìn)一步的研究將在此特征提取的基礎(chǔ)上進(jìn)行高分辨率遙感影像檢索和地物的識別的研究。
參考文獻(xiàn):
[1] 黃 俊, 申邵洪. 結(jié)合高分辨遙感影像和GIS數(shù)據(jù)的土地利用變化監(jiān)測[J]. 長江科學(xué)院院報, 2012, 29(1): 49-52.(HUANG Jun, SHEN Shao-hong. Land Use Change Detection Using High Spatial Resolution Remotely Sensed Image and GIS Data[J]. Journal of Yangtze River Scientific Research Institute, 2012, 29(1): 49-52.(in Chinese))
[2] 李小文. 定量遙感的發(fā)展與創(chuàng)新[J]. 河南大學(xué)學(xué)報(自然科學(xué)版), 2005, 35(4): 49-56.(LI Xiao-wen. Retrospect, Prospect and Innovation in Quantitative Remote Sensing[J]. Journal of Henan University(Natural Science), 2005, 35(4): 49-56.(in Chinese))
[3] 朱先強(qiáng). 融合視覺顯著特征的遙感圖像檢索研究[D]. 武漢:武漢大學(xué), 2011.(ZHU Xian-qiang. Remote Sensing Imagery Retrieval Study Based on Integrating Visual Saliency Features[D]. Wuhan: Wuhan University, 2011.(in Chinese))
[4] SIVIC J, RUSSELL B C, EFROS A A,etal. Discovering Objects and Their Location in Images[C]∥IEEE. Proceedings of the 10th IEEE International Conference on Computer Vision, Beijing, China. October 17-20, 2005: 370-377.
[5] MATAS J, CHUM O, URBAN M,etal. Robust Wide Baseline Stereo from Maximally Stable Extremal Regions[C]∥British Machine Vision Association. Proceedings of British Machine Vision Conference, Cardiff, UK, September 2-5, 2002: 384-396.
[6] MIKOLAJCZYK K, SCHMID C. An Affine Invariant Interest Point Detector[C]∥Proceedings of the 7th European Conference on Computer Vision, Copenhagen, Denmark, May 28-31, 2002: 128-142.
[7] KADIR T, ZISSERMAN A, BRADY M. An Affine Invariant Salient Region Detector[C]∥Proceedings of the 8th European Conference on Computer Vision, Prague, Czech Republic, May 11-14, 2004: 228-241.
[8] LOWE G D. Distinctive Image Features from Scale-Invariant Keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110.
[9] DEAN J, GHENMAWAT S. MapReduce: Simplified Data Processing on Large Clusters[C]∥USENIX. Proceedings of Sixth Symposium on Operating System Design and Implementation, San Francisco, CA, USA, December 6-8, 2004: 107-113.