├── CAN24_AN ├── Dark_channel_dehazing │ ├── checkpoint │ ├── model.ckpt.data-00000-of-00001 │ ├── model.ckpt.index │ └── model.ckpt.meta ├── L0_smoothing │ ├── MIT-Adobe_test_1080p_result │ │ ├── 000001.png │ │ ├── 000002.png │ │ ├── 000003.png │ │ ├── 000004.png │ │ ├── 000005.png │ │ ├── 000006.png │ │ ├── 000007.png │ │ ├── 000008.png │ │ ├── 000009.png │ │ ├── 000010.png │ │ ├── 000070.png │ │ └── 000885.png │ ├── checkpoint │ ├── model.ckpt.data-00000-of-00001 │ ├── model.ckpt.index │ └── model.ckpt.meta ├── Multiscale_tone_manipulation │ ├── checkpoint │ ├── model.ckpt.data-00000-of-00001 │ ├── model.ckpt.index │ └── model.ckpt.meta ├── Nonlocal_dehazing │ ├── checkpoint │ ├── model.ckpt.data-00000-of-00001 │ ├── model.ckpt.index │ └── model.ckpt.meta ├── Pencil_drawing │ ├── checkpoint │ ├── model.ckpt.data-00000-of-00001 │ ├── model.ckpt.index │ └── model.ckpt.meta ├── Photographic_style │ ├── checkpoint │ ├── model.ckpt.data-00000-of-00001 │ ├── model.ckpt.index │ └── model.ckpt.meta ├── Relative_total_variation │ ├── checkpoint │ ├── model.ckpt.data-00000-of-00001 │ ├── model.ckpt.index │ └── model.ckpt.meta ├── Rudin_Osher_Fatemi │ ├── checkpoint │ ├── model.ckpt.data-00000-of-00001 │ ├── model.ckpt.index │ └── model.ckpt.meta ├── TV_L1 │ ├── checkpoint │ ├── model.ckpt.data-00000-of-00001 │ ├── model.ckpt.index │ └── model.ckpt.meta └── demo.py ├── Parameterized_Network ├── parameterized.py └── result_parameterized │ ├── checkpoint │ ├── model.ckpt.data-00000-of-00001 │ ├── model.ckpt.index │ └── model.ckpt.meta ├── Single_Network ├── combined.py └── result_combined │ ├── checkpoint │ ├── model.ckpt.data-00000-of-00001 │ ├── model.ckpt.index │ └── model.ckpt.meta ├── data ├── MIT-Adobe_test_1080p │ ├── 000001.png │ ├── 000002.png │ ├── 000003.png │ ├── 000004.png │ ├── 000005.png │ ├── 000006.png │ ├── 000007.png │ ├── 000008.png │ ├── 000009.png │ ├── 000010.png │ ├── 000070.png │ └── 000885.png ├── MIT-Adobe_train_480p └── MIT-Adobe_train_random ├── original_results ├── L0_smoothing └── L0_smoothing_parameterized │ └── MIT-Adobe_train_480p └── readme.MD /CAN24_AN/Dark_channel_dehazing/checkpoint: -------------------------------------------------------------------------------- 1 | model_checkpoint_path: "model.ckpt" 2 | all_model_checkpoint_paths: "0151/model.ckpt" 3 | all_model_checkpoint_paths: "0152/model.ckpt" 4 | all_model_checkpoint_paths: "0153/model.ckpt" 5 | all_model_checkpoint_paths: "0154/model.ckpt" 6 | all_model_checkpoint_paths: "0155/model.ckpt" 7 | all_model_checkpoint_paths: "0156/model.ckpt" 8 | all_model_checkpoint_paths: "0157/model.ckpt" 9 | all_model_checkpoint_paths: "0158/model.ckpt" 10 | all_model_checkpoint_paths: "0159/model.ckpt" 11 | all_model_checkpoint_paths: "0160/model.ckpt" 12 | all_model_checkpoint_paths: "0161/model.ckpt" 13 | all_model_checkpoint_paths: "0162/model.ckpt" 14 | all_model_checkpoint_paths: "0163/model.ckpt" 15 | all_model_checkpoint_paths: "0164/model.ckpt" 16 | all_model_checkpoint_paths: "0165/model.ckpt" 17 | all_model_checkpoint_paths: "0166/model.ckpt" 18 | all_model_checkpoint_paths: "0167/model.ckpt" 19 | all_model_checkpoint_paths: "0168/model.ckpt" 20 | all_model_checkpoint_paths: "0169/model.ckpt" 21 | all_model_checkpoint_paths: "0170/model.ckpt" 22 | all_model_checkpoint_paths: "0171/model.ckpt" 23 | all_model_checkpoint_paths: "0172/model.ckpt" 24 | all_model_checkpoint_paths: "0173/model.ckpt" 25 | all_model_checkpoint_paths: "0174/model.ckpt" 26 | all_model_checkpoint_paths: "0175/model.ckpt" 27 | all_model_checkpoint_paths: "0176/model.ckpt" 28 | all_model_checkpoint_paths: "0177/model.ckpt" 29 | all_model_checkpoint_paths: "0178/model.ckpt" 30 | all_model_checkpoint_paths: "0179/model.ckpt" 31 | all_model_checkpoint_paths: "model.ckpt" 32 | -------------------------------------------------------------------------------- /CAN24_AN/Dark_channel_dehazing/model.ckpt.data-00000-of-00001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Dark_channel_dehazing/model.ckpt.data-00000-of-00001 -------------------------------------------------------------------------------- /CAN24_AN/Dark_channel_dehazing/model.ckpt.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Dark_channel_dehazing/model.ckpt.index -------------------------------------------------------------------------------- /CAN24_AN/Dark_channel_dehazing/model.ckpt.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Dark_channel_dehazing/model.ckpt.meta -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000001.png -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000002.png -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000003.png -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000004.png -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000005.png -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000006.png -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000007.png -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000008.png -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000009.png -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000010.png -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000070.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000070.png -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000885.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result/000885.png -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/checkpoint: -------------------------------------------------------------------------------- 1 | model_checkpoint_path: "model.ckpt" 2 | all_model_checkpoint_paths: "0151/model.ckpt" 3 | all_model_checkpoint_paths: "0152/model.ckpt" 4 | all_model_checkpoint_paths: "0153/model.ckpt" 5 | all_model_checkpoint_paths: "0154/model.ckpt" 6 | all_model_checkpoint_paths: "0155/model.ckpt" 7 | all_model_checkpoint_paths: "0156/model.ckpt" 8 | all_model_checkpoint_paths: "0157/model.ckpt" 9 | all_model_checkpoint_paths: "0158/model.ckpt" 10 | all_model_checkpoint_paths: "0159/model.ckpt" 11 | all_model_checkpoint_paths: "0160/model.ckpt" 12 | all_model_checkpoint_paths: "0161/model.ckpt" 13 | all_model_checkpoint_paths: "0162/model.ckpt" 14 | all_model_checkpoint_paths: "0163/model.ckpt" 15 | all_model_checkpoint_paths: "0164/model.ckpt" 16 | all_model_checkpoint_paths: "0165/model.ckpt" 17 | all_model_checkpoint_paths: "0166/model.ckpt" 18 | all_model_checkpoint_paths: "0167/model.ckpt" 19 | all_model_checkpoint_paths: "0168/model.ckpt" 20 | all_model_checkpoint_paths: "0169/model.ckpt" 21 | all_model_checkpoint_paths: "0170/model.ckpt" 22 | all_model_checkpoint_paths: "0171/model.ckpt" 23 | all_model_checkpoint_paths: "0172/model.ckpt" 24 | all_model_checkpoint_paths: "0173/model.ckpt" 25 | all_model_checkpoint_paths: "0174/model.ckpt" 26 | all_model_checkpoint_paths: "0175/model.ckpt" 27 | all_model_checkpoint_paths: "0176/model.ckpt" 28 | all_model_checkpoint_paths: "0177/model.ckpt" 29 | all_model_checkpoint_paths: "0178/model.ckpt" 30 | all_model_checkpoint_paths: "0179/model.ckpt" 31 | all_model_checkpoint_paths: "model.ckpt" 32 | -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/model.ckpt.data-00000-of-00001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/model.ckpt.data-00000-of-00001 -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/model.ckpt.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/model.ckpt.index -------------------------------------------------------------------------------- /CAN24_AN/L0_smoothing/model.ckpt.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/L0_smoothing/model.ckpt.meta -------------------------------------------------------------------------------- /CAN24_AN/Multiscale_tone_manipulation/checkpoint: -------------------------------------------------------------------------------- 1 | model_checkpoint_path: "model.ckpt" 2 | all_model_checkpoint_paths: "0151/model.ckpt" 3 | all_model_checkpoint_paths: "0152/model.ckpt" 4 | all_model_checkpoint_paths: "0153/model.ckpt" 5 | all_model_checkpoint_paths: "0154/model.ckpt" 6 | all_model_checkpoint_paths: "0155/model.ckpt" 7 | all_model_checkpoint_paths: "0156/model.ckpt" 8 | all_model_checkpoint_paths: "0157/model.ckpt" 9 | all_model_checkpoint_paths: "0158/model.ckpt" 10 | all_model_checkpoint_paths: "0159/model.ckpt" 11 | all_model_checkpoint_paths: "0160/model.ckpt" 12 | all_model_checkpoint_paths: "0161/model.ckpt" 13 | all_model_checkpoint_paths: "0162/model.ckpt" 14 | all_model_checkpoint_paths: "0163/model.ckpt" 15 | all_model_checkpoint_paths: "0164/model.ckpt" 16 | all_model_checkpoint_paths: "0165/model.ckpt" 17 | all_model_checkpoint_paths: "0166/model.ckpt" 18 | all_model_checkpoint_paths: "0167/model.ckpt" 19 | all_model_checkpoint_paths: "0168/model.ckpt" 20 | all_model_checkpoint_paths: "0169/model.ckpt" 21 | all_model_checkpoint_paths: "0170/model.ckpt" 22 | all_model_checkpoint_paths: "0171/model.ckpt" 23 | all_model_checkpoint_paths: "0172/model.ckpt" 24 | all_model_checkpoint_paths: "0173/model.ckpt" 25 | all_model_checkpoint_paths: "0174/model.ckpt" 26 | all_model_checkpoint_paths: "0175/model.ckpt" 27 | all_model_checkpoint_paths: "0176/model.ckpt" 28 | all_model_checkpoint_paths: "0177/model.ckpt" 29 | all_model_checkpoint_paths: "0178/model.ckpt" 30 | all_model_checkpoint_paths: "0179/model.ckpt" 31 | all_model_checkpoint_paths: "model.ckpt" 32 | -------------------------------------------------------------------------------- /CAN24_AN/Multiscale_tone_manipulation/model.ckpt.data-00000-of-00001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Multiscale_tone_manipulation/model.ckpt.data-00000-of-00001 -------------------------------------------------------------------------------- /CAN24_AN/Multiscale_tone_manipulation/model.ckpt.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Multiscale_tone_manipulation/model.ckpt.index -------------------------------------------------------------------------------- /CAN24_AN/Multiscale_tone_manipulation/model.ckpt.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Multiscale_tone_manipulation/model.ckpt.meta -------------------------------------------------------------------------------- /CAN24_AN/Nonlocal_dehazing/checkpoint: -------------------------------------------------------------------------------- 1 | model_checkpoint_path: "model.ckpt" 2 | all_model_checkpoint_paths: "0151/model.ckpt" 3 | all_model_checkpoint_paths: "0152/model.ckpt" 4 | all_model_checkpoint_paths: "0153/model.ckpt" 5 | all_model_checkpoint_paths: "0154/model.ckpt" 6 | all_model_checkpoint_paths: "0155/model.ckpt" 7 | all_model_checkpoint_paths: "0156/model.ckpt" 8 | all_model_checkpoint_paths: "0157/model.ckpt" 9 | all_model_checkpoint_paths: "0158/model.ckpt" 10 | all_model_checkpoint_paths: "0159/model.ckpt" 11 | all_model_checkpoint_paths: "0160/model.ckpt" 12 | all_model_checkpoint_paths: "0161/model.ckpt" 13 | all_model_checkpoint_paths: "0162/model.ckpt" 14 | all_model_checkpoint_paths: "0163/model.ckpt" 15 | all_model_checkpoint_paths: "0164/model.ckpt" 16 | all_model_checkpoint_paths: "0165/model.ckpt" 17 | all_model_checkpoint_paths: "0166/model.ckpt" 18 | all_model_checkpoint_paths: "0167/model.ckpt" 19 | all_model_checkpoint_paths: "0168/model.ckpt" 20 | all_model_checkpoint_paths: "0169/model.ckpt" 21 | all_model_checkpoint_paths: "0170/model.ckpt" 22 | all_model_checkpoint_paths: "0171/model.ckpt" 23 | all_model_checkpoint_paths: "0172/model.ckpt" 24 | all_model_checkpoint_paths: "0173/model.ckpt" 25 | all_model_checkpoint_paths: "0174/model.ckpt" 26 | all_model_checkpoint_paths: "0175/model.ckpt" 27 | all_model_checkpoint_paths: "0176/model.ckpt" 28 | all_model_checkpoint_paths: "0177/model.ckpt" 29 | all_model_checkpoint_paths: "0178/model.ckpt" 30 | all_model_checkpoint_paths: "0179/model.ckpt" 31 | all_model_checkpoint_paths: "model.ckpt" 32 | -------------------------------------------------------------------------------- /CAN24_AN/Nonlocal_dehazing/model.ckpt.data-00000-of-00001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Nonlocal_dehazing/model.ckpt.data-00000-of-00001 -------------------------------------------------------------------------------- /CAN24_AN/Nonlocal_dehazing/model.ckpt.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Nonlocal_dehazing/model.ckpt.index -------------------------------------------------------------------------------- /CAN24_AN/Nonlocal_dehazing/model.ckpt.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Nonlocal_dehazing/model.ckpt.meta -------------------------------------------------------------------------------- /CAN24_AN/Pencil_drawing/checkpoint: -------------------------------------------------------------------------------- 1 | model_checkpoint_path: "model.ckpt" 2 | all_model_checkpoint_paths: "0151/model.ckpt" 3 | all_model_checkpoint_paths: "0152/model.ckpt" 4 | all_model_checkpoint_paths: "0153/model.ckpt" 5 | all_model_checkpoint_paths: "0154/model.ckpt" 6 | all_model_checkpoint_paths: "0155/model.ckpt" 7 | all_model_checkpoint_paths: "0156/model.ckpt" 8 | all_model_checkpoint_paths: "0157/model.ckpt" 9 | all_model_checkpoint_paths: "0158/model.ckpt" 10 | all_model_checkpoint_paths: "0159/model.ckpt" 11 | all_model_checkpoint_paths: "0160/model.ckpt" 12 | all_model_checkpoint_paths: "0161/model.ckpt" 13 | all_model_checkpoint_paths: "0162/model.ckpt" 14 | all_model_checkpoint_paths: "0163/model.ckpt" 15 | all_model_checkpoint_paths: "0164/model.ckpt" 16 | all_model_checkpoint_paths: "0165/model.ckpt" 17 | all_model_checkpoint_paths: "0166/model.ckpt" 18 | all_model_checkpoint_paths: "0167/model.ckpt" 19 | all_model_checkpoint_paths: "0168/model.ckpt" 20 | all_model_checkpoint_paths: "0169/model.ckpt" 21 | all_model_checkpoint_paths: "0170/model.ckpt" 22 | all_model_checkpoint_paths: "0171/model.ckpt" 23 | all_model_checkpoint_paths: "0172/model.ckpt" 24 | all_model_checkpoint_paths: "0173/model.ckpt" 25 | all_model_checkpoint_paths: "0174/model.ckpt" 26 | all_model_checkpoint_paths: "0175/model.ckpt" 27 | all_model_checkpoint_paths: "0176/model.ckpt" 28 | all_model_checkpoint_paths: "0177/model.ckpt" 29 | all_model_checkpoint_paths: "0178/model.ckpt" 30 | all_model_checkpoint_paths: "0179/model.ckpt" 31 | all_model_checkpoint_paths: "model.ckpt" 32 | -------------------------------------------------------------------------------- /CAN24_AN/Pencil_drawing/model.ckpt.data-00000-of-00001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Pencil_drawing/model.ckpt.data-00000-of-00001 -------------------------------------------------------------------------------- /CAN24_AN/Pencil_drawing/model.ckpt.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Pencil_drawing/model.ckpt.index -------------------------------------------------------------------------------- /CAN24_AN/Pencil_drawing/model.ckpt.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Pencil_drawing/model.ckpt.meta -------------------------------------------------------------------------------- /CAN24_AN/Photographic_style/checkpoint: -------------------------------------------------------------------------------- 1 | model_checkpoint_path: "model.ckpt" 2 | all_model_checkpoint_paths: "0151/model.ckpt" 3 | all_model_checkpoint_paths: "0152/model.ckpt" 4 | all_model_checkpoint_paths: "0153/model.ckpt" 5 | all_model_checkpoint_paths: "0154/model.ckpt" 6 | all_model_checkpoint_paths: "0155/model.ckpt" 7 | all_model_checkpoint_paths: "0156/model.ckpt" 8 | all_model_checkpoint_paths: "0157/model.ckpt" 9 | all_model_checkpoint_paths: "0158/model.ckpt" 10 | all_model_checkpoint_paths: "0159/model.ckpt" 11 | all_model_checkpoint_paths: "0160/model.ckpt" 12 | all_model_checkpoint_paths: "0161/model.ckpt" 13 | all_model_checkpoint_paths: "0162/model.ckpt" 14 | all_model_checkpoint_paths: "0163/model.ckpt" 15 | all_model_checkpoint_paths: "0164/model.ckpt" 16 | all_model_checkpoint_paths: "0165/model.ckpt" 17 | all_model_checkpoint_paths: "0166/model.ckpt" 18 | all_model_checkpoint_paths: "0167/model.ckpt" 19 | all_model_checkpoint_paths: "0168/model.ckpt" 20 | all_model_checkpoint_paths: "0169/model.ckpt" 21 | all_model_checkpoint_paths: "0170/model.ckpt" 22 | all_model_checkpoint_paths: "0171/model.ckpt" 23 | all_model_checkpoint_paths: "0172/model.ckpt" 24 | all_model_checkpoint_paths: "0173/model.ckpt" 25 | all_model_checkpoint_paths: "0174/model.ckpt" 26 | all_model_checkpoint_paths: "0175/model.ckpt" 27 | all_model_checkpoint_paths: "0176/model.ckpt" 28 | all_model_checkpoint_paths: "0177/model.ckpt" 29 | all_model_checkpoint_paths: "0178/model.ckpt" 30 | all_model_checkpoint_paths: "0179/model.ckpt" 31 | all_model_checkpoint_paths: "model.ckpt" 32 | -------------------------------------------------------------------------------- /CAN24_AN/Photographic_style/model.ckpt.data-00000-of-00001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Photographic_style/model.ckpt.data-00000-of-00001 -------------------------------------------------------------------------------- /CAN24_AN/Photographic_style/model.ckpt.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Photographic_style/model.ckpt.index -------------------------------------------------------------------------------- /CAN24_AN/Photographic_style/model.ckpt.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Photographic_style/model.ckpt.meta -------------------------------------------------------------------------------- /CAN24_AN/Relative_total_variation/checkpoint: -------------------------------------------------------------------------------- 1 | model_checkpoint_path: "model.ckpt" 2 | all_model_checkpoint_paths: "0151/model.ckpt" 3 | all_model_checkpoint_paths: "0152/model.ckpt" 4 | all_model_checkpoint_paths: "0153/model.ckpt" 5 | all_model_checkpoint_paths: "0154/model.ckpt" 6 | all_model_checkpoint_paths: "0155/model.ckpt" 7 | all_model_checkpoint_paths: "0156/model.ckpt" 8 | all_model_checkpoint_paths: "0157/model.ckpt" 9 | all_model_checkpoint_paths: "0158/model.ckpt" 10 | all_model_checkpoint_paths: "0159/model.ckpt" 11 | all_model_checkpoint_paths: "0160/model.ckpt" 12 | all_model_checkpoint_paths: "0161/model.ckpt" 13 | all_model_checkpoint_paths: "0162/model.ckpt" 14 | all_model_checkpoint_paths: "0163/model.ckpt" 15 | all_model_checkpoint_paths: "0164/model.ckpt" 16 | all_model_checkpoint_paths: "0165/model.ckpt" 17 | all_model_checkpoint_paths: "0166/model.ckpt" 18 | all_model_checkpoint_paths: "0167/model.ckpt" 19 | all_model_checkpoint_paths: "0168/model.ckpt" 20 | all_model_checkpoint_paths: "0169/model.ckpt" 21 | all_model_checkpoint_paths: "0170/model.ckpt" 22 | all_model_checkpoint_paths: "0171/model.ckpt" 23 | all_model_checkpoint_paths: "0172/model.ckpt" 24 | all_model_checkpoint_paths: "0173/model.ckpt" 25 | all_model_checkpoint_paths: "0174/model.ckpt" 26 | all_model_checkpoint_paths: "0175/model.ckpt" 27 | all_model_checkpoint_paths: "0176/model.ckpt" 28 | all_model_checkpoint_paths: "0177/model.ckpt" 29 | all_model_checkpoint_paths: "0178/model.ckpt" 30 | all_model_checkpoint_paths: "0179/model.ckpt" 31 | all_model_checkpoint_paths: "model.ckpt" 32 | -------------------------------------------------------------------------------- /CAN24_AN/Relative_total_variation/model.ckpt.data-00000-of-00001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Relative_total_variation/model.ckpt.data-00000-of-00001 -------------------------------------------------------------------------------- /CAN24_AN/Relative_total_variation/model.ckpt.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Relative_total_variation/model.ckpt.index -------------------------------------------------------------------------------- /CAN24_AN/Relative_total_variation/model.ckpt.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Relative_total_variation/model.ckpt.meta -------------------------------------------------------------------------------- /CAN24_AN/Rudin_Osher_Fatemi/checkpoint: -------------------------------------------------------------------------------- 1 | model_checkpoint_path: "model.ckpt" 2 | all_model_checkpoint_paths: "0151/model.ckpt" 3 | all_model_checkpoint_paths: "0152/model.ckpt" 4 | all_model_checkpoint_paths: "0153/model.ckpt" 5 | all_model_checkpoint_paths: "0154/model.ckpt" 6 | all_model_checkpoint_paths: "0155/model.ckpt" 7 | all_model_checkpoint_paths: "0156/model.ckpt" 8 | all_model_checkpoint_paths: "0157/model.ckpt" 9 | all_model_checkpoint_paths: "0158/model.ckpt" 10 | all_model_checkpoint_paths: "0159/model.ckpt" 11 | all_model_checkpoint_paths: "0160/model.ckpt" 12 | all_model_checkpoint_paths: "0161/model.ckpt" 13 | all_model_checkpoint_paths: "0162/model.ckpt" 14 | all_model_checkpoint_paths: "0163/model.ckpt" 15 | all_model_checkpoint_paths: "0164/model.ckpt" 16 | all_model_checkpoint_paths: "0165/model.ckpt" 17 | all_model_checkpoint_paths: "0166/model.ckpt" 18 | all_model_checkpoint_paths: "0167/model.ckpt" 19 | all_model_checkpoint_paths: "0168/model.ckpt" 20 | all_model_checkpoint_paths: "0169/model.ckpt" 21 | all_model_checkpoint_paths: "0170/model.ckpt" 22 | all_model_checkpoint_paths: "0171/model.ckpt" 23 | all_model_checkpoint_paths: "0172/model.ckpt" 24 | all_model_checkpoint_paths: "0173/model.ckpt" 25 | all_model_checkpoint_paths: "0174/model.ckpt" 26 | all_model_checkpoint_paths: "0175/model.ckpt" 27 | all_model_checkpoint_paths: "0176/model.ckpt" 28 | all_model_checkpoint_paths: "0177/model.ckpt" 29 | all_model_checkpoint_paths: "0178/model.ckpt" 30 | all_model_checkpoint_paths: "0179/model.ckpt" 31 | all_model_checkpoint_paths: "model.ckpt" 32 | -------------------------------------------------------------------------------- /CAN24_AN/Rudin_Osher_Fatemi/model.ckpt.data-00000-of-00001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Rudin_Osher_Fatemi/model.ckpt.data-00000-of-00001 -------------------------------------------------------------------------------- /CAN24_AN/Rudin_Osher_Fatemi/model.ckpt.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Rudin_Osher_Fatemi/model.ckpt.index -------------------------------------------------------------------------------- /CAN24_AN/Rudin_Osher_Fatemi/model.ckpt.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/Rudin_Osher_Fatemi/model.ckpt.meta -------------------------------------------------------------------------------- /CAN24_AN/TV_L1/checkpoint: -------------------------------------------------------------------------------- 1 | model_checkpoint_path: "model.ckpt" 2 | all_model_checkpoint_paths: "model.ckpt" 3 | -------------------------------------------------------------------------------- /CAN24_AN/TV_L1/model.ckpt.data-00000-of-00001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/TV_L1/model.ckpt.data-00000-of-00001 -------------------------------------------------------------------------------- /CAN24_AN/TV_L1/model.ckpt.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/TV_L1/model.ckpt.index -------------------------------------------------------------------------------- /CAN24_AN/TV_L1/model.ckpt.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/CAN24_AN/TV_L1/model.ckpt.meta -------------------------------------------------------------------------------- /CAN24_AN/demo.py: -------------------------------------------------------------------------------- 1 | from __future__ import division 2 | import os,time,cv2 3 | import tensorflow as tf 4 | import tensorflow.contrib.slim as slim 5 | import numpy as np 6 | 7 | def lrelu(x): 8 | return tf.maximum(x*0.2,x) 9 | 10 | def identity_initializer(): 11 | def _initializer(shape, dtype=tf.float32, partition_info=None): 12 | array = np.zeros(shape, dtype=float) 13 | cx, cy = shape[0]//2, shape[1]//2 14 | for i in range(np.minimum(shape[2],shape[3])): 15 | array[cx, cy, i, i] = 1 16 | return tf.constant(array, dtype=dtype) 17 | return _initializer 18 | 19 | def nm(x): 20 | w0=tf.Variable(1.0,name='w0') 21 | w1=tf.Variable(0.0,name='w1') 22 | return w0*x+w1*slim.batch_norm(x) # the parameter "is_training" in slim.batch_norm does not seem to help so I do not use it 23 | 24 | def build(input): 25 | net=slim.conv2d(input,24,[3,3],rate=1,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv1') 26 | net=slim.conv2d(net,24,[3,3],rate=2,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv2') 27 | net=slim.conv2d(net,24,[3,3],rate=4,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv3') 28 | net=slim.conv2d(net,24,[3,3],rate=8,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv4') 29 | net=slim.conv2d(net,24,[3,3],rate=16,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv5') 30 | net=slim.conv2d(net,24,[3,3],rate=32,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv6') 31 | net=slim.conv2d(net,24,[3,3],rate=64,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv7') 32 | # net=slim.conv2d(net,24,[3,3],rate=128,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv8') 33 | net=slim.conv2d(net,24,[3,3],rate=1,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv9') 34 | net=slim.conv2d(net,3,[1,1],rate=1,activation_fn=None,scope='g_conv_last') 35 | return net 36 | 37 | def prepare_data(task): 38 | input_names=[] 39 | output_names=[] 40 | finetune_input_names=[] 41 | finetune_output_names=[] 42 | val_names=[] 43 | for dirname in ['MIT-Adobe_train_480p']: 44 | for i in range(1,2501): 45 | input_names.append("../data/%s/%06d.png"%(dirname,i))#training input image at 480p 46 | output_names.append("../original_results/%s/%s/%06d.png"%(task,dirname,i))#training output image at 480p 47 | for dirname in ['MIT-Adobe_train_random']: 48 | for i in range(1,2501): 49 | finetune_input_names.append("../data/%s/%06d.png"%(dirname,i))#training input image at random resolution 50 | finetune_output_names.append("../original_results/%s/%s/%06d.png"%(task,dirname,i))#training output image at random resolution 51 | for dirname in ['MIT-Adobe_test_1080p']: 52 | for i in range(1,2501): 53 | val_names.append("../data/%s/%06d.png"%(dirname,i))#test input image at 1080p 54 | return input_names,output_names,val_names,finetune_input_names,finetune_output_names 55 | 56 | os.system('nvidia-smi -q -d Memory |grep -A4 GPU|grep Free >tmp') 57 | os.environ['CUDA_VISIBLE_DEVICES']=str(np.argmax([int(x.split()[2]) for x in open('tmp','r').readlines()])) 58 | os.system('rm tmp') 59 | 60 | task="L0_smoothing" 61 | is_training=False 62 | sess=tf.Session() 63 | 64 | input_names,output_names,val_names,finetune_input_names,finetune_output_names=prepare_data(task) 65 | input=tf.placeholder(tf.float32,shape=[None,None,None,3]) 66 | output=tf.placeholder(tf.float32,shape=[None,None,None,3]) 67 | network=build(input) 68 | loss=tf.reduce_mean(tf.square(network-output)) 69 | 70 | opt=tf.train.AdamOptimizer(learning_rate=0.0001).minimize(loss,var_list=[var for var in tf.trainable_variables()]) 71 | 72 | saver=tf.train.Saver(max_to_keep=1000) 73 | sess.run(tf.global_variables_initializer()) 74 | 75 | ckpt=tf.train.get_checkpoint_state(task) 76 | if ckpt: 77 | print('loaded '+ckpt.model_checkpoint_path) 78 | saver.restore(sess,ckpt.model_checkpoint_path) 79 | 80 | if is_training: 81 | all=np.zeros(3000, dtype=float) 82 | for epoch in range(1,181): 83 | if epoch==1 or epoch==151: 84 | input_images=[None]*len(input_names) 85 | output_images=[None]*len(input_names) 86 | 87 | if os.path.isdir("%s/%04d"%(task,epoch)): 88 | continue 89 | cnt=0 90 | for id in np.random.permutation(len(input_names)): 91 | st=time.time() 92 | if input_images[id] is None: 93 | input_images[id]=np.expand_dims(np.float32(cv2.imread(input_names[id] if epoch<=150 else finetune_input_names[id],-1)),axis=0)/255.0 94 | output_images[id]=np.expand_dims(np.float32(cv2.imread(output_names[id] if epoch<=150 else finetune_output_names[id],-1)),axis=0)/255.0 95 | if input_images[id].shape[1]*input_images[id].shape[2]>2200000:#due to GPU memory limitation 96 | continue 97 | _,current=sess.run([opt,loss],feed_dict={input:input_images[id],output:output_images[id]}) 98 | all[id]=current*255.0*255.0 99 | cnt+=1 100 | print("%d %d %.2f %.2f %.2f %s"%(epoch,cnt,current*255.0*255.0,np.mean(all[np.where(all)]),time.time()-st,os.getcwd().split('/')[-2])) 101 | 102 | os.makedirs("%s/%04d"%(task,epoch)) 103 | target=open("%s/%04d/score.txt"%(task,epoch),'w') 104 | target.write("%f"%np.mean(all[np.where(all)])) 105 | target.close() 106 | 107 | saver.save(sess,"%s/model.ckpt"%task) 108 | saver.save(sess,"%s/%04d/model.ckpt"%(task,epoch)) 109 | for ind in range(10): 110 | input_image=np.expand_dims(np.float32(cv2.imread(val_names[ind],-1)),axis=0)/255.0 111 | st=time.time() 112 | output_image=sess.run(network,feed_dict={input:input_image}) 113 | print("%.3f"%(time.time()-st)) 114 | output_image=np.minimum(np.maximum(output_image,0.0),1.0)*255.0 115 | cv2.imwrite("%s/%04d/%06d.jpg"%(task,epoch,ind+1),np.uint8(output_image[0,:,:,:])) 116 | 117 | if not os.path.isdir("%s/MIT-Adobe_test_1080p_result"%task): 118 | os.makedirs("%s/MIT-Adobe_test_1080p_result"%task) 119 | for ind in range(len(val_names)): 120 | if not os.path.isfile(val_names[ind]): 121 | continue 122 | input_image=np.expand_dims(np.float32(cv2.imread(val_names[ind],-1)),axis=0)/255.0 123 | st=time.time() 124 | output_image=sess.run(network,feed_dict={input:input_image}) 125 | print("%.3f"%(time.time()-st)) 126 | output_image=np.minimum(np.maximum(output_image,0.0),1.0)*255.0 127 | cv2.imwrite("%s/MIT-Adobe_test_1080p_result/%06d.png"%(task,ind+1),np.uint8(output_image[0,:,:,:])) 128 | 129 | -------------------------------------------------------------------------------- /Parameterized_Network/parameterized.py: -------------------------------------------------------------------------------- 1 | from __future__ import division 2 | import os,time,cv2 3 | import tensorflow as tf 4 | import tensorflow.contrib.slim as slim 5 | import numpy as np 6 | 7 | def lrelu(x): 8 | return tf.maximum(x*0.2,x) 9 | 10 | def identity_initializer(): 11 | def _initializer(shape, dtype=tf.float32, partition_info=None): 12 | array = np.zeros(shape, dtype=float) 13 | cx, cy = shape[0]//2, shape[1]//2 14 | for i in range(shape[2]): 15 | array[cx, cy, i, i] = 1 16 | return tf.constant(array, dtype=dtype) 17 | return _initializer 18 | 19 | def nm(x): 20 | w0=tf.Variable(1.0,name='w0') 21 | w1=tf.Variable(0.0,name='w1') 22 | return w0*x+w1*slim.batch_norm(x) 23 | 24 | def build(input): 25 | net=slim.conv2d(input,32,[3,3],rate=1,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv1') 26 | net=slim.conv2d(net,32,[3,3],rate=2,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv2') 27 | net=slim.conv2d(net,32,[3,3],rate=4,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv3') 28 | net=slim.conv2d(net,32,[3,3],rate=8,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv4') 29 | net=slim.conv2d(net,32,[3,3],rate=16,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv5') 30 | net=slim.conv2d(net,32,[3,3],rate=32,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv6') 31 | net=slim.conv2d(net,32,[3,3],rate=64,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv7') 32 | net=slim.conv2d(net,32,[3,3],rate=128,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv8') 33 | net=slim.conv2d(net,32,[3,3],rate=1,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv9') 34 | net=slim.conv2d(net,3,[1,1],rate=1,activation_fn=None,scope='g_conv_last') 35 | return net 36 | 37 | def prepare_data(): 38 | input_names=[] 39 | hyper_names=[] 40 | output_names=[] 41 | finetune_input_names=[] 42 | finetune_output_names=[] 43 | finetune_hyper_names=[] 44 | val_names=[] 45 | val_hyper_names=[] 46 | for dirname in ['MIT-Adobe_train_480p']:#training images at 480p 47 | for i in range(1,2501): 48 | input_names.append("../data/%s/%06d.png"%(dirname,i)) 49 | hyper_names.append("../original_results/L0_smoothing_parameterized/%s/%06d.txt"%(dirname,i))#a single parameter in the txt 50 | output_names.append("../original_results/L0_smoothing_parameterized/%s/%06d.png"%(dirname,i)) 51 | for dirname in ['MIT-Adobe_train_random']:#test images at random resolutions 52 | for i in range(1,2501): 53 | finetune_input_names.append("../data/%s/%06d.png"%(dirname,i)) 54 | finetune_hyper_names.append("../original_results/L0_smoothing_parameterized/%s/%06d.txt" % (dirname, i))#a single parameter in the txt 55 | finetune_output_names.append("../original_results/L0_smoothing_parameterized/%s/%06d.png"%(dirname,i)) 56 | for dirname in ['MIT-Adobe_test_1080p']:#test images at 1080p 57 | for i in range(1,2501): 58 | val_names.append("../data/%s/%06d.png"%(dirname,i)) 59 | val_hyper_names.append("../original_results/L0_smoothing_parameterized/%s/%06d.txt"%(dirname,i))#a single parameter in the txt 60 | return input_names,hyper_names,output_names,val_names,val_hyper_names,finetune_input_names,finetune_output_names,finetune_hyper_names 61 | 62 | os.system('nvidia-smi -q -d Memory |grep -A4 GPU|grep Free >tmp') 63 | os.environ['CUDA_VISIBLE_DEVICES']=str(np.argmax([int(x.split()[2]) for x in open('tmp','r').readlines()])) 64 | os.system('rm tmp') 65 | 66 | sess=tf.Session() 67 | is_training=False 68 | 69 | input_names,hyper_names,output_names,val_names,val_hyper_names,finetune_input_names,finetune_output_names,finetune_hyper_names=prepare_data() 70 | input=tf.placeholder(tf.float32,shape=[None,None,None,4]) 71 | output=tf.placeholder(tf.float32,shape=[None,None,None,3]) 72 | network=build(input) 73 | loss=tf.reduce_mean(tf.square(network-output)) 74 | 75 | opt=tf.train.AdamOptimizer(learning_rate=0.0001).minimize(loss,var_list=[var for var in tf.trainable_variables() if var.name.startswith('g_')]) 76 | 77 | saver=tf.train.Saver(max_to_keep=1000) 78 | sess.run(tf.global_variables_initializer()) 79 | 80 | ckpt=tf.train.get_checkpoint_state("result_parameterized") 81 | if ckpt: 82 | print('loaded '+ckpt.model_checkpoint_path) 83 | saver.restore(sess,ckpt.model_checkpoint_path) 84 | 85 | if is_training: 86 | all=np.zeros(3000, dtype=float) 87 | for epoch in range(1,181): 88 | if epoch==1 or epoch==151: 89 | input_images=[None]*len(input_names) 90 | output_images=[None]*len(input_names) 91 | hyper_parameters=[None]*len(input_names) 92 | if os.path.isdir("result_parameterized/%04d"%epoch): 93 | continue 94 | cnt=0 95 | for id in np.random.permutation(len(input_names)): 96 | st=time.time() 97 | if input_images[id] is None: 98 | input_images[id]=np.expand_dims(np.float32(cv2.imread(input_names[id] if epoch<=150 else finetune_input_names[id],-1)),axis=0)/255.0 99 | output_images[id]=np.expand_dims(np.float32(cv2.imread(output_names[id] if epoch<=150 else finetune_output_names[id],-1)),axis=0)/255.0 100 | hyper_parameters[id]=np.tile(float(open(hyper_names[id] if epoch<=150 else finetune_hyper_names[id],'r').readline()),(1,input_images[id].shape[1],input_images[id].shape[2],1)) 101 | _,current=sess.run([opt,loss],feed_dict={input:np.concatenate((input_images[id],hyper_parameters[id]),axis=3),output:output_images[id]}) 102 | all[id]=current*255.0*255.0 103 | cnt+=1 104 | print("%d %d %.2f %.2f %.2f %s"%(epoch,cnt,current*255.0*255.0,np.mean(all[np.where(all)]),time.time()-st,os.getcwd().split('/')[-2])) 105 | 106 | os.makedirs("result_parameterized/%04d"%epoch) 107 | target=open("result_parameterized/%04d/score.txt"%epoch,'w') 108 | target.write("%f"%np.mean(all[np.where(all)])) 109 | target.close() 110 | 111 | saver.save(sess,"result_parameterized/model.ckpt") 112 | saver.save(sess,"result_parameterized/%04d/model.ckpt"%epoch) 113 | for ind in range(10): 114 | input_image=np.expand_dims(np.float32(cv2.imread(val_names[ind],-1)),axis=0)/255.0 115 | hyper_parameter=np.tile(float(open(val_hyper_names[ind],'r').readline()),(1,input_image.shape[1],input_image.shape[2],1)) 116 | st=time.time() 117 | output_image=sess.run(network,feed_dict={input:np.concatenate((input_image,hyper_parameter),axis=3)}) 118 | print("%.3f"%(time.time()-st)) 119 | output_image=np.minimum(np.maximum(output_image,0.0),1.0)*255.0 120 | cv2.imwrite("result_parameterized/%04d/%06d.png"%(epoch,ind+1),np.uint8(output_image[0,:,:,:])) 121 | 122 | if not os.path.isdir("result_parameterized/video"): 123 | os.makedirs("result_parameterized/video") 124 | input_image=np.expand_dims(np.float32(cv2.imread(val_names[884],-1)),axis=0)/255.0 125 | cnt=0 126 | for k in range(2,201): 127 | hyper_parameter=np.tile(k/200.0,(1,input_image.shape[1],input_image.shape[2],1)) 128 | output_image=sess.run(network,feed_dict={input:np.concatenate((input_image,hyper_parameter),axis=3)}) 129 | output_image=np.minimum(np.maximum(output_image,0.0),1.0)*255.0 130 | cnt+=1 131 | cv2.imwrite("result_parameterized/video/%06d.png"%cnt,np.uint8(output_image[0,:,:,:])) 132 | exit() 133 | 134 | if not os.path.isdir("result_parameterized/MIT-Adobe_test_1080p"): 135 | os.makedirs("result_parameterized/MIT-Adobe_test_1080p") 136 | for ind in range(len(val_names)): 137 | input_image=np.expand_dims(np.float32(cv2.imread(val_names[ind],-1)),axis=0)/255.0 138 | hyper_parameter=np.tile(float(open(val_hyper_names[ind], 'r').readline()),(1,input_image.shape[1],input_image.shape[2],1)) 139 | st=time.time() 140 | output_image=sess.run(network,feed_dict={input:np.concatenate((input_image,hyper_parameter),axis=3)}) 141 | print("%.3f"%(time.time()-st)) 142 | output_image=np.minimum(np.maximum(output_image,0.0),1.0)*255.0 143 | cv2.imwrite("result_parameterized/MIT-Adobe_test_1080p/%06d.png"%(ind+1),np.uint8(output_image[0,:,:,:])) 144 | -------------------------------------------------------------------------------- /Parameterized_Network/result_parameterized/checkpoint: -------------------------------------------------------------------------------- 1 | model_checkpoint_path: "model.ckpt" 2 | all_model_checkpoint_paths: "0181/model.ckpt" 3 | all_model_checkpoint_paths: "0182/model.ckpt" 4 | all_model_checkpoint_paths: "0183/model.ckpt" 5 | all_model_checkpoint_paths: "0184/model.ckpt" 6 | all_model_checkpoint_paths: "0185/model.ckpt" 7 | all_model_checkpoint_paths: "0186/model.ckpt" 8 | all_model_checkpoint_paths: "0187/model.ckpt" 9 | all_model_checkpoint_paths: "0188/model.ckpt" 10 | all_model_checkpoint_paths: "0189/model.ckpt" 11 | all_model_checkpoint_paths: "0190/model.ckpt" 12 | all_model_checkpoint_paths: "0191/model.ckpt" 13 | all_model_checkpoint_paths: "0192/model.ckpt" 14 | all_model_checkpoint_paths: "0193/model.ckpt" 15 | all_model_checkpoint_paths: "0194/model.ckpt" 16 | all_model_checkpoint_paths: "0195/model.ckpt" 17 | all_model_checkpoint_paths: "0196/model.ckpt" 18 | all_model_checkpoint_paths: "0197/model.ckpt" 19 | all_model_checkpoint_paths: "0198/model.ckpt" 20 | all_model_checkpoint_paths: "0199/model.ckpt" 21 | all_model_checkpoint_paths: "model.ckpt" 22 | -------------------------------------------------------------------------------- /Parameterized_Network/result_parameterized/model.ckpt.data-00000-of-00001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/Parameterized_Network/result_parameterized/model.ckpt.data-00000-of-00001 -------------------------------------------------------------------------------- /Parameterized_Network/result_parameterized/model.ckpt.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/Parameterized_Network/result_parameterized/model.ckpt.index -------------------------------------------------------------------------------- /Parameterized_Network/result_parameterized/model.ckpt.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/Parameterized_Network/result_parameterized/model.ckpt.meta -------------------------------------------------------------------------------- /Single_Network/combined.py: -------------------------------------------------------------------------------- 1 | from __future__ import division 2 | import os,time,cv2 3 | import tensorflow as tf 4 | import tensorflow.contrib.slim as slim 5 | import numpy as np 6 | 7 | def lrelu(x): 8 | return tf.maximum(x*0.2,x) 9 | 10 | def identity_initializer(): 11 | def _initializer(shape, dtype=tf.float32, partition_info=None): 12 | array = np.zeros(shape, dtype=float) 13 | cx, cy = shape[0]//2, shape[1]//2 14 | for i in range(shape[2]): 15 | array[cx, cy, i, i] = 1 16 | return tf.constant(array, dtype=dtype) 17 | return _initializer 18 | 19 | def nm(x): 20 | w0=tf.Variable(1.0,name='w0') 21 | w1=tf.Variable(0.0,name='w1') 22 | return w0*x+w1*slim.batch_norm(x) 23 | 24 | def build(input): 25 | net=slim.conv2d(input,32,[3,3],rate=1,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv1') 26 | net=slim.conv2d(net,32,[3,3],rate=2,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv2') 27 | net=slim.conv2d(net,32,[3,3],rate=4,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv3') 28 | net=slim.conv2d(net,32,[3,3],rate=8,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv4') 29 | net=slim.conv2d(net,32,[3,3],rate=16,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv5') 30 | net=slim.conv2d(net,32,[3,3],rate=32,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv6') 31 | net=slim.conv2d(net,32,[3,3],rate=64,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv7') 32 | net=slim.conv2d(net,32,[3,3],rate=128,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv8') 33 | net=slim.conv2d(net,32,[3,3],rate=1,activation_fn=lrelu,normalizer_fn=nm,weights_initializer=identity_initializer(),scope='g_conv9') 34 | net=slim.conv2d(net,3,[1,1],rate=1,activation_fn=None,scope='g_conv_last') 35 | return net 36 | 37 | def prepare_data(): 38 | input_names=[] 39 | output_names=[] 40 | train_task=[] 41 | finetune_input_names=[] 42 | finetune_output_names=[] 43 | finetune_task=[] 44 | val_names=[] 45 | val_task=[] 46 | cnt=0 47 | for task in ['Nonlocal_dehazing','Dark_channel_dehazing','Multiscale_tone_manipulation','Detail_manipulation','L0_smoothing','Pencil_drawing','Rudin_Osher_Fatemi','Relative_total_variation','Photographic_style','TV_L1']: 48 | for dirname in ['MIT-Adobe_train_480p']:#training images at 480p 49 | for i in range(1,2501): 50 | input_names.append("../data/%s/%06d.png"%(dirname,i)) 51 | output_names.append("../original_results/%s/%s/%06d.png"%(task,dirname,i)) 52 | train_task.append(cnt) 53 | for dirname in ['MIT-Adobe_train_random']:#training images at random resolutions 54 | for i in range(1,2501): 55 | finetune_input_names.append("../data/%s/%06d.png"%(dirname,i)) 56 | finetune_output_names.append("../original_results/%s/%s/%06d.png"%(task,dirname,i)) 57 | finetune_task.append(cnt) 58 | for dirname in ['MIT-Adobe_test_1080p']:#test images at 1080p 59 | for i in range(1,2501): 60 | val_names.append("../data/%s/%06d.png"%(dirname,i)) 61 | val_task.append(cnt) 62 | cnt+=1 63 | return input_names,output_names,train_task,finetune_input_names,finetune_output_names,finetune_task,val_names,val_task 64 | 65 | def one_hot_map(m,n,k): 66 | tmp=np.zeros((1,m,n,10),dtype=np.float32) 67 | tmp[:,:,:,k]=(1 if isinstance(k,int) else 1.0/len(k)) 68 | return tmp 69 | 70 | os.system('nvidia-smi -q -d Memory |grep -A4 GPU|grep Free >tmp') 71 | os.environ['CUDA_VISIBLE_DEVICES']=str(np.argmax([int(x.split()[2]) for x in open('tmp','r').readlines()])) 72 | os.system('rm tmp') 73 | config=tf.ConfigProto() 74 | config.gpu_options.allow_growth=True 75 | sess=tf.Session(config=config) 76 | is_training=False 77 | 78 | input_names,output_names,train_task,finetune_input_names,finetune_output_names,finetune_task,val_names,val_task=prepare_data() 79 | input=tf.placeholder(tf.float32,shape=[None,None,None,3+10]) 80 | output=tf.placeholder(tf.float32,shape=[None,None,None,3]) 81 | network=build(input) 82 | loss=tf.reduce_mean(tf.square(network-output)) 83 | 84 | opt=tf.train.AdamOptimizer(learning_rate=0.0001).minimize(loss,var_list=[var for var in tf.trainable_variables() if var.name.startswith('g_')]) 85 | saver=tf.train.Saver(max_to_keep=1000) 86 | sess.run(tf.global_variables_initializer()) 87 | 88 | ckpt=tf.train.get_checkpoint_state("result_combined") 89 | if ckpt: 90 | print('loaded '+ckpt.model_checkpoint_path) 91 | saver.restore(sess,ckpt.model_checkpoint_path) 92 | 93 | if is_training: 94 | all=np.zeros(30000, dtype=float) 95 | for epoch in range(1,181): 96 | if epoch==1 or epoch==151: 97 | input_images=[None]*len(input_names) 98 | output_images=[None]*len(input_names) 99 | 100 | if os.path.isdir("result_combined/%04d"%epoch): 101 | continue 102 | cnt=0 103 | for id in np.random.permutation(len(input_names)): 104 | st=time.time() 105 | if input_images[id] is None: 106 | input_images[id]=np.expand_dims(np.float32(cv2.imread(input_names[id] if epoch<=150 else finetune_input_names[id],-1)),axis=0)/255.0 107 | output_images[id]=np.expand_dims(np.float32(cv2.imread(output_names[id] if epoch<=150 else finetune_output_names[id],-1)),axis=0)/255.0 108 | if input_images[id].shape[1]*input_images[id].shape[2]>1800000:#GPU memory limitation 109 | continue 110 | 111 | _,current=sess.run([opt,loss],feed_dict={input:np.concatenate((input_images[id],one_hot_map(input_images[id].shape[1],input_images[id].shape[2],train_task[id] if epoch<=150 else finetune_task[id])),axis=3),output:output_images[id]}) 112 | all[id]=current*255.0*255.0 113 | cnt+=1 114 | print("%d %d %.2f %.2f %.2f %s"%(epoch,cnt,current*255.0*255.0,np.mean(all[np.where(all)]),time.time()-st,os.getcwd().split('/')[-2])) 115 | if cnt>=2500: 116 | break 117 | 118 | os.makedirs("result_combined/%04d"%epoch) 119 | target=open("result_combined/%04d/score.txt"%epoch,'w') 120 | target.write("%f"%np.mean(all[np.where(all)])) 121 | target.close() 122 | 123 | saver.save(sess,"result_combined/model.ckpt") 124 | saver.save(sess,"result_combined/%04d/model.ckpt"%epoch) 125 | for ind in range(10): 126 | input_image=np.expand_dims(np.float32(cv2.imread(val_names[ind],-1)),axis=0)/255.0 127 | st=time.time() 128 | output_image=sess.run(network,feed_dict={input:np.concatenate((input_image,one_hot_map(input_image.shape[1],input_image.shape[2],ind)),axis=3)}) 129 | print("%.3f"%(time.time()-st)) 130 | output_image=np.minimum(np.maximum(output_image,0.0),1.0)*255.0 131 | cv2.imwrite("result_combined/%04d/%06d.png"%(epoch,ind+1),np.uint8(output_image[0,:,:,:])) 132 | 133 | if not os.path.isdir("result_combined/video"): 134 | os.makedirs("result_combined/video") 135 | input_image=np.expand_dims(np.float32(cv2.imread(val_names[69],-1)),axis=0)/255.0 136 | order=[[7,3],[3,8],[8,[3,7,8]]] 137 | for i in range(3): 138 | for k in range(100): 139 | tmp=one_hot_map(input_image.shape[1],input_image.shape[2],order[i][1])*(k/100.0)+one_hot_map(input_image.shape[1],input_image.shape[2],order[i][0])*(1-k/100.0) 140 | st=time.time() 141 | output_image=sess.run(network,feed_dict={input:np.concatenate((input_image,tmp),axis=3)}) 142 | print("%.3f"%(time.time()-st)) 143 | output_image=np.minimum(np.maximum(output_image,0.0),1.0)*255.0 144 | cv2.imwrite("result_combined/video/%06d.png"%(k+i*100),np.uint8(output_image[0,:,:,:])) 145 | 146 | exit() 147 | if not os.path.isdir("result_combined/MIT-Adobe_test_1080p"): 148 | os.makedirs("result_combined/MIT-Adobe_test_1080p") 149 | for ind in range(len(val_names)): 150 | input_image=np.expand_dims(np.float32(cv2.imread(val_names[ind],-1)),axis=0)/255.0 151 | st=time.time() 152 | output_image=sess.run(network,feed_dict={input:np.concatenate((input_image,one_hot_map(input_image.shape[1],input_image.shape[2],val_task[ind])),axis=3)}) 153 | print("%.3f"%(time.time()-st)) 154 | output_image=np.minimum(np.maximum(output_image,0.0),1.0)*255.0 155 | cv2.imwrite("result_combined/MIT-Adobe_test_1080p/%06d.png"%(ind+1),np.uint8(output_image[0,:,:,:])) 156 | 157 | -------------------------------------------------------------------------------- /Single_Network/result_combined/checkpoint: -------------------------------------------------------------------------------- 1 | model_checkpoint_path: "model.ckpt" 2 | all_model_checkpoint_paths: "0170/model.ckpt" 3 | all_model_checkpoint_paths: "0171/model.ckpt" 4 | all_model_checkpoint_paths: "0172/model.ckpt" 5 | all_model_checkpoint_paths: "0173/model.ckpt" 6 | all_model_checkpoint_paths: "0174/model.ckpt" 7 | all_model_checkpoint_paths: "0175/model.ckpt" 8 | all_model_checkpoint_paths: "0176/model.ckpt" 9 | all_model_checkpoint_paths: "0177/model.ckpt" 10 | all_model_checkpoint_paths: "0178/model.ckpt" 11 | all_model_checkpoint_paths: "0179/model.ckpt" 12 | all_model_checkpoint_paths: "model.ckpt" 13 | -------------------------------------------------------------------------------- /Single_Network/result_combined/model.ckpt.data-00000-of-00001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/Single_Network/result_combined/model.ckpt.data-00000-of-00001 -------------------------------------------------------------------------------- /Single_Network/result_combined/model.ckpt.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/Single_Network/result_combined/model.ckpt.index -------------------------------------------------------------------------------- /Single_Network/result_combined/model.ckpt.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/Single_Network/result_combined/model.ckpt.meta -------------------------------------------------------------------------------- /data/MIT-Adobe_test_1080p/000001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/data/MIT-Adobe_test_1080p/000001.png -------------------------------------------------------------------------------- /data/MIT-Adobe_test_1080p/000002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/data/MIT-Adobe_test_1080p/000002.png -------------------------------------------------------------------------------- /data/MIT-Adobe_test_1080p/000003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/data/MIT-Adobe_test_1080p/000003.png -------------------------------------------------------------------------------- /data/MIT-Adobe_test_1080p/000004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/data/MIT-Adobe_test_1080p/000004.png -------------------------------------------------------------------------------- /data/MIT-Adobe_test_1080p/000005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/data/MIT-Adobe_test_1080p/000005.png -------------------------------------------------------------------------------- /data/MIT-Adobe_test_1080p/000006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/data/MIT-Adobe_test_1080p/000006.png -------------------------------------------------------------------------------- /data/MIT-Adobe_test_1080p/000007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/data/MIT-Adobe_test_1080p/000007.png -------------------------------------------------------------------------------- /data/MIT-Adobe_test_1080p/000008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/data/MIT-Adobe_test_1080p/000008.png -------------------------------------------------------------------------------- /data/MIT-Adobe_test_1080p/000009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/data/MIT-Adobe_test_1080p/000009.png -------------------------------------------------------------------------------- /data/MIT-Adobe_test_1080p/000010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/data/MIT-Adobe_test_1080p/000010.png -------------------------------------------------------------------------------- /data/MIT-Adobe_test_1080p/000070.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/data/MIT-Adobe_test_1080p/000070.png -------------------------------------------------------------------------------- /data/MIT-Adobe_test_1080p/000885.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CQFIO/FastImageProcessing/d2cf3ab7fe46369aa6896609df0978fe01bc9c89/data/MIT-Adobe_test_1080p/000885.png -------------------------------------------------------------------------------- /data/MIT-Adobe_train_480p: -------------------------------------------------------------------------------- 1 | /export/vcl-nfs1-backup/shared/qifengch/DeepOptimizer/data/MIT-Adobe_train -------------------------------------------------------------------------------- /data/MIT-Adobe_train_random: -------------------------------------------------------------------------------- 1 | /export/vcl-nfs1-backup/shared/qifengch/DeepOptimizer/data/MIT-Adobe_train_random -------------------------------------------------------------------------------- /original_results/L0_smoothing: -------------------------------------------------------------------------------- 1 | /export/vcl-nfs1-backup/shared/qifengch/DeepOptimizer/L0Smoothing/original_results -------------------------------------------------------------------------------- /original_results/L0_smoothing_parameterized/MIT-Adobe_train_480p: -------------------------------------------------------------------------------- 1 | /export/vcl-nfs1-backup/shared/qifengch/DeepOptimizer/L0Smoothing/original_results_hyper/MIT-Adobe_train -------------------------------------------------------------------------------- /readme.MD: -------------------------------------------------------------------------------- 1 | # Fast Image Processing with Fully-Convolutional Networks 2 | This is a Tensorflow implementation of Fast Image Processing with Fully-Convolutional Networks. 3 | 4 | ## Demo Video 5 | https://www.youtube.com/watch?v=eQyfHgLx8Dc 6 | 7 | ## Setup 8 | 9 | ### Requirement 10 | Required python libraries: Tensorflow (>=1.0) + Opencv + Numpy. 11 | 12 | Tested in Ubuntu + Intel i7 CPU + Nvidia Titan X (Pascal) with Cuda (>=8.0) and CuDNN (>=5.0). CPU mode should also work with minor changes. 13 | 14 | ### Quick Start (Testing) 15 | 1. Clone this repository. 16 | 2. Run "CAN24_AN/demo.py". This will generate results on L0 smoothing in "CAN24_AN/L0_smoothing/MIT-Adobe_test_1080p_result". 17 | 3. To test a different model, change the variable "task" in "demo.py" 18 | 19 | ### Training 20 | 1. To train, change "is_training" to "True". 21 | 2. To set up a customized training procedure, change the file paths in "prepare_data()". See the commands in the code. 22 | 23 | ## Extensions 24 | 1. The single network for all operators is "combined.py" in the folder "Single_Network". Run it and its result is in "Single_Network/result_combined/video". 25 | 2. The parameterized network is "parameterized.py" in the folder "Parameterized_Network". Run it and its result is in "Parameterized/result_parameterized/video". 26 | 27 | ## Data 28 | If you want to experiment on the data in our evaluation, please email to chenqifeng22@gmail.com. 29 | 30 | ## Citation 31 | If you use our code for research, please cite our paper: 32 | 33 | Qifeng Chen, Jia Xu, and Vladlen Koltun. Fast Image Processing with Fully-Convolutional Networks. In ICCV 2017. 34 | 35 | ### License 36 | MIT License. 37 | 38 | 39 | 40 | --------------------------------------------------------------------------------