Computer Vision with Android Ideas and case-studies for a new generation of mobile applications A talk by Andrea Gagliardi La Gala email@example.com Bangkok Web Meetup 25 January 2011 @ Web Courses Bangkok
Who am I? Andrea Gagliardi La Gala, Italian Based in South East Asia since 6 years In Thailand since 3 years Mobile Solutions Architect (10+ years exp.) Develop business apps for mobile and Android Integrate mobile apps into enterprise systems R&D in Computer Vision and Artificial Intelligence
In this presentation Short introduction to Android Computer Vision applications for Android Live demos and case-studies Introduction to real-time image processing Develop ideas for new mobile applications Surveillance Systems Driver Assistance and Safety Augmented Reality …and many more, depending on your creativity! Feel free to interrupt me, this is an open discussion
U.S.A. Smartphone Market Share(hey… but U.S.A. set the trend) Source: The Nielsen Company.
Hello, Android By Google Inc. Linux Kernel Robust Multi-tasking Open source (largely) Java programming Image source: Google Inc.
Android Versions Current versions: Android 2.3 Gingerbread for smartphones Android 3.0 Honeycomb for tablets (coming soon) Platform fragmentation is not a big deal Images source: Google Inc. Data collected during two weeks ending January 4, 2011 Last historical data set collected on January 4, 2011
Mobile capabilities Powerful processors Lots of sensors
Advanced cameras Up to 8 MP Good optical quality Sensors are improving …
What is Computer Vision? The goal of Computer Vision: Make useful decisions about real physical objects and scenes based on sensed images Sense the physical world through the camera (2D image) Shape, illumination, spatial relationships Understanding of the 3D world Geometry, texture, motion, identity of objects Algorithms to: Process image information Construct descriptions of the world and its objects
Basic approach to motion Current frame Absolute difference Reference frame (background)
A more sophisticated approach(surveillance low-cost system) People counting and tracking Motion vectors Scene analysis Stream live audio/video to remote server Video source: YouTube.
Marker RecognitionLive Demo AndAR (Android ARToolKit) http://code.google.com/p/andar/ Java based software library that enables AR on Android Marker recognition within image 3D models display Images source: ARToolworks Inc.
A real case-study:Optical Recognition of Passports Remote server Agent with optical scanner End-user Integration ofend-user data into remote solution On-board localdatabase
Can we make it fast?Yes, with the Android NDK! C/C++ compiler STL libraries included since Android 2.3 (NDKr5) Embed C/C++ code into Java .apk JNI layer Image source: Google Inc.
Augmented Reality Applications:Driver Assistance Images source: Opel cars. Video source: YouTube.
Safety Applications:Driver Safety Monitor Images source: Opel cars. Video source: YouTube.
Get started on Computer Visionfor Android Computer Vision L. Shapiro, G. G. Stockman, Prentice Hall, 2001 Digital Image Processing R. C. Gonzalez, R. E. Woods, Prentice Hall, 2007 Learning OpenCV: Computer Vision with the OpenCV Library G. Bradski, A. Kaehler, O’Reilly, 2008 MATLAB (MathWorks Inc.) Image Processing Toolkit OpenCV C++ library: Sponsored by Intel BSD licence, free, open-source Android port: http://code.google.com/p/android-opencv/