260 likes | 424 Views
Animating Animal Motion From Still. [1]. Presenting:. Shahar Ben Ezra Saar Nakibli. Supervisor: . Hayley Binia Wolman. Computer Graphics Lab Electrical Engineering, Technion , Israel June 2009 . [1] Xuemiao Xu , Animating Animal Motion From Still, Siggraph 2008. Project Goal.
E N D
Animating Animal Motion From Still [1] Presenting: Shahar Ben Ezra Saar Nakibli Supervisor: Hayley Binia Wolman Computer Graphics Lab Electrical Engineering, Technion, Israel June 2009 [1] XuemiaoXu , Animating Animal Motion From Still, Siggraph 2008
Project Goal • Create an animation movie by reconstructing the animal motion from a still picture Still Image Animation Movie Algorithm
Overview Distances matrix Snapshot Extraction Shape Context Descriptor Find distances Source Image snapshots Shape context descriptors 6,3,4,1,2,5 TPS Morphing Consistency Refinement Creating Animation Path Finding Animation between two snapshots Consistent snapshots Motion Path Final Movie
Overview Distances matrix Snapshot Extraction Shape Context Descriptor Find distances Source Image snapshots Shape context descriptors 6,3,4,1,2,5 TPS Morphing Consistency Refinement Creating Animation Path Finding Animation between two snapshots Consistent snapshots Motion Path Final Movie
Snapshot Extraction • Extract the snapshots using a tool called “MVP-PIE” developed at the CGM lab at the Technion. • This stage is not part of our project but it’s a necessary step in order to extract the snapshots from the source image.
Overview Distances matrix Snapshot Extraction Shape Context Descriptor Find distances Source Image snapshots Shape context descriptors 6,3,4,1,2,5 TPS Morphing Consistency Refinement Creating Animation Path Finding Animation between two snapshots Consistent snapshots Motion Path Final Movie
Shape Context (Cont.) • User Interaction: choose two anchor points that define the movement direction of the animal. • Rotate the snapshot in the angle defined by the user. • Find the contour levels of the snapshot using the Matlab Image Proccesing Toolbox. • Take the last contour level and decimate it, and display it on the XY plane.
Shape Context (Cont.) • Find the contour of the snapshot • For every point on the contour draw the circles and bins as shown • Create the “matrix descriptor “ • Invariant to translation, rotation and scale.
Overview Distances matrix Snapshot Extraction Shape Context Descriptor Find distances Source Image snapshots Shape context descriptors 6,3,4,1,2,5 TPS Morphing Consistency Refinement Creating Animation Path Finding Animation between two snapshots Consistent snapshots Motion Path Final Movie
Distance Matrix Distance between Snapshot-K and Snapshot-L: Point on snapshot K Closest point on snapshot L How do we find ? Distance between two matrix descriptors
Overview Distances matrix Snapshot Extraction Shape Context Descriptor Find distances Source Image snapshots Shape context descriptors 6,3,4,1,2,5 TPS Morphing Consistency Refinement Creating Animation Path Finding Animation between two snapshots Consistent snapshots Motion Path Final Movie
Path Finding • Find the optimal path between the snapshots using the distances matrix • Looking to find a path which minimizes the Energy function: • Local similarity: • Sampling uniformity: • Global distinction: • We use the Simulated Annealing Optimization Algorithm • Avoid “getting stuck” on a local minimum, because of the Temperature factor. • Ignore outliers that don’t belong in the motion cycle. • Ignore snapshots that are too similar to other snapshots.
Path Finding (Cont.) • Initialize a path • While (T>Limit) • Loop K times • Choose a new path length Lcurr • Generate new Path Pcurrat length Lcurr and price Ccurr • If (Ccurr – Cold) < 0 • Accept current path (trivial). Update parameters. • Else if exp{(Ccurr – Cold)/T} < rand[0,1] • Accept current path. Update parameters. • Else • Reject current path. • Decrease Temprature T = T*Annealing_Factor • End • End
Motion Cycle Full Cycle: Half Cycle:
Overview Distances matrix Snapshot Extraction Shape Context Descriptor Find distances Source Image snapshots Shape context descriptors 6,3,4,1,2,5 TPS Morphing Consistency Refinement Creating Animation Path Finding Animation between two snapshots Consistent snapshots Motion Path Final Movie
Pose Consistency • In order to create smooth and realistic animation, all the animals have to be in the same pose relative to the camera. • Affine transformation includes: • Translation • scale • rotation • All snapshots are translated relative to a pivot snapshot. Pivot
Appearance Consistency • Every snapshot has its own color and texture that can vary from one snapshot to another. • Histogram standardization of all snapshots will make the final animation look smoother. Pivot histogram:
Overview Distances matrix Snapshot Extraction Shape Context Descriptor Find distances Source Image snapshots Shape context descriptors 6,3,4,1,2,5 TPS Morphing Consistency Refinement Creating Animation Path Finding Animation between two snapshots Consistent snapshots Motion Path Final Movie
TPS Morphing • Finding animation points: • Points which are not static • during the animal motion • Morph between the source points and target points • Source Image is registered to the green points • Destination Image is registered to the red points.
Overview Distances matrix Snapshot Extraction Shape Context Descriptor Find distances Source Image snapshots Shape context descriptors 6,3,4,1,2,5 TPS Morphing Consistency Refinement Creating Animation Path Finding Animation between two snapshots Consistent snapshots Motion Path Final Movie
Creating Animation Morph three frames between two snapshots Destination 0.5 Source 0.75 0.25 0.25 0.5 0.75
Creating Animation (Cont.) • Blend the morphed frames into the background image, by the following formula: • The Threshold Value (T) was empirically found and set to T=120. T=50 T=120 T=150 T=200
Results - Turtles Input Images: Output Animation:
Results - Turtles Input Images: Output Animation:
Results - Tadpoles Input Image: Output animation: