劉明 侯作勛 李光耀 張炳先
(北京空間機(jī)電研究所,北京 100094)
空間機(jī)械臂是支持空間站組裝、運(yùn)營、維護(hù)和空間應(yīng)用的關(guān)鍵裝備。機(jī)械臂需配置空間視覺相機(jī),在軌執(zhí)行視覺監(jiān)視和視覺測量任務(wù)[1],為機(jī)械臂操控提供必需的圖像視覺信息和目標(biāo)的位置、姿態(tài)信息。視覺相機(jī)是引導(dǎo)和輔助空間機(jī)械臂完成空間任務(wù)的重要設(shè)備,需要具有實(shí)時(shí)測量合作目標(biāo)位姿和傳輸視頻壓縮圖像的功能[2-4]。
已成功在軌工作的空間相機(jī)如“嫦娥二號(hào)”監(jiān)視相機(jī)[5]等,大都采取以FPGA為核心的圖像處理系統(tǒng),核心器件FPGA主要起焦面驅(qū)動(dòng)、時(shí)序控制、數(shù)據(jù)流控制等作用。這種圖像處理系統(tǒng)具有電路結(jié)構(gòu)簡單的優(yōu)勢,但運(yùn)算能力有限。當(dāng)用戶需求增多和任務(wù)復(fù)雜度增加,不僅需要相機(jī)拍攝圖像,還需要其在軌對(duì)圖像進(jìn)行運(yùn)算,但是以FPGA為核心的圖像處理系統(tǒng)因其數(shù)字運(yùn)算單元功能有限,無法實(shí)現(xiàn)諸如目標(biāo)捕獲跟蹤、位姿測量、對(duì)圖像壓縮等類別的需求,亟需設(shè)計(jì)一種新的圖像處理系統(tǒng)[6-8]。
空間機(jī)械臂多任務(wù)視覺相機(jī)在原有的 FPGA圖像處理系統(tǒng)中加入數(shù)字運(yùn)算單元 DSP,形成2FPGA+2DSP的異構(gòu)多核心實(shí)時(shí)圖像處理系統(tǒng)[9-10]。新系統(tǒng)中,利用FPGA嚴(yán)格的時(shí)序和并行處理數(shù)據(jù)特性,實(shí)現(xiàn)圖像的采集和預(yù)處理;利用DSP強(qiáng)大的運(yùn)算功能,實(shí)現(xiàn)圖像壓縮和位姿測量算法。通過合理的規(guī)劃電路功能,將核心電路分為焦面電路、視頻壓縮模塊、位姿測量模塊,并且每個(gè)電路和模塊可以獨(dú)立開發(fā),極大的縮短了開發(fā)時(shí)間。該系統(tǒng)可以滿足現(xiàn)代圖像處理系統(tǒng)對(duì)速率、數(shù)據(jù)量、成本、功耗等方面的要求,并具有實(shí)時(shí)性、輕小型化和模塊化開發(fā)的特點(diǎn),適應(yīng)航天遙感對(duì)圖像的高速處理要求。
相機(jī)采用光電集成化設(shè)計(jì)架構(gòu),分為鏡頭和電子學(xué)組件兩部分。其中,鏡頭采用透射式光學(xué)系統(tǒng)、像方遠(yuǎn)心光路設(shè)計(jì),確保相機(jī)在一定距離范圍內(nèi)均能夠清晰成像,并且具有較小的畸變以滿足測量的需求。電子學(xué)部分采用集成化的組件設(shè)計(jì),圖像采集、數(shù)據(jù)通信、視頻壓縮和位姿測量功能均由電子學(xué)組件承擔(dān)。電子學(xué)設(shè)計(jì)為相機(jī)主要設(shè)計(jì)難點(diǎn),在開展相機(jī)電子學(xué)總體架構(gòu)設(shè)計(jì)時(shí),重點(diǎn)考慮了如下四方面的因素。
1)空間機(jī)械臂視覺相機(jī),需要具有高測量精度和高可靠性。相對(duì)于單目視覺處理架構(gòu),從精度方面考慮,采用雙目視覺處理架構(gòu)能夠提升位姿測量精度;從可靠性角度考慮,采用完全并行的雙目處理架構(gòu)同樣可以有效提升系統(tǒng)的可靠性,達(dá)到高可靠、長壽命使用要求。因此本文將相機(jī)設(shè)計(jì)成完全獨(dú)立的雙目相機(jī),每目相機(jī)都可以獨(dú)立完成視頻圖像傳輸和位姿測量,也可以實(shí)現(xiàn)雙目位姿測量,兼顧可靠性和位姿測量精度提升的要求。
2)相機(jī)需要兼具圖像采集、圖像預(yù)處理、位姿測量和H.264視頻壓縮功能,因此,其電路系統(tǒng)要求具備較強(qiáng)的數(shù)據(jù)并行處理能力(最高幀頻達(dá)到25幀/s)和復(fù)雜運(yùn)算能力。而以FPGA為核心的圖像處理系統(tǒng)數(shù)字運(yùn)算單元功能有限,無法實(shí)現(xiàn)此類需求。所以,在原有的FPGA圖像處理系統(tǒng)中加入數(shù)字運(yùn)算單元DSP,形成FPGA+DSP的實(shí)時(shí)圖像處理新系統(tǒng)。該系統(tǒng)中FPGA作為圖像采集模塊的核心,負(fù)責(zé)圖像的采集和圖像預(yù)處理;DSP作為運(yùn)算核心,負(fù)責(zé)實(shí)現(xiàn)圖像壓縮和位姿測量算法。
3)由于圖像采集和圖像預(yù)處理需要較強(qiáng)的并行運(yùn)算能力,而視頻壓縮[11-14]和位姿計(jì)算需要具備較強(qiáng)的算法運(yùn)算能力。因此,圖像采集和圖像預(yù)處理分別采用1片F(xiàn)PGA,并采用了級(jí)聯(lián)的模式;視頻壓縮和位姿計(jì)算分別采用1片DSP。視頻壓縮模塊和位姿測量模塊都采用FPGA+DSP架構(gòu),F(xiàn)PGA和DSP之間使用GPIO(通用接口)和UART(異步接口)接口進(jìn)行通信、使用VPIF(視頻接口)接口進(jìn)行圖像數(shù)據(jù)傳輸。
4)為了統(tǒng)一調(diào)度多片核心芯片處于相同的工作狀態(tài),測控通道由一片F(xiàn)PGA控制,由該FPGA作為整個(gè)硬件架構(gòu)的控制中樞負(fù)責(zé)多片核心芯片的控制與狀態(tài)遙測。
依據(jù)上述優(yōu)化設(shè)計(jì)思路,將相機(jī)電子學(xué)組件按照模塊化分為焦平面電路、視頻壓縮模塊和位姿模塊三部分。電路總體架構(gòu)如圖1所示。
圖1 相機(jī)電路構(gòu)架Fig.1 Structure of the camera circuit
CMOS探測器輸出圖像為Bayer圖像,而彩色圖像可帶給地面觀測更豐富的細(xì)節(jié),因此需要對(duì)Bayer圖像插值成RGB圖像,再將RGB圖像轉(zhuǎn)換成YUV422圖像,最后經(jīng)過H.264圖像壓縮由網(wǎng)口傳輸。位姿測量最主要考慮圖像的Y分量(明亮度),對(duì)Y分量圖像進(jìn)行直方圖均衡、圖像去噪、閾值分割后進(jìn)行位姿測量。視頻壓縮算法主要由DSP(TMS320DM6467)內(nèi)置硬核完成,在此對(duì)Bayer圖像插值、RGB888轉(zhuǎn)YUV422、位姿測量等主要算法進(jìn)行介紹。
CMOS圖像傳感器表面覆蓋著顏色濾波陣列(CFA),經(jīng)過CFA后每個(gè)像素只能獲得三基色中的一種分量,圖2表示圖像傳感器成像得到的3×3像素陣列,每個(gè)像素只代表紅、黃、綠1種顏色分量。為了獲得彩色圖像,需要利用周圍像素點(diǎn)的值近似計(jì)算出被濾掉的顏色分量。
圖2中共有成像的9個(gè)像素點(diǎn),如中間像素5的DN值只表示像素5的綠色分量,則插值后像素5的RGB(紅綠藍(lán))顏色分量r5,g5,b5的DN值可分別表示為:
圖2 成像的3×3像素陣列Fig.2 An imaging array with 3×3 pixels
式中D2、D4、D5、D6、D8分別表示3×3像素陣列中像素2、像素4、像素5、像素6、像素8的DN值。式(1)將只有綠色的像素 5變?yōu)榫哂屑t、綠、藍(lán)三個(gè)顏色分量的彩色像素 (r5,g5,b5)。其他像素點(diǎn)的插值方法類似,不再介紹。
通過式(1)完成了Bayer圖像轉(zhuǎn)換成RGB888格式圖像,根據(jù)文獻(xiàn)[15]并結(jié)合傳感器的特性,對(duì)式(2)中矩陣的系數(shù)微調(diào),實(shí)現(xiàn)RGB888格式圖像與YUV422圖像的轉(zhuǎn)化[15]。
式中B、C、S分別表示任意像素點(diǎn)明亮度、色彩和飽和度;r、g、b表示任意像素點(diǎn)紅、綠、藍(lán)顏色分量的DN值。
相機(jī)通過識(shí)別合作視覺靶標(biāo)上的特征點(diǎn)來完成位姿測量算法。首先,根據(jù)已知視覺靶標(biāo)的特征點(diǎn)的形狀、顏色、空間分布等信息,在成像圖像中提取視覺標(biāo)記點(diǎn)所對(duì)應(yīng)的圖像特征點(diǎn),并通過輪廓法精確定位圖像特征點(diǎn)中心的圖像坐標(biāo)[16-19],圖3為視覺標(biāo)記合作靶標(biāo),共有8個(gè)特征點(diǎn)供檢測。
圖3 視覺靶標(biāo)Fig.3 The visual target
然后,將完成檢測得到的圖像特征點(diǎn)與視覺標(biāo)記點(diǎn)的一一對(duì)應(yīng)。相機(jī)的成像場景中可能有類似視覺標(biāo)記靶標(biāo)特征點(diǎn)的物體,圖像中檢測得到的特征點(diǎn)數(shù)量可能多于相機(jī)視場內(nèi)視覺標(biāo)記靶標(biāo)特征點(diǎn)的數(shù)量。因此,在匹配過程中,首先篩選出用于匹配的圖像特征點(diǎn),再與標(biāo)記點(diǎn)相對(duì)應(yīng)。
最后,根據(jù)圖像特征點(diǎn)的信息完成位姿測量。
相機(jī)成像可以用小孔成像模型表示[20-21],如圖4。空間內(nèi)任意一點(diǎn)A與相機(jī)光心O的連線投影在相機(jī)焦平面s上點(diǎn)a的位置,s′為焦平面的等效平面,其上像點(diǎn)A′由平面s上像點(diǎn)a經(jīng)水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)得到。
圖4 相機(jī)成像模型Fig.4 The camera imaging model and its coordinate system
圖4中三維笛卡爾坐標(biāo)系Ow-XwYwZw為世界坐標(biāo)系;三維笛卡爾坐標(biāo)Oc-XcYcZc為相機(jī)坐標(biāo)系,原點(diǎn)Oc與相機(jī)光心O重合,Zc軸與光軸重合,Xc、Yc軸與焦平面內(nèi)X、Y軸平行;圖像坐標(biāo)系Oi-XiYi為二維笛卡爾坐標(biāo)系,以物理長度為單位,原點(diǎn)Oi位于相機(jī)光軸與等效成像平面的交點(diǎn)處;圖像坐標(biāo)系OP-UV為二維笛卡爾坐標(biāo)系,以像素為單位,原點(diǎn)OP坐標(biāo)為(0,0),表示其位于OP-UV坐標(biāo)系的0行0列。
(1)世界坐標(biāo)與相機(jī)坐標(biāo)的變換
空間中任意一點(diǎn)A的世界坐標(biāo)為相機(jī)坐標(biāo)記為像點(diǎn)A′以物理長度為單位的圖像坐標(biāo)記為Ai=(xi,yi)T,以像素為單位的圖像坐標(biāo)記為Ap=(u,v)T。則點(diǎn)A的世界坐標(biāo)與相機(jī)坐標(biāo)的變換關(guān)系為
(2)世界坐標(biāo)與圖像坐標(biāo)的變換
相機(jī)小孔成像模型比例關(guān)系可以表示為
式中f為焦距,表示相機(jī)光心O到焦平面的距離。
由式(4)可以將點(diǎn)A的相機(jī)坐標(biāo)變換為以物理長度為單位的圖像坐標(biāo),即
設(shè)原點(diǎn)Oi在OP-UV坐標(biāo)系中的坐標(biāo)為(u0,v0),則以物理長度為單位的圖像坐標(biāo)與以像素為單位的圖像坐標(biāo)之間的轉(zhuǎn)換關(guān)系為
式中dx、dy為每個(gè)像素分別在Xi、Yi軸方向上的物理尺寸,即像元尺寸。
綜合上述坐標(biāo)變換過程,當(dāng)相機(jī)對(duì)空間任意一點(diǎn)成像時(shí),該點(diǎn)的世界坐標(biāo)與圖像坐標(biāo)(以像素為單位)的變換關(guān)系為:
式中ax,ay分別為U、V軸上的尺度因子,ax=f/dx,ay=f/dy;M1為相機(jī)內(nèi)參數(shù)矩陣,M1為相機(jī)外參數(shù)矩陣,由相機(jī)坐標(biāo)系相對(duì)于世界坐標(biāo)系的位姿參數(shù)決定。
以繞Zc、Yc及Xc軸的順序旋轉(zhuǎn)坐標(biāo)系,可得合成旋轉(zhuǎn)矩陣如下:
式中α、β、γ為相機(jī)姿態(tài)參數(shù),分別表示俯仰角、滾轉(zhuǎn)角和偏航角。
(3)世界坐標(biāo)系的R、T求解
相機(jī)的位置參數(shù)為其光心O在世界坐標(biāo)系中的坐標(biāo)由于O的相機(jī)坐標(biāo)為Ooc=ROoc+T=(0 0 0)T,若已求得相機(jī)坐標(biāo)系相對(duì)于世界坐標(biāo)系的旋轉(zhuǎn)矩陣R和平移向量T,則可求得相機(jī)位置參數(shù)Ooc=-R-1T。
根據(jù)上述分析,可將求解相機(jī)位姿參數(shù)轉(zhuǎn)化為求解相機(jī)坐標(biāo)系相對(duì)于世界坐標(biāo)系的旋轉(zhuǎn)矩陣R和平移向量T[22-24]。
采用正交迭代算法,通過空間中至少4 點(diǎn)求解位姿參數(shù),以特征點(diǎn)物空間殘差二范數(shù)之和作為目標(biāo)函數(shù),迭代求解令目標(biāo)函數(shù)取得最小值的R和T。
設(shè)供檢測的特征點(diǎn)數(shù)量為n,則第j(j=1,2,···,n)個(gè)特征點(diǎn)以像素為單位的歸一化圖像坐標(biāo)為該點(diǎn)對(duì)應(yīng)的世界坐標(biāo)為Pwj=(xwj,ywj,zwj)T,則物空間殘差向量為
式中I為單位矩陣;
以物空間殘差的二范數(shù)之和作為目標(biāo)函數(shù)E,則將位姿估計(jì)問題轉(zhuǎn)化為求解令目標(biāo)函數(shù)取得最小值的R和T,該問題可描述為
式中 minE(R,T)表示以旋轉(zhuǎn)矩陣R和平移向量T構(gòu)成方陣行列式的最小值。
根據(jù)目標(biāo)函數(shù),若R已知,則T存在如式(11)所示的閉式解。
可進(jìn)一步定義中間變換矩陣Q為
則可以將式(10)改寫為
求解R和T的過程如下:
1)令迭代次數(shù)k的初始值為0,R的初始值為R0。根據(jù)式(11)和式(12),由Rk求解Tk和Qk;
2)基于奇異值分解法[25]求解式(13)得到R;
3)令Rk+1=R,Tk+1=T(Rk+1)。定義誤差目標(biāo)ε,若式(14)成立則迭代結(jié)束,當(dāng)前求得的R和T即為最終解,否則令k=k+1,返回第一步迭代計(jì)算。
將視覺靶標(biāo)安裝在六維運(yùn)動(dòng)機(jī)構(gòu)上,六維運(yùn)動(dòng)機(jī)構(gòu)由三維電動(dòng)旋轉(zhuǎn)臺(tái)和三維導(dǎo)軌組合而成,三軸兩兩垂直。六維運(yùn)動(dòng)機(jī)構(gòu)以三維轉(zhuǎn)臺(tái)三旋轉(zhuǎn)軸中心為坐標(biāo)原點(diǎn),以坐標(biāo)原點(diǎn)為零位,可實(shí)現(xiàn)X軸、Y軸、Z軸、俯仰方向、偏航方向和滾轉(zhuǎn)方向的六個(gè)維度運(yùn)動(dòng)。
使用經(jīng)緯儀對(duì)相機(jī)和視覺靶標(biāo)進(jìn)行建站標(biāo)定,確定相機(jī)和視覺靶標(biāo)的位置關(guān)系,以六維運(yùn)動(dòng)機(jī)構(gòu)上視覺靶標(biāo)為基準(zhǔn),設(shè)置其X、Y、Z軸的運(yùn)動(dòng)距離和俯仰、偏航、滾轉(zhuǎn)的角度,驗(yàn)證相機(jī)位姿測量算法的準(zhǔn)確性和精度。
相機(jī)在試驗(yàn)過程中,視覺靶標(biāo)通過工裝安裝在六維運(yùn)動(dòng)機(jī)構(gòu)上,隨著六維運(yùn)動(dòng)機(jī)構(gòu)實(shí)現(xiàn)平移和轉(zhuǎn)動(dòng),相機(jī)實(shí)時(shí)傳輸視覺靶標(biāo)的壓縮圖像和位姿測量信息。使用網(wǎng)絡(luò)監(jiān)視工具分析得出,壓縮圖像在傳輸過程中未發(fā)生中斷和丟包現(xiàn)象;相機(jī)輸出的視頻圖像見圖5,視覺靶標(biāo)完全呈現(xiàn)在左、右目相機(jī)視場內(nèi),視覺標(biāo)記中白色特征點(diǎn)和黑色背景DN值之差大于70,左、右目相機(jī)可以獨(dú)立完成對(duì)視覺靶標(biāo)中特征點(diǎn)的識(shí)別、提取和定位,從而實(shí)現(xiàn)位姿測量功能。分析 1 051組測試數(shù)據(jù)得出,相機(jī)在距離視覺靶標(biāo)[600,1 300]mm范圍進(jìn)行測量時(shí),測量出的位置誤差δx≤1.1948mm 、δy≤3.5285mm 、δz≤2.0620mm,姿態(tài)誤差δα≤ 0.4030°、δβ≤ 0.3173°、δγ≤ 0.0612°,誤差均滿足指標(biāo)要求。
圖5 左、右目相機(jī)輸出的視頻圖像Fig.5 Video images of the left eye camera and the right eye camera
本文針對(duì)空間機(jī)械臂視覺相機(jī)測量合作目標(biāo)位姿和傳輸視頻壓縮圖像的實(shí)時(shí)多任務(wù)需求,設(shè)計(jì)了異構(gòu)多核心電子學(xué)架構(gòu),并根據(jù)任務(wù)特點(diǎn),設(shè)計(jì)了2FPGA+2DSP的電子學(xué)電路;介紹了Bayer圖像插值方法、RGB888轉(zhuǎn)YUV422方法和位姿測量算法的具體實(shí)現(xiàn)方法;使用經(jīng)緯儀對(duì)相機(jī)和視覺靶標(biāo)進(jìn)行建站標(biāo)定,測試相機(jī)位姿算法的精度和視頻壓縮能力。結(jié)果表明,相機(jī)在距離視覺靶標(biāo)[600, 1 300]mm內(nèi)進(jìn)行測量時(shí),測量出的位置誤差和姿態(tài)誤差滿足指標(biāo)要求;相機(jī)試驗(yàn)過程中視頻壓縮圖像傳輸無卡頓、中斷和丟包現(xiàn)象發(fā)生,圖像輸出正常。采用該方法設(shè)計(jì)的空間視覺相機(jī),可以實(shí)現(xiàn)位姿測量和壓縮圖像實(shí)時(shí)傳輸?shù)亩嗳蝿?wù)需求。
該相機(jī)的電子學(xué)架構(gòu)具備模塊化開發(fā)優(yōu)勢,可極大的縮小研發(fā)時(shí)間,并很好的滿足圖像處理系統(tǒng)對(duì)速率、數(shù)據(jù)量、圖像處理系統(tǒng)體積、系統(tǒng)成本、功耗等方面的要求,可推廣到其他空間實(shí)時(shí)多任務(wù)系統(tǒng)。