本發(fā)明涉及一種基于硬件實現(xiàn)的空間平臺像平面投影點實時計算的方法,屬于投影測量學(xué)領(lǐng)域,主要用于硬件實現(xiàn)整幅圖像中所有像素點的投影坐標的計算。
背景技術(shù):
:空間平臺中,如飛行器、衛(wèi)星這類具備高空圖像采集能力的系統(tǒng),有時需要確定圖像內(nèi)容和地理位置之間一一映射的關(guān)系,即分析圖像中各像素實際對應(yīng)的地理坐標,這對后續(xù)的定位是至關(guān)重要的一步。由于地球曲率和數(shù)據(jù)精度的影響,一般的投影坐標求解過程需要大量復(fù)雜的計算和判斷,這對硬件平臺來說無疑時間上的損耗較大,這樣就無法保證計算的實時性,因此我們設(shè)計了一種適用于硬件平臺的算法——線性插值估計算法,在確保一定精度的條件下,大幅度縮減時間上的開銷,達到投影點坐標實時計算的成效。技術(shù)實現(xiàn)要素:本發(fā)明的目的是為了提供一種基于硬件實現(xiàn)的空間平臺像平面投影點實時計算的方法,要解決的技術(shù)問題是:在空間平臺的成像系統(tǒng)工作時,在保持一定像素精度的基礎(chǔ)上,由硬件實現(xiàn)對像平面投影點的實時計算,獲取各像素對應(yīng)的地理信息。本發(fā)明的目的是這樣實現(xiàn)的:包括圖像采集模塊、dsp處理模塊、fpga處理模塊、數(shù)據(jù)儲存模塊,步驟如下:步驟一:dsp處理模塊接收通信口傳來的圖像的內(nèi)外方位元素信息,將圖像各像素按區(qū)域劃分成塊,得出像素塊中心同投影中心對應(yīng)的方向向量,并通過坐標變換得到地心坐標系下的投影向量vector_earth_p為:vector_earth_p=[a,b,c]=[di,dj,-f]·c式中:[di,dj,-f]為相機坐標系中像素塊中心對應(yīng)的方向向量,c為相機坐標系到地心坐標系的坐標變換矩陣,[a,b,c]為坐標變換后的投影向量;步驟二:利用空間直線與球面相交的函數(shù)方程得出像素塊中心的投影坐標;步驟三:dsp處理模塊在像平面正交的兩個方向上進行擬合系數(shù)矩陣的建立:對橫坐標構(gòu)建系數(shù)矩陣kx_x、kx_y;對縱坐標構(gòu)建系數(shù)矩陣ky_x、ky_y;對豎坐標構(gòu)建系數(shù)矩陣kz_x、kz_y;步驟四:dsp處理模塊將六組系數(shù)矩陣和像素塊中心的投影坐標傳給fpga處理模塊,fpga處理模塊按照線性擬合的方式計算出當前塊內(nèi)所有的像素的投影坐標,并將計算的值傳回dsp處理模塊;步驟五:dsp處理模塊決定是否對縱軸坐標進行曲面約束,如進行曲面約束:對豎坐標進行球面約束,并對豎坐標的解做出正負判定后將得到的坐標值存儲在數(shù)據(jù)儲存模塊里;如不進行曲面約束:直接將得到的坐標值存儲在數(shù)據(jù)儲存模塊里。本發(fā)明還包括這樣一些結(jié)構(gòu)特征:1.步驟二中的函數(shù)方程為:x2+y2+z2=r2式中:[x0,y0,z0]是相機的投影中心在地心坐標系下的坐標,r是平均地球半徑;則像素塊中心的投影坐標為:式中:v=a2+b2+c2。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明適用于航空攝影的硬件平臺,只需通過dsp計算圖像中的部分像素在大地上的投影坐標,再利用線性插值估計的方法,建立起像素距離和對應(yīng)投影點間距離的關(guān)系,然后通過這種關(guān)系,用fpga恢復(fù)出所有像素的投影坐標,最后傳送給dsp存于儲存器里。該發(fā)明充分發(fā)揮了fpga和dsp協(xié)同工作的能力,它既能夠避免dsp進行重復(fù)大規(guī)模的計算,又能在保證數(shù)據(jù)精度的前提下,充分利用fpga的數(shù)據(jù)處理能力,進而達到實時計算的效果。(1)本發(fā)明方法中dsp通過接收內(nèi)外方位元素信息,只需負責部分像素的坐標求解,簡化了運算次數(shù)。(2)本發(fā)明方法由dsp負責主要的計算,fpga對數(shù)據(jù)只需進行簡單的加減乘處理,解決了僅由fpga處理時,需要面對的平方和開方運算,以及計算過程中小數(shù)位處理等難題;(3)本發(fā)明方法通過引入插值系數(shù)矩陣,把大規(guī)模的求解過程轉(zhuǎn)變成數(shù)據(jù)的估計過程,在合理的精度內(nèi)極大縮短了處理周期,增強了計算的實時性;(4)本發(fā)明方法可根據(jù)平臺精度需求采用多種分塊方案,具有一定的適應(yīng)性。附圖說明圖1是本發(fā)明方法處理系統(tǒng)結(jié)構(gòu)圖;圖2是本發(fā)明中像插值系數(shù)矩陣生成圖;圖3是本發(fā)明中對各像素橫坐標的擬合示意圖;圖4是本發(fā)明所采用的的線性插值估計算法的完整流程圖。具體實施方式下面結(jié)合附圖與具體實施方式對本發(fā)明作進一步詳細描述。本發(fā)明提供一種基于硬件實現(xiàn)的空間平臺像平面投影點實時計算的方法。由于通常的求解過程需要求解高次方程且數(shù)據(jù)精度要求較高,如僅由dsp計算無法滿足實時性,僅由fpga完成則算法的設(shè)計難度較大且精度難以保證,故我們設(shè)計了一種由dsp和fpga協(xié)同工作的線性插值估計算法完成投影點的實時計算,在保證實時性同時又確保了數(shù)據(jù)的精度。本發(fā)明的完整的處理系統(tǒng)結(jié)構(gòu)模型如圖1所示,本發(fā)明包含圖像采集模塊、dsp處理模塊、fpga處理模塊、數(shù)據(jù)儲存模塊。系統(tǒng)工作狀態(tài)下圖像數(shù)據(jù)采集模塊負責圖像信息的采集和傳輸,并按照一定的幀率實時地傳輸給dsp;dsp按照規(guī)則給圖像格式分塊,并求解出這些像素塊中心的坐標和插值系數(shù)矩陣;之后,fpga接收dsp傳來當前幀的求解數(shù)據(jù),然后按照給定的算法恢復(fù)出完整圖像像素的投影坐標,最后把這些坐標信息傳給dsp,dsp根據(jù)需求將該數(shù)據(jù)放到儲存模塊中。算法的基本思路是:dsp在接收圖像的內(nèi)外方位元素信息后,按照當前圖像尺寸給其分塊,首先按照一般的求解方式計算出這些像素塊中心對應(yīng)地心坐標系下的投影坐標,再根據(jù)這些求得的坐標,利用線性插值估計的方法,建立起像素之間對應(yīng)的距離關(guān)系,然后通過這種關(guān)系,用fpga恢復(fù)出所有像素的投影坐標,最后傳送給dsp存于儲存器。下面結(jié)合附圖和具體實施例對本發(fā)明作進一步具體說明:步驟一:dsp接收通信口傳來的圖像的內(nèi)外方位元素信息,根據(jù)圖像尺寸分塊(我們假設(shè)圖像的大小為n×n個像素,把圖像均勻分成m×m個n×n大小的像素塊,n=mn),計算出這些像素塊中心的投影向量vector_earth_p為:[a,b,c]=[di,dj,-f]·c(1)其中:[di,dj,-f]為相機坐標系中像素塊中心對應(yīng)的方向向量,c為相機坐標系到地心坐標系的坐標變換矩陣,[a,b,c]為變換后的投影向量。步驟二:利用空間直線與球面相交的函數(shù)方程求解出像素塊中心的投影坐標x_bi,j,y_bi,j,z_bi,j(i,j=1,2,····m)。其中,求解的方程見式(2):(x0,y0,z0)是投影中心在地心坐標系下的坐標,r是平均地球半徑。最后得到的解的形式為:其中:v=a2+b2+c2;這里若c為0時,即z方向向量為0時,(2)變成如下形式:步驟三:得到這些坐標值之后,dsp在像平面正交的兩個方向上進行插值系數(shù)矩陣的建立,對橫坐標構(gòu)建系數(shù)矩陣kx_x,kx_y,對縱坐標構(gòu)建系數(shù)矩陣ky_x,ky_y,對豎坐標構(gòu)建系數(shù)矩陣kz_x,kz_y。其中,對橫坐標的系數(shù)矩陣構(gòu)建規(guī)則如圖2所示(縱、豎坐標同理)。其中:kx_y1,2=(x_b1,2-x_b1,1)/n,含義是第1塊行中第2個塊心到第1個塊心的橫坐標在y方向的平均距離像素比,即m/pixel,每個像素平均產(chǎn)生多少米的偏移。故認為在每一塊行的塊心和塊心之間的區(qū)域都按照一定的系數(shù)做線性變化,則一共會有kx_y1,2到kx_y1,mm-1個系數(shù),而在兩端的系數(shù)kx_y1,1和kx_y1,m+1用線性外推的方式得到,綜上得到第一塊行求解系數(shù)的公式為:然后是第2塊行到第m塊行以此類推,得到kx_ym×(m+1)這樣一個m×(m+1)大小的系數(shù)矩陣。對于x方向,kx_x2,1=(x_b2,1-x_b1,1)/n,含義是第2塊行的第1個塊心到第1行第1個塊心的橫坐標在x方向的平均距離像素比,同理,在塊與塊的間隔處得到m-1個系數(shù),在首尾由外推得到剩下的2個系數(shù),最終得到x方向的系數(shù)矩陣kx_x(m+1)×m。步驟四:dsp將六組系數(shù)矩陣和塊心坐標傳給fpga,fpga按照線性擬合的方式計算出當前塊內(nèi)所有的像素的橫、縱、豎坐標。塊內(nèi)橫坐標的擬合方法(縱、豎坐標同理)如圖3所示。圖中的dx_y等于dx_x等于即每個塊內(nèi)橫坐標的擬合和四個空間中所屬的系數(shù)矩陣有關(guān)。其中:ceil1=ceil(2q2/n),ceil2=ceil(2p2/n),ceil代表向上取整數(shù)。p2和q2決定塊中像素的位置,范圍是1到n。p1,q1是塊心的移動因子,范圍是0到m-1,由此選擇不同的塊和對應(yīng)的系數(shù)。則對于塊內(nèi)任一像素的橫坐標相對塊心的偏移距離為:綜上,我們可以得到完整的橫坐標擬合公式:步驟五:dsp接收擬合出的橫、縱、豎坐標數(shù)據(jù),最后根據(jù)需求決定是否對豎坐標進行曲面約束(可用來轉(zhuǎn)換經(jīng)緯度),然后儲存數(shù)據(jù),繼續(xù)處理下一幀圖像。完整的線性差值估計算法流程圖如圖4所示。仿真實驗:為證明本算法的有效性,在matlab2014a及tms320c6678開發(fā)板環(huán)境下,利用上述算法做仿真實驗。對于一張496×496尺寸大小的圖片,根據(jù)分塊大小的選擇,我們得到在曲面約束和非曲面約束兩種情況下的算法耗時數(shù)據(jù),見表1和表2。同時由matlab2014a仿真時可以得到不同條件下對應(yīng)的最大像素誤差,見表3和表4。這里需要注意的一點是,我們認為成像平面是完全映射到地表的,即不存在部分投影向量在深空的情況,這是算法本身的限制,否則需要另外做判斷。表1分塊大小和dsp平均處理時間的關(guān)系(非約束)分塊大小平均處理時間1×1(純計算,不分塊)5362.44ms2×22733.46ms4×4676.19ms8×8166.99ms16×1641.72ms31×3111.14ms表2分塊大小和dsp平均處理時間的關(guān)系(約束)從表1和表2可以看出本發(fā)明的處理時間比一般的純計算方式有著極大的優(yōu)越性。表3最大像素誤差與分塊大小和徑向高度的關(guān)系(非約束)表4最大像素誤差與分塊大小和徑向高度的關(guān)系(約束)由此,可以結(jié)合實際需求精度的要求,來選取合適的分塊大小。綜上,本發(fā)明的方法中dsp通過接收內(nèi)外方位元素信息,只需負責部分像素的坐標求解,簡化了運算次數(shù)。由dsp負責主要的計算,fpga對數(shù)據(jù)只需進行簡單的加減乘處理,解決了僅由fpga處理時,需要面對的平方和開方運算,以及計算過程中小數(shù)位處理等難題;通過引入插值系數(shù)矩陣,把大規(guī)模的求解過程轉(zhuǎn)變成數(shù)據(jù)的估計過程,在合理的精度內(nèi)極大縮短了處理周期,增強了定位的實時性;本發(fā)明可根據(jù)平臺精度需求采用多種分塊方案,具有一定的適應(yīng)性。當前第1頁12