Skip to content

Marker tracking using the front-facing camera of HoloLens (both 1 and 2) and Unity, with a wrapper of ARToolKit built for UWP (Windows Universal Platform)

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

duyuxuan/HoloLensARToolKit

Repository files navigation

HoloLens with ARToolKit v0.2

Author: Long Qian

Date: 2017-05-13

Overview

HoloLensARToolKit is a successful experiment to integrate ARToolKit (v5.3.2) with HoloLens, or generally UWP (Universal Windows Platform). With fiducial marker tracking provided by ARToolKit, plus the indoor localization of HoloLens, many Augmented Reality applications would be made possible.

This repository contains:

  • Wrapper of ARToolKit5 for UWP
  • Unity package to interface the native library
  • Some sample Unity scenes to demo the use of them
  • Link to camera calibration of HoloLens

What's new in v0.2?

HoloLensARToolKit v0.2 involves a re-write of video pipeline, taking advantage of Windows MediaCapture APIs. Compared to v0.1 where the frame data is achieved via Unity WebcamTexture. The current implementation uses .NET async features widely, to parallelize video capture, tracking, and Unity rendering. The performance of video capture, tracking and Unity rendering are detached. It is able to achieve 60fps rendering, 30fps video capture, and 25-30fps tracking.

In addition, matrix code mismatch is fixed, and coordinate system representation is more consistent in v0.2.

Example

The following example videos are taken with HoloLensARToolKit v0.1.

Minion on the Cube (Youtube Video) HoloLensARToolKit Samples (Youtube Video)

Run the sample

  1. Make sure you have HoloLens development tools installed.
    • HoloLens Emulator and Vuforia are not required.
  2. Launch Unity3D, open project folder HoloLensARSample.
  3. Import the unity package ARToolKitUWP.unitypackage.
  4. Open one of the sample scenes
    • Assets/Sample/HoloLensARToolKitSingle.unity
    • Assets/Sample/HoloLensARToolKitCube.unity
    • Assets/Sample/HoloLensARToolKitMulti.unity
  5. Configure HoloLens deployment settings and deploy to HoloLens.
  6. Prepare the correspondent printed marker of ARToolKit.
    • Marker images are Here.
    • Make sure the printed marker size is same as configured in Unity.
  7. See the effect.
    • HoloLens clicker or air tap is able to disable and enable video preview.

Compatibility Tested

  1. Unity 5.6.0f3
  2. Visual Studio 2017 (Toolset v141)
  3. Windows 10 SDK 10.0.10240.0 to 10.0.14393.0

Understand HoloLensARToolKit v0.2


Academic Citation

If this work helps your research, please cite the following paper:

@online{1703.05834,
  Author = {Long Qian and Ehsan Azimi and Peter Kazanzides and Nassir Navab},
  Title = {Comprehensive Tracker Based Display Calibration for Holographic Optical See-Through Head-Mounted Display},
  Year = {2017},
  Eprint = {1703.05834},
  Eprinttype = {arXiv},
}

License

HoloLensARToolKit is composed of two separate projects: ARToolKitUWP and ARToolKitUWP-Unity (including samples). Both of them are open for use in compliance with GNU Lesser General Public License (LGPL v3.0). Please see COPYING and COPYING.LESSER for license details.

ARToolKitUWP is a modified version of ARToolKit, statically links against ARToolKit binaries, and therefore complies with the license restrictions of ARToolKit (see details).

About

Marker tracking using the front-facing camera of HoloLens (both 1 and 2) and Unity, with a wrapper of ARToolKit built for UWP (Windows Universal Platform)

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 79.6%
  • C# 8.9%
  • C++ 8.9%
  • Objective-C 1.7%
  • Other 0.9%