【AI测试】人脸识别中性别识别模型评价(项目实例)

以人脸识别中的性别识别测试为实例,对整个测试过程进行详细讲解。

举例有一个项目,要求是输入一张人脸照片,使用算法对照片中人物的性别进行预测男 或 女。
测试人员需要对算法模型的表现进行评价,输出客观的评价指标。

测试工作开展:

一、需求分析,查看需求文档,了解需求

算法的输入和输出是什么的内容,格式。
测试人员需要给出的评价指标。
训练数据中男性照片和女性照片数据分别有多少,比例。
照片数据是怎样的(是否有老人,小孩等)。
算法是如何实现的。(整个模型预测流程;数据是如何处理;用的是什么算法)

思考方向:
算法工程师使用男女训练数据比例是否合理?
照片数据中覆盖是否全面?

二、测试数据准备(相当于编写测试用例)

类比一个输入框的测试,需要测试汉字、字符、表情、数字、字母,组合等多种情况下的。这里也是类似。
主要考虑:
1,需要什么样的测试数据
2,测试数据要多少

思考什么情况下可能会影响到算法识别性别,准备这样的测试数据。
这里给出一些建议:

  1. 男性照片和女性照片测试数据比例和训练数据中比例保持一致。
  2. 照片数据中包括不同年龄段男女
  3. 正常脸部拍摄的照片
  4. 包括不同光线照明场景,尤其是弱光,光线不足,暗场景下的照片。
  5. 包括不同姿势(偏头、仰头、侧面)场景照片。
  6. 被物体(如眼镜、面膜、口罩、手等)遮挡场景照片。

测试数据总数多少参考之前写的博客。
本次项目测试主要考虑用户群体,用户场景下拍摄的照片。不使用网络照片。不使用国外人脸数据集。不考虑国外人群,像黑种人性别识别。
进入性别识别前有人脸识别模型判断有没有人脸,多人脸判断等,所以不用考虑非人脸是否会识别出性别的问题。
场景下不会有脸部区域很小的照片。此不考虑。

笔者这里使用1100张女性照片,900张男性照片做为测试数据。
测试数据的标注:
如果是图片是本地.jpg格式的,在一个文件夹中新建2个子文件夹,一个命名man存放所有男性照片,一个命名为woman存在所有女性照片。

如果图片是url,所有url保存在一个txt文档中,分为两列,第一列为url, 第二列为对应标注1, 2

三、测试脚本

测试脚本主要功能:批量运行所有测试数据,记录模型预测值,和标注值进行,计算得出评价指标。保存判断出错的照片。并记录每张照片所预测耗时,计算出平均值、中位值、最大值 、最小值等 数据。
使用python编写实现,评价指标使用sklearn包,平均值使用numpy。

如果同一张照片,模型的输出结果是不变的。脚本运行一次就可以。
如果同一张照片,运行多次,可能会有不一样的输出。要多次运行脚本,评价指标取平均值或 其他。看具体出的指标情况。

四、结果分析

查看评价指标。
查看判断出错的照片,是不是标注出错。有没有什么共同特征等。

五、大批量照片数据运行

使用大量照片(不需要标注男女)运行,只关注是否会有运行失败、报错的情况,不关注预测出来的结果是否正确。
大量数据情况下,主要考察是否有些数据会运行报错。

六、和百度人脸识别中性别识别PK

待补充

猜你喜欢

转载自blog.csdn.net/lhh08hasee/article/details/83861820