occlusion in collaborative augmented environments

11
Computers & Graphics 23 (1999) 809 } 819 Augmented Reality Occlusion in collaborative augmented environments Anton Fuhrmann*,1, Gerd Hesina, Franc 7 ois Faure, Michael Gervautz Institute of Computer Graphics, Vienna University of Technology, Karlsplatz 13/186, A-1040 Vienna, Austria Abstract Augmented environments superimpose computer enhancements on the real world. Such augmented environments are well suited for collaboration of multiple users. To improve the quality and consistency of the augmentation the occlusion of real objects by computer-generated objects and vice versa has to be implemented. We present methods how this can be done for a tracked user's body and other real objects and how irritating artifacts due to misalignments can be reduced. Our method is based on simulating the occlusion of virtual objects by a representation of the user modeled as kinematic chains of articulated solids. Smoothing the border between virtual world and occluding real reduces registration and modeling errors of this model. Finally, an implementation in our augmented environment and the resulting improve- ments are presented. ( 1999 Elsevier Science Ltd. All rights reserved. Keywords: Virtual reality; Augmented reality; Occlusion; Interaction; Inverse kinematics; Collaboration; Avatar; Visibility 1. Introduction One of the main advantages of using an augmented environment [1,2] for collaboration as opposed to an immersive setup is the direct interaction of participants in reality. While the collaborators in an immersive setup always have to rely on more or less satisfying representa- tions of each other, ranging from disembodied hands or heads to complete bodies visualized in plausible poses, users of an augmented scenario always are able to dir- ectly see each other and the interface devices they are using. This combination of reality and virtuality leads to the problem of correct occlusion between real and virtual objects, which of course does not exist in an immersive environment. Even when using semi-transparent head-mounted dis- plays (HMDs), where virtual objects only appear as transparent overlays over reality, wrong occlusion can hide gestures or facial expressions of participants. When applied in a video-based augmentation setup virtual ob- jects can completely hide real objects if not occluded properly. Even discounting the importance of the social * Corresponding author. Tel.: #43-1-58801]18686. E-mail address: fuhrmann@cg.tuwien.ac.at (A. Fuhrmann) 1 http://www.cg.tuwien.ac.at/research/vr/occuision interaction, wrongly occluding virtual objects subject the users brain to con#icting depth clues: the parallax of the stereo-rendered objects gives a farther distance than the one inferred by the occlusion of real objects. This not only leads to misconceptions of spatial properties by the user, resulting in errors when trying to grab objects, but also increases eyestrain and the probability of motion sickness. 1.1. Inyuences of the display system As already mentioned, the properties of the display system in#uence the severity of the occlusion problem, as outlined in Table 1. In screen-based augmented environ- ments ("shtank scenario, or projection-based setups * like the CAVE) occlusion of virtual objects by real ones is simple and straightforward: real objects are al- ways between the display surface and the eye and there- fore always occlude virtual objects. This yields excellent results as long as no real object is placed behind (nearer the projection screen) a virtual one. In this case the real object incorrectly occludes the virtual object in front of it. The only exception for this would be the projection- based virtual o$ce [3], where front projection is used. Since the virtual objects are projected on top of the real ones * normally on walls or desktops * real objects can be excluded from this projection by projecting nothing (displaying black) in the relevant portion of the display 0097-8493/99/$ - see front matter ( 1999 Elsevier Science Ltd. All rights reserved. PII: S 0 0 9 7 - 8 4 9 3 ( 9 9 ) 0 0 1 0 7 - 7

Upload: anton-fuhrmann

Post on 15-Sep-2016

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Occlusion in collaborative augmented environments

Computers & Graphics 23 (1999) 809}819

Augmented Reality

Occlusion in collaborative augmented environments

Anton Fuhrmann*,1, Gerd Hesina, Franc7 ois Faure, Michael Gervautz

Institute of Computer Graphics, Vienna University of Technology, Karlsplatz 13/186, A-1040 Vienna, Austria

Abstract

Augmented environments superimpose computer enhancements on the real world. Such augmented environments arewell suited for collaboration of multiple users. To improve the quality and consistency of the augmentation the occlusionof real objects by computer-generated objects and vice versa has to be implemented. We present methods how this can bedone for a tracked user's body and other real objects and how irritating artifacts due to misalignments can be reduced.Our method is based on simulating the occlusion of virtual objects by a representation of the user modeled as kinematicchains of articulated solids. Smoothing the border between virtual world and occluding real reduces registration andmodeling errors of this model. Finally, an implementation in our augmented environment and the resulting improve-ments are presented. ( 1999 Elsevier Science Ltd. All rights reserved.

Keywords: Virtual reality; Augmented reality; Occlusion; Interaction; Inverse kinematics; Collaboration; Avatar; Visibility

1. Introduction

One of the main advantages of using an augmentedenvironment [1,2] for collaboration as opposed to animmersive setup is the direct interaction of participants inreality. While the collaborators in an immersive setupalways have to rely on more or less satisfying representa-tions of each other, ranging from disembodied hands orheads to complete bodies visualized in plausible poses,users of an augmented scenario always are able to dir-ectly see each other and the interface devices they areusing. This combination of reality and virtuality leads tothe problem of correct occlusion between real and virtualobjects, which of course does not exist in an immersiveenvironment.

Even when using semi-transparent head-mounted dis-plays (HMDs), where virtual objects only appear astransparent overlays over reality, wrong occlusion canhide gestures or facial expressions of participants. Whenapplied in a video-based augmentation setup virtual ob-jects can completely hide real objects if not occludedproperly. Even discounting the importance of the social

*Corresponding author. Tel.: #43-1-58801]18686.E-mail address: [email protected] (A. Fuhrmann)1http://www.cg.tuwien.ac.at/research/vr/occuision

interaction, wrongly occluding virtual objects subject theusers brain to con#icting depth clues: the parallax of thestereo-rendered objects gives a farther distance thanthe one inferred by the occlusion of real objects. This notonly leads to misconceptions of spatial properties by theuser, resulting in errors when trying to grab objects, but alsoincreases eyestrain and the probability of motion sickness.

1.1. Inyuences of the display system

As already mentioned, the properties of the displaysystem in#uence the severity of the occlusion problem, asoutlined in Table 1. In screen-based augmented environ-ments ("shtank scenario, or projection-based setups* like the CAVE) occlusion of virtual objects by realones is simple and straightforward: real objects are al-ways between the display surface and the eye and there-fore always occlude virtual objects. This yields excellentresults as long as no real object is placed behind (nearerthe projection screen) a virtual one. In this case the realobject incorrectly occludes the virtual object in front of it.The only exception for this would be the projection-based virtual o$ce [3], where front projection is used.Since the virtual objects are projected on top of the realones* normally on walls or desktops* real objects canbe excluded from this projection by projecting nothing(displaying black) in the relevant portion of the display

0097-8493/99/$ - see front matter ( 1999 Elsevier Science Ltd. All rights reserved.PII: S 0 0 9 7 - 8 4 9 3 ( 9 9 ) 0 0 1 0 7 - 7

Page 2: Occlusion in collaborative augmented environments

Table 1Occlusion order vs. display system

Occlusion order Display system (Example) Virtual object occluding real object Real object occluding virtual object

Back-projection/screen based (CAVE [19],responsive workbench [20])

Impossible Inherent

Semi-transparent HMD (Studierstube [21]) Inherent Semi-visible/software solvableVideo#immersive HMD (UNC [18]) Inherent Software solvable

Table 2Occlusion order vs. display system

Supplies only positionaldata

Supplies additionally geometricinformation

Magnetic tracking Video tracking delivering depthmap from stereo [25]

Mechanical tracking Video tracking delivering contourdata [4]

Optical tracking usingbeacons [18]

Video range tracking [15] usinginvisible structured light

Laser range tracking

area. This could for example be used to exclude picturesor windows from being projected onto, but also* whenusing the proposed optical tracking mechanism * toexclude the users hands from being projected on. Never-theless the occlusion of the display surface by real objectsstill manifest: users hands and arms for example maydrop shadows on the surface, thereby occluding parts ofobjects virtually in front of the shadow.

When using HMDs, the display surface is always be-tween the eye and real objects. Without further process-ing virtual objects always occlude real ones. The onlydi!erence * albeit only gradual * exists between see-through HMDs utilizing semi-transparent mirrors andimmersive HMDs being fed video images by head-mounted cameras: the "rst only overlays semi-transpar-ent computer-generated images over reality while thesecond one may display completely opaque objects.

Since the only case where the occlusion problem issolvable we concentrate on setups where the displayedvirtual objects overlay images of reality. This can ofcourse also be a desktop-based system, where video im-ages are displayed overlaid by graphics.

1.2. Inyuences of the tracking system

The tracking of users (heads), input devices and realobjects to be augmented is a major task which in#uencesstrongly the quality of the augmentation. Immersive en-vironments can tolerate discrepancies between realityand computer generated images which would be imposs-ible to ignore in an augmented setup. Since in an immer-sive situation the user only relies on computer generatedimages for hand}eye coordination, errors between handposition in reality and projected hand/cursor position inthe environment almost never lead to problems wheninteracting with the virtual environment.

In an augmented environment however, misalignmentbetween tracked real objects and their representations invirtuality* which do not have to be visual representa-tions: an input wand may only be represented by its`hotspota, the point in space where its function takesplace* can cause severe problems for the user to operatein the environment. Additionally, lag between reality andthe computer-generated environment is much more no-ticeable than in an immersive situation, since the position

of virtual objects in respect to the real surroundings canbe immediately compared. This results in `swimmingabehavior of the virtual scene, which may also lead tomotion sickness.

When addressing the problem of occlusion, anotherquality of the tracking system used matters: the ability tosupply the simulation with additional information re-garding the occluding objects. Ideally, we would like thetracking system not only to supply us with the positionand orientation of one or more reference points on theoccluding object, but also to deliver complete geometricinformation which enables us to determine which parts ofvirtual objects to occlude.

This yields classi"cation by tracking system given inTable 2.

1.2.1. Tracking systems providing occlusion dataA very e$cient and self-contained approach would be

video-based augmentation using stereo headmountedcameras and a HMD. Stereo video data could be used forinside-out tracking of the users position and orientationand also to generate a dense depth map of the visiblescene usable for occlusion. While this approach seems tobe the most promising in respect to versatility, it has stillto overcome some drawbacks. The computational com-plexity of the depth map reconstruction allows onlycoarse approximations of the scene depth to be com-puted in real-time. Wloka and Anderson [4] only pro-duce coarse approximations of occlusion in acceptabletime. This will probably be solved with increasing com-puting speed of future systems. Another drawback, which

810 A. Fuhrmann et al. / Computers & Graphics 23 (1999) 809}819

Page 3: Occlusion in collaborative augmented environments

Fig. 1. (a) Occlusion with head phantom, (b) misregistration(in circle) due to time lag.

cannot be solved without additional tracking informa-tion is the line-of-sight problem: objects not visible inthe video images cannot be tracked. While tracking ofthese objects is not needed for solving occlusion, trackingof the users hand outside the viewing frustum may benecessary. Especially when using two-handed interactionas we do when using the Personal Interaction Panel(PIP) [5], the user must be able to use his prop-rioceptic sense alone to manipulate virtual input deviceswithout relying on his hand-to-eye coordination.This manipulation outside the users "eld of view is one ofthe essential advantages of two-handed interaction andavoids display cluttering and occlusion by interactionelements.

Berger [6] presented a contour-based approach toocclusion which delivers outstanding results while usingessentially only 2D image processing methods. This re-duces the computational costs drastically, but also su!ersfrom the line-of-sight problems mentioned above.

Approaches using special hardware, as for examplelaser range scanning devices, while providing excellentdata are in most cases prohibitively expensive and su!erin many cases from line-of-sight problems similar to theones cited above. This holds especially in a collaborativesituation where users standing close together examine anobject between them, as for example in [7].

1.2.2. Tracking systems providing only positional dataAt the moment most virtual environments (immersive

and augmented) use tracking systems providing onlyposition and orientation. This includes commercialmagnetic and mechanical tracking devices and advancedbeacon-based optical tracking systems like the one de-veloped at UNC [8] or the structured-light approachof [3].

Sophisticated optical tracking systems like this, orhybrid optical/magnetic solutions like the one used in [9]deliver high precision tracking data but unfortunately noadditional data usable for occlusion.

1.3. Registration problems

The problem of registering the users head positionwith the position of the virtual camera and the virtualobjects with the real environment has already beencovered extensively [10}13]. Here * like in the pre-viously cited approach to occlusion by Berger [6]* a 2D image-based approach presented by Kutulakos[14] seems to be an adequate solution for video-basedsystems.

The registration errors present us with especially an-noying artifacts when occluding virtual objects. Slighterrors produce a visible gap between virtual and realobject (Fig. 1) or overlapping e!ects which occlude a sliceof the real object that is supposed to appear in front ofthe virtual.

Since registration of the commonly used magnetictrackers is notoriously instable, these errors tend to ap-pear in most augmented environments. We try to presenta solution for reducing the visual impact of these artifacts.

2. Requirements for occlusion in 99Studierstube::

The collaborative augmented environment we havedeveloped allows multiple collaborating users to simulta-neously study three-dimensional scienti"c visualizationsin a `study rooma (German: `STUDIERSTUBEa). Eachparticipant wears an individually head-tracked see-through HMD providing a stereoscopic real-time dis-play. The use of individual displays and head trackingallows providing stereoscopic, undistorted images forevery user. The see-through property of the HMDsallows users to see each other and avoids the fear ofbumping into obstacles.

A. Fuhrmann et al. / Computers & Graphics 23 (1999) 809}819 811

Page 4: Occlusion in collaborative augmented environments

Fig. 2. Personal Interaction Panel (PIP) occluding scienti"c visualization.

Objects in Studierstube may appear * unlike in pro-jection-based display systems * both between and be-side users. Interaction and collaboration within armreach of the users is possible and supported by scienti"cvisualization applications we have presented in [7], [15].Since the resulting scenarios lead often to situationswhere users heads, hands or bodies or the PIP had toocclude virtual objects, we had to "nd a method fore$cient handling of these occlusions.

The properties of Studierstube and our chosen hard-ware and software setup presented us with the followingrequirements for solving the occlusion problem:

View independence supporting multiple users: Studier-stube has to support multiple users. Occlusion methodstherefore have to support a view independence ofmethods, ideally holding the computational cost propor-tional to the number of users.

Minimize number of trackers: Representation of usersbodies has to be supported with a minimal number ofadditional trackers. Otherwise the tracking requirementof multiple users could quickly exceed our hardwarecapabilities and the users tolerance to setup overhead foruse of the environment.

Minimize rendering overhead: Since occlusion is onlyannoying when it does not work, the tolerable overheadfor correctly simulating it is relatively low. We have tokeep rendering passes, additional geometry or image-processing to a minimum.

Since our environment Studierstube uses * like mostvirtual environments at the moment* commercial mag-netic trackers we need another approach to the occlusionproblem which does not rely on tracking of geometry ordepth.

3. Occluding with phantoms

Since we are using a tracking system, which does notsupply geometric information of occluding real objects,we have to acquire this information previously. This caneasily be done by modeling or digitizing su$ciently pre-cise representations of the objects o%ine and placingthem inside the virtual scene.

We call these mockups of real objects `phantomsa. Byrendering them in an appropriate way occlusion of thevirtual objects by real objects can be simulated (Fig. 2).Rendering of phantoms can be performed di!erently,depending on the display system used:

Semi-transparent HMDs only need black areas wherereality should be visible. To correctly occlude objects inthis setup phantoms have therefore only to be renderedin black, without any special rendering order. This is fastand easy to implement.

When combining images for a video-based approachexternally using a luminance- or chroma-keyed systemthe same method can be applied. For presentation

812 A. Fuhrmann et al. / Computers & Graphics 23 (1999) 809}819

Page 5: Occlusion in collaborative augmented environments

Table 3OpenGL rendering sequence for occlusion

Reset z-bu!erBRender video backgroundBEnable z-bu!er testing & writing,Disable RGB writingBRender phantomsBEnable RGB writingBRender visible part of scene

Fig. 3. Phantom avatar with position of tracker sensors (`Ta)and joints (points).

purposes or when generating movies of our environmentwe usually apply digital compositing using one machine* an SGI Octane* for simultaneously digitizing videodata and rendering virtual objects overlaying the videoinformation.

The previous rendering approach would only producea black avatar in front of the video image. To correctlyrender occluding geometry we had to restructure thescenegraph to guarantee all phantom would be renderedbefore any visible geometry. This can be done in a pre-processing step and does not in#uence rendering times.The OpenGL sequence given in Table 3 is executed foreach frame:

This results in `invisiblea phantoms, which only areregistered in the z-bu!er of the rendering hardware. Nor-mal geometry is only rendered where it lies nearer to theviewpoint as a phantom.

3.1. Occlusion of static objects

The simplest case of occlusion of real by virtual objectsis when the real objects are previously known and staticover the duration of the simulation. Examples for thiswould be furniture and "xtures of the room used asworkspace.

Examples for occlusion of static objects can be foundin [16]. We have applied this method to simulateocclusion of virtual objects by laboratory furniture inStudierstube.

3.2. Occlusion of tracked rigids

The occlusion of virtual scenery by non-stationaryrigid real objects can be handled in much the same way asthe above case of static objects. The position and orienta-tion of the phantom* since they are no longer constantover the duration of the simulation* have to be coupledto the real object, in our setup by the mounting of anadditional magnetic tracker sensor on each occludingobject.

We have used this approach to model occlusion ofvirtual objects by tracked real objects like the PIP inStudierstube (Fig. 2).

3.3. Occlusion for tracked articulated objects

A more general case than tracking simple rigid objectsfor occlusion purposes is the use of tracked articulatedobjects for occlusion. The primary application of this inour environment was the occlusion generated by partici-pant's bodies moving in front of virtual objects.

To achieve this under the requirements stated abovewe modeled a coarse articulated representation of a user.This approximation is used as a `phantom avatara,which is supposed to mimic all poses and gestures of thetracked user to allow rendering of correct occlusion. Itconsists of rigid segments corresponding to body parts,which have to be animated in real-time according toincoming tracker data. To achieve this we have to mountadditional trackers on the user. Fig. 3 shows how this wasdone. Since the head position is already tracked via theHMD, only three additional tracker sensors were used:two on the lower arms and one on the back of the user,a scheme comparable to the one used by Badler [17].Similar results have been obtained by Waldrop [18] withthe use of three sensors per arm for implementing avatarsin a distributed virtual environment.

Based on a reduced number of sensors our simulationhas to implement a number of additional constraintsregarding joint sti!ness and degrees of freedom to cor-rectly simulate the posture of the user. Since our systemis based on rigids we also are not able to simulatedeformations of the body, but are planning to implementthis in a later version based on a simpli"ed, segmentedspine.

A. Fuhrmann et al. / Computers & Graphics 23 (1999) 809}819 813

Page 6: Occlusion in collaborative augmented environments

Fig. 4. User with overlaid phantom avatar geometry.

3.4. Compensate registration errors by `blurringathe phantom

As already stated before, slight registration errors be-tween phantom and real object result in annoying arti-facts when occlusion occurs. This can be caused by errorsbetween tracker data and real position of the sensor, dueto time lag or misregistration of real and virtual environ-ment or by di!erences between the shape of the user andphantom geometry (Fig. 4). The "rst two causes can beaddressed in one of the ways cited above, whereas the lastcase de"nes a new problem.

While theoretically possible, a pixel-perfect representa-tion of for example the users forearm may be possible tomodel, such precision is in most cases unnecessary. Evendiscounting remaining errors from the tracker mis-registration deformation of body and even changedclothes can invalidate the precision in modelingthe shape of a body part in a "xed posture. Further-more a precise and therefore "nely tessellated model ofthe avatar would consume too much of our polygonbudget.

We are therefore proposing to represent this margin oferror in our phantom avatar. We do not render a hardedge between occluded object and occluding phantombut a soft transition covering the error margin (Fig. 5).This transition shall enable the user to perceive details ofboth virtual object and occluding real object, while notsigni"cantly reducing the visual occlusion clue.

A further application of this transitional `blurringae!ect are body parts where much additional trackinge!ort would have to be spent just to implement preciseocclusion: the users hands. Without using the almostalways cumbersome and inaccurate gloves to track exacthand and "nger positions, not enough data is available tocorrectly occlude this part of the users body. When usingsome kind of `probability blurringa in this area, whichrenders the avatar the more occluding, the higher theprobability of a part of the hand appearing in it is, we areable to provide satisfactory occlusion (Fig. 6). Since "n-ger and hand gestures are desirable extensions of collab-oration in our environment we want each user be able tosee them.

4. Implementation

4.1. The Studierstube-setup

As mentioned before, each participant in our collab-orative augmented environment STUDIERSTUBEwears an individually head-tracked see-through HMDproviding a stereoscopic real-time display.

The HMDs we use (Virtual I-O i-glasses) are verylightweight and unobtrusive, but only of limited resolu-tion and small (303) "eld of view. As input devices we usea 6DOF pen with multiple buttons and the PersonalInteraction Panel (PIP) [5]. The PIP allows both

814 A. Fuhrmann et al. / Computers & Graphics 23 (1999) 809}819

Page 7: Occlusion in collaborative augmented environments

Fig. 5. Use of the same `probabilistica phantom with di!erentgestures.

Fig. 6. `Probabilistica function of hand (a) and correspondingphantom (b).

intuitive three-dimensional manipulations such as place-ment of objects and the input of numerical data orcommands via traditional 2D sliders and buttons (Fig. 2)* historically one of the weak points of VEs. The pen,the PIP and the HMDs are tracked by an ASCENSION#ock of birds magnetic tracker.

Integration of the necessary extensions for occlusioninto Studierstube proved to be relatively straightforward.The whole system is based on the OpenInventor [22]Rendering/Simulation library, which reduces the addi-tion of new functionality to the Studierstube environ-ment to the simple process of adding a new dynamicallyloadable module. The necessary tracker data is deliveredby the Studierstube tracker interface, which deliverspositions and orientations in OpenInventor "elds,a high-level interface element, which allows easy

connections to the separately developed simulationlibrary [23].

4.2. Kinematic simulation of avatar posture

The phantom avatar used for occlusion is modeled asarticulated solids representing a human body. A ge-ometry used for occlusion is attached to each solid. Someof the solids are directly connected to the trackers at-tached to the user, as illustrated in Fig. 3.

Dynamics is used to animate the avatar. This allows usto intuitively rigidify the degrees of freedom of the jointsusing damped springs. An upward force applied to thebody maintains a standing position. The resting posi-tions of the springs de"ne the natural, comfortable pos-ture of the avatar.

Our simulator, detailed in [23], solves the inversekinematics problem while taking into account massesand forces. Forces are applied at the beginning ofeach time step. The motion is then integrated over time,

A. Fuhrmann et al. / Computers & Graphics 23 (1999) 809}819 815

Page 8: Occlusion in collaborative augmented environments

leading to new positions. In addition, the position ofthe solids bound to the trackers are set accordingly tothe input data, regardless of forces or velocities. Possibleviolations of geometric constraints induced by forces,time integration and tracker input are then cancelledby computing appropriate displacements of the othersolids.

The displacements are computed by solving the dy-namics equation

(JM~1JT)j"b (1)

where matrix M is a block-diagonal matrix which repres-ents the mass of the system and J a sparse matrix whichcodes for the geometric constraints. Vector b representsthe geometric errors to cancel. Vector j gathers Lagrangemultipliers of the constraints. They act much like integ-rated forces. The corresponding motion corrections areare thus M~1JTj. Velocity updates are deduced fromposition corrections by applying Stoermer's rule [24].This integration scheme considers displacements insteadof velocities. This avoids us to di!erentiate the possiblynoisy tracker data.

An iterative solution of Eq. (1) is performed. A minim-ization of the norm of the error is performed over thesearch space de"ned by the components of vector j. Thisapproach has two useful features for our application.First, in presence of overconstrained solids, such as theupper arms of the character in Fig. 3, a compromisebetween the constraints is found. Second, the iterativeminimization allows the user to trade-o! accuracy forcomputation time, making the approach suitable for thereal-time animation of complex scenes.

4.3. Implementing `blurreda phantoms

To implement the `blurringa we want to exhibit theavatars, we have essentially two approaches of realizingthis e!ect:

4.3.1. Image-based blurringThe "rst method that comes to mind when an opera-

tion like `blurringa is requested is of course an image-based approach. Rendering an avatar blurred by somekind of convolution operation seems to be the simplestway to implement the desired e!ect.

But a normal convolution using only software fora video-resolution image may not be completed in real-time (e.g. for frame rates '10 Hz) without the use ofspecial hardware. Convolution techniques utilizingOpenGL hardware as presented in [25] may be fastenough, but depend in our case on the ability of movingdata fast between image bu!er and texture bu!er, whichis not present in all OpenGL [26] implementations.Using the OpenGL accumulation bu!er would providean elegant solution for this problem, but unfortunately

would require N2 rendering passes of the whole scene foran N]N convolution matrix.

Furthermore certain properties of the image-space ap-proach may not result in the desired appearance of theocclusion: we want the margin of error to be speci"ed inabsolute, real-world measurements, to allow for a "xederror produced by, e.g. di!erent clothing or hairstyles. Animage-based approach would deliver the same amount ofblurring for near and far parts of the avatar. The abovementioned `probabilistic blurringa would also not beeasily implementable using a single convolution over theavatar.

4.3.2. Object-based blurringAnother approach to the implementation of smooth

transitions for occlusion is to implement a `blurred ge-ometrya of the avatar. This consists not of a single surfacerepresentation of the geometry representing a body part,but a layered approach of successively bigger and moretransparent shells around the geometry (Fig. 6). Theseshells can be modeled as the same geometry rescaledaround the centroid of the object, since most of theavatars geometry is convex.

Of course this approach does not yield a `smoothatransition, but one consisting of a discrete number ofsteps in occlusion, but it should be su$cient to imple-ment a reasonable small number of steps, say three to ten,to obtain satisfying results in most cases. Since this ge-ometry undergoes the same perspective transformationsas everything else, the error margin can be speci"ed inreal-world measurements as opposed to the image-basedapproach above.

A further advantage of this method is the ability toimplement `Levels of Detaila for phantoms: with increas-ing distance we can `switch o!a more and more of theintermediate shells, to reduce geometric complexity andtherefore polygon count for objects farther away. Thisallows us to vary the number of shells and of transitionsteps according to distance. In distant phantoms onlyone or two transitions, covering maybe an equivalentamount of pixels of distance between two shells in imagespace are rendered. Phantoms nearer the observer arerepresented by more shells, resulting in approximatelythe same number of pixel per transition step. This behav-ior is readily implemented using the standard Open-Inventor LOD-node, which references more or less of thescaled versions of the same geometry representing theavatar.

5. Evaluation and results

Registration of the avatar geometry to the user provedto be a relatively time consuming process. Since misregis-trations of the tracking sensors' position relatively to thegeometry resulted not only in visual artifacts (Fig. 1) but

816 A. Fuhrmann et al. / Computers & Graphics 23 (1999) 809}819

Page 9: Occlusion in collaborative augmented environments

Fig. 7. User with 4 sensors and HMD.

also in artifacts of the simulation, registration had to bedone very carefully. Once registered, the main problemwas an additional time-lag introduced by the kinematicsimulation, which could only partially be corrected inthis version. The visual results in a typical scienti"cvisualization situation as in Fig. 5 were satisfying andgave users a much better overall impression of thesituation and the spatial relationship between real andvirtual scene.

The object-based implementation of `blurreda occlu-sion was easy to implement and gave in the caseswhere hand-gestures made rigid modeling di$cult asatisfactory compromise between correct occlusionand tracking e!ort (Figs. 6 and 5). It produced notice-able artifacts along the intersections between rigidlimbs, which can be corrected by using stencil maskswhen rendering the di!erent shells, a correction whichwill be implemented in the next version of our occlusionsystem.

The main di$culty for the animation of the avatar is tohave it accurately overlap the image of the user (Fig. 7).As mentioned before, the geometry has to be carefullyadjusted to the body of the user (Fig. 8). Additionally, thepositions of the trackers and of the joints with respect tothe geometry have to be precisely modeled. This is doneinteractively before performing the animation. Joint posi-tions are di$cult to adjust because they are inside thebody of the user, thus invisible. We adjust them iter-atively using di!erent postures.

There are several sources of error in the "nal result(Fig. 9). The geometric models do not "t perfectly to thebody of the user. The human body is a much morecomplex structure than our avatar. Limbs are not rigid,especially when covered with cloth, and the joints of thehuman body di!er from our simple joints. If the calib-ration of the virtual camera does not "t perfectly to thereal camera used for video input, the avatar may overlapthe user in some postures but not in others. Future workinclude a more realistic body structure, especially forshoulders, back and neck, and semi-automatic calib-ration of the virtual camera.

6. Future work

We are planning to introduce a calibration scheme forrescaling the phantom avatar to "t di!erent users. Thebasic idea for this is to let the user strike a small numberof prede"ned poses, which should enable the system toinfer body measurements.

A minimum sensor situation, using only PIP and penand the information on the users handedness (right-or left-handed) to infer avatar posture is being lookedinto.

For further information contact via e-mail [email protected] or access thelatest results on http://www.cg.tuwien.ac.at/research/vr/occlusion

A. Fuhrmann et al. / Computers & Graphics 23 (1999) 809}819 817

Page 10: Occlusion in collaborative augmented environments

Fig. 8. User represented as avatar.

Fig. 9. Occlusion of a background polygon.

References

[1] Azuma R. A survey of augmented reality. Presence1997;6(4):355}85.

[2] Feiner S, MacIntyre B, Seligmann D. Knowledge-based aug-mentedreality.CommunicationsoftheACM1993;36(7):53}62.

[3] Raskar R, Welch G, Cutts M, Lake A, Stesin L, Fuchs H.The o$ce of the future: an uni"ed approach to image-based modeling and spatially immersive displays. SIG-GRAPH 98 Conference Proceedings, Annual ConferenceSeries. Reading, MA: Addison-Wesley, July 1998. p.179}88.

818 A. Fuhrmann et al. / Computers & Graphics 23 (1999) 809}819

Page 11: Occlusion in collaborative augmented environments

[4] Wloka MM, Anderson BG. Resolving occlusion in aug-mented reality. Proceedings of Symposium on Interactive3D Graphics, ACM SIGGRAPH, 1995. p. 5}12.

[5] SzalavaH ri ZS, Gervautz M. The personal interaction panel* a two-handed interface for augmented reality. Proceed-ings of EUROGRAPHICS 97, Budapest, Hungary, 1997.p. 335}46.

[6] Berger MO. Resolving occlusion in augmented reality:a contour based approach without 3D reconstruction.Proceedings of Conference on Computer Vision and Pat-tern Recognition, IEEE, Poster Session 1, 1997.

[7] Fuhrmann A, LoK !elmann H, Schmalstieg D. Collab-orative augmented reality: exploring dynamical systems.In: IEEE Visualization '97 Proceedings. Silver Spring,MD: IEEE Computer Society, October 1997. p. 459}62.

[8] Ward M, Azuma R, Bennett R, Gottschalk S, Fuchs H.A demonstrated optical tracker with scalable work areafor head-mounted display systems. Proceedings of 1992Symposium on Interactive 3D Graphics, Cambridge, MA,March 29}April 1 1992. p. 43}52.

[9] State A, Livingston MA, Hirota G, Garrett WF, WhittonMC, Fuchs H, Pisano ED (MD). Technologies for aug-mented-reality systems: realizing ultrasound-guided needlebiopsies. Proceedings of SIGGRAPH 96, Annual Confer-ence Series 1996, ACM SIGGRAPH, pp. 439}46.

[10] Azuma R, Bishop G. Improving static and dynamic regis-tration in an optical see-through HMD. Proceedings ofSIGGRAPH '94, 1994. p. 197}204.

[11] State A, Hirota G, Chen DT, Garrett WF, Livingston MA.Superior augmented-reality registration by integratinglandmark tracking and magnetic tracking. Proceedings ofSIGGRAPH 96, Annual Conference Series 1996, ACMSIGGRAPH, pp. 429}38.

[12] Oishi T, Tachi S. Methods to calibrate projection trans-formation parameters for see-through head-mounted dis-plays. Presence 1995;5(1):122}35.

[13] Whitaker R, Crampton C, Breen D, Tuceryan M, Rose E.Object calibration for augmented reality. Proceedings ofEUROGRAPHICS '95, 1995. p. 15}27.

[14] Kutulakos KN, Vallino JR. Calibration-free augmentedreality. IEEE Transactions on Visualization and Com-puter Graphics 1998;4(1):1}20.

[15] Fuhrmann A, LoK !elmann H, Schmalstieg D, Gervautz M.Collaborative visualization in augmented reality. IEEEComputer Graphics and Applications July/August 1998;18(4):54}59.

[16] Breen DE, Whitaker RT, Rose E, Tuceryan M. Interactiveocclusion and automatic object placement for augmentedreality. Computer Graphics Forum (Proceedings ofEUROGRAPHICS '96) 1996;15(3):C11}22.

[17] Badler NI, Hollick MJ, Granieri J. Real-time controlof a virtual human using minimal sensors. Presence1993;2(1):82}6.

[18] Waldrop M, Pratt MS, Pratt SM, McGhee DR, Falby RB,John S, Zyda, MJ. Real-time upper body articulation ofhumans in a networked interactive virtual environment.Proceedings of the First ACM Workshop on Simulationand Interaction in Virtual Environments, University ofIowa, 13}15 July 1995. p. 210}4.

[19] Cruz-Neira C, et al. The CAVE: audio visual experienceautomatic virtual environment. Communications of ACM1992;35(6):65.

[20] Krueger W, Froehlich B. Visualization blackboard: theresponsive workbench (virtual work environment). IEEEComputer Graphics and Applications 1994;14(3):12}5.

[21] SzalavaH ri ZS, Schmalstieg D, Fuhrmann A, Gervautz M.Studierstube* an environment for collaboration in aug-mented reality. Virtual Reality: Research, Development& Applications, 1998(3):37}48.

[22] Strauss P, Carey R. An object oriented 3D graphics tool-kit. Proceedings of SIGGRAPH '92, 1992;(2):341}47.

[23] Faure F. Interactive solid animation using linearized dis-placement constraints. Proceedings of the EurographicsWorkshop on Animation and Simulation, 1998.

[24] Press, Teukolski, Vetterling, Flannery. Numerical Recipesin C. Cambridge: Cambridge University Press, 1992.

[25] McReynolds T, Blythe D, Grantham B, Nelson S. Ad-vanced Graphics Programming Techniques UsingOpenGL. SIGGRAPH '98 Course notes.

[26] Woo M (Contributor), Neider J, Davis T. OpenGL Archi-tecture Review board. In: OpenGL Programming Guide:The O$cial Guide to Learning OpenGL, Version 1.1,2nd ed. Reading, MA: Addison-Wesley Pub Co, January1997, ISBN:201461382.

A. Fuhrmann et al. / Computers & Graphics 23 (1999) 809}819 819