1. 程式人生 > >【AI測試】人臉檢測專案的測試與評價

【AI測試】人臉檢測專案的測試與評價

專案背景

使用者拍照,演算法模型分析照片,檢測到人臉後進行人臉擷取,並進行接下來的業務操作。對於照片中有多張人臉,計算離照片中心點最近的人臉。
(部分專案內容)

測試思考,需求分析

需求分析

演算法是如何實現的
程式碼邏輯找演算法工程師講講

測試點是什麼?
  • 是否可以正確檢測到人臉,區分人臉和非人臉
  • 檢測到人臉後,人臉的擷取是否合理,不會出現擷取不全,擷取多出,擷取偏斜等不合理情況
  • 人臉檢測的評價,準確率、精確率、召回率
  • 人臉檢測的速度
  • 照片中的多人臉,是否是檢測擷取離中心點最近的人臉
需要什麼樣的測試資料?

只關注APP使用者場景下拍出的照片的人臉檢測,不關注其他生活中各類場景照片。
故不用業界有名的人臉識別資料庫來測試。
APP也有人臉的檢測,需要有較大部分人臉才會進行拍照(APP怎麼實現的,待了解),所以不用太關注沒有人臉的照片來進行測試。但還是需要用一些照片來驗證下。就是不需要各種生活場景的各類物體來測試。

  • APP拍攝的照片–XXXX張
    照片需要包括不同光線照明場景,尤其是弱光,光線不足,暗場景下的照片。
    照片需要包括不同姿勢(偏頭、仰頭、側面)場景照片。
    照片質量儘量包括不同的解析度大小 。演算法不處理300萬畫素以下的,所以不用關注低於300萬畫素照片。
    照片人臉被物體(如眼鏡、面膜、口罩、手等)遮擋場景照片。
  • 照片中有多個人臉的照片。只考慮APP拍照情況下的多人臉,情況較少出現。
  • 沒有人臉照片–XX張
  • 線上環境之前出現檢測不到人臉的照片
測試進行

寫測試程式碼,批量執行照片,儲存人臉檢測後,擷取到的人臉照片。

測試結果檢視

人工檢視擷取的人臉照片是否合理
人工檢視多人臉照片擷取的是離中心點最近的人臉
統計照片個數:

TP:實際有人臉,預測有人臉
TN:實際沒有人臉,預測沒有人臉
FP:實際沒有人臉,預測有人臉
FN:實際有人臉,預測沒有人臉

得到評價指標:
準確率(Accuracy) = (TP + TN) / 總樣本
精確率(Precision) = TP / (TP + FP)
召回率(Recall) = TP / (TP + FN)

人臉檢測速度

批量執行照片,記錄每張照片人臉檢測耗時,資料格式轉成numpy,使用numpy函式
得到最大值、最小值、平均值、中位數 等耗時資料。