TECHNICAL FIELD

Embodiments relate generally to computer image processing, and more particularly, to methods, systems and computer readable media for generating a computer model of a subject (e.g., a human body) from one or more computer images (e.g., video frames and/or still pictures).

BACKGROUND

Some attempts have been made to develop systems for computerized modeling of a human body. However, the existing systems may suffer from one or more limitations. For example, some existing systems for modeling the human body may rely on large and/or complicated hardware setups that include things such as multi-camera photogrammetry, IR-depth scanning, lidar, and/or arrays of markers applied to the body of a subject being measured. These systems may frequently require the subject to travel to a scanning location, spending significant time and resources to do so, and spending significant time to set up the hardware or outfit the subject for measurement. The initial capital expenditure to acquire the necessary hardware may be significant, as is the expertise to set up, use, and maintain the hardware.

Some emerging methods may use neural networks to determine body measurements. However, these methods may be hampered by a lack of appropriate training data and/or flawed assumptions about human body uniformity. These are less expensive than the larger setups, but their inherent biases about body shape may not account for the large variability in the shapes of people across the planet.

Embodiments were conceived in light of the above-mentioned needs, problems and/or limitations, among other things.

SUMMARY

In general, some implementations can provide a method comprising receiving, at one or more processors, digital media as input, and separating, using the one or more processors, the digital media into a plurality of individual image frames. The method can also include selecting, using the one or more processors, a group of one or more image frames from the plurality of individual image frames, and for each individual image frame in the group of one or more image frames, performing a process including identifying one or more joints of a human body subject image within the image frame, and identifying human body regions within the image frame. The method can further include segmenting the image frame to remove any image features that are not parts of the human body subject image and aligning the human body subject image within the image frame. The method can also include generating a silhouette of the human body subject image within the image frame and determining one or more orientations of the human body subject based on the image frame.

The method can further include building a voxel model of the human body subject based on the silhouette and the orientation of the human body subject image in one or more of the plurality of individual image frames. The method can also include computing a measurement of at least one portion of the human body subject at one or more locations on the voxel model of the human body subject based on the voxel model of the human body subject.

In some implementations, the digital media can include a video. Determining one or more orientations of the human body subject based on the image frame can be based on an area of the human body subject image relative to the image frame.

Aligning can include adjusting for vertical or horizontal movement of the human body subject image from one frame to another and centering the human body subject image within the frame. Building a voxel model of the human body subject can further include adjusting the voxel model based on a rotational speed of the human body subject, wherein the rotational speed is determined based on a timing of when the one or more orientations appear in the plurality of individual image frames.

Computing the measurement of the at least one portion can be further based on a measurement of the human body subject. In some implementations, the measurement can include height of the human body subject. In some implementations, the measurement can be received via a graphical user interface.

The method can also include disposing of the digital media and the plurality of individual image frames and retaining the voxel model. The method can further include transmitting the voxel model to a data collection system.

Some implementations can include a method. The method can include receiving, at one or more processors, a video that includes a plurality of image frames in a sequence as input, and separating, using the one or more processors, the video into a plurality of individual image frames. The method can also include selecting a group of one or more image frames from the plurality of individual image frames.

The method can further include for each individual image frame in the group of one or more image frames, performing operations including: identifying human body regions corresponding to a human body subject within the image frame, segmenting the image frame to remove image features that are not parts of the human body subject, aligning the human body subject within the image frame, wherein the aligning includes adjusting for vertical or horizontal movement of the human body subject from one frame to another and centering the human body subject image within the frame, generating a silhouette of the human body subject within the image frame, and determining one or more orientations of the human body subject based on the image frame.

The method can also include determining a location of a waistline of the human body subject in the image frame based on the one or more orientations and projecting an ellipse from the human body subject based on a rotation of the silhouette of the human body subject. The method can further include fitting an ellipse equation to the projected ellipse and determining an estimated waistline perimeter for the human subject based on the ellipse equation. In some implementations, projecting the ellipse includes projecting one or more individual waist diameters onto a plane about an origin such that the one or more individual waist diameters can be fit to an ellipse using least-squares to determine an ellipse approximating waistline perimeter.

In some implementations, determining one or more orientations of the human body subject is based on an area of the human body subject in a first image frame and a second image frame. In some implementations, aligning includes adjusting for vertical or horizontal movement of the human body subject image between a plurality of frames of the video and centering the human body subject image within the frame.

The method can also include receiving one or more demographic information items corresponding to the human body subject and retrieving an estimated demographic waistline perimeter from a data store based on the one or more demographic information items. The method can further include generating an adjusted estimated waistline perimeter by adjusting the estimated waistline perimeter based on the estimated demographic waistline perimeter.

In some implementations, the adjusting includes determining a mathematical mean of the estimated waistline perimeter and the estimated demographic waistline perimeter. In some implementations, determining a location of a waistline of the human body subject is based a measurement of the human body subject.

In some implementations, the measurement includes height of the human body subject. In some implementations, the measurement is received via a graphical user interface. The method can also include deleting the video and the plurality of individual image frames and retaining the estimated waistline perimeter or adjusted estimated waistline perimeter.

Some implementations can include a system comprising a memory and a processing device, coupled to the memory. The processing device is configured to perform operations including receiving, at one or more processors, a video that includes a plurality of image frames in a sequence as input and separating, using the one or more processors, the video into a plurality of individual image frames. The operations can also include selecting a group of one or more image frames from the plurality of individual image frames.

The operations can further include, for each individual image frame in the group of one or more image frames, performing operations including: identifying human body regions corresponding to a human body subject within the image frame, segmenting the image frame to remove image features that are not parts of the human body subject, aligning the human body subject within the image frame, wherein the aligning includes adjusting for vertical or horizontal movement of the human body subject from one frame to another and centering the human body subject image within the frame, generating a silhouette of the human body subject within the image frame, and determining one or more orientations of the human body subject based on the image frame.

The operations can also include determining a location of a waistline of the human body subject in the image frame based on the one or more orientations and projecting an ellipse from the human body subject based on a rotation of the silhouette of the human body subject. The operations can further include fitting an ellipse equation to the projected ellipse and determining an estimated waistline perimeter for the human subject based on the ellipse equation.

In some implementations, projecting the ellipse includes projecting one or more individual waist diameters onto a plane about an origin such that the one or more individual waist diameters can be fit to an ellipse using least-squares to determine an ellipse approximating waistline perimeter. In some implementations, aligning includes adjusting for vertical or horizontal movement of the human body subject image between a plurality of frames of the video and centering the human body subject image within the frame.

The operations can further include receiving one or more demographic information items corresponding to the human body subject and retrieving an estimated demographic waistline perimeter from a data store based on the one or more demographic information items. The operations can also include generating an adjusted estimated waistline perimeter by adjusting the estimated waistline perimeter based on the estimated demographic waistline perimeter.

The operations can further include deleting the video and the plurality of individual image frames and retaining the estimated waistline perimeter or adjusted estimated waistline perimeter.

Some implementations can include a non-transitory computer-readable medium comprising instructions that, responsive to execution by a processing device, cause the processing device to perform operations. The operations can include receiving, at one or more processors, a video that includes a plurality of image frames in a sequence as input and separating, using the one or more processors, the video into a plurality of individual image frames. The operations can also include selecting a group of one or more image frames from the plurality of individual image frames.

The operations can further include, for each individual image frame in the group of one or more image frames, performing operations including: identifying human body regions corresponding to a human body subject within the image frame, segmenting the image frame to remove image features that are not parts of the human body subject, aligning the human body subject within the image frame, wherein the aligning includes adjusting for vertical or horizontal movement of the human body subject from one frame to another and centering the human body subject image within the frame, generating a silhouette of the human body subject within the image frame, and determining one or more orientations of the human body subject based on the image frame.

The operations can also include determining a location of a waistline of the human body subject in the image frame based on the one or more orientations and projecting an ellipse from the human body subject based on a rotation of the silhouette of the human body subject. The operations can further include fitting an ellipse equation to the projected ellipse and determining an estimated waistline perimeter for the human subject based on the ellipse equation.

In some implementations, projecting the ellipse includes projecting one or more individual waist diameters onto a plane about an origin such that the one or more individual waist diameters can be fit to an ellipse using least-squares to determine an ellipse approximating waistline perimeter. In some implementations, aligning includes adjusting for vertical or horizontal movement of the human body subject image between a plurality of frames of the video and centering the human body subject image within the frame.

The operations can further include receiving one or more demographic information items corresponding to the human body subject and retrieving an estimated demographic waistline perimeter from a data store based on the one or more demographic information items. The operations can also include generating an adjusted estimated waistline perimeter by adjusting the estimated waistline perimeter based on the estimated demographic waistline perimeter.

The operations can further include deleting the video and the plurality of individual image frames and retaining the estimated waistline perimeter or adjusted estimated waistline perimeter.

