互联网场景下人脸服务解决方案优化设计

2互联网场景下人脸服务分类

2.1 视频中人物在底库中进行top1的检索

       针对所有需要监控的互联网视频,维护一个存储重点监控人物的底库。然后将所有的监控视频中提取出来的人脸图片提取特征与底库中的重点监控人物的特征进行比对,给出每次匹配底库中top1的结果,并整理合并的相应的识别结果输出的重点监控人物在视频中的片段,我们将这类人物记作视频中人物在底库中进行top1的检索。

2.2 视频中特定人的检索

       当维护的重点监控人物底库新增重点监控人物的时候,针对之前被检索过视频,需要对新增的重点监控人物进行一轮检索,例如某高官(记为目标A)落马,维护的重点监控人物的底库列表需要新增目标A,之前被底库检索过的所有互联网的视频都需要对目标A进行新一轮的检索,我们将此类任务记作视频中特定人物的检索,此类任务大多可以使用离线的视频处理策略。

3.人脸服务引擎的基本原理

        本文档描述的人脸服务是基于现有的人脸引擎1910版本的基础进行二次开发完成的。整个服务主要分为两个模块:目标库的构建、网络视频中目标库人物的检索。

3.1 目标库的构建

根据互联网场景的实际需求,构建目标人物的底库。具体的需求包括:目标库创建、目标库删除、目标库新增图片文件、目标库信息查询、目标库删除图片文件。

目标库创建:创建一个目标库,用于存储目标人的注册人脸图片特征以及相对应的ID。

目标库删除:将创建好的目标库,进行删除。

目标库新增图片文件:若已经创建了目标库,并且有的新的目标人物,需要支持将新的目标人的注册到目标库当中。

目标库删除图片文件:若已经创建了目标库,并且发现其中部分的目标人物失效,需要支持将失效的目标人物从目标库中删除的操作。

3.2网络视频中目标库人物的检索方法

目标库建立完成之后,需要用目标库中的关键人在互联网视频中检索,目标库关键人物的检索的需求包括:人脸检测,人脸跟踪,人脸关键点定位,人脸质量评价,人脸特征提取,人脸比对,人脸检索。

人脸检测:对视频解码后的互联网视频没隔15帧做一次人脸检测,检测结果作为后续人脸跟踪的初始化以及终止标准;

人脸跟踪:利用人脸检测的结果进行人脸跟踪的初始化,并对互联网视频解码出的每一帧进行人脸跟踪的操作;

人脸关键点定位:对获得的人脸框提取21个关键点,用于人脸特征的提取;

人脸质量评价:对获得的人脸进行质量评价,输出得分,角度等评价指标,只有通过质量评价的人脸才会进行后续的人脸特征提取以及人脸比对;

人脸特征提取:利用提取的人脸关键点,用于提取人脸的特征,这个特征可以用于人脸的特征比对;

人脸比对:利用提取两个人脸的特征比较两个人脸的相似度,并输出人脸相似度的得分;

人脸搜索:利用提取的人脸特征去目标库去检索匹配,做人脸比对。

3.3互联网场景下人脸服务基线方案

经过调研发现互联网场景下的网络视频相比与监控摄像头来说,多了视频的跳变部分,也就是电视中经常见切镜的画面。而视频的切镜会影响人脸的跟踪模块,因为人脸的跟踪模块是不能应付切镜这种情况的。所以为了解决这种问题,需要在人脸服务中添加跳帧检测的功能,及时发现视频切镜的地方,及时终止并清除当前所有跟踪,基线方案中使用的方案如下:

跳帧检测:对解码后的视频的相邻两帧进行相似度度量,判定当前帧是否发生跳变,即视频的切镜。

人脸图片的选取:对于人脸轨迹中用于人脸检索的人脸图片的选取方法是对于同一个跟踪ID的人脸轨迹中选取一张质量评价最好的一张图片进行特征提取,将利用提取的特征代表当前跟踪ID的轨迹,并将结果送入目标库进行检索和人脸比对。

整体的互联网场景下人脸服务的基线策略的流程图如图1所示:

图1 互联网场景下人脸服务的基线策略的流程图

其中:

IFRDFaceDetect:表示人脸引擎中人脸检测的主要接口;

IFRTInitTrack和IFRTUpdateTrack:表示人脸引擎中人脸跟踪的主要接口;

       IFRDQualityAcess:表示人脸引擎中图片质量评价的主要接口;

       IFRAFaceAlign:表示人脸引擎中人脸图片关键点提取的主要接口;

       IFRVGetFea:表示人脸引擎中人脸图片特征提取的主要接口;

       IFRVCompFea:表示人脸引擎中人脸特征比对的主要接口

3.4互联网场景下人脸服务优化方案

3.4.1 准确率方向解决方案

       基线人脸服务解决方案每一条跟踪轨迹中仅仅只给出一张质量评价最好的图片,送入识别线程中进行识别,会出现如下几个问题:1.如果被选中的这张图片被识别错误,那么整条轨迹都会被错检;2.如果引擎检出的一条轨迹中不仅仅只包含一种人脸,那么输出一个识别结果就会出现漏检的情况。

       针对上述问题,建议将整条轨迹进行拆分识别,例如一条轨迹全长为90帧图片,拆分成15帧图片为一组的片段,共计6段。每个片段选取一张质量评价最好的图片送到识别线程进行识别,并对最后的识别结果进行融合处理。

       融合策略如下:1.若拆分片段结果都相同,则对结果直接进行合并处理;2.若拆分的结果有多个,则对相同的结果进行合并,输出所有合并后不同的结果;

3.4.2 召回率方向解决方案

       因为底库图片的风格可能和实际需要处理的视频的风格差异很大,所以会使得视频中需要被检出的目标人物被漏检。这样执行整个流程后实际检出的召回率很低。

       针对上述问题,建议将底库在视频中检出的高分图片整合起来构建一个的临时底库,通过这个临时的底库在视频中进行二次检索,这样底库的图片和视频的风格就相匹配,从而可以增加实际的召回率

4. 互联网场景下人脸服务基线方案效果验证方案

4.1 性能需求

4.1.1 性能需求和指标

        待定。

4.1.2 稳定性需求

        待定。

4.2 验收标准

4.2.1 测试标准

1、底库要求和标注视频段的要求

       a、底库的数量以75个国家领导人为准,不要在底库中添加无关的负例的人脸图片;

       b、标注的视频段中有的目标在短时间里切换很多回,例如存在目标X,其在标注中的区间段为A,B,C,D , 若两帧区间段之间的时间差距小于5s(设置配置,后期可以协商),即C-B<5 ,则应该将这两个区间合并。

2、帧区间段数量层面:即以视频中检出人脸数量的维度考虑,所以统计的是帧区间段的数量

     a、人脸服务引擎实际检出的人脸帧区间段与人工标记帧区间段的命中关系如下:                        

                i、要求人脸服务引擎实际检出帧区间段与人工标记帧区间段起始和结束位置的偏差不超过30s(设置配置),才被视为当前帧区间段命中。即:人脸服务引擎实际检出人脸帧区间段记为A,B ,人工标记帧区间段记为[C,D] ,若满足A-C≤30 并且B-D≤30 ,则帧区间段命中。

                ii、存在人脸服务引擎实际检出的人脸帧区间段和人工标记帧区间段有交集,但是不满足a)中的命中条件,此时的检出帧区间段原则上不能判定为错误,因为这样会引入非常多的高分虚警,例如检出帧区间段a,b,c,d 都和人工标记帧区间e 相交,假设c 帧区间段为命中,而将其他帧区间段因为不满足命中条件被判定为虚警,显然是不合理的。即:若人脸服务引擎实际检出的人脸帧区间段不满足条件a),但是A,B[C,D]≠∅ ,则需要抛弃当前人脸服务引擎实际检出人脸帧区间段,不参与后续评价指标的计算

        b、评价指标

                i、召回率:命中的数量/人工标记帧区间段的数量

                ii、准确率:命中的数量/人脸服务引擎实际检出的人脸帧区间段的数量

3、帧区间段时间层面:即以视频中检出人脸持续时间的维度考虑,所以统计的是帧区间段的时间

        a、人脸服务引擎实际检出的人脸帧区间段与人工标记帧区间段在时间上对应的关系如下:

                i、要求将所有人脸服务引擎实际检出帧区间段与人工标记帧区间段相交的部分定义为有效的人脸帧区间段。即人工标记帧区间段记为[C,D] ,将人脸服务引擎实际检出并且与人工标记帧区间段相交的人脸帧区间段记为A0,B0,...,Ai-1,Bi-1,Ai,Bi,...,AI,BI ,人脸服务引擎实际检出有效并且正确的人脸帧区间段的时间为iIAi,BiC,D ,其中I 表示的是和人工标记帧区间段相交的人脸服务检出帧区间段的数量。

        b、评价指标:

                i、召回率:所有人脸服务引擎实际检出有效并且正确的人脸帧区间段的时间之和/所有人工标记帧区间段的时间之和,即jJi=0IjAji,BjiCj,DjCj,Dj ,其中J 表示的是人工标记帧区间段的数量。

                ii、准确率:所有人脸服务引擎实际检出有效并且正确的人脸帧区间段的时间之和/所有人脸服务引擎实际检出的人脸帧区间段的时间之和,即jJi=0IjAji,BjiCj,DjAji,Bji ,其中J表示的是人工标记帧区间段的数量。

4.2.2 验收标准

        需要在上述的测试条件下,达到相应的需求的指标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/761944.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024 全球软件研发技术大会来了!NineData创始人CEO叶正盛将分享《云原生实时数据复制技术原理与实践》主题演讲

2024年7月4-5日&#xff0c;由 CSDN 和 Boolan 联合主办的「2024 全球软件研发技术大会&#xff08;SDCon&#xff09;」将在北京威斯汀酒店举行&#xff0c;将成为引领行业迈向 AI 2.0 时代的重要桥梁。NineData 创始人&CEO叶正盛受邀参会&#xff0c;并将带来《云原生实时…

怎么采集天猫的商品或店铺数据

怎么使用简数采集器批量采集天猫的商品或店铺相关信息呢&#xff1f; 简数采集器暂时不支持采集天猫的商品或店铺相关数据&#xff0c;只能采集页面公开显示的信息&#xff0c;谢谢。 简数采集器抓取网页数据特别简单&#xff0c;不需要懂技术写代码&#xff0c;只需填写网址…

ROS2用c++开发参数节点通信

1.创建节点 cd chapt4/chapt4_ws/ ros2 pkg create example_parameters_rclcpp --build-type ament_cmake --dependencies rclcpp --destination-directory src --node-name parameters_basic --maintainer-name "joe" --maintainer-email "1027038527qq.com&…

大数据开发助手:Coze平台上一款致力于高效解决大数据开发问题的智能Bot!

大数据开发助手&#xff1a;Coze平台上一款致力于高效解决大数据开发问题的智能Bot 核心技术揭秘1. **自然语言处理&#xff08;NLP&#xff09;**2. **知识图谱构建**3. **个性化推荐算法** 功能特色概览1. **即时问题解答**2. **最佳实践分享**3. **个性化学习路径**4. **社区…

在 CentOS 上安装 Docker Engine

前言 Docker 是啥之类的就不必多说了&#xff0c;直接上安装步骤。 官网安装教程地址&#xff1a;https://docs.docker.com/engine/install/centos/ 1.Uninstall old versions &#xff08;卸载旧版本&#xff09; Older versions of Docker went by docker or docker-engin…

error LNK2019: 无法解析的外部符号 _SDL_main,该符号在函数 _main_getcmdline 中被引用

VC MFC情况下出现此问题&#xff0c; 网上搜索了很多文章无法解决。 error LNK2019: 无法解析的外部符号 _SDL_main&#xff0c;该符号在函数 _main_utf8 中被引用_sdl2main.lib出现无法解析的外部符号-CSDN博客 字符集必须设置为&#xff1a;

【Android面试八股文】性能优化相关面试题: 什么是内存抖动?什么是内存泄漏?

文章目录 一、什么是内存抖动?内存抖动的问题卡顿OOM(Out Of Memory)二、什么是内存泄漏(Memory Leak)?引用计数法可达性分析法一、什么是内存抖动? 在Java中,每创建一个对象,就会申请一块内存,存储对象信息; 每分配一块内存,程序的可用内存也就少一块; 当程序…

SwiftUI八与UIKIT交互

代码下载 SwiftUI可以在苹果全平台上无缝兼容现有的UI框架。例如&#xff0c;可以在SwiftUI视图中嵌入UIKit视图或UIKit视图控制器&#xff0c;反过来在UIKit视图或UIKit视图控制器中也可以嵌入SwiftUI视图。 本文展示如何把landmark应用的主页混合使用UIPageViewController和…

VaRest插件常用节点以及Http请求数据

1.解析json &#xff08;1&#xff09;Construct Json Object&#xff1a;构建json对象 &#xff08;2&#xff09;Decode Json&#xff1a;解析json 将string转换为json &#xff08;3&#xff09;Encode json&#xff1a;将json转换为string &#xff08;4&#xff09;Get S…

非标设备行业的数智化项目管理

近年来&#xff0c;中国制造快速发展&#xff0c;企业迫切需要加快转型升级。与传统制造业相比&#xff0c;高端制造业具有明显的优势&#xff1a;高技术、高附加值、低污染、低排放、竞争优势强。一方面&#xff0c;企业对于生产效率和自动化水平的要求不断提高&#xff0c;期…

[vue2/vue3] 详细剖析watch、computed、watchEffect的区别,原理解读

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;我是前端菜鸟的自我修养&#xff01;今天给大家分享【深入剖析watch、computed、watchEffect的区别】&#xff0c;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;原创不易&#xff0c;如果能帮助到带大家…

安装docker compose与elasticsearch,kibana

1.docker compose安装 1.1是否已安装docker docker -v 1.2安装docker compose curl -SL https://github.com/docker/compose/releases/download/v2.18.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-composeps:如果网络太慢可直接在博客中下载附属文件 下载后修…

缺失d3dx9_43.dll是怎么回事?教你几种靠谱的解决方法

在日常生活和工作中&#xff0c;电脑已经成为我们不可或缺的工具。然而&#xff0c;在使用电脑的过程中&#xff0c;我们常常会遇到一些问题&#xff0c;其中之一就是软件运行时提示d3dx9_43.dll丢失。这个问题会导致软件游戏无法启动运行&#xff0c;但只要我们了解其原因和解…

光扩散微球市场增长空间大 我国已实现其产业化

光扩散微球市场增长空间大 我国已实现其产业化 光扩散微球是一种高性能微球材料&#xff0c;具有优异的光学和力学性能&#xff0c;且不含杂质&#xff0c;将其涂抹在光扩散膜&#xff08;板&#xff09;上&#xff0c;可以将点光源变成面光源&#xff0c;使显示面板的布光更加…

论文阅读YOLO-World: Real-Time Open-Vocabulary Object Detection

核心&#xff1a; 开放词汇的实时的yolo检测器。重参数化的视觉语言聚合路径模块Re-parameterizable VisionLanguage Path Aggregation Network (RepVL-PAN)实时核心&#xff1a;轻量化的检测器离线词汇推理过程重参数化 方法 预训练方案&#xff1a;将实例注释重新定义为区域…

喜讯!安全狗荣获“2023年网络安全技术支撑优秀单位”称号

6月6日&#xff0c;由中共厦门市委网络安全和信息化委员会办公室&#xff08;以下简称“厦门市委网信办”&#xff09;主办的2023年网络安全技术支撑优秀单位颁奖仪式在厦门成功举行。 作为国内云原生安全领导厂商&#xff0c;安全狗受邀出席此次活动。 会上&#xff0c;安全狗…

【ai】ubuntu18.04 找不到 nvcc --version问题

nvcc --version显示command not found问题 这个是cuda 库: windows安装了12.5 : 参考大神:解决nvcc --version显示command not found问题 原文链接:https://blog.csdn.net/Flying_sfeng/article/details/103343813 /usr/local/cuda/lib64 与 /usr/local/cuda-11.3/lib64 完…

OZON家具用品有哪些是热销的

在俄罗斯电商市场中&#xff0c;OZON平台凭借其强大的影响力和广泛的用户基础&#xff0c;成为家具用品销售的重要阵地。那么&#xff0c;在这个平台上&#xff0c;哪些家具用品最受欢迎&#xff0c;销量持续走高呢&#xff1f;本文将为您揭秘OZON家具用品的热销秘诀&#xff0…

Golang开发:构建支持并发的网络爬虫

Golang开发&#xff1a;构建支持并发的网络爬虫 随着互联网的快速发展&#xff0c;获取网络数据成为了许多应用场景中的关键需求。网络爬虫作为一种自动化获取网络数据的工具&#xff0c;也因此迅速崛起。而为了应对日益庞大的网络数据&#xff0c;开发支持并发的爬虫成为了必…

INS-GPS组合导航——卡尔曼滤波

系列文章目录 《SAR笔记-卫星轨道建模》 《SAR笔记-卫星轨迹&#xff08;三维建模&#xff09;》 《常用坐标系》 文章目录 前言 一、经典卡尔曼滤波 二、扩展卡尔曼滤波 三、无迹卡尔曼滤波 总结 前言 SAR成像仪器搭载于运动平台&#xff0c;平台的自定位误差将影响SAR…