In the results below, the 2D error is the value from equation 12. ![]() We then create the face models, and compare them against the original test data. The corresponding target constraints are automatically generated based on the testing data. We start from a neutral pose and select the source constraints (any kind of constraints) as before. We use new face models as testing data for cross validation tests. We can change this weight dynami- cally, thus providing an interesting spectrum of possibilities (figure 10) for the user to choose from. Changing the weight of the term in the optimization provides a tradeoff between satisfying user constraints and creating natural faces. The model prior term allows the generated faces to be natural. The computational time of the system does not depend on the number of example data in the database because the MFA model is learned off-line. It takes about 0.18 seconds for 10 points. The time for point constraints also increases linearly with the number of points. For example, the computational time for stroke constraints with 900 pixels (about the size of a curve drawn on the eyebrow) is about 0.4 seconds. This is expected as the computation time for the image in- tensities increases proportionally with the number of pixels. As the number of constraints increases, the computational time increases linearly. The computational time of the system depends on the number of user-specified constraints. By adding this term to the optimization, the source stroke will “move towards” the target stroke, even if they are originally far away from each other. We can see the effect of having the additional distance term for stroke constraints in figure 9. Some interesting results are shown in figure 8. Although some results might also be achieved with point constraints, such a sketch interface is much more intuitive. Our users have reported that the sketch interface allows us to draw certain features of the face such as an eyebrow (figure 1 left) more easily. The point constraints are used in this example to fine-tune the corners of the mouth. ![]() In figure 4, we draw strokes to “raise” the cheek regions to create a smiling expression. Stroke Constraints This constraint can be used to efficiently make large-scale changes to the face model. However, if there are constraints that do not match any natural facial expressions represented by our statistical model, not all the constraints will be satisfied (figure 7). As the number of point constraints increase, the results are more accurate (figure 6). In figure 5, the user iteratively adds more constraints to achieve the desired result of a more detailed eye geometry. Even though the facial points are in 3D, this “dragging” in 2D screen space is still natural and generates good results. We can select a facial point and interactively drag it into a desired position in 2D screen space (see video for example). In general, this constraint is particularly useful for detailed control of individual points. Point Constraints Figure 4 shows an example with point constraints, where the user poses the shape of the mouth in the smiling expression with two points. The accompanying video shows live screenshots of the results. Our users have reported that the interface is intuitive and easy to use. A first-time user learns to use the system within minutes, and is able to create realistic expressions within seconds. The Face Poser system can generate a variety of facial expressions. The number of reduced dimensions for the first subject and second subject are 20 and 15 respectively by keeping 99 percent of the energy in the eigenvalues. For the second subject, the 3D model has 16,501 vertices and 32,944 faces. ![]() For the first subject, the 3D face model has 17,111 vertices and 34,168 faces. Table 1 shows the details of the two data sets. The solution converges rapidly due to a good starting point, a low-dimensional optimization space, and the symbolic eval- uation of the jacobian terms. We initialize the optimization with the “best” mean among all factors, by explicitly computing the “best” p : arg min p ∈ E point + λ 1 E stroke + λ 2 E extra + λ 3 E prior (26) We use the Broyden-Fletcher-Goldfarb-Shanno (BFGS) ∗ optimization algorithm in the GSL library. Each factor in the MFA model has a mean face mesh. Similarly, the overall jacobian term is a weighted combination of the individual jacobian terms. our experiments, λ 1 is set to 1 we choose an adaptive weight for λ 2 as discussed in section 4.2 λ 3 is selected dynamically by the user (in our experiments, we used a value between 2 and 5).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |