Computer Science Projects
Here are the computer science projects I realized during my years at Ecole Polytechnique and Columbia University.
Computer Science Demo Reel 2023
Image Synthesis
Gabor Noise
Implemented the 'Procedural Noise using Sparse Gabor Convolution' by A. Lagae and Al. introducing a new procedural noise.
Computer Animation
Body and Cloth Animation, a Choreography
Created all of the user interface and generated the animation starting from a woman 3D model to create a dance animation loop. It also included some cloth physically based animation.
Digital Representations and Analysis of Shapes
Variational Shape Approximation
Implemented the 'Variational Shape Approximation' by D. Cohen-Steiner, P. Alliez & M. Desbrun, introducing a new way to approximate shapes.
Image Synthesis
Raytracing
A rendering engine programmed from scratch in C++ using raytracing method with the Phong shading model, in addition to refraction and reflection rays. The simple geometries (sphere, planes, triangle, etc..) are computer generated. (Source files: Copyright (C) 2022 by Hadi Fadaifard)
Computer Animation
Cloth Simulation
Physical model of a cloth with spring forces and computation of the contacts with spheres and cylinders.
Computer Animation
Linear Blend Skinning
Computed the skinning around different skeletons according to the movement using Linear Blend Skinning.
Image Analysis and Computer Vision
Refocus application
Refocus system using different focus images, measuring focus using modified Laplacian filter and choosing best focus image in Matlab. (Image source: https://www.cs.columbia.edu/CAVE/projects/focalsweep/)
Image Analysis and Computer Vision
Augmented Reality
Automatic generation of 3D shapes on pre-filmed or live filmed surfaces, using AR pipelines on OpenCV in C++.
Computer Animation
Generation of an Animated Forest
Procedural generation of a forest terrain and animal animations in C++ using OpenGL and VCL.
Digital Representations and Analysis of Shapes
3D Shapes Generation with Bezier Curves
Generated 3D hair shapes using Bezier Curves on the normal circular sections.
Digital Representations and Analysis of Shapes
Surface Subdivision
Subdivided a spherical mesh using the loop subdivision as well as an adapted method for spheres.
Image Analysis and Computer Vision
Line detetection
Line detection using Hough transform in Matlab. (Image source: https://boardgamegeek.com/image/113720/checkers)
Computer Animation
Sphere Collision
Generated randomized falling spheres and simulated their collisions with other spheres and with the box walls around using a physically based model.
Image Analysis and Computer Vision
Panorama Maker
Matching the features of two pictures to create a panorama applying RANSAC homography.
Digital Representations and Analysis of Shapes
Point Cloud Alignment and Normal Estimation
Point alignment using Iterative Closest Point (ICP) and normal estimation using Principal Component Analysis (PCA).
Image Analysis and Computer Vision
Canny Edge Detector
Implemented a canny edge detector to draw the edges of a given picture.
Computer Animation
Free Form Deformation (FFD)
Implemented an interactive FFD for several different 3D geometric shapes.
Image Analysis and Computer Vision
Motion tracking
Motion tracking using color histograms matches in Matlab. (Source video: https://www.youtube.com/watch?v=e_WBuBqS9h8&t=1568s)
Computer Animation
Facial Expression Blend Shapes
Programmed linear blend shapes to move from one facial expression to another.
Algorithmic Geometry
Graph Drawing Challenge 2021
Offered a solution to the Graph Drawing Challenge 2021, aimed at finding the optimal graph drawing to minimize a certain graph metric.
Data Visualization
Data Visualization of the GDC Data Portal
Visualization of the cancer data available on the GDC Portal using javascript and the D3 module.
Computer Animation
Manual Deformers
Implemented local deformers such as translating, twisting and scaling, orthogonally to the view or the geometry.
Machine and Deep Learning
Tweet Success Prediction using Machine Learning
Kaggle competition to predict the number of retweets of a collection of covid-related tweets using Python.
Machine and Deep Learning
Performance Optimization for Computer Vision and Natural Language Processing
Optimized performance of two different models: the VGGNet for visual recognition, and the LSTM for sentiment analysis.
Machine and Deep Learning
Spotify Song Popularity Prediction
Built and compared different models to predict if a song will be popular.
Data Visualization
Grocery Shopping Website
Implemented a website to do grocery shopping online using our own designed database. The project required some SQL queries, and some Python/HTML programming to code a Flask app.
Data Visualization
UI design of the ChoreoStudio dancer's app
Designed a mobile application from scratch. The app was designed to help dancers create their choreographies. We mainly used Figma for the UI design, and we started a quick working prototype using JavaScript.