趙成帥,吳新冬,趙東花,劉曉杰,王晨光,申 沖
(1.中北大學(xué)儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,太原030051;2.中北大學(xué)儀器與電子學(xué)院,太原030051; 3.中北大學(xué)信息與通信工程學(xué)院,太原 030051)
目前,衛(wèi)星導(dǎo)航、慣性導(dǎo)航等導(dǎo)航技術(shù)被廣泛應(yīng)用于無(wú)人車/無(wú)人機(jī)的定位/定向當(dāng)中。但是慣性導(dǎo)航誤差隨時(shí)間累積和衛(wèi)星導(dǎo)航易被干擾一直是困擾研究人員的瓶頸問題。為了提高導(dǎo)航系統(tǒng)的自主性和穩(wěn)定性,本文以沙蟻、蜜蜂等昆蟲的導(dǎo)航能力為設(shè)計(jì)靈感,提出了一種基于微偏振陣列結(jié)構(gòu)互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor,CMOS)相機(jī)的成像式仿生偏振光定向系統(tǒng),以尋求一種可靠的新型導(dǎo)航方法。
仿生偏振光導(dǎo)航方法模仿的是生物在辨別方向能力方面的視覺反饋機(jī)制,屬自主式導(dǎo)航。早在20世紀(jì),生物學(xué)家就通過一系列的解剖學(xué)實(shí)驗(yàn)、觀察實(shí)驗(yàn)、訓(xùn)練實(shí)驗(yàn)和電生理實(shí)驗(yàn)發(fā)現(xiàn)了蜜蜂、沙蟻等昆蟲的導(dǎo)航行為[1-3]。其復(fù)眼的感桿中色素分子的雙極性軸與微絨毛長(zhǎng)軸相平行,當(dāng)天空中偏振光的E矢量方向與微絨毛的長(zhǎng)軸平行時(shí),入射光子被最大程度地吸收[4-6]。這是昆蟲復(fù)眼光感受器偏振敏感特性的根本原因。
研究人員模仿昆蟲的復(fù)眼結(jié)構(gòu)設(shè)計(jì)出了一系列的偏振測(cè)量系統(tǒng)。1997年,美國(guó)科學(xué)家K.J. Voss研發(fā)了一種基于電荷耦合元件(Charge Coupled Device,CCD)相機(jī)和魚眼鏡頭的偏振輻射探測(cè)系統(tǒng)(RADS-IIP),通過圖像形式展現(xiàn)了一定視野范圍內(nèi)的斯托克斯參數(shù)以及偏振度和偏振角,并且與點(diǎn)源式的測(cè)試系統(tǒng)進(jìn)行了比較[7]。2001年,K.Usher等提出了利用掃描方式和數(shù)碼相機(jī)拍攝天空偏振圖案的方法,從而獲取了偏振度和偏振方位角信息[8]。G.Horvath等也設(shè)計(jì)了一套偏振測(cè)量系統(tǒng),主要由3個(gè)安裝魚眼鏡頭的相機(jī)構(gòu)成,3個(gè)相機(jī)的偏振片偏振化方向互呈0°、60°和120°,是一種全天域的偏振測(cè)量設(shè)備[9]。
雖然已經(jīng)存在各種類型的偏振成像設(shè)備,但是他們并不能滿足成像式偏振光導(dǎo)航系統(tǒng)在定向功能和算法上的需求。近年來(lái),國(guó)內(nèi)許多科研團(tuán)隊(duì)已經(jīng)開始研究基于偏振視覺的定向方法。2015年,清華大學(xué)盧皓和趙開春等提出并設(shè)計(jì)了一種實(shí)時(shí)的成像式定向系統(tǒng)[10],基于霍夫變換的算法能根據(jù)太陽(yáng)子午線的特征和天空偏振模式在斯托克斯參量圖案上準(zhǔn)確地檢測(cè)出太陽(yáng)子午線。這種識(shí)別算法涉及一些非線性的算法,并且出現(xiàn)一系列計(jì)算上的困難。2017年,他們?cè)诨舴蜃儞Q算法的基礎(chǔ)上進(jìn)行了改進(jìn),將其中的非線性運(yùn)算簡(jiǎn)化為線性運(yùn)算,之后分析了該計(jì)算方法的精度,并對(duì)比了運(yùn)算時(shí)間,且在數(shù)字信號(hào)處理器(Digital Signal Processing,DSP)上實(shí)現(xiàn)了算法的功能[11]。相比于ARM7為核心的其他嵌入式系統(tǒng),這種類型的DSP嵌入式系統(tǒng)滿足了低運(yùn)算次數(shù)和高實(shí)時(shí)性的需求。
除此之外,近幾年研究人員還提出了其他形式的仿生偏振光導(dǎo)航設(shè)備和方法。2019年,大連理工大學(xué)褚金奎教授團(tuán)隊(duì)提出了一種基于極坐標(biāo)變換的偏振角信息處理方法[12]。該方法在計(jì)算過程中,通過檢測(cè)相鄰兩幀偏振角圖像中的單像素環(huán)找到相匹配的點(diǎn)來(lái)求解太陽(yáng)子午線,在戶外靜態(tài)實(shí)驗(yàn)中測(cè)試結(jié)果的精度為0.63°。但是,該方法并未實(shí)際應(yīng)用于車載或機(jī)載的成像式仿生偏振光定向系統(tǒng)中。同年,國(guó)防科技大學(xué)何曉峰等設(shè)計(jì)了一種應(yīng)用于地面無(wú)人平臺(tái)的微陣列式仿生偏振光羅盤[13],該羅盤使用天頂區(qū)域的偏振角加權(quán)平均值作為航向角來(lái)解算模型,經(jīng)過車載實(shí)驗(yàn)驗(yàn)證,其定向均方根誤差值為0.46°。
本文將現(xiàn)有的微偏振陣列的CMOS相機(jī)與DSP/ARM處理器集成,并且基于C語(yǔ)言在下位機(jī)上實(shí)現(xiàn)了使用連續(xù)旋轉(zhuǎn)法提取太陽(yáng)子午線,提高了最小二乘粗提取法在太陽(yáng)子午線的擬合精度。將成像式仿生偏振光定向系統(tǒng)安裝于無(wú)人機(jī)上,并進(jìn)行了機(jī)載實(shí)驗(yàn)測(cè)試,在沒有與其他導(dǎo)航手段組合的情況下,動(dòng)態(tài)定向精度達(dá)到0.3335°。
本文提出的像素化偏振光羅盤主要由NVIDIA Jetson TX2處理器、廣角鏡頭及帶有像素化偏振陣列的CMOS相機(jī)組成。該系統(tǒng)由內(nèi)置的12V可充電鋰電池供電,通過外接天線連入無(wú)線網(wǎng)絡(luò),具備單獨(dú)外場(chǎng)實(shí)驗(yàn)?zāi)芰?,可以通過遠(yuǎn)程PC機(jī)對(duì)其進(jìn)行桌面控制。偏振相機(jī)朝天向固定在殼體內(nèi)部,系統(tǒng)通過處理采集到的天空偏振圖像實(shí)時(shí)輸出載體航向角,成像式仿生偏振光定向系統(tǒng)樣機(jī)如圖1所示。
圖1 成像式仿生偏振光定向系統(tǒng)樣機(jī)Fig.1 Imaging bionic polarized light orientation system prototype
偏振相機(jī)是成像式偏振光定向系統(tǒng)中最重要的器件。本文中設(shè)計(jì)的成像式偏振光定向系統(tǒng)選用的偏振相機(jī)為L(zhǎng)UCID Vision Labs公司Phoenix系列中型號(hào)為PHX050S-PC的500萬(wàn)像素千兆以太網(wǎng)工業(yè)相機(jī)。該相機(jī)配備了Sony公司生產(chǎn)的IMX250MZR CMOS圖像傳感器。該圖像傳感器仿照昆蟲復(fù)眼中的小眼結(jié)構(gòu),在光電二極管上方加入了一層像素化的微偏振器陣列。它將0°、45°、90°和135°這4個(gè)不同方向的偏振器分別放置于單個(gè)像元上,計(jì)算過程中每4個(gè)像元組成一個(gè)2×2的計(jì)算單元,以計(jì)算偏振度和偏振方向。與普通的高像素CMOS相機(jī)相比,該偏振相機(jī)可以直接獲得0°、45°、90°和135°這4個(gè)方向的灰度圖像以及偏振角圖像、偏振度圖像。表1所示為成像式仿生偏振光定向系統(tǒng)組成器件的主要參數(shù)。
表1 成像式仿生偏振光定向系統(tǒng)的主要參數(shù)
根據(jù)研究人員對(duì)大氣偏振模式的觀察,驗(yàn)證了偏振度和偏振化方向圖像均關(guān)于太陽(yáng)子午線對(duì)稱,尤其是偏振化方向,相比偏振度圖像在不同天氣情況下顯現(xiàn)出更加突出的穩(wěn)定性。航向角求解問題轉(zhuǎn)化成為圖像中太陽(yáng)子午線的獲取問題,即偏振度和偏振角圖像中對(duì)稱軸檢測(cè)問題。
一般的成像式仿生偏振光導(dǎo)航傳感器需要經(jīng)過以下步驟:
1)從偏振相機(jī)獲取0°、45°、90°和135°這4個(gè)通道的灰度圖像作為原始圖像;
2)運(yùn)用各通道的灰度圖像計(jì)算斯托克斯參量,并生成全天空的偏振度圖和偏振角圖;
3)坐標(biāo)系轉(zhuǎn)換,生成圖像坐標(biāo)系線性空間,移動(dòng)偏振角圖像坐標(biāo)系原點(diǎn)到圖像的主點(diǎn)(一般水平放置時(shí)主點(diǎn)為圖像中心點(diǎn));
4)通過設(shè)置偏振度和偏振角特征閾值提取特征點(diǎn),擬合圖像對(duì)稱軸,得到太陽(yáng)子午線和體軸的夾角(相對(duì)航向角);
5)通過天文星歷算法,運(yùn)用當(dāng)?shù)貢r(shí)間和位置計(jì)算太陽(yáng)子午線和地理正北的夾角;
6)通過歧義性調(diào)整計(jì)算載體的絕對(duì)航向角。
下面是詳細(xì)的相對(duì)航向角求解過程:
1)計(jì)算斯托克斯參量圖像。假設(shè)裁剪配準(zhǔn)后的4個(gè)不同方向的灰度圖像為I0°(x,y)、I45°(x,y)、I90°(x,y)和I135°(x,y),斯托克斯參量圖像為I(x,y)、Q(x,y)和U(x,y),其存在轉(zhuǎn)換關(guān)系,即
(1)
2)由斯托克斯參量計(jì)算得到的偏振度和偏振角圖像AOP(x,y)和DOP(x,y)為
(2)
應(yīng)該注意的是,上述方法計(jì)算得到的偏振角度還需要受到一些限制
(3)
(4)
(5)
3)生成圖像坐標(biāo)系,將圖像的坐標(biāo)原點(diǎn)從左上角平移到主點(diǎn)坐標(biāo),此處的主點(diǎn)為圖像中心點(diǎn),即
(6)
4)生成載體坐標(biāo)系下的方位角φp
(7)
5)求得E矢量方向與當(dāng)?shù)靥?yáng)子午線的夾角
AOPE(x′,y′)=AOP(x′,y′)-φp(x′,y′)
(8)
6)對(duì)偏振度圖像和偏振角圖像進(jìn)行中值濾波,此處選用了3×3窗口進(jìn)行處理
AOPE=medfilt2(AOPE,[3,3])
(9)
DOP=medfilt2(DOP,[3,3])
(10)
7)設(shè)置偏振度和偏振角的閾值a_th,d_th1,d_th2,提取得到特征點(diǎn)[xiyi]
(11)
8)運(yùn)用最小二乘法擬合太陽(yáng)子午線y=kx+b
(12)
進(jìn)一步可以求得,太陽(yáng)子午線與圖像坐標(biāo)系橫軸的夾角為φk
φk=arctan(k)
(13)
由于實(shí)際情況的復(fù)雜性,需要根據(jù)外部環(huán)境的不同來(lái)人為設(shè)定程序中提取特征點(diǎn)所設(shè)置的閾值,通常情況下以經(jīng)驗(yàn)值作為參考。而且在設(shè)置閾值后特征點(diǎn)較多時(shí),擬合直線的過程中會(huì)出現(xiàn)無(wú)法擬合的特殊情況。所以在實(shí)際的航向角解算過程中,一般情況下設(shè)置閾值提取出的特征點(diǎn)只能作為圖像對(duì)稱軸方向的粗提取。為了進(jìn)一步精確地提取出圖像的對(duì)稱軸,本文提出了使用連續(xù)旋轉(zhuǎn)的方法對(duì)對(duì)稱軸粗提取的特征點(diǎn)進(jìn)行處理,設(shè)置AOPE閾值提取的特征點(diǎn)以及連續(xù)旋轉(zhuǎn)法提取的圖像對(duì)稱軸,如圖2所示。
圖2 設(shè)置AOPE閾值提取的特征點(diǎn)以及連續(xù)旋轉(zhuǎn)法提取的圖像對(duì)稱軸Fig.2 Feature points extracted by setting AOPE threshold and image symmetry axis extracted by continuous rotation method
進(jìn)入循環(huán)后,第一步確定繞旋轉(zhuǎn)中心點(diǎn)[x_rcy_rc]逆時(shí)針旋轉(zhuǎn)i_r°之后的坐標(biāo)[x_r1y_r1],…,[x_riy_ri],…,[x_rny_rn];第二步,求取旋轉(zhuǎn)后坐標(biāo)中Y軸坐標(biāo)大于0的點(diǎn)數(shù)個(gè)數(shù)記為變量N_y_t,特征點(diǎn)總點(diǎn)數(shù)的一半與Y軸坐標(biāo)大于0的點(diǎn)差點(diǎn)數(shù)(取絕對(duì)值)記為變量err_num_y;第三步,當(dāng)變量err_num_y的值小于閾值err_num_y_th時(shí),比較err_num_y和err_num_y_temp這2個(gè)變量,如果err_num_y小于err_num_y_temp,則將變量err_num_y的值賦給緩存值err_num_y_temp;第四步,求取旋轉(zhuǎn)后所有點(diǎn)的Y軸坐標(biāo)總和數(shù)sum_y,如果變量sum_y的絕對(duì)值小于緩存值sum_y_temp并且err_num_y_temp小于預(yù)設(shè)的閾值err_num_y_th,則將sum_y的絕對(duì)值賦給緩存變量sum_y_temp,且將180-i_r的值賦給對(duì)稱軸傾角緩存變量k_temp;循環(huán)結(jié)束后的對(duì)稱軸傾角緩存值k_temp即為圖像的對(duì)稱軸與圖像橫軸的傾角。太陽(yáng)子午線的擬合結(jié)果為
(14)
圖3所示為處理一幀圖像的對(duì)稱軸精確提取的算法步驟流程圖。
圖3 圖像對(duì)稱軸精確提取流程圖Fig.3 Flow chart for precise extraction of image symmetry axis
在上述圖像處理的過程中,通過偏振度以及偏振角處理的算法,可以獲取太陽(yáng)子午線在圖像坐標(biāo)系中的傾角,將其表示為φk。當(dāng)將太陽(yáng)作為航向的基準(zhǔn)時(shí),對(duì)于與載體固連安裝的成像式仿生偏振光定向系統(tǒng),太陽(yáng)子午線與圖像坐標(biāo)系縱軸正方向的夾角φk+90°或φk-90°即為相對(duì)航向角。
為了測(cè)試該算法在載體靜態(tài)情況下的定向精度,2020年9月15日下午4時(shí)46分,在中北大學(xué)工程訓(xùn)練中心停車場(chǎng)進(jìn)行了靜態(tài)實(shí)驗(yàn)。實(shí)驗(yàn)過程中將高精度組合導(dǎo)航基準(zhǔn)(SPAN-KVH1750)和成像式仿生偏振光定向系統(tǒng)安裝于汽車頂部,Y軸方向朝北向放置。其中高精度組合導(dǎo)航基準(zhǔn)的定向精度可以達(dá)到0.035°,成像式仿生偏振光定向系統(tǒng)的輸出頻率為10Hz,高精度組合導(dǎo)航系統(tǒng)的輸出頻率為50Hz。圖4所示為對(duì)參考文獻(xiàn)[13]中提出的加權(quán)平均法、最小二乘粗提取法、本文提出的連續(xù)旋轉(zhuǎn)法和高精度組合導(dǎo)航基準(zhǔn)四種方法在靜態(tài)實(shí)驗(yàn)中的航向角輸出結(jié)果在MATLAB中進(jìn)行了對(duì)比。圖5和表2所示為靜態(tài)實(shí)驗(yàn)中不同算法測(cè)得的航向角誤差的對(duì)比。
圖4 三種算法的靜態(tài)實(shí)驗(yàn)航向角與基準(zhǔn)對(duì)比圖Fig.4 Comparison of heading angle output by three algorithms and reference benchmark in static experiment
圖5 三種算法的靜態(tài)實(shí)驗(yàn)航向角誤差Fig.5 Comparison of heading angle error output by three algorithms in static experiment
表2 靜態(tài)實(shí)驗(yàn)中三種不同方法輸出的航向角誤差對(duì)比表
2020年12月22日下午4時(shí)39分,天空晴朗無(wú)云。為了驗(yàn)證上述算法的正確性和穩(wěn)定性,在中北大學(xué)工程訓(xùn)練中心西側(cè)空地附近對(duì)成像式仿生偏振光定向系統(tǒng)進(jìn)行了機(jī)載實(shí)驗(yàn),對(duì)連續(xù)旋轉(zhuǎn)算法的定向精度進(jìn)行了測(cè)試,機(jī)載實(shí)驗(yàn)場(chǎng)景如圖6所示。
圖6 機(jī)載實(shí)驗(yàn)時(shí)的場(chǎng)景Fig.6 Scene of the airborne experiment
實(shí)驗(yàn)過程中同樣使用北斗星通公司SPAN-KVH1750型號(hào)的高精度分體式閉環(huán)光纖組合導(dǎo)航系統(tǒng)作為參考基準(zhǔn)。
成像式仿生偏振光定向系統(tǒng)固定于六旋翼無(wú)人機(jī)頂部。無(wú)人機(jī)沿東方向飛行大約100s后停止。實(shí)驗(yàn)中同時(shí)保存高精度組合導(dǎo)航基準(zhǔn)的數(shù)據(jù)與成像式仿生導(dǎo)航系統(tǒng)的數(shù)據(jù)。其中高精度組合導(dǎo)航基準(zhǔn)的輸出速率設(shè)置為100Hz,成像式仿生偏振光導(dǎo)航系統(tǒng)的輸出速率為10Hz。實(shí)驗(yàn)結(jié)束后,將成像式仿生偏振光導(dǎo)航系統(tǒng)加權(quán)平均值法、最小二乘粗提取法和本文提出的連續(xù)旋轉(zhuǎn)法輸出的航向角分別與高精度組合導(dǎo)航基準(zhǔn)輸出的航向角在MATLAB上進(jìn)行對(duì)比。圖7和圖8所示為兩者航向角數(shù)據(jù)的對(duì)比結(jié)果。
圖7 機(jī)載實(shí)驗(yàn)中三種不同方法測(cè)的航向角對(duì)比圖Fig.7 Comparison of heading angle measured by three different methods in airborne experiment
實(shí)驗(yàn)過程中,太陽(yáng)方位角從270.08°逐漸增大到270.9150°,太陽(yáng)高度角從22.1853°逐漸減小到21.1123°。誤差對(duì)比的結(jié)果如表3所示。從表3的對(duì)比數(shù)據(jù)可以得到,機(jī)載情況下,由本文提出的連續(xù)旋轉(zhuǎn)法測(cè)得的航向角精度為0.3335°,優(yōu)于最小二乘對(duì)稱軸粗提取法測(cè)得的航向角和參考文獻(xiàn)[13]中加權(quán)平均值法測(cè)得的航向角結(jié)果,在最小二乘對(duì)稱軸粗提取法的基礎(chǔ)上定向精度提升了19.05%。
表3 機(jī)載實(shí)驗(yàn)中三種不同方法輸出的航向角誤差對(duì)比表
本文將微陣列式CMOS偏振相機(jī)作為無(wú)人運(yùn)動(dòng)平臺(tái)的定向設(shè)備,創(chuàng)新性地提出最小二乘法之后連續(xù)旋轉(zhuǎn)法提取太陽(yáng)子午線的擬合方法。通過在靜態(tài)實(shí)驗(yàn)和機(jī)載實(shí)驗(yàn)中與最小二乘法和加權(quán)平均值法對(duì)比,說明該方法具有最佳的定向精度,實(shí)現(xiàn)的定向精度為0.3335°。但是該方法目前還存在以下問題。
1)算法的復(fù)雜度仍然較大,基于DSP/ARM架構(gòu)的處理器的性能仍需進(jìn)一步提升。由于多核架構(gòu)的處理器開發(fā)難度較大,所以系統(tǒng)的實(shí)時(shí)性還有較大的提升空間。
2)由于系統(tǒng)通常情況下水平放置,本文未考慮傾斜狀態(tài)和嚴(yán)重遮擋等復(fù)雜情況下的定向方法。充分考慮復(fù)雜情況下的定向方法有助于提升系統(tǒng)整體的適應(yīng)性。
3)結(jié)合微慣性測(cè)量單元或微磁力計(jì)構(gòu)成組合導(dǎo)航系統(tǒng)可以充分發(fā)揮不同導(dǎo)航方法的優(yōu)勢(shì),提升系統(tǒng)的定向精度。