Introduction
Augmented reality may not be as sophisticated and thrilling as a virtual reality simulation ride, however, it may prove to be a very useful tool in our everyday lives. It gives this capability to brings elements of the virtual world, into the world of living, enhancing and giving glamour to the things we see, hear, and feel. When ARToolKit first arrive its a game changing to most of augmented reality (AR) developer out there not only because its a good tool for augmented reality (AR) but also its free and open source.
In this article, we will be tackling ARToolKit.
The History of ARTookit
ARToolkit is a free and open source augmented reality SDK. That have strong capability in developing augmented reality applications that overlay virtual imagery on the real world. Currently, it is maintained as an open-source project hosted on GitHub. History Version of ARToolkit.
- 1999 First public demonstration @ SIGGRAPH
- 2001 v1, with square tracking, released open source
- 2001 ARToolworks Incorporated, begins selling Pro version
- 2004 NFT tracking integrated into ARToolKit
- 2004 v2 released open source
- 2008-10 iPhone 3g Support, Open Source Innovation
- 2011-14 Android support added, further extending platform support
- 2015 Acquired by DAQRI, pro version open sourced
- 2017 ARToolKit-6 The big release in AR industry
ARToolKit on different platform
The current version of ARToolKit which is ARToolKit 6 support the following.
For computer operating system:
For mobile phone operating system:
ARToolKit is also available as a plugin for the Unity game engine. The plugin supports Unity on OS X, Unity on Windows, Unity on Android, and Unity on iOS.
Why choose ARToolkit
Reason to use ARToolkit
- Caters Almost all available platform now
- Easy to implement
- Easy to use
- Have a wide range support
- Fully detailed documentation
- And again its Free for life
How ARtoolkit Works
The ARToolKit
There are many steps involved in inserting computer generated images into real life images, but the idea behind most of these is not very complicated. The process begins with a camera taking an image and sending it into the route. The image is then searched for special unique markers. If the pattern is found, the program will continues to identify or sort it out by matching it to several patterns in a precompiled database. If a match is found the program knows what object (3D Model) to associate with that specific pattern. When that solely unique pattern is found it will render/show the 3D Object that is save in the database.
How Pattern can be track
ARToolKit NFT is able to recognize and track natural features of photos and documents, specifically, **planar textured surfaces**. However, to accomplish this, ARToolKit NFT requires that the visual appearance of the surface is known in advance. Thus, the system has to be trained with a surface in advance to recognize and track the surface. The output of this training is a set of data that can be used for realtime tracking in application using the ARToolKit SDK.
The following constraints apply to surfaces which can be used with ARToolKit NFT.
- The surfaces to be tracked must be supplied as a rectangular image
- The images must be supplied in jpeg format
- The surface must be textured and have a reasonable amount of fine detail and sharp edges (a low degree of self-similarity and high spatial-frequency). Images with large areas of single flat color, that are blurred or have soft detail will not track well, if at all. In such images, it’s difficult to locate distinct feature points
- Larger or higher resolution images (more pixels) will allow the extraction of feature points at higher levels of detail, and thus will track better when the camera is closer to the image, or when a higher resolution camera is used
The ARToolKit NFT tracker, does not require augmenting the image with Natural Feature Tracking with Fiducial Markers to implement NFT tracking. But, for increased efficiency and robustness, fiducial markers can be used along with NFT markers as part of the dataset when using the NFT tracker.
Figure 1: You could see a printed pinball picture.
Figure 2: The pattern gets its own coordinate system where other shape can be defined.
How Trackable Image pattern process
All trackable image pattern have there own coordinates and know when to show the 3D models.
It would be ok to define a new coordinate system with the origin on the center of the pattern. The x and y-axes could lie on the plane of the pattern and the z-axis could point out of it, as in figure 3.
Figure 3: Having the x and y axis and point of origin.
So when a 3D Model (Object) is place on top of the pattern it will remember and get the coordinates of the object, as shown in figure 4.
Figure 4: A Model is place on the pattern.
The location of the pattern in the camera image, as seen from the camera, and when the box is finally overlaid on the camera image it looks as if it really is standing on the pattern in real life as shown in figure 5.
Figure 5: The camera has its own coordinate system where the pattern will be defined.
ARToolKit Sample
Figure 6: Pre-define pattern in ARToolkit.
Figure 7: A 3D Model on top of the hiro image pattern.
References
- https://daqri.com/
- https://artoolkit.org/
- http://www.sciencedirect.com/science/article/pii/S1877050915021870
- http://www.maths.lth.se/matematiklth/personal/petter/rapporter/artoolkit2.pdf
- https://en.wikipedia.org/wiki/ARToolKit
- http://www.arreverie.com/blogs/artoolkit-6-modernize-open-source-ar-sdk/
- https://www.digitaltrends.com/mobile/apples-arkit-to-bring-augmented-reality-to-the-masses/