師皓, 陳禾, 蔡希昌, 畢福昆,
(1.北京理工大學(xué) 雷達(dá)技術(shù)研究所,北京 100081;2.北方工業(yè)大學(xué) 信息工程學(xué)院,北京 100144)
?
基于嵌入式平臺(tái)實(shí)現(xiàn)的遙感圖像城區(qū)檢測(cè)算法
師皓1, 陳禾1, 蔡希昌2, 畢福昆1,2
(1.北京理工大學(xué) 雷達(dá)技術(shù)研究所,北京 100081;2.北方工業(yè)大學(xué) 信息工程學(xué)院,北京 100144)
提出了一種城區(qū)區(qū)域?qū)崟r(shí)檢測(cè)算法及基于嵌入式平臺(tái)的實(shí)現(xiàn)方式. 根據(jù)城區(qū)是由人造建筑的離散特征聚合而成的特點(diǎn),城區(qū)檢測(cè)算法劃分為原始圖像預(yù)處理、城區(qū)特征點(diǎn)的提取與篩選和基于特征點(diǎn)區(qū)域化的城區(qū)提取3個(gè)環(huán)節(jié). 通過分析所提出原型算法中各關(guān)鍵環(huán)節(jié)的處理時(shí)間及運(yùn)算特點(diǎn),將其分解映射在FPGA+DSP并行異構(gòu)的嵌入式板卡上,通過流水并行的方式實(shí)現(xiàn). 本文提出的城區(qū)檢測(cè)算法已移植于嵌入式板卡在某機(jī)載平臺(tái)上進(jìn)行了成功的搭載實(shí)驗(yàn),滿足實(shí)時(shí)的城區(qū)自動(dòng)檢測(cè)需求.
城市區(qū)域檢測(cè);特征點(diǎn)提?。粓D像處理;嵌入式平臺(tái);實(shí)時(shí)處理
隨著嵌入式技術(shù)與空天遙感平臺(tái)的發(fā)展,遙感圖像的分辨率越來越高,包含的信息越來越豐富. 因此,基于遙感圖像特定目標(biāo)的自動(dòng)檢測(cè)算法已經(jīng)成為主流研究方向. 其中,城市區(qū)域檢測(cè)作為遙感圖像目標(biāo)檢測(cè)與解譯的一個(gè)重要方向,不僅可以應(yīng)用于軍事偵察,還可用于國土資源規(guī)劃、土地使用分析等多個(gè)領(lǐng)域,逐漸成為國內(nèi)外學(xué)者研究的重點(diǎn).
許多學(xué)者嘗試使用各種分類方法進(jìn)行城市區(qū)域的提取. 比如文獻(xiàn)[1-5]中使用局部特征提取的方法,如局部特征點(diǎn)提取、紋理特征或直線邊緣等結(jié)構(gòu)信息將城市區(qū)域與非城市區(qū)域進(jìn)行區(qū)分. 文獻(xiàn)[6-7]中,在提取上述特征的基礎(chǔ)上,使用神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)、adaboost等分類的方法將圖像進(jìn)行更細(xì)致的分類,但是此類方法大多需要大量數(shù)據(jù)源進(jìn)行參數(shù)的訓(xùn)練. 文獻(xiàn)[8]中將概率潛在語義模型技術(shù)應(yīng)用于城市區(qū)域的提取中,取得了良好的效果,但是這種方法過于依賴參數(shù)的選取.
本文介紹的城市區(qū)域檢測(cè)算法,立足于工程實(shí)現(xiàn),摒棄了復(fù)雜的運(yùn)算和訓(xùn)練過程,具有實(shí)時(shí)性高、運(yùn)算簡(jiǎn)單、可移植的特點(diǎn). 本文介紹的檢測(cè)算法及其實(shí)現(xiàn)方式不僅可應(yīng)用于地面設(shè)備進(jìn)行遙感圖像城區(qū)檢測(cè),還可搭載在機(jī)載平臺(tái)上進(jìn)行城市區(qū)域的實(shí)時(shí)檢測(cè).
根據(jù)機(jī)載平臺(tái)城市區(qū)域?qū)崟r(shí)檢測(cè)的需求,提出一種基于工程實(shí)現(xiàn)的城區(qū)檢測(cè)算法,可在嵌入式信號(hào)處理板卡上進(jìn)行實(shí)現(xiàn)并且能夠滿足實(shí)時(shí)性要求. 其中,信號(hào)處理板卡采用FPGA與DSP并行異構(gòu)的處理方式,根據(jù)算法流程及功能將算法分為7個(gè)模塊,分別由FPGA和DSP處理器實(shí)現(xiàn)不同功能:
①FPGA實(shí)現(xiàn)圖像預(yù)處理功能,如圖1中M1和M2所示,通過對(duì)原圖進(jìn)行下采樣,以提高每景圖像的處理速度,并將RGB彩色圖像轉(zhuǎn)為灰度圖像,用于滿足后續(xù)圖像處理需求. ②DSP負(fù)責(zé)城區(qū)特征點(diǎn)的提取和基于特征點(diǎn)區(qū)域化的城區(qū)提取,如圖1中M3~M7所示. 由于下采樣減小了圖像大小,可以將待處理圖像存儲(chǔ)于DSP片內(nèi)RAM中,提高存儲(chǔ)器訪問速度. 在M4步驟以后為浮點(diǎn)數(shù)運(yùn)算,使用DSP計(jì)算更快速準(zhǔn)確.
2.1 原始圖像預(yù)處理
通過傳感器得到的原始圖像大小為1 024×768,為了減小后續(xù)處理的運(yùn)算量及緩存空間,對(duì)原圖進(jìn)行4∶1的下采樣,即隔4點(diǎn)取一點(diǎn)的方式將圖像縮小為256×192. 使用下式將RGB彩色圖像轉(zhuǎn)為灰度圖,由于在FPGA中進(jìn)行運(yùn)算,所以將系數(shù)擴(kuò)大為整數(shù)后再進(jìn)行運(yùn)算.
(1)
式中:Igray為灰度圖像;Ir、Ig、Ib分別表示彩色圖像中紅色、綠色、藍(lán)色分量. 這樣一來,圖像處理的運(yùn)算量減小16倍,緩存空間減小48倍,只需要256×192×8 bit=48 K,可滿足片上RAM的存儲(chǔ)容量.
2.2 特征點(diǎn)提取與篩選2.2.1 候選特征點(diǎn)提取
城區(qū)的檢測(cè)首先從檢測(cè)圖像中能夠標(biāo)示城區(qū)中人造建筑的特征點(diǎn)開始,通過這些特征點(diǎn)組成的集合進(jìn)一步提取城市區(qū)域. 通過將FAST(features from accelerated segment test)算法工程化進(jìn)行特征點(diǎn)提取,使用如圖2所示模板對(duì)降采樣后的灰度圖進(jìn)行遍歷,判斷每個(gè)像素是否為候選特征點(diǎn),具體方法如下所示.
① 建立特征標(biāo)記矩陣C,各元素初始值為0,大小等于降采樣后的圖像,本文中為256×192.
② 將滑窗中心P置于圖像中待判斷像素點(diǎn)I(i,j),建立一個(gè)16位一維數(shù)組a[n],通過比較中點(diǎn)P與其周圍半徑為3的16個(gè)離散點(diǎn)的灰度值,對(duì)數(shù)組進(jìn)行賦值,如式(2)所示.
(2)
式中:Ip→n為模板中圓弧上的第n個(gè)點(diǎn)的灰度值;Ip為模板中點(diǎn)P的灰度值;T為相似性度量閾值,選取范圍一般為15~30.
③ 對(duì)數(shù)組a[n]求和,若和≥15或者≤-15,則認(rèn)為該點(diǎn)為候選特征點(diǎn),將特征標(biāo)記矩陣中C(i,j)置為1. 若和等于0,則認(rèn)為該點(diǎn)不是候選特征點(diǎn),進(jìn)行下一個(gè)像素點(diǎn)判斷.
④ 若不滿足第3步條件,則比較數(shù)組首位兩個(gè)數(shù)a[1]和a[16],若兩者相同則進(jìn)行一次循環(huán)移位,移位后再進(jìn)行比較,直到兩者不相同后進(jìn)入下一步.
⑤ 判斷移位后的數(shù)組是否存在連續(xù)9個(gè)“1”或者連續(xù)9個(gè)“-1”,若數(shù)組滿足上述情況則認(rèn)為該點(diǎn)為候選特征點(diǎn),將特征標(biāo)記矩陣中C(i,j)置為1,否則將P移至下一個(gè)像素點(diǎn)重復(fù)步驟②~⑤.
按照上述方法將全圖每個(gè)像素點(diǎn)遍歷一般,即可找到圖中所有候選特征點(diǎn).
2.2.2 特征點(diǎn)約束剔除
上述方法提取的特征點(diǎn)不僅出現(xiàn)在人造建筑區(qū)域當(dāng)中,也可能在其他信息豐富的地區(qū),如山區(qū)、林地、田間等,所以在得到特征點(diǎn)集合之后,需要設(shè)計(jì)一個(gè)濾波器,將集合中不能表示城區(qū)的特征點(diǎn)剔除.
① 設(shè)定濾波窗口范圍為M×M,一般M大小設(shè)定為圖像大小的10%左右的奇數(shù).
② 對(duì)特征標(biāo)記矩陣C進(jìn)行擴(kuò)展操作,矩陣C向四周擴(kuò)展(M-1)/2個(gè)元素,以數(shù)字“0”填充.
③ 對(duì)特征標(biāo)記矩陣C中值為“1”各個(gè)元素進(jìn)行濾波篩選,如圖3所示,將待篩選像素C(i,j)置于濾波窗口中心,使用下式計(jì)算M×M窗口中值為“1”的元素個(gè)數(shù).
(3)
④ 根據(jù)上步求得的N(i,j)做如下判斷:
(4)
式中δ為約束閾值,選取范圍一般為M/2~M. 即當(dāng)圖3所示的窗口中包含有大于一定數(shù)量的特征點(diǎn)時(shí),當(dāng)前中心點(diǎn)被當(dāng)作特征點(diǎn)保留,否則將被剔除.
2.3 城區(qū)區(qū)域提取2.3.1 特征點(diǎn)區(qū)域化
為了將城區(qū)特征點(diǎn)集合拓展為城市區(qū)域,提出了基于高斯函數(shù)的矩陣加權(quán)法. 把每個(gè)特征點(diǎn)作為二維高斯函數(shù)的中心并通過二維高斯分布向外拓展,如下式所示.
(5)
式中:α為加權(quán)強(qiáng)度系數(shù);σ為高斯函數(shù)系數(shù);G為各特征點(diǎn)拓展為加權(quán)矩陣之后相疊加的結(jié)果.
由于計(jì)算式(5)需要進(jìn)行多次超越運(yùn)算,經(jīng)實(shí)際測(cè)試表明,這樣會(huì)占用大量處理時(shí)間,大大降低處理的實(shí)時(shí)性. 所以采取如下方式進(jìn)行簡(jiǎn)化.
① 設(shè)定高斯加權(quán)矩陣大小為M×M,與濾波窗口大小相同,當(dāng)σ相同時(shí),每個(gè)特征點(diǎn)擴(kuò)展的高斯加權(quán)矩陣相同,如圖4所示.
② 計(jì)算模板中各元素的和Sum_M,使用下式更新模板中各元素值.
(6)
③ 加權(quán)強(qiáng)度系數(shù)α賦值為加權(quán)窗口M×M中包含特征點(diǎn)的個(gè)數(shù),與模板矩陣中各元素相乘,得到窗口中心位置特征點(diǎn)的加權(quán)矩陣.
④ 將各特征點(diǎn)求得的加權(quán)矩陣相疊加,得到整幅圖的加權(quán)矩陣.
⑤ 使用大小為5×5的滑窗對(duì)全圖進(jìn)行中值濾波,消除椒鹽噪聲的影響,使加權(quán)矩陣邊緣更加平滑,有利于后續(xù)分割.
2.3.2 自適應(yīng)分割
由于不同圖像得到的加權(quán)矩陣數(shù)值和分布有較大差異,所以需要進(jìn)行自適應(yīng)的方式獲分割閾值. 目前使用最多的是OTSU算法,但是為了簡(jiǎn)化計(jì)算步驟,使用如下迭代計(jì)算的方法代替OTSU算法進(jìn)行自適應(yīng)閾值計(jì)算,步驟如下所示.
① 選取圖像中最大和最小值的平均值作為初始值ηTh;
② 使用ηTh分割圖像,亮度值≥ηTh的所有像素組成I1,亮度值<ηTh的所有像素組成I2;
③ 計(jì)算I1和I2范圍內(nèi)像素的平均亮度值μ1和μ2;
④ 按照下式計(jì)算新的閾值:
(7)
⑤ 重復(fù)上述步驟②至④,直到連續(xù)迭代得到的ηTh滿足下式停止:
(8)
式中ε為一個(gè)較小的閾值. 為了防止迭代過程進(jìn)入死循環(huán)的情況發(fā)生,在此步驟將最大迭代次數(shù)設(shè)置為20次,若發(fā)生無法迭代計(jì)算出結(jié)果的情況,則將ηTh設(shè)置為一個(gè)經(jīng)驗(yàn)值.
⑥ 通過求得的門限對(duì)加權(quán)矩陣進(jìn)行二值化操作,即將大于閾值的點(diǎn)賦值為1,將小于閾值的點(diǎn)賦值為0.
2.3.3 形態(tài)學(xué)處理
經(jīng)過上述分割后可得到高置信度的城市區(qū)域范圍,但是有時(shí)會(huì)存在一些小面積的虛警區(qū)域,如石塊或路口等. 這時(shí)需要進(jìn)行連通域標(biāo)記,然后通過連通域的面積大小將小面積連通域剔除,保證分割結(jié)果為大面積的城市區(qū)域[9].
根據(jù)上述對(duì)工程優(yōu)化版城區(qū)檢測(cè)算法的介紹,結(jié)合嵌入式硬件實(shí)現(xiàn)圖像處理算法的特點(diǎn)和要求,深入分析了算法各模塊的運(yùn)算量及運(yùn)算時(shí)間,對(duì)算法流程進(jìn)行分解,將各模塊合理分解到板卡上的不同處理器中,提高運(yùn)算效率.
通過上位機(jī)對(duì)算法進(jìn)行仿真并記錄各環(huán)節(jié)的處理時(shí)間,設(shè)計(jì)算法各模塊到硬件的映射方式. 各模塊處理耗時(shí)百分比如表1所示,從表中可以看出,M3、M4和M6、M7是占用處理時(shí)間最長的部分,若能安排這兩部分并行處理,便可節(jié)約1/2的處理時(shí)間,大大提高算法的實(shí)時(shí)性. 因此,在板卡上使用多片DSP通過并行流水的方式實(shí)現(xiàn).
表1 算法各步驟處理耗時(shí)百分比
城市區(qū)域的實(shí)時(shí)檢測(cè)信號(hào)處理板卡的拓?fù)浣Y(jié)構(gòu)如圖5所示. 圖像數(shù)據(jù)通過PCI總線從系統(tǒng)中其他模塊傳入信號(hào)處理板卡,經(jīng)過DSP處理之后將處理結(jié)果通過PCI總線傳出. 板卡使用3片DSP負(fù)責(zé)圖像數(shù)據(jù)的處理,1片F(xiàn)PGA負(fù)責(zé)DSP與PCI總線之間的通信及圖像預(yù)處理.
FPGA接收通過PCI總線傳來的RGB圖像,在存儲(chǔ)原圖的同時(shí)進(jìn)行降采樣和轉(zhuǎn)灰度操作并將結(jié)果存儲(chǔ)在片內(nèi)RAM中,待處理完一景圖像之后,則通過外部總線把圖像傳給DSP1或DSP2. 根據(jù)前面的分析結(jié)論,使用兩片DSP采用Ping-Pang的方式實(shí)現(xiàn)算法M3、M4的并行處理. 首先,DSP1通過外部總線接收來自FPGA的灰度圖像后開始進(jìn)行M3、M4步的處理,在DSP1處理過程中,DSP2通過外部總線從FPGA接收下一景的圖像進(jìn)行相同處理. 當(dāng)DSP1處理完成后將結(jié)果通過Link口傳輸給DSP3進(jìn)行算法M5~M7步的處理,當(dāng)DSP3處理完之后將結(jié)果傳給FPGA,并接收DSP2處理完成的結(jié)果進(jìn)行算法的后續(xù)處理工作.
這樣,通過DSP1和DSP2一乒一乓的方式與DSP3實(shí)現(xiàn)了算法的流水并行處理,縮短了處理時(shí)間,提高了實(shí)時(shí)性. DSP與FPGA的并行處理時(shí)序關(guān)系如圖6所示.
為了驗(yàn)證本文城市區(qū)域檢測(cè)算法的準(zhǔn)確性,使用2 m分辨率的機(jī)載遙感圖像進(jìn)行測(cè)試. 首先,測(cè)試人員將待測(cè)圖片中的城市區(qū)域人工標(biāo)記出來,如圖7(a)所示;同時(shí),使用上述嵌入式板卡運(yùn)行本文算法,將得到的結(jié)果回傳給上位機(jī)進(jìn)行比對(duì),如圖7(b)所示. 通過兩幅圖對(duì)比可看出,本算法能夠準(zhǔn)確檢測(cè)標(biāo)示出城市區(qū)域范圍.
為了近一步定量評(píng)價(jià)本算法性能,通過逐個(gè)像素點(diǎn)比對(duì)的方法,根據(jù)文獻(xiàn)[1]中的評(píng)價(jià)指標(biāo)計(jì)算方法,檢測(cè)率為算法正確檢測(cè)出像素點(diǎn)數(shù)除以手動(dòng)標(biāo)記的城市區(qū)域的像素點(diǎn)數(shù),虛警率為算法檢出的虛警像素點(diǎn)除以手動(dòng)標(biāo)記的城市區(qū)域的像素點(diǎn)數(shù). 通過對(duì)測(cè)試庫中的20副圖像進(jìn)行統(tǒng)計(jì),計(jì)算結(jié)果如表2中最后一行所示. 將本文方法與文獻(xiàn)[1]和文獻(xiàn)[5]介紹的兩種方法及文獻(xiàn)[10]中記載的兩種常見圖像分割算法進(jìn)行比較,如表2所示. 由此可以看出,本文方法雖然進(jìn)行了工程上的優(yōu)化,但是檢測(cè)性能不遜于其他方法.
表2 各算法檢測(cè)性能對(duì)比
本文方法與其他方法處理時(shí)間對(duì)比如表3所示. 由此可見本文方法在處理時(shí)間上大大優(yōu)于其他方法,每秒鐘可以完成兩幅圖的檢測(cè),滿足實(shí)時(shí)檢測(cè)的需求. 當(dāng)圖像尺寸發(fā)生變化時(shí)只會(huì)影響算法的處理時(shí)間,不會(huì)對(duì)檢測(cè)性能產(chǎn)生影響. 當(dāng)圖像分辨率提高為1 m分辨率時(shí),能獲得更加準(zhǔn)確的分割效果;但當(dāng)圖像分辨率降為5 m分辨率時(shí),算法同樣適用但會(huì)分割出更多的裸地使虛警率增加. 由于篇幅限制不在本文進(jìn)行詳細(xì)討論.
表3 各算法處理時(shí)間對(duì)比
近20年來,學(xué)者們提出了多種城市區(qū)域自動(dòng)檢測(cè)算法與策略,但是也只是停留在仿真階段. 本文在此基礎(chǔ)之上,提出了一種可在嵌入式平臺(tái)實(shí)現(xiàn)的城區(qū)區(qū)域?qū)崟r(shí)檢測(cè)算法. 本文算法首先通過圖像尺寸進(jìn)行適當(dāng)比例的降采樣處理,然后使用FAST算法進(jìn)行特征點(diǎn)提取,并通過約束操作剔除非特征點(diǎn),之后對(duì)每個(gè)特征點(diǎn)使用高斯模板進(jìn)行加權(quán),最后通過自適應(yīng)分割將城區(qū)區(qū)域分割出來.
本文算法已在基于DSP與FPGA的硬件板卡上實(shí)現(xiàn),使用遙感圖像進(jìn)行的測(cè)試,可較為準(zhǔn)確地檢測(cè)出城區(qū)區(qū)域,算法耗時(shí)在秒級(jí)以下,可應(yīng)用于視頻流的圖像檢測(cè),在實(shí)際應(yīng)用中取得了良好的效果.
[1] Sirmacek B, Unsalan C. Urban area detection using local feature points and spatial voting[J]. Geoscience and Remote Sensing Letters, IEEE, 2010,7(1):146-150.
[2] Zhong P, Wang R. A multiple conditional random fields ensemble model for urban area detection in remote sensing optical images[J]. Geoscience and IEEE Transactions on Remote Sensing, 2007,45(12):3978-3988.
[3] Pesaresi M, Gerhardinger A, Kayitakire F. A robust built-up area presence index by anisotropic rotation-invariant textural measure[J]. Selected Topics in Applied Earth Observations and IEEE Journal of Remote Sensing, 2008,1(3):180-192.
[4] Huang X, Zhang L, Li P. Classification of very high spatial resolution imagery based on the fusion of edge and multispectral information[J]. Photogramm Eng Remote Sens, 2008,74(11):1585-1596.
[5] Sirma?ek B, Unsalan C. Urban-area and building detection using SIFT keypoints and graph theory[J]. IEEE Transactions on Geoscience and Remote Sensing, 2009,47(4):1156-1167.
[6] Pal M, Mather P M. Support vector machines for classification in remote sensing[J]. International Journal of Remote Sensing, 2005,26(5):1007-1011.
[7] 朱江洪,李江風(fēng),葉菁.利用決策樹工具的土地利用類型遙感識(shí)別方法研究[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2011,36(3):301-305.
Zhu Jianghong, Li Jiangfeng, Ye Jing. Land use information extraction from remote sensing data based on decision tree tool[J]. Geomatics and Information Science of Wuhan University, 2011,36(3):301-305. (in Chinese)
[8] Weizman L, Goldberger J. Detection of urban zones in satellite images using visual words[C]∥Geoscience and Remote Sensing Symposium. [S.l.]: IEEE, 2008:160-163.
[9] 謝宜壯,譚許彬,陳禾.一種新的連通域標(biāo)記算法[J].北京理工大學(xué)學(xué)報(bào),2012,32(12):1273-1278.
Xie Yizhuang, Tan Xubing, Chen He. A new algorithm for connected components labeling[J]. Transactions of Beijing Institute of Technology, 2012,32(12):1273-1278. (in Chinese)
[10] 陳雁.可見光遙感圖像分割與提取研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2010.
Chen Yan. Research on segmentation and extraction in optical remote sensing image[D]. Hefei: University of Science and Technology of China, 2010. (in Chinese)
(責(zé)任編輯:劉芳)
Urban Area Detection Algorithm of Remote Sensing Image Based on Embedded Platform
SHI Hao1, CHEN He1, CAI Xi-chang2, BI Fu-kun1,2
(1.Lab of Radar Research, Beijing Institute of Technology, Beijing 100081, China;2.Department of Information Engineering, North China University of Technology, Beijing 100144, China)
A novel urban area real-timedetection algorithm and its realization based on embedded platform were proposed in this paper. According to the characteristic of urban areas which is made up of artificial construction distinguishing feature, the detection algorithm includes three parts. These are image preprocessing, feature points selection and urban area extraction. The algorithm was decomposed and mapped on the embedded platform based on the analysis of its processing time and operation characteristics. And the algorithm was implemented through the way of parallel flowing water.The urban area detection algorithm has been successfully experimented on the airborne platform and can meet the need of real-time and automatically detection.
urban area detection;feature points extraction;image processing; embedded platform; real-time processing
2013-12-15
師皓(1986—),男,博士生,E-mail:shihao@bit.edu.cn.
畢福昆(1982—),男,講師,E-mail:bifukun@163.com.
TP 751
A
1001-0645(2016)05-0524-06
10.15918/j.tbit1001-0645.2016.05.016