技能节-AI人脸识别
我们收到技能节项目的通知是在两周之前,项目要求做个人脸评分系统。
两周时间写一个"人脸评分系统",好像时间比较紧了,还好我们完成了~这个项目是将摄像头捕获到的包含人脸的图像传输到百度AI的云服务器中,然后调用运用了百度AI的人脸对比API分析图中的数据,最后将分析出的数据传送回来, 在使用这个项目时需要连接互联网。
当然百度AI的人脸对比API不会让你免费使用,你必须要成为百度AI的开发者,在搜索栏中输入(AI,baidu,com),在控制台中选择人脸识别,然后注册登录,接着在左边的导航栏中选择需要用的API接口,然后百度就会发给你API Key、Secret Key、AppID。
UI展示:
这个是一个比较浮夸的UI界面,使用的是Boostrapt
项目结构图
Com.detect包中 FaceDetect(人脸检测)
模块功能:
1、通过JAVA程序将图片/照片信息传递到百度AI的人脸识别的(人脸检测)接口
2、获取人脸检测的数据信息
在detect方法中:
①先获取了百度AI人脸识别接口的访问路径
②调用AuthService类中的getAuth方法获取令牌
③准备人脸检测请求所需要的参数(图片数据,图片数据类型)
④向百度AI发送检测请求
Com.face_lib 包中
FaceAdd方法:向人脸库添加用户信息
步骤:①准备添加人脸的url(路径)
②准备添加人脸需要的参数
③获取token
④向百度发送请求
GroupAdd方法:向百度创建用户组
步骤:①准备百度创建用户组请求的url
②准备百度创建用户组需要的数据(参数)
③获取百度令牌
④向百度发送请求
Com.match包中
FaceMatch方法:向百度AI发送人脸对比请求
步骤: ①准备百度AI接口人脸识别的请求路径
②获取百度令牌
③准备人脸对比需要的参数
④向百度AI发送人脸对比的请求
Com.search包中
FaceSearch方法:查找制定的人脸,在一个特定的集合中更像谁?
步骤: ①准备人脸搜索功能的URL
②准备人脸搜索功能需要的参数
③获取token
④发送人脸搜索请求,获取结果
Com.servlets包中
UploadImageAjax方法:
步骤:①接受图片数据
②将图片数据发送到百度AI:{
1、获取人脸识别接口的访问路径
2、调用AuthService类中的getAuth方法获取令牌
3、准备人脸检测请求所需要的参数
4、设置返回属性
5、向百度AI发送检测请求}
③将检测数据返回到页面
项目的下载链接稍后会分享到评论区中
技能节-AI人脸识别的更多相关文章
- 基于百度AI人脸识别技术的Demo
编写demo之前首先浏览官方API:http://ai.baidu.com/docs#/Face-API/top 下面是源码: package com.examsafety.test; import ...
- AI人脸识别SDK接入 — 参数优化篇(虹软)
引言 使用了虹软公司免费的人脸识别算法,感觉还是很不错的,当然,如果是初次接触的话会对一些接口的参数有些疑问的.这里分享一下我对一些参数的验证结果(这里以windows版本为例,linux.andro ...
- 虹软AI 人脸识别SDK接入 — 参数优化篇
引言 使用了免费的人脸识别算法,感觉还是很不错的,但是初次接触的话会对一些接口的参数有些疑问的.这里分享一下我对一些参数的验证结果(这里以windows版本为例,linux.android基本一样), ...
- 百度AI人脸识别的学习总结
本文主要分以下几个模块进行总结分析 项目要求:运用百度AI(人脸识别)通过本地与外网之间的信息交互(MQService),从而通过刷脸实现登陆.签字.会议签到等: 1.准备工作: 内网:单击事件按钮— ...
- 基于C# 调用百度AI 人脸识别
一.设置 登录百度云控制台,添加应用-添加人脸识别,查找,对比等. 记住API Key和Secret Key 二.创建Demo程序 1.使用Nuget安装 Baidu.AI 和 Newtonsoft. ...
- AI人脸识别的测试重点
最常见的 AI应用就是人脸识别,因此这篇文章从人脸识别的架构和核心上,来讲讲测试的重点. 测试之前需要先了解人脸识别的整个流程,红色标识代表的是对应AI架构中的各个阶段 首先是人脸采集. 安装拍照摄像 ...
- 干货 | AI人脸识别之人脸搜索
本文档将利用京东云AI SDK来实践人脸识别中的人脸搜索功能,主要涉及到分组创建/删除.分组列表获取.人脸创建/删除.人脸搜索,本次实操的最终效果是:创建一个人脸库,拿一张图片在人脸库中搜索出相似度最 ...
- AI人脸识别+换脸
视频换脸可参考 https://github.com/iperov/DeepFaceLab import dlib.dlib as dlib import numpy import sys impor ...
- 体验京东云 Serverless+AI 人脸属性识别
云原生计算基金会CNCF(Cloud Native Computing Foundation, CNCF)Serverless Whitepaper v1.0对无服务器计算作了如下定义: Server ...
随机推荐
- Spring Boot中的事务管理 隔离级别
在声明事务时,只需要通过value属性指定配置的事务管理器名即可,例如:@Transactional(value="transactionManagerPrimary"). 除了指 ...
- 7. 使用Hystrix实现微服务的容错处理
使用Hystrix实现微服务的容错处理 7.1. 实现容错的手段 7.1.1. 雪崩效应 在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整 ...
- Eratos筛法(筛选素数)
对于n以内的非素数必有k*n1=n(n1<n) 所以 可有p1,2p2,3p3把非素数筛选掉 实现代码: #include<iostream> #include<string ...
- How to get full path of StreamWriter
How to get full path of StreamWriter In my version of the framework, this seems to work: string f ...
- Kafka Eagle 安装
Kafka Eagle 是一款开源的 Kafka 集群监控系统. 一.下载 https://download.kafka-eagle.org/ 二.安装 # 解压 .tar.gz -C /opt/ / ...
- 【8583】ISO8583各域段的说明
[ISO8583各域段的说明] 1,信息类型(message type)定义位图位置:-格式:定长类型:N4描述:数据包的第一部分,定义数据包的类型.数据类型由数据包的发起者设定,应遵循以下要求:数据 ...
- css清除浮动的几种方式,哪种最合适?
细心的人可能发现了,写的导航条中存在一个问题,那就是使用了float之后,父级盒子的高度变为0了. 我们来写一个例子来看一下,创建一个父级div,并设置border属性,然后下边创建两个子元素span ...
- RabbitMQ学习之:(十)AMQP和RabbitMQ介绍 (转贴+我的评论)
From: http://www.infoq.com/cn/articles/AMQP-RabbitMQ 准备开始 高级消息队列协议(AMQP1)是一个异步消息传递所使用的应用层协议规范.作为线路层协 ...
- 一百一十九:CMS系统之将短信验证码和图形验证码放到memcached缓存中
将两个验证码的视图都放到common蓝图下 from flask import Blueprint, request, make_responsefrom exts import alidayufro ...
- Linux高级命令 ==> find、grep、sed、awk
一.find find命令用来在指定目录下查找文件.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录和文件全部进行显示. 语法 find path ...