文/曹珺
地球敏感器是衛(wèi)星姿態(tài)控制系統(tǒng)中一個(gè)重要的姿態(tài)測(cè)量設(shè)備。它通過確定地球中心在敏感器坐標(biāo)系中的矢量方向,進(jìn)而借助于坐標(biāo)變換得到衛(wèi)星在空間中的方位,即衛(wèi)星的姿態(tài)。
基于可見光CMOS圖像探測(cè)器的地球敏感器具有體積小、功耗低、價(jià)格相對(duì)低廉的優(yōu)點(diǎn),具有較為廣泛的市場(chǎng)前景。
邊緣檢測(cè)算法是地球敏感器的核心算法之一,但由于地球本身不發(fā)光,需要反射太陽光,所以可見光波段在地球邊緣內(nèi)部的圖像較為復(fù)雜,地球表面的太陽光照不均勻,且受陸地、云層和冰蓋的邊界影響,常見的圖像算法難以快速、準(zhǔn)確地提取地球邊緣。
本文提出一種可見光地球邊緣快速提取方法,將圖像進(jìn)行抽樣并進(jìn)行二值化處理后進(jìn)行邊緣提取,利用圓弧邊緣的特征建立模板并與提取的邊緣匹配后剔除太陽光照、陸地、云層和冰蓋的邊界影響。
可見光地球邊緣快速提取方法的流程如下:
(1)對(duì)圖像進(jìn)行抽樣,每4個(gè)像素取一個(gè)抽樣點(diǎn)或每16個(gè)像素取一個(gè)抽樣點(diǎn)。
(2)二值化處理,通過設(shè)定固定閾值來進(jìn)行,將灰度值小于閾值的點(diǎn)設(shè)為0,高于閾值的點(diǎn)設(shè)為1。
(3)邊緣提取,對(duì)每個(gè)點(diǎn)以其為中心劃定一個(gè)3×3的方格,如方格中3個(gè)點(diǎn)全為0或1則中心點(diǎn)為1,反之則為0。
(4)地球在圖像中的直徑可根據(jù)地球敏感器運(yùn)行高度和視場(chǎng)進(jìn)行推算,根據(jù)推算直徑建立一標(biāo)準(zhǔn)圓弧,劃分若干個(gè)8×8大小的模板區(qū)域,將邊緣提取圖像中的每個(gè)8×8的方格與模板進(jìn)行逐一匹配,匹配時(shí)對(duì)圖像方格與模板區(qū)域的數(shù)值相同的點(diǎn)進(jìn)行計(jì)數(shù),相同的點(diǎn)較多的方格位置記錄為1,反之則為0。
圖1:原始圖像(左側(cè),1024×1024)與提取結(jié)果(右側(cè),256×256)
由圖1可知,本算法可顯著消除太陽光照、陸地、云層、冰蓋對(duì)地球邊緣的影響,成功提取出部分地球邊緣。計(jì)算地球中心只需要4個(gè)邊緣點(diǎn)即可完成,不需要全部完整的地球邊緣,因此6個(gè)模板就可以有效提取地球邊緣并計(jì)算出地球中心。
該方法的數(shù)值運(yùn)算較為簡(jiǎn)單,可簡(jiǎn)化為邏輯運(yùn)算,適合通過FPGA來實(shí)現(xiàn)。
模板匹配模塊是消耗FPGA內(nèi)邏輯資源最多的模塊,根據(jù)算法原理,匹配模塊需要將8×8的圖像與模板進(jìn)行匹配。對(duì)于每一個(gè)模板的匹配都需要輸入一個(gè)64位的圖像向量和64位的模板向量。為節(jié)省FPGA邏輯資源,模板的匹配采用異步方式進(jìn)行,采用如下代碼:
每一個(gè)模板匹配的單元需消耗195個(gè)C-CELL,占FPGA內(nèi)總量的2.42%。在FPGA內(nèi)例化6個(gè)模板匹配單元可同時(shí)完成6個(gè)模板的匹配,占用14.52%,F(xiàn)PGA的性能能夠滿足設(shè)計(jì)要求。這樣的并行設(shè)計(jì)有利于提高算法的運(yùn)行效率,通過時(shí)序分析發(fā)現(xiàn),模板匹配的輸入輸出延遲不到10ns。
由于FPGA采用了流水線設(shè)計(jì),可見光地球邊緣快速提取方法具有較低的延遲。在圖像數(shù)據(jù)讀取完畢后即可立即獲得二值化圖像。圖像的邊緣提取采用3×3的窗口,模板的匹配采用8×8的窗口。在原始圖像數(shù)據(jù)讀取完成后,若FPGA在24MHz的頻率下工作,僅需不到1ms即可完成地球的邊緣提取。
本文提出的可見光地球邊緣快速提取算法從地球圖像本身的特性出發(fā),通過抽樣和二值化處理減少了運(yùn)算量,推算地球在圖像中大小并設(shè)置模板對(duì)圖像的邊緣提取結(jié)果進(jìn)行匹配,太陽光照、陸地、云層、冰蓋對(duì)地球邊緣的影響。該方法運(yùn)算以二進(jìn)制邏輯運(yùn)算為主,便于FPGA實(shí)現(xiàn),可大大提高地球敏感器的數(shù)據(jù)刷新速率。