GGCNN笔记
先上總結(jié):
需要RGB圖片 進(jìn)行標(biāo)注
**r.png ------main_label.py----->? **Label.txt ------generate_target_ggcnn.py---------> **grasp.mat
有? **grasp.mat ,??**r.png, 和 **d.tiff 時(shí) 就已經(jīng)可以訓(xùn)練了。
如果沒有 **d.tiff (因?yàn)闆]有深度相機(jī)所以無法獲得深度圖)。
使用 點(diǎn)云文件轉(zhuǎn)化成 深度圖? ? ? pcd*[0-9].txt? ------>? pcd*[0-9]d.tiff
使用grasp_label項(xiàng)目下的main_label.py
對(duì)**r.png 文件標(biāo)注? ?
????????(**r.png,普通彩色圖,給人看的,在這個(gè)上面標(biāo)注)
結(jié)果是生成? **Label.txt??
????????里面是 : 抓取點(diǎn)的坐標(biāo),抓取角度,寬度。
使用grasp_label項(xiàng)目下的generate_target_ggcnn.py
讀取**Label.txt 轉(zhuǎn)化成 **grasp.mat
**grasp.mat 的內(nèi)容是:
????????生成ggcnn抓取檢測(cè)標(biāo)簽
????????抓取點(diǎn)、抓取角、抓取寬度 合成一個(gè)mat (3, 480, 640)
????????????????抓取點(diǎn): 1通道
????????????????抓取角:1通道。單位弧度
????????????????抓取寬度:1通道。單位像素
然后下載cornell數(shù)據(jù)集
里面是三個(gè)txt加一個(gè)png為一份
?然后運(yùn)行下面的代碼
把點(diǎn)云文件(pcd*[0-9].txt) 轉(zhuǎn)化成了 d.tiff 的深度圖。
這個(gè)txt可不是 上面講的 Label.txt,注意區(qū)分
# import glob # import os # import numpy as np # from imageio import imsave # import argparse # from utils.dataset_processing.image import DepthImage # # #康奈爾提供的數(shù)據(jù)是:pcd*[0-9].txt,并沒有.tiff # #這個(gè)程序就是把點(diǎn)云文件(pcd*[0-9].txt) 轉(zhuǎn)化成了.tiff的深度圖。 # if __name__ == '__main__': # parser = argparse.ArgumentParser(description='Generate depth images from Cornell PCD files.') # parser.add_argument('path', type=str, help='Path to Cornell Grasping Dataset') # # parser.add_argument('--dataset-path', type=str, help='Path to Cornell Grasping Dataset') # args = parser.parse_args() # # # pcds = glob.glob(os.path.join(args.path, '*', 'pcd*[0-9].txt')) # pcds.sort() # # for pcd in pcds: # di = DepthImage.from_pcd(pcd, (480, 640)) # di.inpaint() # # of_name = pcd.replace('.txt', 'd.tiff') # print(of_name) # imsave(of_name, di.img.astype(np.float32))import glob import os import numpy as np from imageio import imsave import argparse from utils.dataset_processing.image import DepthImage# #康奈爾提供的數(shù)據(jù)是:pcd*[0-9].txt,并沒有.tiff # #這個(gè)程序就是把點(diǎn)云文件(pcd*[0-9].txt) 轉(zhuǎn)化成了.tiff的深度圖。 if __name__ == '__main__':path = r'E:\GGCNN\code\CORNELL_DATA\0-1034'pcds = glob.glob(os.path.join(path, 'pcd*[0-9].txt'))pcds.sort()# print(pcds)for pcd in pcds:print(pcd)di = DepthImage.from_pcd(pcd, (480, 640))di.inpaint()of_name = pcd.replace('.txt', 'd.tiff')# print(of_name)imsave(of_name, di.img.astype(np.float32))課程補(bǔ)充:訓(xùn)練GGCNN的數(shù)據(jù)集說明 - 古月居 (guyuehome.com)
然后在這個(gè)文件夾里有 **r.png 和 **d.tiff 了。
最后把 **r.png ,**d.tiff ,**grasp.mat? 三種文件放到一個(gè)路徑下,讓網(wǎng)絡(luò)的數(shù)據(jù)集路徑指向這里就可以了。
訓(xùn)練時(shí)
在訓(xùn)練的代碼中,讀取該路徑下的:
**grasp.mat ,然后?
depthf = [f.replace('grasp.mat', 'd.tiff') for f in graspf] #把.mat 替換為 .tiff # print("depthf hahhahh ahhah ",depthf)rgbf = [f.replace('grasp.mat', 'r.png') for f in graspf]把? **d.tiff 和 **r.png 文件讀進(jìn)來,訓(xùn)練參數(shù)。
總結(jié):
需要RGB圖片 進(jìn)行標(biāo)注
**r.png ------main_label.py----->? **Label.txt ------generate_target_ggcnn.py---------> **grasp.mat
有? **grasp.mat ,??**r.png, 和 **d.tiff 時(shí) 就已經(jīng)可以訓(xùn)練了。
如果沒有 **d.tiff (因?yàn)闆]有深度相機(jī)所以無法獲得深度圖)。
使用 點(diǎn)云文件轉(zhuǎn)化成 深度圖? ? ? pcd*[0-9].txt? ------>? pcd*[0-9]d.tiff
萌新求帶,如果有錯(cuò)誤,歡迎指正。
總結(jié)
- 上一篇: html自动排序数字,JS实现点击表头表
- 下一篇: 罗马数字向数字的转换