当前位置: 首页 > ops >正文

OVD开放词汇检测中COCO数据集的属性

前面的文章介绍了在Detic中基于COCO数据集实现OVD检测的操作方法,但是要在其他数据集上迁移,还是要了解COCO数据集是如何被利用的,这里针对数据集的属性进行说明。

COCO数据集的标签形式做过目标检测的应该都很熟悉,图像名称、宽高、标签框、分割边界点、类别名等属性,那在OVD检测中,哪些属性信息是被利用的?哪些属性还要进一步拓展?根据Detic中的数据集内容的特点来进行相应说明。

1、必需的标签属性:

A. 基础检测属性:

# 1. 边界框信息
bbox = {"x": float,  # 左上角x坐标"y": float,  # 左上角y坐标"width": float,  # 宽度"height": float  # 高度
}# 2. 类别信息
category = {"id": int,  # 类别ID"name": str  # 类别名称
}# 3. 图像信息
image = {"id": int,  # 图像ID"file_name": str,  # 图像文件名"height": int,  # 图像高度"width": int  # 图像宽度
}# 4. 分割掩码
segmentation = {"polygon": [[x1,y1,x2,y2,...]],  # 多边形点集"counts": str  # RLE编码
}

 这个标签属性好整,下载的COCO标签文件直接就有,自己制作采用常规的标注软件就可获取,或者公开数据集进行标签格式转换

2、 OVD特有的标签属性:

A. 类别划分信息:

# 1. 类别划分
category_split = {"split": str,  # 'seen' 或 'unseen'"embedding": {"GloVE": array,  # GloVe词向量"BertEmb": array  # BERT词向量}
}# 2. 类别映射
category_mapping = {"synset": str,  # WordNet同义词集"coco_cat_id": int  # COCO类别ID
}

这个类别划分信息在标签文件里出现,如 instances_val2017_unseen_2.json,好像是有的配置文件会用到的标签,不是都会用到

主要是如下形式:

{"categories": [{"id": int,"name": str,"synset": str,"split": str,  # category_split"embedding": {"GloVE": array,"BertEmb": array}}],"images": [...],"annotations": [...]
}

 

为什么要用到GloVE和BertEmb,查找信息表示,代码会把这两种特征进行融合用于类别名称的表示,GloVe提供基础语义,BERT提供上下文信息,同时表示类别,便于和其他类别名称建立关联,比如输入哈士奇,可以推理检测目标是狗,这个应该是可以自己根据类别名称用文本编码器处理生成的。

# 1. 准确率提升
- 常见类别: GloVe优势
- 复杂类别: BERT优势
- 整体性能: 互补提升# 2. 鲁棒性提升
- 处理一词多义
- 适应不同场景
- 提高泛化能力

 category_mapping没有直接出现在标签文件,

B.  文本描述信息:

{"images": [{"id": int,                    # 图像ID"file_name": str,             # 图像文件名"height": int,                # 图像高度"width": int,                 # 图像宽度"captions": [str],            # 图像描述文本列表"pos_category_ids": [int]     # 图像中出现的类别ID列表}],"categories": [...]                   # 类别信息
}

这是coco_caption_train_tags数据集的标签内容形式    "coco_caption_train_tags": ("coco/train2017/", "coco/annotations/captions_train2017_tags_allcaps.json"),}

captions是对应图像的描述,pos_category_ids是通过分析图像描述或标注信息生成的,数字表示具体的类别ID,对应数据集中的类别

 3、不需要的标签属性

# 1. 图像元数据
image_metadata = {"license": int,  # 许可证信息"url": str,  # 图像URL"date_captured": str  # 拍摄日期
}# 2. 标注元数据
annotation_metadata = {"id": int,  # 标注ID"area": float,  # 区域面积"iscrowd": int  # 是否人群
}

    http://www.xdnf.cn/news/10587.html

    相关文章:

  1. 数论——约数和倍数
  2. 平滑技术(数据处理,持续更新...)
  3. 提升嵌入式软件调试效率的核心方
  4. 什么是煤矿智能掘进
  5. 第七章.正则表达式
  6. 【03】完整开发腾讯云播放器SDK的UniApp官方UTS插件——优雅草上架插件市场-卓伊凡
  7. 腾讯位置商业授权沿途搜索服务开发指南
  8. c++ delete实现动作
  9. Netty学习example示例
  10. RAG的ETL Pipeline源码解读
  11. 科技类专著写作与出版过程
  12. 【java面试】MySQL篇
  13. Python Day40 学习(复习学习日志Day5-7)
  14. make_unique
  15. 基于LangChain的AI助手开发:从零到上线
  16. 案例:TASK OA
  17. Pycharm的终端无法使用Anaconda命令行问题详细解决教程
  18. 兰亭妙微十六年高水准交互设计公司
  19. php 各版本下载
  20. 探索大语言模型(LLM):RSE流程详解——从文档中精准识别高相关片段
  21. 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Form Wave(表单label波动效果)
  22. 力扣刷题(第四十五天)
  23. navicate菜单栏不见了怎么办
  24. cursor如何开启自动运行模式
  25. PH热榜 | 2025-05-31
  26. Docker常用命令详解与高效记忆指南
  27. Android Studio历史版本下载地址汇总
  28. 【软件测试】web自动化:Pycharm+Selenium+Firefox(一)
  29. 【动画】unity中实现骨骼蒙皮动画
  30. 使用FastAPI构建车牌检测识别服务