wrs-arcface虹软人脸识别

前言

虹软人脸识别组件,支持活体识别、离线识别、图片人脸特征识别、图片是否同一人对比、相机人脸识别或对比,虹软免费版请使用这个插件https://ext.dcloud.net.cn/plugin?id=6084

虹软SDK版本号:
Android:V3.0
ios:V3.0

功能

  • 支持活体识别、离线识别
  • 图片人脸特征识别(年龄、性别、3DAngle)
  • 两张图片是否是同一人对比
  • 相机活体识别出人脸,用于人脸注册保存到本地,便于后面身份鉴定时作对比
  • 相机活体人脸对比,用于鉴定身份,常用于支付前活体人脸身份鉴定

虹软开发者平台创建应用

  1. 注册登录虹软开发后台https://ai.arcsoft.com.cn/ucenter/resource/build/index.html#/application

  2. 创建应用
    在这里插入图片描述

  3. 选中应用,添加SDK,选择App人脸识别增值版,如果使用的是免费版则选择人脸识别(免费)
    在这里插入图片描述在这里插入图片描述
    iOS需要绑定包名(这里iOS的包名对应自定义基座时的Bundle ID(AppID)),Android需要绑定包名和签名(这里的包名对应自定义基座时Android包名,这里签名是打包证书对应的sha1值,Android需要使用自有证书才有改sha1),如下图:
    在这里插入图片描述在这里插入图片描述

  4. 添加完SDK后获取APP_ID、SDK_KEY
    图片.png

集成原生插件到项目

  1. 插件市场的插件详情页面选择“试用”,绑定项目

  2. HBuilderX项目里,在App原生插件配置的云插件选择插件

  3. 删除本地自定义基座,重新自定义基座

  4. 运行时选择自定义基座运行

这些步骤不熟悉的同学请参考:
https://www.jianshu.com/p/830ccc503e29
或 https://blog.csdn.net/wenrisheng/article/details/124057700

使用插件

激活引擎可以放到App.vue的onLaunch里去,每次启动的时候激活就行了
使用之前需要激活引擎,使用上面的APP_ID、SDK_KEY

激活错误码查询:https://ai.arcsoft.com.cn/ucenter/resource/build/index.html#/help


var arcface = uni.requireNativePlugin("wrs-arcface");
var options = {};
options.appid = "xxxxx";
switch (uni.getSystemInfoSync().platform) {case 'android':options.sdkkey = 'xxx';break;case 'ios':options.sdkkey = 'xxx';break;default:break;
}
arcface.activeEngine(options, (resp) => {if (resp.result) {console.log("激活成功");} else {console.log("激活失败");}this.showMsg("引擎激活结果:" + JSON.stringify(resp))
});

获取图片人脸信息(年龄、性别、3DAngle)

var options = {url: “” // 本地图片地址或网络图片};
arcface.getImageFaceFeature(options, (resp) => {if (resp.result) {console.log("识别成功");} else {console.log("识别失败");}this.showMsg("图片识别结果:" + JSON.stringify(resp))
});

设置相机检测角度

如果识别不到人脸(一般手机app开发都不用设置,某些Android嵌入式摄像头需要设置),可以尝试调整这个参数,取值为[0, 90, 180, 270, all],类型为字符串,分表表示检测0度、90度、180度、270度、全方位角度


arcface.setVideoAngle({videoAngle: "all" // 0:仅检测0度 90:仅检测90度  180:仅检测180度  270:仅检测270度 all:检测0、90、270、180全角度
});

判断2个人脸图是否是同一个人


var options = {url1: “”, // 图片1地址,本地图片地址或网络图片url2: ”“ // 图片2地址 
};
arcface.getSimilarity(options, (resp) => {if (resp.result) {var similarity = resp.similarity;if (similarity >= 0.80) { // 一般相似度大于0.8基本上就是同一个人了console.log("是同一个人");} else {console.log("不是同一个人");}}this.showMsg("获取相似度结果:" + JSON.stringify(resp))
});

判断权限

switch (uni.getSystemInfoSync().platform) {case 'android':arcface.checkPermission((resp) => {this.showMsg("授权结果:" + JSON.stringify(resp));});break;case 'ios':arcface.checkVideoPermission((resp) => {this.showMsg("授权结果:" + JSON.stringify(resp));});break;}

摄像机人脸识别或人脸身份对比鉴定

<wrs-arcfacevideo ref='arcfacevideo' :style="'width:'+width+'px;height:'+height+'px;'" :config="config" @resultCallback="resultCallback"></wrs-arcfacevideo>config: {bgColor: "#000000", // 背景颜色anchorFrame: {bgImage: frameImage, // 人脸框图片left: left, // 人脸框左边距,单位 dptop: top, // 人脸框上边距width: frameWidth,// 人脸框宽度height: frameHeight // 人脸框高度}}

config属性:

  • bgColor: 背景颜色
  • anchorFrame: 人脸框
  • anchorFrame.bgImage: 人脸框图片
  • anchorFrame.left: 人脸框左边距,单位 dp
  • anchorFrame.top:人脸框上边距
  • anchorFrame.width: 人脸框宽度
  • anchorFrame.height: 人脸框高度

方法:
停止摄像头


this.$refs.arcfacevideo.stop();

开始摄像头,组件默认已经开启摄像头


this.$refs.arcfacevideo.start();

开始识别人脸,需要在组件事件onLoadView中或之后调用


var params = {};var params = {mode: "compare", // 模式,支持recognize、compare,recognize表示从摄像头识别人脸,一般用于人脸注册保存到本地,compare表示从摄像头识别出某个人,一般用于身份鉴权compareImage: {type: 'url', //  类型,支持url、base64、faceFeatureData,url表示图片地址,支持本地地址,base64表示图片base64的字符串,faceFeatureData表示人脸特征数据的字符串value: saveImageFilePath,name: "张三"}, // 比较图片地址similarity: 0.8, // 相似度,大于这个相似度表示是同一个人liveness: false, // 是否活体识别faceNeedInRect: false, // 人脸是否需要在anchorFrame人脸框内needBase64Image: false, // 识别到的图片是否需要进行base64编码返回,base64编码在Android上比较慢needFaceFeatureData: false, // 是否需要人脸特征base64后返回cropAnchorFrameImage: false,   // 返回的base图片或保存saveImageFilePath的图片是否只需要裁剪人脸大小cropAnchorFrameImageBestRect: false // 为了美观,裁剪人脸大小是否扩大人脸图,仅对Android生效};
this.$refs.arcfacevideo.startFace(params);

params参数:

  • mode: 模式,支持recognize、compare,recognize表示从摄像头识别人脸,一般用于人脸注册保存到本地,compare表示从摄像头识别出某个人,一般用于身份鉴权
  • compareImage 人脸对图片,用于mode为recognize识别对比模式时作相机对比图片
  • compareImage.type: 图片类型,值为:url、base64,url表示图片地址,支持本地地址和网络地址,base64表示图片base64的字符串
  • compareImage.value:图片类型对应的值
  • similarity: 相似度,用于mode为recognize模式时相似度大于这个值时认为是同一个人
  • liveness: 是否需要活体识别
  • faceNeedInRect: 人脸是否需要在anchorFrame人脸框内
  • needBase64Image: 识别到的图片是否需要进行base64编码返回,base64编码在Android上比较慢
  • saveImageFilePath: 识别到的图片是否需要保存为文件,如果不需要saveImageFilePath值不用传或传空
  • needFaceFeatureData: 是否需要人脸特征base64后返回

切换相机前后摄像头


this.$refs.arcfacevideo.switchCamera()

如果大量需要识别对别的图片,可以根据手机性能采用轮询的方式进行对比

识别对比过程中,动态增加对比图片,增加到图片是放到内存

var params = {};params.images = [{type: 'url', //  类型,支持url、base64、faceFeatureData,url表示图片地址,支持本地地址,base64表示图片base64的字符串,faceFeatureData表示人脸特征数据的字符串value: "http://192.168.11.10:8086/image/video_compare_local_image.png",name: "张三"}];this.$refs.arcfacevideo.addCompareImage(params);

识别对比过程中,动态删除对比中的图片

var params = {};params.names = [{name: "张三"}];this.$refs.arcfacevideo.deleteCompareImage(params);

识别对比过程中,动态删除对比中的所有图片

this.$refs.arcfacevideo.cleanCompareImage();

事件

@resultCallback
mode模式为recognize时,识别到人时回调
mode模式为compare时,识别到人,且大于等于相似度时回调

联系方式:QQ(252797991)

如果觉得可以就点个👍吧,欢迎粉丝收藏,土豪打赏,您的关注就是我们创作的动力!

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

使用讯飞人脸对比API

参考官方文档&#xff1a; 讯飞人脸对比Web API文档 附加文档&#xff1a;错误码查询 运行前&#xff1a;请先填写appid、apisecret、apikey以及图片路径 appid、apisecret、apikey在控制台创建新应用后获取 from datetime import datetime from wsgiref.handlers import forma…

PHP 调用百度人脸对比

本文章主要介绍人脸对比API能力、应用场景、请求实例、参数说明。 接口能力 两张人脸图片相似度对比&#xff1a;比对两张图片中人脸的相似度&#xff0c;并返回相似度分值。 多种图片类型&#xff1a;支持生活照、证件照、身份证芯片照、带网纹照四种类型的人脸对比。 活体检测…

人脸识别,人脸对比技术及案例实现方案

人脸识别&#xff0c;人脸对比技术及案例实现方案 一、各个人脸识别公司、系统简介1.1 虹软1.2 Face旷视1.3 云脉1.4 腾讯AI1.5 1MB轻量级人脸检测模型1.6 SeetaFace-科院计算机所开源项目 二、基于虹软的Java人脸识别2.1 人脸识别SDK2.2 Java项目搭建2.2.1 下载Demo项目2.2.2 …

【百度AI_人脸识别】图片对比相似度、人脸对比登录(调摄像头)

人脸对比 此文档功能&#xff1a; 两张人脸图片相似度对比&#xff1a;比对两张图片中人脸的相似度&#xff0c;并返回相似度分值。存档一张图片与调用的摄像中的人脸进行对比。项目、资源下载&#xff1a;https://download.csdn.net/download/m0_70083523/87150842?spm1001.2…

Missing-Semester Lec1 Solution

操作系统&#xff1a; m a c O S M o n t e r e y v e r s i o n 12.6 macOS \ Monterey version \ 12.6 macOS Montereyversion 12.6 1、查看shell是否符合要求 echo $SHELL /bin/zsh2、在/tmp下新建一个名为missing的文件夹 mkdir missing3、用man查看程序touch的使用手册…

怎么做自媒体,这份入门攻略,建议收藏

1. 选择合适的平台 现在的自媒体平台非常多&#xff0c;有短视频平台、长视频平台、图文平台等&#xff0c;你可以依照自己的喜好去选择&#xff0c;不过要尽量选择用户量大一些的&#xff0c;也可以直接多个平台分发。 2. 确定领域 这是很关键的一步&#xff0c;你要选择你擅…

零基础使用ChatGPT写一个小游戏---文末附源码

ChatGPT&#xff1a;赋能自然语言处理的多种应用领域 ChatGPT是当今最先进的人工智能对话系统之一&#xff0c;已经被证明可以支持许多不同的自然语言处理应用程序。以下是ChatGPT可以运行的几个领域&#xff1a; 聊天机器人 ChatGPT作为一个建立在自然语言处理技术上的人工…

你是不是想做影视剪辑奈何不会写文案?我来帮你搞定文案

影视剪辑的本质就是我们进行一系列的主题动作分解组合&#xff0c;完成蒙太奇形象的塑造&#xff0c;影视剪辑主要分为几个步骤&#xff1a; 第一&#xff1a;视频素材准备 第二&#xff1a;文案素材准备 第三&#xff1a;确定剪辑方案 第四&#xff1a;剪辑手段选择 第五&…

短视频平台上亿用户都听过的声音|盘点三款超级好用的配音工具(内附教程哦~)

“这个女人叫小美”“这个男人叫小帅” 是不是很神奇&#xff0c;明明只是文字&#xff0c;耳朵却仿佛听到了声音&#xff0c;脑海里甚至浮现出了画面&#xff01;现在很多网上爆火的影视解说&#xff0c;都在用这一套文案话术&#xff0c;并且都配上了或声音厚实有磁性&#…

2023年集卡活动简记

文章目录 支付宝总评&#xff1a;【推荐】年味浓&#xff0c;必中奖&#xff0c;单倍金额不算少。只关注开奖可以除夕当天玩儿。集卡分1.88元难度&#xff1a;【非常低】必中奖时间投入&#xff1a;【较少】无需打开其他App&#xff0c;比较轻松。操作体验&#xff1a;【好】活…

超实用的配音软件推荐|想做短视频,还不快点进来看看

要说当下最火的行业&#xff0c;当属短视频自媒体行业了。各大平台短视频区块的崛起&#xff0c;给我们创造了很多机会&#xff0c;但在加入后&#xff0c;却又发现没那么简单。那么&#xff0c;我们到底应该如何正确的加入短视频创作行列呢&#xff1f; 接下来我将从各个方面…

2023最新版会声会影有哪些新功能介绍?

会声会影是Corel制作的一款功能强大的视频编辑软件&#xff0c;英文名&#xff1a;Corel VideoStudio。会声会影2023作为当下最为受欢迎的视频编辑处理程序&#xff0c;其在业内可以说享有极高的知名度&#xff1b;而全新的2023版本更是如此&#xff0c;很多忠实的用户都想来体…

短视频优质作者必备|配音神器分享|那些你刷视频时肯定听过的声音

相信很多朋友在刷短视频时&#xff0c;都有刷到过这样的声音。 热门电影解说博主都在用的声音 这类声音多出现在影视解说或漫画解说类的视频中。 很多朋友也想做这样的配音&#xff0c;却不知道用什么软件&#xff0c;从哪里做&#xff0c;怎么做。所以今天&#xff0c;我给大家…

全网最简单的短视频配音教程奉上|学到就是赚到

短视频的爆火&#xff0c;相信大家都有目共睹&#xff0c;想要在诺大的短视频海洋中&#xff0c;找到自己的一席之地&#xff0c;视频的制作至关重要&#xff01;不光要有精美的画面&#xff0c;优秀的文案&#xff0c;更需要好的旁白配音与之搭配。这个时候&#xff0c;有的朋…

超多热门视频都在用的声音|只要一部手机就能制作的配音神器

文章开始之前&#xff0c;咱们先来看一段视频↓↓↓ 太阳下了有月光 视频开头的声音是不是非常丰富自然呢&#xff1f;是不是听起来很像真人的声音呢&#xff1f;什么&#xff01;&#xff1f;你以为这就是真人&#xff1f;当然不是&#xff01;这就是最近各大短视频平台非常火…

快手,快影 iOS App反调试

Python实战社群 Java实战社群 长按识别下方二维码&#xff0c;按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者 | 倒影cc 来源 | 掘金 https://juejin.cn/post/6844904190720868360 快手&#xff0c;快影的App保护用的是同一套代码&#xff0c…

1727_使用虚拟机安装CentOS-7

全部学习汇总&#xff1a;GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 离开Linux很久了&#xff0c;甚至怀念&#xff0c;虚拟机里装个CentOS 7玩玩。使用的是VM虚拟机&#xff0c;下载了CentOS 7的everything安装包。 1&#xf…

简单几个步骤,轻松完成短视频配音工作|别惊讶,让我手把手教你

给短视频配音有多简单&#xff1f;你根本想象不到&#xff0c;竟然只需要简单几步就能够完成&#xff01; 并不是所有短视频配音都需要自己亲自配&#xff0c;或者大价钱找真人配音老师。只需要利用配音软件&#xff0c;制作AI配音就可以完成。也许你会担心机器人声音太过生硬&…

新手如何入门视频剪辑?分享超好用的视频剪辑工具,剪辑、压缩、封面制作一网打尽!

哈喽大家好&#xff0c;我是菌菌~ vlog拍摄、视频混剪、课程录制……现如今&#xff0c;视频异常火爆&#xff0c;一种新的技能也被全民所需要&#xff0c;那就是视频剪辑&#xff01; 工欲善其事必先利其器&#xff0c;要想做视频没几个得力助手怎么能行&#xff1f; 今天&…

android ffmpeg 仿剪映播放器 剪辑视频 预览条 快速精准抽帧

android ffmpeg 仿剪映播放器 剪辑视频 预览条 快速精准抽帧 由于本人想学习音视频相关的东西&#xff0c;所以找了剪映作为借鉴&#xff0c;通过仿照剪映的功能学习音视频相关的东西&#xff0c;所以有了这个项目 暂时这个项目只有仿照剪映&#xff0c;剪辑的预览条的快速抽…