余銘華


摘要 為滿足移動執法過程中對人像比對的要求,設計實現了基于Android的移動警用人像識別比對系統。系統由Android客戶端、人像比對服務端組成,基于內外網數據交換安全原因需要,系統構建REST架構服務利用安全隔離網閘實現內外網數據交換。系統對提交的圖片利用圖像處理技術,進行人臉檢測、人臉定位、人臉建模、模板匹配比對等過程,從而完成人像識別比對功能。本文闡述了移動人像識別比對系統的流程,并對設計、實現過程做了詳細介紹。經測試,該系統對人像識別的準確度和實時性都能達到移動執法應用中人像比對的要求。
【關鍵詞】人像識別比對系統 移動警務設備Android
1 引言
人像識別技術以人臉信息為基礎,其包括人像檢測、人像預處理、人像特征、匹配識別四個部分,不僅可以實現人像的靜態檢索和動態比對,還可實現人臉結合人體的人像應用。由于人像識別應用具有直觀、高效、準確、方便等特點,隨著人像識別的突破性發展以及人體部位和要素的識別與分析快速推進,在公安管理中已經得到有效的應用,切實的解決了目前公安管理工作中的盲點,對常住人口、暫住人口、重點人口、在押人員、出入境人員等信息實現了網絡化、實時化管理,為公安系統工作提供了有效手段。
伴隨著公安執法工作所涉及的范圍越來越廣,執法工作量的日益增加。在公安移動執法過程中,需要隨時隨地獲得公安業務信息數據的支持來解決在通緝、協查、堵截、搜查等一線執法工作中所發現的嫌疑人身份查詢比對問題,實現快速現場執法,提高工作效率。
本項目基于公安部門工作的移動性、突發性、緊迫性等特點,在人像識別比對系統應用的基礎上,結合網閘數據交換技術,將人像識別比對系統在移動警務中拓展應用。
2 系統概況
移動警用人像識別比對系統由Android客戶端、數據交換網閘、WebService接口服務、人像識別比對服務端四部分組成。系統通過網閘完成了跨網的絡數據交換,利用WebService接口實現了人像1:1比對、人像1:N比對,結果查詢等功能,滿足了移動執法中查詢身份信息的應用需求。
3 系統設計與實現
3.1 系統拓撲
基于Android的移動警用人像識別比對系統的網絡拓撲結構如圖1所示。
3.2 流程設計
按照業務場景需要和數據交換方式,基于Android的移動警用人像識別比對系統的業務處理流程設計如下:
(1)在Android客戶端,操作用戶輸入警號進行系統登錄,系統會檢查SQLite數據庫是否有相應的登錄記錄,如果有記錄,系統直接進入到功能操作界面,如果沒有記錄,系統將連接到后臺確認該登錄用戶是否存在,如果存在則登錄并在客戶端SQLite數據庫中創建記錄;登錄用戶如果在后臺不存在則進入用戶注冊,在完成注冊后將在客戶端SQLite數據庫創建記錄,然后進入到功能操作界面。
(2)用戶登錄后在功能操作界面中,可以選擇直接拍照或從相冊中選擇文件來獲取人臉照片,并依據使用需求選擇同步方式或異步方式來完成人像1:1比對或人像1:N比對。
(3) Android客戶端對人像照片進行人臉檢測和預處理,并將比對請求發送給Intemet外網服務器上部署的WebService服務程序。
(4) Intemet外網服務器部署的WebService服務程序接受Android客戶端請求,將請求生成XML格式文件,并生成的XML文件放到網閘外網的共享請求目錄,同時等待指定時間。
(5)通過在網閘中配置內外網的共享請求目錄與共享響應目錄,網閘會定時掃描內外網服務器的指定的若干目錄,檢查有無新增文件,有則同步過去。
(6)公安業務內網服務器Webservice服務程序內部定時掃描指定請求目錄,在網閘將Internet外網服務器的請求文件同步到公安業務內網服務器的請求目錄后,公安業務內網程序檢測到請求文件則立即觸發調用本地的Webservice服務,請求人像比對。
(7)人像比對系統服務端接到比對請求后,完成比對,并將比對結果隊列生成響應文件放到響應目錄。
(8)網閘檢測響應目錄的新增文件,將文件同步到Internet外網服務器的響應目錄,Internet外網服務器程序線程接受到請求后,一直等待指定時間,掃描響應目錄下有無比對結果響應文件產生,讀取到響應文件后,返回給Internet外網Android客戶端調用者。
(9) Android客戶端對返回的數據進行界面展示,完成人像1:N比對。
3.3 Android客戶端的設計
Android客戶端的系統設計主要包括用戶界面UI、Socket通信、SQLite數據庫設計。Android主要由Activity顯示界面,Service服務,Broadcast Receiver廣播接收器,ContentProvider內容提供者等四大基本組件組成,每個組件在應用程序中都可以完成不同的任務,既可以單獨被激活,又可以由其它應用程序激活。
對Android客戶端功能進行如下功能設計:
3.3.1 人臉檢測預處理功能
自動檢測識別提交圖片中的人臉,并對圖片中的人臉進行定位和姿態矯正。
3.3.2 人像1:1比對功能模塊
實現對兩張照片進行人像識別比對,輸出兩張照片是否為同一人,根據實際應用方式不同,實現兩種模式:
模式一、輸入兩張目標人照片,自動建模比對,確認是否為同一人。
模式二、輸入一張目標人照片與目標證件號碼或者姓名,通過證件號碼或者姓名在人像目標庫中讀取照片,確認與目標人是否為同一人。
3.3.3 人像1:N比對功能模塊
實現攝像頭采集(或選擇)一張圖像,與人像比對特征庫進行匹配比對,可選擇一個或多個比對目標庫,根據相似度值從高到低,返回一定數量的候選比對結果。返回的候選比對結果的數量可自定義。為加快比對速度,支持用戶選擇比對條件,如性別、區域、年齡段等。比對結果為候選人列表形式,信息項包括照片、相似度(分數)、人員信息等,結果候選人按照相似度排序輸出。
3.3.4 查看結果功能模塊
查看已經提交的所有的比對記錄和比對結果。可以通過證件號,報警類型,任務創建時間,比對類型,庫別和任務狀態等信息進行單個或者組合查詢。
3.3.5 系統配置功能模塊
可以設置相似度、年齡范圍、性別、比對方式、比對庫別等比對參數,同時可配置連接后臺的服務器IP地址和端口,以及版本更新和本地日志、數據、照片清理。
3.4 網閘數據交換設計
網閘數據交換實現方法是通過用戶在信息系統上發送一個請求,請求到達前置機時,進入等待狀態,請求被打包成文件,存入數據共享A區的對應文件夾內,通過網閘進行文件擺渡到共享數據B區的相應文件夾內,后置機監測到共享數據B區的新文件生成,對文件進行解析并刪除該文件,調用遠端提供的WebService數據接口,執行解析出來的請求,并把執行結果打包成文件,放入共享數據區B的對應文件夾,再次通過網閘,把文件擺渡到數據共享A區的對應文件夾下,前置機監測到新文件,解析文件后把結果返回給剛才等待狀態的請求,并刪除文件。收到返回結果后,恢復會話,顯示結果。
基于網閘數據交換實現原理,分別在網閘的前置機和后置機上構建REST架構服務,服務功能設計如下:
3.4.1 前置機上程序設計
前置機上程序監聽Android客戶端請求,在收到請求后將請求內容進行結構化,生成結構化數據的XML請求文件,并將該XML請求文件寫入網閘擺渡文件目錄中,待網閘將該請求文件擺渡到后置機中的對應目錄后,同時新建一個進程對返回結果進行處理,等待返回結果文件,利用唯一標識與之前的請求進行對應管理,將結果返回給Android客戶端,同時對返回結果文件進行備份。
3.4.2 后置機上程序設計
在后置機中,服務一直監聽文件夾。如果有新的文件擺渡來,將信息讀出,同時將該文件備份后刪除。將數據讀出后,獨立新建一個進程,對該請求進行處理。取得比對調用結果后,將比對結果寫入文件,經由網閘擺渡回前置機。
3.5 WebService接口服務設計
服務器端使用的是SSH2框架的技術,開發的接口功能包括登錄、退出、獲取基礎數據字典、人像1:N比對、獲取1:N比對結果、查詢任務信息、數據調用等接口。接口訪問必須先提供身份證明(Licence)登錄,經驗證成功獲取會話ID,使用會話ID調用其他接口。
3.5.1 登錄
使用Licence串請求驗證,以獲取會話ID,并使用會話ID以調用其他接口。
3.5.2 獲取基礎數據字典接口
調用成功后返回基礎數據字典,如比對庫、比對條件等。
3.5.3 人像1:N比對接口
比對圖片中的人像和指定范圍類的所有目標的人像,返回滿足條件的比對結果列表。
3.5.4 獲取人像1:N比對結果
根據任務ID號,獲取任務的相關信息,返回比對結果列表。
3.5.5 查詢任務信息接口
根據任務ID號,獲取比對任務的相關信息,返回比對任務詳情。
3.5.6 身份查詢接口
通過身份證號或姓名獲取身份信息,返回人像照片和基本信息。
3.5.7 數據調用接口
服務器端在得到“HTTP POST或GET請求”后,把需要返回的數據進行XML編輯,然后發送回Android客戶端。
3.5.8 升級功能接口
檢測系統是否存在更新升級,確認存在升級更新包后返回更新安裝包。
4 系統驗證
Android客戶端采用華為honor 5C手機進行測試,服務器端使用Tomcat7.0部署WebService,并保證客戶端與服務器端網絡連接正常。啟動軟件,這時軟件提示輸入登錄警號,驗證通過后進入到操作界面,點擊“人像比對”,調用手機攝像頭,拍攝人像數據后,點擊“比對”,確認比對參數,完成比對任務提交,比對成功后返回比對結果,并提示完成相關處理操作。Android客戶端人像比對過程及結果界面如圖2所示。
5 結束語
本文基于Android平臺設計并實現了移動警用人像識別比對系統,該系統實現了人臉檢測、人臉預處理、人像1:1比對、人像1:N比對等功能,系統客戶端可以在不同硬件平臺的Android設備中安裝,實測結果證明了該系統的準確性和實時性,系統能夠滿足移動警務的應用場景,后續將提高系統的可擴展性。
參考文獻
[1]王映輝,人臉識別
原理、方法與技術[M].北京:科學出版社,2010.
[2]周麗芳,李偉生,黃穎.模式識別原理及工程應用[M].北京:機械工業出版社.2013.
[3]柯元旦,宋銳.Android程序設計[M],北京:北京航空航天大學出版社,2010.
[4]李新輝,鄒紹芳.Android移動應用開發項目教程[M].北京:人民郵電出版社.2014.
[5]徐昕軍,袁媛,蘇劍臣,楊峰.基于Android平臺的行為分析系統研究[J],計算機應用與軟件,2016,33 (04): 223-226.
[6]崔娜,基于Android的移動終端應用程序開發與研究[J],電腦知識與技術,2016,12 (29):38-39.
[7]袁媛.基于Android平臺的軟件開發方法研究[J]電子技術與軟件工程,2016 (12):72-72.
[8]梁開文,基于Android平臺軟件開發方法的研究與應用[J],工程技術:文摘版,2016 (09): 00255-00255.
[9]吳緹.基于物理隔離網閘的銀行文件安全傳輸系統的設計與實現[D].四川:電子科技大學,2013.