Пример #1
0
    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()
Пример #2
0
    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()
Пример #3
0
    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()
Пример #4
0
    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()