WO2021143278A1 - 图像处理方法、装置、电子设备及存储介质 - Google Patents
图像处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- WO2021143278A1 WO2021143278A1 PCT/CN2020/125081 CN2020125081W WO2021143278A1 WO 2021143278 A1 WO2021143278 A1 WO 2021143278A1 CN 2020125081 W CN2020125081 W CN 2020125081W WO 2021143278 A1 WO2021143278 A1 WO 2021143278A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bone
- surface model
- posture
- pose
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating three-dimensional [3D] models or images for computer graphics
- G06T19/20—Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—Three-dimensional [3D] animation
- G06T13/40—Three-dimensional [3D] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating three-dimensional [3D] models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6607—Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Definitions
- This application relates to the field of image processing, in particular to an image processing method, device, electronic equipment, and computer-readable storage medium.
- the embodiment of the present application provides an image processing method, including:
- the example surface model and the reference surface model are converted to the same coordinate space, so as to perform the virtual object's calculation according to the reference surface model and the example surface model in the coordinate space. generate.
- An embodiment of the application provides an image processing device, including:
- the first acquiring module is configured to acquire the reference surface model of the first bone pose of the virtual object
- the second acquiring module is configured to acquire the second bone posture of the virtual object
- a generating module configured to generate an example surface model of the second bone pose based on the reference surface model and the second bone pose
- a matrix determination module configured to determine a posture transformation matrix between the first bone posture and the second bone posture
- the coordinate space conversion module is configured to convert the example surface model and the reference surface model to the same coordinate space based on the pose transformation matrix, so as to according to the reference surface model and the example surface in the coordinate space
- the model generates the virtual object.
- An embodiment of the present application provides an electronic device, including: a memory configured to store computer-readable instructions; a processor configured to execute the computer-readable instructions stored in the memory to implement the Image processing method.
- the embodiment of the present application provides a computer-readable storage medium that stores computer-readable instructions.
- the computer-readable instruction is executed by a processor, the image processing method provided in the embodiment of the present application is implemented.
- FIG. 1 shows a schematic diagram of the architecture of an image processing system provided by an embodiment of the present application.
- Fig. 2 shows a schematic structural diagram of an image processing system applied to a game scene provided by an embodiment of the present application.
- Fig. 3A shows a flowchart of an image processing method provided by an embodiment of the present application.
- Fig. 3B shows a flowchart of an image processing method provided by an embodiment of the present application.
- Fig. 3C shows a flowchart of an image processing method provided by an embodiment of the present application.
- Fig. 4 shows a flow chart of the material resource generation stage provided by an embodiment of the present application.
- Fig. 5 shows a flowchart of the virtual object generation phase provided by an embodiment of the present application.
- Fig. 6 shows a terminal interface diagram for generating virtual objects in Maya software provided by an embodiment of the present application.
- Fig. 7 shows a block diagram of an image processing device provided by an embodiment of the present application.
- Fig. 8 shows a hardware diagram of an electronic device provided by an embodiment of the present application.
- Virtual scene The scene output by the device is different from the real world, and the visual perception of the virtual scene can be formed with the aid of the naked eye or the device, such as the two-dimensional image output through the display screen, through stereo projection, virtual reality and augmented reality.
- Virtual objects the images of various people and things that can interact in the virtual scene, or the movable objects in the virtual scene, which can be generated by game engines, drawing software or other image processing tools to generate virtual objects
- the core technology is three-dimensional image technology.
- the movable object may be a virtual character, a virtual animal, an animation character, etc., for example, a character, an animal, a plant, an oil barrel, a wall, a stone, etc. displayed in a virtual scene.
- the virtual object may be a virtual avatar used to represent the user in the virtual scene.
- the virtual object has its own shape and volume in the virtual scene and occupies a part of the space in the virtual scene.
- the virtual object may be an animated character, and the image processing method provided in the embodiment of the present application may be applicable to the image processing process of the animated character in skeletal animation.
- Skeletal Animation It is a kind of model animation.
- virtual objects such as animated characters
- the bone posture describes the orientation and position of the "skeleton" of the virtual object
- the surface model describes multiple vertices on the surface of the virtual object, that is, the surface model can be understood as a collection of a series of vertices on the surface of the virtual object.
- the change of the bone posture can correspondingly drive the change of the surface model, so that the corresponding animation can be generated by driving the bone posture.
- Skeleton skinning model refers to a model with bone skinning information after skinning the surface model according to the bone posture.
- the bone skin model mainly includes two parts of information: surface information (surface data) and bone skin information.
- the material resources include a reference surface model and a sample surface model.
- the reference surface model is the most basic preset material resource, and there can be only one;
- the example surface model is a material resource further obtained on the basis of the reference surface model, and there can be only one or at least two.
- the embodiments of the present application provide an image processing method, device, electronic device, and computer-readable storage medium, which can skip the effect of surface deformation in the process of producing material resources, thereby supporting the generation of virtual objects.
- Surface deformation treatment improves the compatibility with surface deformation.
- FIG. 1 shows a schematic structural diagram of an image processing system provided by an embodiment of the present application.
- the image processing system includes a first terminal device 10, a server 20 and a second terminal device 30.
- the image processing method provided in the embodiments of the present application may be implemented by the terminal device.
- the first terminal device 10 is taken as an example for description.
- the first terminal device 10 may perform the operation of generating material resources.
- the first terminal device 10 may provide the first user with functions related to making material resources, such as the function of determining the surface model, the function of adjusting the bone posture, etc. Generate material resources under the operation of the first user.
- the first terminal device 10 can store the generated material resources locally, and when necessary, generate virtual objects based on the stored material resources, and render the generated virtual objects to display the virtual objects, such as the output Virtual objects are displayed in the virtual scene. This method is suitable for scenarios where the terminal device has a strong computing capability.
- the image processing method provided in the embodiments of the present application may be implemented by the server.
- the server 20 may perform automatic generation of material resources, for example, generate material resources according to pre-stored first bone pose, second bone pose, and reference surface model, and store the generated material resources locally.
- the server 20 may also generate a virtual object according to the stored material resources, and send the generated rendering data of the virtual object to the terminal device, so that the terminal device displays the virtual object, such as displaying the virtual object in the virtual scene output by the terminal device.
- the image processing method provided in the embodiments of the present application may also be implemented by a terminal device and a server in cooperation.
- the first terminal device 10 and the server 20 are mainly involved.
- the first terminal device 10 is mainly used as a front end to respond to the operation of the first user to generate material resources;
- the server 20 is mainly used as a back end to provide corresponding functions for the first terminal device 10 in the process of generating material resources Support (such as the function of determining the surface model, the function of adjusting the bone posture, etc.), and the material resources sent by the first terminal device 10 are stored.
- the second terminal device 30 and the server 20 are mainly involved.
- the server 20 is mainly used as a back-end for generating virtual objects based on stored material resources, and sending the generated rendering data of the virtual objects to the second terminal device 30;
- the second terminal device 30 is mainly used as a front-end Rendering is performed according to the rendering data received from the server 20 to display the virtual object, such as display in the output virtual scene, to facilitate viewing or interaction by the second user.
- FIG. 1 shows a virtual scene 31 output by the second terminal device 30 and a virtual object 32 in the virtual scene 31.
- the virtual scene 31 and the virtual object 32 can be displayed on the graphical interface of the second terminal device 30. .
- Figure 2 shows a schematic diagram of the architecture of the image processing system in a game scenario in an embodiment of the present application.
- the image processing system in Figure 2 includes a modeler terminal device 40, a game server 50, and a game player terminal.
- Equipment 60 For ease of understanding, a case where a terminal device and a server cooperate to implement the image processing method provided in the embodiment of the present application is taken as an example for description.
- the modeler terminal device 40 and the game server 50 are mainly involved.
- the modeler terminal device 40 is mainly used as a front end to respond to the modeler's production operations on game material resources (for example, the surface model of the game character with a natural standing posture, the surface model of the game character with the open arms, etc.).
- game material resources for example, the surface model of the game character with a natural standing posture, the surface model of the game character with the open arms, etc.
- Generate game material resources the game server 50 is mainly used as a backend to provide corresponding functional support for the modeler terminal device 40 during the process of generating the game material resources, and store the game material resources sent by the modeler terminal device 40.
- the modeler can perform corresponding art work on the modeler terminal device 40 (for example, modify the surface model of the game character through the digital drawing board, modify the surface model of the game character through mouse commands and keyboard commands, etc.).
- the modeler terminal The device 40 can generate corresponding game material resources with the support of the game server 50.
- the game player terminal device 60 and the game server 50 are mainly involved.
- the game server 50 is mainly used as a backend to generate virtual objects based on stored game material resources.
- the virtual object is a game character as an example.
- the game server 50 is also used to generate rendering data of the game character. It is sent to the game player terminal device 60; the game player terminal device 60 mainly serves as a front end for rendering according to the rendering data received from the game server 50 to display the game character, such as displaying in the output virtual game scene.
- FIG. 2 shows a game virtual scene 61 output by the game player terminal device 60 and a game character 62 in the game virtual scene 61.
- the game player can perform game operations on the game player terminal device 60 (for example, controlling the movement of the game character 62 through the mouse, controlling the skill release of the game character 62 through the keyboard, controlling the movement and skill release of the game character 62 through touch on the screen, etc.),
- the game character 62 displayed on the game player terminal device 60 is controlled.
- the game player terminal device 60 generates a corresponding instruction in response to the player's game operation, and sends the instruction to the game server 50.
- the game server 50 may generate a new game character in combination with the stored game material resources according to the received instruction.
- the game character 62 shown in FIG. 2 is in a jumping state, and the generated new game character may be a game character in a standing state. 62, that is, the bone posture has changed.
- the terminal device can implement the image processing method provided in the embodiments of the present application by running a computer program.
- the computer program can be a native program or a software module in the operating system; it can be a native application program (APP, Application), that is, a program that needs to be installed in the operating system to run, such as a game application; it can also be a small program, that is, a program that only needs to be downloaded to the browser environment to run; it can also be embedded in any Small programs in the APP.
- APP Native application program
- the above-mentioned computer program may be any form of application, module or plug-in.
- Cloud technology refers to a kind of hosting that unifies a series of resources such as hardware, software, and network in a wide area network or a local area network to realize the calculation, storage, processing and sharing of data.
- cloud technology is also a general term for network technology, information technology, integration technology, management platform technology, and application technology based on the application of cloud computing business models. It can form a resource pool, which can be used on demand and is flexible and convenient. Cloud computing technology will become an important support. The background service of the technical network system requires a lot of computing and storage resources.
- the above-mentioned server may be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers, or it may provide cloud services, cloud databases, cloud computing, cloud functions, and cloud storage.
- Cloud servers for basic cloud computing services such as, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
- cloud services can be services that generate material resources or generate virtual objects Service for the terminal device to call.
- the terminal device can be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart watch, a smart TV, etc., but it is not limited to this.
- the terminal device and the server can be directly or indirectly connected through wired or wireless communication, which is not limited in the embodiment of the present application.
- FIG. 3A is a schematic flowchart of an image processing method provided by an embodiment of the present application, which will be described in conjunction with the steps shown in FIG. 3A.
- Step 410 Obtain a reference surface model of the first bone pose of the virtual object.
- Step 420 Obtain a second bone pose of the virtual object.
- Step 430 Generate an example surface model of the second bone pose based on the reference surface model and the second bone pose;
- Step 440 Determine a pose transformation matrix between the first bone pose and the second bone pose.
- Step 450 Based on the attitude transformation matrix, transform the example surface model and the reference surface model to the same coordinate space, so as to generate a virtual object according to the reference surface model and the example surface model in the coordinate space.
- the electronic device in the generation stage of the material resources, after the electronic device generates the sample surface model according to the reference surface model, it is based on the first bone pose (the bone pose corresponding to the reference surface model) and the second bone pose (the sample surface model corresponds to The posture transformation matrix between the skeletal postures) converts the sample surface model and the reference surface model to the same coordinate space to obtain the material resources in the same coordinate space.
- the material resource generation process can skip the influence of additional surface deformation, so that the subsequent virtual object generation stage can be compatible with additional surface deformations (such as various complex nonlinear additional surface deformations), and can effectively avoid different
- additional surface deformations such as various complex nonlinear additional surface deformations
- the result of processing in the coordinate space is uncontrollable (for example, the final generated virtual object does not match the applied surface deformation), which improves the compatibility of the skeletal animation to the surface deformation.
- step 410 a reference surface model of the first bone pose of the virtual object is acquired.
- virtual objects refer to various objects of people and things that are virtualized.
- virtual objects can be animated characters, trees, flags, or paper.
- the virtual object has a variety of skeletal postures.
- the animated character has a skeleton posture in a natural standing posture and a skeleton posture in a horizontal posture with arms.
- the flag has a skeleton posture when it is stationary and when it is blown by the wind. The posture of the skeleton and so on.
- the surface model of the first bone pose of the virtual object is obtained as the reference surface model.
- the reference surface model may be the surface model of the virtual object in the natural stance
- the first bone posture is the skeletal posture of the virtual object in the natural stance.
- the reference surface model can be generated in advance and stored in the electronic device.
- the electronic device can retrieve the reference surface model; the reference surface model can also be used by the user (for example, The modeler who is doing art work will make it in real time on the electronic device (such as the modeler's terminal device), and the same is true for the first skeleton posture.
- step 420 the second bone pose of the virtual object is acquired.
- the second bone pose refers to the bone pose of the sample surface model to be generated; the sample surface model refers to the surface model that is generated with the reference surface model as a reference and is not the first bone pose.
- the reference surface model is the surface model of the virtual object in the natural stance
- the surface model of the virtual object in the natural stance is used as a reference.
- the generated surface model of the virtual object in the horizontal posture of both arms is an example surface.
- Model the skeleton posture of the virtual object in the horizontal posture of both arms is the second skeleton posture.
- the second skeleton posture can be generated in advance and stored in the electronic device; it can also be created on the electronic device in real time by the user (for example, a modeler who performs art work).
- the embodiment of the present application does not limit the number of the second bone postures, for example, it may be one or at least two.
- FIG. 3A illustrates the case where the second bone posture includes only one.
- step 430 based on the reference surface model and the second bone pose, an example surface model of the second bone pose is generated.
- a surface model of the second bone pose can be generated.
- the surface model generated here is named an example surface model.
- the above-mentioned example surface model based on the reference surface model and the second bone pose can be realized in this way: the reference surface model is skinned based on the second bone pose to obtain The example bone skin model of the second bone pose; extract the surface data of the example bone skin model, and generate the example surface model of the second bone pose according to the surface data.
- the bone skin model mainly includes two parts of information: surface data and bone skin information.
- the bone skin model obtained here is named as the model bone skin model.
- the reference surface model is a horizontal arm model in a horizontal posture
- the second bone posture is a skeletal posture of an upward arm in an upward posture.
- the horizontal arm model is skinned based on the skeletal posture of the upward arm to obtain the upward arm model with the skeletal skin information and the upward posture, that is, the example skeletal skin model.
- the example bone skin model of the second bone pose After obtaining the example bone skin model of the second bone pose, extract its surface data, and then generate the example surface model of the second bone pose based on the surface data.
- the example surface model includes the virtual model described by the extracted surface data. The vertices on the surface of the object.
- the method before extracting the surface data of the example skeleton skin model, the method further includes:
- the above-mentioned extraction of the surface data of the example bone skin model can be achieved in this way: the surface data of the modified example bone skin model is extracted.
- the requesting party (for example, at the front end)
- the modeler's terminal equipment) modify the example skeleton skin model.
- the skinning process itself is a linear mathematical process. Therefore, the sample bone skin model obtained by the skin process only makes a simple bone posture change.
- the surface data in the sample bone skin model may not meet the actual needs.
- a curved arm model (skeletal skin model) with the elbow bending posture with bone skin information can be obtained.
- the surface of the biceps in the horizontal arm model is relatively flat, and the surface of the biceps in the curved arm model obtained after skin treatment hardly changes significantly, and is still relatively flat. It is understandable that in real life, after the elbow is bent, it will cause a backlog of muscles. Compared with the horizontal arm model, the surface of the biceps in the bent arm model should be significantly raised. If there is a specific art requirement, the bulge of the surface of the biceps in the flexed arm model will be more obvious.
- the requesting party can be supported to modify the example skinned skeleton model to meet corresponding needs, such as art needs.
- the user sends a modification request for the sample skeleton skin model to an electronic device (such as a server) through a request.
- an electronic device such as a server
- the electronic device passes the verification of the received modification request
- the corresponding modification authority is opened to the requester, so that the user can The requester modifies the example skeleton skin model.
- the modeler sends a modification request to the game server through the modeler's terminal device according to artistic needs, so as to request to modify the example skeleton skin model obtained through the skinning process.
- the game server passes the verification of the modification request, it will open the corresponding modification authority to the modeler's terminal device. In this way, the modeler can modify the example skeleton skin model on the modeler's terminal device.
- the user can modify the surface data in the example bone skin model during the requesting party's modification of the example bone skin model; or modify the second bone pose corresponding to the example bone skin model to update the example bone skin model Surface data in.
- the user can send the modified message to the electronic device through the requester.
- the electronic device receives the modified message, it extracts the surface data in the modified example bone skin model to generate it based on the surface data.
- Example surface model of the second bone pose Through the above-mentioned method of combining with human modification, the accuracy of the surface data in the example skeleton skin model can be improved, and various requirements in actual application scenarios can be met.
- step 440 a pose transformation matrix between the first bone pose and the second bone pose is determined.
- the posture transformation matrix refers to a mathematical matrix used to describe the mutual transformation relationship between the first bone posture and the second bone posture. Through the posture transformation matrix, the first bone posture can be transformed into the second bone posture, and the second bone posture can also be transformed into the first bone posture.
- the first bone posture and the second bone posture are both in the form of specific data in the electronic device.
- the electronic device can store the three-dimensional space coordinates of the bone vertices, and by adjusting the three-dimensional space coordinates of the bone vertices, the corresponding bone posture can be obtained, that is, the bone posture can be stored and processed in the form of three-dimensional space coordinate data.
- step 450 based on the pose transformation matrix, the example surface model and the reference surface model are converted to the same coordinate space, so as to generate a virtual object according to the reference surface model and the example surface model in the coordinate space.
- the generated material resources are converted into the same coordinate space in order to generate virtual objects. That is, in the generation stage of the material resources, the sample surface model and the reference surface model are converted to the same coordinate space.
- the example surface model can be converted to the coordinate space where the reference surface model is located, or the reference surface model can be converted to the coordinate space where the example surface model is located.
- the above-mentioned posture transformation matrix can be used to transform the sample surface model and the reference surface model into the same coordinate space: according to the posture transformation matrix, coordinate transformation processing is performed on the sample surface model to transform the sample surface model into the same coordinate space. The sample surface model is converted to the coordinate space where the reference surface model is located.
- the reference surface model is a standard set by humans. Therefore, coordinate transformation processing can be performed on the example surface model according to the pose transformation matrix to convert the example surface model to the coordinate space where the reference surface model is located. Furthermore, the reference surface model and the example surface model can be stored in the coordinate space where the reference surface model is located to complete the generation of material resources.
- the reference surface model M 0 is located in a coordinate space.
- the coordinate space is named the reference coordinate space.
- the electronic device initially acquired data includes a reference surface model M 0, M 0 reference surface model corresponding to a first bone posture P 0, examples of the surface to be generated model M i corresponding to the second bone posture P i.
- First bone and the second bone posture posture P 0 P i is calculated according to the posture transformation matrix between both, through the attitude transformation matrix transform the coordinate space in a subsequent process.
- the sample may be further skinned model by the user (e.g., modeler) according to actual needs (like the art) Modify to obtain a new example bone skin model that meets the requirements (that is, the modified example bone skin model).
- the user e.g., modeler
- Modify to obtain a new example bone skin model that meets the requirements (that is, the modified example bone skin model).
- the electronic device stores the reference surface model M 0 and the example surface model M i in the reference coordinate space through the attitude transformation matrix, so that in the subsequent virtual object generation process, the reference surface model M 0 and the example surface model surface model M i series of processes are performed in the reference coordinate space, thereby skipping the influence of the surface deformation.
- assets generated i.e. the reference surface model surface model M 0 and M i examples be compatible with any additional surface deformation, such as the various additional complex nonlinear surface deformation, to effectively prevent processed in different coordinate space
- the result is uncontrollable, for example, the final virtual object does not match the applied surface deformation.
- FIG. 3B is a schematic flowchart of the image processing method provided by an embodiment of the present application. Based on FIG. 3A, after step 450, the target bone pose of the virtual object can be obtained in step 510. .
- the target bone pose refers to the bone pose of the virtual object that needs to be generated, which can be set according to actual application scenarios.
- the target skeletal posture is a skeletal posture in a standing posture with hands on hips
- the final virtual object generated is a standing posture with hands on hips.
- the target bone posture may be generated in advance and stored in the electronic device, or it may be obtained in real time.
- the aforementioned acquisition of the target bone posture of the virtual object can be achieved in such a way: obtaining manipulation data for the virtual object; and determining the target bone posture of the virtual object based on the manipulation data.
- the target bone posture can be determined by the manipulation data for the virtual object, such as manipulation data input based on a specific input device.
- the manipulation data may originate from the input device in the second terminal device 30 in FIG. 1 or the input device in the game player terminal device 60 in FIG. 2.
- the manipulation data may include at least one of keyboard data, mouse data, and screen touch data, but of course it is not limited thereto.
- the player can perform a screen touch operation on the mobile phone terminal, thereby instructing the game character in the game running on the mobile phone terminal to make a corresponding action in a specific posture.
- the mobile terminal detects the screen touch operation, it uploads the screen touch data triggered by the screen touch operation to the game server, and the game server determines the specific posture indicated by the player based on the acquired screen touch data, that is, the target bone posture of the game character .
- the user can determine the target bone posture by active manipulation, thereby controlling the generation of the virtual object.
- the above-mentioned acquisition of the target bone posture of the virtual object can be achieved in such a way: sensor data is obtained; the user action is determined based on the sensor data; the target bone posture of the virtual object is determined based on the user action.
- the target bone posture of the virtual object can also be determined through sensor data.
- the sensor data may come from a sensor device, for example, the sensor device in the second terminal device 30 in FIG. 1 or the sensor device in the game player terminal device 60 in FIG. 2.
- the sensor data may include at least one of positioning sensor data related to positioning information and motion sensor data related to local body movements.
- the player wears a virtual reality (VR) device that communicates with a computer terminal, such as VR glasses or a VR handle, and makes specific actions to instruct the VR game running on the computer terminal.
- the corresponding game character makes the same action.
- the VR sensor system corresponding to the VR device (for example, a sensor system composed of at least two base stations) can generate corresponding sensor data by monitoring the sensors in the VR device (for example, the sensor in the VR handle), and send the sensor data to the computer terminal .
- the server can determine the user's motion (ie, realize motion capture) based on the sensor data, and use the determined skeletal posture corresponding to the user's action as the target skeletal posture of the game character.
- the user can determine the target bone posture through his own actions, which can bring a greater sense of immersion to the user and enhance the user's interactive experience.
- step 520 skinning is performed on the reference surface model based on the target bone pose to obtain the target bone skin model of the target bone pose.
- the reference surface model is skinned based on the target bone pose to obtain the bone skin model of the target bone pose.
- the bone skin model obtained here is named the target bone skin model.
- step 530 based on the reference surface model and the example surface model in the coordinate space, a modified surface model for the posture of the target bone is determined.
- the modified surface model of the target bone pose is determined.
- the modified surface model refers to a surface model that can make a certain degree of modification to the surface data in the target bone skin model to meet the actual needs (such as art needs) to a certain extent.
- the bone pose corresponding to the modified surface model is basically the same as the bone pose corresponding to the target bone skin model, which is the target bone pose.
- the generated surface model of the target bone pose (that is, the modified surface model) also belongs to the art style. In this way, it can ensure that the generated image based on different target bone poses
- the style of the virtual objects is consistent, which enhances unity.
- the above-mentioned reference surface model and example surface model in the coordinate space can be implemented in this way to determine the modified surface model of the target bone pose: it is determined that the first bone pose and the second bone pose are merged.
- the weights assigned to the first bone pose and the second bone pose respectively are fused to obtain the target Modified surface model of bone pose.
- the weights assigned to the first bone posture and the second bone posture are determined, wherein, according to the weights assigned to the first bone posture and the second bone posture, the first bone posture and the second bone posture can be fused into the target For bone pose, the fusion here can be a weighted summation, of course, it can also be in other ways. Furthermore, based on the weight of the first bone pose and the weight of the second bone pose, the reference surface model of the first bone pose and the example surface model of the second bone pose are fused to obtain a modified surface model of the target bone pose.
- the above determination can be achieved in this way.
- the weights assigned to the first bone pose and the second bone pose respectively:
- the radial basis function is used to interpolate between the first bone pose and the second bone pose to obtain the first bone pose and the second bone pose, respectively The weight assigned.
- a radial basis function (RBF) can be applied to interpolate between the stored first bone pose and the second bone pose Through processing, the weights assigned to the first bone posture and the second bone posture respectively are obtained.
- the above-mentioned weight based on the first bone pose and the weight of the second bone pose can be realized in this way, and the reference surface model and the example surface model are fused to obtain the corrected surface model of the target bone pose.
- the modified surface model of the target bone pose can be obtained by means of weighted summation.
- the weight assigned to P 0 is W 0
- the weight assigned to P 1 is W 1 .
- step 540 a virtual object is generated based on the target bone skin model and the modified surface model.
- the above-mentioned skin model based on the target bone and the modified surface model can be realized in this way to generate a virtual object: determine the pose transformation matrix between the first bone pose and the target bone pose as the target pose Transformation matrix; based on the target pose transformation matrix, the modified surface model in the coordinate space is subjected to coordinate transformation processing to obtain the extracted modified surface model; the extracted modified surface model and the target bone skin model are superimposed to generate a virtual Object.
- the stored reference surface model and the example surface model are located in the same coordinate space, and the corrected surface model is obtained by fusing the reference surface model and the example surface model. Therefore, the corrected surface model is also located in the coordinate space.
- the modified surface model needs to be extracted from the coordinate space to conform to the coordinate space corresponding to the target bone posture.
- the posture transformation matrix between the first bone posture and the target bone posture is determined.
- the posture transformation matrix determined here is named the target posture transformation matrix.
- the modified surface model in the coordinate space is subjected to coordinate transformation processing to obtain the extracted modified surface model, and then the extracted modified surface model and the target bone skin model are superimposed to generate Virtual object.
- the extracted modified surface model can be located in the coordinate space corresponding to the target bone posture, which facilitates the generation of virtual objects.
- the method before superimposing the extracted modified surface model and the target bone skin model, the method further includes: performing surface deformation processing on the target bone skin model.
- the above-mentioned superimposed processing of the extracted modified surface model and the target bone skin model can be realized to generate a virtual object: the extracted modified surface model and the target bone skin model that has undergone surface deformation processing are processed Overlay processing to generate virtual objects.
- the reference surface model is skinned based on the target bone posture.
- the target bone skin model can be subjected to surface deformation processing according to actual needs, such as applying various complex Non-linear additional surface deformation.
- the surface deformation can be generated based on a third-party system. For example, after the target skeletal skin model is generated, a third-party muscle simulation system is called to apply a specific shape of muscle on the target skeletal skin model.
- the extracted corrected surface model After extracting the corrected surface model obtained by the fusion process from the coordinate space where the reference surface model is located, the extracted corrected surface model can be combined with the target bone skin model with additional surface deformation (that is, surface deformation processed) Perform overlay processing to generate virtual objects.
- additional surface deformation that is, surface deformation processed
- the method further includes: performing rendering processing on the generated virtual object to display the virtual object in the virtual scene.
- the terminal device may perform rendering processing on the generated virtual object locally to display the virtual object in the virtual scene; when the electronic device used to generate the virtual object is a server At this time, the server may send the generated rendering data of the virtual object to the terminal device, and the terminal device may perform rendering processing according to the received rendering data to display the virtual object in the virtual scene.
- the virtual scene can also be obtained through rendering.
- FIG. 3C is a schematic flowchart of an image processing method provided by an embodiment of the present application.
- Step 420 shown in FIG. 3B can be updated to step 610.
- step 610 at least Two second bone poses.
- only one example surface model can be generated, so as to generate virtual objects based on the reference surface model and one example surface model; at least two example surface models can also be generated according The reference surface model and at least two example surface models are used to generate virtual objects.
- an example is given for the latter case.
- at least two second bone poses of the virtual object are acquired.
- the case where the acquired first bone posture is P 0 , the reference surface model is M 0 , and the acquired second bone posture includes P 1 , P 2, and P 3 will be described as an example.
- step 430 shown in FIG. 3B can be updated to step 620.
- step 620 at least two example surface models of the second bone poses are generated based on the reference surface model and the at least two second bone poses.
- an example surface model of the second bone pose is generated based on the reference surface model and the second bone pose.
- a corresponding example surface model can be obtained. For example, to obtain a second bone surface model posture Example 1 P M 1, a second bone surface model posture Example 2 P M 2, and a second bone surface model pose Example 3 P M 3.
- step 440 shown in FIG. 3B can be updated to step 630.
- step 630 the pose transformation matrix between the first bone pose and each second bone pose is determined.
- a posture transformation matrix between the first skeleton posture and the second skeleton posture is also determined.
- step 450 shown in FIG. 3B can be updated to step 640.
- step 640 based on the pose transformation matrix between the first bone pose and each second bone pose, at least two example surface models and The reference surface model is converted to the same coordinate space.
- the example surface model M 2 of the second bone pose P 2 can be converted to a reference
- the surface model is the coordinate space where M 0 is located, and so on.
- step 530 shown in FIG. 3B can be updated to step 650.
- step 650 based on the reference surface model in the coordinate space and at least two example surface models, a modified surface model of the target bone pose is determined.
- the generated material resources include at least two sample surface models.
- the electronic device determines the modified surface model according to all stored sample surface models and reference surface models.
- the weight W 0 assigned to P 0 can be determined .
- the weight assigned to P1 is W 1
- the weight assigned to P 2 is W 2
- the weight assigned to P 3 is W 3 .
- fusion processing is performed on M 0 , M 1 , M 2, and M 3 to obtain a corrected surface model M.
- At least two second bone poses may be used to generate material resources and virtual objects. As the number of second bone poses increases, the effect of the generated virtual objects will be better.
- the pre-generated material resources include the reference surface model M 0 , the sample surface model M 1 , the sample surface model M 2 , the sample surface model M 3 , and the sample surface model M i , where i is an integer greater than 3.
- a first gesture includes skeletal bone attitude reference surface of the model M 0 P 0, the second example of bone surface model pose 1 M P 1, a second example of bone surface model posture M 2 P 2, the surface of sample second bone posture model M 3 P 3, the surface of the model sample up to a second bone posture M i P i.
- the pose transformation matrix between the target bone pose P and the first bone pose P 0 is calculated, so as to perform coordinate space transformation in the subsequent process through the pose transformation matrix.
- the reference surface model M 0 is skinned to obtain the target bone skin model. Furthermore, on the basis of the target bone skin model, a third-party system can be used to perform surface deformation processing, that is, additional surface deformation is applied, for example, a third-party muscle simulation system is used to apply a specific shape of muscle.
- the RBF algorithm is used to perform interpolation processing between the read bone poses, so as to obtain the weights that need to be assigned to the read bone poses when all the read bone poses are merged into the target bone pose P. Furthermore, according to the assigned weights, the surface models corresponding to the read bone postures are fused to obtain the corrected surface model stored in the reference coordinate space.
- Fig. 6 shows a terminal interface diagram in which the image processing method of the embodiment of the present application is applied to Maya software (a kind of three-dimensional modeling software) to generate virtual objects.
- the pre-generated material resources may be upper arm surface models of various skeletal postures generated for the upper arm of the virtual object.
- the terminal interface diagram of Maya software shown in the embodiment of the application includes four nodes integrated with corresponding functions: upper arm posture reading node (uperarm_r node), skin node (skinCluster node), and additional surface deformation node (deformate node) , Fusion node (posedriver node).
- the upperarm_r node is mainly used to read the upper arm surface model of various bone poses in the material resources;
- the shinCluster node is mainly used for skinning processing;
- the deformate node is mainly used to apply additional surface deformation, that is, surface deformation processing;
- posedriver node It is mainly used for fusion processing of surface models to generate modified surface models.
- the calculation and application of the pose transformation matrix can be encapsulated in the posedriver node.
- the skinCluster node used for skinning can only be placed in the virtual object generation phase.
- the surface model is fused behind the posedriver node.
- the deformate node used to apply additional surface deformation cannot be directly placed between the skinCluster node and the posedriver node.
- the modified surface model obtained by the posedriver node can be compatible with any non-linear additional surface deformation, so that it can be directly superimposed on the skin after the coordinate conversion process is performed through the pose transformation matrix. On the bone skin model treated with additional surface deformation.
- an embodiment of the present application also provides an image processing device, including: a first acquisition module 710, configured to acquire a reference surface model of a first bone pose of a virtual object; and a second acquisition module 720, configured to Obtain the second bone pose of the virtual object; the generation module 730 is configured to generate an example surface model of the second bone pose based on the reference surface model and the second bone pose; the matrix determination module 740 is configured to determine the first bone pose and the second bone pose The posture transformation matrix between the skeletal postures; the coordinate space conversion module 750 is configured to convert the example surface model and the reference surface model to the same coordinate space based on the posture transformation matrix, so as to perform processing based on the reference surface model and the example surface model in the coordinate space Generation of virtual objects.
- the generation module 730 is configured to: perform skin processing on the reference surface model based on the second bone pose to obtain the example bone skin model of the second bone pose; extract the surface data of the example bone skin model according to the surface The data generates an example surface model of the second bone pose.
- the image processing device is configured to: obtain the requester's modification request for the example skeleton skin model; when the modification request is verified, the modification authority of the example skeleton skin model is opened to the requester, so that The requester modifies the example skeleton skin model; extracts the surface data of the modified example skeleton skin model.
- the coordinate space conversion module 750 is configured to perform coordinate conversion processing on the example surface model according to the pose transformation matrix to convert the example surface model to the coordinate space where the reference surface model is located.
- the image processing device is configured to: obtain the target bone pose of the virtual object; perform skin processing on the reference surface model based on the target bone pose to obtain the target bone skin model of the target bone pose; and based on the reference in the coordinate space
- the surface model and the sample surface model are used to determine the modified surface model of the target bone posture; based on the target bone skin model and the modified surface model, virtual objects are generated.
- the image processing device is configured to: determine the weights assigned to the first bone pose and the second bone pose when the first bone pose and the second bone pose are merged into the target bone pose; based on the first bone The weight of the posture and the weight of the second bone posture are fused to the reference surface model and the example surface model to obtain a modified surface model of the target bone posture.
- the image processing device is configured to perform interpolation processing between the first bone pose and the second bone pose by using a radial basis function when fusing the first bone pose and the second bone pose into the target bone pose , Get the weights assigned to the first bone posture and the second bone posture respectively.
- the image processing device is configured to: use the weight of the first bone pose as the weight of the reference surface model, use the weight of the second bone pose as the weight of the example surface model, and perform processing on the reference surface model and the example surface model. After weighting, the modified surface model of the target bone pose is obtained.
- the image processing device is configured to: determine the posture transformation matrix between the first bone posture and the target bone posture as the target posture transformation matrix; perform the correction surface model in the coordinate space based on the target posture transformation matrix Coordinate transformation is processed to obtain the extracted modified surface model; the extracted modified surface model and the target bone skin model are superimposed to generate a virtual object.
- the image processing device is configured to: perform surface deformation processing on the target bone skin model; and perform superposition processing on the extracted corrected surface model and the target bone skin model subjected to surface deformation processing to generate a virtual object.
- the number of second bone poses includes at least two; the image processing device is configured to generate at least two example surface models of the second bone poses based on the reference surface model and the at least two second bone poses; Determine the pose transformation matrix between the first bone pose and each second bone pose; convert at least two example surface models and reference surface models based on the pose transformation matrix between the first bone pose and each second bone pose To the same coordinate space.
- the image processing device is configured to: obtain the target bone pose of the virtual object; perform skin processing on the reference surface model based on the target bone pose to obtain the target bone skin model of the target bone pose; and based on the reference in the coordinate space
- the surface model and at least two sample surface models are used to determine the modified surface model of the target bone posture; based on the target bone skin model and the modified surface model, a virtual object is generated.
- the image processing device is configured to: obtain manipulation data for the virtual object; and determine the target bone posture of the virtual object based on the manipulation data.
- the image processing device is configured to: obtain sensor data; determine a user action based on the sensor data; and determine a target bone posture of the virtual object based on the user action.
- the image processing apparatus is configured to perform rendering processing on the generated virtual object to display the virtual object in the virtual scene.
- the electronic device 80 according to an embodiment of the present application will be described below with reference to FIG. 8.
- the electronic device 80 shown in FIG. 8 is only an example, and should not bring any limitation to the function and scope of use of the embodiments of the present application.
- the electronic device 80 is represented in the form of a general-purpose computing device.
- the components of the electronic device 80 may include, but are not limited to: the aforementioned at least one processing unit 810, the aforementioned at least one storage unit 820, and a bus 830 connecting different system components (including the storage unit 820 and the processing unit 810).
- the storage unit stores program codes, and the program codes can be executed by the processing unit 810, so that the processing unit 810 executes the steps according to various exemplary embodiments of the present application described in the description section of the foregoing exemplary method of this specification.
- the processing unit 810 may perform various steps as shown in FIG. 3A, FIG. 3B, and FIG. 3C.
- the storage unit 820 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 8201 and/or a cache storage unit 8202, and may further include a read-only storage unit (ROM) 8203.
- RAM random access storage unit
- ROM read-only storage unit
- the storage unit 820 may also include a program/utility tool 8204 having a set of (at least one) program module 8205.
- program module 8205 includes but is not limited to: an operating system, one or more application programs, other program modules, and program data, Each of these examples or some combination may include the implementation of a network environment.
- the bus 830 may represent one or more of several types of bus structures, including a storage unit bus or a storage unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local area using any bus structure among multiple bus structures. bus.
- the electronic device 80 can also communicate with one or more external devices 900 (such as keyboards, pointing devices, Bluetooth devices, etc.), and can also communicate with one or more devices that enable users to interact with the electronic device 80, and/or communicate with Any device (such as a router, modem, etc.) that enables the electronic device 80 to communicate with one or more other computing devices.
- This communication can be performed through an input/output (I/O) interface 850.
- An input/output (I/O) interface 850 is connected to the display unit 840.
- the electronic device 80 may also communicate with one or more networks (for example, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through the network adapter 860.
- networks for example, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet
- the network adapter 860 communicates with other modules of the electronic device 80 through the bus 830. It should be understood that although not shown in the figure, other hardware and/or software modules can be used in conjunction with the electronic device 80, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives And data backup storage system, etc.
- the example embodiments described here can be implemented by software, or can be implemented by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, U disk, mobile hard disk, etc.) or on the network , Including several instructions to make a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) execute the method according to the embodiment of the present application.
- a computing device which can be a personal computer, a server, a terminal device, or a network device, etc.
- a computer-readable storage medium which stores computer-readable instructions.
- the image processing method provided in the embodiments of the present application is implemented.
- the embodiment of the present application also provides a program product for implementing the image processing method, which can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can run on a terminal device, such as a personal computer.
- a program product of the present application is not limited thereto.
- the readable storage medium may be any tangible medium that contains or stores a program, and the program may be used by or in combination with an instruction execution system, device, or device.
- the program product can adopt any combination of one or more readable media.
- the readable medium may be a readable signal medium or a readable storage medium.
- the readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or a combination of any of the above. More specific examples (non-exhaustive list) of readable storage media include: electrical connections with one or more wires, portable disks, hard disks, random access memory (RGM), read-only memory (ROM), erasable Type programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
- the computer-readable signal medium may include a data signal propagated in baseband or as a part of a carrier wave, and readable program code is carried therein. This propagated data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
- the readable signal medium may also be any readable medium other than a readable storage medium, and the readable medium may send, propagate, or transmit a program for use by or in combination with the instruction execution system, apparatus, or device.
- the program code contained on the readable medium can be transmitted by any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
- the program code used to perform the operations of this application can be written in any combination of one or more programming languages.
- Programming languages include object-oriented programming languages—such as JAVA, C++, etc., as well as conventional procedural programming. Language-such as "C" language or similar programming language.
- the program code can be executed entirely on the user's computing device, partly on the user's device, executed as an independent software package, partly on the user's computing device and partly executed on the remote computing device, or entirely on the remote computing device or server Executed on.
- the remote computing device can be connected to a user computing device through any kind of network, including a local area network (KGN) or a wide area network (WGN), or it can be connected to an external computing device (for example, using Internet service providers). Business to connect via the Internet).
- KGN local area network
- WGN wide area network
- modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory.
- the features and functions of two or more modules or units described above may be embodied in one module or unit.
- the features and functions of a module or unit described above can be further divided into multiple modules or units to be embodied.
- the example embodiments described here can be implemented by software, or can be implemented by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, U disk, mobile hard disk, etc.) or on the network , Including several instructions to make a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) execute the method according to the embodiment of the present application.
- a non-volatile storage medium which can be a CD-ROM, U disk, mobile hard disk, etc.
- Including several instructions to make a computing device which can be a personal computer, a server, a mobile terminal, or a network device, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Geometry (AREA)
- General Health & Medical Sciences (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
Claims (19)
- 一种图像处理方法,由电子设备执行,所述方法包括:获取虚拟对象的第一骨骼姿态的基准表面模型;获取所述虚拟对象的第二骨骼姿态;基于所述基准表面模型及所述第二骨骼姿态,生成所述第二骨骼姿态的范例表面模型;确定所述第一骨骼姿态与所述第二骨骼姿态之间的姿态变换矩阵;基于所述姿态变换矩阵,将所述范例表面模型及所述基准表面模型转换至同一坐标空间,以根据所述坐标空间中的所述基准表面模型及所述范例表面模型进行所述虚拟对象的生成。
- 根据权利要求1所述的方法,其中,所述基于所述基准表面模型及所述第二骨骼姿态,生成所述第二骨骼姿态的范例表面模型,包括:基于所述第二骨骼姿态对所述基准表面模型进行蒙皮处理,得到所述第二骨骼姿态的范例骨骼蒙皮模型;提取所述范例骨骼蒙皮模型的表面数据,根据所述表面数据生成所述第二骨骼姿态的范例表面模型。
- 根据权利要求2所述的方法,其中,所述提取所述范例骨骼蒙皮模型的表面数据之前,所述方法还包括:获取请求方对所述范例骨骼蒙皮模型的修改请求;当对所述修改请求的验证通过时,将所述范例骨骼蒙皮模型的修改权限开放给所述请求方,以使所述请求方对所述范例骨骼蒙皮模型进行修改;所述提取所述范例骨骼蒙皮模型的表面数据,包括:提取修改后的所述范例骨骼蒙皮模型的表面数据。
- 根据权利要求1所述的方法,其中,所述基于所述姿态变换矩阵,将所述范例表面模型及所述基准表面模型转换至同一坐标空间,包括:根据所述姿态变换矩阵,对所述范例表面模型进行坐标变换处理,以将所述范例表面模型转换至所述基准表面模型所在的坐标空间。
- 根据权利要求1所述的方法,其中,所述方法还包括:获取所述虚拟对象的目标骨骼姿态;基于所述目标骨骼姿态对所述基准表面模型进行蒙皮处理,得到所述目标骨骼姿态的目标骨骼蒙皮模型;基于所述坐标空间中的所述基准表面模型及所述范例表面模型,确定所述目标骨骼姿态的修正表面模型;基于所述目标骨骼蒙皮模型及所述修正表面模型,生成所述虚拟对象。
- 根据权利要求5所述的方法,其中,所述基于所述坐标空间中的所述基准表面模型及所述范例表面模型,确定所述目标骨骼姿态的修正表面模型,包括:确定在将所述第一骨骼姿态及所述第二骨骼姿态融合为所述目标骨骼姿态时,分别为所述第一骨骼姿态及所述第二骨骼姿态分配的权重;基于所述第一骨骼姿态的权重及所述第二骨骼姿态的权重,对所述基准表面模型及所述范例表面模型进行融合处理,得到所述目标骨骼姿态的修正表面模型。
- 根据权利要求6所述的方法,其中,所述确定在将所述第一骨骼姿态及所述第二骨骼姿态融合为所述目标骨骼姿态时,分别为所述第一骨骼姿态及所述第二骨骼姿态分配的权重,包括:在将所述第一骨骼姿态及所述第二骨骼姿态融合为所述目标骨骼姿态时,通过径向基函数在所述第一骨骼姿态与所述第二骨骼姿态之间进行插值处理,得到分别为所述第一骨骼姿态及所述第二骨骼姿态分配的权重。
- 根据权利要求6所述的方法,其中,所述基于所述第一骨骼姿态的权重及所述第二骨骼姿态的权重,对所述基准表面模型及所述范例表面模型进行融合处理,得到所述目标骨骼姿态的修正表面模型,包括:将所述第一骨骼姿态的权重作为所述基准表面模型的权重,将所述第二骨骼姿态的权重作为所述范例表面模型的权重,并对所述基准表面模型及所述范例表面模型进行加权处理,得到所述目标骨骼姿态的修正表面模型。
- 根据权利要求5所述的方法,其中,所述基于所述目标骨骼蒙皮模型及所述修正表面模型,生成所述虚拟对象,包括:确定所述第一骨骼姿态与所述目标骨骼姿态之间的姿态变换矩阵,以作为目标姿态变换矩阵;基于所述目标姿态变换矩阵,对所述坐标空间中的所述修正表面模型进行坐标变换处理,得到提取出的所述修正表面模型;将提取出的所述修正表面模型与所述目标骨骼蒙皮模型进行叠加处理,以生成所述虚拟对象。
- 根据权利要求9所述的方法,其中,所述将提取出的所述修正表面模型与所述目标骨骼蒙皮模型进行叠加处理之前,所述方法还包括:对所述目标骨骼蒙皮模型进行表面形变处理;所述将提取出的所述修正表面模型与所述目标骨骼蒙皮模型进行叠加处理,以生成所述虚拟对象,包括:将提取出的所述修正表面模型与经过表面形变处理的所述目标骨骼蒙皮模型进行叠加处理,以生成所述虚拟对象。
- 根据权利要求5所述的方法,其中,所述获取所述虚拟对象的目标骨骼姿态,包括:获取针对所述虚拟对象的操控数据;基于所述操控数据,确定所述虚拟对象的目标骨骼姿态。
- 根据权利要求5所述的方法,其中,所述获取所述虚拟对象的目标骨骼姿态,包括:获取传感器数据;基于所述传感器数据,确定用户动作;基于所述用户动作,确定所述虚拟对象的目标骨骼姿态。
- 根据权利要求1至12任一项所述的方法,其中,所述第二骨骼姿态的数量包括至少两个;所述基于所述基准表面模型及所述第二骨骼姿态,生成所述第二骨骼姿态的范例表面模型,包括:基于所述基准表面模型及至少两个所述第二骨骼姿态,分别生成至少两个所述第二骨骼姿态的范例表面模型。
- 根据权利要求13所述的方法,其中,所述确定所述第一骨骼姿态与所述第二骨骼姿态之间的姿态变换矩阵,包括:确定所述第一骨骼姿态与每个所述第二骨骼姿态之间的姿态变换矩阵;所述基于所述姿态变换矩阵,将所述范例表面模型及所述基准表面模型转换至同一坐标空间,包括:基于所述第一骨骼姿态与每个所述第二骨骼姿态之间的姿态变换矩阵,将至少两个所述范例表面模型及所述基准表面模型转换至同一坐标空间。
- 根据权利要求14所述的方法,其中,所述方法还包括:获取所述虚拟对象的目标骨骼姿态;基于所述目标骨骼姿态对所述基准表面模型进行蒙皮处理,得到所述目标骨骼姿态的目标骨骼蒙皮模型;基于所述坐标空间中的所述基准表面模型及至少两个所述范例表面模型,确定所述目标骨骼姿态的修正表面模型;基于所述目标骨骼蒙皮模型及所述修正表面模型,生成所述虚拟对象。
- 根据权利要求1至12任一项所述的方法,其中,所述方法还包括:对生成的所述虚拟对象进行渲染处理,以在虚拟场景中显示所述虚拟对象。
- 一种图像处理装置,所述装置包括:第一获取模块,配置为获取虚拟对象的第一骨骼姿态的基准表面模型;第二获取模块,配置为获取所述虚拟对象的第二骨骼姿态;生成模块,配置为基于所述基准表面模型及所述第二骨骼姿态,生成所述第二骨骼姿态的范例表面模型;矩阵确定模块,配置为确定所述第一骨骼姿态与所述第二骨骼姿态之间的姿态变换矩阵;坐标空间转换模块,配置为基于所述姿态变换矩阵,将所述范例表面模型及所述基准表面模型转换至同一坐标空间,以根据所述坐标空间中的所述基准表面模型及所述范例表面模型进行所述虚拟对象的生成。
- 一种电子设备,包括:存储器,配置为存储有计算机可读指令;处理器,配置为执行所述存储器存储的所述计算机可读指令,以实现权利要求1至16中任一项所述的图像处理方法。
- 一种计算机可读存储介质,存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现权利要求1至16中任一项所述的图像处理方法。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022520106A JP7299414B2 (ja) | 2020-01-14 | 2020-10-30 | 画像処理方法、装置、電子機器及びコンピュータプログラム |
| EP20913250.5A EP4002286A4 (en) | 2020-01-14 | 2020-10-30 | Image processing method and apparatus, and electronic device and storage medium |
| KR1020227003382A KR102698917B1 (ko) | 2020-01-14 | 2020-10-30 | 이미지 처리 방법 및 장치, 전자 장치 및 저장 매체 |
| US17/706,242 US12183036B2 (en) | 2020-01-14 | 2022-03-28 | Image processing method and apparatus, electronic device, and storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010036516.7A CN111223171B (zh) | 2020-01-14 | 2020-01-14 | 图像处理方法、装置、电子设备及存储介质 |
| CN202010036516.7 | 2020-01-14 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/706,242 Continuation US12183036B2 (en) | 2020-01-14 | 2022-03-28 | Image processing method and apparatus, electronic device, and storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2021143278A1 true WO2021143278A1 (zh) | 2021-07-22 |
Family
ID=70806354
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/125081 Ceased WO2021143278A1 (zh) | 2020-01-14 | 2020-10-30 | 图像处理方法、装置、电子设备及存储介质 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US12183036B2 (zh) |
| EP (1) | EP4002286A4 (zh) |
| JP (1) | JP7299414B2 (zh) |
| KR (1) | KR102698917B1 (zh) |
| CN (1) | CN111223171B (zh) |
| WO (1) | WO2021143278A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12183036B2 (en) | 2020-01-14 | 2024-12-31 | Tencent Technology (Shenzhen) Company Limited | Image processing method and apparatus, electronic device, and storage medium |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111696184B (zh) * | 2020-06-10 | 2023-08-29 | 上海米哈游天命科技有限公司 | 骨骼蒙皮融合确定方法、装置、设备和存储介质 |
| CN112509098B (zh) * | 2020-11-30 | 2024-02-13 | 北京百度网讯科技有限公司 | 动画形象生成方法、装置及电子设备 |
| CN113034691B (zh) * | 2021-03-22 | 2025-04-29 | 广州虎牙科技有限公司 | 人体模型的骨骼绑定方法、装置及电子设备 |
| CN113101666B (zh) * | 2021-05-07 | 2024-03-08 | 网易(杭州)网络有限公司 | 游戏角色模型方法、装置、计算机设备及存储介质 |
| CN113610992B (zh) * | 2021-08-04 | 2022-05-20 | 北京百度网讯科技有限公司 | 骨骼驱动系数确定方法、装置、电子设备及可读存储介质 |
| CN115082604B (zh) | 2022-07-06 | 2025-09-19 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
| CN115526968A (zh) * | 2022-10-14 | 2022-12-27 | 网易(杭州)网络有限公司 | 模型表情的重定向方法及装置、存储介质、电子设备 |
| CN115937373B (zh) * | 2022-12-23 | 2023-10-03 | 北京百度网讯科技有限公司 | 虚拟形象驱动方法、装置、设备以及存储介质 |
| CN119971490B (zh) * | 2023-11-10 | 2025-12-16 | 网易(杭州)网络有限公司 | 游戏的资源传输方法、装置、终端设备和存储介质 |
| CN117456611B (zh) * | 2023-12-22 | 2024-03-29 | 拓世科技集团有限公司 | 一种基于人工智能的虚拟人物训练方法及系统 |
| CN118012272B (zh) * | 2024-04-09 | 2024-06-07 | 南京维赛客网络科技有限公司 | 基于语境分析切换虚拟人物动作的方法、系统及存储介质 |
| CN120339562B (zh) * | 2025-06-23 | 2025-08-26 | 中汽研汽车检验中心(天津)有限公司 | 一种人体骨骼模型的姿态变换方法、装置、介质及设备 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130127853A1 (en) * | 2011-11-17 | 2013-05-23 | Mixamo, Inc. | System and method for automatic rigging of three dimensional characters for facial animation |
| CN109395390A (zh) * | 2018-10-26 | 2019-03-01 | 网易(杭州)网络有限公司 | 游戏角色脸部模型的处理方法、装置、处理器及终端 |
| US20200005537A1 (en) * | 2018-06-29 | 2020-01-02 | Dreamworks Animation Llc | Real-time collision deformation |
| CN111223171A (zh) * | 2020-01-14 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、电子设备及存储介质 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100530244C (zh) * | 2005-06-21 | 2009-08-19 | 中国科学院计算技术研究所 | 一种基于骨骼的任意拓扑结构虚拟角色的驱动方法 |
| US20070268293A1 (en) * | 2006-05-19 | 2007-11-22 | Erick Miller | Musculo-skeletal shape skinning |
| JP5322078B2 (ja) | 2007-03-26 | 2013-10-23 | サミー株式会社 | 画像生成装置および画像生成プログラム |
| JP4579964B2 (ja) * | 2007-12-13 | 2010-11-10 | 株式会社コナミデジタルエンタテインメント | 画像生成装置、画像生成方法、ならびに、プログラム |
| US8400455B2 (en) * | 2008-01-11 | 2013-03-19 | Sony Corporation | Method and apparatus for efficient offset curve deformation from skeletal animation |
| CN104021584B (zh) * | 2014-06-25 | 2017-06-06 | 无锡梵天信息技术股份有限公司 | 一种骨骼蒙皮动画的实现方法 |
| JP6340313B2 (ja) * | 2014-12-24 | 2018-06-06 | ソフトバンク株式会社 | モデリングシステム、モデリングプログラム、及びモデリング方法 |
| US9928663B2 (en) * | 2015-07-27 | 2018-03-27 | Technische Universiteit Delft | Skeletal joint optimization for linear blend skinning deformations utilizing skeletal pose sampling |
| US10061871B2 (en) * | 2015-07-27 | 2018-08-28 | Technische Universiteit Delft | Linear blend skinning weight optimization utilizing skeletal pose sampling |
| CN106228592A (zh) * | 2016-09-12 | 2016-12-14 | 武汉布偶猫科技有限公司 | 一种服装三维模型自动绑定蒙皮信息的方法 |
| WO2018095273A1 (zh) * | 2016-11-24 | 2018-05-31 | 腾讯科技(深圳)有限公司 | 图像合成方法、装置以及匹配实现方法、装置 |
| CN111640176A (zh) | 2018-06-21 | 2020-09-08 | 华为技术有限公司 | 一种物体建模运动方法、装置与设备 |
| WO2020009800A1 (en) * | 2018-07-02 | 2020-01-09 | Magic Leap, Inc. | Methods and systems for interpolation of disparate inputs |
| CN110102050B (zh) * | 2019-04-30 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 虚拟对象显示方法、装置、电子设备及存储介质 |
-
2020
- 2020-01-14 CN CN202010036516.7A patent/CN111223171B/zh active Active
- 2020-10-30 EP EP20913250.5A patent/EP4002286A4/en active Pending
- 2020-10-30 JP JP2022520106A patent/JP7299414B2/ja active Active
- 2020-10-30 WO PCT/CN2020/125081 patent/WO2021143278A1/zh not_active Ceased
- 2020-10-30 KR KR1020227003382A patent/KR102698917B1/ko active Active
-
2022
- 2022-03-28 US US17/706,242 patent/US12183036B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130127853A1 (en) * | 2011-11-17 | 2013-05-23 | Mixamo, Inc. | System and method for automatic rigging of three dimensional characters for facial animation |
| US20200005537A1 (en) * | 2018-06-29 | 2020-01-02 | Dreamworks Animation Llc | Real-time collision deformation |
| CN109395390A (zh) * | 2018-10-26 | 2019-03-01 | 网易(杭州)网络有限公司 | 游戏角色脸部模型的处理方法、装置、处理器及终端 |
| CN111223171A (zh) * | 2020-01-14 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
| Title |
|---|
| BLENDER CHINESE COMMUNITY: "Auto-Rig Pro Blender rig kit", 20 December 2019 (2019-12-20), pages 1 - 5, XP055828882, Retrieved from the Internet <URL:https://www.blendercn.org/6378.html> * |
| See also references of EP4002286A4 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12183036B2 (en) | 2020-01-14 | 2024-12-31 | Tencent Technology (Shenzhen) Company Limited | Image processing method and apparatus, electronic device, and storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111223171A (zh) | 2020-06-02 |
| JP2022550555A (ja) | 2022-12-02 |
| US20220215583A1 (en) | 2022-07-07 |
| KR102698917B1 (ko) | 2024-08-23 |
| JP7299414B2 (ja) | 2023-06-27 |
| EP4002286A1 (en) | 2022-05-25 |
| KR20220028069A (ko) | 2022-03-08 |
| EP4002286A4 (en) | 2022-11-30 |
| CN111223171B (zh) | 2025-06-27 |
| US12183036B2 (en) | 2024-12-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2021143278A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
| US11823315B2 (en) | Animation making method and apparatus, computing device, and storage medium | |
| CN109377544B (zh) | 一种人脸三维图像生成方法、装置和可读介质 | |
| CN113946211A (zh) | 基于元宇宙的多个对象的交互方法及相关设备 | |
| JP2023549747A (ja) | 触覚オブジェクトの表現フォーマット | |
| US11928762B2 (en) | Asynchronous multi-user real-time streaming of web-based image edits using generative adversarial network(s) | |
| CN113223121A (zh) | 视频生成方法、装置、电子设备及存储介质 | |
| CN109035415B (zh) | 虚拟模型的处理方法、装置、设备和计算机可读存储介质 | |
| CN114332317B (zh) | 动画数据处理方法、装置、程序产品、介质及电子设备 | |
| CN114399424A (zh) | 模型训练方法及相关设备 | |
| CN114998490B (zh) | 一种虚拟对象生成方法、装置、设备及存储介质 | |
| CN111447379B (zh) | 生成信息的方法和装置 | |
| CN117826989A (zh) | 电力元宇宙的拓展现实沉浸式交互方法及装置 | |
| CN116993868A (zh) | 动画生成方法、装置、电子设备及存储介质 | |
| CN116431001A (zh) | 一种在虚拟空间中实现ai交互的方法 | |
| CN115775300A (zh) | 人体模型的重建方法、人体重建模型的训练方法及装置 | |
| JP2023011742A (ja) | 画像処理方法及び装置、モデルトレーニング方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム | |
| HK40024180A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
| CN116246014B (zh) | 一种形象生成方法、装置、存储介质及电子设备 | |
| CN120276589A (zh) | 可实现现实虚拟的用户交互方法及装置 | |
| HK40024180B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
| CN121213841A (zh) | 一种虚拟环境中衣物的动态更新方法、装置、设备及介质 | |
| CN116259099A (zh) | 手势姿态估计方法、系统及计算机可读存储介质 | |
| HK40024182B (zh) | 一种制作动画的方法、装置及存储介质 | |
| HK40024182A (zh) | 一种制作动画的方法、装置及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20913250 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 20227003382 Country of ref document: KR Kind code of ref document: A |
|
| ENP | Entry into the national phase |
Ref document number: 2020913250 Country of ref document: EP Effective date: 20220218 |
|
| ENP | Entry into the national phase |
Ref document number: 2022520106 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |