文圖|張奇 趙洹琪 胡偉超
異常檢測(cè)在計(jì)算機(jī)視覺研究中處于重要地位,目前已有多種方法被用于視頻和圖像等異常的檢測(cè)與定位?;谝曨l識(shí)別的交通事件檢測(cè)性能評(píng)估的目標(biāo)是選出泛化能力強(qiáng)的模型完成事件檢測(cè)任務(wù)。實(shí)際的事件檢測(cè)任務(wù)往往需要進(jìn)行大量的實(shí)驗(yàn),通過(guò)多次調(diào)整參數(shù)、融合多種模型算法(多重融合策略)來(lái)解決視頻識(shí)別問題,并觀察哪種模型算法在什么樣的參數(shù)下能夠最好地完成任務(wù)。通常情況下,基于已有的數(shù)據(jù)進(jìn)行切分來(lái)完成模型訓(xùn)練和評(píng)估,可以很好地判定模型狀態(tài)是過(guò)擬合還是欠擬合,進(jìn)而不斷優(yōu)化。不同的交通事件場(chǎng)景強(qiáng)調(diào)不同的分類能力,視頻識(shí)別得到的分類器或者模型,需要有不同的指標(biāo)。本文選取了一些符合視頻識(shí)別交通業(yè)務(wù)情況或者可以表現(xiàn)視頻識(shí)別模型波動(dòng)的評(píng)估指標(biāo),通過(guò)觀察評(píng)估指標(biāo)可以判斷模型算法的效果,從而對(duì)模型算法進(jìn)行升級(jí)與迭代。
交通事件檢測(cè)算法模型學(xué)習(xí)方法可以分為離線學(xué)習(xí)和在線學(xué)習(xí)。離線學(xué)習(xí)也稱本地學(xué)習(xí),是指使用測(cè)試數(shù)據(jù)集反復(fù)訓(xùn)練一個(gè)或多個(gè)算法模型來(lái)解決不同交通事件類型的檢測(cè)。該方法的優(yōu)點(diǎn)在于通過(guò)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,可離線快速生成模型,不會(huì)因?yàn)閭€(gè)別數(shù)據(jù)的更新錯(cuò)誤把模型帶向極端。缺點(diǎn)是無(wú)法動(dòng)態(tài)更新模型,需要重新生成模型以適應(yīng)新數(shù)據(jù)。因此,該方法不適用于需要頻繁更新模型的場(chǎng)景。相比之下,在線學(xué)習(xí)可以隨著輸入數(shù)據(jù)的變化動(dòng)態(tài)更新模型,具有實(shí)時(shí)性,可以快速適應(yīng)新數(shù)據(jù)的特征變化,而且可以避免離線學(xué)習(xí)需要重新生成模型的問題。但是,由于在線學(xué)習(xí)需要實(shí)時(shí)計(jì)算,因此對(duì)測(cè)試系統(tǒng)的性能有著較高要求。
在視頻識(shí)別領(lǐng)域,混淆矩陣(Confusion Matrix)又稱為可能性矩陣或誤差矩陣,是性能評(píng)估的一種標(biāo)準(zhǔn)格式,用n×n 的矩陣形式來(lái)表示?;煜仃囀菣C(jī)器學(xué)習(xí)中一種可視化工具,主要用于比較分類問題的預(yù)測(cè)結(jié)果和實(shí)際值,同時(shí)可以將分類結(jié)果的精確程度反映在矩陣中。矩陣的列總數(shù)表示預(yù)測(cè)為該類別的數(shù)據(jù)數(shù)量,每行代表數(shù)據(jù)的實(shí)際歸屬類別,行數(shù)據(jù)的總數(shù)表示該類別的實(shí)例數(shù)量。矩陣中每個(gè)元素的值表示實(shí)際屬于該類別但被錯(cuò)誤預(yù)測(cè)為其他類別的數(shù)量,如圖1 所示。
圖1 混淆矩陣
基于視頻識(shí)別的交通事件檢測(cè)算法性能的4 個(gè)基礎(chǔ)統(tǒng)計(jì)數(shù)值分別為:TP(正樣本檢測(cè)正確數(shù))、TN(負(fù)樣本檢測(cè)正確數(shù))、FP(假正檢測(cè)數(shù))、FN(假負(fù)檢測(cè)數(shù))。根據(jù)混淆矩陣,可以計(jì)算出一些用于評(píng)估檢測(cè)算法性能的指標(biāo),如Accuracy(準(zhǔn)確率)、Precision(查準(zhǔn)率)、Recall(查全率)和F 值(Precision 和Recall 的調(diào)和均值)等。這些指標(biāo)可以幫助了解模型的檢測(cè)算法能力以及對(duì)于正負(fù)樣本的識(shí)別效果。
TP(正樣本檢測(cè)正確數(shù)):正確檢測(cè)出交通事件類型且檢出時(shí)間與事件起始時(shí)間誤差在規(guī)定時(shí)間以內(nèi)的視頻樣本數(shù)量。
TN(負(fù)樣本檢測(cè)正確數(shù)):無(wú)交通事件發(fā)生且沒有檢測(cè)出交通事件。
FP(假正檢測(cè)數(shù)):檢測(cè)出的交通事件類型錯(cuò)誤,或檢出時(shí)間與事件起始時(shí)間誤差超過(guò)規(guī)定時(shí)間的視頻樣本數(shù)量。
FN(假負(fù)檢測(cè)數(shù)):未檢測(cè)出交通事件類型的數(shù)量。
GT(真值數(shù)量):真實(shí)發(fā)生交通事件的視頻樣本數(shù)量(由人工篩選標(biāo)注)。
Accuracy(準(zhǔn)確率):表示正確檢測(cè)出交通事件的數(shù)量占所有檢測(cè)的視頻樣本的比例。
Accuracy(準(zhǔn)確率)雖然可以衡量機(jī)器學(xué)習(xí)模型的總體正確情況,但在樣本不均衡的情況下,其并不能很好地衡量結(jié)果。因此,為了評(píng)估模型的表現(xiàn),還需要采用新的指標(biāo)。
Precision(查準(zhǔn)率):表示正確檢測(cè)到的交通事件數(shù)量占所有檢測(cè)發(fā)生交通事件的視頻樣本的比例。
TPR(真正例率):表示正確檢測(cè)到的交通事件數(shù)量占所有真實(shí)發(fā)生交通事件樣本數(shù)的比例。
FPR(假正例率):檢測(cè)出的交通事件類型錯(cuò)誤數(shù)量占所有錯(cuò)誤事件樣本數(shù)的比例。
Recall(查全率):表示正確檢測(cè)到的交通事件數(shù)量占所有真實(shí)發(fā)生交通事件樣本數(shù)的比例。
交通事件檢測(cè)是一個(gè)非常追求查全率,同時(shí)也強(qiáng)調(diào)查準(zhǔn)率的領(lǐng)域,但事實(shí)上兩者在某些情況下是有矛盾的。根據(jù)算法模型的預(yù)測(cè)結(jié)果進(jìn)行排序,以查準(zhǔn)率為縱軸、查全率為橫軸作圖,得到了查準(zhǔn)率-查全率曲線,簡(jiǎn)稱PR 曲線,如圖2 所示。
圖2 PR曲線
從圖中可以看出,B 的性能優(yōu)于A,而與C 發(fā)生交叉,則難以一般性地判斷誰(shuí)更優(yōu)秀,只能在具體的條件下進(jìn)行比較,需要綜合考慮,最常見的方法就是使用F 值(Precision 和Recall 的調(diào)和均值)。
F 值(Precision 和Recall 的調(diào)和均值):結(jié)合Precision 和Recall 的優(yōu)勢(shì),用于綜合衡量單類交通事件的基本檢測(cè)性能。公式為:
AUC(曲線下面積):是分類問題中最重要的評(píng)估指標(biāo)之一,計(jì)算的是ROC(受試者工作特征)曲線下的面積,以FPR(假正例率)為橫軸、TPR(真正例率)為縱軸作圖,得到ROC 曲線下的AUC,如圖3 所示,表示正確判斷正樣本的得分高于負(fù)樣本的概率,AUC的取值范圍一般在[0.5,1],數(shù)值越大模型效果越好。其中rankinsi代表第i 條樣本的序號(hào),概率得分從小到大排序,排在第rank 個(gè)位置。M、N 分別代表正負(fù)樣本個(gè)數(shù),然后只取正樣本序號(hào)累加。但有時(shí)候兩個(gè)模型的AUC 相等并不代表模型的效果相同,所以要綜合考慮其他評(píng)估指標(biāo)。公式為:
圖3 ROC曲線
MCC(馬修斯相關(guān)系數(shù)):其綜合考慮了TP、TN、FP、FN,是一個(gè)比較均衡的指標(biāo),對(duì)于樣本不均衡情況下也可以使用。MCC 的取值范圍在[-1,1],數(shù)字越大越接近真實(shí)樣本。公式為:
F 值(Precision 和Recall 的調(diào)和均值)、AUC(曲線下面積)、MCC(馬修斯相關(guān)系數(shù))可以說(shuō)是二分類問題的最佳評(píng)估指標(biāo),調(diào)和均值在交通事件樣本數(shù)平衡的情況下可以幫助我們更好地協(xié)調(diào)查準(zhǔn)率與誤報(bào)率的關(guān)系,馬修斯相關(guān)系數(shù)在針對(duì)交通事件樣本類別不平衡情況下的魯棒性是更好的評(píng)估指標(biāo)。
T(檢測(cè)時(shí)間誤差):正確檢測(cè)事件起始時(shí)間誤差的折減系數(shù)。
其中, 為事件的檢出時(shí)間(精確到毫秒);S 為事件的起始時(shí)間(精確到毫秒);NORM 為歸一化系數(shù),取一個(gè)約束值;N 為正確檢測(cè)數(shù);MIN 將誤差范圍歸一化為(0,NORM)之間。
機(jī)器學(xué)習(xí)的目的是使學(xué)習(xí)模型對(duì)已知數(shù)據(jù)和未知數(shù)據(jù)都能有較好的預(yù)測(cè)能力。通過(guò)比較不同模型在測(cè)試集上的表現(xiàn),可以選擇出最佳模型。理想的解決方案是對(duì)候選模型的泛化誤差進(jìn)行評(píng)估,然后找出泛化誤差最小的模型。在實(shí)際應(yīng)用中,通常會(huì)將數(shù)據(jù)集劃分兩類,一類用來(lái)訓(xùn)練模型,一類用來(lái)評(píng)估模型,分別稱為訓(xùn)練集和測(cè)試集,以測(cè)試誤差作為泛化誤差的近似。常用的方法有以下幾種。
留出法。通過(guò)對(duì)數(shù)據(jù)集D 進(jìn)行適當(dāng)?shù)奶幚?,從中分出?xùn)練數(shù)據(jù)集S 和測(cè)試數(shù)據(jù)集T。其中S ∪T=D,S ∩T=?。在S 上訓(xùn)練出模型后,用T 來(lái)評(píng)估其測(cè)試誤差,作為對(duì)泛化誤差的估計(jì)??梢赃x擇三分之二至五分之四的樣本用于訓(xùn)練,剩余樣本用于測(cè)試。留出法的缺點(diǎn)是需要保證測(cè)試集與訓(xùn)練集的數(shù)據(jù)分布相似,否則可能會(huì)導(dǎo)致測(cè)試結(jié)果不準(zhǔn)確。
交叉驗(yàn)證法。先將數(shù)據(jù)集D 劃分為k 個(gè)大小相似的互斥子集,每個(gè)子集都盡可能保持?jǐn)?shù)據(jù)分布的一致性,即從D 中通過(guò)分層采樣得到。然后,每次用k-1個(gè)子集的并集作為訓(xùn)練集,余下的那個(gè)子集作為測(cè)試集,這樣就可以進(jìn)行k 次訓(xùn)練和測(cè)試,最終返回的是這k 個(gè)測(cè)試結(jié)果的均值。交叉驗(yàn)證可以更好地評(píng)估模型的預(yù)測(cè)性能,并減少模型過(guò)擬合的風(fēng)險(xiǎn)。
自助法。對(duì)于包含m 個(gè)樣本的數(shù)據(jù)集D,進(jìn)行有放回抽樣m 次后得到數(shù)據(jù)集D'。將D'作為訓(xùn)練集,D與D'的差集用作測(cè)試集。這樣,實(shí)際評(píng)估的模型與期望評(píng)估的模型都使用m 個(gè)訓(xùn)練樣本,而沒在訓(xùn)練集中出現(xiàn)的樣本用于測(cè)試。該方法可以減少訓(xùn)練樣本規(guī)模不同造成的影響,有效地利用數(shù)據(jù)集,可以不斷劃分初始數(shù)據(jù)集,形成不同的訓(xùn)練集,但可能會(huì)導(dǎo)致模型的方差過(guò)大。
大部分的算法模型都有一些參數(shù)需要設(shè)定,不同的配置參數(shù)對(duì)模型的性能影響有著顯著的差別。而這個(gè)配置參數(shù)的能力是需要長(zhǎng)期積累才能形成的,因?yàn)槊恳环N數(shù)據(jù)庫(kù)和每一種網(wǎng)絡(luò)結(jié)構(gòu)都需要不同的參數(shù)設(shè)定以達(dá)到最佳效果。因此在進(jìn)行算法模型評(píng)估時(shí),除了對(duì)算法模型進(jìn)行選擇,還需要對(duì)算法參數(shù)進(jìn)行設(shè)定。參數(shù)其實(shí)是個(gè)比較泛化的概念,因?yàn)樗粌H包括一些數(shù)字的調(diào)整,也包括了相關(guān)的網(wǎng)絡(luò)結(jié)構(gòu)的調(diào)整和一些函數(shù)的調(diào)整。數(shù)值計(jì)算由一整套數(shù)學(xué)過(guò)程決定,在選定方法后,其計(jì)算過(guò)程基本不需要人工參與。因此,常說(shuō)的模型調(diào)參實(shí)際上是調(diào)整模型超參數(shù)。超參數(shù)種類繁多,而且無(wú)法通過(guò)一個(gè)嚴(yán)謹(jǐn)?shù)臄?shù)學(xué)流程給出最優(yōu)解,需要人工參與進(jìn)行調(diào)節(jié)。調(diào)參過(guò)程主要通過(guò)兩種方式來(lái)進(jìn)行:手動(dòng)調(diào)參與自動(dòng)調(diào)參。手動(dòng)調(diào)參是指人工設(shè)定并調(diào)整超參數(shù)的過(guò)程,這種方式通常需要對(duì)問題和模型有深入理解,過(guò)程耗時(shí)且效率低下。自動(dòng)調(diào)參則是通過(guò)算法自動(dòng)搜索最優(yōu)超參數(shù)的過(guò)程,如網(wǎng)格搜索、隨機(jī)搜索、貝葉斯優(yōu)化等。調(diào)參的最終目的是要使訓(xùn)練之后的模型檢測(cè)事件更精確。
本文介紹了幾種適用于交通事件典型場(chǎng)景檢測(cè)算法的評(píng)估指標(biāo)和評(píng)估方法,對(duì)數(shù)據(jù)采用不同的選取方法和劃分策略,會(huì)對(duì)算法模型評(píng)估指標(biāo)產(chǎn)生不同的影響,因此,需要選擇合適的方法和劃分策略來(lái)正確地反映模型的效果。通過(guò)分析可以得出,自助法在數(shù)據(jù)集較小,難以劃分訓(xùn)練數(shù)據(jù)集、測(cè)試數(shù)據(jù)集時(shí)很有用,但自助法產(chǎn)生數(shù)據(jù)集改變了初始數(shù)據(jù)集的分布,這會(huì)引入估計(jì)偏差。所以,在初始數(shù)據(jù)量足夠時(shí),可使用留出法和交叉驗(yàn)證法評(píng)估測(cè)試算法模型的性能。如果測(cè)試集中的交通事件類型數(shù)據(jù)不均衡,可根據(jù)實(shí)際應(yīng)用將各個(gè)事件類別評(píng)估指標(biāo)加權(quán)計(jì)算。