Post Job Free
Sign in

Engineer Software

Location:
Sunnyvale, CA
Posted:
November 16, 2012

Contact this candidate

Resume:

Gagan Bansal

*** * ******** ***, *** No. G***, Sunnyvale, CA 94086

*****.******@*****.*** +1-410-***-****

Skills

Languages: C, C++, Java

Scripting: Shell, Perl

Packages/Tools: gdb, Make les, Matlab, L TEX, vi, awk

A

Databases: MySQL

Platforms: Linux, Windows

Libraries : CUDA, OpenCV, OpenGL, STL

Professional Experience

Research Engineer at Yahoo Labs, Sunnyvale, CA (Aug, 2010 - Present)

Development of real time ad serving platform using machine learnt models built on vast amounts of

user data.

O ine Analysis of user data to train models for predicting user interests.

Software Engineer at 33Across, Sunnyvale, CA (Sept, 2009 - Aug, 2010)

Involved in the design and development of graph centric algorithms for ad targeting using social

graphs.

Responsible for algorithm performance and scaling optimizations of algorithms for massive amounts

of data processing.

Member of Technical Sta at PixBlitz Studios, Cupertino, CA (Feb, 2009 - Aug, 2009)

Involved in the complete software development lifecycle of the product.

Designed and implemented real time computer vision code for analysis of high de nition videos using

CUDA architecture. The implementation involved thorough understanding of multithreaded

programming model for both CPU and GPU architectures. Dealt with programming challenges like

synchronisation, performance and accuracy.

Implemented pixel shader for chroma keying and rendering of high quality images using Nvidia

Quadro SDI card.

Involved in QA of the product. Wrote scripts in Python for testing and veri cation of my module.

Summer Intern, IntelliVision Technologies, Pune, India (May - July, 2006)

Object Classi cation using Hausdor Distance

General Object Classi cation using Hausdor Distance to nd the similarity and di erence between

images. Able to identify 90% objects correctly but large number of false detections.

E cient Continuous Background Learning for Surveillance

Grid based adaptive background learning algorithm developed and tested.

Educational Background

M.S. in Computer Science

Johns Hopkins University, Baltimore, MD, USA (2007 - Jan,2009)

Advisor: Dr. Rene Vidal

B.Tech. in Computer Science and Engineering

Indian Institute of Technology, New Delhi, India (2003 - 2007)

Honors and Awards

Secured 103 rank in Joint Entrance Examination for admission to IIT, 2003 among 175,000 students.

Awarded Certi cate of Merit in Mathematics Olympiad in 2001.

Awarded Certi cates of Merit throughout my schooling for being among the topmost performers.

Won several inter school events as a guitarist in school orchestra team.

Research Experience

Research Assistant, Center of Imaging Science, JHU (Jan,2008 - Dec,2008)

Worked on building a framework for segmentation of humans from videos with background clutter.

Learnt a prior on the human shapes and used it for segmentation in a level set framework

Academic Projects

User Level Thread Package

Implemented a user level thread package with functionality to create, delete, suspend and resume

threads .

Implemented a round-robin pre-emptive scheduler and context switching in user space.

Implemented our own semaphores as spin-lock critical section.

Instant Messaging Client and Server

Wrote a messaging client using TCP protocol.

Client ran on Nokia N800 device and the server ran on a linux based PC.

Involved socket programming in C language.

P2P le sharing system

Wrote a P2P le sharing system in which each client used UDP protocol to discover the P2P

network and TCP protocol to exchange le lists and content.

Involved socket programming in C language.

Vehicle Detection and Tracking

Given an input of Indian tra c video, the project aimed at segmentation, detection, tracking and

recognition of vehicles and pedestrians from the video.

Background subtraction and Kalman Filtering methods were used for segmentation and tracking

respectively.

Optical Flow using Lucas Kanade method

Displacement vectors were found for each pixel indicating the motion from one image to the other.

Pyramid based approach was also used to identify medium baseline motion.

Image Segmentation using Polysegment and Spectral Clustering

Segmentation was done based on intensity, color, texture.

Spectral Clustering was done each on fully connected, k nearest neighbor and epsilon neighborhood

graph using either unnormalised, normalised or symmetric laplacian matrices.

The segmentation results were compared with that using kmeans and using kmeans initialised with

polysegment.

Saree (ethnic Indian dress) Modeling and Simulation

Aimed at modeling the way saree is worn in real life.

Some issues were e cient cloth modeling (mass spring model), robust collision handling (handling

various types of interactions between two triangles) and fast simulation using multiresolution cloth

model.

Implemented in C++ using OpenGL library.

Animation in OpenGL

Modeled a humanlike lamp having bones. Used motion capture, keyframing, parametric and

algorithmic forms for various parts of animation.

Implemented in C++ using OpenGL library.

Uniform space voxelisation based ray tracing

Recursive ray tracing for large mesh objects and primitive objects like sphere.

Transparency, multiple re ections, multiple light sources, area light sources, anti-aliasing and texture

mapping were handled.

Implemented in C++ using OpenGL library.

Face Recognition using Principal Component Analysis

Two methods tested, matching query image with each image in database and, secondly matching

query image with an image per individual (one face class per individual).

Relevant Coursework

Machine Learning Linear Algebra Data Structures

Computer Vision Optimisation Algorithms

Computer Graphics Shape and Geometry Theory of Computation

Digital Image Processing Probability and Stochastic Processes Operating Systems

Signals and Systems Metric Spaces Computer Networks

Poisson Eq. in Image and Shape Matching Numerical Analysis Computer Architecture



Contact this candidate