Putting learnings to practice with projects.

Rendering Iridescent Colors of a Soap Bubble

Iridescence is primarily a result of interference of light. Here light's wave nature is highlighted as opposed to particle nature as is the case in many shaders and ray-tracers. We built a raytracer to simulate interference of light and produce iridescence. View source

  1. Render Bubble

    Simulate Soap Film

    We simulate a thin film with two noncentric dielectric spheresa nd measure the bubble thickness using ray parameters

  2. Render Colours

    Wavelngths to RGB

    To render colors from wavelength intensities we use the CIE Color Matching function.

  3. Liquid Flow

    Finally to simulate the flow of liquid under gravty, we add modified Perlin noise.

bubble 1 bubble 2

Gesture Recognition During Intervention of Robot Assisted Diagnosis of Autism Spectrum Disorder

Autism Spectrum Disorder (ASD) is a developmental disorder which leads to social and behavioural challenges as well as impaired communication skills in the individuals.

My role in this project was to develop gesture recognition algorithm to detect self stimmulatory actions like head-banging, spinning and hand-flapping. I explored how deep learning architectures like I3D and PoseConv3D can be adapted to this scenario. I also programed the NAO robot for imitation tasks

asd 1 asd 2

Spatial Audio using Camera for Android Phones

Mobile devices lack the ability to deliver immersive audio experiences due to limitations in hardware and software. Special spatial audio solutions that enhance the listening experience need specific hardware to address this problem.

To tackle this problem, we have made an app that uses the phone's inbuilt camera and Headpose detection algorithms to map the sounds sources in 3D space according to the user's head position. We also have multple tracks for different instruments provinding an immersive experience. View source

headspace 1 headspace 2

Deep Learning & Eularian Based Hybrid Motion Magnification

Motion Magnified video from Eulerian methods is very noisy while that from Deep Learning based method has ringing artefacts. Hence we try to merge these two so as to keep the positives of both methods. View source

  1. Average & Binarize

    Eulerian Based

    We extract the filters and average it out over time and binarize it using Otsu's threshold

  2. Dilate & Blur

    Processing filters

    We dilate the filter using a strength value and blur it based on a smoothness value

  3. Weighted Sum

    The filter is used as a mask to combine frames of original video and DL based output

motion 1 motion 2

Game Development using Unreal Engine

In this project we developed a role playing game. Where the user is a history professor tasked with exploring an ancient church. The player is challenged to solve clues to finish the game.

We used unreal engine to incorporate realistic graphics and interactions from picking up obejcts to extinguishing fires to even riding a motorboat. We have employed different HUDs and maps for different stages of the game. A special HUD is also used when the player equips a gun.

arrow_upward To the top