Three-dimensional Proxies for Hand-drawn Characters 1 1 2 1,2 Eakta Jain Yaser Sheikh Moshe Mahler Jessica Hodgins 1 Carnegie Mellon University 2 Disney Research Pittsburgh 1 Monday, September 3, 2012 Hand-drawn animation 3D CG animation 2 Monday, September 3, 2012 Hand-drawn animation 3D CG animation 2 Monday, September 3, 2012 Differences between hand animation and computer animation Hand animator’s workdesk 3 Monday, September 3, 2012 Differences between hand animation and computer animation 3D animation software Hand animator’s workdesk 3 Monday, September 3, 2012 Input 4 Monday, September 3, 2012 Input 4 Monday, September 3, 2012 5 Monday, September 3, 2012 5 Monday, September 3, 2012 Hand-drawn character 3D proxy 6 Monday, September 3, 2012 Geometry Motion Hand-drawn character 3D proxy 6 Monday, September 3, 2012 Challenge: Inferring third dimension Possible 3D points 2D points Camera center Image plane 7 Monday, September 3, 2012 Challenge: Composite motion ambiguity 8 Monday, September 3, 2012 Challenge: Composite motion ambiguity 8 Monday, September 3, 2012 Challenge: Composite motion ambiguity Character turns, camera in place 8 Monday, September 3, 2012 Challenge: Composite motion ambiguity Character turns, camera in place Camera turns, character in place 8 Monday, September 3, 2012 Challenge: Artistic license Frame #1 Frame #40 9 Monday, September 3, 2012 Challenge: Artistic license Frame #1 Frame #40 9 Monday, September 3, 2012 Challenge: Artistic license Frame #1 Frame #40 9 Monday, September 3, 2012 Challenge: Artistic license Frame #1 Frame #40 9 Monday, September 3, 2012 Overlaid Challenge: Artistic license Frame #1 Frame #40 9 Monday, September 3, 2012 Overlaid Three-dimensional proxies with different levels of detail Single points (3D markers) 3D Polygonal shapes 10 Monday, September 3, 2012 Joint hierarchy based skeleton Three-dimensional proxies with different levels of detail Single points (3D markers) 3D Polygonal shapes 10 Monday, September 3, 2012 Joint hierarchy based skeleton Past work (e)(b) Warped model Final in frame 3-D model (c)(f)Edges model art (e) Warped model et al. Li et al.(f) Final fram Petrovic et al.(d) Edges inDavis Correa et al. ating one texture mapped frame. Figure 2: The process of creating one texture mapped frame. (2003) (2000) (1998) (2003) (d)Hand-drawn Edges in artart (a) Figure 14: Motion of walking cartoon character retargeted to 3 model Figure Tracking Baloo’s dance and retargeting a flower. used later as the input to the warp. Sectio edges can be usedexisting later asproduction the input topipeline the warp. Section Our method fitssafely into the for11: cel ani-of4.4 edges can beto safely c �Disney shows[6, how to specify theand edges 2-D drawing that correspond mation 18]. Steps (a) (f) on arethe stages in the current digital shows how to specify the edges on the 2-D drawing that corres to the edges foundwith on the model. stage between them. We production process, the 3-D ink-and-paint to the edges found on the 3-D model. are offering, as an alternative to the constant colors of the ink-andpaint stage, a process that applies complex textures to the drawings. 4.1 Silhouette Detection 4.1 Silhouette Detection The problem of applying textures to hand-drawn artwork poses a challenge: the line must be interpreted somevisible kind ofsilhouette shape. Figure a 15:scheme Motion of jumping character retargeted to 3Dsilho mode In this section we art describe a scheme for as finding In this section we describe for finding visible 12: acquire Broom Retargeting Sequence. (The source is not shown Given set of black paper, the computer must and aborder edges lines in a on 3-Dwhite model represented by aFigure polygon mesh. and edges inin a 3-D model represented by a polygon m here – It is the famous sequence from the border Sorcerer’s Apprentice 9, we show some of the key poses. Disney’s at These least a features primitiveare model 3-D formstoconveyed by the handart. likelyfortothe correspond features in Fantasia) the These features are likely to correspond to features in the Figure 14 shows some final rendered frames in the retarget This information necessary if we are to 3-D effects forthe sequence. Again, please consult for more information. drawn line art; is such correspondences areprovide the primary input to drawn line art; such correspondences are the thevideo primary input In the next example, we capture a cartoon character jumping in single line running through the character, that represents the overthewarp texture such as self-occlusion and foreshortening. (See, for we describe in Section 5. We also allow thealluser to specify warp we describe in Section We for also allow theanduser way that is 5. impossible an average human, retargetto ontosp t force and direction of each drawing. Generally, before drawing same 3D model. Again, contour capture is used to estimate the m example, the difference in occlusion betweenonFigures and 2ebut oranimator the2b full character, an in the line-of-action helpdrawing them directly on the 3-D model, model markers by drawing them directly the 3-D model, it draws model markerstoby tion parameters. Figure 15 shows some frames from the retarget determine the position of the character. By simply changing the thewould foreshortening shown to in have Figure Note all thatmodel withline-of-action the constant 11 sequence. be cumbersome to7.) specify marker curves would be cumbersome to have to specify all model marker c – making it more curved, sloped or arched in a difThe video shows all results for the different target media. Our e ferenteffects direction – the essence of the drawing can be changed. colors of theThus, traditional ink-and-paintconstruct stage, these 3-D areentire this way. we automatically model markers for all this way. Thus, we automatically markers f periments in cartoonconstruct capture providemodel an opportunity to test the ca Monday, September 3, 2012 We experiment with using the line-of-action as the source in order Johnston (2002) Bregler et al. (2002) User Input Virtual markers Limb bounding boxes Color coded body parts 12 Monday, September 3, 2012 User Input Virtual markers Limb bounding boxes Color coded Motion capture segment with body parts similar depth information, time-warped via Dynamic Time Warping 12 Monday, September 3, 2012 Camera Estimation 3D points Motion capture poses Estimated camera Image plane Hand drawings Monday, September 3, 2012 3D points Back-projected rays 2D points z-depth Image plane Estimated camera 14 Monday, September 3, 2012 arg min(ea (x) + em (x) + es (x)) x 3D points Back-projected rays 2D points z-depth Image plane Estimated camera 14 Monday, September 3, 2012 arg min(ea (x) + em (x) + es (x)) x input-matching 3D points Back-projected rays 2D points z-depth Image plane Estimated camera 14 Monday, September 3, 2012 arg min(ea (x) + em (x) + es (x)) x input-matching depth prior 3D points Back-projected rays 2D points z-depth Image plane Estimated camera 14 Monday, September 3, 2012 arg min(ea (x) + em (x) + es (x)) x input-matching depth prior smoothing term 3D points Back-projected rays 2D points z-depth Image plane Estimated camera 14 Monday, September 3, 2012 arg min(ea (x) + em (x) + es (x)) x input-matching depth prior smoothing term Linear system: least squares solution 3D points Back-projected rays 2D points z-depth Image plane Estimated camera 14 Monday, September 3, 2012 arg min(ea (x) + em (x) + es (x)) x input-matching depth prior smoothing term Linear system: least squares solution 3D points Back-projected rays 2D points z-depth Image plane Estimated camera 14 Monday, September 3, 2012 arg min(ea (x) + em (x) + es (x)) x input-matching depth prior smoothing term Linear system: least squares solution 3D points Back-projected rays 2D points z-depth Image plane Estimated camera 14 Monday, September 3, 2012 arg min(ea (x) + em (x) + es (x)) x input-matching depth prior smoothing term Linear system: least squares solution 3D points Back-projected rays 2D points z-depth Image plane Estimated camera 14 Monday, September 3, 2012 arg min(ea (x) + em (x) + es (x)) x input-matching depth prior smoothing term Linear system: least squares solution 3D points Back-projected rays 2D points z-depth Image plane Estimated camera 14 Monday, September 3, 2012 arg min(ea (x) + em (x) + es (x)) x input-matching depth prior smoothing term Linear system: least squares solution 3D points Back-projected rays 2D points z-depth Image plane Estimated camera 14 Monday, September 3, 2012 arg min(ea (x) + em (x) + es (x)) x input-matching depth prior smoothing term Linear system: least squares solution 3D points Back-projected rays 2D points z-depth Image plane Estimated camera 14 Monday, September 3, 2012 Depth compositing Rendered image 15 Monday, September 3, 2012 Depth compositing Rendered image Depth map for rendered image 15 Monday, September 3, 2012 Depth compositing Rendered image Depth map for rendered image Depth map for hand drawing 15 Monday, September 3, 2012 Depth compositing Rendered image Depth map for rendered image Depth map for hand drawing Composited frame 15 Monday, September 3, 2012 16 Monday, September 3, 2012 16 Monday, September 3, 2012 17 Monday, September 3, 2012 17 Monday, September 3, 2012 18 Monday, September 3, 2012 18 Monday, September 3, 2012 19 Monday, September 3, 2012 20 Monday, September 3, 2012 21 Monday, September 3, 2012 22 Monday, September 3, 2012 22 Monday, September 3, 2012 23 Monday, September 3, 2012 23 Monday, September 3, 2012 24 Monday, September 3, 2012 24 Monday, September 3, 2012 25 Monday, September 3, 2012 25 Monday, September 3, 2012 Summary 3D Polygonal shapes 26 Monday, September 3, 2012 Summary 3D Polygonal shapes 26 Monday, September 3, 2012 Summary 3D Joint hierarchy skeleton 3D Polygonal shapes 26 Monday, September 3, 2012 Summary 3D Joint hierarchy skeleton 3D Polygonal shapes 26 Hand animator modifies physical simulation? Monday, September 3, 2012 Summary 3D Joint hierarchy skeleton 3D Polygonal shapes 26 Hand animator modifies physical simulation? Monday, September 3, 2012 Learn cartoon physics? Extra Slides 27 Monday, September 3, 2012 Camera Estimation Camera rotation and translation ρ(i) = (θx (i), θy (i), θz (i), tx (i), ty (i), tz (i))T ∗ ρ (i) = arg min(w1 eg + w2 el + w3 eo + w4 es ) ρ 28 Monday, September 3, 2012 Camera Estimation Camera rotation and translation ρ(i) = (θx (i), θy (i), θz (i), tx (i), ty (i), tz (i))T ∗ ρ (i) = arg min(w1 eg + w2 el + w3 eo + w4 es ) ρ K/2 Geometric projection error eg = � t=−K/2 Hand drawings ||x̃i+t − proj xi+t || proj where xi+t ∼ = Mi X̃i+t Motion capture poses 28 Monday, September 3, 2012 arg min(λa ea (x) + λm em (x) + λs es (x)) x input-matching ea = ||x̃ij − proj xij smoothing term proj xij || ∼ = M i Xw ij x̃ij × Mi Xw ij = 0 w Xij Yijw CMi w =0 Zij 1 T m1 M = mT2 T m3 Monday, September 3, 2012 motion prior 29 arg min(λa ea (x) + λm em (x) + λs es (x)) x input-matching ea = ||x̃ij − proj xij proj xij || ∼ = M i Xw ij x̃ij × Mi Xw ij = 0 w Xij Yijw CMi w =0 Zij 1 T m1 M = mT2 T m3 Monday, September 3, 2012 motion prior smoothing term T − m em = ||mT3 Xw 3 X̃ij || ij T = m mT3 Xw 3 X̃ij ij 29 arg min(λa ea (x) + λm em (x) + λs es (x)) x input-matching ea = ||x̃ij − proj xij proj xij || ∼ = M i Xw ij x̃ij × Mi Xw ij = 0 w Xij Yijw CMi w =0 Zij 1 T m1 M = mT2 T m3 Monday, September 3, 2012 motion prior smoothing term T − m em = ||mT3 Xw 3 X̃ij || ij T = m mT3 Xw 3 X̃ij ij w − X es = ||Xw ij (i+1)j || � I −I � � Xw ij Xw (i+1)j � = � 0 29 � arg min(λa ea (x) + λm em (x) + λs es (x)) x input-matching ea = ||x̃ij − proj xij proj xij || ∼ = M i Xw ij x̃ij × Mi Xw ij = 0 w Xij Yijw CMi w =0 Zij 1 T m1 M = mT2 T m3 Monday, September 3, 2012 motion prior smoothing term T − m em = ||mT3 Xw 3 X̃ij || ij T = m mT3 Xw 3 X̃ij ij w − X es = ||Xw ij (i+1)j || � I −I � � Xw ij Xw (i+1)j � = � 0 WAi Xw i = bi 29 � 30 Monday, September 3, 2012 30 Monday, September 3, 2012