更多课程 选择中心

软件测试培训
达内IT学院

400-111-8989

软件测试培训案例分享:人脸识别测试总结


今天的软件测试培训,我们一起来看一组案例——人脸识别测试,算是我们从软件测试领域初次探险AI领域,从人脸识别的架构和核心上探讨测试的重点,希望你学有所获!

测试之前需要先了解人脸识别的整个流程,红色标识代表的是对应AI架构中的各个阶段:

人脸识别的整个流程

首先是人脸采集

安装拍照摄像设备之后,需要在动态的场景与复杂的背景中判断是否存在人脸,并分离出这种面像。然后采集到人脸的照片。

人脸采集流程图

因此采集过程是非常重要的,一需要能够采集到内容,二采集的内容能够分离出来是人脸。

而特征提取的原理是,将获取的人脸照片进行色彩矫正、光线调整,五官定位和脸部分割,将人脸的鼻子、眼睛、嘴巴等视为一个个特征点,计算每个特征点所在的位置、距离、角度。

正常场景下,在合适的光源下,采集人脸的正面,包含正常完整的人脸轮廓,毫无遮挡的五官,清晰的被拍照设备拍到,这样才能够准确的捕捉到特征,并判断出来。


但对于测试同学来讲,还要考虑异常场景的表现,即任何可能造成拍不到,拍不清晰,判断不出是人脸,或者不完整的表现。详细场景比如:

1) 人脸没有正对摄像头,角度有倾斜。

2) 拍照环境过暗或者过黑。

3) 有佩戴黑框眼镜或墨镜拍照。

4) 头发有明显遮住眼睛或脸部轮廓。

5) 摄像头内包含多张人脸。


另外判断拍摄的样品是否包含人脸时,原理上一般会通过样品学习、或者是参考模版来,比如先设计一个标准人脸的模版,包含标准的特征、有一定的结构分布、相对规律的肤色分布。

那么针对这个原理,在测试时需要考虑不同肤色,或者是面部特征过于复杂的案例,比如黑人、比如脸上有皱纹的老人。

再看人脸比对

实际应用场景中,人脸比对的本质是照片的比对。比对两张脸中,其中一张脸一般来自于当前场景拍摄的照片,另一张照片一般来自于公安部或者数据库中的照片。

公安部或数据库的照片是用来作为比对标准的,也是固定且一般不可随意篡改的。但采集照片的环节容易出现各种各样的漏洞,容易被一些不法分子利用虚假照片、他人照片、网络照片等进行攻击。

因此,从测试角度来看,需要覆盖到这些非法采集照片的行为,比如:

1) 翻拍后的照片

2) 长相相似度很高的非本人的照片

3) 软件合成的虚拟人脸

4) 基于证件照PS的照片

人脸比对

目前市面上主流的几种抗攻击的照片采集方式主要有三种:活体检测、连续检测、3D检测。

活体检测:判断用户是否为正常操作,通过指定用户做随机动作,一般有张嘴、摇头、点头、凝视、眨眼等等,防止照片攻击。 判断用户是否真实在操作,指定用户上下移动手机,防止视频攻击和非正常动作的攻击。

人脸识别过程操作

3D检测:验证采集到的是否为立体人像,能够防止平面照片、不同弯曲程度的照片等

连续检测:通过连续的检测,验证人脸运动轨迹是否正常,防止跳过活体检测直接替换采集的照片,也能够防止中途切换人。

其中活体检测是现在应用最广的一种抗攻击人脸数据采集方式。

因为不管是直接对照片检测,还是对活体进行检测,最终的目的都是采集人脸不同角度的照片。因此如果活体检测没有与连续性检测和3D检测结合使用,也会存在一些漏洞。

人脸识别测试采集角度

这些漏洞即是测试的重点:

1) 拍摄人脸正面、侧面、张嘴、闭眼等照片,用不同角度的静态照片绕过本人现场检测。

2) 录制各种动作视频,按照一定的标准拼接起来,绕过本人现场检测。

计算机只会告诉我们比对的两张脸的相似程度,是80%或者是20%,但不会告诉我们这两张脸是否为同一个人。

因此人脸比对有一个阈值的概念。设置相似度大于x%的时候,视为人脸比对通过,小于x%的时候,视为人脸比对不通过。设定阈值的过程就是模型评估。

阈值设定过低,则人脸比对通过率高,误报率可能也会升高。

阈值设定过高,则人脸比对通过率低,误报率可能也会降低也可能会增高。

因此在人脸识别的测试中,除了要关注通过率,还要关注误报率。这两项也可以统称为是查准率。

举个例子:

有8个样本,分别拿十张照片与数据库证件照进行人脸比对,其中4个确实是人证统一,另外四个人证不同。比对的结果相似度如下:

人脸识别测试对比

假设阈值设定60%,则人脸比对通过率=4/8=50%,误报率=1/8=12.5%。

假设阈值设定70%,则人脸比对通过率=2/8=25%,误报率=1/8=12.5%。

假设阈值设定50%,则人脸比对通过率=5/8=62.5%,误报率=2/8=25%。

目前人脸识别在金融、教育、景区、出入境、机场等领域已经大量应用,方便的同时也带来了一些问题,怎么做好人脸识别的测试,还是一个需要思考和深挖的课题。

恭喜你已经阅读完了本文,不知道初次探险AI领域,你有没有不良反应?是这样的,随着人工智能的诞生,职场上对软件测试人员的测试水平、知识面等要求越来越高,所以通过今天这个小小的案例,希望带给你继续探索的动力、勇气和决心!好了,如果你还有更多软件测试的问题,欢迎你来达内软件测试培训机构进行咨询。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:软件测试人员要如何应对那些偶然出现的bug?
下一篇:来自软件测试老司机的锦囊妙计之小公司实现APP的UI自动化测试之路

你知道吗?做软件测试不一定需要精通代码!

软件测试人员不需要懂代码,这是一个伪命题!

如何设计登录测试的设计用例?

软件测试必备的数据库知识有哪些?(终)

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

陕西省

湖南省

贵州省

云南省

广西省

海南省