如何从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
相关产品推荐
相关产品推荐

