🚀 Master the language of AI with our brand new course: "Prompt Engineering for Everyone" Learn more

Offered By: IBM

Human Portrait Drawing with U-Squared Net and PyTorch

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!

Continue reading

Guided Project

Computer Vision

301 Enrolled
4.5
(33 Reviews)

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!

You are a Data Scientist hired by a non-profit organization that recently started a campaign to help people with disabilities boost self-confidence. As part of the campaign, the organization will give people free portraits of themselves. Due to the high popularity of the campaign, it would be very costly to hire many artists to draw these portraits. Therefore, your job is to use artificial intelligence to automate human portrait drawing. 

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

What You'll Need

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.

Level

Advanced

Skills You Will Learn

Computer Vision, Deep Learning, Keras, Python, PyTorch, U-squared Net

Language

English

Course Code

GPXX0JV6EN

Tell Your Friends!

Saved this page to your clipboard!

Sign up to our newsletter

Stay connected with the latest industry news and knowledge!