最近有合作公司的项目需要服务端人脸识别的开发,于是就用了公司的人脸识别SDK开发,由于之前对服务端开发介绍的资料比较少,正好这次又做了这个项目,花了几天的开发,这里就简单分享一下个人的见解。

###影响性能的几个关键点 ####1、人脸检测 人脸检测接口就是可以把一张图片的人脸照片图, 经过FaceEngine的处理,检测出人人脸框信息。检测模式有两种,image模式和video模式,image模式对于人脸检测准确率比较高,但性能没有video模式高。video模式适用于在视频流模式下,在视频流模式有更快的处理性能和更好的人脸框稳定性。Video模式下,处理一帧图片在10毫秒内,所以在30帧的视频中,可以轻松的对每帧进行人脸检测。

####2、特征提取 特征提取是在检测出人脸框的基础上,寻找出该人脸最具特别性的描述,该描述可被传输和保存,在ArcFace2.0中,一个特征占用1032字节,特征提取要花100-150毫秒,所以每帧都做特征提取是不可行的,但借助TrackID,可以做到一张人脸只要提取一次人脸特征。 ####3、人脸比对 人脸比对即特征比对,对两张人脸照片图分别提取特征,然后进行比较,获取相似度。该比对的时间是微妙级的,但在实际的应用过程中,往往是几千个特征甚至几万个特征进行比对,所以处理时间要成倍的增加。假设处理一个特征需要3微妙,那么在5万的特征库中进行比较,时间就是3*50000=150毫秒

###如何应对实时性高的场景 无感是永远的痛 人脸识别经常用在一些实时性比较高的场合,比如门禁这类系统,客户往往要求我们要“无感”通过。这些实时性高的系统,通常利用网络传输视频流,服务器来处理再反馈结果,如果没有在网络,内存,CPU上做足够的优化,往往带来的就是延迟高,响应慢。 光看上面文字,大家可能没什么印象。咱们还是来一张图,一起来直观的感受一下耗时分析

咱们来算算,假设100个设备,每秒钟30帧的照片,每帧100K,那么每秒钟有多少流量?每分钟有多少?每天呢? 按照标准的算法,每个设备每秒钟流量:1*30帧*100KB=3MB 换算到分的话3MB*60秒=16MB/分 1天的话16MB*60分钟*24小时=23040MB/天 100个设备的话23040MB*100=2T/天,也就是每天有T级别流量 哇,这么一算,一般的服务器和网络怎么受得了 老规矩,咱们看图来分析下现状 如上图,照片实时上传到服务器,服务器人脸检测和特征提取,服务器特征比对,排序,结果输出。 全部交给服务器处理,服务器压力太了,让客户端分担点吧 。

优化后...

把人脸检测和特征提取全放客户端,客户端每次上传人脸特征,服务端做特征比对、排序,结果输出。

虹软人脸识别SDK - Java服务端的那些事相关推荐

  1. java用虹软人脸识别SDK实现人脸识别,运行ArcSoft的Java版本Demo出错,未检出人脸

    java.lang.UnsatisfiedLinkError: Can't load library: d:\face_libs\libarcsoft_ java用虹软人脸识别SDK实现人脸识别 网上 ...

  2. java用虹软人脸识别SDK实现人脸识别,运行ArcSoft的Java版本Demo出错,未检出人脸(已解决)

    java用虹软人脸识别SDK实现人脸识别,运行ArcSoft的Java版本Demo出错,未检出人脸问题已解决!!! 原因: 虹软人脸识别SDK版本问题! 下载的java版本的demo的SDK是arcs ...

  3. 虹软java接摄像头_虹软人脸识别SDK在网络摄像头中的实际应用

    目前在人脸识别领域中,网络摄像头的使用很普遍,但接入网络摄像头和人脸识别SDK有一定门槛,在此篇中介绍过虹软人脸识别SDK的接入流程,本文着重介绍网络摄像头获取视频流并处理的流程(红色框内),以下内容 ...

  4. 虹软人脸识别SDK接入Milvus实现海量人脸快速检索

    虹软人脸识别SDK接入Milvus实现海量人脸快速检索 背景 虹软SDK及Milvus简介 开发环境 虹软人脸识别SDK使用简介 Milvus环境搭建 快速检索实现 人脸识别流程简介 快速检索 虹软S ...

  5. SpringBoot 基于向量搜索引擎及虹软人脸识别SDK的大规模人脸搜索

    SpringBoot 基于向量搜索引擎及虹软人脸识别SDK的大规模向量数据搜索 文章目录 SpringBoot 基于向量搜索引擎及虹软人脸识别SDK的大规模向量数据搜索 在线环境demo 在线环境说明 ...

  6. 初次使用虹软人脸识别SDK C++版本

    本文章是基于虹软人脸识别SDK3.0,VS2019 首先,下载虹软人脸识别SDK,按照此目录下的PDF文件完成工程配置. 配置完成后,需要在以下目录将从官网获取的APPID以及SDKKEY进行填写,然 ...

  7. 虹软人脸识别SDK的使用

    虹软人脸识别SDK使用说明 使用虹软平台需要先注册开发者账号: https://ai.arcsoft.com.cn/ucenter/user/userlogin 注册完成后进行登录,然后进行创建应用: ...

  8. 虹软java接摄像头_虹软人脸识别SDK(java+linux/window) 初试

    虹软人脸识别全平台demo调用-快速上手之服务端Windows篇 demo名称:ArcFace 2.2 Windows(86) Demo [C++] 一 环境配置: 1) 安装VS2013环境安装包( ...

  9. 虹软人脸识别 SDK 使用 Unity Android C# Java多语言开发 2021-09-06

    Unity接入虹软人脸识别Android版SDK == 自改aar包开发Android应用 下方有下载链接所有 demo aar 包== 文章目录 Unity接入虹软人脸识别Android版SDK 简 ...

最新文章

  1. (uC/OS-II学习笔记)关于共享资源与信号量
  2. [C++]VisualAssistX中文注释提示错误 解决办法
  3. matplotlib关于坐标轴数据显示的几个重要参数
  4. Altium designer中元器件库(SCHLIB)元件引脚上文字(标号)大小及距离边缘位置设置
  5. java 程序流程控制知识点_JAVA基础知识点梳理三:流程控制语句
  6. 【高校宿舍管理系统】第六章 用户管理和年级管理
  7. input做成label效果
  8. Unity中Debug打印信息的颜色设置
  9. 蓝桥杯2017年第八届C/C++省赛C组第三题-算式900
  10. 《Java 8 实战》 学习笔记一(行为参数化)
  11. Linux系统下从百度云快速下载文件的姿势(2020.07月更)
  12. 大佬们用代码写的故事
  13. 北京交通大学2020计算机考研科目,2020北京交通大学软件工程考研初试科目.pdf
  14. Rancher某环境所有主机网络瘫痪问题
  15. 暴走海贼王服务器谁在维护,暴走海贼王
  16. (02) Apache Felix 入门 - 02
  17. 微信小程序之解决background-image属性失效
  18. python爬山算法
  19. js人民币转换大写函数
  20. 页表目录和页表结构 图解

热门文章

  1. 深刻理解 React (一) ——JSX和虚拟DOM
  2. 【C语言】C语言常量和变量
  3. winform flash
  4. HDOJ2024C语言合法标识符
  5. T05 FX 试打报告
  6. 创业思考:做生意不是靠学历
  7. linux 脚本使用第一篇
  8. [svc]容器网络学习索引及网络监控
  9. 《迷宫》之站立会议—5.16
  10. ZGrapher 画函数曲线图的工具