季 珂,韓龍玫,卿粼波,劉 美,吳曉紅
1(四川大學 電子信息學院,成都 610065)
2(成都市規劃設計研究院,成都610081)
健康城市的發展以實現人的全面、健康發展為目標[1].視力是群體健康的重要指標之一,然而現代生活方式、環境等因素導致人群群體的視力障礙(包括常見的近視、遠視、散光、弱視等)發生率呈現上升趨勢[2].視力障礙不僅影響國防和航空等特殊人才的選拔[3],也給生活帶來不便.相關研究指出,到2050年,近視將對全世界50 億人造成不同程度的負面影響[4].調查城市群體的視力情況有助于掌握群體健康的基本情況,制定針對性的政策和措施,為健康城市的建設打下基礎.
近些年調查群體視力的方法,主要采用以下四種方法:對某一特定群體進行普查、在醫院門診收集視力信息、對某群體分層抽樣收集視力信息和使用問卷調查的方式收集視力信息.杜連心等人[5]采用對在校學生進行普查的方法調查小學生的視力,周珂晶等人[6]通過在門診收集學齡前兒童的視力信息以了解他們的視力障礙情況,朱夢男等人[7]使用問卷調查的方式了解某高校醫學院大學生視力情況,他卉等人[8]采用分層隨機抽樣的方法調查教學環境衛生與學生視力情況.然而,普查會耗費大量的人力物力;問卷調查存在虛假填寫、調查結果質量得不到保證、回收率也難以保證的情況;門診收集個人信息涉及隱私會帶來諸多不便;分層隨機抽樣的方法需要對樣本總體情況進行了解.視力障礙群體分布廣泛、人數眾多,使用上述方法調查難度大,取樣困難.
隨著人工智能的迅猛發展,利用計算機視覺技術實現監控視頻系統智能化是一個熱門研究領域.視頻分析技術已經在行人檢測[9]、目標跟蹤[10]、性別識別[11]等領域取得了顯著的成果.基于視頻分析人的屬性在金融、身份驗證、安防等領域有著廣泛的應用.人的屬性包括性別屬性、穿戴屬性、年齡屬性等,而人臉是人類最重要的生物特征之一,蘊含著大量的信息[12].近幾年,視頻大數據的研究受到了國內外學者的密切關注,越來越多的視頻分析技術與其他領域結合取得了良好的成果.在聚焦人的屬性上,視頻大數據具有得天獨厚的優勢[13].通過視頻分析技術自動的識別監控視頻中人的屬性是一種高效途徑,也是未來的發展趨勢.
為了提高群體視力調查的效率,降低數據獲取的門檻,本文利用視頻分析技術提取監控視頻中的行人人臉屬性,識別公共群體中視力障礙的數量和比例,作為區域人群群體健康的樣本指標,由于男女生理結構的不同,為了更加科學的調查行人的視力狀況,我們對群體性別進行了識別.我們通過卷積神經網絡中的檢測技術,實現行人人臉檢測,為了提高性別和眼鏡識別的效果,我們改進了人臉分析卷積神經網絡,并對行人人臉屬性進行分析,得到的人臉屬性信息包含性別和是否佩戴眼鏡,最終經過數據量化,在Web 端進行可視化展示.該方法為調查員調查群體健康節省了巨大的工作量,提供了重要的數據支撐,并為統計調查領域研究群體健康提供了新思路.
為了研究行人的人臉信息,獲得的監控視頻首先需要進行人臉檢測,得到人臉圖像后建立數據集進行相應的分析.本文設計的方案易于移植到嵌入式平臺,方案圖如圖1所示.

圖1 系統方案示意圖
本研究主體框架為獲取攝像頭采集的監控區域視頻,檢測視頻中人臉的存在,分析人臉屬性,量化信息在Web 端展示.為了獲得行人群體的視力障礙情況,本文分析的人臉屬性包括行人的性別、是否佩戴眼鏡,同時記錄對應的量化信息,最終對記錄的信息進行分析,通過網絡端實現基礎數據查詢的功能.
人臉檢測部分,目前主要以Faster-RCNN[14]、SSD[15]等目標檢測算法為代表,它們都可以用于人臉目標檢測,但Faster-RCNN 檢測速度慢,SSD 對人臉小目標檢測性能不佳.Zhang 等人[16]在2016年提出的MTCNN 網絡精度高、速度快.MTCNN 是一種三階級聯架構方式的快速卷積神經網絡算法.這種算法分為3 個階段:首先通過淺層CNN 快速產生大量的候選框;其次利用更加復雜的CNN 精煉候選框,丟棄大量沒有人臉的候選框;最后使用更加強大的CNN 實現最終人臉的候選框,并輸出五個人臉面部關鍵點位置.因此本文選擇MTCNN 來實現人臉檢測的功能.
在檢測到人臉的基礎上,本文需要進行人臉屬性分析,在分析過程需要克服以下幾個困難:監控場景下光照或背景會變化,視頻中行人不斷移動造成視角也隨之改變,采集到的人臉因光照和姿態變化大,甚至采集到由于行人運動而模糊的人臉圖像.這些圖像分辨率低,對訓練的精度有所影響,俯拍視角也對檢測效果有一定的影響.分析人臉屬性需要使用分類網絡對性別和是否佩戴眼鏡進行分類.目前常用的分類網絡VGG16[17]、ResNet[18]都可以用于分類,但是上述網絡結構復雜,考慮到本文所設計系統需要移植到嵌入式平臺,因此我們在網絡的選擇上有所約束.跨連卷積神經網絡(Cross-connected CNN,CCNN)結構簡單,簡單的網絡有助于處理速度的提升,此網絡符合我們的要求.為了進一步提高性別識別和眼鏡識別的準確率,我們改進了CCNN 網絡.
數據可視化部分通過Web 端系統進行展示,監控視頻中行人人臉屬性分析處理量化后,Web 端需要從數據庫獲取人臉屬性分析量化的數據,再以圖表的形式展示在Web 端,實現用戶在瀏覽器查詢基礎數據的功能.Web 端系統采用了B/S 架構,數據庫選擇MySQL存儲相關數據,前端框架使用AngularJS,后端框架使用Django MTV,應用程序接口選擇JavaScript 語言,相關的圖表繪制采用Echarts.
張婷等人[19]指出傳統的卷積神經網絡在分類上只利用高層次特征構造分類器,沒有有效利用低層次特征,如果能將高層次和低層次特征共同結合用于構造分類器,將達到更好的分類效果.CNN 卷積的過程是不斷篩選的過程,前幾層過濾掉的淺層信息對后面的分類不是沒有用的,淺層的邊緣紋理信息有助于圖像的分類,可以把淺層卷積層的信息特征與深層特征進行融合[20].佩戴眼鏡相比未戴眼鏡,眼睛區域有較大的差別,男女在臉部有額頭形狀、顴骨線條、下巴形狀等不同的特征.
在上述思路下,我們對CCNN 網絡進行了改進.利用淺層卷積層的特征輸出與最后卷積層特征輸出結合,融合多層卷積的特征,再將融合層進行池化,將中間池化層的信息與深層池化層信息相連,利用融合的方式增強輸入到全連接層的語義信息,最后經全連接層對融合的特征信息分類送至輸出層.改進的網絡包含3 個卷積層,3 個池化層,2 個融合層,2 個全連接層,如圖2所示.使用的激活函數為ReLU 函數,池化方式為最大池化.為了減少特征信息的損失,輸出層損失函數為SoftmaxLoss[21].為了降低網絡移植到嵌入式平臺的復雜性,本文性別識別和眼鏡識別采用同一個網絡.

圖2 人臉分析卷積神經網絡結構示意圖
標準的人臉數據集諸如FDDB[22]、Adience[23]、LFW[24]等基本上是水平視角,分辨率較高.FDDB 數據集包含野外拍攝的人臉圖像,不適合公共群體場景下的應用.Adience 數據集通過智能手機拍攝的人臉圖像,不適合監控攝像頭俯拍的特性,并且智能手機拍攝的圖片清晰度高于監控攝像頭得到的圖片.LFW 數據集通過網絡收集的人臉圖像清晰度也較高.而在實際應用中,并不能完全做到水平視角,本文檢測到的人臉分辨率不高,街道上的監控視角也多為俯拍視角,對人臉屬性分析有一定的影響,并且公開數據集沒有眼鏡數據集.在此背景的需求下,本文獲取監控視角下的視頻進行分析,并制作符合要求的數據集.自制數據集分辨率低,具有俯拍視角的特性,標準數據集與自制數據集的對比如圖3所示.
數據集的制作過程先使用人臉檢測卷積神經網絡檢測監控視頻中存在的人臉,然后將人臉圖片輸出,篩選相對清晰的圖片.將該數據集命名為SCU_Face_attributes,如圖4所示.SCU_Face_attributes 包含兩個部分,即性別數據集和眼鏡數據集,具體劃分如表1所示.

圖3 數據集的對比

表1 數據集劃分
性別數據集中男性圖片與女性圖片比例近1:1,眼鏡數據集中戴眼鏡和未戴眼鏡圖片數量比例約1:0.89.最終建立各自相對應的訓練集、驗證集、測試集比例約為8:1:1,其中驗證集用于訓練階段的測試,當訓練數據完成指定迭代次數后,利用驗證集對該階段的訓練效果進行評估;測試集則用于對已經訓練好的模型進行測試,來驗證訓練模型的準確度.

圖4 SCU_Face_attributes
本文實驗條件:所選的PC 機系統為Ubuntu16.04,主要配置為:Intel(R) Core(TM) i5-3470 CPU @ 3.20 GHz;NVIDIA GeForce GTX 1070 8 GB 顯存,監控視頻的分辨率為1280×720,幀速率為25 fps.
使用改進的CCNN 網絡在自制數據集的訓練集上進行訓練,性別識別和眼鏡識別分開訓練,由于使用同一個網絡故采用同樣的設置.本文采取Caffe 框架,網絡訓練參數的設置如下:基本學習率設為0.001,池化層步長(stride) 和池化核大小(kernel_size) 設置為3 和2,此重疊采樣方式能減少過擬合的風險,也能保持空間不變性.網絡動量(momentum)設為0.9、權重衰減量(weight_decay)設為0.0005,訓練總迭代次數為40000.
本文的測試部分使用改進的CCNN 網絡在自制數據集的測試集上進行測試,改進的CCNN 網絡在自制數據集訓練過程中,能從訓練樣本很好的學習到人臉的特征,并且訓練取得較好的收斂效果,將新的數據應用到訓練好的模型上達到了如表2所示的準確度.改進的CCNN 網絡在性別識別和眼鏡識別的準確度上相比CCNN 網絡提高了約1%,取得了較高的識別率.

表2 實驗效果展示(%)
本文攝像頭位置信息和行人人臉屬性量化信息采用模擬數據進行效果展示.Web 端主要展示由行人的性別和是否佩戴眼鏡得到的量化信息.其中Camera-Message 數據記錄所有關注的街道攝像頭的信息,包括地理位置經緯度、攝像頭id 號、街道名、關注時間和所屬地區,如表3所示.

表3 CamerMessage 數據表
為了便于數據庫的管理,數據庫中將攝像頭的位置信息與攝像頭包含的具體信息分離.攝像頭的命名方式為Camera***(如Camera 005,005 表示CameraMessage 中對應的攝像頭id 號),數據庫中人臉屬性對應的數據表的命名方式為t********(例如t20181125).數據表包含對應時間、對應時間的行人數量、對應時間的男性數量、對應時間的女性數量、對應時間的男性戴眼鏡和未戴眼鏡數量、對應時間的女性戴眼鏡和未戴眼鏡數量,如表4所示.
建設健康城市需要統計不同區域群體的視力障礙情況,本文將行人的人臉屬性信息量化后在地圖上展示,地圖服務能直觀清楚的展示公共空間中行人的視力障礙情況.本文Web 端系統選擇百度地圖作為開發框架,百度地圖JavaScript API 是一套由JavaScript 語言編寫的應用程序接口,應用程序接口豐富、文檔齊全,能夠構建交互性強的Web 應用[25].地圖服務需要添加關注街道的地理位置功能,本文添加關注街道后,讀取數據庫中存儲的關注街道的信息,地圖上會以紅色氣泡表示關注的街道,以此表示部署的攝像頭位置信息.顯示的詳細信息如圖5所示.

表4 人臉屬性信息表

圖5 關注街道信息
顯示關注的街道信息后,需要展示該街道行人人臉屬性信息的數據.本文使用Echarts 用于實現量化行人人臉信息展示的功能.Web 端行人人臉信息數據的圖表采用基于JavaScript 開發的可視化庫Echarts[26]繪制.Echarts 提供豐富的圖形接口,圖表種類豐富,可高度定制個性化可視化圖表.
我們的統計方法為在同一地區部署多個攝像頭,每個攝像頭監控一條街道路段,利用校園一天中上學、放學、吃飯的時間段統計群體的性別和視力障礙情況.在地圖上選擇一個已關注的街道,紅色氣泡標注會變成跳動的黃色氣泡標注,選擇時間后,展示某個攝像頭包含的具體信息,男女比和視力情況示意圖都用餅狀圖顯示,選擇地區后,該地區不同街道的性別示意圖和視力情況示意圖的對比都用柱狀圖顯示,如圖6所示.

圖6 Web 端整體展示效果圖
本文提出一種基于CCNN 的監控視頻中行人人臉信息的分析方法,首先檢測監控視頻中的行人,然后提取人臉屬性得到行人的性別和是否佩戴眼鏡,判別視力障礙數量,最后在Web 端使用Echarts 進行相應的圖表繪制,展示了單條街道或者某區域的人群視力障礙數量和性別比例.本文將視頻分析技術引入群體健康的統計調查領域,推進了調查領域技術的發展,為調查工作提供了新思路.當然,本文方法使用是否佩戴眼鏡這一單一屬性來判斷行人有無視力障礙,不能對佩戴裝飾眼鏡進行進一步識別,但相比傳統的視力狀況調查方法,本文方法涵蓋數據面更廣、總體來說精度更高,可以大致反映一定區域內的群體視力狀況.中小學生、學齡前兒童群體戴隱形眼鏡、裝飾眼鏡的比例很低,針對這類群體,我們的研究更有價值.也可以針對后期需求進一步拓展設計,可進一步分析年齡結構等數據,針對特定人群展開調查統計,并在Web 端分時段展示分析數據,滿足建設健康城市的需求.