日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測(cè)試網(wǎng)

  • 公眾號(hào)
    • 汽車測(cè)試網(wǎng)

    • 在線課堂

    • 電車測(cè)試

一文看懂CARLA中的視覺(jué)傳感器

2024-01-21 14:36:26·  來(lái)源:深信科創(chuàng)  
 

前言


本文從CARLA出發(fā),深入U(xiǎn)nreal Engine內(nèi)部,帶大家理解CARLA中的視覺(jué)傳感器及真值系統(tǒng)的實(shí)現(xiàn)原理。得益于UE,自動(dòng)駕駛測(cè)試仿真工具CARLA在圖像渲染方面有著遠(yuǎn)超其他傳統(tǒng)仿真器的畫面質(zhì)量。最明顯的就是CARLA中一系列的視覺(jué)傳感器(Camera Sensor)。


什么是傳感器?


傳感器是連接外界環(huán)境和被測(cè)車輛的媒介。傳感器使汽車自動(dòng)駕駛能夠感知其環(huán)境,從而發(fā)現(xiàn)并分類障礙物,預(yù)測(cè)速度,協(xié)助精準(zhǔn)定位車輛周圍的環(huán)境。


從仿真角度來(lái)講,無(wú)論是哪種傳感器,理論上都可以從以下三個(gè)不同層級(jí)進(jìn)行仿真。第一個(gè)層級(jí)是對(duì)物理信號(hào)進(jìn)行仿真,第二個(gè)層級(jí)是對(duì)原始信號(hào)進(jìn)行仿真,第三個(gè)層級(jí)是對(duì)傳感器目標(biāo)進(jìn)行仿真。


傳感器的發(fā)展推動(dòng)了智能技術(shù)和自動(dòng)化系統(tǒng)的進(jìn)步,對(duì)于提高生活質(zhì)量,生產(chǎn)效率以及安全性具有重要意義。


CARLA自帶語(yǔ)義分割傳感器實(shí)現(xiàn)路徑


知識(shí)鋪墊:

CARLA RGB攝像頭傳感器代碼分析講了Camera之間的繼承關(guān)系。借用文中的一張圖表達(dá)它們的層次關(guān)系。


CARLA RGB Camera傳感器繼承關(guān)系圖


ASensor完成CARLA的抽象傳感器功能;


ASceneCaptureSensor實(shí)現(xiàn)UE渲染接口UTextureRenderTarget2D和USceneCaptureComponent2D的加入,并且USceneCaptureComponent2D控制著后處理(FPostProcessingSetting)參數(shù);


AShaderbasedSensor主要負(fù)責(zé)加入后處理材質(zhì)(PostProcessing Material),后處理材質(zhì)也是一種shader,對(duì)著色有影響,AShaderbasedSensor是抽象類,不是具體的傳感器函數(shù),所以只提供功能,供繼承子類擴(kuò)展shader;


ASceneCaptureCamera,ASemanticSegmentationCamera,AOpticalFlowCamera,ASemanticSegmentationCamera等其他camera均繼承自AShaderbasedSensor,它們的邏輯大多都很簡(jiǎn)單,就是使用AShaderbasedSensor提供的AddPostProcessingMaterial接口,添加后處理材質(zhì),根據(jù)不同的傳感器類型,有不同的著色需求。


從UE層面理解Camera


后處理材質(zhì)都放在哪:從代碼中去看,拿語(yǔ)義分割Camera舉例。該傳感器用了兩個(gè)后處理材質(zhì):物理畸變模型、GroundTruth標(biāo)注,使用文件搜索關(guān)鍵詞,能搜索到在文件夾中的位置。


語(yǔ)義視覺(jué)傳感器初始化時(shí)添加后處理材質(zhì)圖


從UE Editor里面去找,該文件屬于CARLA插件帶的材質(zhì),不屬于場(chǎng)景內(nèi)容文件,所以要在視圖選項(xiàng)中選上 【顯示插件內(nèi)容】,才能在左邊的內(nèi)容瀏覽器目錄中看到【CARLA內(nèi)容】。在對(duì)應(yīng)路徑下就可以看到對(duì)應(yīng)的材質(zhì)文件。


后處理材質(zhì)文件圖


CARLA插件內(nèi)容文件夾路徑圖


點(diǎn)開(kāi)后可以看到該材質(zhì)文件的藍(lán)圖邏輯:


深度視覺(jué)傳感器后處理材質(zhì)藍(lán)圖


在UE Editor里可視化Camera(推薦看視頻)

這里我參考了一篇文章,UE4場(chǎng)景采集之場(chǎng)景采集2D(https://blog.csdn.net/lei_7103/article/details/106020942)。這篇文章對(duì)我后面的幫助很大,而且我很推薦大家熟練掌握在UE Editor中使用各種Component的方式,因?yàn)檫@樣會(huì)比重新寫代碼,編譯代碼,驗(yàn)證問(wèn)題整個(gè)流程快很多,很多時(shí)候我們調(diào)整的Component參數(shù)可以直接在Editor里面嘗試,可視化效果,在傳感器開(kāi)發(fā)的路上尤其重要。


簡(jiǎn)單介紹一下UTextureRenderTarget2D和USceneCaptureComponent2D到底是什么:


主要做了幾個(gè)操作:


1.將SceneCapture2D拖入場(chǎng)景(初始化)


2.創(chuàng)建TextureRenderTarget2D(初始化)


3.將TextureRenderTarget2D指派給SceneCapture2D


4.選擇渲染輸出內(nèi)容(可以選法線、底色、LDR、HDR等)


5.在【后期處理體積】里面,添加后處理材質(zhì),并選擇從現(xiàn)有資產(chǎn)中添加


6.加入不同的后處理材質(zhì),查看效果


所以看完了對(duì)UTextureRenderTarget2D和USceneCaptureComponent2D的操作,我們大概就了解了它們分別是什么角色。


USceneCaptureComponent2D負(fù)責(zé)設(shè)置渲染的視角(FViewInfo)、傳感器外參、后處理參數(shù)設(shè)置(FPostProcessSettings)、捕獲源(Capture Source)等渲染需要的參數(shù)。


UTextureRenderTarget2D負(fù)責(zé)記錄渲染結(jié)果,Source里面是該場(chǎng)景捕捉器的渲染結(jié)果Texture,然后通過(guò)一些取出Buffer的方式,將該渲染結(jié)果取出,然后通過(guò)CARLA寫的一些傳輸數(shù)據(jù)方式,傳給client端,然后再解碼二進(jìn)制。


語(yǔ)義分割的實(shí)現(xiàn)原理



語(yǔ)義分割的后處理材質(zhì)藍(lán)圖:


語(yǔ)義分割的后處理材質(zhì)藍(lán)圖


首先材質(zhì)里引入了兩個(gè)概念:一個(gè)是,場(chǎng)景深度。場(chǎng)景深度就是用于渲染的Z-Depth,光柵渲染判斷前后關(guān)系用的,在GBuffer中也存在。

另一個(gè)是,自定義深度。自定義深度模具值,Custom Depth Stentil Value,CARLA拿來(lái)做語(yǔ)義分割的標(biāo)記,以Actor為單位,可以用來(lái)區(qū)分不同物體,最后根據(jù)這個(gè)與CARLA內(nèi)部邏輯,對(duì)圖像進(jìn)行上色?!綜ARLA官方文檔-Create semantic tags】


路面Mesh自定義深度模具值圖


車道線Mesh自定義深度模具值圖

分享到:
 
反對(duì) 0 舉報(bào) 0 收藏 0 評(píng)論 0
滬ICP備11026917號(hào)-25