在过去的一段时间里,因为听见业务对人脸服务方案的需求,针对网络视频中关键人物定位的检索任务,完成了基于互联网场景的人脸基线服务的构建。本文档是对当前基线服务以后之后解决方案的优化进行总结。
本文档描述的人脸服务是基于现有的人脸引擎1910版本的基础进行二次开发完成的,后根据开发的测试工具对人脸服务的性能进行分析。
| 序号 | 术语或缩略语 | 说明性定义 |
| 1 |
|
|
| 2 |
|
|
| 3 |
|
|
| 4 |
|
|
| 5 |
|
|
| 6 |
|
|
| 7 |
|
|
本文档描述的人脸服务是基于现有的人脸引擎1910版本的基础进行二次开发完成的。整个服务主要分为两个模块:目标库的构建、网络视频中目标库人物的检索。
根据互联网场景的实际需求,构建目标人物的底库。具体的需求包括:目标库创建、目标库删除、目标库新增图片文件、目标库信息查询、目标库删除图片文件。
目标库创建:创建一个目标库,用于存储目标人的注册人脸图片特征以及相对应的ID。
目标库删除:将创建好的目标库,进行删除。
目标库新增图片文件:若已经创建了目标库,并且有的新的目标人物,需要支持将新的目标人的注册到目标库当中。
目标库删除图片文件:若已经创建了目标库,并且发现其中部分的目标人物失效,需要支持将失效的目标人物从目标库中删除的操作。
目标库建立完成之后,需要用目标库中的关键人在互联网视频中检索,目标库关键人物的检索的需求包括:人脸检测,人脸跟踪,人脸关键点定位,人脸质量评价,人脸特征提取,人脸比对,人脸检索。
人脸检测:对视频解码后的互联网视频没隔15帧做一次人脸检测,检测结果作为后续人脸跟踪的初始化以及终止标准;
人脸跟踪:利用人脸检测的结果进行人脸跟踪的初始化,并对互联网视频解码出的每一帧进行人脸跟踪的操作;
人脸关键点定位:对获得的人脸框提取21个关键点,用于人脸特征的提取;
人脸质量评价:对获得的人脸进行质量评价,输出得分,角度等评价指标,只有通过质量评价的人脸才会进行后续的人脸特征提取以及人脸比对;
人脸特征提取:利用提取的人脸关键点,用于提取人脸的特征,这个特征可以用于人脸的特征比对;
人脸比对:利用提取两个人脸的特征比较两个人脸的相似度,并输出人脸相似度的得分;
人脸搜索:利用提取的人脸特征去目标库去检索匹配,做人脸比对。
经过调研发现互联网场景下的网络视频相比与监控摄像头来说,多了视频的跳变部分,也就是电视中经常见切镜的画面。而视频的切镜会影响人脸的跟踪模块,因为人脸的跟踪模块是不能应付切镜这种情况的。所以为了解决这种问题,需要在人脸服务中添加跳帧检测的功能,及时发现视频切镜的地方,及时终止并清除当前所有跟踪,基线方案中使用的方案如下:
跳帧检测:对解码后的视频的相邻两帧进行相似度度量,判定当前帧是否发生跳变,即视频的切镜。
人脸图片的选取:对于人脸轨迹中用于人脸检索的人脸图片的选取方法是对于同一个跟踪ID的人脸轨迹中选取一张质量评价最好的一张图片进行特征提取,将利用提取的特征代表当前跟踪ID的轨迹,并将结果送入目标库进行检索和人脸比对。
整体的互联网场景下人脸服务的基线策略的流程图如图1所示:
图1 互联网场景下人脸服务的基线策略的流程图
其中:
IFRDFaceDetect:表示人脸引擎中人脸检测的主要接口;
IFRTInitTrack和IFRTUpdateTrack:表示人脸引擎中人脸跟踪的主要接口;
IFRDQualityAcess:表示人脸引擎中图片质量评价的主要接口;
IFRAFaceAlign:表示人脸引擎中人脸图片关键点提取的主要接口;
IFRVGetFea:表示人脸引擎中人脸图片特征提取的主要接口;
IFRVCompFea:表示人脸引擎中人脸特征比对的主要接口
3.1 测试验证标准
视频中标注一个人脸出现的时间段,该人脸在人脸服务引擎的目标库中注册,引擎开启目标跟踪,每段视频只标注特定的一个人。
数据集:
判定条件:
相关定义:
将上述A+B的所有人脸比对结果输出的得分作为PR曲线的阈值,即每一个得分阈值计算一组Precision和Recall的值,最后给出人脸服务的PR曲线,针对这个PR曲线分析人脸服务引擎的效果。
针对上述的测试方案,对人脸服务的基线引擎进行了测试,具体的实验结果如下所示。
图2 Precision and Recall 曲线
从PR曲线的趋势可以看出,准确率随着召回率先降后升再降的现象,这样的原因是人脸服务的引擎出现了高分虚警的情况。查看了阈值为0.999212的所有虚警,如图3所示,发现高分虚警基本上都是出现在简历视频中。
图3 阈值为0.999212时,人脸服务引擎输出的高分虚警列表
查看人脸服务的高分虚警视频,发现如下问题,视频的截图如图4所示,发现视频中出现了类似ppt翻页的操作,导致一段完整的视频被切成多段,而按照上述的测试标准,所有的被切出来的帧区间都和视频标注的帧区间不满足条件,所以这样的视频都变成了高分虚警,从而影响了人脸服务引擎的准确率。
图4 视频截图
从整体的PR曲线可以看出,实际人脸服务引擎的召回率比较低,并且准确率也不高,所以需要对人脸服务引擎进一步进行优化。
下一步工作:
从人脸服务基线的测试结果中,可以看出,在当前的测试标准下,人脸服务的效果不理想,最大的召回率和准确率都比较低,其中的问题有的是出现在测试标准中所以需要对测试的指标重新进行制定,也有的问题是出现在服务,所以需要对人脸服务引擎本身进一步的优化。