楊琴琴 葛云飛 劉紫嚴(yán) 余健 任仕晨 胡偉 官駿鳴
摘 要:針對騎行及施工場景,人員是否佩戴頭盔對安全帶來的影響問題,提出區(qū)分環(huán)境,將人與車整體標(biāo)定的方法和工人頭部標(biāo)定的方法來分別制作佩戴數(shù)據(jù)集,然后基于Linux環(huán)境的樹莓派開發(fā)平臺(tái),采用Camshift算法進(jìn)行模型訓(xùn)練,可以正確追蹤目標(biāo)的位置和信息,判斷目標(biāo)佩戴頭盔或安全帽的情況,并用網(wǎng)絡(luò)攝像頭截取視頻通過以太網(wǎng)輸入到PC端Camshift模型中的方法,替代人工實(shí)現(xiàn)遠(yuǎn)程檢測。實(shí)驗(yàn)表明,該方案能正確識(shí)別出視頻中人員有無佩戴頭盔或安全帽,證明了該方案的有效性。
關(guān)鍵詞:電動(dòng)車頭盔;安全帽;Camshift算法;樹莓派;遠(yuǎn)程監(jiān)測
摩托車、電動(dòng)車、自行車等騎乘交通工具以其便捷、便宜、環(huán)保等特點(diǎn)受到出行者的廣泛歡迎,但這類騎乘人員在駕駛過程中完全暴露于道路之中,容易在交通事故中傷亡。2019 年,我國共發(fā)生交通事故 244058起,其中摩托車、非機(jī)動(dòng)車、自行車交通事故發(fā)生數(shù)共76967起,占比約為31.54%。而在施工現(xiàn)場,有時(shí)會(huì)出現(xiàn)有高空墜物的事故,現(xiàn)場可能有人員受傷,受傷部位極有可能是頭部,保護(hù)現(xiàn)場人員的頭部是非常有必要的。因此佩戴安全帽是我國建筑行業(yè)的一項(xiàng)基本規(guī)章制度,而傳統(tǒng)的目標(biāo)檢測方法不能達(dá)到建筑行業(yè)檢測人員佩戴安全帽的要求。當(dāng)前,目標(biāo)檢測算法主要由兩個(gè)類別組成:一類是基于區(qū)域的兩階段檢測器,如 R-CNN、Fast R-CNN、Faster R-CNN,另一類是單階段的檢測器,如 SSD 和 YOLO。
頭盔檢測應(yīng)用的場景是車水馬龍的交通道路和環(huán)境復(fù)雜的施工工地,人員流動(dòng)大。不但要對復(fù)雜的環(huán)境進(jìn)行快速跟蹤定位,還要從中識(shí)別出騎行人員(工人)是否佩戴頭盔(安全帽),所以對模型跟蹤的穩(wěn)定性和準(zhǔn)確性都有較高的要求。因此,本文采用高效、準(zhǔn)確且穩(wěn)定的Camshift模型。對于電動(dòng)車人員頭盔佩戴識(shí)別,傳統(tǒng)檢測方法將待檢測目標(biāo)劃分為2部分:騎車人和騎乘工具,這樣制作的數(shù)據(jù)集極易將非騎行人員納入識(shí)別范圍,增加了擬識(shí)別對象的數(shù)目,也就增加了計(jì)算量和計(jì)算過程,所以在人員密集環(huán)境下的檢測精度不高。為此,本文采用人與車整體標(biāo)定的方法,即在制作數(shù)據(jù)集時(shí),將騎車人與騎乘工具標(biāo)定為一個(gè)整體。這樣,訓(xùn)練出的網(wǎng)絡(luò)就可有效地將騎車者與非騎車者區(qū)別開來;同時(shí),為了實(shí)現(xiàn)遠(yuǎn)程監(jiān)控功能,采用以太網(wǎng)搭配網(wǎng)絡(luò)攝像頭的方式,將現(xiàn)場采集的視頻流通過以太網(wǎng)實(shí)時(shí)輸送到Camshift模型中進(jìn)行分析預(yù)測,以實(shí)現(xiàn)遠(yuǎn)程目標(biāo)的檢測。
一、Camshift算法的原理
Camshift算法是在Meanshift算法的基礎(chǔ)上,針對其存在的不足進(jìn)行改進(jìn)而提出的,其算法的基本思想是對視頻圖像的多幀進(jìn)行Meanshift運(yùn)算,將上一幀結(jié)果作為下一幀的初始值,不斷迭代。該算法采用不變矩對目標(biāo)的尺寸進(jìn)行估算,實(shí)現(xiàn)了連續(xù)自適應(yīng)地調(diào)整跟蹤窗口的大小和位置,并將其應(yīng)用在對連續(xù)彩色圖像序列中的運(yùn)動(dòng)目標(biāo)的快速跟蹤。以下對其原理進(jìn)行說明:
(一)色彩投影圖(反向投影)
RGB顏色空間對光照亮度變化較為敏感,為了減少此變化對跟蹤效果的影響,首先將圖像從RGB空間轉(zhuǎn)換到HSV空間。然后對其中的H分量作直方圖,在直方圖中代表了不同H分量值出現(xiàn)的概率或者像素個(gè)數(shù),就是說可以查找出H分量大小為h的概率或者像素個(gè)數(shù),即得到了顏色概率查找表。將圖像中每個(gè)像素的值用其顏色出現(xiàn)的概率對替換,就得到了顏色概率分布圖。這個(gè)過程就叫反向投影,顏色概率分布圖是一個(gè)灰度圖像。
(二)Camshift算法
將 Meanshift算法擴(kuò)展到連續(xù)圖像序列,就是 Camshift算法。它將視頻的所有幀做 Meanshift 運(yùn)算,并將上一幀的結(jié)果,即搜索窗的大小和中心,作為下一幀Meanshift算法搜索窗的初始值,如此迭代下去,就可以實(shí)現(xiàn)對目標(biāo)的跟蹤。Camshift算法的步驟如為:
(1)初始化搜索窗;
(2)計(jì)算搜索窗的顏色概率分布(反向投影);
(3)運(yùn)行Meanshift算法,獲得搜索窗新的大小和位置;
(4)在下一幀視頻圖像中用(3)中的值重新初始化搜索窗的大小和位置,再跳轉(zhuǎn)到(2)繼續(xù)進(jìn)行計(jì)算。
二、系統(tǒng)整體方案設(shè)計(jì)
(一)硬件介紹
樹莓派 4B 的硬件配置(圖 1):1.5 GHz,4 核64 位,ARM Cortex-A72 CPU(~ 3× 倍性能 )、1 GB / 2 GB / 4 GB LPDDR4 SDRAM 內(nèi)存、全吞吐量千兆以太網(wǎng)、雙頻 802.11ac 無線網(wǎng)絡(luò)、藍(lán)牙 5.0、兩個(gè) USB 3.0 和兩個(gè) USB 2.0 接口,雙顯示器支持、分辨率高達(dá) 4K、VideoCore VI 顯卡,支持 OpenGL ES 3.x、HEVC 視頻 4Kp60 硬解碼、完全兼容早期的樹莓派產(chǎn)品。
(二)數(shù)據(jù)集制作
為了實(shí)現(xiàn)多場景復(fù)雜環(huán)境下準(zhǔn)確識(shí)別的功能,本文采用網(wǎng)絡(luò)爬取圖片加攝像頭拍攝的方式制作數(shù)據(jù)集。網(wǎng)絡(luò)爬取的目的是收集不同拍攝角度人物狀態(tài)的圖片,以及區(qū)分各個(gè)場景特征,便于后期模型能學(xué)到多種特征,進(jìn)而提高檢測的精度。攝像頭拍攝馬路上真實(shí)交通狀態(tài)以及施工現(xiàn)場真實(shí)情況,一張圖片中包含多個(gè)檢測目標(biāo),有利于后期訓(xùn)練出的模型對密集目標(biāo)的檢測,更好地?cái)M合實(shí)際情況。圖片采集情況如圖2所示。
(三)佩戴檢測方法
為了解決交通道路中電動(dòng)車和騎行人的關(guān)聯(lián)匹配問題,直接將電動(dòng)車和電動(dòng)車騎行人員作為一個(gè)整體進(jìn)行檢測,而旁邊的行人和停放的電動(dòng)車視為背景不進(jìn)行檢測。這種檢測方法將檢測目標(biāo)分為兩類,一類是電動(dòng)車和未帶頭盔的騎行人整體,另一類是電動(dòng)車和佩戴頭盔的騎行人整體。
(四)檢測流程設(shè)計(jì)
系統(tǒng)的主要功能是進(jìn)行視頻檢測及攝像頭檢測,系統(tǒng)的整體流程如圖3所示。其中,系統(tǒng)進(jìn)行視頻檢測和攝像頭檢測時(shí),默認(rèn)為視頻流檢測,而攝像頭檢測只比視頻檢測多了攝像頭識(shí)別部分,其他部分相同。故下面僅給出攝像頭檢測的流程圖。系統(tǒng)在運(yùn)行過程中可以調(diào)用外接攝像頭獲取實(shí)時(shí)的視頻流,并將視頻進(jìn)行分幀,發(fā)送到頭盔檢測模塊進(jìn)行后續(xù)處理。如果不調(diào)用攝像頭,系統(tǒng)可以直接在本地獲取視頻進(jìn)行檢測。程序檢測視頻的主流程如圖4所示。
系統(tǒng)在進(jìn)行數(shù)據(jù)預(yù)處理后,提取有助于區(qū)分道路和施工現(xiàn)場的特征,例如顏色、紋理、形狀等。通過調(diào)整模型的參數(shù)、增加訓(xùn)練數(shù)據(jù)集的規(guī)模、調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)等方法,提高算法對交通道路和施工現(xiàn)場的識(shí)別準(zhǔn)確度。由于頭盔檢測模塊和安全帽檢測模塊大致相同,故下面以頭盔檢測模塊舉例。
首先使用Camshift模型檢測輸入圖像中的頭部目標(biāo)(person)、頭盔目標(biāo)(helmet)和電動(dòng)車目標(biāo)(motorcycle),并將其保存;然后以電動(dòng)車目標(biāo)為第一優(yōu)先級(jí)將電動(dòng)車和騎行人員進(jìn)行匹配,對于任一檢測到的電動(dòng)車目標(biāo),判斷在其匹配區(qū)內(nèi)是否存在 helmet目標(biāo),若在匹配區(qū)內(nèi)存在的是 helmet 目標(biāo),則判定該騎行者佩戴頭盔,同時(shí)用綠色矩形框進(jìn)行標(biāo)注,若在匹配區(qū)內(nèi)存在的是 person 目標(biāo),則判定該騎行者未佩戴頭盔,同時(shí)使用紅色矩形框進(jìn)行標(biāo)注;之后對余下的電動(dòng)車目標(biāo)重復(fù)上述匹配過程,當(dāng)所檢測到的電動(dòng)車目標(biāo)均完成匹配后,即完成了當(dāng)前圖片的檢測過程。另外需要指出的是,若在匹配區(qū)內(nèi)出現(xiàn)多個(gè) helmet 目標(biāo)或 person 目標(biāo)時(shí),最終選擇與電 動(dòng)車目標(biāo)中心點(diǎn)距離最小的目標(biāo)進(jìn)行匹配。
三、實(shí)驗(yàn)分析
為了驗(yàn)證Camshift 算法的可行性和有效性,本文從網(wǎng)絡(luò)中獲取了道路交通和施工現(xiàn)場中的視頻資料,如圖5,并對其中的運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤實(shí)驗(yàn),從中發(fā)現(xiàn)針對背景較模糊、運(yùn)動(dòng)目標(biāo)邊緣不是很清晰的情況下,Camshift算法依然能夠?qū)崿F(xiàn)對運(yùn)動(dòng)目標(biāo)的準(zhǔn)確跟蹤。
四、結(jié)論
由實(shí)際情況試驗(yàn)結(jié)果可知,經(jīng)過數(shù)據(jù)收集和大量模型訓(xùn)練的Camshift算法簡單高效,特別適用于對顏色信息敏感的目標(biāo)跟蹤任務(wù)。它結(jié)合了顏色直方圖和均值漂移算法,即使對于背景模糊、不易識(shí)別邊緣等問題,也能夠在視頻序列中穩(wěn)定地跟蹤目標(biāo)。可以預(yù)見,如果將該識(shí)別系統(tǒng)應(yīng)用到現(xiàn)實(shí)生活中,能有效提升檢測速度,以及對于保障交通管理人員的生命安全作出一份貢獻(xiàn),也減小了監(jiān)控人員的工作量。
參考文獻(xiàn):
[1]趙海茹,李玉秀,李國瑞,等.基于Camshift算法的運(yùn)動(dòng)目標(biāo)跟蹤系統(tǒng)研究[J].玉溪師范學(xué)院學(xué)報(bào),2023,39(06):77-81.
[2]尤泳茹,陳夢凡,陳俊霞,等.基于樹莓派的目標(biāo)識(shí)別檢測研究[J].現(xiàn)代信息科技,2023,7(21):94-98.
[3]李明,杜茂華.基于YOLOv4算法的騎乘人員頭盔佩戴的遠(yuǎn)程檢測[J].農(nóng)業(yè)裝備與車輛工程,2023,61(10):159-164.
[4]張立藝.基于深度學(xué)習(xí)的施工現(xiàn)場安全帽佩戴檢測方法研究[D].內(nèi)蒙古工業(yè)大學(xué),2023.
[5]徐棟.基于深度學(xué)習(xí)的電動(dòng)車頭盔佩戴檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京郵電大學(xué),2022.