This commit is contained in:
2022-09-13 09:23:01 +00:00
parent 977e49900d
commit 440444cd82
19 changed files with 1630 additions and 81 deletions
+24 -7
View File
@@ -4,6 +4,7 @@ import argparse
import wandb
import random
import tqdm
import cv2
import scipy as sp
import scipy.interpolate as spi
import numpy as np
@@ -36,14 +37,18 @@ uv2mesh = UV2Mesh(res=256)
def downscale_1(img):
results = [img]
for i in range(5):
results.append(tf.image.resize(img, size=np.array(img.shape[:2]) / (2 * (i + 1)), method=tf.image.ResizeMethod.LANCZOS5))
# print(str(np.array(img.shape[:2]) / (2 ** (i + 1))) + ' ' + str((2 * (i + 1))))
results.append(tf.image.resize(img, size=np.array(img.shape[:2]) / (2 ** (i + 1)), method=tf.image.ResizeMethod.LANCZOS5))
return results
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))
# 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):
@@ -136,11 +141,13 @@ if __name__ == '__main__':
# 'uv_shaped_body': (3, 512, 256,),
}
dataset_train = factory.get_dataset(folder='/home/workspace/local-data/stylegan_new/train',
dataset_train = factory.get_dataset(folder='/home/workspace/local-data/train_100',
batch_size=1,
signature=signature_dynamic)
static_dataset_train = StaticDataset(folder='/home/workspace/local-data/stylegan_new/train',
signature=signature_static)
signature=signature_dynamic,
use_filled=True)
static_dataset_train = StaticDataset(folder='/home/workspace/local-data/train_100',
signature=signature_static,
use_filled=True)
step = 0
@@ -161,9 +168,18 @@ if __name__ == '__main__':
img_2 = res
uv_mask = batch['uv_mask'].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):
# uv_mask[i] = cv2.dilate(uv_mask[i].astype(np.float32), cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3), (2, 2)), iterations=1)#.astype(bool)[:, :, np.newaxis]
down_1 = downscale_1(img)
down_2 = downscale_1(img_2)
up_1 = upscale_1(down_1)
# down_2 = [down_2[i] * uv_mask[i][:,:,np.newaxis] for i in range(len(down_2))]
up_2 = upscale_1(down_2)
mask = batch['mesh_mask'].numpy().astype(bool)[0]
@@ -172,6 +188,7 @@ if __name__ == '__main__':
F = np.load("custom_utils/smpl_faces.npy")
_, faces = _maskFaces(np.ones((14475, 3)), F, mask)
# mesh_downscaled = mesh_2[-1].numpy()[mask, :]
# uv_optimized = optimize(down_2[-1], tf.transpose(batch['uv_posed'][0], [1,2,0]))
# uv_optimized = tf.image.resize(uv_optimized, size=(512, 256), method=tf.image.ResizeMethod.LANCZOS5)
@@ -213,7 +230,7 @@ if __name__ == '__main__':
fig = make_subplots(rows=2, cols=6, start_cell="top-left")
for i, d2 in enumerate(down_2):
for i, d2 in enumerate(uv_mask):
fig.add_trace(ex.imshow((d2 + 1) * 128).data[0], row=1, col=i+1)
for i, u2 in enumerate(up_2):