You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从coco_ssd_mobilenet_v1_1.0_quant.tflite中提取labels.txt文件

从coco_ssd_mobilenet_v1_1.0_quant.tflite提取labels.txt操作指南

作为开发新手优先推荐第一种方案,操作成本最低,不会出错。

方案1:直接使用标准COCO标签(无需解析模型)

你使用的这款模型是基于COCO目标检测数据集训练的,内置标签是固定公开的,直接复制下面的内容保存为labels.txt即可,完全符合每行一个标签的使用要求:

person
bicycle
car
motorcycle
airplane
bus
train
truck
boat
traffic light
fire hydrant
stop sign
parking meter
bench
bird
cat
dog
horse
sheep
cow
elephant
bear
zebra
giraffe
backpack
umbrella
handbag
tie
suitcase
frisbee
skis
snowboard
sports ball
kite
baseball bat
baseball glove
skateboard
surfboard
tennis racket
bottle
wine glass
cup
fork
knife
spoon
bowl
banana
apple
sandwich
orange
broccoli
carrot
hot dog
pizza
donut
cake
chair
couch
potted plant
bed
dining table
toilet
tv
laptop
mouse
remote
keyboard
cell phone
microwave
oven
toaster
sink
refrigerator
book
clock
vase
scissors
teddy bear
hair drier
toothbrush

上述列表是完整的91类COCO标签,和模型内置的标签顺序完全一致,可直接用于安卓项目。

方案2:从本地tflite文件提取标签(适合需要验证标签一致性的场景)

如果你需要确认模型内置标签和标准标签是否一致,可以用Python脚本提取,操作步骤如下:

  • 第一步:安装TensorFlow Lite官方依赖库,执行命令:
    pip install tflite-support
  • 第二步:新建Python脚本,复制以下代码,替换模型路径为你本地的tflite文件路径:
from tflite_support.metadata.python import metadata

# 填写你的本地模型文件路径
model_path = "./coco_ssd_mobilenet_v1_1.0_quant.tflite"

# 读取模型中的关联文件
associated_files = metadata.get_associated_files(model_path)
for file in associated_files:
    # 匹配标签文件的常见命名
    if file.name in ["labelmap.txt", "labels.txt"]:
        label_content = file.content.decode("utf-8")
        # 写入本地文件
        with open("labels.txt", "w", encoding="utf-8") as f:
            f.write(label_content)
        print("标签文件已成功导出,保存为当前目录下的labels.txt")
  • 第三步:运行脚本,执行完成后就能在脚本同目录得到符合要求的labels.txt文件。

Kotlin安卓端使用提示

  • 将生成的labels.txt和tflite模型文件一起放到项目的src/main/assets目录下
  • 读取标签的参考代码如下:
fun loadLabels(context: Context): List<String> {
    val labelList = mutableListOf<String>()
    context.assets.open("labels.txt").use { inputStream ->
        inputStream.bufferedReader().useLines { lines ->
            lines.forEach { line ->
                // 过滤空行
                if (line.isNotBlank()) {
                    labelList.add(line.trim())
                }
            }
        }
    }
    return labelList
}
  • 注意:模型输出的检测类别索引和标签列表的索引是一一对应的,使用时不要调整标签顺序避免匹配错误。

内容的提问来源于stack exchange,提问作者BATMAN_X

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 09:39:02