Optimizing bra size determination according to 3D shape of breast

By receiving and processing 3D images, identifying the central axis and calculating the fitting loss value, a clustering algorithm is used to generate a suitable bra size group, which solves the size distribution problem that the existing technology cannot take into account the breast shape and achieves a better wearing effect.

CN114745985BActive Publication Date: 2025-10-17CORNELL UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080084244.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-10-03
Filing Date
2020-10-03
Publication Date
2025-10-17
Estimated Expiration
2040-10-03

AI Technical Summary

Technical Problem

Existing bra sizing systems fail to account for the shape and form of a woman's breasts, resulting in an inappropriate size distribution.

Method used

The method receives multiple 3D images, identifies and aligns the central axes of body parts, compares the fitting loss values ​​between image pairs, uses a clustering algorithm to group the images, and generates a dissimilarity matrix to determine the appropriate size groups.

Benefits of technology

It achieves precise allocation of bra size according to breast shape and form, improving wearing comfort and fit.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114745985B_ABST
    Figure CN114745985B_ABST
Patent Text Reader

Abstract

Methods and systems are described for developing a sizing system by classifying and selecting prototypes, which can be considered as the most suitable fitting models. Once the prototypes are classified and selected, recommendations for sizing of a target body part can be issued.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross Reference to Related Applications

[0002] This application claims priority under 35 U.S.C. § 120 from U.S. Provisional Application No. 62 / 910,063, filed October 3, 2019. The entire subject matter of that application is incorporated herein by reference. BACKGROUND

[0003] The materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.

[0004] In some instances, size determination systems for ready-to-wear garments can be based on body measurements or tape measurements. For example, size determination systems for a bra can be based on body measurements such as bust circumference and underbust circumference. Further, bra size determination systems are distributed into a discrete number of different band sizes and cup sizes regardless of the shape and form of a woman’s breasts. SUMMARY

[0005] In an aspect of the disclosure, disclosed is a method for developing a sizing solution for a body part. The method can include receiving, by a processor, a plurality of three-dimensional (3D) images. The plurality of 3D images can include body parts of bodies of different individuals; for each 3D image of the plurality of 3D images, the method can include identifying a first region of interest in the 3D image; and shifting, by the processor, the first region of interest to align a central axis of the first region of interest with a 3D reference point. The central axis can be parallel to a longitudinal axis of the body of the individual. Also, for each 3D image of the plurality of 3D images, the method can include shifting, by the processor, the first region of interest in a vertical direction. The vertical direction can be parallel to the longitudinal axis of the body to align a landmark feature in the first region of interest with the 3D reference point. For each 3D image of the plurality of 3D images, the method can further include identifying a second region of interest in the first region of interest; identifying, by the processor, a plurality of data points on a surface of the second region of interest; determining, by the processor, a plurality of distances between the plurality of data points and the 3D reference point; and comparing, by the processor, the plurality of distances with distances determined at the same data points for each of the other 3D images in the same data points such that the 3D image is compared pairwise with each other 3D image of the plurality of 3D images. The method can further include determining, by the processor, a fit loss value for each possible combination of pairs of 3D images of the plurality of 3D images with respect to the second region of interest. Each fit loss value can indicate a difference between a corresponding pair of 3D images with respect to the second region of interest, and the determination of the fit loss value for each pair of 3D images can be made based on a result of a distance comparison between the pair of 3D images with respect to the second region of interest. The method can further include generating, by the processor, a dissimilarity matrix using the fit loss values determined for each pair of 3D images; and clustering, by the processor, the plurality of 3D images into a plurality of groups based on the dissimilarity matrix, wherein each group corresponds to a size of the body part.

[0006] In some aspects, the body part can be a pair of breasts.

[0007] In some aspects, the method can further include, in response to identifying the first region of interest, the first region of interest including an entire torso: determining a first average of image points in the first region of interest in a first direction, the first direction can be orthogonal to the longitudinal axis of the body; determining a second average of image points in the first region of interest in a second direction, the second direction being orthogonal to the first direction and to the longitudinal axis of the body; defining the central axis of the first region of interest as intersecting the first average and the second average, the central axis can be orthogonal to the first direction and the second direction.

[0008] In some aspects, shifting the first region of interest in the vertical direction can include shifting the first region of interest until a plane orthogonal to the central axis intersects the central axis at the 3D reference point, wherein the plane intersects the landmark feature.

[0009] In some aspects, the landmark feature can be determined by defining a midpoint between a pair of nipples in the vertical direction, wherein the plane intersects the midpoint.

[0010] In some aspects, identifying the second region of interest can include removing image points located on a first side of a plane parallel to a coronal plane of the body and intersecting the 3D reference point. The body part can be located on a second side of the plane opposite the first side and parallel to the coronal plane.

[0011] In some aspects, identifying the second region of interest can include: rotating the first region of interest to an angle that forms a Moiré pattern; identifying an upper bound of the second region of interest based on the formed Moiré pattern; and identifying a closest wrinkle of a protruding region in the first region of interest to identify a lower bound of the second region of interest.

[0012] In some aspects, the number of the plurality of data points identified on the surface of the second region of interest of each 3D image can be a fixed number.

[0013] In some aspects, the plurality of data points can be identified based on a predefined sequence.

[0014] In some aspects, identifying the plurality of data points can include: segmenting, by the processor, the second region of interest into a plurality of uniformly distributed slices orthogonal to the central axis; segmenting, by the processor, each slice into a plurality of portions based on a fixed angular interval. Each portion can correspond to an angular value, and each portion can include a set of points. For each portion on each slice: the method can include determining, by the processor, an average distance of the set of points from the 3D reference point; and setting, by the processor, a point associated with the average distance as a data point represented by the angular value corresponding to the portion. The data point can be one of the plurality of data points identified.

[0015] In some aspects, the method can further include: determining a missing image point in a particular portion of the slice, wherein the missing image point is removed from the 3D image during the identifying of the first region of interest; assigning a set of undefined values to the missing image point in the particular portion as data points.

[0016] In some aspects, determining the fitting loss value can be based on a difference between data points from each 3D image pair that are located on the same slice and associated with the same angular value.

[0017] In some aspects, determining the fitting loss value includes using a dissimilarity function that quantifies a shape difference between 3D image pairs with respect to the second region of interest.

[0018] In some aspects, the dissimilarity function can be represented as:

[0019]

[0020] wherein:

[0021] di represents a first 3D image;

[0022] d2 represents a second 3D image;

[0023] di represents an i-th data point in the first 3D image;

[0024] d2i represents an i-th data point in the second 3D image;

[0025] n represents a total number of data points;

[0026] m represents a number of data point pairs in which neither data point includes an undefined value.

[0027] In some aspects, where there are N 3D images in the plurality of images and where clustering the 3D images comprises: applying, by the processor, one or more clustering algorithms to the dissimilarity matrix, where application of each clustering algorithm of the one or more clustering algorithms can result in grouping the plurality of 3D images into k 3D image cluster groups, where k is in a range of 1 to N. In k = 1 cluster groups, there can be N 3D images in the one group. In k = N cluster groups, there can be one 3D image in each group. For each clustering algorithm of the one or more clustering algorithms, the method can include determining an overall aggregated fit loss for each k, where k is in a range of 1 to N. The overall aggregated fit loss for k can be determined by adding aggregated fit losses for each group of the k, the aggregated fit loss being determined for each group of the k after a prototype has been selected for each group of the k. The processor can identify a particular clustering algorithm of the one or more clustering algorithms that results in an overall aggregated fit loss for the particular clustering algorithm being the lowest overall aggregated fit loss of the overall aggregated fit losses of all clustering algorithms for a most number of k in a range of k = 1 to k = N.

[0028] In some aspects, the method can further include: identifying a value m representing a number of cluster groups that satisfy a certain criterion for aggregated fit loss values across respective cluster groups of the 1 to N 3D image cluster groups; and setting the identified value m as a group number for the size of the body part.

[0029] In some aspects, the method can further include for each 3D image of a group of 3D images: designating the 3D image as a candidate prototype image for the group; aggregating fit loss values for each different pair of 3D images of the group that includes the candidate prototype image, where a different pair can not have the same two 3D images; identifying one candidate prototype image having a lowest aggregated fit loss value of the aggregated fit loss values associated with each candidate prototype; and assigning the identified candidate prototype image as a prototype image for the group.

[0030] In some aspects, the plurality of 3D images can be received from one or more 3D scanners.

[0031] In some aspects, the one or more 3D scanners can be one or more of: a mobile phone, a point of sale terminal, a 3D body scanner, a handheld 3D scanner, and a fixed 3D scanner.

[0032] In other aspects, disclosed is a method for assigning a body part to a size in a size determination scheme. The method can include receiving, by a processor, a three-dimensional (3D) image comprising the body part of a body of an individual; identifying a first region of interest in the 3D image; shifting, by the processor, the first region of interest to align a central axis of the first region of interest with a 3D reference point. The central axis can be parallel to a longitudinal axis of the body of the individual. The method can further include shifting, by the processor, the first region of interest in a vertical direction that can be parallel to the longitudinal axis of the body to align a landmark feature in the first region of interest with the 3D reference point. The method can further include identifying a second region of interest in the first region of interest; identifying, by the processor, a plurality of data points on a surface of the second region of interest; determining, by the processor, a plurality of distances between the plurality of data points and the 3D reference point; and extracting, by the processor, a plurality of prototype images from a memory. The plurality of prototype images respectively represent a plurality of size groups. The method can further include comparing, by the processor, the plurality of distances determined for the received 3D image with respect to the second region of interest to distances determined for the same data points in each of the prototype images, such that the received 3D image can be compared pairwise with respect to the second region of interest with each of the plurality of prototype images; determining, by the processor, a fitting loss value between the received 3D image and each of the extracted prototype images with respect to the second region of interest based on the comparison; identifying, by the processor, a lowest fitting loss value among the determined fitting loss values; and assigning the received 3D image to a size group represented by the prototype image corresponding to the lowest fitting loss value.

[0033] In some aspects, the body part can be a pair of breasts.

[0034] In some aspects, the method can further include in response to identifying the first region of interest, wherein the first region of interest comprises an entire torso: determining a first average value of image points in the first region of interest in a first direction that is orthogonal to a longitudinal axis of the body; determining a second average value of image points in the first region of interest in a second direction that is orthogonal to the first direction and orthogonal to the longitudinal axis of the body; and defining the central axis of the first region of interest as intersecting the first average value and the second average value. The central axis can be orthogonal to the first direction and the second direction.

[0035] In some aspects, the shifting the first region of interest in the vertical direction can include shifting the first region of interest until a plane that is orthogonal to the central axis intersects the central axis at the 3D reference point, wherein the plane intersects the landmark feature.

[0036] In some aspects, the landmark feature can be determined by defining a midpoint between a pair of nipples in the vertical direction, and wherein the plane intersects the midpoint.

[0037] In some aspects, identifying the second region of interest can include removing image points that are located on a first side of a plane that is parallel to a coronal plane of the body and intersects the 3D reference point, and the body part can be located on a second side of the plane that is opposite the first side and that is parallel to the coronal plane.

[0038] In some aspects, the identifying the second region of interest can include: rotating the first region of interest to an angle that forms moire; identifying an upper bound of the second region of interest based on the formed moire; and identifying a closest wrinkle of a protruding region in the first region of interest to identify a lower bound of the second region of interest.

[0039] In some aspects, the plurality of size groups can be based on a dissimilarity matrix that is generated using a plurality of fitting loss values corresponding to each possible combination of pairs of 3D images of a plurality of 3D images. The plurality of 3D images can include the body part of different individuals.

[0040] In some aspects, the plurality of fitting loss values can be determined based on a dissimilarity function that quantifies a shape difference between pairs of 3D images with respect to the second region of interest.

[0041] In some aspects, the 3D images can be received from one or more 3D scanners.

[0042] In some aspects, the one or more 3D scanners can be one or more of: a mobile phone, a point of sale terminal, a 3D body scanner, a handheld 3D scanner, and a stationary 3D scanner.

[0043] In some aspects, the method can further include designating the received 3D image as a candidate prototype image of an assigned size group, determining an aggregate fit loss value for the assigned size group based on the received 3D image being designated as the candidate prototype image, comparing the determined aggregate fit loss value to an original aggregate fit loss value for the assigned size group plus a fit loss value between the received 3D image and the prototype image. In response to the determined aggregate fit loss value being less than the original aggregate fit loss value plus the fit loss value between the received 3D image and the prototype image, the method can further include assigning the received 3D image as a new prototype image in the size group, and in response to the determined aggregate fit loss value being greater than or equal to the original aggregate fit loss value plus the fit loss value between the received 3D image and the prototype image, the method can further include maintaining the prototype image as the prototype image for the size group.

[0044] In other aspects, disclosed is a method for assigning a body part to a size of a sizing regimen for the body part. The method can include receiving, by a processor, a three-dimensional (3D) image including a body part of a body of an individual; identifying a first region of interest in the 3D image; shifting, by the processor, the first region of interest to align a central axis of the first region of interest with a 3D reference point. The central axis can be parallel to a longitudinal axis of the body of the individual. The method can further include shifting, by the processor, the first region of interest in a vertical direction. The vertical direction can be parallel to the longitudinal axis of the body to align a landmark feature in the first region of interest with the 3D reference point. The method can further include determining, by the processor, a lower bust size based on a size parameter of a perimeter of a lower boundary of the body part in the first region of interest. The lower bust size can be in a plurality of lower bust sizes. The method can further include extracting, by the processor, a plurality of prototype images from a memory, wherein the plurality of prototype images represent a plurality of shape groups corresponding to the determined lower bust size; identifying a second region of interest in the first region of interest; identifying, by the processor, a plurality of data points on a surface of the second region of interest; determining, by the processor, a plurality of distances between the plurality of data points and the 3D reference point; and comparing, by the processor, the plurality of distances determined for the received 3D image with distances determined for the same data points in each of the extracted prototype images representing the plurality of shape groups corresponding to the determined lower bust size with respect to the second region of interest, such that the received 3D image can be compared to each of the extracted prototype images of the plurality of prototype images pairwise with respect to the second region of interest. The method can further include determining, by the processor, a fit loss value between the received 3D image and each of the extracted prototype images with respect to the second region of interest based on the comparison; identifying, by the processor, a lowest fit loss value of the determined fit loss values; and assigning the received 3D image to the shape group represented by the prototype image corresponding to the lowest fit loss value. The recommended size group can include the determined lower bust size and the shape group.

[0045] In some aspects, the body part can be a pair of breasts.

[0046] In some aspects, the method can further include determining a first average of image points in the first region of interest in a first direction in response to identifying the first region of interest, wherein the first region of interest includes the entire torso. The first direction can be orthogonal to a longitudinal axis of the body. The method can include determining a second average of image points in the first region of interest in a second direction that is orthogonal to the first direction and orthogonal to the longitudinal axis of the body; and defining the central axis of the first region of interest as intersecting the first average and the second average. The central axis can be orthogonal to the first direction and the second direction.

[0047] In some aspects, the shifting the first region of interest in the vertical direction can include shifting the first region of interest until a plane orthogonal to the central axis intersects the central axis at the 3D reference point, wherein the plane intersects the landmark feature.

[0048] In some aspects, the landmark feature can be determined by defining a midpoint between a pair of nipples in the vertical direction, and wherein the plane intersects the midpoint.

[0049] In some aspects, the identifying the second region of interest can include removing image points located on a first side of a plane parallel to a coronal plane of the body and intersecting the 3D reference point, and the body part can be located on a second side of the plane opposite the first side that is parallel to the coronal plane.

[0050] In some aspects, the identifying the second region of interest can include rotating the first region of interest to an angle that forms moire; identifying an upper bound of the second region of interest based on the formed moire; and identifying a closest wrinkle of a protruding region in the first region of interest to identify a lower bound of the second region of interest.

[0051] In some aspects, the size parameter can be received from another device.

[0052] In some aspects, the determining the lower chest circumference size can include determining the circumference of the lower bound of the body part in the first region of interest; and identifying a size parameter range that includes the determined circumference; and assigning the lower chest circumference size representing the size parameter range as the lower chest circumference size of the body part in the 3D image.

[0053] In some aspects, the plurality of shape groups in each of the plurality of underbust sizes can be based on a dissimilarity matrix generated using a plurality of fit loss values corresponding to each possible combination of pairs of 3D images in the plurality of 3D images assigned to a respective underbust size with respect to the second region of interest. The plurality of 3D images can include the body part of different individuals.

[0054] In some aspects, the plurality of fit loss values can be determined based on a dissimilarity function quantifying shape differences between pairs of 3D images with respect to the second region of interest.

[0055] In some aspects, the 3D images can be received from one or more 3D scanners.

[0056] In some aspects, the one or more 3D scanners can be one or more of: a mobile phone, a point of sale terminal, a 3D body scanner, a handheld 3D scanner, and a fixed 3D scanner.

[0057] In some aspects, the method can further: designate the received 3D image as a candidate prototype image of an assigned shape group within a determined underbust size; determine an aggregate fit loss value of the assigned shape group based on the received 3D image being designated as the candidate prototype image; and compare the determined aggregate fit loss value to an original aggregate fit loss value of the assigned shape group plus a fit loss value between the received 3D image and the prototype image. In response to the determined aggregate fit loss value being less than the original aggregate fit loss value plus the fit loss value between the received 3D image and the prototype image, the method can include assigning the received 3D image as a new prototype image in the shape group, and in response to the determined aggregate fit loss value being greater than or equal to the original aggregate fit loss value plus the fit loss value between the received 3D image and the prototype image, the method can include maintaining the prototype image as a prototype image of the shape group.

[0058] In some aspects, disclosed is a method for developing a sizing scheme for a body part. The method can include receiving, by a processor, a plurality of three-dimensional (3D) images. The plurality of 3D images can include body parts of bodies of different individuals. For each 3D image of the plurality of 3D images, the method can include: identifying a first region of interest in the 3D image; determining a size parameter corresponding to a circumference of a lower boundary of the body part in the first region of interest; and assigning the 3D image to a lower bust size based on the size parameter. The method can further include, for each 3D image of the plurality of 3D images: shifting, by the processor, the first region of interest to align a central axis of the first region of interest with a 3D reference point, where the central axis can be parallel to a longitudinal axis of the body of an individual; and shifting, by the processor, the first region of interest in a vertical direction to align a landmark feature in the first region of interest with the 3D reference point. The vertical direction can be parallel to the longitudinal axis of the body. For each 3D image of the plurality of 3D images, the method can further include: identifying a second region of interest in the first region of interest; identifying, by the processor, a plurality of data points on a surface of the second region of interest; determining, by the processor, a plurality of distances between the plurality of data points and the 3D reference point; and comparing, by the processor, the plurality of distances with distances determined for the same data points in each of other 3D images assigned to the same lower bust size, such that the 3D image can be compared pairwise with each other 3D image of the 3D images assigned to the same lower bust size. For each lower bust size, the method can include determining, by the processor, a fit loss value for each possible combination of pairs of 3D images assigned to the same lower bust size with respect to the second region of interest, where each fit loss value can indicate a difference between a corresponding pair of 3D images with respect to the second region of interest, and the determination of the fit loss value for each pair of 3D images can be based on a result of a distance comparison between the pair of 3D images with respect to the second region of interest. For each lower bust size, the method can further include: generating, by the processor, a dissimilarity matrix using the fit loss values determined for each pair of 3D images assigned to the same lower bust size; and clustering, by the processor, the 3D images assigned to the lower bust size into a plurality of shape groups based on the dissimilarity matrix. Each shape group can correspond to a shape of the body part.

[0059] In some aspects, the body part can be a pair of breasts.

[0060] In some aspects, the method can further include, in response to identifying the first region of interest, wherein the first region of interest includes the entire torso: determining a first average value of image points in the first region of interest in a first direction, the first direction can be orthogonal to a longitudinal axis of the body; determining a second average value of image points in the first region of interest in a second direction, the second direction is orthogonal to the first direction and orthogonal to the longitudinal axis of the body; and defining the central axis of the first region of interest as intersecting the first average value and the second average value. The central axis can be orthogonal to the first direction and the second direction.

[0061] In some aspects, the shifting the first region of interest in the vertical direction includes shifting the first region of interest until a plane orthogonal to the central axis intersects the central axis at the 3D reference point, wherein the plane intersects the landmark feature.

[0062] In some aspects, the landmark feature can be determined by defining a midpoint between a pair of nipples in the vertical direction, and wherein the plane intersects the midpoint.

[0063] In some aspects, the identifying the second region of interest can include removing image points located on a first side of a plane parallel to a coronal plane of the body and intersecting the 3D reference point, and the body part can be located on a second side of the plane opposite the first side parallel to the coronal plane.

[0064] In some aspects, the identifying the second region of interest can include: rotating the first region of interest to an angle that forms moire; identifying an upper bound of the second region of interest based on the formed moire; and identifying a closest wrinkle of a prominent region in the first region of interest to identify a lower bound of the second region of interest.

[0065] In some aspects, the plurality of data points can be identified on the surface of the second region of interest of each 3D image and the number of the plurality of data points can be a fixed number.

[0066] In some aspects, the plurality of data points can be identified based on a predefined sequence.

[0067] In some aspects, the identifying the plurality of data points can include: segmenting, by the processor, the second region of interest into a plurality of uniformly distributed slices orthogonal to the central axis; and segmenting, by the processor, each slice into a plurality of portions based on a fixed angular interval. Each portion corresponds to an angular value, and each portion includes a set of points. For each portion on each slice, the method can further include: determining, by the processor, an average distance of the set of points from the 3D reference point; and setting, by the processor, a point associated with the average distance as a data point represented by the angular value corresponding to the portion. The data point can be one of the plurality of data points identified.

[0068] In some aspects, the method can include: determining a missing image point in a particular portion of the slice, wherein the missing image point is removed from the 3D image during the identifying of the first region of interest; and assigning a set of undefined values to the missing image point in the particular portion as data points.

[0069] In some aspects, the determining the fit loss value can be based on a difference between data points from each 3D image pair that are located on a same slice and associated with a same angular value.

[0070] In some aspects, the determining the fit loss value can include using a dissimilarity function that quantifies a shape difference between 3D image pairs with respect to the second region of interest.

[0071] In some aspects, the dissimilarity function can be represented as:

[0072]

[0073] wherein:

[0074] di represents a first 3D image in a lower bust size group;

[0075] d2 represents a second 3D image in the lower bust size group;

[0076] di represents an i-th data point in the first 3D image;

[0077] d2i represents an i-th data point in the second 3D image;

[0078] n represents a total number of data points;

[0079] m represents a number of data point pairs in which neither data point includes an undefined value.

[0080] In some aspects, there can be N 3D images assigned to the lower bust size, and wherein clustering the 3D images of the lower bust size can include applying, by the processor, one or more clustering algorithms to the dissimilarity matrix of the lower bust size, wherein application of each clustering algorithm of the one or more clustering algorithms can result in grouping the plurality of 3D images into k 3D image cluster shape groups, where k is in a range of 1 to N. In k = 1 cluster shape groups, there can be N 3D images in the one shape group. In k = N cluster shape groups, there can be one 3D image in each shape group. The clustering the 3D images of the lower bust size can further include, for each clustering algorithm of the one or more clustering algorithms, determining an overall aggregated fit loss for each k, where k is in a range of 1 to N, and wherein the overall aggregated fit loss for k can be determined by adding aggregated fit losses for each cluster shape group of the k. The aggregated fit loss can be determined for each cluster shape group of the k after a prototype has been selected for each shape group of the k. The processor can identify a particular clustering algorithm of the one or more clustering algorithms that results in an overall aggregated fit loss of the particular clustering algorithm being the lowest overall aggregated fit loss among overall aggregated fit losses of all clustering algorithms for a most number of k from k = 1 to k = N.

[0081] In some aspects, the method can further include determining a number of shape groups for each lower bust size.

[0082] In some aspects, the determining a number of shape groups for each lower bust size can include identifying a value m representing a number of cluster shape groups for which aggregated fit loss values across respective cluster shape groups of the 1 to N cluster shape groups satisfy a certain criterion; and setting the identified value m as the number of shape groups.

[0083] In some aspects, the method can further include determining a total number of shape groups across all lower bust sizes, and when the determined total number of shape groups is greater than a preset maximum value, the total number of shape groups can be reduced.

[0084] In some aspects, the determined total number of shape groups can be reduced to the preset maximum. The distribution of the shape groups among the different underbust sizes can be based on a lowest overall aggregate fit loss determined for j'. j' varies from a minimum to the preset maximum. The minimum can be the number of underbust sizes. The lowest overall aggregate fit loss can be determined from a plurality of overall aggregate fit losses for different combinations of j shape groups across the underbust sizes for each j'. The different combinations can be generated by iteratively adding a shape group to one of the underbust sizes and then removing the shape group from the one of the underbust sizes while keeping j by adding a shape group to another underbust size.

[0085] In some aspects, the plurality of 3D images can be received from one or more 3D scanners.

[0086] In some aspects, the one or more 3D scanners can be one or more of: a mobile phone, a point of sale terminal, a 3D body scanner, a handheld 3D scanner, and a fixed 3D scanner.

[0087] In some aspects, there can be M 3D images assigned to all underbust sizes. Clustering the 3D images for underbust sizes can include applying, by the processor, one or more clustering algorithms to a dissimilarity matrix of all underbust sizes, where the application of each clustering algorithm of the one or more clustering algorithms causes, for all underbust sizes, the grouping of the plurality of 3D images into a total of j 3D image cluster shape groups, where j is in a range of h to M. h is the number of underbust sizes. When j = h, there can be one shape group per underbust size; and when j = M, there can be one 3D image in each shape group. For each clustering algorithm of the one or more clustering algorithms, the method can further include determining an overall aggregate fit loss for each j, where j is in a range of h to M, and where the overall aggregate fit loss for j can be determined by adding an aggregate fit loss for each cluster shape group of the j. The aggregate fit loss can be determined for each cluster shape group of the j after a prototype has been selected for each shape group of the j. The processor can identify a particular clustering algorithm of the one or more clustering algorithms that has an overall aggregate fit loss that is the lowest overall aggregate fit loss of all clustering algorithms for the most number of j from j = h to j = M.

[0088] Also disclosed are one or more computer-readable media having instructions for performing one or more aspects.

[0089] Also disclosed are one or more systems for performing one or more aspects.

[0090] The foregoing overview is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments and features described above, additional aspects, embodiments and features will become apparent in light of the drawings and the following detailed description. Like reference numerals refer to like elements throughout. BRIEF DESCRIPTION OF DRAWINGS

[0091] The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.

[0092] Figure 1A FIG. 1 is a diagram illustrating a system in accordance with aspects of the present disclosure.

[0093] Figure 1B FIG. 2 is a diagram illustrating a process in accordance with aspects of the present disclosure.

[0094] Figure 1C FIG. 3 is a diagram illustrating an example of pre-processing of an image in accordance with aspects of the present disclosure.

[0095] Figure 2A FIG. 4 is a diagram illustrating an example of pre-processing a first region of interest in accordance with aspects of the present disclosure.

[0096] Figure 2B FIG. 5 is a diagram illustrating an example of identifying a second region of interest in accordance with aspects of the present disclosure.

[0097] Figure 2C FIG. 6 is a diagram illustrating a process for shifting in accordance with aspects of the present disclosure.

[0098] Figure 2D FIG. 7 is a diagram illustrating a process for identifying a second region of interest in accordance with aspects of the present disclosure.

[0099] Figures 3A-3B FIG. 8 is a diagram illustrating an example of identifying data points on a surface in accordance with aspects of the present disclosure.

[0100] Figure 3C FIG. 9 is a diagram illustrating a process for identifying data points in accordance with aspects of the present disclosure.

[0101] Figure 4 FIG. 10 is a diagram illustrating a dissimilarity matrix in accordance with aspects of the present disclosure.

[0102] Figure 5A FIG. 11 is a diagram illustrating a process for determining different cluster groups in accordance with aspects of the present disclosure.

[0103] Figure 5B FIG. 1 is a diagram illustrating a process for determining the number of groups according to aspects of the present disclosure.

[0104] Figure 6A FIG. 2 is a diagram illustrating a process for assigning new images to a sizing solution according to aspects of the present disclosure.

[0105] Figure 6B FIG. 3 depicts a process for determining whether to update a prototype according to aspects of the present disclosure.

[0106] Figure 7A FIG. 4 is a diagram illustrating a process for developing a sizing system with constraints according to aspects of the present disclosure.

[0107] Figure 7B FIG. 5 is a diagram illustrating a process for determining the best clustering algorithm according to aspects of the present disclosure.

[0108] Figure 7C FIG. 6 is a diagram illustrating a process for determining the best distribution of subgroups (shape groups) within different underbust size groups according to aspects of the present disclosure.

[0109] Figure 7D FIG. 7 is a diagram illustrating a process for assigning new images to a sizing solution according to aspects of the present disclosure.

[0110] Figure 8A FIG. 8 is a diagram illustrating an example of a dissimilarity matrix according to aspects of the present disclosure.

[0111] Figure 8B FIG. 9 is a diagram illustrating an example of a shape group according to aspects of the present disclosure.

[0112] Figure 9 FIG. 10 is a diagram illustrating a plurality of overall AFL values that can be used to identify the best number of shape groups according to aspects of the present disclosure.

[0113] Figure 10 FIG. 11 is a diagram illustrating a plurality of overall AFL values obtained by applying a plurality of clustering algorithms according to aspects of the present disclosure.

[0114] Figure 11 FIG. 12 is a diagram illustrating a table that can be used to assign a new 3D image to a shape group according to aspects of the present disclosure.

[0115] Figure 12 FIG. 13 is a diagram illustrating an example grouping according to a conventional method.

[0116] Figure 13 A comparison of the methods and systems described according to aspects of the present disclosure utilizing AFL with a conventional method using underbust is shown.

[0117] Figure 14 FIG. 8 is a graph showing a comparison of the method and system utilizing AFL described according to aspects of the present disclosure with the conventional method using AB.

[0118] Figure 15A FIG. 9 is a graph showing a table illustrating the lower chest circumference size grouping performed using the method and system described according to aspects of the present disclosure on 45 scans.

[0119] Figure 15B FIG. 10 is a graph showing a table illustrating the processing showing the number of shape groups within a certain lower chest circumference size determined using the method and system described according to aspects of the present disclosure given the total number of shape groups (subgroups) for 45 scans.

[0120] Figure 16A FIG. 11 is a comparison of the method and system utilizing AFL described according to aspects of the present disclosure with the conventional method using lower chest.

[0121] Figure 16B FIG. 12 is a comparison of the method and system utilizing AFL described according to aspects of the present disclosure with the conventional method using AB.

[0122] Figure 17 FIG. 13 is a graph showing body parts that can be used to develop a size determination scheme according to aspects of the present disclosure.

[0123] Figure 18 FIG. 14 is a graph showing body parts that can be used to develop a size determination scheme according to aspects of the present disclosure. DETAILED DESCRIPTION

[0124] In the following description, numerous specific details are set forth, such as particular structures, components, materials, dimensions, processing steps and techniques, in order to provide an understanding of the various aspects of the present application. However, it will be appreciated by one of ordinary skill in the art that the various aspects of the application can be practiced without these specific details. In other instances, well-known structures or processing steps are not described in detail in order to avoid obscuring the application.

[0125] Garment fit is a very common problem and is one of the main reasons for return shipping costs for online retail. Unlike custom, ready-to-wear garments depend on the design of the sizing system. Most sizing systems employed use body measurements such as bust girth and underbust girth, which can not represent complex 3D body shapes, especially for women's breasts. Additionally, extraction of body measurements can depend on the location of body landmarks or active placement, but the definition and identification of landmarks can be a real challenge for soft breast tissue (however, bust point can be an exception). Therefore, instead of using traditional breast measurements, the methods and systems described herein can capture three-dimensional (3D) images of a target body part such as, but not limited to, a breast, and obtain the location of all points on the surface to obtain shape information. The shape information can be further processed by a computing device to develop a sizing scheme or sizing system that can be based on precise measurements across a wide distribution of surfaces of a target body part such as, but not limited to, a breast, such that both measurements such as bust girth and underbust girth, and the shape of the breast are taken into account (without the need for a person to physically measure lengths).

[0126] Further, different apparel companies can modify their products to fit relatively better to certain selected size mannequins. For example, each company can employ its own mannequin, which creates inconsistency and can confuse consumers. For example, a size of clothing from different brands can differ when compared to each other. Also, it can be difficult for different companies to employ mannequins that can be considered to have "ideal" body measurements. For example, with respect to bra sizing, it can be relatively easy to find a person with a 34-inch bust girth, but it can be relatively difficult to find a person with a 34-inch bust girth and a 28-inch underbust girth, or it can be difficult to find a person with a 34-inch bust girth, a 28-inch underbust girth, and a 30-inch waist girth measurement. Furthermore, the "ideal" mannequin that meets all the standard measurement requirements can not be the most representative body shape for the size group. The approach of using a combination of tape measurements to define size categories of a sizing system can be problematic, as one combination used to represent a size can not fit a person that can be in an intermediate size. The methods and systems described herein can facilitate the development of a sizing system for garments such as, but not limited to, fitted garments, that can provide a solution for how to select a mannequin or a prototype shape based on the 3D shape of a body part (e.g., a breast) rather than a combination of body measurements.

[0127] Further, the methods and systems described herein process 3D shapes of target body parts, such as breasts, from multiple individuals to optimize a sizing system. Differences in body shape between an individual consumer and a fitting mannequin or prototype of their size can result in some degree of fit loss. In an example, aggregate-fit-loss (AFL) is a concept that attempts to quantify and estimate the cumulative fit loss that a population can encounter. However, fit loss estimated in the past is often based on body measurements or tape measurements. The methods and systems described herein can provide a new type of fit loss function that calculates the dissimilarity between any two 3D body scans by point-wise comparison of the distance between points on the scanned surfaces to a reference point, such as an origin point. Additionally, the methods and systems described herein utilize targets to minimize the AFL of a sizing system for garments, such as a bra, by shape classification and optimized selection of prototypes (e.g., most suitable fitting mannequins or standard dress forms) for the classified groups.

[0128] Still further, the methods and systems described herein can provide a solution for a consumer to identify their own size. The methods and systems described herein can implement points obtained from the surface of a 3D shape and a new type of fit loss function to correctly and quickly recommend a size to a consumer.

[0129] Also, the methods and systems described herein can provide a solution to improve existing bra sizing solutions. For example, a traditional underbust size can be used as a constraint with an implementation of the new type of fit loss function to recommend a size to a consumer. Thus, the methods and systems can integrate into existing sizing systems in a relatively convenient manner.

[0130] Figure 1A FIG. 1 is a diagram illustrating a system 100 in accordance with aspects of the present disclosure. In Figure 1AIn the example shown, device 110 can receive multiple images 103 from multiple devices 101. For example, device 110 can be a computing device such as a server located in a data center. In one aspect of the present disclosure, the computing device can be located in a store. In one aspect of the present disclosure, image 103 can be a three-dimensional (3D) image. Multiple devices 101 can be 3D scanners such as mobile phones, point-of-sale terminals, 3D body scanners, handheld 3D scanners, and stationary 3D scanners. Multiple devices 101 can be located in the same or different locations. In one aspect of the present disclosure, device 110 and device 101 can be the same device. In other aspects, multiple devices 101 can be configured to communicate with device 110 via a network such as the Internet, a wireless network, a local area network, a cellular data network, etc. In some examples, image 103 can be a 3D image generated by converting one or more two-dimensional (2D) images. For example, one of devices 101 can be a mobile phone that can run an application to capture multiple 2D images and convert the captured 2D images into 3D images. In some instances, image 103 may be encrypted to protect the privacy of the owner of image 103 .

[0131] The device 110 may include a processor 112 and a memory 114. The processor 112 may be configured to communicate with the memory 114. For example, the processor 112 may be a central processing unit (CPU) or a graphics processing unit (GPU), a microprocessor, a system on a chip, and / or other types of hardware processing units of the device 110. The memory 114 may be configured to store an instruction set 113, wherein the instructions 113 may include code such as source code and / or executable code. The processor 112 may be configured to execute the instruction set 113 stored in the memory 114 to implement the methods and functions described herein. In some instances, the instruction set 113 may include code related to various image processing techniques, encryption and decryption algorithms, clustering algorithms, and / or other types of techniques and algorithms that may be applied to implement the methods and functions described herein.

[0132] In one example, processor 112 may execute instruction set 113 to perform Figure 1B Focusing on the process 150, at block 151, the processor 112 may receive a plurality of 3D images, such as N 3D images, from the device 101. Figure 1A In the example shown in FIG, image 104 of images 103 may be sent from device 102 to device 110. Image 104 may be a 3D image of an individual's body. The received image may be stored in memory 114. Process 150 may proceed from block 151 to block 152, where processor 112 may perform a set of image pre-processing steps. For example, in Figure 1AIn the example shown in FIG. 1, the processor 112 can perform a series of pre-processing steps on the received images 104 (pre-processing performed on each received 3D image). The series of pre-processing steps are shown as sub-process 160 in FIG. 1. Figure 1C

[0133] In the example shown in FIG. 1, the processor 112 can perform a series of pre-processing steps on the received images 104 (pre-processing performed on each received 3D image). The series of pre-processing steps are shown as sub-process 160 in FIG. 1. Figure 1C In the example shown in FIG. 1, the processor 112 can perform a series of pre-processing steps on the received images 104 (pre-processing performed on each received 3D image). The series of pre-processing steps are shown as sub-process 160 in FIG. 1. Figure 2A In the example shown in FIG. 1, the processor 112 can perform a series of pre-processing steps on the received images 104 (pre-processing performed on each received 3D image). The series of pre-processing steps are shown as sub-process 160 in FIG. 1. Figure 2C and Figure 2D In the example shown in FIG. 1, the processor 112 can perform a series of pre-processing steps on the received images 104 (pre-processing performed on each received 3D image). The series of pre-processing steps are shown as sub-process 160 in FIG. 1.

[0134] Returning to FIG. 1, the process 150 can proceed from block 152 to block 153, where the processor 112 can perform a data point determination. For example, in the example shown in FIG. 1, the processor can identify a plurality of data points on a surface of the second region of interest. The process 150 can proceed from block 153 to block 154, where the processor 112 can determine a relative distance between each identified data point and the reference point. For example, the processor 112 can determine a distance between each identified data point in block 153 and the reference point. The process 150 can proceed from block 154 to block 155, where the processor 112 can compare the determined distances for each possible pair of images in the N 3D images to determine a fit loss value for the pair of images. For example, in the example shown in FIG. 1, the processor 112 can determine a fit loss value between each possible pair of images 103. Figure 1B Figure 1A Figure 1A

[0135] ​​​​Process 150 can proceed from block 155 to block 156, where processor 112 can generate a dissimilarity matrix using the fit loss values determined for all possible pairs of combinations of the N 3D images. The dissimilarity matrix can indicate the difference between each possible pair of images in images 103. Figure 4 An example of a dissimilarity matrix is presented in FIG. 12. Process 150 can proceed from block 156 to block 157, where processor 112 can cluster the N 3D images into groups based on the dissimilarity matrix. Details of block 157 can be found, for example, in U.S. Patent Application No. 62 / 947, 1 13, filed December 14, 2019, entitled "SYSTEM AND METHOD FOR FITTING A GARMENT TO A BODY," which is incorporated by reference in its entirety. Figures 5A-5B Processor 112 can define a sizing system 140 for the body part shown in images 103 based on the clustered groups. Processor 112 can store sizing system 140 in memory 1 14. Each group can represent a size for the body part, and each group can be represented by a prototype shape or image that can be identified by processor 112. In an example, each image in images 103 can be a 3D image of a female, the first region of interest identified from the images can be the torso of a female, and the second region of interest can show a body part such as a breast of a female. Sizing system 140 based on the clustered groups produced from images 103 can be a sizing system for a well-fitting garment for a breast such as a bra.

[0136] Figure 2A is an example of a first region of interest 120, a central axis, and certain lines in an image in accordance with aspects of the disclosure. In an example, in response to receiving an image such as image 104, processor 112 can execute instructions 113 to identify first region of interest 120 by performing data cleaning such as removing noisy image points, removing limbs, neck, and head. In an aspect of the disclosure, pre-processing can also include rotating the received 3D image to a particular rotation or orientation. For example, a 3D image can be rotated so that the image is upright and facing forward. This identification of first region of interest 120 is based on the target body part, and the specific body parts removed can be different for different body parts. An example of first region of interest 120 is shown where the target body part is a breast. However, when the target body part is a part related to a shirt, the neck and arms can be left in. The head and legs can be removed. Details of the data cleaning can be found, for example, in U.S. Patent Application No. 62 / 947, 1 13, filed December 14, 2019, entitled "SYSTEM AND METHOD FOR FITTING A GARMENT TO A BODY," which is incorporated by reference in its entirety. Figure 2A In the example shown, first region of interest 120 can include, for example, a 3D image of a torso of a female including a pair of breasts. In an aspect of the disclosure, first region of interest 120 can be projected to a 2D image. In an example, the 2D image can be a frontal view of the female torso. In an aspect of the disclosure, the 2D image can be a frontal view of the female torso with the breasts removed. In an example, the 2D image can be a frontal view of the female torso with the breasts removed and the head and legs removed. In an aspect of the disclosure, the 2D image can be a frontal view of the female torso with the breasts removed, the head and legs removed, and the arms removed. In an aspect of the disclosure, the 2D image can be a frontal view of the female torso with the breasts removed, the head and legs removed, the arms removed, and the neck removed. Figure 2AThe 3D Cartesian coordinate defined by the x-axis, y-axis, and z-axis. However, the coordinate system is not limited to a Cartesian coordinate system and other coordinate systems can be used. The processor 112 can identify a central axis 210 in the first region of interest 120 and align the central axis 210 with the 3D reference point, the processor 112 can perform a shift in block 162. Figure 1C The shift in block 162. Figure 2C An example of a process 250 for performing the shift in block 162 is shown. In block 251, the process 250 can include the processor 112 determining an average value with respect to a first direction. For example, the processor 112 can calculate an average value of the x-component of all image points of the first region of interest to determine a first average value. From block 251, the process 250 can proceed to block 252, where the processor 112 can determine an average value with respect to a second direction. For example, the processor 112 can calculate an average value of the y-component of all image points of the first region of interest to determine a second average value. The central axis 210 can be defined as an axis that intersects the first average value and the second average value. As shown in the example of FIG. 2, the central axis 210 can be orthogonal to the x-y plane and parallel (e.g., vertical) to the x-z plane and the y-z plane. Figure 1C Figure 2C The shift in block 162. Figure 2A The process 250 can proceed from block 252 to block 253, where the processor 112 can shift the first region of interest 120 such that the central axis can intersect a reference point (e.g., the origin). This effectively moves the average values to the reference point. For example, the processor 112 can shift the first region of interest 120 horizontally (e.g., along the x-y plane or a transverse plane 203 that is orthogonal to the longitudinal axis 201 of the body) until the central axis 210 is aligned with the x-component and the y-component of the (3D) reference point 220. In some examples, the transverse plane 203 can be referred to as a plane that divides the body into an upper portion and a lower portion. The reference point 220 is shown in the side view 204 of the first region of interest 120. In an example, the reference point 220 can be the origin of the 3D Cartesian coordinate system (e.g., coordinates (0, 0, 0)). Thus, the horizontal shift can be performed to align or intersect the central axis 210 defined by the average x-coordinate and the average y-coordinate of all image points on the first region of interest with x = 0 and y = 0. The process 152 is performed for each received 3D image 103.

[0137] The shift in block 162.

[0138] ​The processor 112 can shift the first region of interest 120 vertically (e.g., up or down along the z-axis or along the longitudinal axis of the body) so that a bust plane 212 is aligned with the z-component of a reference point 220. In one example, the bust plane 212 can be defined by averaging the z-components of at least one landmark feature 213 (e.g., the left nipple and the right nipple) and aligning the bust plane with the average z-component. The vertical shift can be performed so that the bust plane 212 intersects z=0. After the horizontal and vertical shifts, the central axis 210 and the bust plane 212 can be aligned with the reference point 220, as shown in the side view 204. In one aspect of the present disclosure, the order of the shifts can be reversed.

[0139] Figure 2B is a diagram illustrating an example of identifying a second region of interest according to aspects of the present disclosure, wherein the second region includes a breast. By aligning the central axis 210 and the chest plane 212 with the reference point 220, the processor 112 may perform Figure 1C A box 164 is provided to identify the second region 122 of interest. Figure 2D Shown for execution Figure 1C 164 to identify an instance of process 260 of the second area of ​​interest 122. Figure 2D In the embodiment of the present invention, process 260 may begin at block 261, where processor 112 may determine a vertical plane, such as the xz plane (e.g., y=0), that intersects the 3D reference point. In some aspects, depending on the target body part, blocks 261 and 262 may be omitted. Process 260 may proceed from block 261 to block 262, where the processor may remove a portion of the image data that is behind the xz plane. Figure 2B In the example shown, the posterior portion of the first region of interest (e.g., all image points with y < 0) can be removed. The posterior portion of the first region of interest can be removed before or after identifying the upper bound 216 and the lower bound 214. In one example, a vertical xz plane can be parallel to the nipple in the first region of interest and can intersect with the reference point 220, such that the 3D image of the breast is located on the anterior side (e.g., the plus side) of the xz plane. The processor 112 can identify the posterior dimension of the xz plane (e.g., the minus side) as opposed to the anterior side and remove all image points located on the posterior side of the xz plane. In another example, the processor 112 can identify a plane that intersects the 3D reference point 220 and is parallel to the coronal (or frontal) plane 202 of the body. Image points between this identified plane and the back of the body can be removed to identify the second region of interest 122. In some examples, the coronal plane can be referred to as a plane that extends from side to side and divides the body or any part thereof into an anterior portion and a posterior portion.

[0140] Process 260 may proceed from block 262 to block 263, where the upper and lower bounds of the second region of interest are determined. Figure 2A In the example shown, upper bound 216 and lower bound 214 can define the top and bottom boundaries of second region of interest 122. In some examples, a user operating system 100 can visually define upper bound 216 and lower bound 214. In some examples, processor 112 can execute instructions 113 to identify the locations of upper bound 216 and lower bound 214. When the breast is the target body part, the portion of first region of interest 120 that is below the underbust line (e.g., lower bound 214) and above the upper boundary of the breast (e.g., upper bound 216) can be removed in order to focus on the breast shape. Figure 2B In the example shown, the processor 112 may rotate the first region of interest 120 to different angles until an angle is reached at which moiré patterns are formed or visible on a particular plane, such as Figure 2B The instructions 113 may include criteria for the processor 112 to identify the upper bound 216 based on the moiré pattern. For example, the instructions may define the upper bound 216 as a horizontal line tangent to the upper edge of the m-th contour, such as Figure 2B 2. In some examples, a separation height, such as "j inches" in view 220, or a percentage of body height or upper torso length, can be determined by processor 112, and a segment below this separation height can be reserved for second region of interest 122. In some examples, the separation height can be defined by instructions 113. Processor 112 can further identify lower boundary 214 of second region of interest 122 by identifying an immediate crease 215 of a protruding region in the first region of interest. After removing the posterior portion of first region of interest 120, removing the portion above upper boundary 216, and removing the portion below lower boundary 214, second region of interest 122 can be identified. Figure 2B Shown are a 3D image of the second area of ​​interest 122 and a side view 230 of the second area of ​​interest 122. Blocks 262 and 263 may be performed in any order.

[0141] Figure 3A is a diagram illustrating an example of identifying data points on a surface according to aspects of the present disclosure. Figure 3AIn the example of FIG103 , the target body part is a breast, and the data points are located on the surface of the breast. Processor 112 may process second region of interest 122 to identify a fixed number of data points, such as P data points, on the surface of second region of interest 122. For example, P may be 9000, ranging from i=1 to i=P, such that processor 112 may identify 9000 points on the surface of second region of interest 122 in each of images 103. The 9000 points may be arranged to be identified in the same order without distorting the scan performed by processor 112. The number 9000 is described for illustrative purposes only, and other fixed numbers of data points may be used.

[0142] For each image, the processor 112 may segment the second region of interest 122 into S evenly distributed horizontal slices 320. In some instances, the horizontal slices may be orthogonal to the longitudinal axis of the body. The S horizontal slices may be arranged according to their z coordinates, such as from bottom to top or from s=1 to s=S. The thickness of the horizontal slices may be the same within the same second region of interest 122, but may be different between different images 103. For example, the first image and the second image may each have 50 horizontal slices of the same thickness, but the thickness of the horizontal slices of the first image may be different from the thickness of the horizontal slices of the second image. The number of horizontal slices is not limited to 50 and 50 is for illustrative purposes only. Further, a fixed number of points, such as 180 points, may be identified on each horizontal slice in each image, for example, 1 point per degree. However, in other aspects of the present disclosure, there may be more points per degree. In other aspects, there may be a point every 5 degrees. This may depend on the target body part.

[0143] In one example, to identify 180 points, the processor 112 may identify data points on a horizontal slice from -180° to 0° in 1° increments, such as Figure 3A 306 in FIG. In other words, starting from -180° to 0° (-n to 0), a data point may be identified at each degree. For example, the 1st point may be point i=1 located at an angle of -180° on the bottom-most slice s=1. The 10th point is point i=10 located at an angle of -171° on the bottom-most slice s=1. Focusing on view 306, the chest line (z=0) may be, for example, a horizontal slice s=23, such that data point i=4180 may be located at a distance r at an angle a' relative to -180° and another data point i=4300 may be located at a distance r' at an angle a" relative to -180°. The x-, y-, and z-coordinates of data point i may be determined by processor 112 and recorded in a sequence ranging from i=1 to i=9000, and the recorded positions or coordinates may be stored in memory 114.

[0144] In one example, if an image point is missing in the first region of interest or the second region of interest, its coordinates may be defined or replaced by an undefined value, such as a Not a Number (NaN) value, to preserve space for the point and maintain the sequence and indexing of other points from i=1 to i=9000. The missing point may be caused by removing a limb (e.g., an arm) when identifying the first region of interest 120, and the missing point may be located at a location such as an armhole where the arm was removed. Using view 308 of the second region of interest 122 as an example, the topmost slice s=S may include data points from i=8821 to i=9000, and a plurality of points A, B, C, D, and E may be among these data points on slice s=S. Points A and E may be data points i=8821 and i=9000, respectively. Points A and E may be located in the armhole region where the arm was removed, and therefore, points A and E may be replaced by undefined values. Further, by replacing point A with an undefined value, the processor 112 can respond to a failure to identify a pixel value or image point by not skipping point i=8821, thereby maintaining the sequence from i=1 to i=9000. As described above, identifying 9000 data points from 50 horizontal slices and identifying 180 points at 1° increments on each horizontal slice is merely an example. Other numbers of data points can be identified from other numbers of horizontal slices and angular increments, depending on the desired implementation of the system 100, such as the type of target body part.

[0145] Figure 3B It is a demonstration of various aspects of the present disclosure. Figure 3A In one example, to identify 180 data points on each horizontal slice, the processor 112 may execute Figure 3C The process 350 shown in FIG. 1 “sweeps” across horizontal slices from −180° to 0° in 1° increments (preset increments) to identify 180 data points. The process 350 may be at block 351 where the processor 112 may segment or divide the second region of interest into S horizontal slices. The process 350 may proceed from block 351 to block 352 where the processor 112 may initialize the value of s to 1 to begin the sequence to identify data points from the bottom-most horizontal slice (s=1). The processor may include a counter to count the number of slices processed. In other aspects, the processor may use a pointer or marker to identify the slices.

[0146] Process 350 can proceed from block 352 to block 353, where processor 112 can segment or divide horizontal slice s into a plurality of portions represented by an angle value a. To improve the accuracy of the x-coordinate, y-coordinate, z-coordinate of the position of the 180 data points, instructions 113 can define a threshold value t corresponding to an angle tolerance of each data point. For example, for an angle value a = 40° and a threshold value t = 1.5, processor 112 can segment each horizontal slice s into a plurality of portions based on a fixed angular interval defined by angle value a and threshold value t. For example, the range of each portion can be angle a - t to angle a + t. As shown in the example of FIG. 3B, the range of the portion represented by angle a = 40° can be 38.5° to 41.5°, and the portion can include a plurality of image points. Figure 3B

[0147] Process 350 can proceed from block 353 to block 354, where processor 112 can initialize angle value a to a = -180°. Process 350 can proceed from block 354 to block 355, where processor 112 can determine the distance between image points along horizontal slice s and a reference point (all image points at the angle and within the tolerance). Process 350 can proceed from block 355 to block 356, where processor 112 can determine the average of the distances determined in block 355. For each portion, processor 112 can determine the distance of a plurality of image points from reference point 220 and determine the average of these determined distances. Process 350 can proceed from block 356 to block 357, where processor 112 can associate an image point having the average distance determined at block 356 with angle value a. In the example shown in FIG. 3C, processor 112 can identify image point 330 positioned at the average distance and at an angle 40.05° relative to reference point 220. Processor 112 can set this image point 330 as data point i = 4179 represented by angle value a = 40°. The value of the image point and the associated angle (and slice) can be stored in memory 114. Figure 3B

[0148] ​​Process 350 can proceed from block 357 to block 358, where processor 112 can determine whether the angle value a is zero. In other aspects, rather than starting at 180 degrees and descending to zero degrees, the process can start at zero degrees and can increment up to 180 degrees. If the angle value a is not 0, processor 112 can increment the value of a by one (e.g., -180 + 1 = -179) and process 350 can return to block 355, where processor 112 can perform blocks 355, 356, 357 for the next portion in the same horizontal slice. At block 358, if the angle value a is 0, process 350 can proceed to block 359, where processor 112 can determine whether the slice s is a fixed number S (e.g., 50). If the slice s is not equal to S, processor 112 can increment s by one and process 350 can return to block 353, where processor 112 can perform blocks 353, 354, 355, 356, 357, 358 for the next horizontal slice. If the value of s is S (e.g., 50), this means that all horizontal slices have been processed and processor 112 can end process 350. In other aspects of the disclosure, the process can start at the highest number of slices and work down, rather than starting at slice S = 1 and working up.

[0149] Figure 4 FIG. 4 is a graph illustrating a dissimilarity matrix that can be used for clustering to determine a size group or a shape group, in accordance with aspects of the present disclosure. After each image in the pre-processed images 103 is processed, processor 112 can determine a fit loss value between each possible pair of images in images 103. Processor 112 can further generate a dissimilarity matrix 130 based on the determined fit loss values, where dissimilarity matrix 130 can indicate the difference between each possible pair of images in images 103.

[0150] In known systems, fit loss values are calculated using body measurements such as perimeter, length, etc. However, due to the complexity of breast shape, conventional breast measurements can not fully describe the concavities, convexities, and subtle fluctuations on the breast surface, all of which can significantly affect the morphology of the breast. Additionally, the extraction of body measurements depends on the actual placement of body landmarks, but the definition and identification of landmarks can be a real challenge for soft breast tissue (with the exception of the nipple).

[0151] However, in accordance with aspects of the present disclosure, the above-described body measurements are used in conjunction with Figures 3A-3CThe predefined sequence identifying data points on the surface of the second region of interest 122 can provide direct use of the position of a point on the scanned surface (e.g., a surface scanned by the device 101 or a 3D scanner) relative to a 3D reference point 220 (e.g., the origin (0, 0, 0)). Because the coordinates or positions of the data points are sorted in the same order (e.g., from i = 1 to i = 9000, from the bottom-most slice to the top-most slice, and from -180° to 0° on each slice), the need for body landmarks during body measurement can be avoided. Because all scanned maps have been horizontally shifted to the center at x = 0 and y = 0, and the chest point is now vertically located at z = 0, the distance of each point from the origin (0, 0, 0) can be calculated by the following equation (Equation 1):

[0152]

[0153] where (x i , y i , z i ) are the coordinates of the i-th point in the scanned surface point (i ranges from 1 to 9000), and d i is the distance of the i-th point from the origin (0, 0, 0) or the reference point 220. If the coordinates of a point include an undefined (e.g., NaN) value, the distance between the point and the reference point will be recorded as NaN.

[0154] Based on the distances calculated according to Equation 1, the pairwise fit loss function between any two scanned maps (e.g., pairs of images in the images 103) is given by the following equation (Equation 2):

[0155]

[0156] where d1, d2 represent two different images or scanned maps, di is the i-th point on the first scanned map or image, and d2i is the same i-th point on the second scanned map or image. The variable n is the total number of points, which is 9000 in the examples described herein. Any value minus a NaN value or a NaN value minus any value will result in a NaN value, but all NaN values can be removed by the processor 112 before addition. The variable m is the total number of point pairs in which neither point includes an undefined value.

[0157] Equation 2 is an example of a dissimilarity function that quantifies the shape difference between two images or scanned maps. If one of the two scanned maps is chosen as a prototype of the shape (e.g., a target body part shape), the equation calculates the amount of fit loss of the other scanned map. The processor 112 can generate a dissimilarity matrix 130 based on the pairwise fit loss values determined for each image pair.

[0158] For example, if there are 4 3D images, there are 4C2 different possible fit loss values. For example, in the case of image A, image B, image C, and image D, the combinations are AB, AC, AD, BC, BD, CD. The dissimilarity matrix 130 would be a 4x4 matrix and would be symmetric about the diagonal (e.g., L(d1, d2) = L(d2, d1)), and the values on the diagonal are consistently zero because the fit loss of a scan to itself is zero (e.g., L(d1, d1) = 0). For example, the pairwise fit loss value or L(A, A) for A-A is 0 because image A is compared to itself and there is no difference. The greater the fit loss value between pairs, the greater the shape dissimilarity of the pair. The processor 112 can populate the entries of the dissimilarity matrix 130 with the pairwise fit loss values determined based on Equation 2 for each pair of images, such as L(A, B), L(A, C), etc. As shown in Figure 4 There are N 3D images. For illustrative purposes, only images A, B, C, and N are shown, however, the matrix would include the fit loss values for all N images.

[0159] The processor 112 can determine an aggregate fit loss (AFL) from the dissimilarity matrix 130. The AFL is the sum of the fit loss values of the members of a group relative to a specific prototype of the group, where the images are compared to the specific prototype. For example, if a clustering result (clustering will be described in more detail below) groups images A, B, C in the same shape group and assigns A as the prototype shape of this group, the AFL can be obtained by adding the values in row 2 and row 3 of column 1 as shown in matrix 130 in Figure 4 The processor 112 can then determine an overall AFL that totals the AFLs within each of the groups. In an example, the overall AFL can be reduced by classifying the body parts (e.g., breasts) in the images into appropriate groups (described below). Thus, the AFLs can be used by the processor 112 to identify the prototype in each group and the overall AFL can be used to identify a clustering algorithm that can produce the best distribution of images 103 in the different groups and the number of groups for a sizing solution.

[0160] Figure 5Ais a diagram illustrating a process 500 for determining different clustering groups that can be used to cluster a plurality of images into groups according to aspects of the present disclosure. In an example, the processor 112 can run more than one clustering algorithm on the dissimilarity matrix 130 to generate different combinations of groups based on a parameter k, where the parameter k indicates a number of groups. For example, for a particular value of k, the N images can be distributed into k groups, where each group can have any number of images (as long as the total number of all images is N). If k = 1, then all N images will be clustered into one group, and if k = N, then there will be one image in each of the N groups. The processor 112 can identify a clustering algorithm of the more than one clustering algorithms to cluster the images 103 based on a criterion related to the different combinations of groups. For each clustering algorithm and for each k, the processor 112 can identify a prototype for each of the k groups and determine an overall AFL for each value of k. The processor can compare the determined overall AFLs for all values of k and identify a clustering algorithm.

[0161] The processor 112 can perform the process 500 to determine overall AFL values for all values of k and for a plurality of clustering algorithms to identify or select a clustering algorithm (and to cluster the images). The process 500 can start from block 501, where the processor 112 can set one of the more than one clustering algorithms to be used for the dissimilarity matrix 130. For example, K-medoid clustering and hierarchical clustering (including Ward's method, Complete-linkage clustering, or Centroid-linkage clustering) are some of the clustering algorithms that can be used to cluster the images using the dissimilarity matrix 130. The process 500 can proceed from block 501 to block 502, where a value of k can be initialized to k = 1. As described above, when k = 1, all N images will be clustered into one group. The process 500 can proceed from block 502 to block 503, where the processor 112 can set one image for each group as a candidate prototype image. If k = 1, then one of the N images can be set as a candidate prototype image.

[0162] Process 500 can proceed from block 503 to block 504, where processor 112 can determine intra-group (and across groups) AFL for each group based on the candidate prototype images set at block 503 as described above, e.g., summing the fit loss for each pair of images in the group where the candidate prototype is one of the images in the pair. In the first pass, the intra-group AFL is equal to the overall AFL because there is only one group. Process 500 can proceed from block 504 to block 505, where processor 112 can store the determined intra-group AFL associated with the candidate prototype images. Process 500 can proceed from block 505 to block 506, where processor 112 can determine whether all images in each group have been set as a candidate prototype image. If all images in all groups have been set as a candidate prototype image, process 500 can proceed to block 508. If not all images in all groups have been set as a candidate prototype image, process 500 can proceed to block 507, where the next candidate prototype image can be set and processor 112 can perform blocks 503, 504, 505 for the next candidate prototype image and its respective group. In the example where k = 1, because there is only one group and there are N images in the one group, the loop including blocks 503, 504, 505 can be performed N times.

[0163] At block 508, processor 112 can increment the value of k, e.g., from k = 1 to k = 2, such that the images are now grouped into two groups. Process 500 can proceed from block 508 to block 509, where processor 112 can determine whether the incremented value of k is greater than N. If k is less than N, at block 510, processor 112 can cluster into k groups using the clustering algorithm set at block 501. The process can return from block 510 to block 503, such that processor 112 can perform blocks 503, 504, 505, 506, 507 for the incremented value of k. If k is greater than N, process 500 can return to block 501, where processor 112 can set the next clustering algorithm and repeat process 500 using the next clustering algorithm.

[0164] By performing clustering at block 510 for all clustering algorithms and for all values of k, the processor 112 can determine an overall AFL for each value of k and each clustering algorithm. The determination of the overall AFL is made once the prototypes have been determined for all groups and all values of k. In an example, the processor 112 can determine a prototype for a group by setting each image within the group as a candidate prototype and then determining a within-group AFL value for each candidate prototype. The processor 112 can identify the candidate prototype that produces the lowest within-group AFL as the prototype image. The processor 112 can be configured to analyze the overall AFL values resulting from different clustering algorithms and identify the clustering algorithm that produces the lowest overall AFL for more than one K. In some examples, the prototypes for each group can be finalized prior to comparing the clustering algorithms. Finalizing the prototypes prior to comparing the clustering algorithms can allow the processor 112 to store the finalized prototypes in the memory 114 without needing to store each candidate prototype. For example, the processor can generate a graph of the relationship between k and the overall AFL for each clustering algorithm. In an aspect of the disclosure, the graph can be displayed. For example, the x-axis of the graph can be k, which represents the number of groups created, and the y-axis can be the overall AFL for each k and each clustering algorithm. For k = 1, because no classification is made (e.g., all N images are in the same group), the overall AFL is the largest. Then, for k = N, because there is only one image per group, the overall AFL result is zero.

[0165] Further, the processor 112 can determine an optimal value of k, or an optimal number of groups to use to cluster the images. In some examples, when developing a sizing system, it can be challenging to identify a suitable number of sizes to offer to consumers. A smaller number of sizes can have a relatively higher cost efficiency and be more retail space friendly, but a larger number of sizes can accommodate a higher percentage of the population and provide better fit. However, too many sizes can also confuse consumers. Figure 5B A process 550 is shown that can be performed by the processor 112 to identify an optimal value of k or an optimal number of different sizes. The process 550 can begin at block 551, where the processor 112 can determine a within-group AFL for each group and each candidate prototype image for each value of k. The processor 112 can compare the within-group AFL values for each candidate prototype image for each group. The process 550 can proceed from block 551 to block 552, where the processor 112 determines a prototype image for each group based on the comparison. The processor 112 can assign the candidate prototype image that produces the lowest within-group AFL as the prototype image for the group.

[0166] Process 550 can proceed from block 552 to block 553, where the processor can combine the assigned intra-group AFL values of the prototype images of each group to generate an overall AFL (for each k). For example, for value k = 2, if the AFL of group 1 is A (relative to the prototype) and the AFL of group 2 is B (relative to the prototype), then the overall AFL for k = 2 is A + B. This operation is repeated for each k from 1 to N. Process 550 can proceed from block 553 to block 554, where processor 112 can identify the best value of k according to the resulting overall AFL values for all values of k in the context of the respective set of prototype images. For example, the criterion can vary, for example, based on the rate at which the overall AFL varies with the value of k, as the first derivative or the second derivative. In other aspects, a person viewing the graph described above can identify the best k.

[0167] Figure 6A is a diagram illustrating a process 600 for assigning a new image to a sizing protocol, according to aspects of the present disclosure. Process 600 can begin at block 601, where processor 112 can receive a new 3D image from a scanner. The 3D image can be of the same body part that is not a 3D image in the plurality of images 103 previously received by processor 112. Process 600 can proceed from block 601 to block 602, where processor 112 can perform image pre-processing steps on the new 3D image. For example, processor 112 can pre-process the new 3D image according to the description above Figures 1C-2D . Process 600 can proceed from block 602 to block 603, where processor 112 can identify a plurality of data points (e.g., P data points) in a second region of interest of the new 3D image. For example, processor 112 can identify the data points in the new 3D image according to the description above Figures 3A-3C . Process 600 can proceed from block 603 to block 604, where processor 112 can assign the identified data points to a respective group of prototype images. For example, processor 112 can assign the data points to a respective group of prototype images according to the description above

[0168] Process 600 can proceed from block 603 to block 604, where processor 112 can determine a distance between the identified data points in the new 3D image and 3D reference points in the new 3D image (e.g., using Equation 1). Process 600 can proceed from block 604 to block 605, where processor 112 can retrieve or extract prototype images for each size or shape group in the size determination scheme from memory (determine prototypes in the manner described above). For example, if there are k size or shape groups, processor 112 can retrieve k prototype images from memory. Process 600 can proceed from block 605 to block 606, where processor 112 can determine a fitting loss value between the new 3D image and each of the retrieved prototype images. For example, processor 112 can use Equation 2 for the data points identified in the second region of interest of the new 3D image and the data points at the same index i in each of the retrieved prototype images to determine a fitting loss value for the new 3D image relative to the prototype images. The fitting loss value for each comparison can be stored in memory 114.

[0169] Process 600 can proceed from block 606 to block 607, where processor 112 can compare the fitting loss values determined at block 606. Based on the comparison, processor 112 can, for example, identify the lowest fitting loss value among the fitting loss values determined at block 606. The lowest fitting loss value can indicate that the new 3D image is most similar to the prototype image that produced the lowest fitting loss value in block 606. Process 600 can proceed from block 607 to block 608, where processor 112 can identify the size or shape group represented by the prototype image that has the lowest fitting loss relative to the new 3D image in block 606. Processor 112 can assign the new 3D image to the identified size or shape group. In an example, the new 3D image can be a 3D image of an individual and the new 3D image can include a body part such as a breast. Processor 112 can perform process 600 to identify a suitable size for a bra of the individual, and can transmit a recommendation to a user device of the individual indicating the identified size. The recommendation can be displayed on the user device. The user device can be the same device that transmitted the new 3D image. In some aspects of the disclosure, the user can log into the device to obtain the recommendation. In other aspects of the disclosure, rather than (or in addition to) transmitting the recommendation to the user device, the device can transmit the recommendation to a store or designer of the garment.

[0170] In response to a new 3D image being assigned to an identified size or shape group, a decision can be made to determine whether the prototype can be updated. This can be done such that the group is continually updated to maintain the best prototype image. This can be done for each new 3D image assigned to a size or shape group. In other aspects of the disclosure, the processor 112 can periodically determine whether the prototype can be updated. For example, the period can be once a week, once a month, once every two weeks, once a season, etc. In other aspects of the disclosure, the determination can be made after a preset number of 3D images are assigned to a size or shape group. For example, the preset number can be 5, 10, 15 images, etc.

[0171] Figure 6B A process 650 for determining whether to update a prototype is depicted in accordance with aspects of the disclosure. The processor 112 updates the AFL of the group taking into account the new member of the group. For example, at block 651, the processor retrieves from the memory 114 the current AFL of the size or shape group determined for the current prototype. The processor adds to the retrieved current AFL the fit loss value determined for a pair of 3D images, e.g., a newly received 3D image and the current prototype. This is the new AFL of the group with respect to (WRT) the current prototype. The new AFL can be stored in the memory 114. The process can move to block 652 where the processor 112 determines the AFL of the size or shape group with each newly received image as a candidate. This determination is repeated for each newly received image. For example, for each image, the image is set as a candidate and all fit loss values where the candidate is a member of the pair are added. The determination of the AFL is described above.

[0172] The process can move from block 652 to block 653, where the processor 112 compares the AFL determined in block 651 to the AFL determined in block 652. When the AFL for the current prototype is less than or equal to the AFL for the candidate prototype(s), then the processor 112 determines that the current prototype should be maintained (YES at 653). This means that the current prototype is a better representation of the size or shape group than any of the newly received images. On the other hand, when the AFL for the newly received images (candidate prototypes) is less than the AFL for the current prototype, then the processor determines that one of the new images should be the new prototype for the size or shape group (NO at 653). The process can move to block 655. If only one new image, e.g., candidate prototype, satisfies the determination (NO at block 653), then this image is assigned as the prototype for the size or shape group for subsequent use. For example, a flag can be associated with this image. In other aspects of the disclosure, another type of indication can be stored in the memory 114 to identify the prototype image. However, when more than one image (e.g., candidate prototype images) has a lower AFL, then the processor first determines which candidate image has the lowest AFL and assigns the corresponding image as the new prototype image for the group. The above process is subsequently referred to in the examples as the full AFL method.

[0173] In other aspects of the disclosure, a size determination scheme can be determined without the clustering technique as described above. For example, according to this aspect, one or more of the features of the image can be measured. For example, in the case where the target body image can be a breast, the lower bust circumference can be measured in the first region of interest. This measurement can be taken prior to the shifting as described above. The 3D images can initially be grouped into size or shape groups based on this measurement. In other aspects, the measurement can be based on the difference (Delta B: ΔΒ) between the measurement of the bust circumference and the lower bust circumference. The measurements can not be limited to these features. For example, in the case where the size determination is for shirts, the measurement can be the waist circumference or the length of the upper torso. In one aspect of the disclosure, the grouping can be made based on preset definitions of the size or shape groups. The preset definitions can be received from the clothing manufacturer or store. In other aspects of the disclosure, the size or shape groups can be defined to be evenly spaced within preset minimum size parameters and preset maximum size parameters. The minimum and maximum size parameters can be received from the manufacturer or store. The spacing, e.g., the interval, between the size or shape groups can be based on the number of groups. Fewer groups will have a higher interval between the size or shape groups. The number of groups can be based on information received from the manufacturer or store.

[0174] Once the images are classified into groups based on one or more measurements, a prototype is determined within each group in the manner described above. For example, each image within the group can be preprocessed as described above, data points identified, and fitting loss values ​​determined between all possible pairs of images within the group. After the fitting loss values ​​for each combination of image pairs are calculated for the region of interest, the processor 112 determines the AFL for the size or shape group in the manner described above, where each image is a candidate image. A prototype image can be selected that has the lowest AFL among all candidate prototype images. This selection process can be performed for each size or shape group. This process is referred to herein as a partial AFL method.

[0175] Figure 7A is a diagram illustrating a process 700 for developing a sizing system with constraints according to various aspects of the present disclosure. The process is referred to as a hybrid AFL method in the example. In one example, the processor 112 can be configured to develop a sizing system subject to sizing constraints. The sizing constraints can be based on a target body part or garment. For example, the processor 112 can develop a bra sizing system with a fixed set of underbust sizes and one or more subgroups under each underbust size, the one or more subgroups being used to represent different shapes of breasts under each underbust size. The underbust sizes can be predefined by a manufacturer or store. The process 700 can begin at block 701, where the processor 112 can receive a plurality of 3D images, such as N 3D images, from the device 101. The images can be received similarly to as described above. The process 700 can proceed from block 701 to block 702, where the processor 112 can perform an image preprocessing step on the received 3D images. For example, the processor 112 can perform an image preprocessing step based on the above Figures 1C-2D Each of the N 3D images is preprocessed as described above. In other aspects of the present disclosure, the underbust size can be measured directly from the 3D image without requiring all of the aforementioned preprocessing features. For example, the underbust size can be measured before identifying the second region of interest. Alternatively, the underbust size can be measured before the shifting.

[0176] Process 700 can proceed from block 702 to block 703, where processor 112 can assign a certain underbust size to each of the N 3D images. In an example, for the following more detailed description, processor 112 can determine an optimal number of total number of subgroups or a total number of size groups m, where each of the m size groups can be categorized with an underbust size and a shape group. For example, if there are j underbust sizes and x shape groups within each underbust size, then there are k = jx total size groups. In another example, if j underbust size groups have different shape groups, then k = xi + x2 +... Processor 112 can distribute the N 3D images among the j underbust size groups and then proceed to block 704 to perform data point determination for each of the N 3D images. For example, processor 112 can identify data points for each of the N 3D images according to the description above Figures 3A-3C . Processor 112 can identify data points for each of the N 3D images using the same sequence described above (e.g., from i = 1 to i = P).

[0177] Process 700 can proceed from block 704 to block 705, where the processor can determine a distance between each identified data point in block 704 and a 3D reference point. Process 700 can proceed from block 705 to block 706, where for each underbust size group, processor 112 can compare the determined distances for each possible pair of 3D images in the underbust size group to determine a fit loss value for pairs of 3D images assigned to the underbust size group. For example, image A assigned to underbust size group j = 1 can be compared to every other 3D image assigned to underbust size group j = 1, but will not be compared to 3D images assigned to underbust size group j = 2. Processor 112 can determine a fit loss value for each possible pair of 3D images assigned to the same underbust size group for each underbust size group. Process 700 can proceed from block 706 to block 707, where processor 112 can generate a dissimilarity matrix for each underbust size group using the fit loss values determined at block 706. The dissimilarity matrix for each underbust size group can indicate a difference between each possible pair of images in the underbust size group. 700 can proceed from block 707 to block 708, where for each underbust size group, processor 112 can cluster images in the underbust size group into subgroups based on the dissimilarity matrix for the underbust size group. The clustering can be performed by processor 112 according to the description above Figures 5A-5B , however, an optimal clustering algorithm can be determined for all underbust size groups, such that the same clustering algorithm can be used for the same group. Figure 7BThe method of determining the optimal clustering algorithm is shown in FIG. 7. In other aspects of the disclosure, the above determination can be repeated for each group to determine the optimal clustering algorithm for each underbust size group. In this regard, different optimal clustering algorithms can be used for different underbust size groups.

[0178] Based on the clustering at block 708, the processor 112 can define a size determination system that is affected by the constraint of using traditional underbust sizes, such as a bra size determination system with traditional underbust sizes. A bra size determination system based on the identification of surface points on a 3D image that is affected by the constraint of maintaining the use of traditional underbust sizes can allow manufacturers to utilize the size determination system described herein without having to make substantial modifications to existing technology.

[0179] In other aspects, where the garment is a shirt, the neck circumference or arm length can replace the underbust size group.

[0180] In some aspects of the disclosure, the number of shape sizes within an underbust size can be determined in the manner described above, as Figure 5B The determination can be made for each underbust size. After determining the number of shape sizes within an underbust size group, in some aspects, the processor can determine the total number of shape sizes across all underbust sizes. If the total number is large, this number can be reduced. In an aspect of the disclosure, the reduction can be to a pre-set maximum number. This is because in practice a manufacturer or store can not want too many size groups. In other aspects of the disclosure, the processor can instead look at the number of groups within each underbust size. The pre-set maximum can be received from the manufacturer or store.

[0181] Figure 7Bis a diagram illustrating a process for determining an optimal clustering algorithm according to aspects of the present disclosure. The process 730 begins at block 731, where one of the one or more clustering algorithms is set for processing. Blocks 732 through 740 are performed for all of the one or more clustering algorithms. At block 732, the processor 112 initializes a value k, which is the total number of size groups within all underbust size groups. The initial value of k is the number of underbust sizes (underbust size groups). This is because for the initial determination, each underbust size group is assigned one shape group. At block 733, the processor 112 clusters the 3D images into k subgroups, for example one shape group in each underbust size. At block 734, the processor 734 can determine an overall AFL value for distributing the N 3D images into a total of k subgroups. The overall AFL is determined by adding the AFL of a group in an underbust size with all other AFLs from other underbust sizes. For example, if there are five underbust size groups, and the AFL of underbust size group 1 is A, the AFL of underbust size group 2 is B, the AFL of underbust size group 3 is C, the AFL of underbust size group 4 is D, and the AFL of underbust size group 5 is E, then the overall AFL is A+B+C+D+E. The overall AFL can be stored (e.g., in the memory 114).

[0182] At block 735, the processor 112 can determine whether k reaches N, where N is the number of 3D images. In the case where k is N, each 3D image is its own subgroup (shape group). If at block 735, the processor 112 determines that k is less than N (yes), then at block 736, the processor 112 increments the value of k by 1. At block 736, the processor 112 can randomly select one of the values associated with the lower bust size group to increment by 1, such as setting j = j + 1, where j is the number of subgroups (shape groups) for the lower bust size (the starting one). In other aspects, the processor 112 can select one of the values to increment by 1 based on a different selection scheme (e.g., round robin). In an example, the processor 112 can increment one value iteratively, such as by first incrementing j 1 to j + 1, where j 1 is the number of subgroups (shape groups) in lower bust size 1, and then returning the increment to j and incrementing j 2 from j to j + 1, etc. For example, for the second pass and in the case where the number of lower bust size groups is 5, one of the lower bust size groups will have two shape groups, while the other lower bust size groups have only one shape group. The overall AFL is determined in a similar manner as described above for this grouping. The AFL for one of the lower bust size groups will be determined by summing the AFLs for the two shape groups (when k is 6). The process is repeated until each lower bust size group has an additional shape group (the other lower bust size groups do not have an additional shape group). Thus, when there are five lower bust groups, the process can be repeated five times, resulting in five overall AFLs. This also assumes that the number of images in the lower bust size group is greater than the shape groups assigned in block 736. When the number of images in the lower bust size group is equal to the number of shape groups assigned (and each 3D image is its own shape group), there can be no additional (subgroup) shape groups assigned to the lower bust size group.

[0183] The process 730 can proceed from block 737 to block 738, where the processor 112 can identify the lowest overall AFL from the overall AFL values for k (one for each lower bust size). The lowest overall AFL indicates that the overall AFL drops more for k-1 than was determined for k-1 subgroups (shape groups).

[0184] The process 730 can proceed from block 738 to block 739, where the processor 112 stores the lower bust size group associated with the determined lowest overall AFL in the memory 114. The processor 112 can also associate the lowest AFL value identified in block 738 with the current value of k, and store the lowest overall AFL associated with the current k in the memory 114. This information can be stored in a table. The lowest overall AFL and k can be used to determine the optimal algorithm.

[0185] The assigned number of shape groups in each underbust size group can not be returned, e.g., the additional shape groups remain in the underbust size with the lowest overall AFL for the current k. Process 730 can return to block 735 to identify the lowest AFL for each value of k until N is reached (NO at block 735). Blocks 736-739 are repeated. The number of iterations for each k, e.g., the number assigned to different underbust sizes, can decrease as the number of k increases, as k can be greater than the number of 3D images assigned to an underbust size.

[0186] Once k is equal to N (the total number of 3D images) for a clustering algorithm, at block 740, processor 112 determines whether there is another clustering algorithm that has not been processed. When there is another clustering algorithm that has not been processed, process 730 returns to block 731 and sets another clustering algorithm. When all clustering algorithms have been processed, process 730 moves to block 742. At block 742, the processor determines which of the one or more algorithms is the best algorithm. In an aspect of the disclosure, processor 112 can identify the best value of a clustering algorithm based on a relationship between the lowest overall AFL associated with k for each clustering algorithm. Processor 112 can generate one or more curves on a graph showing the relationship between the lowest overall AFL and k, where k can be on the x-axis and the lowest overall AFL can be on the y-axis. Using this graph, processor 112 can automatically determine the best clustering algorithm. In other aspects, a person viewing the graph can determine the best clustering algorithm based on some criteria. For example, the criteria can be the lowest overall AFL in all clustering algorithms over most values of k, where the values of k are from the minimum value (e.g., the number of underbust groups) to the total number of 3D images N.

[0187] Figure 7Cis a diagram illustrating a process for determining the optimal distribution of subgroups (shape groups) within different lower chest circumference size groups when the total number of subgroups is greater than a preset maximum value, according to aspects of the present disclosure. Many of the blocks in the process for determining the optimal distribution of subgroups (shape groups) are similar to the blocks for determining the optimal clustering algorithm. For example, blocks 751-753 are similar to blocks 732-734. At block 752, processor 112 can also store the number of subgroups (shape groups) in each lower chest circumference size group in memory 114. In this case, each lower chest circumference size group has one subgroup (shape group). These values can be incremented as set forth below. At block 754, processor 112 can determine whether the current value of k is less than a preset maximum value, instead of determining whether k (current value) is less than N. Blocks 755-757 are similar to blocks 736-738. After block 757, process 750 moves to block 758. At block 758, processor 112 records in memory 112 the number of subgroups in each lower chest circumference size group that resulted from the determination in block 757. For example, in the case where there are five lower chest circumference size groups and the determination that an additional subgroup (shape group) in group 1 satisfies block 757, the processor adds 1 to the number of subgroups associated with the lower chest circumference size group and stores it in memory 114. The number of subgroups (shape groups) remains the same for the other subgroups. Blocks 755-758 are repeated each time a determination is made that K is less than the preset maximum value. Each time the repetition, as long as the number of 3D images in a lower chest circumference size group is greater than the number of subgroups in the lower chest circumference size group (when equal, each 3D image is its own subgroup (shape group)), processor 112 records an increase in the number of subgroups for one of the lower chest circumference size groups (at block 758). When processor 112 determines at block 754 that the current k is equal to the maximum value, the distribution of subgroups (shape groups) is completed at block 759, and the recorded (incremented) values at block 758 represent the distribution of subgroups (shape groups) in the lower chest circumference size groups.

[0188] Figure 7D is a diagram illustrating a process 780 for assigning a new image to a size, according to aspects of the present disclosure. Process 780 can begin at block 781, where processor 112 can receive a new 3D image from a scanner. The 3D image can be of the same body part that is not in the plurality of images 103 previously received by processor 112. Process 780 can proceed from block 781 to block 782, where processor 112 can perform image pre-processing steps on the new 3D image. For example, processor 112 can perform the image pre-processing steps according to the above description of process 700. Process 780 can proceed from block 782 to block 783, where processor 112 can determine the size of the new 3D image. For example, processor 112 can determine the size of the new 3D image according to the above description of process 700. Process 780 can proceed from block 783 to block 784, where processor 112 can determine the shape of the new 3D image. For example, processor 112 can determine the shape of the new 3D image according to the above description of process 700. Process 780 can proceed from block 784 to block 785, where processor 112 can assign the new 3D image to a size and shape based on the size and shape determined at blocks 783 and 784. For example, processor 112 can assign the new 3D image to a size and shape according to the above description of process 700. Figures 1C-2DThe description of process 700 can be applied to the preprocessing of a new 3D image. Process 780 can proceed from block 782 to block 783, where processor 112 obtains an underbust size of a body part (e.g., a breast) shown in the new 3D image. In some examples, processor 112 can determine the underbust size by analyzing a first region of interest identified from the new 3D image in block 782. In some aspects, the processor can determine the underbust size from the received 3D prior to identifying the first region of interest. In some examples, processor 112 can obtain the underbust size from user input (e.g., from a user with the body part in the new 3D image). The new image is assigned to an underbust size corresponding to the measured or received value. Processor 112 assigns the 3D image to the underbust size that is closest to the measured or received value. In an aspect of the disclosure, when the measured or received value is equidistant with respect to multiple underbust sizes, processor 112 can assign the 3D image to multiple underbust sizes.

[0189] Process 780 can proceed from block 783 to block 784, where processor 112 can identify a plurality of data points (e.g., P data points) in a second region of interest of the new 3D image. For example, processor 112 can identify the data points in the new 3D image according to the description of process 700 above such that processor 112 identifies the data points of the new 3D image in the same sequence (e.g., from i = 1 to i = P) as described above. Figures 3A-3C Process 780 can proceed from block 783 to block 784, where processor 112 can identify a plurality of data points (e.g., P data points) in a second region of interest of the new 3D image. For example, processor 112 can identify the data points in the new 3D image according to the description of process 700 above such that processor 112 identifies the data points of the new 3D image in the same sequence (e.g., from i = 1 to i = P) as described above.

[0190] Process 780 can proceed from block 784 to block 785, where processor 112 can determine a distance between the identified data points in the new 3D image and the 3D reference point in the new 3D image (e.g., using Equation 1). Process 780 can proceed from block 785 to block 786, where processor 112 can retrieve or extract from memory (e.g., 114) prototype images for each size group that is below the obtained underbust size. For example, if there are j groups of underbust sizes, there are k size groups below each group of underbust sizes, and the obtained underbust size is j = 2, processor 112 can retrieve from memory k prototype images associated with the j = 2 group of underbust sizes. Process 780 can proceed from block 786 to block 787, where processor 112 can determine a fitting loss value between the new 3D image and each of the retrieved prototype images. For example, processor 112 can use Equation 2 for the data points identified in the second region of interest of the new 3D image and the data points at the same index i in each of the retrieved prototype images of the obtained group of underbust sizes to determine a fitting loss value of the new 3D image with respect to the prototype images of the obtained group of underbust sizes. The determined fitting loss values can be stored in memory 114.

[0191] Process 780 may proceed from block 787 to block 788, where processor 112 may compare the fit loss values ​​determined at block 787. Based on the comparison, processor 112 may, for example, identify the lowest fit loss value among the fit loss values ​​determined at block 787. The lowest fit loss value may indicate that the new 3D image is most similar to the prototype image that produced the lowest fit loss value at block 787. Process 780 may proceed from block 788 to block 789, where processor 112 may identify the size group represented by the prototype image that had the lowest fit loss relative to the new 3D image at block 787. Processor 112 may assign the new 3D image to the identified size group and the obtained underbust size. In one example, the new 3D image may be a 3D image of an individual, and the new 3D image may include a body part such as a breast. Processor 112 may perform process 780 to identify a bra having the obtained underbust size and the identified size group, and may transmit a recommendation indicating the identified size to the individual's user device. The recommendations may be distributed to individuals and / or manufacturers and / or stores in a similar manner as described above.

[0192] When a new image is assigned to a specific subgroup within the underbust size, the processor 112 may determine (for the corresponding subgroup) whether the new image should be a prototype for that subgroup in a manner similar to the above-described process 650. This may be performed for each subgroup having a new image.

[0193] test

[0194] Various aspects of the present disclosure were tested. A total of 46 female participants were recruited for 3D body scanning. Participants were all non-obese (BMI less than 30), Caucasian, aged 18 to 45 years old. Participants were scanned in a standard standing position with their upper body exposed. A Human Solutions VITUS / XXL 3D body scanner (technology: laser triangulation; output formats: ASCII, DXF, OBJ, STL; average girth error <1 mm) was used.

[0195] Each image is pre-processed in the manner described above so that certain planes such as the chest or sub-chest are defined. These planes are defined as described herein (not according to conventional definitions) to ensure that the entire breast is included and not truncated. The holes in the scans are also pre-filled based on the surrounding curvature. The scans were processed in version R2018b, which removed the limbs, neck, head, and parts below the lower chest plane.

[0196] The scans are also processed as described above so that each of them has exactly 9000 points, arranged in the exact same order without distorting the scan. Specifically, each scan contains 50 equally spaced horizontal slices (or transverse planes) arranged according to their z coordinates. Each slice has 180 points. The angular increment is 1 degree, which means there is one point at each degree from -180° to 0°. Further, as described above, if a point is missing, the coordinates of that point are replaced by NaN (representing an undefined value) to reserve space for that point and, more importantly, to maintain the sequence and index of the other points.

[0197] A breast scan was randomly selected from the 46 scans and retained for later presentation. The remaining 45 scans were subjected to pairwise fitting loss calculations. A 45 by 45 dissimilarity matrix was generated ( Figure 8A ), the dissimilarity matrix contains the values ​​calculated according to the fitting loss function for all pairs of scans. The matrix is ​​symmetric about its diagonal (i.e., L(d1, d2) = L(d2, d1)), and the values ​​on the diagonal are uniformly zero because the fitting loss of the scan to itself is zero (i.e., L(d1, d1) = 0).

[0198] The larger the fitting loss value between a pair, the more dissimilar the shapes of the pairs are. For example, the dissimilarity matrix 800 may show that the body parts in image P1 appear to be more similar to the body parts shown in P2 than to the body parts shown in P3 (the P1-P2 fitting loss is less than the P1-P3 fitting loss).

[0199] In one example, the dissimilarity matrix 800 can be clustered into groups. Figure 8B In the example shown, images P1, P2, P3, and P4 can be clustered into the same shape group 802. To identify the prototype image, the processor iteratively assigns each image in group 802 as a candidate prototype image and determines the intra-group AFL for each candidate prototype image. For example, when P1 is assigned as a candidate prototype image, the intra-group AFL can be obtained by adding the values ​​in rows 2, 3, and 4 of column 1, such as 184.02+378.31+130.28=692.61. The intra-group AFLs of P2, P3, and P4, which are candidate prototypes, are 622.12, 893.17, and 407.52, respectively. The processor can identify 407.52 as the lowest intra-group AFL. The processor can then identify P4 as the prototype image for shape group 802.

[0200] Figure 9 is a graph showing a number of overall AFL values ​​that can be used to identify the optimal number of shape groups. In one example, Figure 9 The diagram shown in FIG can be a diagram of performing process 550 (Figure 5B ). The horizontal axis of the graph represents the number of groups k, and the vertical axis of the graph represents the overall AFL for each value of k. In the graph, the overall AFL curve drops relatively more significantly at the beginning (e.g., from k=1 to k=4), so that the slope of the curve seems much steeper when k=4. Further, after k=4, the drop in the curve seems to be less and less significant. Therefore, when the value of k is relatively small, increasing the number of groups or the k value seems to be more effective. In one instance, at k=4, the cumulative reduction in the overall AFL seems to reach approximately 60% of the initial AFL value (when k=1). Moreover, when k≥13, the cumulative reduction seems to reach approximately 80% of the initial value, and when k≥24, the cumulative reduction seems to reach approximately 90%. Therefore, k=4 can be selected as the optimal value, and since k=4 is selected as the optimal number of groups, the processor can cluster the images into 4 groups. Then, a sizing system for images can be developed, wherein the sizing system includes 4 different size groups.

[0201] Figure 10 is a graph showing multiple overall AFL values ​​obtained by applying multiple clustering algorithms. In one example, Figure 10 The graph shown in may be an example result of applying various clustering algorithms to 45 3D images for all values ​​of k. Figure 10 In the graph shown, the horizontal axis is the number of groups created (k), and the vertical axis is the overall AFL for each k. The number of groups (k) ranges from 1 to 45, where k = 1 is when no classification is performed, which is when the overall AFL is maximized; and k = 45 is when each object has its own group. This is also when the overall AFL is equal to zero.

[0202] The overall AFL can be reduced by classifying the breasts into appropriate groups. The within-group AFL can be minimized by choosing the right prototype breast shape. In order to find the best prototype breast shape for a given group, each of the multiple images in the group can be assigned as a prototype shape and the corresponding AFL can be calculated, the results compared and the lowest value can be identified. In order to classify the breast shapes, several clustering algorithms were tested that directly used the dissimilarity matrix as their grouping criterion. However, not all clustering algorithms are suitable. For example, K-means clustering requires the original values ​​of the variables. In the tests, K-medoid clustering and hierarchical clustering were considered. There are many different ways to perform hierarchical clustering, such as the sum of squared deviations method, complete linkage clustering and centroid linkage clustering. In Figure 10 The figure shows a comparison of three hierarchical clustering methods and the K-medoid clustering method. The algorithm that ultimately achieves the lowest AFL can be selected to perform clustering. Figure 10In the illustrated graph, for most k, K-medoids clustering produces the lowest overall AFL among the four clustering methods. Thus, K-medoids clustering, also known as the full AFL method, can be selected to perform the clustering disclosed herein (e.g., Figure 5A ), the K-medoids clustering also known as the full AFL method.

[0203] Figure 11 is a table that illustrates a table that can be used to assign body parts to shape groups. Figure 11 The table in is based on clustering results of 45 3D images, where the clustering results can be considered as the basis of a sizing system. A new 3D image (e.g., the 46th image) can be received by the sizing system, and the new 3D image can need to be assigned to a certain size shape in the sizing system. Further, the new 3D image can be incorporated to update the sizing system. In some instances, there are software available to convert a series of 2D photos taken from different angles for the same object into a 3D model. Thus, it is not inconceivable for a consumer to upload their 3D scan to an online store, or walk up to a 3D scanner in a physical store to be scanned. Fitting models or mannequins, such as the prototype breasts obtained by clustering and optimization, are the basis of product development. Typically, a clothing company will develop its products to fit these fitting models perfectly. Keeping the prototypes can ensure consistency in fit of the products. Assigning a new 3D image to a certain size or shape group can include calculating a fitting loss between the new instance or new 3D image and each of the plurality of prototypes; and assigning the new instance to the group whose prototype has the lowest fitting loss value associated as described above.

[0204] Because the prototypes remain unchanged, all other instances are unaffected, so the increase in overall AFL is the same as the fitting loss between the new instance and the prototypes of the group. Figure 11 The representation of shows the fitting loss of the new instance (the 46th instance) with each of the plurality of prototypes, where the fitting loss with object c is the lowest. Thus, the new instance should be assigned to group 3. The overall AFL increase due to the inclusion of this new instance can be as low as 104.7 (the difference in fitting loss between the new instance and the prototype). This confirms that assigning the new instance to group 3 is a wise choice. Object a of group 1, which is the prototype of group 1, has the second lowest fitting loss value (130.3).

[0205] However, if a significant number of new instances have been added to the database, then changing the prototype would be more optimal. Keeping the instance also serves to show how new instances are assigned while allowing the new instance to itself act as a new prototype for the group. The new instance can or can not be suitable as a new prototype, depending on the amount of AFL within the group it brings. This method is still a direct application of the clustering results, as the original structure of the classification is maintained. Again, other groups are still unaffected, so the change in intra-group AFL of one group assigned a new instance is the same as the change in overall AFL.

[0206] When a new instance is assigned to a group and simultaneously temporarily acts as the prototype for the group, the increase in overall AFL is calculated. As shown in the figure, for most instances, the increase in AFL is very large, much larger than the result when the new instance does not act as a prototype. Thus, for this particular object, it is more appropriate to only make it a regular group member. However, for another object, making it the prototype for a particular group would likely result in a smaller increase in AFL. In addition, the new instance does not have to be assigned to the group with the lowest AFL, but rather to the group with the lowest AFL among the groups that have not yet been assigned a new instance. Figure 10 The two values associated with object d in group 4 in the middle are identical (1578.0). This is because group 4 initially contains only one object (i.e., object d). The increase in AFL is always the difference in the fit loss values between the two, regardless of whether the new instance becomes a prototype. This also shows that the original clustering is not limited by the number of objects included in each group (one object can still be a group). However, groups with only one or a very small number of objects can be removed to further reduce the total number of groups, at the expense of the fitness of the population.

[0207] In addition, the calculations can be simplified. The fit loss values between the new instance and each of the multiple prototypes still need to be calculated, to target the lowest fit loss value and the corresponding group. Then it is not necessary to replace the prototype of any group other than the target group with the new instance.

[0208] In addition, in the rare instance scenario where the breast shape of a new object has the same amount of fit loss with more than one prototype, the object's scan can be classified into any of the corresponding groups, and the object itself can try on all the corresponding sizes and make a judgment based on its subjective preference.

[0209] The test also classifies 45 scans using traditional measurements. This forms the basis for comparison with the full AFL method (and the other methods disclosed). The bust and underbust circumferences of the scans are measured on the chest and underbust planes, respectively. The difference between the bust and underbust circumferences, which is commonly used to determine cup sizes, is referred to herein as ΔΒ. Uniformly spaced intervals are created for the full range of underbust circumferences within the data, and the number of intervals is also k (1≤k≤45).

[0210] Figure 12Four examples are shown for k = 2, 4, 5, and 6, which assume a full range of lower chest circumference from 28 to 40 inches (assuming integer values are used instead of actual values for better readability). In addition, the prototype shape for the (spaced) group is set to the shape for which the lower chest circumference is closest to the middle interval value (as shown). The same procedure is performed for the AB parameter. This method of classification is referred to herein as the traditional method. Figure 12

[0211] A partial AFL method is tested in which groups are created based on the measured lower chest circumference or AB, but the prototype is selected according to aspects of the disclosure, e.g., the member of the group associated with the lowest within-group aggregate fit loss.

[0212] Figures 13-14 A comparison between the traditional method, the partial AFL method, and the full AFL method with respect to aggregate fit loss is shown. Figure 13 Classification based on lower chest circumference is shown, while Figure 14 Classification based on AB is shown. The prototype for the group in the traditional method is set to the member for which the lower chest circumference is closest to the middle interval value Figure 12 ) and likewise for AB Figure 14 ). The fit loss is calculated in the manner described above. For partial AFL and full AFL likewise, the AFL for each k is calculated in the manner described above, where k varies from 1 to 45. The full AFL method uses K-means clustering to cluster into groups.

[0213] The traditional method, the partial AFL method, and the full AFL method using K-means clustering are represented by the black curve, the blue curve, and the red curve, respectively.

[0214] In both cases (classified by lower chest circumference or AB), a significant reduction in overall aggregate fit loss can be observed in the blue curve compared to the black curve. This demonstrates the improvement in optimizing prototypes according to aspects of the disclosure. A much more pronounced reduction can be observed in the red curve. This demonstrates the improvement in clustering and optimizing prototypes according to aspects of the disclosure.

[0215] The methods and systems described herein can be applied to image populations that are not constrained by prerequisites such as breast size and shape, and can also be applied to populations with constraints such as bust circumference size. In this test section, introducing the bust circumference size as a constraint into the classification is referred to as the hybrid AFL method. The 45 subjects are first classified into bust circumference size groups based on their lower bust measurements, and then the optimization of AFL is performed within each size group. Five bust circumference sizes are involved, namely size 28, size 30, size 32, size 34, and size greater than 34 (see Figure 15A ​The lower chest measurements are more appropriate than the bust measurements because the size of the chest cavity is less influenced by factors such as hormone levels. For each lower bust size, an optimal grouping (using the algorithm of K center point clustering and finding the best prototype) is performed j times, where j is the total number of subjects in the lower bust size group (e.g., for size 32, j = 12). The total number of subgroups is denoted by k and satisfies the following equation (Equation 3):

[0216] k = j1 + j2 + j3 + j4 + j5 (Equation 3)

[0217] where j1 to j5 correspond to the number of subgroups for sizes 28, 30, 32, 34, and greater than 34, respectively. i ≥ 1 (i = 1 to 5) to maintain the structure of the lower bust size (in other words, all lower bust sizes are considered). In this example, k is at least 5 and at most 45 (when each subject forms a subgroup). When k falls between 6 and 44, additional calculations can be performed to distribute k into the five j’s.

[0218] To distribute k into the five j’s, any one of the j’s measured in 1 can be increased by 1, which also means k is increased by 1. This will result in a decrease in the overall AFL. There is generally one particular j that corresponds to the largest decrease in the overall AFL among the five j’s. Thus, the methods and systems described herein can run a program or instruction set (e.g., instructions 113) to obtain a group of lower bust sizes whose j’s correspond to the largest decrease in the overall AFL when the j’s are increased by 1 as described above. The process can be set to start from k = 5 (when all j’s are equal to 1), add one subgroup at a time while recording the AFL value, and eventually terminate at k = 45 (when all j’s reach their maximum values). Figure 15B A portion of the results are shown in FIG. 6. The results are shown from k = 5 to k = 6 and then increased by 5 increments up to 45.

[0219] Figure 16A An example comparison of the hybrid AFL method, the full AFL method, the partial AFL method, and the traditional method when applied in the traditional classification based on lower chest circumference is shown. Figure 16B An example comparison of the hybrid AFL method, the full AFL method, the partial AFL method, and the traditional method when applied in the traditional classification based on ΔΒ (e.g., the difference between bust and lower chest) is shown. The curve for the hybrid AFL method is generated in the manner described herein. In Figure 16A and 16BIn the example comparison results shown in FIG. 12, the green curve shows the results of the hybrid AFL method. The reduction in AFL is still quite significant relative to the black and blue curves (traditional method and partial AFL method). The hybrid AFL method can provide a more realistic application for a size determination system for a bra because the hybrid method maintains the structure of the underbust size and still can achieve a significant improvement in size determination. The clustering results can be maintained and new instances can be added as described previously. Furthermore, when k = 20 (which means the overall AFL is reduced by 86.8% from k = 1), only four cup sizes are needed on average for each underbust size (4 x 5 = 20). Four is an acceptable number considering the variety of cup sizes in the market (from A cup to G cup or more).

[0220] Building or improving a size determination system can require a relatively large dataset. In one example, the system 100 can collect data through an online platform, where consumers are offered the option to upload their own body scans (there are already some cheap 3D scanners available for purchase, and perhaps in the near future, it will be very common for every household to own a 3D scanner. Certain mobile apps can also be developed and the apps allow people to scan themselves using their phones). Another approach is to set up 3D body scanners at physical stores. Then not only can computer programs be used to recommend sizes to consumers, but the database can also be continuously updated to ensure that good fit is constantly provided to consumers. In some examples, software such as software can be used to process the 3D scans and generate the dissimilarity matrix, and R is used for statistical analysis (cluster analysis, etc.). However, any software or programming language that can achieve the functions can be used. The use of the term "traditional" in the "traditional method" does not acknowledge that the method is known, but is used to refer to how the prototypes for each group are selected.

[0221] Assigning weights to the fitting loss function

[0222] The methods and systems described herein can not take into account the perception of fit, and the objectivity of subjective fit assessment can vary greatly from individual to individual. However, it cannot be ignored that a wearer's feeling for an oversized garment can be quite different from that of an undersized garment (possibly having more tolerance for a larger garment than for a smaller one). Thus, in accordance with aspects of the present disclosure, the processor 112 can assign different penalties for shapes that are larger than the prototype shape than for smaller shapes. This can be done by assigning different weights to the fitting loss function for positive and negative shape differences. Additionally, certain areas on the body can be more sensitive than others. This can also be taken into account by assigning weights to the fitting loss function based on the areas located on the body (as the 9000 points on the scan plane are all classified in the same way, it is not difficult to locate the areas).

[0223] Other clustering methods

[0224] While K-center clustering and hierarchical clustering based on the sum of squared deviations method, complete linkage, and centroid linkage were compared in the tests described herein, other clustering methods can also be used so long as the methods use the dissimilarity matrix to make the classification.

[0225] Including shoulders when quantifying shape differences

[0226] While the present disclosure focuses on breast shape and can provide more information for bra cup design, other body parts and / or additional body part dimensions can also be determined as described above. For example, aspects of the present disclosure can be used to improve the design and sizing of a raglan bra. For example, the second region of interest can include the shoulders and the back of the body (see 3D image 1702 in Figure 17 ). Additionally, the number of data points can be increased to account for additional regions. For example, the number of data points can be 18,000 points with 100 horizontal slices and one point every degree from -180° to 180° (-n to n) on each slice. (See slices 1704 in Figure 17 ). The processor 112 can determine the dissimilarity matrix based on the 18,000 points.

[0227] The methods and systems described herein can also be applied to other types of apparel products, such as short jackets, t-shirts, dresses, swimwear, etc. A 3D image showing the region above the hips can include 36,000 points with 200 horizontal slices and one point every degree from -180° to 180° (-n to n) on each slice. (See 3D image 1802 and slices 1804 in Figure 18 ). The processor 112 can determine the dissimilarity matrix based on the 36,000 points. In this regard, the scan can be shifted vertically in a similar manner as described above to align at the waist level (i.e., the waist plane is at plane z = 0).

[0228] In summary, the methods and systems described herein can recommend a size for a consumer from an existing sizing framework. A fit model or prototype can be selected to make the size recommendation method work in accordance with aspects of the present disclosure. The apparel product is still designed to fit the fit model perfectly, so it still makes sense to calculate the fit loss between the consumer and the fit model in order to determine the most suitable size for the consumer. Further, a human fit model or a constructed mannequin of a prototype shape can be selected without modifying the sizing system.

[0229] Typically, a garment company only does fit testing on one or very few sizes on a fit model, then uses proportional grading to get swatches for other sizes. This practice creates many fit issues for the consumer of the "other" sizes. Further, the fit model can be selected from consumers, which can require a platform to be built to upload and collect body scans to be able to identify the most representative shapes. After identifying a consumer with a very representative breast shape (or general body shape for other garment applications) and obtaining their consent, the garment company can build a garment model for them or send them a sample garment and request a try-on and fit testing. Even though it is not an expert in fit assessment, it can simply take a picture of itself and provide feedback on comfort, etc. This can be a back-and-forth process, as there can be several versions of sample garments (it is very common now to have multiple iterations for garment development, and this is a very time-consuming step as typically the garment company needs to receive the sample garment from its factory), but the method and system described herein can provide a practical application of time and cost savings. Also, the garment company does not need to hire and retain its fit model. (In other words, the consumer invited to this process will actively participate because it will receive a free custom fit garment).

[0230] Also, the method and system described herein can be performed with or without traditional measurements extracted (measured along the surface of the scan) from the 3D scan. The present method measures the distance of each point from the origin and does not extract measurements in the traditional way. Some of the measurements performed in the traditional way are made along the curvature of the surface, others are linear measurements based on landmarks: for example, calculating the distance between two body landmarks, or calculating the area or angle of a triangle constructed by three body landmarks.

[0231] The terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting of the present disclosure. As used herein, the singular forms "a," "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of 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 thereof.

[0232] As used herein, the term “processor” can include a single-core processor, multi-core processor, multiple processors on a single device, or multiple processors distributed among devices in a network, the Internet, or a cloud and in wired or wireless communication with one another. Thus, as used herein, functions, features, or instructions performed by or configured to be performed by a “processor” can include the performance of the functions, features, or instructions by a single-core processor, can include the performance of the functions, features, or instructions by multiple cores of a multi-core processor collectively or cooperatively, or can include the performance of the functions, features, or instructions by multiple processors collectively or cooperatively, where each processor or core need not perform each function, feature, or instruction.

[0233] Aspects of the disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.

[0234] The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims that follow, if any, are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosure form of the application. Numerous modifications and variations are possible in light of the above teachings without departing from the scope and spirit of the disclosure. Aspects were chosen and described in order to best explain the principles and practical application of the application to others skilled in the art and to enable others skilled in the art to understand various embodiments with various modifications as are suited to the particular use contemplated, without departing from the scope and spirit of the application.

Claims

1. A method for assigning a size to a body part, the size being a size used in a size determination scheme for the body part, the method comprising: receiving, by a processor, a three-dimensional image comprising the body part of the individual's body; Identify three-dimensional reference points; identifying an area of ​​interest and another area, the other area including the area of ​​interest; moving, by the processor, the other region so that a central axis of the other region is aligned with the three-dimensional reference point; identifying, by the processor, a plurality of data points on a surface of the region of interest; determining, by the processor, a plurality of distances between the plurality of data points and the three-dimensional reference point; extracting, by the processor, a plurality of prototype images from a memory, wherein the plurality of prototype images respectively represent a plurality of size groups; comparing, by the processor, the plurality of distances determined for the received three-dimensional image with respect to the region of interest, distances determined for the same data point in each of the prototype images such that the received three-dimensional image is compared pairwise with respect to the region of interest; determining, by the processor, a fitting loss value between the received three-dimensional image and each of the extracted prototype images with respect to the region of interest based on the comparison; identifying, by the processor, a lowest fitting loss value among the determined fitting loss values; as well as The received three-dimensional image is assigned to the size group of the prototype image representation corresponding to the lowest fitting loss value.

2. The method of claim 1, wherein the body part is a pair of breasts.

3. The method of claim 1 , wherein the another region is the entire torso; determining a first average of the image points in the other region in a first direction, the first direction being orthogonal to the longitudinal axis of the body; determining a second average of the image points in the other region in a second direction, the second direction being orthogonal to the first direction and to the longitudinal axis of the body; and A central axis of the other region is defined to intersect the first average value and the second average value, wherein the central axis of the other region is orthogonal to the first direction and the second direction.

4. The method of claim 3, wherein the central axis of the another region is parallel to the longitudinal axis of the individual's body.

5. The method according to claim 3 further includes the processor shifting the other area in a vertical direction to align the landmark feature in the other area with the three-dimensional reference point, the vertical direction being parallel to the longitudinal axis of the body, wherein the shifting of the other area in the vertical direction is performed in the following manner: shifting the other area until a plane orthogonal to the central axis of the other area intersects the three-dimensional reference point, wherein the plane intersects the landmark feature.

6. The method of claim 5, wherein the landmark feature is determined by defining a midpoint between a pair of nipples in the vertical direction, and wherein the plane intersects the midpoint.

7. The method of claim 1 , wherein identifying the region of interest comprises removing image points located on a first side of a plane parallel to a coronal plane of the body and intersecting the three-dimensional reference point, and the body part is located on a second side of the plane parallel to the coronal plane opposite to the first side.

8. The method according to claim 1, further comprising: Identify another region, where the another region includes the region of interest, and the another region is the entire torso, wherein identifying the region of interest includes: Rotating the three-dimensional image to an angle that forms a moiré pattern; Identifying an upper boundary of the region of interest based on the formed moiré pattern; and The closest wrinkle of the protruding region in the other region is identified to identify a lower boundary of the region of interest.

9. The method of claim 1 , wherein the plurality of size groups are based on a dissimilarity matrix generated using a plurality of fitting loss values ​​corresponding to each possible combination of three-dimensional image pairs in a plurality of three-dimensional images, wherein the plurality of three-dimensional images include the body parts of different individuals. 10 . The method of claim 9 , wherein the plurality of fitting loss values ​​are determined based on a dissimilarity function that quantifies shape differences between a pair of three-dimensional images with respect to the region of interest.

11. The method of claim 1 , wherein the three-dimensional images are received from one or more three-dimensional scanners.

12. The method of claim 11, wherein the one or more three-dimensional scanners are one or more of: a mobile phone, a point-of-sale terminal, a three-dimensional body scanner, a handheld three-dimensional scanner, and a stationary three-dimensional scanner.

13. The method of claim 1, further comprising: designating the received three-dimensional image as a candidate prototype image of the assigned size group; determining an aggregate fitting loss value for the assigned size group based on the received three-dimensional image being designated as the candidate prototype image; comparing the determined aggregate fitting loss value with an original aggregate fitting loss value of the assigned size group plus a fitting loss value between the received three-dimensional image and the prototype image; assigning the received three-dimensional image as a new prototype image in the assigned size group in response to the determined aggregated fitting loss value being less than the original aggregated fitting loss value plus the fitting loss value between the received three-dimensional image and the prototype image; as well as The prototype image is retained as the prototype image for the assigned size group in response to the determined aggregated fitting loss value being greater than or equal to the original aggregated fitting loss value plus the fitting loss value between the received three-dimensional image and the prototype image.

14. A method for assigning a size to a body part, the size being a size used in a sizing scheme for the body part, the method comprising: receiving, by a processor, a three-dimensional image comprising the body part of the individual's body; Identify three-dimensional reference points; identifying a first region of interest in the three-dimensional image; determining, by the processor, an underbust size based on a size parameter of a circumference of a lower boundary of the body part in the first region of interest, wherein the underbust size is one of a plurality of underbust size options; extracting, by the processor, a plurality of prototype images from a memory, wherein the plurality of prototype images represent a plurality of shape groups corresponding to the determined underbust measurements; Identifying a second area of ​​interest in the first area of ​​interest; moving, by the processor, the first region of interest so that a central axis of the first region of interest is aligned with the three-dimensional reference point; identifying, by the processor, a plurality of data points on a surface of the second area of ​​interest; determining, by the processor, a plurality of distances between the plurality of data points and the three-dimensional reference point; comparing, by the processor, the plurality of distances determined for the received three-dimensional image with respect to the second region of interest, distances determined for the same data point in each of the extracted prototype images representing the plurality of shape groups corresponding to the determined underbust measurement, such that the received three-dimensional image is compared pairwise with each of the extracted prototype images with respect to the second region of interest; determining, by the processor, a fitting loss value between the received three-dimensional image and each of the extracted prototype images with respect to the second region of interest based on the comparison; identifying, by the processor, a lowest fitting loss value among the determined fitting loss values; as well as The received three-dimensional image is assigned to the shape group represented by the prototype image corresponding to the lowest fitting loss value, wherein a recommended size group includes the determined underbust size and the shape group.

15. The method of claim 14, wherein the body part is a pair of breasts.

16. The method of claim 14, further comprising, in response to identifying the first region of interest, the first region of interest comprising the entire torso: determining a first average of the image points in the first region of interest in a first direction, the first direction being orthogonal to the longitudinal axis of the body; determining a second average of the image points in the first region of interest in a second direction, the second direction being orthogonal to the first direction and to the longitudinal axis of the body; and A central axis of the first region of interest is defined to intersect the first average value and the second average value, wherein the central axis of the first region of interest is orthogonal to the first direction and the second direction.

17. The method of claim 16, wherein a central axis of the first area of ​​interest is parallel to a longitudinal axis of the individual's body.

18. The method according to claim 16 further includes shifting the first area of ​​interest in a vertical direction by the processor to align the landmark feature in the first area of ​​interest with the three-dimensional reference point, the vertical direction being parallel to the longitudinal axis of the body, wherein shifting the first area of ​​interest in the vertical direction is performed by shifting the first area of ​​interest until a plane orthogonal to the central axis of the first area of ​​interest intersects the three-dimensional reference point, wherein the plane intersects the landmark feature.

19. The method of claim 18, wherein the landmark feature is determined by defining a midpoint between a pair of nipples in the vertical direction, and wherein the plane intersects the midpoint.

20. The method of claim 14, wherein identifying the second region of interest comprises removing image points located on a first side of a plane parallel to a coronal plane of the body and intersecting the three-dimensional reference point, and the body part is located on a second side of the plane parallel to the coronal plane opposite to the first side.

21. The method of claim 14, wherein identifying the second area of ​​interest comprises: Rotating the first region of interest to an angle where moiré patterns are formed; identifying an upper boundary of the second region of interest based on the formed moiré pattern; as well as The closest wrinkle of the protruding region in the first region of interest is identified to identify a lower boundary of the second region of interest.

22. The method of claim 14, wherein the size parameter is received from another device.

23. The method of claim 14, wherein determining the underbust measurement comprises: determining the perimeter of the lower boundary of the body part in the first region of interest; as well as Identifying a range of dimensional parameters including the determined perimeter; as well as The underbust size representing the size parameter range is assigned as the underbust size of the body part in the three-dimensional image.

24. The method of claim 14 , wherein the plurality of shape groups in each of the plurality of underbust sizes are based on a dissimilarity matrix generated using a plurality of fitting loss values ​​corresponding to each possible combination of three-dimensional image pairs in a plurality of three-dimensional images assigned to the corresponding underbust size, with respect to the second region of interest, wherein the plurality of three-dimensional images include the body parts of different individuals. 25 . The method of claim 24 , wherein the plurality of fitting loss values ​​are determined based on a dissimilarity function that quantifies shape differences between the three-dimensional image pair with respect to the second region of interest.

26. The method of claim 14, wherein the three-dimensional images are received from one or more three-dimensional scanners.

27. The method of claim 26, wherein the one or more three-dimensional scanners are one or more of: a mobile phone, a point-of-sale terminal, a three-dimensional body scanner, a handheld three-dimensional scanner, and a stationary three-dimensional scanner.

28. The method of claim 14, further comprising: designating the received three-dimensional image as a candidate prototype image of the assigned shape group within the determined underbust size; determining an aggregate fitting loss value for the assigned shape group based on the received three-dimensional image being designated as the candidate prototype image; comparing the determined aggregate fitting loss value with an original aggregate fitting loss value of the assigned shape group plus a fitting loss value between the received three-dimensional image and the prototype image; assigning the received three-dimensional image as a new prototype image in the assigned shape group in response to the determined aggregated fitting loss value being less than the original aggregated fitting loss value plus the fitting loss value between the received three-dimensional image and the prototype image; as well as The prototype image is retained as the prototype image of the assigned shape group in response to the determined aggregated fitting loss value being greater than or equal to the original aggregated fitting loss value plus the fitting loss value between the received three-dimensional image and the prototype image.

29. A method for developing a sizing solution for a body part, the method comprising: receiving, by a processor, a plurality of three-dimensional images, wherein the plurality of the three-dimensional images include the body parts of bodies of different individuals; For each three-dimensional image in the plurality of three-dimensional images: identifying a first region of interest in the three-dimensional image; determining a size parameter corresponding to a perimeter of a lower boundary of the body part in the first region of interest; assigning the three-dimensional image to an underbust size based on the size parameter; displacing, by the processor, the first region of interest to align a central axis of the first region of interest with a three-dimensional reference point, the central axis being parallel to a longitudinal axis of a body of the individual; shifting, by the processor, the first region of interest in a vertical direction to align a landmark feature in the first region of interest with the three-dimensional reference point, the vertical direction being parallel to a longitudinal axis of the body; Identifying a second area of ​​interest in the first area of ​​interest; identifying, by the processor, a plurality of data points on a surface of the second area of ​​interest; determining, by the processor, a plurality of distances between the plurality of data points and the three-dimensional reference point; as well as comparing, by the processor, the plurality of distances with distances determined for the same data point in each of the other three-dimensional images assigned to the same underbust measurement, such that the three-dimensional image is compared pairwise with each of the other three-dimensional images assigned to the same underbust measurement; For each underbust measurement: determining, by the processor, a fitting loss value with respect to the second region of interest for each possible combination of three-dimensional image pairs in the three-dimensional images assigned to the same underbust size, wherein each fitting loss value indicates a difference between corresponding three-dimensional image pairs with respect to the second region of interest, and the determination of the fitting loss value for each three-dimensional image pair is performed based on a result of a distance comparison between the three-dimensional image pairs with respect to the second region of interest; generating, by the processor, a dissimilarity matrix using the fitting loss values ​​determined for each three-dimensional image pair assigned to the same underbust size; and The three-dimensional images assigned to the underbust size are clustered, by the processor, into a plurality of shape groups based on the dissimilarity matrix, wherein each shape group corresponds to a shape of the body part.

30. The method of claim 29, wherein the body part is a pair of breasts.

31. The method of claim 29, further comprising, in response to identifying the first region of interest, the first region of interest comprising the entire torso: determining a first average of the image points in the first region of interest in a first direction, the first direction being orthogonal to the longitudinal axis of the body; determining a second average of the image points in the first region of interest in a second direction, the second direction being orthogonal to the first direction and to the longitudinal axis of the body; and The central axis of the first region of interest is defined to intersect the first average and the second average, wherein the central axis is orthogonal to the first direction and the second direction.

32. A method according to claim 29, wherein shifting the first area of ​​interest in the vertical direction includes shifting the first area of ​​interest until a plane orthogonal to the central axis intersects the central axis at the three-dimensional reference point, wherein the plane intersects the landmark feature.

33. The method of claim 32, wherein the landmark feature is determined by defining a midpoint between a pair of nipples in the vertical direction, and wherein the plane intersects the midpoint.

34. The method of claim 29, wherein identifying the second region of interest comprises removing image points located on a first side of a plane parallel to a coronal plane of the body and intersecting the three-dimensional reference point, and the body part is located on a second side of the plane parallel to the coronal plane opposite to the first side.

35. The method of claim 34, wherein identifying the second area of ​​interest comprises: Rotating the first region of interest to an angle where moiré patterns are formed; identifying an upper boundary of the second region of interest based on the formed moiré pattern; as well as The closest wrinkle of the protruding region in the first region of interest is identified to identify a lower boundary of the second region of interest.

36. The method of claim 29, wherein the number of the plurality of data points identified on the surface of the second region of interest in each three-dimensional image is a fixed number.

37. The method of claim 29, wherein the plurality of data points are identified based on a predefined sequence.

38. The method of claim 29, wherein identifying the plurality of data points comprises: dividing, by the processor, the second region of interest into a plurality of evenly distributed slices orthogonal to the central axis; segmenting, by the processor, each slice into a plurality of sections based on fixed angular intervals, wherein each section corresponds to an angular value and each section includes a set of points; For each part on each slice: determining, by the processor, an average distance among the distances of the set of points relative to the three-dimensional reference point; and The processor sets a point associated with the average distance as a data point represented by the angle value corresponding to the portion, wherein the data point is one of the identified plurality of data points.

39. The method of claim 38, further comprising: determining missing image points in a particular portion of the slice, wherein missing image points are removed from the three-dimensional image during the identification of the first region of interest; as well as A set of undefined values ​​are assigned to the missing image points in the specific portion as data points.

40. The method of claim 39, wherein determining the fitting loss value is based on differences between data points from each three-dimensional image pair that are located on the same slice and associated with the same angle value.

41. The method of claim 29, wherein determining the fitting loss value comprises using a dissimilarity function that quantifies shape differences between a pair of three-dimensional images with respect to the second region of interest.

42. The method of claim 41, wherein the dissimilarity function is expressed as: in: d1 representing a first three-dimensional image in the underbust size group; d2 a second three-dimensional image representing the underbust size group; d1 i represents the i-th data point in the first three-dimensional image; d2 i represents the i-th data point in the second three-dimensional image; n Indicates the total number of data points; m Represents the number of pairs of data points where both data points include an undefined value.

43. The method of claim 29, wherein N three-dimensional images are assigned to the underbust size, and wherein clustering the three-dimensional images of underbust size comprises: applying, by the processor, one or more clustering algorithms to the dissimilarity matrix of the underbust dimensions, wherein applying each of the one or more clustering algorithms groups the plurality of three-dimensional images into k three-dimensional image cluster shape groups, where k is in a range of 1 to N, and: In k = 1 clustered shape groups, there are N 3D images in a shape group; and There are k = N clustered shape groups, and there is one 3D image in each shape group; as well as determining, for each of the one or more clustering algorithms, an overall aggregate fit loss for each k, where k is in the range of 1 to N, and wherein the overall aggregate fit loss for k is determined by summing the aggregate fit losses for each clustered shape group in the k, the aggregate fit loss determined for each clustered shape group in the k after a prototype has been selected for each shape group in the k; and The processor identifies a specific clustering algorithm among the one or more clustering algorithms, and the specific clustering algorithm makes, for a maximum of k from k=1 to k=N, the overall aggregate fitting loss of the specific clustering algorithm is the lowest overall aggregate fitting loss among the overall aggregate fitting losses of all clustering algorithms.

44. The method of claim 29, further comprising: Determine the number of shape groups for each underbust size.

45. The method of claim 44, wherein determining the number of shape groups for each underbust size comprises: an identification value m, the value m representing the number of three-dimensional image cluster shape groups among the 1 to N cluster shape groups whose aggregated fitting loss values ​​across the 1 to N cluster shape groups meet a certain standard; as well as The identified value m is set to the number of shape groups.

46. ​​The method of claim 45, further comprising determining a total number of shape groups across all underbust sizes, and wherein when the determined total number of shape groups is greater than a preset maximum, the total number of shape groups is reduced.

47. The method of claim 46 , wherein the total number of determined shape groups is reduced to the preset maximum value, and wherein the distribution of the shape groups among different underbust sizes is based on a lowest overall aggregate fit loss determined for j′, where j′ varies from a minimum value to the preset maximum value, the minimum value being the number of underbust sizes, wherein the lowest overall aggregate fit loss is determined for each j′ from a plurality of overall aggregate fit losses for different combinations of j′ shape groups across the underbust sizes, the different combinations being generated by iteratively adding a shape group to one of the underbust sizes and then removing the shape group from one of the underbust sizes while adding the shape group to another underbust size while maintaining j′.

48. The method of claim 29, wherein the plurality of three-dimensional images are received from one or more three-dimensional scanners, the three-dimensional scanners comprising a mobile phone, a point-of-sale terminal, a three-dimensional body scanner, a handheld three-dimensional scanner, or a stationary three-dimensional scanner.

49. The method of claim 29, wherein M three-dimensional images are assigned to all underbust sizes, and wherein clustering the three-dimensional images of underbust sizes comprises: applying, by the processor, one or more clustering algorithms to the dissimilarity matrix for all underbust girth sizes, wherein applying each of the one or more clustering algorithms groups the plurality of three-dimensional images into a total of j three-dimensional image cluster shape groups for all underbust girth sizes, where j is in the range of h to M, where h is the number of underbust girth sizes, and: When j = h, there is one shape group for each underbust size; and When j = M, there is one 3D image in each shape group; and determining, for each of the one or more clustering algorithms, an overall aggregate fit loss for each j, where j is in the range h to M, and wherein the overall aggregate fit loss for j is determined by summing the aggregate fit losses for each clustered shape group in j, the aggregate fit loss determined for each clustered shape group in j after a prototype has been selected for each shape group in j; and The processor identifies a specific clustering algorithm among the one or more clustering algorithms, and the specific clustering algorithm makes the overall aggregate fitting loss of the specific clustering algorithm the lowest overall aggregate fitting loss among the overall aggregate fitting losses of all clustering algorithms for a maximum of j from j = h to j = M.

50. A method for developing a sizing solution for a body part, the method comprising: receiving, by a processor, a plurality of three-dimensional images, wherein the plurality of three-dimensional images include the body parts of bodies of different individuals; For each three-dimensional image in the plurality of three-dimensional images: identifying a first region of interest in the three-dimensional image; displacing, by the processor, the first region of interest to align a central axis of the first region of interest with a three-dimensional reference point, the central axis being parallel to a longitudinal axis of a body of the individual; shifting, by the processor, the first region of interest in a vertical direction to align a landmark feature in the first region of interest with the three-dimensional reference point, the vertical direction being parallel to a longitudinal axis of the body; Identifying a second area of ​​interest in the first area of ​​interest; identifying, by the processor, a plurality of data points on a surface of the second area of ​​interest; determining, by the processor, a plurality of distances between the plurality of data points and the three-dimensional reference point; comparing, by the processor, the plurality of distances with distances determined at the same data point for the same data point in each of the other three-dimensional images such that the three-dimensional image is compared pairwise with each other three-dimensional image in the plurality of three-dimensional images; determining, by the processor, a fitting loss value for each possible combination of a pair of three-dimensional images in the plurality of three-dimensional images with respect to the second region of interest, wherein each fitting loss value indicates a difference between corresponding three-dimensional image pairs with respect to the second region of interest, and the determination of the fitting loss value for each three-dimensional image pair is performed based on a result of a distance comparison between the three-dimensional image pairs with respect to the second region of interest; generating, by the processor, a dissimilarity matrix using the fitting loss values ​​determined for each three-dimensional image pair; as well as The processor clusters the plurality of three-dimensional images into a plurality of groups based on the dissimilarity matrix, wherein each group corresponds to a dimension of the body part.

51. The method of claim 50, wherein the body part is a pair of breasts.

52. The method of claim 50, further comprising, in response to identifying the first region of interest, the first region of interest comprising the entire torso: determining a first average of image points in the first region of interest in a first direction, the first direction being orthogonal to the longitudinal axis of the body; determining a second average of the image points in the first region of interest in a second direction, the second direction being orthogonal to the first direction and to the longitudinal axis of the body; and The central axis of the first region of interest is defined to intersect the first average and the second average, wherein the central axis is orthogonal to the first direction and the second direction.

53. A method according to claim 50, wherein shifting the first area of ​​interest in the vertical direction includes shifting the first area of ​​interest until a plane orthogonal to the central axis intersects the central axis at the three-dimensional reference point, wherein the plane intersects the marker feature.

54. The method of claim 53, wherein the landmark feature is determined by defining a midpoint between a pair of nipples in the vertical direction, and wherein the plane intersects the midpoint.

55. A method according to claim 50, wherein identifying the second region of interest includes removing image points located on a first side of a plane parallel to the coronal plane of the body and intersecting the three-dimensional reference point, and the body part is located on a second side of the plane parallel to the coronal plane opposite to the first side.

56. The method of claim 55, wherein identifying the second area of ​​interest comprises: Rotating the first region of interest to an angle where moiré patterns are formed; identifying an upper boundary of the second region of interest based on the formed moiré pattern; as well as The closest wrinkle of the protruding region in the first region of interest is identified to identify a lower boundary of the second region of interest.

57. The method of claim 50, wherein the number of the plurality of data points identified on the surface of the second region of interest in each three-dimensional image is a fixed number.

58. The method of claim 50, wherein the plurality of data points are identified based on a predefined sequence.

59. The method of claim 50, wherein identifying the plurality of data points comprises: dividing, by the processor, the second region of interest into a plurality of evenly distributed slices orthogonal to the central axis; segmenting, by the processor, each slice into a plurality of sections based on fixed angular intervals, wherein each section corresponds to an angular value and each section includes a set of points; For each part on each slice: determining, by the processor, an average distance among the distances of the set of points relative to the three-dimensional reference point; and The processor sets a point associated with the average distance as a data point represented by the angle value corresponding to the portion, wherein the data point is one of the identified plurality of data points.

60. The method of claim 59, further comprising: determining missing image points in a particular portion of the slice, wherein missing image points are removed from the three-dimensional image during the identification of the first region of interest; as well as A set of undefined values ​​are assigned to the missing image points in the specific portion as data points.

61. The method of claim 59, wherein determining the fitting loss value is based on differences between data points from each three-dimensional image pair that are located on the same slice and associated with the same angle value.

62. The method of claim 50, wherein determining the fitting loss value comprises using a dissimilarity function that quantifies shape differences between a pair of three-dimensional images with respect to the second region of interest.

63. The method of claim 62, wherein the dissimilarity function is expressed as: in: d1 representing a first three-dimensional image; d2 representing a second three-dimensional image; d1 i represents the i-th data point in the first three-dimensional image; d2 i represents the i-th data point in the second three-dimensional image; n Indicates the total number of data points; m Represents the number of pairs of data points where both data points include an undefined value.

64. The method of claim 50, wherein there are N three-dimensional images in the plurality of images and clustering the three-dimensional images comprises: applying, by the processor, one or more clustering algorithms to the dissimilarity matrix, wherein applying each of the one or more clustering algorithms groups the plurality of three-dimensional images into k three-dimensional image cluster groups, where k is in a range of 1 to N, and: In a cluster group with k = 1, there are N 3D images in a group; and In k = N cluster groups, there is a 3D image in each group; as well as determining, for each of the one or more clustering algorithms, an overall aggregate fit loss for each k, where k is in the range of 1 to N, and wherein the overall aggregate fit loss for k is determined by summing the aggregate fit losses for each of the groups in k, the aggregate fit losses determined for each of the groups in k after a prototype has been selected for each of the groups in k; and The processor identifies a specific clustering algorithm among the one or more clustering algorithms, and the specific clustering algorithm makes, for a maximum of k from k=1 to k=N, the overall aggregate fitting loss of the specific clustering algorithm is the lowest overall aggregate fitting loss among the overall aggregate fitting losses of all clustering algorithms.

65. The method of claim 64, further comprising: an identification value m, the value m representing the number of three-dimensional image cluster shape groups among 1 to N cluster shape groups whose aggregated fitting loss values ​​across each of the 1 to N cluster shape groups meet a certain standard; as well as The identified value m is set as the group number for the size of the body part.

66. The method of claim 50, further comprising: For each 3D image in the 3D image set: designating the three-dimensional image as a candidate prototype image of the group; and aggregating fitting loss values ​​for each different three-dimensional image pair in the group including the candidate prototype image with respect to the second region of interest, wherein different pairs do not have the same two three-dimensional images; identifying a candidate prototype image having a lowest aggregated fitting loss value among the aggregated fitting loss values ​​associated with each candidate prototype; as well as The identified candidate prototype image is assigned as the prototype image for the group.

67. The method of claim 50, wherein the plurality of three-dimensional images are received from one or more three-dimensional scanners, the three-dimensional scanners comprising a mobile phone, a point-of-sale terminal, a three-dimensional body scanner, a handheld three-dimensional scanner, and a stationary three-dimensional scanner.

Citation Information

Patent Citations

  • Body shape analysis method and system

    US20130315475A1

  • Method and apparatus for estimating body shape

    US20160203361A1