开发
API

TrackingArAlgorithmResult

通过 AlgorithmManager.doExecute 获取的算法结果

物体跟踪算法

开启方式

tt.getAlgorithmManager({
    ...
    requirements: ['trackingAr']
    options: {
        trackingAr: {
            modelPath: "ttfile://user/tracking_ar_model.dat",
        },
    }
    ...
})

本示例使用的 obj_three.js 添加了兼容小程序的 OBJLoader 接口,需要开启开发者工具的 Ignore the request or webview domain name validity check (works in simulation/preview/debug mode only) 选项来支持模型的加载。

options.trackingAr.modelPath 表示算法模型文件的路径,算法模型文件需要提交符合格式的识别图像,这里的路径必须是 ttfile:// 开头,在使用算法之前需要加载或拷贝算法模型文件到 ttfile:// 路径下。

识别图格式

为了保证识别跟踪效果,我们对识别图的大小、格式等进行了规范性限制。

  1. 识别图应为不小于 480x480 像素的图片
  2. 识别图格式应为 jpg
  3. 识别图应小于 3M
  4. 识别图命名格式:

模板图:产品名_商品名_实物名_md5, 例如: douyin_chanel_coco_2c4796683b5cdae6ae52cfbb776fb540.jpg

测试图:产品名_商品名_实物名_test, 例如:douyin_chanel_coco_test.jpg

如有多张图片在后面加数字,例如:douyin_chanel_coco_test1.jpg

注意:图片名不要使用中文,可以用拼音代替

  1. 识别图必须是 2D 平面图形,不支持 3D 物体等实体物作为触发物。
  2. 识别图中主要的影响因素是特征点,它多为色差较大的图案边缘的拐点(即图像灰度值发生剧烈变化后在边缘形成的曲率较大的点),可通过不同形态、不同形状的设计元素构造丰富的特征点。
  3. 图片纹理相似度高会对识图触发过程产生影响,建议通过组合、叠加、手绘等形式减少相似度高的纹理。
  4. 如识别图中需加入文字,建议对文字进行不同风格的艺术设计,尽量减少标准字体下的相似特征点,
  5. 识别图纹理需分布均匀,避免元素过于集中。
  6. 识别图的相邻色块间的灰度值差别应尽量大。
  7. 请使用高分辨率、高清晰度、高像素的识别图。不建议反光、过暗、有噪点、强曝光的图片作为识别图。
  8. 明确要识别的区域,如果不是整图识别,一定要提前说明。

算法结果

object 类型,具体属性如下:

属性名

类型

说明

最低版本支持

objectId

number

当前目标图对应的物体 id

2.26.0

pose

number[]

模型的 transform 4x4 矩阵,具体排列方式为

m0, m1, m2, m3,

m4, m5, m6, m7,

...

...

2.26.0

projection

number[]

相机的 perspective 4x4 矩阵,排列方式同上

2.26.0

status

number

追踪物体的状态,有以下 4 个状态:

0:UNAVAILABLE 算法还没有初始化,

1:TRACKED 能够稳定追踪 AR 目标。

2:LOSING 是仍然有追踪 AR 目标的结果,但状态不稳定。

3:LOST 丢失目标图像,无法追踪到 AR 目标

2.26.0

点击纠错
评价此篇文档