Human Portrait Drawing with U-Squared Net and PyTorch
Learn how to create human portrait drawings using U-Squared Net and PyTorch. Explore deep learning techniques for generating artistic portraits from images.
At a Glance
Have you ever played with a portrait drawing app where you can get an AI-generated portrait of yourself in seconds by uploading your photo? This guided project will demystify such an app by showing you its underlying building block, which is the state-of-the-art U-squared Network (U2-Net). Get ready for mass-producing AI-generated human portraits!
In this guided project, you will learn how a portrait drawing app works and build your own portrait drawing tool by studying the architecture of the state-of-the-art **U-squared Net** model. Take a glance at the model output below. It’s awe-inspiring.
intro (2).png 1.78 MB
U-squared Net is a novel model architecture, which is a nested U-structure that directly extracts multi-scale features stage by stage, for Salient Object Detection (SOD), which aims at extracting the most attractive regions from images or videos. It has been one of the most well-known tasks in the field of Computer Vision.
By going through this guided project, you will first understand the configuration of Residual-U blocks, which represent the building blocks of U-squared Nets. The invention of Residual-U blocks by Xuebin Qin et al enables the network to capture more contextual information in the image or video, both locally and globally. Later in the project, you will witness and practice constructing a U-squared Net using PyTorch. As a perk of this guided project, you will have the chance to upload photos of yourself or the people you know at the end to obtain portraits generated by a pre-trained U-squared Net!
A Look at the Project Ahead
After completing this guided project you will be able to:
- Understand the use and configuration of Residual U-blocks.
- Code Residual U-blocks with different depths in PyTorch.
- Describe the architecture of U-squared Net.
- Construct the U-squared Net architecture using Residual U-blocks.
- Produce saliency probability maps of an input image as side outputs of a U-squared Net.
- Create PyTorch Dataset object and PyTorch DataLoader.
- Load the pre-trained weights of a U-squared Net for inference
To complete this guided project, you will need a good understanding of the working mechanics of Convolutional Neural Networks (CNNs) as well as their related operations, including but not limited to Batch Normalization, Max Pooling, and ReLU Activation. It would also be very helpful if you have some prior experience working with PyTorch, as it will allow you to follow the configuration and implementation of the network more easily.
Frequently Asked Questions
Do I need to install any software to participate in this project?
Everything you need to complete this project will be provided to you via the Skills Network Labs and it will all be available via a standard web browser.
What web browser should I use?
The Skills Network Labs platform works best with current versions of Chrome, Edge, Firefox, Internet Explorer, or Safari.
There are no reviews yet.