陳冰萸
(杭州電子科技大學計算機學院,浙江 杭州 310018)
近年來,我國政府重視維護殘疾人權益的工作,并大力推進信息無障礙建設,例如為殘疾人提供帶有語音及文字提示的信息交流服務,如影視節目手語播報、公共圖書館無障礙設施和殘疾人公益組織等。如果這些工作都由人力完成,則成本高,且遠遠不能滿足需求。因此,借助計算機技術進行突破成為了無障礙建設的重點任務。
在計算機視覺領域,視頻描述這一技術的重要性日益突顯出來。其能夠用于視頻標題生成、視頻字幕生成、視頻分類、內容檢索及個性化推薦等方面。而在無障礙建設領域,視頻描述能夠輔助視障人士的日常生活,例如輔助日常出行、物品辨別等場景。
本文以現有的一些網絡模型為基礎,運用近年來影響較深的注意力機制,結合緩沖區、多進程的系統設計,設計出一種基于PyTorch Mobile 框架的在線視頻描述系統,將科技作為視障人士的“眼”,為他們的日常生活帶去便利。
受圖像描述技術的啟發,目前視頻描述技術經常使用編碼器-解碼器(Encoder-Decoder)框架?,F有的視頻描述模型通常使用卷積神經網絡(Convolutional Neural Networks,CNN),或遞歸神經網絡(Recurrent Neural Networks,RNN)作為編碼器,對視頻進行編碼,并使用RNN 作為解碼器對視頻進行解碼,使視頻信息通過其他形式和載體呈現出來。
針對如何充分利用視頻信息,生成更貼近場景需求、更準確的描述結果的問題,近十年來學術界提出了很多可實現的解決方案。目前的視頻描述模型通過使用注意力機制整合視頻幀的特征,或采用層次循環編碼器、屬性增強反編碼器、多模態記憶和重構損失等方法,來提高生成的描述質量。雖然這些方法使視頻描述技術快速發展,但它們僅限于用一句話描述一段離線視頻,使用情景較為局限。因此,Yu等人提出了一種分層遞歸神經網絡,它能夠把較長的視頻轉化為文字描述,使視頻描述技術在工業界發展成為可能;而Xiong等人提出了一種基于事件的段落生成方法,系統中包含一個事件選擇模塊,用于選擇某個事件參與到描述生成的過程中去,由此實現對多個事件的描述,拓寬視頻描述的應用情景。
而對于實時作業,動作檢測、目標識別的研究開始得較早。實現實時目標識別較為簡單,目標識別系統可以從實時視頻幀中定時采幀,并對該特定幀進行分析;動作檢測需要針對一個區間的視頻幀,即一個短視頻進行分析,與視頻描述所需的場景較為貼合。而動作檢測需要針對一個區間的視頻幀,即一個短視頻進行分析,與視頻描述所需的場景較為貼合。由Mohammadreza 在2018 年提出一種ECO 系統結構,該結構通過維護兩個隊列,分別用于維護當前視頻幀和歷史視頻幀,在保證視頻幀的充分利用的同時極大地提高了系統的運行速度,很適合用于視頻描述系統中。
本文的實時系統即是基于ECO 模型的基礎上加以改進,結合多層注意機制和雙層解碼器技術,自主研發了一種能夠將在線視頻轉化為符合語法規范且能夠準確反映視頻內容的描述的視頻描述系統。
為使系統能夠貼合目標群體的需求,達到滿意的效果,本系統的開發分理論設計,編程實現,模型訓練及調優和架構效果驗證,共四個步驟(如圖1)。其中,考慮到視障人群日常使用需要不斷獲得信息反饋,視頻時長較長,且有多個使用場景,系統的描述生成模塊同時包括視覺注意模塊和文本注意模塊,以保證視頻的視覺特征及描述的文本特征能夠被充分挖掘,且能夠突出其重點部分,使用戶能對所反映的事物有更準確的認識。

圖1 技術框架圖
項目模型使用目前最大的視頻描述數據集MSVD 數據集作為訓練集及測試集,樣本劃分為8:2。在訓練過程中,以CIDER1~4 作為模型當前訓練程度的評估指標,不斷調整模型的梯度、學習率等參數,直至評估指標達到收斂,表示模型訓練完成。架構效果驗證時,針對系統的兩種視頻獲取方式,需要從描述準確度、實時性、系統可運行時間、多場景下的系統魯棒性等方面著手。
2.2.1 Nginx-Rtmp-Module流媒體服務器
Nginx 本身是非常出色的HTTP 服務器,FFMPEG是非常好的音視頻解決方案。通過Nginx-Rtmp-Module 模塊可將兩者組合在一起,搭建成一個功能較為完善的流媒體服務器,以支持RTMP 和LHS(LiveHTTPStream)。
本系統將該模塊整合到手機系統(以iOS 系統為例)APP 中,當在手機APP 開啟視頻識別功能的時候,APP 調用手機攝像頭拍攝視頻信息,Nginx-Rtmp-Module流媒體服務器則會將其推流至服務器中。
2.2.2 OpenCV庫
OpenCV 庫是一個基于BSD 許可發行的跨平臺計算機視覺和機器學習軟件庫,它主要用于圖像處理、計算機視覺、模式識別、物體識別(人臉識別、對象識別)等領域。如圖2所示,本系統中,OpenCV庫會每隔四秒,將接收到的視頻流轉化為MP4 格式的視頻,并輸入到視頻描述模型中。

圖2 技術路線圖
2.2.3 Video Captioning模型
視頻描述模型,即技術框架中的描述生成模塊。其輸入為MP4 格式視頻,輸出為一句對輸入視頻的描述。本系統將視頻描述模型部署在云服務器中,它會接受由OpenCV 庫生成的MP4 視頻作為輸入。在其運行前,只需要在后臺設置時間戳為四秒,即可使得視頻描述模型能夠自動每隔四秒讀取一次視頻文件,并生成相應描述輸出。
2.2.4 iOS手機系統語音庫
iOS 手機系統自iOS7.0 以來就支持文本轉語音功能(TextToSpeech),iOS 手機開發者可以通過該功能將文字轉為語音輸出。在本系統中,當視頻描述模型生成了視頻描述后,iOS 手機APP 即可從服務區獲取該描述語句,并通過iOS 手機系統自帶的文本轉語音功能將其由文字轉為語音輸送出,傳達給使用者,完成一個周期的視頻描述。
本系統通過維護兩個緩沖器(隊列結構),實現對實時視頻幀的接收、選取并合成視頻的操作。在每個存儲周期中,其中一個緩沖器(緩沖器A)用于存放當前新接收的16 幀視頻幀,而另一個(緩沖器B)用于存放上一周期選取出的16 幀視頻幀。當設置的四秒接收時間結束后,系統會從緩沖器B 中任意取出4 幀,從緩存器A 中任意取出12 幀,并將從B 中取出的歷史視頻幀放在前面,得到新的16幀視頻幀。
對應于系統技術路線,Nginx 流媒體服務器會將此16 幀推至OpenCV 庫中,并由OpenCV 庫將其轉化為MP4 視頻。同時,將緩沖器B 清空,并將此次選出的16 幀放入B 中,作為下一周期的歷史視頻幀。這樣,既能保證每一階段的輸入視頻大部分是當前的內容,又保留了部分歷史信息,使得最后的輸出內容的前后連貫性提升。
針對每個周期從OpenCV 庫中得到的16 幀視頻,視頻描述模型會分別提取其空間特征(二維靜態特征)和時間特征(三維動態特征),以充分挖掘其畫面、動作信息。
如圖3 所示,本系統使用I2D 卷積網絡,對每一個視頻幀提取空間特征,該空間特征可以體現視頻幀中對象的特征。通過I2D 卷積網絡,可以得到每一幀的特征f∈R,最后將16 幀的空間特征進行拼接,得到完整的視頻空間特征F∈R。此外,本系統采用C3D 卷積網絡對該16 幀視頻提取其三維時間特征。C3D 卷積網絡由三維卷積層、池化層及全連接層組成。通過C3D 卷積網絡可以得到視頻的時間特征M∈R,該特征包括了視頻本身的時序信息,即動態信息。

圖3 實時視頻接受及其特征提取
根據人的視覺特性,當人在看一個畫面時,往往更關注畫面中最重要的對象或位置,注意力機制即是模擬了人類視覺的這一特征。
通過注意力機制,系統可以在訓練完成后,對視頻的特征生成權重分布,主體對象會得到更高的權值;然后再將視覺特征按權相加,整合得到最終的視覺特征。本系統的視覺注意模塊分為兩層,第一層為Region-LevelAttention,其可以學習關注每幀中最顯著的區域;第二層為Frame-LevelAttention,可以關注與視覺信息最相關的幀。兩層視覺注意模塊的設計不僅能夠自動聚焦于最相關的幀以及每幀中的顯著區域,也能保持幀內的結構信息和幀間的平滑性。
此外,本系統還設計了文本注意模塊。相比傳統的Word-LevelAttention,本系統采用Phrase-LevelAttention。與視覺注意模塊的作用相似,文本注意模塊可以自動關注到當前生成詞的前三個單詞,再從該短語級前綴中自動關注到最有用的內容,從而提高生成描述的準確率。
本系統選用長短期記憶網絡(Long Short Term Memory,LSTM)作為解碼器,即描述生成器。如圖4所示。LSTM 能夠通過隱藏門自動且隱式地保存每一節點的部分信息,作為下一時間步的歷史信息,故LSTM 相較于普通RNN 等解碼器,能夠挖掘到跨度更大的視覺特征,符合本系統使用場景的需求。

圖4 描述生成模塊
另外,本系統額外設置“平衡門”機制。在普通模型中,視覺特征和文本特征的權重比例大多是認為固定的,故本系統中額外設置了平衡門。令視覺特征的權重值為λ,則文本特征的權重值為1-λ,在訓練時即可得到該視頻描述模型的λ值。
系統將MSVD 數據集作為訓練集,不斷優化調整模型參數,直至模型能夠在數據集上得到一個較好得分。測試時通過手機攝像頭對準測試視頻片段,視頻效果如圖5所示。

圖5 測試攝像頭獲取視頻的可行性-觀影場景
經測試,我們可以看到系統對于攝像頭獲取實時視頻的方式支持性較好,且輸出的場景、人物、動作的識別都較為準確。
此外,此系統還可以用于日常生活,例如模擬出行,當我們模擬用戶在日常出行時使用此系統,將攝像頭對準前行道路,可以得到如圖6所示的結果。

圖6 測試攝像頭獲取視頻的可行性-出行場景
經測試,我們可以看到在出行場景下,系統對于道路環境、人數情況判斷較為準確,基本可以滿足用戶出行時的輔助需求。
由本系統設計初衷,系統還可以通過在線上傳視頻的方式獲取視頻,經過測試可以得到如圖7所示效果。

圖7 測試在線上傳視頻的可行性
通過在多個視頻和使用場景下進行的是,能夠得出以下結論:在大部分情況下,系統輸出的文字描述與視頻內容基本一致,且實時性較好,手機運行時也不容易卡頓,能夠基本滿足用戶的需求;在小部分情況下,輸出仍會有語法問題,但不會對理解產生影響,不會妨礙用戶使用。
為了給視障人士的生活提供方便,同時降低在無障礙建設進程中的人力成本,本文提出了一種基于在線視頻描述的視障人士輔助系統,論述了其設計及實現過程。該系統采用一種面向多使用場景的實時反饋技術架構,涵蓋了視頻傳輸、緩沖設計、描述生成及最終語音反饋等過程。該系統能夠有效從實時視頻幀中提取出空間特征、時間特征,通過視覺注意模塊及文本注意模塊合成整體特征,最后結合長短記憶解碼器,其生成的描述結果的準確度、模型整體的速度均達到預期。