人脸检测 拍照 接口质量模型和人脸检测 拍照 接口质量检测是一个接口吗

你会有收获的
face++人脸识别接口实现原理(一)
市面上,能够提供人脸识别解决方案的公司主要有,百度,科大讯飞,旷世face++,还有已经被facebook收购的face.com。这里涉及到的是旷世科技的人脸识别技术。旷世科技人脸识别技术,在国内得到了很广泛运用,其中最有名是,支付宝的刷脸验证登录技术,以及蚂蚁金服的刷脸验证技术。
在安卓平台上,开发一app,这个app可以:
(1)提取人脸特征,包括这个人表情(微笑,惊讶,平静,生气),年龄,是否戴眼镜,是否睁眼,肤色,性别,眼睛,鼻子,眉毛在脸部的位置(坐标)。
(2)实现登录验证
(3)将一张合影中的所有人的身份都识别出来。
实际上,原理并不是很难理解。首先,你将一张图片,上传到服务器,服务器会提取你的面部特征,写进一个文件中,这文件会有一个唯一标识吗,叫做face_token,代表你的身份,然后服务器会把这些特征以及标识通过json数据响应给你。响应给你的json数据里包含面部特征,以及你的face_token。
登录验证就是对比或者说匹配的过程,你通过终端拍摄或者从相册选择一张照片,然后上传到服务器,服务器首先提取你的面部特征,然后和你注册账号时提取的面部特征进行对比,如果相识度达到一定高度,就会认为是同一个人,然后服务器响应验证通过,进入账号。
将一张合影中的所有人的身份都识别出来,原理和登录验证是一样,只不过多了一个工序。首先,服务器会探测一张图片中有多人,并且把能探测到人的脸部特征以及标识码以json数组形式都反馈给你,我们可以通过遍历标识码的方式,一个一个匹配,最后把结果汇总,反馈个用户即可。可能你会有疑惑,为什么要遍历标识码来验证,因为标识码是代表一个人的身份,如果用其他参数,比如是否戴眼镜,那么你会分不清反馈的结果到底指向得是那个人,进而看不出图片中的某个人和服务器反馈的那个人是否是同一个人。
1.注册face++ api_key Secret:
登录官网,注册账号,进入开发者中心,注册免费体验版(正式版web api收费标准:一小时30元,一个月5000元,一年600000元,离线版sdk收费标准:每年300,000元起),然后创建应用程序,获取秘钥以及密码。
2.通读官方文献,熟悉接口是怎么用的。
进入官网api文档,了解相关接口,这里要注意的是需要下载java版的调用接口工具,这个工具不是必须,但是它可以省去你很长时间,里面把封装好了许多函数,方面我们调用。
需要用到技术:
javaSE语法,android平台相关知识(页面布局,网络通信,调取摄像头),解析json,图像压缩技术(上传大小有限制),手机权限获取。
1.打开AS,创建新工程,将目录结构调整为project模式,lib文件夹添加java接口调用工具。如图(1)所示,右击工具包,点击add as lib..
2.写页面布局(这不是重点,我直接给源码),初始化控件,绑定按钮,效果如图:
3.注册人脸(此代码可以不断完善)
1)调取相机,拍照。
private void take_photo() {
// 设置相机拍照后照片保存路径
mPictureFile = new File(Environment.getExternalStorageDirectory(),
"picture" + System.currentTimeMillis()/1000 + ".jpg")
// 启动拍照,并保存到临时文件
Intent mIntent = new Intent()
mIntent.setAction(MediaStore.ACTION_IMAGE_CAPTURE)
mIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mPictureFile))
mIntent.putExtra(MediaStore.Images.Media.ORIENTATION, 0)
startActivityForResult(mIntent, REQUEST_CAMERA_IMAGE)
2)将图片压缩,显示在ImageView中
if (requestCode == REQUEST_CAMERA_IMAGE) {
if (null == mPictureFile) {
showTip("拍照失败,请重试");
fileSrc = mPictureFile.getAbsolutePath();
updateGallery(fileSrc);
FaceUtil.cropPicture(this,Uri.fromFile(new File(fileSrc)));
} else if (requestCode == FaceUtil.REQUEST_CROP_IMAGE) {
Bitmap bmp = data.getParcelableExtra("data");
if(null != bmp){
FaceUtil.saveBitmapToFile(MainActivity.this, bmp);
fileSrc = FaceUtil.getImagePath(MainActivity.this);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
mImage = BitmapFactory.decodeFile(fileSrc, options);
options.inSampleSize = Math.max(1, (int) Math.ceil(Math.max(
(double) options.outWidth / 1024f,
(double) options.outHeight / 1024f)));
options.inJustDecodeBounds = false;
mImage = BitmapFactory.decodeFile(fileSrc, options);
if(null == mImage) {
showTip("图片信息无法正常获取!");
int degree = FaceUtil.readPictureDegree(fileSrc);
if (degree != 0) {
mImage = FaceUtil.rotateImage(degree, mImage);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
mImage.compress(Bitmap.CompressFormat.JPEG, 80, baos);
mImageData = baos.toByteArray();
imageView.setImageBitmap(mImage);
3)将图片以二进制数组的形式传给服务器
byte[] Bitmap2Bytes(Bitmap bm){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
return baos.toByteArray();
CommonOperate commonOperate = new CommonOperate(key, secret, false);
Response response = commonOperate.detectByte(Bitmap2Bytes(mImage), 0, attributes);
4)接收反馈数据,解析json
if(response.getStatus() != 200){
return new String(response.getContent());
String res = new String(response.getContent());
Log.e("response", res);
JSONObject json = new JSONObject(res);
5)提取人脸face_token,将face_token加入脸集,用于后续匹配。
String faceToken = json.optJSONArray("faces").optJSONObject(0).optString("face_token");
faceToken = getFaceToken(response);
FaceSetOperate faceSetOperate=new FaceSetOperate(key, secret, false);
Response response1=faceSetOperate.addFaceByFaceToken(faceToken,"c0ff8f0e6");
6)一提示框的形式,反馈用户注册完成
showtip("注册完成");
private void showTip(final String str) {
mToast.setText(str);
mToast.show();
8)在Androidmanifest.xml中添加权限
android:name="android.permission.ACCESS_NETWORK_STATE" /&
android:name="android.permission.CAMERA" /&
9)总结:从结果上看,服务器把这个人的基本特性通过json数据反馈给我们,年龄22,女性,不戴眼镜,表情中立,并且这个人的face_token,和脸集的face_taken都反馈我们,这样我们可以利用这两个标识来完成我们想要的功能。
没有更多推荐了,求个活体检测人脸识别的公司或者接口,api或者sdk都可以,做贷款app用的谢谢。实在找不到啊。。_百度知道
求个活体检测人脸识别的公司或者接口,api或者sdk都可以,做贷款app用的谢谢。实在找不到啊。。
提示该问答中所提及的号码未经验证,请注意甄别。
我有更好的答案
如果你现在还需要,支持sdk,api,某宝旗下
Arcsoft不错
Face++或者商汤
楼主解决了吗,我也需要呢
不过不免费
其他4条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。人脸检测方法综述_图文_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
人脸检测方法综述
&&人脸检测方法综述,涵盖近年的常用人脸检测方法。
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩35页未读,
定制HR最喜欢的简历
你可能喜欢人脸识别哪家强? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。<strong class="NumberBoard-itemValue" title="被浏览<strong class="NumberBoard-itemValue" title="2,102分享邀请回答www.douban.com本篇收录到【人工智能指南】更多关于人工指南的阅读可以参考:1.3K3 条评论分享收藏感谢收起122 条评论分享收藏感谢收起人脸属性检测接口QPS问题
发布于 19:39
浏览:301 回复:4
看新闻说人脸属性这个接口不限调用次数,但是不是还是限QPS的?
如果限的话,这个QPS是根据每个应用的key来单独计算的,还是根据同一个开发者账户下所有应用的QPS合计计算呢?
我在控制台创建5个应用,每个应用的key是不是有独立的两个QPS呢?

我要回帖

更多关于 人脸检测 拍照 接口 的文章

 

随机推荐