如何确定Vertex AI目标检测模型导出TFLite后的类别映射顺序?
解决Google Vertex AI目标检测模型类别顺序映射问题
获取训练时的类别标签顺序
- 从Vertex AI控制台查看:如果用AutoML训练,进入对应数据集的详情页,页面展示的类别列表顺序就是模型输出
detection_classes数值对应的标签顺序(数值从1开始,对应列表的第1项)。 - 提取训练生成的标签文件:自定义训练场景下,训练过程会生成
label_map.pbtxt文件,里面的id字段就是detection_classes的数值,对应的name就是标签名称,比如:item { id: 1 name: "cat" } item { id: 2 name: "dog" } - 测试样本反向验证:用一张已知类别的图片跑模型推理,对比输出的
detection_classes数值和实际类别,就能确定对应关系。比如输入猫的图片,输出类别数值为1,就说明1对应猫。
建立类别映射对象
拿到顺序后,直接创建JS映射对象即可。假设类别顺序为["cat", "dog", "bird"](对应数值1、2、3),代码示例:
// 类别映射:key对应detection_classes的数值,value是标签名称 const labelMap = { 1: "cat", 2: "dog", 3: "bird" }; // 结合模型输出使用 const topClassId = detection_classes[0]; const topLabel = labelMap[topClassId]; console.log(`最高置信度检测类别:${topLabel}`);
内容的提问来源于stack exchange,提问作者Phil Lucks
相关产品推荐
相关产品推荐

