def getlabel(self): im_tensor, im_info, gt_boxes = self._data # all stacked image share same anchors _, out_shape, _ = self._feat_sym.infer_shape(data=im_tensor.shape) feat_height, feat_width = out_shape[0][-2:] anchors = self._ag.generate(feat_height, feat_width) # assign anchor according to their real size encoded in im_info label, bbox_target, bbox_weight = [], [], [] for batch_ind in range(im_info.shape[0]): b_im_info = im_info[batch_ind].asnumpy() b_gt_boxes = gt_boxes[batch_ind].asnumpy() b_im_height, b_im_width = b_im_info[:2] b_label, b_bbox_target, b_bbox_weight = self._as.assign(anchors, b_gt_boxes, b_im_height, b_im_width) b_label = b_label.reshape((feat_height, feat_width, -1)).transpose((2, 0, 1)).flatten() b_bbox_target = b_bbox_target.reshape((feat_height, feat_width, -1)).transpose((2, 0, 1)) b_bbox_weight = b_bbox_weight.reshape((feat_height, feat_width, -1)).transpose((2, 0, 1)) label.append(b_label) bbox_target.append(b_bbox_target) bbox_weight.append(b_bbox_weight) label = mx.nd.array(tensor_vstack(label, pad=-1)) bbox_target = mx.nd.array(tensor_vstack(bbox_target, pad=0)) bbox_weight = mx.nd.array(tensor_vstack(bbox_weight, pad=0)) self._label = label, bbox_target, bbox_weight return self._label
def getlabel(self): im_tensor, im_info, gt_boxes = self._data # all stacked image share same anchors _, out_shape, _ = self._feat_sym.infer_shape(data=im_tensor.shape) feat_height, feat_width = out_shape[0][-2:] anchors = self._ag.generate(feat_height, feat_width) # assign anchor according to their real size encoded in im_info label, bbox_target, bbox_weight = [], [], [] for batch_ind in range(im_info.shape[0]): b_im_info = im_info[batch_ind].asnumpy() b_gt_boxes = gt_boxes[batch_ind].asnumpy() b_im_height, b_im_width = b_im_info[:2] b_label, b_bbox_target, b_bbox_weight = self._as.assign( anchors, b_gt_boxes, b_im_height, b_im_width) b_label = b_label.reshape((feat_height, feat_width, -1)).transpose( (2, 0, 1)).flatten() b_bbox_target = b_bbox_target.reshape( (feat_height, feat_width, -1)).transpose((2, 0, 1)) b_bbox_weight = b_bbox_weight.reshape( (feat_height, feat_width, -1)).transpose((2, 0, 1)) label.append(b_label) bbox_target.append(b_bbox_target) bbox_weight.append(b_bbox_weight) label = mx.nd.array(tensor_vstack(label, pad=-1)) bbox_target = mx.nd.array(tensor_vstack(bbox_target, pad=0)) bbox_weight = mx.nd.array(tensor_vstack(bbox_weight, pad=0)) self._label = label, bbox_target, bbox_weight return self._label
def getdata(self): indices = self.getindex() im_tensor, im_info = [], [] for index in indices: roi_rec = self._roidb[index] b_im_tensor, b_im_info, _ = get_image(roi_rec, self._short, self._max_size, self._mean, self._std) im_tensor.append(b_im_tensor) im_info.append(b_im_info) im_tensor = mx.nd.array(tensor_vstack(im_tensor, pad=0)) im_info = mx.nd.array(tensor_vstack(im_info, pad=0)) self._data = im_tensor, im_info return self._data
def getdata(self): indices = self.getindex() im_tensor, im_info = [], [] for index in indices: roi_rec = self._roidb[index] b_im_tensor, b_im_info, b_gt_boxes, b_seg = get_image(roi_rec, self._short, self._max_size, self._mean, self._std) im_tensor.append(b_im_tensor) im_info.append(b_im_info) im_tensor = mx.nd.array(tensor_vstack(im_tensor, pad=0)) im_info = mx.nd.array(tensor_vstack(im_info, pad=0)) self._data = im_tensor, im_info return self._data
def getdata(self): indices = self.getindex() im_tensor, im_info, gt_boxes = [], [], [] for index in indices: roi_rec = self._roidb[index] b_im_tensor, b_im_info, b_gt_boxes = get_image( roi_rec, self._short, self._max_size, self._mean, self._std) im_tensor.append(b_im_tensor) im_info.append(b_im_info) gt_boxes.append(b_gt_boxes) im_tensor = mx.nd.array(tensor_vstack(im_tensor, pad=0)) im_info = mx.nd.array(tensor_vstack(im_info, pad=0)) gt_boxes = mx.nd.array(tensor_vstack(gt_boxes, pad=-1)) #print ("gt_boxes_shape=",gt_boxes.shape) self._data = im_tensor, im_info, gt_boxes return self._data
def getdata(self): indices = self.getindex() # short_side = np.floor(np.random.uniform(800, 1025)) im_tensor, im_info, gt_boxes, seg = [], [], [], [] for index in indices: roi_rec = self._roidb[index] b_im_tensor, b_im_info, b_gt_boxes, b_seg = get_image(roi_rec, self._short, self._max_size, self._mean, self._std) im_tensor.append(b_im_tensor) im_info.append(b_im_info) gt_boxes.append(b_gt_boxes) seg.append(b_seg) # print(b_seg) im_tensor = mx.nd.array(tensor_vstack(im_tensor, pad=0)) im_info = mx.nd.array(tensor_vstack(im_info, pad=0)) gt_boxes = mx.nd.array(tensor_vstack(gt_boxes, pad=-1)) seg = mx.nd.array(tensor_vstack(seg, pad=0)) self._data = im_tensor, im_info, gt_boxes, seg return self._data
def getlabel(self): im_tensor, im_info, gt_boxes = self._data label_list = [] bbox_target_list = [] bbox_weight_list = [] # all stacked image share same anchors # print(type(self._feat_sym)) for i, feat_sym in enumerate(self._feat_sym): _, out_shape, _ = feat_sym.infer_shape(data=im_tensor.shape) feat_height, feat_width = out_shape[0][-2:] # print('feat height & width', feat_height, feat_width) anchors = self._ag[i].generate(feat_height, feat_width) # assign anchor according to their real size encoded in im_info label, bbox_target, bbox_weight = [], [], [] for batch_ind in range(im_info.shape[0]): b_im_info = im_info[batch_ind].asnumpy() b_gt_boxes = gt_boxes[batch_ind].asnumpy() b_im_height, b_im_width = b_im_info[:2] b_label, b_bbox_target, b_bbox_weight = self._as.assign(anchors, b_gt_boxes, b_im_height, b_im_width) b_label = b_label.reshape((feat_height, feat_width, -1)).transpose((2, 0, 1)).flatten() b_bbox_target = b_bbox_target.reshape((feat_height, feat_width, -1)).transpose((2, 0, 1)) b_bbox_weight = b_bbox_weight.reshape((feat_height, feat_width, -1)).transpose((2, 0, 1)) label.append(b_label) bbox_target.append(b_bbox_target) bbox_weight.append(b_bbox_weight) label_list.append(mx.nd.array(tensor_vstack(label, pad=-1))) bbox_target_list.append(mx.nd.array(tensor_vstack(bbox_target, pad=0))) bbox_weight_list.append(mx.nd.array(tensor_vstack(bbox_weight, pad=0))) self._label = label_list[0], label_list[1], label_list[2], label_list[3], label_list[4], bbox_target_list[0], bbox_target_list[1], bbox_target_list[2], bbox_target_list[3], bbox_target_list[4], bbox_weight_list[0], bbox_weight_list[1], bbox_weight_list[2], bbox_weight_list[3], bbox_weight_list[4] return self._label