文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2017.02.012
中文引用格式: 牛京玉,,胡堅(jiān),,孟凡榮,等. 基于多核DSP的激光點(diǎn)云解算算法并行設(shè)計(jì)[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.
0 引言
近年來(lái),將遙感技術(shù)與自動(dòng)化控制技術(shù),、通信技術(shù),、傳感器檢測(cè)技術(shù)相結(jié)合,快速獲取并實(shí)時(shí)處理分析環(huán)境,、時(shí)間等多維遙感信息是一種新型的遙感應(yīng)用方式。該方式融合了多種專業(yè)的技術(shù)特點(diǎn),,已成為促進(jìn)遙感技術(shù)在多領(lǐng)域得以廣泛應(yīng)用的重點(diǎn)研究問(wèn)題,。其中,機(jī)載激光雷達(dá)技術(shù)(Light Detection And Ranging,,LiDAR)作為一種實(shí)現(xiàn)高精度地表多維信息快速獲取的新興航空遙感技術(shù)[1],,已被廣泛應(yīng)用于油氣勘測(cè),、電力傳輸、城市規(guī)劃,、土地資源調(diào)查,、災(zāi)害評(píng)估等領(lǐng)域。
目前,,國(guó)內(nèi)外針對(duì)機(jī)載激光雷達(dá)的研究和商業(yè)化應(yīng)用不斷發(fā)展[2],,其中 LiDAR系統(tǒng)直接獲取的原始數(shù)據(jù)(包括發(fā)射角、測(cè)距值)必須經(jīng)過(guò)點(diǎn)云解算才能形成三維數(shù)據(jù),,因此,,點(diǎn)云解算是LiDAR系統(tǒng)數(shù)據(jù)處理算法中不可或缺的環(huán)節(jié)。然而,,面對(duì)當(dāng)今應(yīng)用對(duì)精度,、實(shí)時(shí)性要求不斷提升的需求,具有計(jì)算量很大,、處理算法復(fù)雜等特點(diǎn)的點(diǎn)云解算需要依托于高性能的機(jī)載處理平臺(tái),。其中,DSP憑借著運(yùn)算能力強(qiáng),、功耗低,、資源豐富、靈活性強(qiáng)等優(yōu)勢(shì),,在圖像視頻處理,、數(shù)字通信、神經(jīng)網(wǎng)絡(luò)等方面[3,,4]得到了廣泛運(yùn)用,。
隨著超大規(guī)模集成電路技術(shù)的日益發(fā)展,DSP技術(shù)已發(fā)展至可高效共享資源,、降低功耗成本[5,,6]的高性能多核DSP階段。這也是面對(duì)不斷向大帶寬,、高精度,、高實(shí)時(shí)性要求發(fā)展的信號(hào)處理趨勢(shì)的必然選擇。
本文將利用多核DSP展開面向機(jī)載陣列推掃式激光雷達(dá)系統(tǒng)的點(diǎn)云解算方法的并行設(shè)計(jì)與實(shí)現(xiàn),,在點(diǎn)云解算原理,、多核DSP系統(tǒng)資源方面介紹基礎(chǔ)上,對(duì)點(diǎn)云解算算法的并行模型設(shè)計(jì),、核間通信設(shè)計(jì),、效能測(cè)試方面進(jìn)行研究與分析。
1 點(diǎn)云解算原理
陣列推掃式機(jī)載激光雷達(dá)系統(tǒng)建立三維點(diǎn)云解算模型的數(shù)據(jù)采集模塊,而點(diǎn)云解算則是將該系統(tǒng)獲取的激光點(diǎn)數(shù)據(jù)通過(guò)一系列處理得到三維空間信息的過(guò)程,。首先,,利用激光雷達(dá)載荷獲得激光脈沖的往返時(shí)間間隔及載荷位置姿態(tài)信息;然后,,將激光掃描坐標(biāo)系下的測(cè)距值經(jīng)激光掃描坐標(biāo)系,、慣性導(dǎo)航坐標(biāo)系、導(dǎo)航投影坐標(biāo)系,、地心坐標(biāo)系轉(zhuǎn)換后,,求出每個(gè)激光腳點(diǎn)精確的三維空間坐標(biāo)(X,Y,,Z),,從而完成激光點(diǎn)云解算。為提高激光點(diǎn)云的解算精度,,在解算的過(guò)程中需將系統(tǒng)檢校參數(shù)代入,,進(jìn)行校正處理[1]。
另外,,由于掃描過(guò)程中會(huì)出現(xiàn)誤將低空飛行物當(dāng)作被測(cè)目標(biāo)記錄,,或受到多路徑誤差或激光測(cè)距儀誤差影響等情況,可能導(dǎo)致數(shù)據(jù)中出現(xiàn)粗差,。為保證機(jī)上處理速度,,在算法中加入基于掃描距離值的快速粗差濾除閾值處理。處理流程如圖1所示,。
2 基于多核DSP的并行設(shè)計(jì)
2.1 硬件平臺(tái)資源介紹
相比于單核DSP,,多核DSP具有更強(qiáng)的并行處理能力和更優(yōu)化的功耗管理能力[7],因而得到了更多的關(guān)注,。各主要數(shù)字信號(hào)處理器廠商,,如Cradle、TI,、ADI以及Freescale公司都相繼推出多核DSP,。其中,TI公司的TMS320C6678在內(nèi)核數(shù),、主頻,、功耗、運(yùn)算能力等方面均具有較為突出的優(yōu)勢(shì),。
TMS320C6678是基于Keystone架構(gòu)的定點(diǎn)/浮點(diǎn)混合多核DSP[8],,內(nèi)置8個(gè)C66x DSP核,最高工作頻率可達(dá)1.4 GHz,,具有320GMACS的定點(diǎn)處理能力和160 GFLOPS的浮點(diǎn)運(yùn)算能力,。其還擁有豐富的片內(nèi)資源,,多種高速互聯(lián)接口[9]。此外,,TI公司還提供了具有任務(wù)調(diào)度、資源管理等功能的SYS/BIOS實(shí)時(shí)操作系統(tǒng),,可大大縮短開發(fā)周期,。可見,,C6678能很好地適應(yīng)對(duì)低功耗,、高性能、可編程性等多方面有嚴(yán)格要求的應(yīng)用環(huán)境,,是實(shí)現(xiàn)實(shí)時(shí)處理復(fù)雜算法的最佳選擇,。
2.2 并行模型設(shè)計(jì)
在多核DSP的系統(tǒng)設(shè)計(jì)中,并行處理模型的構(gòu)建包括任務(wù)調(diào)度,、消息通信,、內(nèi)存訪問(wèn)三者間的綜合考慮,只有采用最優(yōu)化的結(jié)合方案,,才能達(dá)到處理效果和資源功耗間的平衡狀態(tài),,從而獲得處理系統(tǒng)的高性能。因此,,選擇適合的并行模型無(wú)疑是多核DSP系統(tǒng)開發(fā)的最關(guān)鍵步驟之一,。目前,多核DSP并行模型主要有兩種:數(shù)據(jù)流模型(Data Flow Model)和主從模型(Master Slave Model)[10],。其中,,數(shù)據(jù)流模型描述了DSP的多個(gè)內(nèi)核串行的工作方式,具有思路簡(jiǎn)單,、實(shí)時(shí)性較好,、模塊間依賴性強(qiáng)、通信頻繁的特點(diǎn),,較為適合處理流程單一,、內(nèi)核間強(qiáng)相關(guān)性的應(yīng)用;主從模型則是從多個(gè)內(nèi)核中選定一個(gè)作為主核負(fù)責(zé)總體控制,,其余內(nèi)核作為從核執(zhí)行具體計(jì)算任務(wù)的工作方式,,具有各從核間相互獨(dú)立、配置靈活的特點(diǎn),,更適于處理流程算法復(fù)雜,、核間弱相關(guān)性的應(yīng)用。
本次設(shè)計(jì)中應(yīng)用的點(diǎn)云解算算法具有處理流程復(fù)雜,、浮點(diǎn)運(yùn)算量大的特點(diǎn),,且待處理的數(shù)據(jù)將以一行的量為基本處理單位,處理過(guò)程獨(dú)立??梢娫撍惴ú⒉贿m合將整體算法分塊拆分至不同核的設(shè)計(jì)思路,,這樣會(huì)造成大量由于機(jī)載點(diǎn)云數(shù)據(jù)質(zhì)量檢測(cè)引入的邏輯消耗、核間同步以及數(shù)據(jù)通信消耗,,是一種得不償失的做法,。因此,本文將采用主從方式設(shè)計(jì)點(diǎn)云解算的并行模型,。
本文的具體設(shè)計(jì)思路是:將0核設(shè)置為主核,,其任務(wù)包括監(jiān)控所有從核的任務(wù)進(jìn)度、建立與多種外設(shè)以及從核間的有效通信橋梁,;1~7核為從核,,其任務(wù)包括當(dāng)前狀態(tài)反饋、點(diǎn)云解算主體操作,。
2.3 核間通信設(shè)計(jì)
核間通信是多核處理器實(shí)現(xiàn)并行處理的重要組成部分[11],,其主要有消息通信和數(shù)據(jù)搬移兩方面。消息通信通常用于實(shí)現(xiàn)核間同步通知以及狀態(tài)反饋,,而數(shù)據(jù)移動(dòng)則適用于大量的運(yùn)算數(shù)據(jù)傳輸,。C6678中也提供了多種通信方式和模塊庫(kù),主要的有:同步變量監(jiān)視,、核間直接中斷,、Event Notify、MessageQ Queue,、多核導(dǎo)航器以及EDMA3[10,,12,13],。
其中,,同步變量監(jiān)視模式所需模塊最少,實(shí)現(xiàn)簡(jiǎn)單,,但需不斷維護(hù)Cache一致性和CPU占有情況,;核間直接中斷方式無(wú)BIOS參與,實(shí)現(xiàn)思路清晰,,但頻繁的中斷增加額外耗時(shí),,靈活度低;Event Notify方式簡(jiǎn)單快捷,,但數(shù)據(jù)傳輸能力弱,,復(fù)雜度較高;Message Queue方式提供了更精細(xì)的數(shù)據(jù)消息,,靈活性和適應(yīng)性強(qiáng),,應(yīng)用廣泛,,但復(fù)雜度高;多核導(dǎo)航器方式實(shí)現(xiàn)設(shè)備內(nèi)的數(shù)據(jù)高性能傳輸,,靈活度大,,但復(fù)雜度很大;增強(qiáng)型直接內(nèi)存訪問(wèn)(Enhanced Direct Memory Access 3,,EDMA3)方式可實(shí)現(xiàn)數(shù)據(jù)的高效傳輸,,且該過(guò)程幾乎不占用CPU時(shí)鐘[14],但復(fù)雜度也高,。因此,同步變量監(jiān)視,、核間直接中斷,、Event Notify和Message Queue這4種方式比較適合于核間同步消息通知,而多核導(dǎo)航器和EDMA3則更適合于數(shù)據(jù)通信,。
本文待實(shí)現(xiàn)的點(diǎn)云解算算法在多核通信方面有如下需求:消息通信方面,,需要實(shí)現(xiàn)主核和從核間的同步通知,用于監(jiān)控處理的進(jìn)度,;數(shù)據(jù)通信方面,,需要實(shí)現(xiàn)對(duì)原始數(shù)據(jù)塊、各階段處理結(jié)果的劃分及高速數(shù)據(jù)傳輸過(guò)程,。
再結(jié)合DSP內(nèi)部存儲(chǔ)器空間小但訪問(wèn)速度快,、外部存儲(chǔ)器DDR3空間大而訪問(wèn)速度慢以及陣列推掃式激光雷達(dá)系統(tǒng)具有按描行存儲(chǔ)處理數(shù)據(jù)的特點(diǎn),為了盡可能提高傳輸效率,,以PING-PONG傳輸方式建立數(shù)據(jù)緩存機(jī)制:先將采集的數(shù)據(jù)流逐行緩存到DDR3中,,并在從核內(nèi)部存儲(chǔ)器建立兩個(gè)緩存區(qū),以EDMA3方式實(shí)現(xiàn)數(shù)據(jù)在DDR3與內(nèi)部存儲(chǔ)器之間的高速傳輸,,并且采用靈活度高的Message Queue實(shí)現(xiàn)核間同步消息通信,。圖2展示了本文基于TMS320C6678的點(diǎn)云解算總體設(shè)計(jì)構(gòu)架。
3 實(shí)驗(yàn)結(jié)果分析
本文實(shí)驗(yàn)采用TMDXEVM6678L EVM C6678 DSP開發(fā)板,,這是一款用于對(duì)TMS320C6678進(jìn)行評(píng)估開發(fā)的硬件平臺(tái),。實(shí)驗(yàn)時(shí),DSP核主頻設(shè)置為1 GHz,。實(shí)驗(yàn)激光點(diǎn)云原始數(shù)據(jù)來(lái)自某線陣推掃LiDAR載荷飛行試驗(yàn)獲取的一段數(shù)據(jù),,行數(shù)為8 400行,每行208 B,,總數(shù)據(jù)量約為1.67 MB,;載荷位置數(shù)據(jù)也選取對(duì)應(yīng)的8 400行,每行52 B,,總數(shù)據(jù)量約為426.56 KB,。
實(shí)驗(yàn)分析了不同大小數(shù)據(jù)塊對(duì)基于多核DSP主從模型的LiDAR數(shù)據(jù)實(shí)時(shí)處理運(yùn)行效率的影響,,在數(shù)據(jù)處理總行數(shù)一定的條件下,分別以1,、2,、4、6,、8,、10行數(shù)劃分每次處理數(shù)據(jù)傳輸塊,從而獲取數(shù)據(jù)傳輸及點(diǎn)云解算處理的耗時(shí)測(cè)試數(shù)據(jù),。同時(shí),,實(shí)驗(yàn)還對(duì)比記錄了相同總數(shù)據(jù)量、每次處理行數(shù)不變的條件下,,單核實(shí)現(xiàn)點(diǎn)云解算處理的耗時(shí),,如表1所示。
從表1可知,,設(shè)計(jì)的點(diǎn)云解算多核并行模型在7核并行運(yùn)算的情況下,,效率達(dá)不到7倍單核的理想狀態(tài),原因?yàn)閷?shí)際的運(yùn)算過(guò)程會(huì)由于核間通信,、數(shù)據(jù)傳輸?shù)仍虍a(chǎn)生時(shí)間消耗和資源競(jìng)爭(zhēng),。需要注意的是,不合理的方案設(shè)置反而會(huì)增加整體的運(yùn)行耗時(shí),,造成與資源消耗情況相距甚遠(yuǎn)的結(jié)果,。文中設(shè)計(jì)充分考慮并平衡了通信消耗和傳輸資源競(jìng)爭(zhēng)等方面的影響,將效率提升到單核的6.6倍左右,,使得性能得到了較大提升,。
圖3顯示了單/多核模型的總耗時(shí)與處理行數(shù)間的關(guān)系。針對(duì)多核并行處理方式,,如圖3(a)所示,,運(yùn)行耗時(shí)由核間通信和EDMA3模塊調(diào)用的次數(shù)變化共同影響,其隨著每次處理行數(shù)的增加而降低,。在處理總行數(shù)一定的情況下,,每次處理的行數(shù)越多,總體處理方案調(diào)用核間同步通信和EDMA 3模塊的次數(shù)越少,,通信傳輸消耗降低,。此外,從圖3(a)中還能看出:曲線斜率隨著行數(shù)的增加而變緩,,其原因在于增加每核處理行數(shù),,也會(huì)增大每次傳輸時(shí)間和內(nèi)部緩存壓力,體現(xiàn)出核間調(diào)度和數(shù)據(jù)傳輸兩者的矛盾關(guān)系,,需要遇到具體問(wèn)題具體劃分?jǐn)?shù)據(jù)塊行數(shù),。圖3(b)顯示了單核處理方式下,,運(yùn)行耗時(shí)和每次處理行數(shù)的關(guān)系,其變化趨勢(shì)與多核一致,。隨著每次處理的行數(shù)增多,,每次EDMA3傳輸?shù)臄?shù)據(jù)量增加,對(duì)EDMA3相關(guān)控制器設(shè)置的總次數(shù)減少,,而EDMA3控制器的設(shè)置耗時(shí)相對(duì)較少,。由此可得:EDMA3每次傳輸數(shù)據(jù)量的不同導(dǎo)致了耗時(shí)的不同,充分驗(yàn)證了EDMA3在傳輸大數(shù)據(jù)量時(shí)具有一定的優(yōu)勢(shì),。在具體的設(shè)計(jì)過(guò)程中,,需要合理選擇每次的處理行數(shù),以達(dá)到效率最優(yōu)化,。
4 結(jié)論
本文采用TMS320C6678硬件平臺(tái),,設(shè)計(jì)搭建了基于機(jī)載陣列式推掃激光雷達(dá)系統(tǒng)的點(diǎn)云解算算法的多核并行主從處理模型,執(zhí)行效率達(dá)到了單核的6.6倍,,使得性能得到了很大的提升,證明了對(duì)激光雷達(dá)技術(shù)的嵌入式實(shí)時(shí)處理系統(tǒng)的可行性,。為進(jìn)一步的遙感三維影像生成技術(shù)的嵌入式實(shí)時(shí)處理系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)奠定了堅(jiān)實(shí)的基礎(chǔ),。
參考文獻(xiàn)
[1] 黎荊梅,周梅,,李傳榮.陣列推掃式機(jī)載激光雷達(dá)三維點(diǎn)云解算方法研究[J].遙感技術(shù)應(yīng)用,,2013,28(6):1033-1038.
[2] 李番,,鄔雙陽(yáng),,楊紅果,等.機(jī)關(guān)雷達(dá)多元陣列探測(cè)技術(shù)[J].紅外與激光工程,,2009,,38(2):295-299.
[3] 賀文靜,胡堅(jiān),,李子揚(yáng),,等.基于多DSP的遙感圖像實(shí)時(shí)壓縮系統(tǒng)設(shè)計(jì)[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告訴實(shí)時(shí)信號(hào)處理系統(tǒng)設(shè)計(jì)[J].光學(xué)設(shè)計(jì),2012,,38(1):116-120.
[6] 趙振華,,鄭紅.嵌入式可重構(gòu)的多DSP圖像并行處理系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,,2009(2):12-15.
[7] 繩偉光,蔣建飛,,何衛(wèi)鋒.高性能DSP的發(fā)展現(xiàn)狀與未來(lái)趨勢(shì)[J].中國(guó)集成電路,,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] 吳灝,肖吉陽(yáng),,范紅旗,,等.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.
作者信息:
牛京玉,,胡 堅(jiān),孟凡榮,,賀文靜
(中國(guó)科學(xué)院光電研究院 中國(guó)科學(xué)院定量遙感信息技術(shù)重點(diǎn)實(shí)驗(yàn)室,,北京100094)