• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Work Portfolio

Work Portfolio






Total Views
Views on SlideShare
Embed Views



3 Embeds 9

http://www.linkedin.com 5
http://www.slideshare.net 2
https://www.linkedin.com 2


Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Work Portfolio Work Portfolio Presentation Transcript

    • Work Portfolio Amit Prabhudesai Samsung Adv. Inst. Tech. (SAIT) Bangalore, India
    • 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/
    • Human-detection using Adaboost Problem statement - detecting presence of humans in video frames from a surveillance camera
    • 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
    • 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
    • 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
    • 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!
    • 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
    • Lane Departure Warning (LDW) System Part of the Automatic Driver Assistance System (ADAS) 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 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)
    • 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
    • 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
    • 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
    • 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
    • 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
    • Retail store video analytics - Development Software development for the proposed system in C++ Testing and validation on simulated sequences Proposed system demonstrated to management
    • 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
    • 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
    • More to follow ...