權巍,蔡永青,王超,宋佳,孫鴻凱,李林軒
(長春理工大學 計算機科學技術學院,吉林 長春 130013)
虛擬現實(virtual reality, VR)融合計算機圖形學、多媒體、仿真等多種技術模擬出360°虛擬環境,能夠為用戶帶來逼真、身臨其境的觀看和交互體驗,廣泛應用于工業、教育、藝術、醫學、游戲娛樂等眾多領域中.在VR體驗中極易產生頭暈、惡心、嘔吐等不適癥狀,嚴重者甚至會出現心率不齊、虛脫的情況,嚴重影響了VR技術與產業的發展.對于VR體驗中的這種不適,一些學者稱其為運動病、模擬器病、網絡病(cybersickness)、虛擬現實病(VR sickness)、視覺誘發運動病(visual induced motion sickness, VIMS)等.這些名稱存在相似之處,但不完全相同.運動病通常是指人們暴露在真實環境(如乘車、船、飛機等)下因異常運動刺激產生的不適癥狀;模擬器病是使用飛行模擬器訓練引起的一種運動病.虛擬現實病[1]特指在VR環境下由視覺誘發的病癥,也可稱為網絡病或視覺誘發運動病,屬于運動病的一種.Mccauley等[2]將體驗VR產生的不適稱為VR病或網絡病,近幾年來,越來越多的學者認同了VR病這一名稱[3-6].
準確地評估VR病是VR領域的一個重要研究內容.有許多理論試圖對VR病作出解釋,其中感官沖突理論[7]是被廣泛接受的理論.該理論認為:當眼睛看到VR畫面時,視覺系統產生運動感知,但實際上前庭系統感知到人體并沒有運動,這種視覺與前庭系統的不匹配是引起VR病最重要的因素.目前對于VR疾病的評估主要包括主觀評價法和客觀評價法.主觀評價法主要是通過人在VR體驗后填寫調查問卷,從而計算分值,評價VR的病癥程度.VR病的主觀評價主要采用Kennedy等[8]提出的模擬器病SSQ調查問卷.主觀評價方法的實施需要大量的人力物力資源,耗時長、成本高,容易受個人因素的影響.大量學者以主觀評估結果作為基準,研究VR病的客觀評價方法.
近幾年,一些學者開展了基于深度學習的VR病客觀評估方法研究,通過分析VR視頻實現病癥評估.Kim等[9]提出VR視頻序列中感知的異常運動信息(例如急轉、急加速等)會加劇運動不匹配,產生不適,基于深度卷積自編碼器實現VR病的評估.Kim等[10]基于異常運動,提出基于生成對抗網絡、長短期記憶網絡與卷積神經網絡的VR病評估模型VRSA.Lee等[11]利用3D神經網絡實現VR病的估計,輸入視頻的顯著性圖、光流圖和視差圖分別代表眼球運動、速度、深度3個特征,使用了2種數據增強技術:幀移動和像素移動,擴展了自建的數據集,使得模型更精準地預測VR病的程度.
本文提出雙流網絡VR病評估模型.模型包括2個子網絡,分別用于模擬人類視覺系統的腹側流和背側流.分別以VR視頻的彩色紋理信息及光流圖運動信息作為輸入,同時引入注意力機制,提升了病癥評估的精度.
視覺與前庭系統感知運動不匹配是導致VR體驗不適的主要原因.人類視覺系統是復雜、神奇的系統,人眼攝取原始圖像,大腦進行處理與抽象,所以VR病的形成機理復雜.Goodale等[12]的研究表明,人類的視覺系統包含2條通路:一條為負責識別物體的腹側流,另一條為負責識別運動的背側流.本文創建3D-ResNet卷積神經網絡,其中包含2個子網絡:外觀流網絡和運動流網絡.這2個子網絡分別模仿人類視覺系統的腹側流、背側流,將視頻中包含的運動信息與能夠識別物體的紋理信息分別作為輸入,以主觀評價值作為基準,利用雙流卷積神經網絡學習負責的人類視覺機制,實現VR病的評估.考慮到視頻連續幀的時序信息對視頻理解的影響,將傳統的ResNet50模型改進為3D-ResNet50模型,2個子網絡均采用該模型.網絡的總體結構如圖1所示.其中外觀流子網絡的輸入為連續RGB視頻幀,用以提取視頻中的物體、紋理、色彩等信息.運動流子網絡的輸入為相應的連續光流圖像,用以提取運動信息.2個子網絡獨立地完成VR病評估任務,通過后端融合的方式,將2個子網絡的預測結果進行融合.

圖1 基于雙流網絡的3D-ResNet VR病評估模型Fig.1 VR sickness estimation model based on 3D-ResNet two-stream network
卷積神經網絡(CNN)在計算機視覺和自然語言處理中表現出了優越的性能,傳統的CNN模型只針對2D圖像,無法提取視頻特有的時間維度的信息.使用3D CNN模型,增加一個深度通道來表示視頻中的連續幀,以此提取視頻中時間維度的信息.
采用殘差網絡(ResNet)[13],而ResNet-101網絡較深,對硬件的要求較高.使用ResNet50作為基礎網絡,將1×1的卷積擴展為1×1×1的3D卷積,具體結構如表1所示.

表1 子網絡結構Tab.1 Sub-network structure
網絡輸入為L×112×112,代表連續L幀大小為112像素×112像素的圖像序列.將所有2D卷積核擴展成3D卷積核,增加了一個深度維度,因此輸出的特征圖增加相應的時間序列信息.對輸入圖像逐層提取特征后接入全連接層,利用Softmax分類器和交叉熵損失函數完成子網絡的舒適度分類任務.
目前,多模態數據融合主要包括前端融合、中間融合和后端融合.后端融合(late-fusion),也稱為決策級融合,可以避免不同子網絡中錯誤的進一步累加,增強模型分類的魯棒性.采用后端融合的方式,將外觀流網絡和運動流網絡的Softmax輸出進行加權平均融合,平滑各子網絡結果,如下所示.
式中:T為子網絡數量;xi為對應網絡輸出的特征向量,P(xi)為VR病評估分數;wi為對應的網絡權重,
卷積神經網絡能夠提升視覺任務的性能.從AlexNet到ResNet,網絡越來越深,對特征提取的能力越來越強.在提取特征的時候,這些模型都忽略了一個影響特征的因素,即注意力.Huang等[14]提出CBAM-Resnet神經網絡,通過加入注意力機制,使得神經網絡有選擇性地接受和處理特征信息,抑制了無用信息,提高了網絡性能.
卷積注意力模塊(convolutional block attention module, CBAM)[15]基于通道和空間2個維度,能夠有效地提取圖像的重點信息,增強網絡性能.作為輕量化模塊,可以無縫地集成到ResNet架構中,用較小的參數代價,實現網絡模型性能的優化.由于卷積計算是通過混合跨通道信息和空間信息來提取特征信息,CBAM強調在通道和空間軸這2個維度中提取有意義的特征.
由于是將CBAM模塊應用到3D-ResNet模型中,考慮到深度參數的變化,將輸入特征圖命名為F3D∈RL×W×H×C,3D-CBAM依次生成通道注意力特征圖MCA∈R1×1×1×C以及空間注意力特征圖MSA∈R1×L×W×H.計算過程如下:
式中:?為逐個元素相乘;為輸入的特征圖與通道注意力圖的乘積;為空間注意力與的乘積,即3D-CBAM的最后輸出,如圖2所示.
1) 通道注意力模塊.3D-CBAM基于特征通道間的相互關系解算通道注意力圖,目的是為了尋找對于輸入特征圖有效的通道.為了提高注意力計算的效率,3D-CBAM對特征圖進行空間維度上的壓縮,結合平均池化和最大池化增強特征信息,如圖3所示.

圖3 通道注意力模塊Fig.3 Channel attention module
將輸入特征圖F3D分別利用最大池化和平均池化操作解算出2個不同的空間特征描述子:和.將和送入只包含一層隱藏層的共享多層感知機(multi layer perception, MLP)中進行逐個元素的加和處理,經過Sigmoid激活函數將輸入特征圖與生成的通道特征圖相乘,得到最后的通道與特征圖.整個過程如下所示:
式中:σ為Sigmoid激活函數;W0、W1為權重,W0∈RC/r×C,W1∈RC×C/r,W0、W1對于和是共享 的;參數r通常取16.
2) 空間注意力模塊.該模塊主要關注特征圖空間上的相互關系,是針對通道注意力模塊的補充,如圖4所示.

圖4 空間注意力模塊Fig.4 Space attention module
在3D-CBAM中對特征圖進行通道維度上的壓縮,結合平均池化和最大池化增強特征信息.根據通道維度聚合特征,將運算結果拼接成深層次的空間特征描述子.經過7×7×7的3D卷積層和Sigmoid激活函數生成空間注意力圖,整個過程如下所示:
式中: 3DAvgPool和3DMaxPool為3D最大池化和3D平均池化,f7×7×7為7×7×7的3D卷積層.
在改進的3D-ResNet50網絡中加入3D-CBAM注意力機制,如圖5所示.對于每一部分子網絡,將3D-CBAM注意力機制接入第1層卷積3D-Conv1后,在網絡的每個殘差塊后都加入注意力機制,只增加很少的參數量和計算量,就可以使得網絡更精確地學習空間表觀特征和感知運動特征,有利于提升模型的精度.

圖5 基于注意力機制的子網絡結構Fig.5 Sub-network structure based on attention mechanism
現階段能夠用于VR體驗舒適度研究的公開數據集非常有限[16].Kim等[17]使用Unity3D建立包括36個VR場景的視頻數據庫,該數據庫包含對象運動、相機運動、場景紋理等細節,但作者未公開該數據集.Padmanaban等[18]建立并公開包含主觀評分的數據集,該數據集由19個播放時長為60 s的全景立體VR視頻組成,大部分視頻的分辨率為3 840×2 160像素,幀速率為30幀/s.韓國先進科學院提供了VR視頻庫[10].該數據庫被用于研究物體運動信息對視覺舒適的影響,但不是所有的視頻都免費提供.Hell等[19]創建包含VR場景位置、速度及主觀舒適度評分的RCVR數據庫,但未公開數據集.
使用Padmanaban等[18]建立的公開數據集進行實驗,該數據集主要來自于YouTube中的360°立體視頻庫,選取年齡為19~62歲的共96名受試者進行VR體驗舒適度的主觀評估實驗.Padmanaban在實驗中通過讓受試者在觀看視頻后填寫SSQ和MSSQ-Short問卷,計算視頻的主觀評分.
根據數據集中VR視頻的主觀評分,對視頻進行分類.對VR體驗舒適度類別劃分最常用的方式是二分類和四分類[20-21].二分類形式僅僅是對用戶在進行VR體驗時是否產生不適進行評估,四分類的優勢是能夠更細致地判斷參與者的體驗感,更具有現實意義[22],因此將數據集的主觀評分按照四分類形式劃分,如表2所示.

表2 主觀評分和舒適度等級分類Tab.2 Subjective rating and comfort level classification
考慮到原始視頻數據的分辨率較大,直接應用于模型訓練會產生較大的計算成本.圖像質量的優劣往往會對評估結果造成直接影響,因此在將數據送入網絡前需要對視頻的每幀圖像進行預處理操作.該操作能夠消除視頻幀中的多余信息,使得模型需要的真實信息得以呈現,增強舒適度評估的準確性.在網絡訓練前對數據進行預處理操作: 采用標準化、圖片縮放、多尺度中心裁剪和多尺度隨機裁剪等方法,對數據進行預處理操作.1)考慮到計算成本及實驗設備參數,采用縮放的方法,使輸入圖片的分辨率歸一化到112像素×112像素.2)按照比例對視頻幀進行隨機縮放,再裁剪到112像素×112像素.3)每批次輸入的視頻幀固定為連續的16幀,每個視頻大約有110組連續幀,共19個視頻.4)采用圖像平移、旋轉、翻轉等數據增強技術擴充實驗樣本,防止過擬合,提升模型的泛化性.
實驗環境的配置信息如表3所示.在進行模型訓練時,統一輸入圖像尺寸.其中外觀流網絡的輸入為3通道×112像素×112像素的連續視頻幀,運動流網絡的輸入為2通道×112像素×112像素的連續視頻幀.

表3 測試平臺的配置信息Tab.3 Configuration information of test platform
整個訓練模型采用隨機梯度下降算法(stochastic gradient descent, SGD)進行優化,反向傳播時的權重衰減為0.001,動量因子為0.9.學習率從0.01開始,訓練至第15輪時,學習率以10-1系數減小,每訓練100次,開展一次模型驗證調整.考慮到計算機的內存和GPU利用率,采用的Batchsize大小為8,訓練120個輪次,具體參數的設定如表4所示.表中,L為采樣幀數,α為初始學習率,w為權重衰減率,β為動量因子,Emax為最大迭代次數.

表4 子網絡訓練參數的設置Tab.4 Setting of sub-network training parameters
如圖6所示分別為應用3D-ResNet50模型的外觀流和運動流2個子網絡在訓練過程中的訓練損失變化、模型驗證變化以及添加3D-CBAM注意力機制后的模型變化.圖中,L為損失,E為迭代次數,P為精度.從圖6(a)可以看出,模型的整體訓練損失在最初的迭代過程中較大,隨著迭代次數的增加,在大約10次時開始出現迅速降低的情況,并持續到30次后開始緩慢降低并逐漸趨向于0,經過120次迭代后訓練結束.與之對應,精度曲線在10次迭代前迅速提高,最后趨于穩定,精度基本上收斂于90%以上,且添加3D-CBAM后網絡精度的收斂速度更快,網絡更加穩定.從圖6(b)可知,未添加注意力機制的運動流網絡雖然訓練誤差不斷減小,但始終處于較大的值域內,在網絡中添加3D-CBAM后損失顯著降低.添加注意力機制的模型的精度和收斂速度高于未添加注意力機制的模型,這表明通過添加3D-CBAM注意力機制可以有效地提高網絡性能與VR病的預測準確性.

圖6 模型的損失曲線與精確度曲線Fig.6 Loss curves and accuracy curves of model
總體來看,整個模型在訓練過程中損失雖然會出現不同幅度的振蕩,但會隨著訓練次數的增加而不斷減小并趨向于0.在精確度曲線中,隨著訓練次數的增加,模型驗證精度逐漸增加.可以發現,運動流網絡的訓練損失和精確度明顯差于外觀流網絡.原始的RGB圖像中包含了更多的細節信息,使得網絡提取的特征更準確,而稠密光流圖雖然能夠直觀地表現視頻序列中的運動信息,但對于自然場景下VR病的估計精度不高.在基于卷積神經網絡的VR病估計中不應僅考慮運動流網絡,本文使用雙流網絡是恰當且非常必要的.
未添加注意力機制子網絡的參數量為46 237 032,添加注意力機制后子網絡的參數量為51 250 085.結合表5可知,本網絡沒有增加太多的參數量,有效地提高了網絡性能.

表5 Padmanabar模型精度的對比Tab.5 Comparison of Padmanabar model accuracy
利用Grad-CAM方法[23],將外觀流網絡中最后一層卷積所提取的特征進行可視化,如圖7所示.

圖7 3D-CBAM注意力可視化Fig.7 3D-CBAM attention visualization
圖7中,第1行為原始的輸入圖像,第2行為加入注意力機制后的網絡特征可視化圖像,展示了網絡所認定的預測重要區域.通過與實際人眼觀看的主要區域相比,添加3D-CBAM注意力機制后模型預測的重要區域與人眼觀看的目標對象區域基本一致,聚焦于圖像中的物體.這證明添加3D-CBAM模塊后網絡不僅感知到了圖中的關鍵信息,而且抑制了其他冗余的無用信息,能夠提取輸入圖像的關鍵特征,提高了模型預測的準確性.
對VR病評估模型的測試精度進行匯總,精度的定義如下:
式中:Ncor為預測正確的樣本數,Ntot為樣本總數.
結果如表5所示.表中,N為參數量,t為模型運行時間.可知,在外觀流網絡和運動流網絡中添加3D-CBAM模塊后,精度分別達到89.6%和82.9%,比未添加注意力模塊的精度相應提高了1.7%和3.6%,說明視頻的特征信息被3D-CBAM模塊更充分地提取與學習.
目前,本領域缺乏其他統一公開的數據集,本文與領域內近兩年評估精度較高的文獻進行對比,如表5所示.Garcia-Agundez等[24]測量受試者在進行VR體驗時的線速度、角速度與加速度等信息,通過SSQ調查問卷得分將體驗舒適度分別劃分為二分類和三分類,利用SVM模型預測體驗舒適度的精度分別為81.8%和58%.Shahid等[25]采用相同的四分類方式對SSQ主觀評分進行分類,通過視頻內容類型、攝像機運動特征進行人工神經網絡(ANN)建模,對VR病進行預測,精確度最終達到90%.利用外觀流網絡和運動流網絡融合的方式,使得網絡模型重點關注圖像的顯著特征,融合后的網絡模型精度提高到93.7%.
本文提出VR病評估模型,將傳統的2D-Res-Net50網絡改進為3D-ResNet50,模仿人類視覺系統的2條通路,建立外觀流和運動流2個子網絡,同時融入了3D形式的通道注意力和空間注意力機制.實驗結果表明,利用該模型提升了評估網絡的性能,提高了預測精度.
在未來的研究中,將開展立體深度信息對VR病影響的研究,計劃將眼動、頭部、生理信號等信息加入評估模型進行多模態訓練,提升評估模型的準確性.