We describe a structure-from-motion framework that handles "generalized" cameras, such as moving rolling-shutter cameras, and works at an unprecedented scale&emdash;billions of images covering millions of linear kilometers of roads&emdash;by exploiting a good relative pose prior along vehicle paths. We exhibit a planet-scale, appearance-augmented point cloud constructed with our framework and demonstrate its practical use in correcting the pose of a street-level image collection. |
|
We propose a finite element simulation method that addresses the full range of material behavior from purely elastic to highly plastic, and for physical domains that are substantially reshaped by plastic flow, fracture, or large elastic deformations. To avoid artificial plasticity, we maintain a simulation mesh in both the current state as well as the rest shape, and store plastic offsets only to represent the non-embeddable part of the plastic deformation. To maintain high element quality in a tetrahedral mesh undergoing gross changes, we use a dynamic meshing algorithm that replaces as few tetrahedra as possible, and thereby limits the visual artifacts and artificial diffusion that would be introduced if we repeatedly remeshed the domain from scratch. Our dynamic mesher also locally refines and coarsens a mesh, and even creates anisotropic tetrahedra, wherever a simulation requests it. We illustrate these features with animations of elastic and plastic behavior, extreme deformations, and fracture. |
|
[PDF, 211 MB] [PDF with reduced image quality, 57 MB] I present a tetrahedral mesh improvement method that creates meshes whose worst tetrahedra have a level of quality substantially better than those produced by any previous method for tetrahedral mesh generation or “mesh clean-up.” Mesh optimization methods often get stuck in bad local optima (poor-quality meshes) because their repertoire of mesh transformations is weak. In contrast, my mesh improvement software employs a broader palette of operations than any other. Alongside the best traditional topological and smoothing operations, I introduce a topological transformation that inserts a new vertex, as well as methods for smoothing vertices on the boundary of the mesh. My implementation routinely improves meshes so that all the dihedral angles lie between 34 and 131 degrees. It also allows a user to locally control the sizes and grading of the tetrahedra, and to generate anisotropic meshes with local control of the orientations and eccentricities of the tetrahedra. With the same operations, I develop a dynamic mesh improvement method for simulations of deforming materials that updates a mesh at each timestep to maintain the quality of its tetrahedra. The dynamic mesher strikes a balance between maintaining high element quality and minimizing the error introduced through artificial diffusion. |
|
We present a tetrahedral mesh improvement schedule that usually creates meshes whose worst tetrahedra have a level of quality substantially better than those produced by any previous method for tetrahedral mesh generation or mesh clean-up. Our goal is to aggressively optimize the worst tetrahedra, with speed a secondary consideration. Mesh optimization methods often get stuck in bad local optima (poor-quality meshes) because their repertoire of mesh transformations is weak. We employ a broader palette of operations than any previous mesh improvement software. Alongside the best traditional topological and smoothing operations, we introduce a topological transformation that inserts a new vertex (sometimes deleting others at the same time). We describe a schedule for applying and composing these operations that rarely gets stuck in a bad optimum. We demonstrate that all three techniques—smoothing, vertex insertion, and traditional transformations—are substantially more effective than any two alone. Our implementation usually improves meshes so that all dihedral angles are between 31 and 149 degrees, or (with a different objective function) between 23 and 136 degrees. |
|
This paper presents a method for animating fluid with unstructured tetrahedral meshes that change at each time step. Meshes that conform well to changing boundaries and that focus computation in the visually important parts of the domain can be generated quickly and reliably using existing techniques. We also describe a new approach to two-way coupling of fluid and rigid bodies that, while general, benefits from remeshing. Overall, the method provides a flexible environment for creating complex scenes involving fluid animation. |
|
This paper presents a method for animating gases on unstructured tetrahedral meshes to efficiently model the interaction of the fluids with irregularly shaped obstacles. Because our discretization scheme parallels that of the standard staggered grid mesh we are able to combine tetrahedral cells with regular hexahedral cells in a single mesh. This hybrid mesh offers both accuracy near obstacles and efficiency in open regions. |
|
This paper describes a simple modification to an Eulerian fluid simulation that permits the underlying mesh to deform independent of the simulated fluid's motion. The modification consists of a straightforward adaptation of the commonly used semi-Lagrangian advection method to account for the mesh's motion. Because the method does not require more interpolation steps than standard semi-Lagrangian integration, it does not suffer from additional smoothing and requires only the added cost of updating the mesh. By specifying appropriate boundary conditions, mesh boundaries can behave like moving obstacles that act on the fluid resulting in a number of interesting effects. The paper includes several examples that have been computed on moving tetrahedral meshes. |
I received my Ph.D. in computer science from The University of California, Berkeley in the fall of 2008. I worked with James O'Brien and Jonathan Shewchuk on problems in animation, modeling and computational geometry.
klingner at cs.berkeley.edu