12.08.2013 Views

Development of an Augmented Reality system using ARToolKit

Development of an Augmented Reality system using ARToolKit

Development of an Augmented Reality system using ARToolKit

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Development</strong> <strong>of</strong> <strong>an</strong> <strong>Augmented</strong> <strong>Reality</strong> <strong>system</strong> <strong>using</strong> <strong>ARToolKit</strong> <strong>an</strong>d user invisible markers<br />

3. <strong>ARToolKit</strong> <strong>an</strong>d the AR development process<br />

<strong>ARToolKit</strong> is a s<strong>of</strong>tware library written in the C programming l<strong>an</strong>guage for creating AR<br />

applications [Kat00] [Kat99]. It is distributed free for non-comercial or research<br />

applications. It has been primarily developed by Dr. Hirokazu Kato <strong>of</strong> Osake<br />

University, Jap<strong>an</strong>, <strong>an</strong>d is supported by the HIT Lab at the Univeristy <strong>of</strong> Washington <strong>an</strong>d<br />

the HIT Lab NZ at the University <strong>of</strong> C<strong>an</strong>terbury, New Zeal<strong>an</strong>d. Distributions for SGI<br />

Irix, Linux, MacOS <strong>an</strong>d Windows OS are available, <strong>an</strong>d are distributed with complete<br />

source code.<br />

<strong>ARToolKit</strong> c<strong>an</strong> be used for the easy development <strong>of</strong> a wide r<strong>an</strong>ge <strong>of</strong> AR applications.<br />

As discussed earlier, one <strong>of</strong> the key difficulties in developing AR applications is the<br />

problem <strong>of</strong> tracking the user´s viewpoint. <strong>ARToolKit</strong> uses computer vision algorithms<br />

to solve this problem by calculating the real camera position <strong>an</strong>d orientation relative to<br />

physical markers in real time. Also the other two elements <strong>of</strong> AR, registration <strong>an</strong>d<br />

calibration, are contained within <strong>ARToolKit</strong>. Registration is done by overlaying virtual<br />

objects on the recognized physical markers; either created in VRML or OpenGL.<br />

Calibration is provided by <strong>ARToolKit</strong> in the form <strong>of</strong> <strong>an</strong> easy camera calibration<br />

algoritm.<br />

For developing <strong>an</strong>d running AR applications with <strong>ARToolKit</strong> the minumum hardware<br />

requirements are a computer with a camera connected to it. Also c<strong>an</strong> be used HMDs <strong>an</strong>d<br />

h<strong>an</strong>dheld displays. Both the use <strong>of</strong> video see-through <strong>an</strong>d optical see-through HMDs are<br />

supported. The computer should at least have a 500Mhz processor <strong>an</strong>d a graphics<br />

accelerator card. For the Windows platform USB cameras, FireWire cameras <strong>an</strong>d<br />

composite video cameras connected to a frame grabber c<strong>an</strong> be used, as long as they<br />

have DirectShow drivers.<br />

3.1 Tracking <strong>an</strong>d registration<br />

Tracking is performed as a form <strong>of</strong> optical tracking; video frames are being grabbed <strong>an</strong>d<br />

searched for fiducial square markers. Such real world markers are pre-trained pattern<br />

templates. The position <strong>an</strong>d orientation <strong>of</strong> these markers is used for overlaying virtual<br />

objects onto video frames. This gives the user a real time augmented view on the real<br />

world. For being able to recognize the markers several steps are executed. First the live<br />

video image is turned into a binary image based upon a preset lighting treshold value.<br />

The resulting image is searched for squares regions. For every found square the pattern<br />

inside it is matched against pattern templates. If a match occurs a marker has been<br />

found. The next step is to calculate the position <strong>of</strong> the real camera relative to the<br />

physical marker. These real world coordinates are used to set the position <strong>of</strong> the virtual<br />

camera coordinates. This assures that the virtual objects drawn are precisely overlaid.<br />

Figures 3.1 through 3.3 show the three steps involved in overlaying virtual objects.<br />

Figure 3.1 Live video Figure 3.2 Binary image Figure 3.3 Virtual object<br />

overlaid on live video<br />

32

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!