A simple, fully convolutional model for real-time instance segmentation.
关键参数与规格
关键参数与规格
参数
值
语言
Python
类别
Model Development
子类别
Architecture
关键词
Image production
星标数
5,266
分叉数
650
贡献者
3
创建日期
2016-08-26
更新日期
2026-10-06
1 天星标数
0
7 天星标数
0
排名
7,420
上次排名
7,568
排名变化
148
7 天星标排名
11,717
上次 7 天星标排名
11,779
7 天星标排名变化
62
总星标排名
2,675
上次总星标排名
2,669
总星标排名变化
-6
国家
Canada
README 摘录
srez Image super-resolution through deep learning. This project uses deep learning to upscale 16x16 images by a 4x factor. The resulting 64x64 images display sharp features that are plausible based on the dataset that was used to train the neural net. Here's an random, non cherry-picked, example of what this network can do. From left to right, the first column is the 16x16 input image, the second one is what you would get from a standard bicubic interpolation
, the third is the output generated by the neural net, and on the right is the ground truth. As you can see, the network is able to produce a very plausible reconstruction of the original face. As the dataset is mainly composed of well-illuminated faces looking straight ahead, the reconstruction is poorer when the face is at an angle, poorly illuminated, or partially occluded by eyeglasses or hands. This particular example was produced after training the network for 3
hours on a GTX 1080 GPU, equivalent to 130,000 batches or about 10 epochs. How it works In essence the architecture is a DCGAN where the input to the generator network is the 16x16 image rather than a multinomial gaussian distribution. In addition to that the loss function of the generator has a term that measures the L1 difference between the 16x16 input and downscaled version of the image produced by the generator. The adversarial term of the loss
function ensures the generator produces plausible faces, while the L1 term ensures that those faces resemble the low-res input data. We have found that this L1 term greatly accelerates the convergence of the network during the first batches and also appears to prevent the generator from getting stuck in a poor local solution. Finally, the generator network relies on ResNet modules as we've found them to train substantially faster than more old-fashioned architectures. The adversarial network is much
simpler as the use of ResNet modules did not provide an advantage during our experimentation. Requirements You will need Python 3 with Tensorflow, numpy, scipy and moviepy. Dataset After you have the required software above you will also need the . Extract all images to a subfolder named . Training the model Training with default settings: . The script will periodically output an example batch in PNG format onto the folder, and checkpoint data will be stored in the folder. After the network
has trained you can also produce an animation showing the evolution of the output by running . About the author LinkedIn profile of David Garcia.
常见问题
记录了多少星标和分叉?
david-gpu/srez 有 5,266 个星标和 650 个分叉。
仓库排名是多少?
david-gpu/srez 排名第 7,420。
记录的语言和类别是什么?
david-gpu/srez 有 5,266 个星标,语言为 Python,类别为 Model Development。
Image super-resolution through deep learning. This project uses deep learning to upscale 16x16 images by a 4x factor. The resulting 64x64 images display sharp features that are plausible based on the dataset that was used to train the neural net.
Here's an random, non cherry-picked, example of what this network can do. From left to right, the first column is the 16x16 input image, the second one is what you would get from a standard bicubic interpolation, the third is the output generated by the neural net, and on the right is the ground truth.
As you can see, the network is able to produce a very plausible reconstruction of the original face. As the dataset is mainly composed of well-illuminated faces looking straight ahead, the reconstruction is poorer when the face is at an angle, poorly illuminated, or partially occluded by eyeglasses or hands.
This particular example was produced after training the network for 3 hours on a GTX 1080 GPU, equivalent to 130,000 batches or about 10 epochs.
How it works
In essence the architecture is a DCGAN where the input to the generator network is the 16x16 image rather than a multinomial gaussian distribution.
In addition to that the loss function of the generator has a term that measures the L1 difference between the 16x16 input and downscaled version of the image produced by the generator.
The adversarial term of the loss function ensures the generator produces plausible faces, while the L1 term ensures that those faces resemble the low-res input data. We have found that this L1 term greatly accelerates the convergence of the network during the first batches and also appears to prevent the generator from getting stuck in a poor local solution.
Finally, the generator network relies on ResNet modules as we've found them to train substantially faster than more old-fashioned architectures. The adversarial network is much simpler as the use of ResNet modules did not provide an advantage during our experimentation.
Requirements
You will need Python 3 with Tensorflow, numpy, scipy and moviepy. See requirements.txt for details.
Dataset
After you have the required software above you will also need the Large-scale CelebFaces Attributes (CelebA) Dataset. The model expects the Align&Cropped Images version. Extract all images to a subfolder named dataset. I.e. srez/dataset/lotsoffiles.jpg.
Training the model
Training with default settings: python3 srez_main.py --run train. The script will periodically output an example batch in PNG format onto the srez/train folder, and checkpoint data will be stored in the srez/checkpoint folder.
After the network has trained you can also produce an animation showing the evolution of the output by running python3 srez_main.py --run demo.