NeuralTailor: Reconstructing Sewing Pattern Structures from 3D Point Clouds of Garments

The fields of SocialVR, performance capture, and virtual try-on are often faced with a need to faithfully reproduce real garments in the virtual world. One critical task is the disentanglement of the intrinsic garment shape from deformations due to fabric properties, physical forces, and contact with the body. We propose to use a garment sewing pattern, a realistic and compact garment descriptor, to facilitate the intrinsic garment shape estimation. Another major challenge is a high diversity of shapes and designs in the domain. The most common approach for Deep Learning on 3D garments is to build specialized models for individual garments or garment types. We argue that building a unified model for various garment designs has the benefit of generalization to novel garment types, hence covering a larger design domain than individual models would. We introduce NeuralTailor, a novel architecture based on point-level attention for set regression with variable cardinality, and apply it to the task of reconstructing 2D garment sewing patterns from the 3D point could garment models. Our experiments show that NeuralTailor successfully reconstructs sewing patterns and generalizes to garment types with pattern topologies unseen during training.


page 2

page 3

page 4

page 5

page 6

page 8

page 9

page 12


Generating Datasets of 3D Garments with Sewing Patterns

Garments are ubiquitous in both real and many of the virtual worlds. The...

Reconstructing Compact Building Models from Point Clouds Using Deep Implicit Fields

Three-dimensional (3D) building models play an increasingly pivotal role...

Intrinsic Point Cloud Interpolation via Dual Latent Space Navigation

We present a learning-based method for interpolating and manipulating 3D...

Intrinsic Neural Fields: Learning Functions on Manifolds

Neural fields have gained significant attention in the computer vision c...

Self-Supervised Collision Handling via Generative 3D Garment Models for Virtual Try-On

We propose a new generative model for 3D garment deformations that enabl...

3D Brain Reconstruction by Hierarchical Shape-Perception Network from a Single Incomplete Image

3D shape reconstruction is essential in the navigation of minimally-inva...

Quasi-Balanced Self-Training on Noise-Aware Synthesis of Object Point Clouds for Closing Domain Gap

Semantic analyses of object point clouds are largely driven by releasing...

1. Introduction

Computer graphics has a long history of 3D garments research, from modeling to physics simulation. In this paper, we tackle the problem of estimating the underlying rest shape of a garment for which a deformed 3D shape is available. Such a 3D garment shape could be a draping result from a physics simulation or a 3D scan of a real-world garment. By rest shape, we mean a representation of a garment shape disentangled from deformation due to external physical forces, collisions, and fabric properties. Understanding such garment structure allows shaping the same garment in novel conditions like draping it on new body shapes or poses or enables the ability to adjust a captured garment’s design. These abilities are highly desirable for virtual try-on, garment design, or avatar creation.

Building upon advances in Deep Learning research for shape analysis, we use a learning-based approach to tackle the problem in this work. To the best of our knowledge, ours is the first work to explore a learning-based solution for estimating garment rest shapes, with previous work either relying on fitting one of the pre-defined templates [Hasler2007ReverseGarments; Jeong2015c; Yang2018c], optimizing rest shape directly from a good initial guess [Brouet2012b; Bartle2016c; Wang2018c], surface flattening [Wang2009InteractiveCurves; Meng2012; Liu2018c; Bang2021EstimatingData], or inverting physics deformations analytically [Ly2018] (see Sec. 2 for more detailed review). Learning-based methods have the advantage of scalability to acquire knowledge from large garment databases and cover the space of garment designs better than methods based on template fitting while allowing fast processing at inference time, unlike optimization-based solutions.

One of our key ideas is to use a garment sewing pattern as a base representation for a garment rest shape. We assume a sewing pattern to be a collection of the 2D pieces of fabric (panels) with a known placement of each panel around the human body and information of how the panels are stitched together to form the final garment. Such a sewing pattern is a close approximation of how most of the real-world garments are constructed and thus serves as a strong prior for disentangling rest shape from physical deformation or the imperfections of the data acquisition process. At the same time, sewing patterns allow describing a variety of garment types and designs uniformly, unlike the approaches based on parametric templates as in [Wang2018]. Our problem formulation can also be viewed as a case of learning-based structure recovery for deformable objects. To the best of our knowledge, our work is one of the first of this kind, as most studies in the structure learning domain use datasets of rigid objects.

Reconstruction of a sewing pattern as a structure with a deep neural network (DNN) presents multiple challenges. It requires predicting a set (of panels) with variable cardinality across garment types. Every set element is a structured object itself and may exhibit significant shape variations, and stitches being cross-connections between individual edges of panels complicate the structure even more. We propose a NeuralTailor framework that recovers panel structure through a combination of 3D point-wise attention for a high-level decision on topology and an RNN module for predicting panel details. Stitching information is regressed using a separate stitch connection module implemented as a classifier on edge pairs. We also present a strong baseline model based on RNN hierarchy to highlight the key features that enable NeuralTailor generalization properties. Our experiments show that NeuralTailor successfully reconstructs sewing patterns for various garment designs, including novel garments with sewing pattern structures not seen during training.

To summarise, our contributions are as follows:

  • A new problem of learning-based recovery of structured representation of garment sewing pattern.

  • A strong baseline and an upgraded solution for the first deep learning framework that predicts a structural representation of a sewing pattern from a 3D garment shape and generalizes to novel garment types.

Code for training the NeuralTailor framework will be made publicly available.

2. Related Work

This section reviews previous studies related to our work. Specifically, we discuss research on estimating the rest shape of the garment, review other approaches to reconstructing controllable garments with DNNs, and approaches on representing structured objects in general.

2.1. Garment Rest Shape Estimation

Several approaches have been proposed to estimate the rest shape of garments.

Fitting garment templates. The first approach is to rely on a set of garment templates and choose a template and its parameters to replicate an input garment as closely as possible. A notable work of [Chen2015c] performs a search in the database of 3D garment parts (skirts, sleeves, collars, etc.) and stitches them together to form the final garment. While having the advantage of consistently producing plausible garments, this approach requires an extensive database to deal with the high diversity of garments, which potentially leads to high computational costs. Several studies [Hasler2007ReverseGarments; Jeong2015c; Yang2018c]

utilize sets of parametric sewing patterns, described in terms of numerical values such as sleeve length, waist width, etc., and perform optimization in the parameter space so that a chosen pattern matches an input garment when simulated on top of a body model. Wang et al. 

[Wang2018] takes one step further and trains a DL-model for each parametric garment template (defined similarly as in the studies mentioned above) to predict the template-specific parameters from an input garment sketch. Parametric templates reduce the storage demand and allow smooth exploration of the design space, unlike the databases of individual examples. However, different garment types would require different sets of parameters, forcing the usage of different models for each garment type and preventing knowledge sharing across types. To solve this, we propose using a sewing pattern as shape parametrization, a typical structure for most garment types. Our approach allows for generalization beyond the garment types present in the training set, as demonstrated by our experiments in Sec. 7.

Surface flattening. Another way to get a garment’s intrinsic structure is directly cutting a 3D surface of an input garment into developable 3D parts and then flattening every piece into 2D panels with, for example, ARAP technique [Igarashi2005] or Variational Surface Cutting [Sharp2018VariationalCutting]. The flattening-based approach works well in a controlled environment where an input 3D garment is not heavily deformed, the full, uncorrupted geometry is available, and when the initial cutting strategy is provided by a user or other means. For its simplicity and speed, this approach is popular in solutions for garment design where a high degree of manual control is acceptable [Wang2003FeatureSketches; Wang2005DesignProducts; Decaudin2006c; Yunchu2007PrototypeDummy; Daanen2008Made-to-measureScans; Wang2009InteractiveCurves; Meng2012; Liu2018c]. Bang et al. [Bang2021EstimatingData]

adopt this approach to allow automatic processing by employing heuristic cuts relative to the body surface. The work produces plausible sewing patterns for various garment types but lacks in pattern quality and relies on the quality of original geometry a lot. Another recent work 

[Wolff20213DMovementc] relies on having direct access to the garment rest shape, which allows producing working patterns for arbitrary garment designs with a general technique of Variational Surface Cutting. On the other hand, our learning-based approach neither requires uncorrupted, unsimulated geometry as input, nor additional pre-processing, and is capable of producing clean panel shapes.

Pattern geometry optimization. Much success in estimating garment structure in terms of sensitivity to details was achieved by optimization-based methods where some base geometric representation is deformed to achieve a target. The formulation of the target could be quite flexible, from some desired design features to a 3D garment model. Brouet et al. [Brouet2012b] demonstrated this approach to adapt garments to different body shapes while preserving the overall style. Bartle et al. [Bartle2016c] proposed a garment editing pipeline for users to create new garments directly in 3D by editing and combining existing garments while ensuring correct sewing patterns. Wang [Wang2018c] developed a method to adjust a standard sewing pattern for a better fit on an input body shape while Li et al. [Li2018FoldSketch:Folds] enabled the creation of garments with desired folds design by simple sketching over the initial model. More recently, Montes et al. [Montes2020ComputationalClothing] used optimization of sewing pattern geometry to find optimal fit and pressure distribution for tight clothing. These methods require a good initial guess of the garment sewing pattern, which is often unavailable. Our approach follows a more loose assumption that the input belongs to a distribution modeled by the training data and even makes successful predictions on garment types outside the training domain. This assumption will become even less demanding as more data becomes available.

Inverting Physics. The work of [Ly2018] explores an interesting direction of performing a physics inversion by jointly estimating the rest shape and the physical forces acting on an input object conditioned on material properties provided by the user. This approach applies to any shell-like objects, including garments, and is not limited by the representational power of datasets. On the other hand, the proposed method is computationally demanding and has trouble handling the folds and wrinkles due to contacts, which is common for garments draped on humans. On the contrary, our approach successfully processes folds and wrinkles and can perform fast once trained.

2.2. Learning-based reconstruction of controllable garments

We see a potential for our approach of predicting sewing patterns to be used for reconstructing controllable 3D garments from 3D scans or images of people. A number of works in recent years address this problem for learning-based retargeting [Wang2018; LalBhatnagar2019; Santesteban2019; Bertiche2020; Ma2020; Patel2020; Zakharkin2021Point-BasedClothing], animation [Wang2019; Patel2020; Jiang2020; Ma2021TheClothing; Zakharkin2021Point-BasedClothing], or garment style adjustment [Wang2018; Tiwari2020; Su2020DeepClothEditing; Corona_2021_CVPR]. Some of the works rely on meshes of known topologies and thus require their models to be trained per-garment or per-garment type [Wang2018; Wang2019; Santesteban2019; Jiang2020; Tiwari2020; Patel2020]. Usage of displacements [LalBhatnagar2019; Bertiche2020; Ma2020], UV-maps [Su2020DeepClothEditing], point clouds [Ma2021TheClothing; Zakharkin2021Point-BasedClothing], and implicit functions [Corona_2021_CVPR] enabled representation of different garment styles within the same model and even showed the ability to reconstruct unseen outfits [Ma2021TheClothing], but the garments are reconstructed with design, material properties and deformations fused together.

We believe that reconstructing disentangled garment representations will eventually lead to better quality, control, and generalization. Shen et al. [Shen2020GAN-BasedImages] demonstrate a garment model generator conditioned on sewing patterns with capabilities to generalize to novel designs. In our work, we show that using sewing pattern as a natural structured representation of design when inferring it from raw inputs allows not only for generalization to unseen garment examples as in [Ma2021TheClothing], but unseen garment types. Moreover, sewing patterns are retargetable by-design and, when coupled with physics simulator, produce physically accurate 3D reconstructions with guaranteed developability, which geometry-based learned reconstructions cannot do yet.

2.3. Structural Deep Learning

The problem of representing sewing patterns in DNN is highly related to a more general problem of representing the structure of the objects composed of simpler components in DNN. Studies on this problem often experiment with 3D furniture as an example of such structured objects. Our work builds upon the ideas of hierarchical and sequential modeling of part relationships of GRASS [Chaudhuri2017], StructureNet [Mo2019StructureNet:Generation], SAGNet [Wu2019SagNet:Modeling] and LSD-StructureNet [Roberts2021LSD-StructureNet:Hierarchies]. On top of that, we attempt to generalize beyond the component collections presented in the training set. Hence, we introduce a novel attention module and connectivity classification module for stitch prediction. A recent work of Shape Part Slot Machine [Wang2021TheParts] demonstrated similar generalization ability by focusing on connections between components rather than the global shape. In our work, we come to a similar conclusion as [Wang2021TheParts] – that focusing on the local context allows for both prediction quality and structural generalization capabilities.

3. Dataset

In this work we use Dataset of 3D garments with sewing patterns introduced in [Korosteleva2021GeneratingPatterns]. It covers a variety of garment designs, including variations of t-shirts, jackets, pants, skirts, jumpsuits, and dresses, with 22,000 garments sampled from 19 base types in total. Each garment sample contains a garment 3D model as draped on SMPL [Loper2015] average woman body shape in T-pose, corresponding sewing pattern represented as a structure, and a corrupted 3D model imitating some of the 3D scanning artifacts. The dataset is limited in representing human poses and shapes but provides a good range of garment designs. Hence, it provides a good starting point for tackling the problem of sewing pattern recovery from 3D models.

Panel classes and panel vectors

The original dataset does not guarantee that similar panels from different garments types, e.g., pant panels in pants and jumpsuits, have the same labels. Hence, we introduce classes of panels that we use to group panels by role and location around the body across garment types. The labeling for panels of base templates is included in the supplementary materials.

Additional sample filtering

The original dataset contains garment samples with overlapping designs – these samples have different sewing pattern topologies and may belong to different garment types but produce similar shapes in 3D, as shown in Fig. 2. Such cases are common in real-world garments but they significantly complicate an already difficult problem. In this work, we assume that design overlap in the data is minimal to focus our attention on developing a base solution for sewing pattern reconstruction and topology generalization. We manually analyzed parameter spaces of the dataset base templates and filtered them to contain mostly non-overlapping examples.

Dataset split

We use the train/test group split of garment types as introduced in the dataset [Korosteleva2021GeneratingPatterns]. Garment samples from the seven types in the test group remain unseen to the NeuralTailor during training and are only used for evaluation, as shown in Sec. 7. We additionally designate 100 examples of each train group type as a validation set for model selection and 100 examples of each type as a test set to compare performance on seen and unseen types. This split leaves 19236 garment samples in the full training set. The number of training samples when sample filtering is applied is 9678.

Figure 2. Garments with design overlap. Two different sewing patterns produce similar 3D shapes when draped.

4. Overview

Our work explores several directions to approach the task at hand. We designed an original thought-through baseline model that can successfully represent the sewing pattern structures and learn to reconstruct them (Sec. 5

. It is based on extracting a latent space vector from input point cloud and then decoding it into sewing pattern through two-step hierarchy of RNNs, with stitching information represented as property of individual panel edges.

We then updated the baseline with several new ideas (Sec. 6). Firstly, we introduce a point-level attention mechanism that evaluates latent codes for individual panels based on local rather then global context. Secondly, we separate stitch prediction into an independent module that performs edge pairs classification into being connected or not.

As shown in Sec. 7, these improvements make the overall framework generalize to sewing pattern topologies unseen during training. The achieved generalization feature is critical for a diverse domain like garments. Gathering a fully representative dataset of garments is genuinely hard, and it is close to impossible to achieve design generalization by training specialized per-type models, which is a common approach in Deep Learning for 3D garments.

5. Baseline Model

Figure 3. Overview of Baseline architecture for sewing pattern recovery. The input point cloud of points gets processed by two EdgceConv [Wang2018DynamicClouds] layers outputting per-point features that are then aggregated by average pooling to form the latent garment code. This latent representation is then decoded into the predicted sewing pattern by hierarchically organized LSTM blocks. Pattern-level LSTM unfolds the latent code into the list of encodings of individual panels. Each panel encoding is processed by another LSTM cell to produce a sequence of edge features (including stitching information) and 6D placement of the panel. The same Panel LSTMs and MLP models are applied to each panel encoding.

5.1. Point Features Encoder

Deep learning-based processing of point clouds is a challenging problem of its own and has seen rapid development in recent years. In this work, we employ EdgeConv [Wang2018DynamicClouds] as a base block for the encoder for its simplicity and performance on par with other state-of-the-art point cloud-based network architectures, according to [Guo2020DeepSurvey]. The main advantage of EdgeConv is its ability to aggregate information in feature space rather than spatially by dynamically re-building a connectivity graph on every EdgeConv layer. Our encoder consists of two EdgeConv layers, as shown in Fig. 3, with a skip-connection from the input 3D point cloud to the output of the last EdgeConv layer. Final per-point features are then aggregated into a single feature vector by average pooling.

5.2. LSTM for Panel Encodings

In the next stage, the model reconstructs latent codes for each panel in a sewing pattern given the global latent code. Having no particular order with respect to each other, panels represent a set whose cardinality (number of panels) varies across garments. One of the simpler solutions to represent such a structure is to define an arbitrary order on set elements and then employ a sequence-based model to predict the elements of the formed sequences, as was done for structured predictions in  [Wu2019SagNet:Modeling]. OrderlessRNN [OguzYazici2020OrderlessClassification]

takes the set-as-sequence approach even further by allowing an RNN-based network to output set elements in any order instead of following a pre-defined one by a clever loss function construction, which helps improve the performance of their target task.

Following this line of work, we design panel encoding prediction as an LSTM [Hochreiter1997LongMemory] module for our baseline model for its capability to model sets of variable cardinality. This LSTM module takes in a garment global latent code and outputs a sequence of latent vectors of panels, which are then processed by Panel Decoder as described below. We experiment with both pre-defined order, and orderless losses approaches, as shown in Sec. 7.

5.3. Panel Decoder

Each panel latent vector predicted on the previous step is processed by the panel decoder to recover the panel shape (Fig. 3) and stitching information. Panel decoder consists of an LSTM and a linear layer. The LSTM converts a panel encoding into a sequence of edge features comprising the panel, and an additional linear layer regresses the 3D placement of the panel. The details of edge and placement representations are discussed below.

5.3.1. Edge feature.

In order to construct a meaningful sequential representation of panel edges, we use the following idea. Panel decoder outputs every edge as a 2D vector, from the edge starting point to its endpoint as follows:

where and are the 2D local coordinates of vertices and connected by . Since every panel is a closed piece-wise curve, these edge vectors form a loop when ordered and traced sequentially. 2D coordinates of any panel vertex can be obtained by adding a corresponding edge vector to the 2D coordinates of a previous vertex in the panel. The first vertex of the loop is always assumed to be at the origin of the panel local space. The dataset guarantees consistency in choice of edge loop first vertex and the direction of loop traversal across panels by design, so we simply use the edge loop order as given in the data when evaluating losses.

Since edges are not necessarily straight lines, we use curvature coordinates as an additional edge vector feature. Control point coordinates are defined in the local space of an edge. In this coordinate system and indicate the positions of edge vertex. Hence, indicates position along the edge, roughly corresponding to the location of curvature peak, and controls the depth of the curvature. If an edge is straight, its curvature coordinates are marked as . The edge feature will then look like this:

where are 2D edge vector coordinates and are curvature coordinates.

Since panels have a variable number of edges, we pad the edge sequences with empty edges, for which the edge feature is a zero vector, to the maximum number of edges found in the training set.

5.3.2. Stitch Tags for stitching information prediction

Stitches are cross-connections of the edges in the network output hence predicting them represents a challenge for a feed-forward style of network architecture. Our first idea is to include stitching information directly into the edge features. We define per-edge stitching information as the following feature vector:

where is a binary class of whether an edge is free or belongs to any of the stitches, and is a learned vector called a stitch tag that is designed to identify the edges that are connected. The definitive property of stitch tags is as follows: tags of edges from the same stitch are expected to be similar, but edges from different stitches should have tags that are different by a margin. We use Euclidean distance between tags as a similarity measure. The connectivity reconstruction then comes down to filtering out free and connected edges and comparing stitch tags of the pairs of connected edges. Note that the edges classified as “free” are not expected to have meaningful stitch tags.

This idea enables a compact representation of pattern connectivity that does not depend on the number of stitches or the total number of edges in a pattern and avoids explicitly referencing edge IDs, allowing the encoding of different sewing pattern topologies. The network learns to provide suitable values of the stitch tags by following the loss function that enforces the correct behavior during training, as described in Sec. 5.4.

5.3.3. Panel 3D placement representation.

The following feature vector represents the panel placement in the world space:

where is a quaternion that reflect panel rotation. Panel translation is represented as 3D translation of the top mid-point of the panel’s 2D bounding box when the panel is viewed in 3D. We found that in most cases, this point corresponds to body features (e.g., neck, waist) important for panel placement and thus exhibits stability across particular stylistic choices (e.g., skirt length). This translation formulation showed a more accurate 3D placement prediction than using panel local origin as the reference point in our tests.

5.4. Loss functions

The full loss for training the panel shape and placement prediction module is as follows:


5.4.1. Edge loss

The edge loss evaluates the quality of panel geometry prediction. Ground truth panel representation is converted to the sequential format of 2D edge vectors as described above. Then, is computed as an MSE loss on edge vectors and curvature coordinates between the ground truth and the corresponding edge features from NeuralTailor output.

5.4.2. Loop loss

The loop loss is added to additionally enforce the loop closure property of panel representation. It evaluates the norm of the distance between the origin and final point of the panel edge sequence.

5.4.3. Placement loss

The placement loss is an MSE loss on corresponding rotation and translation representations converted from ground truth placement information to match the network output specification.

5.4.4. Losses for stitch prediction

Training loss for predicting stitching information consists of the following two terms:


The class loss encourages learning proper edge class, modeled as a binary cross-entropy loss for edges classification into free and non-free. The tag loss enforces the definition of the stitch tags (Sec. 5.3.2) by referencing a list of stitches from the data. Its formulation is a variation of the triplet loss [Schultz2003] and consists of two components – similarity and separation losses. encourages the stitch tags of a pair of edges that are stitched together to be close to each other, and pushes all the stitch tags from different stitches apart by a predefined margin as follows:

where , are edge IDs, is a set of edge pairs to be stitched together, and is a set of non-free edges that participate in any of the stitches, as opposed to the edges that are left free. Both sets are obtained from the ground truth sewing pattern.

We found the training to be more efficient if and

losses are introduced after a few epochs, allowing the model to learn the overall concept of sewing patterns first. In our experiments, these loss components are added after the 40th epoch.

5.4.5. Implementation of panel ordering and padding

Evaluation of the above losses requires a choice of panel ordering within a sewing pattern. To ensure that ground truth panels of the same class are matched to the same positions in the net output panel sequence, we organize panels within sewing patterns into panel vectors. We fix the order of panel classes and place each existing panel in the panel vector according to its class id. The slots corresponding to classes not present in a sewing pattern are filled with empty panel placeholders, represented by zero tensors of the same dimensionality as the actual panels. In contrast to a usual approach of placing the padding at the end of a sequence, this arrangement spreads the panel placeholders across the panel sequence. This strategy allows the ordering to be more consistent across different topologies and encourages the network to explore the similarity between the panels from the same class. In our experience, the choice of padding strategy did not seem to affect the performance of the Baseline model, but it paid off when we improved the architecture as discussed in Sec. 


We additionally experiment with removing the panel ordering by finding the order of panels in the ground truth that best matches the order of panels in predicted sewing patterns, similarly to OrderlessRNN [OguzYazici2020OrderlessClassification]. The matching is performed by solving an assignment problem between the two sets of panels by an off-the-shelf algorithm. The distances between panels are evaluated as Euclidean distances of their vector representation consisting of the concatenation of all the edge features in a panel and 6D placement vector.

6. NeuralTailor: Improvements for generalization

Figure 4. Overview of NeuralTailor architecture. The first core difference with baseline is the attention MLP module that predicts per-panel-class attention scores for each point (MLP weights are shared across the points). The scores are then used to weigh the point features before aggregating them into per-panel latent codes that are then decoded into panel shapes as in the baseline. The second difference is the recovery of stitching information by using a separate StitchMLP that classifies edge pairs of the predicted pattern into being stitched or not (MLP weights are shared across edge pairs).

We introduce two modifications to the baseline framework that encourage modular and local context-based reasoning within the architecture. These features enable recognizing familiar panel components and reconstructing novel patterns topologies by recombining these components.

6.1. Attention-based Panel Encodings

Figure 5. Attention weights for a jumpsuit example (unseen type) corresponding to highlighted panels. Interestingly, attention weights spread to the areas of panels’ symmetrical counterparts (sleeve, top), and, when needed, to the representative areas of global shape (shape of top front and back panels depends on whether the bottom is skirt or pants, hence the model grabs some features from the bottom. Best viewed on screen zoomed-in.)

As introduced in Sec. 5, the baseline model employs sequence prediction from global garment latent code to reconstruct the latent codes for individual panels. This global bottleneck makes the model prone to relying on the overall shape of the garment and less likely to exploit its per-component structure.

Another option would be to attend to only a relevant part of the input point cloud to construct a latent code for a corresponding panel. This approach would allow the model to construct the final sewing pattern from relevant pieces. An additional consideration is that garments of different types have a different number of panels, and the types of panels differ, too.

One thing we may safely assume is that one sewing pattern contains no more than one panel of each panel class as per the definition of panel classes (Sec. 3

). Hence, we implement the attention idea by introducing an additional MLP module that acts on point feature vectors and predicts per-point per-panel-class probability scores of how likely it is that a particular point belongs to a given panel class, as shown in Fig. 

4. The model then obtains encodings for each panel class by simply pooling point features as given by the encoder (Sec. 5.1) weighted by the attention scores of the relevant class.

Ideally, attention weights should encourage the recognition of components corresponding to panel classes across different garments. Hence, we would like attention weights to highlight only the minimal local context relevant to each panel class. For that reason, weights should be sparse, and each point should participate in just one or a few classes. We encourage this behavior by employing SparseMax [pmlr-v48-martins16] as the last layer of attention module evaluated on per-point attention scores.

Examples of attention weights predicted by our framework are given in Fig. 5. The attention weights highlight the local context and contain additional clues related to garment type.

6.2. Stitching Information Regression Neural Network

Stitch-tag-based pattern stitches prediction of the baseline model yields an effective representation of stitches to reconstruct the whole sewing pattern in one single model. The problem with this solution is that stitching information gets entangled with the shape of the connected panels as it passes through the bottleneck of panel latent codes. This creates problems when stitching pairs of panels that were connected in any of the training set examples. For example, connecting a sleeve and a jumpsuit front panel that has an extra edge at the point of connection with pants, a feature not presented in any garments with sleeves from the training set.

For this reason, we shifted towards considering the panel edges as individual objects rather than panels’ parts. We hypothesize that the pattern geometry and panel placement may provide enough information to predict the stitches without accessing the input geometry. Surprisingly, it turned out to be true.

We constructed a simple MLP model that takes a pair of sewing pattern edges as input and outputs the probability of these edges being connected by a stitch (Fig. 4). Each edge is represented as a vector

where and are 3D coordinates relative to the body model of panel vertices connected by the stitch, and are the edge curvature control point coordinates, as described in 5.3.1.

6.2.1. Training set structure

The only tricky part of training this stitch classification model was setting up the training set. A naive training set would include all possible combinations of edge pairs for each sewing pattern in the garment dataset. This training set is highly unbalanced as most edge combinations are not connected by a stitch. It also has inadequately more examples for complex patterns with many panels comparing to simpler ones, as the number of edge pairs grows quadratically with a total number of edges in a sewing pattern. The latter property also results in the fast growth of the training set size as we add more sewing patterns to it. Instead, on each epoch, we sample a given number of edge pairs from each sewing pattern, with oversampling of stitched pairs and under-sampling of non-connected pairs. Since our dataset contains many samples that share sewing pattern topologies, we expect the network to get enough clues for non-connected pairs during training. In addition to these precautions, we avoid bias towards a particular choice of vertices or edges order in pairs by randomizing both of these properties at training time.

6.3. Training process adjustments

Training of NeuralTailor framework is now performed in two steps: first, training the model for pattern shape regression, and second, training the stitch prediction model, in this order. The stitch prediction model is trained on the edge features reconstructed by the pattern shape model instead of using edges from ground truth sewing patterns. This decision increases robustness to noise in the pattern shape model output at inference time, which we demonstrate in Sec. 7.3.1.

The losses for each model are adjusted as follows. Since the stitch prediction moves to a separate module, the is not needed for training the pattern shape regression hence the total loss for it is:


with , , and being the same as introduced in Sec. 5.4. The ordering of ground truth panels for loss evaluations follows the same scheme based on panel classes as for the baseline model training. As for stitch regression model, we train it as a binary classification task using binary cross-entropy loss (BCE).

7. Evaluation

Seen types Unseen Types
Panel L2 #Panels #Edges Rot L2 Transl L2 Panel L2 #Panels #Edges Rot L2 Transl L2
LSTM w Stitch Tags 5.35 98.3% 99.0% 0.02 1.04 20.4 1.6% 35.3% 0.25 9.02
LSTM 2.71 99.8% 99.9% 0.004 0.32 14.7 6.5% 53.2% 0.17 6.75
LSTM Orderless 2.87 99.4% 99.9% 0.004 0.33 12.94 2.7% 59.0% 0.16 7.18
Att (NeuralTailor) 1.5 99.7% 99.7% 0.04 1.46 5.2 83.6% 87.3% 0.07 3.22
Att w Stitch Tags 1.83 99.6% 99.8% 0.05 1.67 8.31 69.9% 79.9% 0.08 3.42
Att w/o Loop Loss 1.62 98.7% 87.5% 0.04 1.53 5.97 85.5% 60.9% 0.07 3.35
Att w Segm 2.28 95.3% 99.6% 0.05 1.62 7.48 76.3% 79.5% 0.07 2.87
Att w Alt Classes 1.53 98.8% 99.6% 0.04 1.45 7.96 73.1% 80.5% 0.08 3.57
Att w/o Data Filter 1.6/1.95 98.6/97.5% 99.8/99.2% 0.07/0.07 2.2/2.5 6.2/6.4 81.6/75.2% 88.5/88.2% 0.08/0.10 3.9/4.5
Table 1. Evaluating quality of pattern shape prediction on test set consisting of garment types seen and unseen during training in various experiments. The results for Att w/o Data Filter are reported for filtered and non-filtered test set divided by ”/”.
Seen types Unseen Types*
Precision Recall Precision Recall
Stitch Tags 99.9% 99.9% 70.1% 72.9%
Model on GT 96.6% 88.6% 75.3% 60.6%
Model on Predictions 96.3% 99.4% 74.7% 83.9%
Table 2. Evaluation of stitch prediction in different experiments. Evaluation of Stitch Model is performed on sewing patterns reconstructed from 3D inputs by the pattern shape model. * To reduce error propagation, performance for unseen garment types was evaluated only on sewing patterns with correctly predicted number of panels.

This section demonstrates the capabilities of NeuralTailor in different setups. First, we introduce the collection of measurements to evaluate sewing pattern prediction quality. We then compare the performance of NeuralTailor with our baseline solutions for pattern shape and stitch information reconstruction on garments types that were used or hidden during training. We then further analyze the behavior of the framework with different loss conditions, the effects of changing the panel classes or removing dataset filtering (as introduced in Sec. 3), as well as the potential for generalization to in-the-wild data. Lastly, we compare sewing patterns predicted by NeuralTailor with the patterns suggested by a recent work solving a similar problem [Bang2021EstimatingData].

7.1. Metrics

We evaluate the accuracy in predicting the number of panels within every pattern (#Panels) and the number of edges within every panel (#Edges). The cases in which the panel loop does not return to the origin are counted as having an incorrect number of edges as they usually require adding an edge to produce a connected shape. To estimate the quality of panel shape predictions, we use the average distance ( norm) between the vertices of predicted and ground truth panels with curvature coordinates converted to panel space and acting as panel vertices in this comparison (Panel L2). Similarly, we report norm on the differences of predicted panel rotations (Rot L2) and translations (Transl L2) with ground truth values. The quality of predicted stitching information is described by a mean precision (Precision) and recall (Recall) of predicted stitches.

7.2. Comparing LSTM and Attention-based solutions for pattern shape recovery

Here we compare the baseline hierarchical LSTM (LSTM) architecture versus attention-based model for pattern shape recovery (Att). The presence of Stitch Tags in the output affects the performance of both models, so for a cleaner comparison of shape recovery, we train and compare both architectures without stitch tags. We evaluate the models on the test set consisting of unseen garment examples of the same types that were used during training and on completely new types, according to the split described in Sec. 3. As can be seen from the results reported in Table 1, the baseline solution performs reasonably well on familiar types. However, it fails to generalize with less than 7% success rate for predicting the correct number of panels in sewing patterns. An orderless loss (LSTM Orderless), which was found beneficial for RNN-based image multi-labeling task [OguzYazici2020OrderlessClassification], did not improve the results. However, the attention-based solution showcases the ability to predict sewing patterns for the garment types unseen during training, correctly predicting the number of panels in more than 80% of cases and performing well on other metrics. Examples of successful reconstructions are given in the supplementary materials, Fig. 10 and Fig. 11. In addition, the attention-based solution produces better panel shape quality (1.5 versus 2.7 Panel L2 for LSTM) on the test set but with somewhat less accurate panel placement.

7.3. Choosing the method for stitch prediction

To faithfully compare the two solutions for stitch prediction – stitch tags as edge features and separate edge pairs classifier – we evaluate both models on attention-based pattern shape prediction solution. We either train it jointly with stitch tags or use a trained pattern shape prediction model to produce inputs for the stitch model. The LSTM-based method does not generalize to novel garment types (Sec. 


), hence it cannot provide suitable inputs for stitching information recovery methods for those cases. In the case of unseen garment types, to prevent errors from the shape prediction model from affecting the stitch metrics, we only evaluate precision and recall scores on outputs with a correctly predicted number of panels.

The results of the evaluation are given in Table 2. While stitch tags give near-perfect predictions on known types, their performance on unseen types is inferior to the best separate stitch model (Model on Predictions) in both precision and recall scores. In addition, training models with stitch tags seem to affect the performance of the shape prediction quality for both LSTM and attention-based solutions compared to the models trained without them (Table 1). Pattern shape model training with stitch tags is significantly slower (by about an extra 15h on 2 GPU training). In contrast, the stitch classifier is lightweight with 20 min training on a single GPU aided by two-hour inference of pattern shape model on the entire training set on a single GPU to obtain training data for stitch prediction.

We believe that the successful performance of a simple edge classifier model is explained by the fact that connected edges often have similar shapes, are close to each other in 3D, and stitches are often concentrated around certain body areas in our dataset. The latter might not hold for more complex garments types; hence a more sophisticated solution might be needed in the future. Another essential feature of the model is its reliance on only the local context of a potential stitch, which allows for a good performance on unseen garment types.

7.3.1. Training set source for stitch prediction

There are two options for choosing the type of input source to train connectivity prediction: using the edge vectors from ground truth panels or using the edges output by the trained pattern shape prediction module. We experimented with both approaches and then tested both models on the set of patterns output by the pattern shape prediction module, as part of the integrated pipeline (Table 2). As one could expect, the stitch model trained on the pattern shape predictions is more robust to the noisy inputs than the model trained on clean ground truth edges, hence having a significantly better performance for both seen and unseen garment types.

7.4. Loss ablation study

Most of the losses we use for training pattern shape prediction or stitching are simple formulations dictated by the output features of the models. However, we find the need to justify the usage of loop loss for panel shapes predictions and discuss encouraging segmentation-like behavior in attention scores.

7.4.1. Loop loss

Figure 6. Front top panel of the dress sewing pattern as predicted by models trained with and without loop loss. The loop loss encourages completion of shapes and hence reduces relative shifting of edges.

A model trained with only the basic losses, excluding the loop loss, tends to produce panels with the last edge not perfectly connected to the first one (Fig. 6). Loop loss helps alleviate this issue. Quantitative analysis also reflects this effect: the overall edge accuracy score drops drastically when the loop loss is removed from the training process (Table 1).

7.4.2. Learned attention scores vs. segmentation

The way we formulate the attention scores (Sec. 6.1) is very similar to the typical formulation for 3D model segmentation output layers. We also had an intuition that attention scores should resemble segmentation because they should attend to the area of the input 3D model corresponding to that particular panel location. With these two factors, it seems natural to encourage this segmentation-like behavior in attention scores explicitly using segmentation loss and ground truth segmentation labels provided with the dataset.

We implement segmentation loss on SparseMax scores as introduced in the original paper [pmlr-v48-martins16] and add to the other losses on pattern shape with weighting to balance the scales of errors. The point cloud segmentation of inputs is transferred from the original mesh segmentation by taking the class of the nearest neighbor of each sampled point.

Results for the model trained on Segmentation loss (Att w Segm) are reported in Table 1. Unfortunately, segmentation loss was detrimental to performance on both parts of the test set. Closer inspection of attention scores generated by the model trained without segmentation loss (Fig. 5) reveals that while attention tends to concentrate on the areas close to corresponding panel, it also spreads to the areas of panel’s symmetric counterpart and to the areas that reveal related global features (e.g., the number of edges in top front or back panels depends on whether they connect to pant or skirt panels). Encouraging segmentation behavior may disturb the network from discovering these or similar dependencies.

7.5. Effects of dataset preprocessing

Figure 7. Examples of mispredicting sewing pattern topologies according to different data pre-processing. Gray panel denotes panels missing from prediction, and red outline denotes extra panels or panels with significant errors.

As was introduced in Sec. 3, we grouped the panels that compose the sewing patterns of garments in the dataset in classes and additionally filtered samples of the dataset to reduce the design overlap issues. Here we investigate the effect of these decisions.

7.5.1. Panel classes

Panels are grouped in classes by their role in the garment and location around the body. For example, we grouped the front panels covering the trunk from t-shirts, dresses, and jumpsuits in one class (the full classification is given in the supplementary materials). However, there are several different ways to assign classes, and we found that the choice might affect the performance of the final panel shape prediction. To demonstrate this effect, we constructed an alternative set of classes where both panels that correspond to the left and right opening of the jackets are assigned a separate class. The original classification grouped one of the sides with full front panels of t-shirts, dresses, and jumpsuits. The results given in Table 1 demonstrate that this extended class arrangement (Att w Alt Classes) has worse performance on unseen garment types. In Fig. 7 we demonstrate failure cases for these experiments to showcase qualitative differences. For example, when the original classification misses or adds one side of the jacket, the alternative ones miss or add both.

These observations lead to the conclusion that the question of panel classification might be more complex than we initially thought and thus need to be investigated further in more detail in future work.

7.5.2. Sample filtering

Table 1 shows the results of the attention-based pattern shape prediction as trained on the full dataset without sample filtering (Att w/o Data Filter). Performance of this model on the filtered test set is comparable to the results of our main model (Att), although the panel shape metric is slightly worse on both seen and unseen types. However, we should note that by removing filtering, we increased the number of garment samples available for training by about two times, which affects the performance as well.

It is noteworthy that the model trained on the full dataset produces different quality errors compared to the original run. Fig. 7 shows a prediction of extra sleeve panels for sleeveless but comprehensive garment examples or misinterpretation of a dress as a long t-shirt pattern. These mistakes (as well as jumpsuit mistakes for the Att experiment) appear to be the issues of design overlap, which we mentioned in Sec. 3.

7.6. Comparison with flattening-based sewing pattern recovery

Figure 8. Comparison of sewing pattern reconstruction of NeuralTailor and the method of Bang et al. [Bang2021EstimatingData]. Our method produces patterns with cleaner shapes, shows the capability to handle complex panel arrangements (second column), and reproduces garment fit (third column). Best viewed on screen zoomed-in.

The work in the area of sewing pattern shape recovery is somewhat limited, especially when focusing on the direct estimation of sewing patterns from geometry without access to initial guesses or templates. Our closest competitor is the work of Bang et al. [Bang2021EstimatingData] that uses a flattening-based approach.

We compare this work with the predictions of NeuralTailor on garments from our test set. Note that our examples present favorable conditions to the work as they contain clean and full geometry with minimum distortions due to human poses. We chose garment samples from types supported by the original work (no jackets, hoods, or jumpsuits). Figure 8 demonstrates that while both methods give good results on simple garments (pants, pencil skirt), our method consistently estimates the garment fit better (pants, t-shirt, dress), while the competing technique produces slightly looser garments. NeuralTailor can also handle stylistic panel arrangements that are difficult to recover by the body-part-based cuts (skirt with a belt and flare skirt). Sewing patterns produced by our method are symmetric and contain straight lines and simpler curves, reproducing typically expected sewing pattern shapes.

7.7. Robustness to input noise

Figure 9. Sewing patterns predicted by NeuralTailor on examples from Deep Fashion3D dataset. For jeans, the panels for the belt (two panels on top) were refined to proper shapes before draping.

To get a complete picture of the NeuralTailor behavior, we test its performance on the real garment captures from Deep Fashion3D dataset [Zhu2020] (Fig. 9). We found that the model makes relatively good guesses about the garment structure; for example, jeans got a pattern of classic pants but with a belt, a type that was not included in our dataset. On the other hand, the quality of pattern shape and panel placement prediction degraded on the in-the-wild scans, and bridging this sim-to-real gap will be an important direction of future work.

8. Discussion and Future Work

This paper presented NeuralTailor, the first learning-based solution for recovering sewing patterns as structures from 3D garment point clouds. We introduced a baseline based on hierarchical LSTMs capable of recovering sewing patterns for drastically different garment types within the same model. We then suggested a novel attention mechanism and a stitch recovery module that both focus on exploring local features to enable generalization to novel garment types and sewing pattern topologies unseen during training.

This work is the first step towards neural sewing pattern recovery. It successfully demonstrates how structured representation and consideration for the local context could allow generalization beyond the data available for training, which is particularly useful for the ever-evolving garment domain.

However, there are several directions left for future research. There is a need for additional solutions to handle overlapping designs and, for example, make the framework produce multiple or any of the plausible patterns for a particular input garment. It would also be interesting to explore if the optimal panel clustering can be found automatically instead of relying on heuristic decision. The current stitching model prediction, although successful, might benefit from additional exploration and direct access to the input 3D point cloud.

On a higher level, an important direction would be to bring the pipeline closer to in-the-wild data. NeuralTailor would improve its applicability by incorporating variations due to material properties, body poses, or shapes, and fine features of sewing pattern design, such as darts, pleats, or complex edge curves. On top of that, it would be important to consider complex garment arrangements, such as heavy occlusions due to garment layering, layering of fabric (e.g., ballroom skirts), accessories that change the standard draped shape like belts, and utilization of complex materials like thick and bumpy winter coats. Bringing these features would require an extension of the currently available datasets. Other technologies, such as domain transfer and adaptation, could also be worth exploring to reduce the need for data labeled with ground truth sewing patterns.


NeuralTailor: Supplementary Material

Figure 10. Example sewing pattern predictions by NeuralTailor on garment types unseen during training. Stitches are not shown for clarity of visualization. Predicted sewing patterns are draped on SMPL [Loper2015] woman body model using a stand-alone physics simulator.

Appendix A Implementation details

Architecture details

Each EdgeConv layer in both of our architectures (Figures 34

) uses a small MPL with two hidden layers of 200 neurons each and an output layer of 150 neurons. The dynamic graphs on each layer are constructed using

nearest neighbors. Per-point features are aggregated from edge features using max-pooling. The final per-point feature has size 153 thanks to skip connection with input point coordinates. Pattern LSTM (Sec. 

5.2) cell contains two layers with 250 elements per hidden layer and output of the same size. Attention MLP (Sec. 6.1) consists of 3 layers with 153 neurons each and outputs vector of size 31 (number of panel classes) or 32 for the experiment with additional class (Sec. 7.5.1). Panel decoder’s LSTM cell contains three layers with 250 elements per layer, outputting edge features of size 4 or of size 8 if stitching information is included. The MLP for decoding the panel placement consists of one linear layer mapping the 250-element panel encoding to the vector of 7 elements representing concatenated rotation and translation. The stitch information prediction model (Sec. 6.2) is MLP with 3 layers, hidden layer size of 200 and output layer of one neuron. For training this model, we sample 200 edge pairs that are stitched and 200 that are not from each sewing pattern example in the batch. All LSTM cells operate in a one-to-many manner. We construct the input to LSTM as a sequence of duplicated input encodings for the desired length of the output sequence.

Data pre-processing

The 3D garment models from the dataset of [Korosteleva2021GeneratingPatterns]

have a clean mesh structure with visible seam lines. We randomly sample point clouds from the surface of these models. Each sample point cloud contains 2000 points. To stabilize training, we additionally apply standardization (bringing mean to zero and standard deviation to one) on input point clouds, edge vectors, curvature coordinates, and normalization (ensuring all values are between 0 and 1) on panel rotations and translations.

Training settings

We found it beneficial to use one-cyclic learning rate scheduling, following recommendations of [Smith2018ADECAY], with the maximum learning rate of 0.002. We train all models for 350 epochs with Adam optimizer [Kingma2015]

and batch size of 30 with early stopping enabled for when the model does not improve for consecutive 100 epochs. The training pipeline is implemented with PyTorch 

[PyTorchNEURIPS2019_9015], PyG [PyG/Fey/Lenssen/2019], and Weights and Biases [wandb].

Training times

Training of the pattern recovery model without stitch tags takes about 36 hours on two NVIDIA Titan Xp GPUs. Training of the stitch model follows a similar training setup and takes about 2 hours for inference of pattern shapes from the pattern recovery model on the training set and 30 min of the actual training on single NVIDIA Titan XP GPU. The full baseline model with LSTM backbone and stitch tag recovery takes 72 hours to train on two NVIDIA Titan Xp GPUs.

Appendix B Example predictions on the test set

Figure 11. Example sewing pattern predictions by NeuralTailor for garment types available during training, one example for each type. Stitches are not shown for clarity of visualization. Predicted sewing patterns are draped on SMPL [Loper2015] woman body model using a stand-alone physics simulator.