FEATURE LEARNING SYSTEM, FEATURE LEARNING METHOD, AND NON-TRANSITORY COMPUTER READABLE MEDIUM
20230012026 · 2023-01-12
Assignee
Inventors
Cpc classification
G06V10/76
PHYSICS
G06V40/103
PHYSICS
G06F18/214
PHYSICS
G06V10/77
PHYSICS
International classification
G06V10/75
PHYSICS
Abstract
A feature learning system (100) includes a similarity definition unit (101), a learning data generation unit (102), and a learning unit (103). The similarity definition unit (101) defines a degree of similarity between two classes related to two feature vectors, respectively. The learning data generation unit (102) acquires the degree of similarity, based on a combination of classes to which a plurality of feature vectors acquired as processing targets belong, respectively, and generates learning data including the plurality of feature vectors and the degree of similarity. The learning unit (103) performs machine learning using the learning data.
Claims
1. A feature learning system comprising: at least one memory storing instructions; and at least one processor configured to execute the instructions to perform operations comprising: defining a degree of similarity between two classes related to two feature vectors, respectively; acquiring the degree of similarity, based on a combination of classes to which a plurality of feature vectors acquired as processing targets belong, respectively; generating learning data including the plurality of feature vectors and the degree of similarity; and performing machine learning using the learning data.
2. The feature learning system according to claim 1, wherein the operations comprise: defining a mathematical equation for determining a degree of similarity between the two classes, based on the two feature vectors; acquiring the mathematical equation for determining a degree of similarity related to a combination of classes to which the plurality of feature vectors acquired as the processing targets belong, respectively; and computing a degree of similarity by substituting the plurality of feature vectors into the mathematical equation.
3. The feature learning system according to claim 2, wherein the degree of similarity is computed based on a norm of a difference between the feature vectors or between vectors acquired by performing dimensionality reduction on the feature vectors, or an angle formed by the vectors.
4. The feature learning system according to claim 1, wherein the operation comprise using metric learning.
5. The feature learning system according to claim 1, wherein the degree of similarity is computed based on an angle formed by eigenvectors related to first principal components each acquired for each class to which the feature vector belongs by performing principal component analysis for the each class.
6. The feature learning system according to claim 1, wherein the degree of similarity is computed based on a false recognition rate at a time when identification of a class is performed by using the feature vector.
7. The feature learning system according to claim 1, wherein the feature vector is a feature of a human action, and a class to which the feature vector belongs is a type of action to which the feature of the human action belongs.
8. The feature learning system according to claim 7, wherein the feature of the human action includes sensor information of one or more of a visible light camera, an infrared camera, and a depth sensor.
9. The feature learning system according to claim 7, wherein the feature of the human action includes human skeletal information, and the human skeletal information at least includes positional information of one or more of a head, a neck, a left elbow, a right elbow, a left hand, a right hand, a hip, a left knee, a right knee, a left foot, and a right foot.
10. The feature learning system according to claim 9, wherein the degree of similarity is computed based on a distance between related parts in the human skeletal information or an angle formed by segments connecting parts in the human skeletal information.
11. A feature learning method comprising, by a computer: defining a degree of similarity between two classes related to two feature vectors, respectively; acquiring the degree of similarity, based on a combination of classes to which a plurality of feature vectors acquired as processing targets belong, respectively; generating learning data including the plurality of feature vectors and the degree of similarity; and performing machine learning using the learning data.
12. A non-transitory computer readable medium storing a program causing a computer to execute a feature learning method, the method comprising: defining a degree of similarity between two classes related to two feature vectors, respectively; acquiring the degree of similarity, based on a combination of classes to which a plurality of feature vectors acquired as processing targets belong, respectively; generating learning data including the plurality of feature vectors and the degree of similarity; and performing machine learning using the learning data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The aforementioned object, other objects, features and advantages will become more apparent by use of the following preferred example embodiments and accompanying drawings.
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
DESCRIPTION OF EMBODIMENTS
[0037] Example embodiments of the present invention are described below by using drawings. Note that, in every drawing, similar components are given similar signs, and description thereof is not repeated as appropriate. Further, each block in each block diagram represents a function-based configuration rather than a hardware-based configuration unless otherwise described. Further, a direction of an arrow in a diagram is for ease of understanding of a flow of information and does not limit a direction (unidirectional/bidirectional) of communication unless otherwise described. [0038] 1. First Example Embodiment [0039] 1.1 Outline
[0040] An example embodiment of the present invention is described below. For example, a feature learning system according to a first example embodiment extracts action features from sensor information and then determines a degree of similarity from a combination of action features undergoing learning. For example, a combination of action features and a degree of similarity are stored in a learning database (hereinafter denoted by a “learning DB”) in a state of being associated with each other. The feature learning system performs learning, based on the degree of similarity, during learning. Thus, action features with different degrees of difference in action can undergo learning in consideration of a degree of similarity therebetween, and therefore an effect of enabling more stable advancement of learning is provided. [0041] 1.2 System Configuration
[0042] Referring to
[0043] The feature learning system 100 illustrated in
[0044] The feature DB 111 stores a plurality of action features along with class information related to each action feature. An action feature is information indicating a feature of an action of a person and is, for example, expressed by a vector in a certain feature space. For example, an action feature is generated based on information acquired by a sensor such as a visible light camera, an infrared camera, or a depth sensor (hereinafter also referred to as “sensor information”). Examples of an action feature include sensor information acquired by sensing an area where a person taking an action exists, skeletal information of the person generated based on the sensor information, and information acquired by converting the aforementioned information by using a predetermined function. However, an action feature may include another type of information. Note that an existing technique may be used for generation and acquisition of an action feature. Class information is information representing what action an action feature is related to, that is, the type of an action. For example, class information is manually input through an unillustrated input apparatus. In addition, class information may be given to each action feature acquired as described above, by using a learning model undergoing learning in such as way as to classify action features into relevant classes.
[0045]
[0046] The similarity definition unit 101 defines a degree of similarity between two classes related to two action features, respectively, and stores the degree of similarity into the similarity DB 112. Note that, for example, a degree of similarity between action features is represented by a numerical value equal to or greater than 0 and equal to or less than 1. Further, in this case, a greater value (the numerical value becoming closer to 1) indicates a greater level of similarity between two action features constituting a group. Several methods may be considered as a method of defining a degree of similarity in the similarity definition unit 101. By rough classification, a method of defining a degree of similarity for each group of classes of actions and a method of individually defining a degree of similarity for each action feature may be cited. When a degree of similarity is individually defined for each action feature, the similarity definition unit 101 defines a mathematical equation for determining a degree of similarity.
[0047] Two examples of the method of defining a degree of similarity for each group of classes of actions are cited. It is assumed in the following two examples that the number of classes of action features stored in the feature DB 111 is n.
[0048] As a first example, a method of using principal component analysis may be considered. A specific example of the method is described with reference to an equation. In this case, for example, the similarity definition unit 101 may define a degree of similarity for each combination of classes as follows. Note that an operation described below is strictly an example, and the operation of the similarity definition unit 101 is not limited to the following example. First, the similarity definition unit 101 retrieves an action feature stored in the feature DB 111. Then, the similarity definition unit 101 classifies the action features retrieved from the feature DB 111 into related classes by using, for example, a learning model constructed by machine learning. Then, the similarity definition unit 101 performs principal component analysis on action features in each class and determines an eigenvector for an acquired first principal component. An eigenvector related to the first principal component in a class k (where 1≤k≤n) is denoted by v.sub.k. Then, a degree of similarity s.sub.ij between a class i and a class j is defined as follows by using respective eigenvectors v.sub.i and v.sub.j of the class i and the class j.
[0049] The above corresponds to a value acquired by normalizing a cosine of an angle formed by v.sub.i and v.sub.j in such a way as to satisfy a condition of a degree of similarity. The similarity definition unit 101 stores every s.sub.ij acquired when i and j are varied in a range [1, n] into the similarity DB 112.
[0050] As a second example, a method of temporarily performing learning and evaluation on an action feature by a conventional method and then setting a false recognition rate as a degree of similarity may be considered. In this case, for example, the similarity definition unit 101 may define a degree of similarity for each combination of classes as follows. Note that an operation described below is strictly an example, and the operation of the similarity definition unit 101 is not limited to the following example. First, the similarity definition unit 101 retrieves the same number of action features for each class from the feature DB 111. Then, the similarity definition unit 101 further classifies the retrieved action features in the class. For example, the similarity definition unit 101 sets part of the action features retrieved for each class (the same number for each class) as features for evaluation and the remainder as features for learning. Then, the similarity definition unit 101 performs learning by using the features for learning by the conventional method and then performs identification of the features for evaluation with an acquired discriminator (learning model). Then, the similarity definition unit 101 totalizes the identification result of the features for evaluation for each class. Then, based on the totalization result, the similarity definition unit 101 computes a ratio m.sub.st of cases of recognizing an action feature belonging to a class s as an action feature belonging to a class t. At this time, a degree of similarity s.sub.ij between a class i and a class j is defined as follows by using a ratio m.sub.ij of cases of recognizing an action feature belonging to the class i as an action feature belonging to the class j and a ratio m.sub.ji of cases of recognizing an action feature belonging to the class j as an action feature belonging to the class i.
[0051] For example, it is assumed that there are a class A and a class B, a ratio of mistaking an action feature belonging to the class A for an action feature belonging to class B is 0.2, and a ratio of mistaking an action feature belonging to the class B for an action feature belonging to the class A is 0.1. In this case, the similarity definition unit 101 can define the degree of similarity s.sub.ij between the class i and the class j to be “0.15” by using aforementioned equation (2). The similarity definition unit 101 stores every s.sub.ij when i and j are varied in a range [1, n] into the similarity DB 112.
[0052] As another example, a degree of similarity may be artificially defined. Examples of the case include defining a degree of similarity between a normal walking action and an action of falling down to be 0 and defining a degree of similarity between walking with a smartphone in use and downcast walking to be 0.25. In this case, for example, the similarity definition unit 101 may define a degree of similarity for each combination of classes as follows. Note that an operation described below is strictly an example, and the operation of the similarity definition unit 101 is not limited to the following example. First, the similarity definition unit 101 causes a screen for setting a degree of similarity for each combination of classes to be displayed on a display (unillustrated) used by an operator. The operator inputs a numerical value to be set for each combination of class on the screen displayed on the display. The similarity definition unit 101 may classify the whole or part of action features stored in the feature DB 111 into, for example, respective classes and display the classification result on the display. The operator may utilize the classification result of the action features for each class displayed on the display as support information when determining a degree of similarity of a combination of two different classes. For example, by referring to and comparing an action feature classified as a first class and an action feature classified as a second class, the operator can determine a numerical value to be set as a degree of similarity of a combination of the first and the second classes. When the similarity definition unit 101 does not have a function of displaying the aforementioned classification result on the display, for example, the operator may input a numerical value to be set, based on a sense of the operator. Then, the similarity definition unit 101 stores the numerical value input on the screen into the similarity DB 112 along with information indicating the combination of the classes.
[0053] On the other hand, examples of the method of defining a degree of similarity for each combination of action features include the following.
[0054] As a first example, a method of using principal component analysis may be considered. In this case, for example, the similarity definition unit 101 may define a degree of similarity for each combination of action features as follows. Note that an operation described below is strictly an example, and the operation of the similarity definition unit 101 is not limited to the following example. First, the similarity definition unit 101 retrieves every action feature from the feature DB 111 and performs principal component analysis. The similarity definition unit 101 may perform dimensionality reduction of an action feature, based on the result of the principal component analysis for each action feature. A conventional method may be used for the dimensionality reduction. Then, the similarity definition unit 101 sets a degree of similarity between feature vectors acquired from respective action features as a degree of similarity between the actions. Specifically, a degree of similarity s.sub.vw between a first action feature V and a second action feature W can be defined as equation (3) below by using the norm (use of the L2 norm may be considered but another norm may also be used) of the difference between a feature vector v of the first action feature V and a feature vector w of the second action feature W.
[0055] Further, the degree of similarity s.sub.vw between the first action feature V and the second action feature W can be defined as equation (4) below by using the cosine of an angle formed by the feature vector v of the first action feature V and the feature vector w of the second action feature W.
[0056] In this case, a conversion equation for dimensionality reduction and the aforementioned definition equation of a degree of similarity are stored in the similarity DB 112.
[0057] Further, setting similarity between action features themselves as a degree of similarity may also be considered. In this case, the similarity definition unit 101 defines an equation for determining a degree of similarity between two classes, based on two action features, without referring to the feature DB 111 and stores the equation into the similarity DB 112. A specific example of the method is described below referring to
[0058] The definition of each sign described in
[0059] A method of computing a degree of similarity s between action features or a distance d between action features is described below. The similarity definition unit 101 can convert the distance d between action features into the degree of similarity s in accordance with, for example, equation (5) below.
[0060] Note that when a maximum value D of the distance d can be estimated due to a physical constraint or the like, the similarity definition unit 101 may compute the degree of similarity s in accordance with equation (6) below.
[0061] Several specific examples of the method of computing the degree of similarity s or the distance d are described. As a first example, defining the distance d as equation (7) below may be considered. The similarity definition unit 101 may compute the total value of distances between related keypoints as the distance d between action features by using equation (7) below.
[0062] As a second example, the distance d may be defined as equation (8) below. The similarity definition unit 101 may compute the distance between the barycenter of keypoints of a first action feature and the barycenter of keypoints of a second action feature as the distance d between the action features by using equation (8) below.
[0063] As third and fourth examples, the distance d may be defined as equation (9) or equation (10) below. Equation (9) and equation (10) below are acquired by excluding information other than information in a height direction from aforementioned equation (7) and equation (8), respectively, based on the fact that a difference in action due to a pose tends to be more apparent in the height direction than in a lateral direction. In the following equation, a.sub.y0 to a.sub.y13 and b.sub.y0 to b.sub.y13 denote elements of the vectors a.sub.0 to a.sub.13 and the vectors b.sub.0 to b.sub.13 in the height direction, respectively.
[0064] As a fifth example, the degree of similarity s may be defined as equation (11) below by a procedure of determining an angle formed by vectors from an inner product.
[0065] As a sixth example, the degree of similarity s may be defined as equation (12) below, based on an angle formed by segments connecting keypoints.
[0066] As seventh, eighth, ninth, and tenth examples, the similarity definition unit 101 may define the distance d between two action features or the degree of similarity s between two action features, based on movement information of keypoints of each person. In this case, the similarity definition unit 101 may chronologically acquire action features of each of the person A and the person B and compute movement information of keypoints of each person, based on a plurality of action features (temporally consecutive action features) acquired for each person. For example, it is assumed that, in an acquisition opportunity subsequent to
[0067] Note that part of keypoints of a target object may not be detected in an actually captured image. For example, when a target person faces a camera sideways, a keypoint of one arm of the person may not appear in the image. Therefore, as an eleventh example, the degree of similarity s between two action features may be defined based on whether a keypoint is detected. For example, defining the degree of similarity s as equation (17) below by using a function h(k) taking a value 1 when both A.sub.k and B.sub.k are detected or undetected and takes a value 0 when only either one is detected may be considered.
[0068] In addition, the similarity definition unit 101 may determine a degree of similarity to be stored in the similarity DB 112 by computing a plurality of degrees of similarity by using at least two or more of aforementioned equation (7) to equation (17) and integrating the degrees of similarity by averaging or the like.
[0069] While examples of computation of a degree of similarity have been cited above, a degree of similarity may be computed by a method other than the methods exemplified here. For example, a method of defining a degree of similarity for each class of action may be combined with a method of individually defining a degree of similarity for each action feature, an example of which being defining a degree of similarity to be 1 when actions belong to the same class and defining a degree of similarity for each feature when the actions belong to different classes.
[0070] An example of information stored in the similarity DB 112 is described by using
[0071] The learning data generation unit 102 retrieves a plurality of action features from the feature DB 111 along with class information associated with each action feature. The learning data generation unit 102 may randomly retrieve a plurality of action features being processing targets from the feature DB 111 or may retrieve the action features from the feature DB 111 in accordance with a predetermined rule. Then, the learning data generation unit 102 optionally selects two action features out of the action features retrieved from the feature DB 111 and determines a combination of classes, based on class information associated with each of the two action features. Then, the learning data generation unit 102 retrieves a degree of similarity related to the determined combination of classes or a mathematical equation for determining a degree of similarity from the similarity DB 112. When a mathematical equation for determining a degree of similarity is retrieved from the similarity DB 112, the learning data generation unit 102 determines a degree of similarity by substituting the two selected action features into the mathematical equation. Finally, the learning data generation unit 102 stores the two selected action features and the degree of similarity acquired by using the information in the similarity DB 112 into the learning DB 113 as one set of learning data.
[0072] The learning unit 103 retrieves a required number of sets of a degree of similarity and action features from the learning DB 113 and performs machine learning. An existing technique may be used as a machine learning technique. Note that the learning unit 103 according to the present invention introduces a degree of similarity as a new variable and performs machine learning.
[0073] The configurations of the learning data generation unit 102 and the learning unit 103 are more specifically described below by citing several specific machine learning techniques. Note that, in the following examples, the learning data generation unit 102 generates learning data used for metric learning, and the learning unit 103 performs metric learning by using the learning data.
[0074] First, operation of the learning data generation unit 102 and the learning unit 103 when a Siamese network described in Non-Patent Document 1 is used is described.
[0075] A Siamese network sets two pieces of learning data as one group and advances learning in such a way as to decrease Loss indicated in equation (18) below.
[0076] It is assumed in aforementioned equation (18) that s takes a value 1 when a group of learning data includes the same class and takes a value 0 when the group includes different classes. Further, m denotes a constant called margin, and d represents the distance between the two pieces of learning data.
[0077] When the Siamese network is used, the learning data generation unit 102 first retrieves two action features from the feature DB 111. Then, the learning data generation unit 102 determines a degree of similarity between the two retrieved action features in the aforementioned manner, puts together the two action features and the degree of similarity acquired for the two action features into one set, and stores the set into the learning DB 113 (for example,
[0078] When the Siamese network is used, the learning unit 103 retrieves a required number of sets of two action features and a degree of similarity (learning data) from the learning DB 113 and performs machine learning. At this time, the learning unit 103 performs the learning with
[0079] Loss being aforementioned equation (18) in which the degree of similarity in the retrieved learning data is substituted for s.
[0080] Next, operation of the learning data generation unit 102 and the learning unit 103 when a triplet network described in Non-Patent Document 2 is used is described.
[0081] A triplet network sets three types of learning data being an anchor sample as a reference, a positive sample, and a negative sample as one group and advances learning in such a way as to decrease Loss indicated below. The positive sample belongs to the same class as the anchor sample. Further, the negative sample belongs to a class different from that of the anchor sample and the positive sample.
[Math. 19]
Loss=max(d.sub.p−d.sub.n+m,0) (19)
[0082] In aforementioned equation (19), d.sub.p represents the distance between the anchor sample and the positive sample. Further, d.sub.n represents the distance between the anchor sample and the negative sample. Further, m denotes a constant called margin.
[0083] When the triplet network is used, the learning data generation unit 102 retrieves an action feature (denoted by A) to be an anchor sample and two action features (denoted by X and Y) from the feature DB 111. Then, the learning data generation unit 102 determines a degree of similarity between the action features A and X and a degree of similarity between the action features A and Y in the aforementioned manner. It is desirable to select the action feature X and the action feature Y in such a way that the difference between the two determined degrees of similarity increases. For example, the learning data generation unit 102 may increase the difference between the two degrees of similarity by selecting one of the action feature X and the action feature Y from the same class as the action feature A and selecting the other from a class different from that of the action feature A. In addition, the learning data generation unit 102 may compute a degree of similarity with the action feature A for each of the action feature X and the action feature Y randomly extracted from the feature DB 111 and select two action features to be used with the action feature A in the processing, based on the difference between the computed degree of similarity between A and X and the computed degree of similarity between A and Y. For example, the learning data generation unit 102 may be configured to select the action feature X and the action feature Y as action features to be used in generation of learning data when the difference between the computed degree of similarity between A and X and the computed degree of similarity between A and Y is equal to or greater than a predetermined threshold value (such as 0.5) and not to select the action feature X and the action feature Y when the difference is less than the predetermined threshold value. As yet another example, the learning data generation unit 102 may be configured to, for example, provide a user with a screen including a computation result of the degree of similarity between A and X and the degree of similarity between A and Y and determine whether to select the action features X and Y as two action features to be used with the action feature A in the processing, based on a user selection operation on the screen. Then, the learning data generation unit 102 puts together the three action features (A, X, and Y) and the two degrees of similarity (the degree of similarity between A and X and the degree of similarity between A and Y) into one set and stores the set into the learning DB 113 (for example,
[0084] When the triplet network is used, the learning unit 103 retrieves a required number of sets of three action features and two degrees of similarity (learning data) from the learning DB 113 and performs machine learning. At this time, the learning unit 103 defines Loss as follows.
[Math. 20]
Loss=max((2s.sub.x−1)d.sub.x+(2s.sub.y−1)d.sub.y+m,0) (20)
[0085] Note that s.sub.x and s.sub.y represent a degree of similarity between the action features A and X and a degree of similarity between the action features A and Y, respectively. Further, d.sub.x and d.sub.y represent the distance between the action features A and X and the distance between the action features A and Y, respectively. It should be noted that assuming X to be a positive sample, Y to be a negative sample, s.sub.x to be 1, and s.sub.y to be 0 in aforementioned equation (20), Loss matches that in a conventional triplet network.
[0086] While detailed configurations of the learning data generation unit 102 and the learning unit 103 have been described above for each machine learning technique, the units may be independently configured by using a technique of machine learning other than the above. [0087] 1.3 Hardware Configuration Example
[0088]
[0089] The bus 1010 is a data transmission channel for the processor 1020, the memory 1030, the storage device 1040, the input-output interface 1050, and the network interface 1060 to transmit and receive data to and from one other. Note that the method of interconnecting the processor 1020 and other components is not limited to a bus connection.
[0090] The processor 1020 is a processor provided by a central processing unit (CPU), a graphics processing unit (GPU), or the like.
[0091] The memory 1030 is a main storage provided by a random access memory (RAM) or the like.
[0092] The storage device 1040 is an auxiliary storage provided by a hard disk drive (HDD), a solid state drive (SSD), a memory card, a read only memory (ROM), or the like. The storage device 1040 stores program modules providing the functions of the information processing apparatus 1000 (the similarity definition unit 101, the learning data generation unit 102, the learning unit 103, and the like). By reading each program module into the memory 1030 and executing the program module by the processor 1020, each function related to the program module is provided.
[0093] The input-output interface 1050 is an interface for connecting the information processing apparatus 1000 to various input-output devices. For example, the input-output interface 1050 may be connected to input apparatuses such as a mouse, a keyboard, and a touch panel, and output apparatuses such as a display.
[0094] The network interface 1060 is an interface for connecting the information processing apparatus 1000 to a network. For example, the network is a local area network (LAN) or a wide area network (WAN). The method of connecting the network interface 1060 to the network may be a wireless connection or a wired connection.
[0095] Note that the hardware configuration of the information processing apparatus 1000 is not limited to the configuration illustrated in
[0097] A flow of processing in the feature learning system according to the first example embodiment is described below referring to
[0098] First, the similarity definition unit 101 defines a degree of similarity for a combination of classes of action features and stores the defined degree of similarity into the similarity DB 112 (Step S101: hereinafter simply denoted by S101).
[0099] The learning data generation unit 102 optionally selects and retrieves a plurality of action features from the feature DB 111 (S102). Then, based on a combination of classes related to the two retrieved action features, the learning data generation unit 102 refers to the similarity DB 112 and acquires a degree of similarity related to the combination (S103). For example, when the Siamese network is used, the learning data generation unit 102 retrieves two action features from the feature DB 111. Then, the learning data generation unit 102 acquires a degree of similarity related to a combination of a first class to which one of the two retrieved action features belongs and a second class to which the other belongs, based on information stored in the similarity DB 112. For example, it is assumed that a class of one of the two retrieved action features is “0” and a class of the other is “1.” When the information as illustrated in
[0100] The learning data generation unit 102 checks whether a sufficient number of sets of action features and a degree of similarity (learning data) are stored in the learning DB (S105). For example, the learning data generation unit 102 determines whether a predetermined number of pieces or a prespecified number of pieces of learning data are stored in the learning DB 113. When a sufficient number of pieces of learning data are not stored in the learning DB 113 (NO in S105), the learning data generation unit 102 repeats the processing in S102 to S104. On the other hand, when a sufficient number of pieces of learning data are stored in the learning DB 113 (YES in S105), the learning data generation unit 102 ends the processing of generating learning data. In this case, the processing advances to Step S106.
[0101] The learning unit 103 retrieves a required number of sets of a degree of similarity and action features (learning data) from the learning DB 113 and performs machine learning considering a degree of similarity (S106). For example, when the Siamese network or the triplet network is used, the learning unit 103 advances learning in such a way as to decrease a value of Loss defined by equation (18) or equation (20) including a degree of similarity as a variable. [0102] 1.5 Effect of Present Example Embodiment
[0103] As described above, the feature learning system 100 according to the present example embodiment enables learning in consideration of a degree of similarity between actions while not changing the method of identification of an action of a person from a conventional method. Thus, an adverse effect caused by performing learning on “actions similar in appearance but different” can be suppressed, and learning can be stably performed. Specifically, construction of a stable feature space not requiring excessive emphasis on the difference between actions or the like can be achieved, and an effect of improving identification performance with the same identification method as a conventional method can be expected. Further, during learning, while there may be a case of requiring preprocessing such as principal component analysis or advance learning and identification when a degree of similarity is defined, once a degree of similarity is defined, the value can be continuously used in subsequent learning, and a method without preprocessing, such as artificial definition of a degree of similarity, may be employed. Therefore, efforts to prepare learning data used for machine learning can be minimized relative to a conventional technology. [0104] 2. Second Example Embodiment [0105] 2.1 System Configuration
[0106] A feature learning system according to the present example embodiment has sustained efficacy similar to that of the first example embodiment except for a point described below.
[0107] As illustrated in
[0109] A specific example of a screen output by the display processing unit 104 is described below by using diagrams.
[0110]
[0111] Note that a screen output by the display processing unit 104 is not limited to the example in
[0112] Further, the display processing unit 104 may be configured to vary a display mode of each keypoint, based on similarity between keypoints related to two action features. For example, by varying the shape or the color of keypoints with a low (or high) level of similarity, the display processing unit 104 may display the keypoints with greater emphasis placed thereon than other keypoints.
[0113] Further, the display processing unit 104 may be configured to output a screen further including a display element allowing an operator to select whether to store learning data generated by the learning data generation unit 102 into a learning DB 113.
[0114] Further, the display processing unit 104 may be configured to output a screen further including information indicating a distribution of learning data already stored in the learning DB 113 (such as a distribution based on a degree of similarity included in learning data).
[0115] Another example of a screen output by the display processing unit 104 is illustrated in
[0117] Note that the configurations according to the aforementioned example embodiments may be combined or may be partially substituted. Further, the configurations of the present invention are not limited to the aforementioned example embodiments, and various changes and modifications may be made without departing from the spirit and scope of the present invention.
[0118] Further, while identification of a human action is described herein, the present invention is also applicable to identification of any feature expressible by a vector.
[0119] The whole or part of the example embodiments described above may be described as, but not limited to, the following supplementary notes. [0120] 1. A feature learning system including:
[0121] a similarity definition unit that defines a degree of similarity between two classes related to two feature vectors, respectively;
[0122] a learning data generation unit that acquires the degree of similarity, based on a combination of classes to which a plurality of feature vectors acquired as processing targets belong, respectively, and generates learning data including the plurality of feature vectors and the degree of similarity; and
[0123] a learning unit that performs machine learning using the learning data. [0124] 2. The feature learning system according to 1., in which
[0125] the similarity definition unit defines a mathematical equation for determining a degree of similarity between the two classes, based on the two feature vectors, and
[0126] the learning data generation unit acquires the mathematical equation for determining a degree of similarity related to a combination of classes to which the plurality of feature vectors acquired as the processing targets belong, respectively, and computes a degree of similarity by substituting the plurality of feature vectors into the mathematical equation. [0127] 3. The feature learning system according to 2., in which
[0128] the degree of similarity is computed based on a norm of a difference between the feature vectors or between vectors acquired by performing dimensionality reduction on the feature vectors, or an angle formed by the vectors. [0129] 4. The feature learning system according to any one of 1. to 3., in which
[0130] the learning unit uses metric learning. [0131] 5. The feature learning system according to any one of 1. to 4., in which
[0132] the degree of similarity is computed based on an angle formed by eigenvectors related to first principal components each acquired for each class to which the feature vector belongs by performing principal component analysis for the each class. [0133] 6. The feature learning system according to any one of 1. to 4., in which
[0134] the degree of similarity is computed based on a false recognition rate at a time when identification of a class is performed by using the feature vector. [0135] 7. The feature learning system according to any one of 1. to 6., in which
[0136] the feature vector is a feature of a human action, and
[0137] a class to which the feature vector belongs is a type of action to which the feature of the human action belongs. [0138] 8. The feature learning system according to 7., in which
[0139] the feature of the human action includes sensor information of one or more of a visible light camera, an infrared camera, and a depth sensor. [0140] 9. The feature learning system according to 7., in which
[0141] the feature of the human action includes human skeletal information, and
[0142] the human skeletal information at least includes positional information of one or more of a head, a neck, a left elbow, a right elbow, a left hand, a right hand, a hip, a left knee, a right knee, a left foot, and a right foot. [0143] 10. The feature learning system according to 9., in which
[0144] the degree of similarity is computed based on a distance between related parts in the human skeletal information or an angle formed by segments connecting parts in the human skeletal information. [0145] 11. A feature learning method including, by a computer:
[0146] defining a degree of similarity between two classes related to two feature vectors, respectively;
[0147] acquiring the degree of similarity, based on a combination of classes to which a plurality of feature vectors acquired as processing targets belong, respectively;
[0148] generating learning data including the plurality of feature vectors and the degree of similarity; and
[0149] performing machine learning using the learning data. [0150] 12. The feature learning method according to 11., further including, by the computer:
[0151] defining a mathematical equation for determining a degree of similarity between the two classes, based on the two feature vectors, and
[0152] acquiring the mathematical equation for determining a degree of similarity related to a combination of classes to which the plurality of feature vectors acquired as the processing targets belong, respectively, and computing a degree of similarity by substituting the plurality of feature vectors into the mathematical equation. [0153] 13. The feature learning method according to 12., in which
[0154] the degree of similarity is computed based on a norm of a difference between the feature vectors or between vectors acquired by performing dimensionality reduction on the feature vectors, or an angle formed by the vectors. [0155] 14. The feature learning method according to any one of 11. to 13., further including, by the computer,
[0156] using metric learning as the machine learning. [0157] 15. The feature learning method according to any one of 11. to 14., in which
[0158] the degree of similarity is computed based on an angle formed by eigenvectors related to first principal components each acquired for each class to which the feature vector belongs by performing principal component analysis for the each class. [0159] 16. The feature learning method according to any one of 11. to 14., in which [0160] the degree of similarity is computed based on a false recognition rate at a time when identification of a class is performed by using the feature vector. [0161] 17. The feature learning method according to any one of 11. to 16., in which
[0162] the feature vector is a feature of a human action, and
[0163] a class to which the feature vector belongs is a type of action to which the feature of the human action belongs. [0164] 18. The feature learning method according to 17., in which
[0165] the feature of the human action includes sensor information of one or more of a visible light camera, an infrared camera, and a depth sensor. [0166] 19. The feature learning method according to 17., in which
[0167] the feature of the human action includes human skeletal information, and
[0168] the human skeletal information at least includes positional information of one or more of a head, a neck, a left elbow, a right elbow, a left hand, a right hand, a hip, a left knee, a right knee, a left foot, and a right foot. [0169] 20. The feature learning method according to 19., in which
[0170] the degree of similarity is computed based on a distance between related parts in the human skeletal information or an angle formed by segments connecting parts in the human skeletal information. [0171] 21. A program causing a computer to execute the feature learning method according to any one of 11. to 20.