上海云從匯臨人工智能科技有限公司 孫瓊
本文介紹了人臉識別雙目攝像頭在刷臉支付收銀機上替代3D 結構光相機中的應用,載體是收銀機,收銀機內置紅外雙目相機模組,通過自有的SDK 算法,識別活體并進行檢測和身份驗證識別,并且,還通過綁定支付寶、微信賬號或者銀行卡賬戶,進行消費確認和支付,實現人工智能,出門不用帶手機的可能性。
人工智能是最近幾年的熱門話題,隨著人口出生率下降,人口紅利的消失,人工成本越來越高,人臉識別身份驗證的場景越來越多,比如,機場、火車站出入閘機口、消費場所支付確認等,越來越多的人習慣出門不帶現金,只帶手機,甚至手機都不帶,刷臉可以消費,解放了人類的時間,同時加強了支付的安全性。雙屏收銀機內置了紅外雙目相機模組,目前主要有兩種操作系統的配置,即Windows 和安卓系統,其他配置要求:CPU4 核、2G+8G、WiFi 802.11b/g/n、2.4GHz、Android 5.1 及以上、藍牙4.0、以太網10/100/1000M、USB2.0*3+、Micro-USB*1、RS232*1、RJ11*1、RJ45*1、音頻3.5mm、電源12V DC、5A、雙目/200 萬像素攝像頭或3D 結構光相機,此處使用的主要是紅外雙目相機、Android 7"(3288)、4G 模塊(可選配)、音視頻對講(可選配)、雙大屏雙觸控、身份證模塊、NFC、熱敏打印、錢箱。目前收銀機應用場景主要是餐飲、零售、其他。
支付寶率先發布的“蜻蜓”和微信支付緊隨其后發布的“青蛙”,開創了人臉支付輕量級新時代,終端體積類似臺燈大小,不再像過去自助機一樣龐大,讓許多中小商戶可以采用此款設備,它們的出現,讓人臉普及加速。雙屏收銀人臉支付終端的代表作是微信的“青蛙”pro,不管是支付寶的蜻蜓還是微信的青蛙,用的都是3D 結構光相機去做人臉識別。當然,也有做雙屏收銀機,但是使用的是紅外雙目相機,單獨模組上成本比結構光降低60%,下面會重點介紹紅外雙目用在雙屏收銀機上的方案原理。
雙屏收銀機設計讓人臉支付終端有機會替代其他收銀設備,完成獨立收銀,在此之前,輕量級人臉支付終端大部分是接入原有收銀機,作為前端支付設備,雙屏設計能讓商戶可以進行后臺操作。滿足店面管理需求,功能包括:人臉識別、自助收銀、二維碼支付、會員營銷系統、電子海報。由于擁有屏幕,電子海報成為了人臉支付終端的優勢部分,收銀前的屏幕也可以極大提升商家和消費者的互動能力。人臉支付能夠給商家帶來強身份認證能力,進而可以為消費者提供更加個性化的會員以及營銷服務,“支付即會員”是人臉支付提供者所倡導的能力。人臉支付的優勢是可以提高結算效率50%以上,節約人力成本,時間成本,優化了支付體驗,無需攜帶手機,提升支付便捷度,有利于商家識別客戶,進而提供會員服務、營銷服務、海報服務,又可以用來做廣告,增加廣告收入。目前,主流的線下人臉支付是應用了AI+技術+云服務技術+雙攝像頭3D 結構光生物識別技術相互結合所形成的技術應用。硬件基礎是紅外雙目攝像頭或者3D 結構光/TOF 相機的成熟應用。通訊基礎是云平臺的承載能力越來越強,4G 加WiFi 的優良通訊環境讓云SaaS 成為可能,為人臉支付提供平臺和通訊。數據基礎是公安二代身份證數據庫的搭建,為人臉支付提供了數據庫的基礎。市場認識基礎是以聲紋、指紋、靜脈、臉、虹膜等生物識別特征作為身份識別的主要依據手段,經過指紋支付后,大部分用戶對生物支付認同并接受。我們的雙屏收銀機搭配是紅外雙目相機,通過人臉識別生物特征做支付交易的確認,之所以選擇紅外雙目相機是因為其性價比超過3D 結構光相機和TOF 相機,安全性可以達到金融級別的99.99%安全性要求。平臺基于RK 的安卓平臺,安卓(Android)是一種基于Linux 的自由及開放源代碼的操作系統。主要使用于移動設備,如智能手機和平板電腦,由Google 公司和開放手機聯盟領導及開發。
在實際生活中的應用越來越廣泛,已經成為個人身份鑒別的重要手段。但伴隨著人臉識別的便捷性與友好性,人臉識別系統也存在著用戶身份被冒充的風險,不法分子利用包含面部信息的打印紙張、面具,或是通過播放電子照片、視頻等手段,可以達到偽造他人身份的目的[1]。因此,基于人臉的活體檢測技術越來越重要,成為人臉識別系統必不可少的模塊。現有的人臉活體檢測技術按照活體檢測流程可分為兩類:主動式和非主動式[2]。
主動式體驗往往不太好,它需要用戶主動配合做一些動作;并且隨著電子屏幕顯示技術的發展,高清播放視頻愈發接近真實的人臉的紋理特征,對此類活體檢測技術也提出了巨大挑戰。非主動式會相對較好,主要包括以下三種檢測方式:紅外雙目技術、結構光技術、ToF 技術。成本結構光最貴,TOF 次之,紅外雙目最便宜。
紅外雙目模組包含一個紅外光攝像頭和一個可見光攝像頭。基于紅外雙目攝像頭實時捕捉用戶的人臉圖像,包括可見光和近紅外圖像,并利用深度學習模型判斷是否是真人。由于攻擊道具和皮膚在近紅外圖像中的紋理具有明顯區別,因此,可通過深度學習對大量樣本數據進行學習區分出真人和攻擊道具。紅外活體根據其紅外不可見光的反射特性,加上本身雙攝像頭的深度信息,可以天然地對平面紙張、視頻等有非常好的防攻擊效果。相機模組主要的組成部分(如圖1 所示):鏡頭(Lens)、圖像傳感器(Sensor IC)、數字信號處理(DSP)以及存儲器(Memory)。

圖1 相機模組主要的組成Fig.1 Main components of the camera module
(1)圖像傳感器是一種半導體芯片,CCD 傳感器模塊和CMOS 傳感器模組均由國外廠商主導,其表面包含有幾十萬到幾百萬個感光二極管,這些感光二極管受到光照時,就會產生電荷(光信號→電信號)。其種類分為:1)CCD(Charge Couple Device):電荷耦合器件;2)CMOS(Complementary Metal Oxide Semiconductor):互補金屬氧化物半導體。CCD 和CMOS 的區別,如表1 所示。

表1 CCD 和CMOS 的區別Tab.1 Differences between CCD and CMOS
(2)ISP(Image Signal Processor)也叫圖像信號處理器,其主要作用是對前端圖像傳感器輸出的信號做后期的處理。DSP(Digital Signal Processing)也叫數字信號處理器,其通過一系列復雜的數學算法運算,對數字圖像信號參數進行優化處理(RGB/YUV →JPEG),并把處理后的信號傳到存儲或顯示部件。視頻(Video)即時間上連續的圖像組成視頻,視頻中的某一幅圖像稱為一幀(Frame);幀率(Frame Rate):用于測量顯示幀數的量度,測量單位為每秒顯示幀數FPS;碼流(Bit Stream):將圖像壓縮后形成的數據;碼率(Bit Rate)bps/Bps是對碼流進行量化,碼率類型有定碼率(CBR)、變碼率(VBR),碼流類型有視頻流、音頻流、復合流;像素(Pixel):由一個數字序列表示的圖像中的一個最小單位。
(3)分辨率通常以乘法形式表示,如1024×768,“1024”表示屏幕上水平方向顯示的像素點數,“768”表示垂直方向的像素點數;分辨率指畫面的解析度,像素越多,圖像越清晰。
130W 像素:SXGA(1280×1024)
80W 像素:XGA(1024×768)
50W 像素:SVGA(800×600)
30W 像素:VGA(640×480)
15W 像素:HVGA(480×320)
10W 像素:GIF(352×288)
7W 像素:QVGA (320×240)
(4)SNR(Signal to Noise Ratio)是指在規定的條件下,傳輸信道特定點上的有用功率與和它同時存在的噪聲功率之比。它是直接反應攝像機影像對噪聲的抗干擾能力,在畫質上有無噪聲亮點;也可說是影像放大器的輸出信號的功率與同時輸出的噪聲大小的比值,通常用dB 表示。
(5)圖像的動態范圍:是指輸出圖像的最亮和最暗部分之間的相對比值。通俗地講,就是在一個暗態的房間里面,透過玻璃照射室外明媚陽光下的景物,室內和室外的物體是否都能夠清晰的顯現。動態越大,對景物的識別會更細膩。
(6)USB 攝像頭一般有兩種傳輸格式:YUYV 和MJPG。YUYV:無壓縮圖像格式的視頻(RAW 格式,原始圖像)。其優點是圖像沒損失、幀率穩定、系統資源占用少(因為不用解碼)、不需要解碼器;缺點是占用帶寬大、幀率稍慢(受限于USB 分配的帶寬)。MJPG:是MJPEG 的縮寫,一種視頻編碼格式。其優點是占帶寬少、占內存少、幀率高(視頻開啟快,曝光快);缺點是影像有馬賽克,并且需要編碼(由DSP 完成)和解碼(由CPU 完成),會占用PC 系統資源分辨率,指畫面的解析度,像素越多,圖像越清晰。在可控的環境下,活體相機是最佳的人臉識別和身份鑒定安全設備。
(1)人臉檢測:檢測視頻畫面中的人臉;
(2)人臉跟蹤:實時跟蹤人臉在畫面中的位置;
(3)活體檢測:利用紅外成像、可見光與紅外成像匹配等技術,使用戶無需配合完成活體檢測功能;
(4)假體識別:可有效預防二維的黑白平面照片、黑白摳眼嘴照片、彩色平面照片、彩色摳眼嘴照片以及三維的硅膠乳膠類面具、摳眼嘴面具、電子照片(手機、電腦)、視頻錄像的攻擊;
(5)最佳人臉抓拍:支持自動抓拍可見光的最佳人臉照片;
(6)換臉檢測:基于初始進入畫面中的人臉,支持實時判斷是否有其他人臉進入視頻畫面[3]。
(1)Android 應用層,Android 會同一系列核心應用程序包一起發布,該應用程序包包括客戶端、SMS 短消息程序、日歷、地圖、瀏覽器、聯系人管理程序等。所有的應用程序都是使用Java 語言編寫的。(2)Android應用框架層是對核心類庫調用的實現,為了簡化開發,就用Java 寫了調用核心類庫的方法,把這些方法封裝成API 給開發者調用。因此,應用框架層是用Java 寫的,是對核心類庫層的調用。(3)Android 系統運行層(核心類庫層)包含一些C/C++庫,這些庫能被Android系統中不同的組件使用,它們通過Android 應用程序框架為開發者提供服務。(4)Linux 內核層包含了硬件接口,用于Android 系統的移植。安卓平臺整體架構圖和安卓產品詳細構成圖如圖2、圖3 所示。各種硬件驅動包含:顯示器驅動、攝像頭驅動、閃存驅動、鍵盤驅動、WiFi 驅動、音頻驅動、電源驅動。

圖2 安卓平臺整體架構Fig.2 Overall architecture of Android platform

圖3 安卓產品構成Fig.3 Overall architecture of Android product
(1)應用層:即我們所說的軟件編程。就像手機里使用的QQ 和微信,需要根據手機的操作系統來編寫應用程序;
(2)操作系統層:操作系統是負責系統任務的調試、磁盤和文件的管理。對于操作系統層目前只能說是簡單的移植;
(3)驅動層:驅動程序在系統調用時,不會獨占操作系統時間片,而導致其他任務不能運行;驅動程序是連接硬件平臺和操作系統的紐帶,編寫驅動需要同時兼顧操作系統特點和硬件接口的特點。
(4)硬件層:整個嵌入式系統的根本,也是驅動層的基礎,硬件平臺是基礎,增值還要靠軟件;DSP(Digital Signal Processing),也稱數字信號處理器,是一種特別適合于進行數字信號處理運算的微處理器,其主要應用是實時快速地實現各種數字信號處理算法。ISP(Image Signal Processing)圖像信號處理,主要用來對前端圖像傳感器輸出信號處理的單元,以匹配不同廠商的圖像傳感器[4]。
基于RK3399 硬件平臺和安卓軟件平臺,其應用場景:商業、辦公樓、學校、園區、社區零售、餐飲、食堂。收銀員界面支持自定義金額、固定金額、商品金額等收銀模式。不僅支持通過卡號、工號、手機號等信息確定客戶,還支持終端設置和管理。客戶界面有刷臉支付和交易信息,訂單信息確認、選擇刷臉支付時顯示人臉框,幫助客戶快速完成交易、交易狀態反饋、廣告投放。配置:Intel Core i3 3217U、4GB DDR3 SDRAM、64GB SSD、15 寸高分觸摸屏主屏、15 寸高分副屏、內置活體相機(紅外雙目或者3D 結構光)。
紅外雙目模組內置安全芯片,支持多種加解密算法,同時支持簽名和驗簽,提高了信息傳輸的安全等級。加密芯片可存儲至少8 個通道的密碼,同時可支持3 個安全證書,每個證書不大于5K 字節。參考銀行業的密鑰體系按用法進行劃分,分為三級:第一級為本地主密鑰(簡寫LMK);第二級為區域主密鑰或終端主密鑰(簡寫 ZMKTMK);第三級為數據密鑰(包括PIKMAKDEKPVK等)。為了有效防止算法被破解,造成密鑰泄漏,所有密鑰都設置了生命周期,每一級密鑰的生命周期都不一樣,當然每個客戶在國家政策下定義自己密鑰的生命周期。三層密鑰體系根據密鑰的使用對象而形成,上層對下層提供保護和一定的維護功能,不同層的密鑰不相同,且不能相互共享[5]。
模組集3D 結構光技術、人臉檢測及活體檢測算法、人工智能芯片、安全芯片于一體,算法與硬件高度融合。不僅性能指標優越、安全性高,且對終端無算力要求,體積小、功耗低、即插即用、通用性強。模組內置云從自主算法,安全可控。防活體攻擊準確率達到99.9%,已達到金融支付場景的最高安全等級。模組內置安全芯片支持SM1/SM2/SM3/SM4/SSF33 算法、AES/TDES/RSA/SHA 算法和支持簽名和驗簽,提高了信息傳輸的安全等級,同時,還支持多種安全證書,有效防止身份冒用[6]。
5.5.1 模組功能
(1)人臉檢測:檢測視頻畫面中的人臉;
(2)人臉跟蹤:實時跟蹤人臉在畫面中的位置;
(3)活體檢測:利用紅外成像、可見光與紅外成像匹配和深度圖像等技術,使用戶無需配合完成活體檢測功能,算法內置直接返回檢測結果;
(4)假體識別:可有效預防二維的黑白平面照片、黑白摳眼嘴照片、彩色平面照片、彩色摳眼嘴照片以及三維的硅膠乳膠類面具、摳眼嘴面具、電子照片(手機、電腦)、視頻錄像的攻擊;
(5)最佳人臉抓拍:不僅支持自動抓拍可見光的最佳人臉照片,還支持加密后輸出;
(6)換臉檢測:基于初始進入畫面中的人臉,支持實時判斷是否有其他人臉進入視頻畫面,結構光活體技術原理是深度圖重建原理:結構光攝像頭包含結構光圖案發射器,能夠向場景投射出固定的結構光(一般是近紅外光)圖案,并通過一個或多個攝像頭捕捉投射出來的圖案,根據圖案的形變以及雙目測距的原理重建出每個位置的深度信息,生成場景的深度圖像[7]。
5.5.2 檢測方式
結構光活體的檢測方式與紅外雙目活體類似,但相比于紅外雙目攝像頭,結構光攝像頭可以產生三通道的圖像數據,包括:(1)可見光圖像;(2)近紅外圖像;(3)深度圖像。多出來的一維深度圖像包含了人臉區域三維空間結構信息,可利用深度學習模型進行更加深入的防攻擊分析。
5.5.3 技術前沿
(1)在尺寸小、功耗低的模組中內置結構光三維重建、人臉檢測算法、活體檢測算法、安全加密算法、神經網絡計算,系統復雜性高;(2)實現訓練模型與模型在芯片中部署后精度的一致性;(3)DSP(加速數字信號處理)加速運行算法與深度學習網絡;(4)模組內部實現輸出結果的加解密功能,支持多種算法;(5)實現模組的低功耗工作;(6)實現內置各類算法的穩定性運行,支持7×24h。因為結構光整體硬件成本較高,所以性價比較低。
深度圖重建原理,通過測量光在空間中飛行的時間,換算成距離,以測得攝像頭與物體的距離。ToF 模組包含發射模塊、接收模塊。發射模塊向場景發射紅外光,經過物體反射后,接收模塊接收到反射的紅外光計算深度信息。根據激光往返的時間長短和其固定的飛行速度,計算出物體表面上的點與ToF 相機之間的距離。
5.6.1 防攻擊檢測
ToF 活體檢測算法綜合可見光通道、近紅外通道以及深度通道的多維信息,進行交叉驗證比對和活體分析,通過深度學習構建分類模型,從而判斷出畫面中的人臉是否為真人。
5.6.2 模組功能
(1)人臉檢測:檢測視頻畫面中的人臉;(2)人臉跟蹤:實時跟蹤人臉在畫面中的位置;(3)活體檢測:利用紅外成像、可見光與紅外成像匹配、深度圖像等技術,使用戶無需配合完成活體檢測功能;(4)假體識別:可有效預防二維的黑白平面照片、黑白摳眼嘴照片、彩色平面照片、彩色摳眼嘴照片以及三維的硅膠乳膠類面具、摳眼嘴面具、電子照片(手機、電腦)、視頻錄像的攻擊;(5)最佳人臉抓拍:支持自動抓拍可見光的最佳人臉照片;(6)換臉檢測:基于初始進入畫面中的人臉,支持實時判斷是否有其他人臉進入視頻畫面,成本性價比較低。
綜上所述,技術上人臉識別支付技術逐步成熟,隨著人臉識別標準的制定,將鼓勵使用人臉識別應用,同時,隨著政務人臉驗證逐漸鋪開、金融規劃的提出,監管的跟進、政府的支持以及用戶認知的提高,都使人臉識別支付逐漸普及廣泛。以硬件為基礎,人臉支付模式參與者眾多,以微信、支付寶、銀聯三巨頭為主要市場推動者,具有很大的市場占有率,使得產業鏈上下游形成較大合力。截至目前,人臉支付終端產品市場規模較為可觀,但是三種識別模組比較下來,紅外雙目性價比最好,所以其是最優選擇。