测试点评
Face++服务是一款致力于人脸识别的技术服务,提供免费的API和SDK供企业和开发者调用:
1. Face++是一款免费的跨安卓,IOS,MAC,PC等多平台支持的人面识别服务。
2. FACE++具备检测,关键点,识别三项技术强项
3. FACE++支持多种语言,包括python,object-c,java,matlab,php,c#,javascript。
4. 提供Android,IOS,WindowsPhone,PC,web等多平台的SDK集成,参考例子和DEMO。
经过笔者在2G和3G网络下对Face++的评测:
1.人脸检测能在不同光线条件下,图像不同灰度值下快速的检测出来
2.对方向性有要求,对多种人脸姿态识别率相对较低
3.支持离线检测
开发建议
经过笔者对Face++的使用,从开发者的角度,给想使用该服务的开发者几个建议:
1. Face++的API采用的面向服务的调用模型,对于开发者而言,只要掌握基本的服务调用方法,就很容易掌握一系列开发的技巧。
2. 集成到客户端时,需要仔细阅读FACE++的相应语言文档。
评测环境
测试对象 |
FACE++ |
测试手机 |
三星Galaxy S I9000 |
系统版本 |
4.2.1 |
手机网络 |
WIFI |
测试方法 |
客户端运行DEMO+手机自带摄像头识别 |
测试时间 |
2014-2-25 21:13-21:43 |
光线环境 |
室内自然光线 |
摄像头角度 |
分为正面,侧面,倾斜测试 |
基本参数:
是否免费 |
免费 |
支持平台 |
Android、iOS、Linux、windows和Mac OS等 |
支持语言 |
Python ,Objective-C,Java ,Matlab ,C#,javascript,php |
安装包大小 |
1.4M |
支持人脸检测 |
支持 |
支持人脸分析 |
支持 |
支持人脸识别 |
支持 |
集成过程
一 如何嵌入客户端SDK
1. 从http://www.faceplusplus.com.cn/下载SDK
2. 建立一个java工程。
3. 在AndroidManifest.xml中添加权限,此处代码详见测试DEMO 1
4. 根据需求选择离线SDK中依赖库以及libs/faceapi.jar拷入工程内的libs文件夹内,例如若 APP的运行环境为armeabi架构,如下图所示:
5. 接着,在程序中初始化一个 com.faceplusplus.api.FaceDetector类。注意类初始化时需要使用到当前 context以及使用者对应的 API_Key,这个API_Key必须与下载离线检测器的 App对应的 API_Key一致才可以正确调用这个库。下面是一个调用示例:
初始化:
detecter = new FaceDetecter(); //初始化 detecter.init(this, "a986f2e7b07928316d92ca4fb8b5a769"); |
检测,并获取检测结果:
Face[] faceinfo = detecter.findFaces(curBitmap);// 进行人脸检测 |
若图像由摄像头采集,则原始数据将以YUV格式存储,可以先将图像旋转到正确的方向后使用灰度图的形式传入检测器
此处代码详见测试DEMO 2
6. 离线检测器与线上 API的协同功能:如果需要用到线上 API的更多功能,可以将本地的检测结果直接上传(从而节省传输的数据量,仅会上传脸部图像)。使用离线 SDK中 HttpRequest的新方法 offlineDetect,可将离线结果直接同步至线上,并获取 face_id进行后续操作,如下图所示:
二 测试截图
三 遇到的问题
笔者只测试了人脸检测模块,人面识别无法评测。原因是要使用人面识别功能必须申请上线,通过FACE++官方审核,审核通过后才能在站点上管理人和组,有人和组的相关信息后才可以使用识别模块。
四 上手难易
1.Face++使用基于服务的调用方式来管理所有的API,极大降低了编写人面识别程序的难度,这种基于云服务的架构非常优秀,将很难理解的识别技术用方便快捷的服务调用来封装,非常有利于开发者学习!
2.上手难度为中等。
五 花费时间
取决于开发者基于HTTP的服务调用的熟练程度以及对识别技术的一些原理了解情况,如果上述都达标,可以边看文档边写代码;如果不清楚人面识别原理,需要多花费时间进行补习相关知识。
六 开发支持和文档
Face++提供多平台和语言的支持:
测试日志
测试日志如下截图:
测试DEMO
测试DEMO 1
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.megvii.apitest" android:versionCode="1" android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.faceplusplus.apitest.MainActivity" android:label="@string/app_name2" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.faceplusplus.apitest.CameraPreview" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
</manifest> |
测试DEMO 2
public void onPreviewFrame(final byte[] data, Camera camera) { camera.setPreviewCallback(null); detectHandler.post(new Runnable() {
@Override public void run() { byte[] ori = new byte[width * height]; int is = 0; for (int x = width - 1; x >= 0; x--) {
for (int y = height - 1; y >= 0; y--) {
ori[is] = data[y * width + x];
is++; }
} final Face[] faceinfo = facedetecter.findFaces( ori, height, width); runOnUiThread(new Runnable() {
@Override public void run() { mask.setFaceInfo(faceinfo); } }); CameraPreview.this.camera.setPreviewCallback(CameraPreview.this); } }); } |
离线检测器与线上API的协同功能
//在线api交互 try { request.offlineDetect(detecter.getImageByteArray(),detecter. getResultJsonString(), new PostParameters()); } catch (FaceppParseException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } |
主要功能
人脸检测:Face++人脸检测与跟踪技术提供快速、高准确率的人像检测功能。普遍适用于图片与实时视频流,能够应对复杂的光照并支持多种人脸姿态。可检出不小于16*16像素的人脸,并可在移动设备上实时跟踪人脸(20帧/秒),其中检测中的关键点检测,精确定位面部的关键区域位置,包括眉毛、眼睛、鼻子、嘴巴,脸部轮廓等。支持一定程度遮挡以及多角度人脸。使用关键点检测技术,可以精确定位人脸美化局部,还可以实现表情交互。
静态检测:检测静态的图片,得到关键点信息。
左右上无法识别:
检测对于方向性有要求
想要了解更多测试内容,请登录:
相关推荐
本教程将深入探讨如何利用Android的Camera API以及Face++的人脸识别技术来实现这一目标。 首先,我们要了解Android的Camera API。Android Camera API允许开发者直接与设备的摄像头硬件交互,提供拍摄图片和录制视频...
C++开发的基于 ROS 机器人系统实现语音交互(讯飞、图灵)和人脸识别(Face++)+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ C++开发的基于 ROS 机器人...
Face++是一家专注于人脸识别技术的公司,其核心技术基于深度学习,拥有领先的准确率和速度。该公司提供多种产品和服务,包括人脸识别SDK、API、比对服务、检测服务和活体检测服务等,广泛应用于金融、公安、零售、...
调用Face++开发平台识别人脸,类似于淘宝的刷脸登录
Face++ API是由旷视科技提供的一系列用于图像识别和处理的服务,其中包括人脸识别功能。这个API允许开发者上传图片,然后在后台通过复杂的算法进行人脸识别,包括人脸检测、特征提取、人脸识别和对比。在...
基于facenet和retinaface实现人脸识别的库可在线的人脸识别python源码+使用步骤+模型.zip基于facenet和retinaface实现人脸识别的库可在线的人脸识别python源码+使用步骤+模型.zip基于facenet和retinaface实现人脸...
Face++是由北京旷视科技有限公司开发的一款人脸识别服务,它提供包括人脸检测、人脸识别、人脸属性分析等多种功能。通过强大的深度学习算法,Face++能在复杂的环境中准确地识别和分析人脸特征,从而实现人脸识别。 ...
基于人脸识别dlib库+Flask的人脸识别服务源码+部署文档+全部数据资料 高分项目.zip基于人脸识别dlib库+Flask的人脸识别服务源码+部署文档+全部数据资料 高分项目.zip 【备注】 1、该项目是个人高分项目源码,已获...
基于TensorFlow的人脸识别系统源码+说明文档(期末大作业)基于TensorFlow的人脸识别系统源码+说明文档(期末大作业)基于TensorFlow的人脸识别系统源码+说明文档(期末大作业)基于TensorFlow的人脸识别系统源码+...
基于Qt和openCV人脸识别程序源码+项目说明(linux-ubuntu系统下).zip 基于Qt和openCV人脸识别程序源码+项目说明(linux-ubuntu系统下).zip 基于Qt和openCV人脸识别程序源码+项目说明(linux-ubuntu系统下).zip 基于Qt和...
Face++是由旷视科技提供的一个强大的计算机视觉服务,其中包括人脸识别、物体识别、图像美化等一系列AI技术。下面我们将深入探讨如何使用Python调用Face++ SDK API进行人脸识别和人体识别。 首先,你需要安装这个...
基于TensorFlow的人脸识别系统源码+使用教程(毕业设计)基于TensorFlow的人脸识别系统源码+使用教程(毕业设计)基于TensorFlow的人脸识别系统源码+使用教程(毕业设计)基于TensorFlow的人脸识别系统源码+使用教程...
基于卷积神经网络的人脸识别系统源码+数据集(毕业设计项目)基于卷积神经网络的人脸识别系统源码+数据集(毕业设计项目)基于卷积神经网络的人脸识别系统源码+数据集(毕业设计项目)基于卷积神经网络的人脸识别...
微信小程序——人脸检测(截图+源码).zip 微信小程序——人脸检测(截图+源码).zip 微信小程序——人脸检测(截图+源码).zip 微信小程序——人脸检测(截图+源码).zip 微信小程序——人脸检测(截图+源码).zip ...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考...基于卷积神经网络算法的人脸识别项目源码+项目说明.zip
"face++人脸识别demo"是一个基于Face++技术的示例应用,旨在帮助开发者快速理解并集成人脸识别功能到自己的软件项目中。Face++是一家知名的AI公司,其人脸识别技术在业界有着广泛的应用,包括身份验证、人脸检测、...
"基于Face++的人脸识别与检测"项目就是这样一个应用实例,它整合了两种不同的方法:谷歌API的人脸检测和Face++的人脸识别。下面将详细阐述这两个核心技术及其在实际中的应用。 1. 谷歌API的人脸检测: 谷歌提供了...
基于opencv和tensorflow实现人脸识别项目源码+可执行文件,采用python中的tkinter库做可视化.zip 基于opencv和tensorflow实现人脸识别项目源码+可执行文件,采用python中的tkinter库做可视化.zip基于opencv和...
《face++2_人传人人脸_burnz65_人脸识别_face_escapelem》是一个与人脸识别技术相关的项目,其中包含了利用face++ SDK进行图像处理和人脸识别的源代码。在这个项目中,开发者burnz65可能已经实现了一个功能,使得...