Welcom to Jason's page
Interested in Robotics, Machine Learning and Computer visions. Also writes some apps, website and game.
Project showcase
Beauty and the Health Business website
A business website built for a facial beauty and Pilates training company. It uses Next.js for both the front-end and back-end and Tailwind CSS for styling. The website can notify the owner via email when a new appointment is made, with the help of serverless technology. Server-side rendering improves SEO.
Novel Viewer
An app written for the ease of reading novels from different websites. It keeps track of your reading progress, allows you to filter by name and favorites, and detects updates with the help of a local ObjectBox database. The app can parse simplified Chinese in GB encoding and display them as traditional Chinese characters using Unicode. It also caches images to reduce data usage.
Image to Image translation between Anime faces & Human faces
We exploried different approach to generate anime face based on human image, using different machine learning techinque such as CycleGAN, XGAN, PGGAN. CelebA dataset, Getchu dataset and Danbooru2019 dataset was used in this project
NXP CUP creative category ( Quroidor )
Our team participated in the NXP CUP creative category, focusing on the game of Quroidor. My responsibilities encompassed robot localization and game AI. To overcome errors in localization, we implemented a Kalman filter and utilized QR codes for precise camera position calculation. For game AI, we initially trained a Monte Carlo tree-based AI but opted for a simpler alpha-beta pruning algorithm suitable for microcontrollers. Additionally, I contributed to resolving driver issues and path planning for optimal robot performance throughout the competition. Our aim was to excel in the NXP CUP creative category, showcasing our skills in developing autonomous robots for real-world applications.
39th ROBO-ONE competition (2021)
Within the realm of RoboOne, a renowned humanoid fighting competition, my role encompassed the development of an algorithm aimed at detecting adversaries and facilitating efficient path finding. Our diligent efforts encompassed testing various algorithms, including classic computer vision techniques such as FAST and SLAM,, as well as machine learning-based approaches such as YOLO. Additionally, I contributed to the refinement of joint control algorithms. Unfortunately, due to the impact of the COVID-19 pandemic, we were unable to physically participate in the competition.
Image editing software
a C++ gui project that allows users to apply different kind of brushes and filter to their image. Some feature include using an image as a brush or filter to edit another image.
Visualization of sentiment analysis on player's emption
We analyzed the sentiments expressed in posts and responses collected from various game subreddits on Reddit. Using TensorFlow, we conducted sentiment analysis to identify emotions such as anger, happiness, and neutrality. We utilized two visualization techniques: a Stream graph and a polar area diagram. The Stream graph provides a visual representation of how player emotions change over time. The polar area diagram shows how posting frequency are influenced by both time and the type of game being discussed.
An Omnidirectional Robot controlled by a motion sensing and gesture recognition controller.
We developed a Wii-like controller that has 3 degrees of freedom for controlling an omni-directional robot. The accelerometer and gyroscope sensor data are processed to obtain the current gesture. Pitch and yaw of the controller determine the XY-plane movement, while roll allows the robot to rotate. Encoders and inverse kinematics are used to ensure stable movement. Bluetooth communication is used for sending signals and debugging.
Ray tracing image rendering software.
We have developed a 3D object ray tracing rendering engine that allows realistic rendering of reflections and refractions with different materials and textures. The ray-intersection optimization includes octree and concurrency. Our implementation also features adaptive termination, antialiasing through supersampling and jittering, and various lighting and shadowing techniques, including different kinds of light sources, soft shadows, and glossy reflections.