蔡 爽,趙清江,羅智寧,尹志勇
(1.汽車噪聲振動和安全技術國家重點實驗室,重慶 401122;2.中國汽車工程研究院,重慶 401122)
21世紀以來,根據世界衛生組織的統計,雖然各國都在致力于減少本國的道路交通事故數量,但是截至2018年,每年全球死于道路交通安全事故的人數已達135萬以上,受傷人數超過5 000萬,并仍有逐步增加的趨勢。其中,我國2018年的汽車保有量已達2.4億輛,約占世界10%,但是我國每年的道路交通安全事故死亡人數占世界道路交通事故總數的比例仍舊超過5%,事故率與事故致死率居高不下,保證道路交通安全已成為我國亟需解決的社會問題之一[1]。為了維護社會穩定和道路交通出行安全,減少道路交通安全事故帶來的損失,我國于2008年開始正式開始施行道路交通安全法,強化對交通安全事故管理的科學性和規范性。與此同時,隨著事故責任劃分不清晰帶來的法律問題日益增多,社會各界對科學化的事故責任認定需求愈來愈迫切[2]。
道路交通安全事故再現技術是判明事故原因、判定事故責任、明確事故處理方式的最為高效的方法之一。從本質上講,該技術就是利用事故后車輛遺留的信息材料主要包括現場平面圖和事故痕跡照片等,進行反向推算,進而盡可能真實地還原事故發生過程,其中計算出事故發生前車輛車速、位置等信息,對道路交通事故的責任判定和劃分起著至關重要的作用。傳統的交通事故分析均是基于事故圖像材料的二維展示,很難直觀地揭示事故發生過程,因此國內事故鑒定機構愈來愈趨向于使用基于三維計算機建模的事故再現技術[3-4]。在5G網絡、智能交通大發展的背景下,利用計算機仿真技術來模擬交通事故再現過程吸引了越來越多研究人員的注意[5]。在計算機仿真事故再現技術中,典型事故車輛三維模型的構建和推廣對事故再現仿真技術的進一步推廣應用具有非常重要的現實意義。首先,車輛是道路交通事故的重要組成部分,通過建立典型事故車輛三維實體模型和全三維事故場景動畫演示可以很直觀地還原事故過程,更為清晰地判定事故責任。其次,通過不斷建立和完善典型事故車輛三維模型數據庫,可以為事故再現技術的推廣和發展打下堅實的基礎。最后,研究人員還可以將事故車輛的三維模型橫向推廣應用到整車性能仿真分析當中,相對于昂貴的整車道路試驗,利用通過事故再現訓練得到的三維實體模型,可以進一步節約成本,大幅降低了整車的研發周期,研發效率也得到提高[6]。在這個過程中構建車輛模型尤為重要,如果要追求直觀真實的效果,就需要對所用的車輛模型做精細化處理,在此過程中,不可避免地會產生車輛三維實體模型的點和面數量過多的問題,進而導致模型導入的渲染顯示時間變得冗長,嚴重制約了事故再現仿真效率,不利于車輛三維模型在橫向上進一步推廣應用。隨著計算機仿真技術和智能交通技術的進一步發展,事故再現仿真中精細度和仿真效率的矛盾日益顯著,行業內對更為高效、更為精簡的三維模型減面算法的需求就愈來愈迫切。
三維模型減面算法的基本定義是在遵循盡量不影響模型外觀特征基礎上,盡可能多地進行三維實體模型網格的點和面數量優化,減少模型網格中點與面的數量。針對這個問題,國內外高校、企業和研究學者已經做了比較多的研究。Hoppe[7]率先提出了漸進式網格算法,通過邊折疊和點分裂,引入表示、距離和彈簧三種能量,采用能量函數優化模型,為未來進一步優化網格算法打下堅實基礎。在此基礎之上,Garland等[8]發現使用基于二次誤差測度(QEM)的邊折疊方法,進行模型優化網格處理,同樣也可以取得不錯的效果。Dassi[9]將三維空間回歸模型應用于網格優化算法,在保證模型外觀特征的基礎上,提升了大腦皮層模型的計算效率。Bahitat等[10]在傳統折疊優化算法的基礎上,綜合考察了曲率和邊界等因素,進而提出改進算法QEM4VR,進一步提升了優化效率。黃佳等[11]通過改變一環和二環三角面的法矢,對其進行折疊來保持網格的細節特性。然而這個漸進網格簡化算法未能更多地考慮模型中的其他約束,對平坦區域的簡化順序造成了一定的影響,一定程度上影響了優化效率;錢勛波等[12]則是通過改變局部三角形的不平度,進行三角形的折疊來實現對網格模型的優化處理,不過他無法克服三角形折疊本身容易丟失特征的缺陷,導致其無法有效地對模型細節特性進行較好的保留,仍需要進一步優化;而劉峻等[13]則是在此基礎上進一步討論了頂點曲率對優化模型網格的作用,同樣取得了不錯的效果,但是由于該算法只考慮多邊形頂點與一環鄰域點的最大法矢夾角與總面積,缺乏對引起該最大夾角三角面的面積的兼顧,容易造成優化過程中產生不必要的判斷失誤。
本文針對上述重點問題,在3DS MAX平臺中,利用MAXScript腳本語言,在漸進式網格算法的基礎上,設計了一種簡單高效的模型網格優化算法,在保證模型外觀與原始模型保持一致的基礎上,來簡化網格模型,實現車輛模型多邊形網格優化設計,為模型進一步橫向推廣應用奠定基石,進一步提高計算機虛擬事故再現技術的事故再現仿真效率。
3DSMax平臺中的建模方法主要有網格多邊形建模、面片建模和NURBS建模等,他們各自的適用范圍和優缺點如表1所示。盡管不同建模技術方法在功能和操作上有各自的特點,但是在建模過程中應該將幾種方法結合起來使用,充分發揮每一種方法的優勢,才能以最簡捷的方法創建出最符合應用要求的車輛模型。

表1 3DSMAX建模方法比較
汽車是很復雜的模型對象,需要按部就班的搭建模型。首先收集整理目標車型基本性能參數以及外觀圖片材料,然后制作出車輛四視圖,如圖1所示,目標車型長寬高為4 886 mm×1 810 mm×1 475 mm。
根據收集的目標車型車輛性能參數,用網格多邊形建模技術創建車輛主要系統模型,包括車身模型、輪胎模型、內飾模型,如圖2所示。為了車輛模型的完整性,還需要給事故車輛模型中添加必要的細節模型,主要包括內外后視鏡模型、雨刮器模型、后組合燈模型、風窗玻璃模型等,如圖3所示。
最后對準備好的模型材料進行細節處理,得到事故車輛整車網格模型如圖4所示,對整車模型進行添加材質和紋理處理,可得到最終整車模型,如圖5所示。
由于依靠3DS MAX構建的初始車輛實體模型擁有數據量較大的點面信息,若直接將該初始模型應用于其他仿真平臺時會大大降低模型重建效率,嚴重制約了模型的進一步推廣應用。因此,本文以平臺框架內的MAXScript程序開發語言為基礎,在保證車輛三維實體模型外觀基本不變的前提下,設計一種簡潔高效的網格優化算法程序,對模型進行減面優化,以提升事故車輛三維實體模型在計算機模擬仿真中的應用效率。
加拿大亞伯達大學Stan Melax等[14]發現在漸進式網格中,彎度高的曲面比在同平面內的平面需要更多的三角形才能對其進行較完整的特征信息描繪。對于頂點的重要度權值記為塌陷值,即邊的曲率與其長度值的乘積,符號為cos t,如式(1)所示。平面內邊的塌陷值數值是影響該邊是否坍塌的重要因素。
在此,優化算法需要先對目標平面的曲率與邊長進行一個平衡比較,然后在進行塌邊。在塌邊過程中需要注意的是2個點的塌陷值并不滿足交換律,即頂點x到頂點y的坍塌值和頂點y到頂點x的坍塌值不一定是相等的。此外,如果對于脊狀邊,按照上述流程進行塌陷值計算和減面優化,同樣可以取得比較好的效果,模型邊坍塌效果對比圖如圖6所示。
在減面優化算法的實現過程中,不僅需要常規頂點數據和多邊形數據,同時也必須要做一組其他正常點數據,這樣通過多邊形不僅可以獲得其包含使用的頂點,還能夠通過頂點獲得包含使用該頂點的多邊形以及該頂點相鄰的邊。此外,該算法還可實現頂點塌陷的順序存儲功能,以及利用存儲功能對塌陷過程進行倒序處理,實現點分裂功能,也即是說可以通過這種方式使模型迅速恢復成原始網格模型。
參考2.1節中的減面優化算法原理,依據式(1)的計算方法決定下一個要塌陷的邊的原則,則該算法的程序流程如圖7所示。其中算法步驟如下:
步驟1 求任意一點y所有鄰近點的集合{x}。
步驟2 提取包含點y的所有面的法向量f.normal,然后繼續提取包含點y及其鄰近點x的所有面的法向量n.normal。
步驟3 利用邊坍塌值方程式 cos t(x,y)計算出點y到其任意一個鄰近點的邊塌陷值。
步驟4 集合步驟3計算得到的塌陷值,得到上述值的最小值,并記錄相應的頂點信息。
步驟5 針對步驟4中得到的點以及其鄰近點的邊XY執行邊塌陷操作。
按照第2節所述優化算法程序,利用MAXScript對事故車輛初始模型網格進行減面優化。設置優化比例為40%,得到原始車輛模型網格與優化后車輛模型網格結果如圖8所示。仿真結果界面如圖9所示,顯示了優化前模型的點數為41 044、面數為80 684,在不影響模型外觀的原則下,優化比例設置為40%時,優化后模型的點數為16 385、面數為 31 524。
以國產某品牌三廂轎車為事故車輛原型,搭建典型事故車輛三維實體模型。利用3DS MAX仿真平臺內嵌的MAXScript腳本語言,設計了一個簡潔高效的網格優化減面算法,并對目標車輛模型進行了減面優化處理,通過減面插件可以直觀展示模型優化前后的點面數量優勢。在優化比例為40%時,在保證不影響模型外觀的情況下,將原本點數為41 044、面數為80 684的模型進行減面優化,優化后模型的點數為16 385、面數為31 524。本研究搭建的事故車輛模型以及模型網格優化算法可以應用于其他事故再現分析軟件當中,可以更加直觀有效地再現道路事故過程,也可以更為科學地判定事故責任,為交通事故的鑒定科學化發展提供有力支撐。同時,本文研究成果也可以用于車輛虛擬仿真實驗室,使用計算機模擬仿真技術,利用通過道路交通事故訓練好的車輛模型,為整車道路試驗以及車輛性能測試實驗等節約成本,推進汽車產業進一步發展。