ARToolKit
Original author(s) | Hirokazu Kato |
---|---|
Initial release | 1999 |
Stable release | 5.3.1 / October 5, 2015 |
Operating system | Cross-platform: Linux, Windows, OS X, iOS, Android |
Type | 3D graphics |
License | GNU Lesser General Public License v3.0 with special exemptions. |
Website | http://artoolkit.org |
ARToolKit is an open-source computer tracking library for creation of strong augmented reality applications that overlay virtual imagery on the real world. Currently, it is maintained as an open-source project hosted on GitHub.[1] ARToolKit is a very widely used AR tracking library with over 160,000 downloads on its last public release in 2004.[2]
In order to create strong augmented reality, it uses video tracking capabilities that calculate the real camera position and orientation relative to square physical markers or natural feature markers in real time. Once the real camera position is known a virtual camera can be positioned at the same point and 3D computer graphics models drawn exactly overlaid on the real marker. So ARToolKit solves two of the key problems in Augmented Reality; viewpoint tracking and virtual object interaction.
ARToolKit was originally developed by Hirokazu Kato of Nara Institute of Science and Technology in 1999[3] and was released by the University of Washington HIT Lab. In 2001 ARToolWorks was incorporated, and v1.0 of the open-source version of ARToolKit was released through the HIT Lab. ARToolKit was one of the first AR SDKs for mobile, seen running first on Symbian in 2005,[4] then iOS with the iPhone 3G in 2008,[5] and finally Android as early as 2010[6] with a professional version by ARToolWorks later in 2011.
ARToolKit was acquired by DAQRI and re-released open-source starting at version 5.2 on May 13, 2015,[7] including all of the features that were previously only available in the professional licensed version. Among these features are mobile support and natural feature tracking.
Contents
Features
- Single-camera or stereo-camera camera position/orientation tracking.
- Tracking of simple black squares (any square marker patterns).
- Tracking of planar images (natural feature markers).
- Camera calibration, optical stereo calibration, square marker generation, and natural feature marker generation utilities.
- Plugins for Unity and OpenSceneGraph.
- Optical head-mounted display support.
- Free and open source software.
- Fast enough for real time AR applications.
Operating systems
The current version of ARToolKit supports Microsoft Windows, Mac OS X, Linux, iOS, and Android platforms. Other versions of ARToolKit have also been ported to Symbian, and Windows Phone to support mobile AR applications.
ARToolKit is also available as a plugin for the Unity game engine for example to align a virtual camera within Unity with a real-world camera relative to a tracked marker target and taking care of communicating with the camera. The plugin supports Unity on OS X, Unity on Windows, Unity on Android, and Unity on iOS.[8]
- OSGART - a combination of ARToolKit and OpenSceneGraph
- OSVR-ARToolkit - an ARToolKit plugin for OSVR
- ARTag - alternative fiduciary marker system to ARToolKit that uses more complex image processing and digital symbol processing for reliability and resistance to light.
- ARToolKitPlus - extended version of the original ARToolKit, only targeted to developers of AR-oriented software.
- Studierstube Tracker - Successor of ARToolKitPlus, many new features, closed source, not available for download.
- Mixed Reality Toolkit (MRT) - University College London
- FLARToolKit - an ActionScript 3 port of ARToolKit for Flash 9+.
- JSARToolKit - a JavaScript port of FLARToolKit.
- SLARToolkit - a Silverlight port of NyARToolkit.
- NyARToolkit - an ARToolkit class library released for virtual machines, particularly those that host Java, C# and Android.
- ARDesktop - ARToolKit class library that creates a three-dimensional desktop interface with controls and widgets.
- AndAR - A Pure Java API for the Android platform.
- ATOMIC Authoring Tool - a Cross-platform Authoring Tool software, for Augmented Reality Applications, which is a Front end for the ARToolkit library. Was developed for non-programmers, to create small and simple, Augmented Reality applications, released under the GNU GPL License.
- ATOMIC Web Authoring Tool Is a child project from: ATOMIC Authoring Tool that enables the creation of Augmented Reality applications and export it, to any website. Developed as A front end (Graphic Interface) for the Flartoolkit library. And it's licensed under the GNU GPL License.
- ArUco: A minimal library for Aumented Reality applications based on OpenCV (BSD License)
- Look - Augmented Reality for Android: Develop own augmented reality applications for Android with Two-dimensional graphics, three-dimensional and tactile interactions, indoor location, persistent data and access to remote services.
- ARAM (Augmented Reality for Application on Medical field): Based on Opencv, It can be used in real-time medical projects. It provides a robust marker detection process, including error correction and occlusions. This library is covered by the BSD license.
- ARma library (Pattern tracking for Augmented Reality): OpenCV-based minimal library for AR apps .
See also
References
- ↑ ARToolKit GitHub page.
- ↑ ARToolKit download statistics.
- ↑ Kato, H., Billinghurst, M. "Marker tracking and hmd calibration for a video-based augmented reality conferencing system.", In Proceedings of the 2nd IEEE and ACM International Workshop on Augmented Reality (IWAR 99), October 1999. [1]
- ↑ Project page for ARToolKit on Symbian.
- ↑ ARToolKit running on an iPhone 3G in 2008
- ↑ ARToolKit running on a Google Android G1 in 2010.
- ↑ DAQRI Acquires AR Pioneer ARToolworks
- ↑ ARToolKit for Unity
External links
- ARToolKit Homepage
- ARToolKit Documentation
- ARToolKit Forums
- Project page at GitHub
- HIT Lab ARToolkit
- Interactive Media Design Lab.
- Old project page at SourceForge.net
- Project page at Launchpad
- HIT Lab NZ Web forum
- [2] python binding of ARToolKit
- [3] NyARToolKit(ARToolKit Java Edition)