鄒宗慶
【摘要】本文主要對(duì)基于云平臺(tái)的衛(wèi)星遙感圖像處理進(jìn)行研究,在把握衛(wèi)星遙感圖像處理流程以及分析Hadoop云平臺(tái)重要組件的基礎(chǔ)之上,明確基于Hadoop的圖像處理與MeanShift圖像分割具體操作步驟與要點(diǎn),以期實(shí)現(xiàn)對(duì)衛(wèi)星遙感圖像大數(shù)據(jù)的有效解決。
【關(guān)鍵詞】云平臺(tái);Hadoop;衛(wèi)星遙感圖像;MeanShift圖像分割
中圖分類號(hào):TN92? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? ? ? ? DOI:10.12246/j.issn.1673-0348.2021.17.005
衛(wèi)星遙感是對(duì)地球數(shù)據(jù)信息進(jìn)行采集的一項(xiàng)技術(shù),有著非常突出的重要作用,以無(wú)國(guó)界限制、覆蓋范圍大、觀測(cè)存在周期性以及數(shù)據(jù)的采集可符合客觀性要求等特點(diǎn)為其主要表現(xiàn)?;谛l(wèi)星遙感所獲得的遙感圖像數(shù)據(jù),又有很明顯的四高特征,也就是空間分辨率高、時(shí)間分辨率高、光譜分辨率高以及輻射分辨率高,本文對(duì)基于云平臺(tái)的衛(wèi)星遙感圖像處理方法展開(kāi)研究。
1. 衛(wèi)星遙感圖像處理流程
以抽象程度及研究方法等的不同作為劃分依據(jù),數(shù)據(jù)圖像的處理主要有3個(gè)層次的劃分,分別為數(shù)據(jù)處理層、圖像分析層(也就是信息提取層)以及圖像理解層(對(duì)應(yīng)的為知識(shí)層),進(jìn)一步對(duì)數(shù)據(jù)圖像處理層次的劃分進(jìn)行參考與借鑒,與衛(wèi)星遙感自身所具有的特點(diǎn)相結(jié)合,衛(wèi)星遙感圖像的處理流程通常被劃分為4個(gè)主要層次,分別為預(yù)處理層、數(shù)據(jù)處理層、信息提取層以及分析決策層(該層與知識(shí)層,也就是圖像理解層相對(duì)應(yīng)),如圖1所示。根據(jù)層次劃分可以清楚地發(fā)現(xiàn),預(yù)處理層被獨(dú)立了出來(lái),對(duì)其原因進(jìn)行分析,可大致歸納為以下幾點(diǎn)。
預(yù)處理作業(yè)同衛(wèi)星遙感圖像的獲取方式有著非常密切的聯(lián)系,且該項(xiàng)作業(yè)是必須經(jīng)歷的一個(gè)步驟,相較于其他領(lǐng)域的圖像預(yù)處理而言,衛(wèi)星遙感圖像的預(yù)處理算法原理及實(shí)現(xiàn)過(guò)程表現(xiàn)出較為明顯的不同。
盡管算法在一定程度上將數(shù)據(jù)處理層的特性彰顯了出來(lái),不過(guò)因?yàn)樘幚碇芭c之后圖像區(qū)域內(nèi)的像素位置出現(xiàn)了遷移的情況,這在一定程度上增加了鄰域及邊界的不確定性,由此一來(lái),處理難度也會(huì)相應(yīng)加大。
在衛(wèi)星遙感傳感器愈發(fā)向星載——陸地同步實(shí)時(shí)處理的宏觀趨勢(shì)下,預(yù)處理功能的順利與高效發(fā)揮能夠在較大程度上緩解地面處理壓力。所以,衛(wèi)星遙感圖像的預(yù)處理工作需要被單獨(dú)執(zhí)行,也就是做好輻射定標(biāo)以及大氣校正算法分析。不過(guò),因?yàn)楸疚闹攸c(diǎn)放在云平臺(tái)應(yīng)用下的衛(wèi)星遙感圖像處理上,因而不對(duì)預(yù)處理以及后期的信息提取與分析決策作過(guò)多研究,僅針對(duì)基于Hadoop云平臺(tái)的衛(wèi)星遙感圖像分割進(jìn)行具體分析。
2. Hadoop云平臺(tái)
Hadoop是分布式存儲(chǔ)計(jì)算框架,它是以云體系為基礎(chǔ)的一種云計(jì)算平臺(tái),能夠提供分布式存儲(chǔ)及計(jì)算的編程環(huán)境。對(duì)Hadoop平臺(tái)的總體構(gòu)成進(jìn)行分析,主要涉及到HDFS、MapReduce以及Hive等重要組件。
2.1 HDFS
屬于一種具有分布式特點(diǎn)的文件系統(tǒng),當(dāng)處于一個(gè)集群網(wǎng)絡(luò)中時(shí),計(jì)算機(jī)的數(shù)量往往會(huì)很多,對(duì)于任何一臺(tái)能夠正常運(yùn)行的計(jì)算機(jī)而言,它們的存儲(chǔ)量都是比較大的,可進(jìn)行海量差異化數(shù)據(jù)的存儲(chǔ)。以HDFS系統(tǒng)為支持,海量差異化數(shù)據(jù)的管理任務(wù)可以高效地被完成。
2.2 MapReduce
MapReduce是一種數(shù)據(jù)模型,圖2所示為其主要框架,可以將對(duì)數(shù)據(jù)的并行化處理功能很好地發(fā)揮出來(lái),對(duì)于多個(gè)計(jì)算節(jié)點(diǎn)而言,此數(shù)據(jù)模型具有能夠分配大規(guī)模計(jì)算分析任務(wù)的優(yōu)勢(shì),對(duì)于統(tǒng)計(jì)分析任務(wù)效率的提升具有顯著的積極意義。當(dāng)完成對(duì)數(shù)據(jù)的輸入作業(yè)以后,系統(tǒng)執(zhí)行對(duì)所輸入各類數(shù)據(jù)的分片處理操作,針對(duì)每一個(gè)輸入分片,都會(huì)有一個(gè)對(duì)應(yīng)的Map任務(wù)被單獨(dú)啟動(dòng),這時(shí),又會(huì)有一些鍵值對(duì)生成,本地硬盤(pán)又會(huì)進(jìn)一步執(zhí)行對(duì)它們的存儲(chǔ)任務(wù)。Map對(duì)之后所得結(jié)果進(jìn)行處理,基于網(wǎng)絡(luò)傳輸技術(shù)的支持,由具體運(yùn)行Reduce任務(wù)的相應(yīng)節(jié)點(diǎn)接收。這一環(huán)節(jié),Reduce函數(shù)所發(fā)揮的作用體現(xiàn)在可以對(duì)它們進(jìn)行合并處理之上,基于這一操作可以將所得最終結(jié)果存儲(chǔ)于HDFS中。
2.3 Hive
這是一種構(gòu)建在Hadoop上的數(shù)據(jù)倉(cāng)庫(kù)框架,對(duì)其功能進(jìn)行分析,體現(xiàn)在能夠?qū)iveQl查詢進(jìn)行有效轉(zhuǎn)換之上,用具體的MapReduce來(lái)表示,這種操作可以在一定程度上降低HiveQL程序向Hadoop平臺(tái)移植的難度。
3. 基于Hadoop云平臺(tái)的衛(wèi)星遙感圖像分割
3.1 基于Hadoop的圖像處理
借助于基于Hadoop的圖像處理云平臺(tái),將由HDFS執(zhí)行存儲(chǔ)任務(wù)的、已經(jīng)經(jīng)過(guò)預(yù)處理的數(shù)據(jù)作為衛(wèi)星遙感圖像數(shù)據(jù)輸入至此Hadoop云平臺(tái),MapReduce框架會(huì)從HDFS中進(jìn)行對(duì)所需圖像數(shù)據(jù)的加載。MapReduce編程模型中對(duì)用于程序開(kāi)發(fā)的各種類型的實(shí)體類與接口均有涉及,其中,InputFormat類可完成對(duì)所輸入數(shù)據(jù)信息有效性的檢查工作,之后執(zhí)行對(duì)這些信息的邏輯切片處理,并向不同的mapper分發(fā)作進(jìn)一步處理。此外,由前文可知,MapReduce還提供RecordReader的實(shí)現(xiàn),結(jié)合對(duì)數(shù)據(jù)切片的讀取,會(huì)有相應(yīng)的鍵值對(duì)生成。
為了實(shí)現(xiàn)對(duì)衛(wèi)星遙感圖像數(shù)據(jù)更加高效的處理,需要對(duì)圖像處理接口進(jìn)行自定義改寫(xiě),也就是自定義改寫(xiě)ImageInputFormat與ImageRecordReader。這么做的目的在于讓ImageInputFormat與ImageRecordReader分別繼承InpurFormat與RecordReader,前者的作用在于查驗(yàn)與校驗(yàn)輸入的衛(wèi)星遙感圖像數(shù)據(jù),進(jìn)行isSplitable()方法的重寫(xiě),同時(shí),設(shè)置此方法的返回值為False,這種做法可以將整幅圖視作一個(gè)split,對(duì)圖像切分情況的出現(xiàn)加以規(guī)避,由此一來(lái),圖像信息的完整性會(huì)得到很好的保證。Hadoop框架會(huì)對(duì)ImageRecordReader進(jìn)行調(diào)用,針對(duì)讀入的各個(gè)圖像文件,都會(huì)有相應(yīng)的鍵值對(duì)生成,而對(duì)于map函數(shù),則執(zhí)行對(duì)圖像處理相關(guān)算法的調(diào)用任務(wù),以此完成對(duì)圖像的處理。
在讀入圖像之時(shí),其讀取形式為二進(jìn)制數(shù)據(jù)流形式,而與之相對(duì)應(yīng)的,圖像的輸出則需要作業(yè)人員采用可視化的方式將圖像存儲(chǔ)下來(lái),這能夠?yàn)楹笃诘牟榭刺峁┍憷?,因而?yīng)進(jìn)行圖像輸出類型的自定義,該操作對(duì)于圖像在HDFS中的順利存儲(chǔ)具有一定的推動(dòng)作用。通過(guò)對(duì)圖像輸出類的自定義,用ImageRecordWriter類將抽象類RecordWrite
3.2 基于Hadoop的MeanShift圖像分割
MeanShift是一種以聚類為基礎(chǔ)的迭代式算法,表現(xiàn)出很高的復(fù)雜性特點(diǎn),而其這一復(fù)雜性又對(duì)計(jì)算機(jī)的性能提出嚴(yán)格的要求。Hadoop云平臺(tái)集群作為一種分布式數(shù)據(jù)處理系統(tǒng),從理論層面上看,能夠?qū)崿F(xiàn)對(duì)自身計(jì)算能力的無(wú)限擴(kuò)展,因而對(duì)于MeanShift聚類算法而言有著非常好的適用性。借助Hadoop云平臺(tái),MeanShift圖像分割算法可以按照以下幾個(gè)步驟來(lái)實(shí)現(xiàn):
(1)執(zhí)行對(duì)圖像輸入類型ImageInputFormat的自定義任務(wù),同時(shí),做好對(duì)圖像文件切割方法的自定義工作;
(2)對(duì)圖像的輸出類型進(jìn)行設(shè)計(jì),執(zhí)行對(duì)ImageRecordWriter類的自定義任務(wù),同時(shí),以圖像形式將數(shù)據(jù)存儲(chǔ)下來(lái);
(3)在圖像數(shù)據(jù)特征空間內(nèi)部,將點(diǎn)x作為中心,同時(shí),長(zhǎng)度h作為半徑進(jìn)行一個(gè)高緯球的繪制,得到落于該高緯球內(nèi)部的全部點(diǎn)xi;
(4)將x像素點(diǎn)處的均值飄移向量求解出來(lái),其中G所表示的是核函數(shù);
(5)若所得(注:ε表示的是容許誤差,取值在0-1之間),則退出程序;
(6)若,則進(jìn)一步求解新圓心的坐標(biāo)x,并向步驟(3)返回。
在以上迭代計(jì)算及賦值操作的基礎(chǔ)上,均值漂移窗口會(huì)呈現(xiàn)出逐漸移動(dòng)的態(tài)勢(shì),經(jīng)過(guò)窗口變換,收斂到數(shù)據(jù)峰值的全部點(diǎn)均會(huì)連通起來(lái),實(shí)現(xiàn)圖像分割,同時(shí),在Reduce環(huán)節(jié)輸出數(shù)據(jù)到HDFS執(zhí)行保存操作。
參考文獻(xiàn):
[1]趙忠明,高連如,陳東,等.衛(wèi)星遙感及圖像處理平臺(tái)發(fā)展[J].中國(guó)圖象圖形學(xué)報(bào),2019,24(12):2098-2110.
[2]王小凱.基于云平臺(tái)的遙感圖像處理方法研究[D].遼寧:東北大學(xué),2015.