柴 旭,方 明,2,付飛蚺,邵 楨
1.長春理工大學(xué) 計算機科學(xué)技術(shù)學(xué)院,長春130022
2.長春理工大學(xué) 人工智能學(xué)院,長春130022
分析監(jiān)控攝像頭采集的視頻數(shù)據(jù),對于各種應(yīng)用場景下的異常行為監(jiān)控具有重要作用。例如對犯罪分子的快速搜索和追蹤、各類安全檢測、指定位置的物品丟失、違章停車等[1]。其基本思想是運用計算機視覺技術(shù)從視頻圖像序列中進行目標提取、識別和分析并對其行為進行描述和理解,從而發(fā)現(xiàn)特定行為,并做出相應(yīng)的應(yīng)對措施[2-3]??紙鲋械囊曨l監(jiān)控目的是輔助監(jiān)考人員發(fā)現(xiàn)考場中的各類異常行為。然而,考場中的監(jiān)控攝像頭往往設(shè)置在房間的一角,視場內(nèi)的人員也較密集,這對基于傳統(tǒng)方法的視頻行為分析帶來很大的挑戰(zhàn)。基于深度學(xué)習(xí)的方法能夠?qū)@些不良因素有一定的魯棒性,但是考生異常行為發(fā)生頻率較低,訓(xùn)練中正樣本遠少于負樣本,數(shù)據(jù)的收集、標注也比較困難[4-7]。
針對考場環(huán)境的研究,部分學(xué)者已經(jīng)做了大量工作。藺永政等人[8]提出的考場作弊行為檢測方法,通過背景減除法獲取考場中考生的運動圖像,再采用迭代閾值法確定分割的最優(yōu)閾值,以此完成考場中考生作弊行為的檢測。但是由于背景減除法對于環(huán)境的要求和依賴性比較高,因此很難對異常動作進行較精準的判別。Cai 等人[9]提出采用深度學(xué)習(xí)技術(shù)對考生異常行為進行檢測。首先利用三維卷積提取視頻中考生的運動特征,對得到的特征進行網(wǎng)絡(luò)模型的訓(xùn)練,當訓(xùn)練完成后,采用該模型進行考場異常行為檢測,該方法中對較小幅度的異常動作識別率不高。
近幾年,隨著計算機視覺領(lǐng)域的不斷發(fā)展,頭部姿態(tài)估計[10]、視線估計[11-12]等方向也有了新的進展。其中Recasens 等人[13]提出了一種基于雙路徑的深度神經(jīng)網(wǎng)絡(luò)注視跟蹤方法,該網(wǎng)絡(luò)結(jié)構(gòu)將頭部特征和頭部位置與場景內(nèi)容結(jié)合起來進行訓(xùn)練,然而該方法對數(shù)據(jù)集中包含的信息類別要求較高,且容易受到場景內(nèi)無關(guān)顯著性特征影響。Recasens 等人[14]提出一種視頻中視線估計方法,在上述模型中加入了路徑轉(zhuǎn)換用于將目標幀與源幀相結(jié)合,經(jīng)注視估計路徑得出預(yù)測的注視位置。Masse 等人[15]利用眼睛的注視與頭部運動的相關(guān)性,在結(jié)合貝葉斯模型進行注視跟蹤。但是此方法運算復(fù)雜度高,計算量大。Fan 等人[16]提出一種社交場景視頻中的共享注意力推斷算法,主要針對兩人或兩人以上的個體同時進行視線估計,預(yù)測出人們共同關(guān)注的目標。此算法并沒有完全地解決視頻中人們共同關(guān)注推斷任務(wù)。Chong等人[17]在上述模型基礎(chǔ)上引入多任務(wù)學(xué)習(xí)框架,在頭部圖像特征提取的路徑后又加入俯仰角損失、偏航角損失來約束視線方向。然后對顯著性特征圖與視線方向進行融合得到預(yù)測的顯著性特征圖,最后計算預(yù)測顯著性特征圖與真實值的損失。Lian 等人[18]根據(jù)人們第三視角位置判斷注視點的行為方式,提出一種單路徑的視線估計方法。其過程是,通過頭部圖像推斷出注視方向,再由注視方向上的場景內(nèi)容估計出注視點。此方法相比其他視線估計方法在性能上有很大的提升,但其在復(fù)雜場景下視線估計時仍會嚴重受到場景中無關(guān)顯著性特征的影響。
顯然,視線估計方法對考生的頭部行為特征檢測適用性強,能對考場環(huán)境中考生左顧右盼、前后扭頭等行為進行精準檢測和分析,但多數(shù)方法均采用場景內(nèi)顯著性特征作為注視點位置的判斷依據(jù)。由考場的復(fù)雜性決定,場景中的顯著性特征區(qū)域未必是考生注視區(qū)域。本文參照現(xiàn)實中監(jiān)考人員發(fā)現(xiàn)考生作弊行為的思維過程,提出一種考場環(huán)境中視線估計方法。通過多個場景的實驗結(jié)果表明,應(yīng)用該模型有效抑制了多數(shù)方法對數(shù)據(jù)集信息種類及場景內(nèi)無關(guān)顯著性特征的干擾問題。促進了視線估計領(lǐng)域的發(fā)展,為考場異常行為分析提供新思路。
生成對抗網(wǎng)絡(luò)(GAN)[19]的思想是同時擬合兩個概率分布,第一個為生成器,將樣本從簡單的分布轉(zhuǎn)換為更為復(fù)雜的分布,例如,把高斯分布的噪聲轉(zhuǎn)換成圖像。第二個為鑒別器,用來區(qū)分真實分布的樣本和生成的樣本。
本文算法借鑒這種模式,但與上述模式有重要的區(qū)別。首先,為了包含圖像中更多的視線特征信息,采用注視向量的形式表示視線,同時,這樣還能更好地突出視線的大小和方向。其次,目標是從頭部圖像中生成出“真實”的注視向量。因此,生成器的輸入是圖像而不是隨機噪聲,其網(wǎng)絡(luò)結(jié)構(gòu)也不同。最后,鑒別器的輸入分為兩類,第一類為真實注視向量和頭部圖像,第二類為生成注視向量和頭部圖像,設(shè)計鑒別器結(jié)構(gòu)為“雙路并一路”;這樣不僅使生成注視向量與真實注視向量變的不可區(qū)分,而且能讓生成注視向量與對應(yīng)頭部圖像中的視線方向更為一致。
本文中真實注視向量T(S,θR)是指考生實際的視線,生成注視向量G(S,θR)是指生成出的視線,兩種向量均包含兩部分。第一部分是考場中考生注視位置到此考生頭部位置的距離(記為S),為注視向量的大??;第二部分是注視向量與水平方向夾角的角度,表示注視向量的方向(記為θR,為弧度)。如圖1 所示。假設(shè)點L=(xL,yL) 為考生的注視位置,考生的頭部位置為H=(xH,yH) ,考生的真實注視向量中S與θR由公式(1)、(2)計算得出。
圖1 注視向量示意圖
考生視線估計模型由生成器(Generator)、視線合成模塊(HG)和鑒別器(Discriminator)組成,網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。其中將考場中考生的頭部圖像(Headimage)作為生成器的輸入,將考生的頭部位置與注視位置輸入到合成模塊得到真實注視向量T(S,θR),然后把真實注視向量T(S,θR)與頭部圖像作為一類,生成器生成的注視向量G(S,θR)與頭部圖像作為另一類,分別把兩類輸入到鑒別器中,該網(wǎng)絡(luò)模型整體為端到端結(jié)構(gòu)。在訓(xùn)練過程中,使生成器與鑒別器形成生成對抗模式,得到可以生成真實注視向量的生成器模型。
圖2 視線估計網(wǎng)絡(luò)架構(gòu)
為了更好地表示視線的大小和方向,減少圖像中視線的信息損失,設(shè)計視線合成模塊(HG)主要采用公式(1)、(2)對頭部位置和注視位置進行計算得到真實的注視向量T(S,θR) ,然后把T(S,θR) 輸入到鑒別器(Discriminator)。
生成注視向量G(S,θR)中S、θR由生成器(Generator)產(chǎn)生,本文生成器模型結(jié)構(gòu)如圖2 所示。前五層由3×3 卷積核、BatchNorm2d 層、LeakyReLU 激活函數(shù)及MaxPool 層組成,最后一層為Linear 層。該結(jié)構(gòu)用于生成注視向量。輸入圖像為3 通道、大小為48×48。經(jīng)過一次3×3卷積和池化后,得到特征圖的大小為24×24,同時特征圖的通道數(shù)增加到16;第二次卷積、池化后通道數(shù)為32,特征圖大小為12×12;第三次后通道數(shù)增加為64,特征圖大小降為6×6;第四次通道數(shù)沒有變換,特征圖大小減小到3×3;第五次后通道數(shù)為128,大小為1×1。最后經(jīng)過Linear 層輸出G(S,θR)。為了防止梯度消失或梯度爆炸,采用BatchNorm2d進行歸一化處理。具體的網(wǎng)絡(luò)模型參數(shù)如表1所示。
表1 生成器網(wǎng)絡(luò)參數(shù)
鑒別器(Discriminator)網(wǎng)絡(luò)結(jié)構(gòu)共分為三部分,第一部分的設(shè)計是為提取頭部圖像中視線特征,其結(jié)構(gòu)與生成器類似。為擴增G(S,θR)或T(S,θR)的大小,設(shè)計第二部分網(wǎng)絡(luò)為三層,每層由Linear層、Dropout和Leaky-ReLU激活函數(shù)組成。上述兩部分均輸出一個256的一維向量。第三部分的設(shè)計是為輸出真假的概率,首先是對兩個256 向量的拼接,后經(jīng)由Linear 層、Dropout 和LeakyReLU激活函數(shù)組成的兩層,得到一個128的一維向量,最后一層由Linear 層、Dropout 和Sigmoid 激活函數(shù)組成,如圖2 所示。為了有效防止模型過擬合,采用Dropout方法暫時丟棄一部分神經(jīng)元。在最后一層采用Sigmoid 函數(shù),它的輸出范圍是0 到1 之間,用于概率的輸出。模型參數(shù)如表2所示。
表2 鑒別器網(wǎng)絡(luò)參數(shù)
生成器損失如公式(3)所示:
其中,D表示鑒別器,G表示生成注視向量,I表示頭部圖像。L表示二元交叉熵損失函數(shù),1 表示真實樣本標簽,0表示生成樣本標簽。這里希望生成器生成的數(shù)據(jù)越來越真實,所以在L(D(I,G),1)中標簽值取1。
鑒別器損失如公式(4)所示:
4.1.2 噴氣燃料冰點和結(jié)晶點檢測重復(fù)性 對噴氣燃料冰點和結(jié)晶點的檢測結(jié)果重復(fù)性進行考察時,采用與柴油凝點檢測相同的試驗條件。研究過程中對長嶺噴氣燃料進行了4次重復(fù)性檢測試驗,結(jié)果見表9。
公式(4)中D、I、G、L與公式(3)中代表的含義相同,T表示真實注視向量。D(I,G)表示欺騙鑒別器的概率,鑒別器要區(qū)分出生成注視向量和真實注視向量,所以在L(D(I,T),1)中標簽值取1,L(D(I,G),0)中標簽值取0。
為了驗證算法在考場環(huán)境下的有效性,本文制作一個基于模擬考場的考生數(shù)據(jù)集。數(shù)據(jù)集中包含了25名考生志愿者和1 名監(jiān)考教師。他們在考場環(huán)境中進行模擬考試,考生志愿者的動作分為扭頭查看他人試卷、認真答題、觀看教室中其他位置;其中作弊動作為扭頭查看他人試卷,另外兩個為正常動作。監(jiān)考教師的動作是巡視考場發(fā)現(xiàn)考生作弊行為進行制止。在數(shù)據(jù)集標注過程中,根據(jù)每位志愿者對自己當時實際注視方向的描述標注出他們的注視點位置,確保數(shù)據(jù)的標注更具有真實性和可靠性。
隨后,對監(jiān)控圖像通過Yolov3[20]進行頭部檢測,獲得頭部圖像及頭部坐標點;配合標注好的考生注視點,獲得一個包含監(jiān)控圖像(Image)、頭部圖像(Head image)、頭部位置(xH,yH)、注視位置(xL,yL)的數(shù)據(jù)單元。其中監(jiān)控圖像、頭部圖像如圖3(a)、(b)所示,頭部位置、注視位置可參考圖1。本文數(shù)據(jù)集由2 000 個數(shù)據(jù)單元組成,其中訓(xùn)練集為1 800個,測試集為200個。
圖3 數(shù)據(jù)集部分展示
實驗環(huán)境為:NVIDIA GTX1060,Ubuntu18.04,CUDA10.1,Python3.7,Anaconda,Pytorch深度學(xué)習(xí)框架。
訓(xùn)練時,考生視線估計模型輸入頭部圖像(Headimage)大小為48×48,訓(xùn)練次數(shù)(Epoch)設(shè)為300,每次處理64 個數(shù)據(jù)單元(Batch size=64)。由于網(wǎng)絡(luò)模型為端到端結(jié)構(gòu),當網(wǎng)絡(luò)訓(xùn)練完成后,只需要輸入頭部圖像經(jīng)過生成器就可以得到近似于真實的注視向量。
訓(xùn)練完成后,利用測試集對其進行有效性評估。該評估共分為兩部分,第一部分驗證所提方法在考場環(huán)境的有效性。第二部分是與視線估計方法針對考場環(huán)境進行比較。
根據(jù)真實注視向量T(S,θR)與生成注視向量G(S,θR)的夾角,對本文算法進行評估,如公式(5)所示。首先,根據(jù)G(S,θR)求出生成的注視點坐標;然后,把真實注視點坐標、頭部坐標、生成注視點坐標代入公式(5)計算出夾角的弧度值α,以此評估算法的性能。顯然,α值越小算法性能越優(yōu)。
首先,對損失情況進行分析,找出最優(yōu)權(quán)重大致所在的范圍,然后,針對不同的權(quán)重對算法進行評估。損失曲線如圖4所示。
圖4 損失曲線
圖4 中L_D 表示鑒別器損失(初始縱坐標為0 的曲線),L_G 表示生成器損失(初始縱坐標為3.5 的曲線)。從中可以發(fā)現(xiàn)Epoch在[0,130]范圍時,生成器損失下降比較快,浮動較大,鑒別器損失呈現(xiàn)平穩(wěn)且緩慢的上升趨勢。當Epoch逐漸增大時,生成器損失下降緩慢并且震蕩幅度減小,鑒別器損失也為下降趨勢,但幅度很小。在[150,250]范圍內(nèi)鑒別器損失、生成器損失處于逐漸趨于收斂的情況,Epoch 在250 次以后生成器損失與鑒別器損失幾乎重合到一起,均沒有出現(xiàn)大幅度的波動,其生成對抗模式接近最優(yōu)。綜上,可以確定Epoch在[0,130]范圍時模型沒有收斂,所對應(yīng)的權(quán)重不是最優(yōu)。然后,對Epoch從130到290的權(quán)重進行驗證,找出其中的最優(yōu)權(quán)重,分析模型的整體情況是否出現(xiàn)過擬合。
根據(jù)上述分析,針對不同Epoch 所對應(yīng)的權(quán)重,在測試集進行算法驗證。統(tǒng)計出α的最小值、最大值、平均值,測試集總數(shù)為200,具體如表3所示。
表3 不同權(quán)重算法性能情況
根據(jù)表3 中數(shù)據(jù)表明,隨著Epoch 的增加α的平均值整體呈下降趨勢,其中也有異常值出現(xiàn),但對整體影響不大,說明模型沒有發(fā)生過擬合。α的最小值、最大值、平均值均為值越小算法性能越優(yōu),模型的表現(xiàn)越好,在Epoch為270時對應(yīng)的權(quán)重最優(yōu),算法表現(xiàn)最好,α平均值為0.236 rad,最大值為0.443 rad,最小值為0.021 rad,綜合分析可知,本文考生視線估計模型生成注視向量與真實注視向量之間偏差較小,在考場環(huán)境下是有效的。
圖5(a)是模擬考場環(huán)境下考生視線估計情況,其中,紅線(淺灰)表示的是生成注視向量,黃線(明亮)表示的是真實注視向量。左側(cè)第一幅圖像為攝像頭在右上角情況,左側(cè)第二幅圖像為攝像頭在左上角情況,右側(cè)第一幅圖像為攝像頭在正前方情況,右側(cè)第二幅圖像為攝像頭在左上角情況。從中可以發(fā)現(xiàn)在不同視角下的頭部圖像,經(jīng)本文生成器輸出的生成注視向量與真實注視向量之間角度誤差較小,算法整體效果較好。也說明了本文采用5 個3×3 卷積層與LeakyReLU 激活函數(shù)組成的生成器,能提取更為豐富的特征,同時,也增加了網(wǎng)絡(luò)的非線性表達能力,有效減少了生成注視向量中視線信息的損失,使生成的生成注視向量更為真實。
圖5(a)中4幅監(jiān)控圖像中均存在一些遮擋情況,很難獲取考生的面部特征以提取視線。此類難題最能體現(xiàn)出本文算法的優(yōu)勢。其中,提出視線合成模塊來得到真實注視向量,將其作為真實數(shù)據(jù)輸入到鑒別器中,以此來更好地訓(xùn)練生成器模型。設(shè)計鑒別器的兩類輸入分別為:真實注視向量和頭部圖像組成的真實數(shù)據(jù),生成注視向量和頭部圖像組成的生成數(shù)據(jù)。此結(jié)構(gòu)相比其他單輸入的鑒別器,增加了頭部圖像處理部分,以此來增加視線特征。同時,也增加了網(wǎng)絡(luò)深度,提升了網(wǎng)絡(luò)非線性表達能力。通過這種方法來提高鑒別器判別真實數(shù)據(jù)和生成數(shù)據(jù)的能力,促使生成器產(chǎn)生更接近真實視線的生成注視向量。通過上述的改進,即使頭部圖像中存在一些遮擋情況,生成器也能生成出與實際視線最為接近的生成注視向量。從圖中可以發(fā)現(xiàn),大部分生成注視向量與真實值較為接近,整體誤差情況較小,證明本文算法能有效解決此類難題,也說明了模型具有較好的魯棒性。但是不排除有一些與真實值偏差較大的情況發(fā)生。
為了更好地觀察和分析出現(xiàn)偏差的原因,單獨對不同方向的視線進行整理,隨機選出其中的27張照片,如圖5(b)所示,共分為視線向右、視線向下、視線向左三個方向。圖中可以看出,第一排視線朝右和第三排視線朝左時的整體偏差無法穩(wěn)定在一定的范圍內(nèi),第一排最后三張圖像視線估計偏差較大,最后一張圖像基本上沒有面部特征信息,雖然偏差較大,但是方向朝向與實際視線方向基本上相同,第三排5、7、8、9這四張圖像中視線估計也存在偏差較大的情況。第二排視線向下的情況優(yōu)于其余兩排,整體偏差較小。
通過調(diào)查分析得出,偏差較大的情況主要是由于標注真實注視點位置時,每個人認為的注視位置不同,從而導(dǎo)致真實視線方向各有不同,因此會產(chǎn)生標注誤差。
2.2.2 算法比較
為了進一步評估算法在考場視線估計中的性能,基于自制考場數(shù)據(jù)集將本文算法與SVM+shift grid[13]、Recasens[13]、Lian 等人[18]提出的算法進行對比,如表4 所示。Lian等人的算法具體為:首先通過頭部圖像預(yù)測出視線方向,生成多尺度視線方向場,然后將多尺度視線方向場與圖像內(nèi)容結(jié)合生成顯著性特征,以此預(yù)測出注視位置。
圖5 模擬考場考生視線估計情況(黃線:真實注視向量,紅線:生成注視向量)
表4 算法評估指標
評估算法性能時采用AUC、Dist、MDist、Ang、MAng等指標[18]。AUC表示ROC曲線下面積,其值越接近1算法性能越優(yōu),最大值為1;Dist為預(yù)測注視點與真實注視點之間歐幾里得距離的平均值,其值越小算法性能越好;MDist是預(yù)測注視點與真實注視點歐幾里得距離的最小值;Dist與MDist中先對圖像進行歸一化;Ang表示預(yù)測注視向量與真實注視向量之間角度誤差平均值;MAng 為預(yù)測注視向量與真實注視向量之間角度的最小值;Ang和MAng的單位均為弧度(rad)。
由表4 可知,本文算法在AUC、Dist、Ang 指標上優(yōu)于對比算法,其中在Ang指標上本文算法比Lian等人算法減少了0.059 rad,Dist 其值越小算法越優(yōu)。在考場環(huán)境中本文算法優(yōu)于所對比的幾種算法。
圖6是兩個算法的效果對比圖,左側(cè)列為Lian算法結(jié)果,右側(cè)列為本文算法結(jié)果。藍線(深黑)表示的是Lian算法預(yù)測的注視向量,黃線(明亮)表示的是真實注視向量,紅線(淺灰)表示的是本文算法生成的注視向量。從圖中可以直觀地發(fā)現(xiàn)左側(cè)列中黃色線與藍色線夾角偏大的居多,有的黃色線與藍色線成兩個相反方向,誤差較大的情況居多。左側(cè)圖一中由左至右第一排中兩名考生均為誤差較大的情況,第一名考生的視線估計情況誤差最大,預(yù)測視線與實際視線成兩個相反方向,第二名考生的注視區(qū)域為第二排第二名考生所在區(qū)域,預(yù)測區(qū)域與實際情況不符。同一環(huán)境中右側(cè)圖一中這兩名考生的視線估計情況誤差均很小。因此本文算法優(yōu)于Lian 算法,對Lian 算法中誤判情況進行如下分析。
圖6 視線估計對比情況(左:Lian算法,右:本文算法)
圖7 Lian算法誤判情況(左:視線估計,右:顯著性特征)
在圖7(a)左側(cè)中第二排第一名考生,該考生的實際視線為黃線(明亮),預(yù)測的視線為藍線(深黑)。在圖7(a)右側(cè)顯著性部分中白色區(qū)域表示的是該考生注視的顯著性特征,顯著性特征的區(qū)域是該考生自己桌面的答題區(qū)域,而實際注視區(qū)域是他人桌面。此算法對考生進行視線估計時容易受到場景中其他顯著性特征的影響,如其他考生、考場中的桌椅、考生的文具等。在復(fù)雜的考場情況下,顯著性特征有時會干擾視線估計的準確性,因此會造成誤判。圖7(b)中誤判情況與上面基本一致,顯著性特征定位的區(qū)域是照片中粉色書包所在的最后一排,實際的注視位置是在自己桌面上的試卷區(qū)域,預(yù)測視線與實際視線成兩個相反方向。可以得出此算法對考生進行視線估計時容易受到場景中無關(guān)顯著性特征的干擾。
上述實驗證明了本文算法在考場環(huán)境的有效性,也驗證了本文算法能有效避免無關(guān)顯著性特征造成的誤判情況,在AUC、Dist、Ang評價指標上優(yōu)于目前幾種視線估計算法。綜上,說明本文算法具有魯棒性。
文中提出的考場視線估計方法,采用注視向量與生成對抗模式相結(jié)合進行考場視線估計。實驗結(jié)果表明,可以有效地減少人工篩查的工作量。該算法為解決考場環(huán)境下異常行為檢測問題提供了新的思路。極大地促進了視線估計領(lǐng)域的發(fā)展。
實驗結(jié)果證明:在考場數(shù)據(jù)集中本文算法優(yōu)于所對比的幾種算法,其中與Lian 等人算法相比Ang(Angular error)和Dist(Euclidean distance)指標上分別有效降低了20.3%和8.0%,AUC(Area Under Curve)提升了2.6%。
經(jīng)實驗證明本文算法在考場環(huán)境下具有魯棒性、有效性,基本上達到了預(yù)期目標,但還有一些不足之處。例如,生成注視向量與真實注視向量還是有一些偏差,主要體現(xiàn)在視線的大小(長短)方面。人為標注的問題。缺少對于考生膚色問題的研究,比如黑人考生的頭部圖像。
未來的研究將以解決上述問題為主,并將本文算法應(yīng)用于考生異常行為檢測中。同時也將展開針對人與人之間互相交流時視線情況的研究。