Skip to content

Commit

Permalink
Add downsampling_filters option
Browse files Browse the repository at this point in the history
  • Loading branch information
tsurumeso committed Feb 24, 2017
1 parent 65ad632 commit e3e9cd5
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 12 deletions.
2 changes: 1 addition & 1 deletion appendix/linux/train_(vgg_7l)_template.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh

python train.py --gpu 0 --dataset_dir jpeg_dataset --epoch 10 --model_name reference_scale_rgb --lr_decay_interval 3
python train.py --gpu 0 --dataset_dir png_dataset --finetune reference_scale_rgb.npz
python train.py --gpu 0 --dataset_dir png_dataset --finetune reference_scale_rgb.npz --downsampling_filter box lanczos
python train.py --gpu 0 --dataset_dir png_dataset --method noise --noise_level 0 --finetune reference_scale_rgb.npz
python train.py --gpu 0 --dataset_dir png_dataset --method noise --noise_level 1 --finetune reference_scale_rgb.npz
python train.py --gpu 0 --dataset_dir png_dataset --method noise --noise_level 2 --finetune reference_scale_rgb.npz
Expand Down
2 changes: 1 addition & 1 deletion appendix/windows/train_(vgg_7l)_template.bat
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
python train.py --gpu 0 --dataset_dir jpeg_dataset --epoch 10 --model_name reference_scale_rgb --lr_decay_interval 3
python train.py --gpu 0 --dataset_dir png_dataset --finetune reference_scale_rgb.npz
python train.py --gpu 0 --dataset_dir png_dataset --finetune reference_scale_rgb.npz --downsampling_filter box lanczos
python train.py --gpu 0 --dataset_dir png_dataset --method noise --noise_level 0 --finetune reference_scale_rgb.npz
python train.py --gpu 0 --dataset_dir png_dataset --method noise --noise_level 1 --finetune reference_scale_rgb.npz
python train.py --gpu 0 --dataset_dir png_dataset --method noise --noise_level 2 --finetune reference_scale_rgb.npz
Expand Down
1 change: 1 addition & 0 deletions lib/arguments.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
p.add_argument('--batch_size', type=int, default=16)
p.add_argument('--patches', type=int, default=16)
p.add_argument('--validation_crop_rate', type=float, default=0.5)
p.add_argument('--downsampling_filters', nargs='+', default=['box'])
p.add_argument('--resize_blur_min', type=float, default=0.95)
p.add_argument('--resize_blur_max', type=float, default=1.05)
p.add_argument('--epoch', type=int, default=100)
Expand Down
21 changes: 11 additions & 10 deletions lib/pairwise_transform.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,31 +48,29 @@ def noise(src, rate, level, chroma):
return src


def scale(src, bmin, bmax):
def scale(src, downsampling_filters, bmin, bmax):
# 'box', 'triangle', 'hermite', 'hanning', 'hamming', 'blackman',
# 'gaussian', 'quadratic', 'cubic', 'catrom', 'mitchell', 'lanczos',
# 'lanczos2', 'sinc'
h, w = src.shape[:2]
filters = ('box', 'lanczos', 'lanczos2')
blur = np.random.uniform(bmin, bmax)
rand = random.randint(0, len(filters)-1)
rand = random.randint(0, len(downsampling_filters)-1)
with iproc.array_to_wand(src) as tmp:
tmp.resize(w // 2, h // 2, filters[rand], blur)
tmp.resize(w // 2, h // 2, downsampling_filters[rand], blur)
tmp.resize(w, h, 'box')
dst = iproc.wand_to_array(tmp)
return dst


def noise_scale(src, bmin, bmax, rate, level, chroma):
def noise_scale(src, downsampling_filters, bmin, bmax, rate, level, chroma):
# 'box', 'triangle', 'hermite', 'hanning', 'hamming', 'blackman',
# 'gaussian', 'quadratic', 'cubic', 'catrom', 'mitchell', 'lanczos',
# 'lanczos2', 'sinc'
h, w = src.shape[:2]
filters = ('box', 'lanczos', 'lanczos2')
blur = np.random.uniform(bmin, bmax)
rand = random.randint(0, len(filters)-1)
rand = random.randint(0, len(downsampling_filters)-1)
with iproc.array_to_wand(src) as tmp:
tmp.resize(w // 2, h // 2, filters[rand], blur)
tmp.resize(w // 2, h // 2, downsampling_filters[rand], blur)
if np.random.uniform() < rate:
tmp = _noise(tmp, level, chroma)
tmp.resize(w, h, 'box')
Expand Down Expand Up @@ -129,12 +127,15 @@ def pairwise_transform(src, cfg):
y = preprocess(src, cfg)

if cfg.method == 'scale':
x = scale(y, cfg.resize_blur_min, cfg.resize_blur_max)
x = scale(
y, cfg.downsampling_filters,
cfg.resize_blur_min, cfg.resize_blur_max)
elif cfg.method == 'noise':
x = noise(y, cfg.nr_rate, cfg.noise_level, cfg.chroma_subsampling_rate)
elif cfg.method == 'noise_scale':
x = noise_scale(
y, cfg.resize_blur_min, cfg.resize_blur_max,
y, cfg.downsampling_filters,
cfg.resize_blur_min, cfg.resize_blur_max,
cfg.nr_rate, cfg.noise_level, cfg.chroma_subsampling_rate)

y = y[unstable_region_offset:y.shape[0] - unstable_region_offset,
Expand Down
1 change: 1 addition & 0 deletions lib/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ def get_config(args, ch, offset, train=True):
'random_half_rate': args.random_half_rate,
'random_unsharp_mask_rate': args.random_unsharp_mask_rate,
'patches': patches,
'downsampling_filters': args.downsampling_filters,
'resize_blur_min': args.resize_blur_min,
'resize_blur_max': args.resize_blur_max,
}
Expand Down

0 comments on commit e3e9cd5

Please sign in to comment.