Esempio n. 1
0
 def _get_video_feats(self, segment_dict):
     start, end = segment_dict['start'], segment_dict['end']
     video_name = segment_dict['video-name']
     i3d_feat = breakfast.read_i3d_data(video_name,
                                        window=[start, end],
                                        i3d_length=self.i3d_length)
     idx = np.random.choice(np.arange(len(i3d_feat)))
     i3d_feat = torch.from_numpy(i3d_feat[idx])
     return i3d_feat
    def __getitem__(self, idx):
        segment = self.segments[idx]
        video_name = segment['video-name']
        start, end = segment['start'], segment['end']

        i3d_feat = breakfast.read_i3d_data(video_name,
                                           window=[start, end],
                                           i3d_length=self.i3d_length)
        sample_idxs = self._get_sample_idxs(start, end)
        selected = i3d_feat[sample_idxs]
        selected = torch.from_numpy(selected)
        return selected
Esempio n. 3
0
    def __getitem__(self, idx):
        segment = self.segments[idx]
        video_name = segment['video-name']
        start, end = segment['start'], segment['end']

        i3d_feat = breakfast.read_i3d_data(video_name,
                                           window=[start, end],
                                           i3d_length=self.i3d_length)
        i3d_feat = i3d_feat[::self.stride]
        i3d_feat = torch.from_numpy(i3d_feat)
        segment_len = i3d_feat.shape[0]
        return i3d_feat, segment_len
    def __getitem__(self, idx):
        segment_dict = self.segments[idx]
        logit = self.segment_logits[idx]
        video_name = segment_dict['video-name']
        start, end = segment_dict['start'], segment_dict['end']
        assert start < end, '{0} has errors, logit {1}'.format(
            video_name, logit)

        i3d_feat = breakfast.read_i3d_data(video_name,
                                           window=[start, end],
                                           i3d_length=self.i3d_length)
        assert len(i3d_feat) > 0, '{0} has length {1}, logit {2}'.format(
            video_name, len(i3d_feat), logit)
        selected_idx = np.random.choice(np.arange(len(i3d_feat)))
        selected = torch.from_numpy(i3d_feat[selected_idx])
        return selected, logit
Esempio n. 5
0
def _parse_split_data(split, feat_len):
    segments, labels, logits = breakfast.get_data(split)
    valid_segments = []
    valid_labels = []
    valid_logits = []
    for i, segment in enumerate(tqdm(segments)):
        start, end = segment['start'], segment['end']
        i3d_feats = breakfast.read_i3d_data(segment['video-name'],
                                            window=[start, end],
                                            i3d_length=feat_len)
        if len(i3d_feats
               ) > 0 and 48 > logits[i] > 0:  # remove walk in and walk out.
            segment['end'] = segment['start'] + len(i3d_feats)
            valid_segments.append(segment)
            valid_labels.append(labels[i])
            valid_logits.append(logits[i])
    return [valid_segments, valid_labels, valid_logits]
Esempio n. 6
0
    def __getitem__(self, idx):
        segment_dict = self.segments[idx]
        logit = self.segment_logits[idx]
        video_name = segment_dict['video-name']
        start, end = segment_dict['start'], segment_dict['end']
        assert start < end, '{0} has errors, logit {1}'.format(
            video_name, logit)

        i3d_feat = breakfast.read_i3d_data(video_name,
                                           window=[start, end],
                                           i3d_length=self.i3d_length)
        assert len(i3d_feat) > 0, '{0} has length {1}, logit {2}'.format(
            video_name, len(i3d_feat), logit)
        i3d_feat = i3d_feat[::self.stride]
        i3d_feat = torch.from_numpy(i3d_feat)
        n_feats = i3d_feat.shape[0]
        return i3d_feat, n_feats, logit