I am a second year grad student and a Graduate Teaching Assistant pursuing my MS in Computer Science at University of Minnesota Duluth.
My thesis work is advised by Dr. Pete Willemsen and involves playing (pun intended) with multiple kinects :D
My areas of research interest include Virtual Reality, Computer Vision, Computer Graphics, Human Computer Interaction and Artificial Intelligence
( If not for my research, I would be developing games :) ).
Feel free to explore the menu on my left to know more about my research, projects and other activities !!! Click here to get a copy of my resume and here to get a copy of my CV.
The content below is outdated by atleast 6 months !!! I will try and update this page as soon as I get some time to spend on it.
Meanwhile, to get some idea of what I am upto, please look at the following submissions:
Click here to download MIDGRAPH 2011 Paper , VR 2012 Poster or to look at my University of Utah Presentation , I gave during my trip to the University of Utah.
My current research focuses on visual body feedback in virtual environments. The first pass of this work requires user segmentation from the background.
Problem Context: Segmentation of a user given the constraints that the user is in motion and the camera's view is a first person view of the user.There are several methods available for color-based segmentation. But, this is not applicable in the context of the current problem as it not involves segmenting a mix of colors in the user's attire and the objects he/she holds. One solution for this problem might be to segment user/foreground based on motion information in consecutive video frames. But, this is applicable only to scenes with relatively static backgrounds. The alternate methods to solve the problem are being explored at the moment. The following are a few screenshots of the ongoing research:
Skin color based segmentation based on [5].
Foreground separation from static backgrounds based on the method used in Chris Harrison's 3D Head Tracking Project.
As a part of our advanced computer graphics class, we had to build a ray tracer from scratch. My Ray Tracer demonstrates a variety of features like ideal specular reflections, shadows, object instancing, antia-aliasing, motion blur, soft shadows, depth of field, glossy reflections, bounding volume hierarchies, simple animations etc. It also supports miscellaneous extensions like soft blobs, texture generation using perlin noise etc. This project is entirely written in C++ and is built using CMake. It also uses the standard png library to png images as output. It supports RDL scene descriptions.
The following screen shots demonstrate some of the images generated by my ray tracer:
Caffeiene molecule using stratified anti-aliasing technique. The RDL file for this image is originally created by Scot Halverson .
Sphere using soft shadows.
Object instancing applied on spheres.
Motion blur observed in a scene with one static sphere and one sphere in motion.
A simple demonstration of soft blobs technique.
We have also experimented with NVIDIA's Optix API.
3D model of a lab loaded and rendered as a mesh of triangles by Optix.
"Stanford Dragon Model" loaded and rendered as a mesh of triangles by Optix. This model is originally developed by Stanford University Computer Graphics Laboratory and is available on the web for free.
This is developed as the main project in my engineering final year. It uses hand gestures to simulate mouse operations and thereby controls system applications using simple color caps as gesture input devices.
We use hand gestures and an optional speech recognition to simulate mouse operations. We then use it to perform dynamic region/contour capture from a live video stream. We show how it can also be used to play games by means of a simple game.
All these applications use integrated webcam (or any webcam supported by OpenCV) of the computer. OpenCV is used to capture live video stream from the webcam. This stream is then processed to identify and map hand gestures to their corresponding actions. We used color marker caps as the indicators for gestures. The recognized gestures are then mapped to corresponding actions. The gesture control module of this project is written in C++, speech recognition module is written in C#.NET while the game is written in Core Java. The speech recognition module uses Microsoft SAPI.
The following are some of the screenshots from the project:
Simulation of mouse selection using Mouse Control without Speech module
Simulation of mouse drag using Mouse Control with Speech module
Dynamic Capturing of region using Dynamic Region Capture module
Captured region
Game control using Mouse Control without Speech module
Basically, a Perl program that learns an N-gram language model from an arbitrary number of input files and generates sentences on the fly based on learnt model. A 4-gram model built from Crime and Punishment, by Fyodr Dostoyevsky and War and Peace, by Leo Tolstoy generated the below 10 random sentences !!!
natasha got up and went on .
the faces all expressed animation and apprehension , but it seemed to himself at least .
spots appeared on his face .
but as barclay did not inspire confidence his power was limited .
he came up with a great deal and is still suffering from the idea that no one knows , but one must sit somewhere ; that poor katia now - - you ' re in force , and he occupied a temporary post in the commissariat department in that town .
you will let me win this ten , or beat it .
" the worst of it , i have another object .
for such an act ; in the second place if you want anything come straight to me , an old woman ' s beauty to him and he often thought about her .
he kissed her hand , he pressed it to the committee prince andrew looked kindly at sonia .
a pleasant humming and whistling of bullets were often heard .
This standard Snake game is probably the first window based game I have ever written (some 5 years back). This game is written completely using C Graphics. It contains a user snake and a snake that's controlled by the computer. The code used is so old that I had to use DosBox to run it and take the following screenshot ;-).
A random screenshot of the Snake game.
This standard Ball&Bat game is developed as a sub-part of my other project "Application Control using Hand Gestures". The entire code is written in Java. It contains a user bat that can be controlled by a physical mouse or by means of a colorcap (worn on the finger).
A random screenshot of the Ball&Bat game.
This standard and simplified Tetris game is developed as an attempt to get acquainted with opengl. It's a very simplified version of the actual Tetris game.
A random screenshot of the Tetris Game.
This standard Helicopter game is developed as an attempt to get acquainted with XNA framework. Thanks to the nice XNA tutorials by Riemer, I was able to understand basics of XNA framework and apply them in this game. The background texture used in this game is from the same tutorial and the helicopter image is available freely over the internet.
A random screenshot of the Helicopter Game.
| CS 8761 - Advanced Systems Programming |
| CS 8761 - Natural Language Processing |
| CS 8771 - ADVANCED COMPUTATIONAL LOGIC |
| CS 4511 - COMPUTABILITY AND COMPLEXITY (Audit) |
| MATH 5233 - NUMERICAL ANALYSIS: APPROXIMATION AND QUADRATURE |
| CS 8721 - ADVANCED COMPUTER GRAPHICS |
| MATH 5830 - NUMERICAL ANALYSIS: APPROXIMATION AND QUADRATURE |
| CS 5631 - Operating Systems under Dr. Christoper G. Prince |
| CS 5721 - Computer Graphics under Dr. Pete Willemsen |
| CS 1581 - HONORS COMPUTER SCIENCE 1 under Dr. Tim Colburn |
| CS 5651 - COMPUTER NETWORKS under Dr. Pete Willemsen |
| CS 4531 - SOFTWARE ENGINEERING under Dr. Tim Colburn |
| CS 5721 - COMPUTER GRAPHICS under Dr. Pete Willemsen |
| CS 1511 - VISUAL C++ under Dr. Jim Allert |
| CS 4531 - SOFTWARE ENGINEERING under Dr. Gary Shute |
My first ever hiking with Erin McManus, Dr. William Bill Thompson, Scot Halverson and Mrs. Barbara
Feel free to contact me via email or during my office hours.
| Email: | saty0010@d.umn.edu | ||
| Mobile: | (218) 260-3429 | ||
| Office: | MWAH 143 | ||
| Office Hours: | Mon | 11:00 AM - 12:00 PM | MWAH 187 |
| Wed | 11:00 AM - 12:00 PM | HH 314 | |
| 5:00 PM - 6:00 PM | HH 314 | ||