Information processing device, program, and information processing method

The information processing device simulates muscle fiber contractions using a finite element method to enhance the accuracy of human facial movements, addressing the limitations of conventional methods and improving CG animations and face authentication.

JP2025010111AActive Publication Date: 2025-01-20SOFTBANK CORPORATION +1
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2024108217
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-05
Filing Date
2024-07-04
Publication Date
2025-01-20
Estimated Expiration
2044-07-04

AI Technical Summary

Technical Problem

Conventional muscle contraction simulation methods struggle to accurately simulate human facial movements, often resulting in eerie or unrealistic animations.

Method used

An information processing device that generates a muscle model by simulating the contraction of multiple muscle fibers, using a finite element method to accurately represent muscle movements, particularly for human facial simulations.

Benefits of technology

The device achieves more realistic and accurate simulations of human facial movements, enabling high-quality CG animations and improved face authentication through precise muscle modeling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025010111000001_ABST
    Figure 2025010111000001_ABST
Patent Text Reader

Abstract

To provide a method information processing device, a program, and an information processing method for simulating a face movement.SOLUTION: An information processing device 100 includes: a model generation part for generating a muscle model for simulating the movement of muscles by simulating contraction of a plurality of muscle fibers constituting the muscles; and a simulation part for simulating the movement of a human face by simulating the movement of a plurality of muscles included in the human face by using the muscle model. An information processing method includes: a model generation step of generating the muscle model for simulating the movement of the muscles by simulating the contraction of the plurality of muscle fibers constituting the muscles; and a simulation step of simulating the movement of the human face by simulating the movement of the plurality of muscles included in the human face by using the muscle model.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

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 are known (see, for example, Non-Patent Documents 1 to 6). In conventional simulation methods, the so-called Hill-type model and the so-called CPG (Central Pattern Generator) have been used. [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 description of the drawings]

[0004] [Figure 1] 1 illustrates an example of an information processing device 100. [Diagram 2] 1 illustrates an example of the structure of an information processing device 100. [Diagram 3] 2 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. [Diagram 5] 1 shows a schematic diagram 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 of the series element is shown below. [Figure 9] 1 shows the force-velocity relationship for fully activated muscle tissue when the CE is at its optimal length. [Figure 10] 1 shows the force-length relationship of muscle tissue resulting from an active force. [Figure 11] 1 shows an example of an activation function α(t) for a given neural excitation u(t) versus time (s). [Figure 12] An example of a hardware configuration of a computer 1200 functioning as the information processing device 100 is shown in schematic form. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[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 is a schematic diagram of an example of an information processing device 100. The information processing device 100 has a function of executing a simulation of a skeletal muscle. A skeletal muscle may be simply referred to as a muscle.

[0007] In conventional simulation techniques based on muscle contraction, for example, the most contracted and most extended states of each muscle are registered and the state between them is interpolated. However, with such conventional techniques, it is difficult to accurately simulate muscle movement, and the resulting movement may be different from the actual one, resulting in an unnatural movement.

[0008] In contrast, the information processing device 100 according to the present embodiment generates a muscle model that simulates muscle movement by simulating the contraction of multiple muscle fibers that constitute the muscle. Then, for example, the information processing device 100 uses the generated muscle model to simulate the movement of multiple muscles in a human face, thereby simulating the movement of a human face. This makes it possible to realize the movement of the muscles in a human face more accurately, and to realize a human face movement that is not creepy or is less 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 movement of a plurality of muscles included 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. In addition, the information processing device 100 transmits the generated CG animation to the communication terminal 200 via the 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, and 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: the LTE (Long Term Evolution) communication method, the 5G (5th Generation) communication method, the 3G (3rd Generation) communication method, and the 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 to generate three-dimensional data of the human face including information on muscle movement.

[0013] 2 illustrates an example of a 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 process execution unit 114. Note that it is not essential that the information processing device 100 includes 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 muscles in a human face. The model generation unit 104 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 of a human face. The model generation unit 104 may generate a muscle model that simulates the movement of each of a plurality of muscles possessed by 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 the human face has one or more muscles, for example, the human face includes muscles of the mouth, muscles of the nose, muscles of the cranium and neck, muscles of the external ear, and muscles of the eyelid. The muscles of the mouth include the Orbicularis Oris muscle, the Risorius muscle, the Buccinator muscle, the Levator labii superioris, the Depressor labii inferioris, the Levator labii superioris alaeque nasi, the Mentalis muscle, the Levator anguli oris, the Depressor anguli oris, the Zygomaticus major, and the Zygomaticus minor. The muscles of the nose include the Nasalis muscle and the Procerus muscle. The muscles of the skull and neck include the Occipitofrontalis muscle and the Platysma muscle. The muscles of the ear include the Auricular muscles. The muscles of the eyelid include the Orbicularis oculi muscle and the Corrugator supercilia muscle.

[0017] The model generating unit 104 may simulate the contraction of multiple muscle fibers that constitute each of the multiple muscles that constitute a part of the human face. For example, the model generating 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 generating unit 104 may further divide each of the multiple muscles constituting a part of the human face into smaller parts, and simulate the contraction of the multiple muscle fibers constituting the muscle for each divided muscle. For example, the model generating unit 104 divides the orbicularis oris muscle into multiple parts, and simulates the contraction of the multiple muscle fibers constituting the muscle for each divided muscle.

[0019] The model generating unit 104 may generate the muscle model using the finite element method. By using the finite element method, it is 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 is generated, for example, by using MRI (Magnetic Resonance Imaging). The muscle shape data may be generated, for example, by using CT (Computed Tomography). The muscle shape data may be an existing model, such as a Zygote model in 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 generating unit 104 may generate a muscle model that simulates the contraction of multiple muscle fibers that constitute the muscles of a human face, for example, by calculating an approximate solution of an equation that indicates the contraction of multiple muscle fibers by using the finite element method. As a specific example, the model generating 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 generating unit 104 may divide a plurality of muscle fibers constituting the muscles of the human face into a plurality of groups, and generate a muscle model for some of the groups that simulates the contraction of each of the plurality of muscle fibers contained in the group. The model generating unit 104 may generate a muscle model for the portion of the groups that simulates the contraction of each of all of the muscle fibers contained in the group. The model generating unit 104 may generate a muscle model for the other portion of the groups that simulates the contraction of only some of the muscle fibers contained in the group. The model generating unit 104 may generate a muscle model for the other portion of the groups that simulates the contraction of the plurality of muscle fibers contained in the group as a whole. In this way, by dividing the plurality of muscle fibers constituting the muscles of the human face into a plurality of groups, and simulating the contraction of each of the plurality of muscle fibers contained in the group depending on the group, simulating the contraction of only some of the plurality of muscle fibers, or simulating the contraction of the plurality of muscle fibers as a whole, it is possible to perform a simulation according to the load. For example, if simulating the contraction of each and every muscle fiber would take months or years of calculation time, the calculation time can be reduced while maintaining as much accuracy as possible by thinning out or calculating as a whole the less important muscle fibers.

[0024] For example, the model generation unit 104 divides a plurality of muscle fibers constituting the muscles of a human face into a plurality of groups in the order of the influence on the muscle movement. The model generation unit 104 may generate the muscle model for simulating the contraction of each of the plurality of muscle fibers included in the group having the greatest influence on the muscle movement among the plurality of groups. The model generation unit 104 may decrease the proportion of the muscle fibers whose contraction is simulated as the influence on the muscle movement decreases among the plurality of groups. This allows the processing load to be appropriately reduced by accurately simulating muscle fibers that have a large influence on the muscle movement while thinning out the processing of muscle fibers that have a small influence.

[0025] The model generating 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 muscle fibers that constitute the muscle of the human face, and simulates the contraction of only some of the muscle fibers located outside the boundary. For example, the model generating unit 104 generates a muscle model that simulates the contraction of all of the muscle fibers located at the boundary with the outside of the muscle. In many cases, the muscle fibers located at the boundary with the outside of the muscle have a greater effect on the movement of the muscle than the muscle fibers located outside the boundary. Therefore, the processing load can be appropriately reduced by accurately simulating the muscle fibers that have a greater effect on the movement of the muscle, while thinning out the processing of the muscle fibers that have a smaller effect.

[0026] The model generating unit 104 may generate a muscle model that simulates the contraction of each of a plurality of muscle fibers having a higher degree of freedom among a plurality of muscle fibers that constitute the muscles of a human face, and simulates the contraction of only a portion of a plurality of muscle fibers having a lower degree of freedom. It is considered that muscle fibers having a higher degree of freedom have a greater effect on muscle movement than muscle fibers having a lower degree of freedom. Therefore, it is possible to appropriately reduce the processing load by accurately simulating muscle fibers that have a greater effect on muscle movement, while thinning out the processing of muscle fibers that have a smaller effect.

[0027] The simulator 106 uses the muscle model stored in the memory 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 of the entire human face, for example, by simulating the movement of the muscles of the entire human face using a muscle model that simulates the movement of the muscles of 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 simulating unit 106 generates a CG animation of a human face by simulating the movements of a plurality of muscles included in the human face using a muscle model. For example, the simulating unit 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 human, and generates three-dimensional data of some or all of a human face including information on the muscle movements.

[0032] The transmitting unit 110 transmits data stored in the storage unit 102 to the outside. 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 causes the data stored in the storage unit 102 to be displayed on a display included in the information processing device 100. The display control unit 112 causes, for example, a CG animation generated by the simulation unit 106 to be displayed 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 is a schematic diagram showing an example of a processing flow by the information processing device 100. Here, a processing flow will be described in a case where 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 used to generate a muscle model from the storage unit 102. The model generation unit 104 may acquire muscle shape data indicating the shape of the facial muscles of a 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 human facial muscles by simulating the contraction of multiple muscle fibers that make up the human facial muscles.

[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 a plurality of 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 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 muscles are voluntary muscles because they contract and relax consciously (unlike smooth muscles, which contract involuntarily as cardiac muscles). Some of the primary functions of skeletal muscle tissue are to induce movement, provide stability, and move material within the body. When viewed at different magnification levels, skeletal muscles exhibit a hierarchical structure, as shown in FIG. 4. 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) parts of muscle tissue. Myofibrils are made up of a large number of sarcomeres arranged in series and parallel to each other. Groups of myofibrils arranged in parallel make up a muscle fiber. This repetitive nature of the structure of muscle tissue suggests that muscles are ultimately an expanded version of sarcomeres in terms of mechanical behavior.

[0043] Isotonic contractions occur when a muscle changes length under an applied load. Isotonic contractions can be either concentric or eccentric. In concentric contractions, the tension in the muscle exceeds the resistance and the muscle shortens. In eccentric contractions, the tension in the muscle that develops is less than the resistance and the muscle lengthens.

[0044] Isometric contractions occur 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, undergoing an increase in 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 about 20 flat skeletal muscles that lie beneath the facial skin and scalp. Most of them arise from the bones or fibrous structures of the skull. Except for the buccinator, the 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 of the facial muscles and their connections enable them to produce facial movements such as smiling, grinning, and frowning. The facial muscles are called the muscles of expression or facial muscles. All the 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 is called the modiolus, located at the corners of the mouth, and is formed mainly by the buccinator, orbicularis oris, smirculus, depressor anguli oris, and zygomaticus major. For example, the muscles of the mouth include the orbicularis oris, smirculus, buccinator, levator labii superioris, depressor labii inferioris, levator labii ala nasalis superioris, mentalis, levator anguli oris, depressor anguli oris, zygomaticus major, and zygomaticus minor. For example, the muscles of the nose include the nasalis and pronotum 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 external 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 geometry of muscles is to use MRI / CT scans. Another way is to utilize muscle anatomy, which is not applicable for 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. It includes 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 a solid format. To convert the mesh to a 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 a 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 to generate a smooth mesh. Since the geometry was provided from an external CAD software, it was necessary to use a 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 very 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 arrangement due to the complex geometry. Since we use B-spline-Solid for the 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 the 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 relations.

number

[0052] FIG. 5 shows a schematic diagram of an example of fiber orientation isocurve extraction.

[0053] For linearized muscle models of skeletal muscles, a powerful tool for finding good approximate numerical solutions to the equations describing muscle contraction is the finite element method. This method converts the partial differential equations into a finite set of algebraic equations. This is achieved by using an equivalent polynomial 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 Hill's experimental work in 1938. The traditional Hill muscle model consists of three components: contractile (CE), series (SE), and parallel (PE) elements. Figure 6 shows a schematic of an example of Hill's muscle function model.

[0055] Muscles are made up of more than 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, i.e. σ = σ 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 fibers) of a one-dimensional longitudinal muscle is the sum of the stresses in 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) It is.

[0058] Generally speaking, extension is related to strain. λ=1+ε (5)

[0059] For small distortions,

number

number

[0060] Strain in muscle fiber εf 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) It becomes.

[0062] The initial fiber length is L0, and the deformed fiber length due to muscle contraction is L c and L is the final length due to the elastic deformation of the fiber, then the extension is defined as

number

[0063] Multiplicative partitioning of stretch has the advantage 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), the multiplicative division equation (8) can be rewritten as follows: λ f =1+ε s +ε c +Higher order terms (10)

[0065] where it is assumed that for small strains the higher order terms are not significant. Rearranging the terms in (10) and considering (5) gives the 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 at 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 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 a fully activated muscle tissue when the CE is at its optimal length. Figure 10 shows the force-length relationship for the muscle tissue due to active forces. The solid lines in each of Figures 9 and 10 show the linearized functions used for the linearized muscle model, superimposed on the original nonlinear function shown in dashed lines.

[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 the given neural excitation u(t) versus time (s).

[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 enables the determination of the activation level at the current time increment based on the activation level at the previous time increment. In this way, the activation function is 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 the use of (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 is a schematic diagram showing an example of a hardware configuration of a computer 1200 functioning as the information processing device 100. A program installed in the computer 1200 can cause the computer 1200 to function as one or more "parts" of the device according to the present embodiment, or cause the computer 1200 to execute operations associated with the device according to the present embodiment or one or more "parts", and / or 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 execute 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 connected to each other by a host controller 1210. The computer 1200 also includes input / output units such as a communication 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, etc. The storage device 1224 may be a hard disk drive, a solid state drive, etc. The computer 1200 also includes a legacy input / output unit such as a ROM 1230 and a keyboard, which are connected to the input / output controller 1220 via an input / output chip 1240.

[0096] The CPU 1212 operates according to a program stored in the ROM 1230 and the RAM 1214, thereby controlling each unit. The graphic controller 1216 acquires image data generated by the CPU 1212 into a frame buffer or the like provided in the RAM 1214 or into 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 a program that depends 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, and the like.

[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, the RAM 1214, or the 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 brings about cooperation between the programs and the various types of hardware resources described above. An apparatus or method may be constructed by implementing operations or processing of information according to 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 in 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 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 in the recording medium and undergo information processing. The CPU 1212 may perform various types of processing on the 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 sequence of the program, and write back the results to the RAM 1214. The CPU 1212 may also search for information in a file, database, etc. in the recording medium. For example, when a plurality of entries each having an attribute value of a first attribute associated with an attribute value of a second attribute are stored in 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 plurality of 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 the computer 1200 or in the vicinity of the computer 1200. In addition, a recording medium such as a hard disk or a RAM provided in a server system connected to a dedicated communication network or the Internet can 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 embodiment 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, and may include integrated circuits (ICs) and / or discrete circuits. The programmable circuitry may include reconfigurable hardware circuits, such as, for example, field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), and the like, 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 a suitable device, such that a computer-readable storage medium having instructions stored thereon comprises an article of manufacture that includes 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, and the like. More specific examples of computer-readable storage media may include floppy disks, diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), electrically erasable programmable read-only memories (EEPROMs), static random access memories (SRAMs), compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), Blu-ray disks, memory sticks, integrated circuit cards, and the like.

[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 to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, or to a programmable circuit, either locally or over a local area network (LAN), a wide area network (WAN), such as the Internet, etc., to cause the processor of the general purpose computer, special purpose computer, or other programmable data processing apparatus, or to a programmable circuit, to execute 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 is clear to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the description of the claims that such modifications and improvements can also be included in the technical scope of the present invention.

[0109] It should be noted that the order of execution 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" or "prior to," and that the process may 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, it does not mean that the process 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 is clear to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the description of the claims that such modifications and improvements can also be included in the technical scope of the present invention.

[0111] It should be noted that the order of execution 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" or "prior to," and that the process may 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, it does not mean that the process 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 graphic 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; 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; 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. 3 . The information processing device according to claim 1 , wherein the model generation unit divides the muscle fibers constituting the muscle into a plurality of groups, and generates the muscle model for a portion of the groups that simulates the contraction of each of the muscle fibers included in the group.

4. 4. The information processing device according to claim 3, wherein the model generation unit divides the muscle fibers that constitute the muscle into a plurality of groups in order of the greatest influence on the muscle movement, and generates the muscle model that simulates the contraction of each of the muscle fibers included in the group that has the greatest influence on the muscle movement among the plurality of groups.

5. The information processing device according to claim 3 , wherein the model generation unit generates the muscle model for a portion of the groups that simulates contraction of only a portion of the muscle fibers included in the group.

6. The information processing device according to claim 3 , wherein the model generation unit generates the muscle model for a part of the groups, the muscle model simulating contraction of a plurality of muscle fibers included in the group as a whole.

7. 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 that are located at the boundary between the muscle and the outside, and simulating the contraction of only a portion of the muscle fibers that are located outside the boundary.

8. 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.

9. 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; and a simulating unit that uses the muscle model to simulate the movement of a plurality of muscles included in a human face, thereby simulating the movement of the human face; A program to function as a

10. 1. A computer-implemented information processing method, comprising: a model generation step of generating a muscle model that simulates the movement of the muscle by simulating the contraction of a plurality of muscle fibers that constitute the muscle; 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