Skip to content

Commit

Permalink
Added Sintel demo
Browse files Browse the repository at this point in the history
  • Loading branch information
yuanming-hu committed Jul 13, 2018
1 parent 6a3995d commit f695e6e
Showing 4 changed files with 68 additions and 5 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -10,3 +10,4 @@ __pycache__
/data
cmake*
export
*.zip
13 changes: 9 additions & 4 deletions config_example.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from artist import ArtistDataProvider
from fivek import FiveKDataProvider
from folder_data_provider import FolderDataProvider
from critics import critic
from agent import agent_generator
from util import Dict
@@ -177,22 +178,26 @@ def c_lr_callback(t):
###########################################################################

# Input dataset (train)
cfg.fake_data_provider = lambda: FolderDataProvider(folder='data/sintel/inputs', default_batch_size=cfg.batch_size)
'''
cfg.fake_data_provider = lambda: FiveKDataProvider(
raw=True,
bnw=cfg.bnw,
output_size=64,
default_batch_size=cfg.batch_size,
augmentation=0.3,
set_name='2k_train',)
'''

# Input dataset (test)
'''
cfg.fake_data_provider_test = lambda: FiveKDataProvider(set_name='u_test', raw=True, bnw=cfg.bnw,
output_size=64,
default_batch_size=cfg.batch_size,
augmentation=0.0)
'''
cfg.fake_data_provider_test = lambda: FolderDataProvider(folder='data/sintel/inputs', default_batch_size=cfg.batch_size)

# Target dataset
cfg.real_data_provider = lambda: ArtistDataProvider(augmentation=1.0, name='FiveK_C',
output_size=64, bnw=cfg.bnw,
default_batch_size=cfg.batch_size, target=None,
set_name='2k_target')
cfg.real_data_provider = lambda: FolderDataProvider(folder='data/sintel/outputs', default_batch_size=cfg.batch_size)

57 changes: 57 additions & 0 deletions folder_data_provider.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import numpy as np
import os
import cv2
import random
from util import get_image_center
from data_provider import DataProvider

class FolderDataProvider(DataProvider):

def __init__(self,
folder,
read_limit=-1,
main_size=80,
crop_size=64,
augmentation_factor=4,
*args,
**kwargs):
files = os.listdir(folder)
files = sorted(files)

if read_limit != -1:
files = files[:read_limit]
data = []
files.sort()
for f in files:
image = (cv2.imread(os.path.join(folder, f))[:, :, ::-1] /
255.0).astype(np.float32)
image = get_image_center(image)
# image = cv2.resize(image, (64, 64), interpolation=cv2.INTER_AREA)
# data.append(image)
image = cv2.resize(
image, (main_size, main_size), interpolation=cv2.INTER_AREA)
for i in range(augmentation_factor):
new_image = image
if random.random() < 0.5:
new_image = new_image[:, ::-1, :]
sx, sy = random.randrange(main_size - crop_size + 1), random.randrange(
main_size - crop_size + 1)
data.append(new_image[sx:sx + crop_size, sy:sy + crop_size])
data = np.stack(data, axis=0)
print("# image after augmentation =", len(data))
super(FolderDataProvider, self).__init__(data, *args, bnw=False,
augmentation=1.0,
output_size=crop_size,
**kwargs)

def test():
dp = FolderDataProvider('data/sintel/outputs')
while True:
d = dp.get_next_batch(64)
cv2.imshow('img', d[0][0, :, :, ::-1])
cv2.waitKey(0)


if __name__ == '__main__':
test()
# preprocess()
2 changes: 1 addition & 1 deletion models
Submodule models updated 1442 files

0 comments on commit f695e6e

Please sign in to comment.