You are on page 1of 25

Introduction to Augmented Reality Development with Vuforia

Roy Ashok Sr. Manager, Business Development


2012 Qualcomm Incorporated. All rights reserved.

Agenda
Vuforia Platform Overview
Cloud Recognition
Developer workflow Tools Tutorial

Vuforia Apps

Vuforia Platform Traction

~30,000

Registered Developers From 130 Countries

400+
Models of Smartphones And tablets supported

Apps in Google Play and Apple App Store

1,000+

Types of Vuforia Apps

Gaming and Play Ability to check out the action from any angle; enhancing physical toys

Instructional & Educational Using your device as a user manual; Making curriculums visually interactive

Interactive Media Creating engaging consumer experiences at the point of advertising, point of sale, and point of use

Vuforia Platform
Device SDK Tools & Services Support Forum
Android iOS Unity Extension

Target Management System Vuforia Web Services

Dedicated technical support engineers Thousands of posts

Vuforia Components
Mobile Application
App Assets, Logic, Rendering Engine
Retrieve Content Target Position User Interactions

Developer
Qualcomm
Content Database Upload Image

Web UI

Vuforia Library
Target Management System
Database Device Target Database Local Target
Download & Bundle with App

Developer Workflow

Choose Targets
Upload images to TMS via the UI

Develop Content
Create rich content such as 3D models, animations & video Use authoring tools such as Maya, 3dStudiomax, Blender

Integrate with App


Build app with native tools Eclipse, Xcode, or Unity Link target database with app

version

1.5

Select targets (~80) & download Device Target Database

Vuforia Development Options


Eclipse
Supported OS Advantages
Free Low level APIs provide enhanced flexibility and performance

Xcode
iOS
Free Low level APIs provide enhanced flexibility and performance

Unity
Android / iOS
Fully integrated game engine reduces development time and cost Single project supports both iOS and Android

Android

Download Vuforia SDKs: developer.qualcomm.com/vuforia

Target Management System

Vuforia Cloud-based Recognition

Vuforia Can Now Recognize >1 Million Images

Vuforia Components
Mobile Application
App Assets, Logic, Rendering Engine
Target Position User Interactions

Developer Qualcomm
Retrieve Content

Content
Upload Image

Vuforia Library
Recognize Image Cloud Target Database

Web UI

Web Service APIs

Target Management System

Local Target DeviceTarget Database Database

Download & Bundle with App

Developer Workflow

Choose Targets
version

Develop Content
Create rich content such as 3D models, animations & video Use authoring tools such as Maya

Integrate with App


Build app with native tools Eclipse, Xcode, or Unity 3D Link target database with app

Upload images to TMS via the UI Select targets (~80) & download Device Target Database

1.5

version

2.0

Upload images via UI or via APIs to Cloud Target Database

Create simple content 2D text, images Re-use existing online content

Build app with native tools Eclipse, Xcode and lightweight rendering engines

Target Databases
Device
Free Upload images via web UI Static Supports ~80 images Reco time: < 200ms

Cloud
Free/Paid Upload images via web UI or web service APIs Dynamic Supports > 1,000,000 images Reco time : ~2s (WiFi)

Using Vuforia Web Services (VWS)


1. Access Keys

2. RESTful API
Upload Image Query status Update target Delete target

3. Web UI

Tutorial

Uploading an Image via APIs


Code Flow
Send Request
submitCreateTarget (){ // Generate signature // Form the HTTP message // Send the POST Message . . . . . .

Request/Responses

POST https://vws.vuforia.com/targets HTTP/1.1 Authorization: VWS df8d23140eb443505c0661c5b58294ef472baf64:jHX6oLeqTXpynyqcvVC2MSHarhU Content-Type: application/json { name:tarmac, width:20, image:base64 encoded image data, application_metadata: base64 encoded data.. }
HTTP/1.1 201 Created Content-Type: application/json { result_code:TargetCreated, transaction_id":550e8400e29b41d4a716446655440000, "target_id": f47ac10b58cc4372a5670e02b2c3d479 } GET https://vws.vuforia.com/targets/f47ac10b58cc4372a5670e02b2c3d479 HTTP/1.1 Authorization: VWS df8d23140eb443505c0661c5b58294ef472baf64:hJU6oLeqTXpynyqcvVC2MSHauHr HTTP/1.1 200 OK Content-Type: application/json { "result_code":"Success", "transaction_id":"2d2f9a404fbe4d96ac99ace8cbb1dea2", "status":"success", "target_record": {"target_id":"f47ac10b58cc4372a5670e02b2c3d479", "active_flag":true, "name":tarmac", "width":20, "tracking_rating":5, "reco_rating":5 } }

Process Response

//Parse TargetId from response . . .

Query Status

getTargetStatus() { // Generate signature keys // Form the HTTP message // Send the GET Message . . . . . .

Process Status Response

//Parse TargetId from response . . . }

Uploading an Image An Example

Vuforia Engine Programming Model


Initialize Initialize SDK SDK

Java
myApp extends Activity { . . . void onCreate() { . . . QCAR.init(); GLSurfaceView.init(); initCloudReco(); } . . . void onResume() { . . . QCAR.onResume(); startCamera(); GLSurfaceView.onResume() } GLRenderer implements GLSurfaceView.renderer { . . . onDrawFrame(..) { renderFrame() } } void onDestroy() { . . . QCAR.deinit(); } }

Native C/C++
initCloudReco() { . . . QCAR::TargetFinder.startInit(); QCAR::TargetFinder. waitUntilInitFinished(); QCAR::TargetFinder. setCredentials(..); //use client access keys } startCamera() { . . . QCAR::CameraDevice.init(); QCAR::CameraDevice.start(); QCAR::ImageTracker.start(); }

Start Cloud Start Cloud Reco Reco

Handle Handle Cloud Reco Cloud Reco Results Results

Render Content

// Called by QCAR each frame QCAR_onUpdate() { . . . QCAR::TargetFinder.getResult(); QCAR::TargetSearchResult. getTrackableSource(); QCAR::DataSet.createTrackable(); //Start Tracking } renderFrame() { // Start video background rendering // Get Pose and render green teapot }

Close SDK Close SDK

Client APIs Handling Reco Results

Availability
This Fall in Vuforia 2.0
Private beta starts now !
Apply at developer.qualcomm.com/vuforia

Pricing TBA
Free / Paid

Thank You
Sign-up for Cloud Recognition Today! developer.qualcomm.com/vuforia
Contact: Roy Ashok, Product Manager, Vuforia, rashok@qualcomm.com

Vuforia Platform Vision Features


Representations of real world elements that can be detected and tracked
Image Target Frame Markers Simple 3D Objects

Game boards, Product packaging , Posters , Signs , Greeting cards, Business cards, Books/magazine pages

Game pieces, Control cards

Boxes

QUALCOMM Incorporated 5775 Morehouse Drive San Diego, CA. 92121-1714 U.S.A. Copyright 2012 Qualcomm Incorporated. All rights reserved.

Not to be used, copied, reproduced in whole or in part, nor its contents revealed in any manner to others without the express written permission of Qualcomm.
Qualcomm and Uplinq are trademarks of Qualcomm Incorporated, registered in the United States and in other countries. Vuforia is a trademark of Qualcomm Incorporated. Other product and brand names may be trademarks or registered trademarks of their respective owners.

Nothing in these materials is an offer to sell any of the components or devices referenced herein. Certain components for use in the U.S. are available only through licensed suppliers. Some components are not available for use in the U.S.

2 5

You might also like