劉 寅
(廣西電力職業(yè)技術(shù)學(xué)院,廣西 南寧 530007)
近年來(lái),人工智能技術(shù)已在多個(gè)行業(yè)和領(lǐng)域得到廣泛應(yīng)用,并取得實(shí)質(zhì)性應(yīng)用價(jià)值。具備表征學(xué)習(xí)能力的卷積神經(jīng)網(wǎng)絡(luò)已成為深度學(xué)習(xí)中被廣泛應(yīng)用的架構(gòu)之一,其在圖像識(shí)別、物體識(shí)別、人數(shù)識(shí)別等方面已有較成熟的應(yīng)用案例。在學(xué)校中,教室人數(shù)識(shí)別結(jié)合班級(jí)學(xué)生總數(shù),經(jīng)過(guò)統(tǒng)計(jì)可以得到班級(jí)出勤率、課程出勤率、院系出勤率等教學(xué)管理數(shù)據(jù)。通過(guò)教室內(nèi)視頻監(jiān)控獲取的圖像,結(jié)合深度學(xué)習(xí)技術(shù),運(yùn)用卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)進(jìn)行識(shí)別并統(tǒng)計(jì),實(shí)現(xiàn)對(duì)教室中人數(shù)較準(zhǔn)確的測(cè)算,可為教學(xué)管理等工作提供有效數(shù)據(jù)支持。
運(yùn)用人工智能技術(shù)進(jìn)行人數(shù)識(shí)別的傳統(tǒng)方法大致有兩類,一類是基于檢測(cè)分析的方法;另一類是基于回歸分析的方法。基于檢測(cè)分析的方法常用Vapnik 等人提出的線性和非線性的支持向量機(jī)SVM 分類器以及Leo Breiman 和Adele Cutler 提出的隨機(jī)森林決策分類器并結(jié)合Valiant 提出的Boosting 以提高弱分類算法的識(shí)別率。分類器通過(guò)識(shí)別人體局部或整體的結(jié)構(gòu)特征,例如四肢、肩部、頭部等部位,通過(guò)計(jì)算方向梯度直方圖HOG、小波分析等算法來(lái)提取邊緣特征進(jìn)行分類識(shí)別進(jìn)而識(shí)別人數(shù)?;跈z測(cè)的分析在人與人之間的距離較大時(shí)采用整體檢測(cè)效果較好,而對(duì)于人與人之間存在部分重疊時(shí),人整體檢測(cè)效果有所下降,則采用局部特征分析,這樣能在一定程度上提高圖像中的人物識(shí)別率[1]。而對(duì)于圖像中人數(shù)比較多、人與人重疊也較多的情況,基于回歸分析的識(shí)別方法則更加適合?;貧w分析的前提是進(jìn)行特征提取,常用的特征有前景、背景、邊緣、紋理和梯度分析等一維或多維特征[2]?;貧w分析方法就是通過(guò)學(xué)習(xí)建立所提取特征與人數(shù)的對(duì)應(yīng)關(guān)系模型從而識(shí)別人數(shù)。常用的回歸分析算法有線性回歸、多段線性回歸、嶺回歸、lasso 回歸等[3]。
跟傳統(tǒng)的機(jī)器學(xué)習(xí)人工智能識(shí)別方法相比,采用深度學(xué)習(xí)架構(gòu)的人數(shù)識(shí)別模型更具優(yōu)勢(shì),特別是在識(shí)別準(zhǔn)確率方面有了更大提升。采用卷積神經(jīng)網(wǎng)絡(luò)為主流框架的深度學(xué)習(xí)技術(shù),無(wú)論是在目標(biāo)檢測(cè)分析方式中還是在回歸分析方式中,其人數(shù)識(shí)別所取得的測(cè)試結(jié)果都更優(yōu)[4]。近年來(lái),深度學(xué)習(xí)技術(shù)發(fā)展迅速,已在目標(biāo)檢測(cè)等領(lǐng)域取得很多成熟的應(yīng)用并逐漸取代了基于機(jī)器學(xué)習(xí)的傳統(tǒng)識(shí)別方法[5]。例如,有學(xué)者采用三列卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練密度回歸人數(shù)識(shí)別模型,經(jīng)測(cè)試,其在L1 損失和L2 損失數(shù)據(jù)上相比CNN 模型都有10%以上的下降。
Joseph Redmon 在2015 年提出了采用卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)的深度學(xué)習(xí)目標(biāo)檢測(cè)模型You Only Look Once,簡(jiǎn)稱YOLO。起初YOLO 檢測(cè)架構(gòu)最多可以識(shí)別49 個(gè)目標(biāo),經(jīng)過(guò)數(shù)年發(fā)展研究,先后發(fā)展出YOLOv1、YOLOv2、YOLOv3 等幾個(gè)模板,其檢測(cè)速度和準(zhǔn)確率不斷提升[6]。YOLOv3 架構(gòu)在網(wǎng)絡(luò)結(jié)構(gòu)方面進(jìn)一步調(diào)整,并采用不同尺度的多個(gè)特征圖來(lái)增強(qiáng)不同尺寸目標(biāo)的識(shí)別能力。與之前兩個(gè)版本相比較,YOLOv3 架構(gòu)識(shí)別類別更多,檢測(cè)速度更快,準(zhǔn)確度更高。在同樣的硬件平臺(tái)下采用COCO數(shù)據(jù)集測(cè)試,與RetinaNet 等深度學(xué)習(xí)架構(gòu)相比,在mAP精度基本相近的情況下,YOLOv3 架構(gòu)具備明顯的識(shí)別速度優(yōu)勢(shì)[7]。YOLOv3 架構(gòu)目標(biāo)識(shí)別速度與其他架構(gòu)對(duì)比如圖1 所示。
圖1 YOLOv3 識(shí)別速度
本文將深度學(xué)習(xí)架構(gòu)YOLOv3 應(yīng)用到教室內(nèi)人數(shù)的識(shí)別中,通過(guò)教室內(nèi)視頻監(jiān)控截圖作為數(shù)據(jù)訓(xùn)練集,經(jīng)數(shù)據(jù)訓(xùn)練得到教室內(nèi)人數(shù)識(shí)別模型,經(jīng)測(cè)試該模型具備較高的人數(shù)識(shí)別準(zhǔn)確率。
YOLOv3 的網(wǎng)絡(luò)模型是darknet-53 分類架構(gòu)。整個(gè)網(wǎng)絡(luò)架構(gòu)由53 個(gè)卷積網(wǎng)絡(luò)層構(gòu)成,并根據(jù)殘差網(wǎng)絡(luò)結(jié)構(gòu)在某些層之間進(jìn)行了快捷鏈路。該網(wǎng)絡(luò)架構(gòu)采用3 個(gè)不同尺度的特征圖以及9 種不同尺度的先驗(yàn)框來(lái)實(shí)現(xiàn)多尺度對(duì)象預(yù)測(cè)[8]。YOLOv3 的網(wǎng)絡(luò)模型如圖2 所示。
圖2 YOLOv3 網(wǎng)絡(luò)模型
本次實(shí)驗(yàn)數(shù)據(jù)來(lái)源于學(xué)校50 間教室的視頻監(jiān)控截圖。為了保障目標(biāo)檢測(cè)模型的識(shí)別適應(yīng)能力,本次數(shù)據(jù)采集特別針對(duì)不同角度、不同光照、不同人數(shù)的教室截圖進(jìn)行差異化的采集,目的是避免訓(xùn)練數(shù)據(jù)過(guò)于單一導(dǎo)致的目標(biāo)檢測(cè)系統(tǒng)的識(shí)別適應(yīng)能力下降。
采用YOLO_mark 對(duì)采集來(lái)的教室截圖進(jìn)行標(biāo)注。新建my_classroom.names 文件,建立單獨(dú)分類person。依次對(duì)訓(xùn)練數(shù)據(jù)集的截圖進(jìn)行標(biāo)注,標(biāo)定目標(biāo)類別為人物,標(biāo)定其所在的x、y 坐標(biāo)以及標(biāo)注框的w、y 范圍并生成txt文件。已標(biāo)注的教室截圖訓(xùn)練數(shù)據(jù)如圖3 所示。
圖3 已標(biāo)注的教室截圖
通過(guò)標(biāo)注并整理得到訓(xùn)練數(shù)據(jù)集100 張截圖以及驗(yàn)證數(shù)據(jù)集100 張截圖。為了更好地驗(yàn)證效果,用于驗(yàn)證的數(shù)據(jù)集與訓(xùn)練數(shù)據(jù)集中的截圖都不一樣。實(shí)驗(yàn)數(shù)據(jù)集情況見(jiàn)表1 所示。
表1 實(shí)驗(yàn)數(shù)據(jù)集
YOLOv3 深度學(xué)習(xí)模型是基于darknet-53 架構(gòu),其訓(xùn)練模型的過(guò)程是通過(guò)不斷的迭代而不斷刷新架構(gòu)參數(shù),通過(guò)大量訓(xùn)練樣本數(shù)據(jù)給神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí),使得神經(jīng)網(wǎng)絡(luò)提取到的特征不斷地接近預(yù)期輸出。
本次模型訓(xùn)練采用隨機(jī)初始化神經(jīng)網(wǎng)絡(luò)參數(shù)作為訓(xùn)練起點(diǎn)。卷積神經(jīng)網(wǎng)絡(luò)每一次正向傳播迭代,都會(huì)將帶有標(biāo)簽的截圖輸入進(jìn)神經(jīng)網(wǎng)絡(luò),而神經(jīng)網(wǎng)絡(luò)架構(gòu)根據(jù)現(xiàn)有網(wǎng)絡(luò)層參數(shù)來(lái)提取截圖相關(guān)特征,最終得到此次迭代的特征輸出。輸出的特征包括目標(biāo)坐標(biāo)數(shù)據(jù)(x,y,w,h)、目標(biāo)置信度和目標(biāo)類別概率。而輸入截圖標(biāo)簽中有目標(biāo)實(shí)際坐標(biāo)和目標(biāo)所屬類別,卷積神經(jīng)網(wǎng)絡(luò)每次迭代輸出與實(shí)際預(yù)期輸出的誤差則是關(guān)注的重點(diǎn)。通過(guò)計(jì)算損失函數(shù)可以有效反映迭代輸出誤差的真實(shí)情況,而神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的目的就是通過(guò)不斷優(yōu)化參數(shù)來(lái)減少損失(loss)。神經(jīng)網(wǎng)絡(luò)向前傳播時(shí)可以計(jì)算每層的網(wǎng)絡(luò)輸出,在反向傳播時(shí)可以計(jì)算每層的網(wǎng)絡(luò)預(yù)期輸出,計(jì)算輸出與預(yù)期輸出的差值得到單個(gè)神經(jīng)元的殘差,利用鏈?zhǔn)角髮?dǎo)計(jì)算殘差梯度,再利用梯度下降來(lái)調(diào)整參數(shù),最終使得loss 逐步下降并趨于收斂。
訓(xùn)練時(shí),神經(jīng)網(wǎng)絡(luò)模型的參數(shù)更新一次就是一次迭代。當(dāng)每次迭代的loss 變化不大并趨于收斂時(shí)即可以得到最終的訓(xùn)練模型。模型訓(xùn)練loss 曲線如圖4 所示。
圖4 loss 曲線
卷積神經(jīng)網(wǎng)絡(luò)識(shí)別模型訓(xùn)練完之后即可進(jìn)行模型的驗(yàn)證。將驗(yàn)證數(shù)據(jù)集100 張截圖輸入模型,識(shí)別輸出效果,如圖5 所示。
圖5 識(shí)別輸出效果
本次實(shí)驗(yàn)通過(guò)精確率(Precision)、召回率(Recall)和準(zhǔn)確率(Accuracy)三個(gè)評(píng)價(jià)指標(biāo)來(lái)衡量YOLOv3 模型識(shí)別教室人數(shù)的效果。計(jì)算公式為:
式中P 為精確率;R 為召回率;A 為準(zhǔn)確率。TP 是正類預(yù)測(cè)為正類的數(shù)量;FP 是負(fù)類預(yù)測(cè)為正類的數(shù)量;FN 是正類預(yù)測(cè)為負(fù)類的數(shù)量;N 為被測(cè)樣本真實(shí)人數(shù)。
精確率反映出模型識(shí)別為正類的樣本中有多少是真正的正類。召回率反映出所有的正類樣本中有多少被正確的識(shí)別出來(lái)。準(zhǔn)確率反映出模型輸出數(shù)據(jù)的可信度和有效性。
經(jīng)過(guò)驗(yàn)證數(shù)據(jù)集100 個(gè)樣本,統(tǒng)計(jì)驗(yàn)證數(shù)據(jù),得到深度學(xué)習(xí)架構(gòu)YOLOv3 在本次教室人數(shù)識(shí)別中的評(píng)價(jià)指標(biāo)數(shù)據(jù)如表2 所示。
表2 實(shí)驗(yàn)的評(píng)價(jià)指標(biāo)數(shù)據(jù)
通過(guò)實(shí)驗(yàn)驗(yàn)證,深度學(xué)習(xí)架構(gòu)YOLOv3 模型在學(xué)校教室內(nèi)人數(shù)識(shí)別時(shí)可以做到92.64%的正類召回率,而精確率能夠達(dá)到97.74%,平均準(zhǔn)確率可以達(dá)到93%以上,其識(shí)別結(jié)果可以有效地對(duì)教室內(nèi)人數(shù)進(jìn)行判斷,能夠?yàn)榻虒W(xué)管理提供有效數(shù)據(jù)。
為了解決傳統(tǒng)目標(biāo)檢測(cè)算法識(shí)別速度和精度相對(duì)較低等問(wèn)題,本文采用深度學(xué)習(xí)技術(shù)中較為成熟的YOLOv3 神經(jīng)網(wǎng)絡(luò)架構(gòu)來(lái)識(shí)別學(xué)校教室中的人物目標(biāo),通過(guò)統(tǒng)計(jì)數(shù)據(jù)進(jìn)而取得了教室內(nèi)的人數(shù)。經(jīng)過(guò)數(shù)據(jù)訓(xùn)練的深度學(xué)習(xí)網(wǎng)絡(luò)模型在100 張教室截圖的數(shù)據(jù)驗(yàn)證時(shí),其教室內(nèi)人數(shù)識(shí)別的平均準(zhǔn)確率可以達(dá)到93%以上,并且在模型精確率和召回率指標(biāo)上都取得了較理想的效果。本次實(shí)驗(yàn)結(jié)果可以為教學(xué)管理提供有效參考數(shù)據(jù)支持。下一步計(jì)劃針對(duì)單目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行結(jié)構(gòu)優(yōu)化,嘗試進(jìn)一步提高教室內(nèi)人數(shù)識(shí)別的準(zhǔn)確率。