Abstract:
Systems provided herein include a learning environment and an agent. The learning environment includes an avatar and an object. A state signal corresponding to a state of the learning environment includes a location and orientation of the avatar and the object. The agent is adapted to receive the state signal, to issue an action capable of generating at least one change in the state of the learning environment, to produce a set of observations relevant to a task, to hypothesize a set of action models configured to explain the observations, and to vet the set of action models to identify a learned model for the task.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    The automatic recognition of human behavior by an automated device may be desirable in fields that utilize behavior recognition. Accordingly, it is often desirable to train an automated device to identify behaviors involving person centric articulated motions, such as picking up a cup, kicking a ball, and so forth. As such, a variety of methods have been developed that attempt to teach an automated device to recognize such actions. For example, in some methods, the automated device may participate in a “learning by example” process during which, for example, a labeled dataset of videos may be utilized to train the device to perform classifications based on discriminative or generative methods. However, a variety of other statistical approaches have been developed to train automated devices to recognize actions. 
         [0002]    Unfortunately, these statistical approaches often fall short of achieving the desired recognition levels and are plagued by many weaknesses. For example, these methods may include drawbacks such as overlearning and ungraceful performance degradation when the automated device is confronted with novel circumstances. Further, these statistical methods may be unable to account for physical phenomena, such as gravity and inertia, or may poorly accommodate for such phenomena. Accordingly, there exists a need for improved systems and methods that address these drawbacks. 
         [0003]    BRIEF DESCRIPTION OF THE INVENTION 
         [0004]    In one embodiment, a system includes a learning environment and an agent. The learning environment includes an avatar and an object. A state signal corresponding to a state of the learning environment includes a location and orientation of the avatar and the object. The agent is adapted to receive the state signal, to issue an action capable of generating at least one change in the state of the learning environment, to produce a set of observations relevant to a task, to hypothesize a set of action models configured to explain the observations, and to vet the set of action models to identify a learned model for the task. 
         [0005]    In another embodiment, a discovery learning method includes producing a set of observations corresponding to approximations of a desired action and hypothesizing a set of models capable of explaining the set of observations. The discovery learning method also includes vetting the hypothesized set of models to identify a learned model by testing the ability of the hypothesized set of models to assist in performing the desired action. 
         [0006]    In another embodiment, a system includes a learning environment having an avatar and an object. A state signal corresponding to a state of the learning environment includes a location and orientation of the avatar and the object. Further, an agent is adapted to receive the state signal, to issue an action adapted to generate at least one change in the state of the learning environment, to produce a set of observations relevant to a task, to hypothesize a set of action models capable of explaining the observations, and to vet the set of action models to identify a learned model for the task. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]    These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein: 
           [0008]      FIG. 1  illustrates an embodiment of a “learning by discovery” method that may be employed by a controller to enable an agent to recognize an action; 
           [0009]      FIG. 2  illustrates an embodiment of a system having a reinforcement learning framework that supports the “learning by discovery” method of  FIG. 1 ; 
           [0010]      FIG. 3  illustrates an embodiment of a learning paradigm method that may be implemented by an agent; 
           [0011]      FIG. 4  illustrates an example of an image indicative of one example learning environment state that may be input to an agent in accordance with an embodiment; 
           [0012]      FIG. 5  is a diagram of an embodiment of an avatar illustrating examples of measurements that may be extracted from input imagery in accordance with an embodiment; 
           [0013]      FIG. 6  is a diagram illustrating a set of example measurement sequences that are indicative of the target task and may be generated by following reinforcement provided by an oracle in accordance with an embodiment; 
           [0014]      FIG. 7  is a graphical representation of potential connectivity between a root and a plurality of spring nodes in accordance with an embodiment; 
           [0015]      FIG. 8  illustrates an embodiment of a method that may be implemented to test one or more Internal Action Models (IAMs); and 
           [0016]      FIG. 9  illustrates an embodiment of an example ranked consistency matrix generated for a plurality of action sequences and a plurality of models. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0017]    As described in detail below, provided herein are methods and systems capable of directing an agent to learn to recognize an action by learning to execute the action. That is, presently disclosed embodiments are directed toward developing action recognition via a “learning by discovery” method. Accordingly, certain embodiments are directed toward an agent-based method for learning how to perform a variety of goal-oriented actions based on perceived imagery. As such, provided embodiments include development of internal representations or models of certain behaviors that the agent learns to first perform and subsequently recognize. To that end, in certain embodiments, methods are provided that enable the agent to gather observations regarding a desired action, to generate hypothetical models capable of explaining these observations, and to make predictions capable of being validated with new experiments. 
         [0018]    Turning now to the drawings,  FIG. 1  illustrates an embodiment of a “learning by discovery” method  10  that may be employed by a suitable controller. The method  10  includes identification of a need for an agent to recognize an action (block  12 ). For instance, it may be desirable for the agent to be able to recognize certain goal-oriented actions, such as a person picking up a cup or kicking a ball. Further, the method  10  includes directing the agent to learn to execute the action (block  14 ) and enabling the agent to recognize the action (block  16 ). That is, by first training the agent to perform an action, the agent may then learn to recognize the action. 
         [0019]    The method  10  of  FIG. 1  may be better understand by considering a system  18  of  FIG. 2  that illustrates an embodiment of a reinforcement learning framework that supports the “learn by discovery” method  10 . As shown, the system  18  includes an agent  20  that is connected to a learning environment  22  via perception and action. In the embodiment illustrated herein, the learning environment  22  is based on a simulated three dimensional world populated with various objects  34  of interest and an articulated three dimensional avatar  36 . The avatar  36  has a set of connected body parts including a head  38 , a torso  40 , two upper arms  42  and  44 , two lower arms  46  and  48 , two upper legs  50  and  52 , and two lower legs  54  and  56 . The learning environment  22  state (s)  26  consists of the location and orientation of all three dimensional objects, the avatar  36  body parts and their associated joint angles. The agent  20  may control the avatar  36  by issuing adjustment instructions for specific joint angles in terms of positive or negative increments. The learning environment  22  combines these agent actions with additive noise resulting in adjustments to the articulation of the avatar  36 . Further, an input (i)  24  is a set of synthetic images of the three dimensional world that are produced by a set of virtual cameras  58 . It should be noted that in order to control the avatar  36 , the agent  20  may need to employ a form of depth perception, and in one embodiment, this depth perception may be achieved by ensuring that the set of synthetic images is no less than two. 
         [0020]    As the agent  20  interacts with the learning environment  22 , it receives the input (i)  24  that is an indication of the current state  26  of the learning environment  22 . The agent  20  issues an action (a)  28 , which causes a change in the state  26 . The agent  20  then receives an updated input  24  as well as a scalar reinforcement signal (r)  30  that indicates the value associated with the recent state transition. The reinforcement signal  30  is generated by an oracle  32  that possesses a fundamental understanding of the task at hand and has direct access to the state  26 . During operation of the system  18 , the goal of the agent  20  is to construct a policy that enables the choice of actions that result in increased long-term reinforcement values  30 . If the agent  20  is able to reliably perform the desired task using this policy, then the agent  20  has learned the task via discovery. 
         [0021]    It should be noted that a variety of learning by discovery methods may be employed to teach the agent  20  to recognize a task by first teaching the agent  20  to learn the task. Indeed, many implementation-specific variations of the described methods and systems are within the scope of presently disclosed embodiments. In one embodiment, however, the learning process may include three distinct steps shown in method  60  of  FIG. 3 . In the illustrated method  60 , the agent  20  first produces a set of observations representing approximations of a desired action (block  62 ). For example, in one embodiment, the agent begins by implementing a policy that directly follows the reinforcement signal  30  to produce a set of initial observations representing crude approximations of the desired action. The method  60  proceeds with the agent  20  hypothesizing a set of simple Internal Action Models (IAMs) that are capable of explaining these observations (block  64 ). The IAMs are a set of potential policies that the agent  20  may use to attempt to perform the desired action (e.g., kicking a ball, picking up a cup, etc.). Still further, the method  60  includes vetting the candidate IAMs based on their ability to assist in performing the desired actions under a variety of operating conditions (block  66 ). 
         [0022]    As briefly discussed above, the learning environment  22  in certain embodiments is based on a simulated three dimensional world populated with various objects of interest  34  and the avatar  36 . The agent  20  may control the avatar  36  by issuing adjustment instructions for specific joint angles in terms of positive or negative increments. The environment  22  combines these agent-actions with additive noise resulting in adjustments to the articulation of the avatar  36 . 
         [0023]    In one embodiment, each object  34  and body part (e.g., head  38 , torso  40 , etc.) is represented by an ellipsoid which can be defined by: 
         [0000]      X T QX=0;   (1)
 
         [0000]    in which X are the homogeneous three dimensional coordinates of a point in space and Q is a 4×4 matrix. Given a projective camera matrix P, each ellipsoid can be projected on to the image plane forming an ellipse defined by: 
         [0000]      u T Cu=0;   (2)
 
         [0024]    where u is homogeneous point in the image plane and C is a 3×3 matrix. The input images to the agent  20 , which are indicative of the learning environment state  26 , are computed via this projection process using the virtual cameras  58 . 
         [0025]      FIG. 4  illustrates an example of an image  68  that may be input to the agent  20  and is indicative of one example learning environment state  26 . As shown in the image  68 , the avatar  36  is articulated to illustrate its current state in the environment  22 . As shown, the articulated avatar  36  is defined by the position of the standard tree-like limb structure composed of connected ellipsoids associated with the head  38 , the torso  40 , the upper arms  42  and  44 , the lower arms  46  and  48 , the upper legs  50  and  52 , and the lower legs  54  and  56 . In one embodiment, the three dimensional pose of the avatar  36  is defined by the three dimensional joint angles between connected body parts. During operation, the agent  20  controls the avatar  36  by issuing actions of the form (x, x i ), where x refers to a specific joint angle and x i  defines a positive or negative increment. Each body part inherits the coordinate system of its parent part. If, for example, the angle connecting the upper leg  50  or  52  to the torso  40  is changed, the entire leg will rotate accordingly. 
         [0026]    Further, during operation, the oracle  32  provides reinforcement to the agent  20  by considering a script that orchestrates changes in the body-part to body-part and body-part to object spatial relationships. For example, the grasping of a cup would receive reinforcement that is inversely proportional to the three dimensional distance between the end of one of the lower arms  46  or  48  and the object  34 , which represents a cup in this embodiment. In addition, the learning environment  22  will also provide negative feedback in the event that the avatar  36  attempts to perform an unnatural act, such as the hyperextension of a joint or entering into an unstable configuration with respect to gravity or physical occupancy. 
         [0027]    In the following discussion, the steps  62 ,  64 , and  66 , which were introduced above with respect to  FIG. 3 , will be described in more detail. That is, the three steps  62 ,  64 , and  66  that the agent  20  takes when learning an IAM will be described. Particularly, the agent  20  produces a set of initial observations representing crude approximations of the desired action (block  62 ), hypothesizes a set of IAMs (block  64 ), and vets the IAMs based on their ability to reliably assist in performing the desired action under a variety of operating conditions (block  66 ). 
         [0028]    In one embodiment, to start the learning process, the agent  20  needs to gather an initial set of observations of the desired task (block  62 ). However, given that no prior knowledge is available regarding the task at hand, in this embodiment, the agent  20  simply follows the guidance provided by the oracle  32 . More specifically, the learning environment  22  is first initialized into a random start position and then at each step of the interaction, the agent  20  sequentially probes the environment  22  with all possible actions and selects the action that receives the largest reinforcement signal  30  with the condition that it not receive any negative feedback. The agent  20  is therefore able to build a set of input image sequences with increasing reinforcement signals  30  that are indicative of the intended task. In this embodiment, given these initial observations, the agent  20  then hypothesizes an IAM that can be used to ultimately replace the reinforcement signal  30  provided by the oracle  32 . Once such an IAM based policy has been constructed, the agent  20  may execute the task in an autonomous fashion. 
         [0029]    In one embodiment, the model discovery process employed by the agent  20  may include the agent  20  developing an internal representation of the task at hand. To that end, a useful class of IAMs must be developed. In one embodiment, the sequence of springs model may be utilized to develop the IAMs. However, it should be noted that any form of modeling may be employed in other embodiments. In this embodiment, however, given an input image set  24 , a measurement vector is extracted. Let Vr=(Vr 1 , . . . , Vr N ) be a sequence of such measurement vectors. Given two consecutive measurement vectors, Vr k ,Vr k+1 , an IAM provides a response based on the response function: 
         [0000]        rf ( Vr   k   , Vr   k+1 ).   (3)
 
         [0030]    If this function is similar to the reinforcement  30  provided by the oracle  32 , then the agent  20  may choose its actions based on rf( ) in the previously described manner. 
         [0031]    In one embodiment, the form of the IAM is based on a sequence of T entities (SN 1 , SN 2 , . . . , SN T ) known as spring nodes (SNs). At any given time only one spring node in the model is active. When the active spring node is deactivated, the next spring node in the sequence is activated. Once the last spring node is deactivated, the IAM is no longer active. When the IAM is initialized, the first spring node is activated. 
         [0032]    In this embodiment, each spring node is focused on only a single element in the measurement vector as indicated by the index “in.” Its goal is to provide a response that drives this measurement down to a target value from above or up to a target value from below. Once this objective has been achieved, the spring node is deactivated. The j th  spring node maintains its own response function of the form: 
         [0000]        rf   i ( Vr   k   ,Vr   k+1 )=α*( Vr   in   k+1   −Vr   in   k );   (4)
 
         [0033]    where α is set to 1 if the spring node is attempting to increase the measurement Vr in   k  or −1 if it is trying to decrease that parameter. Thus, the IAM response function can be defined as: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       rf 
                        
                       
                         ( 
                         
                           
                             Vr 
                             k 
                           
                           , 
                           
                             Vr 
                             
                               k 
                               + 
                               1 
                             
                           
                         
                         ) 
                       
                     
                     = 
                     
                       
                         ∑ 
                         j 
                         T 
                       
                        
                       
                         r 
                          
                         
                             
                         
                          
                         
                           
                             f 
                             j 
                           
                            
                           
                             ( 
                             
                               
                                 V 
                                  
                                 
                                     
                                 
                                  
                                 
                                   r 
                                   k 
                                 
                               
                               , 
                               
                                 V 
                                  
                                 
                                     
                                 
                                  
                                 
                                   r 
                                   
                                     k 
                                     + 
                                     1 
                                   
                                 
                               
                             
                             ) 
                           
                         
                          
                         
                           δ 
                            
                           
                             ( 
                             j 
                             ) 
                           
                         
                       
                     
                   
                   ; 
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where δ(j) is 1 if the j th  spring node is active and zero otherwise. 
         [0034]    In the described embodiment, it is assumed that each body part and object has an associated interest point that can be located in every input image. The distance between any two interest points in this embodiment is the minimum of the euclidean distances as measured in any of the current set of input images. The measurement vector V r  is then defined as the set of all such pairwise distance measures. For example,  FIG. 5  is a diagram  70  illustrating examples of measurements that may be extracted from input imagery. As shown, distance measurements represented by arrows  72 ,  74 ,  76 , and  78  show the distances from the object  34  to the upper arm  44 , the lower arm  48 , the upper leg  52 , and the lower leg  56 , respectively. It should be noted that in some embodiments, a distance measurement may be established from the object  34  to each of the avatar body parts, not limited to the measurements shown. Further, arrows  80 ,  82 ,  84 ,  86 ,  88 ,  90 ,  92 ,  94 ,  96 ,  98 ,  100 ,  102 , and  104  each represent a distance measure between two body parts of the avatar  36 . However, here again, in certain implementations, a measurement may be established between each pair of body parts. 
         [0035]    It should be noted that since connectivity between body parts is enforced, each spring node may have a global effect on the avatar  36 . Note that when there are more than one virtual camera  58  views, this process may operate over three dimensional distance measures. However, in embodiments in which only a single view is available, only two dimensional distance measures may be considered. From the recognition perspective, a set of observations V r  may be characterized by either being consistent or inconsistent with the IAM. This measure of consistency can be defined as: 
         [0000]    
       
         
           
             
               
                 
                   
                     C 
                      
                     
                       ( 
                       
                         V 
                         r 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       k 
                       
                         N 
                         - 
                         1 
                       
                     
                      
                     
                       
                         
                           rf 
                           j 
                         
                          
                         
                           ( 
                           
                             
                               Vr 
                               k 
                             
                             , 
                             
                               Vr 
                               
                                 k 
                                 + 
                                 1 
                               
                             
                           
                           ) 
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
         [0000]    This consistency function, which is the sum of the IAM response functions, may be used to classify image sequences and to nominate potential IAMs in some embodiments, as described in more detail below. 
         [0036]    Turning now to IAM nomination, as mentioned above, a set of example measurement sequences that are indicative of the target task can be generated by following the reinforcement  30  of the oracle  32 . An example of such a measurement sequence is shown in  FIG. 6 . As shown, for a first measurement  106 , there are periods of increasing value  108  and  110  as well as periods of decreasing value  112  and  114 . Similarly, for a second measurement  116 , there is a period of increasing value  118  as well as periods of decreasing value  120  and  122 . Likewise, for a third measurement  124 , there is a period of increasing value  126  and a period of decreasing value  128 . Therefore, as shown in the illustrated embodiment, each specific measurement alternates between periods of increasing and decreasing value. Each such period can be used to specify the target value, an a value and an index, which can be used to specify a potential spring node. 
         [0037]    In some embodiments, any given spring node could transition onto any other spring node as long as there is temporal overlap between them and the second spring node outlives the first. Therefore, a directed graph of connected spring nodes can be constructed for a given measurement sequence. A graphical representation of potential connectivity from a root  130  and between spring nodes in shown in  FIG. 7 . Any path through this graph along the illustrated arrows that starts from the root  130  and ends at a terminal spring node (e.g., spring nodes d and g) constitutes a valid IAM that is capable of explaining the observed behavior of the example sequence. 
         [0038]    In embodiments in which the enumeration of all such paths is numerically unlikely or infeasible, the most likely IAMs may be identified by employing an algorithm known to those skilled in the art and with the heuristic that the integral of the observed measurement variations that can be directly attributed to the IAM is a good measure of the quality of the IAM. In this way, each example sequence may nominate a set of IAMs. While each nominated IAM may be consistent with its example sequence, it may not be consistent with the rest of the example sequences. Therefore, a merit score may be determined for each nominated IAM based on the sum of its consistency scores (e.g., the scores computed using equation 6) for the set of example sequences. In certain embodiments, this process may be utilized to determine top scoring IAMs that proceed to the vetting step (block  66  of  FIG. 3 ). 
         [0039]    Turning now to the IAM vetting, it should be noted that while a given IAM may be consistent with all of the example sequences based on its consistency measure computed via equation 6, it may still be a poor candidate for use in driving the avatar  36 . For example, while making pancakes, a person would likely keep their feet on the ground. However, keeping your feet on the ground is not a good instruction set for making pancakes. Therefore, an IAM may also need to be tested based on its ability to assist in performing the desired action in the learning environment  22 . An example of one method  132  that may be implemented to test the IAMs is shown in  FIG. 8 . 
         [0040]    Specifically, the testing process  132  includes initializing the learning environment  22  to a random starting state for each candidate IAM (block  134 ). Subsequently, the agent  20  attempts each possible action (block  136 ) and chooses the action that receives that largest response from the IAM (block  138 ). The reinforcement  30  provided by the oracle  32  is recorded for each performed action (block  140 ). The method  132  then proceeds by inquiring as to whether or not the last spring node is active (block  142 ). If the last spring node is still active, the process  132  is repeated until the last spring node in the IAM is no longer active, and the operation is ended (block  144 ). This process is repeated a desired number of times so as to expose the IAM to a wide variety of operating conditions. In some embodiments, the sum of the recorded reinforcement received from the oracle  32  is used as a measure of the success of the IAM. Finally, the most successful IAM is selected as the learned model for the given task (e.g., kicking a ball, holding a cup, etc.). 
         [0041]    It should be noted that in certain instances, it may be desirable to be able to identify the image coordinates of various objects of interest as well as the critical body parts of the entity performing the task. Further, in certain embodiments, a goal may be to not only perform tasks in the learning environment  22 , but to also analyze real-world imagery and, thus the image representation may need to be supported in both domains. To that end, in certain embodiments, it may be desirable to rely on the outputs that can be produced by generic object detectors such as object bounding boxes. 
         [0042]    It should be noted that in terms of body part specification, there are a number possibilities known to those skilled in the art that may be employed, including code-book based pose regression methods, the detection of body parts based on salient anchor points such as the head, the use of pictorial structures, methods based on the fitting of tree based triangulated graphs, and so forth. In one embodiment, the triangulated graphs approach may be utilized. In this embodiment, for each input image, the agent  20  will receive an oriented bounding box for each body part and each object of interest. For images produced by the learned environment  22 , these features may be produced by considering the C matrices in equation 2 used to construct the ellipses for each input image. For real-world imagery, the output of automatic algorithms may be utilized to obtain these bounding boxes. Here again, the measurement vector may be defined by concatenating the minimum distance between the x and y coordinates of the centers of every pair of bounding boxes across the current set of input images. 
         [0043]    The foregoing methods and systems may be employed to teach the agent  20  to recognize a variety of goal-oriented tasks, such as kicking, drinking, hammering and clapping. In an embodiment in which these are the four learned tasks, in addition to the avatar  36 , the learning environment  22  contains a ball, a cup and a nail that are randomly placed in the scene. In such an embodiment, the oracle  32  may provide reinforcement based on criteria associated with the given action. For example, the oracle&#39;s criteria may be minimizing the distance between the right foot and the ball for a kicking action; minimizing the distance between the right hand and the cup followed by minimizing the distance between the right hand and the head for a drinking action; minimizing the distance between the right hand and a point above the nail followed by minimizing the distance between the right hand and the nail for a hammering action; and minimizing the distance between the two hands followed by maximizing the distance between the two hands for a clapping action. 
         [0044]    For each task, sample sequences may be collected by directly following the reinforcement signal  30  provided by of the oracle  32 . As previously described, for each example sequence, a collection of IAMs are nominated by considering possible end-to-end paths contained in the associated spring node graphs. An appropriate algorithm may then be used to nominate initial IAMs. These nominated IAMs are then ranked based on their ability to recognize the remaining sequences by using equation 6. The top models may then be passed on to the last stage of analysis during which each remaining candidate model provides guidance to the agent  20  inside the learning environment  22 . The performance of each IAM is then judged based on the resulting reinforcement signals  30  that are produced by the oracle  32 . The IAM that is able to best mimic the oracle&#39;s performance is selected as the final action model. 
         [0045]    Subsequently, after action models have been generated for each of the desired tasks (e.g., kicking, drinking, hammering, and clapping), the ability to recognize new instances of these tasks may be tested by synthesizing a new sequence for each task. The recognition responses, which may be acquired via equation 6, for each sequence with respect to the four action models may then be ranked. A ranked consistency matrix, such as an example ranked matrix  146  shown in  FIG. 9 , may then be generated. As shown in  FIG. 9 , action sequences  148  including clapping  150 , drinking  152 , hammering  154 , and kicking  156  are provided. Learned action models  158  include a clapping model  160 , a drinking model  162 , a hammering model  164 , and a kicking model  166 . As shown in  FIG. 9 , the clapping action sequence  150  is most consistent with the clapping model  160 , the drinking action sequence  152  is most consistent with the drinking model  162 , the hammering action sequence  148  is most consistent with the hammering model  164 , and the kicking action sequence  156  is most consistent with the kicking model  166 . It should be noted that a similar consistency matrix may be developed for real world imagery as well as simulated imagery. Indeed, the foregoing methods and systems are equally applicable to real world and simulated instances. 
         [0046]    This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal languages of the claims.