Artoolkit 6/Open Source

Artoolkit 6/Open Source

DAQRI ARToolKit 6/Open Source Introduction to ARToolKit Phil Oxford Brookes University 2017-01 DAQRI by the numbers DAQRI Smart Helmet Wearable Human-Machine Interface Hazloc-certified PPE helmet Sensor package: Logic board: • Intel R200 stereo colour/depth cameras Stereo holographic- Intel Core M7 CPU @ 2.1GHZ • Lepton 3.0 Thermal Camera waveguide full colour 8GB RAM • DAQRI VisionCube™ integrated see-through display Wireless radio IMU/wide FOV optical tracking system DAQRI’s approach to AR The DAQRI Ecosystem 4D Studio Services Analytics MDM, Remote Expert Operating System Software Core apps Advanced computer vision External framework plugins } Hardware Smart Helmet, In-vehicle display Physics Realtime holographics ARToolKit: A collection of software tools to help solve some of the fundamental problems in augmented reality, including geometric and photometric registration • geometric registration: aligning the position of the virtual environment with the actual • photometric registration: matching the appearance of objects in the virtual environment to the actual ARToolKit - History • 2004 - v.2 released open source (Sourceforge) • 1999 - first demonstrated publicly • 2008/2012 - open source innovation • 2001- v.1 released open source (Washington) • 2012/2014 - extending platform support • 2001 - ARToolworks incorporated with dual licensing model • 2015 - acquired by DAQRI - pro versions open sourced 1999 2009 2015 SIGGRAPH 1999 ARToolKit Shared Space demo VR2009: Kato award ARToolworks becomes part of DAQRI (Lamb, Vaughan, Furness, Billinghurst, Kato) 6 Goals • Open-source a high-quality texture-tracker. • Modernise target platforms and reduce need for legacy support. • Create SDK suitable for full spectrum of expertise • high-level low-complexity API for novices • expose underlying CV APIs for experts while simplifying ancillary tasks ARToolKit 6: Computer vision ⁕ On-device image recogniser ⁕ Multiple textured-surface tracker ⁕ Planar surface tracker .. ⁕ High performance pose estimator ⁕ Open lens model database ARToolKit 6 tracking features • On-the-fly tracking data generation (10s of millseconds) • Feature-based initialisation (FREAK features) • Template matching • Optical flow fallback • New pose estimation via P3P offering much improved stability ARToolKit 6 image recognition features • On-device image recognition (up to 500 images) • Tool supplied to allow pre-generation of datasets from large number of images • Dynamic saving/loading of image sets, or individual images • Image recognition also provides tracking initialisation • Wednesday ARToolKit lesson 5 by Dan Bell: Details of ARTVision ARToolKit 6 other features • On-device camera intrinsics calibration database. • Self-hostable camera intrinsics calibration database server. • Tools provided to calibrate your own cameras/devices • Thursday ARToolKit lesson 6 by Thorsten Bux: Camera calibration system ARToolKit license terms BSD-like Apache LGPLv3 GPLv3 Use of code in As linked All All None closed-source library Acknowledge No No Yes, plus link Yes, plus link ment required Retention of copyright/ If redistributing Disclaimer only Yes Yes license complete file(s) headers Requires Modifications publication of No No Yes to the library users source License for License for ARToolKit ARToolKit example code libraries & utilities Structure of ARToolKit 6 Key: C++ class External library Internal library Hybrid system Binding Objective-C API Java API C# API JNI P/Invoke C API ARController ARTracker ARTrackable ARTrackableAppearance ARTrackableSquare ARTrackerSqua ARTrackerInstant ARTrackableInstant ARVideoSource ARTracker2D ARTrackable2D ARTrackableMultiSqua ARView On re re On libARVideo libARTVision libAR libInstantOn libARG Android Camera glog CoreMotion OpenGL/GLES Video AVFoundatio calibration boost Push n Video4Linux2 database sqlite3 curl SDK structure • Resources required to modify SDK are separate from resources required to use SDK • Human-readable top-level SDK structure: • SDK source and build system (machine readable) in “Source”. AR6 • Examples in “Examples”, stand-alone source with AR6J IDE project files CMakeLists.t (iOS, macOS: Xcode, Android: Android Studio, Linux: CMake, future Windows: Visual Studio) xt Utilities build.sh Build system • CMake build-system builder • bash script-driven configuration and build system driver • One-line SDK build for all platforms: ~/artoolkit6$ cd Source; ./build.sh (macos|ios|android|linux) [examples] [utilities] • For package-based platforms (e.g. Linux Debian/Fedora), build.sh checks required dependencies, gives hints for installation • Install phase of build installs to ‘SDK’ directory Packaging script pulls from this location. • Demo Packaging and deployment • Packaging goal: SDK with built binaries of all components, plus source for examples (but not source for SDK or SDK build system) • Continuous integration and deployment via bitrise.io SAAS. • Packaging automatically performed for HEAD of master branch, output pushed to AWS bucket (demo) Packaging and deployment - 2 • CI status incorporated into approval workflow of all pull requests to master on GitHub API overview • Primary high-level API is C++ <AR6/ARController.h> • Simplified C API <AR6/AR6_c.h> • Java API in AR6J project. (Implemented via JNI interface to libAR6) • Main abstractions: • controller • videosource • tracker • trackable • view API - example #include <AR6/ARController.h> ARController *c = new ARController(); c->initialiseBase(); ARTrackable *t = findTrackable(c->addTrackable(“2d;gibraltar.jpg;160.9")); c->startRunning(); while (!done) { if (c->capture()) { c->update(); if (t->visible) { draw(t->transformationMatrix()); } } } } c->stopRunning(); c->shutdown(); Native examples • “Native” in the sense of typical development language and IDE for target platform • iOS: Objective-C and Xcode • macOS: C++ and Xcode • Android: Java and Android Studio 2.1+ • Linux: C++ and CMake • Target set of native examples: • Texture tracking example - complete (demos) • InstantOn planar tracking example - in work • Extended tracking example - in work Demo.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    22 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us