Author: Long Qian
Date: 2017-05-13
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
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.
The following example videos are taken with HoloLensARToolKit v0.1.
Minion on the Cube (Youtube Video) | HoloLensARToolKit Samples (Youtube Video) |
- Make sure you have HoloLens development tools installed.
- HoloLens Emulator and Vuforia are not required.
- Launch Unity3D, open project folder
HoloLensARSample
. - Import the unity package
ARToolKitUWP.unitypackage
. - Open one of the sample scenes
Assets/Sample/HoloLensARToolKitSingle.unity
Assets/Sample/HoloLensARToolKitCube.unity
Assets/Sample/HoloLensARToolKitMulti.unity
- Configure HoloLens deployment settings and deploy to HoloLens.
- See Chapter 4 and 5 of Holograms 100.
- Prepare the correspondent printed marker of ARToolKit.
- Marker images are Here.
- Make sure the printed marker size is same as configured in Unity.
- See the effect.
- HoloLens clicker or air tap is able to disable and enable video preview.
- Unity 5.6.0f3
- Visual Studio 2017 (Toolset v141)
- Windows 10 SDK 10.0.10240.0 to 10.0.14393.0
- Overview: ARToolKit on HoloLens
- Unity native programming
- ARUWPController options v0.2
- ARUWPMarker options v0.2
- Coordinate systems in HoloLensARToolKit v0.2
- Asynchronous computation in .NET
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},
}
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).