intro to augmented reality wednesday 230

25
Introduction to Augmented Reality Development with Vuforia™ Roy Ashok Sr. Manager, Business Development ©2012 Qualcomm Incorporated. All rights reserved.

Upload: fachdian

Post on 27-Oct-2014

168 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Intro to Augmented Reality Wednesday 230

Introduction to Augmented Reality Development with Vuforia™

Roy Ashok

Sr. Manager, Business Development

©2012 Qualcomm Incorporated. All rights reserved.

Page 2: Intro to Augmented Reality Wednesday 230

Agenda

• Vuforia Platform Overview

• Cloud Recognition

– Developer workflow

– Tools

– Tutorial

Page 4: Intro to Augmented Reality Wednesday 230

Vuforia Platform Traction

~30,000 Registered Developers

From 130 Countries

400+ Models of Smartphones And tablets supported

1,000+ Apps in Google Play and

Apple App Store

Page 5: Intro to Augmented Reality Wednesday 230

Types of Vuforia Apps

Gaming and Play

Ability to check out the action from any angle; enhancing

physical toys

Interactive Media

Creating engaging consumer experiences at the point of

advertising, point of sale, and point of use

Instructional & Educational

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

Page 6: Intro to Augmented Reality Wednesday 230

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

Page 7: Intro to Augmented Reality Wednesday 230

Vuforia Components

Mobile Application

App Assets, Logic,

Rendering Engine

Target Position

User Interactions

Developer

Qualcomm

Vuforia Library

Web UI

Local Target Database Download & Bundle with App Device Target Database

Content Database

Retrieve Content

Target Management System

Upload Image

Page 8: Intro to Augmented Reality Wednesday 230

Developer Workflow

Choose Targets Integrate with App

• Upload images to TMS via the UI

• Select targets (~80) & download Device Target Database

• Create rich content such as 3D models, animations & video

• Use authoring tools such as Maya,

3dStudiomax, Blender

• Build app with native tools – Eclipse, Xcode, or Unity

• Link target database with app 1.5 version

Develop Content

Page 9: Intro to Augmented Reality Wednesday 230

Vuforia Development Options

Eclipse Xcode Unity

Supported OS Android iOS Android / iOS

Advantages

• Free

• Low level APIs provide enhanced flexibility and performance

• Free

• Low level APIs provide enhanced flexibility and performance

• Fully integrated game engine reduces development time and cost

• Single project supports both iOS and Android

Download Vuforia SDKs: developer.qualcomm.com/vuforia

Page 10: Intro to Augmented Reality Wednesday 230

Target Management System

Page 11: Intro to Augmented Reality Wednesday 230

Vuforia Cloud-based Recognition

Page 12: Intro to Augmented Reality Wednesday 230

Vuforia Can Now Recognize >1 Million Images

Page 13: Intro to Augmented Reality Wednesday 230

Vuforia Components

Mobile Application

App Assets, Logic,

Rendering Engine

Target Position

User Interactions

Developer

Qualcomm

Vuforia Library Web UI

Local Target Database

Download & Bundle with App Device Target Database

Cloud Target Database

Content

Recognize Image

Retrieve Content

Web Service APIs

Target Management System

Upload Image

Page 14: Intro to Augmented Reality Wednesday 230

Developer Workflow

Choose Targets Integrate with App

• Upload images to TMS via the UI

• Select targets (~80) & download Device Target Database

• Create rich content such as 3D models, animations & video

• Use authoring tools such as Maya

• Build app with native tools – Eclipse, Xcode, or Unity 3D

• Link target database with app 1.5 version

• 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 2.0

version

Develop Content

Page 15: Intro to Augmented Reality Wednesday 230

Target Databases

Device Cloud

Free Free/Paid

Upload images via web UI Upload images via web UI or web service APIs

Static Dynamic

Supports ~80 images Supports > 1,000,000 images

Reco time: < 200ms Reco time : ~2s (WiFi)

Page 16: Intro to Augmented Reality Wednesday 230

Using Vuforia Web Services (VWS)

1. Access Keys

2. RESTful API – Upload Image

– Query status

– Update target

– Delete target

3. Web UI

Page 17: Intro to Augmented Reality Wednesday 230

Tutorial

Page 18: Intro to Augmented Reality Wednesday 230

Uploading an Image via APIs Request/Responses

Code Flow

Send Request

Process Response

Query Status

Process Status

Response

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..”

}

GET https://vws.vuforia.com/targets/f47ac10b58cc4372a5670e02b2c3d479

HTTP/1.1

Authorization: VWS

df8d23140eb443505c0661c5b58294ef472baf64:hJU6oLeqTXpynyqcvVC2MSHauHr

getTargetStatus() {

// Generate signature keys

// Form the HTTP message

// Send the GET Message

. . .

. . .

submitCreateTarget (){

// Generate signature

// Form the HTTP message

// Send the POST Message

. . .

. . .

Process Response

Send Request

Query Status

Process Status

Response

HTTP/1.1 201 Created

Content-Type: application/json

{

“result_code”:”TargetCreated”,

“transaction_id":”550e8400e29b41d4a716446655440000”,

"target_id": ”f47ac10b58cc4372a5670e02b2c3d479”

}

//Parse TargetId from response . . .

}

//Parse TargetId from response . . .

}

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

}

}

Page 19: Intro to Augmented Reality Wednesday 230

Uploading an Image – An Example

Page 20: Intro to Augmented Reality Wednesday 230

Vuforia Engine Programming Model Initialize

SDK

Start Cloud Reco

Handle Cloud Reco

Results

Close SDK

GLRenderer implements

GLSurfaceView.renderer {

. . .

onDrawFrame(..) {

renderFrame()

}

}

initCloudReco() {

. . .

QCAR::TargetFinder.startInit();

QCAR::TargetFinder.

waitUntilInitFinished();

QCAR::TargetFinder.

setCredentials(..); //use client

access keys

}

startCamera() {

. . .

QCAR::CameraDevice.init();

QCAR::CameraDevice.start();

QCAR::ImageTracker.start();

}

renderFrame() {

// Start video background rendering

// Get Pose and render green teapot

}

myApp extends Activity {

. . .

void onCreate() {

. . .

QCAR.init();

GLSurfaceView.init();

initCloudReco();

}

. . .

void onResume() {

. . .

QCAR.onResume();

startCamera();

GLSurfaceView.onResume()

}

void onDestroy() {

. . .

QCAR.deinit();

}

}

Native C/C++ Java

// Called by QCAR each frame

QCAR_onUpdate() {

. . .

QCAR::TargetFinder.getResult();

QCAR::TargetSearchResult.

getTrackableSource();

QCAR::DataSet.createTrackable(); //Start

Tracking

}

Render Content

Initialize SDK

Start Cloud Reco

Handle Cloud Reco

Results

Render Content

Close SDK

Page 21: Intro to Augmented Reality Wednesday 230

Client APIs – Handling Reco Results

Page 22: Intro to Augmented Reality Wednesday 230

Availability

• This Fall in Vuforia 2.0

• Private beta starts now ! – Apply at developer.qualcomm.com/vuforia

• Pricing TBA – Free / Paid

Page 23: Intro to Augmented Reality Wednesday 230

Contact: Roy Ashok, Product Manager, Vuforia, [email protected]

Thank You

Sign-up for Cloud Recognition Today!

developer.qualcomm.com/vuforia

Page 24: Intro to Augmented Reality Wednesday 230

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

Page 25: Intro to Augmented Reality Wednesday 230

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.

25

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.