Method and system for setting and displaying a garment sheet

By receiving user instructions to select the target position of 2D clothing patterns and using optimization functions and physical simulation methods, it is represented as clothing pieces on a 3D image. This solves the problems of limited selection and self-intersection in traditional methods and achieves flexible and fitting clothing design.

CN120604269APending Publication Date: 2025-09-05LINGDI (ZHEJIANG) TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480000545.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-03
Publication Date
2025-09-05

AI Technical Summary

Technical Problem

In traditional clothing design, users can only assign clothing patterns to predefined body parts of a 3D figure, resulting in limited choices and problems such as inconsistent and self-intersecting clothing patterns with the figure.

Method used

By receiving user instructions to select the target position of the 2D clothing pattern, and using optimization functions and physical simulation methods to represent it as a clothing piece on the 3D image, the user can freely select the position and achieve tight wrapping by translating the vertex position.

Benefits of technology

It realizes the flexible setting of clothing patterns on 3D images, reduces the self-intersection between clothing pieces, and improves the fit between clothing pieces and images.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120604269A_ABST
    Figure CN120604269A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a method for setting a clothing sheet and user equipment. In one embodiment, a first user instruction may be received, the first user instruction may be used to select a first target location from a two-dimensional (Twood-dimensional, 2D) garment sheet, and to assign the 2D garment sheet to a second target location on a three-dimensional (Three-dimensional, 3D) image. And in response to the first user instruction, representing the 2D clothing sheet as a 3D clothing cloth piece surrounding the 3D image at a second target position.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of clothing design, and more particularly to a method and system for setting and displaying clothing patterns. Background Art

[0002] Clothing design technology using computer software typically involves creating virtual 3D clothing by placing clothing patterns on a three-dimensional (3D) figure (e.g., a 3D human body model). Clothing design technology is highly efficient and provides great convenience to users, thus gaining widespread application in various fields. As a representative application, professional fashion designers can design clothing using computer software. Another representative application is that computer software can provide user-oriented clothing services using virtual 3D clothing, allowing users to try on clothes online or customize them. Summary of the Invention

[0003] One aspect of this specification provides a method for setting a garment pattern, implemented on a user terminal having at least one processor and at least one storage device. The method includes receiving a first user instruction for selecting a first target location from a 2D garment pattern and assigning the 2D garment pattern to a second target location on a 3D avatar. The method may further include, in response to the first user instruction, representing the 2D garment pattern as a 3D garment panel surrounding the 3D avatar at the second target location.

[0004] In some embodiments, the method may further include displaying a plurality of candidate 2D garment patterns for user selection.

[0005] In some embodiments, the method may further include receiving a second user instruction for adjusting the 3D garment panel. The method may further include displaying the adjusted 3D garment panel in response to the second user instruction.

[0006] In some embodiments, the method may further include displaying a 3D virtual garment on the 3D avatar, wherein the 3D virtual garment is generated by stitching the 3D garment piece with one or more other 3D garment pieces surrounding the 3D avatar.

[0007] In some embodiments, the method may include receiving a third user instruction for setting distance information between the 3D garment piece and the 3D character, wherein the 3D garment piece is represented based on the distance information.

[0008] In some embodiments, the second target position is freely selected by the user on the 3D image.

[0009] In some embodiments, a 2D garment pattern can be represented by a geometric pattern. The method may include determining vertex positions of the geometric pattern on the 3D image based on the first target position and the second target position. The method may also include representing the 2D garment pattern as the 3D garment piece by translating vertices of the geometric pattern based on the vertex positions.

[0010] In some embodiments, the vertex positions of the geometric pattern on the 3D image are determined by solving an optimization function, wherein the optimization function includes at least a first optimization term or a first constraint term related to a difference between a distance from each vertex position to the 3D image and a desired distance corresponding to the vertex.

[0011] In some embodiments, the expected distance corresponding to each vertex is determined based on at least one of the 2D garment panel, the body part of the 3D figure corresponding to the 2D garment panel, the body part of the 3D figure corresponding to the vertex, or distance information between the 3D garment panel and the 3D figure set by the user.

[0012] In some embodiments, the optimization function further includes a second optimization term or a second constraint term related to the deformation of the 2D garment pattern.

[0013] In some embodiments, the optimization function further includes a third optimization term or a third constraint term, and the third optimization term or the third constraint term is related to the distance between the second target position and the target vertex position corresponding to the first target position.

[0014] In some embodiments, the optimization function further includes a fourth optimization term or a fourth constraint term related to the orientation of the 3D garment panel.

[0015] In some embodiments, the vertex positions of the geometrical patch on the 3D image are determined based on the first target position and the second target position by a physical simulation method.

[0016] In some embodiments, the 2D garment pattern is represented by a geometric pattern. The method includes sending the first user instruction to a server. The method may also include receiving, from the server, vertex positions of the geometric pattern on the 3D image. The method may also include representing the 2D garment pattern as the 3D garment piece by translating vertices of the geometric pattern based on the vertex positions.

[0017] In some embodiments, the front surface of the 3D garment panel faces outward.

[0018] Another aspect of the present specification provides a user device. The user device may have at least one storage device storing an instruction set for setting a garment pattern and at least one processor configured to communicate with the at least one storage device. When executing the instruction set, the at least one processor is configured to instruct the user device to perform the following operations. The user device may receive a first user instruction for selecting a first target position from a 2D garment pattern and assigning the 2D garment pattern to a second target position on a 3D figure. Furthermore, in response to the first user instruction, the user device may represent the 2D garment pattern as a 3D garment piece surrounding the 3D figure at the second target position.

[0019] Another aspect of the present disclosure provides a method for setting a garment pattern. The method can be implemented on a server having at least one processor and at least one storage device. The method can include obtaining instructions for selecting a first target position from a two-dimensional (2D) garment pattern and assigning the 2D garment pattern to a second target position on a 3D figure, the 2D garment pattern being represented by a geometric pattern. The method can also include determining vertex positions of the geometric pattern on the 3D figure based on the first target position and the second target position. The method further includes instructing a user terminal to represent the 2D garment pattern as a 3D garment panel surrounding the 3D figure at the second target position based on the vertex positions.

[0020] In some embodiments, the instruction is input by a user through a user terminal, and the second target location is freely selected by the user.

[0021] In some embodiments, the instructions are computer-generated instructions, and the second target location is determined as follows: The method may include processing boundary information of the 2D garment pattern using a trained machine learning model to determine a body part of the 3D avatar corresponding to the 2D garment pattern. The method may also include determining the second target location on the 3D avatar based on the body part corresponding to the 2D garment pattern.

[0022] In some embodiments, the method may include determining the vertex positions of the geometric patch on the 3D image by solving an optimization function, wherein the optimization function includes at least a first optimization term or a first constraint term, and the first optimization term or the first constraint term is related to the difference between the distance from each vertex position to the 3D image and the expected distance corresponding to the vertex.

[0023] In some embodiments, the optimization function further includes a second optimization term or a second constraint term related to the deformation of the 2D garment pattern.

[0024] In some embodiments, the optimization function further includes a third optimization term or a third constraint term, and the third optimization term or the third constraint term is related to the distance between the second target position and the target vertex position corresponding to the first target position.

[0025] In some embodiments, the optimization function further includes a fourth optimization term or a fourth constraint term related to the orientation of the 3D garment panel.

[0026] In some embodiments, the method may further include determining a stitching relationship between the 3D garment piece and one or more other 3D garment pieces surrounding the 3D avatar. The method may also include instructing the user terminal to display a 3D virtual garment worn on the 3D avatar. The 3D virtual garment is generated by stitching the 3D garment piece and the one or more other 3D garment pieces based on the stitching relationship.

[0027] Another aspect of the present specification may provide a server comprising at least one storage device and at least one processor configured to communicate with the at least one storage device. The at least one storage device is used to store an instruction set for setting a garment pattern. When executing the instruction set, the at least one processor is configured to instruct the server to perform the following operations. The server may obtain instructions for selecting a first target position from a 2D garment pattern and assigning the 2D garment pattern to a second target position on a 3D image, the 2D garment pattern being represented by a geometric pattern. The server may also determine the vertex positions of the geometric pattern on the 3D image based on the first target position and the second target position. Further, the server may instruct the user terminal to represent the 2D garment pattern as a 3D garment cloth piece surrounding the 3D image at the second target position based on the vertex positions.

[0028] Another aspect of the present disclosure may provide a user terminal. The user terminal may include a receiving module and a display module. The receiving module may be configured to receive a first user instruction for selecting a first target position from a 2D garment pattern and assigning the 2D garment pattern to a second target position on a 3D avatar. The display module may be configured to, in response to the first user instruction, display the 2D garment pattern as a 3D garment panel surrounding the 3D avatar at the second target position.

[0029] Another aspect of the present specification may provide a server. The server may include an acquisition module, a determination module, and an instruction module. The acquisition module may be configured to acquire an instruction for selecting a first target position from a 2D garment pattern and assigning the 2D garment pattern to a second target position on a 3D image, wherein the 2D garment pattern is represented by a geometric pattern. The determination module may be configured to determine the vertex positions of the geometric pattern on the 3D image based on the first target position and the second target position. The instruction module may be configured to instruct the user terminal to represent the 2D garment pattern as a 3D garment piece surrounding the 3D image at the second target position based on the vertex positions.

[0030] In another aspect of the present specification, a non-transitory computer-readable medium may be provided. The non-transitory computer-readable medium includes at least one set of instructions for setting a garment pattern, wherein when executed by one or more processors of a computing device, the at least one set of instructions causes the computing device to perform a method. The method includes receiving a first user instruction, the first user instruction for selecting a first target position from a 2D garment pattern and assigning the 2D garment pattern to a second target position on a 3D avatar. The method may further include, in response to the first user instruction, representing the 2D garment pattern as a 3D garment panel surrounding the 3D avatar at the second target position.

[0031] Another aspect of the present specification may provide a non-transitory computer-readable medium. The non-transitory computer-readable medium may include at least one set of instructions for setting a garment pattern. When executed by one or more processors of a computing device, the at least one set of instructions causes the computing device to perform a method. The method includes obtaining instructions for selecting a first target position from a 2D garment pattern and assigning the 2D garment pattern to a second target position on a 3D image, the 2D garment pattern being represented by a geometric pattern. The method may also include determining, based on the first target position and the second target position, a vertex position of the geometric pattern on the 3D image. The method may further include instructing a user terminal to represent the 2D garment pattern as a 3D garment piece surrounding the 3D image at the second target position based on the vertex position.

[0032] Additional features will be set forth in part in the description which follows and in part will become apparent to those skilled in the art upon examination of the following and accompanying drawings, or may be learned by making or operating the examples. Features of the invention may be realized and obtained by practice or use of the various aspects of the methods, tools, and combinations described in the detailed examples discussed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] This specification will be further described by way of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are non-limiting and in which like reference numerals represent similar structures throughout the several views of the drawings, and in which:

[0034] Figure 1A is a schematic diagram of an exemplary clothing design system according to some embodiments of the present specification;

[0035] Figure 1B is a schematic diagram of exemplary information displayed on a user terminal according to some embodiments of this specification;

[0036] Figure 2 is a block diagram of an exemplary user terminal according to some embodiments of this specification;

[0037] Figure 3 is a flowchart of an exemplary process for setting garment patterns according to some embodiments of the present specification;

[0038] Figure 4A and 4B is a schematic diagram of an exemplary second target position according to some embodiments of this specification;

[0039] Figure 4C is a schematic diagram of exemplary physical wrinkles on a 2D garment panel 430 according to some embodiments of the present specification;

[0040] Figure 5A and 5B is a schematic diagram of an exemplary 3D garment panel according to some embodiments of this specification;

[0041] Figure 6A and 6B is a schematic diagram of an exemplary 3D garment panel according to some embodiments of this specification;

[0042] Figure 7A is a schematic diagram of an exemplary 3D virtual garment worn on a 3D avatar according to some embodiments of this specification;

[0043] Figure 7B is a schematic diagram of an exemplary 3D garment panel according to some embodiments of this specification;

[0044] Figure 8 is a block diagram of an exemplary server according to some embodiments of the present specification; and

[0045] Figure 9 is a flow chart of an exemplary method for setting garment patterns according to some embodiments of the present specification. DETAILED DESCRIPTION

[0046] In the following detailed description, many specific details are listed by way of example in order to provide a comprehensive understanding of the relevant disclosure. However, it should be apparent to those skilled in the art that this specification may be implemented without these details. In other cases, well-known methods, procedures, systems, components and / or circuits have been described at a relatively high level, without details, to avoid unnecessarily obscuring various aspects of this specification. Various modifications to the disclosed embodiments will be apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of this specification. Therefore, this specification is not limited to the embodiments shown, but is given the widest scope consistent with the claims.

[0047] It should be understood that although the terms "first," "second," "third," "fourth," etc., may be used to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element, without departing from the scope of the exemplary embodiments of the present invention.

[0048] The terms used herein are for the purpose of describing specific example embodiments only and are not intended to be limiting. As used herein, the singular forms "a" and "an" are also intended to include the plural forms, unless the context clearly indicates otherwise. It should be further understood that the terms "comprises" and "comprising", when used in this specification, specify the presence of the stated features, integers, steps, operations, elements and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups.

[0049] It should be understood that the terms "system," "engine," "unit," "module," and / or "block" used herein are a method of distinguishing different components, elements, parts, sections, or assemblies at different levels in ascending order. However, these terms may be replaced by another expression if the same purpose is achieved.

[0050] Generally, the words "module", "unit" or "block" used herein refer to logic contained in hardware or firmware, or to a collection of software instructions. The modules, units or blocks described herein can be implemented as software and / or hardware and can be stored in any type of non-temporary computer-readable medium or other storage device. In some embodiments, software modules / units / blocks can be compiled and linked into an executable program. It should be understood that software modules can be called from other modules / units / blocks or from themselves, and / or can be called in response to detected events or interrupts. Software modules / units / blocks configured for execution on a computing device can be provided on a computer-readable medium, such as an optical disc, a digital video disc, a flash drive, a disk or any other tangible medium, or as a digital download (and can be initially stored in a compressed or installed format, requiring installation, decompression or decryption before execution). The software code can be stored in part or in whole on a storage device that executes the computing device for execution by the computing device. Software instructions can be embedded in firmware, such as computer storage (Erasable Programmable Read-only Memory, EPROM). It should be further understood that hardware modules / units / blocks may be included in connected logical components (e.g., gates and triggers) and / or may include programmable units (e.g., programmable gate arrays or processors). The modules / units / blocks or computing device functions described herein may be implemented as software modules / units / blocks, but may be represented in hardware or firmware. Generally speaking, the modules / units / blocks described herein refer to logical modules / units / blocks that may be combined with other modules / units / blocks or divided into sub-modules / sub-units / sub-blocks regardless of their physical organization or storage. This specification may apply to systems, engines, or portions thereof.

[0051] It should be understood that when a unit, engine, module or block is referred to as being “connected,” “connected” or “coupled” to another unit, engine, module or block, it can be directly connected, connected or coupled to or communicate with the other unit, engine, module or block, or intervening units, engines, modules or blocks may be present, unless the context clearly indicates otherwise.

[0052] These and other features, as well as the features of the present specification, as well as the methods of operation and function of the related structural elements and the combination and manufacturing economy of the parts, may become more apparent after considering the following description with reference to the accompanying drawings, all of which form a part of this specification. However, it is to be expressly understood that the drawings are for illustration and description purposes only and are not intended to limit the scope of this specification. It is understood that the drawings are not drawn to scale.

[0053] In traditional garment pattern setting methods, when a user wants to sew garment patches onto a 3D avatar, they can only assign selected garment patterns to predefined body parts of the 3D avatar. Since the number of predefined body parts corresponding to the selected garment patterns is relatively small, the user's choice of body parts for setting garment patterns is relatively limited. Furthermore, the shape of the garment patch is determined by projecting the garment patch from a reference pattern space onto a predefined planar or cylindrical surface, which can lead to inconsistencies between the garment patch and the 3D avatar, as well as self-intersections between garment patches.

[0054] To address the aforementioned issues, this specification provides a method and system for setting garment patterns. Specifically, a user terminal may receive a first user instruction to select a first target location from a 2D garment pattern and assign the 2D garment pattern to a second target location on a 3D avatar. The second target location may be any location on the 3D avatar freely selected by the user. In response to the first user instruction, the user terminal may represent the 2D garment pattern as a 3D garment panel surrounding the 3D avatar at the second target location.

[0055] For example, a 2D garment pattern can be represented by a geometric pattern (e.g., multiple meshes). The user terminal can determine the vertex positions of the geometric pattern on the 3D image based on the first target position and the second target position, for example, by solving an optimization function. Furthermore, the user terminal can represent the 2D garment pattern as a 3D garment piece by translating the vertices of the geometric pattern based on the vertex positions.

[0056] Compared to traditional garment pattern placement methods, the methods and systems of this specification allow garment patterns to be placed anywhere on a 3D figure, making garment pattern placement more flexible. Furthermore, the methods and systems of this specification allow 3D garment panels to be tightly wrapped around a 3D figure, thereby reducing self-intersections between 3D garment panels.

[0057] Figure 1A is a schematic diagram of an exemplary clothing design system according to some embodiments of this specification. Figure 1A As shown, the clothing design system 100 may include a user terminal 110 (also referred to as a user device 110), a network 120, a server 130, and a storage device 140. In some embodiments, the user terminal 110, the server 130, and / or the storage device 140 may be connected and / or communicate with each other via a wireless connection (e.g., the network 120), a wired connection, or a combination thereof. The connections between the various components of the clothing design system 100 may be variable.

[0058] The user terminal 110 can enable user interaction between the user and the clothing design system 100. For example, the user terminal 110 can receive a user instruction input by the user (for example, a user instruction for assigning a 2D clothing pattern to a 3D image). As another example, the user terminal 110 can display information related to the clothing design system 100 to the user. For example, the user terminal 110 can display candidate 2D clothing patterns, 3D images, 3D clothing pieces surrounding the 3D image, parameter setting elements for setting relevant parameters, 3D virtual clothing, etc. for the user to select, or any combination thereof. Just as an example, Figure 1B FIG is a schematic diagram of exemplary information displayed on a user terminal according to some embodiments of this specification. Figure 1B As shown, the information displayed on the user terminal 110 includes candidate 2D garment patterns and 3D images.

[0059] In some embodiments, the terminal 110 may include a mobile device 111, a tablet computer 112, a laptop computer 113, or the like, or any combination thereof. In some embodiments, the user terminal 110 may include an input / output component, such as a display. Exemplary displays may include a liquid crystal display (LCD), a light emitting diode (LED)-based display, a flat panel display or a curved screen (or television), a cathode ray tube (CRT), a virtual reality device, an augmented reality device, or the like, or a combination thereof. In some embodiments, the user terminal 110 may be part of the server 130.

[0060] Network 120 may include any suitable network that can facilitate the exchange of information and / or data for garment design system 100. In some embodiments, one or more components of garment design system 100 (e.g., user terminal 110, server 130, storage device 140) can communicate information and / or data with one or more other components of garment design system 100 via network 120. For example, server 130 can obtain instructions from user terminal 110 via network 120.

[0061] The server 130 may process data and / or information obtained from the user terminal 110, the storage device 140, or other components of the garment design system 100. For example, the server 130 may determine information for arranging a 2D garment pattern on a 3D avatar (e.g., vertex positions of the 2D garment pattern on the 3D avatar) and instruct the user terminal 110 to represent the 2D garment pattern as a 3D garment piece surrounding the 3D avatar.

[0062] In some embodiments, the server 130 may be a single server or a server group. In some embodiments, the server 130 may be a local server or a remote server of the clothing design system 100. For illustration purposes only, only one server 130 is described in the clothing design system 100. However, it should be noted that the clothing design system 100 in this specification may also include multiple servers. Therefore, the operations and / or method steps performed by a server 130 described in this specification may also be performed jointly or individually by multiple servers. For example, if in this specification, the server 130 of the clothing design system 100 executes process A and process B simultaneously, it should be understood that process A and process B may also be performed jointly or individually by two or more different servers in the clothing design system 100 (for example, the first server executes process A, the second server executes process B, or the first server and the second server execute process A and process B together).

[0063] Storage device 140 may store data, instructions, and / or any other information. In some embodiments, storage device 140 may store data obtained from server 130 and / or user terminal 110. For example, storage device 140 may store garment patterns and 3D images displayed by user terminal 110. As another example, storage device 130 may store design results. In some embodiments, storage device 140 may store data and / or instructions that server 130 and / or user terminal 110 may execute or use to perform the exemplary methods described herein. In some embodiments, storage device 140 may be part of server 130 or user terminal 110.

[0064] It should be noted that the above description of garment design system 100 is intended to be illustrative and not to limit the scope of this specification. Many alternatives, modifications, and variations will be apparent to those skilled in the art. The features, structures, methods, and other features of the exemplary embodiments described herein may be combined in various ways to obtain additional and / or alternative exemplary embodiments. For example, garment design system 100 may include one or more additional components. Additionally or alternatively, one or more components of garment design system 100 described above may be omitted. As another example, two or more components of garment design system 100 may be integrated into a single component.

[0065] Figure 2 is a block diagram of an exemplary user terminal 110 according to some embodiments of the present specification.

[0066] like Figure 2 As shown, the user terminal 110 may include a receiving module 210 and a display module 220 .

[0067] The receiving module 210 may be configured to receive a first user instruction. The first user instruction is for selecting a first target position from a 2D garment pattern and assigning the 2D garment pattern to a second target position on the 3D image. More description of receiving the first user instruction can be found elsewhere in this specification, for example, see Figure 3 Operation 310 and its related description in .

[0068] The representation module 220 can be configured to represent the 2D garment pattern as a 3D garment panel surrounding the 3D avatar at the second target location in response to the first user instruction. More description of representing the 2D garment pattern as a 3D garment panel can be found elsewhere in this specification. For example, see Figure 3 Operation 320 and its related description in .

[0069] It should be noted that the above description is provided only for the purpose of illustration and is not intended to limit the scope of this specification. For those with ordinary skills in the art, various changes and modifications can be made according to the teachings of this specification. However, these changes and modifications do not depart from the scope of this specification. In certain embodiments, any one of the modules can be divided into two or more units. For example, user terminal 110 may include one or more additional modules, such as a storage module (not shown) for storing data.

[0070] Figure 3 is a flow chart of an exemplary process 300 for setting up garment patterns according to some embodiments of the present specification. In some embodiments, the process 300 may be performed by Figure 1A The user terminal 110 of the clothing design system 100 shown is implemented, for example, the process 300 can be stored in a memory (e.g., the storage device 140, the storage device of the user terminal 110) in the form of instructions and called and / or executed by the processor of the user terminal 110. The operations of the process shown below are intended to be illustrative. In some embodiments, the process 300 can be completed by one or more additional operations not described, and / or without one or more operations discussed. In addition, as Figure 3 The order in which the operations of process 300 are illustrated and described below is not intended to be limiting.

[0071] As described herein, the term "setting garment patterns" refers to the process of converting 2D garment patterns into 3D garment pieces and dragging or overlaying the 3D garment pieces on a 3D figure.

[0072] In 310 , the user terminal 110 (eg, the receiving module 210 ) may receive a first user instruction for selecting a first target position from a 2D garment pattern and assigning the 2D garment pattern to a second target position on the 3D avatar.

[0073] As described herein, a 3D image refers to a 3D model of an object, and a 2D garment pattern refers to a virtual planar pattern representing a piece of fabric used to produce a garment. For example, a virtual garment can be made using multiple 2D garment patterns and worn on a 3D image. In some embodiments, one or more features of a 2D garment pattern can be adjusted as needed. Exemplary features of a 2D garment pattern may include size, shape, material, etc., or any combination thereof. For example, a user may adjust the shape and / or size of a 2D garment pattern through the user terminal 110 before inputting a first user instruction.

[0074] The object corresponding to the 3D image may include a human body or other animals. For the purpose of illustration, the human body is used as an example of the object below.

[0075] In some embodiments, the 3D image can be a general human body model. In some embodiments, 3D images corresponding to different body types can be pre-generated and stored in a storage device (e.g., storage device 140 or an external storage device), and the user of user terminal 110 can select a 3D image from the storage device. Exemplary body types include slim body type, standard body type, upper body fat body type, lower body fat body type, body type corresponding to female, body type corresponding to male, etc.

[0076] In some embodiments, the 3D avatar can be customized. For example, the 3D avatar can be a custom model designed based on user information (e.g., an image uploaded by the user).

[0077] In some embodiments, the 3D avatar is rotatable. In some embodiments, the user of the user terminal 110 can adjust one or more features of the 3D avatar. Exemplary features of the 3D avatar may include body shape, posture, size, etc., or any combination thereof.

[0078] The first user instruction may be input by a user of the user terminal 110 and is used to assign a 2D garment pattern to a 3D image. Specifically, the user selects a first target position on the 2D garment pattern and assigns the first target position to a second target position on the 3D image. The first target position may be any position on the 2D garment pattern (e.g., a vertex, a mesh center, etc.) freely selected by the user. The second target position may be any position on the 3D image freely selected by the user. For example, Figure 4A and Figure 4B is a schematic diagram of an exemplary second target position according to some embodiments of this specification. Figure 4A As shown, the second target position is the position 410 located at the waist of the 3D image. Figure 4B As shown, the second target position is located at position 420 on the buttocks of the 3D image.

[0079] In some embodiments, the first user instruction can be input by the user in various ways. For example, the user can click a point on the 2D garment pattern (i.e., the first target position) and use the mouse to drag the point to the second target position on the 3D image. In some embodiments, when the user clicks the first target position on the 2D garment pattern and / or drags the 2D garment pattern, physical wrinkles can be generated near the first target position. For example, Figure 4C FIG is a schematic diagram of exemplary physical wrinkles on a 2D garment panel 430 according to some embodiments of the present specification. Figure 4C As shown, when the user clicks and drags a point (indicated by the white arrow) on the 2D garment pattern 430, a physical wrinkle will be generated near the point.

[0080] In some embodiments, before the first user instruction is input, the user terminal 110 may display a plurality of candidate 2D garment patterns for the user to select. The user may use an input device (e.g., a mouse) to select a 2D garment pattern that he / she wishes to overlay on the 3D image from the plurality of candidate 2D garment patterns.

[0081] In 320 , in response to the first user instruction, the user terminal 110 (eg, the representation module 220 ) may represent the 2D garment pattern as a 3D garment panel surrounding the 3D character at the second target position.

[0082] As described herein, a 3D garment piece refers to a virtual piece of cloth (or non-planar piece of cloth) surrounding a 3D avatar. It is understood that when a 2D garment piece is worn on a 3D avatar, the appearance of the 2D garment piece may change with the body shape of the 3D avatar and become a 3D garment piece that fits the 3D avatar and surrounds the 3D avatar. For example, Figure 5A As shown, the 2D garment pattern is represented as a 3D garment panel 510 surrounding the abdomen of the 3D figure.

[0083] In some embodiments, a 2D garment pattern can be represented by a geometric pattern. The geometric pattern can include multiple meshes. Exemplary meshes can include triangular meshes, quadrilateral meshes, or the like, or any combination thereof. In some embodiments, the user terminal 110 can transmit a first user instruction to a server (e.g., server 130). In response to the first user instruction, the server can determine the vertex positions of the geometric pattern on the 3D image and send the vertex positions to the user terminal 110. As described herein, the vertex positions on the 3D image refer to the positions of the vertices in the 3D coordinate system corresponding to the 3D image. In addition, the user terminal 110 can receive the vertex positions of the geometric pattern on the 3D image from the server and, based on the vertex positions, represent the 2D garment pattern as a 3D garment piece by translating the geometric pattern vertices. For example, each vertex of the geometric pattern is moved to a corresponding position on the 3D image, and the 3D garment piece is immediately displayed as a piece covering the 3D image. In some embodiments, the server can generate a 3D garment piece by translating the vertices of the geometric pattern based on the vertex positions, and instruct the user terminal 110 to display the 3D garment piece and the 3D image.

[0084] In some embodiments, the user terminal 110 may directly determine the positions of the vertices of the geometric pattern on the 3D image based on the first target position and the second target position, and represent the 2D clothing pattern as a 3D clothing piece by converting the vertices of the geometric pattern based on the vertex positions. In some embodiments, the user terminal 110 may determine the vertex positions of the geometric pattern on the 3D image in a manner similar to how the server determines the vertex positions of the geometric pattern on the 3D image as described elsewhere in this specification. For example, the user terminal 110 may determine the vertex positions of the geometric pattern on the 3D image by solving an optimization function. More description of determining the vertex positions of the geometric pattern on the 3D image may be found elsewhere in this specification. For example, see Figure 9 Operation 920 and its related description in .

[0085] In some embodiments, a physical simulation method can be used to determine the vertex positions of a geometric pattern on a 3D image based on the first target position and the second target position. The physical simulation method can construct a cloth model based on the physical properties of the cloth and simulate processes such as cloth stretching, bending, or compression. The physical simulation method can include any suitable cloth simulation algorithm, such as a cloth simulation filtering (CSF) algorithm (e.g., a Laplace-based CSF algorithm, a moving least squares CSF algorithm, a mean coordinate CSF algorithm, etc.).

[0086] In some embodiments, when a 2D garment panel is represented as a 3D garment piece, the front surface of the 3D garment piece may face outward. The front surface of the 3D garment piece may be transformed from the front surface of the 2D garment panel. It is understood that fabric generally has a back surface and a front surface, and when the fabric is worn on a user, the back surface of the fabric is close to the user's body and cannot be seen, and the front surface of the fabric is away from the user's body and can be seen. Accordingly, both 2D garment panels and 3D garment pieces have a front surface that simulates the front surface of the actual fabric. In the process of representing a 2D garment panel as a 3D garment piece, the front surface of the 3D garment piece may face outward (i.e., away from the 3D figure), so that the front surface of the 3D garment piece can be seen when the 3D figure is around the 3D figure, and the shape of the 3D garment piece will not fall into a self-folding state. In some embodiments, a fourth optimization item or a fourth constraint item related to the orientation of the 3D garment piece may be used to ensure that the front surface of the 3D garment piece faces outward. More description of the fourth optimization item and the fourth constraint item can be found elsewhere in this specification. For example, see Figure 9 and its related descriptions.

[0087] In some embodiments, user terminal 110 may receive a third user instruction for setting distance information between a 3D garment piece and a 3D avatar. The 3D garment piece may be represented based on the distance information. Specifically, as described above, the 3D garment piece may be represented based on the vertex positions of a geometric pattern of a 2D garment pattern on the 3D avatar. The geometric pattern vertex positions may be determined based on the distance information.

[0088] For example, the user terminal 110 may include a parameter setting element for setting various parameters. The user may use an input device (e.g., a mouse) to set the distance information between the 3D garment piece and the 3D avatar in the parameter setting area. The distance information set by the user may include a desired distance between the 3D garment piece and the 3D avatar (described in detail in operation 920).

[0089] In some embodiments, the distance information may include only one distance between the 3D garment piece and the 3D figure. In this case, the expected distance between any portion of the 3D garment piece and the 3D figure may be the same. In some embodiments, the distance information may include the distance between different portions of the 3D garment piece and the 3D figure. In this case, the expected distance between different portions of the 3D garment piece and the 3D figure may be different. For example, if the 3D garment piece represents a skirt, the expected distance between the portion of the 3D garment piece near the waist and the 3D figure may be smaller than the expected distance between the portion of the 3D garment piece near the feet and the 3D figure.

[0090] In some embodiments, after the 3D clothing piece is displayed as a piece covering the 3D image, the user terminal 110 may receive a second instruction for adjusting the 3D clothing piece. In response to the second user instruction, the 3D clothing piece may be adjusted, and the user terminal 110 may display the adjusted 3D clothing piece. For example, the user adjusts the distance information between the 3D clothing piece and the 3D image through parameter setting elements. The server determines the new positions of the vertices of the geometric pattern on the 3D image based on the adjusted distance information. In addition, the user terminal 110 may display the adjusted 3D clothing piece on the 3D image based on the new positions of the vertices. As another example, the orientation of the 3D clothing piece may be adjusted. Figure 5A and 5B FIG. 5 is a schematic diagram of an exemplary 3D garment fabric piece 510 according to some embodiments of the present specification. Figure 5A and 5B In the embodiment, the direction of the 3D clothing piece 510 is adjusted from upward to rightward. In another example, the position of the 3D clothing piece can be adjusted as needed. Figure 6A and 6B FIG is a schematic diagram of an exemplary 3D garment piece 610 according to some embodiments of the present specification. Figure 6A and 6B As shown, the 3D garment piece 610 is dragged from the upper portion of the 3D image to the lower portion of the 3D image.

[0091] In some embodiments, the material of a 3D garment piece can be adjusted to a harder material to reduce self-intersection with other 3D garment pieces, thereby saving computing resources used to correct self-intersections between 3D garment pieces and improving design efficiency.

[0092] In some embodiments, the user terminal 110 may further display a 3D virtual garment worn on the 3D avatar. The 3D virtual garment may be generated by sewing a 3D garment piece (or an adjusted 3D garment piece) with one or more other 3D garment pieces surrounding the 3D avatar. As an example only, adjacent 3D garment pieces may be sewn together to generate the 3D virtual garment. For example, Figure 7A FIG. 7 is a schematic diagram of an exemplary 3D virtual garment 700 worn on a 3D avatar according to some embodiments of the present specification. Figure 7A As shown, the 3D virtual garment 700 is generated by sewing 3D garment panels adjacent to each other.

[0093] In some embodiments, the server may determine a stitching relationship between a 3D garment piece and one or more other 3D garment pieces surrounding the 3D avatar, and generate a 3D virtual garment based on the stitching relationship. The user terminal 110 may receive and display the 3D virtual garment on the 3D avatar. More information on determining stitching relationships may be found elsewhere in this specification. For example, see Figure 9 Operation 930 and its related description in .

[0094] In some embodiments, after each 2D garment pattern is placed on a 3D avatar, the corresponding 3D garment pattern can be stitched together with one or more other 3D garment patterns adjacent to the 3D garment pattern to generate the 3D virtual garment. Alternatively, after all 2D garment patterns are placed on the 3D avatar, the 3D virtual garment can be generated. Alternatively, the user may need to input user instructions for generating the 3D virtual garment through a user terminal.

[0095] It should be noted that process 300 and its description are provided for illustrative purposes and are not intended to limit the scope of this specification. Various modifications and variations in the form and details of the application of the above-described methods and systems may be made by one having ordinary skill in the art without departing from the principles of this specification. However, such variations and modifications are also within the scope of this specification.

[0096] In some embodiments, operation 310 may be omitted. Instead, the user may input a fourth user instruction for selecting a 2D garment pattern and instruct the user terminal 110 or the server to select a first target position on the 2D garment pattern and a second target position on the 3D image. In other words, the first target position and the second target position are automatically determined by the server. Alternatively, the user may input a fifth user instruction for selecting a first target position on the 2D garment pattern and instructing the user terminal 110 or the server to determine the second target position. In other words, the first target position is specified by the user, while the second target position is automatically determined by the server. More description of determining the second target position by the server may be found elsewhere in this specification. For example, see Figure 9 Operation 910 and its related description in .

[0097] Figure 8 is a schematic diagram of an exemplary server 130 according to some embodiments of the present specification.

[0098] like Figure 8 As shown, the server 130 may include an acquisition module 810 , a determination module 820 and an indication module 830 .

[0099] The acquisition module 810 can be configured to acquire instructions for selecting a first target position from a 2D garment pattern and assigning the 2D garment pattern to a second target position on the 3D image, wherein the 2D garment pattern is represented by a geometric pattern. More description of the acquisition instructions can be found elsewhere in this specification. Figure 9 Operation 910 and related instructions in .

[0100] The determination module 820 can be configured to determine the vertex positions of the geometric pattern on the 3D image based on the first target position and the second target position. More description on determining the vertex positions of the geometric pattern on the 3D image can be found elsewhere in this specification. For example, see Figure 9 Operation 920 and its related description in .

[0101] The instruction module 830 can be configured to instruct the user terminal to represent the 2D garment pattern as a 3D garment piece surrounding the 3D image at the second target position based on the vertex position. More description of instructing the user terminal to represent the 2D garment pattern as a 3D garment piece can be found elsewhere in this specification. For example, see Figure 9 Operation 930 and its related description in .

[0102] It should be noted that the above description is provided only for the purpose of illustration and is not intended to limit the scope of this specification. For those with ordinary skills in the art, various changes and modifications can be made according to the teachings of this specification. However, these changes and modifications do not depart from the scope of this specification. In some embodiments, any one of the modules can be divided into two or more units. For example, the determination module 820 can be divided into two units that determine different data. In some embodiments, the server 130 may include one or more additional modules, such as a storage module (not shown) for storing data.

[0103] Figure 9 is a flow chart of an exemplary process 900 for setting garment patterns according to some embodiments of the present specification. In some embodiments, process 900 may be performed by Figure 1A The process 900 may be implemented by the server 130 of the clothing design system 100 shown. For example, the process 900 may be stored in a memory (e.g., the storage device 140) as instructions and called and / or executed by the server 130. The operations of the process shown below are intended to be illustrative. In some embodiments, the process 900 may be completed by one or more additional operations not described, and / or without one or more of the operations discussed. In addition, as Figure 9 The order in which the operations of process 900 are illustrated and described below is not intended to be limiting.

[0104] In 910 , the server 130 (eg, the acquisition module 810 ) may acquire instructions for selecting a first target position from a 2D garment pattern represented by a geometric pattern and assigning the 2D garment pattern to a second target position on the 3D figure.

[0105] In some embodiments, the instruction may be a first user instruction received from the user terminal 110, which is input by the user through the user terminal 110 described in operation 310. In some embodiments, the instruction may be a computer-generated instruction, that is, the instruction is generated by the server 130. For example, the user may input a fourth user instruction for selecting a 2D garment pattern and instructing the user terminal 110 to automatically set the 2D garment pattern on the 3D image. As another example, the user may input a fifth user instruction for selecting a first target position on the 2D garment pattern and instructing the user terminal 110 to determine a second target position. The user terminal 110 may send the fourth user instruction or the fifth user instruction to the server 130, and the server 130 may generate a computer-generated instruction. Specifically, the server 130 may determine the first target position and / or the second target position for setting the 2D garment pattern.

[0106] The first target location can be any location on the 2D garment pattern. For example, the server 130 randomly selects a point on the 2D garment pattern as the first target location. As another example, the server 130 determines the center point of the 2D garment pattern as the first target location. As another example, the server 130 determines a vertex of a mesh on the 2D garment pattern as the first target location.

[0107] The second target location can be any location on the 3D avatar. In some embodiments, the second target location can be determined by performing the following operations. Specifically, server 130 can determine the body part of the 3D avatar corresponding to the 2D garment pattern, and further determine the second target location on the 3D avatar based on the body part corresponding to the 2D garment pattern. As described herein, the 2D garment pattern is predicted to be worn on the body part of the 3D avatar determined to correspond to the 2D garment pattern.

[0108] In some embodiments, the server 130 may determine the body parts of the 3D image corresponding to the 2D garment pattern by processing the boundary information of the 2D garment pattern using a trained machine learning model. The boundary information of the 2D garment pattern may include shape information, size information, information related to the edges constituting the 2D garment pattern, etc., or any combination thereof. The trained machine learning model may be a model for determining the body parts of the 3D image corresponding to the 2D garment pattern. As an example only, the boundary information of the 2D garment pattern is input into the trained machine learning model, and the trained machine learning model may output the body parts of the 3D image corresponding to the 2D garment pattern. In some embodiments, the trained machine learning model may include a deep learning model. Exemplary deep learning models may include a Convolutional Recurrent Neural Network (CRNN) model, a Deep Neural Network (DNN) model, a Convolutional Neural Network (CNN) model, a Recurrent Neural Network (RNN) model, a Feature Pyramid Network (FPN) model, a Generative Adversarial Network (GAN) model, etc., or any combination thereof.

[0109] In some embodiments, the server 130 may obtain a trained machine learning model from one or more components of the garment design system 100 (e.g., the storage device 140) or an external source via a network (e.g., the network 120). For example, the trained machine learning model may be pre-trained by a computing device (e.g., the server 130) and stored in a storage device (e.g., the storage device 140) of the garment design system 100. The server 130 may access the storage device and retrieve the trained machine learning model.

[0110] In some embodiments, a trained machine learning model can be generated by training a preliminary model based on multiple training samples. Each training sample can include a sample 2D garment pattern (or boundary information of the sample 2D garment pattern) and a reference body part corresponding to the 3D image of the sample 2D garment pattern, where the reference body part can be used as a ground truth value (also known as a label) for model training. In some embodiments, the reference body part can be determined by the user or automatically by the training device.

[0111] The preliminary model may include one or more model parameters, such as the number of layers, the number of nodes, the loss function, etc., or any combination thereof. Before training, the preliminary model may have initial parameter values ​​for one or more model parameters.

[0112] Training the preliminary model may include one or more iterations to iteratively update the model parameters of the preliminary model based on the training samples until a termination condition is met in a certain iteration. Exemplary termination conditions may include the loss function value obtained in a certain iteration being less than a threshold, a certain number of iterations having been executed, or the loss function converging such that the difference between the loss function value obtained in the previous iteration and the loss function value obtained in the current iteration is within a threshold. The loss function can be used to measure the difference between the body part predicted by the preliminary model in an iteration and a reference body part. For example, the boundary information of a sample 2D garment pattern for each training sample can be input into the preliminary model, and the preliminary model can output a predicted body part in a 3D image. The loss function can be used to measure the difference between the predicted body part for each training sample and the reference body part. Exemplary loss functions include focal loss, logarithmic loss, cross-entropy loss, dice ratio, etc. If the termination condition is not met in the current iteration, server 130 may further update the preliminary model to be used in the next iteration according to an algorithm (e.g., a backpropagation algorithm). If the termination condition is met in the current iteration, server 130 may designate the preliminary model in the current iteration as the trained machine learning model.

[0113] After determining the body part corresponding to the 2D garment pattern, server 130 may determine a second target location based on the body part. For example, server 130 may randomly select a point on the body part as the second target location. As another example, server 130 may determine the center point of the body part as the second target location.

[0114] In 920 , the server 130 (eg, the determination module 820 ) may determine vertex positions of the geometric pattern on the 3D image based on the first target position and the second target position.

[0115] In some embodiments, the server 130 may determine the vertex positions of the geometric pattern by solving an optimization function. For example, the optimization function may be expressed as formula (1): Among them, x represents the set of vertex positions of the geometric pattern on the 3D image, F init (x) represents the optimization item (also called the optimization target).

[0116] In some embodiments, server 130 may determine the vertex positions of the geometric pattern on the 3D image by solving the optimization function using various solvers. Exemplary solvers may include a pre-built gradient descent solver based on a central processing unit (CPU), a nonlinear conjugate gradient solver, a nonlinear LBFGS solver, a graphics processing unit (GPU) solver, and the like.

[0117] In some embodiments, the optimization function may include at least a first optimization term or a first constraint term. The first optimization term or the first constraint term is related to the difference between the distance from each vertex position to the 3D image and the expected distance corresponding to the vertex. For simplicity, the distance between the vertex position and the 3D image is referred to as the vertex-corresponding distance.

[0118] The first optimization term can be used to minimize the difference between the distance corresponding to each vertex and the expected distance. For example, the first optimization term can be expressed as: Among them, F dist (x) represents the first optimization item, i represents the vertex number, x i Indicates the position of vertex i on the 3D image, n(x i ) represents the vertex normal, represents the distance from vertex i to the 3D image (e.g., sine distance), D i represents the desired distance corresponding to vertex i. In formula (2), if vertex i faces the 3D figure, its body attractiveness will be invalidated. Based on the assumption that 2D clothing pieces should face outward, this is to prevent the shape of the 3D clothing piece from remaining in a self-folded state.

[0119] The first constraint can be used to constrain the difference between the distance corresponding to each vertex and the expected distance to meet a specific condition. For example, through the first constraint, the difference between the distance corresponding to each vertex and the expected distance can be constrained to be less than a specific threshold (e.g., 0.2, 0.5 mm, etc.) or within a specific range (e.g., 0.1-0.2 mm).

[0120] In some embodiments, the expected distances corresponding to different vertices of a 2D garment pattern may be the same. For example, the server 130 may determine the expected distance corresponding to the 2D garment pattern and assign the expected distance to each vertex. The expected distance of the 2D garment pattern may be determined based on the type of the 2D garment pattern, the material of the 2D garment pattern, the body part of the 3D image corresponding to the 2D garment pattern, the distance information between the 3D garment cloth and the 3D image set by the user as described in operation 320, or any combination thereof. As described herein, the type of a 2D garment pattern refers to the type of clothing produced using the 2D garment pattern, such as a T-shirt, a suit, a bikini, a skirt, pants, etc. The material of a 2D garment pattern refers to the material of the cloth produced using the 2D garment pattern (e.g., nylon, cotton, silk, etc.). For example, the expected distance of a 2D garment pattern corresponding to a suit may be greater than the expected distance of a 2D garment pattern corresponding to a bikini. As another example, the expected distance of a 2D garment pattern corresponding to an arm may be less than the expected distance of a 2D garment pattern corresponding to a waist. In some embodiments, the server 130 may directly designate the distance between the 3D garment piece and the 3D avatar set by the user as described in operation 320 as a desired distance corresponding to the 2D garment pattern.

[0121] In some embodiments, the desired distances for different vertices of a 2D garment pattern may be different. For each vertex of a geometric pattern, server 130 may determine the desired distance for that vertex based on the type of the 2D garment pattern, the material of the 2D garment pattern, the body part of the 3D avatar corresponding to the 2D garment pattern, the body part of the 3D avatar corresponding to the vertex, the distance information between the 3D garment pattern and the 3D avatar set by the user as described in operation 320, or any combination thereof. For example, server 130 may determine an initial desired distance for the 2D garment pattern based on the type of the 2D garment pattern, the material of the 2D garment pattern, the body part of the 3D avatar corresponding to the 2D garment pattern, and the like. Further, server 130 may determine the desired distance for each vertex based on the initial desired distance for the 2D garment pattern and the body part of the 3D avatar corresponding to the vertex. As another example, as described in operation 320, in some embodiments, the distance information may include user-set distances between different parts of the 3D garment pattern and the 3D avatar. The server 130 can determine the portion of the 3D garment piece where the vertex is located, and designate the distance between the portion of the 3D garment piece set by the user and the 3D image as the desired distance corresponding to the vertex. By setting different desired distances for different vertices, the 3D garment piece transformed from the 2D garment pattern can be made more realistic.

[0122] In some embodiments, the optimization function may further include a second optimization term or a second constraint term related to the deformation of the 2D garment pattern.

[0123] The second optimization term can be used to minimize the difference between the shapes of the 2D garment panel and the 3D garment fabric. In some embodiments, the second optimization term can include multiple second optimization sub-terms. For example, the second optimization term can be expressed as formula (3): Among them, F def (x) represents the second optimization item, F def1 (x) represents the second optimization term, which is used to minimize the difference between the length of the edge of the 2D garment pattern and the length of the corresponding edge of the 3D garment fabric, F def2 (x) represents another second optimization sub-item, which is used to minimize the surface curvature of the 3D garment piece. E represents the natural edge set including all edges of the 2D garment piece. E′ represents the dihedral edge set including the dihedral edges of the 2D garment piece (a dihedral edge refers to the common edge of two triangles). Indicates the reference length of the natural edge (i.e., the length of the natural edge on the 2D garment pattern), Q e represents the quadratic bending matrix of the dihedral edge e.

[0124] In some embodiments, the second constraint term can be used to constrain the deformation of the 2D garment pattern to meet specific conditions. In some embodiments, the deformation of the 2D garment pattern includes planar deformation and bending deformation. Planar deformation and bending deformation are constrained by different second optimization sub-terms. For example, the planar deformation is constrained by the second optimization sub-term F def1 (x). The bending deformation is subject to the second optimization sub-item F def2 (x) constraint. For example, through the second constraint sub-item F def1 (x), the plane deformation of the 2D garment pattern can be constrained to be less than a certain threshold (e.g., 3%). The bending deformation of the 2D garment pattern can be controlled by the second constraint sub-item F def2 (x) is constrained to be less than a certain threshold (eg, 5%, etc.) In some embodiments, the second constraint term may be generated based on an algorithm (eg, a position-based dynamics algorithm).

[0125] In some embodiments, the second optimization term may be generated based on a continuum-based model for planar deformation and a dihedral model for curved deformation.

[0126] In some embodiments, the optimization function may further include a third optimization term or a third constraint term, where the third optimization term or the third constraint term is related to the distance between the second target position and the target vertex position corresponding to the first target position on the 3D image.

[0127] The target vertex corresponding to the first target position refers to a vertex on the 3D garment piece that is closest to the first target position.

[0128] The third optimization term can be used to minimize the distance between the second target position and the target vertex position on the 3D image. For example, the third optimization term can be expressed by formula (4) or formula (5): Among them, F cent (x) represents the third optimization item, x c represents the target vertex position corresponding to the first target position on the 3D image, Indicates the second target position.

[0129] The third constraint can be used to constrain the distance between the second target position and the target vertex position on the 3D image to meet a specific condition. For example, the third constraint can constrain the distance between the second target position and the target vertex position on the 3D image to be less than a specific threshold (e.g., 0.1 mm). As another example, the third constraint can constrain the distance between the second target position and the target vertex position on the 3D image to be zero.

[0130] In some embodiments, the optimization function may further include a fourth optimization term or a fourth constraint term related to the orientation of the 3D garment panels transformed from the 2D garment patterns.

[0131] The fourth optimization term can be used to minimize the difference between the orientation of the 3D garment piece and the desired orientation of the 3D garment piece. For example, the fourth optimization term can be expressed as follows using formula (6) or formula (7): Among them, F up (x) represents the fourth optimization item, r i represents the 2D position of vertex i in the 2D coordinate system corresponding to the 2D garment pattern, r c represents the 2D position of the target vertex corresponding to the first target position in the 2D coordinate system corresponding to the 2D garment pattern, and R(θ) represents the 2D rotation matrix with angle θ. If the user does not rotate the 2D garment pattern, angle θ may be equal to 0 degrees by default, meaning that it is desired that the 3D garment piece on the 3D image has the same orientation as the 2D garment pattern (e.g., facing upwards). If the user rotates the 2D garment pattern clockwise or counterclockwise, angle θ may be equal to the rotation angle of the 2D garment pattern, meaning that it is desired that the 3D garment piece on the 3D image has the same orientation as the rotated 2D garment pattern.

[0132] The fourth constraint can be used to constrain the difference between the orientation of the 3D garment piece and the desired orientation of the 3D garment piece to meet a specific condition. For example, the fourth constraint can be used to constrain the difference between the orientation of the 3D garment piece and the desired orientation of the 3D garment piece to be less than a specific threshold (e.g., 5°, 10°, etc.). As another example, the fourth constraint can be used to constrain the orientation of the 3D garment piece to be the same as the desired orientation.

[0133] In some embodiments, the optimization function may include one or more of a first optimization term (or a first constraint term), a second optimization term (or a second constraint term), a third optimization term (or a third constraint term), and a fourth optimization term (or a fourth constraint term).

[0134] In some embodiments, the optimization function may be a weighted sum of multiple optimization items and / or constraint items. For example, the optimization function may be expressed as Formula (8) or Formula (9): Among them, k cent represents the weight of the first optimization item, k up represents the weight of the second optimization item, k dist represents the weight of the third optimization item, k def In some embodiments, if the second optimization item includes multiple second optimization sub-items, k def A plurality of weights may be included, wherein each weight corresponds to one of the second optimization sub-terms.

[0135] In some embodiments, the weights of the optimization items and / or constraint items may be set manually by a user (eg, a designer) as desired or by default by garment design system 100 .

[0136] In some embodiments, the weights of the optimization terms and / or constraints can be determined based on the type of 2D garment pattern or at least one of the body parts of the 3D figure corresponding to the 2D garment pattern. As described elsewhere in this specification, the type of 2D garment pattern refers to the type of clothing produced using the 2D garment pattern, such as a T-shirt, a suit, a bikini, a skirt, pants, etc. For example, if the garment produced using the 2D garment pattern is a bikini, the weight of the first optimization term or the first constraint term can be relatively small because the bikini needs to fit closely to the body. For another example, if the garment produced using the 2D garment pattern is a skirt, and the body part of the 3D figure corresponding to the 2D garment pattern is a leg, the weight of the first optimization term or the first constraint term can be relatively large because the skirt portion corresponding to the leg needs to have a large hem. Since different types of clothing or clothing worn on different body parts have different characteristics, by considering the type of 2D garment pattern or the body part of the 3D figure corresponding to the 2D garment pattern, the accuracy of the weights of the optimization terms and / or constraints can be greatly improved, thereby improving the accuracy of the optimization function.

[0137] In some embodiments, if the optimization function includes one or more constraints, solving the optimization function becomes a constrained optimization problem. In this case, the optimization function can be solved by a constrained optimization algorithm (e.g., a primal-dual formula algorithm or a projected gradient descent algorithm, etc.).

[0138] According to some embodiments of the present specification, an optimization function can be generated based on multiple optimization items or constraint items. The optimization items or constraint items relate to different aspects of the 2D clothing pattern settings. For example, the first optimization item or the first constraint item can make the distance between the 3D clothing piece and the 3D image more consistent with the actual situation when the clothing is worn. Therefore, the vertex positions of the geometric pattern on the 3D image determined by solving the optimization function can be relatively accurate. In addition, in some embodiments, the optimization function can be a weighted sum of multiple optimization items and / or constraint items, which can improve the accuracy of the optimization function, thereby improving the accuracy of the vertex positions of the geometric pattern on the 3D image.

[0139] In 930 , the server 130 (eg, the instruction module 830 ) may instruct the user terminal to represent the 2D garment pattern as a 3D garment piece surrounding the 3D character at the second target position based on the vertex positions.

[0140] In some embodiments, the user terminal 110 may receive the vertex positions of the geometric pattern on the 3D image from the server 130, and represent the 2D clothing pattern as a 3D clothing piece by translating the vertices of the geometric pattern based on the vertex positions. In some embodiments, the server may generate a 3D clothing piece by translating the vertices of the geometric pattern based on the vertex positions, and send the 3D clothing piece to the user terminal 110 for display. More description of displaying 3D clothing pieces by the user terminal 110 based on vertex positions can be found elsewhere in this specification. For example, see Figure 3 Operation 320 and its related description in .

[0141] In some embodiments, the server 130 may determine a stitching relationship between a 3D garment piece (or an adjusted 3D garment piece) and one or more other 3D garment pieces around the 3D image. In addition, the server 130 may instruct the user terminal 110 to display a 3D virtual garment worn by the 3D image. Based on the stitching relationship, a 3D virtual garment may be generated by stitching the 3D garment piece and one or more other 3D garment pieces. The stitching relationship may indicate that two edges of different 3D garment pieces are adjacent to each other and need to be stitched together. For example, Figure 7B is a schematic diagram of exemplary 3D garment panels 710 and 720 according to some embodiments of the present specification. Figure 7B As shown, the sewing relationship between the 3D garment pieces 710 and 720 indicates that two adjacent edges 711 and 721 of the 3D garment pieces 710 and 720 need to be sewn together.

[0142] As discussed elsewhere in this specification, in traditional garment pattern setting methods, the number of predefined body parts corresponding to the selected garment patterns is relatively small, so the user's choice of body parts for setting garment patterns is relatively limited. Furthermore, the shape of a garment piece is determined by projecting the garment piece from a reference pattern space onto a predetermined planar or cylindrical surface, which can lead to inconsistencies between the garment piece and the 3D character, as well as self-intersections between garment pieces.

[0143] Compared to traditional garment pattern placement methods, some embodiments of this specification allow garment patterns to be placed anywhere on a 3D figure, making garment pattern placement more flexible. Furthermore, 3D garment panels can be tightly wrapped around the 3D figure, reducing self-intersections between 3D garment panels.

[0144] It should be noted that the process 900 and its description are provided for illustrative purposes and are not intended to limit the scope of this specification. Various modifications and variations in the form and details of the application of the above-described methods and systems may occur to those having ordinary skill in the art without departing from the principles of this specification. However, such variations and modifications are also within the scope of this specification.

[0145] Having thus described the basic concepts, it will be readily apparent to those skilled in the art upon reading this detailed disclosure that the foregoing detailed disclosure is intended to be presented by way of example only and is not limiting. Various changes, improvements, and modifications may occur to those skilled in the art, even though not expressly described herein. Such changes, improvements, and modifications are intended to be suggested by this specification and to be within the spirit and scope of the exemplary embodiments herein.

[0146] Furthermore, certain terms have been used to describe the embodiments of this specification. For example, the terms "one embodiment" and "some embodiments" refer to at least one embodiment of the present invention including specific features and structures described in connection with the embodiment. Therefore, it is emphasized and should be understood that two or more references to "an embodiment," "one embodiment," or "an alternative embodiment" in various parts of this specification do not necessarily refer to the same embodiment. Furthermore, specific features and structures may be appropriately combined in one or more embodiments of the present invention.

[0147] Furthermore, those skilled in the art will appreciate that various aspects of this specification may be illustrated and described in any of a number of patentable categories or contexts, including any new and useful method, machine, manufacture, or combination of materials, or any new and useful improvement thereof. Accordingly, various aspects of this specification may be implemented entirely in hardware, entirely in software (including firmware, resident software, microcode, etc.), or in a combination of software and hardware, all of which are generally referred to herein as "modules," "units," "components," "devices," or "systems." Furthermore, various aspects of this disclosure may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied thereon.

[0148] A computer-readable signal medium may include a propagated data signal embodying computer-readable program code, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electromagnetic, optical, or the like, or any suitable combination thereof. A computer-readable signal medium may be any computer-readable medium other than a computer-readable storage medium, and may be coupled to an instruction execution system, apparatus, or device to communicate, propagate, or transmit the program for use. The program code embodied on a computer-readable signal medium may be transmitted using any suitable medium, including wireless, wired, fiber optic cable, radio frequency, or the like, or any suitable combination of the foregoing.

[0149] The computer program code for performing the operations of various aspects of the present disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, etc.; traditional procedural programming languages ​​such as "C" programming language, Visual Basic, Fortran2103, Perl, COBOL2102, PHP, ABAP; dynamic programming languages ​​such as Python, Ruby and Groovy, or other programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer, partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network (including a local area network (LAN) or a wide area network (WAN)), or can be connected to an external computer (for example, via the Internet using an Internet service provider), or in a cloud computing environment, or as a service such as software as a service (SaaS).

[0150] In addition, unless expressly stated in the claims, the order of the processing elements and sequences described in this application, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of this application. Although the above disclosure discusses some of the invention embodiments currently considered useful through various examples, it should be understood that such details are only for illustrative purposes, and the attached claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the essence and scope of the embodiments of this application. For example, although the implementation of the various components described above can be embodied in hardware devices, it can also be implemented as a pure software solution, for example, installation on an existing server or mobile device.

[0151] Likewise, it should be understood that in the foregoing descriptions of the embodiments of this specification, various features are sometimes grouped together in a single embodiment, figure, or description thereof to simplify the disclosure of one or more of the various embodiments. However, this method of disclosure should not be interpreted as reflecting an intention that the claimed subject matter requires more features than expressly recited in each claim. Rather, the claimed subject matter may lie in less than all the features of a single aforementioned disclosed embodiment.

[0152] In some embodiments, the numbers representing quantities or properties used to describe and claim certain embodiments of the present application should be understood as being modified in some cases by the terms "approximately," "approximately," or "substantially." For example, unless otherwise indicated, "approximately," "approximately," or "substantially" can represent a certain variation of the value it describes (e.g., ±1%, ±5%, ±10%, or ±20%). Therefore, in some embodiments, the numerical parameters listed in the written description and the appended claims are approximate values, which can vary depending on the desired properties sought to be obtained by a particular embodiment. In some embodiments, numerical parameters should be interpreted based on the number of reported significant digits and by applying ordinary rounding techniques. Although the numerical ranges and parameters specifying the broad scope of some embodiments of the present application are approximate, the numerical values ​​specified in the specific embodiments are reported as accurately as possible. In some embodiments, classification conditions for classification or determination are provided for illustrative purposes and are modified according to different circumstances. For example, the classification condition of "a value greater than a threshold value" can further include or exclude the condition of "a probability value equal to a threshold value."

Claims

1. A method for setting garment patterns, implemented on a user terminal having at least one processor and at least one storage device, the method comprising: receiving a first user instruction for selecting a first target location from a two-dimensional (2D) garment pattern and assigning the 2D garment pattern to a second target location on a three-dimensional (3D) image; and In response to the first user instruction, the 2D garment pattern is represented as a 3D garment panel surrounding the 3D figure at a second target position.

2. The method according to claim 1, further comprising: Display multiple candidate 2D garment patterns for the user to choose from.

3. The method according to claim 1, further comprising: receiving a second user instruction for adjusting the 3D garment panel; as well as In response to the second user instruction, the adjusted 3D garment piece is displayed.

4. The method according to claim 1, further comprising: A 3D virtual garment is displayed on the 3D image, wherein the 3D virtual garment is generated by sewing the 3D garment piece and one or more other 3D garment pieces surrounding the 3D image.

5. The method according to claim 1, further comprising: A third user instruction is received, wherein the third user instruction is used to set distance information between the 3D garment piece and the 3D image, wherein the 3D garment piece is represented based on the distance information.

6. The method according to claim 1, wherein The second target position is freely selected by the user on the 3D image.

7. The method according to claim 1, wherein The 2D garment pattern is represented by a geometric pattern, and the 2D garment pattern is represented as a 3D garment piece surrounding the 3D figure at a second target position, comprising: Determining vertex positions of the geometrical pattern on the 3D image based on the first target position and the second target position; and The 2D garment pattern is represented as the 3D garment piece by translating the vertices of the geometric pattern based on the vertex positions.

8. The method according to claim 7, wherein: The vertex positions of the geometric patch on the 3D image are determined by solving an optimization function, wherein the optimization function includes at least a first optimization term or a first constraint term, and the first optimization term or the first constraint term is related to the difference between the distance from each vertex position to the 3D image and the expected distance corresponding to the vertex.

9. The method according to claim 8, wherein An expected distance corresponding to each vertex is determined based on at least one of the 2D garment pattern, a body part of the 3D figure corresponding to the 2D garment pattern, a body part of the 3D figure corresponding to the vertex, or distance information between the 3D garment pattern and the 3D figure set by a user.

10. The method according to claim 8, wherein The optimization function further includes a second optimization term or a second constraint term related to the deformation of the 2D garment pattern.

11. The method according to claim 8, wherein The optimization function further includes a third optimization term or a third constraint term, and the third optimization term or the third constraint term is related to the distance between the second target position and the target vertex position corresponding to the first target position.

12. The method according to claim 8, wherein The optimization function further includes a fourth optimization term or a fourth constraint term related to the orientation of the 3D garment panel.

13. The method according to claim 7, wherein: The vertex positions of the geometric plate on the 3D image are determined based on the first target position and the second target position by a physical simulation method.

14. The method according to claim 1, wherein The 2D garment pattern is represented by a geometric pattern, and representing the 2D garment pattern as a 3D garment piece surrounding the 3D figure at the second target position includes: Sending the first user instruction to the server; receiving from the server the vertex positions of the geometric pattern on the 3D image; and The 2D garment pattern is represented as the 3D garment piece by translating the vertices of the geometric pattern based on the vertex positions.

15. The method according to claim 1, wherein The front surface of the 3D garment panel faces outward.

16. A user equipment comprising: at least one storage device storing a set of instructions for setting garment patterns; as well as At least one processor configured to communicate with the at least one storage device, wherein when executing the instruction set, the at least one processor is configured to instruct the user device to perform the following operations: receiving a first user instruction for selecting a first target location from a two-dimensional (2D) garment pattern and assigning the 2D garment pattern to a second target location on a three-dimensional (3D) image; and In response to the first user instruction, the 2D garment pattern is represented as a 3D garment panel surrounding the 3D figure at a second target position.

17. The user equipment according to claim 16, wherein: The operations further include: Display multiple candidate 2D garment patterns for the user to choose from.

18. The user equipment according to claim 16, wherein: The operations further include: receiving a second user instruction for adjusting the 3D garment panel; and In response to the second user instruction, the adjusted 3D garment piece is displayed.

19. The user equipment according to claim 16, wherein: The operations further include: A 3D virtual garment is displayed on the 3D image, wherein the 3D virtual garment is generated by sewing the 3D garment piece and one or more other 3D garment pieces surrounding the 3D image.

20. The user equipment according to claim 16, wherein: The operations further include: A third user instruction is received, wherein the third user instruction is used to set distance information between the 3D garment piece and the 3D image, wherein the 3D garment piece is represented based on the distance information.

21. The user equipment according to claim 16, wherein: The second target position is freely selected by the user on the 3D image.

22. The user equipment according to claim 16, wherein: The 2D garment pattern is represented by a geometric pattern, and representing the 2D garment pattern as a 3D garment piece surrounding the 3D figure at the second target position includes: Determining vertex positions of the geometrical pattern on the 3D image based on the first target position and the second target position; and The 2D garment pattern is represented as the 3D garment piece by translating the vertices of the geometric pattern based on the vertex positions.

23. The user equipment according to claim 22, wherein: The vertex positions of the geometric patch on the 3D image are determined by solving an optimization function, wherein the optimization function includes at least a first optimization term or a first constraint term, and the first optimization term or the first constraint term is related to the difference between the distance from each vertex position to the 3D image and the expected distance corresponding to the vertex.

24. The user equipment according to claim 23, wherein: An expected distance corresponding to each vertex is determined based on at least one of the 2D garment pattern, a body part of the 3D figure corresponding to the 2D garment pattern, a body part of the 3D figure corresponding to the vertex, or distance information between the 3D garment pattern and the 3D figure set by a user.

25. The user equipment according to claim 23, wherein: The optimization function further includes a second optimization term or a second constraint term related to the deformation of the 2D garment pattern.

26. The user equipment according to claim 23, wherein The optimization function further includes a third optimization term or a third constraint term, and the third optimization term or the third constraint term is related to the distance between the second target position and the target vertex position corresponding to the first target position.

27. The user equipment according to claim 23, wherein: The optimization function further includes a fourth optimization term or a fourth constraint term related to the orientation of the 3D garment panel.

28. The user equipment according to claim 22, wherein: The vertex positions of the geometric plate on the 3D image are determined based on the first target position and the second target position by a physical simulation method.

29. The user equipment according to claim 26, wherein: The 2D garment pattern is represented by a geometric pattern, and representing the 2D garment pattern as a 3D garment piece surrounding the 3D figure at the second target position includes: Sending the first user instruction to the server; receiving from the server the vertex positions of the geometric pattern on the 3D image; and The 2D garment pattern is represented as the 3D garment piece by translating the vertices of the geometric pattern based on the vertex positions.

30. The user equipment according to claim 1, wherein The front surface of the 3D garment panel faces outward.

31. A method for setting up garment patterns, implemented on a server having at least one processor and at least one storage device, the method comprising: Obtaining instructions for selecting a first target location from a two-dimensional (2D) garment pattern and assigning the 2D garment pattern to a second target location on a three-dimensional (3D) image, wherein the 2D garment pattern is represented by a geometric pattern; determining, based on the first target position and the second target position, vertex positions of the geometric pattern on the 3D image; as well as The user terminal is instructed to represent the 2D clothing pattern as a 3D clothing piece surrounding the 3D image at the second target position based on the vertex position.

32. The method according to claim 31, wherein The instruction is input by a user through a user terminal, and the second target location is freely selected by the user.

33. The method of claim 31 , wherein the instructions are computer-generated instructions, and the second target location is determined by: Processing boundary information of the 2D garment pattern using a trained machine learning model to determine a body part of the 3D image corresponding to the 2D garment pattern; and The second target position on the 3D image is determined based on the body part corresponding to the 2D garment pattern.

34. The method according to claim 31, wherein Determining the vertex positions of the geometric plate on the 3D image based on the first target position and the second target position includes: The vertex positions of the geometric patch are determined by solving an optimization function, wherein the optimization function includes at least a first optimization term or a first constraint term, wherein the first optimization term or the first constraint term is related to the difference between the distance from each vertex position to the 3D image and the expected distance corresponding to the vertex.

35. The method according to claim 34, wherein The optimization function further includes a second optimization term or a second constraint term related to the deformation of the 2D garment pattern.

36. The method of claim 34, wherein: The optimization function further includes a third optimization term or a third constraint term, and the third optimization term or the third constraint term is related to the distance between the second target position and the target vertex position corresponding to the first target position.

37. The method of claim 34, wherein: The optimization function further includes a fourth optimization term or a fourth constraint term related to the orientation of the 3D garment panel.

38. The method of claim 31 , further comprising: determining a sewing relationship between the 3D garment piece and one or more other 3D garment pieces surrounding the 3D figure; as well as The user terminal is instructed to display a 3D virtual garment worn on the 3D image, wherein the 3D virtual garment is generated by sewing the 3D garment piece and the one or more other 3D garment pieces based on a sewing relationship.

39. A server comprising: at least one storage device storing a set of instructions for setting garment patterns; as well as at least one processor configured to communicate with the at least one storage device, wherein, when executing the set of instructions, the at least one processor is configured to instruct the server to perform the following operations: Obtaining instructions for selecting a first target location from a two-dimensional (2D) garment pattern and assigning the 2D garment pattern to a second target location on a three-dimensional (3D) image, wherein the 2D garment pattern is represented by a geometric pattern; Determining vertex positions of the geometrical pattern on the 3D image based on the first target position and the second target position; and The user terminal is instructed to represent the 2D clothing pattern as a 3D clothing piece surrounding the 3D image at the second target position based on the vertex position.

40. A user device for setting a garment pattern, comprising: a receiving module configured to receive a first user instruction for selecting a first target position from a two-dimensional (2D) garment pattern and assigning the 2D garment pattern to a second target position on a three-dimensional (3D) image; as well as The representation module is configured to, in response to the first user instruction, represent the 2D garment pattern as a 3D garment piece surrounding the 3D image at the second target position.

41. A server for setting garment patterns, comprising: an acquisition module configured to acquire instructions for selecting a first target position from a two-dimensional (2D) garment pattern and assigning the 2D garment pattern to a second target position on a three-dimensional (3D) image, wherein the 2D garment pattern is represented by a geometric pattern; a determination module configured to determine a vertex position of the geometrical plate on the 3D image based on the first target position and the second target position; as well as The instruction module is configured to instruct the user terminal to represent the 2D garment pattern as a 3D garment piece surrounding the 3D image at the second target position based on the vertex position.

42. A non-transitory computer readable medium comprising at least one set of instructions for setting up garment patterns, wherein: When executed by one or more processors of a computing device, the at least one set of instructions causes the computing device to perform a method comprising: receiving a first user instruction for selecting a first target location from a two-dimensional (2D) garment pattern and assigning the 2D garment pattern to a second target location on a three-dimensional (3D) image; and In response to the first user instruction, the 2D garment pattern is represented as a 3D garment panel surrounding the 3D figure at a second target position.

43. A non-transitory computer readable medium comprising at least one set of instructions for setting up garment patterns, wherein: When executed by one or more processors of a computing device, the at least one set of instructions causes the computing device to perform a method comprising: Obtaining instructions for selecting a first target location from a two-dimensional (2D) garment pattern and assigning the 2D garment pattern to a second target location on a three-dimensional (3D) image, wherein the 2D garment pattern is represented by a geometric pattern; Determining vertex positions of the geometrical pattern on the 3D image based on the first target position and the second target position; and The user terminal is instructed to represent the 2D clothing pattern as a 3D clothing piece surrounding the 3D image at the second target position based on the vertex position.