large refactor

This commit is contained in:
2022-09-25 08:31:13 +00:00
parent 84ec5a056e
commit 92891f5b26
33 changed files with 1661 additions and 1635 deletions
+21 -17
View File
@@ -44,11 +44,11 @@ def downscale_1(img):
def downscale_2(img):
results = [img]
for i in range(5):
# print(np.array(img.shape[:2]) / (2 ** (i + 1)))
# results.append(tf.image.resize(img, size=np.array(img.shape[:2]) / (2 ** (i + 1)), method=tf.image.ResizeMethod.NEAREST_NEIGHBOR, antialias=True, preserve_aspect_ratio=True))
size = (np.array(img.shape[:2]) / (2 ** (i + 1))).astype(np.int32)
size = (size[1], size[0])
results.append(cv2.resize(img, size, interpolation=cv2.INTER_NEAREST))
print(np.array(img.shape[:2]) / (2 ** (i + 1)))
results.append(tf.image.resize(img, size=np.array(img.shape[:2]) / (2 ** (i + 1)), method=tf.image.ResizeMethod.NEAREST_NEIGHBOR, antialias=True, preserve_aspect_ratio=True))
# size = (np.array(img.shape[:2]) / (2 ** (i + 1))).astype(np.int32)
# size = (size[1], size[0])
# results.append(cv2.resize(img, size, interpolation=cv2.INTER_NEAREST))
return results
def upscale_1(imgs):
@@ -127,27 +127,30 @@ if __name__ == '__main__':
factory = DatasetFactory()
signature_dynamic = { 'id': (),
'pose_shape': (72 + 11,),
'uv_posed': (3, 512, 256,),
# 'uv_posed': (3, 512, 256,),
# 'uv_body_posed': (3, 512, 256,),
'mesh_body_posed': (14475, 3,),
'mesh_posed': (14475, 3,),
# 'mesh_unposed': (14475, 3,),
# 'uv_unposed': (3, 512, 256,)
}
signature_static = { #'uv_static': (3, 512, 256,),
# 'mesh_static': (14475, 3,),
signature_static = { 'uv_static': (3, 512, 256,),
# 'mesh_static': (14475, 3,),
'mesh_mask': (14475,),
'uv_mask': (512, 256,),
# 'uv_shaped_body': (3, 512, 256,),
'uv_mask_32': (32, 16,),
# 'uv_shaped_body': (3, 512, 256,),
}
dataset_train = factory.get_dataset(folder='/home/workspace/local-data/train_100',
batch_size=1,
signature=signature_dynamic,
use_filled=True)
use_filled=True,
resolutions=[512, 32])
static_dataset_train = StaticDataset(folder='/home/workspace/local-data/train_100',
signature=signature_static,
use_filled=True)
use_filled=True,
resolutions=[512, 32])
step = 0
@@ -155,7 +158,7 @@ if __name__ == '__main__':
# batch = batch_to_dict(batch, signature_dynamic)
batch = static_dataset_train.expand_batch(batch_to_dict(batch, signature_dynamic))
img = tf.transpose(tf.squeeze(batch['uv_posed']), [1,2,0]).numpy()
img = tf.transpose(tf.squeeze(batch['uv_static']), [1,2,0]).numpy()
coords = np.transpose(np.stack(np.nonzero((1 - batch['uv_mask'][0]).numpy().astype(bool))), (1,0))
img_idx = np.transpose(np.stack(np.nonzero((batch['uv_mask'][0]).numpy().astype(bool))), (1,0))
img_data = img[img_idx[:,0], img_idx[:,1], :]
@@ -169,7 +172,8 @@ if __name__ == '__main__':
img_2 = res
uv_mask = batch['uv_mask'].numpy()[0]
uv_mask = downscale_2(uv_mask)
uv_mask_32 = batch['uv_mask_32'].numpy()[0]
# uv_mask = downscale_2(uv_mask)
# for i in range(0,3):
# uv_mask[i] = cv2.dilate(uv_mask[i].astype(np.float32), cv2.getStructuringElement(cv2.MORPH_RECT, (2 * 2 + 1, 2 * 2 + 1), (2, 2)), iterations=2)#.astype(bool)[:, :, np.newaxis]
# for i in range(3,6):
@@ -178,9 +182,9 @@ if __name__ == '__main__':
down_1 = downscale_1(img)
down_2 = downscale_1(img_2)
up_1 = upscale_1(down_1)
up_1 = upscale_1([down_1[-2]])
# down_2 = [down_2[i] * uv_mask[i][:,:,np.newaxis] for i in range(len(down_2))]
up_2 = upscale_1(down_2)
up_2 = upscale_1([down_1[-2] * uv_mask_32[:,:,tf.newaxis]])
mask = batch['mesh_mask'].numpy().astype(bool)[0]
mesh_2 = [uv2mesh(tf.transpose(up_2[i], [2,0,1])[tf.newaxis,:,:,:])[0] for i in range(len(up_2))]
@@ -230,7 +234,7 @@ if __name__ == '__main__':
fig = make_subplots(rows=2, cols=6, start_cell="top-left")
for i, d2 in enumerate(uv_mask):
for i, d2 in enumerate(up_1):
fig.add_trace(ex.imshow((d2 + 1) * 128).data[0], row=1, col=i+1)
for i, u2 in enumerate(up_2):
@@ -240,7 +244,7 @@ if __name__ == '__main__':
fig = make_subplots(rows=2, cols=6, start_cell="top-left", specs = [ [{ 'type': 'xy' } for _ in range(6)], [{ 'type': 'scene' } for _ in range(6)] ])
for i, u2 in enumerate(up_2):
for i, u2 in enumerate(up_1):
fig.add_trace(ex.imshow((u2 + 1) * 128).data[0], row=1, col=i+1)
# for i, m1 in enumerate(mesh_1):