Author: Long Qian
Date: 2020-04-19
HoloLensARToolKit is a successful experiment to integrate ARToolKit (v5.3.2) with HoloLens (HoloLens 2 support added in v0.3), 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:
ARToolKitUWP/
: Wrapper of ARToolKit5 for UWPHoloLensARToolKit/
: Unity project with sample scenes and full package to demo this projectHoloLensCamCalib/
: Link to camera calibration of HoloLensMarkers/
: ARToolKit markers used for the samplesARToolKitUWP.unitypackage
: Unity package with core libraries and scripts to interface the native libraryARToolKitUWP-Sample.unitypackage
: Unity package with sample scenesHoloLensARToolKit v0.3 starts to support HoloLens 2, meaning that the core library ARToolKitUWP.dll
for ARM64 is available, in addition to x86 for HoloLens 1. The video pipeline for HoloLens 2 is integrated into the Unity project API, currently supporting video configuration 1504 x 846 x 60 Hz and 1504 x 846 x 30 Hz. Sample camera calibration file for HoloLens 2 is provided.
Grayscale video parsing, previously implemented in feature-grayscale branch is now forced in v0.3. It significantly reduces CPU memory copy, and therefore improves fiducial tracking throughput.
A new script ARUWPTarget.cs
is added to the Unity project API, which should be attached to root of virtual content registered with each marker. It also supports 6-DOF smoothing, preventing sudden jump due to tracking errors.
A calibration matrix, ARUWPMarker::calibrationMatrix
, allows users to offset the virtual rendering in 6-DOF, replacing the magic functions in older versions.
IL2CPP becomes the default scripting backend.
Please refer to: Instructions to run HoloLens v0.3 samples.
To use HoloLensARToolKit with your own project, simply import ARToolKitUWP.unitypackage
to your Unity project.
The following example videos are taken with HoloLensARToolKit v0.1.
Minion on the Cube (Youtube Video) | HoloLensARToolKit Samples (Youtube Video) |
The posts are created for HoloLensARToolKit v0.2, therefore some contents may be deprecated.
If this work helps your research, please cite the following paper:
@article{qian2018arssist,
title={ARssist: augmented reality on a head-mounted display for the first assistant in robotic surgery},
author={Qian, Long and Deguet, Anton and Kazanzides, Peter},
journal={Healthcare technology letters},
volume={5},
number={5},
pages={194--200},
year={2018},
publisher={IET}
}
If you use HoloLensARToolKit v0.2, please cite:
@article{azimiqian2018alignment,
title={Alignment of the Virtual Scene to the 3D Display Space of a Mixed Reality Head-Mounted Display},
author={Azimi, Ehsan and Qian, Long and Navab, Nassir and Kazanzides, Peter},
journal={arXiv preprint arXiv:1703.05834},
year={2018}
}
HoloLensARToolKit is open for use in compliance with GNU Lesser General Public License (LGPL v3.0). Please see COPYING and COPYING.LESSER for license details.