Book Image

Hands-On Image Generation with TensorFlow

By : Soon Yau Cheong
Book Image

Hands-On Image Generation with TensorFlow

By: Soon Yau Cheong

Overview of this book

The emerging field of Generative Adversarial Networks (GANs) has made it possible to generate indistinguishable images from existing datasets. With this hands-on book, you’ll not only develop image generation skills but also gain a solid understanding of the underlying principles. Starting with an introduction to the fundamentals of image generation using TensorFlow, this book covers Variational Autoencoders (VAEs) and GANs. You’ll discover how to build models for different applications as you get to grips with performing face swaps using deepfakes, neural style transfer, image-to-image translation, turning simple images into photorealistic images, and much more. You’ll also understand how and why to construct state-of-the-art deep neural networks using advanced techniques such as spectral normalization and self-attention layer before working with advanced models for face generation and editing. You'll also be introduced to photo restoration, text-to-image synthesis, video retargeting, and neural rendering. Throughout the book, you’ll learn to implement models from scratch in TensorFlow 2.x, including PixelCNN, VAE, DCGAN, WGAN, pix2pix, CycleGAN, StyleGAN, GauGAN, and BigGAN. By the end of this book, you'll be well versed in TensorFlow and be able to implement image generative technologies confidently.
Table of Contents (15 chapters)
1
Section 1: Fundamentals of Image Generation with TensorFlow
5
Section 2: Applications of Deep Generative Models
9
Section 3: Advanced Deep Generative Techniques

Neural rendering

Rendering is the process of generating photo-realistic images from 2D or 3D computer models. The term neural rendering has recently emerged to describe rendering using a neural network. In traditional 3D rendering, we will need to first create a 3D model with a polygon mesh that describes the object's shape, color, and texture. Then, the lighting and camera position will be set and render the view into a 2D image.

There has been an ongoing research on 3D object generation, but it is still not able to generate satisfying results. We can take advantage of the advancement of GANs by projecting part of the 3D objects into 2D space. We then use GANs to enhance the image in 2D space, for example, to generate a realistic texture using style transfer before projecting that back into the 3D model. The top diagram in the following figure shows the general pipeline of this approach:

Figure 10.12 – Two common frameworks for neural rendering...