999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于KANZI Studio 的汽車虛擬儀表三維場景重構技術研究與實現

2024-05-06 08:11:46郭健忠官雨謝斌閔銳袁嘉澤
電子設計工程 2024年9期
關鍵詞:信息模型

郭健忠,官雨,謝斌,閔銳,袁嘉澤

(1.武漢科技大學汽車與交通工程學院,湖北武漢 430065;2.武漢保華顯示科技有限公司,湖北 武漢 430082)

汽車儀表已經成為智能座艙的信息交互中心,不僅是人車交互的重要接口,也是重要的行車安全配置,駕駛員通過從汽車儀表上獲取車輛的實時運行狀態及相關信息,來確保車輛的行車安全性;因此,汽車儀表能夠實時并準確地顯示車輛的各種行車參數是極為重要的[1-2]。得益于汽車行業的快速發展,汽車儀表正快速從數字組合式儀表向全液晶虛擬儀表、智能座艙方向發展[3]。隨著新能源車的不斷推廣,汽車輔助駕駛系統配備攝像頭和毫米波雷達已經逐漸普及,目前輔助駕駛系統主要滿足L2 級別自動駕駛,其中包括并線輔助、跟車輔助等功能,其中部分功能需要駕駛員將部分駕駛操作交由輔助系統完成,這會導致駕駛員對行車安全產生顧慮,儀表場景重構能夠在儀表上顯示本車四周的車輛和車距信息、車道信息及操作報警信息[4-5],為了便于駕駛員可視化控制輔助駕駛系統和減少安全顧慮,通過實現儀表內場景重構技術將輔助駕駛系統可視化是迫切需要的。

1 儀表場景重構現狀分析

1.1 場景重構開發方法

三維場景重構的研究主要涉及信號采集端,通過攝像頭、雷達等設備采集數據,將數據處理整合,實現對周圍道路環境的實時建圖,而使用建圖數據在儀表顯示端實現場景重構,目前研究還處于剛起步的階段。

目前大部分汽車儀表沒有場景重構技術,小部分實現了二維場景重構技術,只有極少數以特斯拉為首的新能源汽車品牌的虛擬儀表加入了三維場景重構技術。

實現場景重構技術的開發方法主要有裸機、Qt兩種;其中裸機開發方式可以通過圖片堆疊的方式實現二維場景重構技術,Qt 開發方式不僅可以通過貼圖實現二維效果,還可以通過Qt Creator 導入3D模式實現三維效果。

隨著汽車智能座艙的不斷發展,二維場景重構雖然能夠顯示大部分信息,但還存在車道信息顯示不全面和平面圖片顯示效果不流暢的問題,因此需要通過三維場景重構方式來完善儀表上的輔助駕駛系統信息及效果。由于需要在儀表上實現三維場景重構技術,顯示素材需要從二維圖片轉變為三維模型;傳統的貼圖式儀表開發方式已無法滿足功能要求,對于當下較為流行的Qt 開發方式,由于Qt 是適用于各個行業的GUI 應用程序框架[6],所以Qt的庫非常龐大,無法滿足汽車行業儀表輕量化的要求[7]。

1.2 HMI開發工具的選擇

KANZI Studio 是中科創達旗下Rightware 公司專為汽車人機界面(HMI)所建立的軟件開發平臺[8-9],使用KANZI 設計儀表的汽車品牌有瑪莎拉蒂、梅賽德斯、奧迪等大型汽車品牌,同時包含蔚來等新能源品牌。KANZI Studio 對OpenGL 進行封裝,實現了2D和3D 的無縫合成[10],無需編寫代碼即可進行可視化編輯,可以實時預覽和設計高級動畫效果;具有完善的圖形渲染引擎,可對3D 模型進行編輯渲染[11];同時支持Shader 代碼編程,通過頂點著色器和片段著色器控制3D 模型;得益于KANZI 的開發框架,場景重構可以分層開發并支持移植到其他項目中,極大地減少開發維護和移植難度。

通過廣泛的調研,針對汽車儀表上的三維場景重構技術實現,KANZI Studio 開發工具具有顯著的優勢。

2 場景重構前期工作

場景重構前期需要建立數學坐標系模型,通過數學參數明確坐標系內元素的關系;同時需要明確硬件平臺上相關顯示參數的數據意義及來源;最后需要引入Shader 編程概念來渲染3D 模型。

2.1 數學模型建立

三維場景重構,從動態視覺上可以區分為四周車輛和車道線兩個部分;行車場景示意圖如圖1所示。

圖1 行車場景示意圖

由于車輛主要向前行駛,該方向上速度較快,輔助駕駛系統主要控制車輛高速行駛下的安全性,汽車儀表上場景可視區域有限,因此在場景重構上,不考慮本車后方的行車場景;為簡化場景,避免場景中元素過多對駕駛員產生視覺干擾,因此,該文場景重構主要考慮本車車道和相鄰兩車道,對于車輛顯示,也最多只顯示前車、前前車、左車和右車四個目標物的車輛信息,其中車輛類別包含汽車、貨車、摩托車、自行車四種主要道路車輛,以上是簡化后與駕駛場景密切相關的元素。

雖然是三維場景,由于攝像頭和毫米波雷達僅能對水平方向物體進行檢測,對于角度較大的坡道,與目標物存在垂直方向的距離,暫且無法準確識別,故暫不考慮三維場景下坡道角度的影響。三維場景相較于二維場景,垂直方向增加了車輛模型的高度顯示;因此,對于車道上車輛之間的距離關系和車道線位置關系,可以通過俯視視角簡化成二維坐標系模型,如圖2 所示。

圖2 二維坐標系場景模型

以本車后軸中心作為坐標系原點,對于目標物車輛的識別,通過目標物后軸中心與本車后軸中心的X向距離與Y向距離可以確定目標物車輛的坐標,然后根據攝像頭識別到的車輛信息確定目標物的車輛顯示類別和車輛轉角,通過四個參數即可確定一個目標物的顯示信息。

車道線從數學角度描述,就是一條圓滑的拋物線,由于車道線不需要太高精度,所以三次函數表達式可以體現車道線的位置和彎曲程度,公式如式(1)所示:

通過a、b、c、d四個系數即可表達一條車道線的全部軌跡,但是在實際道路上,車道線并不是如函數表達式一樣無限延長的,在某些道路條件差或攝像頭視野受限的條件下,車道線實際顯示為一條線段或不顯示,因此,加入X_start和X_end 兩個參數,可以描繪出車道線的起始位置和結束位置;加上車道線類別參數一共七個參數即可表達出一條車道線的顯示信息。

2.2 場景信號數據處理

車道線信息和目標物車輛信息是由本車攝像頭和毫米波雷達采集后,經過輔助駕駛系統ECU 處理后,將圖像信息轉化成數學數據,再將數據通過CAN總線發送到儀表端[12],儀表端對收到的CAN 報文進行解析即可提取出車道線和目標物信息數據用于顯示,由于CAN 報文只能發送正整數數據,而曲線的系數精度需要小數,目標物、車道線相對本車中心原點靠左或靠右,需要使用正負數表示,所以需要在數據協議上明確定義,將CAN 報文上的數據提取出來后需要進行縮放和偏移操作才能得到實際顯示用的數學數據。

2.3 Shader控制3D模型

KANZI 支持OpenGL 開放圖形庫,在OpenGL ES2.0 版本之后,支持可編程管線,而Shader 著色器能夠替代固定渲染管線的可編程程序來實現圖像渲染;著色器主要分為Vertex Shader 頂點著色器和Fragment Shader 片段著色器,頂點著色器主要負責模型頂點數據的數學運算,片段著色器主要負責模型面片著色參數計算;拋棄傳統固定式渲染管線的限制,通過Shader 著色器的可編程性,能夠實現3D模型相關參數的計算,并能夠通過編輯Shader 實現不同的3D 顯示效果[13]。目前Shader 語言主要為GLSL[14];得益于KANZI支持OpenGL的特性,在KANZI Studio 上可以直接修改Shader 代碼,KANZI底層便會調用OpenGL 的接口進行流水線渲染管線操作,實現對3D 模型形狀和顏色的更改。

3 場景重構及優化

三維場景重構的實現,需要通過KANZI Studio的節點對顯示元素進行分層級設計,使用Shader代碼控制3D模型的變化上色,添加動畫美化場景效果。

3.1 場景重構開發流程

KANZI Studio 支持節點模塊化設計,實現三維場景重構流程如圖3 所示。

圖3 場景重構實現流程圖

1)需要在KANZI Studio 中創建一個場景用來容納場景中的元素,需要創建一個平面Viewport 2D 視圖節點,用來顯示場景,然后在視圖節點中創建Scene 場景節點,用來顯示3D 模型。

2)需要將3D 模型導入到工程之中,KANZI Studio支持COLLADA(.dae)、Filmbox(.fbx)和(.obj)三種3D 文件格式;由于3D 模型是由數以萬計的三角形面片組合而成,所以在制作或選擇3D 模型時,需要考慮硬件條件,查看GPU 最多支持同時計算的總面數,防止面數過大導致性能下降產生顯示效果卡頓。

3)KANZI Studio 支持模塊化設計,可以通過節點單獨控制每一個顯示元素,并且支持通過節點更改元素顯示層級和優先級,該文顯示層級如圖4所示。

圖4 元素層級設計圖

場景下使用Plane 節點創建一個充滿四個頂點的平面網格,在網格下創建空3D 節點用來分類存放元素,然后在空3D 節點下創建Model 節點用來將3D模型添加到工程之中;如圖使用五個空節點將顯示元素分為車道線和四個目標物,Road_Line 節點下存放了四個Road 節點用來顯示四條車道線;Target 節點包含控制坐標和顏色的兩層空節點、目標物車輛模型和車輛陰影模型,因為實際場景物體均存在陰影,添加車輛陰影模型能夠提高場景的真實感。由于目標物處于車道線的上方,則將目標物節點放置于車道線節點下方。其余包含本車在內的靜態圖片依次通過節點排列在下方。

4)3D 模型本身是由無數面片組成的物體,不具有特殊顯示效果,給3D 模型貼上紋理,模型才能顯示正常的物體屬性,還需要加入光照,照亮場景,模型才能正確地顯示出來;KANZI Studio 支持平行光、點光源和聚光燈三種光源。

5)添加屬性控制,前四步屬于靜態設計,為了實現動態效果,需要將信號數據導入KANZI Studio,通過數據綁定或狀態機控制實現車輛模型的改變、運動及變色,同時將數據傳入Shader 代碼控制車道線。

6)編輯Shader 渲染代碼,根據信號數據,實現車道線3D 模型的變化、著色。

7)通過調整節點、調整光照、加入車道線動畫和引入抗鋸齒來優化場景重構的顯示效果。

通過以上七步即可使用KANZI Studio 實現三維場景重構技術,具體細節需要根據對應項目功能需求規范做細節調整。

3.2 車道線彎曲效果實現

在KANZI Studio 中,可以自定義材質和材質類型,可以選擇3D 模型使用哪一種材質和其對應的材質類型,每一種材質類型都有一個頂點著色器和片段著色器,控制使用該類別材質的模型變形、著色。頂點著色器有輸入和輸出兩個部分,主要把輸入的頂點數據,根據Shader 代碼進行矩陣變換位置,再將位置信息傳送給片段著色器,片段著色器則根據代碼處理由光柵化階段生成的每一個片元,最后計算出每個像素的顏色用作顯示。車道線變形流程如圖5所示。

圖5 車道線變形實現流程圖

創建對應的材質和材質類型;導入車道線控制參數如a、b、c、d等數據到頂點著色器代碼中;傳入代碼計算所需要的車道線各個頂點的三維數據信息;編寫車道線變形計算函數,通過控制參數組成的一元三次方程計算出新的頂點數據信息;最后傳出新的頂點數據信息。

通過頂點著色器,已經可以將一條未截斷的車道線畫出,但車道線還存在長短、實線或虛線情況,所以需要引入剩余的X_start、X_end 和車道線類型三個信號數據用于模型上色,車道線著色流程如圖6所示。

圖6 車道線著色實現流程圖

需要傳入各個頂點數據;導入上述提到的三個車道線控制參數和車道線顏色信息;通過編寫片段著色器代碼實現著色邏輯,其中,根據起始點和結束點對范圍以外的部分不予上色,對范圍內的部分根據車道線類別實現間隔上色或全上色;最后傳出計算后的車道線各個片段的顏色信息用作著色。

通過上述兩種著色器可以得到包含每個頂點的坐標信息和頂點對應片段的顏色信息兩組信息,然后通過KANZI 調用OpenGL接口實現周期性循環渲染。

3.3 顯示效果優化

在人們的視覺感官中,存在著物體近大遠小的視覺效果,而在KANZI Studio 中,為了體現這一效果,無需對目標車輛進行縮放,只需要添加攝像機,設置3D 場景的顯示角度,將視角從俯視轉變成前視,即可實現近大遠小的視覺效果。

對于物體光照,需要考慮3D 模型的反射系數,如果光照太強,則會在3D 模型表面產生強烈反射導致無法顯示模型本體顏色;還需避免點光源造成的各個模型光照方向不一樣產生的失真感;該文采用低強度的平行光能夠避免上述提及的兩個問題。

在行車過程中,如果車道線不能移動,觀感是較差的,通過添加動畫控制offset 屬性周期性變化,并將此屬性傳入片段著色器中,通過offset 實時改變分段上色的部分,即可實現視覺上的車道線移動。

對于車道線首尾兩端過渡生硬的問題,可以在片段著色器中漸進改變車道線首尾兩端各點顏色信息中的透明度參數實現邊緣的透明圓滑過渡。

由于車道線模型頂點數量有限,當遠處車道線彎曲程度較大時,由于屏幕像素點有限,會出現車道線斷開不連續的情況,KANZI Studio 支持對節點的渲染通道設置,通過改變渲染采樣倍率和采樣等級可以實現車道線邊緣模糊化,解決車道線斷開的問題,設置渲染通道需要考慮硬件支持情況及顯示性能。

通過上述四種優化方式,能夠增加三維場景重構效果的美觀度和視覺真實感。

4 實際顯示效果測試

4.1 臺架測試

搭建測試臺架,將包含車道線、目標物識別等信息的DBC 文件導入TSMaster 軟件中,通過電腦模擬CAN 總線不斷循環發送實車數據[15],實際測試臺架如圖7 所示。

圖7 臺架測試實物圖

通過圖片可以看出,KANZI Studio 軟件電腦端設計效果與實際臺架顯示效果一致,能夠滿足三維場景重構功能開發需求。

經過24 h 循環報文發送測試,分別處于CAN 總線高負載和低負載情況下測試,儀表未出現死機、黑屏等異常現象。KANZI 插件支持在屏幕上顯示實時幀率,經測試,在儀表顯示三維場景重構效果情況下,KANZI 程序顯示幀率能夠穩定在30 幀,滿足流暢運行的幀率條件。

相較于傳統汽車HMI 界面開發方式,通過表1可以看出,KANZI 程序幀率能夠穩定在30 幀,并且在24 h 高、低負載運行情況下均未出現黑屏、死機的情況;該程序在運行流暢性和長時間高負載下的穩定性上有明顯優勢。

表1 場景重構運行效果對比

傳統汽車HMI 界面開發由于程序耦合關聯性大[16],所以需要一個人獨立開發,導致開發周期和開發難度較大;而KANZI Studio 支持分模塊開發,通過合并工程可以將三維場景重構技術完全移植到另一個工程中,極大地增加了項目功能的復用性和可移植性;極大地減少了開發周期和難度;對于二次開發和維護,KANZI Studio 支持實時可視化修改,具有顯著的便捷性優勢。表2 為主流開發方式對比。

表2 場景重構主流開發方式對比

4.2 實車測試

由于汽車實際行駛工況較為復雜,可變因素較多,虛擬儀表顯示系統的運行環境與臺架測試環境差別巨大,存在長時間運行、硬件環境溫度高或路面條件差等情況,因此該文基于虛擬儀表顯示系統的三維場景重構技術需要進行實車驗證,測試此技術的穩定性及準確性。

臺架測試穩定后,將程序燒錄到實車硬件上,實車測試使用的是上海某汽車企業的測試用車,在城市鋪裝道路上進行測試,測試效果如圖8 所示。

圖8 實車測試效果圖

圖中,儀表中部三維場景重構能夠正確顯示車輛前方、左側及右側目標車輛的位置信息、類別信息,并且能夠正確顯示車道線類別信息和彎曲情況,肉眼觀察顯示效果無延遲。具體實車測試如表3所示。

表3 場景重構顯示測試

經過500 km 不斷電連續測試,測試過程中,未見三維場景重構效果產生顯示錯誤或顯示延遲問題;并且在虛擬儀表高負荷長時間運行的情況下,未出現儀表死機、黑屏等嚴重現象。

因此,經過實車驗證,此三維場景重構技術能夠滿足行車過程中顯示的準確性及穩定性,符合顯示功能要求。

5 結論

該文使用KANZI Studio 開發工具,提出了一種虛擬儀表三維場景重構技術的開發方法,創新和特色如下:

1)在汽車儀表端實現了三維場景重構技術,將三維場景重構研究引入到顯示端,為汽車智能座艙的相關研究奠定了基礎。

2)該方法能將開發周期縮短為傳統方法的50%,降低開發難度和減少開發周期,能夠在滿足功能要求的條件下實現穩定30 幀流暢運行。

3)該方法二次開發周期短,可移植性強,為后續三維場景重構技術的優化和再開發提供了原型與經驗。

猜你喜歡
信息模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
一個相似模型的應用
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 波多野结衣一二三| 日韩无码真实干出血视频| 国产视频入口| 六月婷婷精品视频在线观看 | 免费A级毛片无码免费视频| 国产精品久线在线观看| 色吊丝av中文字幕| 国产精品真实对白精彩久久| 精品久久高清| 91在线视频福利| 久久成人免费| 欧美日韩精品一区二区视频| h视频在线观看网站| 日本亚洲成高清一区二区三区| 小13箩利洗澡无码视频免费网站| 国产成年女人特黄特色毛片免| 99无码熟妇丰满人妻啪啪| 91偷拍一区| 欧洲欧美人成免费全部视频 | 亚洲高清中文字幕在线看不卡| 毛片免费高清免费| 亚洲色图欧美在线| 国产精品免费福利久久播放| 在线毛片免费| 亚洲网综合| 国产精品嫩草影院av| 精品五夜婷香蕉国产线看观看| 亚洲精品欧美日本中文字幕| 国产成人精品高清在线| 伊人久热这里只有精品视频99| 久久综合伊人 六十路| 国产无码精品在线播放| 国模视频一区二区| 99精品视频九九精品| 亚洲精品大秀视频| 尤物国产在线| 国产99热| 色AV色 综合网站| 亚洲人成在线免费观看| 99精品福利视频| 日韩精品久久无码中文字幕色欲| 日本亚洲欧美在线| 日本在线欧美在线| 最新国产你懂的在线网址| 在线播放真实国产乱子伦| 激情无码视频在线看| 欧美国产日韩另类| 国产区人妖精品人妖精品视频| 麻豆国产精品一二三在线观看| 日韩在线播放中文字幕| 国产www网站| 亚洲无码日韩一区| 婷婷伊人五月| 亚洲精品在线影院| 亚洲免费成人网| AV老司机AV天堂| 欧美伊人色综合久久天天| 中文一区二区视频| 很黄的网站在线观看| 亚洲高清无在码在线无弹窗| 免费aa毛片| 黄色网站在线观看无码| 国产国产人免费视频成18| 亚洲第一视频网| 亚洲av成人无码网站在线观看| 四虎AV麻豆| 久草青青在线视频| 香蕉伊思人视频| 国产99精品视频| 国产人妖视频一区在线观看| 国产情侣一区| 五月婷婷精品| 欧美日韩成人| 99在线观看免费视频| 亚洲天堂福利视频| 亚洲—日韩aV在线| 亚洲毛片在线看| 国产乱子精品一区二区在线观看| 丰满的少妇人妻无码区| 亚洲欧美另类日本| 自拍偷拍欧美| 亚洲Va中文字幕久久一区|