FIELD OF THE TECHNOLOGY DISCLOSED

The technology disclosed relates, in general, to image analysis, and in particular implementations to identifying shapes and capturing motions of objects in three-dimensional (3D) space.

BACKGROUND

The subject matter discussed in this section should not be assumed to be prior art merely as a result of its mention in this section. Similarly, a problem mentioned in this section or associated with the subject matter provided as background should not be assumed to have been previously recognized in the prior art. The subject matter in this section merely represents different approaches, which in and of themselves may also correspond to implementations of the claimed technology.

Motion capture has numerous applications. For example, in filmmaking, digital models generated using motion capture can be used as the basis for the motion of computer-generated characters or objects. In sports, motion capture can be used by coaches to study an athlete's movements and guide the athlete toward improved body mechanics. In video games or virtual reality applications, motion capture can be used to allow a person to interact with a virtual environment in a natural way, e.g., by waving to a character, pointing at an object, or performing an action such as swinging a golf club or baseball bat.

The term “motion capture” refers generally to processes that capture movement of a subject in three-dimensional (3D) space and translate that movement into, for example, a digital model or other representation. Motion capture is typically used with complex subjects that have multiple separately articulating members whose spatial relationships change as the subject moves. For instance, if the subject is a walking person, not only does the whole body move across space, but the position of arms and legs relative to the person's core or trunk are constantly shifting. Motion capture systems are typically interested in modeling this articulation.

Most existing motion capture systems rely on markers or sensors worn by the subject while executing the motion and/or on the strategic placement of numerous cameras in the environment to capture images of the moving subject from different angles. Such systems tend to be expensive to construct. In addition, markers or sensors worn by the subject can be cumbersome and interfere with the subject's natural movement. Further, systems involving large numbers of cameras tend not to operate in real time, due to the volume of data that needs to be analyzed and correlated. Such considerations of cost, complexity and convenience have limited the deployment and use of motion capture technology.

Consequently, there is a need for improved techniques for capturing the motion of objects in real time without attaching sensors or markers thereto.

SUMMARY

Among other aspects, implementations can provide for improved image based machine interface and/or communication by interpreting a control object's position and/or motion (including objects having one or more articulating members, i.e., humans and/or animals and/or machines). Among other aspects, implementations can enable automatically (e.g., programmatically) creating, improving and/or exploiting a model using differences between observation information and predicted information comprising radial solids and/or other shapes, enable conformance of the model to real world changes in the control object facilitating real time or near real time control, communication and/or interaction with machines. Inputs can be interpreted from one or a sequence of images in conjunction with receiving input, commands, communications and/or other user-machine interfacing, gathering information about objects, events and/or actions existing or occurring within an area being explored, monitored, or controlled, and/or combinations thereof.

According to one aspect, a method implementation for improving a prediction of an object in space includes determining prediction information for the object. The method further includes receiving observation information for the object. Also, the method can include determining a closest distance between at least one point of the prediction information and at least one point of the observation information. Improved prediction information can be determined based at least in part upon the closest distance.

In an implementation, determining prediction information for the object includes determining at least a portion of a model (model subcomponent) of the object including at least one radial solid.

In an implementation, receiving observation information for the object includes receiving an image from at least one image capture device.

In an implementation, determining a closest distance between at least one point of the prediction information and at least one point of the observation information includes determining a closest distance between a first point belonging to a set of points defining a virtual surface determined from the observation information and a second point belonging to a model subcomponent determined to be corresponding to the first point.

In an implementation, determining improved prediction information based at least in part upon the closest distance includes determining an error indication based at least in part upon the closest distance; and applying the error indication to the prediction information to provide improved prediction information.

In another aspect, a method for predicting an object is provided. The method can include receiving observation information including information about an object surface portion from an imaging system. Determining from the observation information prediction information including a virtual surface portion corresponding to the object surface portion is also part of the method. The method further includes determining at least a portion of a model (model subcomponent) of the object. In an implementation, this can include determining at least one radial solid, which can be selected from a set of radial solids to approximate at least part of the object surface portion; determining a first point belonging to a set of points defining the virtual surface portion determined from the observation information; determining a second point belonging to the model subcomponent corresponding to the first point; and determining a closest distance between the first point and the second point. The method can also include improving prediction information based at least in part upon the closest distance by determining an error indication based at least in part upon the closest distance and applying the error indication to the predication information to provide improved prediction information.

In a further aspect, systems can be provided. One system implementation includes an image capture system including at least one camera oriented toward a field of view facilitating imaging an object. An image analyzer is coupled to the camera. The image analyzer can be configured to determine prediction information for the object. The image analyzer can receive observation information for the object. The image analyzer can determine a closest distance between at least one point of the prediction information and at least one point of the observation information. Further, the image analyzer can determine improved prediction information based at least in part upon the closest distance.

In another aspect, a computer-implemented method for facilitating control of a user interface via free-space motions of a control object is provided. One method implementation includes receiving data indicative of tracked motions of the control object, and computationally (i.e., using a processor) defining an engagement target and updating a spatial position (and, in some implementations, also a spatial orientation) of the engagement target based at least in part on the data such that the position of the engagement target follows the tracked motions of the control object. Further, implementations of the method involve computationally determining whether the control object intersects the engagement target, and, if so, controlling the user interface in a first mode (e.g., an engaged mode), and otherwise controlling the user interface in a second mode different from the first mode (e.g., a disengaged mode).

Techniques for determining positional, shape and/or motion information about an object are described in further detail in co-pending U.S. Ser. No. 13/414,485, filed Mar. 7, 2012, and Ser. No. 13/742,953, filed Jan. 16, 2013, the entire disclosures of which are hereby incorporated by reference as if reproduced verbatim beginning here.

Advantageously, some implementations can provide for improved interface with computing and/or other machinery than would be possible with heretofore known techniques. In some implementations, a richer human—machine interface experience can be provided. The following detailed description together with the accompanying drawings will provide a better understanding of the nature and advantages provided for by implementations.

