图像云识别简介
本篇介绍 EasyAR CRS(Cloud Recognition Service)云识别功能的核心原理、预期效果及与平面图像跟踪的区别,帮助开发者理解云端识别的适用场景与限制。
基本原理
云识别(Cloud Recognition) 是一种将识别过程迁移到云端的方案,适用于目标库庞大或需要动态更新的场景。其核心流程如下:
图库管理
- 创建图库:在 CRS 控制台上传您的目标图像。系统会自动计算目标图像的视觉特征并作为一个 Target 添加到后台数据库中。
- 增删改查:在 CRS 控制台可以对您的目标库进行增、删、改、查等操作。操作完毕后,客户端无需更新应用即可使用。
重要事项
用于云识别的目标图像对图像质量的要求与平面图像跟踪中的要求是完全一致的。详情参考:目标图像最佳实践。
识别流程
- 图像上传:客户端通过摄像头捕获当前画面,将图像数据发送至 EasyAR CRS 服务。
- 云端匹配:服务器在云端目标库中进行快速检索,匹配预存的 Target 数据(即开发者上传的目标图像)。
- 结果返回:匹配成功后,云端将识别结果(目标ID、目标图像等)返回至客户端,客户端据此显示虚拟内容或利用图像继续进行后续的跟踪。
与平面图像跟踪的区别
| 特性 | 平面图像跟踪(本地) | 云识别(云端) |
|---|---|---|
| 识别计算 | 设备本地完成 | 云端服务器完成 |
| 目标库大小 | 受内存限制和加载时间的权衡,通常不建议超过100张 | 单库最大10万张目标图像,可扩充至亿级 |
| 目标更新 | 需重新打包分发应用 | 实时上传,立即生效 |
| 网络依赖 | 无需网络(离线可用) | 必须联网(识别请求需网络) |
| 功能侧重 | 识别并持续跟踪(输出 6DoF 位姿) | 一次性识别(目标匹配) |
关键说明:
- 识别(Recognition):仅完成“这是什么目标”的匹配,不提供持续跟踪。若需跟踪,需结合本地平面图像跟踪功能。
- 适用场景:目标数量多(如商品库、儿童绘本)、需频繁更新(如活动海报)或功能需求单一(如只需要识别不需要跟踪)。
服务使用与管理
EasyAR CRS 提供灵活、安全的云端目标管理方案,支持从个人开发到企业级应用的多样化需求。
图库隔离与安全
- 多图库支持:您可以创建多个独立的 CRS 图库,每个图库之间完全隔离,目标不会冲突。例如:
- 图库 A:用于营销活动,存放产品海报。
- 图库 B:用于教育培训,存放教材插图。
- 安全机制:每个图库通过唯一的 API Key 和 Secret 访问,确保数据安全。
并发量模式选择
根据应用规模和扫描量需求,CRS 提供两种并发模式:
| 模式 | 适用场景 | 特点 | 开通方式 |
|---|---|---|---|
| 基本并发量 | AR 应用 QPS < 50,一般扫描量 | 自助开通,稳定可靠 | 在 CRS 控制台在线申请 |
| 高并发量 | AR 应用 QPS ≥ 50,大流量扫描 | 专享资源保障,低延迟 | 联系 EasyAR 技术支持,评估后开通 |
提示
初创项目或测试阶段可选择基本模式,应用上线后根据实际流量(如监控 QPS 识别请求量)决定是否升级。
图库管理与 API
- 图库管理:日常操作(如创建、删除、上传目标)请参考 图库管理 章节,内含详细步骤和截图。
- CRS API:提供丰富的 REST API,支持以下场景:
- 健康检查:通过 API 查询服务状态。
- 自动化:批量上传、删除、修改、查询目标。
- 实用工具:目标识别度打分,相似性冲突检查。
注意
CRS 支持通过 SDK、微信小程序、Web 等方式集成使用。通过 SDK 集成仅支持 EasyAR Sense v2.0.0 及以上版本。
效果与预期结果
了解云识别的实际表现有助于开发者合理设定项目目标。以下是典型场景下的效果描述:
理想效果
- 识别速度快:从拍摄到返回结果延迟 < 1秒(网络良好时)。
- 识别准确率高:在目标图像清晰、网络稳定的情况下,准确率 > 98%。
- 支持大规模目标库:单库可管理多达10万个目标识别图。
- 实时更新:上传新目标后,客户端无需更新即可识别(仅需联网)。
不理想情况与应对
| 现象 | 原因 | 用户感知 | 解决方案 |
|---|---|---|---|
| 识别延迟高 | 网络差、图像上传慢 | 需等待数秒才出现结果 | 应用上做适当提示 |
| 识别失败 | 图像模糊、目标未上传至云端 | 虚拟内容不出现 | 检查 CRS 目标库状态,引导用户稳定设备 |
| 目标冲突 | 目标库中相似图像过多 | 识别到错误目标 | 优化目标图像,增加区分度。或将相似图像分库管理 |
预期结果验证方法
- 开发阶段:在 EasyAR CRS 控制台上传测试目标,先通过 HelloARCRS 样例验证识别流程并熟悉应用逻辑,然后在自己的应用内进行集成。
- 测试阶段:使用自己的应用在各种条件下测试识别成功率,如弱网环境、动态更新目标图像、增加云端图库大小等。
最佳实践
云识别通过云端计算扩展了目标库容量和动态更新能力,但牺牲了离线能力和实时跟踪。开发者需根据项目需求(目标数量、更新频率、网络环境等)选择方案:小规模静态场景用本地跟踪,大规模动态场景用云识别。
在使用 CRS 时,建议按照如下模式进行开发:
- 测试阶段:使用基本并发模式,上传少量目标验证流程。
- 上线前:评估预期并发量,提前联系技术支持升级高并发模式(需1~2个工作日)。
- 运维阶段:定期使用 API 监控图库健康状态,确保服务稳定。
重要事项
季节性流量高峰预警:若您的应用在节假日、大型活动或营销推广期间可能面临临时并发量激增,请务必提前至少3个工作日联系 EasyAR 技术支持申请服务升级,以避免识别服务使用受限。
另外,如果您的应用需要大规模的图库,同时又需要有目标图像跟踪的需求,可以将云识别与平面图像跟踪功能结合起来使用。具体介绍和说明可以参阅 与平面图像跟踪结合 章节。