王 彬, 李小曼, 趙作鵬
(1.中國礦業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院, 江蘇 徐州 221116; 2.江蘇聯(lián)合職業(yè)技術(shù)學(xué)院 信息技術(shù)系, 江蘇 徐州 221008)
近年來人均汽車保有量不斷增加,交通安全問題日益嚴(yán)峻.2018年以來,我國公路交通領(lǐng)域發(fā)生了多起事故,其中根據(jù)公安部發(fā)布的《(中國)道路事故年度統(tǒng)計》顯示數(shù)據(jù),駕駛員的不規(guī)范行為是造成事故的主要原因.不規(guī)范行為包括司機在駕駛中接打電話、抽煙、與乘客交談[1]等等.近年來,智能手機已成為大多數(shù)人生活中不可或缺的一部分,美國公路安全保險協(xié)會的調(diào)查數(shù)據(jù)顯示,有近六成的駕駛員在駕駛途中手持通話.在駕駛途中手持通話必然會造成駕駛員分心,反應(yīng)速度變慢,從而對車外的狀況不能做出及時的反應(yīng),因此造成交通事故.目前,駕駛員手持通話行為的檢測方法主要包括基于WiFi手機信號和機器視覺兩種.2018年R.TARABAY等[2]研究了聽覺分神對駕駛操作的影響,通過設(shè)置不同層級的認(rèn)知問題模擬駕駛過程中次任務(wù)的工作量,監(jiān)測心率和皮電變化用以表達(dá)認(rèn)知量增加對生理狀態(tài)的影響.基于機器視覺的方法,通過車內(nèi)或者車外的攝像頭拍攝駕駛員圖像,經(jīng)相應(yīng)算法判斷駕駛員是否處于手持通話的行為狀態(tài)[3].檢測手機是檢測駕駛員手持通話行為狀態(tài)的重要方法和依據(jù).近年來使用深度學(xué)習(xí)方法[4]進行分神檢測的研究日臻豐富,2019年,夏瀚笙等[5]利用Alpha Pose系統(tǒng)獲取駕駛員9個身體節(jié)點并生成熱力圖,分別討論了8種改進型的VGG16和ResNet50在SF3D上的分類識別率,最優(yōu)精度為94.93%.同時,目標(biāo)檢測[6-8]的方法也有重大突破.因此,改進型的目標(biāo)檢測框架Faster RCNN[9]開始應(yīng)用于交通駕駛領(lǐng)域,文中主要設(shè)計一種改進的Faster RCNN算法來檢測駕駛員手持通話的行車狀態(tài).
現(xiàn)有的高級駕駛輔助系統(tǒng)(advanced driver assistance system,ADAS)主要關(guān)注點在碰撞和對航道偏離的預(yù)警上,但對駕駛員行為狀態(tài)的研究還較為欠缺,文中的工作可視為對ADAS的延伸.文中擬根據(jù)研究對象的特點對Faster RCNN算法進行改進,并應(yīng)用于圖像中手機小物體的檢測,第1次將Faster RCNN目標(biāo)檢測算法應(yīng)用于駕駛員行為檢測特定場景任務(wù)中,并提出一種新的檢測算法,運用多尺度訓(xùn)練、增加錨點數(shù)量以及引入殘差擴張網(wǎng)絡(luò)提取特征的手段提高檢測精度.
傳統(tǒng)的圖像檢測方法是基于可變形部件模型(deformable part model, DPM)的,在VOC2007數(shù)據(jù)集中,它的平均精度(mean average precision,mAP)可以達(dá)到 43%.研究人員將CNN強大的分類能力應(yīng)用于圖像檢測.最新提出的Faster RCNN框架在VOC2007數(shù)據(jù)集上的mAP可達(dá)到73%.研究表明,Faster RCNN網(wǎng)絡(luò)模型在各種復(fù)雜背景下對各種類別目標(biāo)都具有很強的鑒別能力.所以,文中將Faster RCNN模型應(yīng)用到駕駛員手持通話場景檢測中.
Faster RCNN由兩個模塊組成:生成候選區(qū)域的區(qū)域建議網(wǎng)絡(luò)(region proposal network,RPN)模塊和Faster RCNN目標(biāo)檢測模塊.RPN模塊產(chǎn)生候選區(qū)域,并利用“注意力”機制,讓Faster RCNN有方向性地檢測目標(biāo).首先,RPN預(yù)先產(chǎn)生可能是手機的一系列目標(biāo)候選框,然后Faster RCNN 基于提取出的候選框?qū)δ繕?biāo)檢測識別.
1.1.1區(qū)域建議網(wǎng)絡(luò)
RPN的基本思想是在特征圖上找到所有可能的目標(biāo)候選區(qū)域,通過在原始的網(wǎng)絡(luò)結(jié)構(gòu)上添加卷積層和全連接層、在每個位置上標(biāo)定回歸目標(biāo)邊界框和預(yù)測目標(biāo)分?jǐn)?shù),提升邊界框的生成速度.RPN結(jié)構(gòu)如圖1所示.
圖1 RPN結(jié)構(gòu)圖
RPN采用的是滑動窗口機制,每個滑動窗口都會產(chǎn)生1個短的特征向量輸入到全連接層中進行位置和類別的判斷,在每個滑動窗口位置同時預(yù)測多個候選區(qū)域,其中每個位置的預(yù)測候選區(qū)域的數(shù)量為k個.因此,回歸層具有4k個輸出,編碼k個框的4個坐標(biāo),分類層輸出2k個評分,預(yù)測每個區(qū)域所屬目標(biāo)的概率和所屬背景的概率.k個候選框被參數(shù)化,稱為k個錨點.為了使算法更好地適用于不同形狀和尺寸的目標(biāo),網(wǎng)絡(luò)將特征圖上的每個位置設(shè)置多個錨點,以預(yù)測輸入圖像的不同尺度和不同長寬比的候選區(qū)域.
1.1.2區(qū)域建議網(wǎng)絡(luò)的損失函數(shù)
在訓(xùn)練RPN時,為每個候選框分配1個二值標(biāo)簽,將以下兩種情況分配正標(biāo)簽:① 某個真實目標(biāo)區(qū)域框的IoU(intersection over-union)最大的候選框;② 任意真實目標(biāo)區(qū)域框的IoU大于0.7的候選框.為所有真實目標(biāo)候選框的IoU小于0.3的候選框分配負(fù)標(biāo)簽,然后進行網(wǎng)絡(luò)訓(xùn)練并微調(diào)參數(shù).圖像的損失函數(shù)定義為
(1)
(2)
式中:(x,y)為包圍盒的中心點坐標(biāo);(xa,ya)為候選框的坐標(biāo);(x*,y*)為真實區(qū)域包圍盒的坐標(biāo);w和h為包圍盒的寬和高.算法的目的在于找到一種關(guān)系將原始框P映射到與真實框G更接近的回歸框.
分類的損失函數(shù)Lcls定義為
(3)
回歸的損失函數(shù)Lreg定義為
(4)
式中:R為smoothL1函數(shù).smoothL1函數(shù)表達(dá)式為
(5)
1.1.3RPN與Faster RCNN
Faster RCNN基于RPN產(chǎn)生的候選區(qū)域邊界框來檢測并識別候選框中的手機物體目標(biāo).訓(xùn)練過程中,首先將帶有標(biāo)注的數(shù)據(jù)集輸入到網(wǎng)絡(luò)中,通過卷積網(wǎng)絡(luò)[10]進行特征提取,然后將RPN產(chǎn)生對應(yīng)的候選區(qū)域映射到該特征圖中,獲得相應(yīng)的特征信息.再通過感興趣區(qū)域(ROI)池化層產(chǎn)生固定大小的特征圖輸入到全連接層中,產(chǎn)生目標(biāo)所屬類別概率和區(qū)域坐標(biāo).RPN和Faster RCNN通過交替優(yōu)化共享特征提取網(wǎng)絡(luò)部分,實現(xiàn)高效的目標(biāo)檢測.
為了使Faster RCNN模型能夠更好地應(yīng)用于手機目標(biāo)檢測,文中提出在原始Faster RCNN基礎(chǔ)上結(jié)合多尺度訓(xùn)練、增加錨點數(shù)量和引入殘差擴張網(wǎng)絡(luò)改進特征提取網(wǎng)絡(luò)增強模型的性能.
1.2.1多尺度訓(xùn)練
在實際駕駛場景的手持手機狀態(tài)下,待檢測的目標(biāo)手機尺寸差異較大.原始的Faster RCNN通常會對所有的訓(xùn)練圖片采用固定尺寸,這樣對不同尺寸的目標(biāo)檢測泛化性能較差.文中采用多尺度訓(xùn)練,圖片送入網(wǎng)絡(luò)之前,在保證圖像原有比例的前提下,將圖片隨機調(diào)整尺寸大小,使其較短邊取480、600、750像素之一.然后隨機選擇3種尺度之一送入網(wǎng)絡(luò)中進行訓(xùn)練.試驗證明多尺度訓(xùn)練使得網(wǎng)絡(luò)[11]能夠?qū)W習(xí)目標(biāo)各種尺寸的特征,使得網(wǎng)絡(luò)對目標(biāo)尺寸大小具有一定的魯棒性.
1.2.2錨點數(shù)量
RPN中的錨點數(shù)量是網(wǎng)絡(luò)中一個非常重要的超參數(shù),它直接影響到后續(xù)候選區(qū)域的生成.原始的Faster RCNN使用9個錨點,每個滑動窗口產(chǎn)生9個不同尺度和不同長寬比的候選區(qū)域,最后對整張圖片產(chǎn)生的候選區(qū)域使用非極大值抑制算法剔除多余的候選區(qū)域.但是網(wǎng)絡(luò)默認(rèn)設(shè)置的錨點參數(shù)對區(qū)域較小的目標(biāo)無法召回.在對駕駛員手持通話行為檢測時,需要檢測出手機目標(biāo),而其中手機目標(biāo)大小不一的問題總是存在的.因此,在默認(rèn)參數(shù)的基礎(chǔ)上,加入一組64×64錨點(比默認(rèn)設(shè)置的更小)使得網(wǎng)絡(luò)可以檢測到更多的小目標(biāo).在訓(xùn)練過程中,RPN部分使用12個錨點,尺度大小分別為64×64、128×128、256×256、512×512 像素,3個縱橫比分別為1∶1、1∶2和2∶1.試驗證明文中增加的64×64像素的尺度可以檢測更多的小目標(biāo).
1.2.3殘差擴張網(wǎng)絡(luò)
文中的殘差擴張網(wǎng)絡(luò)(ResNet dilated network,RDN)采用d作為擴張因子.當(dāng)d=1時,為標(biāo)準(zhǔn)卷積;當(dāng)d>1時,為擴張卷積.
圖2給出了標(biāo)準(zhǔn)卷積與擴張卷積網(wǎng)絡(luò)結(jié)構(gòu).圖2a為僅使用標(biāo)準(zhǔn)卷積與添加擴張卷積之后網(wǎng)絡(luò)結(jié)構(gòu)層對比圖.由圖2b可見,在原殘差網(wǎng)絡(luò)(ResNet)中,最后兩組卷積層Group 4和Group 5使用3×3標(biāo)準(zhǔn)卷積(d=1,即Group1層),表達(dá)式為
圖2 標(biāo)準(zhǔn)卷積與擴張卷積網(wǎng)絡(luò)結(jié)構(gòu)
(6)
由于最大池化層的存在,特征map逐步變小,輸出特征map的大小只有7×7像素.圖2c中,在Group 4層,卷積采用d=2,表達(dá)式為
(7)
在Group 5層,對于第1次卷積(i=1),仍然采用d=2,表達(dá)式為
(8)
在Group 5層,對于剩余的卷積(i>1),采用d=4,表達(dá)式為
(9)
圖3給出了模型訓(xùn)練與檢測流程.
圖3 模型訓(xùn)練與檢測流程
由圖3可見,模型訓(xùn)練與檢測具體過程如下:
1)文中所使用的駕駛員數(shù)據(jù)是從當(dāng)?shù)伛{駛員實時監(jiān)控平臺以及從網(wǎng)絡(luò)搜集等方式獲取的各種背景場景和不同質(zhì)量的監(jiān)控圖片,并對圖片中的手機小目標(biāo)標(biāo)注出來轉(zhuǎn)換為VOC2007數(shù)據(jù)集格式.
2)將處理好的數(shù)據(jù)集輸入到改進的Faster RCNN模型訓(xùn)練.
3)降低模型檢測置信度閾值,然后基于上述優(yōu)化的模型來檢測駕駛員圖片中的手機部件,剔除孤立部件.
4)對于剩下的手機小目標(biāo),計算有無所屬部件.
所有試驗在臺式電腦上進行,電腦配置如下:CPU為Intel(R)Core(TM)i5-7400,主頻為3.00 GHz;RAM為8.00 GB;圖形處理器為GeForce GTX 1080 Ti;操作系統(tǒng)為64位Windows10;運行環(huán)境為Python和以TensorFlow為后端的Keras.
關(guān)于駕駛員手持通話狀態(tài)檢測的研究未曾發(fā)現(xiàn)公共數(shù)據(jù)集,所以本試驗使用的數(shù)據(jù)是通過從某駕駛平臺中收集、自行采集和網(wǎng)上收集等方式獲得的,共4 386張圖片,在收集數(shù)據(jù)的過程中遵循“多人次、全天候”的原則:收集多個不同駕駛員的行車視頻,以體現(xiàn)駕駛員不同的駕駛習(xí)慣和行車差異,降低因收集駕駛員人數(shù)過少而無法擬合群體特征的影響.根據(jù)試驗要求,將其轉(zhuǎn)換成VOC2007數(shù)據(jù)集格式,如圖4所示,對各個部件進行人工標(biāo)注.另外搜集了500張實際駕駛場景中的監(jiān)控圖片來進行測試(采集幀率為20 幀/s),對提出方法的有效性進行驗證.
圖4 圖片集實例
為了評估提出方法對駕駛員手持通話狀態(tài)檢測的有效性,試驗使用精確度(p)和召回率(r)作為評價指標(biāo),計算式為
(10)
(11)
式中:TP(true positive)表示被模型預(yù)測為正值的正樣本;FP(false positive)表示被模型預(yù)測為正值的負(fù)樣本;FN(false negative)表示被模型預(yù)測為負(fù)值的正樣本.TP、FP、FN分別與正確檢測、錯檢、漏檢對應(yīng).
試驗中網(wǎng)絡(luò)結(jié)構(gòu)部分參數(shù)如表1所示.
表1 網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)圖
兩種方法效果如表2所示,改進后的Faster RCNN精確度提升了3.8%.
表2 兩種方法效果對比
檢測效果圖如圖5所示.
圖5 檢測效果圖
文中使用車輛監(jiān)控平臺視頻數(shù)據(jù)作為數(shù)據(jù)集進行檢測試驗,針對圖像特征提取過程中特征圖變小和被部分遮擋的小目標(biāo)檢測準(zhǔn)確率低的問題,通過采用基于殘差擴張網(wǎng)絡(luò)的多尺度訓(xùn)練,錨點數(shù)量增加等方法改進Faster RCNN網(wǎng)絡(luò).試驗結(jié)果表明,文中使用的方法相較于傳統(tǒng)的 Faster RCNN精確度提升了3.8%.在保證較高檢測準(zhǔn)確率的同時仍然能夠有較快的檢測速度,即與設(shè)備采樣率20 幀/s相匹配,基本滿足作業(yè)環(huán)境監(jiān)控視頻中駕駛員手持通話狀態(tài)檢測的準(zhǔn)確性和實時性需求.