劉 雪,陳亞軍,馬 登,彭名楊
(西華師范大學(xué) 電子信息工程學(xué)院,四川 南充 637000)
為了保證考場秩序,維護(hù)考試公平,促進(jìn)誠信考場建設(shè),基于監(jiān)控視頻的智能電子監(jiān)考系統(tǒng)[1]已成為目前考場領(lǐng)域防作弊方案研究的一個重要方向.在早期,考場監(jiān)控只提供視頻捕捉、視頻存儲等功能.所需的監(jiān)控數(shù)據(jù)需要靠人工來查找與篩選,且在疲勞狀態(tài)下會出現(xiàn)漏檢、誤檢等情況.為了解決上述問題,許多研究人員轉(zhuǎn)向智能考場監(jiān)控系統(tǒng)的研究.
針對考場環(huán)境的特異性,藺永政等[2]提出了一種基于背景消除法的考生作弊檢測方法,該方法首先獲取考場運動的差分圖像,通過迭代法確定動態(tài)閾值,以實現(xiàn)對考生運動的分割,以及作弊行為的檢測;李孟曉等[3]人利用考生實時姿態(tài),找出考生正??荚嚑顟B(tài)下頭部和手部的常規(guī)活動范圍,結(jié)合頭部和手部的實時位置判斷是否存在作弊嫌疑,能夠識別絕大部分考試作弊行為;劉藝航等[4]人彌補(bǔ)老套技術(shù)的不足,利用稀疏組合學(xué)習(xí)及主成分剖析對考試動作反常者進(jìn)行測驗,提高了驗測速率,獲得了優(yōu)異的性能.
上述方法對考場中絕大多數(shù)作弊行為檢測識別率較高,但由于左右偷看動作與考生的一些正常動作類似,如東張西望.光流法[5]、幀差法[6]、背景相減法[7]等識別效果都不佳,容易造成誤判.視線估計對頭部特征提取效果顯著,能夠有效地根據(jù)頭部特征預(yù)測注視目標(biāo).如Fang等[8]人根據(jù)頭部特征在三維空間中模擬與推理人類注視目標(biāo),識別注視目標(biāo)是在圖像內(nèi)部還是外部,如果目標(biāo)在內(nèi)部,定位目標(biāo);Lian等[9]人借鑒人類在注視跟隨中的智慧,利用頭部圖像及其位置,生成多尺度注視方向來表征注視點的分布.
在前人工作中,都是對考場整體圖像進(jìn)行特征提取并判斷.但左右偷看動作在進(jìn)行中幅度并不大,運動部分基本都是頭部,極易與相似行為混淆,一次性對整圖進(jìn)行判斷容易造成誤判或根本沒有識別到作弊動作.針對該動作的特異性,將視線估計運用到考場中,僅提取考場幀圖像的頭部特征進(jìn)行作弊動作判斷,本文的貢獻(xiàn)如下:
1.在注視目標(biāo)估計[10]的基礎(chǔ)上,融合目標(biāo)識別[11]到考場作弊檢測中.僅提取考場幀圖像中的頭部特征,減少了特征冗雜度,使得檢測速度更加快捷.對注視目標(biāo)識別,將相似行為干擾排開,提高對左右偷看作弊動作的識別率.
2.為解決考場作弊圖片被識別后需進(jìn)一步人工甄別哪些考生作弊,融合人臉檢測與識別[12]到檢測中,將考生名字連同考場作弊幀圖像一起保存,節(jié)省人力物力.
3.針對考生作弊行為的特異性,提出一種新的作弊判別方式,將考生行為分為未作弊、可能作弊、已作弊三種.根據(jù)考生的視線角度與考生眼睛到注視目標(biāo)的距離,判別是否有作弊行為發(fā)生,再對注視目標(biāo)進(jìn)行識別,進(jìn)一步區(qū)分可能作弊與已作弊行為,減少了誤判率,識別率得到進(jìn)一步提升.
人類最基本、信息量最大的行為之一就是觀察物體.注視估計指在場景中跟隨他人的注視,并推斷他們在看什么地方的任務(wù).它對于理解人與人、人與物的相互作用中人的行為具有重要意義.例如,我們可以通過人與人之間的互動中人們的注視點來推斷他們的意圖.
Attention-target-detection算法[13],該算法是一個魯棒性很棒、泛化性超強(qiáng)的注視目標(biāo)檢測算法,解決了視頻中注意目標(biāo)檢測問題,它的結(jié)構(gòu)利用場景與頭部特征之間的動態(tài)交互,不斷推理時變的注意目標(biāo),識別視頻中每個幀中的每個人在看哪里,并正確處理凝視目標(biāo)不在幀中的情況.它的結(jié)構(gòu)如圖1所示.
圖1 Attention-target-detection算法結(jié)構(gòu)圖
該算法由三個部分構(gòu)成:頭部調(diào)節(jié)分支、主場景分支和循環(huán)注意預(yù)測模塊.
將圖像中人的頭部剪裁并計算其頭部特征圖.在Head Conv網(wǎng)絡(luò)部分運用ResNet-50[14]對剪裁后的僅包含人頭圖片提取特征,獲得其頭部位置的二值圖像,二值圖像對頭部在場景中的位置和相對深度的編碼比以往的位置編碼更有效,后接一個平均池化層控制過擬合問題.將頭部位置的二值圖像,用三個連續(xù)的Maxpooling進(jìn)行縮減并變平,獲得頭部位置特征.將頭部特征圖與該頭部位置特征連接起來,然后將這兩個連接的特征通過一個全連接層來計算出一個注意力圖.
液壓系統(tǒng)的散熱方式為發(fā)熱源(泵、閥、管路)的散熱和油箱的散熱。系統(tǒng)產(chǎn)生的熱量一部分散熱到外界環(huán)境中,剩下的熱量留在系統(tǒng)中使液壓油溫度升高[6]。油箱為液壓系統(tǒng)的主要散熱方式,油箱散熱由自然對流換熱和熱輻射兩部分組成。
場景特征圖運用與頭部特征圖一樣的模塊進(jìn)行提取,場景卷積的輸入是場景圖像和頭部位置圖像的拼接,輸出主場景分支特征圖.將場景特征圖與頭部調(diào)節(jié)分支得到的注意力圖相乘,使得模型能夠根據(jù)頭部的屬性,學(xué)會更多的更有可能被關(guān)注到的場景特征,并將加權(quán)后的場景特征圖與頭部特征圖連接.最后在編碼模塊中使用兩個卷積層對連接的特征進(jìn)行編碼.
經(jīng)過編碼后,使用長短期記憶力網(wǎng)絡(luò)[15]集成幀序列的時間信息.Deconv模塊是由四個反卷積層組成反卷積網(wǎng)絡(luò),將卷積后的特征采樣成一個全尺寸的特征圖.然后再對全尺寸特征圖進(jìn)行調(diào)制,由“是否在幀內(nèi)”模塊輸出是否在幀內(nèi),它由兩個卷積層與一個全連接層構(gòu)成.將關(guān)注點在幀內(nèi)的考場幀圖像畫出預(yù)測目標(biāo)點與預(yù)測人眼睛的連線并輸出.
該方法結(jié)合人臉檢測與識別、注視目標(biāo)估計、目標(biāo)識別共同構(gòu)建了基于視線目標(biāo)的考場作弊檢測.共分為兩個模塊,檢測模塊與識別模塊.首先,對輸入的幀圖像進(jìn)行全圖人臉檢測,將圖中人頭坐標(biāo)框挨個提取,并依次進(jìn)行注視目標(biāo)估計,獲得注視目標(biāo)位置.根據(jù)注視目標(biāo)位置計算考生視線角度與注視目標(biāo)之間的距離,判別是否存在作弊行為.再將注視目標(biāo)剪裁并識別,與考試相關(guān)的物體判定為作弊行為并保存,其余判定為可能作弊行為并保存,判定是否完成檢測,若未完成對下一位考生檢測.具體的流程如圖2所示.
圖2 基于視線估計的考場作弊檢測
檢測模塊將考場幀圖像中可能作弊的圖片檢測出來,輸入識別模塊中進(jìn)一步分類.對輸入的幀圖像,利用Openvino工具包[16]中的人臉檢測器,輸出幀圖像中的每個人頭框坐標(biāo)位置,Openvino是深度學(xué)習(xí)的模型推理加速引擎,對opencv進(jìn)行過優(yōu)化,處理視頻圖像更加方便、快捷.將獲得的人頭框運用attention-target-detection算法[16]依次進(jìn)行注視目標(biāo)估計并獲取其注視位置,推理結(jié)果如圖3所示.
圖3 注視目標(biāo)估計
利用opencv庫中自帶的人臉識別器face_recongition,識別頭像框中考生的名字,再根據(jù)注視目標(biāo)位置,計算考生視線角度與注視目標(biāo)之間的距離,判定是否存在作弊行為,對判定為有可能作弊行為的,將注視目標(biāo)進(jìn)行剪裁.
SSD算法[17]是目前目標(biāo)檢測中應(yīng)用最廣泛的算法之一,它的優(yōu)勢在于運行速度快,檢測精度高.對剪裁的圖片進(jìn)一步運用SSD算法進(jìn)行識別,識別物體若為與考試相關(guān)物體,判定為有作弊行為連同名字一起保存.其余物品判定為可能作弊行為連同名字一起保存.
2.2.1 角度及距離閾值
在考試中,考生的注意力應(yīng)在自己的試卷上,眼睛與注視目標(biāo)構(gòu)成的線段應(yīng)與水平方向垂直,正??忌⒁暯嵌仍谧约嚎甲肋吘壟c試卷中心所構(gòu)成的角度θ為(±75°,±90°),作弊考生偷看他人試卷所構(gòu)成的角度會小于正??荚嚳忌囊暰€角度;注視試卷的距離最大為考生坐正考試(圖4左男生)眼睛到試卷的距離,以此距離的1.3倍為臨界值,作弊考生的視線距離(圖4右女生)會遠(yuǎn)超過這個臨界值.
圖4 角度及距離
將人眼位置(x1,y1)和注視目標(biāo)位置(x2,y2),由兩點斜率公式1、兩點間距離公式2可得人的注視角度為θ、注視距離L:
(1)
(2)
根據(jù)視覺角度與眼睛到注視目標(biāo)的距離共同判定該考生是否作弊.若求得角度θ為(0°,75°)之間,或者距離大于臨界值,則判定該考生可能有作弊行為.
2.2.2 目標(biāo)識別
判定為可能作弊行為后,將注視目標(biāo)剪裁送入SSD算法進(jìn)行識別,識別到的物體若為考桌與試卷,判定為有作弊行為,其余為可能作弊,最后將有異常行為考生的名字隨圖片一并保存.圖5為送入SSD算法后識別的效果圖展示.
圖5 注視目標(biāo)識別
本實驗的具體硬件軟件實驗環(huán)境條件如表1所示.
表1 實驗硬軟件部署
為了驗證本模型的準(zhǔn)確性,本文通過對考場作弊行為進(jìn)行模擬,制作了一個考場模擬作弊行為數(shù)據(jù)集.該數(shù)據(jù)集由4名學(xué)生參與測試,在教室中模擬拍攝,共600張圖片,有作弊行為的圖片共400張,沒有作弊的圖片共100張,可能作弊的圖片采集東張西望考生共100張.從數(shù)據(jù)集中分別挑出一張如圖6所示.
圖6 數(shù)據(jù)集樣例展示
不同的距離閾值會改變圖片的最終判斷結(jié)果,為尋找最佳距離閾值,采取不同的閾值對模擬數(shù)集進(jìn)行識別,采用的基礎(chǔ)閾值是由一位身高為165 cm的考生端正坐看向自己的考卷所測得到,角度閾值固定為75°,測試結(jié)果如表2所示.
表2 不同距離閾值識別結(jié)果
在表2中,隨著距離閾值的增加,未作弊行為識別率逐漸上升,在基礎(chǔ)距離1.3倍時識別率已達(dá)到100%,但相反的是可能作弊與已作弊行為識別率隨著距離閾值的增加不斷減少.平均識別率在1.1倍時為最小值90%,在1.3倍達(dá)到最高96%,之后隨距離閾值增加不斷減少.在判定過程中,距離閾值對是否進(jìn)行下一步判斷至關(guān)重要,綜合上表數(shù)據(jù)得出在基礎(chǔ)距離1.3倍時,各個行為識別率相對最好,平均識別率為96%,所以以此為閾值.平均識別率由公式3所得:
(3)
總識別率由未作弊、可能作弊、已作弊的識別率相加所得,總類型數(shù)量為他們所屬的類數(shù)量相加所得,兩者相除得到平均識別率.
不同的角度閾值對圖片的識別率影響同樣很大,為了尋找最佳的閾值,在距離閾值取1.3倍的情況下,從不同的角度去測試,得到的結(jié)果如表3所示.
表3 不同角度閾值識別結(jié)果
表3中隨著角度的不斷增加,未作弊行為的識別率不斷下降,但可能作弊與已作弊行為識別率不斷升高,平均識別率隨著角度增加不斷增加,在80°時達(dá)到最高96.3%,85°時平均識別率減少到92.3%.雖然識別率相對最優(yōu)異的是80°的時候,但分析未作弊的錯誤識別結(jié)果發(fā)現(xiàn),它將未作弊行為識別成了作弊行為,存在未作弊行為誤檢情況,所以最終決定以75°為角度閾值.
在此選擇基礎(chǔ)距離的1.3倍和75°為閾值,將制作的數(shù)據(jù)集打亂輸入,對三種行為進(jìn)行測試,得到的測試結(jié)果如表4所示.
從表4中可以看出,數(shù)據(jù)集中的三種行為識別率都較高,未作弊行為的識別率為100%,三種行為的平均識別率為96.1%,充分證明了本方法的優(yōu)異性,能夠準(zhǔn)確判別作弊行為.具體分析可能作弊與已作弊判別識別結(jié)果,如表5所示.
表4 三種行為識別結(jié)果
表5 可能作弊與已作弊識別結(jié)果
從表5中可看出,可能作弊行為的誤判都為已作弊,從誤判圖片中分析發(fā)現(xiàn),由于人體型不同,眼睛到目標(biāo)的距離大于閾值,造成誤判情況發(fā)生;已作弊行為誤判都為可能作弊,將誤判圖片分析發(fā)現(xiàn),由于考試中前人或桌椅的遮擋,導(dǎo)致人的注視目標(biāo)無法準(zhǔn)確捕捉,只能判定為可能作弊行為.
為解決考場作弊行為左右偷看識別率低問題,本文基于attention-target-detection算法,結(jié)合人臉檢測與識別、SSD算法共同構(gòu)建了一個基于視線目標(biāo)檢測的考場作弊行為檢測,根據(jù)距離與視線角度共同判斷是否作弊,在自建模擬數(shù)據(jù)集上的測試結(jié)果優(yōu)異,但仍有不足的是可能作弊與已作弊行為判定都有誤判,筆者未來的工作將進(jìn)一步改善誤判圖片識別,并進(jìn)一步在真實數(shù)據(jù)集上進(jìn)行測評.