3d performance capture for facial animation - 3d data...

9
Vicar, D.M. and Ford, S. and Borland, E. and Rixon, R. and Patterson, J. and Cockshott, P. (2004) 3D performance capture for facial animation. In, 2nd International Symposium on 3D Data Processing, Visualization and Transmission, 6-9 September 2004, pages pp. 4255-49, Thessaloniki, Greece. http://eprints.gla.ac.uk/3505/

Upload: others

Post on 28-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3D performance capture for facial animation - 3D Data ...eprints.gla.ac.uk/3505/1/3D_performance_capture.pdf · processed to produce a sequence of VRML models. The sequence of models

Vicar, D.M. and Ford, S. and Borland, E. and Rixon, R. and Patterson, J. and Cockshott, P. (2004) 3D performance capture for facial animation. In, 2nd International Symposium on 3D Data Processing, Visualization and Transmission, 6-9 September 2004, pages pp. 4255-49, Thessaloniki, Greece.

http://eprints.gla.ac.uk/3505/

Page 2: 3D performance capture for facial animation - 3D Data ...eprints.gla.ac.uk/3505/1/3D_performance_capture.pdf · processed to produce a sequence of VRML models. The sequence of models

3D Performance Capture for Facial Animation

Donald MacVicar, Stuart Ford, Ewan Borland, Robert Rixon, John Patterson, Paul CockshottDept. Computing Science

The University of Glasgow, U.K.{donald, slf, borlaned, robert, jwp, wpc}@dcs.gla.ac.uk

Abstract

This paper describes how a photogrammetry based3D capture system can be used as an input device for an-imation. The 3D Dynamic Capture System is used tocapture the motion of a human face which is extractedfrom a sequence of 3D models captured at TV framerate. Initially the positions of a set of landmarks on theface are extracted. These landmarks are then used toprovide motion data in two different ways. First, a highlevel description of the movements are extracted, andthese can be used as input to a procedural animationpackage (i.e. CreaToon).

Second the landmarks can be used as registrationpoints for a conformation process where the model to beanimated is modified to match the captured model. Thisapproach gives a new sequence of models which havethe structure of the drawn model but the movement of thecaptured sequence.

1. Introduction

The 3D Dynamic Capture System[1] at the Univer-sity of Glasgow facilitates the capture of 3D models ofhuman subjects at 25 frames per second. The 3D-DCSconsists of 16 monochrome cameras and 8 colour cam-eras, arranged into 8 groups of three (2 mono, 1 colour)each known as a “pod”. Only four of these pods are uti-lised for head capture. The captured images areprocessed to produce a sequence of VRML models.

The sequence of models is marked-up, using a set oflandmarks based on the MPEG-4[2][3] Face Model forFacial Animation, through a semi-automated process.The positions of the landmarks are analysed to extractthe motion of the facial features, resulting in a descrip-tion of the motion in terms of the MPEG-4 FacialAnimation Parameters (FAP).

The motion description at the MPEG-4 FAP level isthen used to animate a character in CreaToon[7][8][9].CreaToon is a system designed to support cartoon ani-mation and incorporates an in-betweener which workson the basis of Moving Reference Points(MRP). It also

incorporates hierarchically-organised specialist func-tions which may or may not call the MRP in-betweener.All of these functions are programmed using time-vary-ing parameters which are modeled as ‘channels’. Thesechannels synchronise with the consumption of parame-ter data by the other specialist functions generating thein-between drawings. It contains a specialist head andface animation function which has a number of channelsthat manage the data streams our dynamic scanner tar-ge ts . These fea tures mean tha t var ious NPRtransformations (such as re-timing or exaggeration) canbe applied to the original animation by the animator.This allows the real motion to be caricatured and have amore stylised appearance.

The mark-up data is alternatively used as the inputfor the conformation process where a single model isconformed to each frame of the sequence. This can thenbe rendered in 3D-Studio Max to produce the desiredanimation sequence.

Figure 1. Animation data paths

The data flow for both of these system is shown inFigure 1.

Markup

Conformation

3D Studio MAX

FAP Extraction

CreaToon

Generic ModelAnimatable Character

3D ModelSequence

Animated SequenceAnimated Sequence

3D Animation 2D Animation

Landmarks

FAP ChannelsConformed Sequence

Proceedings of the 2nd International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT’04) 0-7695-2223-8/04 $ 20.00 IEEE

Page 3: 3D performance capture for facial animation - 3D Data ...eprints.gla.ac.uk/3505/1/3D_performance_capture.pdf · processed to produce a sequence of VRML models. The sequence of models

2. 3D Dynamic Capture System

The 3D Dynamic Capture System (3D-DCS) con-sists of 24 cameras and 8 PCs. There are 16 black andwhite cameras (Sony XC55) and 8 colour cameras (JAICV-M70) arranged into 8 pods.

Figure 2. Dynamic Capture System Layout

Each pod consists of 2 black and white cameras anda colour camera. These are arranged on the corners of asquare, with two pods on each corner (Figure 2.). Arandom dot pattern is projected using 35mm slide pro-jectors from the centre of each side. To get full bodycoverage 8 projectors are required.

Strobe lights are used, in synchronisation with thecolour cameras, to drown out the texture pattern for thecolour images. The strobes operate at a frequency of50Hz. This helps to reduce the effect of the strobes onthe subject, as this frequency is only just visible topeople.

Figure 3. Example stereo pair

The two black and white cameras in each pod givea stereo pair of images (Figure 3.) which are processedto extract depth information. The colour camera is usedto obtain a photorealistic texture for rendering of theresultant model.

The 3D-DCS produces a sequence of 3D-Modelsone for each frame of video captured. Each model con-

sists of the geometry, and the textures. The texture datais dependant on the number of pods used, and can bebetween 1 and 8 images each of 640x480 pixels.Processing of the data is carried out off line after thecapture has taken place. The computational require-ments of the system are very high; on a 3Ghz P4 it takesapproximately 3 minutes to process a single frame froma single Pod and approximately 20 minutes to produce asingle frame using the data from all 8pods. To process asequence of 200 frames (4 seconds) using a single com-puter would take 66hrs.

An example of facial data captured by the system isshown in Figure 4.(a) with no texture mapping and inFigure 4.(b) with added texture. The figures show onepostion of a 3D model captured by the dynnamic scan-ner taken from a sequence of 3D images.

Figure 4. Example 3D Model without texture(a) and with texture(b)

3. Model Mark-up

Our work relies on tracking the position of featuresreferred to as landmarks. These landmarks are points inour 3D captured data corresponding to features thatmust be mapped accurately in order to preserve the qual-ity of the captured animation. These landmarks are alsocrucial to the successful execution of the conformationprocess to be described in the next section.

Although all the software and algorithms we use aregeneric, the bulk of the work done thus far has concen-trated on facial animation; hence the rest of thisdiscussion contains some points that are specific tofacial animation. In particular the choice of landmarkswas determined by the subject matter. After experiment-ing with several different sets of landmark points wehave opted to use a subset of the points defined in theMPEG-4 standard for facial animation. However it wasnecessary to introduce some additional landmarks in rel-atively static areas to stabilise the structure of thegeneric mesh between frames, see Figure 5.

(a) (b)

Proceedings of the 2nd International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT’04) 0-7695-2223-8/04 $ 20.00 IEEE

Page 4: 3D performance capture for facial animation - 3D Data ...eprints.gla.ac.uk/3505/1/3D_performance_capture.pdf · processed to produce a sequence of VRML models. The sequence of models

The most significant task in extending the existingconformation software was to develop an interface thatallowed the position of these landmarks to be recoveredfor every frame in an extended sequence of models. Thistask is difficult simply because of the volume of datainvolved. Each frame of raw data in a captured sequenceconsists of 1 VRML model and 4 texture images (8 forfull body). Once uncompressed the textures are 24 bitcolour at a resolution of 640x480 requiring 900KB ofmemory per texture. Taking into account the data struc-tures necessary to display and manipulate the data onscreen this means that every frame in a sequence can useup to 6MB of memory (dependant on the complexity ofthe mesh). A simple scaling calculation shows that foran 8 second sequence at least 1GB of available memoryis required to process the data successfully.

Figure 5. Subset of MPEG-4 landmarks in position on a generic mesh.

A mark-up interface has been developed whichallows the user to operate on longer sequences in onesession. This interface enables the user to select anyVRML model as the “base” position for the landmarks.Adopting this approach has several advantages:• The mesh structure can be used to help the user

identify more easily which landmark they are inter-acting with.

• Choosing a “base” position that is close to the underlying capture data reduces the amount of work the user has to perform.

• The set of landmarks being used can be changed simply by selecting a different VRML file as the ini-tial landmark template.

Once the mesh containing the landmarks has beenloaded the user can select and drag any landmark acrossthe surface of the underlying model. When all the land-

marks are in place the user simply moves on to the nextframe. Duplicated effort is minimized by projectinglandmarks from the previous frame onto the model inthe new frame, thus only minor corrections are neededbetween frames.

Figure 6. Example of mesh structure simplifying identification of landmarks.

To reduce the demands of this process on the com-puter being used, partial sequences can be marked-up.The last frame from one partial sequence is loaded as thestart point for the next sequence, enabling the user tocontinue with minimum interruption. In this way it takes3mins to position landmarks for a single frame. Due tomemory limitations, working with 1 second at a timeresults in the best trade-off between user effort and soft-ware performance. Although it would seem that thedemands of this process could easily be reduced by onlyloading models into memory as they were needed, pre-liminary tests show that the loading time for thesemodels is prohibitively expensive in terms of perceivedinteractivity.

4. 3D-Studio Max Animation

Although tracking the landmark points gives a usefulrepresentation of the movement of the subject, there isalso a lot of additional information contained within thescanned data which can be difficult to reconstruct artifi-cially from the motion of the landmark points. Humansare very sensitive to the nuances of facial movement andthe scanned data we generate captures many of thesesubtleties. However the scanned data itself is notdirectly useful so we use a process of conformation andfiltering to obtain animated data that can be directlyincluded in 3D Studio Max (3DS) animations.

The conformation process is used to move from thearbitrary per frame mesh structures of scanned data to aunified mesh structure that is suitable for use by an ani-mator. A single generic mesh is conformed to eachframe of a captured sequence in turn resulting in a newsequence of models with the shape and motion from thescanned data but having the mesh structure of the

Proceedings of the 2nd International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT’04) 0-7695-2223-8/04 $ 20.00 IEEE

Page 5: 3D performance capture for facial animation - 3D Data ...eprints.gla.ac.uk/3505/1/3D_performance_capture.pdf · processed to produce a sequence of VRML models. The sequence of models

generic model. This stage is crucial because not onlydoes it enable us to perform per vertex filtering on themesh, it also provides a stable model that animators caninteract with exactly as they do with models they havecreated.

Figure 7. Unconformed vs conformed mesh

The conformation is performed using the algorithmdescribed by X.Ju and J.P.Siebert[4][5] with minormodifications to allow sequences of frames to be proc-essed rather than only static models. The algorithmdescribes a two stage process comprised of a globalmapping followed by a local deformation. The globalmapping deforms the generic mesh to the captured databased on correspondences between the landmarks forthe two models using a radial basis function. The localdeformation reshapes the globally deformed genericmodel to fit onto the surface of the captured data byidentifying corresponding closest surfaces betweenthem.

Unfortunately there is some noise present in thescanned data that causes it to stand out when incorpo-rated into “clean” CG environments. To combat this weapply a high-frequency filter to the motion of individualvertices in the mesh. This filtering is achieved by con-volving the trajectory of each vertex in the mesh with asymmetric one dimensional Gaussian kernel of theform:

In areas of high detail the quality of the mesh isimproved as a result of considering spatial informationfrom neighbouring frames and in stationary areas move-ments resulting from noise are eliminated or reduced. Toensure that no important details are sacrificed by thisprocess an interface has been incorporated into 3DS thatallows parameters for the filtering to be specified as theanimation is being imported into the 3DS workspace,and gives the animator full control over the extent of thefiltering

Figure 8. Trajectory of a vertex before (left) and after (right) filtering.

Early indications are that this workflow will pro-duce very good results, maintaining a good balancebetween the realism of the motion and the quality of themodel.

5. MPEG-4 FAP Extraction

Landmarks are represented as absolute positions inspace and as such can only provide a very limiteddescription of facial animation, specific to the face theyare marked on. It is not possible to use landmarks todrive animation of an arbitrary facial model, a criticalrequirement in our datapath. To resolve this issue, land-marks are converted into MPEG-4 Facial AnimationParameters (FAPs). FAPs describe the movements offeatures on the face in terms of units defined as a set ofspecific facial measurements, the Facial AnimationParameter Units (FAPUs). Consequently, FAPs calcu-lated from landmarks on one face can be used to animateany other face or facial model for which FAPUs can bedetermined. The conversion from landmarks to FAPsconsists of the following steps, which will be describedin more detail in the following sections:

1. Measure the FAPUs from the landmarks.2. Determine the initial orientation of the head in the

first frame captured by the dynamic scanner, androtate the head into a neutral position, upright andfacing forward.

3. Determine the orientation of the head in all the sub-sequent frames with respect to the head in the neu-tral position.

4. Rotate and translate the head in every frame so thatit lines up with the head in the neutral position.

5. Calculate the FAPs based on an orthogonal decon-struction of facial motion along the global Cartesianaxes.

1

2πσ2----------------- e

x2

2σ2---------–

Proceedings of the 2nd International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT’04) 0-7695-2223-8/04 $ 20.00 IEEE

Page 6: 3D performance capture for facial animation - 3D Data ...eprints.gla.ac.uk/3505/1/3D_performance_capture.pdf · processed to produce a sequence of VRML models. The sequence of models

Due to the limited number of landmarks available,only a subset of the full number of FAPs specified in theMPEG-4 standard are calculated, and specifically thoserelating to tongue movement, cheek movement andpupil dilation are excluded.

5.1. Calculate FAPU

The FAPUs are measurements of five specific dis-tances between pairs of facial features, calculated fromthe landmarks in Figure 9. They are:

1. Iris Diameter2. Eye Separation3. Eye Nose Separation4. Mouth Nose Separation5. Mouth Width

Each of these measurements is divided by 1024,allowing FAPs to be evaluated, manipulated, and trans-mitted as integer multiples of the FAPUs rather thanfractional, floating-point values. A sixth FAPU, theAngle Unit, is defined for FAPs that measure rotationssuch as the pitch or roll of the head. The Angle Unit isalways equal to radians.

Calculation of the FAPUs relies on the assumptionthat the face in the first frame of the captured sequenceis in a relaxed, expressionless pose. If FAPUs are meas-ured on a face exhibiting a non-neutral expression theywill almost certainly be erroneous, and FAPs measuredin terms of these units will consequently be distorted. Itis therefore a requirement that all performances in thedynamic capture system begin in a neutral pose.

Figure 9. Landmarks for FAPU calculation

5.2. Determine Initial Orientation

The MPEG4 standard chooses to represent the orienta-tion of a head as three rotational values, pitch, yaw androll, around three orthogonal axes centred at an undesig-nated point, which might typically be chosen as thecentre of the head volume. In practice however, the ori-entation of the head is greatly influenced by the move-ment and curvature of the neck, in addition to rotationsaround the head/neck joint. Such an orientation isextremely difficult to model and evaluate using only thespecified landmarks, so it is assumed that there is a pointin the head that is invariant under rotation, and whosedisplacement is therefore a translation dictated by move-ment of the neck. By observing this point, the displace-ment of the head is calculated and subtracted, allowingthe head rotation to be isolated and evaluated.

Adoption of this method poses the further problemof specifying where the pivot point should be, andexpressing it in terms of landmarks. The point we havechosen to use is the midpoint of the ears. The midpointis close to the area where the head and neck join, and isafforded a certain amount of stability by the fact that theposition of an ear is affected much more by the move-ment of the head than by facial expressions. Themidpoint is calculated by averaging the ten pointsmarked around the peripherals of the ears (five on eachear), the averaging reducing the amount of uncertaintyintroduced in the markup process.

Determining a head translation and rotation for aparticular frame requires knowledge of where the headwas located and how it was positioned in a previousframe. Extrapolating, it is easy to see that knowledge ofthe location and rotation of the head in the first frame isrequired. The location of the head is expressed as thelocation of the midpoint of the ears as described above,and is simple to calculate in all frames including thefirst. The location in the first frame is assumed to be thedefault location of the head, and in all subsequentframes the head is translated to this location before itsrotation is calculated.

Having estimated the initial location, the initialrotation remains to be determined, as follows:1. For any one of the three Cartesian axes, identify one

or more vectors on the face that are expected to beparallel to this axis. Sum the vectors and normaliseto obtain a unit vector , an estimate of the direc-tion of the chosen axis.

105–

x

y

z

ERI

NT

NCMR ML

ERO ELO

ELI

MC

IRTR IRTL

IRBR IRBL

ILTR ILTL

ILBR ILBL

p̂p1 p2 …pn+ +

p1 p2 …pn+ +--------------------------------------=

Proceedings of the 2nd International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT’04) 0-7695-2223-8/04 $ 20.00 IEEE

Page 7: 3D performance capture for facial animation - 3D Data ...eprints.gla.ac.uk/3505/1/3D_performance_capture.pdf · processed to produce a sequence of VRML models. The sequence of models

2. Repeat Step 1 to obtain an estimate for a different

axis. At this stage the two unit vectors and describe a plane but are not necessarily orthogonal.

3. Calculate the cross product of the vectors obtainedin stages 1 and 2 to obtain a third vector , orthogo-nal to the first.

4. Take the cross-product of the and vectors to geta revised estimate for the second axis orthogonal tothe other two.

The vectors chosen for steps 1 and 2 are shown inFigure 10. The vectors in step 1 are the vectorbetween the centres of the ears,

and the vector between the inner corners of the eyes,

These will point approximately along the x-axis. The vectors in step 2 are the vector between the

outside corner of the left eye and top join of the left earto the face,

and the equivalent vector on the right eye,

These will point approximately along the z-axis.

Figure 10. Orientation vectors

Upon following this procedure a set of orthogonalaxes is obtained, the orientation of which, with respectto the global Cartesian axes, represents the initial rota-tion of the head. The method described in the nextsection can be used to calculate the rotation matrixrequired to rotate these axes onto the global axes. Thisprovides a keyframe with the head in a neutral position,from which all other head orientations can be measured.

5.3. Determine Orientation of Subsequent Frames

A method is described in [6] for determining a rota-tion matrix representing the rotation between twoorientations of a rigid body. A rigid body is one thatdoes not deform, so the term cannot be automaticallyapplied to a head upon which the face is regularly chang-ing expression. The solution to this problem is to lookfor a subset of landmarks on the face that change verylittle or not at all, regardless of any expression the faceforms. This subset of points forms a rigid body, allowingthe head rotation to be calculated and adjusted for, andconsequently allowing the facial movements to be prop-erly determined. At least 3 landmarks are required onthe rigid body to allow the rotation to be calculated, andit was decided that the inner and outer corners of botheyes, and the points where the upper ears join the face (atotal of 6 landmarks) would be appropriate.

The computation of the rotation matrix for a frameproceeds as follows:1. Subtract the pivot point from each of the rigid

body landmarks in the keyframe and the current

frame.

2. Build a correlation matrix from the rigid bodylandmarks:

where is a landmark in the keyframe and is

the equivalent landmark in the current frame. Notethat this is a matrix multiplication where vector

is a 3x1 matrix and vector is a 1x3 matrix, so

the resultant matrix is 3x3.3. Perform a singular value decomposition of the cor-

p̂ q̂

r̂ p̂ q̂×=

r̂ p̂

q̂ r̂ p̂×=

pi

p1 ALC ARC–=

p2 ELI ERI–=

qi

q1 ELC ALU–=

q2 ERC ARU–=

x

y

z

ARC ALC

ERI ELI

ERO ELO

ARU ALU

xc

xi

x′i xi xc–=

c N

c1N---- x'1 i x'2 i

T

i 1=

N

x'1i x'2i

x'1 i

x'2 iT

c

Proceedings of the 2nd International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT’04) 0-7695-2223-8/04 $ 20.00 IEEE

Page 8: 3D performance capture for facial animation - 3D Data ...eprints.gla.ac.uk/3505/1/3D_performance_capture.pdf · processed to produce a sequence of VRML models. The sequence of models

relation matrix to obtain the orthogonal matrices

and , and the diagonal matrix :

4. The rotation matrix describing the rotation of thehead from the current frame back to the neutral key-frame position is then given by:

where is the diagonal matrix ,

The rotation matrix is now applied to the currentframe to rotate it into the neutral position where the headis upright and facing forward, facilitating determinationof the FAPs as described in the next section.

5.4. Determine FAPs

Each FAP is associated with a specific landmark, and ismeasured along a single axis using a particular FAPU asits base unit. Since the head is oriented in the neutralposition with respect to the global axes, calculation of aFAP is a trivial matter of subtracting the appropriatelandmark in the neutral position from the respectivelandmark in the current frame, but only doing the sub-traction along the relevant axis. Dividing this value bythe associated FAPU and rounding gives an integervalue for the FAP independent of the face from which itwas calculated.

Figure 11. FAPs relating to a lip corner

For example, there are two FAPs governing behav-iour of the left corner of the outer l ip, cal ledstretch_r_cornerlip_o and raise_r_cornerlip_o. Both ofthese are calculated using the landmark positioned onthe outer right corner of the lip, and are measured interms of the Mouth Width. stretch_r_cornerlip_o

describes the movement along the x-axis of the lip cor-ner, and raise_r_cornerlip_o describes its movementalong the y-axis, see Figure 11.

6. Results

The sequence of models produced by the purely 3Droute are imported into 3D Studio MAX. Currently weare only able to handle short sequencies in this way, dueto volume of data required for an animation sequenceand the way this data is handled in 3DS. A single framefrom a sequence rendered using 3DS is shown in Figure12.

In order to quickly verify the output of the FAP gen-erating algorithm we have developed a pre-visualisationtool that displays the effects of applying a sequence ofFAP data to a set of facial landmarks. The animation isrendered in 3D as an outline of the facial features, seeFigure 13.

Once we are satisfied with the FAP data it is passedinto the CreaToon procedural animation system where itmay be exaggerated for cartoon effect or used as is todrive the facial movement of characters in productionquality animation, see Figure 14. The precise nature ofthe exaggeration carried out in CreaToon falls outwiththe scope of this paper.

7. Conclusions

We have presented two methods for using 3Dmodel based motion capture data to drive animation.These show that we can generate animated headsequences from dynamic capture data to greater accu-racy than by other methods, at a cost of not doing it inreal time. Furthermore, we are able to capture andextract the motion without the need for the placement ofinvasive markers on the subject.

With in-camera computation and hardware acceler-ation, particularly in the stereo-matching stage wheredepth information is extracted from image pairs, webelieve it is possible to achieve motion capture andmodel-building in real-time. As a proof of concept wehave been able to show the possibility of doing real-timematching using FPGA hardware.

The other resource intensive aspect of our system isthe time-consuming manual placement of landmarks onevery 3D model of a captured sequence. To alleviatethis, we are currently working on an automatic markupsystem capable of tracking any specified featuresthrough a sequence of 3D models and placing landmarkson them. The automatic tracker is based on the same

c

u v w

c u w vT⋅ ⋅=

R

R u D vT⋅ ⋅=

D

diag 1 11

u vT⋅----------------, ,

raise_r_cornerlip_o

stretch_r_cornerlip_o

y

z

x

Proceedings of the 2nd International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT’04) 0-7695-2223-8/04 $ 20.00 IEEE

Page 9: 3D performance capture for facial animation - 3D Data ...eprints.gla.ac.uk/3505/1/3D_performance_capture.pdf · processed to produce a sequence of VRML models. The sequence of models

stereo-matching algorithm we use in building 3D mod-els, but operates on temporally disjoint pairs of imagesfrom the same camera as opposed to the stereo pairsobtained from two different cameras in the modelbuilder. It is envisaged that some user input will still berequired by the tracker, but that it will be minimal andrestricted to slight corrections of wayward landmarks.

Figure 12. Still from a test scene rendered in 3D Studio Max

Figure 13. A Frame of FAP animation generated in the Pre-visualisation Tool

8. Acknowledgements

This work was supported by the EU IST project CUS-TODIEV and the NeSC funded project PGP-GRID.

Figure 14. A Frame of FAP animation generated in CreaToon

9. References

[1] W.P Cockshott, S. Hoff, J-C. Nebel. “An Experimental3D Digital TV Studio”, IEE Proceedings - Vision, Image& Signal Processing, Institute of Electrical Engineers,2003

[2] Moving Picture Experts Group, ISO/IEC 14496-MPEG-4 International Standard, www.cselt.it/mpeg.

[3] I.S Pandzic, R. Forchheimer, MPEG-4 Facial Anima-tion: The Standard, Implementation ad Applications.,John Wiley & Sons, 2002.

[4] X. Ju, J.P. Siebert, “Individualising Human AnimationModels”, Proc. Eurographics 2001, Manchester, UK,2001

[5] X. Ju, J.P. Siebert, “Conformation from generic animat-able models to 3D scanned data”, Proc. 6th Numérisa-tion 3D/Scanning 2001 Congress, Paris, France, 2001.,pp 239-244

[6] J.H. Challis. “A procedure for determining rigid bodytransformation parameters.” Journal of Biomechanics,28(6):733-737, June 1995.

[7] Fiore, F, Schaeken P, Elens K, Van Reeth F, "Automat-ic In-Betweening in Computer Assisted Animation byExploiting 2.5D Modelling Techniques", Proc Compu-ter Animation 2001, pp 192-2001, November 2001

[8] Fiore, F, Van Reeth F "Employing Approximate 3DModels to enrich Traditional computer Assisted Anima-tion", Proc Computer Animation 2002, pp 183-190

[9] Fiore, F, Van Reeth F "Mimicing 3D Transformations ofEmotional Stylised Animation with Minimal 2D Input",Proc. 1st International Conference on Computer Graph-ics and Interactive Techniques in Australasia and SouthEast Asia (GRAPHITE 2003), pages 21-28, February2003.

Proceedings of the 2nd International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT’04) 0-7695-2223-8/04 $ 20.00 IEEE