Videsh's picture

Ray Tracer

Course Assignments for CS6620, Ray Tracing for Graphics

Code

Built a ray tracer using path tracing to shade glossy reflective and refractive surfaces with area lights to simulate soft shadows. Also, implemented texture filtering, anti-aliasing, depth of field rendering and BVH acceleration structure to improve performance. The results of the assignments are as follows:

  1. Ray Casting
  2. Shading
  3. Shadows
  4. Reflections and Refractions
  5. Triangular Meshes
  6. Space Partitioning
  7. Textures
  8. Antialiasing
  9. Depth of Field
  10. Soft Shadows and Glossy Surfaces
  11. Monte Carlo Global Illumination
  12. Path Tracer

Coherent Rendering for Augmented Reality

Undergraduate Thesis, IIT Bombay

report

Coherent Rendering for Augmented Reality is concerned with seamlessly blending the virtual world and real world in real time. We are interested in applying real-world light to virtual objects. This implies the measurement of the real-world lighting, also known as photometric registration. In this project we implement a method to estimate high quality illumination using convolutional neural networks (CNNs). Our represention of light model of real world is based on spherical harmonics representation. The aim of this project is to make augmentations photorealistic while removing any constraints in the environment.

Graphics - Modelling, Rendering and Animation

Course Project for CS475: Computer Graphics

Code

In this project, a short film with the music box lying closed in a room is created. The animation shows the music box to open, and two figures that dance to a tune pop out and move to the music. Finally, the box closes again. The modelling involves creating all the models, creating the scene with other elements.Also, lighting and texture is added. Then, we script the animation, add music and then generate the movie. Finally we add camera animation and character animation.

Progressive Nets for Multitask Learning

Course Project for CS747: Foundations of Intelligent & Learning Agents

Report / Code

Deep neural networks provide rich representations that can enable reinforcement learning algorithms to perform effectively. Learning to solve complex sequences of tasks−while both leveraging transfer and avoiding catastrophic forgetting−remains a key obstacle to achieving human-level intelligence. Through this project, we have explored the area of multitask learning using the novel approach of progressive neural networks. This form of network architecture represents a step forward in the above stated direction: they are immune to forgetting and can leverage prior knowledge via lateral connections to previously learned features. We have evaluated this architecture on the baselines of the asynchronous advantage actor critic algorithm for two Atari games, Pong and Breakout.

Content Based Image Retrieval Using Salient Orientation Histograms

Course Project for CS663 - Fundamentals of Image Processing

Report / Code

Content-aware image retrieval is a very important topic nowadays, when the amount of digital image data is highly increasing. Existing sketch based image retrieval (SBIR) systems perform at a reduced level on real life images, where background data may distort image descriptors and retrieval results. To avoid this, a preprocessing step is introduced in this [paper] to distinguish between foreground and background, using integrated saliency detection. To build the descriptor only on the most relevant pixels, orientation feature is extracted at salient Modified Harris for Edges and Corners (MHEC) keypoints using an improved edge map, resulting in a Salient Orientation Histogram (SOH). The proposed SBIR system is also augmented with a segmentation step for object detection. The method is tested on the THUR15000 and COREL10000 database, containing random internet images.

Flappy Bird AI

Course Project for EE769: Introduction to Machine Learning

Blog / Code

The goal for this project was to explore the simple Q-learning technique and Deep Q-Network (DQN) to train an environment agnostic agent for the game, that can play on it’s own, achieving super-human scores. Also, faster convergence was ensured by implementing 𝜀-greedy & experience replay strategies.