dvlab-research / deepupe Goto Github PK
View Code? Open in Web Editor NEWUnderexposed Photo Enhancement Using Deep Illumination Estimation
Underexposed Photo Enhancement Using Deep Illumination Estimation
Hello, I read your paper carefully, but I didn't understand the meaning of smoothness loss formula. How does it guarantee local smoothness? Why do we do logarithmic operations on images? Could you explain it for me? Thank you very much.
I construct loss function—color loss by myself, but I don't know whether it's correct or not. And it's confused me that the total loss is reduced first and increased when training. So can you release the training code so that I can know where is the problem in my training code?
Hello @wangruixing, that's a great method!
I've successfully build makefile like tutorial in readme, and i face a probblem like this when running file run.py
tensorflow.python.framework.errors_impl.NotFoundError: /media/4A76601876600753/DeepUPE/main/lib/hdrnet_ops.so: failed to map segment from shared object
Currently using python 2.7, ubuntu 18.04, tensorflow 1.14 and CUDA 10.
Does anyone can help?
Thanks
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/install_sources#common_installation_problems
for some common reasons and solutions. Include the entire stack trace
above this error message when asking for help.
ops/bilateral_slice.cu.cc:19:10: fatal error: third_party/eigen3/unsupported/Eigen/CXX11/Tensor: No such file or directory
#include "third_party/eigen3/unsupported/Eigen/CXX11/Tensor"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:31: recipe for target 'build/bilateral_slice.cu.o' failed
make: *** [build/bilateral_slice.cu.o] Error 1
I don't understand Reconstruction Loss very well. Could you please help me understand it?
Hi,
On what axis to do l2 norm and on what axis to use cosine distance from tf ?
Thanks!
'''
input_files = [os.path.join(dirname, 'input',f) for f in flist]
print(input_files[0])
output_files = [os.path.join(dirname, 'output', f) for f in flist]
reflectance_files = [os.path.join(dirname, 'reflectance', f) for f in flist]
'''
What is the reflectance_files,which is different from HDRnet. The training data only need input and label, I didn't understand what reflectance was here. Shouldn't it be an intermediate result? Does it need this reflectance for training?
I'm sorry I didn't understand. If it's convenient for you, could you help me? Thank you.
Thanks for sharing your excellent work. Any plan for publishing the training code? Thanks
Hi, which Adobe5k images did you use in your training dataset? How did you preprocess the adobe5k images? Many thanks, Sean
Hi
I am just wondering anyone managed to compile the hdrnet ops code for the bilateral grid upsampling operation? I have a hard time compiling it since it always gives bugs about the bilateral grid operation.
Thank you so much and best regards
Why not use the default PNSR setting?
The other methods are also calculated by your Metric?
Hi
Thank you for spending time reading this issue. I am wondering whether the Bilateral grid based upsampling is the bilateral_slice_apply operation is hdrnet?
I am also wondering whether the code is run on tensorflow 1.1 and cuda 8.0.....
It seems like the hdrnet can only run on tensorflow 1.1 and cuda 8.0
This is a very good paper and I look forward to releasing the code as soon as possible.
Hi, from the paper you have proposed a new dataset with 3000 images. Could you please share the download url?
here is the error:
(env_DeepUPE) fudan@fudan-DGX-Station:~/Desktop/wsl/DeepUPE$ python main/run.py checkpoints /home/fudan/Desktop/wsl/DeepUPE/input/o.jpg /home/fudan/Desktop/wsl/DeepUPE/output/
Traceback (most recent call last):
File "main/run.py", line 30, in
import models as models
File "/home/fudan/Desktop/wsl/DeepUPE/main/models.py", line 21, in
from layers import (conv, fc, bilateral_slice_apply)
File "/home/fudan/Desktop/wsl/DeepUPE/main/layers.py", line 20, in
import hdrnet_ops
File "/home/fudan/Desktop/wsl/DeepUPE/main/hdrnet_ops.py", line 28, in
_hdrnet = tf.load_op_library('/home/fudan/Desktop/wsl/DeepUPE/main/lib/hdrnet_ops.so')
File "/home/fudan/Desktop/wsl/DeepUPE/env_DeepUPE/lib/python3.5/site-packages/tensorflow/python/framework/load_library.py", line 56, in load_op_library
lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: /home/fudan/Desktop/wsl/DeepUPE/main/lib/hdrnet_ops.so: undefined symbol: _ZTIN10tensorflow8OpKernelE
also, the test set is not shared publicly in this link: https://drive.google.com/file/d/1HZnNgptNxjKJAhekz2K5yh0mW0yKIws2/view?usp=sharing
Hi, you did good work!
But I have trouble with loss weight, the L2-loss(reconstruction loss) finally converge to about 1000 for 16512512*3 [0,1],but the TV-loss calculated from groundtruth illumination map (get by input/gt image) and input is about 10^6, so we cannot place 1 for L2-loss and 2 for Tv-loss.
Any advise?
Hi, thank you for your work. I wonder how to compute the color loss mentioned in your paper. I couldn't find any specific codes computing color loss.
你好,请问能提供一下hdrnet_ops.so文件吗?
Traceback (most recent call last):
File "main/run.py", line 154, in
main(args)
File "main/run.py", line 78, in main
model_params = utils.get_model_params(sess)
File "/home/tcl980/snli/Proj-ImgEnhance/DeepUPE/DeepUPE/main/utils.py", line 24, in get_model_params
model_params = sess.run(params_)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 778, in run
run_metadata_ptr)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 982, in _run
feed_dict_string, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1032, in _do_run
target_list, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1052, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'BilateralSliceApply' with these attrs. Registered devices: [CPU], Registered kernels:
device='GPU'
[[Node: train/inference/output/slice/BilateralSliceApply = BilateralSliceApply[has_offset=true, _device="/device:GPU:0"](train/inference/output/slice/Reshape, train/inference/guide/Squeeze, train_data/shuffle_batch)]]
Caused by op u'train/inference/output/slice/BilateralSliceApply', defined at:
File "main/run.py", line 154, in
main(args)
File "main/run.py", line 75, in main
tf.train.import_meta_graph(metapath)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 1595, in import_meta_graph
**kwargs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/meta_graph.py", line 499, in import_scoped_meta_graph
producer_op_list=producer_op_list)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/importer.py", line 308, in import_graph_def
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2336, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1228, in init
self._traceback = _extract_stack()
InvalidArgumentError (see above for traceback): No OpKernel was registered to support Op 'BilateralSliceApply' with these attrs. Registered devices: [CPU], Registered kernels:
device='GPU'
[[Node: train/inference/output/slice/BilateralSliceApply = BilateralSliceApply[has_offset=true, _device="/device:GPU:0"](train/inference/output/slice/Reshape, train/inference/guide/Squeeze, train_data/shuffle_batch)]]
How many trainable parameters does your model have?
hdrnet_ops.so 一座大山
I've been reporting errors: ValueError: Invalid shape for image array
Hello, thank you for your work.
I want to know whether the PSNR and SSIM results in table 2 in the original paper is tested on the RGB channel or Lab space as it is mentioned in HDRNet. In many previous works, they always use 4500 images for training, 250 images for validation and the randomly-chosen images for test on the MIT-Adobe Five5K dataset while in your model there are 500 images for test. I want to know if you use the same setting when re-train others' network.
Looking forward for your reply!
Traceback (most recent call last):
File "./main/run.py", line 137, in
main(args)
File "./main/run.py", line 64, in main
if not hasattr(models, model_params['model_name']):
TypeError: hasattr(): attribute name must be string
hi, RT.
Can you share the codes of color loss ?
when i run it with :
CUDA_VISIBLE_DEVICES=2 python ./main/run.py checkpoints '/data2/xxx/data/data_DarkFace/image_train' '/data2/xxx/data/data_DarkFace/image_train_dupe_enhance'
i get
Traceback (most recent call last):
File "./main/run.py", line 15, in
import main.models as models
ModuleNotFoundError: No module named 'main'
I have tried 'make' many times,but there're still endless errors which I can't figure out. I'm a green hand in ML and DL, thank you.
In the hdrnet_ops.py, there are code about hdrnet_ops.so. But this project doesn't provide the hdrnet_ops.so. Can you offer the file or provide the way to fix it?
path = tf.resource_loader.get_path_to_datafile( os.path.join(path, 'lib', 'hdrnet_ops.so'))
一名研一学生,学习图像处理,对该方法很感兴趣,故咨询MATLAB代码,谢谢。
Hi, I am wondering whether I can ask something about the bilinear grid upsampling layer?
The original bilinear grid upsampling layer in the HDRNET seems to take a single-channel guide map and the feature map. Here it seems like it take the input image and the feature map(? not sure if I understand it right). Is it implemented in the manner as the HDRnet?
Also, I am wondering whether this bilateral grid upsampling layer actually help with the learning of the image to illumination mapping? Or it is just to apply the learned local affine transform to the high-res image?
Thank you so much and best regards
Hello, I appreciate your contribution. I used your pre-training model to test the FIVEK data set, and found that the output is darker than label, and the HDR effect is not obvious. Why is that? Can you release some test results? I want to compare them and verify what caused the problem.
Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so
Why is there no training process? The loss is not described in the same way as the article.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.