Getting STarted

Return to Overview

Introduction

The Unifeye Software Development Kit® (SDK) lets software developers implement their own custom Augmented Reality applications by utilizing the full capabilities of the Unifeye technology platform. Based on a modular framework concept the Unifeye SDK® can be upgraded with a broad variety of AR related technologies which are constantly being added out of metaio's elaborate R&D work. With Unifeye SDK® developing your own augmented reality will be available out of the box.

Modular and extensible augmented reality framework

It is possible to create a tailored module configuration to suit your requirements. As a developer you will also be able to extend the framework directly with external software and hardware APIs.

Unifeye SDK architecture

Professional developer interface to the Unifeye technology platform

You can choose from different programming layers by either using the comfortable high-level (black-box) API or having individual component access to rendering, capturing, tracking on a low-level basis.

The Unifeye SDK interface is provided as an ActiveX/COM interface which can be easily integrated into most programming and development environments like:

  • Managed (Microsoft .Net) programming languages like C#, Visual Basic .Net, Managed C++
  • Native C++
  • HTML/!JavaScript/VBScript

Ready-to-use capabilities

The SDK ships with various application templates, authoring and configuration tools as well as an elaborate documentation for developers. The following tools are provided:

  • The general Unifeye GUI for building/configuring AR scenarios
  • The Unifeye Workflow Engine for building custom made, flexible AR scenarios using visual programming and an extensive and custom extendable library of predefined actions
  • Camera calibration tools:
    • Sextant/Standard camera calibration
    • Extended Sextant/Extended camera calibration (for high precision scenarios)
  • Tracking system configuration tools:
    • Marker generator
    • Planar markerless (natural feature tracking) configuration tool
    • 3D markerless configuration tool
  • General calibration tools:
    • HandEye calibration for the relative calibration of two tracking systems (e.g. for referencing an IR target on a camera (IR tracking) to the internal camera coordinate system)
    • Optical See-Through calibration for see-through Head-Mounted-Displays (HMDs)
    • Projector calibration for implementing projective AR scenarios
  • The Transformation Calculator to convert transformations (rotation/translation) between different mathematical representations

Modern framework architecture

The modern Unifeye SDK framework is well founded, multithreaded and extensible with support for latest 32 and 64-bit systems.

Most comprehensive variety of tracking, capturing and rendering technologies on the market

The following tracking systems are available:

  • High precision marker tracking
  • 2D texture/image tracking(also known as planar markerless tracking/natural feature tracking)
  • 3D object tracking
  • 3D extensible tracking
  • Face tracking
  • Infrared tracking:
    • support for systems from ART
    • metaio IR tracking system *support for Hardware tracking systems like
    • PTZ (pan-tilt-zoom) cameras using the Sony VISCA protocol
    • mechanical tracking arms from FARO and Cimcore
  • Plug-in concept for custom/external tracking systems and sensors (compass, GPS, IR, mechanical,...)

The following image sources are available/supported:

  • Standard video camera/capture card support (using DirectShow)
  • Native Allied Vision Technologies cameras (http://www.alliedvisiontec.com/) support
  • High-Definition camera support

Regarding rendering a powerful VRML rendering engine for standard PC systems (Unifeye SDK Professional) and a high-end rendering engine (Unifeye SDK Ultimate) based on OSG for high-quality design requirements is available.

System requirements

Hardware/OS requirements

  • Windows XP (SP 3) / Windows Vista / Windows 7 (32-bit and 64-bit). The Unifeye SDK is currently only available as 32-bit application (running also on 64-bit OSes) but will soon be available as native 64-bit application.
  • 32-bit (x86) or 64-bit (x64) dual core processor with at least 1.7 GHz
  • 3D graphics card with at least 512 MB RAM and latest drivers installed (e.g Nvidia GeForce 8800GTS or higher). Graphics cards with shared memory are not recommended.
  • 2 GB of RAM (4 GB recommended)
  • Free USB-port for the Wibu license dongle
  • Capture devices (cameras, frame grabbers) which provide a DirectShow-Filter
  • optionally: Blackmagic DeckLink High-Definition capture card for HD input (please see Image Sources for details).

Note: The actual requirements vary with the size of the 3D-models, the required frame rates and camera resolution and the complexity of the AR-application in general.

Image/Video Sources

The Unifeye SDK supports a variety of different image sources that can be used for optical tracking systems (like marker tracking, markerless tracking or infrared tracking) as well as real background images for augmentation. All image sources are easily accessible through the Unifeye GUI image source controls and the Unifeye SDK API.

Note, that for high quality overlays and tracking quality, an according calibration should be performed and used (see the camera calibration section).

The following image sources are supported:

  1. The Unifeye SDK supports all live-sources, which provide a DirectShow filter, delivering RGB-data. It is possible to ask for the number of sources available and their name through the SDK interface and the Unifeye GUI. Cameras can be started, stopped and switched at run-time. The properties (like resolution and frame rate) of the DirectShow cameras can be changed at runtime by the cameras’ property dialogs, which can be displayed via Unifeye.
  2. The Unifeye SDK also supports Allied Vision Technologies cameras (http://www.alliedvisiontec.com) like Guppy, Marlin directly via their native API. You can use standard resolutions as well as Format 7 mode 0 modes. For these sources, the AVT FirePackage is required.
    SmartView can be used to do the camera configuration in conjunction with the Unifeye methods loadCameraParameters() and setCameraFormat(); Note, that besides the standard formats, only Format 7 mode 0 is supported. Format 7-0 modes can be activated at runtime via the setCameraFormat() method, by loading an according configuration using loadCameraParameters() or by configuring the AS_AR_Settings.xml file accordingly (see the general system configuration section). Additionally for higher accuracy you need a camera calibration that has to be done using the full/maximal Format 7 resolution (see SmartView for the full resolution). Please note that you have to install the AVT FirePackage as well as the AVT Universal Package in order to use AVT cameras: http://www.alliedvisiontec.com/emea/support/downloads/software.html.
    For details on the supported driver version see the information in the version history section according to your version of the Unifeye SDK.
  3. There is also support IDS cameras (http://www.ids-imaging.com/index.php) using the extended IDS DirectShow interface. It also provides support for the Unifeye SDK function loadCameraParameters(). You can create/store an according IDS camera configuration file using the IDS "demo application" that is provided within the IDS driver package.
    For details on the supported driver version see the information in the version history section according to your version of the Unifeye SDK.
  4. High-Definition sources which are connected via a DeckLink High Definition capture card configured at 720 or 1080p.
  5. Images can be taken with digital photo-cameras, which have the advantage of very high resolutions and high-quality optics. This allows very robust and accurate tracking and a good overlay-quality. Images can be taken almost everywhere and therefore allow a very easy process for performing augmented reality especially in combination with paper markers.
    The Unifeye SDK supports the following image formats: JPEG, BMP, PNG
  6. Video files: The Unifeye SDK allows playing all installed CODECs to retrieve raw frames from video files (some CODECs disallow this for copyright reasons). If proper CODECs are installed and the CODEC permits retrieving raw frames from the video file, the video can be seeked, paused and stopped. The Unifeye SDK supports playback of files stored in .avi containers.

Rendering

The Unifeye SDK is available with two rendering engines (Professional and Ultimate):

  1. A powerful VRML rendering engine (supporting both OpenGL/!DirectX) for standard PC systems (called Unifeye SDK Professional). It supports the full VRML 97 standard plus several extensions like HLSL or FX-shaders. It is based on the Bitmanagement BS Contact rendering engine (http://www.bitmanagement.de/). ALERT! for content preparation.
  2. A high-end rendering engine based on OSG (called Unifeye SDK Ultimate) for high-quality design requirements. It supports a subset of the VRML 97 standard, Maya, CSB, FHS files (only geometry and simple materials), OSB (including shaders/advanced materials, ambient occlusion, environment mapping etc.), JT/PLMXML (for members of the JT consortium).
    For content preparation for advanced OSB files, please contact us.

Please note that the Unifeye SDK programming interface is the same for both versions (Professional and Ultimate). There are a couple of limitations for some SDK functions, especially regarding the 3D object manipulation capabilities. Please see the SDK function interface for more details.

Installation

The Unifeye SDK ships as fully integrated installer file.

Procedure:

  1. Before installing please make sure to unplug the WibuKey license dongle.
  2. For installation simply execute the installer file. It will install all necessary components (including 3rd party components like the Microsoft .Net Framework and the drivers for the WibuKey license dongle).
  3. After the installation procedure, plug in the WibuKey license dongle and wait until your operating systems signals a successful installation of the license dongle (if this is the first time you are using a WibuKey license dongle).
  4. Start the Unifeye SDK graphical user interface via the start menu: Start>All programs>metaio>Unifeye SDK>Unifeye

If you are planning to use JT/PLMXML 3D models please also refer to the JT part of the configuration section.

Version history/known issues

Please refer to the version history section for a version history and known issues of the Unifeye SDK.


Return to Overview


-- SupportMetaio - 2010-07-12

Topic revision: r9 - 2011-05-17 - 08:54:49 - SupportMetaio
 
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback