http:^^www.tc.cornell.edu^visualization^education^cs718^fall1995^ddhung^index.html
来自「This data set contains WWW-pages collect」· HTML 代码 · 共 379 行 · 第 1/2 页
HTML
379 行
Date: Mon, 16 Dec 1996 22:16:09 GMTServer: NCSA/1.5Content-type: text/htmlLast-modified: Fri, 15 Dec 1995 16:48:43 GMTContent-length: 14401<html><title>Modeling Human Facial Expressions</title><body><center><h1>Modeling Human Facial Expressions</h1><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><a href="http://www.cs.cornell.edu/Info/People/ddhung/poetry/poetry.html">Daniel D. Hung</a> and <!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><a href="http://www.cs.cornell.edu/Info/People/szuwen/szuwen.html">Szu-Wen (Steven) T. Huang</a><br>CS 718 Topics in Computer Graphics<hr></center><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><img src="http://www.tc.cornell.edu/Visualization/Education/cs718/fall1995/ddhung/side.gif" align=right><h2>Introduction</h2>Human faces are among some of the most difficult objects to model incomputer graphics, and have been in the attention of numerous attempts,some almost as old as computer graphics itself. Facial expressions arethe result of the movement of skin layered atop muscles and bonestructures, and may have thousands of combinations. As part of ourcoursework, we propose to focus on this subject. Our work will be dividedinto three parts: a survey of various techniques developed throughout theyears, an implementation of one such technique, and the presentation ofour results. <h2>Limitations</h2>Due to time constraints, it is unlikely that a detailed implementation ofany of the models is possible. The goal of the project is thus to producea technology demonstration of a technique. The availability of suitableinput devices or a pre-defined face mesh would limit the accuracy andaesthetic quality of the finished product. We wish to be able to produce,at the minimum, a wire frame animation of a face mesh. The results fromthe survey and the implemented model will be presented in class. <h2>Prior Art</h2><h3>General Structure</h3>Among the various approaches taken over the years, a distinctivegeneralization can be made. There generally exists a low-level musclemotion simulator, called variably as <em>action units</em>, <em>abstractmuscle action procedures</em>, or <em>minimum perceptible actions</em>. This layer enables the generation of expressions that are not necessarilyhumanly possible, such as asymmetric movement of two sides of the face. <p>On top of the "muscle" layer, we find an abstraction for humanlysignificant expressions. This layer might include <em>smile</em>,<em>frown</em>, <em>horror</em>, <em>surprise</em>, and other expressions. <p>As the objective of many projects was to emulate the human face duringspeech, there usually exists another layer above expressions that include<em>phonemes</em> (speech primitives). A complete data set of phonemesallow the synthesized face to look like it is coordinated with speechwhich is played back separately. <h3>Keyframing</h3><strong>Keyframing</strong> was one of the earliest approaches taken, andinvolved linear transformations from one face mesh to another. The amountof computations were extensive and the data set large. The approach wasrather inflexible because the range of expressions that can be generatedare limited by the keyframes that were previously digitized. It is alsodifficult to generalize work on one face mesh to another. <h3>Parametric Deformations</h3>A second approach was to model the human face as a parametric surface andrecord the transformations as movements of the control points to minimizethe data storage requirements. These approaches are still difficult togeneralize over different face meshes.<p>One such attempt utilizes B-spline patches that were defined manuallyon an actual digitized face mesh [<!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><a href="http://www.tc.cornell.edu/Visualization/Education/cs718/fall1995/ddhung/nahas88.html">Nahas88</a>].The control points for the B-spline patches were moved to effect thedistortion of the face. While this method is powerful, we know of noautomatic way of defining the relevant control points for the B-splinepatches.<p>Another such attempt used Rational Free-form Deformations to move pointsinside a defined volume [<!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><a href="http://www.tc.cornell.edu/Visualization/Education/cs718/fall1995/ddhung/kalra92.html>Kalra92</a>] based on thecontrol points placed at the edges of the volume. The volume could bedistorted by either changing the position of a control point or increasingthe weight of the control point. The method has similar shortcomings asthe B-spline approach, though the definition of the volumes are moreintuitive than B-spline control points.<h3>Anatomically-correct muscles</h3>A natural approach would be to simply simulate actual human muscles [<ahref="waters87.html">Waters87</a>, <!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><a href="http://www.tc.cornell.edu/Visualization/Education/cs718/fall1995/ddhung/platt81.html">Platt81</a>], ifnot for the amazingly little understanding we have of them. The humanfacial muscles are capable of a large amount of expressions, and realisticsimulation of muscles requires the simulation of muscle action wrappingaround the skull structure, jaw rotation, and folding and stretchingproperties of skin.<h3>Pseudo-muscles</h3>A hybrid approach would be to simulate muscles that are not necessarilyanatomically-correct [<!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><a href="thalmann88.html>Thalmann88</a>]. Thisallows muscle vectors to protrude out of the face if needs be. Theadvantage of this approach is that we are more interested in getting ameaningful expression than actually simulating all the muscles. Thisapproach is easier and possibly yields a smaller data set than realisticmuscles because some insignificant muscles that contribute to a certainexpression could be generalized by a vector. This is the approach weselected to follow.<h2>Implementation</h2>The first part of our work involves the tedious task of manually digitizinga face mesh into a machine-readable form. We decided early on that dealingwith the large data set generated by a scanner would be difficult, and wewere able to generate a face composed of some 400 vertices and some 600polygons. Some vertices were discarded during polygonalization becausethey were too detailed for our purposes.<p>The face is then divided into regions defined by rectangular boundingboxes. Each muscle is associated with a bounding box, and could notaffect any point outside that box. A sample bounding box (for the musclevector responsible for raising the edge of the left lip during smiles) is shown below in yellow with translucent skin:<p><center><img src="bbox.gif"><p></center>After the data set was complete, we decided that the available functionsto deform the face mesh were overly complicated, and derived a simpleone:<pre> 1<em>P'</em> = <em>P</em> + ( -------------- ) (<em>Pd</em> - <em>P</em>) <em>t</em> |<em>Po</em> + <em>P</em>| + 1</pre>where <em>t</em> is the time parameter running from 0 to 1, <em>Po</em>is the point where the force is applied, <em>Pd</em> is the point ofattractive force, and <em>P</em> is every face vertex in the bounding box.The formula moves every vertex in the bounding box towards the attractionpoint <em>Pd</em> by a magnitude inversely proportional to its distancefrom the point of force application <em>Po</em>. An example of thismuscle model is shown below:<p><center><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><img src="http://www.tc.cornell.edu/Visualization/Education/cs718/fall1995/ddhung/pinch.gif"><p></center>This formula had an unacceptable side effect of seemingly to "pinch" thepoints close to <em>Po</em> towards <em>Pd</em>. We abandoned it becausewe felt we needed a "smoother attraction", which led us to:<pre> |<em>Po</em> - <em>P</em>| 1 + <strong>cos</strong>( ---------- <strong>pi</strong> )<em>P'</em> = <em>P</em> + ( <em>R</em> ) (<em>Pd</em> - <em>Po</em>) <em>t</em> ------------------------ 2</pre>where we introduced a new parameter <em>R</em>. <em>R</em> defines theradius of influence, and while closely related to the size of the boundingbox, is a separate parameter. In general, however, <em>R</em> shouldcover roughly the same area as the bounding box. Note that singularitiesappear if <em>R</em> is much smaller than the bounding box. Note that the<em>Pd</em> - <em>Po</em> term in this formula moves all the vertices inthe bounding box and the radius of influence parallel to the vectorbetween the point of force application towards the point of attraction.In effect, the point of attraction actually defines a <em>plane</em> of
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?