Final Year Project


The individual project dissertation provides the opportunity for a student to demonstrate independence and originality and to apply knowledge learnt in modules to a reasonably large problem requiring analytical and/or design and/or experimental effort. Students taking this module must work independently on a research project or applied research project, under the supervision of staff. The project demonstrates a student's work ethic, level of initiative, determination and innovative ways of solving problems. It also tests a student's ability to adapt to work in a research or a large scale project environment involving design and development, or take up an individually challenging problem requiring innovative solution and able to think laterally when difficulties are encountered. The project also provides scope for student to use their skill in technical project execution and management, and to think and seek solutions when difficulties are encountered, as each student is largely responsible for their own programme of work.


4 students in 4 teams


3D Makeup Projection

3D Face Makeup Projection implements the extraction of face makeup from a model's image and projects it to a user's face. The solution is developed using off-the-shelf equipment including a Kinect and a Projector in C++ using the Kinect API and DirectX11. From extraction of the makeup colour to the rendering of the makeup, the processing pipeline includes: Makeup Colour Extraction, Projector-Kinect Position Calibration, Colour Calibration, Face Detection with Kinect and Face Texture Rendering. The pipeline is implemented via a state machine. The results show a robust implementation and successful real-time makeup projection on to user's face at 30 fps, where users can make head and facial movements, wear accessories and keep their eyes open. It can be marketed for both personal and commercial use. Individuals can use this product to visualise themselves with makeup from model images, while makeup salons and modelling agencies and costume designers can use this application to test out their makeup designs.


A Tiny Multitasking Operating System for Arduino

ArdOS is a custom time-slicing fixed-priority round-robin scheduling real-time operating system (RTOS) for ATmega328P microcontrollers. Intended for applications in education, It has relatively small codebase. With a small and simple design, it has a small footprint and low operating requirements. Using formal methods in the area of static code analysis, the correctness of the operating system is proven mathematically and verified by model checking.


Nibble - a Mobile App for Food Logging

This project presents a mobile application for food logging, Nibble, designed to help users set healthy and realistic diet goals, display useful visual summaries and provide effective feedback to help improve their diets. Nibble introduces an improved user interface for food logging, which includes automatic recognition of local food photos, a novel feature not yet available in commercial food logging applications.


Mooder — The social network for emotions

Mooder is a social network dedicated towards emotional expressions. If there's anything that was systematically left behind in the internet revolution of our time, it's human emotions. As technology is starting to replace so much of our human-human interactions, emotions are losing their organic avenues for expression. Instead of fighting against technology, Mooder believes that it can be embraced to create new avenues and contexts to verbalize our feelings. Mooder has raised pre-seed from Mediacorp and also received infrastructural support from Alibaba