Information processing device, program, and information processing method
The information processing device simulates muscle fiber contraction using a finite element method to enhance the accuracy of muscle movement simulations, addressing the limitations of conventional methods and improving CG animations and facial data generation.
Patent Information
- Application Number
- JP2024108217
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-07-05
- Filing Date
- 2024-07-04
- Publication Date
- 2025-12-11
- Estimated Expiration
- 2044-07-04
AI Technical Summary
Conventional simulation methods for muscle contraction in CG simulations struggle to accurately simulate muscle movement, leading to unnatural movements, particularly in human facial animations.
An information processing device that generates a muscle model simulating the contraction of multiple muscle fibers, using a finite element method to accurately represent muscle movement, allowing for more realistic simulations of human facial movements.
The device achieves more accurate and natural simulations of human facial movements, enabling high-quality CG animations and facilitating applications such as face authentication and data generation.
Smart Images

Figure 0007784485000032 
Figure 0007784485000033 
Figure 0007784485000034
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device, a computer-readable storage medium, and an information processing method. [Background technology]
[0002] In the field of CG (Computer Graphics), simulation methods based on muscle contraction have been known (see, for example, Non-Patent Documents 1 to 6). Conventional simulation methods have used the so-called Hill-type model and the so-called CPG (Central Pattern Generator), etc. [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] Thomas Geitenbeek, Michiel van de Panne, AF vds Flexible muscle-based locomotion for bipedal creatures. ACM Transactions on Graphics, (206), 2013. [Non-patent document 2] Jack M.Wang, Samuel R.Hmner, SLVK Optimizing locomotion controllers using biologically-based actuators and objectives. ACM Trans. Graph, 31(4), 2012. [Non-patent document 3] Yoonsang Lee, Moon Seok Park, TKJL Locomotion control for many-muscle humanoids. ACM Transactions on Graphics, 33(6), 2014. [Non-patent document 4] Sehee Min, Jungdam Won, SLJPJL Softcon: simulation and control of soft-bodied animals with biomimetic actuators. ACM Transactions on Graphics, 38(6):208:1-208:12, 2019. [Non-patent document 5] Cecila Laschi, Matteo Cianchetti, BML m. MFPD Soft robot arm inspired by the octopus. Advanced Robotics, 26(7):709-727, 2012. [Non-patent document 6] Jungdam Won, Jongho Park, KKJL How to train your dragon: Example-guided control of flapping flight. ACM Transactions on Graphics, 36(4):1:1-1:12, 2017. [Brief explanation of the drawings]
[0004] [Figure 1] 1 illustrates an example of an information processing device 100. [Figure 2] 1 shows an example of the structure of an information processing device 100. [Figure 3] 10 shows an example of a flow of processing by the information processing device 100. [Figure 4] 1 shows a schematic diagram of an example of muscle fiber structure. [Figure 5] 10A and 10B show schematic diagrams of an example of fiber orientation isocurve extraction. [Figure 6] 1 shows a schematic diagram of an example of Hill's muscle function model. [Figure 7] The linearized stress-strain relationship for the parallel element is shown. [Figure 8] The linearized stress-strain relationship for the series element is shown below. [Figure 9] Figure 1 shows the force-velocity relationship of fully activated muscle tissue when the CE is at its optimal length. [Figure 10] Figure 1 shows the force-length relationship of muscle tissue resulting from an active force. [Figure 11] An example of an activation function α(t) for a given neural excitation u(t) over time (s) is shown. [Figure 12] An example of the hardware configuration of a computer 1200 that functions as the information processing device 100 is shown in schematic form. DETAILED DESCRIPTION OF THE INVENTION
[0005] The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention according to the claims. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.
[0006] 1 schematically illustrates an example of an information processing device 100. The information processing device 100 has a function of executing a simulation of skeletal muscles. Skeletal muscles may be simply referred to as muscles.
[0007] In conventional simulation techniques based on muscle contraction, for example, the most contracted and most extended states of each muscle are registered and then interpolated between them. However, with this conventional technique, it is difficult to accurately simulate muscle movement, and the resulting movements can be different from the actual movements, resulting in unnatural movements.
[0008] In contrast, the information processing device 100 according to this embodiment generates a muscle model that simulates muscle movement by simulating the contraction of multiple muscle fibers that make up the muscle. Then, for example, the information processing device 100 simulates human facial movement by simulating the movement of multiple muscles in a human face using the generated muscle model. This makes it possible to more accurately realize the muscle movement of a human face, and to realize human facial movement that is not, or is less likely to be, creepy.
[0009] The information processing device 100 may be applied to various fields. For example, the information processing device 100 generates an elaborate CG animation of a human face by simulating the movements of multiple muscles contained in the human face using a muscle model. The information processing device 100 may display the generated CG animation on a display provided in the information processing device 100. Furthermore, the information processing device 100 transmits the generated CG animation to a communication terminal 200 via a network 20, for example.
[0010] The communication terminal 200 may be any terminal capable of communication, such as a PC (Personal Computer), a tablet terminal, a smartphone, a robot, or a home appliance. The information processing device 100 and the communication terminal 200 may communicate via a network 20. The network 20 may include the Internet. The network 20 may include a LAN (Local Area Network). The network 20 may include a mobile communication network. The mobile communication network may conform to any of the following communication methods: LTE (Long Term Evolution) communication method, 5G (5th Generation) communication method, 3G (3rd Generation) communication method, and 6G (6th Generation) communication method or later.
[0011] For example, the information processing device 100 may generate synthetic data for face authentication by simulating human facial movements using a muscle model. The information processing device 100 may perform machine learning using the generated synthetic data. The information processing device 100 may transmit the generated synthetic data to the communication terminal 200.
[0012] For example, the information processing device 100 simulates a human face using a muscle model and generates three-dimensional data of the human face including information on muscle movements.
[0013] 2 schematically illustrates an example of the functional configuration of the information processing device 100. The information processing device 100 includes a storage unit 102, a model generation unit 104, a simulation unit 106, a transmission unit 110, a display control unit 112, and a processing execution unit 114. Note that it is not essential for the information processing device 100 to include all of these units.
[0014] The storage unit 102 stores various types of information. The storage unit 102 may store information used to generate a muscle model.
[0015] The model generation unit 104 generates a muscle model that simulates the movement of human facial muscles. The model generation unit 104 generates a muscle model that simulates the movement of a plurality of muscle fibers that constitute a human facial muscle by simulating the contraction of the muscle fibers that constitute the muscle. The model generation unit 104 may generate a muscle model that simulates the movement of each of a plurality of muscles that constitute a human facial muscle by simulating the contraction of a plurality of muscle fibers that constitute the muscle. The model generation unit 104 stores the generated muscle model in the storage unit 102.
[0016] Each of the multiple parts that make up a human face has one or more muscles, such as the mouth muscles, nose muscles, cranium and neck muscles, external ear muscles, and eyelid muscles. The muscles of the mouth include the orbicularis oris muscle, risorius muscle, buccinator muscle, levator labii superioris, depressor labii inferioris, levator labii nasalis superioris, mentalis muscle, levator angle oris, depressor angle oris, zygomaticus major, and zygomaticus minor. The muscles of the nose include the nasal muscles and procerus muscles. The muscles of the skull and neck include the occipitofrontalis muscle and platysma muscle. The muscles of the ear include the auricular muscles. The muscles of the eyelid include the Orbicularis oculi muscle and the Corrugator supercilii muscle.
[0017] The model generation unit 104 may simulate the contraction of multiple muscle fibers that constitute each of multiple muscles that constitute a part of the human face. For example, the model generation unit 104 generates a muscle model that can simulate the movement of the orbicularis oris muscle by simulating the contraction of multiple muscle fibers that constitute the orbicularis oris muscle.
[0018] The model generation unit 104 may further divide each of the multiple muscles that make up a part of the human face into smaller parts and simulate the contraction of the multiple muscle fibers that make up the muscle for each divided muscle. For example, the model generation unit 104 divides the orbicularis oris muscle into multiple parts and simulates the contraction of the multiple muscle fibers that make up the muscle for each divided muscle.
[0019] The model generation unit 104 may generate the muscle model using the finite element method, which makes it possible to appropriately simulate the movement of a muscle that contracts as a whole as a result of the contraction of multiple muscle fibers.
[0020] The storage unit 102 may store muscle shape data indicating the shape of muscles in a human face, which is used to perform a simulation using a finite element method. The muscle shape data may be generated, for example, by using MRI (Magnetic Resonance Imaging). The muscle shape data may also be generated, for example, by using CT (Computed Tomography). The muscle shape data may be an existing model, such as a Zygote model for humans.
[0021] If the muscle shape data is in a format that can be processed by the model generation unit 104, the model generation unit 104 may generate a muscle model using the muscle shape data as is. If the muscle shape data is not in a format that can be processed by the model generation unit 104, the model generation unit 104 may convert the muscle shape data into a format that can be processed, and then generate a muscle model.
[0022] The model generation unit 104 may generate a muscle model that simulates the contraction of multiple muscle fibers by, for example, calculating an approximate solution of an equation that describes the contraction of multiple muscle fibers that make up the muscles of a human face using the finite element method. As a specific example, the model generation unit 104 generates a muscle model based on a so-called Hill-type model that consists of three elements: CE (Contractile), SE (Series), and PE (Parallel).
[0023] The model generation unit 104 may divide the muscle fibers constituting the muscles of the human face into multiple groups, and for some of the groups, generate a muscle model that simulates the contraction of each of the muscle fibers included in the group. For some of the groups, the model generation unit 104 may generate a muscle model that simulates the contraction of each of all muscle fibers included in the group. For other groups, the model generation unit 104 may generate a muscle model that simulates the contraction of only some of the muscle fibers included in the group. For other groups, the model generation unit 104 may generate a muscle model that simulates the contraction of all of the muscle fibers included in the group. In this way, by dividing the muscle fibers constituting the muscles of the human face into multiple groups and providing functions to simulate the contraction of each of the muscle fibers included in the group, the contraction of only some of the muscle fibers, or the contraction of all of the muscle fibers included in the group, depending on the group, it is possible to perform simulations according to load. For example, if simulating the contraction of each and every muscle fiber takes months or years of calculation time, it is possible to reduce the calculation time while maintaining as much accuracy as possible by thinning out or calculating the less important muscle fibers among the multiple muscle fibers as a whole.
[0024] For example, the model generation unit 104 may divide the muscle fibers that make up the muscles of a human face into multiple groups in descending order of their influence on muscle movement. The model generation unit 104 may generate the muscle model that simulates the contraction of each of the muscle fibers included in the group that has the greatest influence on muscle movement among the multiple groups. The model generation unit 104 may decrease the proportion of the muscle fibers whose contractions are to be simulated as the influence on muscle movement decreases among the multiple groups. This allows accurate simulation of muscle fibers that have a large influence on muscle movement while thinning out processing for muscle fibers with a small influence, thereby appropriately reducing the processing load.
[0025] The model generation unit 104 may generate a muscle model that simulates the contraction of each of the muscle fibers located at the boundary with the outside of the muscle among the multiple muscle fibers that make up the muscles of the human face, and simulates the contraction of only some of the multiple muscle fibers located outside the boundary. For example, the model generation unit 104 generates a muscle model that simulates the contraction of all of the multiple muscle fibers located at the boundary with the outside of the muscle. Muscle fibers located at the boundary with the outside of the muscle often have a greater impact on muscle movement than muscle fibers located outside the boundary. Therefore, by accurately simulating muscle fibers that have a greater impact on muscle movement while thinning out processing for muscle fibers that have a lesser impact, the processing load can be appropriately reduced.
[0026] The model generation unit 104 may generate a muscle model that simulates the contraction of each of the muscle fibers with a higher degree of freedom among the muscle fibers that make up the muscles of the human face, and simulates the contraction of only a portion of the muscle fibers with a lower degree of freedom. Muscle fibers with a higher degree of freedom are considered to have a greater influence on muscle movement than muscle fibers with a lower degree of freedom. Therefore, by accurately simulating muscle fibers that have a greater influence on muscle movement and thinning out processing for muscle fibers with a smaller influence, the processing load can be appropriately reduced.
[0027] The simulating unit 106 uses the muscle model stored in the storage unit 102 to simulate the movements of a plurality of muscles contained in the human face, thereby simulating the movements of the human face.
[0028] The simulating unit 106 simulates the movement of the muscles in the entire human face by, for example, using a muscle model that simulates the movement of the muscles in the entire human face, thereby simulating the movement of the muscles in the entire human face.
[0029] The simulator 106 may generate various data by simulating the movements of a human face. The simulator 106 stores the generated data in the storage unit 102.
[0030] For example, the simulator 106 generates a CG animation of a human face by simulating the movements of multiple muscles included in the human face using a muscle model. For example, the simulator 106 generates synthetic data for face authentication by simulating the movements of the human face using a muscle model.
[0031] For example, the simulator 106 uses a muscle model to simulate the movement of some or all of the facial muscles of a person, and generates three-dimensional data of some or all of a person's face including information on the muscle movement.
[0032] The transmitting unit 110 transmits data stored in the storage unit 102 to an external device. The transmitting unit 110 transmits, for example, a muscle model generated by the model generating unit 104 to the communication terminal 200 or the like. The transmitting unit 110 transmits, for example, a CG animation generated by the simulating unit 106 to the communication terminal 200 or the like. The transmitting unit 110 transmits, for example, three-dimensional data of a human face including information on muscle movement generated by the simulating unit 106 to the communication terminal 200 or the like.
[0033] The display control unit 112 displays the data stored in the storage unit 102 on a display included in the information processing device 100. The display control unit 112 displays, for example, a CG animation generated by the simulation unit 106 on a display included in the information processing device 100.
[0034] The processing execution unit 114 executes processing using the data stored in the storage unit 102. The processing execution unit 114 executes machine learning using synthetic data generated by the simulation unit 106, for example.
[0035] 3 schematically illustrates an example of the flow of processing by the information processing device 100. Here, the flow of processing will be described when the information processing device 100 generates a muscle model of a human face and generates a CG animation in which the human face changes in various ways.
[0036] In step (sometimes abbreviated as S) 102, the model generation unit 104 acquires data to be used for generating a muscle model from the storage unit 102. The model generation unit 104 may acquire muscle shape data that indicates the shape of the muscles in the face of the target human being.
[0037] In S104, the model generation unit 104 uses the data acquired in S102 to generate a muscle model that simulates the movement of the facial muscles of the human being by simulating the contraction of multiple muscle fibers that make up the facial muscles of the human being.
[0038] In S106, the simulation unit 106 uses the muscle model generated by the model generation unit 104 in S104 to simulate the movements of multiple muscles in a human face, thereby simulating the movements of the human face and generating CG animation in which the human face changes in various ways. In S108, the display control unit 112 displays and outputs the CG animation generated by the simulation unit 106 in S106.
[0039] A specific example of the processing performed by the information processing device 100 will be described below.
[0040] FIG. 4 shows a schematic diagram of an example of muscle fiber structure.
[0041] Skeletal muscle is voluntary because it contracts and relaxes consciously (unlike smooth muscle, which contracts involuntarily, as cardiac muscle does). Some of the primary functions of skeletal muscle tissue are to induce movement, provide stability, and move material within the body. As shown in Figure 4, when viewed at different magnification levels, skeletal muscle exhibits a hierarchical structure. A muscle fiber 300 includes myofibrils 302, myofilaments 304, sarcolemma 306, and sarcoplasm 308.
[0042] At the largest scale, muscles are made up of many bundles of muscle fascicles. These are made up of long, cylindrical cells, or myofibers. Muscle fibers are made up of many force-producing cells known as sarcomeres. Sarcomeres are the basic contractile (CE) portion of muscle tissue. Myofibrils are made up of large numbers of sarcomeres arranged in series and parallel to one another. Groups of parallel-arranged myofibrils make up a muscle fiber. This repetitive nature of muscle tissue structure suggests that muscles are ultimately enlarged versions of sarcomeres in terms of mechanical behavior.
[0043] Isotonic contraction occurs when a muscle changes length under an applied load. Isotonic contraction can be either concentric or eccentric. In a concentric contraction, the tension in the muscle exceeds the resistance, causing the muscle to shorten. In an eccentric contraction, the tension in the muscle that develops is less than the resistance, causing the muscle to lengthen.
[0044] Isometric contraction occurs when a muscle does not or cannot change length, but the load on the muscle is increased. An example of this is holding a weighted object in a fixed position. The load causes a stretch, which the muscle counteracts by contracting, experiencing an increased tension. There is no movement, yet energy is expended to maintain the increased tension in the muscle. Most movements of the body use a combination of isotonic and isometric contractions.
[0045] For example, the facial muscles (facial muscles) are a group of approximately 20 flat skeletal muscles underlying the facial skin and scalp. Most of them arise from the bony or fibrous structures of the skull. With the exception of the buccinator, facial muscles are not surrounded by fascia. These muscles are classified into several groups: the muscles of the mouth (buccolilabial group), the muscles of the nose (nasal group), the muscles of the skull and neck (cranial group), the muscles of the external ear (auricular group), and the muscles of the eyelids (orbital group). The specific location and connections of facial muscles enable them to produce facial movements such as smiling, grinning, and frowning. Facial muscles are called muscles of expression or facial muscles. All facial muscles are innervated by the facial nerve (CN VII) and vascularized by the facial artery.
[0046] Most of the muscles of the mouth are connected by a fibromuscular hub into which their fibers are inserted. This structure, called the modiolus, is located at the corners of the mouth and is primarily formed by the buccinator, orbicularis oris, smirk, depressor anguli oris, and zygomaticus major muscles. For example, the muscles of the mouth include the orbicularis oris, smirk, buccinator, levator labii superioris, depressor labii inferioris, levator labii alaris naris superioris, mentalis, levator anguli oris, depressor anguli oris, zygomaticus major, and zygomaticus minor muscles. For example, the muscles of the nose include the nasal and proximal muscles. For example, the muscles of the eyelid include the orbicularis oculi and corrugator supercilii. For example, the muscles of the skull and neck include the occipitofrontalis and platysma. For example, the muscles of the outer ear include the auricularis.
[0047] For a good finite element simulation, it is necessary to accurately represent the underlying geometry. One way to obtain accurate muscle geometry is to use MRI / CT scans. Another way is to use muscle anatomy, which is not applicable to in vivo testing. Our geometry is based on the Zygote model of human anatomy. The Zygote model provides a highly accurate anatomical model of all the muscles and bones of the human body. This includes both male and female anatomical models.
[0048] The zygote model was provided in mesh format (.obj), which is not suitable for finite element applications. For the finite element method to work, the geometry had to be converted to solid format. To convert the mesh to solid, software called Rhinoceros was utilized. Rhinoceros was selected based on its ability to handle NURBS, which is necessary when dealing with highly complex geometry such as facial muscles. After converting the mesh to solid, software called GMSH was utilized to generate the finite element mesh.
[0049] FEM Mesh: One of the most important aspects in FEM simulation is generating a smooth mesh. Since the geometry was provided from external CAD software, it was necessary to use third-party software. GMSH is a lightweight mesh generation software that can be used to create tetrahedral and hexahedral meshes. The use of a tetrahedral mesh was essential to deal with the highly complex geometry and to create a smooth mesh well suited for FEM simulation.
[0050] Fiber Orientation: In contrast to other biological tissues, muscles exhibit the ability of active contraction, and when activated, they contract along the fiber direction. In FEM simulations, it is difficult to define the fiber orientation configuration due to the complex geometry. Since we use B-spline solids for muscle geometry representation, we utilized isocurve extraction using Rhinoceros. The fiber orientation is then determined as the tangent to the isocurve at the quadrature points.
[0051] In order to use isocurves to describe the fiber orientation, a parameterization of these curves had to be performed, which was made possible using the Cox-de Boor recursion relation.
number
[0052] Figure 5 shows a schematic example of fiber orientation isocurve extraction.
[0053] For linearized muscle models of skeletal muscle, a powerful tool for finding good approximate numerical solutions to the equations describing muscle contraction is the finite element method. This method converts partial differential equations into a finite set of algebraic equations. This is achieved by using equivalent polynomials of the partial differential equations (e.g., by using a weighted residual formulation) and an appropriate spatiotemporal discretization.
[0054] Numerical models of muscles date back to the experimental work of Hill in 1938. The traditional Hill muscle model consists of three components: contractile (CE), series (SE), and parallel (PE) elements. Figure 6 shows a schematic diagram of an example of Hill's muscle function model.
[0055] Muscles are made up of over 70% water and behave almost incompressible. The total stress in a muscle is the sum of the matrix and muscle fiber stresses in each muscle group present: σ=σ m+σ f (1) σ f is the stress in the fiber, and σ m is the stress in the matrix surrounding the fiber, where σ m is given by:
number
number
[0056] For this study, a linearized muscle model based on the classical Hill muscle model (nonlinear) is used: The tension (in the direction of the fiber) of a one-dimensional longitudinal muscle is the sum of the stresses in the SE and PE, i.e. T=T p +T s (3)
[0057] The tension at CE is equal to the tension at SE, T c =T s (4) is.
[0058] Generally speaking, extension is related to strain. λ=1+ε (5)
[0059] For small strains,
number
number
[0060] Strain ε in muscle fibersf is given by: ε f =m·εm (7)
[0061] Fiber extension λ f is the extension of CE and SE, λ c and λ s is assumed to be multiplicatively divided into λ f =λ s λ c (8) This becomes:
[0062] The initial fiber length is L0, and the deformed fiber length due to muscle contraction is L c , and the final length due to the elastic deformation of the fiber is L, then the extension is defined as follows:
number
[0063] Multiplicative partitioning of stretch has advantages over additive partitioning methods commonly used in biomechanics because it does not require information about the initial fiber length distribution between CE and SE.
[0064] Now, using equation (5), we can rewrite the multiplicative division equation (8) as follows: λ f =1+ε s +ε c +Higher order terms (10)
[0065] where it is assumed that for small strains, the higher order terms are insignificant. Rearranging the terms in (10) and considering (5) yields a formulation for the SE and CE strains in terms of the fiber strains:
number
number
[0066] The stress at PE is given by: T p (ε f )=T0f p (ε f ) (13)
[0067] f p Linearization of gives: ε f >0 when f p (ε f )=m p ε f , and 0 otherwise (14)
[0068] The resulting linearized stress-strain relationship for PE can be seen in Figure 7, where m p =2aA, ε f >0, and T0 and A are material parameters.
[0069] The stress in the SE is given by: T s (ε f ,ε c )=T0f s (ε f ,ε c ) (15)
[0070] Using the Taylor expansion and keeping in mind the small displacement x,
number
[0071] The resulting linearized stress-strain relationship for SE can be seen in Figure 8, where m s =10 is the slope of the line.
[0072] 7 and 8 show the linearized stress-strain relationships for the parallel element (FIG. 7) and the series element (FIG. 8).
[0073] The stress in the CE is given by:
number
[0074] By using (5) and (12),
number
number
number
number
[0075] The resulting linearized stress vs. strain and stress vs. strain rate relationships for the CE can be seen in Figures 9 and 10. Figure 9 shows the force-velocity relationship for fully activated muscle tissue when the CE is at its optimal length. Figure 10 shows the force-length relationship for muscle tissue resulting from active force. The solid lines in each of Figures 9 and 10 show the linearized function used for the linearized muscle model, superimposed on the original nonlinear function shown in dashed line.
[0076] Muscle Activation Function The time-dependent muscle activation function shown in Fig. 9 is given by the solution to the following first-order differential equation.
Equation
[0077] Fig. 11 shows an example of the activation function α(t) with respect to time (s) for a given neural excitation u(t).
[0078] The backward Euler method is an implicit method that uses the current and previous states of the system to find the solution at the current state. Using this method, the activation rate in (20) can be approximated as follows.
Equation
Equation
[0079] This implicit method allows the activation level at the current time increment to be determined based on the activation level at the previous time increment. In this way, the activation function can be computationally addressed.
[0080] The parameters of the linearized muscle model constitutive equation were obtained from multiaxial test data for the study (Humphrey JD, Yin FCP. On constitutive relations and finite deformations of passive cardiac tissue: I. a pseudo-strain-energy function. Journal of Biomechanical Engineering 1987; 109:298-304) and are given as follows: c=3.87gf / cm 2 ,b=23.46,A=8.568×10 -4 gf / cm 2 ,a=12.43
[0081] Also, the activation stress constant is selected as follows: T0=6280gf / cm 2 (twenty four)
[0082] It can be shown that the shear modulus is related to Young's modulus as follows:
number
[0083] Using the parameters b and c, the relationship between Young's modulus and Poisson's ratio is given as follows: E=2(1+v)bc (26)
[0084] Therefore, for a chosen Poisson's ratio v=0.45, Young's modulus is given by:
number
[0085] Finite element approximation The boundary value, weak form equilibrium equations for the linearized muscle model are given as follows:
number
[0086] Expanding equation (3) using the relationships in (4) and (6) gives:
number
[0087] The CE stress should be equal to the SE stress, i.e.: σ c =σ s (31)
[0088] Expanding the stress functions for the CE and SE elements for each fiber gives:
number
[0089] CE strain rate using the backward Euler method
number
number
number
number
[0090] Combining (32) and (33), the current CE strain in the fiber is then given by:
number
number
number
[0091] Substituting (34) into (28) gives:
number
[0092] The weak form of the equilibrium equations in (27) together with equation (36) will be solved using FEM.
[0093] Applying (27) to (36) to the simultaneous linear equations,
number
[0094] 12 schematically illustrates an example of the hardware configuration of a computer 1200 functioning as the information processing device 100. A program installed on the computer 1200 can cause the computer 1200 to function as one or more "units" of an apparatus according to the present embodiment, or can cause the computer 1200 to execute operations associated with the apparatus according to the present embodiment or one or more "units," and / or can cause the computer 1200 to execute a process according to the present embodiment or steps of the process. Such a program can be executed by the CPU 1212 to cause the computer 1200 to perform specific operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.
[0095] The computer 1200 according to this embodiment includes a CPU 1212, a RAM 1214, and a graphics controller 1216, which are interconnected by a host controller 1210. The computer 1200 also includes input / output units such as a communications interface 1222, a storage device 1224, a DVD drive, and an IC card drive, which are connected to the host controller 1210 via an input / output controller 1220. The DVD drive may be a DVD-ROM drive, a DVD-RAM drive, or the like. The storage device 1224 may be a hard disk drive, a solid-state drive, or the like. The computer 1200 also includes a ROM 1230 and legacy input / output units such as a keyboard, which are connected to the input / output controller 1220 via an input / output chip 1240.
[0096] The CPU 1212 operates according to programs stored in the ROM 1230 and the RAM 1214, thereby controlling each unit. The graphics controller 1216 acquires image data generated by the CPU 1212 into a frame buffer or the like provided in the RAM 1214 or into the graphics controller itself, and causes the image data to be displayed on the display device 1218.
[0097] The communication interface 1222 communicates with other electronic devices via a network. The storage device 1224 stores programs and data used by the CPU 1212 in the computer 1200. The DVD drive reads programs or data from a DVD-ROM or the like and provides them to the storage device 1224. The IC card drive reads programs and data from an IC card and / or writes programs and data to an IC card.
[0098] The ROM 1230 stores therein a boot program or the like that is executed by the computer 1200 upon activation, and / or programs that depend on the hardware of the computer 1200. The input / output chip 1240 may also connect various input / output units to the input / output controller 1220 via a USB port, a parallel port, a serial port, a keyboard port, a mouse port, etc.
[0099] The programs are provided by a computer-readable storage medium such as a DVD-ROM or an IC card. The programs are read from the computer-readable storage medium, installed in the storage device 1224, RAM 1214, or ROM 1230, which are also examples of computer-readable storage media, and executed by the CPU 1212. Information processing described in these programs is read by the computer 1200, and causes cooperation between the programs and the various types of hardware resources described above. An apparatus or method may be configured by implementing operations or processing of information in accordance with the use of the computer 1200.
[0100] For example, when communication is performed between the computer 1200 and an external device, the CPU 1212 may execute a communication program loaded into the RAM 1214 and instruct the communication interface 1222 to perform communication processing based on the processing described in the communication program. Under the control of the CPU 1212, the communication interface 1222 reads transmission data stored in a transmission buffer area provided in the RAM 1214, the storage device 1224, a DVD-ROM, or a recording medium such as an IC card, and transmits the read transmission data to the network, or writes reception data received from the network to a reception buffer area or the like provided on the recording medium.
[0101] Furthermore, the CPU 1212 may cause all or a necessary portion of a file or database stored in an external recording medium such as the storage device 1224, a DVD drive (DVD-ROM), an IC card, etc. to be read into the RAM 1214, and may perform various types of processing on the data on the RAM 1214. The CPU 1212 may then write back the processed data to the external recording medium.
[0102] Various types of information, such as various types of programs, data, tables, and databases, may be stored on the recording medium and may undergo information processing. The CPU 1212 may perform various types of processing on data read from the RAM 1214, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc., as described throughout this disclosure and specified by the instruction sequences of the programs, and write the results back to the RAM 1214. The CPU 1212 may also search for information in a file, database, etc. on the recording medium. For example, if multiple entries, each having an attribute value of a first attribute associated with an attribute value of a second attribute, are stored on the recording medium, the CPU 1212 may search for an entry whose attribute value of the first attribute matches a specified condition from among the multiple entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.
[0103] The above-described programs or software modules may be stored in a computer-readable storage medium on or near the computer 1200. A recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can also be used as a computer-readable storage medium, thereby providing the programs to the computer 1200 via the network.
[0104] The blocks in the flowcharts and block diagrams in the present embodiments may represent stages of a process in which an operation is performed or "parts" of an apparatus responsible for performing the operation. Particular stages and "parts" may be implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable storage medium, and / or a processor provided with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuitry may include digital and / or analog hardware circuits, including integrated circuits (ICs) and / or discrete circuits. The programmable circuitry may include reconfigurable hardware circuits, such as field programmable gate arrays (FPGAs) and programmable logic arrays (PLAs), including AND, OR, XOR, NAND, NOR, and other logical operations, flip-flops, registers, and memory elements.
[0105] A computer-readable storage medium may include any tangible device capable of storing instructions that are executed by an appropriate device, such that a computer-readable storage medium having instructions stored thereon comprises an article of manufacture, including instructions that can be executed to create means for performing the operations specified in the flowcharts or block diagrams. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, etc. More specific examples of computer-readable storage media may include floppy disks, diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), electrically erasable programmable read-only memory (EEPROM), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc, memory stick, integrated circuit card, etc.
[0106] The computer readable instructions may include either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, JAVA®, C++, etc., and conventional procedural programming languages such as the “C” programming language or similar programming languages.
[0107] Computer-readable instructions may be provided locally or over a wide area network (WAN) such as a local area network (LAN), the Internet, etc. to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, or programmable circuitry, such that the processor or programmable circuitry executes the computer-readable instructions to generate means for performing the operations specified in the flowcharts or block diagrams. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.
[0108] Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the claims that such modifications and improvements can also be included within the technical scope of the present invention.
[0109] It should be noted that the execution order of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before," "prior to," etc., and that the processes can be performed in any order unless the output of a previous process is used in a later process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, this does not mean that the processes must be performed in this order.
[0110] Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the claims that such modifications and improvements can also be included within the technical scope of the present invention.
[0111] It should be noted that the execution order of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before," "prior to," etc., and that the processes can be performed in any order unless the output of a previous process is used in a later process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, this does not mean that the processes must be performed in this order. [Explanation of symbols]
[0112] 20 network, 100 information processing device, 102 memory unit, 104 model generation unit, 106 simulation unit, 110 transmission unit, 112 display control unit, 114 processing execution unit, 200 communication terminal, 300 muscle fiber, 302 myofibril, 304 myofilament, 306 sarcolemma, 308 sarcoplasm, 1200 computer, 1210 host controller, 1212 CPU, 1214 RAM, 1216 graphics controller, 1218 display device, 1220 input / output controller, 1222 communication interface, 1224 storage device, 1230 ROM, 1240 input / output chip
Claims
1. a model generation unit that generates a muscle model that simulates the movement of a muscle by simulating the contraction of a plurality of muscle fibers that constitute the muscle, the model generation unit dividing the plurality of muscle fibers that constitute the muscle into a plurality of groups in descending order of the influence that the muscle fibers have on the movement of the muscle, and generating the muscle model that simulates the contraction of each of the plurality of muscle fibers included in the group that has the greatest influence on the movement of the muscle among the plurality of groups; a simulation unit that uses the muscle model to simulate the movements of a plurality of muscles included in a human face, thereby simulating the movements of the human face; An information processing device comprising:
2. The information processing device according to claim 1 , wherein the model generation unit generates the muscle model using a finite element method.
3. The information processing device according to claim 1 , wherein the model generation unit generates the muscle model for some of the groups, the muscle model simulating contraction of only some of the muscle fibers included in the group.
4. The information processing device according to claim 1 , wherein the model generation unit generates the muscle model for some of the groups, the muscle model simulating contraction of a plurality of muscle fibers included in the group as a whole.
5. 2. The information processing device according to claim 1, wherein the model generation unit simulates the contraction of each of the muscle fibers that constitute the muscle and are located at the boundary with the outside of the muscle, and generates the muscle model that simulates the contraction of only a portion of the muscle fibers that are located outside the boundary.
6. 2. The information processing device according to claim 1, wherein the model generation unit generates the muscle model by simulating the contraction of each of the muscle fibers having a higher degree of freedom among the muscle fibers constituting the muscle, and simulating the contraction of only a portion of the muscle fibers having a lower degree of freedom.
7. Computer, a model generation unit that generates a muscle model that simulates the movement of a muscle by simulating the contraction of a plurality of muscle fibers that constitute the muscle, the model generation unit dividing the muscle fibers that constitute the muscle into a plurality of groups in descending order of the influence that the muscle fibers have on the movement of the muscle, and generating the muscle model that simulates the contraction of each of the muscle fibers included in the group that has the greatest influence on the movement of the muscle among the plurality of groups; and a simulating unit that uses the muscle model to simulate the movements of a plurality of muscles included in a human face, thereby simulating the movements of the human face; A program to function as a
8. 1. A computer-implemented information processing method, comprising: a model generation step of generating a muscle model that simulates the movement of a muscle by simulating the contraction of a plurality of muscle fibers that constitute the muscle, wherein the plurality of muscle fibers that constitute the muscle are divided into a plurality of groups in descending order of the influence that the muscle has on the movement of the muscle, and the muscle model is generated that simulates the contraction of each of the plurality of muscle fibers included in the group that has the greatest influence on the movement of the muscle among the plurality of groups; a simulating step of simulating a movement of a plurality of muscles included in a human face using the muscle model, thereby simulating a movement of the human face; An information processing method comprising:
Citation Information
Patent Citations
Human body electromyographic signal direct-drive joint torque mapping method
CN114227673A
Three-dimensional model system and computer program
JP2003196678A
Analysis using three-dimensional facial image
JP2004038918A
Simulation system using human body model including muscle
JP2004078698A
how to animate a face
JP2004504679A