爨 瑩, 李亦珂
(西安石油大學(xué) 計(jì)算機(jī)學(xué)院, 西安710065)
馬拉松等運(yùn)動(dòng)賽事的舉辦,不僅能夠提高人們的生活品質(zhì),同時(shí)也是激活一座城市的動(dòng)力,對(duì)城市宣傳、文化等方面的發(fā)展具有極大的推動(dòng)作用[1]。但目前許多比賽在其軟硬件設(shè)施上存在很多問(wèn)題,很容易造成比賽混亂。 本文設(shè)計(jì)的系統(tǒng)能夠針對(duì)監(jiān)控中的視頻數(shù)據(jù)進(jìn)行實(shí)時(shí)截取并保存,對(duì)截取的圖像進(jìn)行預(yù)處理,方便工作人員得到更加精準(zhǔn)的信息,可根據(jù)需求選擇不同的目標(biāo)檢測(cè)內(nèi)容,得到最終結(jié)果。 本系統(tǒng)采用了熱門的目標(biāo)檢測(cè)和圖像識(shí)別等技術(shù),完成對(duì)運(yùn)動(dòng)目標(biāo)的識(shí)別跟蹤分析,同樣適用于具有類似特征的汽車運(yùn)行軌跡分析等場(chǎng)景,能夠?yàn)樯鐣?huì)帶來(lái)諸多方便。
本設(shè)計(jì)從系統(tǒng)的可行性、相關(guān)技術(shù)、功能需求等方面著手分析。 首先,從賽事主辦方對(duì)軟件的需求展開調(diào)查,分析以往不同類型賽事中,工作人員應(yīng)對(duì)突發(fā)情況的解決能力,以及對(duì)整個(gè)比賽進(jìn)程產(chǎn)生的影響,另一方面針對(duì)相關(guān)智能檢測(cè)識(shí)別技術(shù)[2-4]領(lǐng)域展開研究,了解當(dāng)前較為成熟的熱門技術(shù),分析系統(tǒng)實(shí)現(xiàn)的可行性。 本系統(tǒng)在技術(shù)方面進(jìn)行了以下幾點(diǎn)研究:
(1)研究了系統(tǒng)中功能實(shí)現(xiàn)所涉及到的關(guān)鍵算法和技術(shù),包括圖像預(yù)處理算法[5-6]、YOLOv3 目標(biāo)檢測(cè)算法[7-9]、百度智能處理庫(kù)的調(diào)用等。 用以解決系統(tǒng)對(duì)于多維度不同層級(jí)信息的融合以及圖像中關(guān)鍵特征的提取,提高系統(tǒng)檢測(cè)識(shí)別的準(zhǔn)確性和魯棒性,以及算法的實(shí)用性能。
(2)研究系統(tǒng)對(duì)運(yùn)動(dòng)員多維度信息的存儲(chǔ)和匹配,包括不同時(shí)間對(duì)于參賽人員的匹配結(jié)果進(jìn)行核對(duì)。 對(duì)于系統(tǒng)用戶交互式界面的設(shè)計(jì),需要簡(jiǎn)潔、易于操作,能夠適用于不同的硬件環(huán)境,具有良好的可推廣性。
系統(tǒng)主要由硬件設(shè)備、用戶端、服務(wù)器端構(gòu)成。硬件設(shè)備部分主要是監(jiān)控?cái)z像頭,用來(lái)傳輸實(shí)時(shí)監(jiān)控視頻,并顯示在用戶界面。 系統(tǒng)也可選擇從本地讀取視頻的方式;用戶端用來(lái)顯示用戶交互界面,包括系統(tǒng)中用戶對(duì)視頻進(jìn)行幀的截取、圖像預(yù)處理、保存、目標(biāo)識(shí)別等所有功能;服務(wù)器端用來(lái)實(shí)現(xiàn)系統(tǒng)具體的功能、與外部設(shè)備的連接、重要信息的數(shù)據(jù)庫(kù)存儲(chǔ)和本地存儲(chǔ)。 系統(tǒng)采用64 位的PyCharm 開發(fā)工具,使用Python3.0 +PyQt5 設(shè)計(jì)并實(shí)現(xiàn)GUI 界面。界面設(shè)計(jì)完成后,與SQLite 數(shù)據(jù)庫(kù)進(jìn)行連接,用來(lái)實(shí)現(xiàn)用戶的注冊(cè)和登錄,存儲(chǔ)系統(tǒng)的用戶信息,以及參賽人員的信息。 系統(tǒng)功能架構(gòu)如圖1 所示。
圖1 系統(tǒng)整體功能圖Fig.1 System function diagram
在使用系統(tǒng)進(jìn)行目標(biāo)識(shí)別檢測(cè)之前,系統(tǒng)管理人員需要完成個(gè)人信息的注冊(cè),參賽人員也需要錄入個(gè)人參賽信息,將錄入信息存入SQLite 數(shù)據(jù)庫(kù),用于目標(biāo)識(shí)別檢測(cè)模塊中的信息匹配,從而得到系統(tǒng)的檢測(cè)結(jié)果。 系統(tǒng)模塊還包括對(duì)于監(jiān)控視頻的導(dǎo)入以及關(guān)鍵幀的存儲(chǔ)。 系統(tǒng)進(jìn)行目標(biāo)檢測(cè)的主要對(duì)象是視頻中的幀對(duì)象。 視頻獲取方式有兩種:一種是通過(guò)外界監(jiān)控直接獲取實(shí)時(shí)視頻,并從中截取關(guān)鍵幀;另一種是從本地導(dǎo)入已有視頻,選擇播放并截取關(guān)鍵幀。 截取后的圖像會(huì)直接顯示在用戶操作界面中,用戶根據(jù)需要,對(duì)圖像進(jìn)行處理并保存在本地文件夾中,易于隨時(shí)調(diào)用。 系統(tǒng)開發(fā)結(jié)合了PyQt5,實(shí)現(xiàn)了圖形可視化界面,文件打開方式選擇的是QFileDialog 類,通過(guò)OpenCV 實(shí)現(xiàn)對(duì)實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)的采集。
在截取關(guān)鍵幀時(shí),往往會(huì)出現(xiàn)畫面不清晰、不易識(shí)別等情況。 為了提高系統(tǒng)的實(shí)用性和目標(biāo)檢測(cè)的準(zhǔn)確性,本文研究了幾種針對(duì)圖像的處理方式,其中包括均值濾波、高斯濾波、非局部均值降噪算法等。結(jié)合現(xiàn)有應(yīng)用技術(shù),對(duì)截取后的圖像進(jìn)行預(yù)處理并保存,系統(tǒng)根據(jù)預(yù)處理后的圖像結(jié)果進(jìn)行號(hào)碼識(shí)別、人體檢測(cè)等操作。
目前,號(hào)碼識(shí)別技術(shù)已相當(dāng)成熟,被廣泛地應(yīng)用于日常生活中。 其中較為經(jīng)典的識(shí)別算法有RCNN算法[10-11]、STPN 算法等,本系統(tǒng)采用百度智能處理庫(kù)中的方法。 通過(guò)百度云文字識(shí)別技術(shù),實(shí)現(xiàn)參賽人員的號(hào)碼識(shí)別。 首先通過(guò)python 導(dǎo)入百度AirOcr包[12],分別獲取在百度智能庫(kù)中注冊(cè)得到的APPID、API_KEY、SECRET_KEY,直接在系統(tǒng)中使用。
人體檢測(cè)采用Yolov3 目標(biāo)檢測(cè)算法。 該算法是一款深度學(xué)習(xí)框架darknet 的目標(biāo)檢測(cè)開源項(xiàng)目,實(shí)現(xiàn)了回歸功能的深度卷積神經(jīng)網(wǎng)絡(luò)。 這種方法檢測(cè)速度快,在檢測(cè)圖像中尺寸較小的物體上具有較高的準(zhǔn)確率,非常適合用于大量參賽人員的人體檢測(cè)。 檢測(cè)完成后,通過(guò)PyQt5 中的表格插件顯示檢測(cè)結(jié)果,與存入SQLite 數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行對(duì)比,給出最終結(jié)論。
本系統(tǒng)采用C/S 架構(gòu)進(jìn)行開發(fā),具有較高的安全性及較快的響應(yīng)速度。 參賽人員的信息錄入需要根據(jù)具體的應(yīng)用場(chǎng)景進(jìn)行設(shè)置,主要包括性別、參賽號(hào)碼等,用來(lái)進(jìn)行識(shí)別信息的匹配,管理員信息和參賽人員信息分別存儲(chǔ)在數(shù)據(jù)庫(kù)的不同表中。
系統(tǒng)主界面如圖2 所示。 界面左上角為視頻的播放區(qū)域,右上側(cè)為截取當(dāng)前播放幀的顯示區(qū)域,當(dāng)截取的圖像不滿足檢測(cè)要求時(shí),可以對(duì)圖像進(jìn)行預(yù)處理操作,主界面的右下側(cè)為預(yù)處理后的圖像顯示區(qū)域。 圖像處理完成之后,即可進(jìn)行號(hào)碼識(shí)別和人體檢測(cè),檢測(cè)結(jié)果會(huì)自動(dòng)顯示在主界面右下側(cè)的表格中。 根據(jù)檢測(cè)信息,在數(shù)據(jù)庫(kù)中查找對(duì)應(yīng)的人員,對(duì)信息進(jìn)行匹配,判斷參賽人員是否符合,判斷結(jié)果顯示在表格中。
圖2 系統(tǒng)主界面Fig.2 System main interface
基于監(jiān)控的運(yùn)動(dòng)目標(biāo)識(shí)別跟蹤系統(tǒng),是基于python 開發(fā)環(huán)境和當(dāng)前較為成熟的深度學(xué)習(xí)框架開發(fā)的一個(gè)應(yīng)用系統(tǒng)。 系統(tǒng)操作簡(jiǎn)單,易于掌握,能夠運(yùn)行在Windows、Linux 等系統(tǒng)上,具有較好的兼容性。 本系統(tǒng)功能較為簡(jiǎn)單,仍然具有很大的開發(fā)空間。 希望在以后的具體使用中能夠根據(jù)需求對(duì)系統(tǒng)功能進(jìn)行改進(jìn)和擴(kuò)充,從而實(shí)現(xiàn)更大的應(yīng)用價(jià)值。