李天一,樊浩宸,李天賜,孟祥卉
(吉林大學(xué) 地球探測(cè)科學(xué)技術(shù)學(xué)院,吉林 長(zhǎng)春 130021)
機(jī)器學(xué)習(xí)發(fā)展迅猛,其技術(shù)方法廣泛應(yīng)用于各行各業(yè)。其中,計(jì)算機(jī)視覺(jué)技術(shù)中的深度學(xué)習(xí)方法在遙感目標(biāo)識(shí)別、圖像分類(lèi)等領(lǐng)域也得到了廣泛應(yīng)用[1-5]。深度學(xué)習(xí)方法需要構(gòu)建出對(duì)應(yīng)實(shí)驗(yàn)要求的算法模型,通過(guò)對(duì)樣本特征的學(xué)習(xí)產(chǎn)生結(jié)果并反饋以?xún)?yōu)化模型,最終實(shí)現(xiàn)速度、精度達(dá)到研究要求的模型。在模型構(gòu)建的過(guò)程中,學(xué)習(xí)樣本的采集和訓(xùn)練集、測(cè)試集和驗(yàn)證集的劃分是一個(gè)重要環(huán)節(jié)。學(xué)習(xí)樣本一般需要大批量、等尺寸圖像作為數(shù)據(jù)集,對(duì)于遙感圖像樣本采集來(lái)說(shuō),原始數(shù)據(jù)來(lái)源一般是現(xiàn)存的各類(lèi)衛(wèi)星所采集到的遙感圖像數(shù)據(jù)。在獲取到原始數(shù)據(jù)后,需要根據(jù)研究要求對(duì)原始圖像進(jìn)行裁剪并重新命名歸類(lèi),得到圖片分辨率相同且按類(lèi)存放的具有統(tǒng)一命名標(biāo)準(zhǔn)的圖像,進(jìn)而形成圖片樣本集[6-9]。
在樣本采集過(guò)程中,會(huì)有多種因素制約圖像采集工作效率,往往需要解決如下問(wèn)題:首先,在遙感圖像樣本采集過(guò)程中,不可避免地會(huì)涉及到多種遙感數(shù)據(jù)類(lèi)型。大部分的數(shù)據(jù)來(lái)源多樣,不同類(lèi)型的遙感數(shù)據(jù)存放在不同的遙感數(shù)據(jù)平臺(tái),因此在數(shù)據(jù)采集的時(shí)候需要在不同平臺(tái)進(jìn)行不同類(lèi)別遙感圖像數(shù)據(jù)的下載、采集和處理操作。此外,對(duì)于不同地物還有需要根據(jù)其具體尺寸選用不同比例尺的遙感數(shù)據(jù)等問(wèn)題。在機(jī)器學(xué)習(xí)模型方面,要滿(mǎn)足研究所選用的不同模型對(duì)圖像格式的要求和訓(xùn)練模型時(shí)參數(shù)更改的需要,圖像樣本尺寸、類(lèi)型一般是動(dòng)態(tài)變化的。同時(shí)在同一模型下還有對(duì)遙感圖像樣本規(guī)范化的要求,操作上重復(fù)性的特征比較突出。所以,這一環(huán)節(jié)往往對(duì)采集的靈活性、效率、規(guī)范水平有著較高要求。其次,采集的樣本圖像形成的圖像數(shù)據(jù)集需要服務(wù)于后續(xù)機(jī)器學(xué)習(xí)算法模型的訓(xùn)練與實(shí)現(xiàn),因此不能在采集后簡(jiǎn)單地按文件夾存儲(chǔ)。機(jī)器學(xué)習(xí)模型訓(xùn)練過(guò)程中需要通過(guò)數(shù)據(jù)集中的樣本及時(shí)幫助模型發(fā)現(xiàn)參數(shù)問(wèn)題,并且當(dāng)發(fā)現(xiàn)采集到的樣本數(shù)據(jù)存在問(wèn)題時(shí)還需要對(duì)其進(jìn)行修正,最后還要考慮機(jī)器學(xué)習(xí)圖像樣本的快速檢索、樣本瀏覽、快視圖查看等需求。所以對(duì)樣本動(dòng)態(tài)檢索與動(dòng)態(tài)采集有較高的管理要求。
本文在吉林大學(xué)“大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃”培育項(xiàng)目的支持下,構(gòu)建了尺度程序化控制,跨數(shù)據(jù)平臺(tái)和軟件平臺(tái)的遙感圖像樣本采集方案,進(jìn)而解決遙感圖像樣本規(guī)范化要求高、人工采集效率低的問(wèn)題;然后運(yùn)用數(shù)據(jù)庫(kù)管理模式與可視化程序控制,實(shí)現(xiàn)樣本圖像分類(lèi)化、動(dòng)態(tài)化、結(jié)果可視化、樣本信息同步采集的樣本管理模型,從而解決機(jī)器學(xué)習(xí)模型對(duì)樣本動(dòng)態(tài)檢索與動(dòng)態(tài)采集的管理需求。
本文設(shè)計(jì)的機(jī)器學(xué)習(xí)遙感數(shù)據(jù)樣本采集方式主要分為四個(gè)方面,分別是樣本參數(shù)設(shè)計(jì)、平臺(tái)選擇、樣本取圖和圖像信息入庫(kù)四個(gè)方面(圖1)。對(duì)于樣本參數(shù)設(shè)計(jì),首先需要確定采樣數(shù)據(jù)源,以滿(mǎn)足對(duì)所采集地物特征描述準(zhǔn)確的要求。其次是樣本采樣尺寸的確定,以滿(mǎn)足機(jī)器學(xué)習(xí)模型的參數(shù)要求。對(duì)于遙感數(shù)據(jù)平臺(tái)的選擇,主要根據(jù)所要采集遙感圖像,進(jìn)而選擇合適的數(shù)據(jù)資源平臺(tái)或遙感數(shù)據(jù)軟件平臺(tái)這兩種平臺(tái)進(jìn)行獲取。對(duì)于樣本取圖環(huán)節(jié),首先是根據(jù)屏幕分辨率獲取屏幕坐標(biāo),進(jìn)而通過(guò)采樣尺寸計(jì)算截圖范圍。然后將該范圍內(nèi)的像素轉(zhuǎn)繪到相同范圍大小的畫(huà)布上,完成屏幕截圖。最后進(jìn)行樣本數(shù)據(jù)另存。對(duì)于樣本信息入庫(kù),我們根據(jù)所截取地物的類(lèi)型和位次進(jìn)行編碼入庫(kù)。并且將所截取的地物地理坐標(biāo)和特征描述等其他信息一并進(jìn)行錄入。
圖1 技術(shù)方法
用于機(jī)器學(xué)習(xí)訓(xùn)練和驗(yàn)證的遙感圖像樣本按不同類(lèi)型進(jìn)行管理(圖2)。首先,在顯示圖片的時(shí)候需要對(duì)已獲取的圖片進(jìn)行分類(lèi)顯示,需要確定所選擇的類(lèi)別信息,因此使用選項(xiàng)按鈕獲取目前所選擇的遙感圖像樣本類(lèi)別。通過(guò)與數(shù)據(jù)庫(kù)進(jìn)行連接,使用SQL語(yǔ)句查詢(xún)?cè)擃?lèi)別,提取該類(lèi)別下的所有項(xiàng)目,在信息欄中呈現(xiàn)。最后將所有樣本信息在圖形頁(yè)面中進(jìn)行呈現(xiàn)。其次,動(dòng)態(tài)管理方面,在類(lèi)型確定時(shí)對(duì)該類(lèi)型下的條目進(jìn)行計(jì)數(shù),得到同類(lèi)型的總數(shù),新圖像的編號(hào)即為該類(lèi)型下總數(shù)加一,最終實(shí)現(xiàn)新樣本的入庫(kù)。
圖2 管理模式
在樣本采集時(shí),用戶(hù)可通過(guò)參數(shù)設(shè)置設(shè)定截圖尺寸等參數(shù),然后通過(guò)鼠標(biāo)點(diǎn)擊采樣的中心點(diǎn),獲取圖像坐標(biāo),其實(shí)現(xiàn)代碼如下:
Point leftUpPoint=new Point(this.mouseDownPoint.X,this.mouseDownPoint.Y);
if(e.X<this.mouseDownPoint.X)
leftUpPoint.X=e.X;
if(e.Y<this.mouseDownPoint.Y)
leftUpPoint.Y=e.Y;
然后,根據(jù)中心點(diǎn)坐標(biāo),結(jié)合設(shè)置參數(shù),自動(dòng)計(jì)算取樣范圍,從而確定取樣的長(zhǎng)寬像素值,通過(guò)截圖方式獲取標(biāo)準(zhǔn)化的樣本,其坐標(biāo)范圍計(jì)算代碼如下:
int wideth=Math.Abs(MyFieldClass.PicWidth);int height=Math.Abs(MyFieldClass.PicHeight);
this.rect=new Rectangle(leftUpPoint.X-wideth/2,leftUpPoint.Y-height/2,wideth,height);
this.Refresh();
其中,MyFieldClass.PicWidt是用戶(hù)預(yù)設(shè)的采集圖像寬度值,MyFieldClass.PicHeight是用戶(hù)預(yù)設(shè)的采集圖像長(zhǎng)度值。
在確定好截圖相關(guān)參數(shù)之后,建立與截圖尺寸等大小的畫(huà)布,并且進(jìn)入截圖狀態(tài)(圖3)。
圖3 截圖狀態(tài)示意圖
操作完成后所截取到的圖,放在內(nèi)存的粘貼板中,然后存為JPG格式文件,圖像名稱(chēng)根據(jù)數(shù)據(jù)庫(kù)的數(shù)據(jù)數(shù)量情況和采樣類(lèi)型,進(jìn)行自動(dòng)編碼后存入相關(guān)文件夾。
在C#中使用radiobutton實(shí)現(xiàn)樣本類(lèi)型唯一選擇,通過(guò)讀取已被選擇的radiobutton按鈕文本信息獲取目前已被選擇的類(lèi)別信息。將該類(lèi)別字段作為查詢(xún)字段,使用select語(yǔ)句在數(shù)據(jù)庫(kù)中進(jìn)行查找,進(jìn)而將該語(yǔ)句的查詢(xún)結(jié)果顯示在列表欄中。并將查詢(xún)到的圖像縮略圖展示在左側(cè)圖像框中,并設(shè)計(jì)單擊縮略圖可顯示其快視圖并顯示其具體信息。在新圖像錄入時(shí),對(duì)listbox中的項(xiàng)目進(jìn)行計(jì)數(shù),從而得知選擇該類(lèi)型下有多少項(xiàng)目,并將該數(shù)加一獲得新圖像錄入的編號(hào)。圖片路徑通過(guò)定義靜態(tài)變量存儲(chǔ),通過(guò)數(shù)據(jù)庫(kù)查詢(xún)某類(lèi)記錄,獲取當(dāng)前記錄總數(shù)(N),類(lèi)別為(K),則它的編碼為“RS-K+(N+1)”,例如當(dāng)前機(jī)場(chǎng)最大記錄為“RS-JC-5”,因此下一采樣的數(shù)據(jù)編為“RS-JC-6”,對(duì)應(yīng)的樣本圖片自動(dòng)命名為RS-JC-6.jpg(圖4)。在截圖完成后,還需要將新截圖的信息存入數(shù)據(jù)庫(kù),通過(guò)SQL的INSERT INTO語(yǔ)句將信息存入數(shù)據(jù)庫(kù)中。
圖4 數(shù)據(jù)管理流程圖
在新的圖像樣本及其信息入庫(kù)后,將該類(lèi)型下的樣本圖像編號(hào)全部讀入到listbox,再將該類(lèi)型下全部樣本圖像縮略圖在右側(cè)進(jìn)行展示,并設(shè)計(jì)點(diǎn)擊縮略圖后在左側(cè)展示該樣本快視圖、在下方展示該樣本地理信息和特征描述的功能,達(dá)到可以直觀地管理圖像樣本的效果(圖5)。
圖5 樣本采集工具界面
本文圍繞深度學(xué)習(xí)樣本采集復(fù)雜性、可變性的特點(diǎn),提出了一種基于數(shù)據(jù)庫(kù)與跨平臺(tái)式,尺度可變的樣本采樣技術(shù),并基于Visual Studio和數(shù)據(jù)庫(kù)二次開(kāi)發(fā)技術(shù)實(shí)現(xiàn)樣本的快速采集與分類(lèi)管理,有效地支撐了深度學(xué)習(xí)模型訓(xùn)練,具有一定的實(shí)用價(jià)值。
樣本信息分類(lèi)化采集、管理、可視化瀏覽可以快速地實(shí)現(xiàn)機(jī)器學(xué)習(xí)樣本庫(kù)動(dòng)態(tài)管理與問(wèn)題排查,并且可以在每次截圖過(guò)程中同時(shí)完成信息入庫(kù)操作,避免了截圖操作與信息錄入操作兩者并行的繁瑣流程,簡(jiǎn)化了操作步驟,減少了錄入錯(cuò)誤情況的發(fā)生。在后續(xù)對(duì)目標(biāo)地物進(jìn)行樣本采集的實(shí)踐結(jié)果表明,本文采用設(shè)計(jì)與開(kāi)發(fā)的圖像截取與信息錄入系統(tǒng)能方便快捷地采集等尺寸遙感圖像,使工作效率大大提高。且為進(jìn)一步劃分訓(xùn)練集、測(cè)試集和驗(yàn)證集提供較好的技術(shù)支撐。