《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于多核DSP的激光點云解算算法并行設(shè)計
基于多核DSP的激光點云解算算法并行設(shè)計
2017年電子技術(shù)應(yīng)用第2期
牛京玉,胡 堅,孟凡榮,賀文靜
中國科學(xué)院光電研究院 中國科學(xué)院定量遙感信息技術(shù)重點實驗室,北京100094
摘要: 快速、實時地進行點云解算以及獲取三維坐標(biāo)信息是當(dāng)前遙感應(yīng)用的發(fā)展趨勢。針對機載激光雷達(dá)點云計算量大、處理算法復(fù)雜等特點,設(shè)計了基于TMS320C6678多核DSP的并行、高效激光點云處理方法。首先,簡要介紹了點云解算的算法原理和特點;其次,具體說明了基于TMS320C6678多核DSP的并行點云解算架構(gòu)設(shè)計;最后,利用機載激光雷達(dá)系統(tǒng)獲取的數(shù)據(jù)對設(shè)計的多核DSP并行處理架構(gòu)進行了驗證,并比較分析了同平臺下單核和多核處理器的運行效率。
中圖分類號: TP752.1
文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2017.02.012
中文引用格式: 牛京玉,胡堅,孟凡榮,等. 基于多核DSP的激光點云解算算法并行設(shè)計[J].電子技術(shù)應(yīng)用,2017,43(2):54-57.
英文引用格式: Niu Jingyu,Hu Jian,Meng Fanrong,et al. The parallel processing design of LiDAR point cloud calculation based on multicore DSP[J].Application of Electronic Technique,2017,43(2):54-57.
The parallel processing design of LiDAR point cloud calculation based on multicore DSP
Niu Jingyu,Hu Jian,Meng Fanrong,He Wenjing
Key Laboratory of Quantitative Remote Sensing Information Technology,Academy of Opto-Electronics, Chinese Academy of Science,Beijing 100094,China
Abstract: Currently, the research on performing real-time points position cloud calculation method, which is aimed to obtain high precision surface models, is a trend of remote sensing technology. According to the features that airborne LiDAR point cloud calculation contains a large amount of computation and complex processing algorithms, a multi-core DSP parallel processing system is designed. This system, which is based on TMS320C6678, implements efficiently. Firstly, the principles and characteristics of the LiDAR system are introduced briefly. Secondly, the architecture of this multi-core DSP parallel system is described in detail. Finally, the fight data, which is from an airborne LiDAR system experiment, has been used to prove the effectiveness of this parallel architecture. At the same time, the operational efficiency of single core and multi-core processor has been compared and analyzed.
Key words : multicore DSP;parallel process;IPC;LiDAR points position calculation

0 引言

    近年來,將遙感技術(shù)與自動化控制技術(shù)、通信技術(shù)、傳感器檢測技術(shù)相結(jié)合,快速獲取并實時處理分析環(huán)境、時間等多維遙感信息是一種新型的遙感應(yīng)用方式。該方式融合了多種專業(yè)的技術(shù)特點,已成為促進遙感技術(shù)在多領(lǐng)域得以廣泛應(yīng)用的重點研究問題。其中,機載激光雷達(dá)技術(shù)(Light Detection And Ranging,LiDAR)作為一種實現(xiàn)高精度地表多維信息快速獲取的新興航空遙感技術(shù)[1],已被廣泛應(yīng)用于油氣勘測、電力傳輸、城市規(guī)劃、土地資源調(diào)查、災(zāi)害評估等領(lǐng)域。

    目前,國內(nèi)外針對機載激光雷達(dá)的研究和商業(yè)化應(yīng)用不斷發(fā)展[2],其中 LiDAR系統(tǒng)直接獲取的原始數(shù)據(jù)(包括發(fā)射角、測距值)必須經(jīng)過點云解算才能形成三維數(shù)據(jù),因此,點云解算是LiDAR系統(tǒng)數(shù)據(jù)處理算法中不可或缺的環(huán)節(jié)。然而,面對當(dāng)今應(yīng)用對精度、實時性要求不斷提升的需求,具有計算量很大、處理算法復(fù)雜等特點的點云解算需要依托于高性能的機載處理平臺。其中,DSP憑借著運算能力強、功耗低、資源豐富、靈活性強等優(yōu)勢,在圖像視頻處理、數(shù)字通信、神經(jīng)網(wǎng)絡(luò)等方面[3,4]得到了廣泛運用。

    隨著超大規(guī)模集成電路技術(shù)的日益發(fā)展,DSP技術(shù)已發(fā)展至可高效共享資源、降低功耗成本[5,6]的高性能多核DSP階段。這也是面對不斷向大帶寬、高精度、高實時性要求發(fā)展的信號處理趨勢的必然選擇。

    本文將利用多核DSP展開面向機載陣列推掃式激光雷達(dá)系統(tǒng)的點云解算方法的并行設(shè)計與實現(xiàn),在點云解算原理、多核DSP系統(tǒng)資源方面介紹基礎(chǔ)上,對點云解算算法的并行模型設(shè)計、核間通信設(shè)計、效能測試方面進行研究與分析。

1 點云解算原理

    陣列推掃式機載激光雷達(dá)系統(tǒng)建立三維點云解算模型的數(shù)據(jù)采集模塊,而點云解算則是將該系統(tǒng)獲取的激光點數(shù)據(jù)通過一系列處理得到三維空間信息的過程。首先,利用激光雷達(dá)載荷獲得激光脈沖的往返時間間隔及載荷位置姿態(tài)信息;然后,將激光掃描坐標(biāo)系下的測距值經(jīng)激光掃描坐標(biāo)系、慣性導(dǎo)航坐標(biāo)系、導(dǎo)航投影坐標(biāo)系、地心坐標(biāo)系轉(zhuǎn)換后,求出每個激光腳點精確的三維空間坐標(biāo)(X,Y,Z),從而完成激光點云解算。為提高激光點云的解算精度,在解算的過程中需將系統(tǒng)檢校參數(shù)代入,進行校正處理[1]

    另外,由于掃描過程中會出現(xiàn)誤將低空飛行物當(dāng)作被測目標(biāo)記錄,或受到多路徑誤差或激光測距儀誤差影響等情況,可能導(dǎo)致數(shù)據(jù)中出現(xiàn)粗差。為保證機上處理速度,在算法中加入基于掃描距離值的快速粗差濾除閾值處理。處理流程如圖1所示。

qrs3-t1.gif

2 基于多核DSP的并行設(shè)計

2.1 硬件平臺資源介紹

    相比于單核DSP,多核DSP具有更強的并行處理能力和更優(yōu)化的功耗管理能力[7],因而得到了更多的關(guān)注。各主要數(shù)字信號處理器廠商,如Cradle、TI、ADI以及Freescale公司都相繼推出多核DSP。其中,TI公司的TMS320C6678在內(nèi)核數(shù)、主頻、功耗、運算能力等方面均具有較為突出的優(yōu)勢。

    TMS320C6678是基于Keystone架構(gòu)的定點/浮點混合多核DSP[8],內(nèi)置8個C66x DSP核,最高工作頻率可達(dá)1.4 GHz,具有320GMACS的定點處理能力和160 GFLOPS的浮點運算能力。其還擁有豐富的片內(nèi)資源,多種高速互聯(lián)接口[9]。此外,TI公司還提供了具有任務(wù)調(diào)度、資源管理等功能的SYS/BIOS實時操作系統(tǒng),可大大縮短開發(fā)周期??梢姡珻6678能很好地適應(yīng)對低功耗、高性能、可編程性等多方面有嚴(yán)格要求的應(yīng)用環(huán)境,是實現(xiàn)實時處理復(fù)雜算法的最佳選擇。

2.2 并行模型設(shè)計

    在多核DSP的系統(tǒng)設(shè)計中,并行處理模型的構(gòu)建包括任務(wù)調(diào)度、消息通信、內(nèi)存訪問三者間的綜合考慮,只有采用最優(yōu)化的結(jié)合方案,才能達(dá)到處理效果和資源功耗間的平衡狀態(tài),從而獲得處理系統(tǒng)的高性能。因此,選擇適合的并行模型無疑是多核DSP系統(tǒng)開發(fā)的最關(guān)鍵步驟之一。目前,多核DSP并行模型主要有兩種:數(shù)據(jù)流模型(Data Flow Model)和主從模型(Master Slave Model)[10]。其中,數(shù)據(jù)流模型描述了DSP的多個內(nèi)核串行的工作方式,具有思路簡單、實時性較好、模塊間依賴性強、通信頻繁的特點,較為適合處理流程單一、內(nèi)核間強相關(guān)性的應(yīng)用;主從模型則是從多個內(nèi)核中選定一個作為主核負(fù)責(zé)總體控制,其余內(nèi)核作為從核執(zhí)行具體計算任務(wù)的工作方式,具有各從核間相互獨立、配置靈活的特點,更適于處理流程算法復(fù)雜、核間弱相關(guān)性的應(yīng)用。

    本次設(shè)計中應(yīng)用的點云解算算法具有處理流程復(fù)雜、浮點運算量大的特點,且待處理的數(shù)據(jù)將以一行的量為基本處理單位,處理過程獨立。可見該算法并不適合將整體算法分塊拆分至不同核的設(shè)計思路,這樣會造成大量由于機載點云數(shù)據(jù)質(zhì)量檢測引入的邏輯消耗、核間同步以及數(shù)據(jù)通信消耗,是一種得不償失的做法。因此,本文將采用主從方式設(shè)計點云解算的并行模型。

    本文的具體設(shè)計思路是:將0核設(shè)置為主核,其任務(wù)包括監(jiān)控所有從核的任務(wù)進度、建立與多種外設(shè)以及從核間的有效通信橋梁;1~7核為從核,其任務(wù)包括當(dāng)前狀態(tài)反饋、點云解算主體操作。

2.3 核間通信設(shè)計

    核間通信是多核處理器實現(xiàn)并行處理的重要組成部分[11],其主要有消息通信和數(shù)據(jù)搬移兩方面。消息通信通常用于實現(xiàn)核間同步通知以及狀態(tài)反饋,而數(shù)據(jù)移動則適用于大量的運算數(shù)據(jù)傳輸。C6678中也提供了多種通信方式和模塊庫,主要的有:同步變量監(jiān)視、核間直接中斷、Event Notify、MessageQ Queue、多核導(dǎo)航器以及EDMA3[10,12,13]。

    其中,同步變量監(jiān)視模式所需模塊最少,實現(xiàn)簡單,但需不斷維護Cache一致性和CPU占有情況;核間直接中斷方式無BIOS參與,實現(xiàn)思路清晰,但頻繁的中斷增加額外耗時,靈活度低;Event Notify方式簡單快捷,但數(shù)據(jù)傳輸能力弱,復(fù)雜度較高;Message Queue方式提供了更精細(xì)的數(shù)據(jù)消息,靈活性和適應(yīng)性強,應(yīng)用廣泛,但復(fù)雜度高;多核導(dǎo)航器方式實現(xiàn)設(shè)備內(nèi)的數(shù)據(jù)高性能傳輸,靈活度大,但復(fù)雜度很大;增強型直接內(nèi)存訪問(Enhanced Direct Memory Access 3,EDMA3)方式可實現(xiàn)數(shù)據(jù)的高效傳輸,且該過程幾乎不占用CPU時鐘[14],但復(fù)雜度也高。因此,同步變量監(jiān)視、核間直接中斷、Event Notify和Message Queue這4種方式比較適合于核間同步消息通知,而多核導(dǎo)航器和EDMA3則更適合于數(shù)據(jù)通信。

    本文待實現(xiàn)的點云解算算法在多核通信方面有如下需求:消息通信方面,需要實現(xiàn)主核和從核間的同步通知,用于監(jiān)控處理的進度;數(shù)據(jù)通信方面,需要實現(xiàn)對原始數(shù)據(jù)塊、各階段處理結(jié)果的劃分及高速數(shù)據(jù)傳輸過程。

    再結(jié)合DSP內(nèi)部存儲器空間小但訪問速度快、外部存儲器DDR3空間大而訪問速度慢以及陣列推掃式激光雷達(dá)系統(tǒng)具有按描行存儲處理數(shù)據(jù)的特點,為了盡可能提高傳輸效率,以PING-PONG傳輸方式建立數(shù)據(jù)緩存機制:先將采集的數(shù)據(jù)流逐行緩存到DDR3中,并在從核內(nèi)部存儲器建立兩個緩存區(qū),以EDMA3方式實現(xiàn)數(shù)據(jù)在DDR3與內(nèi)部存儲器之間的高速傳輸,并且采用靈活度高的Message Queue實現(xiàn)核間同步消息通信。圖2展示了本文基于TMS320C6678的點云解算總體設(shè)計構(gòu)架。

qrs3-t2.gif

3 實驗結(jié)果分析

    本文實驗采用TMDXEVM6678L EVM C6678 DSP開發(fā)板,這是一款用于對TMS320C6678進行評估開發(fā)的硬件平臺。實驗時,DSP核主頻設(shè)置為1 GHz。實驗激光點云原始數(shù)據(jù)來自某線陣推掃LiDAR載荷飛行試驗獲取的一段數(shù)據(jù),行數(shù)為8 400行,每行208 B,總數(shù)據(jù)量約為1.67 MB;載荷位置數(shù)據(jù)也選取對應(yīng)的8 400行,每行52 B,總數(shù)據(jù)量約為426.56 KB。

    實驗分析了不同大小數(shù)據(jù)塊對基于多核DSP主從模型的LiDAR數(shù)據(jù)實時處理運行效率的影響,在數(shù)據(jù)處理總行數(shù)一定的條件下,分別以1、2、4、6、8、10行數(shù)劃分每次處理數(shù)據(jù)傳輸塊,從而獲取數(shù)據(jù)傳輸及點云解算處理的耗時測試數(shù)據(jù)。同時,實驗還對比記錄了相同總數(shù)據(jù)量、每次處理行數(shù)不變的條件下,單核實現(xiàn)點云解算處理的耗時,如表1所示。

qrs3-b1.gif

    從表1可知,設(shè)計的點云解算多核并行模型在7核并行運算的情況下,效率達(dá)不到7倍單核的理想狀態(tài),原因為實際的運算過程會由于核間通信、數(shù)據(jù)傳輸?shù)仍虍a(chǎn)生時間消耗和資源競爭。需要注意的是,不合理的方案設(shè)置反而會增加整體的運行耗時,造成與資源消耗情況相距甚遠(yuǎn)的結(jié)果。文中設(shè)計充分考慮并平衡了通信消耗和傳輸資源競爭等方面的影響,將效率提升到單核的6.6倍左右,使得性能得到了較大提升。

    圖3顯示了單/多核模型的總耗時與處理行數(shù)間的關(guān)系。針對多核并行處理方式,如圖3(a)所示,運行耗時由核間通信和EDMA3模塊調(diào)用的次數(shù)變化共同影響,其隨著每次處理行數(shù)的增加而降低。在處理總行數(shù)一定的情況下,每次處理的行數(shù)越多,總體處理方案調(diào)用核間同步通信和EDMA 3模塊的次數(shù)越少,通信傳輸消耗降低。此外,從圖3(a)中還能看出:曲線斜率隨著行數(shù)的增加而變緩,其原因在于增加每核處理行數(shù),也會增大每次傳輸時間和內(nèi)部緩存壓力,體現(xiàn)出核間調(diào)度和數(shù)據(jù)傳輸兩者的矛盾關(guān)系,需要遇到具體問題具體劃分?jǐn)?shù)據(jù)塊行數(shù)。圖3(b)顯示了單核處理方式下,運行耗時和每次處理行數(shù)的關(guān)系,其變化趨勢與多核一致。隨著每次處理的行數(shù)增多,每次EDMA3傳輸?shù)臄?shù)據(jù)量增加,對EDMA3相關(guān)控制器設(shè)置的總次數(shù)減少,而EDMA3控制器的設(shè)置耗時相對較少。由此可得:EDMA3每次傳輸數(shù)據(jù)量的不同導(dǎo)致了耗時的不同,充分驗證了EDMA3在傳輸大數(shù)據(jù)量時具有一定的優(yōu)勢。在具體的設(shè)計過程中,需要合理選擇每次的處理行數(shù),以達(dá)到效率最優(yōu)化。

qrs3-t3.gif

4 結(jié)論

    本文采用TMS320C6678硬件平臺,設(shè)計搭建了基于機載陣列式推掃激光雷達(dá)系統(tǒng)的點云解算算法的多核并行主從處理模型,執(zhí)行效率達(dá)到了單核的6.6倍,使得性能得到了很大的提升,證明了對激光雷達(dá)技術(shù)的嵌入式實時處理系統(tǒng)的可行性。為進一步的遙感三維影像生成技術(shù)的嵌入式實時處理系統(tǒng)的設(shè)計實現(xiàn)奠定了堅實的基礎(chǔ)。

參考文獻

[1] 黎荊梅,周梅,李傳榮.陣列推掃式機載激光雷達(dá)三維點云解算方法研究[J].遙感技術(shù)應(yīng)用,2013,28(6):1033-1038.

[2] 李番,鄔雙陽,楊紅果,等.機關(guān)雷達(dá)多元陣列探測技術(shù)[J].紅外與激光工程,2009,38(2):295-299.

[3] 賀文靜,胡堅,李子揚,等.基于多DSP的遙感圖像實時壓縮系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2015,41(5):46-56.

[4] SEUI J,SUNG S K.Hardware implementation of a real-time neural network controller with a DSP and an FPGA for nonlinear systems[J].Industrial Electronics,IEEE Transactions on 2007,54(1):265-71.

[5] 李鑫,姜明.多核DSP告訴實時信號處理系統(tǒng)設(shè)計[J].光學(xué)設(shè)計,2012,38(1):116-120.

[6] 趙振華,鄭紅.嵌入式可重構(gòu)的多DSP圖像并行處理系統(tǒng)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2009(2):12-15.

[7] 繩偉光,蔣建飛,何衛(wèi)鋒.高性能DSP的發(fā)展現(xiàn)狀與未來趨勢[J].中國集成電路,2011(4):20-25.

[8] Texas Instruments.TMS320C66x DSP CPU and instruction set reference guide(Literature Number: SPRUGH7)[EB/OL].(2010)[2016].www.ti.com.

[9] Texas Instruments.TMS320C6678 multicore fixed and floating-point digital signal processor data manual[EB/OL].(2014)[2016].www.ti.com.

[10] Texas Instruments.Multicore programming guide(Literature Number:SPRAB27B)[EB/OL].(2011)(2016).www.ti.com.

[11] 吳灝,肖吉陽,范紅旗,等.TMS320C6678多核DSP的核間通信方法[J].電子技術(shù)應(yīng)用,2012,38(9):11-13.

[12] Texas Instruments.SYS/BIOS inter-processor communication user’s guide(Literature Number: SPRUGO6E)[EB/OL].(2012)[2016].www.ti.com.

[13] 劉力,張鵬,楊軍.基于EDMA3控制器的多通道音頻數(shù)據(jù)傳輸[J].電聲技術(shù),2014,38(8):59-61.

[14] 但永平,彭紅濤,王東云,等.EDMA3在圖像數(shù)據(jù)快速傳輸中的應(yīng)用[J].液晶與顯示,2013,28(1):99-104.



作者信息:

牛京玉,胡  堅,孟凡榮,賀文靜

(中國科學(xué)院光電研究院 中國科學(xué)院定量遙感信息技術(shù)重點實驗室,北京100094)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。