999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學(xué)習(xí)的駕駛員安全帶檢測研究與實現(xiàn)

2021-04-25 05:23:22陳鴻彬程楷泳林梓泓連曉茵劉培杰陳鍵宇
現(xiàn)代計算機(jī) 2021年6期
關(guān)鍵詞:檢測方法模型

陳鴻彬,程楷泳,林梓泓,連曉茵,劉培杰,陳鍵宇

(華南農(nóng)業(yè)大學(xué)數(shù)學(xué)與信息學(xué)院,廣州510642)

1 研究背景

1.1 相關(guān)背景

近年來,隨著國民生產(chǎn)總值的提高,人們變得越來越富裕,大多數(shù)人會選擇購買機(jī)動車來提高自己的出行效率。據(jù)統(tǒng)計[1],機(jī)動車的數(shù)量呈逐年上升趨勢,截止到2019 年上半年全國機(jī)動車保有量已達(dá)3.4 億,如圖1 所示。雖然機(jī)動車在一定程度上方便了我們的出行,但是隨之而來的道路擁堵問題也變得不容忽視,因此,越來越多的市民選擇乘坐公共交通工具出行。加之,人們環(huán)保意識不斷提高,政府大力提倡低碳生活,公交車出行已經(jīng)成了一種大眾認(rèn)同的出行方式。與此同時,公交車司機(jī)肩負(fù)著全車乘客的安危,如何規(guī)范司機(jī)的行為、降低事故發(fā)生率就顯得尤為重要。

當(dāng)兩車相撞時,駕駛員不系安全帶的死亡率為75%,而系安全帶的生還率為95%。作為車內(nèi)最有效的保護(hù)措施之一,佩戴安全帶駕駛一直是我國法律明文規(guī)定的駕駛行為,但目前對駕駛員是否佩戴安全帶的問題仍以人工篩查為主。但是傳統(tǒng)的檢測方法存在效率低下、準(zhǔn)確率不高、易受人為因素干擾、需要耗費大量的人力物力等問題,實現(xiàn)未系安全帶檢測的智能化處理逐漸成為研究的熱點。

圖1 2014到2019年上半年全國機(jī)動車保有量

深度學(xué)習(xí)是近年來人工智能領(lǐng)域取得的重大突破,它在語音識別、計算機(jī)視覺、圖像與視頻分析、多媒體、教育事業(yè)[2]等諸多領(lǐng)域的應(yīng)用取得了巨大成功。與傳統(tǒng)的圖像處理相比,深度學(xué)習(xí)對數(shù)據(jù)集的表達(dá)更高效和精確,提取的抽下行特征魯棒性更強(qiáng),泛化能力更好。

因此,把深度學(xué)習(xí)運用到駕駛員是否佩戴安全帶的檢測也逐漸稱為研究的熱點。

1.2 國內(nèi)外研究現(xiàn)狀

目前,國內(nèi)外主要的安全帶檢測方法有以下幾種:

(1)通過安裝傳感器的方法對安全帶佩戴進(jìn)行檢測識別,如在卡座中安裝傳感器進(jìn)行檢測[3],系統(tǒng)判定只有當(dāng)安全帶卡扣插入安全帶卡座并且鎖定的情況才是安全帶正常佩戴的情況。但是駕駛員經(jīng)常有假佩戴的行為出現(xiàn)[4],例如先將安全帶卡扣扣好,然后再坐在座椅上。

(2)通過在坐墊和靠背上安裝壓力傳感器來進(jìn)行輔助檢測,但這種方法不能直接檢測出駕駛員是否佩戴安全帶,準(zhǔn)確率不高[5]。

(3)基于灰度積分投影的方法對安全帶進(jìn)行檢測識別[6]。通過道路監(jiān)控的方式采集的駕駛員圖像,對安全帶佩戴進(jìn)行檢測。但是該方法需要具有反光性能的安全帶,不具有普遍適用性。

(4)以Guo 等人為代表提出的基于圖像處理的傳統(tǒng)方法[7],該方法將邊緣檢測和霍夫直線變化相結(jié)合,檢測安全帶的兩條長直線邊緣,從而實現(xiàn)對安全帶的檢測。但是該方法受缺乏魯棒性,而且對圖像的質(zhì)量要求較高,因此較難推廣。

(5)以Chen 等人為代表提出的基于AdaBoost 的安全帶檢測系統(tǒng)[8],該方法通過Haar 特征提取和模型訓(xùn)練,用加權(quán)級聯(lián)的方法把各種弱分類器變成一個強(qiáng)分類器[9],最后經(jīng)過高斯混合模型的后處理得到安全帶的精確檢測結(jié)果。雖然該方法與傳統(tǒng)方法相比,檢測精度和魯棒性有了一定提升,但是其檢測精度還達(dá)不到可推廣應(yīng)用的地步,對圖像質(zhì)量的要求仍較高,安全帶檢測的誤報也較多。

1.3 主要研究內(nèi)容

本文旨在實現(xiàn)對公交車司機(jī)是否系安全帶的智能檢測,即通過對車內(nèi)視頻資料的處理和分析,定位安全帶的位置,通過圖像處理識別出公交車司機(jī)是否系安全帶,對不按規(guī)定佩戴安全帶的公交車司機(jī)給予一定的懲罰,從而規(guī)范公交車司機(jī)行為,降低事故發(fā)生率。

2 算法基礎(chǔ)

2.1 算法分析

傳統(tǒng)機(jī)器學(xué)習(xí)存在以下幾個弊端:

(1)訓(xùn)練機(jī)器模型需要有大量的數(shù)據(jù),這些數(shù)據(jù)往往需要人工標(biāo)注[10],耗時耗力。

(2)龐大的訓(xùn)練數(shù)據(jù)難以獲取。

(3)數(shù)據(jù)分布差異

在大多數(shù)情況下,面對某一領(lǐng)域的某一特定問題,都不可能找到足夠充分的訓(xùn)練數(shù)據(jù)。但是,得益于一種技術(shù)的幫助,從其他數(shù)據(jù)源訓(xùn)練得到的模型,經(jīng)過一定的修改和完善,就可以在類似的領(lǐng)域得到復(fù)用,這一點大大緩解了數(shù)據(jù)源不足引起的問題,而這一關(guān)鍵技術(shù)就是遷移學(xué)習(xí)(Transfer Learning)[11]。

遷移學(xué)習(xí)是將一個領(lǐng)域的已經(jīng)成熟的知識應(yīng)用到其他的場景中。用神經(jīng)網(wǎng)絡(luò)的角度來表述,就是一層層網(wǎng)絡(luò)中每個節(jié)點的權(quán)重從一個訓(xùn)練好的網(wǎng)絡(luò)遷移到一個全新的網(wǎng)絡(luò)里,而不是從頭開始,為每特定的任務(wù)訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)。假設(shè)現(xiàn)有一個可以高精確度分辨貓和狗的深度神經(jīng)網(wǎng)絡(luò),而想新訓(xùn)練一個能夠分別不同品種的狗的圖片模型,你需要做的不是從頭訓(xùn)練那些用來分辨直線,銳角的神經(jīng)網(wǎng)絡(luò)的前幾層,而是利用訓(xùn)練好的網(wǎng)絡(luò),提取初級特征,之后只訓(xùn)練最后幾層神經(jīng)元,讓其可以分辨狗的品種。節(jié)省資源是遷移學(xué)習(xí)最大意義之一,舉圖像識別中最常見的例子,訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)來識別不同的品種的貓,你若是從頭開始訓(xùn)練,你需要百萬級的帶標(biāo)注數(shù)據(jù),海量的顯卡資源。而若是使用遷移學(xué)習(xí),你可以使用Google 發(fā)布的Incep?tion 這樣成熟的物品分類的網(wǎng)絡(luò),只訓(xùn)練最后的Soft?max 層,你只需要幾千張圖片,使用普通的CPU 就能完成,而且模型的準(zhǔn)確性不差。對于數(shù)據(jù)集本身很?。◣浊垐D片)的情況,從頭開始訓(xùn)練具有幾千萬參數(shù)的大型神經(jīng)網(wǎng)絡(luò)是不現(xiàn)實的,因為越大的模型對數(shù)據(jù)量的要求越大,過擬合無法避免。這時候如果還想用上大型神經(jīng)網(wǎng)絡(luò)的超強(qiáng)特征提取能力,只能靠遷移學(xué)習(xí)。

以上所提及的遷移學(xué)習(xí)模型在這里采用的是GoogLeNet(Inception V3),Inception V3 將7×7 分解成兩個一維的卷積,既可以加速計算,又可以將1 個卷積拆成2 個卷積,使得網(wǎng)絡(luò)深度進(jìn)一步增加,增加了網(wǎng)絡(luò)的非線性(每增加一層都要進(jìn)行ReLU)。我們在使用這個模型的時候不修改bottleneck 層之前的參數(shù),只需要訓(xùn)練最后一層全連接層就可以了。如圖2 和圖3所示。

圖2

圖3

具體思路:

(1)從預(yù)訓(xùn)練模型以字符串形式讀取數(shù)據(jù),并解析其中的瓶頸層張量,jepg 格式圖像數(shù)據(jù)張量,預(yù)訓(xùn)練圖像大小張量[13],然后使用TensorFlow.import_graph_def導(dǎo)入初始圖中。

(2)獲取訓(xùn)練圖像數(shù)據(jù),根據(jù)讀取設(shè)置好的文件夾里的圖像數(shù)據(jù),并以文件夾名稱作為該類的名稱。

(3)確保訓(xùn)練集、測試集和驗證集數(shù)據(jù)都被緩存。因為我們會多次讀取到同一幅圖像,我們在預(yù)處理過程中為每個圖像計算一次瓶頸層值并保存下來,然后在訓(xùn)練期間重復(fù)讀取這些緩存值,這樣子操作可以大大加快速度。

(4)為訓(xùn)練添加新的Softmax 和全連接層。重新訓(xùn)練頂層來識別我們的新類,在這里我們實現(xiàn)的根據(jù)是TensorFlow 官方發(fā)布的一個操作。

(5)插入用于我們評估結(jié)果準(zhǔn)確性的標(biāo)簽。

(6)將所有summary 全部保存到磁盤,以便訓(xùn)練完成以后在TensorBoard 顯示。

(7)讀取命令行指定的一個文件來保存圖。

(8)將所有權(quán)重設(shè)置為初始默認(rèn)值。

(9)至此構(gòu)造完了一個圖,創(chuàng)建一個Session 對象并啟動它。

(10)讀取手動設(shè)置的迭代次數(shù),進(jìn)行迭代。

在每次迭代中,獲取一批輸入瓶頸值,這些值可以通過應(yīng)用失真每次重新計算,也可以從存儲在磁盤上的緩存中計算。

①獲取訓(xùn)練圖像失真后的瓶頸值,為每個圖像重新計算完整的模型。相反,為所要的類別找到隨機(jī)的圖像,運行它們通過變形圖,然后運行全圖得到每個瓶頸的結(jié)果。

②檢索緩存映像的瓶頸值。如果沒有任何失真圖像被應(yīng)用,可以直接從磁盤檢索緩存的瓶頸值,然后選擇一個隨機(jī)集合來自指定類別的圖像。

③將訓(xùn)練過程數(shù)據(jù)保存在filewriter 指定的文件中。

④將加權(quán)的訓(xùn)練好的圖和標(biāo)簽作為一個常量。

(11)迭代結(jié)束訓(xùn)練也完成了。

2.2 實驗及系統(tǒng)架構(gòu)

本模型選用百度安全帶分類圖片庫的圖片數(shù)據(jù),采用Google 提供的Inception-v3 模型[14]作為預(yù)訓(xùn)練模型。本遷移學(xué)習(xí)方法的具體實現(xiàn)是,不修改bottleneck層之前的參數(shù),替換掉了Inception-v3 模型的最后一層全連接層,以達(dá)到識別我們目標(biāo)分類的目的。操作步驟為:

(1)設(shè)置我們寫入TensorBoard 摘要的目錄。

(2)設(shè)置預(yù)訓(xùn)練圖像。

(3)查看文件夾結(jié)構(gòu),創(chuàng)建所有圖像的列表。

(4)驗證我們是否需要應(yīng)用扭曲操作。

(5)定義新的全連接層和Softmax 層來訓(xùn)練模型以解決新的圖片分類問題。

(6)創(chuàng)建評價模型性能指標(biāo)的計算圖并用Tensor?Board 可視化平均精度。

(7)按照命令行的要求運行多個周期的訓(xùn)練,每次隨機(jī)得到一批訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,每迭代幾次在驗證集上做一次測試以評估模型性能并保存在驗證集上最佳的測試精度及相應(yīng)的模型,同時保存TensorBoard 日志信息。

(8)完成了所有的訓(xùn)練,在一些我們從未用過的新的圖像上,運行一個最后的測試評估這樣子,我們就訓(xùn)練出一個應(yīng)用于安全帶識別的訓(xùn)練模型。

3 系統(tǒng)實現(xiàn)

3.1 系統(tǒng)架構(gòu)

在上述算法實現(xiàn)的基礎(chǔ)之上,我們完成了安全帶識別系統(tǒng)的搭建,采用C/S 架構(gòu)實現(xiàn)[15],主要分為兩個模塊:客戶端模塊、服務(wù)器端模塊。如圖4 所示。

圖4

客戶端界面用的是JavaFx 進(jìn)行編寫,后臺采用的是Java,與服務(wù)器之間通過Socket 進(jìn)行通信,服務(wù)器環(huán)境采用的是TensorFlow2.0,數(shù)據(jù)庫采用的是MySQL。

3.2 客戶端模塊

(1)功能設(shè)計

客戶端負(fù)責(zé)將選取的視頻進(jìn)行截幀,然后調(diào)用服務(wù)器端的訓(xùn)練模型進(jìn)行識別,識別完成之后對結(jié)果進(jìn)行存儲,還可進(jìn)行識別結(jié)果的查詢。

(2)具體實現(xiàn)

先從本地上選取視頻,將選取的視頻按照一定的幀率進(jìn)行截圖,并存進(jìn)指定本機(jī)的指定文件夾內(nèi)。接下來,客戶端與服務(wù)器端建立Socket 通信,將文件夾中的照片傳遞到服務(wù)器端并調(diào)用訓(xùn)練模型進(jìn)行識別。最后,客戶端接受服務(wù)器端識別的每張照片識別概率并與預(yù)先設(shè)定好的概率進(jìn)行比較,確定出每張照片是否違規(guī),根據(jù)比較結(jié)果進(jìn)行展示,將識別結(jié)果進(jìn)行存儲。

3.3 服務(wù)器端模塊

(1)功能設(shè)計

服務(wù)器端負(fù)責(zé)將客戶端發(fā)送的多張圖片進(jìn)行存儲,通過調(diào)用訓(xùn)練模型進(jìn)行識別,將識別結(jié)果返回給客戶端。主要涉及兩個功能:

①接收客戶端發(fā)送的多張jpg 格式圖片,識別出圖片名字并臨時存儲到本地圖片文件夾中。

②調(diào)用訓(xùn)練模型識別多張圖片,并將識別結(jié)果與圖片對應(yīng)返回給客戶端。

(2)具體實現(xiàn)

使用serverSocket 與客戶端進(jìn)行Socket 通信[16],并采用多線程處理客戶端的多個請求消息,達(dá)到并發(fā)處理多個客戶端請求的目的。單次通信操作中,使用cli?ent.recv()方法接收客戶端發(fā)來的二進(jìn)制數(shù)據(jù)流,首先讀取圖片張數(shù),讀取完圖片張數(shù)后依次讀取每一張圖片數(shù)據(jù),將其臨時存儲在圖片文件夾中,調(diào)用訓(xùn)練模型進(jìn)行識別,并將結(jié)果通過socket 通道以二進(jìn)制數(shù)據(jù)流的格式返回給客戶端,這樣子就完成了單張圖片的識別操作。

以下是具體實現(xiàn)過程:

①建立socket 連接過程

首先使用socket.socket()方法建立服務(wù)器端sock?et,使用bind()綁定目標(biāo)端口,之后使用listen()方法開始監(jiān)聽,等待客戶端的建立socket 請求。當(dāng)監(jiān)聽到客戶端發(fā)送來的socket 請求,使用_thread.start_new_thread()方法調(diào)用多線程處理客戶端消息,主線程繼續(xù)監(jiān)聽目標(biāo)端口,因此可以同時處理多個客戶端信息。

②接收圖片數(shù)據(jù)流過程

首先,使用struct.calcsize()方法接收圖片張數(shù)的位數(shù)信息,之后用client.recv()方法接收圖片張數(shù)信息,之后根據(jù)圖片張數(shù)信息使用循環(huán)接收圖片數(shù)據(jù)流,存放到服務(wù)器端圖片文件夾中。具體實現(xiàn)思路如下:

先從客戶端socket 中獲取獲取一個數(shù)字長度的字符代表圖片張數(shù)的位數(shù)N,接收成功后,根據(jù)圖片張數(shù)的位數(shù)獲取N 個字符X,代表圖片張數(shù),之后進(jìn)入X 個循環(huán),每個循環(huán)中再有如下的步驟:首先獲取一個字符長度的文件名位數(shù)Y,再獲取Y 個字符的文件名;獲取完文件名之后開始獲取文件大小位數(shù)Z,根據(jù)Z 再獲取文件大小,此時一個文件的接收完畢。每次接收完圖片后清空輸入緩沖區(qū)。

③調(diào)用訓(xùn)練模型進(jìn)行識別并返回識別結(jié)果過程

每次成功接收一張圖片數(shù)據(jù)流并存放到圖片文件夾中之后,調(diào)用訓(xùn)練模型進(jìn)行識別,得到識別結(jié)果,并使用client.sendall()方法將識別結(jié)果返回。

4 效果展示

安全帶識別系統(tǒng)的運行如圖5 所示。

圖5

整個系統(tǒng)客戶端界面簡潔,功能結(jié)構(gòu)清晰,如圖6所示,客戶識別即可進(jìn)行視頻的選擇并開始識別,此過程需要一定時間,如圖7 所示,系統(tǒng)識別完成后則會顯示出結(jié)果,如圖8。

5 結(jié)語

總體來說,本系統(tǒng)軟件能夠基本實現(xiàn)對公交車司機(jī)是否系安全帶的智能檢測,操作簡單,易用性強(qiáng),可移植性強(qiáng)。由于時間倉促,一些技術(shù)和設(shè)備所限,該系統(tǒng)存在一些不足之處,有待于進(jìn)一步改進(jìn)和完善。具體說來有:界面的美觀性和檢測的效率還需要加強(qiáng),本系統(tǒng)的訓(xùn)練集還是比較不足,后續(xù)會加強(qiáng)訓(xùn)練本系統(tǒng)的識別樣本,進(jìn)一步增強(qiáng)識別準(zhǔn)確性。系統(tǒng)設(shè)計在不違反系統(tǒng)整體性的基礎(chǔ)上,可根據(jù)用戶的需求進(jìn)行二次開發(fā),不斷完善系統(tǒng)功能,便于系統(tǒng)的不斷升級。希望本系統(tǒng)能夠幫助規(guī)范公交車司機(jī)行為,降低事故發(fā)生率。

圖6

圖7

圖8

猜你喜歡
檢測方法模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
3D打印中的模型分割與打包
小波變換在PCB缺陷檢測中的應(yīng)用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 一区二区三区成人| 欧美国产视频| 国产亚洲精品自在线| 中文精品久久久久国产网址| 欧美一级黄色影院| 亚洲日韩AV无码精品| 麻豆国产原创视频在线播放| 国产欧美在线观看精品一区污| 国产成人AV大片大片在线播放 | 精品国产成人三级在线观看| 小13箩利洗澡无码视频免费网站| 69视频国产| 一本久道久久综合多人| 国模沟沟一区二区三区| 国产精品美人久久久久久AV| 亚洲69视频| 香蕉网久久| 日本一区二区不卡视频| 玖玖精品在线| 男女男免费视频网站国产| 92精品国产自产在线观看| 免费午夜无码18禁无码影院| 欧美亚洲国产精品久久蜜芽| 欧美 亚洲 日韩 国产| 国产网站黄| 国产成人精品一区二区| 无码网站免费观看| 四虎国产成人免费观看| 精品福利视频网| 色综合久久88色综合天天提莫 | 日韩小视频网站hq| 亚洲国产欧美目韩成人综合| 国产91在线|中文| 一级毛片基地| 9966国产精品视频| 亚洲一区二区无码视频| 在线看AV天堂| 熟女日韩精品2区| www.精品视频| 免费一极毛片| 亚洲全网成人资源在线观看| 中文国产成人久久精品小说| 国产成人精品免费视频大全五级| 午夜福利免费视频| 亚洲AⅤ永久无码精品毛片| 波多野结衣一区二区三区88| 日本三级欧美三级| 国产区在线观看视频| 69国产精品视频免费| 国产免费怡红院视频| 成年看免费观看视频拍拍| 夜夜高潮夜夜爽国产伦精品| 午夜福利无码一区二区| 欧美福利在线| 日本久久久久久免费网络| 亚洲天堂久久| 日韩成人免费网站| 日韩欧美91| 91在线精品免费免费播放| 中日韩一区二区三区中文免费视频| 国内毛片视频| 久久伊人操| 亚洲无码高清视频在线观看| 久久动漫精品| 国产男女免费视频| 无码人中文字幕| 亚洲bt欧美bt精品| 国产乱子伦一区二区=| 亚洲V日韩V无码一区二区| 538国产视频| 欧美亚洲欧美| 免费aa毛片| 特级精品毛片免费观看| 国产精品七七在线播放| 综合色区亚洲熟妇在线| 亚洲第一香蕉视频| 免费无码网站| 成人国产免费| 国产第二十一页| 26uuu国产精品视频| 国产精品永久久久久| 国产精品吹潮在线观看中文|