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

Objectron开发者指南:如何扩展数据集支持新的物体类别

Objectron开发者指南:如何扩展数据集支持新的物体类别

【免费下载链接】ObjectronObjectron is a dataset of short, object-centric video clips. In addition, the videos also contain AR session metadata including camera poses, sparse point-clouds and planes. In each video, the camera moves around and above the object and captures it from different views. Each object is annotated with a 3D bounding box. The 3D bounding box describes the object’s position, orientation, and dimensions. The dataset contains about 15K annotated video clips and 4M annotated images in the following categories: bikes, books, bottles, cameras, cereal boxes, chairs, cups, laptops, and shoes项目地址: https://gitcode.com/gh_mirrors/ob/Objectron

Objectron是一个以物体为中心的短视频片段数据集,包含约15K个带注释的视频剪辑和4M张带注释的图像,目前支持自行车、书籍、瓶子等9个物体类别。本指南将详细介绍如何为Objectron数据集添加新的物体类别,帮助开发者轻松扩展数据集功能。

1. 准备新类别数据采集

扩展Objectron数据集的第一步是为新物体类别准备高质量的视频数据。数据采集需遵循以下规范:

  • 视频要求:每个视频片段应包含物体从不同角度的视图,建议时长5-10秒,帧率30fps
  • 环境要求:选择光照充足、背景简单的场景,确保物体清晰可见
  • 相机移动:围绕物体进行多角度拍摄,包括俯视、侧视等视角
  • AR元数据:必须包含相机姿态、稀疏点云和平面信息(可使用ARCore或ARKit采集)

2. 标注新物体3D边界框

新类别数据需要标注3D边界框,描述物体的位置、方向和尺寸。

图:Objectron数据集中不同物体的3D边界框标注示例,展示了自行车、书籍、瓶子等物体的3D空间定位

标注过程中需要定义:

  • 物体中心点在世界坐标系中的位置
  • 3x3旋转矩阵描述物体方向
  • 3D尺度向量表示物体长、宽、高(单位:米)
  • 8个顶点的3D坐标(遵循object.proto定义的格式)

3. 修改数据模式定义

要支持新类别,需要更新协议缓冲区定义文件:

  1. 更新物体类别枚举
    编辑object.proto文件,在Object消息的category字段中添加新类别名称:

    message Object { // ...现有字段... string category = 2; // 添加新类别名称,如"backpack" // ...其他字段... }
  2. 定义新类别关键点
    为新物体定义3D关键点模板,包括中心点和边界框顶点:

    message Skeleton { string category = 2; // 新类别名称 repeated KeyPoint keypoints = 3; // 定义关键点坐标 // ...其他字段... }
  3. 重新生成Python代码
    使用protoc编译更新后的proto文件:

    protoc --python_out=. objectron/schema/object.proto protoc --python_out=. objectron/schema/annotation_data.proto

4. 创建新类别索引文件

index目录下为新类别创建三个索引文件:

  • [new_category]_annotations- 完整标注数据
  • [new_category]_annotations_train- 训练集划分
  • [new_category]_annotations_test- 测试集划分

索引文件格式应与现有类别保持一致,每行包含视频片段的元数据和标注文件路径。可参考现有索引文件如index/bike_annotations的格式。

5. 更新数据集解析代码

修改数据集解析模块以支持新类别:

  1. 更新类别列表
    在objectron/dataset/parser.py中添加新类别到类别列表:

    SUPPORTED_CATEGORIES = ['bike', 'book', 'bottle', ..., 'new_category']
  2. 调整3D边界框处理
    确保iou.py中的3D交并比计算支持新类别的边界框形状:

    def compute_3d_iou(box1, box2): """计算两个3D边界框的交并比""" # 确保支持新类别的边界框尺寸计算

6. 验证新类别集成

添加新类别后,使用提供的notebooks验证集成是否成功:

  1. 运行数据加载测试
    使用notebooks/Parse Annotations.ipynb加载新类别的标注数据,检查是否能正确解析3D边界框

  2. 可视化验证
    使用notebooks/objectron-geometry-tutorial.ipynb可视化新类别物体的3D边界框,确认标注正确性

  3. 评估指标检查
    运行notebooks/3D_IOU.ipynb验证新类别3D边界框的交并比计算是否正常

7. 提交贡献指南

完成新类别的添加后,可按照以下步骤贡献到Objectron项目:

  1. 确保所有代码遵循项目编码规范
  2. 提供新类别数据集的样本和说明文档
  3. 创建Pull Request,描述新类别添加的详细信息
  4. 参与代码审查并根据反馈进行修改

通过以上步骤,你可以成功为Objectron数据集添加新的物体类别,扩展其在3D物体检测和姿态估计任务中的应用范围。如有疑问,可参考项目中的CONTRIBUTING.md获取更多帮助。

【免费下载链接】ObjectronObjectron is a dataset of short, object-centric video clips. In addition, the videos also contain AR session metadata including camera poses, sparse point-clouds and planes. In each video, the camera moves around and above the object and captures it from different views. Each object is annotated with a 3D bounding box. The 3D bounding box describes the object’s position, orientation, and dimensions. The dataset contains about 15K annotated video clips and 4M annotated images in the following categories: bikes, books, bottles, cameras, cereal boxes, chairs, cups, laptops, and shoes项目地址: https://gitcode.com/gh_mirrors/ob/Objectron

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/672350/

相关文章:

  • 如何将你的网页游戏变成专业桌面应用:Twine App Builder跨平台打包指南
  • 淘宝、1688 拍立淘(以图搜货)接口接入全解:从实战心得到落地教学
  • OWASP Nettacker高级配置技巧:硬件资源优化与性能调优终极指南
  • 3分钟上手!RPG Maker解密工具全攻略:轻松提取游戏资源的终极指南
  • React同构HTTP请求实战:use-http在Next.js中的完美应用
  • 构建极致性能:Voron 2.4 CoreXY架构3D打印机的5大创新设计
  • 3D-ResNets-PyTorch实战指南:7个关键技巧助你避开动作识别常见陷阱
  • 从D0到D3:手把手教你用ACPI View工具分析Windows/Linux下的设备电源状态
  • 【西北农林科技大学、西京学院主办,ACM出版】第二届智慧农业与人工智能国际学术会议(SAAI 2026)
  • 星露谷物语模组加载器SMAPI终极指南:从零开始打造你的梦幻农场
  • 终极React Live测试指南:为实时编辑组件构建可靠单元测试的5个关键策略
  • 别再乱用CrossEntropyLoss了!PyTorch分类任务中标签与输入的5个常见误区与正确写法
  • 2026年SAT冲刺提分机构推荐:快速提分、快速出分、高效提分辅导机构盘点 - 品牌2026
  • MindSpore安装后,用这行命令快速验证你的GPU/CUDA环境是否真的配好了
  • WebMock错误处理完全手册:从基础异常到自定义错误类型
  • Objectron完全指南:如何使用谷歌开源3D物体检测数据集快速入门
  • 终极PHP PDF生成指南:如何使用FPDF快速创建专业文档
  • 用HTML5 Canvas和JavaScript轻松实现《黑客帝国》同款代码雨特效(附完整源码)
  • Mac Mouse Fix终极指南:5分钟将普通鼠标打造成macOS生产力神器
  • 2026深圳美国高端本科留学中介挑选要点,美本申请高端定制机构推荐 - 品牌2026
  • 传统几何光学成像与光纤追迹仿真系统
  • 2026英国脱产留学怎么选中介?脱产申请机构推荐 - 品牌2026
  • 合金板工厂口碑大比拼,2026年3月精选推荐,q420C高强钢板/q690E高强钢板/钨钢防弹插板,合金板厂家直销地址 - 品牌推荐师
  • C++项目实战:用unordered_map轻松搞定数据统计、去重与缓存(附完整代码)
  • Redis Key 空间事件机制详解
  • AvalancheGo API使用指南:完整接口文档和示例
  • 2025届学术党必备的AI辅助写作网站推荐榜单
  • GHelper终极指南:3步轻松掌握华硕笔记本轻量控制工具
  • 别再乱用EventBus的@Subscribe了!5种ThreadMode模式实战详解(附避坑指南)
  • 2026年4月卡地亚官方售后网点亲测+避坑指南:实地横评与数据溯源报告(含迁址/新开)|老司机分享全流程记录 - 亨得利官方服务中心