本發(fā)明涉及仿真成像
技術(shù)領(lǐng)域:
,特別涉及一種機(jī)械臂采樣環(huán)境仿真圖的生成方法及裝置。
背景技術(shù):
:仿真成像是利用計(jì)算機(jī)圖形圖像技術(shù),根據(jù)三維場景仿真生成二維圖像,用以模擬不同視點(diǎn)位姿、相機(jī)鏡頭參數(shù)等條件下的相機(jī)成像,在信息可視化、航天探測工程的天體采樣過程的仿真模擬等
技術(shù)領(lǐng)域:
發(fā)揮著重要作用?,F(xiàn)有的仿真成像技術(shù)主要由基于OpenGL等軟件的仿真成像、基于光線追蹤的仿真成像等方法。對于基于OpenGL的仿真成像方法:基于空間目標(biāo)三維模型及三維地形模型,利用OpenGL提供的三維場景向模擬相機(jī)的映射方法,將三維場景映射為二維圖像,該方法通過模型建立、透視投影、視口變換等步驟實(shí)現(xiàn)仿真成像,在多個行業(yè)應(yīng)用較廣。該方法使用標(biāo)準(zhǔn)的透視投影模型,在仿真參數(shù)的設(shè)定上,僅能調(diào)整焦距、成像視角等常用參數(shù)值,難以模擬成像畸變等專業(yè)應(yīng)用領(lǐng)域的特定需求。對于基于直接求解的光線追蹤仿真成像方法:基于直接求解的光線追蹤方法的基本原理是,根據(jù)成像過程中光線從攝像機(jī)光心出發(fā),然后穿過成像平面上的像素柵格,找到光線與場景中最近的物體,并計(jì)算交點(diǎn)位置,根據(jù)該位置的場景內(nèi)容設(shè)定獲得成像平面對應(yīng)點(diǎn)的顏色值,完成整個仿真圖像的生成。光線跟蹤方法逐個像素地對場景進(jìn)行掃描,而不是逐個圖元處理,這使得光線跟蹤算法速度較慢,適合于對渲染的實(shí)時性要求不高的應(yīng)用條件。在實(shí)現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:基于OpenGL的仿真成像對成像畸變、非均勻性光照等真實(shí)相機(jī)成像不能模擬。光線追蹤的方法基于空間光線與三維場景、模型交會計(jì)算圖像對應(yīng)的空間目標(biāo)點(diǎn),計(jì)算過程全景搜索和前后景物判斷,計(jì)算資源消耗大公開于該
背景技術(shù):
部分的信息僅僅旨在增加對本發(fā)明的總體背景的理解,而不應(yīng)當(dāng)被視為承認(rèn)或以任何形式暗示該信息構(gòu)成已為本領(lǐng)域一般技術(shù)人員所公知的現(xiàn)有技術(shù)。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于提供一種機(jī)械臂采樣環(huán)境仿真圖的生成方法,從而克服現(xiàn)有仿真成像方法計(jì)算量大的缺點(diǎn)。為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了一種機(jī)械臂采樣環(huán)境仿真圖的生成方法,包括:確定機(jī)械臂相機(jī)在采樣過程中的位置姿態(tài),位置姿態(tài)包括機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系和相機(jī)坐標(biāo)系;根據(jù)機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系,確定三維場景地形圖每個三維點(diǎn)坐標(biāo)在相機(jī)坐標(biāo)系下的三維位置坐標(biāo);在相機(jī)坐標(biāo)系下,根據(jù)透視投影關(guān)系確定每個三維位置坐標(biāo)投影至二維平面上成像點(diǎn)的二維坐標(biāo);根據(jù)成像點(diǎn)的遮擋關(guān)系確定有效成像點(diǎn),并將有效成像點(diǎn)保存至柵格矩陣存儲隊(duì)列;確定每個有效成像點(diǎn)的顏色值并存儲至柵格矩陣存儲隊(duì)列,并根據(jù)柵格矩陣存儲隊(duì)列生成由柵格像素點(diǎn)組成的仿真圖。在一種可能的實(shí)現(xiàn)方式中,確定機(jī)械臂相機(jī)在采樣過程中的位置姿態(tài)包括:根據(jù)探測器的位置姿態(tài)參數(shù)確定三維場景地形圖的世界坐標(biāo)系與探測器坐標(biāo)系之間的轉(zhuǎn)換關(guān)系;根據(jù)探測器本體上機(jī)械臂安裝參數(shù)及機(jī)械臂各關(guān)節(jié)的運(yùn)動參數(shù)確定探測器坐標(biāo)系與機(jī)械臂末端的云臺坐標(biāo)系之間的轉(zhuǎn)換關(guān)系;根據(jù)機(jī)械臂相機(jī)在云臺的安裝參數(shù)確定云臺坐標(biāo)系與相機(jī)坐標(biāo)系之間的轉(zhuǎn)換關(guān)系。在一種可能的實(shí)現(xiàn)方式中,透視投影關(guān)系為:λuv1=fu0u000fvv000010Rt0T1xwywzw1;]]>其中,u和v分別為成像點(diǎn)的橫坐標(biāo)和縱坐標(biāo);xw,yw,zw用于表示三維位置坐標(biāo);λ為投影深度;fu和fv分別為機(jī)械臂相機(jī)的橫向焦距和縱向焦距,(u0,v0)為主點(diǎn)坐標(biāo);R為旋轉(zhuǎn)矩陣,t為平移向量,R和t用于表示相機(jī)坐標(biāo)系與世界坐標(biāo)系之間的關(guān)系;根據(jù)成像點(diǎn)的遮擋關(guān)系確定有效成像點(diǎn),包括:確定所有成像點(diǎn)在橫坐標(biāo)方向和縱坐標(biāo)方向的最大最小極值,并根據(jù)最大最小極值分別確定在橫坐標(biāo)方向和縱坐標(biāo)方向的取值范圍,并根據(jù)仿真圖像設(shè)定的空間分辨率確定相應(yīng)的圖像橫、縱方向的像素寬度,即圖像的像素分辨率;根據(jù)像素分辨率設(shè)置相應(yīng)的柵格矩陣存儲隊(duì)列;根據(jù)二維平面上成像點(diǎn)的二維坐標(biāo)確定成像點(diǎn)在柵格矩陣存儲隊(duì)列上相對應(yīng)的像素位置;依次將每個像素位置對應(yīng)的成像點(diǎn)中空間距離值最小的成像點(diǎn)作為有效成像點(diǎn),空間距離值為與成像點(diǎn)相對應(yīng)的三維位置坐標(biāo)與機(jī)械臂相機(jī)之間的距離。在一種可能的實(shí)現(xiàn)方式中,根據(jù)所述柵格矩陣存儲隊(duì)列生成由柵格像素點(diǎn)組成的仿真圖,包括:獲取與三維場景地形圖相對應(yīng)的數(shù)字正射影像圖,并根據(jù)有效成像點(diǎn)與三維位置坐標(biāo)之間的關(guān)系依次確定每個柵格像素點(diǎn)的初始顏色值;確定每個柵格像素點(diǎn)的柵格位置(i,j)的有效成像點(diǎn),以及相鄰柵格位置(i+1,j)、(i,j+1)、(i-1,j)和(i,j-1)存儲的有效成像點(diǎn);其中,i,j分別為有效成像點(diǎn)所在的橫縱坐標(biāo)像素位置;根據(jù)柵格位置及其相鄰位置所存儲的有效成像點(diǎn)進(jìn)行平面擬合與插值處理,確定所述柵格像素點(diǎn)的顏色值,并根據(jù)所述柵格像素點(diǎn)組成仿真圖。具體的,根據(jù)待求柵格像素位置及其相鄰位置有效成像點(diǎn)進(jìn)行三維平面擬合,擬合過程以有效像點(diǎn)的像點(diǎn)位置作為自變量,以其對應(yīng)的數(shù)字正射影像圖顏色值作為函數(shù)進(jìn)行擬合,根據(jù)擬合的結(jié)果函數(shù)以(i,j)位置作為自變量,計(jì)算得到的函數(shù)值作為待求柵格像素點(diǎn)的顏色值。在一種可能的實(shí)現(xiàn)方式中,在根據(jù)柵格矩陣存儲隊(duì)列生成最終仿真圖之前,還包括:根據(jù)畸變參數(shù)和仿真相機(jī)鏡頭的模型參數(shù),確定二維平面上每個點(diǎn)在橫坐標(biāo)方向上和縱坐標(biāo)方向上的畸變量,并將橫坐標(biāo)方向上和縱坐標(biāo)方向上的畸變量分別存儲于兩個浮點(diǎn)數(shù)值型矩陣中;根據(jù)柵格像素點(diǎn)的像素位置查詢浮點(diǎn)數(shù)值型矩陣中相對應(yīng)的畸變量,并根據(jù)查詢到的畸變量進(jìn)行畸變補(bǔ)償?;谕瑯拥陌l(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供一種機(jī)械臂采樣環(huán)境仿真圖的生成裝置,包括:位姿確定模塊,用于確定機(jī)械臂相機(jī)在采樣過程中的位置姿態(tài),位置姿態(tài)包括機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系和相機(jī)坐標(biāo)系;三維坐標(biāo)確定模塊,用于根據(jù)機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系,確定三維場景地形圖每個三維點(diǎn)坐標(biāo)在相機(jī)坐標(biāo)系下的三維位置坐標(biāo);投影模塊,用于在相機(jī)坐標(biāo)系下,根據(jù)透視投影關(guān)系確定每個三維位置坐標(biāo)投影至二維平面上成像點(diǎn)的二維坐標(biāo);成像點(diǎn)確定模塊,用于根據(jù)成像點(diǎn)的遮擋關(guān)系確定有效成像點(diǎn),并將有效成像點(diǎn)保存至柵格矩陣存儲隊(duì)列;處理模塊,用于確定每個有效成像點(diǎn)的顏色值并存儲至柵格矩陣存儲隊(duì)列,并根據(jù)柵格矩陣存儲隊(duì)列生成由柵格像素點(diǎn)組成的仿真圖。在一種可能的實(shí)現(xiàn)方式中,位姿確定模塊包括:第一轉(zhuǎn)換單元,用于根據(jù)探測器的位置姿態(tài)參數(shù)確定三維場景地形圖的世界坐標(biāo)系與探測器坐標(biāo)系之間的轉(zhuǎn)換關(guān)系;第二轉(zhuǎn)換單元,用于根據(jù)探測器本體上機(jī)械臂安裝參數(shù)及機(jī)械臂各關(guān)節(jié)的運(yùn)動參數(shù)確定探測器坐標(biāo)系與機(jī)械臂末端的云臺坐標(biāo)系之間的轉(zhuǎn)換關(guān)系;第三轉(zhuǎn)換單元,用于根據(jù)機(jī)械臂相機(jī)在云臺的安裝參數(shù)確定云臺坐標(biāo)系與相機(jī)坐標(biāo)系之間的轉(zhuǎn)換關(guān)系。在一種可能的實(shí)現(xiàn)方式中,透視投影關(guān)系為:λuv1=fu0u000fvv000010Rt0T1xwywzw1;]]>其中,u和v分別為成像點(diǎn)的橫坐標(biāo)和縱坐標(biāo);xw,yw,zw用于表示三維位置坐標(biāo);λ為投影深度;fu和fv分別為機(jī)械臂相機(jī)的橫向焦距和縱向焦距,(u0,v0)為主點(diǎn)坐標(biāo);R為旋轉(zhuǎn)矩陣,t為平移向量,R和t用于表示相機(jī)坐標(biāo)系與世界坐標(biāo)系之間的關(guān)系;成像點(diǎn)確定模塊包括:分辨率確定單元,確定所有成像點(diǎn)在橫坐標(biāo)方向和縱坐標(biāo)方向的最大最小極值,并根據(jù)最大最小極值分別確定在橫坐標(biāo)方向和縱坐標(biāo)方向的取值范圍,并根據(jù)仿真圖像設(shè)定的空間分辨率確定相應(yīng)的圖像橫、縱方向的像素寬度,即圖像的像素分辨率;存儲單元,用于根據(jù)像素分辨率設(shè)置相應(yīng)的柵格矩陣存儲隊(duì)列;像素確定單元,用于根據(jù)二維平面上成像點(diǎn)的二維坐標(biāo)確定成像點(diǎn)在柵格矩陣存儲隊(duì)列中相對應(yīng)的像素位置;選取單元,用于依次將每個像素位置對應(yīng)的成像點(diǎn)中空間距離值最小的成像點(diǎn)作為有效成像點(diǎn),空間距離值為與成像點(diǎn)相對應(yīng)的三維位置坐標(biāo)與機(jī)械臂相機(jī)之間的距離。在一種可能的實(shí)現(xiàn)方式中,處理模塊包括:獲取單元,用于獲取與三維場景地形圖相對應(yīng)的數(shù)字正射影像圖,并根據(jù)有效成像點(diǎn)與三維位置坐標(biāo)之間的關(guān)系依次確定每個柵格像素點(diǎn)的初始顏色值;取點(diǎn)單元,用于確定每個柵格像素點(diǎn)的柵格位置(i,j)及其相鄰位置(i+1,j)、(i,j+1)、(i-1,j)和(i,j-1)儲存的有效成像點(diǎn);其中,i,j分別為柵格像素點(diǎn)所在的橫縱坐標(biāo)像素位置;平面擬合與插值單元,用于根據(jù)柵格位置及其相鄰位置所存儲的有效成像點(diǎn)進(jìn)行平面擬合與插值處理,確定所述柵格像素點(diǎn)的顏色值,并根據(jù)所述柵格像素點(diǎn)組成仿真圖。在一種可能的實(shí)現(xiàn)方式中,還包括:畸變設(shè)置模塊和畸變補(bǔ)償模塊;在處理模塊根據(jù)柵格矩陣存儲隊(duì)列生成仿真圖之前,畸變設(shè)置模塊用于根據(jù)畸變參數(shù)和仿真相機(jī)鏡頭的模型參數(shù),確定二維平面上每個點(diǎn)在橫坐標(biāo)方向上和縱坐標(biāo)方向上的畸變量,并將橫坐標(biāo)方向上和縱坐標(biāo)方向上的畸變量分別存儲于兩個浮點(diǎn)數(shù)值型矩陣中;畸變補(bǔ)償模塊用于根據(jù)柵格像素點(diǎn)的像素位置查詢浮點(diǎn)數(shù)值型矩陣中相對應(yīng)的畸變量,并根據(jù)查詢到的畸變量進(jìn)行畸變補(bǔ)償。本發(fā)明實(shí)施例提供的機(jī)械臂采樣環(huán)境仿真圖的生成方法及裝置,首先確定機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系以方便在同一坐標(biāo)系下對圖像數(shù)據(jù)進(jìn)行處理,提高處理速度和準(zhǔn)確性。根據(jù)遮擋關(guān)系可以快速確定有效成像點(diǎn),同時采用柵格矩陣存儲隊(duì)列進(jìn)行存儲的方式,可以快速計(jì)算仿真圖像的圖像點(diǎn),相對于光線搜索方法速度更快。根據(jù)有效成像點(diǎn)和相鄰柵格像素點(diǎn)中的有效成像點(diǎn)進(jìn)行平面擬合與插值處理,確定該柵格像素點(diǎn)最終的顏色值,有效較少顏色失真。基于查詢方法的畸變量確定方法,將計(jì)算量大的部分工作事先計(jì)算完畢,實(shí)時仿真成像是僅通過查詢實(shí)現(xiàn)畸變補(bǔ)償,可保證實(shí)時仿真圖像生成的快速性。同時,相對于基于模型的投影的方法,可以真實(shí)模擬相機(jī)各種畸變,除了幾何變形畸變外,對于非均勻光照等真實(shí)情況,通過增加相應(yīng)參數(shù)畸變過程即可,模擬更加真實(shí)完備。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。附圖說明附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:圖1本發(fā)明實(shí)施例中機(jī)械臂采樣環(huán)境仿真圖的生成方法的流程圖;圖2本發(fā)明實(shí)施例中二維平面投影成像的示意圖;圖3本發(fā)明實(shí)施例中機(jī)械臂采樣環(huán)境仿真圖的生成裝置的第一結(jié)構(gòu)圖;圖4本發(fā)明實(shí)施例中位姿確定模塊的結(jié)構(gòu)圖;圖5本發(fā)明實(shí)施例中成像點(diǎn)確定模塊的結(jié)構(gòu)圖;圖6本發(fā)明實(shí)施例中處理模塊的結(jié)構(gòu)圖;圖7本發(fā)明實(shí)施例中機(jī)械臂采樣環(huán)境仿真圖的生成裝置的第二結(jié)構(gòu)圖。具體實(shí)施方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。在這里專用的詞“示例性”意為“用作例子、實(shí)施例或說明性”。這里作為“示例性”所說明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。本發(fā)明實(shí)施例提供的一種機(jī)械臂采樣環(huán)境仿真圖的生成方法,參見圖1所示,該方法包括步驟101-105:步驟101:確定機(jī)械臂相機(jī)在采樣過程中的位置姿態(tài),位置姿態(tài)包括機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系和相機(jī)坐標(biāo)系。本發(fā)明實(shí)施例提供的一種機(jī)械臂采樣環(huán)境仿真圖的生成方法,應(yīng)用于機(jī)械臂采樣的場景。具體的,探測器本體上設(shè)有該機(jī)械臂,該機(jī)械臂的末端設(shè)有機(jī)械臂相機(jī);其中,機(jī)械臂設(shè)有各個關(guān)節(jié),每個關(guān)節(jié)設(shè)有相對應(yīng)的運(yùn)動參數(shù)(如關(guān)節(jié)機(jī)構(gòu)坐標(biāo)系等);機(jī)械臂的末端設(shè)有云臺,該云臺上安裝有機(jī)械臂相機(jī),該機(jī)械臂相機(jī)可以對周圍環(huán)境進(jìn)行采樣。其中,上述步驟101中根據(jù)機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系具體包括步驟A1-A3:步驟A1:根據(jù)探測器的位置姿態(tài)參數(shù)確定三維場景地形圖的世界坐標(biāo)系與探測器坐標(biāo)系之間的轉(zhuǎn)換關(guān)系。步驟A2:根據(jù)探測器本體上機(jī)械臂安裝參數(shù)及機(jī)械臂各關(guān)節(jié)的運(yùn)動參數(shù)確定探測器坐標(biāo)系與機(jī)械臂末端的云臺坐標(biāo)系之間的轉(zhuǎn)換關(guān)系。步驟A3:根據(jù)機(jī)械臂相機(jī)在云臺的安裝參數(shù)確定云臺坐標(biāo)系與相機(jī)坐標(biāo)系之間的轉(zhuǎn)換關(guān)系。本發(fā)明實(shí)施例中,具體通過DEM(DigitalElevationModel,數(shù)字高程模型)數(shù)據(jù)獲取三維場景地形圖,由于三維場景地形圖所使用的世界坐標(biāo)系與機(jī)械臂相機(jī)的相機(jī)坐標(biāo)系為兩個不同基準(zhǔn)的坐標(biāo)系,故需要確定機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系(即世界坐標(biāo)系與相機(jī)坐標(biāo)系之間的關(guān)系),進(jìn)而方便之后在同一坐標(biāo)系下對圖像數(shù)據(jù)進(jìn)行處理。根據(jù)步驟A1,即可以將三維場景地形圖的世界坐標(biāo)系Ow-XwYwZw轉(zhuǎn)移到航天器探測器的探測器坐標(biāo)系;通過步驟A2即可以將探測器坐標(biāo)系下的三維數(shù)據(jù)轉(zhuǎn)換到機(jī)械臂末端的云臺坐標(biāo)系;通過步驟A3即可以將云臺坐標(biāo)系的三維點(diǎn)坐標(biāo)轉(zhuǎn)換到相機(jī)坐標(biāo)系Oc-XcYcZc。在經(jīng)過上述三步坐標(biāo)系轉(zhuǎn)換后,即可以確定世界坐標(biāo)系Ow-XwYwZw與相機(jī)坐標(biāo)系Oc-XcYcZc之間的關(guān)系,從而確定機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系。步驟102:根據(jù)機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系,確定三維場景地形圖每個三維點(diǎn)坐標(biāo)在相機(jī)坐標(biāo)系下的三維位置坐標(biāo)。本發(fā)明實(shí)施例中,在確定世界坐標(biāo)系Ow-XwYwZw與相機(jī)坐標(biāo)系Oc-XcYcZc之間的關(guān)系后,需要先將采樣場景內(nèi)的三維場景地形圖的每個點(diǎn)的三維點(diǎn)坐標(biāo)進(jìn)行坐標(biāo)轉(zhuǎn)換,確定其在相機(jī)坐標(biāo)系下的三維位置坐標(biāo),從而方便統(tǒng)一計(jì)算處理。步驟103:在相機(jī)坐標(biāo)系下,根據(jù)透視投影關(guān)系確定每個三維位置坐標(biāo)投影至二維平面上成像點(diǎn)的二維坐標(biāo)。本發(fā)明實(shí)施例中,在將三維場景地形圖每個三維點(diǎn)坐標(biāo)轉(zhuǎn)換為相機(jī)坐標(biāo)系下的三維位置坐標(biāo)后,即可以一直在該相機(jī)坐標(biāo)系下進(jìn)行數(shù)據(jù)處理。具體的,根據(jù)三維場景地形圖的三維位置坐標(biāo)到機(jī)械臂相機(jī)的投影,確定三維位置坐標(biāo)投影至一個二維平面上成像點(diǎn)的二維坐標(biāo)。參見圖2所示,圖2示出了一個三維場景地形圖中的目標(biāo)點(diǎn)P向機(jī)械臂相機(jī)C投影時,其投射至二維平面的成像點(diǎn)為M;根據(jù)透視投影關(guān)系即可以確定成像點(diǎn)M的坐標(biāo)。具體的,該透視投影關(guān)系具體為:λuv1=fu0u000fvv000010Rt0T1xwywzw1;]]>其中,u和v分別為成像點(diǎn)的橫坐標(biāo)和縱坐標(biāo);xw,yw,zw用于表示三維位置坐標(biāo);λ為投影深度,其幾何意義是目標(biāo)點(diǎn)P在相機(jī)坐標(biāo)系Oc-XcYcZc中坐標(biāo)的Z分量;fu和fv分別為機(jī)械臂相機(jī)的橫向焦距和縱向焦距,fu=f/dx,fv=f/dy,f為仿真相機(jī)的焦距,dx和dy分別為像素的橫縱尺寸,(u0,v0)為主點(diǎn)坐標(biāo);R為旋轉(zhuǎn)矩陣,t為平移向量,R和t用于表示相機(jī)坐標(biāo)系與世界坐標(biāo)系之間的關(guān)系,R,t合稱為外部參數(shù)。步驟104:根據(jù)成像點(diǎn)的遮擋關(guān)系確定有效成像點(diǎn),并將有效成像點(diǎn)保存至柵格矩陣存儲隊(duì)列。本發(fā)明實(shí)施例中,由于三維場景地形圖中存在大量的三維位置坐標(biāo),因此存在兩個或更多個三維位置坐標(biāo)與機(jī)械臂相機(jī)共線,即兩個或更多個三維位置坐標(biāo)投影至二維平面的成像點(diǎn)為同一個成像點(diǎn),但以機(jī)械臂相機(jī)的角度來看,只能采樣到距離機(jī)械臂最近的三維位置坐標(biāo),其他的三維位置坐標(biāo)被改最近的三維位置坐標(biāo)遮擋?。还释ㄟ^遮擋關(guān)系可以確定哪一個三維位置坐標(biāo)投影至二維平面的成像點(diǎn)為有效成像點(diǎn)。具體的,步驟104中根據(jù)成像點(diǎn)的遮擋關(guān)系確定有效成像點(diǎn),具體包括步驟B1-B4:步驟B1:確定所有成像點(diǎn)在橫坐標(biāo)方向和縱坐標(biāo)方向的最大最小極值,并根據(jù)最大最小極值分別確定在橫坐標(biāo)方向和縱坐標(biāo)方向的像素數(shù)目,并確定相應(yīng)的像素分辨率。具體的,確定所有成像點(diǎn)在橫坐標(biāo)方向和縱坐標(biāo)方向的最大最小極值,并根據(jù)最大最小極值分別確定在橫坐標(biāo)方向和縱坐標(biāo)方向的取值范圍,并根據(jù)仿真圖像設(shè)定的空間分辨率確定相應(yīng)的圖像橫、縱方向的像素寬度,即圖像的像素分辨率。步驟B2:根據(jù)像素分辨率設(shè)置相應(yīng)的柵格矩陣存儲隊(duì)列。步驟B3:根據(jù)二維平面上成像點(diǎn)的二維坐標(biāo)確定成像點(diǎn)相對應(yīng)的像素位置。步驟B4:依次將每個像素位置對應(yīng)的成像點(diǎn)中空間距離值最小的成像點(diǎn)作為有效成像點(diǎn),空間距離值為與成像點(diǎn)相對應(yīng)的三維位置坐標(biāo)與機(jī)械臂相機(jī)之間的距離。其中,二維平面也設(shè)有在橫坐標(biāo)方向X和縱坐標(biāo)方向Y,根據(jù)兩個方向的極大值和極小值即可以確定最終仿真成像在X、Y兩個方向的像素數(shù)目M和N,即仿真圖像的像素分辨率M×N,根據(jù)該分辨率進(jìn)而可以設(shè)定相應(yīng)的圖像存儲隊(duì)列,該圖像存儲隊(duì)列具體為柵格矩陣存儲隊(duì)列。之后根據(jù)成像點(diǎn)的坐標(biāo)即可以確定該成像點(diǎn)與哪一像素點(diǎn)相對應(yīng),即可以確定成像點(diǎn)相對應(yīng)的像素位置(即橫縱方向的像素值)。具體的,由于可能存在多個三維位置坐標(biāo)投影至二維平面的成像點(diǎn)為同一個成像點(diǎn)的情況,此時故通過遮擋關(guān)系可以確定哪一個三維位置坐標(biāo)投影至二維平面的成像點(diǎn)為有效成像點(diǎn)具體參見上述步驟B4,即將空間距離值最小的成像點(diǎn)作為有效成像點(diǎn)。柵格矩陣存儲隊(duì)列的每一個存儲子隊(duì)列對應(yīng)一個像素點(diǎn),即每一個存儲子隊(duì)列可以存儲一個有效成像點(diǎn)的數(shù)據(jù)。在存儲有效像素點(diǎn)的過程中,首先確定有效成像點(diǎn)對應(yīng)的像素位置,進(jìn)而確定相對應(yīng)的存儲子隊(duì)列;如果該子隊(duì)列為空,則直接將該像素點(diǎn)保存到相對應(yīng)的子隊(duì)列;如果存儲子隊(duì)列非空,則比較該成像點(diǎn)對應(yīng)三維點(diǎn)的空間距離值Z,如果該點(diǎn)的Z為較小值,則將該成像點(diǎn)替換為原保存的成像點(diǎn),否則放棄該成像點(diǎn)。步驟105:確定每個有效成像點(diǎn)的顏色值并存儲至柵格矩陣存儲隊(duì)列,并根據(jù)柵格矩陣存儲隊(duì)列生成由柵格像素點(diǎn)組成的仿真圖。本發(fā)明實(shí)施例中,有效成像點(diǎn)為均存儲于柵格矩陣存儲隊(duì)列中。由于有效成像點(diǎn)的像素位置不一定為整數(shù),如某一有效成像點(diǎn)的像素位置可能為(2.1,3.2);但柵格均為整數(shù)格式,一個柵格內(nèi)可能存在多個有效成像點(diǎn),而每個柵格對應(yīng)一個柵格像素點(diǎn)。在根據(jù)柵格矩陣存儲隊(duì)列生成由柵格像素點(diǎn)組成的仿真圖時,需要首先根據(jù)柵格矩陣存儲隊(duì)列中的有效成像點(diǎn)的顏色值確定柵格像素點(diǎn)的顏色值。具體的,上述步驟105中根據(jù)柵格矩陣存儲隊(duì)列生成由柵格像素點(diǎn)組成的仿真圖,具體包括步驟C1-C3:步驟C1:獲取與三維場景地形圖相對應(yīng)的數(shù)字正射影像圖,并根據(jù)有效成像點(diǎn)與三維位置坐標(biāo)之間的關(guān)系依次確定每個柵格像素點(diǎn)的初始顏色值。步驟C2:確定每個柵格像素點(diǎn)的柵格像素點(diǎn)(i,j)及其相鄰位置(i+1,j)、(i,j+1)、(i-1,j)和(i,j-1)儲存的有效成像點(diǎn);其中,i,j分別為柵格像素點(diǎn)所在的橫縱坐標(biāo)像素位置。步驟C3:根據(jù)柵格位置及其相鄰位置所存儲的有效成像點(diǎn)進(jìn)行平面擬合與插值處理,確定柵格像素的顏色值。在步驟C3之后,即可以根據(jù)所述柵格像素點(diǎn)組成仿真圖。本發(fā)明實(shí)施例中,通過引入相應(yīng)的DOM(DigitalOrthophotoMap,數(shù)字正射影像圖)確定每一個有效成像點(diǎn)的顏色值。具體的,DOM影像圖中存有三維場景地形圖(如DEM)中每個點(diǎn)的顏色值,根據(jù)DOM即可以確定有效成像點(diǎn)的初始顏色值。由于有效成像點(diǎn)為根據(jù)遮掩關(guān)系確定的成像點(diǎn),故直接根據(jù)DOM確定的初始顏色值可能存在失真。本發(fā)明實(shí)施例中,通過結(jié)合相鄰有效成像點(diǎn)進(jìn)行插值處理確定最終的顏色值,進(jìn)而可以生成整個圖像數(shù)據(jù)。具體的,確定每個柵格像素點(diǎn)(i,j)的相鄰柵格像素點(diǎn)(i+1,j)、(i,j+1)、(i-1,j)和(i,j-1);其中,i,j分別為柵格像素點(diǎn)所在的橫縱坐標(biāo)像素位置;當(dāng)i或j為1時,由于i-1=0或者j-1=0,故此時的(i-1,j)或(i,j-1)設(shè)置為空值。在確定柵格像素點(diǎn)鄰域的所有有效成像點(diǎn)后,根據(jù)有效成像點(diǎn)和相鄰柵格像素點(diǎn)中的有效成像點(diǎn)進(jìn)行平面擬合與插值處理,確定該柵格像素點(diǎn)最終的顏色值,有效較少顏色失真。本發(fā)明實(shí)施例提供的機(jī)械臂采樣環(huán)境仿真圖的生成方法,首先確定機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系以方便在同一坐標(biāo)系下對圖像數(shù)據(jù)進(jìn)行處理,提高處理速度和準(zhǔn)確性。根據(jù)遮擋關(guān)系可以快速確定有效成像點(diǎn),同時采用柵格矩陣存儲隊(duì)列進(jìn)行存儲的方式,可以快速計(jì)算仿真圖像的圖像點(diǎn),相對于光線搜索方法速度更快。根據(jù)有效成像點(diǎn)和相鄰柵格像素點(diǎn)中的有效成像點(diǎn)進(jìn)行平面擬合與插值處理,確定該柵格像素點(diǎn)最終的顏色值,有效較少顏色失真。優(yōu)選的,在步驟105中的“根據(jù)柵格矩陣存儲隊(duì)列生成仿真圖”之前,該方法還包括步驟C1-C2:步驟C1:根據(jù)畸變參數(shù)和模型參數(shù),確定二維平面上每個點(diǎn)在橫坐標(biāo)方向上和縱坐標(biāo)方向上的畸變量,并將橫坐標(biāo)方向上和縱坐標(biāo)方向上的畸變量分別存儲于兩個浮點(diǎn)數(shù)值型矩陣中。步驟C2:根據(jù)有效成像點(diǎn)的像素位置查詢浮點(diǎn)數(shù)值型矩陣中相對應(yīng)的畸變量,并根據(jù)查詢到的畸變量進(jìn)行畸變補(bǔ)償。在本發(fā)明實(shí)施例中,采用查詢法模擬成像畸變,根據(jù)所仿真成像相機(jī)的鏡頭畸變參數(shù),對標(biāo)準(zhǔn)透視成像的像點(diǎn)進(jìn)行畸變模擬。畸變過程按照所模擬的相機(jī)實(shí)際畸變參數(shù)設(shè)定。具體的,為了提高畸變仿真的計(jì)算速度,本發(fā)明實(shí)施例中采用查詢法的畸變調(diào)制方法,首先根據(jù)畸變參數(shù)和模型參數(shù),對于二維圖像像面上每個有效像素點(diǎn)計(jì)算畸變量,分別獲得X、Y兩個方向上的畸變分量,并分別存儲到M×N的浮點(diǎn)數(shù)值型矩陣。利用這兩個浮點(diǎn)數(shù)值型矩陣,仿真圖像上任意的成像的畸變情況可以直接從表格中查詢,進(jìn)而進(jìn)行畸變補(bǔ)償?;诓樵兎椒ǖ幕兞看_定方法,將計(jì)算量大的部分工作事先計(jì)算完畢,實(shí)時仿真成像是僅通過查詢實(shí)現(xiàn)畸變補(bǔ)償,可保證實(shí)時仿真圖像生成的快速性。同時,相對于基于模型的投影的方法,可以真實(shí)模擬相機(jī)各種畸變,除了幾何變形畸變外,對于非均勻光照等真實(shí)情況,通過增加相應(yīng)參數(shù)畸變過程即可,模擬更加真實(shí)完備。以上詳細(xì)介紹了一種機(jī)械臂采樣環(huán)境仿真圖的生成方法,該方法也可以通過相應(yīng)的裝置實(shí)現(xiàn),下面詳細(xì)介紹該裝置的結(jié)構(gòu)和功能。本發(fā)明實(shí)施例提供的一種機(jī)械臂采樣環(huán)境仿真圖的生成裝置,參見圖3所示,包括:位姿確定模塊31,用于確定機(jī)械臂相機(jī)在采樣過程中的位置姿態(tài),位置姿態(tài)包括機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系和相機(jī)坐標(biāo)系;三維坐標(biāo)確定模塊32,用于根據(jù)機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系,確定三維場景地形圖每個三維點(diǎn)坐標(biāo)在相機(jī)坐標(biāo)系下的三維位置坐標(biāo);投影模塊33,用于在相機(jī)坐標(biāo)系下,根據(jù)透視投影關(guān)系確定每個三維位置坐標(biāo)投影至二維平面上成像點(diǎn)的二維坐標(biāo);成像點(diǎn)確定模塊34,用于根據(jù)成像點(diǎn)的遮擋關(guān)系確定有效成像點(diǎn),并將有效成像點(diǎn)保存至柵格矩陣存儲隊(duì)列;處理模塊35,用于確定每個有效成像點(diǎn)的顏色值并存儲至柵格矩陣存儲隊(duì)列,并根據(jù)柵格矩陣存儲隊(duì)列生成由柵格像素點(diǎn)組成的仿真圖。在一種可能的實(shí)現(xiàn)方式中,參見圖4所示,位姿確定模塊31包括:第一轉(zhuǎn)換單元311,用于根據(jù)探測器的位置姿態(tài)參數(shù)確定三維場景地形圖的世界坐標(biāo)系與探測器坐標(biāo)系之間的轉(zhuǎn)換關(guān)系;第二轉(zhuǎn)換單元312,用于根據(jù)探測器本體上機(jī)械臂安裝參數(shù)及機(jī)械臂各關(guān)節(jié)的運(yùn)動參數(shù)確定探測器坐標(biāo)系與機(jī)械臂末端的云臺坐標(biāo)系之間的轉(zhuǎn)換關(guān)系;第三轉(zhuǎn)換單元313,用于根據(jù)機(jī)械臂相機(jī)在云臺的安裝參數(shù)確定云臺坐標(biāo)系與相機(jī)坐標(biāo)系之間的轉(zhuǎn)換關(guān)系。在一種可能的實(shí)現(xiàn)方式中,透視投影關(guān)系為:λuv1=fu0u000fvv000010Rt0T1xwywzw1;]]>其中,u和v分別為成像點(diǎn)的橫坐標(biāo)和縱坐標(biāo);xw,yw,zw用于表示三維位置坐標(biāo);λ為投影深度;fu和fv分別為機(jī)械臂相機(jī)的橫向焦距和縱向焦距,(u0,v0)為主點(diǎn)坐標(biāo);R為旋轉(zhuǎn)矩陣,t為平移向量,R和t用于表示相機(jī)坐標(biāo)系與世界坐標(biāo)系之間的關(guān)系;參見圖5所示,成像點(diǎn)確定模塊34包括:分辨率確定單元341,確定所有成像點(diǎn)在橫坐標(biāo)方向和縱坐標(biāo)方向的最大最小極值,并根據(jù)最大最小極值分別確定在橫坐標(biāo)方向和縱坐標(biāo)方向的取值范圍,并根據(jù)仿真圖像設(shè)定的空間分辨率確定相應(yīng)的圖像橫、縱方向的像素寬度,即圖像的像素分辨率;存儲單元342,用于根據(jù)像素分辨率設(shè)置相應(yīng)的柵格矩陣存儲隊(duì)列;像素確定單元343,用于根據(jù)二維平面上成像點(diǎn)的二維坐標(biāo)確定成像點(diǎn)相對應(yīng)的像素位置;選取單元344,用于依次將每個像素位置對應(yīng)的成像點(diǎn)中空間距離值最小的成像點(diǎn)作為有效成像點(diǎn),空間距離值為與成像點(diǎn)相對應(yīng)的三維位置坐標(biāo)與機(jī)械臂相機(jī)之間的距離。在一種可能的實(shí)現(xiàn)方式中,參見圖6所示,處理模塊35包括:獲取單元351,用于獲取與三維場景地形圖相對應(yīng)的數(shù)字正射影像圖,并根據(jù)有效成像點(diǎn)與三維位置坐標(biāo)之間的關(guān)系依次確定每個有效成像點(diǎn)的初始顏色值;取點(diǎn)單元352,用于確定每個柵格像素點(diǎn)(i,j)及其相鄰位置(i+1,j)、(i,j+1)、(i-1,j)和(i,j-1)存儲的有效成像點(diǎn);其中,i,j分別為柵格像素點(diǎn)所在的橫縱坐標(biāo)像素位置;平面擬合與插值單元353,用于根據(jù)柵格位置及其相鄰位置所存儲的有效成像點(diǎn)進(jìn)行平面擬合與插值處理,確定所述柵格像素點(diǎn)的顏色值,并根據(jù)所述柵格像素點(diǎn)組成仿真圖。在一種可能的實(shí)現(xiàn)方式中,參見圖7所示,該裝置還包括:畸變設(shè)置模塊36和畸變補(bǔ)償模塊37;在處理模塊35根據(jù)柵格矩陣存儲隊(duì)列生成仿真圖之前,畸變設(shè)置模塊36用于根據(jù)畸變參數(shù)和仿真相機(jī)鏡頭的模型參數(shù),確定二維平面上每個點(diǎn)在橫坐標(biāo)方向上和縱坐標(biāo)方向上的畸變量,并將橫坐標(biāo)方向上和縱坐標(biāo)方向上的畸變量分別存儲于兩個浮點(diǎn)數(shù)值型矩陣中;畸變補(bǔ)償模塊37用于根據(jù)柵格像素點(diǎn)的像素位置查詢浮點(diǎn)數(shù)值型矩陣中相對應(yīng)的畸變量,并根據(jù)查詢到的畸變量進(jìn)行畸變補(bǔ)償。本發(fā)明實(shí)施例提供的機(jī)械臂采樣環(huán)境仿真圖的生成方法及裝置,首先確定機(jī)械臂相機(jī)與三維場景地形圖之間的相對位置姿態(tài)關(guān)系以方便在同一坐標(biāo)系下對圖像數(shù)據(jù)進(jìn)行處理,提高處理速度和準(zhǔn)確性。根據(jù)遮擋關(guān)系可以快速確定有效成像點(diǎn),同時采用柵格矩陣存儲隊(duì)列進(jìn)行存儲的方式,可以快速計(jì)算仿真圖像的圖像點(diǎn),相對于光線搜索方法速度更快。根據(jù)有效成像點(diǎn)和相鄰有效成像點(diǎn)進(jìn)行插值處理,確定有效成像點(diǎn)最終的顏色值,有效較少顏色失真?;诓樵兎椒ǖ幕兞看_定方法,將計(jì)算量大的部分工作事先計(jì)算完畢,實(shí)時仿真成像是僅通過查詢實(shí)現(xiàn)畸變補(bǔ)償,可保證實(shí)時仿真圖像生成的快速性。同時,相對于基于模型的投影的方法,可以真實(shí)模擬相機(jī)各種畸變,除了幾何變形畸變外,對于非均勻光照等真實(shí)情況,通過增加相應(yīng)參數(shù)畸變過程即可,模擬更加真實(shí)完備。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。前述對本發(fā)明的具體示例性實(shí)施方案的描述是為了說明和例證的目的。這些描述并非想將本發(fā)明限定為所公開的精確形式,并且很顯然,根據(jù)上述教導(dǎo),可以進(jìn)行很多改變和變化。對示例性實(shí)施例進(jìn)行選擇和描述的目的在于解釋本發(fā)明的特定原理及其實(shí)際應(yīng)用,從而使得本領(lǐng)域的技術(shù)人員能夠?qū)崿F(xiàn)并利用本發(fā)明的各種不同的示例性實(shí)施方案以及各種不同的選擇和改變。本發(fā)明的范圍意在由權(quán)利要求書及其等同形式所限定。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實(shí)施。當(dāng)前第1頁1 2 3