def __getitem__(self, idx): if self.is_trian: ele_anno = self.anno[self.train_list[idx]] else: ele_anno = self.anno[self.valid_list[idx]] res_img = [256, 256] res_heatmap = [64, 64] path_img_folder = 'mpii_human_pose_v1/images' path_img = os.path.join(path_img_folder, ele_anno['img_paths']) img_origin = imgutils.load_image(path_img) img_crop, ary_pts_crop, c_crop = imgutils.crop( img_origin, ele_anno, use_randscale=self.use_scale, use_randflipLR=self.use_flip, use_randcolor=self.use_rand_color) img_out, pts_out, c_out = imgutils.change_resolu( img_crop, ary_pts_crop, c_crop, res_heatmap) train_img = skimage.transform.resize(img_crop, tuple(res_img)) train_heatmap = imgutils.generate_heatmaps(img_out, pts_out, sigma_valu=2) train_pts = pts_out[:, :2].astype(np.int32) # (H,W,C) -> (C,H,W) train_img = np.transpose(train_img, (2, 0, 1)) train_heatmap = np.transpose(train_heatmap, (2, 0, 1)) return train_img, train_heatmap, train_pts
def build_input(self, imgpaths): """ build input data for model input tensor :param imgpaths: images path array :return: 3 channel image array """ images = np.array([imgutils.load_image(img_path) for img_path in imgpaths]) return [img.reshape(224, 224, 3) for img in images]
from utils import imgutilsTF from utils import Dataset_Make_Utils as dsmutils from utils import modelutils from models.hourglass_new import Residual, HourGlass, HourGlassNet, hg from models.hourglass import hg as hg_torch from losses.jointMSE import mse_joint as jMSE from datasets.dataset_torch import DatasetTorch import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' #========================================================== TEST BY NEW IMGS ========================================================== # Load test img num_img = 6 path_testimg = 'test_imgs/' + str(num_img) + '.jpg' img_np = imgutils.load_image(path_testimg) print('img_np.SAPE', img_np.shape) # Resize to (256,256,3) img_np = skimage.transform.resize(img_np, [256, 256]) img_np_copy = img_np print('img_np.SAPE', img_np.shape) # plt.figure(1) # plt.imshow(img_np_copy) # plt.show() # # ================================== Load the model ================================== # num_subset = 'allEPOCH2' # net_hg_torch = hg_torch(num_stacks=8, num_blocks=1, num_classes=16) # path_model_torch_load = 'models/modelparams_hg_torch_' + str(num_subset) + '.pkl'
train_heatmaps = np.zeros((len_idx, res_heatmap[0], res_heatmap[1], 16)) #(N,H_im,W_im,3) path_img_folder = path_dir+'/mpii_human_pose_v1/images' num_subset = '4000(3)' # 0 means all j = 0 for i, idx_train in enumerate(train_list): if i >= idx_begin and i <= idx_end: j += 1 print(anno[idx_train]) ele_anno = anno[idx_train] path_img = os.path.join(path_img_folder, ele_anno['img_paths']) print(path_img) img_origin = imgutils.load_image(path_img) # plt.figure(1) # plt.imshow(img_origin) # plt.show() img_crop, ary_pts_crop, c_crop = imgutils.crop_norescale(img_origin, ele_anno, use_randscale=False) img_out, pts_out, c_out = imgutils.change_resolu(img_crop, ary_pts_crop, c_crop, res_heatmap) heatmaps = imgutils.generate_heatmaps(img_out, pts_out, sigma_valu=2) # plt.figure(1) # plt.imshow(img_out) # plt.show() train_heatmaps[j - 1, ...] = heatmaps # plt.figure(1) # plt.imshow(train_heatmaps[j-1, :, :, 0]) # plt.show() # imgutils.show_stack_joints(img_out, pts_out, c_out) # print('heatmaps.SHAPE', train_heatmaps[j - 1, ...].shape)
# # Show points on image # imgutils.show_stack_joints(img_lowres, ary_pts, c) #======================================================================================= # Get json annotation with open('mpii_annotations.json') as anno_file: anno = json.load(anno_file) for ele in anno: if ele['img_paths'] == '000678817.jpg': #000033016, 000678817, 001834988 ele_copy = ele print('FOUNDED') print(ele) c_copy = ele_copy['objpos'] pts_copy = ele_copy['joint_self'] img_origin = imgutils.load_image('mpii_human_pose_v1/images/000678817.jpg') img_copy = img_origin # img_crop, ary_pts_crop, c_crop = imgutils.crop(img_origin, ele_copy) img_crop, ary_pts_crop, c_crop = imgutils.crop_norescale(img_origin, ele_copy) img_out, pts_out, c_out = imgutils.change_resolu(img_crop, ary_pts_crop, c_crop, (256, 256)) heatmaps = imgutils.generate_heatmaps(img_out, pts_out, sigma_valu=7) # img_out = imgutils.random_rotate(img_out) # heatmaps = imgutils.random_rotate(heatmaps[:,:,:]) # img_out = imgutilsTF.random_flip_tf(img_out) # heatmaps = imgutilsTF.random_flip_tf(heatmaps[:,:,:]) # Show image and heatmaps imgutils.show_stack_joints(img_out, pts_out, c_out)