Lipstick Finder

A Mobile Application for Lipstick Recognition, Makeup, and Recommendation

Get Started

To find the suitable lipstick

There is always a problem for many people: “What kind of lipstick does the character use in the movie?” Another problem usually comes with the previous one: “Does the lipstick of this color suit me/someone?”
We hypothesize that great commercial value will be found if an application can fill the gap between potential lipstick buyers and cosmetics firms. In this project, we will build a system that mainly contains the following three functions.

Lipstick Recognition

Recognize the most possible lipsticks for given profile images

Lipstick Makeup

Give the user lip digital trial using face parsing

Lipstick Recommendation

Provide lipsticks recommendations based on the user's preference


Architecture

This flowchart shows our design to achieve our project’s objectives.

...

Feature

The core function of this project focuses on lipstick recognition. The target users are those who want to know what lipstick a person in the photo used. Such target users usually have sequent questions like “Does this lipstick suit me/someone?”. To have a complete pain point solving solution for the expected target user, we extend the project's function to include digital makeup and recommendation system. The project is going to build a system in the form of a mobile application that can achieve the below functions:

Lipstick Recognition

It can extract lipstick color in the user-uploaded photo and return the most similar lipstick brand and corresponding color number.

  • Use a pre-trained face parsing model BiSeNet that is trained on the CelebA-HQ-img dataset to extract every pixel from the lips' region.
  • With the segmentation result, calculate the “average” RGB color of the whole lip of an original image, then find the closest color from the lipstick database.

Lipstick Makeup

It can extract details of user-selected lipstick and generate convincing lipstick makeup results.

  • Support to select the target lipstick from the list or the previous "the most possible lipstick".
  • Using the same face parsing technique we utilized in the previous step to get the lip region of the user-uploaded image.
  • Transform the target lipstick color and user-uploaded image into HSV color space. Target lipstick color’s value and user-uploaded image’s hue & saturation are discarded and then Overlaid these two images into one picture.

A real-time lipstick recommendation system

It will recommend users the lipsticks they potentially like and purchase links of them, which endows dual value to the Lipstick Finder.

  • Use the collaborative filtering solution to collect users’ information and behaviors through questionnaires during user registration and users’ interaction history with the app.
  • The system will recommend lipsticks using both user-to-user and item-to-item methods.

Prototype

Progress

May 5, 2020

Wireframes and UI design

[DONE] Analyze business scenarios and design the basic functions and framework of Lipstick Finder. Design system preliminary function flow chart and User Interfaces.

May 10, 2020

Development environment setup & data preparation

[DONE] Configure the relevant environment on the backend server. Find out a suitable lipstick dataset which contains brand, color name, color, etc.

May 13, 2020

Backend: extract color

[DONE] Use face parsing to locate the position of lip and extract lip’s color.

May 17, 2020

Backend: lip makeup

[DONE] Render lip with the chosen lipstick.

May 27, 2020

Android prototype

[DONE] A prototype be able to send profile image to server then present lipsticks recognized.

June 1, 2020

Paper work and website

Finish the interim report (Read More) and design project webpage.

June 5, 2020

Android prototype v2

[DONE] A prototype with lipstick makeup.

June 18, 2020

Build a more detailed dataset

[DONE] Crawl new data, enrich the lipstick database entries and the features of each type of lipstick (smooth or matte, lipstick or lip glaze, etc.).

June 25, 2020

Android prototype v3

[DONE] A prototype with recommendation system. Design three types of recommendation systems for three types of users. The first type of recommendation system is designed for users without registering in our platform. The second type of recommendation system is designed for fresh users who have registered in our platform recently. The third type of recommendation system is designed for regular users of our application.

July 10, 2020

Alpha app

[DONE] We built the prototype with Java in Android Studio, which only runs in Android devices. To develop the app that can run in both iOS and Android within a short period of time, and have better group collaboration, we decided to use React Native to develop after careful consideration.

July 20, 2020

Fully tested beta app

[DONE] Complete functional testing and quality assurance.

July 31, 2020

Improvement

[DONE] Improve the lipstick recognition algorithm and makeup algorithm to adapt to more complex picture situations. Finish final report, poster, and final presentation PPT.

About us

Our team members are all master candidates in computer science of the University of Hong Kong. If you are interested in our application, or are willing to make any suggestions for our project, you are very welcome to contact us.

Our Address

Department of Computer Science,
The University of Hong Kong,
Pokfulam, Hong Kong

Email Us

jiangl@connect.hku.hk
qsj1024@connect.hku.hk

Call Us

+852 61598156
+852 63569702