找回密码
 立即注册
搜索
EasyAR 教程 Unity 查看内容

EasyAR 云识别系列教程(1)---HelloARCloud

AlbertLee 2017-12-29 15:12

EasyAR CRS 系列教程,教你更好的使用EasyAR 云识别

之前社区中的那篇云识别教程是基于EasyAR SDK2.0的,在表达上和思路上没有很好的阐述云识别的功能特点与本地识别的区别,所以开设一个系列专题讲解EasyAR CRS的特性以及如何使用CRS。

Step 1: 关于CRS


EasyAR CRS(EasyAR 云识别服务)是EasyAR 提供的基于云端的图像识别检索服务,包括图像目标云端检索功能和图像目标管理功能。具有以下特点:

1.云识别本地化 : 云识别一次成功后,云识别图可以缓存到本地识别库, 即使无网络也可对目标进行快速精准的重复识别。

2.大容量图库:亿级云端图库。 为提升性价比,当前识别图单库支持100000张识别图。可根据用户需求进行扩充。

3.快速精准的识别: 0.1秒的超快速识别,瞬间响应。 识别准确率高达98%。

4.高效API接口 : 简洁高效的API接口,快速集成。 让开发工作更便捷。

5.后端可视化操作: 提供可视化操作后台, 使图库管理操作便捷且直观。

6.识别图性能检测 :对图片的可识别性及相似度进行检测, 并给出检测详情。(在后续版本会优化加强此功能)

关于CRS的收费:


下面是具体的收费细节:



Step 2: 建立图库

随着EasyAR 2.1 的推出,EasyAR 开发管理后台也迎来了比较大的更新,更加方便开发者来管理Key与图库。

进入开发中心,新建一个云识别图库,这里需要你填写一些相关信息:



建好图库之后(test):可以查看到相关秘钥三要素:


上传识别图,示例如下,关于Meta文件是可选的,后面会详细说明。


识别图为:



上传成功之后,你会看到识别图的相关信息:


建好图库之后,还需要准备一个Key(具体细节这里不做描述,不了解的请查阅:EasyAR 初学者入门指南(1)---显示模型


Step 3: HelloAR

我们可以使用EasyAR Basic 从头搭建开发环境,也可以使用官网的samples(在这里强烈建议使用samples来开发项目,大大提高效率)。下载EasyAR Samples for Unity:https://www.easyar.cn/view/download.html#download-nav2


在Unity 里面打开HelloARCloud 项目,示例如图:

打开 Scene --HelloARCloud

首先填写Key


填写三要素(对应官网):Server 填写URL的8080端口


在这个demo基础上,我们进行测试,扫描传到官网的识别图出现一个默认的cube。

对于Android 或 iOS也一样,下载Android samples,进入MainActivity代码区,覆盖EasyAR License以及您的图库秘钥三元组

iOS也一样。

Step 4: 部分API讲解

1.关于新建目标图像:

使用POST来创建一个Traget,首先是一些请求参数:


示例:

POST /targets/ HTTP/1.1 Host: Date: Wed, 25 Jun 2015 13:43:18 GMT Content-Type: application/json { "image":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...", "active":"1", "name":"easyar", "size":"5", "meta":"496fbbabc2b38ecs3460a...", "type":"ImageTarget", "date": "2016-05-27T09:15:39.559Z", "appKey": "test_app_key", "signature": "89985e2420899196db5bdf16b3c2ed0922c0c221" }

返回:

HTTP/1.1 200 OK Content-Type: application/json { "statusCode": 0, "result": { "targetId":"e61db301-e80f-4025-b822-9a00eb48d8d2", "trackingImage":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...", "name": "easyar", "size": "5", "meta": "496fbbabc2b38ecs3460a...", "type": "ImageTarget", "date": "2016-06-15T09:56:30.000Z", "active":"1" }, "date": "2016-06-15T09:09:19.954Z" }


返回说明:


2.识别难度评分

开发者在将识别图上传到CRS时,可以对识别图进行一个检测(在后续版本会专门有一个这样的可视化的操作,来帮助用户评测识别度)。

目前根据图像的识别困难度打分,依次从0到4,分值越大代表困难度越大。在创建新目标图像前需要调用这个接口。

请求字段与参数分别是:


eg:

POST /grade/detection/ HTTP/1.1 Host: Date: Wed, 25 Jun 2015 13:43:18 GMT Content-Type: application/json { "image":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...", "date": "2016-05-27T09:15:39.559Z", "appKey": "test_app_key", "signature": "89985e2420899196db5bdf16b3c2ed0922c0c221" }

返回;

HTTP/1.1 200 OK Content-Type: application/json { "statusCode": 0, "result": { "grade": 1 }, "date": "2016-06-15T10:06:46.894Z" }

3.检查相似图片

检查图库中是否有相似图片也是一个必要的需求,建议在创建一个新目标前来使用此接口。如果返回的results 列表为空,表示没有相似的图片。

请求参数:



示例:

POST /similar/ HTTP/1.1 Host: Date: Wed, 25 Jun 2015 13:43:18 GMT Content-Type: application/json { "image":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...", "date": "2016-05-27T09:15:39.559Z", "appKey": "test_app_key", "signature": "89985e2420899196db5bdf16b3c2ed0922c0c221" }


返回:

HTTP/1.1 200 OK Content-Type: application/json { "statusCode": 0, "result": { "date": "2016-06-15T09:58:51.000Z", "results":[ { "targetId":"e61db301-e80f-4025-b822-9a00eb48d8d2", "trackingImage":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...", "name": "easyar", "size": "5", "meta": "496fbbabc2b38ecs3460a...", "type": "ImageTarget", "date": "2016-06-15T09:56:30.000Z", "active":"1" } ] }, "date": "2016-06-15T09:09:19.954Z
}


4. 关于Meta 文件

在上传识别图时 Meta 文件是一个可选参数。Meta 文件是base64编码的附加信息,例如将json字符串base64编码后生成的字符串,它有两种常见的用法:


鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋
分享至 : QQ空间
收藏