This document provides a summary of Amit Prabhudesai's work portfolio. It outlines his educational background and work experience in image processing and computer vision. It then describes several projects he has worked on, including human detection using Adaboost for surveillance video, optimizing a Lane Departure Warning system for a Texas Instruments DSP, developing video analytics software for retail store customer counting and queue detection, and an Automatic Fingerprint Identification System. It also lists some relevant trainings and mentorship activities.
Hot Call Girls |Delhi |Janakpuri ☎ 9711199171 Book Your One night Stand
Work Portfolio
1. Work Portfolio
Amit Prabhudesai
Samsung Adv. Inst. Tech. (SAIT)
Bangalore, India
2. 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 prabhudesai.amit@gmail.com
I'm passionate about technology, innovation and product-engineering. I blog
about these topics (and more) at: http://thoughtlabs.wordpress.com/
3. Human-detection using Adaboost
Problem statement - detecting presence of humans in video
frames from a surveillance camera
4. 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.5
e.g. - Haar features - difference-of-sum features
computed over image regions
Philosophy of Adaboost
Learn 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
5. 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 references
Difference between rectangular sums computed in 8
array references
Adjacent rectangle-sums computed in 6 array references
6. Work packages
Creation of training data-set
1000 positive samples from training videos from
surveillance video
3000 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 testing
Training the classifier
Testing on unseen samples (partitioned from the
collected data-set)
Testing on unseen real-life video sequences from the
surveillance camera
7. Work packages
System implementation in C for benchmark and demo to
management
Promising 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 systems
Cost 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!
8. 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
9. Lane Departure Warning (LDW)
System
Part of the Automatic Driver Assistance System (ADAS)
Portfolio
10. 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 expert
Reverse-engineer the algorithm from C++ code
provided by the Client
Prepare 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)
11. LDW System - Work packages
Complete understanding of the algorithm from C++ source
code and preparation of DFDs for algorithm understanding
Involved in porting and optimization for TI-DSP C6000
architecture
Code optimization and re-structuring for efficient
embedded implementation
Tuning of run-time critical loops using compiler intrinsics,
assembly optimization
Memory optimization - re-structuring data, reducing
memory stalls
Fixed-point optimization using the TI IQMath library
12. 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
13. 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
14. 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 counter
Responsibilities
Complete responsibility of end-to-end solution design
Requirements gathering and spec'ing
System architecture definition
Software development
Testing and Validation
Demo
15. 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 twice
Queue formation detection
Simple morphological operations on background
subtracted frame
Flag _queueFormed event on basis of blob
dimensions
16. Retail store video analytics -
Development
Software development for the proposed system in C++
Testing and validation on simulated sequences
Proposed system demonstrated to management
17. Automatic Fingerprint Identification
System (AFIS)
Responsible for complete software
development in C++ for automatic
fingerprint identification system
Use of OpenCV library for rapid
prototyping and development
Proposed and implemented
heuristics for reliable minutiae
extraction from fingerprint images
Dynamic programming (DP) based
string-matching algorithm for
identification
Demo-system with developed
software, and basic UI to interface
capacitive touch sensor to PC for
fingerprint enrollment and matching
18. Trainings/Mentorship
Attended the Texas Instruments Developers' Conference -
India (2008) Workshop on Optimizing for TI-C6000
architecture
Attended the ICVGIP'06 Conference representing Siemens
as a delegate
Mentored interns on their summer projects/Graduate
projects
Development of an image-processing library optimized for
the TI-C6000 architecture with an intern from IIT-Madras