by Sebastian Olsson and Philip Åkesson.
This thesis describes the theory and implementation of both local and
distributed systems for object recognition on the mobile Android
platform. It further describes the possibilities and limitations of
computer vision applications on modern mobile devices. Depending on the
application, some or all of the computations may be outsourced to a
server to improve performance.
The object recognition methods used are based on local features. These
features are extracted and matched against a known set of features in
the mobile device or on the server depending on the implementation. In
the thesis we describe local features using the popular SIFT and SURF
algorithms. The matching is done using both simple exhaustive search and
more advanced algorithms such as kd-tree best-bin-first search. To
improve the quality of the matches in regards to false positives we have
used different RANSAC type iterative methods.
We describe two implementations of applications for single- and
multi-object recognition, and a third, heavily optimized, SURF
implementation to achieve near real-time tracking on the client.
The implementations are focused on the Java language and special
considerations have been taken to accommodate this. This choice of
platform reflects the general direction of the mobile industry, where an
increasing amount of application development is done in high-level
languages such as Java. We also investigate the use of native
programming languages such as C/C++ on the same platform.
Finally, we present some possible extensions of our implementations as
future work. These extensions specifically take advantage of the
hardware and abilities of modern mobile devices, including orientation
sensors and cameras.
Download as PDF
Below is a clip of one of our proof-of-concept applications,
Bartendroid, which gives drink suggestions based on the bottles found in
a photo. The server performing the recognition and matching is running
on Amazon Elastic Compute Cloud (EC2) for scalable distributed