Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Generating RGB photos from RAW image files with PyNET
| Date | Stars |
|---|---|
| 2026-07-24 | 356 |
| 2026-07-25 | 356 |
| 2026-07-28 | 356 |
| 2026-07-30 | 356 |
| 2026-08-10 | 355 |
| 2026-08-18 | 356 |
| 2026-09-08 | 356 |
| 2026-09-20 | 356 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
## Replacing Mobile Camera ISP with a Single Deep Learning Model <br/> <img src="https://aiff22.github.io/assets/img/pynet/pynet_teaser.jpg"/> <br/> #### 1. Overview [[Paper]](https://arxiv.org/pdf/2002.05509.pdf) [[PyTorch Implementation]](https://github.com/aiff22/PyNET-PyTorch) [[Project Webpage]](https://aiff22.github.io/pynet.html) This repository provides the implementation of the RAW-to-RGB mapping approach and PyNET CNN presented in [this paper](https://arxiv.org/pdf/2002.05509.pdf). The model is trained to convert **RAW Bayer data** obtained directly from mobile camera sensor into photos captured with a professional Canon 5D DSLR camera, thus replacing the entire hand-crafted ISP camera pipeline. The provided pre-trained PyNET model can be used to generate full-resolution **12MP photos** from RAW (DNG) image files captured using the Sony Exmor IMX380 camera sensor. More visual results of this approach for the Huawei P20 and BlackBerry KeyOne smartphones can be found [here](https://aiff22.github.io/pynet.html#demo). <br/> #### 2. Prerequisites - Python: scipy, numpy, imageio and pillow packages - [TensorFlow 1.X](https://www.tensorflow.org/install/) + [CUDA cuDNN](https://developer.nvidia.com/cudnn) - Nvidia GPU <br/> #### 3. First steps - Download the pre-trained [VGG-19 model](https://download.ai-benchmark.com/s/CCDiWM2sE25x2dW/download/imagenet-vgg-verydeep-19.mat) and put it into `vgg_pretrained/` folder. - Download the pre-trained [PyNET model](https://download.ai-benchmark.com/s/C4a3C5WxB8p2my8/download/PyNET_pretrained.zip) and put it into `models/original/` folder. - Download [Zurich RAW to RGB mapping dataset](https://aiff22.github.io/pynet.html#dataset) and extract it into `raw_images/` folder. <sub>This folder should contain three subfolders: `train/`, `test/` and `full_resolution/`</sub> <sub>*Please note that Google Drive has a quota limiting the number of downloads per day. To avoid it, you can login to your Google account and press "Add to My Drive" button instead of a direct download. Please check [this issue](https://github.com/aiff22/PyNET/issues/4) for more information.* </sub> <br/> #### 4. PyNET CNN <br/> <img src="https://aiff22.github.io/assets/img/pynet/pynet_architecture_github.png" alt="drawing" width="1000"/> <br/> PyNET architecture has an inverted pyramidal shape and is processing the images at **five different scales** (levels). The model is trained sequentially, starting from the lowest 5th layer, which allows to achieve good reconstruction results at smaller image resolutions. After the bottom layer is pre-trained, the same procedure is applied to the next level till the training is done on the original resolution. Since each higher level is getting **upscaled high-quality features** from the lower part of the model, it mainly learns to reconstruct the missing low-level details and refines the results. In this work, we are additionally using one transposed convolutional layer (Level 0) on top of the model that upsamples the image to its target size. <br/> #### 5. Training the model The model is trained level by level, starting from the lowest (5th) one: ```bash python train_model.py level=<level> ``` Obligatory parameters: >```level```: **```5, 4, 3, 2, 1, 0```** Optional parameters and their default values: >```batch_size```: **```50```** - batch size [small values can lead to unstable training] <br/> >```train_size```: **```30000```** - the number of training patches randomly loaded each 1000 iterations <br/> >```eval_step```: **```1000```** - each ```eval_step``` iterations the accuracy is computed and the model is saved <br/> >```learning_rate```: **```5e-5```** - learning rate <br/> >```restore_iter```: **```None```** - iteration to restore (when not specified, the last saved model for PyNET's ```level+1``` is loaded)<br/> >```num_train_iters```: **```5K, 5K, 20K, 20K, 35K, 100
Excerpt of 8,171 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:7de78f6dfe4b94dc, topic:deep-learning
matched fp:7de78f6dfe4b94dc, topic:computer-vision