X3D and Augmented Reality

From Web3D.org
Revision as of 03:44, 25 May 2011 by Endovert (Talk | contribs)

Jump to: navigation, search

Calendar

  • Our next public teleconference is PDT 17:00 Jun 1 (Wed) / KST 09:00 Jun 2 (Thu) / CEDT 02:00 Jun 2 (Thu), 2011.


Draft Charter

Overview

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.

Goals

Planned goals of AR WG include:

  • Collect requirements and describe typical use cases for using X3D in AR/MR applications
  • Produce and propose X3D specification changes to support AR/MR applications
  • Produce sample AR/MR applications using X3D to demonstrate how this functionality can work correctly

Tasks

  • Investigate state-of-the-art technologies related to X3D and AR/MR to collect requirements and use cases
    • Archive and distribute collected requirements and use cases through AR WG wiki page
  • Hold regular meetings and workshops to motivate discussions and editing of AR/MR related X3D specification proposals
    • Regular meetings will be held through teleconferencing and workshops will be planned through regular meetings
  • Promote X3D in AR/MR field by developing and distributing promotional materials of AR applications based on X3D
    • Promotional materials include sample applications, video clips, documents, images distributed on the web

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

Participants

  • Anita Havele
  • Damon Hernandez
  • Don Brutzman
  • Gerard J. Kim
  • Gun Lee
  • Len Daly, Daly Realism
  • Timo Engelke
  • Sabine Webel
  • Yvonne Jung
  • Myeongwon Lee

Meetings

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!

Meeting agenda: TBA through the mailing list.

Discussions occur on the x3d-public@web3d.org 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.


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.


Existing Proposals

Instant Reality

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).

Error creating thumbnail: File missing


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.


Korean Chapter

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.


References

TODO

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.