コード例 #1
0
    def __init__(self, weights_file_path: str, image_file_path: Path,
                 user_name: str, image_name: str, complete_event: Event):
        super(OptimizeThread, self).__init__()

        self.rank_net = RankNet(IMAGE_SHAPE, use_vgg16=False)
        self.rank_net.trainable_model.load_weights(weights_file_path)

        self.enhancer = IE.ImageEnhancer(str(image_file_path),
                                         (IMAGE_WIDTH, IMAGE_HEIGHT))
        enhance_generator = EnhanceGenerator(self.enhancer)
        self.optimizer = ParameterOptimizer(self.rank_net, enhance_generator,
                                            EnhanceDecorder())

        self.image_file_path = image_file_path
        self.user_name, self.image_name = user_name, image_name

        self.complete_event = complete_event
コード例 #2
0
    import EnhanceGenerator, EnhanceDecorder, Predictor, ParameterOptimizer
from pathlib import Path
from gdrive_scripts import config

if __name__ == "__main__":
    optimize_dir_path = Path(__file__).parent / 'optimize'
    weights_dir_path = Path(__file__).parent / 'weights'
    optimizable_dir_path = Path(__file__).parent / 'optimizable'

    for category_name in ['flower']:
        weight_path = weights_dir_path / f'{category_name}.h5'

        for image_path in optimizable_dir_path.iterdir():
            print(f'optimize {image_path.name} used {category_name}.h5')

            generator = EnhanceGenerator(str(image_path),
                                         config.ImageInfo.size)
            enhance_decoder = EnhanceDecorder()

            predictor = Predictor(str(weight_path))

            optimizer = \
                ParameterOptimizer.Optimizer(predictor, generator,
                                             enhance_decoder)
            best_param_list, logbook = optimizer.optimize(ngen=20,
                                                          param_list_num=1)

            save_dir_path = optimize_dir_path / category_name
            save_dir_path.mkdir(exist_ok=True, parents=True)

            image_name = image_path.stem
            save_path = str(save_dir_path / f'{image_name}.png')
コード例 #3
0
    user_name_list = ['oba', 'sakao', 'tamiya']

    for user_name in user_name_list:
        for category_dir_path in optimizable_dir_path.iterdir():
            category_name = category_dir_path.name
            weight_path = weights_dir_path / user_name / f'{category_name}.h5'

            if not weight_path.exists():
                print(f'{category_name}.h5 not found in {user_name}')
                continue

            for image_path in category_dir_path.iterdir():
                print(f'{user_name} - {image_path.name} in {category_name}')

                generator = EnhanceGenerator(str(image_path), IMAGE_SIZE)
                enhance_decoder = EnhanceDecorder()

                predictor = Predictor(str(weight_path))

                optimizer = \
                    ParameterOptimizer.Optimizer(predictor, generator,
                                                 enhance_decoder)
                best_param_list, logbook = \
                    optimizer.optimize(ngen=20, param_list_num=1)

                save_dir_path = optimize_dir_path / user_name / category_name
                save_dir_path.mkdir(parents=True, exist_ok=True)

                image_name = image_path.stem
                save_path = str(save_dir_path / f'{image_name}.png')
コード例 #4
0
if __name__ == "__main__":
    katsudon_path_list = [
        r'C:\Users\init\Documents\PythonScripts\ImageEnhancementFromUserPreference\Experiment\Questionnaire\image\katsudon\1\1.jpg',
        r'C:\Users\init\Documents\PythonScripts\ImageEnhancementFromUserPreference\Experiment\Questionnaire\image\katsudon\2\2.png']

    salad_path_list = [
        r'C:\Users\init\Documents\PythonScripts\ImageEnhancementFromUserPreference\Experiment\Questionnaire\image\salad\1\1.jpg',
        r'C:\Users\init\Documents\PythonScripts\ImageEnhancementFromUserPreference\Experiment\Questionnaire\image\salad\2\2.jpg',
        r'C:\Users\init\Documents\PythonScripts\ImageEnhancementFromUserPreference\Experiment\Questionnaire\image\salad\3\3.jpg']

    path_dict = {'katsudon': katsudon_path_list, 'salad': salad_path_list}
    key = 'salad'

    for index, image_path in enumerate(path_dict[key], start=1):
        enhancer = ResizableEnhancer(image_path, config.IMAGE_SIZE)
        enhance_generator = EnhanceGenerator(enhancer)
        enhance_decoder = EnhanceDecorder()

        # cnn = RankNet(config.IMAGE_SHAPE, use_vgg16=False)
        vgg = RankNet(config.IMAGE_SHAPE, use_vgg16=True)

        records_num = 4000
        weights_dir_path = Path(
            r'C:\Users\init\Documents\PythonScripts\ImageEnhancementFromUserPreference\Experiment\improve_tournament\weights')

        optimize_dir_path = Path(
            r'C:\Users\init\Documents\PythonScripts\ImageEnhancementFromUserPreference\Experiment\improve_tournament\optimize')/key/str(index)

        # cnn_weights_path = str(weights_dir_path/f'{records_num}.h5')
        vgg_weights_path = str(weights_dir_path/'vgg'/f'{records_num}.h5')