X3D and Augmented Reality
History and Background Information
Web3D Consortium formed a special interest group on AR initiatives in July 2009 worked to help create the AR Technology Road Map.
Several Web3D Consortium member projects showcase the feasibility of AR in X3D, particularly X3DOM open source produced by Fraunhofer IGD.
- X3DOM can serve as an out of the box, standards-based solution for AR developers.
- X3D and X3DOM continue to improve scripting options for X3D with HTML5 and this has good promise for AR applications.
- X3DOM is being considered for potential standardization in a Mobile and/or Augmented Reality (AR) profile for X3D.
Our Web3D Korea Chapter members from ETRI are working on Mixed Reality visualization in X3D.
- The Consortium as been working closely within W3C HTML5 WG to align our standards for 3D visualization on the Web.
Additional details are available at:
Web3D Consortium is also engaged with the AR standards, OGC, Khronos and W3C organizations for applying and adapting X3D.
- Web3D Consortium will be starting an AR working group in March 2011 to develop a roadmap for AR standardization. We encourage your participation.
- The technology discussions and meetings will be conducted publicly so that the widest possible comment and reaction can be considered from the Community. Feedback from this community will help X3D quickly and stably adopt new technologies to provide ongoing archival value for all 3D graphics.
- Meanwhile Web3D Members still retain important membership rights of proposing significant new technology and considering patented technologies within a "safe haven" prior to public release.
X3D Mobile Profile slideset from last summer's Mobile X3D ISO Workshop has also been linked: how Mobile, HTML5 and possibly Augmented Reality (AR) components can be aligned together.
Many new Web3D capabilities are becoming available. There has been no better time to discuss X3D technologies and also join the Web3D Consortium. Get involved in these early discussions to create the AR Technology Road Map. We look forward to your participation.
Third International AR Standards Meeting, June 15-17, Taichung, Taiwan
Augmented/Mixed Reality Workshop at Web3D Conference, 10:50AM-12:10PM Local Time, June 21, Paris, France
Augmented and Mixed Reality Web3D BOF at SIGGRAPH 2011, August 2011, Vancouver, Canada
SC24 Augmented and Mixed Reality Study Group Meeting @ SC24 Plenary and Working Group Meetings, August 21 2011, Rapid City, South Dakota, USA
Adding points to this section will be the subject of the next meetings.
The Augmented Reality (AR) Working Group focuses on utilizing and extending X3D capabilities to support augmented reality (AR) and mixed reality (MR) applications.
Discussion. These X3D AR discussions were initially held as part of a special interest group. Now that we have determined sufficient exists to modify the X3D Specification, this effort is moving forward by forming the X3D AR Working Group.
Planned goals of AR WG include:
- Collect requirements and describe typical use cases for using X3D in AR/MR applications
- Develop and extend functions and nodes for X3D specification required to support AR/MR applications
- Produce sample AR/MR applications using X3D to demonstrate how this functionality can work correctly
- Produce and X3D propose Specification changes, possibly include an AR Component and/or a Mobile Profile
TODO these tasks should probably be rewritten as separate distinct efforts that support the Goals
- Investigate state-of-the-art technologies related to X3D and AR/MR
- Develop and extend X3D specification to support AR/MR applications
- Promote X3D in AR/MR field by developing and demonstrating use cases
- videos are particularly compelling and more informative that a 3D demo because they show the use of AR/MR in the context of the real world
Deliverables and Timeline
- Use cases of X3D for AR/MR application - summer 2011
- Requirements for X3D to support AR/MR applications - summer 2011
- Proposed new/extended functions and nodes for X3D specification
- once use cases and requirements are stated, can compare existing and new proposals for X3D functionality
- Sample AR/MR applications with X3D
- these will be produced in support of each proposal
Our twice-monthly teleconference for X3D and Augmented Reality is usually
- Together with Korea Chapter Meeting:
1710-1810 (Pacific time)/2010-2110 (Eastern time) on 1st Wednesday, which is 0910-1010 (Korea time) on 1st Thursday.
- AR only Meeting:
1710-1810 (Pacific time)/2010-2110 (Eastern time) on 3rd Wednesday, which is 0910-1010 (Korea time) on 3rd Thursday.
Participation is open to everyone via the Web3D teleconference line. Non-members can request access information for this call, or Join Web3D!
Our next public teleconference is __________ 2011.
Meeting agenda: TBA through the mailing list.
Discussions occur on the email@example.com mailing list. If the email traffic becomes very busy then we can create a separate email list.
Meeting minutes are also distributed on the X3D-Public mailing list and archived online.
Instant Reality is a Mixed Reality framework developed and maintained by Fraunhofer IGD, which uses X3D as application description language and which thus also provides corresponding nodes and concepts for developing AR/MR applications. The full node documentation can be found on IR-Docs.
There also exist several tutorials on vision-based tracking with Instant Reality, which e.g. describe specific nodes like the IOSensor node for retrieving the camera streams and the tracking results of the vision subsystem, or which discuss the new PolygonBackground node for displaying the camera images behind the virtual objects as well as some useful camera extensions to the X3D Viewpoint node, etc.: Tracking-Tutorial.
In addition, some papers on AR and MR visualization already were pubished at the Web3D conferences. Here, e.g. occlusions, shadows and lighting in MR scenes were discussed in the context of X3D:
There are moreover some more ideas on realistic MR rendering in X3D outlined in chapter 6 (p. 163 ff.), and especially in section 6.4, in the following PhD thesis (by Y. Jung): PDF.
The screenshots below show several issues in MR visualization. From top left to bottom right: (a) real image of a room; (b) real scene augmented with virtual character (note that the character appears to be before the table); (c) augmentation with additional occlusion handling (note that the character still seems to float on the floor); (d) augmentation with occlusion and shadows (applied via differential rendering).
In the following, an example for achieving occlusion effects between real and virtual objects in AR/MR scenes is shown, given that the (real) 3D object, for which occlusions should be handled, already exist as 3D model (given as Shape in this example). Here, the invisible ghosting objects (denoting real scene geometry) are simply created by rendering them before the virtual objects (by setting the Appearance node's "sortKey" field to '-1') without writing any color values to the framebuffer (via the ColorMaskMode node) to initially stamp out the depth buffer.
<Shape> <Appearance sortKey='-1'> <ColorMaskMode maskR='false' maskG='false' maskB='false' maskA='false'/> </Appearance> ... </Shape>
To set the camera's image in the background we use the aforementioned PolygonBackground node. By setting its field "fixedImageSize" the aspect ratio of the image can be defined. Depending on how you want the background image fit into the window, you need to set the mode field to 'VERTICAL' or 'HORIZONTAL'.
<PolygonBackground fixedImageSize='640,480' mode='VERTICAL'> <Appearance> <PixelTexture2D DEF='tex'/> </Appearance> </PolygonBackground>
As mentioned above, more on that can be found in the corresponding tutorials, e.g. here.
The Korea chapter has been keenly interested in the standardization of augmented reality in many aspects including the AR based contents. This is especially due to the recent world-wide appearances of mobile AR services and realization (from both academia and industry) of the definite need for exchanging service contents on different platforms.
Three main proposals have been made within the Korean chapter, by: (1) Gerard Kim from Korea University (also representing KIST), (2) Gun A. Lee (formerly with ETRI, now with HITLabNZ), and (3) Woontack Woo of Gwangju Inst. of Science and Tech.
Here, we briefly describe each proposal and provide links to documents with more detailed descriptions. These short summararies also try to highlight their distinctions with regards to other proposals, but not in the critical sense, but as a way to suggest alternatives.
(1) Gerry Kim's proposal can be highlighted by the following features:
- Extension of existing X3D "sensors" and formalisms to represent physical objects serving as proxies for virtual objects
- The physical objects and virtual objects are tied using the "routes" (e.g. virtual objects' parent coordinate system being set to that of the corresponding physical object).
- Below shows an example construct which is a simple extension of the "VisibilitySensor" attached to a marker. The rough semantic would be to attach a sphere to a marker when visible. The visibilty would be determined by the browser using a particular tracker. In this simple case, a simple marke description is given through the "marker" node.
<Scene> <Group> <Marker DEF = “HIRO” enable “TRUE” filename=”C:\hiro.patt”/> <VisibilitySensor DEF='Visibility' description='activate if seen' enabled=”TRUE”/> <Transform DEF='BALL'> <Shape> <Appearance> <Material/> </Appearance> <Sphere/> </Shape> </Transform> </Group> <ROUTE fromNode=’Vsibility’ fromField='visible' toNode=’BALL’ toField=’visible’ /> </Scene>
- Different types of sensors can be newly defined or old ones extended to describe various AR contents. These include proximity sensors, range sensors, etc.
- Different physical object description will be needed at the right level of abstraction (such as the "marker" node in the above example). These include those for image patch, 3D object, GPS location, natural features (e.g. points, lines), and etc.
(2) Gun Lee's proposal
- Extension of the TextureBackground and Movie texture node to handle video background for video see-through AR implementation.
- Introduction of a node called "LiveCam" representing the video capture or vision based sensing in a video see-through AR implementation.
- The video background would be routed from the "LiveCam" node and be supplied with the video image and/or camera parameters.
- Extension of the virtual view point to accomodate more detailed camera parameters and to be set according to the parameters of the "LiveCam".
(3) Woo's proposal
- Woo proposes to use XML, as meta descriptors, with existing standards (e.g. X3D, Collada, etc.) for describing the augmentation information themselves.
- As for the context (condition) for augmentation, a clear specification of "5W" approach is proposed: namely who, when, where, what and how.
- "who" part specifies the owner/author of the contents.
- "when" part specifies content creation time.
- "where" part specifies the location of the physical object to which an augmentation is attached.
- "what" part specifies the what is to be augmented content (augmentation information).
- "how" part specifies dynamic part (behavior) of the content.
X3D Earth Working Group
The X3D Earth Working Group has expanded and refined a proposal by Dr. Myeong Won Lee for a new GpsSensor node. Due to several overlapping technical issues, the group has asked to collaborate with the Augmented Reality group on final design for this node.
- Anita Havele
- Damon Hernandez
- Don Brutzman
- Gerard J. Kim
- Gun Lee
- Len Daly, Daly Realism
- Timo Engelke
- Sabine Webel
- Yvonne Jung
Participation and Liaisons
- TODO describe Christine Perry's group on AR Standardization
- Other partnerships can also be considered as appropriate.
Of interest is that Web3D Consortium Intellectual Property Rights (IPR) Policy insists on open, royalty free (RF) specifications. These coexist effectively with the Web Architecture and many different business models.