ObjectDatasetTools生成linemod数据集预处理Linemod_preprocessed过程记录

此前用ObjectDatasetTools制作的真实数据,需进一步处理才能用于算法训练。介绍了在LINEMOD/Gold文件夹下依次运行多个Python脚本进行预处理的步骤,包括生成特定文件、转换图片格式、替换相机参数、划分测试集和训练集等,最终形成所需文件目录结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在之前用ObjectDatasetTools制作真实数据后,还需要进一步处理才能用于算法训练。

主要包括以下预处理步骤:
在LINEMOD/Gold⽂件夹下依次创建如下python脚本并运行

  1. gt_info.py
import os
import numpy as np
import matplotlib.image


f = open("gt.txt", "w")

count = len(os.listdir("./transforms"))
for k in range(count):
    print('正在读取第'+str(k)+"张\n")
    data_load = np.load("transforms" + "/" + str(k) + ".npy")
    cam_r = []
    for i in range(3):
        for j in range(3):
            cam_r.append(data_load[i][j])      #cam_R_m2c

    cam_t = [data_load[0][3] * 1000,data_load[1][3] * 1000,data_load[2][3] * 1000]   #cam_t_m2c

    im = matplotlib.image.imread('mask/' + str(k) +'.png')
    r = []
    c = []
    ls1 = [0]
    ls2 = [0]

    for i in range(480):
        for j in range(1, 640):
            if im[i][j - 1] == 0 and im[i][j] == 1:
                r.append(i)
                c.append(j)
                break
    for i in range(480):
        for j in range(1, 640):
            if im[i][j - 1] == 1 and im[i][j] == 0:
                ls1[0] = i
                ls2[0] = j
    r.append(ls1[0])
    c.append(ls2[0])
    rmin = min(r)
    rmax = max(r)
    cmin = min(c)
    cmax = max(c)
    r.clear()
    c.clear()
    bb=[]
    bb.append(rmin)
    bb.append(rmax)
    bb.append(cmin)
    bb.append(cmax)
    print(cam_t)
    print(cam_r)
    print(bb)
    f.write("{}:\n".format(k))
    f.write("- cam_R_m2c: [{}, {}, {}, {}, {}, {}, {}, {}, {}]\n".format(cam_r[0],cam_r[1],cam_r[2],cam_r[3],cam_r[4],cam_r[5],cam_r[6],cam_r[7],cam_r[8]))
    f.write("  cam_t_m2c: [{}, {}, {}]\n".format(cam_t[0],cam_t[1],cam_t[2]))
    f.write("  obj_bb: [{}, {}, {}, {}]\n".format(bb[0],bb[1],bb[2],bb[3]))
    f.write("  obj_id: 1\n")
    cam_r.clear()
    bb.clear()
    cam_t.clear()
f.close()

os.rename("./gt.txt","./gt.yml")

运行后得到gt.yml文件

  1. rename.py
import os
import cv2


root_rgb = "./JPEGImages/"
root_mask = "./mask/"
root_depth = "./depth/"

ls_rgb = os.listdir(root_rgb)
ls_mask = os.listdir(root_mask)
ls_depth = os.listdir(root_depth)

os.mkdir("rgb")

for file in ls_rgb:
    os.rename(root_rgb + file,"./rgb/" +"0" * int(4 - len(file[:-4])) + file[:-4] + ".jpg")
for fil
### 回答1: 要下载linemod_preprocessed数据集,您可以按照以下步骤进行操作: 1. 首先,打开您的网页浏览器,并在搜索栏中输入“linemod_preprocessed数据集下载”。 2. 在搜索结果中,会显示一些可能的数据集下载链接。您可以点击其中一个链接,进入该数据集的下载页面。 3. 在下载页面上,您可能需要先注册一个账号,或者阅读并接受数据集的使用条款。 4. 完成注册或接受使用条款后,您将获得下载数据集的权限。 5. 找到适合您的数据集版本和格式的下载链接,并点击下载。 6. 根据您的网络速度和数据集的大小,下载的时间可能会有所不同。请耐心等待下载完成。 7. 下载完成后,您可以找到下载的数据集文件。它可能是一个压缩文件,您需要将其解压缩到您的计算机中。 8. 解压缩后,您可以在指定的位置找到linemod_preprocessed数据集,并将其用于您的项目或研究。 请注意,具体的下载步骤可能因数据集的来源和提供者而有所不同。您可能需要在相关的网站或论坛上查找更多关于linemod_preprocessed数据集下载的信息,并遵循它们提供的指导来完成下载。 ### 回答2: linemod_preprocessed数据集是一个用于目标检测和识别的数据集,特别针对于LINEMOD数据集预处理版本。该数据集可以提供给开发人员使用,用于训练和评估模型的性能。 要下载linemod_preprocessed数据集,可以按照以下步骤操作: 1. 打开linemod_preprocessed数据集的官方网站或相关资源网站。 2. 寻找数据集的下载链接或资源页面。 3. 点击下载链接或导航至相关资源页面。 4. 检查下载页面的要求和许可证条款,如有需要,确认是否符合要求并同意条款。 5. 点击下载按钮或链接。 6. 等待数据集文件的下载完成。 7. 下载完成后,将文件保存到合适的位置。 请注意,linemod_preprocessed数据集可能会有不同的版本和格式。在下载数据集之前,您应该确保您理解了数据集的内容和用途,并确定它是否适合您的项目需求。 下载完数据集后,您可以开始使用它进行目标检测和识别的模型训练和评估。您可以将数据集加载到适当的框架或库中,并按照相关文档进行操作和使用。根据您的具体任务和用途,您可能需要进行一些预处理或数据清洗工作,以确保数据集的质量和适应性。 总之,linemod_preprocessed数据集可以通过找到官方网站或相关资源网站来进行下载,并可以用于目标检测和识别任务的模型训练和评估。在使用数据集之前,请确保您了解数据集的内容和要求,并遵循相关许可证条款。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值