王 凱
(中國鐵路設(shè)計(jì)集團(tuán)有限公司,天津 300251)
隨著中國鐵路建設(shè)的快速發(fā)展,鐵路里程和覆蓋范圍不斷增加,截至2020年底中國鐵路營運(yùn)里程超過14.6萬km。為了保障鐵路干線的正常運(yùn)行,鐵路沿線兩側(cè)100 m范圍設(shè)置為鐵路周邊環(huán)境保護(hù)區(qū),長期以來保護(hù)區(qū)內(nèi)存在著圍欄破壞、保護(hù)區(qū)內(nèi)建設(shè)違章建筑、傾倒工業(yè)和生活垃圾等現(xiàn)象。這些現(xiàn)象的存在使得鐵路的運(yùn)行受到了極大的威脅,傳統(tǒng)的方式是通過人工進(jìn)行巡線,進(jìn)行鐵路周邊環(huán)境巡查。近年來,隨著無人機(jī)技術(shù)的飛速發(fā)展,傳統(tǒng)的人工巡線逐步被取代[1]。但是,由于無人機(jī)巡線視頻數(shù)據(jù)量大,在應(yīng)用的過程中無法快速從海量視頻數(shù)據(jù)中查到對應(yīng)空間位置的視頻信息,這嚴(yán)重影響了數(shù)據(jù)的使用效率[2]。國內(nèi)開展無人機(jī)視頻巡線的研究多集中在對視頻目標(biāo)的檢測與跟蹤,以提取目標(biāo)相對視頻場景的位置,對于視頻幀的地理信息表達(dá)和絕對定位研究較少[3]。本研究通過無人機(jī)飛行位置、姿態(tài)還原與視頻匹配等技術(shù)方法實(shí)現(xiàn)了鐵路巡線視頻的快速空間定位和鐵路里程信息定位,為高效利用巡線視頻提供一種有效方法。
通過鐵路矢量線路按照一定的距離進(jìn)行離散化,將矢量線位轉(zhuǎn)為坐標(biāo)點(diǎn),建立里程-坐標(biāo)索引關(guān)系。根據(jù)工點(diǎn)里程表和里程坐標(biāo)索引關(guān)系構(gòu)建工點(diǎn)-里程-坐標(biāo)的對應(yīng)場景索引表。具體包括以下步驟:首先將矢量線按照一定的距離(本例按照0.2 m的間隔)進(jìn)行離散化,將矢量線位轉(zhuǎn)化為離散的點(diǎn),如圖1所示。將WGS84空間坐標(biāo)系下的地理坐標(biāo)轉(zhuǎn)化為UTM投影坐標(biāo)系下的平面坐標(biāo)。利用投影坐標(biāo)計(jì)算離散點(diǎn)間距進(jìn)行點(diǎn)位鐵路里程換算。
圖1 矢量線位離散化
沿鐵路線路進(jìn)行視頻拍攝,均衡視頻地表分辨率和飛行安全,采用相對地表航高100~150 m仿地飛行拍攝,為了獲取更好的地表立體效果,無人云臺采用與地面拍攝平面25°~45°夾角進(jìn)行拍攝,如圖2[4]所示。
圖2 線路拍攝示意圖
以100 m航高、設(shè)備采用大疆精靈4pro為例,以其相機(jī)參數(shù)進(jìn)行計(jì)算得出其地表覆蓋范圍為120 m×150 m,單條航帶的帶幅可以覆蓋鐵路兩側(cè)的范圍。無人機(jī)相機(jī)相對于線路的拍攝角度,根據(jù)鐵路所處的不同階段和線路的不同類型采用不同角度進(jìn)行拍攝。施工期,采用位于線位正上方拍攝,運(yùn)維時(shí)期采用左、右側(cè)視角進(jìn)行側(cè)方拍攝,以保證鐵路運(yùn)行的安全。
視頻數(shù)據(jù)采集后,對無人機(jī)的飛行日志信息進(jìn)行提取和分析,形成視頻地理信息編碼文件(POS數(shù)據(jù))。具體提取的信息包括:該時(shí)間段無人機(jī)的地理坐標(biāo)(xUAV,yUAV,zUAV)(WGS84坐標(biāo)),飛機(jī)的相對行高H,無人機(jī)的航偏角yawUAV、側(cè)滾角度rollUAV、俯仰角度pitchUAV,相機(jī)云臺的航偏角yaw、俯仰角pitch、側(cè)滾roll,該點(diǎn)位無人機(jī)所處的日期date和時(shí)刻T。飛機(jī)和相機(jī)作為一個(gè)整體而言,其航偏角為YAW,俯仰角為PITCH,側(cè)滾角為ROLL,其值為無人機(jī)與相機(jī)的姿態(tài)之和,并進(jìn)行取整[5]。
YAW=[yawuav+yaw]
(1)
PITCH=[pitchuav+pitch]
(2)
ROLL=[rolluav+roll]
(3)
無人機(jī)視頻文件創(chuàng)建的時(shí)刻為無人機(jī)視頻結(jié)束采集的時(shí)刻Tend,其視頻開始采集是時(shí)刻為Tstart,視頻的長度為TL,其三者之間的關(guān)系為
TL=Tend+Tstart
(4)
根據(jù)視頻是起始時(shí)刻,獲取對應(yīng)時(shí)間段的飛行POS信息,并計(jì)算每一POS點(diǎn)位對應(yīng)的視頻時(shí)刻Tfly,并將此時(shí)刻的視頻幀作為視頻關(guān)鍵幀,即
Tfly=T+Tstart
(5)
整理可得對應(yīng)的視頻數(shù)據(jù)關(guān)鍵幀和POS數(shù)據(jù),如圖3所示。
圖3 地理信息編碼文件(關(guān)鍵幀POS數(shù)據(jù))
視頻拍攝時(shí)相機(jī)的主光軸與地面成一定夾角,這使得飛機(jī)的空間位置與獲取視頻的視場中心平臺坐標(biāo)存在一定的偏差[6]。為了進(jìn)行坐標(biāo)和鐵路里程更加精準(zhǔn)的匹配,建立飛行機(jī)位置與相機(jī)視角中心的關(guān)系。定義視頻視場投影中心點(diǎn)(物方)的地理坐標(biāo)(WGS84)為(xA,yA,zA),對應(yīng)的UTM投影投影坐標(biāo)為(XA,YA,ZA),獲取無人機(jī)在空中攝站點(diǎn)坐標(biāo)通常為大地坐標(biāo)[WGS84,單位:(°)](xS,yS,zS),其對應(yīng)的UTM投影坐標(biāo)為(XS,YS,ZS)(單位:m),地理坐標(biāo)與空間坐標(biāo)轉(zhuǎn)換稱之為投影(轉(zhuǎn)換方法為通俗方法,此非本算法重點(diǎn),不做詳細(xì)論述)[7]。無人機(jī)飛行時(shí)的外方位元素包括PITCH-φ(俯仰)、ROOL-ω(側(cè)滾)、YAW-κ(航偏)。相機(jī)參數(shù):相機(jī)的焦距為f,其傳感器CCD的大小為a,傳感器對應(yīng)的CCD陣列尺寸為CX×CY。首先利用共線方程[式(6)、式(7)]計(jì)算視頻投影中心點(diǎn)的空間坐標(biāo)[8],即
(6)
(7)
式中:x、y為像點(diǎn)的像平面坐標(biāo);x0、y0、f為影像的內(nèi)方位元素;XS、YS、ZS為無人機(jī)攝站點(diǎn)的物方空間坐標(biāo);XA、YA、ZA為地面物方點(diǎn)的物方空間坐標(biāo);ai、bi、ci(i=1,2,3)為無人機(jī)視頻影像的3個(gè)外方位角元素組成的旋轉(zhuǎn)矩陣[9],即
(8)
式中:A1=cosφcosκ-sinφsinωsinκ;A2=-cosφsinκ-sinφsinωcosκ;A3=-sinφcosω,B1=cosωsinκ;B2=cosωcosκ;B3=-sinω;C1=sinφcosκ+cosφsinωsinκ;C2=-sinφsinκ+cosφsinωcosκ;C3=cosφcosω。
設(shè)λ為比例因子,即
(9)
式中:ZS為無人機(jī)飛行的海拔高度;ZA為拍攝地表投影點(diǎn)海拔高度(由既有衛(wèi)星遙感獲取的DEM數(shù)據(jù)獲取)。
經(jīng)過整理得到其反演公式[10]:
(10)
對于投影中心而言位于像坐標(biāo)系的x0,y0位置,則視頻中心點(diǎn)投影坐標(biāo)(XS,YS,ZS),計(jì)算公式[11]為
(11)
式中:H為飛機(jī)的絕對行高;h為設(shè)置無人機(jī)的相對航高。
視頻視場4個(gè)角點(diǎn)坐標(biāo)為(Xlu,Ylu,Zlu)(左上),(Xru,Yru,Zru)(右上),(Xld,Yld,Zld)(左下),(Xrd,Yrd,Zrd)(右下),其對應(yīng)的像平面坐標(biāo)系的坐標(biāo)分別為(0,0)、(CX,0)、(0,CY)、(CX,CY),對應(yīng)的計(jì)算公式為
(12)
(13)
(14)
(15)
利用視頻關(guān)鍵幀無人機(jī)POS數(shù)據(jù),根據(jù)投影中心及視頻幀覆蓋范圍的計(jì)算公式計(jì)算得到關(guān)鍵的對應(yīng)的空間位置信息,其格式見表1。
表1 視頻關(guān)鍵幀對應(yīng)空間位置信息表結(jié)構(gòu)
表1中X、Y、Z為該視頻幀投影中心坐標(biāo),LU、RU、LD、RD分別為對應(yīng)視頻幀左上、右上、左下、右下的位置對應(yīng)的空間坐標(biāo),T為該視頻關(guān)鍵幀對應(yīng)的時(shí)間。
輸入的地表定位點(diǎn)的地理坐標(biāo)為(x,y,z),其對應(yīng)的平面投影坐標(biāo)為(X,Y,Z),通過遍歷的方式分別計(jì)算與每一個(gè)視頻關(guān)鍵幀的中心點(diǎn)的投影坐標(biāo)為(XAi,YAi,ZAi),對應(yīng)一個(gè)視頻而言,i的取值為0~N。
計(jì)算定位點(diǎn)與視頻關(guān)鍵幀中心點(diǎn)投影坐標(biāo)的歐式距離Di,即
(16)
取距離Di最小的關(guān)鍵幀作為匹配關(guān)鍵幀,其對應(yīng)中心坐標(biāo)為(XAj,YAj,ZAj),4個(gè)角點(diǎn)坐標(biāo)為(Xluj,Yluj,Zluj)(左上)、(Xruj,Yruj,Zruj)(右上)、(Xldj,Yldj,Zldj)(左下)、(Xrdj,Yrdj,Zrdj)(右下)。計(jì)算(X,Y)的坐標(biāo)是否位于圖幅范圍內(nèi)即滿足以下條件:
min(Xluj,Xldj)<=X<=max(Xruj,Xrdj);min(Yluj,Yldj)<=Y<=max(Yruj,Yrdj)。
若滿足以上條件則檢索到對應(yīng)視頻位置j及對應(yīng)的視頻時(shí)間T,將視頻跳轉(zhuǎn)到時(shí)間T位置。
里程定位是利用坐標(biāo)-里程索引文件匹配與無人機(jī)視頻空間定位綜合進(jìn)行。輸入定位的里程位置為k,通過對里程-坐標(biāo)索引文件進(jìn)行遍歷找到距離k點(diǎn)最近的索引里程為Ki,其對應(yīng)的點(diǎn)位地理坐標(biāo)為(xk,yk,zk),通過投影變換計(jì)算其對應(yīng)的平面投影坐標(biāo)為(Xk,Yk,Zk),對Ki作為空間定位點(diǎn)采用上述視頻空間定位方法進(jìn)行定位,檢索到視頻關(guān)鍵幀對應(yīng)的時(shí)間為T,將視頻跳轉(zhuǎn)到時(shí)間T位置,視頻具體定位效果如圖4所示。
圖4 視頻定位
假設(shè)在短時(shí)間內(nèi)無人機(jī)的位置和姿態(tài)的變化是隨時(shí)間均勻變化,利用線性插值法對無人機(jī)的關(guān)鍵幀POS數(shù)據(jù)進(jìn)行插值加密得到每一幀視頻的POS數(shù)據(jù),具體的插值方法[12]為
(17)
Tk的取值范圍為Tj到Ti,采樣間隔為(Tj-Ti)/num;其中,Aj、Ai、Ak分為Tj、Ti、Tk時(shí)刻的空間坐標(biāo)或姿態(tài)值,num為視頻的幀速率。利用以上插值公式對無人機(jī)的空間位置和姿態(tài)等數(shù)據(jù)進(jìn)行插值得到插值后的POS數(shù)據(jù)。進(jìn)行視頻播放,根據(jù)視頻播放的視頻幀時(shí)刻位置獲取對的無人機(jī)POS信息,無人機(jī)在空中拍攝點(diǎn)的物方UTM投影坐標(biāo)為(XS,YS,ZS),根據(jù)無人機(jī)該位置的相對高程H、相機(jī)的焦距f(相機(jī)為固定焦距),人機(jī)飛行時(shí)的外方位元素PITCH-φ(俯仰),ROOL-ω(側(cè)滾)、YAW-κ(航偏),利用無人機(jī)視頻空間視頻定位模型計(jì)算出該視頻幀位置視場中心投影坐標(biāo)為(XA,YA,ZA)和關(guān)鍵幀對應(yīng)的4個(gè)角點(diǎn)的坐標(biāo)為:4個(gè)角點(diǎn)平面坐標(biāo)為(Xluj,Yluj,Zluj)(左上)、(Xruj,Yruj,Zruj)(右上)、(Xldj,Yldj,Zldj)(左下)、(Xrdj,Yrdj,Zrdj)(右下);通過投影反變換獲取對應(yīng)的場景的中心地理坐標(biāo)(xA,yA,zA)與角點(diǎn)坐標(biāo)(xluj,yluj,zluj)(左上)、(xruj,yruj,zruj)(右上)、(xldj,yldj,zldj)(左下)、(xrdj,yrdj,zrdj)(右下)。根據(jù)場景中心坐標(biāo)和場景的角點(diǎn)坐標(biāo)進(jìn)行場景定位和視場范圍的確定。依次進(jìn)行視頻幀的播放,根據(jù)每一幀無人機(jī)POS信息進(jìn)行動態(tài)計(jì)算,獲取場景中心點(diǎn)和角點(diǎn)坐標(biāo)并賦值,實(shí)現(xiàn)場景與視頻的同步,效果如圖5所示。
圖5 場景、視頻同步
利用插值公式對無人機(jī)的空間位置和姿態(tài)等數(shù)據(jù)進(jìn)行插值,得到插值后的POS數(shù)據(jù)[13]。設(shè)定期次A對應(yīng)視頻幀空中攝影中心坐標(biāo)為(xA,yA,zA),利用投影轉(zhuǎn)換獲取其對應(yīng)的視頻幀的UTM坐標(biāo)為(XA,YA,ZA)。利用無人機(jī)視頻空間點(diǎn)位模型計(jì)算出每一幀視頻中心點(diǎn)j空間投影坐標(biāo)為(XAj,YAj,ZAj)[14]。以同樣的方式計(jì)算出期次B對應(yīng)每一幀中心投影坐標(biāo)為(XBj,YBj,ZBj)。
首先計(jì)算期次A視頻起始幀對應(yīng)的投影中心點(diǎn)坐標(biāo)為(XA1,YA1,ZA1),分別計(jì)算該點(diǎn)坐標(biāo)與期次B各個(gè)視頻幀的中心投影坐標(biāo)(XBj,YBj,ZBj)的歐式距離Dj[15],即
(18)
j的取值從1到num×TB,其中num為視頻B的幀速率,TB為視頻B的時(shí)間長度。通過遍歷的方式找到歐式距離最小的幀Dj,該幀的位置為第j幀,其對應(yīng)的視頻時(shí)間為Tj,即
Tj=j×num
(19)
將視頻B跳轉(zhuǎn)到Tj。以此位置為匹配位置進(jìn)行順序播放,并計(jì)算接下來的視頻A、視頻B的視頻幀對應(yīng)的投影中心點(diǎn)坐標(biāo)間的歐式距離D,例如視頻A的第2幀的歐式距離為D2,即
(20)
若D大于設(shè)定的閾值K,通常情況下K取15 m,則停止視頻A、B的播放,以A點(diǎn)該位置的中心投影坐標(biāo)為基準(zhǔn),對期次B的無人機(jī)視頻幀中心坐標(biāo)進(jìn)行二次匹配獲取該點(diǎn)位對應(yīng)的視頻時(shí)間為T1,期次B的視頻跳轉(zhuǎn)到T1時(shí)刻,繼續(xù)期次A、B視頻的播放,依次進(jìn)行循環(huán),若二次匹配后D仍大于限差退出視頻同步。視頻定位效果如圖6所示。
圖6 兩期視頻對比
利用鐵路里程-樁位表作為精度驗(yàn)證的參考基準(zhǔn)進(jìn)行視頻定位精度驗(yàn)證。以鹽通鐵路項(xiàng)目鐵路視頻巡線數(shù)據(jù)中按照10 km的間隔抽取16個(gè)里程位置作為視頻定位精度驗(yàn)證樣本。以視頻視場中心的位置樁位里程與使用本定位方法實(shí)時(shí)計(jì)算得到里程進(jìn)行對比驗(yàn)證以驗(yàn)證其里程定位精度。具體的定位精度見表2。其中平均誤差為7.231 m,中誤差為3.586 m。
表2 里程定位精度
選取施工過程中的鐵路中樁處點(diǎn)位作為精度驗(yàn)證點(diǎn),分別獲取場景地圖中的該中樁點(diǎn)位里程與視頻視場中心處的中樁里程進(jìn)行對比精度分析。隨機(jī)指定起始里程,以10 km作為采樣間隔,獲取24個(gè)樣本點(diǎn),并計(jì)算其平均誤差為8.45 m,中誤差為4.23 m。
獲取兩期視頻視場中的相同的中樁位置作為兩期視頻同步的精度驗(yàn)證點(diǎn)。隨機(jī)指定起始里程,以10 km作為采樣間隔,獲取24個(gè)樣本點(diǎn),并計(jì)算其平均誤差為7.68 m,中誤差為3.67 m。經(jīng)過實(shí)驗(yàn)驗(yàn)證視頻定位精度滿足工程應(yīng)用需求。
根據(jù)工程實(shí)際應(yīng)用需求,通過理論研究、推導(dǎo)建立無人機(jī)飛行過程的空間位置姿態(tài)信息與無人機(jī)鐵路巡線視頻的關(guān)系,并結(jié)合鐵路里程與空間位置的關(guān)系建立一種無人機(jī)鐵路巡線視頻定位方法?;跓o人機(jī)視頻定位方法實(shí)現(xiàn)了無人機(jī)視頻的鐵路里程快速定位、地圖場景與無人機(jī)視頻同步、兩期無人機(jī)視頻同步等功能。根據(jù)研究得出以下結(jié)論:
1)利用本鐵路無人機(jī)視頻定位方法可以快速實(shí)現(xiàn)無人機(jī)鐵路巡線視頻里程定位,提高了巡線視頻數(shù)據(jù)檢索的效率。
2)利用高精度的無人機(jī)空間定位和姿態(tài)信息建立視頻定位模型可以達(dá)到10 m級別的空間定位精度。
3)鐵路無人機(jī)視頻定位方法完成了無人機(jī)多媒體視頻數(shù)據(jù)的地理信息化,這種具有空間參考巡線視頻可以廣泛應(yīng)用于鐵路勘察設(shè)計(jì)、施工管理、既有線周邊環(huán)境監(jiān)測等,大幅度提高了數(shù)據(jù)的利用率。