一種基于雙目視覺(jué)的無(wú)人機(jī)自主障礙物檢測(cè)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于無(wú)人機(jī)技術(shù)領(lǐng)域,尤其是一種基于雙目視覺(jué)的無(wú)人機(jī)自主障礙物檢測(cè) 系統(tǒng)及方法。
【背景技術(shù)】
[0002] 隨著飛行器相關(guān)技術(shù)的不斷發(fā)展及其應(yīng)用場(chǎng)景的復(fù)雜化,對(duì)其環(huán)境感知能力提出 了更高的要求?;谝曈X(jué)的導(dǎo)航技術(shù)具有探測(cè)范圍寬、信息容量大等優(yōu)勢(shì),此外其具有對(duì)飛 行環(huán)境變化捕捉迅速、反應(yīng)敏銳等特點(diǎn),因此在飛行器導(dǎo)引導(dǎo)航研究中得到了越來(lái)越多的 關(guān)注。
[0003] 基于視覺(jué)的環(huán)境感知屬于被動(dòng)測(cè)量方式,與激光、雷達(dá)及超聲等主動(dòng)測(cè)量方式相 比,可減少多個(gè)測(cè)量裝置在檢測(cè)過(guò)程中的相互干擾,更為重要的是可降低在某些特定環(huán)境 (如戰(zhàn)場(chǎng))使用時(shí)被發(fā)現(xiàn)的概率,具有較強(qiáng)的隱蔽性。
[0004] 基于視覺(jué)的飛行環(huán)境中障礙物感知應(yīng)用可使用單目或雙目視覺(jué),其中雙目視覺(jué)可 獲得較單目視覺(jué)更高的精度,而應(yīng)用較為廣泛。單目視覺(jué)使用一臺(tái)機(jī)載攝像機(jī)獲取飛行圖 像,然而飛行環(huán)境的三維信息會(huì)在圖像投影過(guò)程中丟失,雖可利用多幀圖像或離線訓(xùn)練的 方法還原環(huán)境的深度信息,但處理過(guò)程復(fù)雜,導(dǎo)致機(jī)載嵌入式處理器難以實(shí)現(xiàn)實(shí)時(shí)處理,目 前只能做到將圖像傳回地面站解算后再返回?zé)o人機(jī)的方式進(jìn)行障礙物規(guī)避控制。而雙目視 覺(jué)基于視差原理,其產(chǎn)生的立體視覺(jué)信息可以直接恢復(fù)目標(biāo)環(huán)境的三維坐標(biāo),進(jìn)而可獲得 環(huán)境的深度信息,對(duì)于未知飛行環(huán)境中的障礙物及潛在碰撞的檢測(cè)具有重要的實(shí)用意義。
[0005] 雙目視覺(jué)是計(jì)算機(jī)視覺(jué)的一個(gè)重要分支,雙目視覺(jué)可以模仿人的眼睛和人類立體 視覺(jué)感知的過(guò)程,是計(jì)算機(jī)視覺(jué)研究的核心主題之一。近年來(lái),雙目視覺(jué)技術(shù)在障礙物檢 測(cè)、工業(yè)自動(dòng)化生產(chǎn)、智能安防系統(tǒng)等領(lǐng)域得到了廣泛的應(yīng)用。但是,現(xiàn)有的基于視覺(jué)的障 礙物感知方法存在的諸多問(wèn)題,計(jì)算機(jī)視覺(jué)方法在飛行器中的應(yīng)用主要集中于自主著陸、 景象匹配與目標(biāo)識(shí)別以及視覺(jué)慣性組合導(dǎo)航等。自主著陸中的視覺(jué)方法著眼于飛行器著陸 階段,且需要已知著陸場(chǎng)信息,無(wú)法應(yīng)用于飛行器的任務(wù)執(zhí)行階段;景象匹配及目標(biāo)識(shí)別, 需要建立景象匹配的機(jī)載數(shù)據(jù)庫(kù)以查找已知目標(biāo)信息并采用視覺(jué)方法得到目標(biāo)的相對(duì)位 置,但在飛行器飛行過(guò)程中所處的自然環(huán)境卻無(wú)能為力;而將計(jì)算機(jī)視覺(jué)技術(shù)與機(jī)載慣導(dǎo) 數(shù)據(jù)結(jié)合在一起的導(dǎo)航方法計(jì)算量較大,當(dāng)飛行環(huán)境復(fù)雜時(shí)無(wú)法滿足實(shí)時(shí)導(dǎo)航的要求。因 此,雖有將視覺(jué)方法應(yīng)用于飛行器導(dǎo)航的研究,但這些方法一方面需要已知目標(biāo)信息或人 工設(shè)置參考信息,另一方面存在潛在的實(shí)時(shí)性缺陷,無(wú)法滿足飛行器執(zhí)行任務(wù)時(shí)所處自然 環(huán)境中的導(dǎo)航應(yīng)用需求。
[0006] 眾所周知,視覺(jué)圖像處理需要在單位時(shí)間內(nèi)處理大量數(shù)據(jù),需要快速的數(shù)據(jù)運(yùn)算 能力,然而數(shù)據(jù)運(yùn)算過(guò)程卻相對(duì)簡(jiǎn)單。目前可用于視覺(jué)圖像處理的計(jì)算平臺(tái)主要有CPU、 GPU、ASIC、DSP、FPGA等。
[0007] 嵌入式CPU的計(jì)算能力有限,對(duì)于一些計(jì)算復(fù)雜度很高的視覺(jué)算法,其處理速度 常常難以滿足系統(tǒng)的實(shí)時(shí)性需要。
[0008] GPU具有高度的并行計(jì)算能力,可以較好地解決計(jì)算速度的問(wèn)題,然而,基于GPU 的計(jì)算機(jī)視覺(jué)系統(tǒng)存在著功耗較高、體積較大的缺點(diǎn),難以滿足依靠自身所帶電池供電并 長(zhǎng)時(shí)間工作的無(wú)人機(jī)系統(tǒng)的需要。
[0009] 利用專用集成電路ASIC實(shí)現(xiàn)視覺(jué)處理算法,可以解決視覺(jué)系統(tǒng)性能和體積、功耗 之間的矛盾,是高性能嵌入式視覺(jué)系統(tǒng)的一種有效的解決方案。然而,ASIC開(kāi)發(fā)周期長(zhǎng),修 改性及通用性較差。
[0010] FPGA可以通過(guò)編程方便地修改其內(nèi)部的邏輯功能,從而實(shí)現(xiàn)高速的硬件計(jì)算和并 行運(yùn)算,是高性能嵌入式視覺(jué)系統(tǒng)的一種更加方便的解決方案?;贔PGA的嵌入式視覺(jué)系 統(tǒng)的功耗遠(yuǎn)遠(yuǎn)低于基于CPU和GPU的視覺(jué)系統(tǒng),F(xiàn)PGA的功耗通常不到1W,而高性能CPU和 GPU的功耗通常都在100W以上。隨著技術(shù)的不斷進(jìn)步,F(xiàn)PGA的集成度越來(lái)越高,可以實(shí)現(xiàn) 的設(shè)計(jì)規(guī)模越來(lái)越大,而功耗則越來(lái)越低。因此,基于FPGA的嵌入式視覺(jué)系統(tǒng)成為計(jì)算機(jī) 視覺(jué)系統(tǒng)的重要發(fā)展方向。
[0011] 可編程片上系統(tǒng)技術(shù)在單個(gè)芯片上集成包括處理器核心和主要外設(shè)在內(nèi)的邏輯 功能,這些邏輯功能可以隨著應(yīng)用目的的改變而重新配置,這使得系統(tǒng)可以隨時(shí)減裁、擴(kuò)充 或升級(jí),使得FPGA可以在片內(nèi)配置嵌入式處理器的內(nèi)核,使得FPGA也可具有片內(nèi)高速的存 儲(chǔ)單元,豐富的IP核資源和足夠的片上邏輯資源。
[0012]與通用計(jì)算機(jī)相比,嵌入式系統(tǒng)在功耗、體積和成本上有著不可比擬的優(yōu)勢(shì)?;贏RM的嵌入式系統(tǒng)因此被廣泛應(yīng)用于工業(yè)、民用甚至軍事等領(lǐng)域。Linux操作系統(tǒng)具有很高 的性能,在計(jì)算相同的數(shù)據(jù)量時(shí),對(duì)嵌入式系統(tǒng)的功率索取量極小,這也使得Linux得以在 嵌入式領(lǐng)域有很強(qiáng)的競(jìng)爭(zhēng)力。
[0013] 綜上所述,雖然國(guó)內(nèi)外無(wú)人機(jī)領(lǐng)域的許多學(xué)者針對(duì)無(wú)人機(jī)避障系統(tǒng)開(kāi)展了大量研 究,針對(duì)環(huán)境信息完全機(jī)載處理,且在保證測(cè)量精度的前提下,目前的避障系統(tǒng)還無(wú)法達(dá)到 小體積、低功率及低重量的需求,進(jìn)而實(shí)現(xiàn)無(wú)人機(jī)完全本地自主飛行的功能。
【發(fā)明內(nèi)容】
[0014] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于雙目視覺(jué)的無(wú)人機(jī)自主障 礙物檢測(cè)系統(tǒng)及方法,該檢測(cè)系統(tǒng)能夠在滿足無(wú)人機(jī)對(duì)功耗及載重的需求前提下,獲得實(shí) 時(shí)的較高精度的飛行環(huán)境三維信息,該檢測(cè)方法能夠?qū)崿F(xiàn)基于嵌入式實(shí)時(shí)雙目視覺(jué)的無(wú)人 機(jī)避障系統(tǒng)的三維環(huán)境信息重建算法,使得算法具有較高精度及實(shí)時(shí)性能。
[0015] 本發(fā)明解決其技術(shù)問(wèn)題是采取以下技術(shù)方案實(shí)現(xiàn)的:
[0016] -種基于雙目視覺(jué)的無(wú)人機(jī)自主障礙物檢測(cè)系統(tǒng),包括無(wú)人機(jī),在無(wú)人機(jī)上裝載 有雙目視覺(jué)系統(tǒng)、其他傳感器模塊及飛行控制系統(tǒng);
[0017] 所述雙目視覺(jué)系統(tǒng)由兩臺(tái)機(jī)載攝像機(jī)、視覺(jué)采集處理單元構(gòu)成,所述兩臺(tái)機(jī)載攝 像機(jī)用于獲取無(wú)人機(jī)的視覺(jué)信息,所述視覺(jué)采集處理單元處理視覺(jué)數(shù)據(jù)建立三維飛行環(huán)境 信息,該視覺(jué)采集處理單元由完成圖像的并行算法的現(xiàn)場(chǎng)可編程門(mén)陣列FPGA模塊和完成 圖像的串行算法以及結(jié)果的發(fā)布的嵌入式處理器ARM模塊構(gòu)成;
[0018] 所述其他傳感器模塊包含慣性測(cè)量單元頂U(kuò)、全球定位系統(tǒng)GPS、磁羅盤(pán)及氣壓 計(jì);
[0019] 所述飛行控制系統(tǒng)接收來(lái)自于雙目視覺(jué)系統(tǒng)及其他傳感器單元的視覺(jué)感知信息 和無(wú)人機(jī)飛行狀態(tài)數(shù)據(jù),通過(guò)融合處理生成飛行控制指令,用于控制無(wú)人機(jī)飛行;
[0020] 所述無(wú)人機(jī)根據(jù)飛行控制系統(tǒng)的飛行控制指令進(jìn)行飛行,實(shí)現(xiàn)對(duì)障礙物規(guī)避飛行 功能。
[0021] 進(jìn)一步,所述視覺(jué)采集處理單元的具體結(jié)構(gòu)為:所述嵌入式處理器ARM模塊通過(guò) AMBA與外部IO單元進(jìn)行連接,通過(guò)AMBA實(shí)現(xiàn)對(duì)靜態(tài)內(nèi)存單元的控制;現(xiàn)場(chǎng)可編程門(mén)陣列 FPGA模塊包括標(biāo)準(zhǔn)IO接口與外部設(shè)備進(jìn)行連接,對(duì)機(jī)載攝像機(jī)進(jìn)行同步控制,通過(guò)GigE模 塊實(shí)現(xiàn)GigE攝像機(jī)的視頻采集,通過(guò)PCIe接口進(jìn)行內(nèi)部數(shù)據(jù)傳輸;所述嵌入式處理器ARM 模塊與現(xiàn)場(chǎng)可編程門(mén)陣列FPGA模塊通過(guò)AXI接口進(jìn)行信息交互。
[0022] 進(jìn)一步,所述雙目視覺(jué)系統(tǒng)和其他傳感器模塊與飛行控制系統(tǒng)之間采用CAN總線 的方式進(jìn)行通信。
[0023] 進(jìn)一步,所述系統(tǒng)還包括遙控器和地面站,所述遙控器、地面站與飛行控制系統(tǒng)及 無(wú)人機(jī)之間以無(wú)線鏈路的方式進(jìn)行通信。
[0024] 一種基于雙目視覺(jué)的無(wú)人機(jī)自主障礙物檢測(cè)方法,包括以下步驟:
[0025] 步驟1、雙目視覺(jué)系統(tǒng)獲取無(wú)人機(jī)飛行環(huán)境的視覺(jué)信息,并經(jīng)處理得到障礙物信 息;
[0026] 步驟2、其他傳感器單元獲取無(wú)人機(jī)的狀態(tài)信息;
[0027] 步驟3、飛行控制系統(tǒng)接收障礙物信息和無(wú)人機(jī)狀態(tài)信息,建立飛行路徑,生成飛 行控制指令并向無(wú)人機(jī)發(fā)送;
[0028] 步驟4、無(wú)人機(jī)根據(jù)飛行控制系統(tǒng)的飛行控制指令規(guī)避障礙物飛行。
[0029] 進(jìn)一步,所述步驟1的具體實(shí)現(xiàn)方法為:
[0030] 步驟⑴、兩臺(tái)機(jī)載攝像機(jī)獲取無(wú)人機(jī)的視覺(jué)信息;
[0031] 步驟⑵、視覺(jué)采集處理單元獲取同步圖像;
[0032] 步驟⑶、視覺(jué)采集處理單元對(duì)兩路圖像信息進(jìn)行校正;
[0033] 步驟⑷、視覺(jué)采集處理單元處理獲取視差圖像;
[0034] 步驟(5)、視覺(jué)采集處理單元利用視差圖進(jìn)行環(huán)境信息的三維重建,從而獲得障礙 物信息。
[0035] 進(jìn)一步,所述步驟⑵視覺(jué)采集處理單元獲取同步圖像的具體方法為:現(xiàn)場(chǎng)可編程 門(mén)陣列FPGA模塊通過(guò)控