Motion interpolation (computer graphics)

Last updated

Motion interpolation is a programming technique in data-driven character animation that creates transitions between example motions and extrapolates new motions.

Contents

Example motions are often created through keyframing or motion capture. However, keyframing is labor-intensive and lacks varieties of motion, and both processes result in motions that are time-consuming to alter. Motion interpolation provides a much faster alternative to creating new motions through the same means. [1]

Implementation

Formerly, a popular method of simulating a character's movement involved storing a variety of motions and choosing the most appropriate one during run-time. Unfortunately, storage limitations resulted in repetitive or imperfect results. Instead, with some additional computation, new, desired motions can be created by interpolating preexisting, similar motions. Using interpolation, motions can be generated in real time while preserving the realistic qualities of the example motions. [2]

Simulated figure

The simulated figure that is manipulated to show the motion is represented as a hierarchical connection of rigid links by joints. The root of the hierarchy has six degrees of freedom: three degrees for the figure's position and three degrees for the figure's rotation. This representation is sufficient, because knowing only the degrees for each joint and the root, the figure can be rendered at any time. [1]

Interpolation

Suppose that for a desired motion, "walk," there exist two example motions that convey different moods (e.g., happy and sad). A happy walking motion may be characterized by a simulated figure's posture being upright and its gait being energetic and fast-paced. A sad walking motion may be characterized by a slouched posture and a slow gait. [1]

To interpolate these motions, they must be in canonical form. This means that their times must be made generic so that significant structural events occur simultaneously. To elaborate, the two example walking motions may vary in time, as the happy walk is described as fast-paced and the sad walk is described as slow. However, scaling their lengths of time to be equivalent is not sufficient for interpolation. This is because the slow walking motion is not simply an elongation of the happy walking motion. These motions must have their walk cycle key frames aligned, so that at a given generic time, both motions make a forward point contact. [1]

For a neutral walking motion that is neither (or equally) happy or sad, the corresponding degrees of freedom for the existing motions are used for interpolation. As a result, a tuple of degrees of freedom is created for a simulated figure walking a neutral walking motion at a generic time. Alternatively, if the mood of the simulated figure were to change in real time from happy to sad, the interpolation would be more influenced by the happy walking motion at the start of the transition. Towards the end of the transition, the interpolation would be more influenced by the sad walking motion until the figure simply walks the sad walking motion. [1]

A transition between two types of motions (e.g., a walking motion and a running motion) involves the interpolation of velocities. This ensures a smooth transition. A transition between two types of motions requires either be a generic time frame where both types of motions share structural similarities, or a series of motions with transitional periods that eventually reach the desired type of motion. [1]

Inverse kinematics

Inverse kinematics can be used with real-time motion interpolation to create interactions with a virtual environment. As aforementioned, there is a necessary process of annotating example motions with significant structural events. These annotations allow for the reparameterization of time to generic time. However, these annotations can also be used to specify periods where inverse kinematics should be used. For example, during a forward point contact in a walk cycle, kinematic constraints should be enabled so that the foot of the simulated figure is flush with the floor of the virtual environment. [1]

Searching for relevant motions

For large sets of example motions, the process of finding relevant results is not trivial. Therefore, methods have been developed to extract motions based on logical similarities and to combine these results into a continuous, branching space of motions that can be searched. [3]

Related Research Articles

<span class="mw-page-title-main">Walking</span> Gait of locomotion among legged animals

Walking is one of the main gaits of terrestrial locomotion among legged animals. Walking is typically slower than running and other gaits. Walking is defined by an 'inverted pendulum' gait in which the body vaults over the stiff limb or limbs with each step. This applies regardless of the usable number of limbs—even arthropods, with six, eight, or more limbs, walk. In humans, walking has health benefits including improved mental health and reduced risk of cardiovascular disease and death.

<span class="mw-page-title-main">Horse gait</span> Ways of movement of equines

Horses can use various gaits during locomotion across solid ground, either naturally or as a result of specialized training by humans.

<span class="mw-page-title-main">Motion capture</span> Process of recording the movement of objects or people

Motion capture is the process of recording the movement of objects or people. It is used in military, entertainment, sports, medical applications, and for validation of computer vision and robots. In filmmaking and video game development, it refers to recording actions of human actors and using that information to animate digital character models in 2D or 3D computer animation. When it includes face and fingers or captures subtle expressions, it is often referred to as performance capture. In many fields, motion capture is sometimes called motion tracking, but in filmmaking and games, motion tracking usually refers more to match moving.

<span class="mw-page-title-main">Gait analysis</span> Study of locomotion

Gait analysis is the systematic study of animal locomotion, more specifically the study of human motion, using the eye and the brain of observers, augmented by instrumentation for measuring body movements, body mechanics, and the activity of the muscles. Gait analysis is used to assess and treat individuals with conditions affecting their ability to walk. It is also commonly used in sports biomechanics to help athletes run more efficiently and to identify posture-related or movement-related problems in people with injuries.

<span class="mw-page-title-main">Inverse kinematics</span> Computing joint values of a kinematic chain from a known end position

In computer animation and robotics, inverse kinematics is the mathematical process of calculating the variable joint parameters needed to place the end of a kinematic chain, such as a robot manipulator or animation character's skeleton, in a given position and orientation relative to the start of the chain. Given joint parameters, the position and orientation of the chain's end, e.g. the hand of the character or robot, can typically be calculated directly using multiple applications of trigonometric formulas, a process known as forward kinematics. However, the reverse operation is, in general, much more challenging.

<span class="mw-page-title-main">Gait (human)</span> A pattern of limb movements made during locomotion

A gait is a manner of limb movements made during locomotion. Human gaits are the various ways in which humans can move, either naturally or as a result of specialized training. Human gait is defined as bipedal forward propulsion of the center of gravity of the human body, in which there are sinuous movements of different segments of the body with little energy spent. Varied gaits are characterized by differences such as limb movement patterns, overall velocity, forces, kinetic and potential energy cycles, and changes in contact with the ground.

Robot locomotion is the collective name for the various methods that robots use to transport themselves from place to place.

Inverse dynamics is an inverse problem. It commonly refers to either inverse rigid body dynamics or inverse structural dynamics. Inverse rigid-body dynamics is a method for computing forces and/or moments of force (torques) based on the kinematics (motion) of a body and the body's inertial properties. Typically it uses link-segment models to represent the mechanical behaviour of interconnected segments, such as the limbs of humans or animals or the joint extensions of robots, where given the kinematics of the various parts, inverse dynamics derives the minimum forces and moments responsible for the individual movements. In practice, inverse dynamics computes these internal moments and forces from measurements of the motion of limbs and external forces such as ground reaction forces, under a special set of assumptions.

Computer facial animation is primarily an area of computer graphics that encapsulates methods and techniques for generating and animating images or models of a character face. The character can be a human, a humanoid, an animal, a legendary creature or character, etc. Due to its subject and output type, it is also related to many other scientific and artistic fields from psychology to traditional animation. The importance of human faces in verbal and non-verbal communication and advances in computer graphics hardware and software have caused considerable scientific, technological, and artistic interests in computer facial animation.

<span class="mw-page-title-main">Hexapod (robotics)</span> Type of robot

A six-legged walking robot should not be confused with a Stewart platform, a kind of parallel manipulator used in robotics applications.

In the context of live-action and computer animation, interpolation is inbetweening, or filling in frames between the key frames. It typically calculates the in-between frames through use of (usually) piecewise polynomial interpolation to draw images semi-automatically.

<span class="mw-page-title-main">Motion interpolation</span> Form of video processing

Motion interpolation or motion-compensated frame interpolation (MCFI) is a form of video processing in which intermediate film, video or animation frames are generated between existing ones by means of interpolation, in an attempt to make animation more fluid, to compensate for display motion blur, and for fake slow motion effects.

<span class="mw-page-title-main">Glossary of robotics</span> List of definitions of terms and concepts commonly used in the study of robotics

Robotics is the branch of technology that deals with the design, construction, operation, structural disposition, manufacture and application of robots. Robotics is related to the sciences of electronics, engineering, mechanics, and software.

<span class="mw-page-title-main">Mechanism (engineering)</span> Device used to transfer forces via non-electric means

In engineering, a mechanism is a device that transforms input forces and movement into a desired set of output forces and movement. Mechanisms generally consist of moving components which may include:

<span class="mw-page-title-main">Orthotics</span> Medical specialty that focuses on the building and designing of artificial legs

Orthotics is a medical specialty that focuses on the design and application of orthoses, sometimes known as braces or calipers. An orthosis is "an externally applied device used to influence the structural and functional characteristics of the neuromuscular and skeletal systems." Orthotists are professionals who specialize in designing these braces.

<span class="mw-page-title-main">Arm swing in human locomotion</span>

Arm swing in human bipedal walking is a natural motion wherein each arm swings with the motion of the opposing leg. Swinging arms in an opposing direction with respect to the lower limb reduces the angular momentum of the body, balancing the rotational motion produced during walking. Although such pendulum-like motion of arms is not essential for walking, recent studies point that arm swing improves the stability and energy efficiency in human locomotion. Those positive effects of arm swing have been utilized in sports, especially in racewalking and sprinting.

X-ray motion analysis is a technique used to track the movement of objects using X-rays. This is done by placing the subject to be imaged in the center of the X-ray beam and recording the motion using an image intensifier and a high-speed camera, allowing for high quality videos sampled many times per second. Depending on the settings of the X-rays, this technique can visualize specific structures in an object, such as bones or cartilage. X-ray motion analysis can be used to perform gait analysis, analyze joint movement, or record the motion of bones obscured by soft tissue. The ability to measure skeletal motions is a key aspect to one's understanding of vertebrate biomechanics, energetics, and motor control.

<span class="mw-page-title-main">Locomotion in space</span> Movement of astronauts bodies in outer space

Locomotion in space includes all actions or methods used to move one's body in microgravity conditions through the outer space environment. Locomotion in these conditions is different from locomotion in a gravitational field. There are many factors that contribute to these differences, and they are crucial when researching long-term survival of humans in space.

The function of the lower limbs during walking is to support the whole-body against gravitational forces while generating movement patterns which progress the body forward. Walking is an activity that is primarily confined to the sagittal plane, which is also described as the plane of progression. During one gait cycle, there are two major phases: stance and swing. In a healthy individual walking at a normal walking speed, stance phase makes up approximately 60% of one gait cycle and swing makes up the remaining 40%. The lower limbs are only in contact with the ground during the stance phase, which is typically subdivided into 5 events: heel contact, foot flat, mid-stance, heel off, and toe off. The majority of stance phase (~40%) takes place in single-limb support where one limb is in contact with the ground and the contralateral limb is in swing phase. During this time interval, the lower limb must support constant changes in alignment of body weight while propelling forward. The hip, knee, and ankle joints move through cyclical kinematic patterns that are controlled by muscles which cross these joints. As postural changes occur, the body adapts by motor tuning an efficient muscular pattern that will accomplish the necessary kinematics required to walk.

<span class="mw-page-title-main">Virtual human</span> Computer simulation of a person

A virtual human is a software fictional character or human being. Virtual human have been created as tools and artificial companions in simulation, video games, film production, human factors and ergonomic and usability studies in various industries, clothing industry, telecommunications (avatars), medicine, etc. These applications require domain-dependent simulation fidelity. A medical application might require an exact simulation of specific internal organs; film industry requires highest aesthetic standards, natural movements, and facial expressions; ergonomic studies require faithful body proportions for a particular population segment and realistic locomotion with constraints, etc.

References

  1. 1 2 3 4 5 6 7 Rose, Charles (September 1998). "Verbs and Adverbs: Multidimensional Motion Interpolation". www.vuse.vanderbilt.edu. Retrieved 2016-12-14.
  2. Wiley, Douglas (November 1997). "Interpolation Synthesis of Articulated Figure Motion" (PDF). www.computer.org. Retrieved 2016-12-14.
  3. Kovar, Lucas (2004). "Parameterization of Motions in Large Data Sets". research.cs.wisc.edu/. Retrieved 2016-12-14.