本發(fā)明屬于it與軟件開發(fā),具體涉及了一種無人機(jī)實時視頻匹配poi信息的方法。
背景技術(shù):
1、無人機(jī)視頻直播與傳統(tǒng)的網(wǎng)絡(luò)直播不同,無人機(jī)直播作為一種可移動的直播方式,不僅靈活性高,而且視角也與傳統(tǒng)的視頻采集方式不同,更為廣闊。近些年,我國的無人機(jī)行業(yè)出現(xiàn)了爆發(fā)式增長,無人機(jī)在航拍航測、農(nóng)業(yè)植保、電力巡檢、商業(yè)表演、災(zāi)害救援等各項領(lǐng)域得到了廣泛的應(yīng)用。隨著我國網(wǎng)絡(luò)直播的興起,以及企業(yè)上云意識和能力的不斷增強,無人機(jī)視頻直播,具有極其廣闊的應(yīng)用前景。
2、但是目前而言,由于無人機(jī)直播對網(wǎng)絡(luò)、數(shù)據(jù)采集技術(shù)要求較高,在國內(nèi)目前還沒有大范圍普及。同時,無人機(jī)視頻直播存在只能播放原始航拍視頻畫面的缺陷,不能在視頻畫面上實時高精度地疊加poi數(shù)據(jù)信息,比如:視頻畫面里的建筑物、城市道路、救援地標(biāo)、興趣收藏等地理信息,使得無人機(jī)視頻直播的價值大大降低;另外,將無人機(jī)航拍視頻及飛行姿態(tài)數(shù)據(jù)發(fā)送至地面進(jìn)行視頻二次處理,雖然可實現(xiàn)在地面視頻畫面上疊加數(shù)據(jù)信息,但真實數(shù)據(jù)因為傳輸延遲造成精度損失,使得無人機(jī)視頻疊加數(shù)據(jù)信息的準(zhǔn)確度大大降低。
3、在大型活動、執(zhí)法巡檢等場景中,通過無人機(jī)進(jìn)行實時監(jiān)控,無法直觀看出畫面中所屬建筑、街道等信息,造成指揮遲滯、效率低,無法發(fā)揮無人機(jī)在執(zhí)法安保等場景中的全部優(yōu)勢。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供了一種無人機(jī)實時視頻匹配poi信息的方法。本發(fā)明能夠解決在巡檢過程中無法直觀看到對應(yīng)地圖poi信息以及在某些活動中因有遮擋或其他原因,造成無法確定當(dāng)前視頻畫面中所屬區(qū)域的問題。
2、為了實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
3、一種無人機(jī)實時視頻匹配poi信息的方法,包括以下步驟:
4、步驟一,實時獲取無人機(jī)信息,包括當(dāng)前視頻畫面和坐標(biāo)信息;
5、步驟二,將當(dāng)前無人機(jī)信息與上一次獲取的無人機(jī)信息相比較,判斷是否發(fā)生變化;如果發(fā)生了變化,則計算當(dāng)前視頻畫面的四個角坐標(biāo),否則將上一次記錄的poi信息寫入當(dāng)前視頻畫面,并轉(zhuǎn)到步驟四;
6、步驟三,查找四個角坐標(biāo)范圍內(nèi)是否有對應(yīng)的新的poi信息;如果有,則將新的poi信息寫入當(dāng)前視頻畫面并將本次poi信息記錄到本地緩存,否則直接轉(zhuǎn)到步驟四;
7、步驟四,將當(dāng)前視頻畫面推送到流媒體服務(wù)器。
8、本發(fā)明進(jìn)一步說明,所述步驟一具體為:通過后臺系統(tǒng)配置的直播地址獲取無人機(jī)直播視頻流,包括當(dāng)前視頻畫面以及無人機(jī)經(jīng)緯度、高度、俯仰角、偏航角、橫滾角、焦距、相機(jī)分辨率等信息。
9、本發(fā)明進(jìn)一步說明,所述步驟二具體為:獲取本地緩存中上一次記錄的無人機(jī)信息,然后判斷本次無人機(jī)信息和上一次無人機(jī)信息中經(jīng)緯度、高度、角度信息是否發(fā)生了變化;如果發(fā)生了變化,則計算當(dāng)前視頻畫面的四個角坐標(biāo),否則將上一次記錄的poi信息寫入當(dāng)前視頻畫面,并轉(zhuǎn)到步驟四。
10、本發(fā)明進(jìn)一步說明,在步驟二中,所述計算當(dāng)前視頻畫面的四個角坐標(biāo)包括以下步驟:
11、(1)計算每個像素點的地理坐標(biāo);
12、11)將像素坐標(biāo)轉(zhuǎn)換為相機(jī)坐標(biāo)系下的歸一化坐標(biāo):相機(jī)的內(nèi)參數(shù)矩陣為k,像素坐標(biāo)為(u,v),則歸一化坐標(biāo)為:
13、
14、其中,u表示像素在水平方向上的位置,v表示像素在垂直方向上的位置,l表示齊次坐標(biāo)中的常數(shù)項;k:表示相機(jī)的內(nèi)參數(shù)矩陣,包括焦距、主點位置等信息;k11:x軸方向的焦距;k12:像素之間的偏斜因子;k13:圖像中心點在x軸上的坐標(biāo);k21:表示沒有垂直于x軸的偏移;k22:y軸方向的焦距;k23:圖像中心點在y軸上的坐標(biāo);k31:表示沒有垂直于x軸的偏移;k32:表示沒有垂直于y軸的偏移;k33:標(biāo)準(zhǔn)化因子,確保第三行第三列的值為1;k的逆矩陣用于將像素坐標(biāo)轉(zhuǎn)換為相機(jī)坐標(biāo)系下的歸一化坐標(biāo);x、y、z表示相機(jī)坐標(biāo)系中歸一化坐標(biāo)的坐標(biāo)值;通過上述公式,將圖像中的像素坐標(biāo)(u,v)轉(zhuǎn)換為相機(jī)坐標(biāo)系下的歸一化坐標(biāo)(x,y,z);
15、12)將歸一化坐標(biāo)轉(zhuǎn)換為相機(jī)坐標(biāo)系下的坐標(biāo):相機(jī)的外參數(shù)為旋轉(zhuǎn)矩陣r和平移向量t,歸一化坐標(biāo)為(x,y,z),則相機(jī)坐標(biāo)系下的坐標(biāo)為:
16、[xc,yc,zc]=r·[x,y,z]+t;
17、其中,r表示相機(jī)的旋轉(zhuǎn)矩陣,用于描述相機(jī)坐標(biāo)系與世界坐標(biāo)系之間的旋轉(zhuǎn)關(guān)系,t表示相機(jī)的平移向量,表示相機(jī)坐標(biāo)系原點相對于世界坐標(biāo)系原點的平移量;通過上述公式,將相機(jī)坐標(biāo)系下的歸一化坐標(biāo)(x,y,z)轉(zhuǎn)換為相機(jī)坐標(biāo)系下的坐標(biāo)(xc,yc,zc),即將歸一化坐標(biāo)轉(zhuǎn)換為相機(jī)坐標(biāo)系中的實際坐標(biāo);
18、13)將相機(jī)坐標(biāo)系下的坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)系下的坐標(biāo):相機(jī)的姿態(tài)為俯仰角pitch、偏航角yaw和橫滾角roll,相機(jī)坐標(biāo)系下的坐標(biāo)為(xc,yc,zc),則世界坐標(biāo)系下的坐標(biāo)為:
19、[xw,yw,zw]=rpitch·ryaw·rroll·[xc,yc,zc]+c;
20、其中,rpitch、ryaw、rroll:描述相機(jī)姿態(tài)(俯仰角、偏航角、橫滾角)的旋轉(zhuǎn)矩陣,用于將相機(jī)坐標(biāo)系下的坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)系下的坐標(biāo);c表示相機(jī)的位置,即相機(jī)坐標(biāo)系原點在世界坐標(biāo)系中的位置。(xc)、(yc)、(zc)分別代表了在相機(jī)坐標(biāo)系下點的位置坐標(biāo);(xc)表示在相機(jī)坐標(biāo)系下點的x軸位置,它由歸一化坐標(biāo)中的(xn)乘以旋轉(zhuǎn)矩陣第一行的元素加上平移向量的(tx)分量構(gòu)成;(yc)表示在相機(jī)坐標(biāo)系下點的y軸位置,它由歸一化坐標(biāo)中的(yn)乘以旋轉(zhuǎn)矩陣第二行的元素加上平移向量的(ty)分量構(gòu)成;(zc)表示在相機(jī)坐標(biāo)系下點的z軸位置,它由歸一化坐標(biāo)中的(zn)乘以旋轉(zhuǎn)矩陣第三行的元素加上平移向量的(tz)分量構(gòu)成。通過上述公式,將相機(jī)坐標(biāo)系下的坐標(biāo)(xc,yc,zc)轉(zhuǎn)換為世界坐標(biāo)系下的坐標(biāo)(xw,yw,zw),即將相機(jī)坐標(biāo)系中的坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)系中的實際坐標(biāo),用于圖像四個角的經(jīng)緯度坐標(biāo)計算;
21、(2)根據(jù)世界坐標(biāo)系下的坐標(biāo)(xw,yw,zw)計算地理坐標(biāo):
22、21)定義橢球體參數(shù):
23、a=6378137.0米(wgs84的半長軸),
24、f=1/298.257223563(wgs84的扁率);
25、22)計算輔助變量:
26、第一偏心率平方其中b是橢球體的半短軸,通過a和f計算得到;
27、輔助變量
28、23)計算緯度lat和高程h:
29、初始值lat1=atan((zw·a)/(p·b));
30、迭代計算直至收斂:
31、曲率半徑n=a/sqrt(1-e2·sin2(lat)),
32、高程h=p/cos(lat)-n,
33、更新lat=atan((zw+e'2·n·sin(lat))/p),其中e'2=e2/(1-e2);
34、24)計算經(jīng)度lon:
35、lon=[arctan(yw/xw)·180/π,lat·180/π,h];
36、通過以上公式分別計算四個像素點的地理坐標(biāo)(alat,alon)、(blat,blon)、(clat,clon)、(dlat,dlon),其中,sqrt表示開方函數(shù),atan表示反正切函數(shù),arctan是擴(kuò)展的反正切函數(shù),可以正確處理象限問題,sin和cos分別是正弦和余弦函數(shù);
37、(3)根據(jù)圖像的尺寸和分辨率,確定圖像的左上角、右上角、左下角和右下角對應(yīng)的像素坐標(biāo);
38、31)獲取已知的地理坐標(biāo)和像素坐標(biāo):
39、四個像素點的地理坐標(biāo)分別為(alat,alon)、(blat,blon)、(clat,clon)、(dlat,dlon),對應(yīng)的像素坐標(biāo)分別為(au,av)、(bu,bv)、(cu,cv)、(du,dv);目標(biāo)像素點的像素坐標(biāo)為(pu,pv);
40、32)計算目標(biāo)像素點的地理坐標(biāo):
41、對于目標(biāo)像素點的像素坐標(biāo)(pu,pv),用雙線性插值計算其地理坐標(biāo)(plat,plon):
42、plat=(1-w)·((1-h)·alat+h·clat)+w·((1-h)·blat+h·dlat);
43、上式表示目標(biāo)像素點的緯度坐標(biāo)plat通過四個相鄰像素點的地理緯度坐標(biāo)進(jìn)行雙線性插值計算得出;
44、plon=(1-w)·((1-h)·alon+h·clon)+w·((1-h)·blon+h·dlon);
45、上式表示目標(biāo)像素點的經(jīng)度坐標(biāo)plon通過四個相鄰像素點的地理經(jīng)度坐標(biāo)進(jìn)行雙線性插值計算得出;
46、其中,w和h分別表示目標(biāo)像素點在水平和垂直方向上的插值系數(shù);用雙線性插值方法計算出圖像四個角的地理坐標(biāo),最終得到畫面四個角的經(jīng)緯度坐標(biāo),用于poi信息匹配。
47、即:有四個已知的像素坐標(biāo)以及對應(yīng)的世界坐標(biāo)系中的實際坐標(biāo),目標(biāo)是找到一個新像素點(pu,pv)的地理坐標(biāo)(plat,plon)。這里的插值方法考慮了像素點在圖像中的相對位置,以此來加權(quán)平均周圍四個點的地理坐標(biāo)。
48、計算過程:
49、有四個像素點(au,av)、(bu,bv)、(cu,cv)、(du,dv),它們的地理坐標(biāo)分別是(alat,alon)、(blat,blon)、(clat,clon)、(dlat,dlon)。目標(biāo)像素點(pu,pv)位于這四個點圍成的矩形區(qū)域內(nèi)。
50、一、確定權(quán)重(插值系數(shù))(w)和(h)
51、需要確定目標(biāo)像素點相對于(a)和(b)在水平方向的相對位置,以及相對于(a)和(c)在垂直方向的相對位置。這可以通過下面的方式計算:
52、水平權(quán)重(w):(w=(u-au)/(bu-au))
53、垂直權(quán)重(h):(h=(v-av)/(cv-av))
54、二、雙線性插值
55、有了(w)和(h),可以按照雙線性插值公式來計算目標(biāo)點的地理坐標(biāo):
56、緯度plat的計算:
57、plat=(1-w)·((1-h)·alat+h·clat)+w·((1-h)·blat+h·dlat);
58、經(jīng)度plon的計算:
59、plon=(1-w)·((1-h)·alon+h·con)+w·((1-h)·blon+h·dlon)。
60、本發(fā)明進(jìn)一步說明,在步驟三中,所述新的poi信息包括地圖poi信息和自定義poi信息。
61、本發(fā)明的優(yōu)點:
62、本發(fā)明通過獲取無人機(jī)視頻流、經(jīng)緯度、高度、俯仰角、偏航角、橫滾角、焦距、相機(jī)分辨率等信息,計算畫面像素點對應(yīng)實際位置坐標(biāo),通過已知坐標(biāo)匹配地圖poi信息和自定義的poi信息,將匹配到的信息寫入視頻畫面中,通過流媒體服務(wù)器將視頻推送到指揮系統(tǒng);本發(fā)明實現(xiàn)了無人機(jī)實時畫面自動匹配poi信息,可直觀顯示當(dāng)前視頻畫面所屬街道、區(qū)域信息,為某些活動場景提供決策依據(jù)、發(fā)揮無人機(jī)優(yōu)勢。本發(fā)明解決了無人機(jī)實時視頻匹配poi信息技術(shù)方面的缺失,助力無人機(jī)行業(yè)快速發(fā)展。