
Explore super resolution as the real life version of the Enhance tool and the first practical application of generative adversarial networks, with a free preview and downloadable images.
Complete the prerequisite course on high-resolution GANs to master the fundamentals, then build on them for image super-resolution GANs, with a prerequisite link in the lesson resources.
Access the course resources, code, notebooks, and external links via the resources dropdown, and use the question and answer section to ask questions and receive written or updated explanations.
Explore super resolution by comparing upsampling methods, from nearest neighbors to bilinear, then pursue sharp, realistic images that remain similar to the original low-resolution input through effective downscaling.
Explore the generator for image super-resolution by replacing latent noise with a low-resolution patch, using a five-block image comprehension module with residual connections, and fourfold upsampling from 64x64 to 256x256.
Learn to build a fully convolutional generator that is input-size agnostic, handles images of varying sizes by sharing weights across patches and training on multiple resolutions.
Explore the generator architecture for image super-resolution GANs, starting with input normalization to -1..1, two scaled convolutions with residual blocks, and upsampling with delta additions to a final 0..1 image.
Utilize the discriminator to distinguish real versus fake high-resolution images conditioned on corresponding low-resolution inputs, leveraging minibatch standard deviation and two-input conditioning to mitigate mode collapse.
Explore the discriminator details in image super-resolution GANs, including 128×128 input processing, 64×64 feature maps, residual connections, 1×1 shortcuts, and concatenation with the low-resolution image.
Explore the generator code for image super-resolution, detailing base and super resolution handling, variably sized inputs, upsampling, and residual blocks with a 1x1 conversion to adjust the channel count.
Learn how image super-resolution GANs handle varying image sizes with dynamic shapes and transpose convolution. See how shape computation is deferred until runtime for TPU building and compilation.
describes a two-input discriminator for image super-resolution, using the super image and bass image, with a recursive body that downsamples, applies convolutions, and residual connections to produce a realism score.
Keep the loss function as is, using the R2 loss with regularization to produce sharp, realistic images from the low-resolution input, avoiding content loss and relying on the discriminator.
Train the generator and discriminator in alternating steps, using high-resolution, low-resolution, and super-resolution images. Employ the R2 loss, separate optimizers, and patch-based crops across multiple resolutions.
Update the training loop to use real 256 by 256 super images as inputs, generate fake super images from downsampled base images, and feed both to the discriminator.
Explore the training loop’s resizing and cropping, featuring gamma correction and decoding, anti-aliasing, and random crop, with downsampling via average pooling to produce realistic base images.
Configure the image super-resolution GAN training pipeline by moving flip augmentation to the TPU, compiling multiple datasets, and generating visualizer ready super images via a random crop-and-resize pipeline.
Observe visualizations that track training progress for the generator in image super-resolution GANs, showing raw pixels, nearest-neighbor upsampling, bilinear upsampling, and the ground truth.
Update the main training script for image super-resolution GANs with base and super resolution parameters, and streamlined Colab notebook workflows for drive mounting and TPU use.
Visualizations show the generator's progress during training, from early lagging, low-resolution outputs to refined textures and facial features, while highlighting edge sharpness and background challenges.
Deploy a trained image super-resolution gan in a real-world app by loading the latest checkpoint and sampling a batch of low-resolution images to produce 4x upscaled outputs.
Watch image super-resolution methods dramatically sharpen low-quality faces, revealing hair, eyelashes, and skin texture while outperforming naive upsampling from 128×128 inputs to 1024×1024 outputs.
Examine limitations when training on faces and observe artifacts on novel data like bears or city skylines; improve with paired high-resolution and low-resolution data and diverse, sharp samples.
Thank you for watching; please leave a rating to help improve this course and future courses, as your feedback guides ongoing refinements.
We've all seen the gimmick in crime TV shows where the investigators manage to take a tiny patch of an image and magnify it with unrealistic clarity. Well today, Generative Adversarial Networks are making the impossible possible.
Dive into this course where I’ll show you how easily we can take the fundamentals from my High Resolution Generative Adversarial Networks course and build on this to accomplish this impressive feat known as Super-resolution. Not only will you be able to train a Generator to magnify an image to 4 times it’s original size (that’s 16 times the number of pixel!), but it will take relatively little effort on our end.
Just as in the first course, we’ll use Python and TensorFlow 2.0 along with Keras to build and train our convolutional neural networks. And since training our networks will require a ton of computational power, we’ll once again use Google CoLab to connect to a free Cloud TPU. This will allow us to complete the training in just a few days without spending anything on hardware!
If this sounds enticing, take a few minutes to watch the free preview of the “Results!” lesson. I have no doubt that you will come away impressed.