Projects

Visual Computing Projects

Reconstructing 3D language field with in-the-wild images

Construct a 3D language field with Gaussian Splatting to handle images containing transient objects. The model leverages semantic segmentation and CLIP embeddings to model transient objects in the scene. [Github] [Report]

Keywords: Gaussian Splatting, 3D reconstruction, Segment-Anything, CLIP

Screenshot of Generalized Category Discovery Project

Procedural landscape generator

A dynamic scene generator consisting of sky, water, mountains, and terrains with seasonal changes [Github]

Keywords: Procedural Modeling, GLSL

Screenshot of Generalized Category Discovery Project

Ray Tracer

Ray tracer based on Phong shading model. The ray tracer supports reflection, refraction, and shadows, and models various light sources, including point lights, directional lights, and spotlights. [Github]

Keywords: Ray tracing, Phong shading

Screenshot of Kriging Convolutional Networks Project

Path tracing

Physically-based path tracer that simulates global illumination, caustics, and soft shadows. The path tracer supports various materials, including Lambertian, specular, and refractive materials. [Github]

Keywords: Path tracing, physically-based rendering

Screenshot of Kriging Convolutional Networks Project

As-Rigid-As-Possible Surface Modeling

A system for user-interactive deformation of 3D meshes. In the system, mesh vertices can be re-positioned by clicking and dragging. The system will update the rest of the mesh in response to these user interactions such that it moves as-rigidly-as-possible. [Github]

Keywords: Optimization, mesh deformation

Screenshot of Kriging Convolutional Networks Project

Geometry Processing (Mesh)

Implementations of various geometry processing algorithms on triangular meshes, including Loop subdivision, quadric error simplification, and isotropic remeshing. [Github]

Keywords: Geometry processing, mesh simplification, mesh remeshing

Screenshot of Kriging Convolutional Networks Project

Interactive brush painting interface

A 2D drawing board that allows users to paint with different brush styles and colors. The brush effects are implemented through multiple filters (e.g., constant, linear, quadratic, cubic, and sinusoidal) and color blending modes. [Github]

Keywords: OpenGL, filters, color blending, GUI

Screenshot of Generalized Category Discovery Project

Finite Element Simulation

Animate deformable solid objects using the finite element method. The project supports essential features such as force computation, time integration, and collision response. [Github]

Keywords: Finite element method, animation

Screenshot of Kriging Convolutional Networks Project

Other Experiences

Generalized Category Discovery

Semi-Supervised Deep Clustering for Generalized Category Discovery. I worked with Patrick Feeney and Prof. Michael Hughes on this project in Spring 2023. [Github]

Screenshot of Generalized Category Discovery Project

Kriging Convolutional Networks

Optimized PyTorch implementation of Kriging Convolutional Networks. I finished this project under the supervision of Prof. Liping Liu in Fall 2022. [Github]

Screenshot of Kriging Convolutional Networks Project

Citadel DataOpen Summer Invitational

Second place winner of virtual, one-week datathon hosted by Citadel in Summer 2021. [Github]

Screenshot of Citadel DataOpen Summer Invitational Project