本發(fā)明涉及無人飛行器航拍領(lǐng)域,尤其是針對旋翼飛行器的低速飛行場景來實(shí)現(xiàn)的一種圖像矯正方法。
背景技術(shù):
近年來,隨著傳感器和微慣導(dǎo)等相關(guān)技術(shù)的發(fā)展,旋翼飛行器漸漸成為了無人飛行器領(lǐng)域的研究重點(diǎn)之一,其在軍用領(lǐng)域具有廣泛的應(yīng)用前景,如低空偵察、災(zāi)害現(xiàn)場監(jiān)視與救援等,而近年來相關(guān)產(chǎn)業(yè)的推進(jìn)更是帶動(dòng)了民用領(lǐng)域的快速發(fā)展,例如在航拍、災(zāi)情調(diào)查救援、大氣環(huán)境監(jiān)測、農(nóng)田或林區(qū)農(nóng)藥噴灑等諸多領(lǐng)域,四旋翼飛行器都有著廣泛的應(yīng)用前景。
航拍又稱為空中攝影或者航空攝影,航拍的攝像機(jī)可以有攝像師控制也可以自動(dòng)或者遠(yuǎn)程進(jìn)行控制拍攝,航拍所用到的平臺(tái)多種多樣,但是由于近年來的小型旋翼飛行器的普及以及推廣,越來越多的人選擇使用旋翼飛行器來搭載攝像器材,航拍需要具有非常穩(wěn)定的飛行平臺(tái),能夠提供高質(zhì)量的穩(wěn)定畫面,航拍圖能夠清晰地表現(xiàn)地理形態(tài)以及甚至長焦距下的人物景象。農(nóng)業(yè)植保是決定農(nóng)業(yè)產(chǎn)量的重要因素也是保護(hù)農(nóng)業(yè)生態(tài)環(huán)境的重要手段,傳統(tǒng)的農(nóng)業(yè)植保使用的是肉眼觀察的方式來預(yù)防病蟲害的發(fā)生,定期進(jìn)行農(nóng)藥的噴灑,在傳統(tǒng)的農(nóng)業(yè)植保中雖然有現(xiàn)代化的機(jī)械參與其中,如小型滑翔機(jī)噴灑農(nóng)藥土地質(zhì)量監(jiān)測傳感器等等,但是由于其并不能替代人來進(jìn)行判斷和綜合治理,所也并不能大規(guī)模自動(dòng)化地實(shí)現(xiàn)農(nóng)業(yè)植保。隨著新技術(shù)的推廣,無人機(jī)平臺(tái)也應(yīng)用在了現(xiàn)代農(nóng)業(yè)等領(lǐng)域,旋翼無人機(jī)掛載的視覺系統(tǒng)可以在低空對于農(nóng)作物的生長情況進(jìn)行監(jiān)測和分析,同時(shí)也可以結(jié)合田間傳感器來進(jìn)行綜合判斷,同時(shí)大型的旋翼飛行器可以進(jìn)行農(nóng)藥的定點(diǎn)定量噴灑,很大程度上提高了農(nóng)業(yè)植保的精確度和實(shí)時(shí)性。農(nóng)業(yè)植保型的無人飛行器平臺(tái)需要能夠?qū)崿F(xiàn)高清的農(nóng)作物圖像采集,穩(wěn)定的飛行平臺(tái)以及預(yù)先的飛行路徑規(guī)劃,旋翼飛行器無疑非常適合這樣的工作。
在四旋翼飛行器的諸多應(yīng)用當(dāng)中,最為核心的應(yīng)用是其搭載的視覺系統(tǒng),無論是航拍作業(yè)還是通過機(jī)載的攝像頭對地面信息進(jìn)行感知處理,都需要有較為穩(wěn)定的圖像獲取平臺(tái)。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有飛行器平臺(tái)的抖動(dòng)和飛行姿態(tài)下的角度誤差的不足,本發(fā)明提供一種矯正效果較好并且易于實(shí)現(xiàn)的基于四旋翼IMU參數(shù)的航拍圖像矯正方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種基于四旋翼IMU參數(shù)的航拍圖像矯正方法,包括以下步驟:
1)采集傳感器IMU參數(shù),獲取加速度計(jì)和陀螺儀的數(shù)值,進(jìn)行濾波和角度融合,獲取角度;
2)獲取圖像并且建立圖像內(nèi)參數(shù)矩陣;
3)根據(jù)獲取到的IMU角度數(shù)據(jù)對圖像進(jìn)行幾何矯正,過程如下:
首先需要對圖像進(jìn)行坐標(biāo)系的變換,坐標(biāo)系包括相機(jī)坐標(biāo)系c、機(jī)體坐標(biāo)系p和世界坐標(biāo)系E,在進(jìn)行幾何校正之前需要先對圖像的坐標(biāo)系進(jìn)行變換,從相機(jī)坐標(biāo)系轉(zhuǎn)換到飛行器的機(jī)體坐標(biāo)系,再轉(zhuǎn)換到世界坐標(biāo)系,用飛行器的IMU參數(shù)來反映圖像相對世界坐標(biāo)系的偏角,完成一系列的坐標(biāo)系的變換之后,構(gòu)造出原始坐標(biāo)點(diǎn)到矯正后圖像的矯正點(diǎn)的參數(shù)矩陣,建立矩陣變換式,得到矯正后的像素位置;
4)使用雙線性插值對矯正后的畸變圖像進(jìn)行像素灰度插值。
進(jìn)一步,所述步驟3)中,根據(jù)獲取到的IMU角度數(shù)據(jù)對圖像進(jìn)行幾何矯正,包括如下步驟:
3.1)在四旋翼飛行器視覺系統(tǒng)當(dāng)中,圖像主要涉及了兩個(gè)維度的角度變化,即繞圖像坐標(biāo)系x軸旋轉(zhuǎn)角和繞圖像坐標(biāo)系y軸旋轉(zhuǎn)角,因此相機(jī)坐標(biāo)系和機(jī)體坐標(biāo)系坐標(biāo)軸的夾角分別為A和B,從相機(jī)坐標(biāo)系到機(jī)體坐標(biāo)系的變換矩陣即為
這一步驟的坐標(biāo)系轉(zhuǎn)換主要是考慮到了四旋翼飛行器平臺(tái)上搭載的攝像頭和飛行器平臺(tái)具有一定的夾角或者是使用了二軸云臺(tái),在這種情況下就需要將相機(jī)的坐標(biāo)系變換為機(jī)體坐標(biāo)系;
3.2)四旋翼飛行器是一種具有6自由度的系統(tǒng),其姿態(tài)由機(jī)載IMU傳感器來進(jìn)行測量,IMU傳感器目的是為了獲得三個(gè)維度上的方向角,分別是橫滾角、俯仰角和偏航角,其旋轉(zhuǎn)軸分別定義為X、Y、Z軸,Z軸垂直于XOY平面并且指向飛行器平面的上方,四旋翼飛行器是依靠改變某一軸向上的角度來實(shí)現(xiàn)向某個(gè)方向運(yùn)動(dòng)的,所以在非靜止?fàn)顟B(tài)下就會(huì)存在某一軸向上的角度,這種角度變化會(huì)導(dǎo)致飛行器搭載的視覺系統(tǒng)也產(chǎn)生相應(yīng)的畸變,因此,需要將機(jī)體在世界坐標(biāo)系下的運(yùn)動(dòng)分解為三個(gè)角度,即橫滾角(γ),俯仰角(β),偏航角(α),所以這里需要將機(jī)體坐標(biāo)系轉(zhuǎn)換為世界坐標(biāo)系才能使用IMU參數(shù)來描述相機(jī)的具體偏移角度,構(gòu)造的變換矩陣為
因此是由相機(jī)坐標(biāo)系(s)到世界坐標(biāo)系(E)的轉(zhuǎn)換矩陣。
再進(jìn)一步,所述步驟1)中,獲取飛行器姿態(tài)角度的步驟如下:
1.1)采集三軸陀螺儀、三軸加速度計(jì)傳感器參數(shù)
1.2)對采集到的傳感器參數(shù)進(jìn)行卡爾曼濾波
卡爾曼濾波器包括預(yù)估過程與矯正過程,所述預(yù)估過程是利用時(shí)間更新方程建立對當(dāng)前狀態(tài)的先驗(yàn)估計(jì),及時(shí)向前推算當(dāng)前狀態(tài)變量和誤差協(xié)方差估計(jì)的值,以便為下一個(gè)時(shí)間狀態(tài)構(gòu)造先驗(yàn)估計(jì)值;矯正過程負(fù)責(zé)反饋,利用測量更新方程在預(yù)估過程的先驗(yàn)估計(jì)值及當(dāng)前測量變量的基礎(chǔ)上建立起對當(dāng)前狀態(tài)的改進(jìn)的后驗(yàn)估計(jì),稱之為預(yù)估-矯正算法;離散卡爾曼濾波的時(shí)間更新方程和狀態(tài)更新方程:
時(shí)間更新方程:
狀態(tài)更新方程:
其中,A是在XK-1上的nxn狀態(tài)變換矩陣,B是控制向量Uk-1上的nx1輸入控制矩陣,H為mxn觀測模型矩陣,它將真實(shí)狀態(tài)空間映射為觀測空間,P為誤差的協(xié)方差矩陣,Q和R均為過程噪聲協(xié)方差矩陣,但是階數(shù)不同,KK是卡爾曼增益,用于將后驗(yàn)估計(jì)誤差協(xié)方差控制到最??;
1.3)四元數(shù)法解算橫滾和俯仰角
四元數(shù)法是一種間接處理的姿態(tài)解算方法,用四元數(shù)的微分方程解算來代替歐拉角或方向余弦矩陣微分方程的解算,求解得到中間變量四元數(shù),然后再轉(zhuǎn)換為載體的姿態(tài)角,該方法的優(yōu)點(diǎn)是可大大減小計(jì)算量,并且具有更好的計(jì)算性能;四元數(shù)是一個(gè)由1個(gè)實(shí)數(shù)單位和3個(gè)虛數(shù)單位i,j,k構(gòu)成的含有4個(gè)元的數(shù),其復(fù)數(shù)定義形式為:
Q=q0+q1i+q2j+q3k=[q0q1q2q3]T (9)
四元數(shù)主要在這里是用于描述旋轉(zhuǎn),因而需要求解四元數(shù)微分方程,之后再等價(jià)旋轉(zhuǎn)矩陣就可以得到實(shí)際的角度;
四元數(shù)與方向余弦矩陣的關(guān)系為:
用tij來表示的元素就可以得到三個(gè)姿態(tài)角:
需要結(jié)算的四元數(shù)Q微分方程為:
其中和分別為姿態(tài)檢測單元傳感器測得的機(jī)體坐標(biāo)系下的x,y,z軸的角速度;
其次需要固定的采樣周期T,通過迭代算式:
每個(gè)采樣周期讀取陀螺儀的數(shù)據(jù),對上式進(jìn)行迭代運(yùn)算,即實(shí)現(xiàn)四元數(shù)隨時(shí)間的更新,進(jìn)而求得2個(gè)姿態(tài)角;
偏航角(yaw)則可以直接通過地磁傳感器獲取得到準(zhǔn)確角度數(shù)據(jù)。
更進(jìn)一步,所述步驟2)中,建立圖像內(nèi)參數(shù)矩陣的方法為:
按照攝像機(jī)的透視投影模型:設(shè)XY為相機(jī)坐標(biāo)系的坐標(biāo)軸,UV為圖像像素坐標(biāo)系,如果圖像當(dāng)中像素的坐標(biāo)為(u,v),相機(jī)坐標(biāo)系中對應(yīng)坐標(biāo)為(x,y),有:
在該式中,fu、fv、u0、v0只與相機(jī)內(nèi)部參數(shù)有關(guān),故稱之為相機(jī)內(nèi)參數(shù)矩陣M:
其中fu=f/dx,fv=f/dy分別稱為u軸和v軸上的歸一化焦距,f是相機(jī)的焦距,dx和dy分別表示傳感器u軸和v軸上單位像素的尺寸大小,u0和v0則表示的是光學(xué)中心,即攝像機(jī)光軸與圖像平面的交點(diǎn),通常位于圖像中心,一般取值為分辨率的一半。
所述步驟4)中,圖像經(jīng)過IMU參數(shù)的幾何校正之后,可以得到一幅矯正圖像,但是矯正后的圖像中會(huì)產(chǎn)生非整數(shù)的坐標(biāo)點(diǎn),即失真的像素點(diǎn),這些像素點(diǎn)并不能和原先圖像的像素點(diǎn)產(chǎn)生映射,因此要對這些失真的像素點(diǎn)進(jìn)行像素灰度級(jí)插值;
常用的插值方法有最鄰近點(diǎn)法,雙線性內(nèi)插法,三次內(nèi)插法等,這里需要得到較好的修復(fù)效果但是不能增加過大的計(jì)算復(fù)雜度,因此選用雙線性內(nèi)插法;
雙線性內(nèi)插法是利用目標(biāo)像素臨近的四個(gè)像素點(diǎn)的灰度值來線性計(jì)算目標(biāo)點(diǎn)的灰度值的一種方法,這種方法基于水平方向和豎直方向的像素灰度值線性分布,根據(jù)目標(biāo)點(diǎn)距離臨近四個(gè)像素點(diǎn)的距離設(shè)置權(quán)重,將四個(gè)臨近像素點(diǎn)的灰度值加權(quán)平均得到目標(biāo)像素點(diǎn)的灰度值;
因此,插值目標(biāo)點(diǎn)的灰度值為
其中f(u,v)代表了(u,v)點(diǎn)的灰度值,t(u)代表距離為u的權(quán)重值。
本發(fā)明的技術(shù)構(gòu)思為:隨著四旋翼飛行器平臺(tái)技術(shù)的穩(wěn)定和推廣,越來越多的應(yīng)用被移植到了該平臺(tái)上,其中視覺系統(tǒng)作為各種應(yīng)用的核心,成為了研究的重要方向;
四旋翼飛行器與傳統(tǒng)直升機(jī)相比,具有結(jié)構(gòu)簡單、適合靜態(tài)飛行等優(yōu)勢,在掛載了視覺系統(tǒng)之后能夠執(zhí)行各種拍攝、監(jiān)控的任務(wù),但是由于飛行器的機(jī)械結(jié)構(gòu)的特點(diǎn),四旋翼飛行器需要依靠改變自身平臺(tái)的傾斜角度才能完成各種飛行動(dòng)作,這也導(dǎo)致了其搭載的視覺系統(tǒng)不能保持一個(gè)穩(wěn)定的視角來進(jìn)行視頻圖像的采集,因此需要對采集得到的視頻圖像進(jìn)行矯正;
對四旋翼飛行器航拍圖像進(jìn)行矯正主要包括:利用能夠反映飛行器姿態(tài)的IMU傳感器采集到飛行器平臺(tái)的姿態(tài)角,進(jìn)一步獲取圖像,根據(jù)相機(jī)的參數(shù)獲取內(nèi)參數(shù)矩陣,建立圖像坐標(biāo)系,將圖像的坐標(biāo)系進(jìn)行坐標(biāo)系變換轉(zhuǎn)化為世界坐標(biāo)系,這樣就可以用IMU參數(shù)來描述相機(jī)圖像的角度變化,進(jìn)行幾何校正,最后再使用雙線性內(nèi)插法對幾何校正后的失真圖像進(jìn)行恢復(fù);
本發(fā)明的有益效果主要表現(xiàn)在:針對四旋翼飛行器的視覺系統(tǒng),結(jié)合飛行器的IMU參數(shù)對航拍圖像進(jìn)行矯正,可以得到較穩(wěn)定且高質(zhì)量的航拍圖像。
附圖說明
圖1為一種基于四旋翼IMU參數(shù)的航拍圖像矯正方法流程圖。
具體實(shí)施方式
下面結(jié)合附圖對本發(fā)明做進(jìn)一步描述:
參照圖1,一種基于四旋翼IMU參數(shù)的航拍圖像矯正方法,包括以下步驟:
1)獲取飛行器姿態(tài)角度:
1.1)采集三軸陀螺儀、三軸加速度計(jì)傳感器參數(shù);
1.2)對采集到的傳感器參數(shù)進(jìn)行卡爾曼濾波;
卡爾曼濾波器包括兩個(gè)主要過程:預(yù)估與矯正,預(yù)估過程主要是利用時(shí)間更新方程建立對當(dāng)前狀態(tài)的先驗(yàn)估計(jì),及時(shí)向前推算當(dāng)前狀態(tài)變量和誤差協(xié)方差估計(jì)的值,以便為下一個(gè)時(shí)間狀態(tài)構(gòu)造先驗(yàn)估計(jì)值;矯正過程負(fù)責(zé)反饋,利用測量更新方程在預(yù)估過程的先驗(yàn)估計(jì)值及當(dāng)前測量變量的基礎(chǔ)上建立起對當(dāng)前狀態(tài)的改進(jìn)的后驗(yàn)估計(jì),這樣的一個(gè)過程,稱之為預(yù)估-矯正算法;下面是離散卡爾曼濾波的時(shí)間更新方程和狀態(tài)更新方程:
時(shí)間更新方程:
狀態(tài)更新方程:
其中,A是在XK-1上的nxn狀態(tài)變換矩陣,B是控制向量Uk-1上的nx1輸入控制矩陣,H為mxn觀測模型矩陣,它將真實(shí)狀態(tài)空間映射為觀測空間,P為誤差的協(xié)方差矩陣,Q和R均為過程噪聲協(xié)方差矩陣,但是階數(shù)不同,KK是卡爾曼增益,用于將后驗(yàn)估計(jì)誤差協(xié)方差控制到最??;
1.3)四元數(shù)法解算橫滾和俯仰角
四元數(shù)法是一種間接處理的姿態(tài)解算方法,用四元數(shù)的微分方程解算來代替歐拉角或方向余弦矩陣微分方程的解算,求解得到中間變量四元數(shù),然后再轉(zhuǎn)換為載體的姿態(tài)角,該方法的優(yōu)點(diǎn)是可大大減小計(jì)算量,并且具有更好的計(jì)算性能;四元數(shù)是一個(gè)由1個(gè)實(shí)數(shù)單位和3個(gè)虛數(shù)單位i,j,k構(gòu)成的含有4個(gè)元的數(shù),其復(fù)數(shù)定義形式為:
Q=q0+q1i+q2j+q3k=[q0q1q2q3]T (9)
四元數(shù)主要在這里是用于描述旋轉(zhuǎn),因而需要求解四元數(shù)微分方程,之后再等價(jià)旋轉(zhuǎn)矩陣就可以得到實(shí)際的角度;
四元數(shù)與方向余弦矩陣的關(guān)系為:
用tij來表示的元素就可以得到三個(gè)姿態(tài)角:
需要結(jié)算的四元數(shù)Q微分方程為:
其中和分別為姿態(tài)檢測單元傳感器測得的機(jī)體坐標(biāo)系下的x,y,z軸的角速度;
其次需要固定的采樣周期T,通過迭代算式:
每個(gè)采樣周期讀取陀螺儀的數(shù)據(jù),對上式進(jìn)行迭代運(yùn)算,即可實(shí)現(xiàn)四元數(shù)隨時(shí)間的更新,進(jìn)而求得2個(gè)姿態(tài)角;
偏航角(yaw)則可以直接通過地磁傳感器獲取得到準(zhǔn)確角度數(shù)據(jù)。
2)建立圖像內(nèi)參數(shù)矩陣
按照攝像機(jī)的透視投影模型:設(shè)XY為相機(jī)坐標(biāo)系的坐標(biāo)軸,UV為圖像像素坐標(biāo)系,如果圖像當(dāng)中像素的坐標(biāo)為(u,v),相機(jī)坐標(biāo)系中對應(yīng)坐標(biāo)為(x,y),可以有:
在該式中,fu、fv、u0、v0只與相機(jī)內(nèi)部參數(shù)有關(guān),故稱之為相機(jī)內(nèi)參數(shù)矩陣M:
其中fu=f/dx,fv=f/dy分別稱為u軸和v軸上的歸一化焦距,f是相機(jī)的焦距,dx和dy分別表示傳感器u軸和v軸上單位像素的尺寸大小,u0和v0則表示的是光學(xué)中心,即攝像機(jī)光軸與圖像平面的交點(diǎn),通常位于圖像中心,一般取值為分辨率的一半。
3)根據(jù)獲取到的IMU角度數(shù)據(jù)對圖像進(jìn)行矯正
3.1)在四旋翼飛行器視覺系統(tǒng)當(dāng)中,圖像主要涉及了兩個(gè)維度的角度變化,即繞圖像坐標(biāo)系x軸旋轉(zhuǎn)角和繞圖像坐標(biāo)系y軸旋轉(zhuǎn)角,因此相機(jī)坐標(biāo)系和機(jī)體坐標(biāo)系坐標(biāo)軸的夾角分別為A和B,從相機(jī)坐標(biāo)系到機(jī)體坐標(biāo)系的變換矩陣即為
這一步驟的坐標(biāo)系轉(zhuǎn)換主要是考慮到了四旋翼飛行器平臺(tái)上搭載的攝像頭和飛行器平臺(tái)具有一定的夾角或者是使用了二軸云臺(tái),在這種情況下就需要將相機(jī)的坐標(biāo)系變換為機(jī)體坐標(biāo)系;
3.2)四旋翼飛行器是一種具有6自由度的系統(tǒng),其姿態(tài)由機(jī)載IMU傳感器來進(jìn)行測量,IMU傳感器目的是為了獲得三個(gè)維度上的方向角,分別是橫滾角、俯仰角和偏航角,其旋轉(zhuǎn)軸分別定義為X、Y、Z軸,Z軸垂直于XOY平面并且指向飛行器平面的上方,四旋翼飛行器是依靠改變某一軸向上的角度來實(shí)現(xiàn)向某個(gè)方向運(yùn)動(dòng)的,所以在非靜止?fàn)顟B(tài)下就會(huì)存在某一軸向上的角度,這種角度變化會(huì)導(dǎo)致飛行器搭載的視覺系統(tǒng)也產(chǎn)生相應(yīng)的畸變,因此,需要將機(jī)體在世界坐標(biāo)系下的運(yùn)動(dòng)分解為三個(gè)角度,即橫滾角(γ),俯仰角(β),偏航角(α),所以這里需要將機(jī)體坐標(biāo)系轉(zhuǎn)換為世界坐標(biāo)系才能使用IMU參數(shù)來描述相機(jī)的具體偏移角度,構(gòu)造的變換矩陣為
因此由相機(jī)坐標(biāo)系(s)到世界坐標(biāo)系(E)的轉(zhuǎn)換矩陣為
4)對圖像進(jìn)行灰度值插值
圖像經(jīng)過IMU參數(shù)的幾何校正之后,可以得到一幅矯正圖像,但是矯正后的圖像中會(huì)產(chǎn)生非整數(shù)的坐標(biāo)點(diǎn),即失真的像素點(diǎn),這些像素點(diǎn)并不能和原先圖像的像素點(diǎn)產(chǎn)生映射,因此要對這些失真的像素點(diǎn)進(jìn)行像素灰度級(jí)插值;
常用的插值方法有最鄰近點(diǎn)法,雙線性內(nèi)插法,三次內(nèi)插法等,這里需要得到較好的修復(fù)效果但是不能增加過大的計(jì)算復(fù)雜度,因此選用雙線性內(nèi)插法;
雙線性內(nèi)插法是利用目標(biāo)像素臨近的四個(gè)像素點(diǎn)的灰度值來線性計(jì)算目標(biāo)點(diǎn)的灰度值的一種方法,這種方法基于水平方向和豎直方向的像素灰度值線性分布,根據(jù)目標(biāo)點(diǎn)距離臨近四個(gè)像素點(diǎn)的距離設(shè)置權(quán)重,將四個(gè)臨近像素點(diǎn)的灰度值加權(quán)平均得到目標(biāo)像素點(diǎn)的灰度值;
因此,插值目標(biāo)點(diǎn)的灰度值為
其中f(u,v)代表了(u,v)點(diǎn)的灰度值,t(u)代表距離為u的權(quán)重值。