The present disclosure relates generally to organization, categorization and extraction of computerized content, including computerized images, data and icons. More particularly the present disclosure relates to computer-implemented technology to assist a user in extracting and reorganizing desired content using a graphical user interface that models content as computer-generated physical objects in display space having kinematic properties that map to content relatedness properties. The system associates relatedness between targeted content and other content with a computer-generated physical parameter.
Computerized content can take many forms. In photographic applications the content is typically stored as raw image data files or as compressed image files (e.g., jpg format). In video applications the content is typically stored as a collection of image frames encoded using a suitable CODEC (e.g., mpeg format). Text applications may store content as generic text files, as application-specific files (e.g., Microsoft Word doc or docx format), or as printable files (e.g., pdf). Some applications store content comprising both text and image data. Examples include presentation software applications (e.g. Microsoft PowerPoint). Database applications typically store text and numeric data, and sometimes also image data according to a predefined data structure that assigns meaning to the stored data. Icon organizing and editing applications store icons as image data, in some cases with additional metadata.
When a user wishes to organize, categorize and extract content from a software system, such as those identified above or others, the process has heretofore been tedious and far from intuitive. Typically the software system requires the user to interact with a complex system of menus, dialog boxes or commands to achieve a desired content selection. Where the content includes a lot of non-text content, such as photographs, images, movies and the like, interaction becomes even more difficult because text searching techniques are not highly effective and may not even be available
Where the content data store is large, such as with a large collection of stored photographic images, the task of organizing, categorizing and extracting desired content can be quite daunting. There are some automated tools that can be used to categorize image content, based on image characteristic extraction, face/object recognition, and the like. However, these tools often retrieve too many hits, many of which the user must then manually reject.
The disclosed system associates relatedness between targeted content and other content with a physical parameter. In this way, the disclosed system provides a user-friendly, natural way for a user to organize, categorize and extract content from a data store, such as a data store of digitized images or other visual content.
The system maps content relatedness (degree of relationship) onto computer-generated physical object properties. In the computer-generated display space, the items of content are depicted as moveable objects to which the physical object properties are associated. Using a suitable touch gesture, or pointing device selection operation, the user can select and move a desired item of content. In so doing, other related items of content move as if attracted to the selected content by an invisible attractive force (e.g., invisible spring force, invisible gravitational force, or other kind of force). Thus by dragging a selected content item, the items of related content will follow, exhibiting kinematic motion as if they were physical objects acted upon by the invisible attractive force, where the degree of relatedness defines the strength of that force. Thus strongly related contents are attracted by a stronger force than less related content. Thus by simply watching the content movement the user can tell how closely the content items relate to the selected content.
Because relatedness is mapped onto the computer-generated force, more strongly related items move more quickly towards the selected content, thereby causing the related content to naturally cluster with the most closely related content lying closer to the selected content than the less closely related content.
Although rendered in computer-generated display space, the selected item of content, and those related to it, move as if mimicking the behavior physical objects. The user thus learns quite quickly and naturally how to organize, categorize and extract content, simply by touch and drag or (click and drag) movements.
A general concept is to use some kind of physical parameter to represent the relatedness between targeted content and other contents. Examples of such physical parameters include but are not limited to: (a) force acting between related content (or icons) and targeted content (or icons), such as tensile force and/or attractive force; (b) speed with which related content (or icons) come close to targeted content (or icons); (c) final relative position of related content (or icons) to final position of targeted content (or icons); and combinations thereof.
Further areas of applicability will become apparent from the description provided herein. The description and specific examples in this summary are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure.
a is a detailed user interface diagram, showing the grid component of the user interface of
b is a detailed user interface diagram, showing the grid component of the user interface of
a-10d illustrate the information appliance in use, performing a basic screen transition according to user operation;
a-11d illustrate the information appliance in use, creating a personal category for an individual user or the user's family;
a-12d illustrate the information appliance in use, creating a different category from the same content;
a-13d illustrate the information appliance in use, creating a compound cluster from plural previously created clusters;
a is a detailed user interface diagram, showing an alternate embodiment of how items of content are related prior to movement of a selected content by the user according to a tree structure;
b is a detailed user interface diagram, illustrating how items of content of
Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.
Example embodiments will now be described more fully with reference to the accompanying drawings.
As noted above, the computer-implemented apparatus and method for organization, categorization and extraction of computerized content, defines a relationship between relatedness between targeted content and other content using a predefined physical parameter. The present description will explain in detail how to implement different examples of such apparatus and methods, using different examples of predefined physical parameters. By way of non-limiting example, the predefined physical parameter can be a kinematic-related parameter, such as be a force, a speed, a relative position, or the like.
In this regard, an exemplary physical parameter can be the force acting between related content (or icons) and targeted content (or icons), such as tensile force and attractive force. Such force is generated by computer according to the following relationships:
{right arrow over (F)}=k
i({right arrow over (x)}i−{right arrow over (x)}T)
Alternatively, the physical parameter can be a speed parameter, representing, for example, the speed with which related content (or icons) are attracted to the target content (or target icon). Such speed is generated by computer according to the following relationships:
Alternatively, the physical parameter can be a position parameter, representing, for example, the final position of related content (or icon) relative to the targeted content (or icon). Such relative position is generated by computer according to the following relationships:
Final relative position of related content/icon i, {right arrow over (r)}i={right arrow over (x)}i,FINAL−{right arrow over (x)}T,FINAL, is set depending on relatedness between related content/icon i and targeted content/icon T. For example, related contents are assigned at the final time in decreasing order of relatedness, most closely-related first, as below:
Here, in terms of speed with which related content/icon comes close to the position of {right arrow over (x)}T+{right arrow over (r)}i, it becomes like the following;
If desired, the physical parameter can be comprised of combinations of parameters, such as combinations of a speed parameter (as described above) and a relative position parameter (as described above). In this regard, the following considerations would be applicable:
Related content/icon i comes close to the position of {right arrow over (x)}T+{right arrow over (r)}i ({right arrow over (r)}i is set depending on relatedness between related content/icon i and targeted content/icon T) and the force acting between the related content/icon i and the position of {right arrow over (x)}T+{right arrow over (r)}i becomes like the following;
{right arrow over (F)}=k
i({right arrow over (x)}i−({right arrow over (x)}T+{right arrow over (r)}i))
Alternatively, if desired, the physical parameter can be comprised of other combinations, such as combinations of speed and relative position. In this regard, the following considerations would be applicable:
Related content/icon i comes close to the position of {right arrow over (x)}T+{right arrow over (r)}i ({right arrow over (r)}i is set depending on relatedness between related content/icon i and targeted content/icon T) and the speede with which related content/icon comes close to the position of {right arrow over (x)}T+{right arrow over (r)}i becomes like the following;
It will of course be understood that other implementations, using other physical parameters may also be used. Thus the above examples of physical parameters are not intended as limiting examples.
To understand how the apparatus and methods for associating relatedness with physical parameter(s) described herein may be used, an information appliance will be featured. Again, it will be understood that this information appliance is merely an example of a device that may use the teachings herein.
Referring to
For purposes of illustrating some of the principles of the invention, the depicted information appliance is adapted to manage image content, such as photo library content. It will be understood, however, that the principles of the invention can be applied to other types of content, such as video content, textual content, hypertext content, database content and the like. Thus where photographic images and thumbnail images or icons are described below, the reader will understand that the displayed images could represent a different type of content, such as video content, textual content, hypertext content, database content and the like.
As illustrated in
Referring to
Once the user selects a category, the user interface then displays individual thumbnail or icon representations of individual pieces of content belonging to that category. These are displayed in a grid as at 44. The user can then select from that grid one or more individual pieces of content by suitable touch selection. By way of example, in
In some instances, the displayed content may, itself, comprise identifiable sub-components. For example, the displayed content may include several individually identifiable objects, such as buildings, geographic features, animals, human faces and the like. In
Thus, for example, by selecting one of the displayed persons' faces via touch gesture, the system uses the selected person to initiate a query to retrieve other related content (e.g., other images in which that person appears). The system will performs the query against all associated content, such as all content within the selected category group, to generate similarity scores associated with each element of the category group. Based on the results of the recognition algorithms, the images are each given their own similarity score. Images in which the selected person appears are given a high similarity score, whereas images lacking that person are given a low similarity score.
Of course, it will be understood that the specific similarity matching algorithms used will depend on the type of content being managed. In the case of image content such as photographic content and video content, face and object recognition algorithms as well as image characteristic extraction techniques would be used. In other applications, such as database applications, other database query techniques would be used.
The user interface further includes a family space region 50 into which the user can drag selected content that he or she desires to be associated into a subset or family of the category. As will be more fully explained below, one aspect of the present technology is to provide an easy to use and intuitive way of extracting related content for placement into the family.
Referring to
More specifically, when the user selects a target content, such as target content 46a in
The display of related information in this fashion can support multiple levels of relatedness. Thus in
As illustrated in
When the target content is moved via the dragging gesture, the associated content generally follows the same trajectory 70 as the target content. In one preferred embodiment, the associated content become spatially reorganized while following the trajectory 70, so that the associated content with a higher degree of relatedness becomes arranged closer to the target content 46b than the related content having a weaker relationship. This has been illustrated in
In one preferred embodiment, each related piece of content “follows” the target content as if it were attached by an invisible spring having a spring force that is proportional to the degree of the relationship. Thus, closely related content, such as content items 52b, 54b and 56b are pulled toward the target content 46b by an invisible spring force that is stronger than the spring force that pulls less related content, such as content items 58b, 60b, 62b and so forth. Thus, whereas the initial positions of the pieces of content are distributed according to the grid 44, as illustrated in
To enhance the visual effect, the attractive force (invisible spring force) may be buffered or tempered by introducing a velocity-sensitive component that resists the attractive spring force. This velocity-sensitive component may be modeled as if each interconnecting link between target and related component includes a velocity-sensitive “dashpot.” Employing both a spring force and a retarding velocity-sensitive force, the force acting upon each item of related content may be expressed as F=k dx/dt−c dv/dt.
The effect of the velocity-sensitive component is to make the movement of individual content items somewhat sluggish, so that the motion and response to the invisible spring force is not instantaneous. An alternate way of expressing the relationship would be to think of the items of content as moving through a viscous medium, so that changes in the position of the target content 46b are not instantaneously mimicked by a comparable instantaneous change in the position of all related content. Rather, the related content will continue to coast to their new positions for a short time after the target content has already stopped.
The visual effect produced by the velocity-sensitive component is to slow down the motion of the content following the target content, so that the user is able to see the strongly related content outpace the less related content as each moves to its final clustered position. Because the invisible spring forces attracting each piece of content to the target content depend on the individual relationship strength, the more strongly related items are attracted more quickly and thus tend to situate themselves most closely to the target content when the target content finally comes to rest.
In another embodiment, the related content items follow the target content in a more complex kinematic relationship whereby the overall number of related items attracted during motion of the target content can be controlled by how quickly the user moves the target content. In this embodiment, if the user moves the target content 46b slowly, then even weakly related content will follow the trajectory 70. On the other hand, if the user moves the target content 46b quickly, then only target content above a certain threshold will follow. The effect is as if the weaker interconnecting links (carrying the invisible spring force) can be broken if the speed of movement of the target content exceeds a certain threshold. As will be more fully explained, the threshold may be velocity dependent, so that the user can actually control how many items of related content are pulled away from the grid 44 by simply controlling how quickly he or she moves the target content.
In yet another embodiment, depicted in
Referring now to
For purposes of illustrating the principles of the invention, certain ones of the provided software modules are specifically adapted for handling visual image processing, such as face recognition and object recognition. Other components are more general in nature and are adapted for extracting features of any creative find description, which can include not only features extracted from visual content (photographs, motion pictures, and the like) but also other data types as may be applicable to more general purpose data mining applications.
As diagrammatically depicted at 100, the computer program and software modules used to implement the functionality described above may comprise a functional block 100 performs the content categorization and presentation through the graphically user interface of the information appliance. This functional block 100 comprises a category reorganization user interface 102 that in turn employs several software components. As illustrated, one of the basic functions of the category reorganization user interface is categorization of the content. Thus, one of the illustrated functions of the category reorganization interface is the function of general categorizing 104. Depending on the application involved, this general categorizing can involve certain additional sub-categorizing aspects. Illustrated here are four such aspects, namely face recognizing 106, object recognizing 108, feature extracting 110 and content tagging 112. These categorizing software modules work as follows.
When the content is a photograph, for example, the face recognizing module 106 identifies regions within the image that represent faces using a suitable face recognition algorithm that analyzes the image to detect features corresponding to a subject's face, such as eyes, nose, cheekbones, jaw, etc.
The object recognizing module 108, like the face recognizing module 106, performs feature identification. However, whereas the face recognizing module is specifically designed to recognize features found in the human face, the object recognizing module is more general and is thus able to recognize objects such as buildings, geographic features, furniture and the like. Both the face recognizing module and the object recognizing module may be implemented using a trained system that is capable of learning by extracting features from known faces and known objects. Both face recognizing module 106 and object recognizing module 108 thus rely upon the general feature extracting capabilities of the feature extracting module 110.
In some instances, the user may have applied tags to certain content and also to certain features found within that content. The content tagging module 112 administers this functionality. Thus, for example, if the person identifies a certain face as belonging to his or her daughter, the portions of the image corresponding to the daughter's face may be tagged with her name. Whereas, the feature extracting techniques operate upon elements that are inherent to the image itself, content tagging involves additional metadata that is added by the user or is added as a result of some query or grouping having been performed.
In use, when the user interacts with the information appliance through the touch display 22 (
The category reorganization user interface module 102 further includes software modules that handle the user interaction of selecting a target content within grid 44 (
Thus, the category reorganization user interface includes a selected content position determining module 114, which functions to interpret which target content has been selected by the user when the user touches one of the content items within grid 44 (
Once the content relationship analyzing module 116 has performed its function, the connecting wire visualizing module 118 generates connecting wires or lines between the target content and the related content. As discussed and illustrated in connection with
As discussed in connection with
The tensile force or spring force is used by the following motion processing module 122, which associates a motion trajectory with each of the pieces of related content. To give the visual display a user-friendly, natural presentation, the following motion processing module 122 causes each of the related content to follow a trajectory generally in the direction of the target content whereby the pulling force acting on each item of content is equal to the tensile force associated with that piece of content.
If desired, a velocity-sensitive motion-resisting counterforce or dashpot may be associated with each piece of related content to give the effect that the related content moves toward the target content through a viscous medium so that the related content items reach their final destination after the target content has ceased to move. The produced visual effect makes it appear that the related content are being pulled by elastic strings that stretch when the target content is moved and that continue to pull the associated content towards the target content, through a viscous medium, after the target content has come to rest.
Because closely related content is attracted more strongly (stronger tensile force) to the target content, such associated content will naturally cluster more closely to the target content than less strongly related content. The category reorganization user interface module 102 must therefore organize the relocated content items after motion is effected; otherwise, the related content may overlap and be difficult to visualize. To handle this, the related content position determining module 124 defines a boundary about each piece of content and applies a rule dictating that the related content will be positioned radially adjacent the target content based on relatedness score, with the further provision that the related content items shall be repositioned so that the individual content items do not overlap on another.
Finally, having assembled a cluster of related content, the category reorganization user interface, through its made category reorganizing module 126, associates recognition information with the newly formed cluster. This allows the cluster to be tagged and saved for recall at a later time and also to be used as a starting point for performing further content recognition. For example, the user might select a first category group, such as group 42 (
For a better understanding of the software modules, refer to
At step 154, the system calculates the tensile force (invisible spring force) sequentially for each item of content. In this presently preferred embodiment, the tensile force can be modeled as a spring force according to the formula F=kx, where k is proportional to the degree of relationship between that content and the target content. While a linear relationship is presently preferred, non-linear relationships may be used instead to achieve a different attractive force profile between the target content and the related content.
In accordance with the linear relationship F=kx, when the displacement (x) between the target content and the related content changes upon movement of the target content by the user, the tensile force becomes non-zero and may be calculated by the stated formula. As noted, in this preferred embodiment, each item of content is treated individually and each item may have its own tensile force value, depending on the particular degree of relatedness.
Having calculated the tensile force for the given related content, at step 156 a motion calculation is performed to determine how the related content will move as the target content is moved by the user. Using a physical object analogy, motion of the related content can be calculated using the equation F=ma, where m is a standardized mass (which can be the same value for all pieces of content) and a is the acceleration produced by the force F. Because the mass of all content may be treated as equal, it is seen that the applied force (the tensile force for that piece of content) is proportional to the acceleration produced.
Thus, the motion process determines an acceleration value for each piece of related content. This acceleration value is then used to calculate the motion that the related content will exhibit. Such motion is, of course, a vector quantity. That is, motion of the related content proceeds in a certain direction as dictated by the following motion model implemented by the module 122. In this presently preferred embodiment, the motion model is based on an analogy whereby each item of related content is attracted to the target content by an invisible spring force (the tensile force) between them. Thus, the vector direction of motion of the related content is towards the center of the target content. Accordingly, as the user moves the target content, each item of related content will be attracted to and thus follow the trajectory of the target content, corresponding to step 158.
If desired, in order to give the visual appearance a more realistic “real world” feel, the following motion calculation can include a velocity-sensitive, dashpot, term that tends to resist instantaneous changes in motion, thereby making the related content appear to move as if they were immersed in a viscous medium. While not required, this additional velocity-sensitive term makes movement of the related content lag behind movement of the target content. Thus, when the user stops moving the target content, the related content will continue to coast toward their final destinations, the final destinations being determined at the points where the tensile force returns to zero or until further movement of the related content is blocked because another piece of content already occupies the space.
In addition to computing the motion of each piece of related content, the process also generates the connecting wires or lines between each item of related content and the target content. This is performed at step 160. Specifically, this step defines a line segment between the centers of the respective thumbnail images. As discussed above, the boldness or color of these line segments can be adjusted based on the degree of relatedness.
After all of the related content have been selected and moved, the collected set of content are then remapped into a new category at step 164. If desired, this step may include prompting the user to provide a category label that is then associated with the items of content. The system permits more than one category tag or label to be associated with each item of content. Thus individual items of content can belong to more than one category, if desired.
In one embodiment, the system includes a mechanism to allow the user to control how many items of related content are “attracted” to the target content during the selection and moving process. As described in connection with
In yet another embodiment, the user is able to control how much content is captured by the speed at which the user moves the target content. The embodiment models an object being pulled across a frictional surface so that the frictional force acts to oppose movement in the pulling direction. The line or wire representing the tensile force is fragile and can stretch and break if the pulling force becomes too great. Weakly associated content is mapped using a more fragile connection, resulting in weakly associated content not being selected when its connection breaks. The
Referring to
Alternatively, the affinity space can map the affinity value to a tensile force parameter. Weakly related (e.g., unrelated) content objects are assigned a weak tensile force, whereas strongly related content objects are assigned a stronger tensile force. This tensile force is then mapped to the display space 202 so that the more strongly related the content, the more strongly it is attracted to the target content as it is pulled by the user.
As yet another alternative, the affinity space can map the affinity value to a fragility value corresponding to how strong the affinity relationship is. When the fragility value is mapped to display space, objects are connected to the target object through a link (shown as a connecting line in display space) having a strength based on the fragility value. Links with low fragility value break as the target object is pulled. In this way, unrelated or weakly related content severs its relationship with the target content and does not follow the target content as the target is pulled by the user. For example, the link represented by force F4 may represent a comparatively fragile link, depicted by a thin connecting line. This fragile link will break based on how the target content is moved.
It should be understood that the embodiments depicted in
To further explain the relationship in
In the embodiment illustrated in
Referring to
Computation of each individual force may be performed in this embodiment using essentially the same computational process as used to calculate the force for the embodiment of
If desired, a control mechanism 72 may be included with the embodiment of
Having now explained the basic principles of the technology, some examples of the technology in use will be presented with reference to
a-11d show a representative use case, similar to that of
a-12d illustrate a further use case, similar to that of
a-13d illustrate how it is possible to create more complex categories, based on previously created categories. Thus as illustrated in
The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure. Individual elements or features of a particular embodiment are generally not limited to that particular embodiment, but, where applicable, are interchangeable and can be used in a selected embodiment, even if not specifically shown or described. The same may also be varied in many ways. Such variations are not to be regarded as a departure from the disclosure, and all such modifications are intended to be included within the scope of the disclosure.
Example embodiments are provided so that this disclosure will be thorough, and will fully convey the scope to those who are skilled in the art. Numerous specific details are set forth such as examples of specific components, devices, and methods, to provide a thorough understanding of embodiments of the present disclosure. It will be apparent to those skilled in the art that specific details need not be employed, that example embodiments may be embodied in many different forms and that neither should be construed to limit the scope of the disclosure. In some example embodiments, well-known processes, well-known device structures, and well-known technologies are not described in detail.