You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### Rethink the Pipeline of Demosaicking, Denoising, and Super-resolution
4
-
By [Guocheng Qian](https://guochengqian.github.io/), [Yuanhao Wang](https://github.com/yuanhaowang1213), Chao Dong, [Jimmy S. Ren](http://www.jimmyren.com/), Wolfgang Heidrich, Bernard Ghanem, [Jinjin Gu](http://www.jasongt.com/)
4
+
By [Guocheng Qian*](https://guochengqian.github.io/), [Yuanhao Wang*](https://github.com/yuanhaowang1213), [Jinjin Gu](http://www.jasongt.com/), Chao Dong, Wolfgang Heidrich, Bernard Ghanem, [Jimmy S. Ren](http://www.jimmyren.com/)
5
5
6
6
The original name of this project is: "Trinity of Pixel Enhancement: a Joint Solution for Demosaicking, Denoising and Super-Resolution"
7
7
8
8
9
9
10
-
## pipeline DN -> SR -> DM
11
-
12
-

13
-
14
10
## TENet
15
11
16
12
We insert the proposed pipeline DN -> SR -> DM into an end-to-end network constructed by RRDB for the joint DN, DM and SR. We leverage the detachable branch to provide the middle stage supervision.
17
13
14
+
18
15
<palign="center">
19
16
<imgheight="300"src="misc/Network.png">
20
17
</p>
21
18
22
19
23
-
## PixelShift200 dataset
24
-
25
-

26
-
27
20
28
21
29
-
## Resources
22
+
## PixelShift200 dataset
30
23
31
-
* pretrained models
32
-
* Pixelshift200:
33
-
* Real-shot raw images:
24
+
We employ advanced pixel shift technology to perform a full color sampling of the image.
25
+
Pixel shift technology takes four samples of the same image, and physically controls the camera sensor to move one pixel horizontally or vertically at each sampling to capture all color information at each pixel.
26
+
The pixel shift technology ensures that the sampled images follow the distribution of natural images sampled by the camera, and the full information of the color is completely obtained.
27
+
In this way, the collected images are artifacts-free, which leads to better training results for demosaicing related tasks.
34
28
35
-
Will be available soon.
29
+
<palign="center">
30
+
<imgheight="200"src="misc/PixelShift.png">
31
+
</p>
36
32
37
33
38
34
35
+
Download dataset from [pxielshift200 website](http://gcqian.com/project/pixelshift200).
39
36
40
37
41
-
### Enviroment installnation
38
+
### Environment installation
42
39
43
40
Clone this github repo and install the environment by:
python generate_datalist_div2k.py # generate div2k training and val dataset
69
67
```
70
-
The generated .txt file `train_div2k.txt` and `val_div2k.txt` are used for training on DIV2K.
71
-
68
+
72
69
2. PixelShift200 data preparation
73
70
74
-
1. Download [Pixelshift200]. They are .mat format, having 4 channels (R, Gr, Gb, B). Unzip the .zip file and put all folders inside into one folder called pixelshift200. For example, put here `/data/pixelshift200`.
71
+
1. Download [Pixelshift200](http://guochengqian.com/pixelshift200). They are .mat format, having 4 channels (R, Gr, Gb, B). Unzip the .zip file and put all folders inside into one folder called pixelshift200. For example, put here `/data/lowlevel/pixelshift200`.
72
+
73
+
2. `cd TENet && mkdir data &&cd data`
75
74
76
-
3. Link PixelShift200 data into ./data/pixelshift200, e.g. `cd TENet/data &&ln -s /data/pixelshift200 pixelshift200`
75
+
3. Link PixelShift200 data into ./data/pixelshift200, e.g. `ln -s /data/lowlevel/pixelshift200 pixelshift200`
77
76
78
77
4. Crop images into 512*512, and generate the text file contains the location of each image:
78
+
79
79
```bash
80
80
cd ../datasets
81
81
python crop_pixelshift200.py
82
82
python generate_datalist_pixelshift.py
83
83
```
84
-
The generated .txt file `train_pixelshift.txt` (9444 Lines) and `val_pixelshift.txt` (20 Lines) are used for training. check them.
1. `--mid_type raw` is to activate the auxiliary mid stage supervision. Here we add `raw` as the supervision, therefore, the pipeline will be DN+SR->DM.
103
+
1. `--mid_type raw` is to activate the auxiliary mid stage supervision. Here we add `raw` as the supervision, therefore, the pipeline will be DN+SR->DM
105
104
106
-
2. for training on a different dataset, like DIV2K, change `--train_list datasets/train_div2k.txt --val_list datasets/val_div2k.txt`
105
+
2. for training on a different dataset, like DIV2K, change `--dataset div2k`
106
+
107
+
3. for training with Gaussian noise model, add `--noise_model g`
107
108
108
-
3. for using a different building block, such as NLSA `--block_type nlsa`, or EAM `--block_type eam` , or RRG `--block_type rrg`, or DRLM `--block_type drlm` or RRDB `--block_type rrdb`
109
+
4. for using a different building block, such as NLSA `--block nlsa`, or EAM `--block eam` , or RRG `--block rrg`, or DRLM `--block drlm` or RRDB `--block rrdb`
109
110
110
-
4. Monitor your jobs using Tensorboard (log saved in ./log folder by default, `tensorboard --logdir=./ ` ) or using wandb (online website) by set`--use_wandb`.
111
+
5. [`wandb`](https://wandb.ai/) is used by default. Set `--no_wandb` to not using wandb
# this script supports evaluation on all benchmarking datasets as well as the real-shot images for all possible pipelines
154
153
```
155
154
156
-
Note:
157
-
1. this script supports evaluation on all benchmarking datasets as well as the real-shot images for all possible pipelines
158
-
2. for the real shot images testing, you have to:
159
-
* save the real-shot image as a readable raw image (like in .RAW, .ARW, .DNG format). For example, we use Lightroom mobile version to shot images on iPhone and save the photo in .DNG format.
160
-
* Read the general metadata using RawPy and read the noise profiling metadata using [Jeffrey's Image Metadata Viewer](http://exif.regex.info/exif.cgi) or [metapicz](http://metapicz.com/).
155
+
Note: for the real shot images testing, you have to:
161
156
157
+
1. save the real-shot image as a readable raw image (like in .RAW, .ARW, .DNG format). For example, we use Lightroom mobile version to shot images on iPhone and save the photo in .DNG format.
158
+
2. Read the general metadata using RawPy and read the noise profiling metadata using [Jeffrey's Image Metadata Viewer](http://exif.regex.info/exif.cgi) or [metapicz](http://metapicz.com/).
0 commit comments