Android Ros Application



Similar documents
A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow

Tutorial on Client-Server Communications

Tutorial on Basic Android Setup

How to Create an Android Application using Eclipse on Windows 7

Face Recognition in Low-resolution Images by Using Local Zernike Moments

A Genetic Algorithm-Evolved 3D Point Cloud Descriptor

Introduction to NaviGenie SDK Client API for Android

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

Image Segmentation and Registration

Probabilistic Latent Semantic Analysis (plsa)

Android Programming. Høgskolen i Telemark Telemark University College. Cuong Nguyen,

Creating a 2D Game Engine for Android OS. Introduction

Feature Tracking and Optical Flow

A Comparative Study between SIFT- Particle and SURF-Particle Video Tracking Algorithms

OpenCV on Android Platforms

siftservice.com - Turning a Computer Vision algorithm into a World Wide Web Service

Automatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 269 Class Project Report

Automatic georeferencing of imagery from high-resolution, low-altitude, low-cost aerial platforms

Distinctive Image Features from Scale-Invariant Keypoints

Local features and matching. Image classification & object localization

Professor, D.Sc. (Tech.) Eugene Kovshov MSTU «STANKIN», Moscow, Russia

Canny Edge Detection

The Implementation of Face Security for Authentication Implemented on Mobile Phone

With a single download, the ADT Bundle includes everything you need to begin developing apps:

Android Application Development

Android Java Live and In Action

TouchPaper - An Augmented Reality Application with Cloud-Based Image Recognition Service

ACCURACY ASSESSMENT OF BUILDING POINT CLOUDS AUTOMATICALLY GENERATED FROM IPHONE IMAGES

How To Run A Hello World On Android (Jdk) On A Microsoft Ds.Io (Windows) Or Android Or Android On A Pc Or Android 4 (

Overview. Swarms in nature. Fish, birds, ants, termites, Introduction to swarm intelligence principles Particle Swarm Optimization (PSO)

Lesson 15 - Fill Cells Plugin

Android Development. Marc Mc Loughlin

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

Fahim Uddin 1. Java SDK

Surgical Tools Recognition and Pupil Segmentation for Cataract Surgical Process Modeling

ID TECH UniMag Android SDK User Manual

MusicGuide: Album Reviews on the Go Serdar Sali

Setting Up Your Android Development Environment. For Mac OS X (10.6.8) v1.0. By GoNorthWest. 3 April 2012

A Modular Approach to Teaching Mobile APPS Development

The use of computer vision technologies to augment human monitoring of secure computing facilities

Remote Android Assistant with Global Positioning System Tracking

Getting started with Android and App Engine

Software Development Environment. Installation Guide

Basic Android Setup Windows Version

Hello World. by Elliot Khazon

AN EFFICIENT HYBRID REAL TIME FACE RECOGNITION ALGORITHM IN JAVA ENVIRONMENT ABSTRACT

Course Project Documentation

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Mean-Shift Tracking with Random Sampling

OPC UA App development for Android

Develop a Hello World project in Android Studio Capture, process, store, and display an image. Other sensors on Android phones

Android Concepts and Programming TUTORIAL 1

Virtual Mouse Using a Webcam

Tracking and Recognition in Sports Videos

Image Classification for Dogs and Cats

Android, Bluetooth and MIAC

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM Eng. Wafaa Audah.

International Journal of Advanced Information in Arts, Science & Management Vol.2, No.2, December 2014

ANDROID LEVERED DATA MONITORING ROBOT

In: Proceedings of RECPAD th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

Randomized Trees for Real-Time Keypoint Recognition

Build Panoramas on Android Phones

How To Train A Face Recognition In Python And Opencv

COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs

Circle Object Recognition Based on Monocular Vision for Home Security Robot

The Visual Internet of Things System Based on Depth Camera

ECE 455/555 Embedded System Design. Android Programming. Wei Gao. Fall

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

Traffic Flow Monitoring in Crowded Cities

! E6893 Big Data Analytics Lecture 5:! Big Data Analytics Algorithms -- II

Fast Matching of Binary Features

HAND GESTURE BASEDOPERATINGSYSTEM CONTROL

Bases de données avancées Bases de données multimédia

341 - Bioinformatics Android Coursework

Getting Started with Android Development

Neural Network based Vehicle Classification for Intelligent Traffic Control

The Delicate Art of Flower Classification

Android Environment SDK

Tutorial on Basic Android Setup

Operational Decision Manager Worklight Integration

Similarity Search in a Very Large Scale Using Hadoop and HBase

AUTOMATIC HUMAN FREE FALL DETECTION USING ANDROID

Here to take you beyond Mobile Application development using Android Course details

The power of root on Android emulators

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Background on Elastic Compute Cloud (EC2) AMI s to choose from including servers hosted on different Linux distros

Cisco Cius Development Guide Version 1.0 September 30, 2010

Android and OpenCV Tutorial

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

Chapter 2 Getting Started

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Human behavior analysis from videos using optical flow

Transcription:

Android Ros Application Advanced Practical course : Sensor-enabled Intelligent Environments 2011/2012 Presentation by: Rim Zahir Supervisor: Dejan Pangercic

SIFT Matching Objects Android Camera Topic : /camera/ image_raw SIFT Color Tracking

Table of contents Problem statement Presentation of the work done in this project Setting up the environment Setting up rosjava Connecting the desktop computer to the Android device Image processing techniques on the image Conclusion and possible enhancements of the project

Setting up the environment Download and install ROS from the following link : http://www.ros.org/wiki/electric/installation/ubuntu We have to download the android sdk from the following source : http://developer.android.com/sdk/index.html Download eclipse from http://www.eclipse.org/downloads/ Download the Eclipse IDE for Java Developers Install the ADT Plugin by following the following tutorial http://developer.android.com/sdk/eclipse-adt.html

Setting up Rosjava Rosjava : implementation of ROS in java Ideal if : Need of an interaction with prior java libraries Important for android development since it s based on Java Building system is ant To download rosjava, go to the following link : https://rosjava.googlecode.com/hg/ To run the rosjava publisher/subscriber, we run the following rosrun rosjava_bootstrap run.py rosjava_tutorial_pubsub org.ros.tutorials.pubsub.talker name:=talker rosrun rosjava_bootstrap run.py name:=listener rosjava_tutorial_pubsuborg.ros.tutorials.pubsub.listener Talker is a publisher node that will continuously broadcast a message, in this case a hello_world string message. Listener is a subscriber node that listens to the messages sent by the publisher node

How to write an android application using rosjava Create an android project and in it a file MainActivity.java In this file, you should start by including RosActivity which is an activity that is adapted to ROS. An activity being a single task that the user can do We initialize the constructor by calling the RosActivity constructor We also overwrite the method oncreate( ), the method init( ) that starts the camera and gets all the components and the method ontouchevent( ) which defines the reaction to a new motion event

Connecting desktop computer to android device Heavy computing needed to do the image processing computation -> Connect the android phone to the desktop computer to do image processing on it 1) Matching objets 2) Color tracking

Matching objects Three components : Detector : detects keypoints by identifying candidate locations and scales that can be repeatably assigned under differing views of the same object Descriptor : consists on calculating a descriptor that is invariant as possible to remaining variations, such as change in illumination. That computes an unique fingerprint for each keypoint. Image gradients Keypoint descriptor (from David Figure Lowe s 7: Apublication: keypoint descriptor distinctive created image byfeatures first computing from Scale-Invariant the gradient magnitude keypoints and) orientation at each image sample point in a region around the keypoint location, as shown on the left. These are weighted by a Gaussian window, indicated by the overlaid circle. These samples are then accumulated into orientation histograms summarizing the contents over 4x4 subregions, as shown on the right, with by the identifying length of each arrow its corresponding nearest to the neighbor sum of the gradient in magnitudes the database near that direction of within the region. This figure shows a 2x2 descriptor array computed from an 8x8 set of samples, whereas the experiments in this paper use 4x4 descriptors computed from a 16x16 sample array. Matching: The best candidate match for each keypoint is found keypoints. The nearest neighbor is defined as the keypoint with minimum Euclidean distance for the invariant descriptor vector 6.1 Descriptor representation

SIFT Scale-invariant feature transform is an algorithm in computer vision that detects and describes the local features in images. Published by David Lowe in 1999. Application used here is in object recognition and matching objects Basically, for any image, interesting points can be extracted to provide a feature description or a signature of that object. This signature can be used to detect the object in an image after.

Color Tracking Basic idea : computing image first and second image moments Pre-requisite on the image : converting it from RGB space to HSV space to make it more invariant to illumination changes Then we compute spatial (first order) moment and central moment (second order moment) We compute then the central position Central position = first order moment / second order moment We then draw a line from this position to the last one remembered

Demonstration of how it works live Matching Objects

Demonstration of how it works live Color tracking

Conclusion and future works Got the android application to work and the video channel connection to work between the desktop computer and the android device Got the image processing techniques : matching objects and color tracking to work on the desktop computer Future work : on board computation since images are heavy to transport on the wireless channel but lack of computation power and memory on the phone

Thank you for your attention Any questions?