场景图生成——RelTR训练自己的数据集

RelTR训练自己的数据集

  • 省流量省时间版本
    • 框的标注
    • 关系的标注
    • 总的
  • 前言
  • Open Images V6的标注格式
  • RelTR中使用的Open Images V6的数据标注格式
  • 具体步骤
    • 框的标注生成格式
    • 关系三元组的生成格式
  • 结束语
  • 参考链接

省流量省时间版本

框的标注

共需要创建4个json标注文件
train.json, test.json, val.json为目标检测训练、测试、验证的标注,标注格式为COCO数据集的标注格式,包含图片的名字,检测框, 类别id.
在这里插入图片描述

关系的标注

rel.json:表示一张图片中的关系三元组
在这里插入图片描述
rel.json文件中有4个字段,tran,val,test分别为训练、验证、测试集的关系三元组,rel_categories表示关系类别。
详解:
train字段中,‘10000’:[0, 4. 30]表示图片的id号为10000,该图中有n个目标,也就是有n个框,框的id从0到n - 1,0表示第一个框,4表示第五个框,30是关系id。

总的

也就是说,把数据集中,每张图片的框标注单独放一个文件,然后所有的关系三元组放在一个文件。特别的,关系三元组标注中,每张图片的框的数目不一样,把属于一张图片的关系三元组放在 以图片id为 key,关系三元组为val的字典中。
在这里插入图片描述
在这里插入图片描述
就像上面这两张图一样,id为131691的图片有6个框,框的id从0到5

前言

最近在做关于视觉关系检测的任务,找文章的过程中发现了一篇使用transformer进行视觉关系检测(场景图生成)的文章——RelTR,于是想用这篇文章的模型来跑一下自己的数据集。因为当前用的数据集不是最终版本的数据集,所以先写个文章记录一下模型使用数据集的格式,方便后面处理数据集,避免大量重复的工作,所以就有了这篇文章。

Open Images V6的标注格式

在开始之前,先来看一下数据集的原始标注格式,这里我只展示Open Image V6的标注格式,这个数据集的官网上可以下载图片和标注。这里只下载关系部分的标注,如下图所示。
在这里插入图片描述
打开之后如下所示,第一行为标题,具体含义可以参考Open Images Dataset V6 简介,简单的一话总结就是:一个框的物体是什么类别,另一个框的物体是什么类别,这来两个框的关系是什么
在这里插入图片描述
这里简单的提一句,因为论文中使用的是类似于COCO数据集的检测方式,所以图片的名字以及物体的类别都是用数据表示的,所以在RelTR的代码中有提供将这些字符串转为数字的代码。

RelTR中使用的Open Images V6的数据标注格式

接着,将RelTR上提供的已经处理好的Open Images V6的标注下载下来,总共标注文件有4个,如下所示:
在这里插入图片描述
其中train.json, test.json, val.json为目标检测训练、测试、验证的标注,标注格式为COCO数据集的标注格式,包含图片的名字,检测框, 类别id如下:
在这里插入图片描述
图片名字:
在这里插入图片描述
框的标注:
在这里插入图片描述
类别id:
在这里插入图片描述
所以这三个json标注文件的准备就按照COCO数据集的标注格式准备就行。

场景图生成,或者是说视觉关系检测,最重要的是目标之间的关系,使用python将rel.json加载显示出来,片段如下:
在这里插入图片描述
这个json文件中有4个字段,分别是:train、test、val、rel_categories,具体意思是,训练、测试和验证集中图片中的关系三元组以及关系的类别。之前第一眼看到这个文件里面的数据有点懵,不知道什么意思,然后去翻作者提供的process.py文件,发现也没有说,去论文里面找也没有说,所以我猜测这个文章使用经过处理的数据集是参考别人的,所以还要去找其他论文的工作才行。
找了挺久之后,发现在RelTR的GitHub网站中的数据集准备部分找到了来源,具体如下:
在这里插入图片描述
打开之后找到一个跳转链接:
在这里插入图片描述
然后可以下载一个文件,里面有处理数据的源码,主要部分的代码如下:
在这里插入图片描述
可以看到三元组是从这里添加的,b1_id为三元组里面的第一个框,它属于这张图片中所有标注物体的某一个框,框的id为b1_id,同理,b2_id也为其中的一个框,框的id为b2_id。举个例子,一张图片中有个5个物体,那就有5个框,框的id从0到4,然后id为2和id为4之间有一个关系为on,这个on的关系id为关系类别中的id,比如第10类,那么这个三元组为[2, 4, 10]。记住,这个框的id是相对于一张图片中的所有框来说的。
到这里,基本能理解RelTR中的json文件中的标注是什么意思了。

具体步骤

框的标注生成格式

COCO数据集的标注格式就很好找了,下面给出mmdetection中的自定义数据集准备的一个图:
在这里插入图片描述

关系三元组的生成格式

关系三元组的生成有两个原则:

  1. 每张图片有一个字典,图片的id为字典的key,里面存放着这张图片的全部关系三元组,即字典的val,是一个列表。
  2. 关系三元组里面的框的id是相对于这张图片而言。
    在这里插入图片描述
    在这里插入图片描述
    就像上面这两张图一样,id为131691的图片有6个框,框的id从0到5

最后,把所有的标注按照训练、测试、验证划分,得到如下的标注:
在这里插入图片描述
需要注意的是,一定要确保图片中的框的id对应起来要正确,这样得到的关系三元组才是正常的。比如,给框编号时,一定要准确。
另外提一句,RelTR是将所有的图片放在一个文件中的。

结束语

本人的水平有限,如有不当之处敬请指出。写文章的目的在于记录和分享,希望不喜勿喷。

参考链接

Open Images V6官网
Open Images V6数据集简介
mmdetection自定义数据集准备

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/22891.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

本地部署 Stable Diffusion XL Gradio Demo WebUI

StableDiffusion XL Gradio Demo WebUI 0. 先展示几张 StableDiffusion XL 生成的图片1. 什么是 Stable Diffusion XL Gradio Demo WebUI2. Github 地址3. 安装 Miniconda34. 创建虚拟环境5. 安装 Stable Diffusion XL Gradio Demo WebUI6. 启动 Stable Diffusion XL Gradio De…

洛谷:P5016 龙虎斗 ← NOIP2018 普及组T2

【题目来源】https://www.luogu.com.cn/problem/P5016【题目描述】 轩轩和凯凯正在玩一款叫《龙虎斗》的游戏,游戏的棋盘是一条线段,线段上有 n 个兵营(自左至右编号 1∼n),相邻编号的兵营之间相隔 1 厘米,…

Learning Spatial and Spatio-Temporal Pixel

Learning Deformable Kernels for Image and Video Denoising 作者: Xiangyu Xu 商汤科技SenseTime Research 论文思想:一是将传统的双边滤波算法与CNN结合起来,二是用变形卷积来做多帧对齐的问题,三还是在raw上进行处理的。 …

Zookeeper集群 + Kafka集群 + Filebeat + ELK

目录 一:Zookeeper 概述 1、Zookeeper 定义 2、Zookeeper 工作机制 3、Zookeeper 特点 4、 Zookeeper 数据结构 5、 Zookeeper 应用场景 6、 Zookeeper 选举机制 (1)第一次启动选举机制 (2)非第一次启动选举机制…

JMeter 如何模拟不同的网络速度

目录 前言: 限制输出带宽以模拟不同的网络速度 将这两行添加到user.properties文件中(可以在JMeter安装的bin文件夹中找到此行) 通过-J 命令行参数传递属性的值,如下所示: 前言: JMeter可以通过使用不同…

【mysql】—— 数据库的操作

序言: 在上篇文章我已经对数据库进行了详细的介绍,接下来我们就将上手学习操作的细节了。本篇文章便带领大家去学习有关库操作的基本知识!!! 目录 (一)库的操作 1、 创建数据库 2、字符集和…

【深度学习笔记】训练 / 验证 / 测试集

本专栏是网易云课堂人工智能课程《神经网络与深度学习》的学习笔记,视频由网易云课堂与 deeplearning.ai 联合出品,主讲人是吴恩达 Andrew Ng 教授。感兴趣的网友可以观看网易云课堂的视频进行深入学习,视频的链接如下: 神经网络和…

基于物联网技术的养老院管理系统设计与实现_kai

基于物联网技术的养老院管理系统设计与 实现 摘 要 随着我国老年人口数量的逐年增加,人口抚养比也在迅速攀升,越来越多的老年人将走 出家门进入养老院安度自己的晚年。同时国家和地方也相继出台了加快发展老龄事业的政策 方针,作为机构养老…

第三方api对接怎么做?淘宝1688api接口怎么对接?

在今天的互联网上,第三方API对接是必不可少的。这种技术将不同的应用程序/服务连接在一起,创造了无限的可能性。 第三方api对接怎么做? 1、与支付公司签约 首先,通过正规的渠道,如支付公司官网或正规服务商&#xf…

如何让Stable Diffusion正确画手(1)-通过embedding模型优化图片质量

都说AI画手画不好手, 看这些是我用stable diffusion生成的图片,小姐姐都很漂亮,但手都千奇百怪,破坏了图片的美感。 其实只需要一个提示词,就能生成正确的手部,看这是我重新生成的效果,每一个小…

1、网络基础

网络发展背景、IP、端口、网络通信协议,TCP/IP五层模型、字节序 一、网络发展背景 局域网:网络覆盖在1000m以内的网络 城域网:网络覆盖在20km以内的网络 广域网:网络覆盖在20km以上的网络 因特网、互联网:更大的国…

基于单片机汽车防盗报警的设计与实现

功能介绍 以STM32单片机作为主控系统;LCD1602液晶显示当前温度信息和参数等功能;3个LED指示灯表示:震动指示灯、人体感应指示灯、防盗模式开启指示灯;按键用来开启防盗模式,设置温度上下限;开启防盗后检测到…