| 42 | |
| 43 | |
| 44 | class GroupToFlow(object): |
| 45 | def __init__(self, bound): |
| 46 | self.bound = bound |
| 47 | |
| 48 | def worker(self, flow): |
| 49 | bound = self.bound |
| 50 | flow = flow.copy().astype(np.float32) |
| 51 | H, W = flow.shape[0], flow.shape[1] |
| 52 | flow[..., 0] = flow[..., 0] / 255. * 2 * bound - bound |
| 53 | flow[..., 1] = flow[..., 1] / 255. * 2 * bound - bound |
| 54 | flow = flow[..., :2] |
| 55 | return flow |
| 56 | |
| 57 | def __call__(self, img_dict): |
| 58 | img_dict['flow_forward'] = [self.worker(img) for img in img_dict['flow_forward']] |
| 59 | img_dict['flow_backward'] = [self.worker(img) for img in img_dict['flow_backward']] |
| 60 | return img_dict |
| 61 | |
| 62 | |
| 63 | class GroupCenterCrop(object): |