work portfolio
DESCRIPTION
TRANSCRIPT
![Page 1: Work Portfolio](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/1.jpg)
Work Portfolio
Amit PrabhudesaiSamsung Adv. Inst. Tech. (SAIT)
Bangalore, India
![Page 2: Work Portfolio](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/3.jpg)
Human-detection using Adaboost
Problem statement - detecting presence of humans in video frames from a surveillance camera
![Page 4: Work Portfolio](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/9.jpg)
Lane Departure Warning (LDW) System
Part of the Automatic Driver Assistance System (ADAS) Portfolio
![Page 10: Work Portfolio](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022051612/54bbf26b4a7959c1278b4569/html5/thumbnails/19.jpg)
More to follow ...