任立海,夏環,蔣成約*,范體強,趙清江
(1.中國汽車工程研究院股份有限公司博士后工作站,重慶 4011222.重慶理工大學車輛工程學院 汽車零部件先進制造技術教育部重點實驗室,重慶 400054)
道路交通事故已成為嚴重危害人民生命的公共安全問題,2019年中國發生道路交通事故244 674起,造成了250 723人受傷、61 703人死亡[1]。隨著傳統被動安全技術趨于成熟,在自動駕駛或無人駕駛汽車普及前的“混合”交通時代,道路交通事故風險的降低以及人員傷害的減少將高度依賴高級駕駛輔助系統。隨著汽車智能化水平的快速提高,裝備有高級駕駛輔助系統(advanced driving assistance system,ADAS)的汽車正在實現快速覆蓋;然而,ADAS部署到量產汽車之前,必須對其功能安全進行全面徹底的測試,其研究的核心之一在于構建符合真實交通狀況的高保真測試場景[2]。
自動緊急制動(autonomous emergency braking,AEB)系統作為搭載率最高的ADAS,中外學者圍繞其測試場景已開展了大量研究,并制定有AEB系統的測試評價規程[3-5]。如歐盟新車安全評鑒協會(European New Car Assessment Programme,Euro-NCAP)在2014年開始將AEB納入新車安全評級中,并在2020年引入AEB路口測試場景[6]。基于對真實交通事故數據的分析與應用,研究數據轉換方法并構建測試場景是開展AEB場景化測試的基礎。以聚類算法為代表的機器學習方法能夠在進行大數據分析時有效地避免研究人員的主觀因素影響,且可重復性高,已廣泛運用于典型事故場景的提取與測試場景的構建中。Nitsche等[7]使用K-medoids聚類方法對英國交通事故數據進行聚類分析,獲取12類典型路口事故場景;Sui等[8]運用中國交通事故深入研究(China in-depth accident study,CIDAS)數據庫中672起汽車-兩輪車事故,通過聚類分析確定6類典型場景;Hou等[9]基于對368條自然駕駛數據和90條CIDAS事故案例分析確定了3類AEB-自行車事故場景;廖靜倩等[10]從國家車輛事故深度調查體系(national automobile accident In-depth investigation system,NAIS)數據庫中篩選出277起交通事故案例,通過層次聚類分析出4類典型丁字路口事故場景;韓大雙等[11]從NAIS數據庫中篩選出了116起汽車-兩輪車碰撞事故,使用分類樹的方法實現了對典型AEB兩輪車場景的提取。然而,已有研究普遍使用傳統聚類算法,其所能處理的數據樣本在數量、維度以及數據變化范圍等方面是十分有限的。針對大數據量、高維度的交通事故數據,如何實現交通事故數據的科學、準確且高效的聚類分析,還需要進一步研究。
傳統K-means聚類算法的聚類效果容易受到離群樣本、初始聚類中心和聚類簇數的影響,初始聚類中心隨機選取到離群樣本時,可能造成算法迭代次數過多;而聚類簇數的選定則直接影響著聚類的科學性[12-14]。在實際運用中往往需要對其進行針對性改進,以提升對數據樣本的適配性、提升聚類算法性能并實現目標的達成。Alikhani等[15]采用K-means和自組織映射組合的聚類算法,采用混合聚類思想提高聚類精度;Kumar等[16]提出了高效選取聚類中心點的方法在數據集中的密集區域定位并提取K-means算法初始聚類中心點;郭璘等[17]開發改進算法以消除孤立點對聚類結果的影響。然而,現有的改進方法對交通事故數據聚類分析的有效性尚未得到廣泛認可;如何充分利用上述算法改進的原理,結合交通事故數據特征,實現對傳統聚類算法的改進和事故場景的有效聚類是非常具有研究價值和工程意義的。
為此,以AEB為研究對象,以真實交通事故數據為依據,探索事故數據到測試場景轉換的科學方法,以及AEB測試場景構建。為了克服傳統K-means聚類算法容易受到初始聚類中心和聚類簇數影響的缺陷,將層次聚類與K-means聚類相結合,提出針對交通事故數據分析的融合聚類算法;并引入聚類曲線以確定最優的聚類簇數K的值。通過對比傳統K-means聚類算法聚類結果,對融合聚類算法的性能進行了評估。
從美國高速公路安全管理局(National Highway Traffic Safety Administration,NHTSA)碰撞報告采樣系統(crash report sampling system,CRSS)公布的最新交通事故數據庫CRSS2019[18]中選取事故樣本。CRSS2019數據庫采用特有的編碼規則將事故中的各特征要素進行編碼,將每起事故轉換為120個維度的數字,并附有相應的解讀手冊。基于CRSS2019記錄的共54 409起交通事故,本次研究考慮面向AEB系統的測試場景適用性和事故數據可用性,按照以下篩選條件篩選事故:①事故中發生碰撞的車輛限于參與交通的車輛;②選取追尾事故、角碰撞、正面碰撞事故;③事故中僅有兩車發生碰撞;④車型為乘用車和商用車。
最終選取6 639起道路交通事故作為本次研究的樣本。
根據測試場景需求和AEB系統功能特性匹配數據庫,同時參考文獻[19-20]從交通環境描述和車輛描述兩個方面選取特征要素,最終在原始道路交通事故原始數據庫的特征要素中選取了天氣條件、光照條件、事故位置、車型、碰撞部位、碰撞時車速、運動狀態、碰撞方向、事故類型9個特征要素,如圖1所示。

圖1 事故特征要素Fig.1 Accident characteristic elements
其中,車輛要素分為兩輛車各自的特征要素,根據兩輛車各自的碰撞部位將兩車劃分為該起事故中的撞擊車和被撞車(圖2),例如,事故中車輛的碰撞部位為前圍時,則認為該車為撞擊車,另一輛車的碰撞部位為前圍以外其他部位時則認為該車是被撞車,V1劃分為撞擊車,V2劃分為被撞車,當兩車正面碰撞時,則不做區分。

圖2 車輛碰撞部位示例Fig.2 Example of vehicle collision site
在數據的編碼中,采用原始數據庫已有的編碼值。為了簡化事故數據樣本,對數量較少的同類項進行合并并賦予新的編碼值。采用權重均值法計算新編碼值,計算公式為
(1)
式(1)中:Xn-code為合并后新編碼;xi-code為第i個特征編碼;m為需要合并的同類項;ni為擁有第i個特征的樣本數量;n為合并特征的總樣本數量。
編碼簡化示例如表1所示,對篩選的6 639個事故數據樣本進行統計,事故數據樣本總體統計及編碼值如表2所示。

表1 編碼簡化示例Table 1 Code simplification example

表2 事故樣本總體統計Table 2 Overall statistics of accident samples
針對傳統K-means聚類算法存在的容易受到初始聚類中心影響的問題,提出融合聚類算法的新方案用于事故數據樣本聚類分析。融合聚類算法以K-means聚類算法為核心,運用層次聚類算法對K-means聚類算法進行優化,實現兩種算法的融合。首先將隨機選取的數據樣本進行層次聚類,將獲取的層次聚類結果作為K-means聚類的初始聚類中心,以提高初始聚類中心指定的科學性。
算法實現過程如下:
步驟1從整體數據樣本中隨機抽取500個樣本。
步驟2考慮K個聚類簇數(令初始K=2)。
步驟3運行層次聚類算法,計算500個樣本中兩兩樣本的距離,將距離最近的兩個樣本合并為一個樣本,反復計算合并使500個樣本縮減至K個樣本后停止層次聚類算法。
步驟4以第③步結果中的K個樣本作為K-means聚類的初始聚類中心。
步驟5運行K-means聚類算法,計算整體數據樣本中每個樣本到每個初始聚類中心的距離,按照距離最近原則將每個樣本分配到每個聚類中心所代表的類別中并建立類別標簽。
步驟6將每個樣本的本次類別標簽與前一次相比較,當某一個樣本的兩次類別標簽不一致時更新聚類中心,重復步驟5。使K-means聚類算法反復迭代,直到所有樣本兩次類別標簽相同時停止迭代,得到聚類數據集。
步驟7畫出聚類曲線,進行算法收斂性判定,不收斂時遞增K重復步驟2~步驟6,直到曲線收斂效果較好時終止算法。
步驟8根據聚類曲線選取最佳K值時對應的聚類數據集作為最終聚類數據集。
聚類算法流程如圖3所示。

圖3 融合聚類算法流程Fig.3 Fusion clustering algorithm process
上述算法中,均采用平方歐式距離計算層次聚類和K-means聚類過程中樣本點的距離,其計算公式為

(2)
式(2)中:Xi為單個數據樣本;Cj為第j類聚類中心;N為事故樣本數量;K為聚類簇數。
在K-means聚類中聚類中心由每個簇內所有樣本的均值進行更新,可表示為
(3)
式(3)中:Cjt為更新t次后第j類的聚類中心;Xij為第j類中的第i個樣本;nj為第j類中包含的樣本數量。
聚類曲線是以聚類簇數為橫坐標,以簇內所有樣本到聚類中心的距離的和(sum of squares in cluster,SSC)為縱坐標的曲線。SSC值是考察聚類結果中樣本聚合程度的重要指標,以SSC曲線的收斂性作為評估算法和聚類簇數選取的依據。SSC的計算公式為
(4)
根據聚類曲線確定聚類簇數。運行聚類算法得到聚類曲線如圖4所示。

圖4 聚類曲線Fig.4 Clustering curve
從聚類曲線(圖4)可以看出,隨著聚類簇數K增加,SSC值減少,事故數據樣本聚類的聚合度逐步升高且趨于收斂。當K=12時,繼續遞增K到14,聚類曲線趨于平穩,算法收斂效果較好,此時終止算法。說明K=12以后提高聚類簇數所帶來的事故數據樣本聚合度回報幾乎不變且所帶來的計算時間增加。因此,選擇12作為最佳的聚類簇數,選取K=12時的聚類數據集作為最終聚類數據集進行分析。
根據最終聚類數據集,統計聚類數據集中12類交通事故數據如表3所示。

表3 聚類數據集統計Table 3 Clustering dataset statistics
為了直觀地表示出每類事故中兩車速度的集中區間,畫出速度箱線圖,如圖5所示。
選取每一類別事故的每個特征要素中占比最大的特征作為該類事故的特征,采用速度集中區間的值作為該車的速度,結合解讀手冊可以解讀出各類別交通事故的場景描述如表4所示。場景示意如圖6所示。

上箱線值表示該類中速度的75百分位值;下箱線值表示類中速度的25百分位值圖5 各類事故的車速箱線圖Fig.5 Speed box diagram of various accidents

表4 各類別事故場景描述Table 4 Description of different accident scenarios

圖6 12類事故場景示意圖Fig.6 Schematic diagram of 12 types of accident scenarios
根據表3可以看出:融合聚類算法聚類出的每一類別事故中單一事故類型占比平均達到95%,V1或V2的單個車型占比達80%;單一運動狀態占比達75.6%,每一類事故發生位置明確,說明聚類算法對每一類別事故達到了準確聚類。其中第1、2、10、11類事故的數量超過800,第5、6、8、9類事故的數量不足300,因此12類事故做到了對大概率常規事故和小概率特殊事故的有效覆蓋。根據表4和圖6對聚類數據集中各類別交通事故數據的統計和解讀可以看出:各類別事故存在明顯的差別;同類型事故的不同速度區間也有較好地體現。
以上說明融合聚類算法對交通事故數據樣本的聚類取得了較好的效果,所聚類出的12類事故能夠代表整個事故數據樣本中的典型事故。
根據12類典型事故設計AEB測試場景。將事故中的撞擊車設計為測試場景中的測試車(vehicle under test,VUT);被撞車設計為測試場景中的目標車(global vehicle target,GVT),根據各類別事故中車輛的速度的集中區間設計測試速度。設計出1~10類事故場景對應的1~10種測試場景,根據表4第11、12類事故中兩車的碰撞部位的統計數據可以將兩車互相劃分為撞擊車和被撞車,因此分別設計為第11、12、13、14種測試場景,以求設計的測試場景均能最大化復現聚類數據集所代表的交通事故數據樣本中的典型事故。設計出測試場景共14種如表5所示。各類測試場景示意圖如圖7所示。

圖7 設計的14種AEB測試場景示意圖Fig.7 Schematic diagram ofdesigned 14 AEB test scenarios

表5 設計的AEB測試場景Table 5 Designed AEB test scenarios
12類典型事故顯示樣本中的典型交通事故分為:類型A:被撞車停車追尾碰撞事故、類型B:被撞車減速追尾碰撞事故、類型C:路口兩車直行側面碰撞事故、類型D:路口轉彎車與直行車角碰撞事故四大類型。類型A分為第1~3類的乘用車低、中、高速追尾停車乘用車事故,第4類的乘用車追尾停車商用車事故,第5、6類的商用車低、中速追尾停車乘用車事故。類型A占總體事故數據樣本的50.5%,說明類型A事故為常見高發事故,測試場景的設計應著重關注該類型事故以開展不同GVT車速和車型組合的AEB測試。類型B分為第7、8類的兩乘用車追尾事故和第9類乘用車追尾商用車事故;這3類事故中兩車速度較高,且被撞車伴隨有減速,可以據此3類事故設計測試場景進行極限工況下的AEB測試。類型C體現在第10類,該類事故中車輛在進入路口時速度較高,駕駛員反應時間較短,應針對此類型場景進行AEB優化設計。類型D在第11類和第12類有很好地體現,該類型事故中左轉車輛相比直行車輛速度更低;其中,事故中車輛左轉占比81.9%,右轉占比17.9%,車輛左轉事故場景應是AEB測試中值得關注的典型場景。類型C和類型D都是路口交通事故,該兩類型事故占事故數據樣本總體的39.1%,因此在路口等復雜交通環境中的場景應當開展AEB的針對不同GVT車型和不同GVT運動狀態的專項測試。
需要指出的是,聚類獲取的12類典型事故中沒有涉及正面碰撞事故類型,原因在于其在事故數據樣本中的占比僅為2.1%、在原始數據庫的占比為1.21%。此外,手冊指出記錄的正面碰撞事故類型是由于駕駛員緊急轉向避險而導致的與對向正常行駛車輛碰撞,不適用于AEB系統。
值得注意的是,圖6的場景示意中,12類典型事故中有9類事故示意為事故發生在十字路口及其直行支路,其中1~6類表示被撞車停車追尾碰撞事故場景示意為事故發生在十字路口的直行支路。這是因為CRSS2019數據庫的配套手冊示意出記錄的被撞車停車追尾事故類型的事故位置為十字路口的直行支路,由于被撞車等待通行而停車時發生追尾事故。事故數據樣本中發生在十字路口及其直行支路的事故占比達到61.8%,說明該區域是交通事故的高發地,該交通環境在未來的ADAS道路測試中應重點關注。
基于事故數據聚類的典型場景設計了AEB測試場景,與中外主要汽車安全檢測機構如Euro-NCAP、中國新車評價規程(China-new car assessment program,C-NCAP)、中國保險汽車安全指數(China insurance automotive safety index,C-IASI)等公布的兩車AEB標準測試場景[3-5]進行對比。標準測試場景分為GVT靜止、GVT減速、GVT低速和路口測試場景,如圖8所示。所設計的AEB測試場景中,第1~3種和第7、8、12種與標準測試場景相似;測試場景中環境條件均為良好,這與標準測試場景中要求相同且提出了更多的速度組合。設計的第4種和第9種GVT為商用車的測試場景,增加了乘用車AEB的在高速直行中對不同GVT的適應性測試,這兩種測試場景在現有標準測試場景中還未提出。

圖8 種標準測試場景Fig.8 4 types of regulatory test scenarios
張詩波等[20]和徐向陽等[21]提出了多個路口測試場景,大致分為圖9[20-21]所示的5種測試場景,基本覆蓋了大部分常見路口場景,設計的第10、11、12種測試場景與其類似。設計的第13種GVT為商用車左轉的路口測試場景增加了乘用車AEB在路口的復雜交通環境中對不同類型GVT的有效性測試。此外本次研究提出了第5、6、13種商用車AEB測試場景,可為今后商用車AEB開發測試工作提供有力支撐。設計的測試場景均以事故數據作為依據,科學性和代表性均有良好保障,從一定程度上可以豐富測試場景,為進一步標準測試場景的制定提供了有力支撐。

圖9 文獻[20-21]提出的5種AEB路口測試場景Fig.9 5 Types of intersection AEB test scenarios proposed by ref.[20-21]
使用融合聚類算法和傳統K-means算法分別對事故數據樣本進行聚類,進行5次試驗結果對比。對比兩種算法各自迭代次數、SSC和SSC波動,其中SSC的波動值為當前SSC與5次試驗平均SSC的差值除以平均SSC的值,其大小能判斷事故數據樣本聚類結果的穩定性。對比結果如表6所示。

表6 兩種算法對比Table 6 Comparison of the two algorithms
對比傳統K-means聚類算法,融合聚類算法在完成聚類時迭代次數平均減少8次、SSC值平均減少830 892.22、SSC波動平均減少3%。說明融合聚類算法在保證最終良好聚類結果的同時更節省時間,多次聚類中結果更穩定,可重復性更強。融合聚類算法利用層次聚類選取K-means聚類的初始聚類中心,其目的在于彌補K-means聚類易受初始聚類中心影響的缺陷。本文算法核心思想與以往的研究中如運用強化初始聚類中心(ROBust initialisation,ROBIN)算法[22]、改進場景聚類法[23]、基于空間分布選初始聚類中心的聚類算法[24]原理類似,目的是使選取的初始聚類中心能最大程度接近數據樣本集的自然數據中心點,以減少傳統K-means算法在聚類中初始聚類中心指定的隨機性。與這3種算法不同之處在于所設計的融合聚類算法采用隨機選取樣本后層次聚類的方式,其中心指定評價規則更少、算法結構更簡單,在事故數據樣本聚類中能明顯減少計算量、縮短聚類時間,更能適應大數據量、高緯度的事故數據樣本。
(1)完成了大量交通事故樣本中的典型交通事故的快速提取,并根據典型事故設計了AEB測試場景,形成了從原始數據庫中選取事故數據樣本構建AEB測試場景的有效方法和手段。所設計的測試場景可為AEB測試提供場景來源,為進一步標準測試場景的擴充提供參考。在數據聚類中,提出了融合聚類算法,從聚類結果可以看出,該算法實現了對事故數據庫中典型事故的準確聚類。通過融合聚類算法與傳統K-means算法分別處理數據樣本的5次試驗對比,融合聚類算法平均減少算法迭代次數,減少SSC及其波動,聚類結果中樣本聚合度更高。相比傳統K-means算法,融合聚類算法對高維度、大數據量的事故數據樣本的適應性更好。
(2)受聚類算法原理限制,融合聚類算法只能聚類出特征要素中占比較大的典型特征。事故樣本中天氣條件和光照條件等特征要素中特征為晴朗和日照充足的事故數量占比達74%,因此聚類出的每一類事故中天氣條件和光照條件為晴朗和日照充足的事故數量均占到該類總事故數量的70%,故12類典型事故的環境條件均為晴朗和日照充足。可以在本文所提出的測試場景的基礎上設置不同環境條件,以擴充AEB在不同環境中的適應性測試。此外,融合聚類算法對于同一類場景中兩車的碰撞部位、運動狀態的劃分還不夠精細,如聚類數據集中第11和第12類場景可以解讀出兩車互為撞擊車的同類型場景。在實現數據樣本快速準確聚類、進一步提升聚類算法對數據樣本的適應性等方面還需要研究。