基于TX1和立體相機(jī)的無(wú)人機(jī)避障系統(tǒng)
1 引言
與傳統(tǒng)的有人遙控飛行器相比,自主式無(wú)人機(jī)具有許多優(yōu)點(diǎn)。例如,有人遙控飛行器依賴于正確的人類命令,并且受限于人和遙控平臺(tái)之間的通信系統(tǒng)。如果通信系統(tǒng)被干擾或中斷,它將無(wú)法運(yùn)行。或者在某些復(fù)雜環(huán)境下,只靠操控人員的技術(shù)也難以保證遙控飛行器的飛行安全。而自主式無(wú)人飛行系統(tǒng)可以改正這個(gè)缺點(diǎn)。自主式無(wú)人機(jī)使用避障技術(shù),可實(shí)現(xiàn)自主無(wú)人駕駛,擺脫人類的手動(dòng)操作,因此可以執(zhí)行部分高風(fēng)險(xiǎn)任務(wù)。無(wú)人機(jī)是以機(jī)載高清攝像機(jī)、GPS 和導(dǎo)航傳感器提供實(shí)時(shí)、精確定位或高分辨率圖像的最佳平臺(tái)之一。這些特點(diǎn)使無(wú)人機(jī)成為傳統(tǒng)載人遙控飛行系統(tǒng)的有效補(bǔ)充。
雖然無(wú)人機(jī)比傳統(tǒng)的有人遙控系統(tǒng)具有更多的優(yōu)點(diǎn),但仍存在一些潛在的問(wèn)題。例如,在不同環(huán)境下信號(hào)傳輸?shù)奶幚頃r(shí)間受其自身電源系統(tǒng)(電池或其他電源輔助系統(tǒng))的限制,并且飛行條件受各種自然因素的影響,比如環(huán)境和天氣。對(duì)于圖像處理,光反射將影響無(wú)人機(jī)中攝像機(jī)的檢測(cè)結(jié)果。2016 年 5 月發(fā)生的特斯拉自駕車輔助系統(tǒng)的事故受到了白色背景面反射陽(yáng)光的影響。由于反射,攝像機(jī)無(wú)法檢測(cè)到來(lái)自相反方向的車輛。同時(shí)由于飛行時(shí)間的限制,無(wú)人機(jī)的反應(yīng)時(shí)間和數(shù)據(jù)處理時(shí)間都是需要考慮的問(wèn)題。對(duì)于這些問(wèn)題,研究人員需要在硬件和軟件性能之間找到平衡點(diǎn)。特別是在無(wú)人機(jī)避障技術(shù)中,如何快速準(zhǔn)確的對(duì)對(duì)象進(jìn)行檢測(cè)仍然是一個(gè)挑戰(zhàn),因?yàn)樗枰咚俚挠?jì)算。
為了優(yōu)化圖像處理的計(jì)算速度,并使用簡(jiǎn)單的方法來(lái)檢測(cè)無(wú)人機(jī)中的物體,本文提出使用圖形處理單元(GPU)作為數(shù)據(jù)計(jì)算中心,使用立體相機(jī)作為無(wú)人機(jī)的視覺(jué)系統(tǒng),提出了一個(gè)實(shí)時(shí)視頻分析的優(yōu)化算法。
2 相關(guān)工作
使用高性能平臺(tái)來(lái)提高系統(tǒng)性能是無(wú)人機(jī)研究人員的共同解決方案。一個(gè)典型的無(wú)人機(jī)公司是大疆創(chuàng)新科技有限公司,他們的無(wú)人機(jī)使用 NVIDIA TK1 處理數(shù)據(jù)并連接高清攝像機(jī)進(jìn)行實(shí)時(shí)錄像和地理掃描。為了觀察特定的目標(biāo),國(guó)外研究人員使用了尺度不變特征變換(SIFT)模型檢測(cè)車輛,圖像匹配模塊使用 SIFT 來(lái)匹配圖像中的相同區(qū)域,然后重新采樣[1-6]。
無(wú)人機(jī)探測(cè)物體的另一種方法是使用立體相機(jī)。該方法采用兩個(gè) 360o 攝像機(jī)來(lái)感知無(wú)人機(jī)周圍的障礙,使用垂直而不是水平相機(jī)位移計(jì)算除天頂和底部之外的所有觀察方向上的深度信息[7]。
以此基于高度、寬度和相對(duì)相鄰點(diǎn)的可穿透斜率對(duì)三維空間中的點(diǎn)進(jìn)行分類。單目攝像機(jī)也可以用來(lái)檢測(cè)障礙物,使用的障礙物分割算法根據(jù)不同的顏色來(lái)檢測(cè)障礙物[8]。
3 平臺(tái)設(shè)置
本文采用一對(duì)攝像機(jī)來(lái)實(shí)現(xiàn)立體視覺(jué)。同時(shí),考慮到無(wú)人機(jī)的載重和尺寸以及處理器的計(jì)算能力,本文采用了 ZED 立體相機(jī)和 NVIDIA TX1 GPU。 TX1 比 TK1 的視頻編碼快兩倍,并且 TX1 的內(nèi)存帶寬(25.6 GB/s)大于 TK1(15 GB/s)[9]。兩個(gè)攝像頭水平放置以記錄視頻捕捉圖像。
在本文中,攝像機(jī)將捕獲無(wú)人機(jī)前方 120o 視角范圍。此外,它可識(shí)別從最近 70 cm 到最遠(yuǎn) 20 m 的障礙物。
4 深度圖估計(jì)
這兩個(gè)攝像機(jī)可以支持高分辨率的視頻記錄和 3D 映射,并且可以提供 6 軸位置跟蹤。然而,無(wú)人機(jī)探測(cè)系統(tǒng)只需要 2D 圖像數(shù)據(jù)進(jìn)行分析。本文中這兩個(gè)相機(jī)的分辨率是 1 280×720 像素。
圖 1 表示照相機(jī)視野范圍。大方格是相機(jī)視野區(qū)域的范圍,小方格是相機(jī)的遠(yuǎn)視區(qū)域。
在得到兩幅圖像之后,計(jì)算機(jī)需要計(jì)算視差,即從圖像像素到攝像機(jī)的距離。
對(duì)于左側(cè)圖像中的每個(gè)像素,計(jì)算到右側(cè)圖像中對(duì)應(yīng)像素的距離[10],見(jiàn)圖 2。
得到立體圖像后,可以計(jì)算出攝像機(jī)與目標(biāo)之間的距離。此實(shí)驗(yàn)中計(jì)算每個(gè)像素從圖像到相機(jī)的距離。我們把距離 B 表示為距離 B1 和 B2 之和[11]。
(1)
距離 D 為式(2)。
(2)
圖 3 為用兩個(gè)相機(jī)拍攝的物體(樹(shù))。
在本文中,每個(gè)像素可以被看作這個(gè)圖中的每棵樹(shù)。在計(jì)算每個(gè)像素距攝像機(jī)的距離時(shí),系統(tǒng)可以獲得圖像的深度圖,如圖 4。
在圖 4 中,不同的顏色表示圖像和相機(jī)的距離。比較圖 4 以及圖 1,如果像素靠近照相機(jī),顏色是亮的,如果像素遠(yuǎn)離照相機(jī),則顏色是暗的。
5 算法實(shí)現(xiàn)
該算法分為三個(gè)部分:深度計(jì)算、方形尺寸查找和中心點(diǎn)距離計(jì)算。輸入數(shù)據(jù)集是 2D 圖像陣列,表示每個(gè)像素在圖像上的位置。在獲得每個(gè)像素的深度之后,設(shè)一閾值將圖像分成大于閾值和小于閾值兩部分。前者表示無(wú)人機(jī)的“障礙物”,后者表示無(wú)人機(jī)的“安全區(qū)域”。
接下來(lái)的每一步,無(wú)人機(jī)將數(shù)據(jù)傳輸?shù)絻?nèi)核,再?gòu)膬?nèi)核獲取數(shù)據(jù)。這里的關(guān)鍵是如何優(yōu)化 CPU 和 GPU 之間的負(fù)載平衡。由于本文選取的圖像分辨率為 1 280×720,為了計(jì)算每個(gè)像素的距離,本文使用 2D 映射,這樣可以最好地利用該系統(tǒng)的計(jì)算速度。
內(nèi)核的線程我們?cè)O(shè)成一塊 256 個(gè)像素,像素總數(shù)為 1 280×720=921 600,這樣就有 3 600 個(gè)塊進(jìn)行并行計(jì)算。這可以保證在飛行中獲得理想的計(jì)算性能。首先獲取每個(gè)像素的距離并分配每個(gè)像素。例如,有三個(gè)像素。它們與相機(jī)的距離是 3.23 m、2.52 m 和 1.53 m。在閾值為 2 的情況下,它將第一和第二像素分配為 1(它表示安全區(qū)域),將第三像素分配為 0(這意味著障礙點(diǎn))。
最后,該數(shù)組僅包含 0 和 1。在數(shù)組傳輸?shù)?CPU之前,二維數(shù)組轉(zhuǎn)換為一維數(shù)組,這樣可減少 CPU 和 GPU 之間的同步傳輸。
下一步是找到安全區(qū)域。我們使用正方形來(lái)表示安全區(qū)域。當(dāng)計(jì)算正方形大小時(shí),線程和塊的分布與第一步相同。在此步驟中,TX1 板還使用以下等式計(jì)算每個(gè)像素距圖像中心點(diǎn)(640,360)的距離 D。
(3)
最后一步是從圖像的中心得到最接近的正方形。在這個(gè)步驟,它將每個(gè)像素的距離值設(shè)置到每個(gè)線程中。這里使用的方法稱為歸約。它可以是陣列的最大/最小值,時(shí)間復(fù)雜度為 O(log n)。圖 5 展示了并行歸約的順序?qū)ぶ贰?/p>
該算法的時(shí)間復(fù)雜度為 O(N/P+log n),其中 N 是數(shù)組中的總元素個(gè)數(shù),P 是它的總塊數(shù),log n 是每個(gè)塊的運(yùn)行時(shí)間。
在這三個(gè)步驟之后,系統(tǒng)將得到最接近中心點(diǎn)的方形區(qū)域,以指導(dǎo)無(wú)人機(jī)的飛行,找到正確的路線。當(dāng)確定方形區(qū)域的位置時(shí),它可以根據(jù)區(qū)域的(x,y)坐標(biāo)為無(wú)人機(jī)提供飛行指令。例如,如果正方形的中心位置是(200,150),則命令是“向左飛行然后上升”。
6 實(shí)驗(yàn)結(jié)果
該系統(tǒng)在無(wú)人機(jī)實(shí)驗(yàn)室環(huán)境進(jìn)行了測(cè)試,圖 6 顯示了兩個(gè)不同閾值的結(jié)果,棋盤代表了無(wú)人機(jī)能夠通過(guò)的安全區(qū)域,也就是距離大于閾值的區(qū)域,如果距離小于閾值,則不做特別標(biāo)記。
圖 7 顯示了走廊上的測(cè)試結(jié)果,當(dāng)攝像機(jī)檢測(cè)到障礙物時(shí),它可以引導(dǎo)無(wú)人機(jī)的飛行路線,在圖像上顯示的黃色(淺色)文本。
該算法的時(shí)間復(fù)雜度是 O(n2),其中 n 是符合無(wú)人機(jī)大小的正方形區(qū)域的恒定大小。由于該 ZED 相機(jī)支持每秒 15 幀,所以每幅圖像的處理需要 0.066 s。系統(tǒng)各部分測(cè)量后,結(jié)果如表 1。
從表 1 可以發(fā)現(xiàn),求平方算法是整個(gè)系統(tǒng)中效率較低的部分之一,并且還受到如何設(shè)計(jì)平方大小的限制。因?yàn)楫?dāng)正方形的大小變大時(shí),每個(gè)線程的工作量也會(huì)變大。光反射也是相機(jī)的常見(jiàn)問(wèn)題;如果環(huán)境有強(qiáng)烈的光反射,相機(jī)就無(wú)法檢測(cè)到任何東西。
7 結(jié)語(yǔ)
本文提出了一種基于立體相機(jī)和 TX1 GPU 的無(wú)人機(jī)避障方法。它使用兩個(gè)攝像機(jī)來(lái)分析每個(gè)像素與攝像機(jī)的距離。然后,計(jì)算機(jī)通過(guò)比較距離和閾值來(lái)找到理想的安全區(qū)域,以便向無(wú)人機(jī)提供飛行指令。將來(lái),無(wú)人機(jī)系統(tǒng)可以通過(guò)預(yù)先計(jì)算少量數(shù)據(jù),作為輸入數(shù)據(jù)重復(fù)該算法來(lái)進(jìn)一步優(yōu)化。
-
無(wú)人機(jī)
+關(guān)注
關(guān)注
231文章
10845瀏覽量
186818 -
立體相機(jī)
+關(guān)注
關(guān)注
0文章
6瀏覽量
3995
原文標(biāo)題:基于TX1和立體相機(jī)的無(wú)人機(jī)避障系統(tǒng)
文章出處:【微信號(hào):appic-cn,微信公眾號(hào):集成電路應(yīng)用雜志】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
低空物流:無(wú)人機(jī)開(kāi)啟未來(lái)配送新篇章
納雷科技邀您相約2025深圳國(guó)際無(wú)人機(jī)展覽會(huì)
10000Hz!超高頻激光雷達(dá)助力無(wú)人機(jī)避障
肇觀電子兩款無(wú)人機(jī)視覺(jué)避障模組量產(chǎn)交付
科達(dá)嘉電感在無(wú)人機(jī)系統(tǒng)中的應(yīng)用
無(wú)人機(jī)光伏巡檢系統(tǒng)的巡檢作用
SONY全畫幅相機(jī)ILX-LR1:無(wú)人機(jī)攝影的新標(biāo)桿
海外首款由激光雷達(dá)驅(qū)動(dòng)的無(wú)人機(jī)發(fā)布

光伏電站無(wú)人機(jī)巡檢系統(tǒng)的具體應(yīng)用與優(yōu)勢(shì)
低空經(jīng)濟(jì)——無(wú)人機(jī)避撞技術(shù)

凱茉銳電子|索尼ILX-LR1全畫幅相機(jī):無(wú)人機(jī)測(cè)繪測(cè)量的新利器
無(wú)人機(jī)行業(yè)相機(jī)的新標(biāo)桿:SONY ILX-LR1

光伏電站無(wú)人機(jī)智能巡檢系統(tǒng)

無(wú)人機(jī)機(jī)載高光譜成像系統(tǒng)的應(yīng)用及優(yōu)勢(shì)

評(píng)論