解 沛 周令非 劉知一 王木旺
中國(guó)電影科學(xué)技術(shù)研究所(中央宣傳部電影技術(shù)質(zhì)量檢測(cè)所),北京 100086
近年來(lái),隨著影視制作技術(shù)的進(jìn)步,影視拍攝與制作方式出現(xiàn)了巨大的變革與創(chuàng)新。在LED 背景墻顯示技術(shù)提升以及虛擬攝制引擎在影視制作領(lǐng)域逐步發(fā)力的雙重影響下,催化出基于LED 背景墻的電影虛擬攝制技術(shù)[1](以下簡(jiǎn)稱“LED 虛擬攝制”)。相關(guān)LED 虛擬攝制影視作品,例如《曼達(dá)洛人》《登月第一人》等取得了藝術(shù)視覺效果與市場(chǎng)效益雙豐收,進(jìn)一步推動(dòng)LED 虛擬攝制成為當(dāng)下影視制作的熱點(diǎn)。
在LED 虛擬攝制中,采用LED 背景墻,依靠LED光照、實(shí)時(shí)攝影機(jī)追蹤和實(shí)時(shí)渲染這三者的結(jié)合,實(shí)現(xiàn)前景演員、置景和虛擬背景之間的無(wú)縫銜接。而這之中,攝影機(jī)運(yùn)動(dòng)軌跡實(shí)時(shí)追蹤系統(tǒng)作為虛擬與現(xiàn)實(shí)連接的關(guān)鍵一環(huán),無(wú)論是對(duì)準(zhǔn)確性還是追蹤實(shí)時(shí)性,都有著很高的要求。攝影機(jī)運(yùn)動(dòng)軌跡實(shí)時(shí)追蹤通過對(duì)真實(shí)攝影機(jī)位姿的追蹤,將獲得的攝影機(jī)位姿數(shù)據(jù)通過特定數(shù)據(jù)格式傳送至渲染引擎中,在LED 背景墻內(nèi)渲染的虛擬場(chǎng)景中顯示正確的內(nèi)視錐視角[2]。目前LED 虛擬攝制解決方案中,大多采用基于紅外光的光學(xué)式追蹤系統(tǒng)(以下簡(jiǎn)稱“紅外式追蹤系統(tǒng)”)實(shí)現(xiàn)攝影機(jī)運(yùn)動(dòng)軌跡的追蹤。此方式通過原有用于捕捉骨骼動(dòng)作的動(dòng)作捕捉系統(tǒng)實(shí)現(xiàn)攝影機(jī)單一剛性物體運(yùn)動(dòng)軌跡的追蹤,具有數(shù)據(jù)量豐富、技術(shù)成熟等優(yōu)點(diǎn),但此類動(dòng)作捕捉系統(tǒng)也存在成本過高、配套設(shè)備數(shù)量繁多、抗干擾能力弱等缺點(diǎn)。
激光雷達(dá)技術(shù)最先出現(xiàn)在自動(dòng)駕駛領(lǐng)域,隨著無(wú)人機(jī)、物流用機(jī)器人等設(shè)備的廣泛應(yīng)用,激光雷達(dá)逐漸為大眾所熟知。激光雷達(dá)的底層技術(shù)基于飛行時(shí)間(Time of Filght,ToF)進(jìn)行實(shí)現(xiàn),即利用激光信號(hào)在兩個(gè)異步收發(fā)機(jī)(或被反射面)之間往返的飛行時(shí)間來(lái)測(cè)量節(jié)點(diǎn)間的距離,對(duì)飛行時(shí)間作適當(dāng)處理后可獲得目標(biāo)的有關(guān)信息,如目標(biāo)距離、方位、高度、速度、姿態(tài)甚至形狀等參數(shù)。通過激光雷達(dá)實(shí)現(xiàn)攝影機(jī)的實(shí)時(shí)追蹤,既能夠解決現(xiàn)有紅外式追蹤系統(tǒng)抗干擾能力弱的問題,又能夠緩解當(dāng)下動(dòng)作捕捉系統(tǒng)配套設(shè)備繁多、價(jià)格昂貴的問題,此外還可以解決現(xiàn)有紅外式追蹤系統(tǒng)安裝挖孔時(shí)所導(dǎo)致的LED 屏幕無(wú)法連續(xù)排列的問題。
在LED 背景墻前拍攝時(shí),為了保證在攝影機(jī)中拍攝的畫面具有正確的景深、位置關(guān)系,應(yīng)保證LED屏幕顯示的渲染場(chǎng)景可以隨著攝影機(jī)的移動(dòng)而實(shí)時(shí)更新。為了兼顧顯示效果與性能,通常對(duì)攝影機(jī)取景器內(nèi)的畫面(內(nèi)視錐)進(jìn)行高精度的渲染:在保證光照與反射的前提下,降低內(nèi)視錐以外的部分(外視錐)的分辨率或使用靜態(tài)場(chǎng)景。基于此,在LED 虛擬攝制中實(shí)時(shí)獲取攝影機(jī)相關(guān)信息至關(guān)重要,這些信息既包括了攝影機(jī)的位置以及旋轉(zhuǎn)角度的外部參數(shù),也包含攝影機(jī)自身鏡頭參數(shù)等內(nèi)部參數(shù)。外部參數(shù)通常需要對(duì)攝影機(jī)進(jìn)行實(shí)時(shí)追蹤來(lái)獲取。
攝影機(jī)實(shí)時(shí)追蹤流程如圖1 所示。首先,攝影機(jī)追蹤系統(tǒng)對(duì)實(shí)體攝影機(jī)進(jìn)行追蹤并獲得相應(yīng)數(shù)據(jù)。之后將獲得的追蹤數(shù)據(jù)實(shí)時(shí)傳送至虛擬制作引擎當(dāng)中并移動(dòng)虛擬場(chǎng)景中的虛擬攝影機(jī),從而實(shí)現(xiàn)與實(shí)體攝影機(jī)運(yùn)動(dòng)的實(shí)時(shí)匹配,進(jìn)而完成LED 背景墻上畫面的實(shí)時(shí)渲染與合成。

圖1 攝影機(jī)實(shí)時(shí)追蹤流程圖
相比于原有動(dòng)捕系統(tǒng)的普通紅外光(基于LED燈珠),激光雷達(dá)所發(fā)射的紅外激光具有單色性、方向性、相干性等特點(diǎn),測(cè)量精度高、響應(yīng)速度快、抗干擾力強(qiáng)。現(xiàn)有的激光雷達(dá)定位技術(shù)多以解決室內(nèi)定位問題為主,LED 虛擬攝制中的攝影機(jī)實(shí)時(shí)追蹤技術(shù)同樣屬于室內(nèi)定位問題。在室內(nèi)環(huán)境下,無(wú)法利用外界信號(hào)進(jìn)行定位,為了實(shí)現(xiàn)準(zhǔn)確定位,激光雷達(dá)通常利用內(nèi)置傳感器獲取周圍環(huán)境并進(jìn)行自身運(yùn)動(dòng)軌跡的計(jì)算。激光雷達(dá)在對(duì)自身運(yùn)動(dòng)軌跡計(jì)算的同時(shí),也能夠利用該軌跡反求出室內(nèi)環(huán)境地圖信息,該技術(shù)被稱為即時(shí)定位與地圖構(gòu)建(Simultaneous Localization and Mapping,SLAM)技術(shù)[2]。該技術(shù)利用精確定位來(lái)實(shí)現(xiàn)精細(xì)建圖,而精確的定位又需要周圍環(huán)境的精細(xì)建模,兩者相輔相成。
根據(jù)求解方法不同,通常將激光SLAM 技術(shù)分為基于濾波器的SLAM 技術(shù)和基于圖優(yōu)化的SLAM 技術(shù)兩種。目前基于圖優(yōu)化的SLAM 技術(shù)研究?jī)?nèi)容較多,該技術(shù)在實(shí)現(xiàn)時(shí)主要分為前端和后端兩個(gè)部分,前端剔除點(diǎn)云圖像中的冗余和錯(cuò)誤點(diǎn)集,后端計(jì)算對(duì)應(yīng)特征間的殘差以及校正運(yùn)動(dòng)畸變等。點(diǎn)云數(shù)據(jù)的對(duì)齊與匹配是實(shí)現(xiàn)激光SLAM 掃描的常用方法。對(duì)齊與匹配技術(shù)通過求解坐標(biāo)轉(zhuǎn)換矩陣,將相鄰兩幀或多幀點(diǎn)云圖像統(tǒng)一到同一坐標(biāo)系下,或者將點(diǎn)云圖像與已建立的地圖進(jìn)行配準(zhǔn),從而最終得到從目標(biāo)對(duì)象至源對(duì)象的真實(shí)運(yùn)動(dòng)軌跡變化。
2.2.1 基于點(diǎn)的掃描匹配方法
基于點(diǎn)的掃描匹配方法較為便捷高效,迭代最近點(diǎn)(Iterative Closest Point,ICP)算法[3][4]是最早提出,也是變體最多的算法。
標(biāo)準(zhǔn)ICP 算法通過如下兩個(gè)關(guān)鍵步驟實(shí)現(xiàn):(1)利用最近歐式距離建立不同點(diǎn)云圖像中各點(diǎn)集間對(duì)應(yīng)關(guān)系C;(2)通過最小化對(duì)應(yīng)點(diǎn)間歐式距離平方和來(lái)求解新的相對(duì)變換。該算法給定初值T*0,通過迭代進(jìn)行上述兩步操作,當(dāng)滿足預(yù)設(shè)的終止條件時(shí),結(jié)束迭代,得到最優(yōu)變換估值T*,即坐標(biāo)系轉(zhuǎn)換關(guān)系矩陣。
隨著研究深入,研究人員也提出了各類ICP 算法的變體,ICP 類算法可統(tǒng)一歸納為以下6 個(gè)步驟:(1)選擇處理的點(diǎn)云圖像;(2)確定點(diǎn)云圖像內(nèi)點(diǎn)集的對(duì)應(yīng)關(guān)系;(3)利用預(yù)先設(shè)置好的策略對(duì)部分點(diǎn)集對(duì)進(jìn)行加權(quán)計(jì)算;(4)排除特定的點(diǎn)集對(duì);(5)確定最小誤差值;(6)最小化誤差度量。
模塊化的ICP 算法如圖2 所示,首先,先對(duì)輸入的源點(diǎn)云與目標(biāo)點(diǎn)云進(jìn)行濾波處理,消除冗余數(shù)據(jù)與離群點(diǎn),或計(jì)算表面特征如曲率和法向;第二步,將匹配函數(shù)用于源點(diǎn)云和目標(biāo)點(diǎn)云的點(diǎn)集的對(duì)應(yīng);第三步,計(jì)算好點(diǎn)集對(duì)之間的對(duì)應(yīng)關(guān)系后,可通過不同的計(jì)算方式排除異常點(diǎn)集對(duì),如可設(shè)置最大距離閾值,超過該閾值的點(diǎn)集對(duì)會(huì)被判定為無(wú)效數(shù)據(jù);最終,對(duì)剩余的有效點(diǎn)集對(duì)利用最小化誤差度量,并不斷迭代求解新的變換關(guān)系直到滿足預(yù)設(shè)的收斂條件。

圖2 模塊化ICP 算法流程圖
2.2.2 基于特征的掃描匹配方法
前述章節(jié)中的ICP 算法在計(jì)算過程中即使進(jìn)行了數(shù)據(jù)清洗與剔除,仍有可能包含異常點(diǎn)集,為了解決該問題,研究人員提出利用點(diǎn)云圖像中的部分關(guān)鍵特征進(jìn)行對(duì)齊與匹配,關(guān)鍵特征可以是點(diǎn)、線、弧、面等或者它們的組合。這種利用關(guān)鍵特征進(jìn)行對(duì)齊與匹配的方法被稱為基于特征的掃描匹配,其流程如圖3 所示。該方法需要在點(diǎn)云圖像中提取有效特征,如點(diǎn)、線、弧、面或它們的組合,以及法向、曲率等特征,此外,還包括自定義的各種特征描述子(Descriptor)。基于從點(diǎn)云圖像中提取到的特征,該方法可實(shí)現(xiàn)快速對(duì)齊與匹配,在缺乏初始條件的情況下,也可獲得坐標(biāo)系轉(zhuǎn)換關(guān)系矩陣[5]。

圖3 基于特征的掃描匹配方法流程圖
2.2.3 基于數(shù)學(xué)特性的掃描匹配方法
目前在激光雷達(dá)SLAM 領(lǐng)域內(nèi),還存在一類利用各種數(shù)學(xué)性質(zhì)計(jì)算點(diǎn)云圖像間位姿變化的掃描匹配方法,被稱為基于數(shù)學(xué)特性的掃描匹配方法,其中最著名的是利用正態(tài)分布變換(Normal Distributions Transform,NDT)[6]的掃描匹配方法。NDT 類方法比ICP 類算法具有更高的效率和更廣的收斂域,在2D和3D 應(yīng)用場(chǎng)景中已存在較為成熟的解決方案。但在缺乏良好初始條件下,該算法會(huì)穿線陷入局部最優(yōu)的問題。
筆者利用激光雷達(dá)追蹤技術(shù)、慣性測(cè)量單元(Inertial Measurement Unit,IMU)位姿計(jì)算方法以及自定義的數(shù)據(jù)傳輸格式,設(shè)計(jì)并實(shí)現(xiàn)了基于激光雷達(dá)的攝影機(jī)實(shí)時(shí)追蹤系統(tǒng)。
基于激光雷達(dá)的攝影機(jī)實(shí)時(shí)追蹤系統(tǒng)流程如圖4 所示。第一步,需要確定攝制現(xiàn)場(chǎng)的原點(diǎn)位置,在虛擬制作引擎當(dāng)中構(gòu)建LED 屏幕以及攝影機(jī)的相對(duì)位置關(guān)系,搭建好拍攝需要的虛擬場(chǎng)景(道具、燈光等位置與參數(shù));第二步,將激光雷達(dá)裝置與攝影機(jī)進(jìn)行綁定,并標(biāo)定攝影機(jī)感光元器件的位置,設(shè)置相關(guān)偏移量;第三步,在攝影機(jī)運(yùn)動(dòng)時(shí),激光雷達(dá)隨攝影機(jī)進(jìn)行運(yùn)動(dòng),并實(shí)時(shí)獲取、分析與計(jì)算位置數(shù)據(jù),從而得出攝影機(jī)的運(yùn)動(dòng)軌跡;第四步,通過激光雷達(dá)內(nèi)置的慣性測(cè)量單元IMU 輔助校正運(yùn)動(dòng)軌跡;第五步,通過加權(quán)計(jì)算等優(yōu)化步驟,得到當(dāng)下的運(yùn)動(dòng)軌跡數(shù)據(jù);第六步,在獲取攝影機(jī)的運(yùn)動(dòng)軌跡后,通過用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)協(xié)議,將軌跡數(shù)據(jù)按照統(tǒng)一的規(guī)范傳入虛幻引擎(UE);最后,虛幻引擎(UE)根據(jù)獲取的運(yùn)動(dòng)軌跡數(shù)據(jù),“驅(qū)動(dòng)”虛擬場(chǎng)景中虛擬攝影機(jī)的運(yùn)動(dòng)。

圖4 基于激光雷達(dá)的攝影機(jī)實(shí)時(shí)運(yùn)動(dòng)追蹤系統(tǒng)流程
3.2.1 預(yù)設(shè)置模塊
在進(jìn)行攝影機(jī)的實(shí)時(shí)追蹤前,需要對(duì)影棚內(nèi)的真實(shí)環(huán)境與渲染引擎中的虛擬環(huán)境進(jìn)行一一映射。
3.2.1.1 虛擬LED 背景墻
LED 背景墻作為虛擬攝制中的核心設(shè)備,關(guān)鍵在于在渲染引擎中有效還原LED 背景墻的真實(shí)形狀特點(diǎn)。常用的渲染引擎(例如虛幻引擎)提供了快速配置方式,可以通過設(shè)置LED 箱體大小、安裝形狀(弧形、平直等)、整面背景墻的大小等參數(shù),實(shí)現(xiàn)虛擬LED 背景墻的快速設(shè)置。為了更精準(zhǔn)地反映LED背景墻上的內(nèi)容,可以通過三維激光掃描儀對(duì)LED背景墻進(jìn)行掃描,再利用建模軟件進(jìn)行調(diào)整并導(dǎo)入至渲染引擎。
3.2.1.2 虛擬場(chǎng)景與虛擬攝影機(jī)
虛擬場(chǎng)景無(wú)需與現(xiàn)實(shí)置景一一對(duì)應(yīng),但是需要根據(jù)虛擬攝影棚的實(shí)際情況設(shè)置相應(yīng)的原點(diǎn),以此保證拍攝中人物、前景等與虛擬背景的正確位置關(guān)系。在實(shí)際虛擬攝制中,無(wú)法將激光雷達(dá)與攝影機(jī)真實(shí)的光心架設(shè)在同一位置上。需要測(cè)量激光雷達(dá)與感光元器件的距離差值,并在渲染引擎中設(shè)置,或者在計(jì)算時(shí)一并考慮進(jìn)去。
3.2.2 運(yùn)動(dòng)軌跡計(jì)算模塊
在進(jìn)行攝影機(jī)追蹤時(shí),通過對(duì)激光雷達(dá)的相鄰兩幀數(shù)據(jù)進(jìn)行計(jì)算獲取實(shí)時(shí)位置和姿態(tài)信息。其中,激光雷達(dá)的數(shù)據(jù)又可以分為點(diǎn)云深度數(shù)據(jù)以及慣性測(cè)量數(shù)據(jù)。
3.2.2.1 點(diǎn)云深度數(shù)據(jù)處理
(1)點(diǎn)云過濾。每幀點(diǎn)云數(shù)據(jù)量龐大,例如一幀640×380 的點(diǎn)云幀,共有243,200 組點(diǎn)數(shù)據(jù),同時(shí)龐大的數(shù)據(jù)中又存在多組數(shù)值為0 的點(diǎn)。如果對(duì)原始點(diǎn)云進(jìn)行計(jì)算會(huì)耗費(fèi)大量的時(shí)間,無(wú)法滿足實(shí)時(shí)性。需要對(duì)原始點(diǎn)云進(jìn)行過濾來(lái)提高計(jì)算效率。本文采用體素下采樣過濾器(Voxel Grid Filter)實(shí)現(xiàn)點(diǎn)云過濾,體素即體積像素,表示三維空間的像素。具體地,筆者把三維空間體素化,在每個(gè)體素里采樣一個(gè)點(diǎn),使用中心點(diǎn)或最靠近中心的點(diǎn)作為采樣點(diǎn)Pcentroid,計(jì)算公式如式(1)所示。
其中,m表示一個(gè)體素中數(shù)據(jù)點(diǎn)的數(shù)量。圖5-圖8 分別表示隨機(jī)一幀的點(diǎn)云數(shù)據(jù)以及每間隔0.01米、0.05米、0.1米精度下過濾后一幀的點(diǎn)云數(shù)據(jù)。需要注意的是,為了更加直觀,本文對(duì)點(diǎn)云圖像附加了RGB 攝像頭的彩色數(shù)據(jù)。經(jīng)過筆者比對(duì),采樣間隔越大,有效信息也就越少。

圖5 隨機(jī)一幀點(diǎn)云數(shù)據(jù)

圖6 0.01米精度體素過濾后的點(diǎn)云幀數(shù)據(jù)

圖7 0.05米精度體素過濾后的點(diǎn)云幀數(shù)據(jù)

圖8 0.1米精度體素過濾后的點(diǎn)云幀數(shù)據(jù)
(2)點(diǎn)云數(shù)據(jù)計(jì)算。即對(duì)相鄰的過濾后兩幀點(diǎn)云數(shù)據(jù)進(jìn)行處理,獲得實(shí)時(shí)的運(yùn)動(dòng)數(shù)據(jù)(六自由度,即三個(gè)方向的平移數(shù)據(jù)以及三個(gè)軸向的旋轉(zhuǎn)數(shù)據(jù))。本文通過將兩個(gè)相鄰幀的點(diǎn)云數(shù)據(jù)對(duì)齊,反求出能夠?qū)R兩幀數(shù)據(jù)所需要的轉(zhuǎn)換矩陣(旋轉(zhuǎn)矩陣R 與平移向量t 組成),最終獲得六自由度數(shù)據(jù)。迭代最近點(diǎn)(ICP)算法是最廣泛的應(yīng)用和成熟的階層。Chen[3]和Besl[4]分別獨(dú)立提出ICP 算法。區(qū)別在于,Chen 將點(diǎn)到面的距離作為誤差度量,而Besl 則將點(diǎn)到點(diǎn)的距離作為誤差度量。因此,上述兩種方法分別被稱為“點(diǎn)對(duì)面(P2PL)-ICP”和“點(diǎn)對(duì)點(diǎn)(P2P)-ICP”。本文使用Besl 提出的點(diǎn)對(duì)點(diǎn)式的ICP 算法作為算法基本思想,實(shí)現(xiàn)攝影機(jī)的實(shí)時(shí)追蹤。首先,在后一幀點(diǎn)云(目標(biāo)點(diǎn)云)中選取數(shù)據(jù)點(diǎn)集合Q;第二步,在前一幀點(diǎn)云(源點(diǎn)云)中尋找與目標(biāo)點(diǎn)云數(shù)據(jù)集合對(duì)應(yīng)的點(diǎn)集P;第三步,計(jì)算轉(zhuǎn)換矩陣(R,t),盡量滿足Q=RP+t;第四步,利用得到的轉(zhuǎn)換矩陣對(duì)點(diǎn)集P進(jìn)行變換,得到新的點(diǎn)集P′,計(jì)算P′與Q的平均距離;第五步,如果距離小于預(yù)設(shè)閾值或大于預(yù)設(shè)迭代次數(shù),則停止計(jì)算,并將第三步得到的轉(zhuǎn)換矩陣作為最終的轉(zhuǎn)換矩陣輸出,否則返回第二步,直到滿足收斂條件為止。
3.2.2.2 慣性測(cè)量數(shù)據(jù)處理
本文所使用的慣性測(cè)量數(shù)據(jù)包括陀螺儀(Gyroscope)以及加速度計(jì)(Accelerometre)兩組數(shù)據(jù)。在使用慣性測(cè)量數(shù)據(jù)進(jìn)行計(jì)算后,能夠得到實(shí)時(shí)運(yùn)動(dòng)數(shù)據(jù)中的三自由度(三個(gè)軸向的旋轉(zhuǎn)數(shù)據(jù))。
(1)陀螺儀數(shù)據(jù)處理
陀螺儀是一種硬件傳感器,能夠感知設(shè)備的旋轉(zhuǎn)和方向變化。它通常通過微機(jī)電系統(tǒng)(Micro Electro-Mechanical System,MEMS)技術(shù)來(lái)實(shí)現(xiàn),內(nèi)部包含了微小但高精度的陀螺儀器件等傳感器,可以實(shí)時(shí)地感知設(shè)備在空間中的旋轉(zhuǎn)角度和方向,陀螺儀的每個(gè)通道檢測(cè)一個(gè)軸的旋轉(zhuǎn)。本文通過陀螺儀相鄰兩幀之間的三軸向各自的角速度與時(shí)間差相乘,來(lái)實(shí)現(xiàn)旋轉(zhuǎn)數(shù)據(jù)的獲取。
(2)加速度計(jì)數(shù)據(jù)處理
加速度計(jì)傳感器是一種能夠測(cè)量加速力的電子設(shè)備,加速度計(jì)由檢測(cè)質(zhì)量(也稱敏感質(zhì)量)、支承、電位器、彈簧、阻尼器和殼體組成。檢測(cè)質(zhì)量在加速度計(jì)的運(yùn)動(dòng)過程中只沿一個(gè)坐標(biāo)軸的方向運(yùn)動(dòng),該軸向通常被稱為輸入軸或敏感軸。當(dāng)加速度計(jì)在做加速運(yùn)動(dòng)時(shí),檢測(cè)質(zhì)量與儀表殼體之間產(chǎn)生相對(duì)運(yùn)動(dòng)使彈簧產(chǎn)生形變。彈簧的形變可反映實(shí)時(shí)的加速度數(shù)據(jù)。需要注意,加速度傳感器檢測(cè)到力的方向與它自身運(yùn)動(dòng)加速度的方向是相反的。此外,由于重力的作用,垂直于地面的軸向即使無(wú)運(yùn)動(dòng),也會(huì)存在加速度,故加速度計(jì)無(wú)法測(cè)量圍繞該軸向的旋轉(zhuǎn)運(yùn)動(dòng)。因此,本文基于加速度計(jì)的特點(diǎn),利用線性加速度和三角函數(shù)實(shí)現(xiàn)兩軸向旋轉(zhuǎn)數(shù)據(jù)的獲取。
(3)數(shù)據(jù)整合與優(yōu)化
通過設(shè)置好的過濾器實(shí)現(xiàn)三自由度的計(jì)算。本文對(duì)加速度計(jì)測(cè)量的三自由度進(jìn)行低通濾波,對(duì)陀螺儀測(cè)量的三自由度進(jìn)行高通濾波,并合成兩個(gè)過濾器,對(duì)其數(shù)據(jù)相互補(bǔ)充以獲得最終值。
3.2.3 數(shù)據(jù)傳輸模塊
根據(jù)前文所述的技術(shù)實(shí)現(xiàn)方案,激光雷達(dá)將被固定在攝影機(jī)上,并隨著攝影機(jī)的運(yùn)動(dòng)而移動(dòng),由于虛擬攝影棚面積較大,通過有線連接的方式進(jìn)行數(shù)據(jù)傳輸是不現(xiàn)實(shí)的。為了保證數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性,本文設(shè)計(jì)了一種特定的UDP 數(shù)據(jù)傳輸方案,通過固定的JSON 數(shù)據(jù)格式將六自由度數(shù)據(jù)傳輸至渲染引擎中。具體數(shù)據(jù)格式如下所示:

在本文實(shí)驗(yàn)中,激光雷達(dá)的選型為Intel?RealsenseTMLiDAR CAMERA L515(圖9)[7],搭配使用Epic Games創(chuàng)建的虛幻引擎[8]。為了實(shí)現(xiàn)筆者提出的算法,使用點(diǎn)云庫(kù)(PCL)[9]和Intel?RealSenseTMSDK[10]。在點(diǎn)云中進(jìn)行過濾時(shí),筆者選擇3D 體素網(wǎng)格的方法,其中體素網(wǎng)格尺寸分別為0.005 米、0.01米、0.05 米和0.1 米。在實(shí)現(xiàn)點(diǎn)云數(shù)據(jù)計(jì)算時(shí),使用CPU 多線程加速模式與GPU CUDA 加速模式。

圖9 實(shí)驗(yàn)環(huán)境下與攝影機(jī)綁定的激光雷達(dá)
系統(tǒng)的精度是指在相同條件下進(jìn)行重復(fù)測(cè)量時(shí)的數(shù)據(jù)有多接近。為了評(píng)估系統(tǒng)精度,實(shí)驗(yàn)采用靜止?fàn)顟B(tài)下的重復(fù)測(cè)量位置數(shù)據(jù)進(jìn)行測(cè)試。筆者分別對(duì)利用CPU 多線程以及GPU CUDA 加速下的激光雷達(dá)追蹤精度進(jìn)行測(cè)試,同時(shí)對(duì)激光雷達(dá)內(nèi)置的IMU進(jìn)行精度測(cè)試。
4.1.1 CPU 多線程追蹤精度測(cè)試
在針對(duì)基于CPU 多線程實(shí)現(xiàn)的點(diǎn)云數(shù)據(jù)反求運(yùn)動(dòng)軌跡精度測(cè)試中,將體素網(wǎng)格尺寸分別設(shè)置為0.01 米、0.05 米以及0.1 米,分別在靜止?fàn)顟B(tài)下記錄100 幀的位置信息(圖10),并根據(jù)100 組數(shù)據(jù)計(jì)算標(biāo)準(zhǔn)差(表1)。實(shí)驗(yàn)數(shù)據(jù)表明,隨著體素網(wǎng)格過濾間隔增大,各坐標(biāo)軸精度的離散程度越大,其中Z 軸受過濾間隔變化的影響最小。

表1 CPU 多線程追蹤精度測(cè)試結(jié)果

圖10 CPU 多線程追蹤精度測(cè)試結(jié)果
4.1.2 GPU CUDA 追蹤精度測(cè)試
在針對(duì)基于GPU 實(shí)現(xiàn)的點(diǎn)云數(shù)據(jù)反求運(yùn)動(dòng)軌跡精度的測(cè)試中,體素網(wǎng)格尺寸d 分別設(shè)置為0.01 米、0.05 米以及0.1 米,并分別在靜止?fàn)顟B(tài)下記錄100 幀的位置信息(圖11),根據(jù)100 組數(shù)據(jù)計(jì)算標(biāo)準(zhǔn)差(表2)。實(shí)驗(yàn)數(shù)據(jù)表明,隨著體素網(wǎng)格過濾間隔增大,各坐標(biāo)軸精度的離散程度越大,其中Z 軸受過濾間隔變化的影響最小。

表2 GPU CUDA 追蹤精度測(cè)試結(jié)果

圖11 GPU CUDA 追蹤精度測(cè)試結(jié)果
4.1.3 IMU 運(yùn)動(dòng)軌跡測(cè)試
IMU 測(cè)試過程中,分別選取三種姿勢(shì)(圖13、14、15)進(jìn)行測(cè)試,分別在靜止?fàn)顟B(tài)下記錄100 幀的三自由度數(shù)據(jù),并根據(jù)100 組數(shù)據(jù)計(jì)算方差和標(biāo)準(zhǔn)差,最終測(cè)試結(jié)果如表3 所示,100 幀測(cè)試結(jié)果如圖12 所示。為了更形象地展示測(cè)試結(jié)果,筆者對(duì)IMU 數(shù)據(jù)進(jìn)行歸一化處理。

表3 IMU 測(cè)試結(jié)果

圖12 IMU 運(yùn)動(dòng)軌跡測(cè)試結(jié)果

圖13 姿勢(shì)一渲染效果圖

圖14 姿勢(shì)二渲染效果圖

圖15 姿勢(shì)三渲染效果圖
在對(duì)比實(shí)時(shí)追蹤效率測(cè)試中,過濾精度選擇0.05 米,分別采用在CPU 多線程加速以及GPU CUDA 加速兩種方式的基礎(chǔ)上,附加CPU 單線程運(yùn)算的數(shù)據(jù)。之后,分別記錄不同方式對(duì)于計(jì)算100幀六自由度的數(shù)據(jù)所需時(shí)間(圖16),并求出相對(duì)應(yīng)的平均值(表4)。

表4 不同系統(tǒng)實(shí)時(shí)追蹤效率測(cè)試結(jié)果

圖16 不同系統(tǒng)實(shí)時(shí)追蹤效率測(cè)試結(jié)果
在數(shù)據(jù)精度測(cè)試中,實(shí)驗(yàn)數(shù)據(jù)表明點(diǎn)云數(shù)據(jù)和IMU 數(shù)據(jù)最終計(jì)算出的偏差數(shù)量級(jí)均可忽略不計(jì),即兩種方式均具有較高的數(shù)據(jù)精度。
在追蹤效率測(cè)試中,實(shí)驗(yàn)數(shù)據(jù)表明隨著點(diǎn)云過濾密度提高,即點(diǎn)數(shù)量的增加,CPU 多線程和GPU CUDA 加速對(duì)提升效率作用非常明顯。當(dāng)點(diǎn)數(shù)非常少時(shí),GPU 由于需要與CPU 進(jìn)行數(shù)據(jù)傳輸,此時(shí)運(yùn)算速度不太理想,甚至出現(xiàn)GPU CUDA 加速后效率反而降低的現(xiàn)象。
本文通過對(duì)LED 虛擬攝制中攝影機(jī)實(shí)時(shí)追蹤現(xiàn)有技術(shù)的研究和探索,結(jié)合激光雷達(dá)在自動(dòng)駕駛、物聯(lián)網(wǎng)等實(shí)際場(chǎng)景中逐漸成熟的定位技術(shù),提出了一種LED 虛擬攝制中基于激光雷達(dá)的攝影機(jī)實(shí)時(shí)追蹤技術(shù)方案。該技術(shù)方案利用點(diǎn)云數(shù)據(jù)與慣性數(shù)據(jù),實(shí)時(shí)計(jì)算運(yùn)動(dòng)軌跡數(shù)據(jù),并通過專有數(shù)據(jù)格式實(shí)現(xiàn)數(shù)據(jù)傳輸。測(cè)試實(shí)驗(yàn)針對(duì)攝影機(jī)追蹤過程中常見的重要參數(shù),例如實(shí)時(shí)追蹤的準(zhǔn)確性、運(yùn)動(dòng)追蹤的時(shí)延等技術(shù)指標(biāo)進(jìn)行了明確的測(cè)試用例與測(cè)試方法,驗(yàn)證了利用激光雷達(dá)實(shí)現(xiàn)攝影機(jī)實(shí)時(shí)追蹤的可行性。該技術(shù)可以為L(zhǎng)ED 虛擬攝制提供新的攝影機(jī)追蹤解決方案,從而作為傳統(tǒng)光學(xué)追蹤方案的有力補(bǔ)充。
本文所設(shè)計(jì)并實(shí)現(xiàn)的攝影機(jī)追蹤系統(tǒng)目前還在實(shí)驗(yàn)室測(cè)試階段,性能與準(zhǔn)確性仍有很大的提升空間,未來(lái)筆者將要嘗試在不同激光雷達(dá),尤其是在國(guó)產(chǎn)激光雷達(dá)下實(shí)現(xiàn)實(shí)時(shí)追蹤技術(shù),提出具有更加普適性和通用性的LED 虛擬攝制中基于激光雷達(dá)的攝影機(jī)實(shí)時(shí)追蹤技術(shù)方案,不斷優(yōu)化現(xiàn)有算法,提升計(jì)算效率與計(jì)算準(zhǔn)確性,研究具有更高性能的攝影機(jī)追蹤技術(shù),進(jìn)而提升國(guó)內(nèi)LED 虛擬攝制技術(shù)水平,推動(dòng)電影技術(shù)革新,實(shí)現(xiàn)對(duì)國(guó)外先進(jìn)攝制技術(shù)的追趕與超越。
作者貢獻(xiàn)聲明:
解沛:設(shè)計(jì)論文框架,撰寫和修訂論文,全文文字貢獻(xiàn)70%;
周令非:設(shè)計(jì)論文框架,參與修訂論文,全文文字貢獻(xiàn)15%;
劉知一:指導(dǎo)整體實(shí)現(xiàn)方案,參與修訂論文,全文文字貢獻(xiàn)10%;
王木旺:參與修訂論文,全文文字貢獻(xiàn)5%。