Exemple #1
0
transform3 = CenteringTransform()
transform5 = ResampleInSpaceTransform(samples=80)
# Apply transforms
dataset.addTransform(transform1)
dataset.addTransform(transform2)
dataset.addTransform(transform3)
dataset.addTransform(transform5)

for file in dataset.applyTransforms():
    sequences = file[0]

    buffer = []
    res = []
    for item in sequences:
        buffer.append(item)
        res.append(Test.compare(buffer, models))
    print(res)


################### Advanced Version ###################
class CsvDatasetRealTime(CsvDataset):
    """
        Class for firing frame like real time:
        Once it reads the sequence, it fires the frame one by one.
    """
    def __init__(self, dir, maxlen=20, num_samples=20):
        """
        :param dir: dataset's path
        :param maxlen: indicates the dimension of the circular buffer
                       (its size should be big enough to contain all the frame of a gesture)
        """
Exemple #2
0
    # confusion matrix
    confusion_matrix = ConfusionMatrix(directories)
    # neighbor
    best_hmm = 1
    for directory in directories:
        # original kalman + resampled + parsing
        dataset = CsvDatasetExtended(base_dir + 'parsed/' + directory + '/',
                                     type=str)
        # apply transforms
        for sequence in dataset.readDataset():
            # get log_probabilities obtained from sequence
            points = [
                item for sublist in (sequence.getPoints(columns=[0]))
                for item in sublist
            ]
            probabilities = Test.compare(points, models)
            # verify if row_label is contained in the firsts x elements (default, x=1)
            keys = []
            for key, value in sorted(probabilities.items(),
                                     key=lambda kv: kv[1],
                                     reverse=True)[:best_hmm]:
                if isinstance(key, tuple):
                    keys = keys + list(itertools.chain(key))
                else:
                    keys.append(key)
            index_label = directory if directory in keys else keys[0]

            if directory not in keys:
                print('\n')
                print(points)
                print(probabilities)