Project P002 – Object Detection and Image Tagging – Sharing by ZHANG Ka Ho Eric

HKUST Library Digital Scholarship DS CoLab Project P002 Students Learning Journey

Student Learning Journey

ZHANG Ka Ho Eric
Year 2, BEng in Electronic Engineering


Eric is one of our student interns who actively participated in our project on the face recognition tasks during the 2023/24 Spring Semester (Feb-May 2024). See below the words from Eric regarding his experience on this project!

Hello, I am Eric!  

In this article, I’m going to share my journey throughout this project.  

Project Objectives 

In this project, I mainly focused on the face recognition tasks. We are provided with a dataset of photos from the HKUST Digital Images, some of which were manually tagged with individuals’ identities in the existing database. My task is to develop code that can automatically recognize and tag specific people in these photos. 

Methodological Approach 

To tackle this challenge, I have explored two Python libraries: “face recognition” and “deepface”. As a testing exercise, I used the photos of the 1st HKUST president – finding his images online and adding them to the “known” folder, while using the project-provided images as the “unknown” set. My first step was to experiment with techniques for cropping the individual faces from the photos. This involved processing the images to detect and isolate the regions containing human faces. With the faces extracted, I could then attempt to match them against the known individuals in the known folder. 

Fig.1: Image in the provided dataset
Fig.2: Cropped face from the image

Using the “face recognition” library, I was able to implement a workflow that could load the known and unknown images, detect the faces, and then compare the facial features to identify potential matches. This allowed me to automatically tag the unknown images with the corresponding known individuals. Similarly, the “deepface” library provided another approach of face recognition to perform the matching task. I experimented with both libraries, comparing their performance and capabilities to determine the most effective solution. Throughout this process, I encountered various challenges and gained valuable insights, such as the significant impact that face angles can have on recognition performance. 

In addition, in this project, I worked with another teammate to clean the original dataset, which I learned a lot from while collaborating. This hands-on experience in data cleaning and preprocessing was invaluable, as it directly impacted the quality and effectiveness of the face recognition models. 

Conclusion 

This project provided me with invaluable hands-on experience in applying computer vision and machine learning techniques to solve real-world problems. I am filled with gratitude for the opportunity to contribute to a project that sits at the intersection of technology and practical utility. The experience has solidified my resolve to continue exploring computer science and its applications in making our digital interactions more meaningful and efficient. 

Fig.3: Cleaned data from the original database