def _get_data(self): """Load frame paths and annotations. """ # Loading frame paths. list_filenames = [ os.path.join(cfg.CHARADES.FRAME_LIST_DIR, filename) for filename in ( cfg.CHARADES.TRAIN_LISTS if (self._split == 'train' or cfg.GET_TRAIN_LFB) else cfg.CHARADES.TEST_LISTS) ] (self._image_paths, self._image_labels, self._video_idx_to_name, _) = dataset_helper.load_image_lists( list_filenames) if self._split != 'train': # Charades is a video-level task. self._convert_to_video_level_labels() self._num_videos = len(self._image_paths) if self._lfb_infer_only: self._lfb_frames = get_lfb_frames(self._image_paths) logger.info( 'Inferring LFB from %d clips in %d videos.' % ( len(self._lfb_frames), len(self._image_paths))) self.print_summary()
def _get_data(self): """Load frame paths and annotations. """ # Load frame paths. list_filenames = [ os.path.join(cfg.EPIC.FRAME_LIST_DIR, filename) for filename in ( cfg.EPIC.TRAIN_LISTS if (self._is_train or cfg.GET_TRAIN_LFB) else cfg.EPIC.TEST_LISTS) ] (self._image_paths, self._image_labels, self._video_idx_to_name, self._video_name_to_idx) = dataset_helper.load_image_lists( list_filenames, return_dict=True) # Load annotations. if self._lfb_infer_only: self._annotations = get_annotations_for_lfb_frames( self._image_paths) logger.info( 'Inferring LFB from %d clips in %d videos.' % ( len(self._annotations), len(self._image_paths))) else: self._annotations = load_annotations(is_train=self._is_train) self.print_summary()
def _get_data(self): """Load frame paths and annotations. """ # Loading frame paths. list_filenames = [ os.path.join(cfg.AVA.FRAME_LIST_DIR, filename) for filename in (cfg.AVA.TRAIN_LISTS if ( self._split == 'train' or cfg.GET_TRAIN_LFB ) else cfg.AVA.TEST_LISTS) ] (self._image_paths, _, self._video_idx_to_name, _) = dataset_helper.load_image_lists(list_filenames) # Loading annotations. if self._lfb_infer_only: ann_filenames = [ os.path.join(cfg.AVA.ANNOTATION_DIR, filename) for filename in (cfg.AVA.TRAIN_LFB_BOX_LISTS if cfg. GET_TRAIN_LFB else cfg.AVA.TEST_LFB_BOX_LISTS) ] else: ann_filenames = [ os.path.join(cfg.AVA.ANNOTATION_DIR, filename) for filename in (cfg.AVA.TRAIN_BOX_LISTS if self._split == 'train' else cfg.AVA.TEST_BOX_LISTS) ] self._boxes_and_labels = load_boxes_and_labels( ann_filenames, is_train=(self._split == 'train'), detect_thresh=self._detect_thresh, full_eval=self._full_eval) assert len(self._boxes_and_labels) == len(self._image_paths), \ (len(self._boxes_and_labels), len(self._image_paths)) self._boxes_and_labels = [ self._boxes_and_labels[self._video_idx_to_name[i]] for i in range(len(self._image_paths)) ] self._keyframe_indices = get_keyframe_indices(self._boxes_and_labels) self._num_boxes_used = self.get_db_size() self.print_summary()
def _get_data(self): """Load frame paths and annotations. """ if cfg.JHMDB.SPLIT_NUM == 0: if self._split == 'train': list_filenames = [os.path.join(cfg.JHMDB.FRAME_LIST_DIR, 'frame_list_train.csv')] else: list_filenames = [os.path.join(cfg.JHMDB.FRAME_LIST_DIR, 'frame_list_test.csv')] else: if self._split == 'train': list_filenames = [os.path.join(cfg.JHMDB.FRAME_LIST_DIR, 'frame_list_train_split%d.csv'%cfg.JHMDB.SPLIT_NUM)] else: list_filenames = [os.path.join(cfg.JHMDB.FRAME_LIST_DIR, 'frame_list_test_split%d.csv'%cfg.JHMDB.SPLIT_NUM)] (self._image_paths, _, self._video_idx_to_name, _) = dataset_helper.load_image_lists( list_filenames) if cfg.JHMDB.SPLIT_NUM == 0: if self._split == 'train': ann_filenames = [os.path.join(cfg.JHMDB.ANNOTATION_DIR, 'train.csv')] if cfg.JHMDB.USE_PRED_BOX_TRAIN: ann_filenames.append(os.path.join(cfg.JHMDB.ANNOTATION_DIR, 'predicted_train.csv')) else: if cfg.JHMDB.USE_GT_BOX_TEST: ann_filenames = [os.path.join(cfg.JHMDB.ANNOTATION_DIR, 'test.csv')] else: ann_filenames = [os.path.join(cfg.JHMDB.ANNOTATION_DIR, 'max_predicted_test.csv')] cfg.JHMDB.EVAL_GT_FILENAME = 'test.csv' else: if self._split == 'train': ann_filenames = [os.path.join(cfg.JHMDB.ANNOTATION_DIR, 'train_split%d.csv'%cfg.JHMDB.SPLIT_NUM)] if cfg.JHMDB.USE_PRED_BOX_TRAIN: ann_filenames.append(os.path.join(cfg.JHMDB.ANNOTATION_DIR, 'ft_ep12_res50_pred/predicted_train_split%d.csv'%cfg.JHMDB.SPLIT_NUM)) else: if cfg.JHMDB.USE_GT_BOX_TEST: ann_filenames = [os.path.join(cfg.JHMDB.ANNOTATION_DIR, 'test_split%d.csv'%cfg.JHMDB.SPLIT_NUM)] else: ann_filenames = [os.path.join(cfg.JHMDB.ANNOTATION_DIR, 'ft_ep12_res50_pred/predicted_test_split%d.csv'%cfg.JHMDB.SPLIT_NUM)] cfg.JHMDB.EVAL_GT_FILENAME = 'test_split%d.csv'%cfg.JHMDB.SPLIT_NUM self._boxes_and_labels = load_boxes_and_labels( ann_filenames, is_train=(self._split == 'train'), detect_thresh=self._detect_thresh, full_eval=self._full_eval) self.new_boxes_and_labels = [] for i in range(len(self._image_paths)): vname = self._video_idx_to_name[i] if vname in self._boxes_and_labels: self.new_boxes_and_labels.append(self._boxes_and_labels[vname]) else: self.new_boxes_and_labels.append({}) self._boxes_and_labels = self.new_boxes_and_labels self._keyframe_indices = get_keyframe_indices(self._boxes_and_labels) self._box_indices = get_box_indices(self._boxes_and_labels) self._num_boxes_used = get_num_boxes_used( self._keyframe_indices, self._boxes_and_labels) self.print_summary()