work portfolio

19
Work Portfolio Amit Prabhudesai Samsung Adv. Inst. Tech. (SAIT) Bangalore, India

Upload: amit-prabhudesai

Post on 19-Jan-2015

1.169 views

Category:

Career


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Work Portfolio

Work Portfolio

Amit PrabhudesaiSamsung Adv. Inst. Tech. (SAIT)

Bangalore, India

Page 2: Work Portfolio

About me ...

Hi, I'm Amit and I work in the multimedia domain. My specialties are image processing and computer vision. I graduated from the Indian Institute of Technology (IIT) Bombay, Mumbai where I worked on the problem of image retrieval. I have worked with Siemens Corporate Technology Labs (July 2006 - Aug 2008) and am currently working in SAIT - India, a division of Samsung India Software Ops. (SISO). You can learn more about me at: http://unhub.com/AmitPrabhudesai Feel free to drop me a line at [email protected]'m passionate about technology, innovation and product-engineering. I blog about these topics (and more) at: http://thoughtlabs.wordpress.com/

Page 3: Work Portfolio

Human-detection using Adaboost

Problem statement - detecting presence of humans in video frames from a surveillance camera

Page 4: Work Portfolio

What is Adaboost?

Adaboost or ADAptive BOOSTing is a method to learn a single 'strong' classifier from a huge set of so-called 'weak' classifiers

What are 'weak' classifiers? They are a set of simple features - only constraint being that the max. absolute classification error over the training set < 0.5e.g. - Haar features - difference-of-sum features computed over image regions

Philosophy of AdaboostLearn the best-set of features by solving successively difficult problems (think GRE-test!)

Adaboost gives you the final set of best features, weights to combine them and a threshold

Page 5: Work Portfolio

Fast feature computation

Efficient feature computation via the 'Integral Image' II(x,y) = sum(i(x',y')) s.t. x' <= x, y' <= y

Why compute the integral-image representation?Constant-time computation of difference-of-sum features!Rectangular sum computed in 4 array referencesDifference between rectangular sums computed in 8 array referencesAdjacent rectangle-sums computed in 6 array references

Page 6: Work Portfolio

Work packages

Creation of training data-set 1000 positive samples from training videos from surveillance video3000 negative samples from videos not containing pedestrians - randomly extracted windows

Prototype development of a human-detection system using the Adaboost algorithm

Use of MATLAB for rapid development and testingTraining the classifier Testing on unseen samples (partitioned from the collected data-set)Testing on unseen real-life video sequences from the surveillance camera

Page 7: Work Portfolio

Work packages

System implementation in C for benchmark and demo to managementPromising results

Good detection rate (97 per cent +) Low false-positive rate (1 FP in every 1,000,000 windows examined)

FP-rate is critical in real-life systemsCost of false-alarms is high!

Porting of system to FPGA for embedded hardware implementation

Close involvement with FPGA team to explain system architecture Explore scope for parallel implementation - real-time performance desired!

Page 8: Work Portfolio

Success Stories!

System ported on FPGA and DSP-based 'Smart Camera' attaining real-time performance

Detecting all humans present in a 320 x 240 video frame with frame rate of 30 fps

System deployed on Client site for use as Intruder detection system

Page 9: Work Portfolio

Lane Departure Warning (LDW) System

Part of the Automatic Driver Assistance System (ADAS) Portfolio

Page 10: Work Portfolio

LDW System - Goals & Responsibilities

Porting and Optimization of a LDW system to the Texas Instruments (TI) DM6437 fixed-point digital signal processor Responsibilities

Part of the team as a computer-vision algorithms expertReverse-engineer the algorithm from C++ code provided by the ClientPrepare detailed-flow-diagrams (DFDs) and conduct code walk-throughs

Understand the algorithm and help with the optimization for the TI-C6000 architecture

Suggest possible algorithm enhancements to algorithm developers (Client-side)

Page 11: Work Portfolio

LDW System - Work packages

Complete understanding of the algorithm from C++ source code and preparation of DFDs for algorithm understandingInvolved in porting and optimization for TI-DSP C6000 architecture

Code optimization and re-structuring for efficient embedded implementationTuning of run-time critical loops using compiler intrinsics, assembly optimizationMemory optimization - re-structuring data, reducing memory stallsFixed-point optimization using the TI IQMath library

Page 12: Work Portfolio

LDW System - Contributions

Obtained overall improvement of 2.5X in system performance (from baseline version) with up to 4X improvement in run-time critical modules Proposed an alternative design for a LDW system which is considerably less complex than existing design

Implementation and validation of proposed design in C with both synthetic test sequences and real-life test sequences A Disclosure of Invention (DoI) filing on the work on the alternative LDW System design and implementation

Page 13: Work Portfolio

Video Analytics for Retail Store Chain

Vision-based system to count number of people entering a store

Subsidiary system to detect the formation of a queue at billing counters

Page 14: Work Portfolio

Video analytics for Retail Store

Problem statement: System to count the number of people entering a store and allied (separate) system to detect queue-formation at billing counterResponsibilities

Complete responsibility of end-to-end solution designRequirements gathering and spec'ingSystem architecture definition Software development Testing and ValidationDemo

Page 15: Work Portfolio

Retail store video analytics - Solution

Proposed an efficient system based on adaptive background separation (Stauffer-Grimson algorithm)

Background separation to detect foreground blobs Feature-extraction on detected blobs and validation Track the blobs on basis of extracted features

Guard against counting same person twiceQueue formation detection

Simple morphological operations on background subtracted frameFlag _queueFormed event on basis of blob dimensions

Page 16: Work Portfolio

Retail store video analytics - Development

Software development for the proposed system in C++ Testing and validation on simulated sequencesProposed system demonstrated to management

Page 17: Work Portfolio

Automatic Fingerprint Identification System (AFIS)

Responsible for complete software development in C++ for automatic fingerprint identification systemUse of OpenCV library for rapid prototyping and developmentProposed and implemented heuristics for reliable minutiae extraction from fingerprint imagesDynamic programming (DP) based string-matching algorithm for identificationDemo-system with developed software, and basic UI to interface capacitive touch sensor to PC for fingerprint enrollment and matching

Page 18: Work Portfolio

Trainings/Mentorship

Attended the Texas Instruments Developers' Conference - India (2008) Workshop on Optimizing for TI-C6000 architectureAttended the ICVGIP'06 Conference representing Siemens as a delegateMentored interns on their summer projects/Graduate projectsDevelopment of an image-processing library optimized for the TI-C6000 architecture with an intern from IIT-Madras

Page 19: Work Portfolio

More to follow ...