def __call__(self, results): """Perform data augmentation with random image flip.""" img = results['img'] joints_3d = results['joints_3d'] joints_3d_visible = results['joints_3d_visible'] center = results['center'] # A flag indicating whether the image is flipped, # which can be used by child class. flipped = False if np.random.rand() <= self.flip_prob: flipped = True if not isinstance(img, list): img = img[:, ::-1, :] else: img = [i[:, ::-1, :] for i in img] if not isinstance(img, list): joints_3d, joints_3d_visible = fliplr_joints( joints_3d, joints_3d_visible, img.shape[1], results['ann_info']['flip_pairs']) center[0] = img.shape[1] - center[0] - 1 else: joints_3d, joints_3d_visible = fliplr_joints( joints_3d, joints_3d_visible, img[0].shape[1], results['ann_info']['flip_pairs']) center[0] = img[0].shape[1] - center[0] - 1 results['img'] = img results['joints_3d'] = joints_3d results['joints_3d_visible'] = joints_3d_visible results['center'] = center results['flipped'] = flipped return results
def __call__(self, results): """Perform data augmentation with random image flip.""" img = results['img'] joints_3d = results['joints_3d'] joints_3d_visible = results['joints_3d_visible'] center = results['center'] # A flag indicating whether the image is flipped, # which can be used by child class. flipped = False if np.random.rand() <= self.flip_prob: flipped = True img = img[:, ::-1, :] joints_3d, joints_3d_visible = fliplr_joints( joints_3d, joints_3d_visible, img.shape[1], results['ann_info']['flip_pairs']) center[0] = img.shape[1] - center[0] - 1 results['img'] = img results['joints_3d'] = joints_3d results['joints_3d_visible'] = joints_3d_visible results['center'] = center results['flipped'] = flipped # import cv2 # print("R", results.keys()) # # print("center", results["center"]) # # print("bbox", results["bbox"]) # # print("scale", results["scale"]) # # print("rotation", results["rotation"]) # # print("j3d", results["joints_3d"]) # import time # cv2.imwrite("xtest/" + str(time.time()) + ".jpg", results['img'][:,:,::-1]) return results
def __call__(self, results): img = results['img'] joints_3d = results['joints_3d'] joints_3d_visible = results['joints_3d_visible'] center = results['center'] if np.random.rand() <= self.flip_prob: img = img[:, ::-1, :] joints_3d, joints_3d_visible = fliplr_joints( joints_3d, joints_3d_visible, img.shape[1], results['ann_info']['flip_pairs']) center[0] = img.shape[1] - center[0] - 1 results['img'] = img results['joints_3d'] = joints_3d results['joints_3d_visible'] = joints_3d_visible results['center'] = center return results
def __call__(self, results): """Perform data augmentation with random image flip.""" if np.random.rand() > self.flip_prob: return results img = results['img'] joints_2d = results['joints_2d'] joints_2d_visible = results['joints_2d_visible'] joints_3d = results['joints_3d'] joints_3d_visible = results['joints_3d_visible'] pose = results['pose'] center = results['center'] img = img[:, ::-1, :] pose = _flip_smpl_pose(pose) joints_2d, joints_2d_visible = fliplr_joints( joints_2d, joints_2d_visible, img.shape[1], results['ann_info']['flip_pairs']) joints_3d, joints_3d_visible = _flip_joints_3d( joints_3d, joints_3d_visible, results['ann_info']['flip_pairs']) center[0] = img.shape[1] - center[0] - 1 if 'iuv' in results.keys(): iuv = results['iuv'] if iuv is not None: iuv = _flip_iuv(iuv, results['ann_info']['uv_type']) results['iuv'] = iuv results['img'] = img results['joints_2d'] = joints_2d results['joints_2d_visible'] = joints_2d_visible results['joints_3d'] = joints_3d results['joints_3d_visible'] = joints_3d_visible results['pose'] = pose results['center'] = center return results