谷歌近日發(fā)布了一款專為移動 GPU 推理量身定制的輕量級人臉檢測器——亞毫秒級的人臉檢測算法 Blaze Face。它能夠在旗艦設備上以 200~1000+ FPS 的速度運行,并且可以應用在諸多需要快速準確的識別出人臉區(qū)域的任務中,例如:2D/3D 面部關鍵點識別與幾何評估、面部特征和表情分類以及面部區(qū)域分割等。谷歌發(fā)表了相關論文介紹了該研究成果。
據(jù)介紹,這個名為BlazeFace 的新面部檢測框架,是在單鏡頭多盒檢測器(SSD)框架上針對移動 GPU 推理進行的優(yōu)化。主要創(chuàng)新包括:
1. 有關于推理速度
一個專為輕量級目標檢測而設計的在結構上與 MobileNetV1/V2 相關的非常緊湊的特征提取器卷積神經網絡。
一種基于 SSD 的新型 GPU-friendly anchor 機制,旨在提高 GPU 利用率。Anchors(SSD 術語中的先驗)是預定義的靜態(tài)邊界框,作為網絡預測調整和確定預測粒度的基礎。
2. 有關于推理效果
一種替代非最大抑制的聯(lián)合分辨率策略,可在多預測之間實現(xiàn)更穩(wěn)定、更平滑的聯(lián)系分辨率。
雖然該框架適用于各種目標檢測任務,但在本文中,谷歌致力于探討手機相機取景器中的人臉檢測問題。由于不同的焦距和捕獲物體尺寸,我們分別為前置和后置攝像頭構建了模型。
除了預測軸對齊的面部矩形外,BlazeFace 模型還生成了 6 個面部關鍵點坐標(用于眼睛中心、耳、嘴中心和鼻尖),以便我們估計面部旋轉角度(滾動角度)。這樣的設置使其能夠將旋轉的面部矩形傳遞到視頻處理流程的后期任務特定階段,從而減輕后續(xù)處理步驟對重要平移和旋轉不變性的要求。
BlazeFace 模型架構可以在完整圖像或視頻幀上運行,并且可以作為幾乎任何與人臉相關的計算機視覺應用的第一步,例如 2D / 3D 人臉關鍵點、輪廓或表面幾何估計、面部特征或表情分類以及人臉區(qū)域分割。因此,計算機視覺流程中的后續(xù)任務可以根據(jù)適當?shù)拿娌考舨脕矶x。結合 BlazeFace 提供的少量面部關鍵點估計,此結果也可以旋轉,這樣圖像中的面部是居中的、標準化的并且滾動角接近于零。這消除了 SIG-nifi 不能平移和旋轉不變性的要求,從而允許模型實現(xiàn)更好的計算資源分配。