陳憶憫,李萬(wàn)益*,鄭嘉穎,翁漢銳,錢(qián)焯賢,黃靖敏,倫家琪,陳 強(qiáng),張 謙,鄔依林
(1. 廣東第二師范學(xué)院計(jì)算機(jī)學(xué)院,廣州 510303;2. 廣州市南沙區(qū)金沙學(xué)校,廣州 511455)
借助姿態(tài)估計(jì)、動(dòng)作識(shí)別和目標(biāo)跟蹤等計(jì)算機(jī)視覺(jué)任務(wù),能夠準(zhǔn)確定位和跟蹤教室內(nèi)的人員,實(shí)現(xiàn)對(duì)教學(xué)行為的識(shí)別和理解。這一領(lǐng)域是“人工智能+教育”應(yīng)用場(chǎng)景中的一個(gè)重要方向。在課堂環(huán)境中,教師和學(xué)生的行為反映了教學(xué)風(fēng)格和學(xué)生專注度,也是評(píng)估課堂氛圍和教學(xué)成效的重要指標(biāo)。然而,傳統(tǒng)的分析方法主要依賴于人工或課后學(xué)生反饋,存在主觀性強(qiáng)、評(píng)價(jià)片面、效率低和無(wú)法回溯等問(wèn)題。
為解決這些問(wèn)題,本文提出了基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù),利用PP-YOLOv2 模型進(jìn)行課堂行為檢測(cè)。通過(guò)在兩個(gè)開(kāi)源大型數(shù)據(jù)集上進(jìn)行大量實(shí)驗(yàn),驗(yàn)證了網(wǎng)絡(luò)的有效性,并將經(jīng)過(guò)訓(xùn)練的模型應(yīng)用于真實(shí)課堂環(huán)境,實(shí)現(xiàn)了對(duì)教學(xué)行為的準(zhǔn)確檢測(cè)。這項(xiàng)研究為教育領(lǐng)域的課堂行為分析提供了一種可行的解決方案,并具有潛力改進(jìn)教學(xué)效果,有利于個(gè)性化學(xué)習(xí)方案的實(shí)施。
(1)在區(qū)域建議階段,傳統(tǒng)目標(biāo)檢測(cè)算法通過(guò)多次遍歷輸入圖像的不同尺度滑動(dòng)窗口產(chǎn)生大量感興趣區(qū)域。然而,這種方法存在冗余計(jì)算開(kāi)銷、影響算法的運(yùn)行速度等問(wèn)題。此外,滑動(dòng)窗口通常只有幾種固定尺寸,很難完美匹配目標(biāo)。
(2)特征抽取階段僅能獲得圖像的低級(jí)特征,這些特征表達(dá)能力有限,且高度依賴于具體任務(wù)。一旦檢測(cè)目標(biāo)發(fā)生重大變動(dòng),就需要重新設(shè)計(jì)算法。
(3)傳統(tǒng)目標(biāo)檢測(cè)算法將整個(gè)過(guò)程分割為獨(dú)立的三個(gè)階段,無(wú)法達(dá)到全局最優(yōu)解。此外,算法的設(shè)計(jì)依賴于設(shè)計(jì)者對(duì)檢測(cè)目標(biāo)和具體任務(wù)的先驗(yàn)知識(shí)。
針對(duì)這些缺陷[1],本文旨在尋找更精巧的計(jì)算方法來(lái)加速目標(biāo)檢測(cè)算法,以滿足實(shí)時(shí)性要求。同時(shí),設(shè)計(jì)更多元化的檢測(cè)算法以彌補(bǔ)人工特征表達(dá)能力不足的缺陷。通過(guò)采用新的計(jì)算方法和多元化的算法設(shè)計(jì),本文旨在提高目標(biāo)檢測(cè)算法的性能和魯棒性,以更好地適應(yīng)各種檢測(cè)任務(wù)和目標(biāo)變化情況。
在深度學(xué)習(xí)出現(xiàn)之前,傳統(tǒng)的目標(biāo)檢測(cè)方法主要由區(qū)域選擇(滑窗)、特征提取(如SIFT、HOG 等)和分類器(如SVM、Adaboost 等)三個(gè)部分構(gòu)成。然而,這些傳統(tǒng)方法存在兩個(gè)主要問(wèn)題。首先,滑窗選擇策略缺乏針對(duì)性,時(shí)間復(fù)雜度高且存在窗口冗余;其次,手工設(shè)計(jì)的特征魯棒性較差,對(duì)于目標(biāo)變化較大的情況需要重新設(shè)計(jì)算法。
自深度學(xué)習(xí)出現(xiàn)之后,目標(biāo)檢測(cè)取得了巨大的突破,最矚目的兩個(gè)方向有:基于區(qū)域建議的深度學(xué)習(xí)目標(biāo)檢測(cè)算法,以RCNN 為代表(如RCNN、SPP-NET、Fast-RCNN、Faster-RCNN 等),采用了兩階段的方法。首先,通過(guò)啟發(fā)式方法(如selectivesearch)或CNN 網(wǎng)絡(luò)(如RPN)生成候選區(qū)域(Region Proposal),然后在這些候選區(qū)域上進(jìn)行分類和回歸。基于回歸方法的深度學(xué)習(xí)目標(biāo)檢測(cè)算法,以YOLO 為代表(如YOLO、SSD等),采用單一的卷積神經(jīng)網(wǎng)絡(luò)(CNN)直接預(yù)測(cè)不同目標(biāo)的類別和位置。因此,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)網(wǎng)絡(luò)主要可以分為兩大類:一是兩階段檢測(cè)網(wǎng)絡(luò),如R-CNN 系列算法,該類算法通過(guò)生成區(qū)域建議并在這些候選區(qū)域上進(jìn)行分類和回歸來(lái)實(shí)現(xiàn)目標(biāo)檢測(cè);二是單階段檢測(cè)網(wǎng)絡(luò),如YOLO 系列算法、SSD 和RetinaNet 等,該類算法直接在單個(gè)CNN 網(wǎng)絡(luò)中預(yù)測(cè)目標(biāo)的類別和位置。
本研究旨在對(duì)視頻中學(xué)生的學(xué)習(xí)情況進(jìn)行分析,以滿足教師對(duì)學(xué)生學(xué)習(xí)行為的即時(shí)反饋和后續(xù)教學(xué)調(diào)整的需求。考慮到大規(guī)模視頻數(shù)據(jù)和實(shí)時(shí)性要求,我們采用基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法。具體而言,選擇了YOLOv3算法作為基礎(chǔ)算法,并進(jìn)行了針對(duì)性優(yōu)化以適應(yīng)我們的數(shù)據(jù)特點(diǎn)。YOLOv3算法在保持準(zhǔn)確度的同時(shí)具有較高的訓(xùn)練速度,能夠有效應(yīng)對(duì)大規(guī)模視頻數(shù)據(jù)的處理挑戰(zhàn)。通過(guò)我們的優(yōu)化措施,旨在提高學(xué)生學(xué)習(xí)情況分析的準(zhǔn)確性和實(shí)時(shí)性,并為教師提供及時(shí)準(zhǔn)確的反饋信息,以支持其教學(xué)調(diào)整和改進(jìn)決策。本研究的目標(biāo)是在保持足夠準(zhǔn)確度的前提下提高檢測(cè)速度,以滿足教學(xué)實(shí)際應(yīng)用的要求。
本研究在目標(biāo)檢測(cè)領(lǐng)域采用了一種改進(jìn)的架構(gòu),將ResNet50-vd 作為整個(gè)網(wǎng)絡(luò)的主干(backbone),替代了原來(lái)的DarkNet53。為了提高模型的表達(dá)能力,我們引入了可變形卷積,將部分卷積層替換為可變形卷積,并在最后一層的3*3 卷積中使用了DCN 卷積。整個(gè)網(wǎng)絡(luò)由backbone、neck 和head 三部分組成,如圖1 所示。通過(guò)使用ResNet50-vd 和可變形卷積,我們?cè)黾恿司W(wǎng)絡(luò)的復(fù)雜度,從而提升了模型的性能和準(zhǔn)確度。這一改進(jìn)架構(gòu)的引入為目標(biāo)檢測(cè)任務(wù)帶來(lái)了顯著的改善,并在實(shí)驗(yàn)中取得了良好的效果。

圖1 骨干網(wǎng)
為了改進(jìn)目標(biāo)檢測(cè)算法,本研究采用了ResNet50-vd 作為整個(gè)架構(gòu)的替代方案,以取代YOLOv3 中使用的較為龐大的DarkNet53。這一選擇是基于ResNet 在廣泛應(yīng)用和多樣化分支方面的優(yōu)勢(shì),以及其在執(zhí)行優(yōu)化和參數(shù)數(shù)量方面的表現(xiàn)優(yōu)于Darknet53 等因素。實(shí)驗(yàn)結(jié)果表明,通過(guò)將DarkNet53 替換為ResNet50-vd,模型的mAP得到了明顯的提升。
此外,為了避免性能下降,我們并非直接替換ResNet50-vd,而是采用可變形卷積層替換其中的一些卷積層。在這個(gè)過(guò)程中,我們選擇將最后階段的3*3 卷積層替換為可變形卷積層(DCN),而不是對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行替換。DCN 本身并不顯著增加模型的參數(shù)量和FLOPs 數(shù)量,但在實(shí)際應(yīng)用中,過(guò)多的DCN 層會(huì)顯著增加推斷時(shí)間。為了平衡精度和速度,本研究只將最后階段的3*3卷積層替換為DCN[2]。
以上改進(jìn)策略的應(yīng)用使得模型在精度與速度之間取得了平衡,進(jìn)一步提升了目標(biāo)檢測(cè)算法的性能。
與PP-YOLO 使用FPN 構(gòu)建特征金字塔不同,我們的模型采用路徑聚合網(wǎng)絡(luò)(path aggregation network,PAN)。該網(wǎng)絡(luò)通過(guò)自底向上的路徑利用低層定位信號(hào)增強(qiáng)特征層次結(jié)構(gòu),從而縮短低層與頂層之間的信息傳遞路徑(見(jiàn)圖2綠色線)。此外,PAN 還引入自適應(yīng)特征池,將特征網(wǎng)格與所有特征層連接,實(shí)現(xiàn)自上而下的特征聚合。通過(guò)這種方式,每個(gè)特征層的有用信息都能夠直接傳播到提案子網(wǎng),從而實(shí)現(xiàn)了特征信息的全局聚合。

圖2 路徑聚合網(wǎng)絡(luò)
激活函數(shù)(activation function)是神經(jīng)網(wǎng)絡(luò)中神經(jīng)元輸入映射到輸出的函數(shù)。目前廣泛應(yīng)用的激活函數(shù)包括ReLU、TanH、Sigmoid、Leaky ReLU 和Swish。本文采用了一種新的激活函數(shù)Mish,用于PP-YOLOv2。
Mish 函數(shù)的優(yōu)勢(shì)在于它沒(méi)有上限,可以達(dá)到任意高度,避免了飽和問(wèn)題。對(duì)于負(fù)值,Mish允許輕微的梯度流動(dòng),而不像ReLU 那樣具有硬零邊界。平滑的激活函數(shù)使得信息能夠更好地傳遞到神經(jīng)網(wǎng)絡(luò)中,從而提高準(zhǔn)確性和泛化性能。通過(guò)驗(yàn)證實(shí)驗(yàn)發(fā)現(xiàn),與Swish 相比,Mish 的精度提高了0.494%,與ReLU 相比提高了1.671%[3]。
Mish 函數(shù)是在保障有信息流動(dòng)的情況下而存在下限的,這樣可以使函數(shù)規(guī)范正則化,
Mish 函數(shù)的表達(dá)如式(1)所示:
此函數(shù)是非單調(diào)的,可以使大多數(shù)的神經(jīng)元得到更新,具備較好的穩(wěn)定性,并且其效果優(yōu)于其他激活函數(shù),比如Swish、ReLU函數(shù)。
與其他大多數(shù)模型一樣,PP-YOLOv2 也采用了Mish 激活函數(shù),但此模型沒(méi)有將其應(yīng)用在骨架網(wǎng)絡(luò),原有骨架網(wǎng)絡(luò)預(yù)訓(xùn)練參數(shù)已經(jīng)讓網(wǎng)絡(luò)在ImageNet 上top-1 準(zhǔn)確率高達(dá)82.4%,所以此模型仍傾向于采用原有的骨架網(wǎng)絡(luò),而將Mish 激活函數(shù)應(yīng)用在了detection neck,使其能夠更好地發(fā)揮作用(圖3)[4]。

圖3 PP-YOLOv2檢測(cè)頸的架構(gòu)
IoU Aware Branch[2]:在PP-YOLO 中,我們注意到IoU Aware Branch 的計(jì)算采用了一種與初衷不符的軟權(quán)重格式(soft weight format)。為了改進(jìn)這一問(wèn)題,我們引入了soft label format。式(2)表示IoU aware loss。
t為錨點(diǎn)與ground-truth-bounding box 之間的IoU,p為IoU Aware Branch 的原始輸出,為sigmoid激活函數(shù)。僅計(jì)算陽(yáng)性樣本的IoU aware loss,并通過(guò)替換損失函數(shù)進(jìn)一步提高了模型的性能。這一改進(jìn)使得模型在性能上比之前有了顯著的提升。
實(shí)驗(yàn)中用到電腦配置以及系統(tǒng)環(huán)境如下:CPU 為12th Gen Intel(R)Core(TM)i9-12900HX;GPU 為GeForce RTX 3090;運(yùn)行內(nèi)存為24 GB;操作系統(tǒng)為Windows 10;Python 版本為3.9;深度學(xué)習(xí)框架為PyTorch 1.13.1。
本次實(shí)驗(yàn)數(shù)據(jù)集總數(shù)為5012 條,本文所分析的課堂五種典型學(xué)生行為狀態(tài)包括:看手機(jī)、喝水、寫(xiě)字、聽(tīng)講和走神,其中,數(shù)據(jù)集的人工標(biāo)注部分共有2506 條(約占50%),半自動(dòng)標(biāo)注部分共有2506 條(約占50%),實(shí)驗(yàn)部分?jǐn)?shù)據(jù)集如圖4所示。

圖4 實(shí)驗(yàn)數(shù)據(jù)集
本次實(shí)驗(yàn)的數(shù)據(jù)集共有5012 條數(shù)據(jù),每條數(shù)據(jù)包含一張圖片和其對(duì)應(yīng)的標(biāo)簽,分為以下五類:listen,write,phone,drink,trance,并按7∶2∶1的比例劃分為訓(xùn)練集、驗(yàn)證集、測(cè)試集,具體情況如圖5所示。

圖5 實(shí)驗(yàn)數(shù)據(jù)集
此次實(shí)驗(yàn)選擇PP-YOLOv2 ResNet50 預(yù)訓(xùn)練模型作為本實(shí)驗(yàn)的目標(biāo)檢測(cè)模型,圖像輸入尺寸為128px×128px;圖像均值為0.485、0.456、0.406;圖像方差為0.229、0.224、0.225。迭代次數(shù)設(shè)定為300;學(xué)習(xí)率為0.0001;批大小為30;保存間隔為30。
數(shù)據(jù)集標(biāo)注完后,分為兩個(gè)文件夾,JPEGImage 文件夾存放圖像,格式為JPG;Annotations 文件夾存放標(biāo)注后以XML 格式的數(shù)據(jù),文件分布如圖6所示。

圖6 實(shí)驗(yàn)文件分布
為了評(píng)估模型性能,我們將針對(duì)listen、write、phone、drink 和trance 這五個(gè)標(biāo)簽,采用準(zhǔn)確率(Precision)、召回率(Recall)和平均精度(Average Precision, AP)作為評(píng)估模型性能的指標(biāo),評(píng)估結(jié)果件表1。

表1 評(píng)估結(jié)果
在實(shí)驗(yàn)中,PP-YOLOv2 預(yù)訓(xùn)練模型在300 次迭代后,達(dá)到了99.3%的mAP 值,如圖7所示,實(shí)驗(yàn)結(jié)果顯示,在300 次迭代后,PP-YOLOv2 預(yù)訓(xùn)練模型在該5012 條數(shù)據(jù)集上表現(xiàn)出了很高的性能和準(zhǔn)確率。整體mAP 值達(dá)到了99.3%,說(shuō)明模型具有很好的目標(biāo)檢測(cè)能力。各個(gè)類別的mAP 均在96%~100% 之間,相對(duì)均衡,表明模型在識(shí)別不同類別的目標(biāo)時(shí)具有相近的性能。

圖7 實(shí)驗(yàn)數(shù)據(jù)集
實(shí)驗(yàn)中某次寫(xiě)的動(dòng)作檢測(cè)結(jié)果及準(zhǔn)確率如圖8所示。

圖8 實(shí)驗(yàn)預(yù)測(cè)結(jié)果
由于實(shí)驗(yàn)結(jié)果已經(jīng)達(dá)到了較高的精度,可以認(rèn)為模型在這個(gè)數(shù)據(jù)集上的泛化能力較好。但是,實(shí)驗(yàn)僅進(jìn)行了300 次迭代,可能還存在進(jìn)一步優(yōu)化的空間。在實(shí)際應(yīng)用中,可以嘗試增加迭代次數(shù)或調(diào)整訓(xùn)練參數(shù),以進(jìn)一步提高模型的性能和準(zhǔn)確率。同時(shí),為了更好地評(píng)估模型的泛化能力,可以在更大規(guī)模的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。
增加迭代次數(shù):嘗試將迭代次數(shù)提高到更高的水平,如500、1000 或更多次,觀察模型在更多迭代次數(shù)下的性能變化。這將有助于了解模型是否已經(jīng)收斂,或者是否還有進(jìn)一步優(yōu)化的潛力。
調(diào)整訓(xùn)練參數(shù):嘗試調(diào)整學(xué)習(xí)率、權(quán)重衰減、優(yōu)化器等訓(xùn)練參數(shù),以探索在不同參數(shù)設(shè)置下模型的性能表現(xiàn)。這可以幫助找到最佳的參數(shù)組合,進(jìn)一步提高模型的準(zhǔn)確率。
交叉驗(yàn)證:采用K折交叉驗(yàn)證的方法,將數(shù)據(jù)集劃分為K份,依次將每一份作為驗(yàn)證集,其余K-1 份作為訓(xùn)練集。這將有助于評(píng)估模型在不同訓(xùn)練集和驗(yàn)證集上的性能,并減少過(guò)擬合的可能性。
測(cè)試實(shí)際場(chǎng)景:將模型應(yīng)用到實(shí)際場(chǎng)景中,例如在線課堂、教室等環(huán)境,觀察模型在實(shí)際應(yīng)用中的表現(xiàn)。這將有助于驗(yàn)證模型在實(shí)際場(chǎng)景中的效果,以及發(fā)現(xiàn)可能存在的問(wèn)題和需要改進(jìn)的地方。
課堂行為檢測(cè)在教育領(lǐng)域具有重要意義,能夠評(píng)估學(xué)生的參與度和專注度。然而,傳統(tǒng)的行為檢測(cè)方法通常復(fù)雜且耗時(shí)。為了解決這一問(wèn)題,本文提出了基于PP-YOLOv2 的課堂行為檢測(cè)方法。該方法充分利用了計(jì)算機(jī)視覺(jué)和深度學(xué)習(xí)技術(shù),通過(guò)采集和標(biāo)注學(xué)生樣本數(shù)據(jù)集,并進(jìn)行數(shù)據(jù)預(yù)處理,實(shí)現(xiàn)了高效準(zhǔn)確的行為檢測(cè)。
在研究中,我們采用了Mish 激活函數(shù),這一創(chuàng)新的激活函數(shù)提升了模型的學(xué)習(xí)能力和行為檢測(cè)的準(zhǔn)確性。通過(guò)實(shí)驗(yàn)結(jié)果的分析,我們發(fā)現(xiàn)該方法在真實(shí)的課堂環(huán)境中展現(xiàn)出了良好的性能,并為教育工作者提供了高效準(zhǔn)確的課堂行為檢測(cè)工具。
這項(xiàng)研究對(duì)于實(shí)時(shí)監(jiān)測(cè)和評(píng)估學(xué)生行為,改善教學(xué)效果以及促進(jìn)個(gè)性化學(xué)習(xí)具有重要意義。它為教育工作者提供了一種可靠的手段,可以實(shí)時(shí)監(jiān)控學(xué)生的行為表現(xiàn),幫助他們更好地了解學(xué)生的學(xué)習(xí)狀態(tài)和需求。這樣的個(gè)性化反饋和指導(dǎo)能夠提升教學(xué)質(zhì)量,培養(yǎng)學(xué)生的自主學(xué)習(xí)能力。
未來(lái)的研究可以繼續(xù)擴(kuò)展該方法的應(yīng)用范圍,例如在不同年級(jí)、學(xué)科和教學(xué)場(chǎng)景下的行為檢測(cè)。此外,還可以進(jìn)一步優(yōu)化算法,提高模型的性能和效率,以滿足教育領(lǐng)域?qū)τ趯?shí)時(shí)行為檢測(cè)的需求。通過(guò)持續(xù)的研究和創(chuàng)新,我們可以不斷推動(dòng)教育技術(shù)的發(fā)展,為學(xué)生和教育工作者創(chuàng)造更好的學(xué)習(xí)和教學(xué)環(huán)境。