Work Portfolio


Published on

Published in: Career, Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Work Portfolio

  1. 1. Work Portfolio Amit Prabhudesai Samsung Adv. Inst. Tech. (SAIT) Bangalore, India
  2. 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: Feel free to drop me a line at I'm passionate about technology, innovation and product-engineering. I blog about these topics (and more) at:
  3. 3. Human-detection using Adaboost Problem statement - detecting presence of humans in video frames from a surveillance camera
  4. 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. 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. 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. 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. 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. 9. Lane Departure Warning (LDW) System Part of the Automatic Driver Assistance System (ADAS) Portfolio
  10. 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. 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. 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. 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. 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. 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. 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. 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. 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
  19. 19. More to follow ...