之前的文章重點分享了ai的概念和應用,以及ai的架構與核心,結合到專案裡,最常見的 ai應用就是人臉識別,因此這篇文章從人臉識別的架構和核心上,來講講測試的重點。
首先是人臉採集。
安裝拍照攝像裝置之後,需要在動態的場景與複雜的背景中判斷是否存在人臉,並分離出這種面像。然後採集到人臉的**。
因此採集過程是非常重要的,一需要能夠採集到內容,二採集的內容能夠分離出來是人臉。
而特徵提取的原理是,將獲取的人臉**進行色彩矯正、光線調整,五官定位和臉部分割,將人臉的鼻子、眼睛、嘴巴等視為乙個個特徵點,計算每個特徵點所在的位置、距離、角度。
正常場景下,在合適的光源下,採集人臉的正面,包含正常完整的人臉輪廓,毫無遮擋的五官,清晰的被拍照裝置拍到,這樣才能夠準確的捕捉到特徵,並判斷出來。
但對於測試同學來講,還要考慮異常場景的表現,即任何可能造成拍不到,拍不清晰,判斷不出是人臉,或者不完整的表現。
那麼針對這個原理,在測試時需要考慮不同膚色,或者是面部特徵過於複雜的案例,比如臉上有皺紋的老人。
再看人臉比對。
實際應用場景中,人臉比對的本質是**的比對。比對兩張臉中,其中一張臉一般來自於當前場景拍攝的**,另一張**一般來自於資料庫中的**。
資料庫的**是用來作為比對標準的,也是固定且一般不可隨意篡改的。
因此,從測試角度來看,需要覆蓋到這些特殊**的行為。
目前市面上主流的幾種抗攻擊的**採集方式主要有三種:活體檢測、連續檢測、3d檢測。
2) 3d檢測:驗證採集到的是否為立體人像,能夠防止平面**、不同彎曲程度的**等。
3) 連續檢測:通過連續的檢測,驗證人臉運動軌跡是否正常,防止防止跳過活體檢測直接替換採集的**,也能夠防止中途切換人。
其中活體檢測是現在應用最廣的一種抗攻擊人臉資料採集方式。
因為不管是直接對**檢測,還是對活體進行檢測,最終的目的都是採集人臉不同角度的**。因此如果活體檢測要與連續性檢測和3d 檢測結合使用。
計算機只會告訴我們比對的兩張臉的相似程度,是80%或者是20%,但不會告訴我們這兩張臉是否為同乙個人。
因此人臉比對有乙個閾值的概念。設定相似度大於x%的時候,視為人臉比對通過,小於x%的時候,視為人臉比對不通過。設定閾值的過程就是模型評估。
閾值設定過低,則人臉比對通過率高,誤報率可能也會公升高。
閾值設定過高,則人臉比對通過率低,誤報率可能也會降低也可能會增高。
因此在人臉識別的測試中,除了要關注通過率,還要關注誤報率。這兩項也可以統稱為是查準率。
舉個例子:
有8個樣本,分別拿十張**與資料庫證件照進行人臉比對,其中3個確實是人證統一,另外四個人證不同。比對的結果相似度如下:
樣本數
name a
name b
name c
name d
name e
name f
name g
相似度80%
60%70%
60%50%
40%30%
實際現象 y
y yn n
n n假設閾值設定60%,則人臉比對通過率=4/8=50%,誤報率=1/8=12.5%。
假設閾值設定70%,則人臉比對通過率=2/8=25%,誤報率=1/8=12.5%。
假設閾值設定50%,則人臉比對通過率=5/8=62.5%,誤報率=2/8=25%。
目前人臉識別在金融、教育、景區、出入境、機場等領域已經大量應用,方便的同時也帶來了一些問題,怎麼做好人臉識別的測試,還是乙個需要思考和深挖的課題。上述只是我近期在測試過程中的總結,分享大家。
人臉識別的流程
記錄一下目前對人臉識別流程及識別方法的理解,以後隨著認識的提公升不斷更新 在整個過程中所使用的都是灰度化之後的。為什麼要轉化為灰度?1.識別物體最關鍵的部分是,找到物體的邊緣,就是的梯度,的梯度計算用到的就是灰度化之後的。2.顏色容易受到光照影響,難以提供關鍵資訊,最重要的是灰度化之後可以加快計算速...
人臉識別的深度學習
深度學習只不過是機器學習的標準範例,更準確地說 是其演算法之一。在最大程度上,它基於人腦的概念和神經元的相互作用。如果你開始谷歌搜尋深度學習是什麼,你會發現今天這個超級熱門詞遠遠不是新的。為什麼這樣?該術語本身出現在20世紀80年代,但到2012年,沒有足夠的力量來實施這項技術,幾乎沒有人關注它。在...
人臉識別的深度學習
深度學習只不過是機器學習的標準範例,更準確地說 是其演算法之一。在最大程度上,它基於人腦的概念和神經元的相互作用。如果你開始谷歌搜尋深度學習是什麼,你會發現今天這個超級熱門詞遠遠不是新的。為什麼這樣?該術語本身出現在20世紀80年代,但到2012年,沒有足夠的力量來實施這項技術,幾乎沒有人關注它。在...