コード例 #1
0
ファイル: trees.py プロジェクト: seuqaj114/eye
    def load_data_provider(self, data, patch_size=20, num_patches=50, num_params=20):
        self.data = data

        patcher = Patcher(patch_size)
        
        self.patches = np.array([])
        self.offsets = np.array([])
        self.indexes = np.array([])

        #   Extract patches and offsets from data provided.
        #   TODO: Restrict patch extraction to face bounding box

        for i, (image, eyes, keypoints, face, face_bbox, rkeypoints) in enumerate(self.data):
            patches = patcher.generate_patches(face, num_patches)
            offsets = patcher.calculate_offsets_from_patches(patches, rkeypoints)
            indexes = np.ones(patches.shape[0],dtype="int")*i

            if not self.patches.size:
                self.patches = patches
                self.offsets = offsets
                self.indexes = indexes
            else:
                self.patches = np.concatenate((self.patches, patches),axis=0)
                self.offsets = np.concatenate((self.offsets, offsets),axis=0)
                self.indexes = np.concatenate((self.indexes, indexes),axis=0)

        self.params_list = patcher.generate_parameters(num_params)