Skip to content
Snippets Groups Projects
Commit af446c7b authored by Guillaume Duret's avatar Guillaume Duret
Browse files

cleaning

parent 0382a646
No related branches found
No related tags found
No related merge requests found
import math
import numpy as np
import json
from utils import compute_categories_id, compute_id_good_occ
......@@ -51,7 +48,6 @@ def process_compute(data_name, camera, camera_resized, new_size, Nb_camera, Worl
with open(f'{data_name}/Generated/Count_{p-1}.json') as f:
list_count_categories = json.load(f)
for categories in list_categories:
if categories in catergories_occ_array.keys():
if len(catergories_occ_array[categories]) == 1 :
......@@ -73,7 +69,6 @@ def process_compute(data_name, camera, camera_resized, new_size, Nb_camera, Worl
meta['occlusion'] = occ_target
meta['Nb_instance_category'] = 1
if not os.path.isfile(f'{data_name}/Generated/{categories}/Meta_Gen/{categories}.json'):
with open(f'{data_name}/Generated/{categories}/Meta_Gen/{categories}.json', mode='w') as f:
feeds = {}
......@@ -86,9 +81,6 @@ def process_compute(data_name, camera, camera_resized, new_size, Nb_camera, Worl
with open(f'{data_name}/Generated/{categories}/Meta_Gen/{categories}.json', mode='w') as f:
f.write(json.dumps(feeds, indent=4))
# with open(f'{data_name}/Generated/Meta_Gen/{categories}/{categories}.json', "a") as meta_file:
# json.dump(meta, meta_file, indent=4)
for k in range(len(data_3D_pose)):
if data_3D_pose[k]['id'] == catergories_occ_array[categories][0]:
......@@ -122,73 +114,44 @@ def process_compute(data_name, camera, camera_resized, new_size, Nb_camera, Worl
instance_img = instance(img, id)
cv2.imwrite(f"{data_name}/Generated/{categories}/Instance_Mask/{p}.png", 255*instance_img)
cat_mask = cv2.resize(instance_img, new_size)
cv2.imwrite(f"{data_name}/Generated/{categories}/Instance_Mask_resized/{p}.png", 255*cat_mask)
instance_img_resized = cv2.resize(instance_img, new_size)
cv2.imwrite(f"{data_name}/Generated/{categories}/Instance_Mask_resized/{p}.png", 255*instance_img_resized)
img = cv2.imread(f"{data_name}/RGB/{p}.png")
cv2.imwrite(f"{data_name}/Generated/{categories}/RGB_Gen/{p}.png", img)
img_resized = cv2.resize(img, new_size)
cv2.imwrite(f"{data_name}/Generated/{categories}/RGB_resized/{p}.png", img_resized)
np.set_printoptions(precision=15)
pose = np.load(f'{data_name}/Generated/{categories}/Pose_transformed/{p}.npy')
#print(pose)
R_exp = pose[0:3, 0:3]
tVec = pose[0:3, 3]
#print(tVec)
# camera = np.matrix([[1386.4138492513919, 0.0, 960.5],
# [0.0, 1386.4138492513919, 540.5],
# [0.0, 0.0, 1.0]])
fps_points = np.loadtxt(f'{data_name}/Generated/{categories}/{categories}_fps_3d.txt')
# process(pcd_bbox, pcd, R_exp, tVec, camera, img)
center = fps_points.mean(0)
fps_points = np.append(fps_points, [center], axis=0)
points = process2(fps_points, R_exp, tVec, camera, img, vis)
#out = np.zeros((1, ))
out = [int(catergories_occ_array[categories][0])]# [catergories_occ_array[categories][0]] #obj_id #len have to be 1 !!
print(out)
out = [int(catergories_occ_array[categories][0])] #len have to be 1 !!
ind = 1
for point in points:
#out[0][ind] = point[0][0] / img.shape[1]
#[0][ind + 1] = point[0][1] / img.shape[0]
x = point[0][0] / img.shape[1]
y = point[0][1] / img.shape[0]
out.append(x)
out.append(y)
ind += 2
np.savetxt(f'{data_name}/Generated/{categories}/FPS/{p}.txt', np.array(out).reshape(1, len(out)))
#print("stop")
points_resized = process2(fps_points, R_exp, tVec, camera_resized, img_resized, vis)
#out = np.zeros((1, ))
out_resized = [int(catergories_occ_array[categories][0])]# [catergories_occ_array[categories][0]] #obj_id #len have to be 1 !!
print(out)
out_resized = [int(catergories_occ_array[categories][0])] #len have to be 1 !
ind_resized = 1
for point_resized in points_resized:
#out[0][ind] = point[0][0] / img.shape[1]
#[0][ind + 1] = point[0][1] / img.shape[0]
x_resized = point_resized[0][0] / img_resized.shape[1]
y_resized = point_resized[0][1] / img_resized.shape[0]
out_resized.append(x_resized)
out_resized.append(y_resized)
ind_resized += 2
np.savetxt(f'{data_name}/Generated/{categories}/FPS_resized/{p}.txt', np.array(out_resized).reshape(1, len(out_resized)))
#print("stop")
with open(f'{data_name}/Generated/Count_{p}.json', mode='w') as f:
f.write(json.dumps(list_count_categories, indent=4))
print(list_count_categories)
......
import os
import numpy as np
import json
from prepare_data import reform_data
#from pose import transform_pose
#from bbox_2d import generate_2d_bbox
#from instance_mask import generate_instance_mask
from fps_alg import apply_fps
from bbox_3d import get_3D_bbox
from compute_features import process_compute
from utils import compute_categories_id, compute_id_good_occ
import shutil
import open3d as o3d
# Import the library
import argparse
from scipy.spatial import distance
import argparse
def generate_folders(name, list_categories):
is_exist = os.path.exists(name)
......@@ -52,31 +45,20 @@ if __name__ == '__main__':
# Parse the argument
args = parser.parse_args()
### parameters ###
Categories = [] # to read
Nb_instance = 1
occ_target = 0.5
dataset_src = "/media/gduret/DATA/dataset/s2rg/Fruits_all_medium/data"
#dataset_src = "/media/mahmoud/E/Fruits_easy/data"
choice = "low" # depth of rgb resolution datas
data_options = {"high": "ground_truth_rgb",
"low": "ground_truth_depth"}
dataset_type = data_options[choice]
dataset_name = f"GUIMOD_{choice}"
list_categories = ["banana1", "kiwi1", "pear2", "strawberry1", "apricot", "orange2", "peach1", "lemon2", "apple2" ]
# frame = "1_600000000"
#frame = "1_926000000"
Nb_camera = 15
#Nb_world = 2
generate_folders(dataset_name, list_categories)
# for cat in list_categories:
# src_bbox = f"Models/{cat}/{cat.lower()}.ply"
# dst_bbox = f"{dataset_name}/Generated/{cat}/{cat.lower()}.ply"
# shutil.copy(src_bbox, dst_bbox)
if choice == 'high':
camera = np.matrix([[1386.4138492513919, 0.0, 960.5],
......@@ -94,13 +76,11 @@ if __name__ == '__main__':
[0.0, 0.0, 1.0]])
new_camera = trans @ camera
np.savetxt(f'{dataset_name}/Generated/camera_{choice}.txt', camera)
reform_data(dataset_src, dataset_name, dataset_type, Nb_camera, args.World_begin, args.Nb_worlds)
list_categories = ["banana1", "kiwi1", "pear2", "strawberry1", "apricot", "orange2", "peach1", "lemon2", "apple2" ]
objs = {"banana1": [ 0.02949700132012367249, 0.1511049866676330566, 0.06059300713241100311 ],
"kiwi1": [ 0.04908600077033042908, 0.07206099480390548706, 0.04909799993038177490 ],
"pear2": [ 0.06601099669933319092, 0.1287339925765991211, 0.06739201396703720093 ],
......@@ -115,49 +95,17 @@ if __name__ == '__main__':
point_cloud = f"Models/{categories}/{categories.lower()}.ply"
pcd = o3d.io.read_point_cloud(point_cloud)
#print("pcd", pcd)
fps_points = apply_fps(pcd, 8)
#print(fps_points)
np.savetxt(f'{dataset_name}/Generated/{categories}/{categories}_fps_3d.txt', fps_points)
#point_cloud = f'/home/mahmoud/PycharmProjects/data/GUIMOD_low/Models/{obj}/{obj.lower()}.ply'
#pcd = o3d.io.read_point_cloud(point_cloud)
point_cloud_in_numpy = np.asarray(pcd.points)
dim = calc_pts_diameter2(point_cloud_in_numpy) * 100
print(dim)
np.savetxt(f'{dataset_name}/Generated/{categories}/{categories}_diameter.txt', np.array([dim]))
size_bb = objs[categories]
ext = [x / 2 for x in size_bb]
bbox = get_3D_bbox(ext)
np.savetxt(f'{dataset_name}/Generated/{categories}/{categories}_bbox_3d.txt', bbox) # save
# json_num = 2
# catergories_instance_array_id_to_cat, catergories_instance_array_cat_to_id, catergories_label_to_id = compute_categories_id(dataset_name, json_num)
# print(f'{dataset_name}/Bbox_3d/{json_num}.json')
# with open(f"{dataset_name}/Bbox_3d/{json_num}.json", 'r') as f:
# data_Bbox_3d = json.load(f)
# print("catergories_instance_array_cat_to_id : ", catergories_instance_array_cat_to_id)
# print("data_Bbox_3d : ", data_Bbox_3d)
# for k in range(len(data_Bbox_3d)):
# if data_Bbox_3d[k]['id'] in catergories_instance_array_cat_to_id[categories]:
# print(data_Bbox_3d)
# size_bb = data_Bbox_3d[k]["bbox"]["size"]
# ext = [x / 2 for x in size_bb]
# bbox = get_3D_bbox(ext)
# np.savetxt(f'{dataset_name}/Generated/{categories}/{categories}_bbox_3d.txt', bbox) # save
# break
process_compute(dataset_name, camera, new_camera, new_size, Nb_camera, args.World_begin, args.Nb_worlds, list_categories, occ_target, False)
#transform_pose(dataset_name, Nb_camera, Nb_world, list_categories, occ_target)
#generate_2d_bbox(dataset_name, Nb_camera, Nb_world, list_categories, occ_target)
#generate_instance_mask(dataset_name, Nb_camera, Nb_world, list_categories, occ_target)
#generate_fps(dataset_name, camera, Nb_camera, Nb_world, list_categories, occ_target, True)
#generate_3d_bbox(dataset_name)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment