コード例 #1
0
def rec(left_blurs,
        right_blurs,
        left_deblurs,
        right_deblurs,
        left_kernels,
        right_kernels,
        nstd=0):
    left_rec = proc.gen_blur(left_deblurs, left_kernels, nstd=nstd, seeds=None)
    right_rec = proc.gen_blur(right_deblurs,
                              right_kernels,
                              nstd=nstd,
                              seeds=None)
    rec_loss = tf.reduce_mean(tf.abs(left_rec-left_blurs)) \
        + tf.reduce_mean(tf.abs(right_rec-right_blurs))
    return rec_loss
コード例 #2
0
def swap(left_blurs,
         right_blurs,
         left_deblurs,
         right_deblurs,
         left_kernels,
         right_kernels,
         nstd=0):
    left_swap = proc.gen_blur(right_deblurs,
                              left_kernels,
                              nstd=nstd,
                              seeds=None)
    right_swap = proc.gen_blur(left_deblurs,
                               right_kernels,
                               nstd=nstd,
                               seeds=None)
    swap_loss = tf.reduce_mean(tf.abs(left_swap-left_blurs)) \
        + tf.reduce_mean(tf.abs(right_swap-right_blurs))
    return swap_loss
コード例 #3
0
niter = msave.iter

#########################################################################

# Setup Graphs
is_training = tf.placeholder_with_default(False, shape=[])
model = net.Net(is_training)

# Images loading setup
tset = Dataset(TLIST, KTLIST, BSZ, niter, rand_kernel=False)
vset = Dataset(VLIST, KVLIST, BSZ, 0, isval=True)
batch, swpT, swpV = tvSwap(tset, vset)
imgs, left_kernels, right_kernels, left_ck, right_ck, seeds = batch

# Generate blurry images
left_blurs = proc.gen_blur(imgs, left_kernels, nstd=2, seeds=seeds[:,:2])
right_blurs = proc.gen_blur(imgs, right_kernels, nstd=2, seeds=seeds[:,2:])

# Deblur, same model for left and right images
left_deblurs = left_blurs + model.generate(left_blurs)
right_deblurs = right_blurs + model.generate(right_blurs)

# Paired Loss
loss, lvals, lnms = get_loss(left_blurs, right_blurs, left_deblurs, right_deblurs, left_kernels, right_kernels, nstd=0)

# Stop gradients
left_deblurs = tf.stop_gradient(left_deblurs)
right_deblurs = tf.stop_gradient(right_deblurs)

# Reblur, with random kernels
left_reblurs = proc.gen_blur(left_deblurs, left_ck, nstd=2, seeds=None)
コード例 #4
0
niter = msave.iter

#########################################################################

# Setup Graphs
is_training = tf.placeholder_with_default(False, shape=[])
model = net.Net(is_training)

# Images loading setup
tset = Dataset(TLIST, KTLIST, BSZ, niter, rand_kernel=True)
vset = Dataset(VLIST, KVLIST, BSZ, 0, isval=True)
batch, swpT, swpV = tvSwap(tset, vset)
imgs, left_kernels, right_kernels, seeds = batch

# Generate blurry images
left_blurs = proc.gen_blur(imgs, left_kernels, nstd=2, seeds=None)
right_blurs = proc.gen_blur(imgs, right_kernels, nstd=2, seeds=None)

# Deblur, same model for left and right images
left_deblurs = left_blurs + model.generate(left_blurs)
right_deblurs = right_blurs + model.generate(right_blurs)

# Loss
loss = 0.5 * (tf.reduce_mean(tf.abs(imgs - left_deblurs)) +
              tf.reduce_mean(tf.abs(imgs - right_deblurs)))

# MSE
mse1 = tf.reduce_mean(tf.squared_difference(imgs, left_deblurs),
                      axis=(1, 2, 3))
mse2 = tf.reduce_mean(tf.squared_difference(imgs, right_deblurs),
                      axis=(1, 2, 3))
コード例 #5
0
niter = msave.iter

#########################################################################

# Setup Graphs
is_training = tf.placeholder_with_default(False, shape=[])
model = net.Net(is_training)

# Images loading setup
tset = Dataset(TLIST, KTLIST, BSZ, niter, rand_kernel=False)
vset = Dataset(VLIST, KVLIST, BSZ, 0, isval=True)
batch, swpT, swpV = tvSwap(tset, vset)
imgs, left_kernels, right_kernels, left_ck, right_ck, seeds = batch

# Generate blurry images
left_blurs = proc.gen_blur(imgs, left_kernels, nstd=2, seeds=seeds[:, :2])
right_blurs = proc.gen_blur(imgs, right_kernels, nstd=2, seeds=seeds[:, 2:])

# Deblur, same model for left and right images
left_deblurs = left_blurs + model.generate(left_blurs)
right_deblurs = right_blurs + model.generate(right_blurs)

# Paired Loss
_, lvals, lnms = get_loss(left_blurs,
                          right_blurs,
                          left_deblurs,
                          right_deblurs,
                          left_kernels,
                          right_kernels,
                          nstd=0)
loss = 0.5 * (tf.reduce_mean(tf.abs(imgs - left_deblurs)) +