diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..09c2251 Binary files /dev/null and b/.DS_Store differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..474d8f2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +__pycache__ +results +3dmm_data +aflw2000_data +pretrained +*.zip +train_aug_120x120 +ckpts +uv_art +art-all diff --git a/DefConv.py b/DefConv.py new file mode 100644 index 0000000..789ce91 --- /dev/null +++ b/DefConv.py @@ -0,0 +1,50 @@ +import torch +import torchvision.ops +from torch import nn + +class DeformableConv2d(nn.Module): + def __init__(self, + in_channels, + out_channels, + kernel_size=3, + stride=1, + padding=1, + bias=False): + + super(DeformableConv2d, self).__init__() + + assert type(kernel_size) == tuple or type(kernel_size) == int + + kernel_size = kernel_size if type(kernel_size) == tuple else (kernel_size, kernel_size) + self.stride = stride if type(stride) == tuple else (stride, stride) + self.padding = padding + + self.offset_conv = nn.Conv2d(in_channels, + 2 * kernel_size[0] * kernel_size[1], + kernel_size=kernel_size, + stride=stride, + padding=self.padding, + bias=True) + + nn.init.constant_(self.offset_conv.weight, 0.) + nn.init.constant_(self.offset_conv.bias, 0.) + + self.regular_conv = nn.Conv2d(in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=self.padding, + bias=bias) + + def forward(self, x): + + offset = self.offset_conv(x) + + x = torchvision.ops.deform_conv2d(input=x, + offset=offset, + weight=self.regular_conv.weight, + bias=self.regular_conv.bias, + padding=self.padding, + stride=self.stride, + ) + return x diff --git a/MAE_results/dcnv1_MAE.txt b/MAE_results/dcnv1_MAE.txt new file mode 100644 index 0000000..b89bfa4 --- /dev/null +++ b/MAE_results/dcnv1_MAE.txt @@ -0,0 +1 @@ +Mean MAE = 4.471 (in deg), [yaw,pitch,roll] = [3.882, 5.725, 3.807] \ No newline at end of file diff --git a/MAE_results/dcnv1_NME.txt b/MAE_results/dcnv1_NME.txt new file mode 100644 index 0000000..90f48a2 --- /dev/null +++ b/MAE_results/dcnv1_NME.txt @@ -0,0 +1,5 @@ +Facial Alignment on AFLW2000-3D (NME): +[ 0, 30] Mean: 3.447, Std: 1.456 +[30, 60] Mean: 4.192, Std: 2.255 +[60, 90] Mean: 5.655, Std: 4.049 +[ 0, 90] Mean: 4.431, Std: 0.917 diff --git a/MAE_results/mobilenet_MAE.txt b/MAE_results/mobilenet_MAE.txt new file mode 100644 index 0000000..3cb531a --- /dev/null +++ b/MAE_results/mobilenet_MAE.txt @@ -0,0 +1 @@ +Mean MAE = 3.388 (in deg), [yaw,pitch,roll] = [3.566, 4.059, 2.539] \ No newline at end of file diff --git a/backbone_nets/dcnv1.py b/backbone_nets/dcnv1.py new file mode 100644 index 0000000..c9919d0 --- /dev/null +++ b/backbone_nets/dcnv1.py @@ -0,0 +1,121 @@ +import torch +import torchvision.ops +from DefConv import DeformableConv2d +from torch import nn + +class DefConvBNReLU(nn.Sequential): + def __init__(self, in_planes, out_planes, kernel_size=3, stride=1, groups=1, norm_layer=None): + padding = (kernel_size - 1) // 2 + if norm_layer is None: + norm_layer = nn.BatchNorm2d + super(DefConvBNReLU, self).__init__( + DeformableConv2d(in_planes, out_planes, kernel_size, stride, padding, False), + norm_layer(out_planes), + nn.ReLU6(inplace=True) + ) + +class DeformableBackbone(nn.Module): + def __init__(self, + num_classes=1000, + width_mult=1.0, + inverted_residual_setting=None, + round_nearest=8, + block=None, + norm_layer=None): + """ + MobileNet V2 main class + Args: + num_classes (int): Number of classes + width_mult (float): Width multiplier - adjusts number of channels in each layer by this amount + inverted_residual_setting: Network structure + round_nearest (int): Round the number of channels in each layer to be a multiple of this number + Set to 1 to turn off rounding + block: Module specifying inverted residual building block for mobilenet + norm_layer: Module specifying the normalization layer to use + """ + super(DeformableBackbone, self).__init__() + + if norm_layer is None: + norm_layer = nn.BatchNorm2d + + input_channel = 32 + last_channel = 1280 + + # building first layer + self.last_channel = last_channel#_make_divisible(last_channel * max(1.0, width_mult), round_nearest) + features = [DefConvBNReLU(3, input_channel, stride=2, norm_layer=norm_layer)] + features.append(DefConvBNReLU(input_channel, input_channel, stride=2, norm_layer=norm_layer)) + features.append(DefConvBNReLU(input_channel, input_channel, stride=2, norm_layer=norm_layer)) + features.append(DefConvBNReLU(input_channel, input_channel, stride=2, norm_layer=norm_layer)) + features.append(DefConvBNReLU(input_channel, input_channel, stride=2, norm_layer=norm_layer)) + features.append(DefConvBNReLU(input_channel, input_channel, stride=2, norm_layer=norm_layer)) + # building last several layers + features.append(DefConvBNReLU(input_channel, self.last_channel, stride=2, norm_layer=norm_layer)) + # make it nn.Sequential + self.features = nn.Sequential(*features) + + # building classifier + + self.num_ori = 12 + self.num_shape = 40 + self.num_exp = 10 + + + self.classifier_ori = nn.Sequential( + nn.Dropout(0.2), + nn.Linear(self.last_channel, self.num_ori), + ) + self.classifier_shape = nn.Sequential( + nn.Dropout(0.2), + nn.Linear(self.last_channel, self.num_shape), + ) + self.classifier_exp = nn.Sequential( + nn.Dropout(0.2), + nn.Linear(self.last_channel, self.num_exp), + ) + + # weight initialization + for m in self.modules(): + if isinstance(m, nn.Conv2d): + nn.init.kaiming_normal_(m.weight, mode='fan_out') + if m.bias is not None: + nn.init.zeros_(m.bias) + elif isinstance(m, (nn.BatchNorm2d, nn.GroupNorm)): + nn.init.ones_(m.weight) + nn.init.zeros_(m.bias) + elif isinstance(m, nn.Linear): + nn.init.normal_(m.weight, 0, 0.01) + nn.init.zeros_(m.bias) + + def _forward_impl(self, x): + # This exists since TorchScript doesn't support inheritance, so the superclass method + # (this one) needs to have a name other than `forward` that can be accessed in a subclass + + x = self.features(x) + + x = nn.functional.adaptive_avg_pool2d(x, 1) + x = x.reshape(x.shape[0], -1) + + pool_x = x.clone() + + x_ori = self.classifier_ori(x) + x_shape = self.classifier_shape(x) + x_exp = self.classifier_exp(x) + + x = torch.cat((x_ori, x_shape, x_exp), dim=1) + return x, pool_x + + def forward(self, x): + return self._forward_impl(x) + + +def dcnv1(pretrained=False, progress=True, **kwargs): + """ + Constructs a MobileNetV2 architecture from + `"MobileNetV2: Inverted Residuals and Linear Bottlenecks" `_. + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + model = DeformableBackbone(**kwargs) + return model diff --git a/backbone_nets/dcnv2.py b/backbone_nets/dcnv2.py new file mode 100644 index 0000000..65b3023 --- /dev/null +++ b/backbone_nets/dcnv2.py @@ -0,0 +1,159 @@ +''' +Deformable Convolution operator courtesy of: https://github.com/developer0hye/PyTorch-Deformable-Convolution-v2 +''' + +import torch +import torchvision.ops +from torch import nn + +class DeformableConv2d(nn.Module): + def __init__(self, + in_channels, + out_channels, + kernel_size=3, + stride=1, + padding=1, + bias=False): + + super(DeformableConv2d, self).__init__() + + assert type(kernel_size) == tuple or type(kernel_size) == int + + kernel_size = kernel_size if type(kernel_size) == tuple else (kernel_size, kernel_size) + self.stride = stride if type(stride) == tuple else (stride, stride) + self.padding = padding + + self.offset_conv = nn.Conv2d(in_channels, + 2 * kernel_size[0] * kernel_size[1], + kernel_size=kernel_size, + stride=stride, + padding=self.padding, + bias=True) + + nn.init.constant_(self.offset_conv.weight, 0.) + nn.init.constant_(self.offset_conv.bias, 0.) + + self.modulator_conv = nn.Conv2d(in_channels, + 1 * kernel_size[0] * kernel_size[1], + kernel_size=kernel_size, + stride=stride, + padding=self.padding, + bias=True) + + nn.init.constant_(self.modulator_conv.weight, 0.) + nn.init.constant_(self.modulator_conv.bias, 0.) + + self.regular_conv = nn.Conv2d(in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=self.padding, + bias=bias) + + def forward(self, x): + #h, w = x.shape[2:] + #max_offset = max(h, w)/4. + + offset = self.offset_conv(x)#.clamp(-max_offset, max_offset) + modulator = 2. * torch.sigmoid(self.modulator_conv(x)) + + x = torchvision.ops.deform_conv2d(input=x, + offset=offset, + weight=self.regular_conv.weight, + bias=self.regular_conv.bias, + padding=self.padding, + mask=modulator, + stride=self.stride) + return x + +class DCNv2(nn.Module): + def __init__(self, + num_classes=1000, + width_mult=1.0, + inverted_residual_setting=None, + round_nearest=8, + block=None, + norm_layer=None): + + super(DCNv2, self).__init__() + + input_channel = 32 + last_channel = 1280 + + # building first layer + self.last_channel = last_channel#_make_divisible(last_channel * max(1.0, width_mult), round_nearest) + features = [nn.Conv2d(3, input_channel, stride=2, kernel_size=3)] + features.append(nn.ReLU6()) + features.append(nn.Conv2d(input_channel, input_channel, stride=2, kernel_size=3)) + features.append(nn.ReLU6()) + features.append(nn.Conv2d(input_channel, input_channel, stride=2, kernel_size=3)) + features.append(nn.ReLU6()) + features.append(nn.Conv2d(input_channel, input_channel, stride=2, kernel_size=3)) + features.append(nn.ReLU6()) + features.append(DeformableConv2d(input_channel, input_channel, stride=2)) + features.append(nn.ReLU6()) + features.append(DeformableConv2d(input_channel, input_channel, stride=2)) + features.append(nn.ReLU6()) + # building last several layers + features.append(DeformableConv2d(input_channel, self.last_channel, stride=2)) + features.append(nn.ReLU6()) + # make it nn.Sequential + self.features = nn.Sequential(*features) + + # building classifier + + self.num_ori = 12 + self.num_shape = 40 + self.num_exp = 10 + + + self.classifier_ori = nn.Sequential( + nn.Dropout(0.2), + nn.Linear(self.last_channel, self.num_ori), + ) + self.classifier_shape = nn.Sequential( + nn.Dropout(0.2), + nn.Linear(self.last_channel, self.num_shape), + ) + self.classifier_exp = nn.Sequential( + nn.Dropout(0.2), + nn.Linear(self.last_channel, self.num_exp), + ) + + # weight initialization + for m in self.modules(): + if isinstance(m, nn.Conv2d): + nn.init.kaiming_normal_(m.weight, mode='fan_out') + if m.bias is not None: + nn.init.zeros_(m.bias) + elif isinstance(m, (nn.BatchNorm2d, nn.GroupNorm)): + nn.init.ones_(m.weight) + nn.init.zeros_(m.bias) + elif isinstance(m, nn.Linear): + nn.init.normal_(m.weight, 0, 0.01) + nn.init.zeros_(m.bias) + + def _forward_impl(self, x): + # This exists since TorchScript doesn't support inheritance, so the superclass method + # (this one) needs to have a name other than `forward` that can be accessed in a subclass + + x = self.features(x) + + x = nn.functional.adaptive_avg_pool2d(x, 1) + x = x.reshape(x.shape[0], -1) + + pool_x = x.clone() + + x_ori = self.classifier_ori(x) + x_shape = self.classifier_shape(x) + x_exp = self.classifier_exp(x) + + x = torch.cat((x_ori, x_shape, x_exp), dim=1) + return x, pool_x + + def forward(self, x): + return self._forward_impl(x) + +def dcnv2(pretrained=False, progress=True, **kwargs): + model = DCNv2(**kwargs) + return model diff --git a/benchmark.py b/benchmark.py index 6a4d6d8..5cbffbf 100755 --- a/benchmark.py +++ b/benchmark.py @@ -13,6 +13,7 @@ import argparse import os +import os.path as osp import glob import math from math import cos, atan2, asin @@ -34,7 +35,7 @@ def parse_pose(param): return P, pose def P2sRt(P): - '''decomposing camera matrix P''' + '''decomposing camera matrix P''' t3d = P[:, 3] R1 = P[0:1, :3] R2 = P[1:2, :3] @@ -60,7 +61,7 @@ def matrix2angle(R): else: x = -np.pi / 2 y = -z + atan2(-R[0, 1], -R[0, 2]) - + rx, ry, rz = x*180/np.pi, y*180/np.pi, z*180/np.pi return [rx, ry, rz] @@ -98,18 +99,18 @@ def reconstruct_vertex(param, data_param, whitening=True, transform=True, lmk_pt def extract_param(checkpoint_fp, root='', args=None, filelists=None, device_ids=[0], batch_size=128, num_workers=4): - map_location = {'cuda:{}'.format(i): 'cuda:0' for i in range(8)} + map_location = 'cpu'#{'cuda:{}'.format(i): 'cuda:0' for i in range(8)} checkpoint = torch.load(checkpoint_fp, map_location=map_location)['state_dict'] - + # Need to take off these for different numbers of base landmark points # del checkpoint['module.u_base'] # del checkpoint['module.w_shp_base'] # del checkpoint['module.w_exp_base'] - torch.cuda.set_device(device_ids[0]) + #torch.cuda.set_device(device_ids[0]) model = SynergyNet(args) - model = nn.DataParallel(model, device_ids=device_ids).cuda() + model = nn.DataParallel(model, device_ids=device_ids)#.cuda() model.load_state_dict(checkpoint, strict=False) dataset = DDFATestDataset(filelists=filelists, root=root, @@ -123,7 +124,7 @@ def extract_param(checkpoint_fp, root='', args=None, filelists=None, device_ids= outputs = [] with torch.no_grad(): for _, inputs in enumerate(data_loader): - inputs = inputs.cuda() + inputs = inputs#.cuda() output = model.module.forward_test(inputs) for i in range(output.shape[0]): @@ -145,7 +146,7 @@ def _benchmark_aflw2000(outputs): def benchmark_aflw2000_params(params, data_param): '''Reconstruct the landmark points and calculate the statistics''' outputs = [] - params = torch.Tensor(params).cuda() + params = torch.Tensor(params)#.cuda() batch_size = 50 num_samples = params.shape[0] @@ -169,8 +170,8 @@ def benchmark_aflw2000_params(params, data_param): #plot the first 50 samples for validation bkg = cv2.imread(img_list[i*batch_size+j],-1) lm_sample = lm[j] - c0 = np.clip((lm_sample[1,:]).astype(np.int), 0, 119) - c1 = np.clip((lm_sample[0,:]).astype(np.int), 0, 119) + c0 = np.clip((lm_sample[1,:]).astype(int), 0, 119) + c1 = np.clip((lm_sample[0,:]).astype(int), 0, 119) for y, x, in zip([c0,c0,c0-1,c0-1],[c1,c1-1,c1,c1-1]): bkg[y, x, :] = np.array([233,193,133]) cv2.imwrite(f'./results/{i*batch_size+j}.png', bkg) @@ -192,7 +193,7 @@ def benchmark_FOE(params): if not os.path.isfile(exclude_aflw2000) or not os.path.isfile(skip_aflw2000): raise RuntimeError('Missing data') - pose_GT = np.load(exclude_aflw2000) + pose_GT = np.load(exclude_aflw2000) skip_indices = np.load(skip_aflw2000) pose_mat = np.ones((pose_GT.shape[0],3)) @@ -213,6 +214,16 @@ def benchmark_FOE(params): msg = 'Mean MAE = %3.3f (in deg), [yaw,pitch,roll] = [%3.3f, %3.3f, %3.3f]'%(MAE, yaw, pitch, roll) print('\nFace orientation estimation:') print(msg) + + # Write mean MAE results to file + if not osp.exists(f"MAE_results"): + os.makedirs(f'MAE_results/') + + if not osp.exists(f'MAE_results/mobilenet_MAE.txt'): + with open('MAE_results/mobilenet_MAE.txt', 'w') as f: + f.write(msg) + + return msg def benchmark(checkpoint_fp, args): @@ -243,7 +254,7 @@ def aflw2000(): def main(): parser = argparse.ArgumentParser(description='SynergyNet benchmark on AFLW2000-3D') parser.add_argument('-a', '--arch', default='mobilenet_v2', type=str) - parser.add_argument('-w', '--weights', default='models/best.pth.tar', type=str) + parser.add_argument('-w', '--weights', default='pretrained/best.pth.tar', type=str) parser.add_argument('-d', '--device', default='0', type=str) parser.add_argument('--img_size', default='120', type=int) args = parser.parse_args() @@ -253,4 +264,4 @@ def main(): if __name__ == '__main__': - main() \ No newline at end of file + main() diff --git a/benchmark_validate.py b/benchmark_validate.py index 3f7e743..0ed4639 100644 --- a/benchmark_validate.py +++ b/benchmark_validate.py @@ -37,7 +37,7 @@ def parse_pose(param): return P, pose def P2sRt(P): - ''' + ''' Decompositing camera matrix P. ''' t3d = P[:, 3] @@ -52,7 +52,7 @@ def P2sRt(P): return s, R, t3d # def matrix2angle(R): -# ''' +# ''' # Compute three Euler angles from a Rotation Matrix. Ref: http://www.gregslabaugh.net/publications/euler.pdf # ''' @@ -69,14 +69,14 @@ def P2sRt(P): # else: # x = -np.pi / 2 # y = -z + atan2(-R[0, 1], -R[0, 2]) - + # rx, ry, rz = x*180/np.pi, y*180/np.pi, z*180/np.pi # return [rx, ry, rz] #numpy def matrix2angle_corr(R): - ''' + ''' Compute three Euler angles from a Rotation Matrix. Ref: http://www.gregslabaugh.net/publications/euler.pdf ''' @@ -93,7 +93,7 @@ def matrix2angle_corr(R): else: x = -np.pi / 2 y = -z + atan2(-R[0, 1], -R[0, 2]) - + rx, ry, rz = x*180/np.pi, y*180/np.pi, z*180/np.pi return [rx, ry, rz] @@ -123,6 +123,7 @@ def reconstruct_vertex(param, data_param, whitening=True, dense=False, transform if whitening: if param.shape[1] == 62: + param = param.cuda() param = param * param_std[:62] + param_mean[:62] p, offset, alpha_shp, alpha_exp = parse_param_62_batch(param) @@ -140,7 +141,7 @@ def reconstruct_vertex(param, data_param, whitening=True, dense=False, transform def extract_param(model, root='', filelists=None, batch_size=128, num_workers=4): - + dataset = DDFATestDataset(filelists=filelists, root=root, transform=transforms.Compose([ToTensor(), CenterCrop(5, mode='test'), Normalize(mean=127.5, std=130)])) data_loader = data.DataLoader(dataset, batch_size=batch_size, num_workers=num_workers) @@ -272,6 +273,11 @@ def main(): parser.add_argument('-c', '--checkpoint-fp', default='models/phase1_wpdc.pth.tar', type=str) args = parser.parse_args() + print(args.arch) + print(args.checkpoint_fp) + + + benchmark_pipeline(args.arch, args.checkpoint_fp) diff --git a/inference_output/landmarks/image00002.jpg b/inference_output/landmarks/image00002.jpg new file mode 100644 index 0000000..2665e5f Binary files /dev/null and b/inference_output/landmarks/image00002.jpg differ diff --git a/inference_output/landmarks/image00004.jpg b/inference_output/landmarks/image00004.jpg new file mode 100644 index 0000000..db550dc Binary files /dev/null and b/inference_output/landmarks/image00004.jpg differ diff --git a/inference_output/landmarks/image00006.jpg b/inference_output/landmarks/image00006.jpg new file mode 100644 index 0000000..6dfe5e7 Binary files /dev/null and b/inference_output/landmarks/image00006.jpg differ diff --git a/inference_output/landmarks/image00008.jpg b/inference_output/landmarks/image00008.jpg new file mode 100644 index 0000000..b0b7284 Binary files /dev/null and b/inference_output/landmarks/image00008.jpg differ diff --git a/inference_output/landmarks/image00010.jpg b/inference_output/landmarks/image00010.jpg new file mode 100644 index 0000000..2c9eb0e Binary files /dev/null and b/inference_output/landmarks/image00010.jpg differ diff --git a/inference_output/landmarks/image00013.jpg b/inference_output/landmarks/image00013.jpg new file mode 100644 index 0000000..c499ecc Binary files /dev/null and b/inference_output/landmarks/image00013.jpg differ diff --git a/inference_output/landmarks/image00014.jpg b/inference_output/landmarks/image00014.jpg new file mode 100644 index 0000000..2749a19 Binary files /dev/null and b/inference_output/landmarks/image00014.jpg differ diff --git a/inference_output/landmarks/image00019.jpg b/inference_output/landmarks/image00019.jpg new file mode 100644 index 0000000..cb90774 Binary files /dev/null and b/inference_output/landmarks/image00019.jpg differ diff --git a/inference_output/landmarks/image00020.jpg b/inference_output/landmarks/image00020.jpg new file mode 100644 index 0000000..ce737d1 Binary files /dev/null and b/inference_output/landmarks/image00020.jpg differ diff --git a/inference_output/landmarks/image00021.jpg b/inference_output/landmarks/image00021.jpg new file mode 100644 index 0000000..884aa41 Binary files /dev/null and b/inference_output/landmarks/image00021.jpg differ diff --git a/inference_output/landmarks/image00022.jpg b/inference_output/landmarks/image00022.jpg new file mode 100644 index 0000000..60583e0 Binary files /dev/null and b/inference_output/landmarks/image00022.jpg differ diff --git a/inference_output/landmarks/image00023.jpg b/inference_output/landmarks/image00023.jpg new file mode 100644 index 0000000..72e3536 Binary files /dev/null and b/inference_output/landmarks/image00023.jpg differ diff --git a/inference_output/landmarks/image00026.jpg b/inference_output/landmarks/image00026.jpg new file mode 100644 index 0000000..b491143 Binary files /dev/null and b/inference_output/landmarks/image00026.jpg differ diff --git a/inference_output/landmarks/image00028.jpg b/inference_output/landmarks/image00028.jpg new file mode 100644 index 0000000..f4da920 Binary files /dev/null and b/inference_output/landmarks/image00028.jpg differ diff --git a/inference_output/landmarks/image00032.jpg b/inference_output/landmarks/image00032.jpg new file mode 100644 index 0000000..3cca257 Binary files /dev/null and b/inference_output/landmarks/image00032.jpg differ diff --git a/inference_output/landmarks/image00035.jpg b/inference_output/landmarks/image00035.jpg new file mode 100644 index 0000000..58f0309 Binary files /dev/null and b/inference_output/landmarks/image00035.jpg differ diff --git a/inference_output/landmarks/image00036.jpg b/inference_output/landmarks/image00036.jpg new file mode 100644 index 0000000..f55f5ca Binary files /dev/null and b/inference_output/landmarks/image00036.jpg differ diff --git a/inference_output/landmarks/image00039.jpg b/inference_output/landmarks/image00039.jpg new file mode 100644 index 0000000..59f639c Binary files /dev/null and b/inference_output/landmarks/image00039.jpg differ diff --git a/inference_output/landmarks/image00040.jpg b/inference_output/landmarks/image00040.jpg new file mode 100644 index 0000000..f463ace Binary files /dev/null and b/inference_output/landmarks/image00040.jpg differ diff --git a/inference_output/landmarks/image00041.jpg b/inference_output/landmarks/image00041.jpg new file mode 100644 index 0000000..0521874 Binary files /dev/null and b/inference_output/landmarks/image00041.jpg differ diff --git a/inference_output/landmarks/image00042.jpg b/inference_output/landmarks/image00042.jpg new file mode 100644 index 0000000..8827444 Binary files /dev/null and b/inference_output/landmarks/image00042.jpg differ diff --git a/inference_output/landmarks/image00043.jpg b/inference_output/landmarks/image00043.jpg new file mode 100644 index 0000000..e95339d Binary files /dev/null and b/inference_output/landmarks/image00043.jpg differ diff --git a/inference_output/landmarks/image00044.jpg b/inference_output/landmarks/image00044.jpg new file mode 100644 index 0000000..a3a7b10 Binary files /dev/null and b/inference_output/landmarks/image00044.jpg differ diff --git a/inference_output/landmarks/image00045.jpg b/inference_output/landmarks/image00045.jpg new file mode 100644 index 0000000..8b19b32 Binary files /dev/null and b/inference_output/landmarks/image00045.jpg differ diff --git a/inference_output/landmarks/image00046.jpg b/inference_output/landmarks/image00046.jpg new file mode 100644 index 0000000..4e85946 Binary files /dev/null and b/inference_output/landmarks/image00046.jpg differ diff --git a/inference_output/landmarks/image00047.jpg b/inference_output/landmarks/image00047.jpg new file mode 100644 index 0000000..addb81c Binary files /dev/null and b/inference_output/landmarks/image00047.jpg differ diff --git a/inference_output/landmarks/image00048.jpg b/inference_output/landmarks/image00048.jpg new file mode 100644 index 0000000..ecbd1c5 Binary files /dev/null and b/inference_output/landmarks/image00048.jpg differ diff --git a/inference_output/landmarks/image00049.jpg b/inference_output/landmarks/image00049.jpg new file mode 100644 index 0000000..bb95bc5 Binary files /dev/null and b/inference_output/landmarks/image00049.jpg differ diff --git a/inference_output/landmarks/image00050.jpg b/inference_output/landmarks/image00050.jpg new file mode 100644 index 0000000..3d149e1 Binary files /dev/null and b/inference_output/landmarks/image00050.jpg differ diff --git a/inference_output/landmarks/image00051.jpg b/inference_output/landmarks/image00051.jpg new file mode 100644 index 0000000..9f00ff5 Binary files /dev/null and b/inference_output/landmarks/image00051.jpg differ diff --git a/inference_output/landmarks/image00052.jpg b/inference_output/landmarks/image00052.jpg new file mode 100644 index 0000000..67bb42b Binary files /dev/null and b/inference_output/landmarks/image00052.jpg differ diff --git a/inference_output/landmarks/image00053.jpg b/inference_output/landmarks/image00053.jpg new file mode 100644 index 0000000..8be8e03 Binary files /dev/null and b/inference_output/landmarks/image00053.jpg differ diff --git a/inference_output/landmarks/image00054.jpg b/inference_output/landmarks/image00054.jpg new file mode 100644 index 0000000..0aeb4a4 Binary files /dev/null and b/inference_output/landmarks/image00054.jpg differ diff --git a/inference_output/landmarks/image00055.jpg b/inference_output/landmarks/image00055.jpg new file mode 100644 index 0000000..89f39f9 Binary files /dev/null and b/inference_output/landmarks/image00055.jpg differ diff --git a/inference_output/landmarks/image00056.jpg b/inference_output/landmarks/image00056.jpg new file mode 100644 index 0000000..87ac351 Binary files /dev/null and b/inference_output/landmarks/image00056.jpg differ diff --git a/inference_output/landmarks/image00057.jpg b/inference_output/landmarks/image00057.jpg new file mode 100644 index 0000000..cd12e85 Binary files /dev/null and b/inference_output/landmarks/image00057.jpg differ diff --git a/inference_output/landmarks/image00058.jpg b/inference_output/landmarks/image00058.jpg new file mode 100644 index 0000000..df40542 Binary files /dev/null and b/inference_output/landmarks/image00058.jpg differ diff --git a/inference_output/landmarks/image00059.jpg b/inference_output/landmarks/image00059.jpg new file mode 100644 index 0000000..9411f24 Binary files /dev/null and b/inference_output/landmarks/image00059.jpg differ diff --git a/inference_output/landmarks/image00060.jpg b/inference_output/landmarks/image00060.jpg new file mode 100644 index 0000000..2cd6955 Binary files /dev/null and b/inference_output/landmarks/image00060.jpg differ diff --git a/inference_output/landmarks/image00061.jpg b/inference_output/landmarks/image00061.jpg new file mode 100644 index 0000000..3373dba Binary files /dev/null and b/inference_output/landmarks/image00061.jpg differ diff --git a/inference_output/landmarks/image00062.jpg b/inference_output/landmarks/image00062.jpg new file mode 100644 index 0000000..8d616c1 Binary files /dev/null and b/inference_output/landmarks/image00062.jpg differ diff --git a/inference_output/landmarks/image00063.jpg b/inference_output/landmarks/image00063.jpg new file mode 100644 index 0000000..eb46b71 Binary files /dev/null and b/inference_output/landmarks/image00063.jpg differ diff --git a/inference_output/landmarks/image00064.jpg b/inference_output/landmarks/image00064.jpg new file mode 100644 index 0000000..3b9b5ba Binary files /dev/null and b/inference_output/landmarks/image00064.jpg differ diff --git a/inference_output/landmarks/image00065.jpg b/inference_output/landmarks/image00065.jpg new file mode 100644 index 0000000..8b58b30 Binary files /dev/null and b/inference_output/landmarks/image00065.jpg differ diff --git a/inference_output/landmarks/image00066.jpg b/inference_output/landmarks/image00066.jpg new file mode 100644 index 0000000..3b3fe66 Binary files /dev/null and b/inference_output/landmarks/image00066.jpg differ diff --git a/inference_output/landmarks/image00067.jpg b/inference_output/landmarks/image00067.jpg new file mode 100644 index 0000000..ef499e0 Binary files /dev/null and b/inference_output/landmarks/image00067.jpg differ diff --git a/inference_output/landmarks/image00070.jpg b/inference_output/landmarks/image00070.jpg new file mode 100644 index 0000000..0f391ee Binary files /dev/null and b/inference_output/landmarks/image00070.jpg differ diff --git a/inference_output/landmarks/image00072.jpg b/inference_output/landmarks/image00072.jpg new file mode 100644 index 0000000..bf1bd8d Binary files /dev/null and b/inference_output/landmarks/image00072.jpg differ diff --git a/inference_output/landmarks/image00074.jpg b/inference_output/landmarks/image00074.jpg new file mode 100644 index 0000000..e8360f6 Binary files /dev/null and b/inference_output/landmarks/image00074.jpg differ diff --git a/inference_output/landmarks/image00075.jpg b/inference_output/landmarks/image00075.jpg new file mode 100644 index 0000000..6794029 Binary files /dev/null and b/inference_output/landmarks/image00075.jpg differ diff --git a/inference_output/poses/image00002.jpg b/inference_output/poses/image00002.jpg new file mode 100644 index 0000000..49467f3 Binary files /dev/null and b/inference_output/poses/image00002.jpg differ diff --git a/inference_output/poses/image00004.jpg b/inference_output/poses/image00004.jpg new file mode 100644 index 0000000..e961e1e Binary files /dev/null and b/inference_output/poses/image00004.jpg differ diff --git a/inference_output/poses/image00006.jpg b/inference_output/poses/image00006.jpg new file mode 100644 index 0000000..b172019 Binary files /dev/null and b/inference_output/poses/image00006.jpg differ diff --git a/inference_output/poses/image00008.jpg b/inference_output/poses/image00008.jpg new file mode 100644 index 0000000..9c34121 Binary files /dev/null and b/inference_output/poses/image00008.jpg differ diff --git a/inference_output/poses/image00010.jpg b/inference_output/poses/image00010.jpg new file mode 100644 index 0000000..15ffc68 Binary files /dev/null and b/inference_output/poses/image00010.jpg differ diff --git a/inference_output/poses/image00013.jpg b/inference_output/poses/image00013.jpg new file mode 100644 index 0000000..8a0cf6e Binary files /dev/null and b/inference_output/poses/image00013.jpg differ diff --git a/inference_output/poses/image00014.jpg b/inference_output/poses/image00014.jpg new file mode 100644 index 0000000..9af5f87 Binary files /dev/null and b/inference_output/poses/image00014.jpg differ diff --git a/inference_output/poses/image00019.jpg b/inference_output/poses/image00019.jpg new file mode 100644 index 0000000..6538410 Binary files /dev/null and b/inference_output/poses/image00019.jpg differ diff --git a/inference_output/poses/image00020.jpg b/inference_output/poses/image00020.jpg new file mode 100644 index 0000000..7c16d0e Binary files /dev/null and b/inference_output/poses/image00020.jpg differ diff --git a/inference_output/poses/image00021.jpg b/inference_output/poses/image00021.jpg new file mode 100644 index 0000000..cc2c9c3 Binary files /dev/null and b/inference_output/poses/image00021.jpg differ diff --git a/inference_output/poses/image00022.jpg b/inference_output/poses/image00022.jpg new file mode 100644 index 0000000..244c51f Binary files /dev/null and b/inference_output/poses/image00022.jpg differ diff --git a/inference_output/poses/image00023.jpg b/inference_output/poses/image00023.jpg new file mode 100644 index 0000000..f1150be Binary files /dev/null and b/inference_output/poses/image00023.jpg differ diff --git a/inference_output/poses/image00026.jpg b/inference_output/poses/image00026.jpg new file mode 100644 index 0000000..1a89df6 Binary files /dev/null and b/inference_output/poses/image00026.jpg differ diff --git a/inference_output/poses/image00028.jpg b/inference_output/poses/image00028.jpg new file mode 100644 index 0000000..68eb1c3 Binary files /dev/null and b/inference_output/poses/image00028.jpg differ diff --git a/inference_output/poses/image00032.jpg b/inference_output/poses/image00032.jpg new file mode 100644 index 0000000..9aec3ab Binary files /dev/null and b/inference_output/poses/image00032.jpg differ diff --git a/inference_output/poses/image00035.jpg b/inference_output/poses/image00035.jpg new file mode 100644 index 0000000..a2b578c Binary files /dev/null and b/inference_output/poses/image00035.jpg differ diff --git a/inference_output/poses/image00036.jpg b/inference_output/poses/image00036.jpg new file mode 100644 index 0000000..b675cd9 Binary files /dev/null and b/inference_output/poses/image00036.jpg differ diff --git a/inference_output/poses/image00039.jpg b/inference_output/poses/image00039.jpg new file mode 100644 index 0000000..fbabbc7 Binary files /dev/null and b/inference_output/poses/image00039.jpg differ diff --git a/inference_output/poses/image00040.jpg b/inference_output/poses/image00040.jpg new file mode 100644 index 0000000..ce56359 Binary files /dev/null and b/inference_output/poses/image00040.jpg differ diff --git a/inference_output/poses/image00041.jpg b/inference_output/poses/image00041.jpg new file mode 100644 index 0000000..1fdda53 Binary files /dev/null and b/inference_output/poses/image00041.jpg differ diff --git a/inference_output/poses/image00042.jpg b/inference_output/poses/image00042.jpg new file mode 100644 index 0000000..04de7be Binary files /dev/null and b/inference_output/poses/image00042.jpg differ diff --git a/inference_output/poses/image00043.jpg b/inference_output/poses/image00043.jpg new file mode 100644 index 0000000..7e67d3f Binary files /dev/null and b/inference_output/poses/image00043.jpg differ diff --git a/inference_output/poses/image00044.jpg b/inference_output/poses/image00044.jpg new file mode 100644 index 0000000..1b2bbb2 Binary files /dev/null and b/inference_output/poses/image00044.jpg differ diff --git a/inference_output/poses/image00045.jpg b/inference_output/poses/image00045.jpg new file mode 100644 index 0000000..0e5eccc Binary files /dev/null and b/inference_output/poses/image00045.jpg differ diff --git a/inference_output/poses/image00046.jpg b/inference_output/poses/image00046.jpg new file mode 100644 index 0000000..db52e91 Binary files /dev/null and b/inference_output/poses/image00046.jpg differ diff --git a/inference_output/poses/image00047.jpg b/inference_output/poses/image00047.jpg new file mode 100644 index 0000000..2349aea Binary files /dev/null and b/inference_output/poses/image00047.jpg differ diff --git a/inference_output/poses/image00048.jpg b/inference_output/poses/image00048.jpg new file mode 100644 index 0000000..58e1f3a Binary files /dev/null and b/inference_output/poses/image00048.jpg differ diff --git a/inference_output/poses/image00049.jpg b/inference_output/poses/image00049.jpg new file mode 100644 index 0000000..1015504 Binary files /dev/null and b/inference_output/poses/image00049.jpg differ diff --git a/inference_output/poses/image00050.jpg b/inference_output/poses/image00050.jpg new file mode 100644 index 0000000..cb1c451 Binary files /dev/null and b/inference_output/poses/image00050.jpg differ diff --git a/inference_output/poses/image00051.jpg b/inference_output/poses/image00051.jpg new file mode 100644 index 0000000..94306cc Binary files /dev/null and b/inference_output/poses/image00051.jpg differ diff --git a/inference_output/poses/image00052.jpg b/inference_output/poses/image00052.jpg new file mode 100644 index 0000000..962c865 Binary files /dev/null and b/inference_output/poses/image00052.jpg differ diff --git a/inference_output/poses/image00053.jpg b/inference_output/poses/image00053.jpg new file mode 100644 index 0000000..262ddd3 Binary files /dev/null and b/inference_output/poses/image00053.jpg differ diff --git a/inference_output/poses/image00054.jpg b/inference_output/poses/image00054.jpg new file mode 100644 index 0000000..595328d Binary files /dev/null and b/inference_output/poses/image00054.jpg differ diff --git a/inference_output/poses/image00055.jpg b/inference_output/poses/image00055.jpg new file mode 100644 index 0000000..c20df3b Binary files /dev/null and b/inference_output/poses/image00055.jpg differ diff --git a/inference_output/poses/image00056.jpg b/inference_output/poses/image00056.jpg new file mode 100644 index 0000000..bbf8888 Binary files /dev/null and b/inference_output/poses/image00056.jpg differ diff --git a/inference_output/poses/image00057.jpg b/inference_output/poses/image00057.jpg new file mode 100644 index 0000000..d33897d Binary files /dev/null and b/inference_output/poses/image00057.jpg differ diff --git a/inference_output/poses/image00058.jpg b/inference_output/poses/image00058.jpg new file mode 100644 index 0000000..367137b Binary files /dev/null and b/inference_output/poses/image00058.jpg differ diff --git a/inference_output/poses/image00059.jpg b/inference_output/poses/image00059.jpg new file mode 100644 index 0000000..87d353d Binary files /dev/null and b/inference_output/poses/image00059.jpg differ diff --git a/inference_output/poses/image00060.jpg b/inference_output/poses/image00060.jpg new file mode 100644 index 0000000..d02b843 Binary files /dev/null and b/inference_output/poses/image00060.jpg differ diff --git a/inference_output/poses/image00061.jpg b/inference_output/poses/image00061.jpg new file mode 100644 index 0000000..c774017 Binary files /dev/null and b/inference_output/poses/image00061.jpg differ diff --git a/inference_output/poses/image00062.jpg b/inference_output/poses/image00062.jpg new file mode 100644 index 0000000..eff2bb5 Binary files /dev/null and b/inference_output/poses/image00062.jpg differ diff --git a/inference_output/poses/image00063.jpg b/inference_output/poses/image00063.jpg new file mode 100644 index 0000000..85be82c Binary files /dev/null and b/inference_output/poses/image00063.jpg differ diff --git a/inference_output/poses/image00064.jpg b/inference_output/poses/image00064.jpg new file mode 100644 index 0000000..53ef19f Binary files /dev/null and b/inference_output/poses/image00064.jpg differ diff --git a/inference_output/poses/image00065.jpg b/inference_output/poses/image00065.jpg new file mode 100644 index 0000000..05db506 Binary files /dev/null and b/inference_output/poses/image00065.jpg differ diff --git a/inference_output/poses/image00066.jpg b/inference_output/poses/image00066.jpg new file mode 100644 index 0000000..cda8e0d Binary files /dev/null and b/inference_output/poses/image00066.jpg differ diff --git a/inference_output/poses/image00067.jpg b/inference_output/poses/image00067.jpg new file mode 100644 index 0000000..7111eec Binary files /dev/null and b/inference_output/poses/image00067.jpg differ diff --git a/inference_output/poses/image00070.jpg b/inference_output/poses/image00070.jpg new file mode 100644 index 0000000..1e47118 Binary files /dev/null and b/inference_output/poses/image00070.jpg differ diff --git a/inference_output/poses/image00072.jpg b/inference_output/poses/image00072.jpg new file mode 100644 index 0000000..50b41ee Binary files /dev/null and b/inference_output/poses/image00072.jpg differ diff --git a/inference_output/poses/image00074.jpg b/inference_output/poses/image00074.jpg new file mode 100644 index 0000000..9af8b17 Binary files /dev/null and b/inference_output/poses/image00074.jpg differ diff --git a/inference_output/poses/image00075.jpg b/inference_output/poses/image00075.jpg new file mode 100644 index 0000000..d9a005b Binary files /dev/null and b/inference_output/poses/image00075.jpg differ diff --git a/inference_output/rendering_overlay/image00002.jpg b/inference_output/rendering_overlay/image00002.jpg new file mode 100644 index 0000000..130e54d Binary files /dev/null and b/inference_output/rendering_overlay/image00002.jpg differ diff --git a/inference_output/rendering_overlay/image00002_solid.png b/inference_output/rendering_overlay/image00002_solid.png new file mode 100644 index 0000000..42f0b23 Binary files /dev/null and b/inference_output/rendering_overlay/image00002_solid.png differ diff --git a/inference_output/rendering_overlay/image00004.jpg b/inference_output/rendering_overlay/image00004.jpg new file mode 100644 index 0000000..c2d1d59 Binary files /dev/null and b/inference_output/rendering_overlay/image00004.jpg differ diff --git a/inference_output/rendering_overlay/image00004_solid.png b/inference_output/rendering_overlay/image00004_solid.png new file mode 100644 index 0000000..5b317c2 Binary files /dev/null and b/inference_output/rendering_overlay/image00004_solid.png differ diff --git a/inference_output/rendering_overlay/image00006.jpg b/inference_output/rendering_overlay/image00006.jpg new file mode 100644 index 0000000..d9cea33 Binary files /dev/null and b/inference_output/rendering_overlay/image00006.jpg differ diff --git a/inference_output/rendering_overlay/image00006_solid.png b/inference_output/rendering_overlay/image00006_solid.png new file mode 100644 index 0000000..cf9ecb2 Binary files /dev/null and b/inference_output/rendering_overlay/image00006_solid.png differ diff --git a/inference_output/rendering_overlay/image00008.jpg b/inference_output/rendering_overlay/image00008.jpg new file mode 100644 index 0000000..de2fe42 Binary files /dev/null and b/inference_output/rendering_overlay/image00008.jpg differ diff --git a/inference_output/rendering_overlay/image00008_solid.png b/inference_output/rendering_overlay/image00008_solid.png new file mode 100644 index 0000000..fc846ca Binary files /dev/null and b/inference_output/rendering_overlay/image00008_solid.png differ diff --git a/inference_output/rendering_overlay/image00010.jpg b/inference_output/rendering_overlay/image00010.jpg new file mode 100644 index 0000000..15ffc68 Binary files /dev/null and b/inference_output/rendering_overlay/image00010.jpg differ diff --git a/inference_output/rendering_overlay/image00010_solid.png b/inference_output/rendering_overlay/image00010_solid.png new file mode 100644 index 0000000..5e236a2 Binary files /dev/null and b/inference_output/rendering_overlay/image00010_solid.png differ diff --git a/inference_output/rendering_overlay/image00013.jpg b/inference_output/rendering_overlay/image00013.jpg new file mode 100644 index 0000000..cc15b4a Binary files /dev/null and b/inference_output/rendering_overlay/image00013.jpg differ diff --git a/inference_output/rendering_overlay/image00013_solid.png b/inference_output/rendering_overlay/image00013_solid.png new file mode 100644 index 0000000..3d7de35 Binary files /dev/null and b/inference_output/rendering_overlay/image00013_solid.png differ diff --git a/inference_output/rendering_overlay/image00014.jpg b/inference_output/rendering_overlay/image00014.jpg new file mode 100644 index 0000000..8293ff8 Binary files /dev/null and b/inference_output/rendering_overlay/image00014.jpg differ diff --git a/inference_output/rendering_overlay/image00014_solid.png b/inference_output/rendering_overlay/image00014_solid.png new file mode 100644 index 0000000..d3c6c1d Binary files /dev/null and b/inference_output/rendering_overlay/image00014_solid.png differ diff --git a/inference_output/rendering_overlay/image00019.jpg b/inference_output/rendering_overlay/image00019.jpg new file mode 100644 index 0000000..27ae0a7 Binary files /dev/null and b/inference_output/rendering_overlay/image00019.jpg differ diff --git a/inference_output/rendering_overlay/image00019_solid.png b/inference_output/rendering_overlay/image00019_solid.png new file mode 100644 index 0000000..12ab59e Binary files /dev/null and b/inference_output/rendering_overlay/image00019_solid.png differ diff --git a/inference_output/rendering_overlay/image00020.jpg b/inference_output/rendering_overlay/image00020.jpg new file mode 100644 index 0000000..5c9274a Binary files /dev/null and b/inference_output/rendering_overlay/image00020.jpg differ diff --git a/inference_output/rendering_overlay/image00020_solid.png b/inference_output/rendering_overlay/image00020_solid.png new file mode 100644 index 0000000..a3f8cfb Binary files /dev/null and b/inference_output/rendering_overlay/image00020_solid.png differ diff --git a/inference_output/rendering_overlay/image00021.jpg b/inference_output/rendering_overlay/image00021.jpg new file mode 100644 index 0000000..ea8ccf7 Binary files /dev/null and b/inference_output/rendering_overlay/image00021.jpg differ diff --git a/inference_output/rendering_overlay/image00021_solid.png b/inference_output/rendering_overlay/image00021_solid.png new file mode 100644 index 0000000..55f85f5 Binary files /dev/null and b/inference_output/rendering_overlay/image00021_solid.png differ diff --git a/inference_output/rendering_overlay/image00022.jpg b/inference_output/rendering_overlay/image00022.jpg new file mode 100644 index 0000000..f56fa3d Binary files /dev/null and b/inference_output/rendering_overlay/image00022.jpg differ diff --git a/inference_output/rendering_overlay/image00022_solid.png b/inference_output/rendering_overlay/image00022_solid.png new file mode 100644 index 0000000..63b2887 Binary files /dev/null and b/inference_output/rendering_overlay/image00022_solid.png differ diff --git a/inference_output/rendering_overlay/image00023.jpg b/inference_output/rendering_overlay/image00023.jpg new file mode 100644 index 0000000..00e4766 Binary files /dev/null and b/inference_output/rendering_overlay/image00023.jpg differ diff --git a/inference_output/rendering_overlay/image00023_solid.png b/inference_output/rendering_overlay/image00023_solid.png new file mode 100644 index 0000000..9785f44 Binary files /dev/null and b/inference_output/rendering_overlay/image00023_solid.png differ diff --git a/inference_output/rendering_overlay/image00026.jpg b/inference_output/rendering_overlay/image00026.jpg new file mode 100644 index 0000000..dce07b2 Binary files /dev/null and b/inference_output/rendering_overlay/image00026.jpg differ diff --git a/inference_output/rendering_overlay/image00026_solid.png b/inference_output/rendering_overlay/image00026_solid.png new file mode 100644 index 0000000..8fe4d6e Binary files /dev/null and b/inference_output/rendering_overlay/image00026_solid.png differ diff --git a/inference_output/rendering_overlay/image00028.jpg b/inference_output/rendering_overlay/image00028.jpg new file mode 100644 index 0000000..98634dd Binary files /dev/null and b/inference_output/rendering_overlay/image00028.jpg differ diff --git a/inference_output/rendering_overlay/image00028_solid.png b/inference_output/rendering_overlay/image00028_solid.png new file mode 100644 index 0000000..0dd220d Binary files /dev/null and b/inference_output/rendering_overlay/image00028_solid.png differ diff --git a/inference_output/rendering_overlay/image00032.jpg b/inference_output/rendering_overlay/image00032.jpg new file mode 100644 index 0000000..fb6ab27 Binary files /dev/null and b/inference_output/rendering_overlay/image00032.jpg differ diff --git a/inference_output/rendering_overlay/image00032_solid.png b/inference_output/rendering_overlay/image00032_solid.png new file mode 100644 index 0000000..f204249 Binary files /dev/null and b/inference_output/rendering_overlay/image00032_solid.png differ diff --git a/inference_output/rendering_overlay/image00035.jpg b/inference_output/rendering_overlay/image00035.jpg new file mode 100644 index 0000000..7da2c7f Binary files /dev/null and b/inference_output/rendering_overlay/image00035.jpg differ diff --git a/inference_output/rendering_overlay/image00035_solid.png b/inference_output/rendering_overlay/image00035_solid.png new file mode 100644 index 0000000..4319a45 Binary files /dev/null and b/inference_output/rendering_overlay/image00035_solid.png differ diff --git a/inference_output/rendering_overlay/image00036.jpg b/inference_output/rendering_overlay/image00036.jpg new file mode 100644 index 0000000..b675cd9 Binary files /dev/null and b/inference_output/rendering_overlay/image00036.jpg differ diff --git a/inference_output/rendering_overlay/image00036_solid.png b/inference_output/rendering_overlay/image00036_solid.png new file mode 100644 index 0000000..d089d19 Binary files /dev/null and b/inference_output/rendering_overlay/image00036_solid.png differ diff --git a/inference_output/rendering_overlay/image00039.jpg b/inference_output/rendering_overlay/image00039.jpg new file mode 100644 index 0000000..c259023 Binary files /dev/null and b/inference_output/rendering_overlay/image00039.jpg differ diff --git a/inference_output/rendering_overlay/image00039_solid.png b/inference_output/rendering_overlay/image00039_solid.png new file mode 100644 index 0000000..f4e00a7 Binary files /dev/null and b/inference_output/rendering_overlay/image00039_solid.png differ diff --git a/inference_output/rendering_overlay/image00040.jpg b/inference_output/rendering_overlay/image00040.jpg new file mode 100644 index 0000000..e5fba1d Binary files /dev/null and b/inference_output/rendering_overlay/image00040.jpg differ diff --git a/inference_output/rendering_overlay/image00040_solid.png b/inference_output/rendering_overlay/image00040_solid.png new file mode 100644 index 0000000..e020ba5 Binary files /dev/null and b/inference_output/rendering_overlay/image00040_solid.png differ diff --git a/inference_output/rendering_overlay/image00041.jpg b/inference_output/rendering_overlay/image00041.jpg new file mode 100644 index 0000000..82941db Binary files /dev/null and b/inference_output/rendering_overlay/image00041.jpg differ diff --git a/inference_output/rendering_overlay/image00041_solid.png b/inference_output/rendering_overlay/image00041_solid.png new file mode 100644 index 0000000..f74d615 Binary files /dev/null and b/inference_output/rendering_overlay/image00041_solid.png differ diff --git a/inference_output/rendering_overlay/image00042.jpg b/inference_output/rendering_overlay/image00042.jpg new file mode 100644 index 0000000..3046125 Binary files /dev/null and b/inference_output/rendering_overlay/image00042.jpg differ diff --git a/inference_output/rendering_overlay/image00042_solid.png b/inference_output/rendering_overlay/image00042_solid.png new file mode 100644 index 0000000..a5be40a Binary files /dev/null and b/inference_output/rendering_overlay/image00042_solid.png differ diff --git a/inference_output/rendering_overlay/image00043.jpg b/inference_output/rendering_overlay/image00043.jpg new file mode 100644 index 0000000..e715fbb Binary files /dev/null and b/inference_output/rendering_overlay/image00043.jpg differ diff --git a/inference_output/rendering_overlay/image00043_solid.png b/inference_output/rendering_overlay/image00043_solid.png new file mode 100644 index 0000000..0e9ebfe Binary files /dev/null and b/inference_output/rendering_overlay/image00043_solid.png differ diff --git a/inference_output/rendering_overlay/image00044.jpg b/inference_output/rendering_overlay/image00044.jpg new file mode 100644 index 0000000..ddb7e17 Binary files /dev/null and b/inference_output/rendering_overlay/image00044.jpg differ diff --git a/inference_output/rendering_overlay/image00044_solid.png b/inference_output/rendering_overlay/image00044_solid.png new file mode 100644 index 0000000..da3d8e9 Binary files /dev/null and b/inference_output/rendering_overlay/image00044_solid.png differ diff --git a/inference_output/rendering_overlay/image00045.jpg b/inference_output/rendering_overlay/image00045.jpg new file mode 100644 index 0000000..0e360b0 Binary files /dev/null and b/inference_output/rendering_overlay/image00045.jpg differ diff --git a/inference_output/rendering_overlay/image00045_solid.png b/inference_output/rendering_overlay/image00045_solid.png new file mode 100644 index 0000000..f2745d4 Binary files /dev/null and b/inference_output/rendering_overlay/image00045_solid.png differ diff --git a/inference_output/rendering_overlay/image00046.jpg b/inference_output/rendering_overlay/image00046.jpg new file mode 100644 index 0000000..2c21546 Binary files /dev/null and b/inference_output/rendering_overlay/image00046.jpg differ diff --git a/inference_output/rendering_overlay/image00046_solid.png b/inference_output/rendering_overlay/image00046_solid.png new file mode 100644 index 0000000..21e6535 Binary files /dev/null and b/inference_output/rendering_overlay/image00046_solid.png differ diff --git a/inference_output/rendering_overlay/image00047.jpg b/inference_output/rendering_overlay/image00047.jpg new file mode 100644 index 0000000..0255427 Binary files /dev/null and b/inference_output/rendering_overlay/image00047.jpg differ diff --git a/inference_output/rendering_overlay/image00047_solid.png b/inference_output/rendering_overlay/image00047_solid.png new file mode 100644 index 0000000..27c8e1d Binary files /dev/null and b/inference_output/rendering_overlay/image00047_solid.png differ diff --git a/inference_output/rendering_overlay/image00048.jpg b/inference_output/rendering_overlay/image00048.jpg new file mode 100644 index 0000000..c6b009d Binary files /dev/null and b/inference_output/rendering_overlay/image00048.jpg differ diff --git a/inference_output/rendering_overlay/image00048_solid.png b/inference_output/rendering_overlay/image00048_solid.png new file mode 100644 index 0000000..30b010b Binary files /dev/null and b/inference_output/rendering_overlay/image00048_solid.png differ diff --git a/inference_output/rendering_overlay/image00049.jpg b/inference_output/rendering_overlay/image00049.jpg new file mode 100644 index 0000000..26d5015 Binary files /dev/null and b/inference_output/rendering_overlay/image00049.jpg differ diff --git a/inference_output/rendering_overlay/image00049_solid.png b/inference_output/rendering_overlay/image00049_solid.png new file mode 100644 index 0000000..7d62ed4 Binary files /dev/null and b/inference_output/rendering_overlay/image00049_solid.png differ diff --git a/inference_output/rendering_overlay/image00050.jpg b/inference_output/rendering_overlay/image00050.jpg new file mode 100644 index 0000000..796ffcd Binary files /dev/null and b/inference_output/rendering_overlay/image00050.jpg differ diff --git a/inference_output/rendering_overlay/image00050_solid.png b/inference_output/rendering_overlay/image00050_solid.png new file mode 100644 index 0000000..29642ec Binary files /dev/null and b/inference_output/rendering_overlay/image00050_solid.png differ diff --git a/inference_output/rendering_overlay/image00051.jpg b/inference_output/rendering_overlay/image00051.jpg new file mode 100644 index 0000000..6265a04 Binary files /dev/null and b/inference_output/rendering_overlay/image00051.jpg differ diff --git a/inference_output/rendering_overlay/image00051_solid.png b/inference_output/rendering_overlay/image00051_solid.png new file mode 100644 index 0000000..4882615 Binary files /dev/null and b/inference_output/rendering_overlay/image00051_solid.png differ diff --git a/inference_output/rendering_overlay/image00052.jpg b/inference_output/rendering_overlay/image00052.jpg new file mode 100644 index 0000000..0150706 Binary files /dev/null and b/inference_output/rendering_overlay/image00052.jpg differ diff --git a/inference_output/rendering_overlay/image00052_solid.png b/inference_output/rendering_overlay/image00052_solid.png new file mode 100644 index 0000000..4768e1d Binary files /dev/null and b/inference_output/rendering_overlay/image00052_solid.png differ diff --git a/inference_output/rendering_overlay/image00053.jpg b/inference_output/rendering_overlay/image00053.jpg new file mode 100644 index 0000000..21e4558 Binary files /dev/null and b/inference_output/rendering_overlay/image00053.jpg differ diff --git a/inference_output/rendering_overlay/image00053_solid.png b/inference_output/rendering_overlay/image00053_solid.png new file mode 100644 index 0000000..37e1b47 Binary files /dev/null and b/inference_output/rendering_overlay/image00053_solid.png differ diff --git a/inference_output/rendering_overlay/image00054.jpg b/inference_output/rendering_overlay/image00054.jpg new file mode 100644 index 0000000..55f9678 Binary files /dev/null and b/inference_output/rendering_overlay/image00054.jpg differ diff --git a/inference_output/rendering_overlay/image00054_solid.png b/inference_output/rendering_overlay/image00054_solid.png new file mode 100644 index 0000000..b63653a Binary files /dev/null and b/inference_output/rendering_overlay/image00054_solid.png differ diff --git a/inference_output/rendering_overlay/image00055.jpg b/inference_output/rendering_overlay/image00055.jpg new file mode 100644 index 0000000..869bfa9 Binary files /dev/null and b/inference_output/rendering_overlay/image00055.jpg differ diff --git a/inference_output/rendering_overlay/image00055_solid.png b/inference_output/rendering_overlay/image00055_solid.png new file mode 100644 index 0000000..b6eee13 Binary files /dev/null and b/inference_output/rendering_overlay/image00055_solid.png differ diff --git a/inference_output/rendering_overlay/image00056.jpg b/inference_output/rendering_overlay/image00056.jpg new file mode 100644 index 0000000..f066c81 Binary files /dev/null and b/inference_output/rendering_overlay/image00056.jpg differ diff --git a/inference_output/rendering_overlay/image00056_solid.png b/inference_output/rendering_overlay/image00056_solid.png new file mode 100644 index 0000000..55f2852 Binary files /dev/null and b/inference_output/rendering_overlay/image00056_solid.png differ diff --git a/inference_output/rendering_overlay/image00057.jpg b/inference_output/rendering_overlay/image00057.jpg new file mode 100644 index 0000000..f12e358 Binary files /dev/null and b/inference_output/rendering_overlay/image00057.jpg differ diff --git a/inference_output/rendering_overlay/image00057_solid.png b/inference_output/rendering_overlay/image00057_solid.png new file mode 100644 index 0000000..87db829 Binary files /dev/null and b/inference_output/rendering_overlay/image00057_solid.png differ diff --git a/inference_output/rendering_overlay/image00058.jpg b/inference_output/rendering_overlay/image00058.jpg new file mode 100644 index 0000000..a5077e5 Binary files /dev/null and b/inference_output/rendering_overlay/image00058.jpg differ diff --git a/inference_output/rendering_overlay/image00058_solid.png b/inference_output/rendering_overlay/image00058_solid.png new file mode 100644 index 0000000..30494b9 Binary files /dev/null and b/inference_output/rendering_overlay/image00058_solid.png differ diff --git a/inference_output/rendering_overlay/image00059.jpg b/inference_output/rendering_overlay/image00059.jpg new file mode 100644 index 0000000..c76c320 Binary files /dev/null and b/inference_output/rendering_overlay/image00059.jpg differ diff --git a/inference_output/rendering_overlay/image00059_solid.png b/inference_output/rendering_overlay/image00059_solid.png new file mode 100644 index 0000000..ba7f9e0 Binary files /dev/null and b/inference_output/rendering_overlay/image00059_solid.png differ diff --git a/inference_output/rendering_overlay/image00060.jpg b/inference_output/rendering_overlay/image00060.jpg new file mode 100644 index 0000000..bdea3df Binary files /dev/null and b/inference_output/rendering_overlay/image00060.jpg differ diff --git a/inference_output/rendering_overlay/image00060_solid.png b/inference_output/rendering_overlay/image00060_solid.png new file mode 100644 index 0000000..b5b542f Binary files /dev/null and b/inference_output/rendering_overlay/image00060_solid.png differ diff --git a/inference_output/rendering_overlay/image00061.jpg b/inference_output/rendering_overlay/image00061.jpg new file mode 100644 index 0000000..d8e54eb Binary files /dev/null and b/inference_output/rendering_overlay/image00061.jpg differ diff --git a/inference_output/rendering_overlay/image00061_solid.png b/inference_output/rendering_overlay/image00061_solid.png new file mode 100644 index 0000000..c8eb0e8 Binary files /dev/null and b/inference_output/rendering_overlay/image00061_solid.png differ diff --git a/inference_output/rendering_overlay/image00062.jpg b/inference_output/rendering_overlay/image00062.jpg new file mode 100644 index 0000000..c52f013 Binary files /dev/null and b/inference_output/rendering_overlay/image00062.jpg differ diff --git a/inference_output/rendering_overlay/image00062_solid.png b/inference_output/rendering_overlay/image00062_solid.png new file mode 100644 index 0000000..83f7ced Binary files /dev/null and b/inference_output/rendering_overlay/image00062_solid.png differ diff --git a/inference_output/rendering_overlay/image00063.jpg b/inference_output/rendering_overlay/image00063.jpg new file mode 100644 index 0000000..e4fd183 Binary files /dev/null and b/inference_output/rendering_overlay/image00063.jpg differ diff --git a/inference_output/rendering_overlay/image00063_solid.png b/inference_output/rendering_overlay/image00063_solid.png new file mode 100644 index 0000000..7cd3352 Binary files /dev/null and b/inference_output/rendering_overlay/image00063_solid.png differ diff --git a/inference_output/rendering_overlay/image00064.jpg b/inference_output/rendering_overlay/image00064.jpg new file mode 100644 index 0000000..836f653 Binary files /dev/null and b/inference_output/rendering_overlay/image00064.jpg differ diff --git a/inference_output/rendering_overlay/image00064_solid.png b/inference_output/rendering_overlay/image00064_solid.png new file mode 100644 index 0000000..218ce7b Binary files /dev/null and b/inference_output/rendering_overlay/image00064_solid.png differ diff --git a/inference_output/rendering_overlay/image00065.jpg b/inference_output/rendering_overlay/image00065.jpg new file mode 100644 index 0000000..5f8b003 Binary files /dev/null and b/inference_output/rendering_overlay/image00065.jpg differ diff --git a/inference_output/rendering_overlay/image00065_solid.png b/inference_output/rendering_overlay/image00065_solid.png new file mode 100644 index 0000000..b32e143 Binary files /dev/null and b/inference_output/rendering_overlay/image00065_solid.png differ diff --git a/inference_output/rendering_overlay/image00066.jpg b/inference_output/rendering_overlay/image00066.jpg new file mode 100644 index 0000000..f6c3599 Binary files /dev/null and b/inference_output/rendering_overlay/image00066.jpg differ diff --git a/inference_output/rendering_overlay/image00066_solid.png b/inference_output/rendering_overlay/image00066_solid.png new file mode 100644 index 0000000..bdd6f25 Binary files /dev/null and b/inference_output/rendering_overlay/image00066_solid.png differ diff --git a/inference_output/rendering_overlay/image00067.jpg b/inference_output/rendering_overlay/image00067.jpg new file mode 100644 index 0000000..0511f81 Binary files /dev/null and b/inference_output/rendering_overlay/image00067.jpg differ diff --git a/inference_output/rendering_overlay/image00067_solid.png b/inference_output/rendering_overlay/image00067_solid.png new file mode 100644 index 0000000..ec57455 Binary files /dev/null and b/inference_output/rendering_overlay/image00067_solid.png differ diff --git a/inference_output/rendering_overlay/image00070.jpg b/inference_output/rendering_overlay/image00070.jpg new file mode 100644 index 0000000..fe21406 Binary files /dev/null and b/inference_output/rendering_overlay/image00070.jpg differ diff --git a/inference_output/rendering_overlay/image00070_solid.png b/inference_output/rendering_overlay/image00070_solid.png new file mode 100644 index 0000000..87b6034 Binary files /dev/null and b/inference_output/rendering_overlay/image00070_solid.png differ diff --git a/inference_output/rendering_overlay/image00072.jpg b/inference_output/rendering_overlay/image00072.jpg new file mode 100644 index 0000000..603fc2b Binary files /dev/null and b/inference_output/rendering_overlay/image00072.jpg differ diff --git a/inference_output/rendering_overlay/image00072_solid.png b/inference_output/rendering_overlay/image00072_solid.png new file mode 100644 index 0000000..17532aa Binary files /dev/null and b/inference_output/rendering_overlay/image00072_solid.png differ diff --git a/inference_output/rendering_overlay/image00074.jpg b/inference_output/rendering_overlay/image00074.jpg new file mode 100644 index 0000000..9af8b17 Binary files /dev/null and b/inference_output/rendering_overlay/image00074.jpg differ diff --git a/inference_output/rendering_overlay/image00074_solid.png b/inference_output/rendering_overlay/image00074_solid.png new file mode 100644 index 0000000..42bb083 Binary files /dev/null and b/inference_output/rendering_overlay/image00074_solid.png differ diff --git a/inference_output/rendering_overlay/image00075.jpg b/inference_output/rendering_overlay/image00075.jpg new file mode 100644 index 0000000..a43b933 Binary files /dev/null and b/inference_output/rendering_overlay/image00075.jpg differ diff --git a/inference_output/rendering_overlay/image00075_solid.png b/inference_output/rendering_overlay/image00075_solid.png new file mode 100644 index 0000000..7240709 Binary files /dev/null and b/inference_output/rendering_overlay/image00075_solid.png differ diff --git a/inference_output_baseline/landmarks/image00002.jpg b/inference_output_baseline/landmarks/image00002.jpg new file mode 100644 index 0000000..db4fdd2 Binary files /dev/null and b/inference_output_baseline/landmarks/image00002.jpg differ diff --git a/inference_output_baseline/landmarks/image00004.jpg b/inference_output_baseline/landmarks/image00004.jpg new file mode 100644 index 0000000..ad644c8 Binary files /dev/null and b/inference_output_baseline/landmarks/image00004.jpg differ diff --git a/inference_output_baseline/landmarks/image00006.jpg b/inference_output_baseline/landmarks/image00006.jpg new file mode 100644 index 0000000..f7f046e Binary files /dev/null and b/inference_output_baseline/landmarks/image00006.jpg differ diff --git a/inference_output_baseline/landmarks/image00008.jpg b/inference_output_baseline/landmarks/image00008.jpg new file mode 100644 index 0000000..2ac84ea Binary files /dev/null and b/inference_output_baseline/landmarks/image00008.jpg differ diff --git a/inference_output_baseline/landmarks/image00010.jpg b/inference_output_baseline/landmarks/image00010.jpg new file mode 100644 index 0000000..2c9eb0e Binary files /dev/null and b/inference_output_baseline/landmarks/image00010.jpg differ diff --git a/inference_output_baseline/landmarks/image00013.jpg b/inference_output_baseline/landmarks/image00013.jpg new file mode 100644 index 0000000..90557a2 Binary files /dev/null and b/inference_output_baseline/landmarks/image00013.jpg differ diff --git a/inference_output_baseline/landmarks/image00014.jpg b/inference_output_baseline/landmarks/image00014.jpg new file mode 100644 index 0000000..6ab819a Binary files /dev/null and b/inference_output_baseline/landmarks/image00014.jpg differ diff --git a/inference_output_baseline/landmarks/image00019.jpg b/inference_output_baseline/landmarks/image00019.jpg new file mode 100644 index 0000000..12b6c10 Binary files /dev/null and b/inference_output_baseline/landmarks/image00019.jpg differ diff --git a/inference_output_baseline/landmarks/image00020.jpg b/inference_output_baseline/landmarks/image00020.jpg new file mode 100644 index 0000000..e51f598 Binary files /dev/null and b/inference_output_baseline/landmarks/image00020.jpg differ diff --git a/inference_output_baseline/landmarks/image00021.jpg b/inference_output_baseline/landmarks/image00021.jpg new file mode 100644 index 0000000..deb6ef9 Binary files /dev/null and b/inference_output_baseline/landmarks/image00021.jpg differ diff --git a/inference_output_baseline/landmarks/image00022.jpg b/inference_output_baseline/landmarks/image00022.jpg new file mode 100644 index 0000000..f036106 Binary files /dev/null and b/inference_output_baseline/landmarks/image00022.jpg differ diff --git a/inference_output_baseline/landmarks/image00023.jpg b/inference_output_baseline/landmarks/image00023.jpg new file mode 100644 index 0000000..fa3e688 Binary files /dev/null and b/inference_output_baseline/landmarks/image00023.jpg differ diff --git a/inference_output_baseline/landmarks/image00026.jpg b/inference_output_baseline/landmarks/image00026.jpg new file mode 100644 index 0000000..f203db6 Binary files /dev/null and b/inference_output_baseline/landmarks/image00026.jpg differ diff --git a/inference_output_baseline/landmarks/image00028.jpg b/inference_output_baseline/landmarks/image00028.jpg new file mode 100644 index 0000000..bdb16fd Binary files /dev/null and b/inference_output_baseline/landmarks/image00028.jpg differ diff --git a/inference_output_baseline/landmarks/image00032.jpg b/inference_output_baseline/landmarks/image00032.jpg new file mode 100644 index 0000000..a1c3832 Binary files /dev/null and b/inference_output_baseline/landmarks/image00032.jpg differ diff --git a/inference_output_baseline/landmarks/image00035.jpg b/inference_output_baseline/landmarks/image00035.jpg new file mode 100644 index 0000000..ad29835 Binary files /dev/null and b/inference_output_baseline/landmarks/image00035.jpg differ diff --git a/inference_output_baseline/landmarks/image00036.jpg b/inference_output_baseline/landmarks/image00036.jpg new file mode 100644 index 0000000..f55f5ca Binary files /dev/null and b/inference_output_baseline/landmarks/image00036.jpg differ diff --git a/inference_output_baseline/landmarks/image00039.jpg b/inference_output_baseline/landmarks/image00039.jpg new file mode 100644 index 0000000..4b15694 Binary files /dev/null and b/inference_output_baseline/landmarks/image00039.jpg differ diff --git a/inference_output_baseline/landmarks/image00040.jpg b/inference_output_baseline/landmarks/image00040.jpg new file mode 100644 index 0000000..6e32803 Binary files /dev/null and b/inference_output_baseline/landmarks/image00040.jpg differ diff --git a/inference_output_baseline/landmarks/image00041.jpg b/inference_output_baseline/landmarks/image00041.jpg new file mode 100644 index 0000000..1f0b9f9 Binary files /dev/null and b/inference_output_baseline/landmarks/image00041.jpg differ diff --git a/inference_output_baseline/landmarks/image00042.jpg b/inference_output_baseline/landmarks/image00042.jpg new file mode 100644 index 0000000..855d730 Binary files /dev/null and b/inference_output_baseline/landmarks/image00042.jpg differ diff --git a/inference_output_baseline/landmarks/image00043.jpg b/inference_output_baseline/landmarks/image00043.jpg new file mode 100644 index 0000000..ec61bb4 Binary files /dev/null and b/inference_output_baseline/landmarks/image00043.jpg differ diff --git a/inference_output_baseline/landmarks/image00044.jpg b/inference_output_baseline/landmarks/image00044.jpg new file mode 100644 index 0000000..92bb26a Binary files /dev/null and b/inference_output_baseline/landmarks/image00044.jpg differ diff --git a/inference_output_baseline/landmarks/image00045.jpg b/inference_output_baseline/landmarks/image00045.jpg new file mode 100644 index 0000000..303a7dc Binary files /dev/null and b/inference_output_baseline/landmarks/image00045.jpg differ diff --git a/inference_output_baseline/landmarks/image00046.jpg b/inference_output_baseline/landmarks/image00046.jpg new file mode 100644 index 0000000..cfd1fc4 Binary files /dev/null and b/inference_output_baseline/landmarks/image00046.jpg differ diff --git a/inference_output_baseline/landmarks/image00047.jpg b/inference_output_baseline/landmarks/image00047.jpg new file mode 100644 index 0000000..4b7f852 Binary files /dev/null and b/inference_output_baseline/landmarks/image00047.jpg differ diff --git a/inference_output_baseline/landmarks/image00048.jpg b/inference_output_baseline/landmarks/image00048.jpg new file mode 100644 index 0000000..adb33c0 Binary files /dev/null and b/inference_output_baseline/landmarks/image00048.jpg differ diff --git a/inference_output_baseline/landmarks/image00049.jpg b/inference_output_baseline/landmarks/image00049.jpg new file mode 100644 index 0000000..b31d2ad Binary files /dev/null and b/inference_output_baseline/landmarks/image00049.jpg differ diff --git a/inference_output_baseline/landmarks/image00050.jpg b/inference_output_baseline/landmarks/image00050.jpg new file mode 100644 index 0000000..7787344 Binary files /dev/null and b/inference_output_baseline/landmarks/image00050.jpg differ diff --git a/inference_output_baseline/landmarks/image00051.jpg b/inference_output_baseline/landmarks/image00051.jpg new file mode 100644 index 0000000..c91de8a Binary files /dev/null and b/inference_output_baseline/landmarks/image00051.jpg differ diff --git a/inference_output_baseline/landmarks/image00052.jpg b/inference_output_baseline/landmarks/image00052.jpg new file mode 100644 index 0000000..339e55f Binary files /dev/null and b/inference_output_baseline/landmarks/image00052.jpg differ diff --git a/inference_output_baseline/landmarks/image00053.jpg b/inference_output_baseline/landmarks/image00053.jpg new file mode 100644 index 0000000..c374da9 Binary files /dev/null and b/inference_output_baseline/landmarks/image00053.jpg differ diff --git a/inference_output_baseline/landmarks/image00054.jpg b/inference_output_baseline/landmarks/image00054.jpg new file mode 100644 index 0000000..67fe805 Binary files /dev/null and b/inference_output_baseline/landmarks/image00054.jpg differ diff --git a/inference_output_baseline/landmarks/image00055.jpg b/inference_output_baseline/landmarks/image00055.jpg new file mode 100644 index 0000000..0489917 Binary files /dev/null and b/inference_output_baseline/landmarks/image00055.jpg differ diff --git a/inference_output_baseline/landmarks/image00056.jpg b/inference_output_baseline/landmarks/image00056.jpg new file mode 100644 index 0000000..6d32af1 Binary files /dev/null and b/inference_output_baseline/landmarks/image00056.jpg differ diff --git a/inference_output_baseline/landmarks/image00057.jpg b/inference_output_baseline/landmarks/image00057.jpg new file mode 100644 index 0000000..833774b Binary files /dev/null and b/inference_output_baseline/landmarks/image00057.jpg differ diff --git a/inference_output_baseline/landmarks/image00058.jpg b/inference_output_baseline/landmarks/image00058.jpg new file mode 100644 index 0000000..4466a5a Binary files /dev/null and b/inference_output_baseline/landmarks/image00058.jpg differ diff --git a/inference_output_baseline/landmarks/image00059.jpg b/inference_output_baseline/landmarks/image00059.jpg new file mode 100644 index 0000000..f7cb628 Binary files /dev/null and b/inference_output_baseline/landmarks/image00059.jpg differ diff --git a/inference_output_baseline/landmarks/image00060.jpg b/inference_output_baseline/landmarks/image00060.jpg new file mode 100644 index 0000000..529da2b Binary files /dev/null and b/inference_output_baseline/landmarks/image00060.jpg differ diff --git a/inference_output_baseline/landmarks/image00061.jpg b/inference_output_baseline/landmarks/image00061.jpg new file mode 100644 index 0000000..5f437d9 Binary files /dev/null and b/inference_output_baseline/landmarks/image00061.jpg differ diff --git a/inference_output_baseline/landmarks/image00062.jpg b/inference_output_baseline/landmarks/image00062.jpg new file mode 100644 index 0000000..cb05251 Binary files /dev/null and b/inference_output_baseline/landmarks/image00062.jpg differ diff --git a/inference_output_baseline/landmarks/image00063.jpg b/inference_output_baseline/landmarks/image00063.jpg new file mode 100644 index 0000000..232c6af Binary files /dev/null and b/inference_output_baseline/landmarks/image00063.jpg differ diff --git a/inference_output_baseline/landmarks/image00064.jpg b/inference_output_baseline/landmarks/image00064.jpg new file mode 100644 index 0000000..485fa1c Binary files /dev/null and b/inference_output_baseline/landmarks/image00064.jpg differ diff --git a/inference_output_baseline/landmarks/image00065.jpg b/inference_output_baseline/landmarks/image00065.jpg new file mode 100644 index 0000000..93c66f0 Binary files /dev/null and b/inference_output_baseline/landmarks/image00065.jpg differ diff --git a/inference_output_baseline/landmarks/image00066.jpg b/inference_output_baseline/landmarks/image00066.jpg new file mode 100644 index 0000000..a645bad Binary files /dev/null and b/inference_output_baseline/landmarks/image00066.jpg differ diff --git a/inference_output_baseline/landmarks/image00067.jpg b/inference_output_baseline/landmarks/image00067.jpg new file mode 100644 index 0000000..702fd58 Binary files /dev/null and b/inference_output_baseline/landmarks/image00067.jpg differ diff --git a/inference_output_baseline/landmarks/image00070.jpg b/inference_output_baseline/landmarks/image00070.jpg new file mode 100644 index 0000000..793fb94 Binary files /dev/null and b/inference_output_baseline/landmarks/image00070.jpg differ diff --git a/inference_output_baseline/landmarks/image00072.jpg b/inference_output_baseline/landmarks/image00072.jpg new file mode 100644 index 0000000..fa5452c Binary files /dev/null and b/inference_output_baseline/landmarks/image00072.jpg differ diff --git a/inference_output_baseline/landmarks/image00074.jpg b/inference_output_baseline/landmarks/image00074.jpg new file mode 100644 index 0000000..e8360f6 Binary files /dev/null and b/inference_output_baseline/landmarks/image00074.jpg differ diff --git a/inference_output_baseline/landmarks/image00075.jpg b/inference_output_baseline/landmarks/image00075.jpg new file mode 100644 index 0000000..04ec92a Binary files /dev/null and b/inference_output_baseline/landmarks/image00075.jpg differ diff --git a/inference_output_baseline/poses/image00002.jpg b/inference_output_baseline/poses/image00002.jpg new file mode 100644 index 0000000..a0944a1 Binary files /dev/null and b/inference_output_baseline/poses/image00002.jpg differ diff --git a/inference_output_baseline/poses/image00004.jpg b/inference_output_baseline/poses/image00004.jpg new file mode 100644 index 0000000..e70f26c Binary files /dev/null and b/inference_output_baseline/poses/image00004.jpg differ diff --git a/inference_output_baseline/poses/image00006.jpg b/inference_output_baseline/poses/image00006.jpg new file mode 100644 index 0000000..b1f83c6 Binary files /dev/null and b/inference_output_baseline/poses/image00006.jpg differ diff --git a/inference_output_baseline/poses/image00008.jpg b/inference_output_baseline/poses/image00008.jpg new file mode 100644 index 0000000..98a499f Binary files /dev/null and b/inference_output_baseline/poses/image00008.jpg differ diff --git a/inference_output_baseline/poses/image00010.jpg b/inference_output_baseline/poses/image00010.jpg new file mode 100644 index 0000000..15ffc68 Binary files /dev/null and b/inference_output_baseline/poses/image00010.jpg differ diff --git a/inference_output_baseline/poses/image00013.jpg b/inference_output_baseline/poses/image00013.jpg new file mode 100644 index 0000000..b4d1917 Binary files /dev/null and b/inference_output_baseline/poses/image00013.jpg differ diff --git a/inference_output_baseline/poses/image00014.jpg b/inference_output_baseline/poses/image00014.jpg new file mode 100644 index 0000000..4b4a62c Binary files /dev/null and b/inference_output_baseline/poses/image00014.jpg differ diff --git a/inference_output_baseline/poses/image00019.jpg b/inference_output_baseline/poses/image00019.jpg new file mode 100644 index 0000000..dca58bf Binary files /dev/null and b/inference_output_baseline/poses/image00019.jpg differ diff --git a/inference_output_baseline/poses/image00020.jpg b/inference_output_baseline/poses/image00020.jpg new file mode 100644 index 0000000..3bbd9c5 Binary files /dev/null and b/inference_output_baseline/poses/image00020.jpg differ diff --git a/inference_output_baseline/poses/image00021.jpg b/inference_output_baseline/poses/image00021.jpg new file mode 100644 index 0000000..4f0816c Binary files /dev/null and b/inference_output_baseline/poses/image00021.jpg differ diff --git a/inference_output_baseline/poses/image00022.jpg b/inference_output_baseline/poses/image00022.jpg new file mode 100644 index 0000000..395c27a Binary files /dev/null and b/inference_output_baseline/poses/image00022.jpg differ diff --git a/inference_output_baseline/poses/image00023.jpg b/inference_output_baseline/poses/image00023.jpg new file mode 100644 index 0000000..1eac9ea Binary files /dev/null and b/inference_output_baseline/poses/image00023.jpg differ diff --git a/inference_output_baseline/poses/image00026.jpg b/inference_output_baseline/poses/image00026.jpg new file mode 100644 index 0000000..430411a Binary files /dev/null and b/inference_output_baseline/poses/image00026.jpg differ diff --git a/inference_output_baseline/poses/image00028.jpg b/inference_output_baseline/poses/image00028.jpg new file mode 100644 index 0000000..4a411ee Binary files /dev/null and b/inference_output_baseline/poses/image00028.jpg differ diff --git a/inference_output_baseline/poses/image00032.jpg b/inference_output_baseline/poses/image00032.jpg new file mode 100644 index 0000000..385037e Binary files /dev/null and b/inference_output_baseline/poses/image00032.jpg differ diff --git a/inference_output_baseline/poses/image00035.jpg b/inference_output_baseline/poses/image00035.jpg new file mode 100644 index 0000000..4bb8b51 Binary files /dev/null and b/inference_output_baseline/poses/image00035.jpg differ diff --git a/inference_output_baseline/poses/image00036.jpg b/inference_output_baseline/poses/image00036.jpg new file mode 100644 index 0000000..b675cd9 Binary files /dev/null and b/inference_output_baseline/poses/image00036.jpg differ diff --git a/inference_output_baseline/poses/image00039.jpg b/inference_output_baseline/poses/image00039.jpg new file mode 100644 index 0000000..04f17b8 Binary files /dev/null and b/inference_output_baseline/poses/image00039.jpg differ diff --git a/inference_output_baseline/poses/image00040.jpg b/inference_output_baseline/poses/image00040.jpg new file mode 100644 index 0000000..a8ccb5a Binary files /dev/null and b/inference_output_baseline/poses/image00040.jpg differ diff --git a/inference_output_baseline/poses/image00041.jpg b/inference_output_baseline/poses/image00041.jpg new file mode 100644 index 0000000..c86d2b2 Binary files /dev/null and b/inference_output_baseline/poses/image00041.jpg differ diff --git a/inference_output_baseline/poses/image00042.jpg b/inference_output_baseline/poses/image00042.jpg new file mode 100644 index 0000000..4619bf0 Binary files /dev/null and b/inference_output_baseline/poses/image00042.jpg differ diff --git a/inference_output_baseline/poses/image00043.jpg b/inference_output_baseline/poses/image00043.jpg new file mode 100644 index 0000000..bb13abf Binary files /dev/null and b/inference_output_baseline/poses/image00043.jpg differ diff --git a/inference_output_baseline/poses/image00044.jpg b/inference_output_baseline/poses/image00044.jpg new file mode 100644 index 0000000..1685575 Binary files /dev/null and b/inference_output_baseline/poses/image00044.jpg differ diff --git a/inference_output_baseline/poses/image00045.jpg b/inference_output_baseline/poses/image00045.jpg new file mode 100644 index 0000000..ca99787 Binary files /dev/null and b/inference_output_baseline/poses/image00045.jpg differ diff --git a/inference_output_baseline/poses/image00046.jpg b/inference_output_baseline/poses/image00046.jpg new file mode 100644 index 0000000..4ceb09a Binary files /dev/null and b/inference_output_baseline/poses/image00046.jpg differ diff --git a/inference_output_baseline/poses/image00047.jpg b/inference_output_baseline/poses/image00047.jpg new file mode 100644 index 0000000..d556b2c Binary files /dev/null and b/inference_output_baseline/poses/image00047.jpg differ diff --git a/inference_output_baseline/poses/image00048.jpg b/inference_output_baseline/poses/image00048.jpg new file mode 100644 index 0000000..23ca204 Binary files /dev/null and b/inference_output_baseline/poses/image00048.jpg differ diff --git a/inference_output_baseline/poses/image00049.jpg b/inference_output_baseline/poses/image00049.jpg new file mode 100644 index 0000000..43f748e Binary files /dev/null and b/inference_output_baseline/poses/image00049.jpg differ diff --git a/inference_output_baseline/poses/image00050.jpg b/inference_output_baseline/poses/image00050.jpg new file mode 100644 index 0000000..2d44cf1 Binary files /dev/null and b/inference_output_baseline/poses/image00050.jpg differ diff --git a/inference_output_baseline/poses/image00051.jpg b/inference_output_baseline/poses/image00051.jpg new file mode 100644 index 0000000..96d2fe8 Binary files /dev/null and b/inference_output_baseline/poses/image00051.jpg differ diff --git a/inference_output_baseline/poses/image00052.jpg b/inference_output_baseline/poses/image00052.jpg new file mode 100644 index 0000000..cccc2d0 Binary files /dev/null and b/inference_output_baseline/poses/image00052.jpg differ diff --git a/inference_output_baseline/poses/image00053.jpg b/inference_output_baseline/poses/image00053.jpg new file mode 100644 index 0000000..0745ed3 Binary files /dev/null and b/inference_output_baseline/poses/image00053.jpg differ diff --git a/inference_output_baseline/poses/image00054.jpg b/inference_output_baseline/poses/image00054.jpg new file mode 100644 index 0000000..ba53bdf Binary files /dev/null and b/inference_output_baseline/poses/image00054.jpg differ diff --git a/inference_output_baseline/poses/image00055.jpg b/inference_output_baseline/poses/image00055.jpg new file mode 100644 index 0000000..58361b6 Binary files /dev/null and b/inference_output_baseline/poses/image00055.jpg differ diff --git a/inference_output_baseline/poses/image00056.jpg b/inference_output_baseline/poses/image00056.jpg new file mode 100644 index 0000000..30c069b Binary files /dev/null and b/inference_output_baseline/poses/image00056.jpg differ diff --git a/inference_output_baseline/poses/image00057.jpg b/inference_output_baseline/poses/image00057.jpg new file mode 100644 index 0000000..e6436b2 Binary files /dev/null and b/inference_output_baseline/poses/image00057.jpg differ diff --git a/inference_output_baseline/poses/image00058.jpg b/inference_output_baseline/poses/image00058.jpg new file mode 100644 index 0000000..fdaa9c9 Binary files /dev/null and b/inference_output_baseline/poses/image00058.jpg differ diff --git a/inference_output_baseline/poses/image00059.jpg b/inference_output_baseline/poses/image00059.jpg new file mode 100644 index 0000000..070053e Binary files /dev/null and b/inference_output_baseline/poses/image00059.jpg differ diff --git a/inference_output_baseline/poses/image00060.jpg b/inference_output_baseline/poses/image00060.jpg new file mode 100644 index 0000000..628d2ef Binary files /dev/null and b/inference_output_baseline/poses/image00060.jpg differ diff --git a/inference_output_baseline/poses/image00061.jpg b/inference_output_baseline/poses/image00061.jpg new file mode 100644 index 0000000..b6e8259 Binary files /dev/null and b/inference_output_baseline/poses/image00061.jpg differ diff --git a/inference_output_baseline/poses/image00062.jpg b/inference_output_baseline/poses/image00062.jpg new file mode 100644 index 0000000..8f50c37 Binary files /dev/null and b/inference_output_baseline/poses/image00062.jpg differ diff --git a/inference_output_baseline/poses/image00063.jpg b/inference_output_baseline/poses/image00063.jpg new file mode 100644 index 0000000..b59bef4 Binary files /dev/null and b/inference_output_baseline/poses/image00063.jpg differ diff --git a/inference_output_baseline/poses/image00064.jpg b/inference_output_baseline/poses/image00064.jpg new file mode 100644 index 0000000..2d23bb1 Binary files /dev/null and b/inference_output_baseline/poses/image00064.jpg differ diff --git a/inference_output_baseline/poses/image00065.jpg b/inference_output_baseline/poses/image00065.jpg new file mode 100644 index 0000000..f189abc Binary files /dev/null and b/inference_output_baseline/poses/image00065.jpg differ diff --git a/inference_output_baseline/poses/image00066.jpg b/inference_output_baseline/poses/image00066.jpg new file mode 100644 index 0000000..46ebe70 Binary files /dev/null and b/inference_output_baseline/poses/image00066.jpg differ diff --git a/inference_output_baseline/poses/image00067.jpg b/inference_output_baseline/poses/image00067.jpg new file mode 100644 index 0000000..89cb12c Binary files /dev/null and b/inference_output_baseline/poses/image00067.jpg differ diff --git a/inference_output_baseline/poses/image00070.jpg b/inference_output_baseline/poses/image00070.jpg new file mode 100644 index 0000000..0673441 Binary files /dev/null and b/inference_output_baseline/poses/image00070.jpg differ diff --git a/inference_output_baseline/poses/image00072.jpg b/inference_output_baseline/poses/image00072.jpg new file mode 100644 index 0000000..d77bbbc Binary files /dev/null and b/inference_output_baseline/poses/image00072.jpg differ diff --git a/inference_output_baseline/poses/image00074.jpg b/inference_output_baseline/poses/image00074.jpg new file mode 100644 index 0000000..9af8b17 Binary files /dev/null and b/inference_output_baseline/poses/image00074.jpg differ diff --git a/inference_output_baseline/poses/image00075.jpg b/inference_output_baseline/poses/image00075.jpg new file mode 100644 index 0000000..f809f44 Binary files /dev/null and b/inference_output_baseline/poses/image00075.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00002.jpg b/inference_output_baseline/rendering_overlay/image00002.jpg new file mode 100644 index 0000000..40356c5 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00002.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00002_solid.png b/inference_output_baseline/rendering_overlay/image00002_solid.png new file mode 100644 index 0000000..6ad7b62 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00002_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00004.jpg b/inference_output_baseline/rendering_overlay/image00004.jpg new file mode 100644 index 0000000..75b91c1 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00004.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00004_solid.png b/inference_output_baseline/rendering_overlay/image00004_solid.png new file mode 100644 index 0000000..e17e242 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00004_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00006.jpg b/inference_output_baseline/rendering_overlay/image00006.jpg new file mode 100644 index 0000000..e5c8cd2 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00006.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00006_solid.png b/inference_output_baseline/rendering_overlay/image00006_solid.png new file mode 100644 index 0000000..4c55fbb Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00006_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00008.jpg b/inference_output_baseline/rendering_overlay/image00008.jpg new file mode 100644 index 0000000..6cd4479 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00008.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00008_solid.png b/inference_output_baseline/rendering_overlay/image00008_solid.png new file mode 100644 index 0000000..c47c74a Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00008_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00010.jpg b/inference_output_baseline/rendering_overlay/image00010.jpg new file mode 100644 index 0000000..15ffc68 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00010.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00010_solid.png b/inference_output_baseline/rendering_overlay/image00010_solid.png new file mode 100644 index 0000000..5e236a2 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00010_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00013.jpg b/inference_output_baseline/rendering_overlay/image00013.jpg new file mode 100644 index 0000000..51b63c1 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00013.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00013_solid.png b/inference_output_baseline/rendering_overlay/image00013_solid.png new file mode 100644 index 0000000..ea4e59b Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00013_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00014.jpg b/inference_output_baseline/rendering_overlay/image00014.jpg new file mode 100644 index 0000000..5f2a39c Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00014.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00014_solid.png b/inference_output_baseline/rendering_overlay/image00014_solid.png new file mode 100644 index 0000000..be32523 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00014_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00019.jpg b/inference_output_baseline/rendering_overlay/image00019.jpg new file mode 100644 index 0000000..8ca2626 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00019.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00019_solid.png b/inference_output_baseline/rendering_overlay/image00019_solid.png new file mode 100644 index 0000000..14b7b0b Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00019_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00020.jpg b/inference_output_baseline/rendering_overlay/image00020.jpg new file mode 100644 index 0000000..90e8f54 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00020.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00020_solid.png b/inference_output_baseline/rendering_overlay/image00020_solid.png new file mode 100644 index 0000000..2825303 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00020_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00021.jpg b/inference_output_baseline/rendering_overlay/image00021.jpg new file mode 100644 index 0000000..3066691 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00021.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00021_solid.png b/inference_output_baseline/rendering_overlay/image00021_solid.png new file mode 100644 index 0000000..06a624c Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00021_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00022.jpg b/inference_output_baseline/rendering_overlay/image00022.jpg new file mode 100644 index 0000000..21acbdf Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00022.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00022_solid.png b/inference_output_baseline/rendering_overlay/image00022_solid.png new file mode 100644 index 0000000..5abf30b Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00022_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00023.jpg b/inference_output_baseline/rendering_overlay/image00023.jpg new file mode 100644 index 0000000..f95f48a Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00023.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00023_solid.png b/inference_output_baseline/rendering_overlay/image00023_solid.png new file mode 100644 index 0000000..88ed221 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00023_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00026.jpg b/inference_output_baseline/rendering_overlay/image00026.jpg new file mode 100644 index 0000000..00f5edf Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00026.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00026_solid.png b/inference_output_baseline/rendering_overlay/image00026_solid.png new file mode 100644 index 0000000..1d581f9 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00026_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00028.jpg b/inference_output_baseline/rendering_overlay/image00028.jpg new file mode 100644 index 0000000..d01fa0a Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00028.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00028_solid.png b/inference_output_baseline/rendering_overlay/image00028_solid.png new file mode 100644 index 0000000..1cadeda Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00028_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00032.jpg b/inference_output_baseline/rendering_overlay/image00032.jpg new file mode 100644 index 0000000..32c8109 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00032.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00032_solid.png b/inference_output_baseline/rendering_overlay/image00032_solid.png new file mode 100644 index 0000000..1984062 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00032_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00035.jpg b/inference_output_baseline/rendering_overlay/image00035.jpg new file mode 100644 index 0000000..eeb1d94 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00035.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00035_solid.png b/inference_output_baseline/rendering_overlay/image00035_solid.png new file mode 100644 index 0000000..801bd07 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00035_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00036.jpg b/inference_output_baseline/rendering_overlay/image00036.jpg new file mode 100644 index 0000000..b675cd9 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00036.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00036_solid.png b/inference_output_baseline/rendering_overlay/image00036_solid.png new file mode 100644 index 0000000..d089d19 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00036_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00039.jpg b/inference_output_baseline/rendering_overlay/image00039.jpg new file mode 100644 index 0000000..d05e493 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00039.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00039_solid.png b/inference_output_baseline/rendering_overlay/image00039_solid.png new file mode 100644 index 0000000..d129a5c Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00039_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00040.jpg b/inference_output_baseline/rendering_overlay/image00040.jpg new file mode 100644 index 0000000..47baeb0 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00040.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00040_solid.png b/inference_output_baseline/rendering_overlay/image00040_solid.png new file mode 100644 index 0000000..49c7662 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00040_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00041.jpg b/inference_output_baseline/rendering_overlay/image00041.jpg new file mode 100644 index 0000000..e3ab87a Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00041.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00041_solid.png b/inference_output_baseline/rendering_overlay/image00041_solid.png new file mode 100644 index 0000000..93acc2a Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00041_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00042.jpg b/inference_output_baseline/rendering_overlay/image00042.jpg new file mode 100644 index 0000000..30be6e9 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00042.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00042_solid.png b/inference_output_baseline/rendering_overlay/image00042_solid.png new file mode 100644 index 0000000..cdfe7b3 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00042_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00043.jpg b/inference_output_baseline/rendering_overlay/image00043.jpg new file mode 100644 index 0000000..30c602e Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00043.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00043_solid.png b/inference_output_baseline/rendering_overlay/image00043_solid.png new file mode 100644 index 0000000..0372480 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00043_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00044.jpg b/inference_output_baseline/rendering_overlay/image00044.jpg new file mode 100644 index 0000000..8d16b55 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00044.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00044_solid.png b/inference_output_baseline/rendering_overlay/image00044_solid.png new file mode 100644 index 0000000..aed8cbe Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00044_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00045.jpg b/inference_output_baseline/rendering_overlay/image00045.jpg new file mode 100644 index 0000000..12a2471 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00045.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00045_solid.png b/inference_output_baseline/rendering_overlay/image00045_solid.png new file mode 100644 index 0000000..9e9823f Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00045_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00046.jpg b/inference_output_baseline/rendering_overlay/image00046.jpg new file mode 100644 index 0000000..f719b87 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00046.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00046_solid.png b/inference_output_baseline/rendering_overlay/image00046_solid.png new file mode 100644 index 0000000..49c931c Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00046_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00047.jpg b/inference_output_baseline/rendering_overlay/image00047.jpg new file mode 100644 index 0000000..ba0b287 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00047.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00047_solid.png b/inference_output_baseline/rendering_overlay/image00047_solid.png new file mode 100644 index 0000000..2403d7d Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00047_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00048.jpg b/inference_output_baseline/rendering_overlay/image00048.jpg new file mode 100644 index 0000000..bcd1dbe Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00048.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00048_solid.png b/inference_output_baseline/rendering_overlay/image00048_solid.png new file mode 100644 index 0000000..5e95fa6 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00048_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00049.jpg b/inference_output_baseline/rendering_overlay/image00049.jpg new file mode 100644 index 0000000..a5377ea Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00049.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00049_solid.png b/inference_output_baseline/rendering_overlay/image00049_solid.png new file mode 100644 index 0000000..6fb1ae9 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00049_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00050.jpg b/inference_output_baseline/rendering_overlay/image00050.jpg new file mode 100644 index 0000000..559107d Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00050.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00050_solid.png b/inference_output_baseline/rendering_overlay/image00050_solid.png new file mode 100644 index 0000000..0f18ea7 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00050_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00051.jpg b/inference_output_baseline/rendering_overlay/image00051.jpg new file mode 100644 index 0000000..5b39818 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00051.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00051_solid.png b/inference_output_baseline/rendering_overlay/image00051_solid.png new file mode 100644 index 0000000..7492706 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00051_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00052.jpg b/inference_output_baseline/rendering_overlay/image00052.jpg new file mode 100644 index 0000000..2945446 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00052.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00052_solid.png b/inference_output_baseline/rendering_overlay/image00052_solid.png new file mode 100644 index 0000000..66ed39c Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00052_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00053.jpg b/inference_output_baseline/rendering_overlay/image00053.jpg new file mode 100644 index 0000000..98b176a Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00053.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00053_solid.png b/inference_output_baseline/rendering_overlay/image00053_solid.png new file mode 100644 index 0000000..046f971 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00053_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00054.jpg b/inference_output_baseline/rendering_overlay/image00054.jpg new file mode 100644 index 0000000..4882d67 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00054.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00054_solid.png b/inference_output_baseline/rendering_overlay/image00054_solid.png new file mode 100644 index 0000000..63fa16a Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00054_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00055.jpg b/inference_output_baseline/rendering_overlay/image00055.jpg new file mode 100644 index 0000000..ed291c0 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00055.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00055_solid.png b/inference_output_baseline/rendering_overlay/image00055_solid.png new file mode 100644 index 0000000..260e616 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00055_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00056.jpg b/inference_output_baseline/rendering_overlay/image00056.jpg new file mode 100644 index 0000000..ce4aa19 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00056.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00056_solid.png b/inference_output_baseline/rendering_overlay/image00056_solid.png new file mode 100644 index 0000000..b4820b0 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00056_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00057.jpg b/inference_output_baseline/rendering_overlay/image00057.jpg new file mode 100644 index 0000000..2ade59b Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00057.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00057_solid.png b/inference_output_baseline/rendering_overlay/image00057_solid.png new file mode 100644 index 0000000..5ad25c4 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00057_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00058.jpg b/inference_output_baseline/rendering_overlay/image00058.jpg new file mode 100644 index 0000000..8bfa70e Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00058.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00058_solid.png b/inference_output_baseline/rendering_overlay/image00058_solid.png new file mode 100644 index 0000000..c9b1f79 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00058_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00059.jpg b/inference_output_baseline/rendering_overlay/image00059.jpg new file mode 100644 index 0000000..f6ee4dd Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00059.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00059_solid.png b/inference_output_baseline/rendering_overlay/image00059_solid.png new file mode 100644 index 0000000..d005d0d Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00059_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00060.jpg b/inference_output_baseline/rendering_overlay/image00060.jpg new file mode 100644 index 0000000..20c0eac Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00060.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00060_solid.png b/inference_output_baseline/rendering_overlay/image00060_solid.png new file mode 100644 index 0000000..52dc349 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00060_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00061.jpg b/inference_output_baseline/rendering_overlay/image00061.jpg new file mode 100644 index 0000000..773813e Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00061.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00061_solid.png b/inference_output_baseline/rendering_overlay/image00061_solid.png new file mode 100644 index 0000000..c434ecd Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00061_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00062.jpg b/inference_output_baseline/rendering_overlay/image00062.jpg new file mode 100644 index 0000000..4090990 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00062.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00062_solid.png b/inference_output_baseline/rendering_overlay/image00062_solid.png new file mode 100644 index 0000000..ad95910 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00062_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00063.jpg b/inference_output_baseline/rendering_overlay/image00063.jpg new file mode 100644 index 0000000..9d05f79 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00063.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00063_solid.png b/inference_output_baseline/rendering_overlay/image00063_solid.png new file mode 100644 index 0000000..b78e633 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00063_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00064.jpg b/inference_output_baseline/rendering_overlay/image00064.jpg new file mode 100644 index 0000000..5f3df28 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00064.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00064_solid.png b/inference_output_baseline/rendering_overlay/image00064_solid.png new file mode 100644 index 0000000..22d42ce Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00064_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00065.jpg b/inference_output_baseline/rendering_overlay/image00065.jpg new file mode 100644 index 0000000..b6594d2 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00065.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00065_solid.png b/inference_output_baseline/rendering_overlay/image00065_solid.png new file mode 100644 index 0000000..fb28947 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00065_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00066.jpg b/inference_output_baseline/rendering_overlay/image00066.jpg new file mode 100644 index 0000000..f1c4302 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00066.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00066_solid.png b/inference_output_baseline/rendering_overlay/image00066_solid.png new file mode 100644 index 0000000..ff514d2 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00066_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00067.jpg b/inference_output_baseline/rendering_overlay/image00067.jpg new file mode 100644 index 0000000..647a606 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00067.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00067_solid.png b/inference_output_baseline/rendering_overlay/image00067_solid.png new file mode 100644 index 0000000..6642a06 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00067_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00070.jpg b/inference_output_baseline/rendering_overlay/image00070.jpg new file mode 100644 index 0000000..46770f6 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00070.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00070_solid.png b/inference_output_baseline/rendering_overlay/image00070_solid.png new file mode 100644 index 0000000..dc2b4b6 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00070_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00072.jpg b/inference_output_baseline/rendering_overlay/image00072.jpg new file mode 100644 index 0000000..f1d5818 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00072.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00072_solid.png b/inference_output_baseline/rendering_overlay/image00072_solid.png new file mode 100644 index 0000000..fe6c90b Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00072_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00074.jpg b/inference_output_baseline/rendering_overlay/image00074.jpg new file mode 100644 index 0000000..9af8b17 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00074.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00074_solid.png b/inference_output_baseline/rendering_overlay/image00074_solid.png new file mode 100644 index 0000000..42bb083 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00074_solid.png differ diff --git a/inference_output_baseline/rendering_overlay/image00075.jpg b/inference_output_baseline/rendering_overlay/image00075.jpg new file mode 100644 index 0000000..627d87e Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00075.jpg differ diff --git a/inference_output_baseline/rendering_overlay/image00075_solid.png b/inference_output_baseline/rendering_overlay/image00075_solid.png new file mode 100644 index 0000000..ce86d12 Binary files /dev/null and b/inference_output_baseline/rendering_overlay/image00075_solid.png differ diff --git a/inference_output_dcnv2/landmarks/image00002.jpg b/inference_output_dcnv2/landmarks/image00002.jpg new file mode 100644 index 0000000..ee3cc76 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00002.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00004.jpg b/inference_output_dcnv2/landmarks/image00004.jpg new file mode 100644 index 0000000..7d65ccb Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00004.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00006.jpg b/inference_output_dcnv2/landmarks/image00006.jpg new file mode 100644 index 0000000..9172f5a Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00006.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00008.jpg b/inference_output_dcnv2/landmarks/image00008.jpg new file mode 100644 index 0000000..2973636 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00008.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00010.jpg b/inference_output_dcnv2/landmarks/image00010.jpg new file mode 100644 index 0000000..2c9eb0e Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00010.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00013.jpg b/inference_output_dcnv2/landmarks/image00013.jpg new file mode 100644 index 0000000..a79d92d Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00013.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00014.jpg b/inference_output_dcnv2/landmarks/image00014.jpg new file mode 100644 index 0000000..26c78f6 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00014.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00019.jpg b/inference_output_dcnv2/landmarks/image00019.jpg new file mode 100644 index 0000000..d71855e Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00019.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00020.jpg b/inference_output_dcnv2/landmarks/image00020.jpg new file mode 100644 index 0000000..7a1bcaa Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00020.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00021.jpg b/inference_output_dcnv2/landmarks/image00021.jpg new file mode 100644 index 0000000..f9fd15a Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00021.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00022.jpg b/inference_output_dcnv2/landmarks/image00022.jpg new file mode 100644 index 0000000..1f44e91 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00022.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00023.jpg b/inference_output_dcnv2/landmarks/image00023.jpg new file mode 100644 index 0000000..c050b76 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00023.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00026.jpg b/inference_output_dcnv2/landmarks/image00026.jpg new file mode 100644 index 0000000..c06ccfe Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00026.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00028.jpg b/inference_output_dcnv2/landmarks/image00028.jpg new file mode 100644 index 0000000..51062c2 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00028.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00032.jpg b/inference_output_dcnv2/landmarks/image00032.jpg new file mode 100644 index 0000000..7c5a6e7 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00032.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00035.jpg b/inference_output_dcnv2/landmarks/image00035.jpg new file mode 100644 index 0000000..6aeb8e5 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00035.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00036.jpg b/inference_output_dcnv2/landmarks/image00036.jpg new file mode 100644 index 0000000..f55f5ca Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00036.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00039.jpg b/inference_output_dcnv2/landmarks/image00039.jpg new file mode 100644 index 0000000..792397a Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00039.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00040.jpg b/inference_output_dcnv2/landmarks/image00040.jpg new file mode 100644 index 0000000..e44c9e0 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00040.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00041.jpg b/inference_output_dcnv2/landmarks/image00041.jpg new file mode 100644 index 0000000..7c4ea10 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00041.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00042.jpg b/inference_output_dcnv2/landmarks/image00042.jpg new file mode 100644 index 0000000..9eb23b9 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00042.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00043.jpg b/inference_output_dcnv2/landmarks/image00043.jpg new file mode 100644 index 0000000..bb18aa4 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00043.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00044.jpg b/inference_output_dcnv2/landmarks/image00044.jpg new file mode 100644 index 0000000..73d720a Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00044.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00045.jpg b/inference_output_dcnv2/landmarks/image00045.jpg new file mode 100644 index 0000000..42f3dfb Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00045.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00046.jpg b/inference_output_dcnv2/landmarks/image00046.jpg new file mode 100644 index 0000000..cc79e8d Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00046.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00047.jpg b/inference_output_dcnv2/landmarks/image00047.jpg new file mode 100644 index 0000000..7c371e4 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00047.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00048.jpg b/inference_output_dcnv2/landmarks/image00048.jpg new file mode 100644 index 0000000..f2aa62a Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00048.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00049.jpg b/inference_output_dcnv2/landmarks/image00049.jpg new file mode 100644 index 0000000..6e5a4de Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00049.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00050.jpg b/inference_output_dcnv2/landmarks/image00050.jpg new file mode 100644 index 0000000..2974505 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00050.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00051.jpg b/inference_output_dcnv2/landmarks/image00051.jpg new file mode 100644 index 0000000..4588110 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00051.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00052.jpg b/inference_output_dcnv2/landmarks/image00052.jpg new file mode 100644 index 0000000..25b92d5 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00052.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00053.jpg b/inference_output_dcnv2/landmarks/image00053.jpg new file mode 100644 index 0000000..c54daba Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00053.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00054.jpg b/inference_output_dcnv2/landmarks/image00054.jpg new file mode 100644 index 0000000..dc69a2e Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00054.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00055.jpg b/inference_output_dcnv2/landmarks/image00055.jpg new file mode 100644 index 0000000..4520883 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00055.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00056.jpg b/inference_output_dcnv2/landmarks/image00056.jpg new file mode 100644 index 0000000..9746bcb Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00056.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00057.jpg b/inference_output_dcnv2/landmarks/image00057.jpg new file mode 100644 index 0000000..635797b Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00057.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00058.jpg b/inference_output_dcnv2/landmarks/image00058.jpg new file mode 100644 index 0000000..9e6dd31 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00058.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00059.jpg b/inference_output_dcnv2/landmarks/image00059.jpg new file mode 100644 index 0000000..20f4f54 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00059.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00060.jpg b/inference_output_dcnv2/landmarks/image00060.jpg new file mode 100644 index 0000000..c10b3d6 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00060.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00061.jpg b/inference_output_dcnv2/landmarks/image00061.jpg new file mode 100644 index 0000000..a8a1416 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00061.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00062.jpg b/inference_output_dcnv2/landmarks/image00062.jpg new file mode 100644 index 0000000..9005048 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00062.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00063.jpg b/inference_output_dcnv2/landmarks/image00063.jpg new file mode 100644 index 0000000..bff9606 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00063.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00064.jpg b/inference_output_dcnv2/landmarks/image00064.jpg new file mode 100644 index 0000000..7464127 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00064.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00065.jpg b/inference_output_dcnv2/landmarks/image00065.jpg new file mode 100644 index 0000000..29a3776 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00065.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00066.jpg b/inference_output_dcnv2/landmarks/image00066.jpg new file mode 100644 index 0000000..f3b3d30 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00066.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00067.jpg b/inference_output_dcnv2/landmarks/image00067.jpg new file mode 100644 index 0000000..b087984 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00067.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00070.jpg b/inference_output_dcnv2/landmarks/image00070.jpg new file mode 100644 index 0000000..a90638a Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00070.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00072.jpg b/inference_output_dcnv2/landmarks/image00072.jpg new file mode 100644 index 0000000..2d3e6fb Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00072.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00074.jpg b/inference_output_dcnv2/landmarks/image00074.jpg new file mode 100644 index 0000000..e8360f6 Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00074.jpg differ diff --git a/inference_output_dcnv2/landmarks/image00075.jpg b/inference_output_dcnv2/landmarks/image00075.jpg new file mode 100644 index 0000000..ced611e Binary files /dev/null and b/inference_output_dcnv2/landmarks/image00075.jpg differ diff --git a/inference_output_dcnv2/poses/image00002.jpg b/inference_output_dcnv2/poses/image00002.jpg new file mode 100644 index 0000000..070b0a1 Binary files /dev/null and b/inference_output_dcnv2/poses/image00002.jpg differ diff --git a/inference_output_dcnv2/poses/image00004.jpg b/inference_output_dcnv2/poses/image00004.jpg new file mode 100644 index 0000000..4df3a5f Binary files /dev/null and b/inference_output_dcnv2/poses/image00004.jpg differ diff --git a/inference_output_dcnv2/poses/image00006.jpg b/inference_output_dcnv2/poses/image00006.jpg new file mode 100644 index 0000000..509e42b Binary files /dev/null and b/inference_output_dcnv2/poses/image00006.jpg differ diff --git a/inference_output_dcnv2/poses/image00008.jpg b/inference_output_dcnv2/poses/image00008.jpg new file mode 100644 index 0000000..fbf59a6 Binary files /dev/null and b/inference_output_dcnv2/poses/image00008.jpg differ diff --git a/inference_output_dcnv2/poses/image00010.jpg b/inference_output_dcnv2/poses/image00010.jpg new file mode 100644 index 0000000..15ffc68 Binary files /dev/null and b/inference_output_dcnv2/poses/image00010.jpg differ diff --git a/inference_output_dcnv2/poses/image00013.jpg b/inference_output_dcnv2/poses/image00013.jpg new file mode 100644 index 0000000..892a4c8 Binary files /dev/null and b/inference_output_dcnv2/poses/image00013.jpg differ diff --git a/inference_output_dcnv2/poses/image00014.jpg b/inference_output_dcnv2/poses/image00014.jpg new file mode 100644 index 0000000..e3896bf Binary files /dev/null and b/inference_output_dcnv2/poses/image00014.jpg differ diff --git a/inference_output_dcnv2/poses/image00019.jpg b/inference_output_dcnv2/poses/image00019.jpg new file mode 100644 index 0000000..c86f973 Binary files /dev/null and b/inference_output_dcnv2/poses/image00019.jpg differ diff --git a/inference_output_dcnv2/poses/image00020.jpg b/inference_output_dcnv2/poses/image00020.jpg new file mode 100644 index 0000000..06c3ee7 Binary files /dev/null and b/inference_output_dcnv2/poses/image00020.jpg differ diff --git a/inference_output_dcnv2/poses/image00021.jpg b/inference_output_dcnv2/poses/image00021.jpg new file mode 100644 index 0000000..60aaa71 Binary files /dev/null and b/inference_output_dcnv2/poses/image00021.jpg differ diff --git a/inference_output_dcnv2/poses/image00022.jpg b/inference_output_dcnv2/poses/image00022.jpg new file mode 100644 index 0000000..f43abb9 Binary files /dev/null and b/inference_output_dcnv2/poses/image00022.jpg differ diff --git a/inference_output_dcnv2/poses/image00023.jpg b/inference_output_dcnv2/poses/image00023.jpg new file mode 100644 index 0000000..a48b3ab Binary files /dev/null and b/inference_output_dcnv2/poses/image00023.jpg differ diff --git a/inference_output_dcnv2/poses/image00026.jpg b/inference_output_dcnv2/poses/image00026.jpg new file mode 100644 index 0000000..7501ac5 Binary files /dev/null and b/inference_output_dcnv2/poses/image00026.jpg differ diff --git a/inference_output_dcnv2/poses/image00028.jpg b/inference_output_dcnv2/poses/image00028.jpg new file mode 100644 index 0000000..2dd79a1 Binary files /dev/null and b/inference_output_dcnv2/poses/image00028.jpg differ diff --git a/inference_output_dcnv2/poses/image00032.jpg b/inference_output_dcnv2/poses/image00032.jpg new file mode 100644 index 0000000..25617a8 Binary files /dev/null and b/inference_output_dcnv2/poses/image00032.jpg differ diff --git a/inference_output_dcnv2/poses/image00035.jpg b/inference_output_dcnv2/poses/image00035.jpg new file mode 100644 index 0000000..faeb304 Binary files /dev/null and b/inference_output_dcnv2/poses/image00035.jpg differ diff --git a/inference_output_dcnv2/poses/image00036.jpg b/inference_output_dcnv2/poses/image00036.jpg new file mode 100644 index 0000000..b675cd9 Binary files /dev/null and b/inference_output_dcnv2/poses/image00036.jpg differ diff --git a/inference_output_dcnv2/poses/image00039.jpg b/inference_output_dcnv2/poses/image00039.jpg new file mode 100644 index 0000000..f52b662 Binary files /dev/null and b/inference_output_dcnv2/poses/image00039.jpg differ diff --git a/inference_output_dcnv2/poses/image00040.jpg b/inference_output_dcnv2/poses/image00040.jpg new file mode 100644 index 0000000..a6212db Binary files /dev/null and b/inference_output_dcnv2/poses/image00040.jpg differ diff --git a/inference_output_dcnv2/poses/image00041.jpg b/inference_output_dcnv2/poses/image00041.jpg new file mode 100644 index 0000000..f49baf7 Binary files /dev/null and b/inference_output_dcnv2/poses/image00041.jpg differ diff --git a/inference_output_dcnv2/poses/image00042.jpg b/inference_output_dcnv2/poses/image00042.jpg new file mode 100644 index 0000000..acbf291 Binary files /dev/null and b/inference_output_dcnv2/poses/image00042.jpg differ diff --git a/inference_output_dcnv2/poses/image00043.jpg b/inference_output_dcnv2/poses/image00043.jpg new file mode 100644 index 0000000..fb1f82d Binary files /dev/null and b/inference_output_dcnv2/poses/image00043.jpg differ diff --git a/inference_output_dcnv2/poses/image00044.jpg b/inference_output_dcnv2/poses/image00044.jpg new file mode 100644 index 0000000..19b4d2b Binary files /dev/null and b/inference_output_dcnv2/poses/image00044.jpg differ diff --git a/inference_output_dcnv2/poses/image00045.jpg b/inference_output_dcnv2/poses/image00045.jpg new file mode 100644 index 0000000..e01f462 Binary files /dev/null and b/inference_output_dcnv2/poses/image00045.jpg differ diff --git a/inference_output_dcnv2/poses/image00046.jpg b/inference_output_dcnv2/poses/image00046.jpg new file mode 100644 index 0000000..85ed2ad Binary files /dev/null and b/inference_output_dcnv2/poses/image00046.jpg differ diff --git a/inference_output_dcnv2/poses/image00047.jpg b/inference_output_dcnv2/poses/image00047.jpg new file mode 100644 index 0000000..5732b57 Binary files /dev/null and b/inference_output_dcnv2/poses/image00047.jpg differ diff --git a/inference_output_dcnv2/poses/image00048.jpg b/inference_output_dcnv2/poses/image00048.jpg new file mode 100644 index 0000000..73d2810 Binary files /dev/null and b/inference_output_dcnv2/poses/image00048.jpg differ diff --git a/inference_output_dcnv2/poses/image00049.jpg b/inference_output_dcnv2/poses/image00049.jpg new file mode 100644 index 0000000..5a9ce8a Binary files /dev/null and b/inference_output_dcnv2/poses/image00049.jpg differ diff --git a/inference_output_dcnv2/poses/image00050.jpg b/inference_output_dcnv2/poses/image00050.jpg new file mode 100644 index 0000000..fab67bc Binary files /dev/null and b/inference_output_dcnv2/poses/image00050.jpg differ diff --git a/inference_output_dcnv2/poses/image00051.jpg b/inference_output_dcnv2/poses/image00051.jpg new file mode 100644 index 0000000..5c9ecf9 Binary files /dev/null and b/inference_output_dcnv2/poses/image00051.jpg differ diff --git a/inference_output_dcnv2/poses/image00052.jpg b/inference_output_dcnv2/poses/image00052.jpg new file mode 100644 index 0000000..5f36007 Binary files /dev/null and b/inference_output_dcnv2/poses/image00052.jpg differ diff --git a/inference_output_dcnv2/poses/image00053.jpg b/inference_output_dcnv2/poses/image00053.jpg new file mode 100644 index 0000000..50b648a Binary files /dev/null and b/inference_output_dcnv2/poses/image00053.jpg differ diff --git a/inference_output_dcnv2/poses/image00054.jpg b/inference_output_dcnv2/poses/image00054.jpg new file mode 100644 index 0000000..5712541 Binary files /dev/null and b/inference_output_dcnv2/poses/image00054.jpg differ diff --git a/inference_output_dcnv2/poses/image00055.jpg b/inference_output_dcnv2/poses/image00055.jpg new file mode 100644 index 0000000..373848c Binary files /dev/null and b/inference_output_dcnv2/poses/image00055.jpg differ diff --git a/inference_output_dcnv2/poses/image00056.jpg b/inference_output_dcnv2/poses/image00056.jpg new file mode 100644 index 0000000..a9ec981 Binary files /dev/null and b/inference_output_dcnv2/poses/image00056.jpg differ diff --git a/inference_output_dcnv2/poses/image00057.jpg b/inference_output_dcnv2/poses/image00057.jpg new file mode 100644 index 0000000..c2b8aa1 Binary files /dev/null and b/inference_output_dcnv2/poses/image00057.jpg differ diff --git a/inference_output_dcnv2/poses/image00058.jpg b/inference_output_dcnv2/poses/image00058.jpg new file mode 100644 index 0000000..6a2d4a0 Binary files /dev/null and b/inference_output_dcnv2/poses/image00058.jpg differ diff --git a/inference_output_dcnv2/poses/image00059.jpg b/inference_output_dcnv2/poses/image00059.jpg new file mode 100644 index 0000000..9f8358d Binary files /dev/null and b/inference_output_dcnv2/poses/image00059.jpg differ diff --git a/inference_output_dcnv2/poses/image00060.jpg b/inference_output_dcnv2/poses/image00060.jpg new file mode 100644 index 0000000..6b57512 Binary files /dev/null and b/inference_output_dcnv2/poses/image00060.jpg differ diff --git a/inference_output_dcnv2/poses/image00061.jpg b/inference_output_dcnv2/poses/image00061.jpg new file mode 100644 index 0000000..56c3dbc Binary files /dev/null and b/inference_output_dcnv2/poses/image00061.jpg differ diff --git a/inference_output_dcnv2/poses/image00062.jpg b/inference_output_dcnv2/poses/image00062.jpg new file mode 100644 index 0000000..7432650 Binary files /dev/null and b/inference_output_dcnv2/poses/image00062.jpg differ diff --git a/inference_output_dcnv2/poses/image00063.jpg b/inference_output_dcnv2/poses/image00063.jpg new file mode 100644 index 0000000..0169949 Binary files /dev/null and b/inference_output_dcnv2/poses/image00063.jpg differ diff --git a/inference_output_dcnv2/poses/image00064.jpg b/inference_output_dcnv2/poses/image00064.jpg new file mode 100644 index 0000000..8114ad7 Binary files /dev/null and b/inference_output_dcnv2/poses/image00064.jpg differ diff --git a/inference_output_dcnv2/poses/image00065.jpg b/inference_output_dcnv2/poses/image00065.jpg new file mode 100644 index 0000000..e271d5f Binary files /dev/null and b/inference_output_dcnv2/poses/image00065.jpg differ diff --git a/inference_output_dcnv2/poses/image00066.jpg b/inference_output_dcnv2/poses/image00066.jpg new file mode 100644 index 0000000..8e5bb25 Binary files /dev/null and b/inference_output_dcnv2/poses/image00066.jpg differ diff --git a/inference_output_dcnv2/poses/image00067.jpg b/inference_output_dcnv2/poses/image00067.jpg new file mode 100644 index 0000000..d225dee Binary files /dev/null and b/inference_output_dcnv2/poses/image00067.jpg differ diff --git a/inference_output_dcnv2/poses/image00070.jpg b/inference_output_dcnv2/poses/image00070.jpg new file mode 100644 index 0000000..e882e06 Binary files /dev/null and b/inference_output_dcnv2/poses/image00070.jpg differ diff --git a/inference_output_dcnv2/poses/image00072.jpg b/inference_output_dcnv2/poses/image00072.jpg new file mode 100644 index 0000000..f4599e0 Binary files /dev/null and b/inference_output_dcnv2/poses/image00072.jpg differ diff --git a/inference_output_dcnv2/poses/image00074.jpg b/inference_output_dcnv2/poses/image00074.jpg new file mode 100644 index 0000000..9af8b17 Binary files /dev/null and b/inference_output_dcnv2/poses/image00074.jpg differ diff --git a/inference_output_dcnv2/poses/image00075.jpg b/inference_output_dcnv2/poses/image00075.jpg new file mode 100644 index 0000000..113a59c Binary files /dev/null and b/inference_output_dcnv2/poses/image00075.jpg differ diff --git a/main_train.py b/main_train.py index 8991e95..26587a0 100644 --- a/main_train.py +++ b/main_train.py @@ -4,7 +4,7 @@ import os.path as osp from pathlib import Path import numpy as np -import argparse +import argparse import time import logging @@ -118,11 +118,15 @@ def train(train_loader, model, optimizer, epoch, lr): input = input.cuda(non_blocking=True) target = target[:,:62] - target.requires_grad = False + target.requires_grad = False target = target.float().cuda(non_blocking=True) - + losses = model(input, target) + #print(losses) + + #ok, so already at this point losses is incorrect + data_time.update(time.time() - end) loss_total = 0 @@ -132,7 +136,7 @@ def train(train_loader, model, optimizer, epoch, lr): loss_total += mean_loss losses_meter[j+1].update(loss_total, input.size(0)) - + ### compute gradient and do SGD step optimizer.zero_grad() loss_total.backward() @@ -189,7 +193,7 @@ def main(): logging.info(f'=> loading checkpoint {args.resume}') checkpoint = torch.load(args.resume, map_location=lambda storage, loc: storage)['state_dict'] model.load_state_dict(checkpoint, strict=False) - + else: logging.info(f'=> no checkpoint found at {args.resume}') @@ -207,13 +211,13 @@ def main(): train_loader = DataLoader(train_dataset, batch_size=args.batch_size, num_workers=args.workers, shuffle=True, pin_memory=True, drop_last=True) - + # step4: run cudnn.benchmark = True if args.test_initial: # if testing the performance from the initial logging.info('Testing from initial') benchmark_pipeline(model) - + for epoch in range(args.start_epoch, args.epochs + 1): # adjust learning rate diff --git a/model_building.py b/model_building.py index fc43bb3..c7ef8c8 100755 --- a/model_building.py +++ b/model_building.py @@ -12,151 +12,159 @@ from backbone_nets import mobilenetv1_backbone from backbone_nets import mobilenetv2_backbone from backbone_nets import ghostnet_backbone +from backbone_nets import dcnv2 +from backbone_nets import dcnv1 from backbone_nets.pointnet_backbone import MLP_for, MLP_rev from loss_definition import ParamLoss, WingLoss import time def parse_param_62(param): - """Work for only tensor""" - p_ = param[:, :12].reshape(-1, 3, 4) - p = p_[:, :, :3] - offset = p_[:, :, -1].reshape(-1, 3, 1) - alpha_shp = param[:, 12:52].reshape(-1, 40, 1) - alpha_exp = param[:, 52:62].reshape(-1, 10, 1) - return p, offset, alpha_shp, alpha_exp + """Work for only tensor""" + p_ = param[:, :12].reshape(-1, 3, 4) + p = p_[:, :, :3] + offset = p_[:, :, -1].reshape(-1, 3, 1) + alpha_shp = param[:, 12:52].reshape(-1, 40, 1) + alpha_exp = param[:, 52:62].reshape(-1, 10, 1) + return p, offset, alpha_shp, alpha_exp # Image-to-parameter class I2P(nn.Module): - def __init__(self, args): - super(I2P, self).__init__() - self.args = args - # backbone definition - if 'mobilenet_v2' in self.args.arch: - self.backbone = getattr(mobilenetv2_backbone, args.arch)(pretrained=False) - elif 'mobilenet' in self.args.arch: - self.backbone = getattr(mobilenetv1_backbone, args.arch)() - elif 'resnet' in self.args.arch: - self.backbone = getattr(resnet_backbone, args.arch)(pretrained=False) - elif 'ghostnet' in self.args.arch: - self.backbone = getattr(ghostnet_backbone, args.arch)() - else: - raise RuntimeError("Please choose [mobilenet_v2, mobilenet_1, resnet50, or ghostnet]") - - def forward(self,input, target): - """Training time forward""" - _3D_attr, avgpool = self.backbone(input) - _3D_attr_GT = target.type(torch.cuda.FloatTensor) - return _3D_attr, _3D_attr_GT, avgpool - - def forward_test(self, input): - """ Testing time forward.""" - _3D_attr, avgpool = self.backbone(input) - return _3D_attr, avgpool + def __init__(self, args): + super(I2P, self).__init__() + self.args = args + # backbone definition + if 'mobilenet_v2' in self.args.arch: + self.backbone = getattr(mobilenetv2_backbone, args.arch)(pretrained=False) + elif 'mobilenet' in self.args.arch: + self.backbone = getattr(mobilenetv1_backbone, args.arch)() + elif 'resnet' in self.args.arch: + self.backbone = getattr(resnet_backbone, args.arch)(pretrained=False) + elif 'ghostnet' in self.args.arch: + self.backbone = getattr(ghostnet_backbone, args.arch)() + elif 'dcnv2' in self.args.arch: + self.backbone = getattr(dcnv2, args.arch)(pretrained=False) + elif 'dcnv1' in self.args.arch: + self.backbone = getattr(dcnv1, args.arch)(pretrained=False) + else: + raise RuntimeError("Please choose [mobilenet_v2, mobilenet_1, resnet50, ghostnet, dcnv1, or dcnv2]") + + def forward(self,input, target): + """Training time forward""" + _3D_attr, avgpool = self.backbone(input) + _3D_attr_GT = target.type(torch.FloatTensor)#.cuda() + return _3D_attr, _3D_attr_GT, avgpool + + def forward_test(self, input): + """ Testing time forward.""" + _3D_attr, avgpool = self.backbone(input) + return _3D_attr, avgpool # Main model SynergyNet definition class SynergyNet(nn.Module): - def __init__(self, args): - super(SynergyNet, self).__init__() - self.triangles = sio.loadmat('./3dmm_data/tri.mat')['tri'] -1 - self.triangles = torch.Tensor(self.triangles.astype(np.int)).long().cuda() - self.img_size = args.img_size - # Image-to-parameter - self.I2P = I2P(args) - # Forward - self.forwardDirection = MLP_for(68) - # Reverse - self.reverseDirection = MLP_rev(68) - self.LMKLoss_3D = WingLoss() - self.ParamLoss = ParamLoss() - - self.loss = {'loss_LMK_f0':0.0, - 'loss_LMK_pointNet': 0.0, - 'loss_Param_In':0.0, - 'loss_Param_S2': 0.0, - 'loss_Param_S1S2': 0.0, - } - - self.register_buffer('param_mean', torch.Tensor(param_pack.param_mean).cuda(non_blocking=True)) - self.register_buffer('param_std', torch.Tensor(param_pack.param_std).cuda(non_blocking=True)) - self.register_buffer('w_shp', torch.Tensor(param_pack.w_shp).cuda(non_blocking=True)) - self.register_buffer('u', torch.Tensor(param_pack.u).cuda(non_blocking=True)) - self.register_buffer('w_exp', torch.Tensor(param_pack.w_exp).cuda(non_blocking=True)) - - # If doing only offline evaluation, use these - # self.u_base = torch.Tensor(param_pack.u_base).cuda(non_blocking=True) - # self.w_shp_base = torch.Tensor(param_pack.w_shp_base).cuda(non_blocking=True) - # self.w_exp_base = torch.Tensor(param_pack.w_exp_base).cuda(non_blocking=True) - - # Online training needs these to parallel - self.register_buffer('u_base', torch.Tensor(param_pack.u_base).cuda(non_blocking=True)) - self.register_buffer('w_shp_base', torch.Tensor(param_pack.w_shp_base).cuda(non_blocking=True)) - self.register_buffer('w_exp_base', torch.Tensor(param_pack.w_exp_base).cuda(non_blocking=True)) - self.keypoints = torch.Tensor(param_pack.keypoints).long() - - self.data_param = [self.param_mean, self.param_std, self.w_shp_base, self.u_base, self.w_exp_base] - - def reconstruct_vertex_62(self, param, whitening=True, dense=False, transform=True, lmk_pts=68): - """ - Whitening param -> 3d vertex, based on the 3dmm param: u_base, w_shp, w_exp - dense: if True, return dense vertex, else return 68 sparse landmarks. All dense or sparse vertex is transformed to - image coordinate space, but without alignment caused by face cropping. - transform: whether transform to image space - Working with batched tensors. Using Fortan-type reshape. - """ - - if whitening: - if param.shape[1] == 62: - param_ = param * self.param_std[:62] + self.param_mean[:62] - else: - raise RuntimeError('length of params mismatch') - - p, offset, alpha_shp, alpha_exp = parse_param_62(param_) - - if dense: - - vertex = p @ (self.u + self.w_shp @ alpha_shp + self.w_exp @ alpha_exp).contiguous().view(-1, 53215, 3).transpose(1,2) + offset - - if transform: - # transform to image coordinate space - vertex[:, 1, :] = param_pack.std_size + 1 - vertex[:, 1, :] - - else: - """For 68 pts""" - vertex = p @ (self.u_base + self.w_shp_base @ alpha_shp + self.w_exp_base @ alpha_exp).contiguous().view(-1, lmk_pts, 3).transpose(1,2) + offset - - if transform: - # transform to image coordinate space - vertex[:, 1, :] = param_pack.std_size + 1 - vertex[:, 1, :] - - return vertex - - def forward(self, input, target): - _3D_attr, _3D_attr_GT, avgpool = self.I2P(input, target) - - vertex_lmk = self.reconstruct_vertex_62(_3D_attr, dense=False) - vertex_GT_lmk = self.reconstruct_vertex_62(_3D_attr_GT, dense=False) - self.loss['loss_LMK_f0'] = 0.05 *self.LMKLoss_3D(vertex_lmk, vertex_GT_lmk, kp=True) - self.loss['loss_Param_In'] = 0.02 * self.ParamLoss(_3D_attr, _3D_attr_GT) - - point_residual = self.forwardDirection(vertex_lmk, avgpool, _3D_attr[:,12:52], _3D_attr[:,52:62]) - vertex_lmk = vertex_lmk + 0.05 * point_residual - self.loss['loss_LMK_pointNet'] = 0.05 * self.LMKLoss_3D(vertex_lmk, vertex_GT_lmk, kp=True) - - _3D_attr_S2 = self.reverseDirection(vertex_lmk) - self.loss['loss_Param_S2'] = 0.02 * self.ParamLoss(_3D_attr_S2, _3D_attr_GT, mode='only_3dmm') - self.loss['loss_Param_S1S2'] = 0.001 * self.ParamLoss(_3D_attr_S2, _3D_attr, mode='only_3dmm') - - return self.loss - - def forward_test(self, input): - """test time forward""" - _3D_attr, _ = self.I2P.forward_test(input) - return _3D_attr - - def get_losses(self): - return self.loss.keys() + def __init__(self, args): + super(SynergyNet, self).__init__() + self.triangles = sio.loadmat('./3dmm_data/tri.mat')['tri'] -1 + self.triangles = torch.Tensor(self.triangles.astype(int)).long()#.cuda() + self.img_size = args.img_size + # Image-to-parameter + self.I2P = I2P(args) + # Forward + self.forwardDirection = MLP_for(68) + # Reverse + self.reverseDirection = MLP_rev(68) + self.LMKLoss_3D = WingLoss() + self.ParamLoss = ParamLoss() + + self.loss = {'loss_LMK_f0':0.0, + # 'loss_LMK_pointNet': 0.0, + 'loss_Param_In':0.0, + # 'loss_Param_S2': 0.0, + # 'loss_Param_S1S2': 0.0, + } + + self.register_buffer('param_mean', torch.Tensor(param_pack.param_mean))#.cuda(non_blocking=True)) + self.register_buffer('param_std', torch.Tensor(param_pack.param_std))#.cuda(non_blocking=True)) + self.register_buffer('w_shp', torch.Tensor(param_pack.w_shp))#.cuda(non_blocking=True)) + self.register_buffer('u', torch.Tensor(param_pack.u))#.cuda(non_blocking=True)) + self.register_buffer('w_exp', torch.Tensor(param_pack.w_exp))#.cuda(non_blocking=True)) + + # If doing only offline evaluation, use these + # self.u_base = torch.Tensor(param_pack.u_base).cuda(non_blocking=True) + # self.w_shp_base = torch.Tensor(param_pack.w_shp_base).cuda(non_blocking=True) + # self.w_exp_base = torch.Tensor(param_pack.w_exp_base).cuda(non_blocking=True) + + # Online training needs these to parallel + self.register_buffer('u_base', torch.Tensor(param_pack.u_base))#cuda(non_blocking=True)) + self.register_buffer('w_shp_base', torch.Tensor(param_pack.w_shp_base))#cuda(non_blocking=True)) + self.register_buffer('w_exp_base', torch.Tensor(param_pack.w_exp_base))#cuda(non_blocking=True)) + self.keypoints = torch.Tensor(param_pack.keypoints).long() + + self.data_param = [self.param_mean, self.param_std, self.w_shp_base, self.u_base, self.w_exp_base] + + def reconstruct_vertex_62(self, param, whitening=True, dense=False, transform=True, lmk_pts=68): + """ + Whitening param -> 3d vertex, based on the 3dmm param: u_base, w_shp, w_exp + dense: if True, return dense vertex, else return 68 sparse landmarks. All dense or sparse vertex is transformed to + image coordinate space, but without alignment caused by face cropping. + transform: whether transform to image space + Working with batched tensors. Using Fortan-type reshape. + """ + + if whitening: + if param.shape[1] == 62: + param_ = param * self.param_std[:62] + self.param_mean[:62] + else: + raise RuntimeError('length of params mismatch') + + p, offset, alpha_shp, alpha_exp = parse_param_62(param_) + + if dense: + + vertex = p @ (self.u + self.w_shp @ alpha_shp + self.w_exp @ alpha_exp).contiguous().view(-1, 53215, 3).transpose(1,2) + offset + + if transform: + # transform to image coordinate space + vertex[:, 1, :] = param_pack.std_size + 1 - vertex[:, 1, :] + + else: + """For 68 pts""" + vertex = p @ (self.u_base + self.w_shp_base @ alpha_shp + self.w_exp_base @ alpha_exp).contiguous().view(-1, lmk_pts, 3).transpose(1,2) + offset + + if transform: + # transform to image coordinate space + vertex[:, 1, :] = param_pack.std_size + 1 - vertex[:, 1, :] + + return vertex + + def forward(self, input, target): + _3D_attr, _3D_attr_GT, avgpool = self.I2P(input, target) + + vertex_lmk = self.reconstruct_vertex_62(_3D_attr, dense=False) + vertex_GT_lmk = self.reconstruct_vertex_62(_3D_attr_GT, dense=False) + self.loss['loss_LMK_f0'] = 0.05 *self.LMKLoss_3D(vertex_lmk, vertex_GT_lmk, kp=True) + self.loss['loss_Param_In'] = 0.02 * self.ParamLoss(_3D_attr, _3D_attr_GT) + + """ + point_residual = self.forwardDirection(vertex_lmk, avgpool, _3D_attr[:,12:52], _3D_attr[:,52:62]) + vertex_lmk = vertex_lmk + 0.05 * point_residual + self.loss['loss_LMK_pointNet'] = 0.05 * self.LMKLoss_3D(vertex_lmk, vertex_GT_lmk, kp=True) + + _3D_attr_S2 = self.reverseDirection(vertex_lmk) + self.loss['loss_Param_S2'] = 0.02 * self.ParamLoss(_3D_attr_S2, _3D_attr_GT, mode='only_3dmm') + self.loss['loss_Param_S1S2'] = 0.001 * self.ParamLoss(_3D_attr_S2, _3D_attr, mode='only_3dmm') + """ + + return self.loss + + def forward_test(self, input): + """test time forward""" + _3D_attr, _ = self.I2P.forward_test(input) + return _3D_attr + + def get_losses(self): + return self.loss.keys() if __name__ == '__main__': - pass \ No newline at end of file + pass diff --git a/pretrained/__init__.py b/pretrained/__init__.py deleted file mode 100755 index e69de29..0000000 diff --git a/results/0.png b/results/0.png new file mode 100644 index 0000000..1c8b8e4 Binary files /dev/null and b/results/0.png differ diff --git a/results/1.png b/results/1.png new file mode 100644 index 0000000..30fff34 Binary files /dev/null and b/results/1.png differ diff --git a/results/10.png b/results/10.png new file mode 100644 index 0000000..0dd4cee Binary files /dev/null and b/results/10.png differ diff --git a/results/11.png b/results/11.png new file mode 100644 index 0000000..a6abe8d Binary files /dev/null and b/results/11.png differ diff --git a/results/12.png b/results/12.png new file mode 100644 index 0000000..00d878a Binary files /dev/null and b/results/12.png differ diff --git a/results/13.png b/results/13.png new file mode 100644 index 0000000..c332639 Binary files /dev/null and b/results/13.png differ diff --git a/results/14.png b/results/14.png new file mode 100644 index 0000000..a536933 Binary files /dev/null and b/results/14.png differ diff --git a/results/15.png b/results/15.png new file mode 100644 index 0000000..32d0f63 Binary files /dev/null and b/results/15.png differ diff --git a/results/16.png b/results/16.png new file mode 100644 index 0000000..1653e2f Binary files /dev/null and b/results/16.png differ diff --git a/results/17.png b/results/17.png new file mode 100644 index 0000000..cc299da Binary files /dev/null and b/results/17.png differ diff --git a/results/18.png b/results/18.png new file mode 100644 index 0000000..0fbe95a Binary files /dev/null and b/results/18.png differ diff --git a/results/19.png b/results/19.png new file mode 100644 index 0000000..dcca7eb Binary files /dev/null and b/results/19.png differ diff --git a/results/2.png b/results/2.png new file mode 100644 index 0000000..3d52e36 Binary files /dev/null and b/results/2.png differ diff --git a/results/20.png b/results/20.png new file mode 100644 index 0000000..a153d02 Binary files /dev/null and b/results/20.png differ diff --git a/results/21.png b/results/21.png new file mode 100644 index 0000000..1d7e834 Binary files /dev/null and b/results/21.png differ diff --git a/results/22.png b/results/22.png new file mode 100644 index 0000000..7785bed Binary files /dev/null and b/results/22.png differ diff --git a/results/23.png b/results/23.png new file mode 100644 index 0000000..3190d38 Binary files /dev/null and b/results/23.png differ diff --git a/results/24.png b/results/24.png new file mode 100644 index 0000000..e7cf75d Binary files /dev/null and b/results/24.png differ diff --git a/results/25.png b/results/25.png new file mode 100644 index 0000000..532bc12 Binary files /dev/null and b/results/25.png differ diff --git a/results/26.png b/results/26.png new file mode 100644 index 0000000..0841d19 Binary files /dev/null and b/results/26.png differ diff --git a/results/27.png b/results/27.png new file mode 100644 index 0000000..e8866fd Binary files /dev/null and b/results/27.png differ diff --git a/results/28.png b/results/28.png new file mode 100644 index 0000000..14e1e75 Binary files /dev/null and b/results/28.png differ diff --git a/results/29.png b/results/29.png new file mode 100644 index 0000000..097f519 Binary files /dev/null and b/results/29.png differ diff --git a/results/3.png b/results/3.png new file mode 100644 index 0000000..1bf5ee1 Binary files /dev/null and b/results/3.png differ diff --git a/results/30.png b/results/30.png new file mode 100644 index 0000000..d7f5384 Binary files /dev/null and b/results/30.png differ diff --git a/results/31.png b/results/31.png new file mode 100644 index 0000000..94013c1 Binary files /dev/null and b/results/31.png differ diff --git a/results/32.png b/results/32.png new file mode 100644 index 0000000..cde188e Binary files /dev/null and b/results/32.png differ diff --git a/results/33.png b/results/33.png new file mode 100644 index 0000000..eb11012 Binary files /dev/null and b/results/33.png differ diff --git a/results/34.png b/results/34.png new file mode 100644 index 0000000..0dc90c5 Binary files /dev/null and b/results/34.png differ diff --git a/results/35.png b/results/35.png new file mode 100644 index 0000000..3d85f58 Binary files /dev/null and b/results/35.png differ diff --git a/results/36.png b/results/36.png new file mode 100644 index 0000000..1419881 Binary files /dev/null and b/results/36.png differ diff --git a/results/37.png b/results/37.png new file mode 100644 index 0000000..828b5db Binary files /dev/null and b/results/37.png differ diff --git a/results/38.png b/results/38.png new file mode 100644 index 0000000..6f5af29 Binary files /dev/null and b/results/38.png differ diff --git a/results/39.png b/results/39.png new file mode 100644 index 0000000..e4f492a Binary files /dev/null and b/results/39.png differ diff --git a/results/4.png b/results/4.png new file mode 100644 index 0000000..0a5ce39 Binary files /dev/null and b/results/4.png differ diff --git a/results/40.png b/results/40.png new file mode 100644 index 0000000..3f169fe Binary files /dev/null and b/results/40.png differ diff --git a/results/41.png b/results/41.png new file mode 100644 index 0000000..0033258 Binary files /dev/null and b/results/41.png differ diff --git a/results/42.png b/results/42.png new file mode 100644 index 0000000..c87f758 Binary files /dev/null and b/results/42.png differ diff --git a/results/43.png b/results/43.png new file mode 100644 index 0000000..165a966 Binary files /dev/null and b/results/43.png differ diff --git a/results/44.png b/results/44.png new file mode 100644 index 0000000..ba0797f Binary files /dev/null and b/results/44.png differ diff --git a/results/45.png b/results/45.png new file mode 100644 index 0000000..0cc0978 Binary files /dev/null and b/results/45.png differ diff --git a/results/46.png b/results/46.png new file mode 100644 index 0000000..7b147cb Binary files /dev/null and b/results/46.png differ diff --git a/results/47.png b/results/47.png new file mode 100644 index 0000000..5ce1dd8 Binary files /dev/null and b/results/47.png differ diff --git a/results/48.png b/results/48.png new file mode 100644 index 0000000..9ee7e72 Binary files /dev/null and b/results/48.png differ diff --git a/results/49.png b/results/49.png new file mode 100644 index 0000000..2f64008 Binary files /dev/null and b/results/49.png differ diff --git a/results/5.png b/results/5.png new file mode 100644 index 0000000..c355afc Binary files /dev/null and b/results/5.png differ diff --git a/results/6.png b/results/6.png new file mode 100644 index 0000000..cb273c3 Binary files /dev/null and b/results/6.png differ diff --git a/results/7.png b/results/7.png new file mode 100644 index 0000000..4d23ede Binary files /dev/null and b/results/7.png differ diff --git a/results/8.png b/results/8.png new file mode 100644 index 0000000..583d86a Binary files /dev/null and b/results/8.png differ diff --git a/results/9.png b/results/9.png new file mode 100644 index 0000000..2659f4f Binary files /dev/null and b/results/9.png differ diff --git a/results_dcnv2/0.png b/results_dcnv2/0.png new file mode 100644 index 0000000..7bc62a5 Binary files /dev/null and b/results_dcnv2/0.png differ diff --git a/results_dcnv2/1.png b/results_dcnv2/1.png new file mode 100644 index 0000000..ea40cf8 Binary files /dev/null and b/results_dcnv2/1.png differ diff --git a/results_dcnv2/10.png b/results_dcnv2/10.png new file mode 100644 index 0000000..df15094 Binary files /dev/null and b/results_dcnv2/10.png differ diff --git a/results_dcnv2/11.png b/results_dcnv2/11.png new file mode 100644 index 0000000..fc805e3 Binary files /dev/null and b/results_dcnv2/11.png differ diff --git a/results_dcnv2/12.png b/results_dcnv2/12.png new file mode 100644 index 0000000..0f636c7 Binary files /dev/null and b/results_dcnv2/12.png differ diff --git a/results_dcnv2/13.png b/results_dcnv2/13.png new file mode 100644 index 0000000..7000940 Binary files /dev/null and b/results_dcnv2/13.png differ diff --git a/results_dcnv2/14.png b/results_dcnv2/14.png new file mode 100644 index 0000000..69e143f Binary files /dev/null and b/results_dcnv2/14.png differ diff --git a/results_dcnv2/15.png b/results_dcnv2/15.png new file mode 100644 index 0000000..b6e70c6 Binary files /dev/null and b/results_dcnv2/15.png differ diff --git a/results_dcnv2/16.png b/results_dcnv2/16.png new file mode 100644 index 0000000..00a5bd5 Binary files /dev/null and b/results_dcnv2/16.png differ diff --git a/results_dcnv2/17.png b/results_dcnv2/17.png new file mode 100644 index 0000000..4e56e32 Binary files /dev/null and b/results_dcnv2/17.png differ diff --git a/results_dcnv2/18.png b/results_dcnv2/18.png new file mode 100644 index 0000000..098d77b Binary files /dev/null and b/results_dcnv2/18.png differ diff --git a/results_dcnv2/19.png b/results_dcnv2/19.png new file mode 100644 index 0000000..fa53a28 Binary files /dev/null and b/results_dcnv2/19.png differ diff --git a/results_dcnv2/2.png b/results_dcnv2/2.png new file mode 100644 index 0000000..5e95360 Binary files /dev/null and b/results_dcnv2/2.png differ diff --git a/results_dcnv2/20.png b/results_dcnv2/20.png new file mode 100644 index 0000000..5887dd7 Binary files /dev/null and b/results_dcnv2/20.png differ diff --git a/results_dcnv2/21.png b/results_dcnv2/21.png new file mode 100644 index 0000000..3ee4ed1 Binary files /dev/null and b/results_dcnv2/21.png differ diff --git a/results_dcnv2/22.png b/results_dcnv2/22.png new file mode 100644 index 0000000..db5d705 Binary files /dev/null and b/results_dcnv2/22.png differ diff --git a/results_dcnv2/23.png b/results_dcnv2/23.png new file mode 100644 index 0000000..5efe78e Binary files /dev/null and b/results_dcnv2/23.png differ diff --git a/results_dcnv2/24.png b/results_dcnv2/24.png new file mode 100644 index 0000000..501f72c Binary files /dev/null and b/results_dcnv2/24.png differ diff --git a/results_dcnv2/25.png b/results_dcnv2/25.png new file mode 100644 index 0000000..6806c10 Binary files /dev/null and b/results_dcnv2/25.png differ diff --git a/results_dcnv2/26.png b/results_dcnv2/26.png new file mode 100644 index 0000000..b181411 Binary files /dev/null and b/results_dcnv2/26.png differ diff --git a/results_dcnv2/27.png b/results_dcnv2/27.png new file mode 100644 index 0000000..51bf34a Binary files /dev/null and b/results_dcnv2/27.png differ diff --git a/results_dcnv2/28.png b/results_dcnv2/28.png new file mode 100644 index 0000000..d20c940 Binary files /dev/null and b/results_dcnv2/28.png differ diff --git a/results_dcnv2/29.png b/results_dcnv2/29.png new file mode 100644 index 0000000..c0d0abf Binary files /dev/null and b/results_dcnv2/29.png differ diff --git a/results_dcnv2/3.png b/results_dcnv2/3.png new file mode 100644 index 0000000..f669aa5 Binary files /dev/null and b/results_dcnv2/3.png differ diff --git a/results_dcnv2/30.png b/results_dcnv2/30.png new file mode 100644 index 0000000..3c7d9c8 Binary files /dev/null and b/results_dcnv2/30.png differ diff --git a/results_dcnv2/31.png b/results_dcnv2/31.png new file mode 100644 index 0000000..36f8876 Binary files /dev/null and b/results_dcnv2/31.png differ diff --git a/results_dcnv2/32.png b/results_dcnv2/32.png new file mode 100644 index 0000000..5c34057 Binary files /dev/null and b/results_dcnv2/32.png differ diff --git a/results_dcnv2/33.png b/results_dcnv2/33.png new file mode 100644 index 0000000..cad2dd0 Binary files /dev/null and b/results_dcnv2/33.png differ diff --git a/results_dcnv2/34.png b/results_dcnv2/34.png new file mode 100644 index 0000000..1141216 Binary files /dev/null and b/results_dcnv2/34.png differ diff --git a/results_dcnv2/35.png b/results_dcnv2/35.png new file mode 100644 index 0000000..70c1552 Binary files /dev/null and b/results_dcnv2/35.png differ diff --git a/results_dcnv2/36.png b/results_dcnv2/36.png new file mode 100644 index 0000000..065c07a Binary files /dev/null and b/results_dcnv2/36.png differ diff --git a/results_dcnv2/37.png b/results_dcnv2/37.png new file mode 100644 index 0000000..533712e Binary files /dev/null and b/results_dcnv2/37.png differ diff --git a/results_dcnv2/38.png b/results_dcnv2/38.png new file mode 100644 index 0000000..3333969 Binary files /dev/null and b/results_dcnv2/38.png differ diff --git a/results_dcnv2/39.png b/results_dcnv2/39.png new file mode 100644 index 0000000..ddbef17 Binary files /dev/null and b/results_dcnv2/39.png differ diff --git a/results_dcnv2/4.png b/results_dcnv2/4.png new file mode 100644 index 0000000..b74f081 Binary files /dev/null and b/results_dcnv2/4.png differ diff --git a/results_dcnv2/40.png b/results_dcnv2/40.png new file mode 100644 index 0000000..d8ef888 Binary files /dev/null and b/results_dcnv2/40.png differ diff --git a/results_dcnv2/41.png b/results_dcnv2/41.png new file mode 100644 index 0000000..1166519 Binary files /dev/null and b/results_dcnv2/41.png differ diff --git a/results_dcnv2/42.png b/results_dcnv2/42.png new file mode 100644 index 0000000..b3c16eb Binary files /dev/null and b/results_dcnv2/42.png differ diff --git a/results_dcnv2/43.png b/results_dcnv2/43.png new file mode 100644 index 0000000..e04242c Binary files /dev/null and b/results_dcnv2/43.png differ diff --git a/results_dcnv2/44.png b/results_dcnv2/44.png new file mode 100644 index 0000000..b4fe173 Binary files /dev/null and b/results_dcnv2/44.png differ diff --git a/results_dcnv2/45.png b/results_dcnv2/45.png new file mode 100644 index 0000000..7e92760 Binary files /dev/null and b/results_dcnv2/45.png differ diff --git a/results_dcnv2/46.png b/results_dcnv2/46.png new file mode 100644 index 0000000..7c0c730 Binary files /dev/null and b/results_dcnv2/46.png differ diff --git a/results_dcnv2/47.png b/results_dcnv2/47.png new file mode 100644 index 0000000..9d8ecf5 Binary files /dev/null and b/results_dcnv2/47.png differ diff --git a/results_dcnv2/48.png b/results_dcnv2/48.png new file mode 100644 index 0000000..a7d4c9f Binary files /dev/null and b/results_dcnv2/48.png differ diff --git a/results_dcnv2/49.png b/results_dcnv2/49.png new file mode 100644 index 0000000..c1b4c69 Binary files /dev/null and b/results_dcnv2/49.png differ diff --git a/results_dcnv2/5.png b/results_dcnv2/5.png new file mode 100644 index 0000000..d7f4306 Binary files /dev/null and b/results_dcnv2/5.png differ diff --git a/results_dcnv2/6.png b/results_dcnv2/6.png new file mode 100644 index 0000000..1934ad0 Binary files /dev/null and b/results_dcnv2/6.png differ diff --git a/results_dcnv2/7.png b/results_dcnv2/7.png new file mode 100644 index 0000000..ff31839 Binary files /dev/null and b/results_dcnv2/7.png differ diff --git a/results_dcnv2/8.png b/results_dcnv2/8.png new file mode 100644 index 0000000..8a445cd Binary files /dev/null and b/results_dcnv2/8.png differ diff --git a/results_dcnv2/9.png b/results_dcnv2/9.png new file mode 100644 index 0000000..948c637 Binary files /dev/null and b/results_dcnv2/9.png differ diff --git a/run_benchmark.sh b/run_benchmark.sh new file mode 100755 index 0000000..b3e3c2f --- /dev/null +++ b/run_benchmark.sh @@ -0,0 +1,7 @@ +# Rebase from upstream: https://stackoverflow.com/questions/7244321/how-do-i-update-or-sync-a-forked-repository-on-github + + +python3 benchmark.py \ + #-w ckpts/dcnv1_SynergyNet_checkpoint_epoch_50.pth.tar \ + #-a dcnv1 \ + -w pretrained/best.pth.tar \ diff --git a/run_render.sh b/run_render.sh new file mode 100755 index 0000000..79edfc6 --- /dev/null +++ b/run_render.sh @@ -0,0 +1,3 @@ +python singleImage.py \ + -f aflw2000_data/AFLW2000-3D_crop \ + -num_img 50 \ diff --git a/singleImage.py b/singleImage.py index 6b75127..adecf77 100644 --- a/singleImage.py +++ b/singleImage.py @@ -33,7 +33,7 @@ def main(args): model_dict[k.replace('module.', '')] = checkpoint[k] model.load_state_dict(model_dict, strict=False) - model = model.cuda() + model = model#.cuda() model.eval() # face detector @@ -48,6 +48,9 @@ def main(args): files = sorted(glob.glob(args.files+'*.jpg')) else: files = sorted(glob.glob(args.files+'*.png')) + + if args.num_img is not None: + files = files[:args.num_img] else: files = [args.files] @@ -79,7 +82,7 @@ def main(args): input = transform(img).unsqueeze(0) with torch.no_grad(): - input = input.cuda() + input = input#.cuda() param = model.forward_test(input) param = param.squeeze().cpu().numpy().flatten().astype(np.float32) @@ -92,28 +95,28 @@ def main(args): vertices_lst.append(vertices) poses.append([angles, translation, lmks]) - if not osp.exists(f'inference_output/rendering_overlay/'): - os.makedirs(f'inference_output/rendering_overlay/') - if not osp.exists(f'inference_output/landmarks/'): - os.makedirs(f'inference_output/landmarks/') - if not osp.exists(f'inference_output/poses/'): - os.makedirs(f'inference_output/poses/') + if not osp.exists(f'inference_output_baseline/rendering_overlay/'): + os.makedirs(f'inference_output_baseline/rendering_overlay/') + if not osp.exists(f'inference_output_baseline/landmarks/'): + os.makedirs(f'inference_output_baseline/landmarks/') + if not osp.exists(f'inference_output_baseline/poses/'): + os.makedirs(f'inference_output_baseline/poses/') name = img_fp.rsplit('/',1)[-1][:-4] img_ori_copy = img_ori.copy() # mesh - render(img_ori, vertices_lst, alpha=0.6, wfp=f'inference_output/rendering_overlay/{name}.jpg') + render(img_ori, vertices_lst, alpha=0.6, wfp=f'inference_output_baseline/rendering_overlay/{name}.jpg') # landmarks - draw_landmarks(img_ori_copy, pts_res, wfp=f'inference_output/landmarks/{name}.jpg') + draw_landmarks(img_ori_copy, pts_res, wfp=f'inference_output_baseline/landmarks/{name}.jpg') # face orientation img_axis_plot = img_ori_copy for angles, translation, lmks in poses: img_axis_plot = draw_axis(img_axis_plot, angles[0], angles[1], angles[2], translation[0], translation[1], size = 50, pts68=lmks) - wfp = f'inference_output/poses/{name}.jpg' + wfp = f'inference_output_baseline/poses/{name}.jpg' cv2.imwrite(wfp, img_axis_plot) print(f'Save pose result to {wfp}') @@ -124,6 +127,9 @@ def main(args): parser.add_argument("--png", action="store_true", help="if images are with .png extension") parser.add_argument('--img_size', default=120, type=int) parser.add_argument('-b', '--batch-size', default=1, type=int) + parser.add_argument('-num_img', '--num_img', default=None, type=int) + # Add additional args to extend render script + args = parser.parse_args() - main(args) \ No newline at end of file + main(args) diff --git a/train.bat b/train.bat new file mode 100644 index 0000000..e3a2b0c --- /dev/null +++ b/train.bat @@ -0,0 +1 @@ +python main_train.py --arch="dcnv1" --start-epoch=1 --snapshot="ckpts\SynergyNet" --param-fp-train=.\3dmm_data\param_all_norm_v201.pkl --warmup=5 --batch-size=3 --base-lr=0.027 --epochs=10 --milestones=30,40 --print-freq=50 --devices-id=0 --workers=8 --filelists-train=".\3dmm_data\train_aug_120x120.list.train" --root=".\train_aug_120x120" --log-file=".\log.txt" --test_initial=True --save_val_freq=5 --resume="" diff --git a/train_script.sh b/train_script.sh index ccb7ce8..df446dc 100644 --- a/train_script.sh +++ b/train_script.sh @@ -6,12 +6,11 @@ mkdir -p ${LOG_DIR} LOG_FILE="${LOG_DIR}/`date +'%Y-%m-%d_%H:%M.%S'`.log" -python3 main_train.py --arch="mobilenet_v2" \ +python3 main_train.py \ --start-epoch=1 \ --snapshot="ckpts/SynergyNet" \ --param-fp-train='./3dmm_data/param_all_norm_v201.pkl' \ --warmup=5 \ - --batch-size=900 \ --base-lr=0.027 \ --epochs=50 \ --milestones=30,40 \ @@ -24,3 +23,8 @@ python3 main_train.py --arch="mobilenet_v2" \ --test_initial=True \ --save_val_freq=5 \ --resume="" \ + --batch-size=16 \ + --arch="dcnv2" \ + --arch="dcnv1" \ + --snapshot="ckpts/dcnv2_SynergyNet" \ + --snapshot="ckpts/dcnv1_SynergyNet" \ diff --git a/utils/inference.py b/utils/inference.py index 539edaa..58fb930 100644 --- a/utils/inference.py +++ b/utils/inference.py @@ -1,4 +1,6 @@ import numpy as np +import matplotlib +matplotlib.use('Agg') import matplotlib.pyplot as plt from utils.params import ParamsPack param_pack = ParamsPack()