李豐翔 趙 巖
(山東省國土測繪院,山東 濟(jì)南 250013)
無人機(jī)采集影像具有機(jī)動(dòng)靈活、便捷高效的特點(diǎn),能夠在河湖調(diào)查中及時(shí)準(zhǔn)確地發(fā)現(xiàn)問題,極大地節(jié)省人力、物力,有效地提升外業(yè)巡查和執(zhí)法效率,且附帶地理定位信息的視頻、照片收集功能,為后續(xù)處理與分析工作提供便利,廣泛應(yīng)用于地理信息數(shù)據(jù)獲取、災(zāi)情預(yù)報(bào)、實(shí)時(shí)監(jiān)測等多個(gè)方面[1-2]。隨著水利部推進(jìn)河湖“清四亂”專項(xiàng)行動(dòng),無人機(jī)獲取正射影像具有數(shù)據(jù)獲取周期短、可量算及定位、影像分辨率高、地面信息豐富、易于讀取、問題全覆蓋等優(yōu)勢[3]。
同一工作日內(nèi),應(yīng)用無人機(jī)進(jìn)行多區(qū)域、復(fù)雜地形等的侵占破壞河湖問題調(diào)查時(shí),結(jié)合自動(dòng)飛行和手動(dòng)飛行模式,存在作業(yè)范圍廣、影像數(shù)據(jù)量大且散亂、后期分類工作較煩瑣等問題,不利于工作的自動(dòng)化、智能化。因此,尋找合適、快速的無人機(jī)影像數(shù)據(jù)分類方法具有良好的應(yīng)用價(jià)值。
河湖長制是水利發(fā)展改革的總基調(diào)和城市智慧管理的關(guān)鍵點(diǎn)。基于無人機(jī)的“清四亂”調(diào)查需要獲取高分辨率、強(qiáng)現(xiàn)勢性的正射或傾斜影像數(shù)據(jù),與前期設(shè)計(jì)方案、歷史數(shù)據(jù)等進(jìn)行對比分析,全面掌控建成河湖建設(shè)地理及生態(tài)情況,為相關(guān)智能決策提供重要數(shù)據(jù)支撐。
作業(yè)時(shí),其流程包括明確調(diào)查范圍及作業(yè)順序;根據(jù)調(diào)查區(qū)域及周邊高大樹木、建筑物、高壓線、電力塔等確定無人機(jī)的飛行高度;選用空曠地區(qū)作為無人機(jī)起降點(diǎn),連接設(shè)備并依據(jù)實(shí)際需求設(shè)置無人機(jī)航攝的速度、航向及旁向重疊等參數(shù),科學(xué)合理規(guī)劃航線;將航飛計(jì)劃上傳平臺(tái),按照設(shè)計(jì)飛行;更換測區(qū),對其他待調(diào)區(qū)域進(jìn)行航飛;利用Pix4Dmapper、大疆智圖、Context Capture等進(jìn)行內(nèi)業(yè)數(shù)據(jù)處理,完成影像成果的生產(chǎn)。
大疆公司生產(chǎn)的精靈PHANTOM 4 RTK設(shè)備是一款小型多旋翼高精度航測無人機(jī),主要用于低空攝影測量,具備厘米級導(dǎo)航定位系統(tǒng)和高性能成像系統(tǒng),支持實(shí)時(shí)RTK、PPK數(shù)據(jù)并記錄精確位置及姿態(tài)。無人機(jī)飛行高度為182 m時(shí),地面采樣距離GSD約為5 cm/pixel,單次飛行最大作業(yè)面積約1 km2,能夠很好地應(yīng)用于“清四亂”調(diào)查。針對該設(shè)備的數(shù)據(jù)展開研究,對其他無人機(jī)的數(shù)據(jù)處理具有一定參考意義。
依據(jù)獲取影像時(shí)的三類時(shí)間信息(訪問時(shí)間、創(chuàng)建時(shí)間、修改時(shí)間)及內(nèi)嵌的坐標(biāo)信息(經(jīng)緯度及高程),分析無人機(jī)影像數(shù)據(jù)的分類問題。設(shè)計(jì)時(shí),系統(tǒng)應(yīng)遍歷用戶指定文件夾下的全部文件,并獲取每個(gè)文件的詳盡信息,包括絕對路徑、文件名、訪問時(shí)間、創(chuàng)建時(shí)間、修改時(shí)間、緯度、經(jīng)度、高程、文件大小。系統(tǒng)應(yīng)提供基于時(shí)間信息和基于坐標(biāo)信息的兩大分類工具。其中,基于時(shí)間信息的分類應(yīng)支持3種類型時(shí)間及任意的文件排序;基于坐標(biāo)信息的分類應(yīng)支持全自動(dòng)或半自動(dòng)的分類方式,考慮實(shí)際作業(yè)的復(fù)雜性,選用K-means聚類方法。
系統(tǒng)應(yīng)以圖形實(shí)時(shí)顯示分類結(jié)果。為了顧及完整性及用戶的交互式體驗(yàn),系統(tǒng)還應(yīng)當(dāng)具備任意影像和多張影像的顯示功能,更加全面地進(jìn)行人工分析編輯。系統(tǒng)應(yīng)支持分類結(jié)果的導(dǎo)出及相關(guān)操作的必要提醒功能。
無人機(jī)影像快速分類系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 無人機(jī)影像快速分類系統(tǒng)結(jié)構(gòu)
考慮系統(tǒng)的可移植及可擴(kuò)展性,選用可視化軟件QT Designer設(shè)計(jì)系統(tǒng)界面,采用python編程語言,在PyCharm環(huán)境下進(jìn)行系統(tǒng)的開發(fā)及編譯。
(1)文件時(shí)間信息獲取。
利用os.path模塊獲取文件的三類時(shí)間信息,通過os.path.getatime、os.path.getctime、os.path.getmtime函數(shù)獲取訪問時(shí)間、創(chuàng)建時(shí)間及修改時(shí)間;利用time.localtime將其轉(zhuǎn)換為結(jié)構(gòu)類的time.struct_time類型對象,便于后期組織自定義的由年、月、日、時(shí)、分、秒構(gòu)成的時(shí)間字段,20211120091536代表2021年11月20日9時(shí)15分36秒。固定長度的字符可以為系統(tǒng)文件的準(zhǔn)確排序提供依據(jù)和保證,利于時(shí)間差值的計(jì)算。
(2)文件坐標(biāo)信息獲取。
無人機(jī)獲取的影像數(shù)據(jù)包含設(shè)備同時(shí)寫入的影像瞬時(shí)位置信息,用戶可以在筆記本上右擊查看。單張的位置信息不具備參考價(jià)值,采用程序批量逐個(gè)提取全部影像的坐標(biāo)信息,利用空間聚類法實(shí)現(xiàn)影像文件分類。影像的坐標(biāo)信息主要由Exif(Exchangeable image file format,可交換圖像文件格式)保存,利用exifread.process_file函數(shù)讀取文件的Exif信息并將其存儲(chǔ)至數(shù)據(jù)字典中,分別提取對應(yīng)緯度、經(jīng)度、高程3個(gè)字段“GPS GPSLatitude”“GPS GPSLongitude”及“GPS GPSAltitude”的值,獲取影像的位置信息。影像的位置信息為空時(shí),將其對應(yīng)值設(shè)為[0,0,0]。
(3)K-means聚類及實(shí)現(xiàn)。
聚類分析計(jì)算方法包括層次法、密度法、圖論聚類法、網(wǎng)格算法、模型算法以及劃分法等。K-means算法是應(yīng)用最廣泛的劃分聚類算法之一,是一種典型的逐點(diǎn)修改迭代的動(dòng)態(tài)聚類無監(jiān)督算法。其中,K代表類別的個(gè)數(shù)[4]。K-means算法采用距離作為相似性的評價(jià)指標(biāo),兩個(gè)對象的距離越近,其相似度越大。K-means算法認(rèn)為類簇由距離相近的對象組成,將得到緊湊且獨(dú)立的簇作為最終目標(biāo)。給定樣本集D={x1,x2,…,xm},K-means算法針對聚類所得到的簇為C={C1,C2,…,CK},劃分最小化平方誤差:

E值越小表示數(shù)據(jù)集樣本中相似度越高。
K-means算法流程如圖2所示。

圖2 K-means算法流程
系統(tǒng)主要利用sklearn.cluster中的Kmeans函數(shù)實(shí)現(xiàn)影像坐標(biāo)點(diǎn)分類,類別的個(gè)數(shù)K值由用戶依據(jù)調(diào)查的地點(diǎn)個(gè)數(shù)設(shè)定。
(4)分析結(jié)果顯示。
分析結(jié)果顯示主要涉及兩部分內(nèi)容,分別為目錄下的任意影像數(shù)據(jù)和影像坐標(biāo)信息及分類預(yù)覽。在QT Designer中,利用graphicsView控件調(diào)用OpenCV計(jì)算機(jī)視覺庫cv2進(jìn)行影像數(shù)據(jù)顯示;利用數(shù)據(jù)可視化軟件包Matplotlib實(shí)現(xiàn)影像坐標(biāo)信息的相關(guān)顯示。
(5)分析報(bào)告導(dǎo)出。
系統(tǒng)分析報(bào)告主要服務(wù)用戶的瀏覽及下一步作為參數(shù)文件用于影像數(shù)據(jù)的移動(dòng)整理。分類形成的figure圖像在顯示時(shí)可以直接保存為.jpg或.pdf等格式;文件名稱、時(shí)間信息、坐標(biāo)信息、分類類別等信息分別利用file.write或xlwt模塊輸出。
(6)文件移動(dòng)整理。
分類形成的分類參數(shù)文件支持.txt和.xls格式,描述每張影像的絕對路徑和分類類別,可以便捷地進(jìn)行指定類別的文件整理(移動(dòng)或剪切),利用shutil庫中的copy和move函數(shù)完成文件的復(fù)制或移動(dòng)。處理時(shí),系統(tǒng)利用可訪問操作系統(tǒng)相關(guān)功能的模塊os,利用os.path.exists函數(shù)提前判斷目標(biāo)文件夾中是否存在目標(biāo)文件,避免因數(shù)據(jù)覆蓋造成數(shù)據(jù)丟失。
系統(tǒng)運(yùn)行主界面如圖3所示。

圖3 系統(tǒng)運(yùn)行主界面
菜單欄集成系統(tǒng)的全部功能,可以自由控制各個(gè)視圖及工具欄的可見性;工具欄將常用功能以圖標(biāo)的形式展示,便于用戶操作;數(shù)據(jù)顯示窗口主要顯示指定目錄下的文件,如2.1節(jié)中設(shè)計(jì)的信息,包括表征序號的ID列、動(dòng)態(tài)更新的時(shí)間差值Gap-time列、依據(jù)時(shí)間的分類標(biāo)識(shí)flagByTime列、依據(jù)坐標(biāo)的分類標(biāo)識(shí)flagByCoord列,針對任一選中文件,用戶可以在資源管理器或設(shè)計(jì)視圖中進(jìn)行瀏覽;數(shù)據(jù)顯示窗的右側(cè)為Dock類的視圖顯示窗,支持用戶的任意移動(dòng);主要功能區(qū)通過有序的命令按鈕進(jìn)行系統(tǒng)操作;日志窗口實(shí)時(shí)地記錄用戶的每一次操作及一些必要的提醒,用戶可以按需隨時(shí)導(dǎo)出系統(tǒng)日志,避免一些潛在風(fēng)險(xiǎn)或用于規(guī)范化數(shù)據(jù)處理工作。
指定目錄后,系統(tǒng)將自動(dòng)提取全部影像數(shù)據(jù)的信息并在數(shù)據(jù)顯示區(qū)進(jìn)行展示。用戶可以使用“智能分析”按鈕進(jìn)行影像分類操作。系統(tǒng)支持基于時(shí)間及基于坐標(biāo)的兩種分類方法。其中,基于時(shí)間信息的分類將直接更新數(shù)據(jù)顯示窗中的Gap-time列和flagByTime列;基于坐標(biāo)信息的分類將更新flagByCoord列,以新視圖的方式顯示分類結(jié)果等信息,供用戶決策。
基于坐標(biāo)信息分類的部分圖示如圖4所示。

圖4 基于坐標(biāo)信息分類的部分圖示
依托實(shí)際項(xiàng)目對系統(tǒng)進(jìn)行測試。結(jié)果表明,在數(shù)據(jù)提取方面,系統(tǒng)能夠完整遍歷指定目錄下的全部文件,對各文件的三類時(shí)間信息以及坐標(biāo)信息進(jìn)行正確提取;在數(shù)據(jù)分析方面,基于時(shí)間信息以及基于坐標(biāo)信息的分類功能運(yùn)行良好,基于坐標(biāo)信息的分類中,K-means算法表現(xiàn)穩(wěn)定,通過用戶預(yù)先設(shè)定K值的方式能夠完全滿足實(shí)際需求;在數(shù)據(jù)顯示方面,設(shè)計(jì)的視圖及日志顯示窗口具有較強(qiáng)的實(shí)用性,分類時(shí)用于瀏覽的各圖示僅停留在“查看”層面,更深層的交互編輯功能不足,限制人工選點(diǎn)分類。
河湖長制過程中,利用無人機(jī)進(jìn)行河湖“清四亂”調(diào)查持續(xù)發(fā)揮關(guān)鍵作用,其影像數(shù)據(jù)的快速、自動(dòng)化分類具有重要性。依據(jù)訪問、創(chuàng)建及修改的三類時(shí)間信息在時(shí)序數(shù)據(jù)文件的區(qū)分時(shí)是最基本、最重要的技術(shù)方法之一,河湖“清四亂”調(diào)查過程中的無人機(jī)影像數(shù)據(jù)具備的地理位置信息對于在空間上將影像進(jìn)行分類具有參考價(jià)值。本文結(jié)合時(shí)間信息及坐標(biāo)信息,對河湖調(diào)查無人機(jī)影像數(shù)據(jù)的分類進(jìn)行深入研究,開發(fā)具有針對性的無人機(jī)影像快速分類系統(tǒng),經(jīng)實(shí)際項(xiàng)目測試驗(yàn)證,該方法及系統(tǒng)具有可行性、實(shí)用性及科學(xué)性。此外,嘗試將該系統(tǒng)應(yīng)用在城市車載全景移動(dòng)測量中的影像丟漏片查找中,發(fā)現(xiàn)其具有一定的實(shí)用價(jià)值,后期將進(jìn)一步展開研究。