WO2023152832A1 - 識別装置、識別方法、及び非一時的なコンピュータ可読媒体 - Google Patents

識別装置、識別方法、及び非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2023152832A1
WO2023152832A1 PCT/JP2022/005138 JP2022005138W WO2023152832A1 WO 2023152832 A1 WO2023152832 A1 WO 2023152832A1 JP 2022005138 W JP2022005138 W JP 2022005138W WO 2023152832 A1 WO2023152832 A1 WO 2023152832A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
feature amount
attention
intermediate feature
feature
Prior art date
Application number
PCT/JP2022/005138
Other languages
English (en)
French (fr)
Inventor
賢太 石原
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2022/005138 priority Critical patent/WO2023152832A1/ja
Publication of WO2023152832A1 publication Critical patent/WO2023152832A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion

Definitions

  • This disclosure relates to class identification.
  • Non-Patent Document 1 For video data in which human motions are recorded, an image feature amount obtained from each video frame and a human skeleton feature amount detected from each video frame are used to perform human actions. Disclosed is a technique for identifying the type of motion that has been performed. Non-Patent Document 1 discloses roughly two types of techniques. A first method is a method of identifying a motion by inputting data in which an image feature amount and a skeleton feature amount are connected to an identification model. A second method is a method of identifying an action by inputting an image feature amount and a skeleton feature amount into a discrimination model and integrating outputs from the two discrimination models.
  • Non-Patent Document 1 generation of two feature values to be input to a discriminative model is performed independently.
  • the present disclosure has been made in view of this problem, and one of its purposes is to provide a new technique for class identification.
  • the identification device of the present disclosure includes acquisition means for acquiring first data that is a first type feature amount and second data that is a second type feature amount for an identification target; After calculating the quantity, a first feature extracting means for further calculating a first feature quantity using the first intermediate feature quantity; and after calculating a second intermediate feature quantity from the second data, the second intermediate feature quantity second feature extracting means for further calculating a second feature quantity using the quantity; and identification means for classifying the identification target using the first feature quantity, the second feature quantity, or both. and attention data generation means for calculating first attention data using the second intermediate feature amount and calculating second attention data using the first intermediate feature amount.
  • the first feature extracting means calculates the first feature using the first intermediate feature and the first attention data.
  • the second feature extraction means calculates the second feature using the second intermediate feature and the second attention data.
  • the identification method of the present disclosure is computer-implemented.
  • the method includes an acquisition step of acquiring first data that is a first type of feature amount and second data that is a second type of feature amount for an identification target, and calculating a first intermediate feature amount from the first data.
  • a first feature extraction step of calculating a first feature amount using the first intermediate feature amount, and calculating a second intermediate feature amount from the second data, using the second intermediate feature amount a second feature extraction step of further calculating a second feature amount; an identification means for classifying the identification target using the first feature amount, the second feature amount, or both; and an attention data generation step of calculating first attention data using two intermediate feature amounts and calculating second attention data using the first intermediate feature amount.
  • the first feature amount is calculated using the first intermediate feature amount and the first attention data.
  • the second feature amount is calculated using the second intermediate feature amount and the second attention data.
  • the non-transitory computer-readable medium of the present disclosure stores a program that causes a computer to execute the identification method of the present disclosure.
  • FIG. 4 is a flow chart illustrating the flow of processing performed by the identification device;
  • FIG. 4 illustrates a feature extraction model and an attention model;
  • 1 is a first diagram illustrating the configuration of an attention generation model;
  • FIG. 11 is a second diagram illustrating the configuration of the attention generation model;
  • FIG. 10 is a diagram illustrating a case where intermediate feature amounts and attention data are generated multiple times;
  • predetermined values such as predetermined values and threshold values are stored in advance in a storage device or the like that can be accessed from a device that uses the values.
  • the storage unit is composed of one or more arbitrary number of storage devices.
  • FIG. 1 is a diagram illustrating an overview of the operation of the identification device 2000 of the embodiment.
  • FIG. 1 is a diagram for facilitating understanding of the overview of the identification device 2000, and the operation of the identification device 2000 is not limited to that shown in FIG.
  • the identification device 2000 performs a process of identifying a class related to an identification target.
  • the identification target is any object.
  • the object may be a person or other animal, a non-animal organism (such as a plant), or an inanimate object.
  • the identification target is not limited to one object, and may be a plurality of objects.
  • the object to be identified is not limited to an object.
  • the identification target may be a scene composed of an object and its background.
  • the class related to the identification target may represent the type of the identification target itself, or may represent other types related to the identification target. In the latter case, for example, the class represents the type of action or state to be identified.
  • the identification device 2000 performs class identification for the identification target using a plurality of different types of data obtained for the identification target.
  • the data acquired by the identification device 2000 includes at least the first input data 20 that is the first type of data and the second input data 30 that is the second type of data.
  • the identification device 2000 acquires two types of data (that is, the first input data 20 and the second input data 30) will be explained.
  • a case where the identification device 2000 uses three or more types of data will be described later.
  • Both the first input data 20 and the second input data 30 are feature quantities extracted from the observation data 10 obtained as a result of observation performed on the identification target.
  • the first input data 20 and the second input data 30 are feature quantities of different types. Note that, in the present disclosure, the expressions “extraction of feature amount” and “calculation of feature amount” are used with the same meaning.
  • the first input data 20 and the second input data 30 may be feature amounts extracted from the same observation data 10, or may be feature amounts extracted from different observation data 10.
  • the image feature amount and skeleton feature amount extracted from the image data are used as the first input data 20 and the second input data 30, respectively.
  • the image feature amount extracted from the image data is used as the first input data 20
  • the audio feature amount extracted from the audio data is used as the second input data 30.
  • the observation data 10 from which the first input data 20 is extracted is used as the observation data 10 from which the second input data 30 is extracted.
  • the observations for obtaining these two pieces of observation data 10 are preferably performed at approximately the same point in time.
  • the types of observation data include, for example, image data obtained by imaging the identification target (e.g. RGB images and grayscale images), audio data obtained by recording the surrounding sounds of the identification target, Distance data obtained by measuring a distance (for example, depth image), biometric data obtained by recording biometric information emitted from an identification target (for example, heartbeat data and electroencephalogram data), and the like.
  • the observation data may be single data that does not constitute time-series data, or may be frame data that constitutes time-series data.
  • Single data that does not constitute time-series data includes, for example, still image data generated by a still camera.
  • Examples of frame data forming time-series data include video frames forming video data generated by a video camera.
  • Various features can be handled as feature values obtained from observation data.
  • data obtained by subjecting observation data to dimensional compression by convolution processing or the like can be treated as the feature amount of the observation data.
  • data obtained by performing specific analysis processing on observation data can be treated as the feature amount of the observation data.
  • the observation data is image data
  • a skeleton feature quantity representing the position of the skeleton and optical flow data representing the optical flow of each pixel can be used as the feature quantity.
  • the position of the skeleton indicated by the skeleton feature amount may be a two-dimensional position on the image or a three-dimensional position on a specific three-dimensional space.
  • the skeletal feature amount is not limited to data indicating the positions of joint points of an animal, and may be data indicating the positions of one or more joints included in a machine such as a robot as positions of joint points.
  • the granularity of the skeleton represented by the skeleton feature amount is set according to the size of the person or the like included in the image data, the granularity of the action to be recognized, and the like.
  • the skeletal feature amount preferably indicates joint points of each of a plurality of finger joints.
  • the skeletal feature amount may indicate the joint points of the wrist as the joint points of the hand, and may not indicate the joint points of the finger joints. .
  • the identification device 2000 calculates a first feature amount 40 and a second feature amount 50 from the first input data 20 and the second input data 30, respectively. Then, the identification device 2000 uses the first feature amount 40, the second feature amount 50, or both to identify the class (identify the class) of the identification target.
  • the identification device 2000 performs multi-stage feature extraction on each of the first input data 20 and the second input data 30 .
  • FIG. 1 as a simple example, two stages of feature extraction are performed for each of the first input data 20 and the second input data 30 .
  • the first feature amount 40 is extracted from the first intermediate feature amount 60 after the first intermediate feature amount 60 is extracted from the first input data 20 .
  • the second feature amount 50 is extracted from the second intermediate feature amount 70 after the second intermediate feature amount 70 is extracted from the second input data 30 .
  • the identification device 2000 uses the first intermediate feature amount 60 and the first attention data 80 to calculate the first feature amount 40 .
  • the first intermediate feature quantity 60 may be further used to generate the first attention data 80 .
  • the identification device 2000 uses the second intermediate feature amount 70 and the second attention data 90 to generate the second feature amount 50 .
  • the second intermediate feature amount 70 may be further used for generating the second attention data 90 .
  • one Attention data may be used as both the first attention data 80 and the second attention data 90 .
  • the identification device 2000 of the present embodiment feature extraction is further performed on the two types of feature amounts of the first input data 20 and the second input data 30, and the first feature amount 40 and the second feature amount obtained as a result are extracted. Quantities 50, or both, are used to perform class discrimination for the objects to be identified.
  • the first feature amount 40 is calculated from data obtained by applying the first attention data 80 to the first intermediate feature amount 60 extracted from the first input data 20 .
  • the first attention data 80 is generated based on the second intermediate feature quantity 70 extracted from the second input data 30 .
  • the first feature amount 40 is obtained from the data obtained by assigning the weight represented by the intermediate feature amount extracted from the second input data 30 to the intermediate feature amount extracted from the first input data 20.
  • the second feature quantity 50 is also calculated from data obtained by assigning a weight represented by the intermediate feature quantity extracted from the first input data 20 to the intermediate feature quantity extracted from the second input data 30.
  • the identification device 2000 of this embodiment will be described in more detail below.
  • FIG. 2 is a block diagram illustrating the functional configuration of the identification device 2000 of the embodiment.
  • the identification device 2000 has an acquisition section 2020 , a first feature extraction section 2040 , a second feature extraction section 2060 , an attention generation section 2080 and an identification section 2100 .
  • Acquisition unit 2020 acquires first input data 20 and second input data 30 .
  • the first feature extraction unit 2040 calculates the first intermediate feature quantity 60 from the first input data 20 .
  • a second feature extraction unit 2060 calculates a second intermediate feature quantity 70 from the second input data 30 .
  • the attention generation unit 2080 calculates second attention data 90 using the first intermediate feature amount 60 . Also, the attention generation unit 2080 calculates the first attention data 80 using the second intermediate feature amount 70 .
  • the first feature extraction unit 2040 calculates the first feature amount 40 using the first intermediate feature amount 60 and the first attention data 80 .
  • the second feature extraction unit 2060 calculates the second feature amount 50 using the second intermediate feature amount 70 and the second attention data 90 .
  • the identification unit 2100 uses the first feature amount 40, the second feature amount 50, or both to identify the class related to the identification target.
  • Each functional component of the identification device 2000 may be implemented by hardware (eg, hardwired electronic circuit) that implements each functional component, or may be implemented by a combination of hardware and software (eg, electronic A combination of a circuit and a program that controls it, etc.).
  • hardware eg, hardwired electronic circuit
  • software eg, electronic A combination of a circuit and a program that controls it, etc.
  • a case where each functional component of the identification device 2000 is implemented by a combination of hardware and software will be further described below.
  • FIG. 3 is a block diagram illustrating the hardware configuration of the computer 1000 that implements the identification device 2000.
  • Computer 1000 is any computer.
  • the computer 1000 is a stationary computer such as a PC (Personal Computer) or a server machine.
  • the computer 1000 is a portable computer such as a smart phone or a tablet terminal.
  • Computer 1000 may be a dedicated computer designed to implement identification device 2000 or a general-purpose computer.
  • each function of the identification device 2000 is realized on the computer 1000.
  • the application is composed of a program for realizing each functional component of the identification device 2000 .
  • the acquisition method of the above program is arbitrary.
  • the program can be acquired from a storage medium (DVD disc, USB memory, etc.) in which the program is stored.
  • the program can be obtained by downloading the program from a server device that manages the storage device in which the program is stored.
  • the computer 1000 has a bus 1020 , a processor 1040 , a memory 1060 , a storage device 1080 , an input/output interface 1100 and a network interface 1120 .
  • the bus 1020 is a data transmission path through which the processor 1040, memory 1060, storage device 1080, input/output interface 1100, and network interface 1120 mutually transmit and receive data.
  • the method of connecting processors 1040 and the like to each other is not limited to bus connection.
  • the processor 1040 is various processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or an FPGA (Field-Programmable Gate Array).
  • the memory 1060 is a main memory implemented using a RAM (Random Access Memory) or the like.
  • the storage device 1080 is an auxiliary storage device implemented using a hard disk, SSD (Solid State Drive), memory card, ROM (Read Only Memory), or the like.
  • the input/output interface 1100 is an interface for connecting the computer 1000 and input/output devices.
  • the input/output interface 1100 is connected to an input device such as a keyboard and an output device such as a display device.
  • a network interface 1120 is an interface for connecting the computer 1000 to a network.
  • This network may be a LAN (Local Area Network) or a WAN (Wide Area Network).
  • the storage device 1080 stores a program that implements each functional component of the identification device 2000 (a program that implements the application described above).
  • the processor 1040 implements each functional component of the identification device 2000 by reading this program into the memory 1060 and executing it.
  • the identification device 2000 may be realized by one computer 1000 or may be realized by a plurality of computers 1000. In the latter case, the configuration of each computer 1000 need not be the same, and can be different.
  • FIG. 4 is a flowchart illustrating the flow of processing performed by the identification device 2000 of the embodiment.
  • the acquisition unit 2020 acquires the first input data 20 and the second input data 30 (S102).
  • the first feature extraction unit 2040 calculates the first intermediate feature quantity 60 from the first input data 20 (S104).
  • the second feature extraction unit 2060 calculates the second intermediate feature amount 70 from the second input data 30 (S106).
  • the attention generation unit 2080 calculates the first attention data 80 from the second intermediate feature amount 70 (S108).
  • the attention generator 2080 calculates the second attention data 90 from the first attention data 80 (S110).
  • the first feature extraction unit 2040 calculates the first feature amount 40 from the first intermediate feature amount 60 and the first attention data 80 (S112).
  • the second feature extraction unit 2060 calculates the second feature amount 50 from the second intermediate feature amount 70 and the second attention data 90 (S114).
  • the identification unit 2100 uses the first feature amount 40, the second feature amount 50, or both to identify the class related to the identification target (S116).
  • the flow of processing shown in FIG. 4 is an example, and the flow of processing executed by the identification device 2000 is not limited to the flow shown in FIG.
  • the calculation of the first intermediate feature amount 60 and the calculation of the second intermediate feature amount 70 may be performed in parallel, or may be performed in an order opposite to that shown in FIG. .
  • the calculation of the first attention data 80 and the calculation of the second attention data 90 may be performed in parallel, or may be performed in an order opposite to that shown in FIG. good.
  • the calculation of the first feature amount 40 and the calculation of the second feature amount 50 may be performed in parallel, or may be performed in an order opposite to that shown in FIG. good.
  • the acquisition unit 2020 acquires the first input data 20 (S102).
  • the first input data 20 are feature quantities extracted from the observation data 10 .
  • various methods can be used for the method of extracting the feature amount from the various observation data 10 described above.
  • a neural network such as a CNN (Convolutional Neural Network)
  • the feature quantity of the observed data 10 can be extracted from the CNN feature extraction layer.
  • the first input data 20 can be obtained.
  • the observation data 10 is image data and the skeleton feature amount obtained from the image data is used as the first input data 20 .
  • a skeleton feature amount can be obtained.
  • the first input data 20 may be feature amounts extracted from part of the observation data 10 instead of all of the observation data 10 .
  • the observation data 10 is image data and the object to be identified is a person.
  • the first input data 20 is generated by extracting a feature amount only from an image region representing a person (hereinafter referred to as a person region) from the observation data 10 .
  • a person region representing a person
  • Various techniques can be used for detecting a person area from image data. For example, a person area can be detected by executing person detection processing on image data.
  • the observation data 10 may be frame data constituting time-series data.
  • the first input data 20 may not be the observation data 10 alone, but may be a feature amount extracted in consideration of the time series represented by the time series data including the observation data 10 .
  • data representing the three-dimensional position of each skeleton (hereinafter referred to as a three-dimensional skeleton feature amount) can be used as the skeleton feature amount considering the time series.
  • the 3D skeleton feature amount is calculated using the 2D skeleton feature amount (data representing the 2D position of each skeleton) extracted from each of a plurality of time-series image data.
  • a calculation method eg PoseFormer
  • PoseFormer can be used.
  • the process of generating the first input data 20 from the observation data 10 may be performed by the identification device 2000 or may be performed by a device other than the identification device 2000.
  • the identification device 2000 generates the first input data 20, for example, the identification device 2000 obtains the observation data 10, generates the first input data 20 from the observation data 10, and then converts the first input data 20 to Store in any storage device.
  • the acquisition unit 2020 acquires the first input data 20 from the storage device.
  • the first input data 20 is stored in advance in an arbitrary storage device in a manner that can be obtained from the identification device 2000, for example.
  • the acquisition unit 2020 acquires the first input data 20 by reading the first input data 20 from the storage device.
  • the acquisition unit 2020 acquires the first input data 20 by receiving the first input data 20 transmitted from another device (for example, the device that generated the first input data 20).
  • the acquisition unit 2020 acquires the second input data 30 (S102).
  • the method of generating the second input data 30 from the observation data 10 is the same as the method of generating the first input data 20 from the observation data 10 .
  • a specific method for acquiring the second input data 30 is also the same as a specific method for acquiring the first input data 20 .
  • the identification device 2000 may use not only the first input data 20 and the second input data 30, but also three or more types of feature amounts. Also in this case, the method of generating and obtaining these feature amounts is the same as the method of generating and obtaining the first input data 20 .
  • the first feature extraction unit 2040 and the second feature extraction unit 2060 perform dimensional compression on the first input data 20 and the second input data 30, respectively, so that each of the first input data 20 and the second input data 30 is Calculate the feature amount.
  • the first feature extraction unit 2040 and the second feature extraction unit 2060 each have a feature extraction model for extracting feature amounts by performing dimension compression on input data.
  • a feature extraction model is composed of a machine learning model such as a neural network.
  • CNN can be used as a feature extraction model.
  • the processing performed on the first input data 20 and the second input data 30 may further include processing other than dimension compression.
  • a CNN can include a pooling layer, a ReLU (Rectified Linear Unit) layer, etc., in addition to a convolutional layer that performs dimensionality reduction processing.
  • ReLU Rectified Linear Unit
  • the attention generation unit 2080 also has, for example, an attention generation model for generating attention data.
  • the attention generation model consists of a machine learning model such as a neural network.
  • FIG. 5 is a diagram exemplifying the feature extraction model and the attention model.
  • the feature extraction model 300 and the feature extraction model 400 are models constituting the first feature extraction section 2040 and the second feature extraction section 2060, respectively.
  • the attention generation model 500 is a model that configures the attention generation unit 2080 .
  • the feature extraction model 300 has a feature extraction layer 310 and a feature extraction layer 320.
  • the feature extraction layer 310 acquires the first input data 20 as input and calculates the first intermediate feature quantity 60 from the first input data 20 .
  • the feature extraction layer 320 acquires data obtained by applying the first attention data 80 to the first intermediate feature amount 60 as an input, calculates the first feature amount 40 from the data, and outputs the calculated first feature amount 40 .
  • the feature extraction layer 310 and the feature extraction layer 320 are each composed of one or more layers including a layer (for example, a convolution layer) that performs dimensionality reduction on input data.
  • a layer for example, a convolution layer
  • convolutional layers for example, pooling layers and ReLU layers can be included.
  • the first attention data 80 represents the weight for each dimension of the first intermediate feature quantity 60 (in other words, the importance of each dimension). Therefore, the number of dimensions of the first attention data 80 is the same as the number of dimensions of the first intermediate feature quantity 60 . However, when the first intermediate feature quantity 60 is composed of a plurality of channels, the number of dimensions of the first intermediate feature quantity 60 means the number of dimensions of one channel.
  • the first feature extraction unit 2040 multiplies the value of each element of the first intermediate feature amount 60 by the value of the corresponding element of the first attention data 80 to obtain the first intermediate feature amount 60.
  • the first attention data 80 is applied. That is, a vector obtained by multiplying the value of each element of the first intermediate feature amount 60 by the value of the corresponding element of the first attention data 80 is input to the feature extraction layer 320 . Note that when the first intermediate feature amount 60 is composed of a plurality of channels, the first attention data 80 is applied to each channel of the first intermediate feature amount 60 .
  • the feature extraction model 400 has the same configuration as the feature extraction model 300. That is, the feature extraction model 400 has a feature extraction layer 410 and a feature extraction layer 420 .
  • the feature extraction layer 410 acquires the second input data 30 as an input, calculates the second intermediate feature amount 70 from the second input data 30, and outputs it.
  • the feature extraction layer 420 acquires data obtained by applying the second attention data 90 to the second intermediate feature amount 70 as an input, calculates the second feature amount 50 from the data, and outputs the calculated second feature amount 50 .
  • Feature extraction layer 410 and feature extraction layer 420 may each also be composed of one or more layers, including dimensionality compression layers.
  • the second attention data 90 represents the weight (importance of each dimension) for each dimension of the second intermediate feature quantity 70 . Therefore, the number of dimensions of the second attention data 90 is the same as the number of dimensions of the second intermediate feature quantity 70 . However, when the second intermediate feature quantity 70 is composed of a plurality of channels, the number of dimensions of the second intermediate feature quantity 70 means the number of dimensions of one channel.
  • the attention generation model 500 acquires the first intermediate feature amount 60 and the second intermediate feature amount 70 as inputs, calculates the first attention data 80 and the second attention data 90, and outputs them.
  • the configuration of the attention generation model 500 will be further described below.
  • the attention generation model 500 calculates the first attention data 80 using the second intermediate feature amount 70 without using the first intermediate feature amount 60 . Furthermore, the attention generation model 500 calculates the second attention data 90 using the first intermediate feature amount 60 without using the second intermediate feature amount 70 .
  • FIG. 6 is a first diagram illustrating the configuration of the attention generation model 500.
  • the attention generation model 500 has a dimensionality compression layer 510 and a dimensionality compression layer 520 .
  • the dimension compression layer 510 obtains the second intermediate feature quantity 70 as an input, and performs dimension compression on the second intermediate feature quantity 70 to generate the first attention data 80 .
  • the dimension compression layer 520 obtains the first intermediate feature quantity 60 as an input, and performs dimension compression on the first intermediate feature quantity 60 to generate the second attention data 90 .
  • both dimensionality compression layer 510 and dimensionality compression layer 520 are composed of one or more layers, including convolutional layers.
  • dimension compression is performed so that the number of dimensions of the first attention data 80 and the number of dimensions of the first intermediate feature quantity 60 are the same. Also, in the dimension compression layer 520 , dimension compression is performed such that the number of dimensions of the second attention data 90 matches the number of dimensions of the second intermediate feature amount 70 .
  • the attention generation model 500 may perform normalization processing using a sigmoid function or the like on the output from the dimensional compression layer 510 and the dimensional compression layer 520 .
  • the attention generation model 500 uses the first intermediate feature amount 60 and the second intermediate feature amount 70 for both the calculation of the first attention data 80 and the calculation of the second attention data 90.
  • FIG. 7 is a second diagram illustrating the configuration of the attention generation model 500. As shown in FIG. In FIG. 7, the attention generation model 500 calculates concatenated data 100 by concatenating the input first intermediate feature quantity 60 and the second intermediate feature quantity 70, and performs dimension compression on the concatenated data 100 to obtain the 2 Attention data 90 and first attention data 80 are calculated.
  • the attention generation model 500 includes a dimension compression layer 530 that performs dimension compression on the concatenated data 100 to calculate the first attention data 80, and a dimension compression layer that performs dimension compression on the concatenated data 100 to calculate the second attention data 90. and a dimensional compression layer 540 .
  • the dimension compression layer 530 performs dimension compression on the concatenated data 100 so that the number of dimensions of the first attention data 80 matches the number of dimensions of the first intermediate feature amount 60 .
  • dimension compression is performed on the concatenated data 100 such that the number of dimensions of the second attention data 90 matches the number of dimensions of the second intermediate feature amount 70 .
  • both dimensionality compression layer 530 and dimensionality compression layer 540 are composed of one or more layers, including convolutional layers.
  • the attention generation model 500 may perform normalization processing using a sigmoid function or the like on the output from the dimension compression layer 530 or the dimension compression layer 540 .
  • the identification device 2000 may generate intermediate feature amounts and attention data multiple times.
  • the first feature extraction unit 2040 and the second feature extraction unit 2060 perform the process of further calculating the intermediate feature amount from the intermediate feature amount and the attention data once or more.
  • FIG. 8 is a diagram exemplifying a case where intermediate feature quantities and attention data are generated multiple times.
  • feature extraction model 300 has N feature extraction layers, feature extraction layers 330-1 through 330-N.
  • the feature extraction layer 330-1 corresponds to the feature extraction layer 310 in FIG.
  • the combination of feature extraction layers 330-2 to 330-N corresponds to feature extraction layer 320 in FIG.
  • the feature extraction model 400 has N feature extraction layers, namely feature extraction layers 430-1 to 430-N.
  • the feature extraction layer 430-1 corresponds to the feature extraction layer 410 in FIG.
  • the combination of feature extraction layers 430-2 to 430-N corresponds to feature extraction layer 420 in FIG.
  • the feature extraction layer 330-1 receives the first input data 20 as input and outputs the first intermediate feature amount 60-1. Further, for 1 ⁇ i ⁇ N, the feature extraction layer 330-i inputs data obtained by applying the first attention data 80-(i-1) to the first intermediate feature quantity 60-(i-1). , and outputs the first intermediate feature quantity 60-i. Further, the feature extraction layer 330-N acquires as an input data obtained by applying the first attention data 80-(N-1) to the first intermediate feature amount 60-(N-1), and extracts the first feature Output the quantity 40.
  • the feature extraction layer 430-1 receives the second input data 30 as an input and outputs a second intermediate feature quantity 70-1. Also, for 1 ⁇ i ⁇ N, the feature extraction layer 430-i inputs data obtained by applying the second attention data 90-(i-1) to the second intermediate feature amount 70-(i-1). , and outputs the second intermediate feature quantity 70-i. Further, the feature extraction layer 430-N acquires as input data obtained by applying the second attention data 90-(N-1) to the second intermediate feature amount 70-(N-1), and extracts the second feature Output the quantity 50.
  • the identification device 2000 is provided with (N-1) attention-generating models 500-1 to 500-(N-1).
  • the attention generation model 500-i receives the first intermediate feature amount 60-i and the second intermediate feature amount 70-i as inputs, and outputs first attention data 80-i and second attention data 90-i.
  • i is any integer from 1 to N ⁇ 1.
  • the internal configuration of the attention generation model 500 is as described above.
  • the identification unit 2100 uses the first feature amount 40, the second feature amount 50, or both to perform class identification for the identification target (S116). For example, the identification unit 2100 uses a first identification model for estimating the class to which the first input data 20 belongs based on the first feature amount 40, and the class to which the second input data 30 belongs based on the second feature amount 50. It has a second discriminant model to estimate. These discriminative models are, for example, machine learning models such as neural networks.
  • the first discriminant model obtains a first feature quantity 40 as an input and uses a second feature quantity 50 to express the probability that the first input data 20 belongs to each of a plurality of predetermined classes. Output the first score vector. Therefore, it can be considered that the pair of the feature extraction model 300 and the first discrimination model constitutes one discriminator.
  • the second discriminant model takes as input a second feature 50 and uses the second feature 50 to obtain a second score representing the probability that the second input data 30 belongs to each of a plurality of predetermined classes. Output a vector. Therefore, it can be considered that the pair of the feature extraction model 400 and the second discrimination model constitutes one discriminator.
  • first input data 20 and the second input data 30 are respectively the image feature amount obtained from the image data of the worker and the skeleton feature amount of the worker extracted from the image data.
  • four types of work P1 to P4 are handled as types of work.
  • the identification unit 2100 obtains a first score vector by inputting the first feature amount 40 calculated from the image feature amount (first input data 20) into the first discrimination model.
  • the first score vector is a four-dimensional vector that indicates the probability that the worker has performed the type of work for each of the tasks P1 to P4.
  • the identification unit 2100 obtains a second score vector by inputting the second feature amount 50 calculated from the skeleton feature amount (second input data 30) into the second discrimination model.
  • the second score vector is also a four-dimensional vector indicating the probability that the worker has performed the type of work for each of the tasks P1 to P4.
  • the identification unit 2100 uses the first score vector, the second score vector, or both to perform class identification for the identification target.
  • the identification unit 2100 identifies the class corresponding to the element having the maximum value in the first score vector. is specified as the class for the object to be identified. For example, in the example above, suppose the elements of the first score vector in turn indicate the probabilities that tasks P1 through P4 were performed. Suppose that the first score vector is (0.2,0.1,0.1,0.6). In this case, since the value of the element corresponding to work P4 is the largest, the identification unit 2100 determines that the class related to the identification target (in this example, the type of work performed by the worker) is work P4.
  • the identification unit 2100 identifies the class corresponding to the element having the maximum value in the second score vector. is specified as the class for the object to be identified.
  • the identification unit 2100 calculates a vector by integrating the first score vector and the second score vector by a predetermined method. Then, the identification unit 2100 identifies the class corresponding to the element having the maximum value in the vector obtained by integration as the class related to the identification target.
  • the identification unit 2100 integrates these vectors by calculating the weighted sum of the first score vector and the second score vector.
  • the identification unit 2100 during operation may be set not to calculate the second score vector (that is, the second identification model is set to not work). In this case, the second score vector is used during model training, which will be described later. Similarly, when class identification for an identification target is performed using only the second score vector, the identification unit 2100 during operation may be set not to calculate the first score vector.
  • ⁇ Model training> The feature extraction model 300, the feature extraction model 400, the attention generation model 500, the first discrimination model, and the second discrimination model described above are trained using training data in advance so that they operate as models having the functions described above. be done. Below are examples of how these models are trained. The training of these models is also collectively referred to as "training of the identification device 2000". Also, a device that trains the identification device 2000 is referred to as a “training device”.
  • the training device trains the identification device 2000 by repeatedly updating the parameters of each model included in the identification device 2000 using a plurality of training data.
  • the training data has first input data 20 and second input data 30 as input data, and information capable of specifying a class of an identification target as ground-truth data.
  • the correct data is represented by a one-hot vector indicating 1 in the element corresponding to the class to which the identification target belongs and 0 in the element corresponding to the other classes.
  • the training device inputs the first input data 20 and the second input data 30 included in the training data to the feature extraction model 300 and the feature extraction model 400, respectively.
  • calculation of the first intermediate feature amount 60 by the feature extraction model 300 calculation of the second intermediate feature amount 70 by the feature extraction model 400, calculation of the first attention data 80 and the second attention data 90 by the attention generation model 500, Calculation of the first feature quantity 40 by the feature extraction model 300 and calculation of the second feature quantity 50 by the feature extraction model 400 are performed.
  • the first feature quantity 40 output from the feature extraction model 300 is input to the first discrimination model, and a first score vector is output.
  • the second feature quantity 50 output from the feature extraction model 400 is input to the second discrimination model, and a second score vector is output.
  • the training device calculates the loss by applying the first score vector, the second score vector, and the correct data to the predetermined loss function. Then, the training device updates the parameters of each model (feature extraction model 300, feature extraction model 400, attention generation model 500, first discriminant model, and second discriminative model) based on the calculated loss. It should be noted that various existing methods can be used as the method for updating the parameters of the model based on the loss.
  • the loss function is a weight of a first loss function representing the magnitude of the difference between the first score vector and the correct data and a second loss function representing the magnitude of the difference between the second score vector and the correct data. Defined as an attached sum.
  • a function for calculating cross-entropy can be used as the first loss function and the second loss function.
  • the identification unit 2100 may integrate the first score vector and the second score vector to calculate one integrated vector.
  • the training device uses a loss function representing the difference between the integrated vector and the correct data to calculate the loss.
  • the parameters of the model are updated based on the calculated loss. Note that when the first score vector and the second score vector are respectively weighted in the integration, these weights can also be treated in the same manner as the parameters of the model. So the trainer also uses the loss to update these weights.
  • the identification device 2000 outputs execution results.
  • Information output from the identification device 2000 is hereinafter referred to as output information.
  • the output information includes identification information of the class identified by the identification device 2000 regarding the object to be identified.
  • the output information may indicate information representing the probability that the object to be identified belongs to each class (the above-described first score vector and second score vector).
  • the output mode of the output information is arbitrary.
  • the identification device 2000 stores the output information in any storage device.
  • the identification device 2000 may transmit the output information to any device.
  • the identification device 2000 that handles M types of data calculates M feature amounts from the first feature amount to the Mth feature amount from each of the M types of data from the first data to the Mth data. Therefore, the identification device 2000 has M feature extraction models from the first feature extraction model to the Mth feature extraction model and M discrimination models from the first discrimination model to the Mth discrimination model.
  • the i-th feature extraction model obtains the i-th data as an input and calculates the i-th intermediate feature amount from the i-th data.
  • i is an arbitrary integer from 1 to N.
  • the i-th feature extraction model calculates the i-th feature quantity from the data obtained by applying the i-th attention data to the i-th intermediate feature quantity.
  • the attention generation model 500 uses the first to M-th intermediate feature amounts to generate the M-th attention data from the first attention data. For example, the attention generation model 500 connects all of the first to M-th intermediate feature amounts to generate one piece of connected data. Then, each of the M dimensional compression layers performs dimensional compression on the concatenated data, thereby generating the Mth attention data from the first attention data. Here, for each i, dimension compression is performed so that the number of dimensions of the i-th attention data matches the number of dimensions of the i-th intermediate feature amount.
  • each feature extraction model may have three or more feature extraction layers.
  • the operation of each attention generation model 500 in this case is the same as when there is one attention generation model 500 .
  • the i-th discriminative model uses the i-th feature quantity to calculate the i-th score vector.
  • the identifying unit 2100 uses one or more of the calculated M score vectors to identify the class related to the identification target. For example, the identification unit 2100 calculates a weighted sum of M score vectors, and identifies the class corresponding to the element having the maximum value in the calculated vector as the class related to the identification target. Alternatively, for example, the identification unit 2100 may identify a class related to an identification target using one predetermined score vector. Note that, as described above, score vectors that are not used for class identification during operation may not be calculated during operation of the identification device 2000 . In this case, the discriminative model that calculates its score vector is used in model training.
  • the program includes instructions (or software code) that, when read into a computer, cause the computer to perform one or more functions described in the embodiments.
  • the program may be stored in a non-transitory computer-readable medium or tangible storage medium.
  • computer readable media or tangible storage media may include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drives (SSD) or other memory technology, CDs - ROM, digital versatile disc (DVD), Blu-ray disc or other optical disc storage, magnetic cassette, magnetic tape, magnetic disc storage or other magnetic storage device.
  • the program may be transmitted on a transitory computer-readable medium or communication medium.
  • transitory computer readable media or communication media include electrical, optical, acoustic, or other forms of propagated signals.
  • (Appendix 1) Acquisition means for acquiring first data as a first type feature amount and second data as a second type feature amount for an identification target; a first feature extraction means for calculating a first feature amount using the first intermediate feature amount after calculating the first intermediate feature amount from the first data; a second feature extraction means for calculating a second feature amount using the second intermediate feature amount after calculating the second intermediate feature amount from the second data; identification means for performing class identification regarding the identification target using the first feature amount, the second feature amount, or both; attention data generating means for calculating first attention data using the second intermediate feature amount and calculating second attention data using the first intermediate feature amount; The first feature extraction means calculates the first feature using the first intermediate feature and the first attention data, The identification device, wherein the second feature extracting means calculates the second feature using the second intermediate feature and the second attention data.
  • the attention data generation means is generating the first attention data by performing dimension compression on the second intermediate feature amount so that the number of dimensions is the same as the number of dimensions of the first intermediate feature amount;
  • the identification device according to appendix 1, wherein the second attention data is generated by performing dimension compression on the first intermediate feature amount so that the number of dimensions is the same as the number of dimensions of the second intermediate feature amount.
  • the attention data generation means is generating concatenated data in which the first intermediate feature quantity and the second intermediate feature quantity are concatenated; generating the first attention data by performing dimension compression on the concatenated data so that the number of dimensions is the same as the number of dimensions of the first intermediate feature quantity;
  • the identification device according to appendix 1, wherein the second attention data is generated by performing dimension compression on the concatenated data so that the number of dimensions is the same as the number of dimensions of the second intermediate feature amount.
  • the attention data generation means is generating the first attention data by performing a normalization process on the dimensionally compressed first intermediate feature quantity;
  • the identification device according to appendix 3, wherein the second attention data is generated by performing a normalization process on the dimensionally compressed second intermediate feature quantity.
  • the first feature extracting means generates data in which the weight of each dimension represented by the first attention data is assigned to the value of each dimension of the first intermediate feature amount, and for the generated data, calculating the first feature amount by performing dimension compression with
  • the second feature extracting means generates data in which the weight of each dimension represented by the second attention data is assigned to the value of each dimension of the second intermediate feature amount, and for the generated data, 5.
  • the identification device according to any one of appendices 1 to 4, wherein the second feature amount is calculated by performing dimensionality compression with the .
  • the first data is an image feature amount extracted from image data obtained by imaging the identification target, the second data is a skeletal feature extracted from the image data; 6.
  • the identification device according to any one of Appendices 1 to 5, wherein the class to be identified represents a type of action to be identified.
  • a computer implemented identification method comprising: an acquisition step of acquiring first data as a first type feature amount and second data as a second type feature amount for an identification target; a first feature extraction step of calculating a first intermediate feature amount from the first data, and then calculating a first feature amount using the first intermediate feature amount; a second feature extraction step of calculating a second feature amount using the second intermediate feature amount after calculating the second intermediate feature amount from the second data; an identification step of performing class identification regarding the identification target using the first feature amount, the second feature amount, or both; an attention data generation step of calculating first attention data using the second intermediate feature amount and calculating second attention data using the first intermediate feature amount; In the first feature extraction step, the first feature amount is calculated using the first intermediate feature amount and the first attention data; The identification method, wherein in the second feature extraction step, the second feature amount is calculated using the second intermediate feature amount and the second attention data.
  • the identification method according to any one of appendices 7 to 10, wherein the second feature amount is calculated by performing dimensionality compression with (Appendix 12)
  • the first data is an image feature amount extracted from image data obtained by imaging the identification target, the second data is a skeletal feature extracted from the image data; 12.
  • the identification method according to any one of Appendixes 7 to 11, wherein the class to be identified represents a type of action to be identified.
  • the first feature amount is calculated using the first intermediate feature amount and the first attention data;
  • a non-transitory computer-readable medium wherein in the second feature extraction step, the second intermediate feature amount and the second attention data are used to calculate the second feature amount.
  • the attention data generation step generating the first attention data by performing dimension compression on the second intermediate feature amount so that the number of dimensions is the same as the number of dimensions of the first intermediate feature amount; 14.
  • Appendix 17 In the first feature extraction step, generating data in which each dimension value represented by the first attention data is weighted for each dimension value of the first intermediate feature amount, and for the generated data, calculating the first feature amount by performing dimension compression with In the second feature extraction step, generating data in which each dimension value represented by the second attention data is weighted for each dimension value of the second intermediate feature amount, and for the generated data, 17.
  • the first data is an image feature amount extracted from image data obtained by imaging the identification target, the second data is a skeletal feature extracted from the image data; 18.
  • observation data 20 first input data 30 second input data 40 first feature amount 50 second feature amount 60 first intermediate feature amount 70 second intermediate feature amount 80 first attention data 90 second attention data 100 concatenated data 300 feature Extraction model 310 Feature extraction layer 320 Feature extraction layer 330 Feature extraction layer 400 Feature extraction model 410 Feature extraction layer 420 Feature extraction layer 430 Feature extraction layer 500 Attention generation model 510 Dimension compression layer 520 Dimension compression layer 530 Dimension compression layer 540 Dimension compression layer 1000 computer 1020 bus 1040 processor 1060 memory 1080 storage device 1100 input/output interface 1120 network interface 2000 identification device 2020 acquisition unit 2040 first feature extraction unit 2060 second feature extraction unit 2080 attention generation unit 2100 identification unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

識別装置(2000)は、識別対象について、第1種類の特徴量である第1入力データ(20)と第2種類の特徴量である第2入力データ(30)を取得する。識別装置(2000)は、第1入力データ(20)から第1中間特徴量(60)を算出し、第2入力データ(30)から第2中間特徴量(70)を算出する。識別装置(2000)は、第2中間特徴量(70)から第1アテンションデータ(80)を算出し、第1中間特徴量(60)から第2アテンションデータ(90)を算出する。識別装置(2000)は、第1中間特徴量(60)と第1アテンションデータ(80)から第1特徴量(40)を算出し、第2中間特徴量(70)と第2アテンションデータ(90)から第2特徴量(50)を算出する。識別装置(2000)は、第1特徴量(40)、第2特徴量(50)、又はこれらの双方を用いて、識別対象についてのクラス識別を行う。

Description

識別装置、識別方法、及び非一時的なコンピュータ可読媒体
 本開示はクラス識別に関する。
 データが属するクラスを識別する技術が開発されている。例えば非特許文献1は、人の動作が記録されたビデオデータについて、各ビデオフレームから得られる画像特徴量と、各ビデオフレームから検出される人の骨格の特徴量とを用いて、人が行った動作の種類を識別する技術を開示している。非特許文献1には、大別して2種類の手法が開示されている。第1の手法は、画像特徴量と骨格特徴量とを連結したデータを識別モデルに入力することで動作の識別を行う手法である。第2の手法は、画像特徴量と骨格特徴量をそれぞれ識別モデルに入力し、2つの識別モデルそれぞれからの出力を統合することにより、動作の識別を行う手法である。
T. Kobayashi、Y. Aoki、S. Shimizu、K. Kusano、及び S. Okumura、「Fine-Grained Action Recognition in Assembly Work Scenes by Drawing Attention to the Hands」、Proceedings of International Conference on Signal-Image Technology & Internet-Based Systems (SITIS)、pp.440-446、2019年
 非特許文献1では、識別モデルに入力される2つの特徴量の生成が、それぞれ独立して行われている。本開示はこの課題に鑑みてなされたものであり、その目的の一つは、クラス識別の新たな手法を提供することである。
 本開示の識別装置は、識別対象について、第1種類の特徴量である第1データ及び第2種類の特徴量である第2データを取得する取得手段と、前記第1データから第1中間特徴量を算出した後、前記第1中間特徴量を用いてさらに第1特徴量を算出する第1特徴抽出手段と、前記第2データから第2中間特徴量を算出した後、前記第2中間特徴量を用いてさらに第2特徴量を算出する第2特徴抽出手段と、前記第1特徴量、前記第2特徴量、又はその双方を利用して、前記識別対象に関するクラス識別を行う識別手段と、前記第2中間特徴量を用いて第1アテンションデータを算出し、なおかつ、前記第1中間特徴量を用いて第2アテンションデータを算出するアテンションデータ生成手段と、を有する。
 前記第1特徴抽出手段は、前記第1中間特徴量及び前記第1アテンションデータを用いて、前記第1特徴量を算出する。前記第2特徴抽出手段は、前記第2中間特徴量及び前記第2アテンションデータを用いて、前記第2特徴量を算出する。
 本開示の識別方法は、コンピュータによって実行される。当該方法は、識別対象について、第1種類の特徴量である第1データ及び第2種類の特徴量である第2データを取得する取得ステップと、前記第1データから第1中間特徴量を算出した後、前記第1中間特徴量を用いてさらに第1特徴量を算出する第1特徴抽出ステップと、前記第2データから第2中間特徴量を算出した後、前記第2中間特徴量を用いてさらに第2特徴量を算出する第2特徴抽出ステップと、前記第1特徴量、前記第2特徴量、又はその双方を利用して、前記識別対象に関するクラス識別を行う識別手段と、前記第2中間特徴量を用いて第1アテンションデータを算出し、なおかつ、前記第1中間特徴量を用いて第2アテンションデータを算出するアテンションデータ生成ステップと、を有する。
 前記第1特徴抽出ステップにおいて、前記第1中間特徴量及び前記第1アテンションデータを用いて、前記第1特徴量を算出する。前記第2特徴抽出ステップにおいて、前記第2中間特徴量及び前記第2アテンションデータを用いて、前記第2特徴量を算出する。
 本開示の非一時的なコンピュータ可読媒体は、本開示の識別方法をコンピュータに実行させるプログラムを格納している。
 本開示によれば、クラス識別の新たな手法を提供することである。
実施形態の識別装置の動作の概要を例示する図である。 識別装置の機能構成を例示するブロック図である。 識別装置を実現するコンピュータのハードウエア構成を例示するブロック図である。 識別装置によって実行される処理の流れを例示するフローチャートである。 特徴抽出モデル及びアテンションモデルを例示する図である。 アテンション生成モデルの構成を例示する第1の図である。 アテンション生成モデルの構成を例示する第2の図である。 中間特徴量とアテンションデータの生成が複数回行われるケースを例示する図である。
 以下では、本開示の実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。また、特に説明しない限り、所定値や閾値などといった予め定められている値は、その値を利用する装置からアクセス可能な記憶装置などに予め格納されている。さらに、特に説明しない限り、記憶部は、1つ以上の任意の数の記憶装置によって構成される。
<概要>
 図1は、実施形態の識別装置2000の動作の概要を例示する図である。ここで、図1は、識別装置2000の概要の理解を容易にするための図であり、識別装置2000の動作は、図1に示したものに限定されない。
 識別装置2000は、識別対象に関するクラスを識別する処理を行う。例えば識別対象は、任意の物体である。物体は、人その他の動物であってよいし、動物以外の生物(植物など)であってもよいし、無生物であってもよい。また、識別対象は、1つの物体には限定されず、複数の物体であってもよい。また、識別対象は物体には限定されない。例えば識別対象は、物体やその背景によって構成されるシーンであってもよい。
 識別対象に関するクラスは、識別対象そのものの種類を表してもよいし、識別対象に関するその他の種類を表してもよい。後者の場合、例えばクラスは、識別対象の動作や状態の種類などを表す。
 識別装置2000は、識別対象について得られた、それぞれ異なる複数種類のデータを利用して、識別対象についてのクラス識別を行う。識別装置2000が取得するデータは、少なくとも、第1種類のデータである第1入力データ20、及び第2種類のデータである第2入力データ30を含む。説明を簡単にするために、まずは識別装置2000が2種類のデータ(すなわち、第1入力データ20及び第2入力データ30)を取得するケースについて説明する。識別装置2000が3種類以上のデータを利用するケースについては後述する。
 第1入力データ20と第2入力データ30はいずれも、識別対象について行われた観測の結果として得られる観測データ10から抽出された特徴量である。ただし、第1入力データ20と第2入力データ30は、互いに異なる種類の特徴量である。なお、本開示において、「特徴量の抽出」という表現と「特徴量の算出」という表現は、互いに同じ意味で利用される。
 ここで、第1入力データ20と第2入力データ30は、同一の観測データ10から抽出された特徴量であってもよいし、互いに異なる観測データ10から抽出された特徴量であってもよい。前者のケースは、例えば、画像データから抽出された画像特徴量及び骨格特徴量がそれぞれ第1入力データ20及び第2入力データ30として利用されるケースである。一方、後者のケースは、例えば、画像データから抽出された画像特徴量が第1入力データ20として利用され、音声データから抽出された音声特徴量が第2入力データ30として利用されるケースである。なお、第1入力データ20が抽出される観測データ10と、第2入力データ30が抽出される観測データ10との間には、時間的な関連があることが好適である。例えばこれら2つの観測データ10を得るための観測は、略同一の時点に行われたものであることが好適である。
 観測データの種類としては、例えば、識別対象を撮像することで得られる画像データ(例えば RGB 画像やグレースケール画像)、識別対象の周囲の音を記録することで得られる音声データ、識別対象までの距離を測定することで得られる距離データ(例えば深度画像)、識別対象から発せられる生体情報を記録することで得られる生体データ(例えば心拍データや脳波データ)などが挙げられる。
 観測データは、時系列データを構成しない単独のデータであってもよいし、時系列データを構成するフレームデータであってもよい。時系列データを構成しない単独のデータとしては、例えば、スチルカメラによって生成された静止画像データが挙げられる。時系列データを構成するフレームデータとしては、例えば、ビデオカメラによって生成されたビデオデータを構成するビデオフレームが挙げられる。
 観測データから得られる特徴量としては、種々のものを扱うことができる。例えば、観測データに対して、畳み込み処理等による次元圧縮を行うことで得られるデータを、その観測データの特徴量として扱うことができる。その他にも例えば、観測データに対して特定の解析処理を行うことで得られるデータを、その観測データの特徴量として扱うことができる。例えば観測データが画像データである場合、骨格の位置を表す骨格特徴量や、各ピクセルのオプティカルフローを表すオプティカルフローデータを、特徴量として利用することができる。
 骨格特徴量が示す骨格の位置は、画像上の2次元位置であってもよいし、特定の3次元空間上の3次元位置であってもよい。また、骨格特徴量は、動物の関節点の位置を示すデータには限定されず、ロボットなどの機械に含まれる1つ以上のジョイントの位置を関節点の位置と示すデータであってもよい。さらに、骨格特徴量によって表される骨格の粒度は、画像データに含まれる人等のサイズや、認識対象の行動の粒度などに応じて設定される。例えば、画像データに人の腕と手が大きく撮像されている場合、骨格特徴量は、指の複数の関節それぞれの関節点を示すことが好適である。一方、画像データに人の全身が撮像されている場合、例えば骨格特徴量は、手についての関節点として手首の関節点を示せばよく、指の各関節の関節点までは示さなくてもよい。
 識別装置2000は、第1入力データ20と第2入力データ30それぞれから、第1特徴量40及び第2特徴量50を算出する。そして識別装置2000は、第1特徴量40、第2特徴量50、又はその双方を利用して、識別対象に関するクラスを特定する(クラスを識別する)。
 ここで、識別装置2000は、第1入力データ20と第2入力データ30それぞれについて、多段階の特徴抽出を行う。図1では単純な例として、第1入力データ20と第2入力データ30それぞれについて2段階の特徴抽出が行われている。具体的には、第1入力データ20から第1中間特徴量60が抽出された後に、第1中間特徴量60から第1特徴量40が抽出されている。また、第2入力データ30から第2中間特徴量70が抽出された後に、第2中間特徴量70から第2特徴量50が抽出されている。
 ここで、第1特徴量40の算出には、第1入力データ20だけでなく、第2入力データ30も利用される。具体的には、識別装置2000は、第2入力データ30から算出された第2中間特徴量70を用いて第1アテンションデータ80を生成する。そして、識別装置2000は、第1中間特徴量60と第1アテンションデータ80を利用して、第1特徴量40を算出する。なお、第1アテンションデータ80の生成には、第1中間特徴量60がさらに利用されてもよい。
 同様に、第2特徴量50の算出には、第2入力データ30だけでなく、第1入力データ20も利用される。具体的には、識別装置2000は、第1入力データ20から算出された第1中間特徴量60を用いて第2アテンションデータ90を生成する。そして、識別装置2000は、第2中間特徴量70と第2アテンションデータ90を利用して、第2特徴量50を生成する。なお、第2アテンションデータ90の生成には、第2中間特徴量70がさらに利用されてもよい。
 ここで、アテンションデータの生成に第1中間特徴量60と第2中間特徴量70の双方が用いられる場合、第1中間特徴量60と第2中間特徴量70を利用して生成された1つのアテンションデータを、第1アテンションデータ80及び第2アテンションデータ90の双方として利用してもよい。
<作用効果の例>
 本実施形態の識別装置2000によれば、第1入力データ20と第2入力データ30という2種類の特徴量についてさらに特徴抽出が行われ、その結果として得られる第1特徴量40、第2特徴量50、又はその双方を用いて、識別対象についてのクラス識別が行われる。ここで、第1特徴量40は、第1入力データ20から抽出された第1中間特徴量60に対して第1アテンションデータ80が適用されたデータから算出される。第1アテンションデータ80は、第2入力データ30から抽出された第2中間特徴量70に基づいて生成される。こうすることで、第1特徴量40は、第1入力データ20から抽出された中間特徴量に対して、第2入力データ30から抽出された中間特徴量によって表される重みを付与したデータから算出されることになる。同様に、第2特徴量50についても、第2入力データ30から抽出された中間特徴量に対して、第1入力データ20から抽出された中間特徴量によって表される重みを付与したデータから算出されることになる。そのため、識別装置2000によれば、クラス識別に利用される特徴量が、複数種類の特徴量それぞれの間の重要性を考慮したものとなる。よって、識別対象についてのクラス識別をより高い精度で行うことができる。
 以下、本実施形態の識別装置2000について、より詳細に説明する。
<機能構成の例>
 図2は、実施形態の識別装置2000の機能構成を例示するブロック図である。識別装置2000は、取得部2020、第1特徴抽出部2040、第2特徴抽出部2060、アテンション生成部2080、及び識別部2100を有する。取得部2020は第1入力データ20及び第2入力データ30を取得する。第1特徴抽出部2040は、第1入力データ20から第1中間特徴量60を算出する。第2特徴抽出部2060は、第2入力データ30から第2中間特徴量70を算出する。
 アテンション生成部2080は、第1中間特徴量60を用いて第2アテンションデータ90を算出する。また、アテンション生成部2080は、第2中間特徴量70を用いて第1アテンションデータ80を算出する。
 第1特徴抽出部2040は、第1中間特徴量60及び第1アテンションデータ80を用いて第1特徴量40を算出する。第2特徴抽出部2060は、第2中間特徴量70及び第2アテンションデータ90を用いて第2特徴量50を算出する。識別部2100は、第1特徴量40、第2特徴量50、又はその双方を用いて、識別対象に関するクラスを特定する。
<ハードウエア構成の例>
 識別装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、識別装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
 図3は、識別装置2000を実現するコンピュータ1000のハードウエア構成を例示するブロック図である。コンピュータ1000は、任意のコンピュータである。例えばコンピュータ1000は、PC(Personal Computer)やサーバマシンなどといった、据え置き型のコンピュータである。その他にも例えば、コンピュータ1000は、スマートフォンやタブレット端末などといった可搬型のコンピュータである。コンピュータ1000は、識別装置2000を実現するために設計された専用のコンピュータであってもよいし、汎用のコンピュータであってもよい。
 例えば、コンピュータ1000に対して所定のアプリケーションをインストールすることにより、コンピュータ1000で、識別装置2000の各機能が実現される。上記アプリケーションは、識別装置2000の各機能構成部を実現するためのプログラムで構成される。なお、上記プログラムの取得方法は任意である。例えば、当該プログラムが格納されている記憶媒体(DVD ディスクや USB メモリなど)から、当該プログラムを取得することができる。その他にも例えば、当該プログラムが格納されている記憶装置を管理しているサーバ装置から、当該プログラムをダウンロードすることにより、当該プログラムを取得することができる。
 コンピュータ1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。
 プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
 入出力インタフェース1100は、コンピュータ1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
 ネットワークインタフェース1120は、コンピュータ1000をネットワークに接続するためのインタフェースである。このネットワークは、LAN(Local Area Network)であってもよいし、WAN(Wide Area Network)であってもよい。
 ストレージデバイス1080は、識別装置2000の各機能構成部を実現するプログラム(前述したアプリケーションを実現するプログラム)を記憶している。プロセッサ1040は、このプログラムをメモリ1060に読み出して実行することで、識別装置2000の各機能構成部を実現する。
 識別装置2000は、1つのコンピュータ1000で実現されてもよいし、複数のコンピュータ1000で実現されてもよい。後者の場合において、各コンピュータ1000の構成は同一である必要はなく、それぞれ異なるものとすることができる。
<処理の流れ>
 図4は、実施形態の識別装置2000によって実行される処理の流れを例示するフローチャートである。取得部2020は、第1入力データ20及び第2入力データ30を取得する(S102)。第1特徴抽出部2040は第1入力データ20から第1中間特徴量60を算出する(S104)。第2特徴抽出部2060は第2入力データ30から第2中間特徴量70を算出する(S106)。
 アテンション生成部2080は、第2中間特徴量70から第1アテンションデータ80を算出する(S108)。アテンション生成部2080は、第1アテンションデータ80から第2アテンションデータ90を算出する(S110)。
 第1特徴抽出部2040は、第1中間特徴量60及び第1アテンションデータ80から第1特徴量40を算出する(S112)。第2特徴抽出部2060は、第2中間特徴量70及び第2アテンションデータ90から第2特徴量50を算出する(S114)。
 識別部2100は、第1特徴量40、第2特徴量50、又はこれらの双方を利用して、識別対象に関するクラスを特定する(S116)。
 なお、図4に示されている処理の流れは一例であり、識別装置2000によって実行される処理の流れは、図4に示されている流れに限定されない。例えば、第1中間特徴量60の算出と第2中間特徴量70の算出は、並行して行われてもよいし、図4に示されている順序とは逆の順序で行われてもよい。その他にも例えば、第1アテンションデータ80の算出と第2アテンションデータ90の算出は、並行して行われてもよいし、図4に示されている順序とは逆の順序で行われてもよい。その他にも例えば、第1特徴量40の算出と第2特徴量50の算出は、並行して行われてもよいし、図4に示されている順序とは逆の順序で行われてもよい。
<第1入力データ20の取得:S102>
 取得部2020は第1入力データ20を取得する(S102)。前述した通り、第1入力データ20は、観測データ10から抽出された特徴量である。ここで、前述した種々の観測データ10からその特徴量を抽出する手法には、種々の手法を利用することができる。観測データ10に対して次元圧縮を行うことで得られるデータを第1入力データ20として利用する場合、例えば、CNN(Convolutional Neural Network)などのニューラルネットワークに対して観測データ10を入力することにより、CNN の特徴抽出層から、観測データ10の特徴量を抽出することができる。その他にも例えば、観測データ10を解析することで得られるデータを第1入力データ20として利用する場合、所望の種類のデータを得ることができる解析手法を観測データ10に対して適用することにより、第1入力データ20を得ることができる。例えば観測データ10が画像データであり、その画像データから得られる骨格特徴量を第1入力データ20として利用するとする。この場合、観測データ10に対して OpenPose 等の骨格抽出手法を適用することで、骨格特徴量を得ることができる。
 ここで、第1入力データ20は、観測データ10の全てではなく、観測データ10の一部から抽出された特徴量であってもよい。例えば観測データ10が画像データであり、識別対象が人であるとする。この場合例えば、観測データ10のうち、人を表す画像領域(以下、人物領域)のみから特徴量を抽出することで、第1入力データ20が生成される。画像データから人物領域を検出する手法には、種々の手法を利用することができる。例えば画像データに対して人物検出処理を実行することで、人物領域を検出することができる。
 また、前述した通り、観測データ10は時系列データを構成するフレームデータであってもよい。この場合、第1入力データ20は、観測データ10単体ではなく、観測データ10を含む時系列データによって表される時系列を考慮して抽出された特徴量であってもよい。例えばこの場合、時系列を考慮した特徴抽出が可能な 3D CNN の特徴抽出層を利用することができる。具体的には、例えば、観測データ10及びその前後 N 個のフレームを 3D CNN に対して入力することで、3D CNN の特徴抽出層から、時系列を考慮した第1入力データ20の特徴量を得ることができる。また、時系列を考慮した骨格特徴量としては、各骨格の3次元位置を表すデータ(以下、3次元骨格特徴量)を採用することができる。3次元骨格特徴量の算出には、例えば、時系列の複数の画像データそれぞれから抽出された2次元骨格特徴量(各骨格の2次元位置を表すデータ)を用いて、3次元骨格特徴量を算出する手法(例えば PoseFormer)を利用することができる。この手法を利用する場合、例えば、観測データ10及びその前後 N 個のフレームそれぞれから算出された2次元骨格特徴量に対し、上述の手法を適用することで、観測データ10についての3次元骨格特徴量を得ることができる。
 観測データ10から第1入力データ20を生成する処理は、識別装置2000によって行われてもよいし、識別装置2000以外の装置によって行われてもよい。識別装置2000によって第1入力データ20が生成される場合、例えば識別装置2000は、観測データ10を取得し、その観測データ10から第1入力データ20を生成した後、その第1入力データ20を任意の記憶装置に格納する。この場合、取得部2020は、その記憶装置から第1入力データ20を取得する。
 第1入力データ20の生成が識別装置2000以外によって行われる場合、例えば第1入力データ20は、識別装置2000から取得可能な態様で、予め任意の記憶装置に格納されている。この場合、取得部2020は、当該記憶装置から第1入力データ20を読み出すことにより、第1入力データ20を取得する。その他にも例えば、取得部2020は、他の装置(例えば、第1入力データ20を生成した装置)から送信された第1入力データ20を受信することにより、第1入力データ20を取得する。
<第2入力データ30の取得:S102>
 取得部2020は第2入力データ30を取得する(S102)。ここで、第2入力データ30を観測データ10から生成する方法は、第1入力データ20を観測データ10から生成する方法と同様である。また、第2入力データ30を取得する具体的な方法も、第1入力データ20を取得する具体的な方法と同様である。
 ここで前述したように、識別装置2000は、第1入力データ20及び第2入力データ30だけでなく、3種類以上の特徴量を利用してもよい。この場合についても、それらの特徴量の生成方法や取得方法は、第1入力データ20の生成方法や取得方法と同様である。
<特徴量とアテンションデータの算出:S104からS114>
 ここでは、特徴量とアテンションデータの算出方法(すなわち、第1特徴量40、第2特徴量50、第1中間特徴量60、第2中間特徴量70、第2アテンションデータ90、及び第1アテンションデータ80)の算出方法について説明する。
 第1特徴抽出部2040及び第2特徴抽出部2060は、第1入力データ20と第2入力データ30それぞれに対して次元圧縮を行うことで、第1入力データ20と第2入力データ30それぞれから特徴量を算出する。例えば第1特徴抽出部2040と第2特徴抽出部2060はそれぞれ、入力されたデータに対して次元圧縮を行うことでその特徴量を抽出する特徴抽出モデルを有する。特徴抽出モデルは、ニューラルネットワークなどといった機械学習モデルで構成される。例えば、CNN を特徴抽出モデルとして利用することができる。
 ここで、第1入力データ20と第2入力データ30に対して行われる処理には、次元圧縮以外の処理がさらに含まれてもよい。例えば CNN には、次元圧縮処理を行う畳み込み層に加え、プーリング層や ReLU(Rectified Linear Unit)層などが含まれうる。
 アテンション生成部2080も例えば、アテンションデータを生成するためのアテンション生成モデルを有する。アテンション生成モデルは、ニューラルネットワークなどといった機械学習モデルで構成される。
 図5は特徴抽出モデル及びアテンションモデルを例示する図である。特徴抽出モデル300と特徴抽出モデル400はそれぞれ、第1特徴抽出部2040と第2特徴抽出部2060を構成するモデルである。また、アテンション生成モデル500は、アテンション生成部2080を構成するモデルである。
 特徴抽出モデル300は、特徴抽出層310及び特徴抽出層320を有する。特徴抽出層310は、第1入力データ20を入力として取得し、その第1入力データ20から第1中間特徴量60を算出する。特徴抽出層320は、第1中間特徴量60に対して第1アテンションデータ80を適用することで得られたデータを入力として取得し、そのデータから第1特徴量40を算出して出力する。
 例えば特徴抽出層310と特徴抽出層320はそれぞれ、入力されたデータに対して次元圧縮を行う層(例えば畳み込み層)を含む、1つ以上の層で構成される。畳み込み層の他には、例えば、プーリング層や ReLU 層などが含まれうる。
 第1アテンションデータ80は、第1中間特徴量60の各次元に対する重み(言い換えれば、各次元の重要度)を表す。そのため、第1アテンションデータ80の次元数は、第1中間特徴量60の次元数と同じである。ただし、第1中間特徴量60が複数のチャネルで構成される場合、第1中間特徴量60の次元数は、1つのチャネルの次元数を意味する。
 アテンションデータを特徴量に対して適用する手法には、既存の種々の手法を利用することができる。例えば第1特徴抽出部2040は、第1中間特徴量60の各要素の値に対して、第1アテンションデータ80の対応する要素の値を乗算するという方法で、第1中間特徴量60に対して第1アテンションデータ80を適用する。すなわち、第1中間特徴量60の各要素の値に対して、第1アテンションデータ80の対応する要素の値を乗算することで得られるベクトルが、特徴抽出層320に対して入力される。なお、第1中間特徴量60が複数のチャネルで構成される場合、第1中間特徴量60の各チャネルに対して、第1アテンションデータ80が適用される。
 特徴抽出モデル400は、特徴抽出モデル300と同様の構成を有する。すなわち、特徴抽出モデル400は、特徴抽出層410及び特徴抽出層420を有する。特徴抽出層410は、第2入力データ30を入力として取得し、その第2入力データ30から第2中間特徴量70を算出して出力する。特徴抽出層420は、第2中間特徴量70に対して第2アテンションデータ90を適用することで得られたデータを入力として取得し、そのデータから第2特徴量50を算出して出力する。特徴抽出層410と特徴抽出層420もそれぞれ、次元圧縮層を含む1つ以上の層で構成されうる。
 第2アテンションデータ90は、第2中間特徴量70の各次元に対する重み(各次元の重要度)を表す。そのため、第2アテンションデータ90の次元数は、第2中間特徴量70の次元数と同じである。ただし、第2中間特徴量70が複数のチャネルで構成される場合、第2中間特徴量70の次元数は、1つのチャネルの次元数を意味する。
 第2アテンションデータ90を第2中間特徴量70に対して適用する手法には、第1アテンションデータ80を第1中間特徴量60に対して適用する手法と同様の手法を利用することができる。
 アテンション生成モデル500は、第1中間特徴量60及び第2中間特徴量70を入力として取得して、第1アテンションデータ80及び第2アテンションデータ90を算出して出力する。以下、アテンション生成モデル500の構成についてさらに説明する。
 例えばアテンション生成モデル500は、第1中間特徴量60は用いずに、第2中間特徴量70を用いて、第1アテンションデータ80を算出する。さらに、アテンション生成モデル500は、第2中間特徴量70は用いずに、第1中間特徴量60を用いて、第2アテンションデータ90を算出する。
 図6はアテンション生成モデル500の構成を例示する第1の図である。図6において、アテンション生成モデル500は、次元圧縮層510及び次元圧縮層520を有する。次元圧縮層510は、第2中間特徴量70を入力として取得し、その第2中間特徴量70に対して次元圧縮を行うことで、第1アテンションデータ80を生成する。次元圧縮層520は、第1中間特徴量60を入力として取得し、その第1中間特徴量60に対して次元圧縮を行うことで、第2アテンションデータ90を生成する。例えば次元圧縮層510と次元圧縮層520はいずれも、畳み込み層を含む1つ以上の層で構成される。
 ここで、次元圧縮層510では、第1アテンションデータ80の次元数が第1中間特徴量60の次元数と一致するように、次元圧縮が行われる。また、次元圧縮層520では、第2アテンションデータ90の次元数が第2中間特徴量70の次元数と一致するように、次元圧縮が行われる。
 さらに、アテンション生成モデル500は、次元圧縮層510や次元圧縮層520からの出力に対し、シグモイド関数などを利用した正規化処理を行ってもよい。
 その他にも例えば、アテンション生成モデル500は、第1アテンションデータ80の算出と第2アテンションデータ90の算出の双方に、第1中間特徴量60及び第2中間特徴量70を用いる。図7はアテンション生成モデル500の構成を例示する第2の図である。図7において、アテンション生成モデル500は、入力された第1中間特徴量60と第2中間特徴量70を連結した連結データ100を算出し、連結データ100に対して次元圧縮を行うことで、第2アテンションデータ90及び第1アテンションデータ80を算出する。
 アテンション生成モデル500は、連結データ100に対して次元圧縮を行って第1アテンションデータ80を算出する次元圧縮層530と、連結データ100に対して次元圧縮を行って第2アテンションデータ90を算出する次元圧縮層540とを有する。次元圧縮層530では、第1アテンションデータ80の次元数が第1中間特徴量60の次元数と一致するように、連結データ100に対して次元圧縮が行われる。また、次元圧縮層520では、第2アテンションデータ90の次元数が第2中間特徴量70の次元数と一致するように、連結データ100に対して次元圧縮が行われる。例えば次元圧縮層530と次元圧縮層540はいずれも、畳み込み層を含む1つ以上の層で構成される。また、アテンション生成モデル500は、次元圧縮層530や次元圧縮層540からの出力に対し、シグモイド関数などを利用した正規化処理を行ってもよい。
<<中間特徴量とアテンションデータの算出が複数回行われるケース>>
 識別装置2000において、中間特徴量とアテンションデータの生成が、複数回行われるようにしてもよい。この場合、第1特徴抽出部2040と第2特徴抽出部2060は、中間特徴量とアテンションデータからさらに中間特徴量を算出するという処理を、1回以上行う。
 図8は、中間特徴量とアテンションデータの生成が複数回行われるケースを例示する図である。この例において、特徴抽出モデル300は、特徴抽出層330-1から330-Nという、N個の特徴抽出層を有する。特徴抽出層330-1は、図5における特徴抽出層310に相当する。一方、特徴抽出層330-2から特徴抽出層330-Nの組み合わせは、図5における特徴抽出層320に相当する。
 同様に、特徴抽出モデル400は、特徴抽出層430-1から430-NというN個の特徴抽出層を有する。特徴抽出層430-1は、図5における特徴抽出層410に相当する。一方、特徴抽出層430-2から特徴抽出層430-Nの組み合わせは、図5における特徴抽出層420に相当する。
 特徴抽出層330-1は、第1入力データ20を入力として取得して、第1中間特徴量60-1を出力する。また、1<i<Nについて、特徴抽出層330-iは、第1中間特徴量60-(i-1)に対して第1アテンションデータ80-(i-1)が適用されたデータを入力として取得し、第1中間特徴量60-iを出力する。さらに、特徴抽出層330-Nは、第1中間特徴量60-(N-1)に対して第1アテンションデータ80-(N-1)が適用されたデータを入力として取得し、第1特徴量40を出力する。
 特徴抽出層430-1は、第2入力データ30を入力として取得して、第2中間特徴量70-1を出力する。また、1<i<Nについて、特徴抽出層430-iは、第2中間特徴量70-(i-1)に対して第2アテンションデータ90-(i-1)が適用されたデータを入力として取得し、第2中間特徴量70-iを出力する。さらに、特徴抽出層430-Nは、第2中間特徴量70-(N-1)に対して第2アテンションデータ90-(N-1)が適用されたデータを入力として取得し、第2特徴量50を出力する。
 図8の例において、識別装置2000には、アテンション生成モデル500-1から500-(N-1)という、(N-1)個のアテンション生成モデルが設けられている。アテンション生成モデル500-iは、第1中間特徴量60-iと第2中間特徴量70-iを入力として取得し、第1アテンションデータ80-iと第2アテンションデータ90-iを出力する。ここでは、iは1からN-1の任意の整数である。アテンション生成モデル500の内部構成については前述した通りである。
<クラス識別:S116>
 識別部2100は、第1特徴量40、第2特徴量50、又はこれらの双方を用いて、識別対象についてのクラス識別を行う(S116)。例えば識別部2100は、第1特徴量40に基づいて、第1入力データ20が属するクラスを推定する第1識別モデルと、第2特徴量50に基づいて、第2入力データ30が属するクラスを推定する第2識別モデルを有する。これらの識別モデルは、例えば、ニューラルネットワークなどの機械学習モデルで構成される。
 より具体的には、第1識別モデルは、第1特徴量40を入力として取得し、第2特徴量50を利用して、第1入力データ20が複数の所定のクラスそれぞれに属する確率を表す第1スコアベクトルを出力する。そのため、特徴抽出モデル300と第1識別モデルのペアにより、1つの識別器が構成されていると見ることができる。
 同様に、第2識別モデルは、第2特徴量50を入力として取得し、第2特徴量50を利用して、第2入力データ30が複数の所定のクラスそれぞれに属する確率を表す第2スコアベクトルを出力する。そのため、特徴抽出モデル400と第2識別モデルのペアにより、1つの識別器が構成されていると見ることができる。
 例えば、作業を行っている人物(作業者)が識別対象として扱われ、作業者によって行われている作業の種類がクラスとして扱われるとする。また、第1入力データ20と第2入力データ30がそれぞれ、作業者が撮像された画像データから得られた画像特徴量と、当該画像データから抽出された作業者の骨格特徴量であるとする。そして、作業の種類として、作業P1から作業P4という4つの種類が扱われるとする。
 識別部2100は、画像特徴量(第1入力データ20)から算出された第1特徴量40を、第1識別モデルに入力することで、第1スコアベクトルを得る。第1スコアベクトルは、作業P1から作業P4のそれぞれについて、作業者によってその種類の作業が行われた確率を示す4次元ベクトルである。同様に、識別部2100は、骨格特徴量(第2入力データ30)から算出された第2特徴量50を、第2識別モデルに入力することで、第2スコアベクトルを得る。第2スコアベクトルも、第1スコアベクトルと同様に、作業P1から作業P4のそれぞれについて、作業者によってその種類の作業が行われた確率を示す4次元ベクトルである。
 識別部2100は、第1スコアベクトル、第2スコアベクトル、又はこれらの双方を利用して、識別対象についてクラス識別を行う。第1スコアベクトルのみをクラス識別に用いる場合(言い換えれば、第1特徴量40のみをクラス識別に利用する場合)、識別部2100は、第1スコアベクトルにおいて値が最大である要素に対応するクラスを、識別対象に関するクラスとして特定する。例えば前述の例において、第1スコアベクトルの要素が順に、作業P1からP4が行われた確率を示しているとする。そして、第1スコアベクトルが (0.2,0.1,0.1,0.6) であるとする。この場合、作業P4に対応する要素の値が最大であるため、識別部2100は、識別対象に関するクラス(この例では、作業者によって行われた作業の種類)が作業P4であると判定する。
 第2スコアベクトルのみをクラス識別に用いる場合(言い換えれば、第2特徴量50のみをクラス識別に利用する場合)、識別部2100は、第2スコアベクトルにおいて値が最大である要素に対応するクラスを、識別対象に関するクラスとして特定する。
 第1スコアベクトルと第2スコアベクトルの双方を用いる場合、識別部2100は、第1スコアベクトルと第2スコアベクトルを所定の方法で統合したベクトルを算出する。そして識別部2100は、統合によって得られたベクトルにおいて値が最大である要素に対応するクラスを、識別対象に関するクラスとして特定する。
 スコアを表す複数のベクトルを1つに統合する手法には、種々の方法を利用することができる。例えば識別部2100は、第1スコアベクトルと第2スコアベクトルの重み付き和を算出することで、これらのベクトルを統合する。
 ここで、第1スコアベクトルのみを用いて識別対象に関するクラス識別が行われる場合、運用時における識別部2100は、第2スコアベクトルを算出しないように設定されてもよい(すなわち、第2識別モデルが動作しないように設定される)。この場合、第2スコアベクトルは、後述するモデルの訓練の際に利用される。同様に、第2スコアベクトルのみを用いて識別対象に関するクラス識別が行われる場合、運用時における識別部2100は、第1スコアベクトルを算出しないように設定されてもよい。
<モデルの訓練>
 前述した特徴抽出モデル300、特徴抽出モデル400、アテンション生成モデル500、第1識別モデル、及び第2識別モデルは、それぞれが前述した機能を持つモデルとして動作するように、予め訓練データを用いて訓練される。以下、これらのモデルの訓練方法について例示する。なお、これらのモデルの訓練のことを総称して、「識別装置2000の訓練」とも表記する。また、識別装置2000の訓練を行う装置を、「訓練装置」と表記する。
 訓練装置は、複数の訓練データを利用して、識別装置2000に含まれる各モデルのパラメータを繰り返し更新することにより、識別装置2000を訓練する。訓練データは、入力データとして、第1入力データ20及び第2入力データ30を有し、正解(ground-truth)データとして、識別対象についてのクラスを特定可能な情報を有する。例えば正解データは、識別対象が属するクラスに対応する要素に1を示し、その他のクラスに対応する要素に0を示す one-hot ベクトルで表される。
 訓練装置は、訓練データに含まれる第1入力データ20と第2入力データ30をそれぞれ、特徴抽出モデル300と特徴抽出モデル400に入力する。これにより、特徴抽出モデル300による第1中間特徴量60の算出、特徴抽出モデル400による第2中間特徴量70の算出、アテンション生成モデル500による第1アテンションデータ80と第2アテンションデータ90の算出、特徴抽出モデル300による第1特徴量40の算出、及び特徴抽出モデル400による第2特徴量50の算出が行われる。さらに、特徴抽出モデル300から出力された第1特徴量40が第1識別モデルに入力され、第1スコアベクトルが出力される。同様に、特徴抽出モデル400から出力された第2特徴量50が第2識別モデルに入力され、第2スコアベクトルが出力される。
 訓練装置は、所定の損失関数に対して、第1スコアベクトル、第2スコアベクトル、及び正解データを適用することで、損失を算出する。そして、訓練装置は、算出した損失に基づいて、各モデル(特徴抽出モデル300、特徴抽出モデル400、アテンション生成モデル500、第1識別モデル、及び第2識別モデル)のパラメータを更新する。なお、損失に基づいてモデルのパラメータを更新する手法には、既存の種々の手法を利用することができる。
 損失関数としては様々なものを利用することができる。例えば損失関数は、第1スコアベクトルと正解データとの差異の大きさを表す第1の損失関数と、第2スコアベクトルと正解データとの差異の大きさを表す第2の損失関数との重み付き和として定義される。第1の損失関数及び第2の損失関数としては、例えば、交差エントロピーを算出する関数などを利用することができる。
 なお、前述したように、識別部2100は、第1スコアベクトルと第2スコアベクトルとを統合して1つの統合ベクトルを算出してもよい。この場合、訓練装置は、統合ベクトルと正解データとの差異を表す損失関数を利用して、損失を算出する。そして、算出した損失に基づいて、モデルのパラメータを更新する。なお、第1スコアベクトルと第2スコアベクトルとの統合においてそれぞれに重みが付される場合、これらの重みもモデルのパラメータと同等に扱うことができる。そのため訓練装置は、損失を利用してこれらの重みの更新も行う。
<結果の出力>
 識別装置2000は、実行結果の出力を行う。以下、識別装置2000から出力される情報を、出力情報と呼ぶ。例えば出力情報は、識別装置2000によって特定された、識別対象に関するクラスの識別情報を含む。また、出力情報は、識別対象が各クラスに属する確率を表す情報(前述した第1スコアベクトルや第2スコアベクトル)を示してもよい。
 出力情報の出力態様は任意である。例えば識別装置2000は、出力情報を任意の記憶装置に格納する。その他にも例えば、識別装置2000は、出力情報を任意の装置へ送信してもよい。
<3種類以上のデータを利用するケースについて>
 ここで、第1入力データ20と第2入力データ30だけでなく、その他の種類のデータも識別装置2000に利用される場合について説明する。ここで、扱われるデータの種類の数をM(M>2)と表記する。また、各データをそれぞれ、第1データ、第2データ、・・・、第Mデータと表記する。
 M種類のデータを扱う識別装置2000は、第1データから第MデータというM種類のデータそれぞれから、第1特徴量から第M特徴量というM個の特徴量を算出する。そのために、識別装置2000は、第1特徴抽出モデルから第M特徴抽出モデルというM個の特徴抽出モデルと、第1識別モデルから第M識別モデルというM個の識別モデルを有する。
 第i特徴抽出モデルは、第iデータを入力として取得し、第iデータから第i中間特徴量を算出する。ここで、iは1からNの任意の整数である。さらに、第i特徴抽出モデルは、第i中間特徴量に対して第iアテンションデータが適用されたデータから第i特徴量を算出する。
 アテンション生成モデル500は、第1中間特徴量から第M中間特徴量を利用して、第1アテンションデータから第Mアテンションデータを生成する。例えばアテンション生成モデル500は、第1中間特徴量から第M中間特徴量の全てを連結して1つの連結データを生成する。そして、M個の次元圧縮層がそれぞれ、連結データに対して次元圧縮を行うことで、第1アテンションデータから第Mアテンションデータを生成する。ここで、各iについて、第iアテンションデータの次元数が第i中間特徴量の次元数と一致するように、次元圧縮が行われる。
 ここで、各特徴抽出モデルは、図8で示したように、中間特徴量の算出を2回以上行ってもよい。言い換えれば、各特徴抽出モデルは、特徴抽出層を3個以上有していてもよい。この場合における各アテンション生成モデル500の動作は、アテンション生成モデル500が1つである場合と同様である。
 第i識別モデルは、第i特徴量を用いて、第iスコアベクトルを算出する。識別部2100は、算出されたM個のスコアベクトルの1つ以上を用いて、識別対象に関するクラスを特定する。例えば識別部2100は、M個のスコアベクトルの重み付き和を算出し、算出されたベクトルにおいて値が最大である要素に対応するクラスを、識別対象に関するクラスとして特定する。その他にも例えば、識別部2100は、所定の1つのスコアベクトルを用いて、識別対象に関するクラスを特定してもよい。なお、前述したように、運用時においてクラスの特定に利用されないスコアベクトルは、識別装置2000の運用時においては算出されなくてもよい。この場合、そのスコアベクトルを算出する識別モデルは、モデルの訓練において利用される。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 なお、上述の例において、プログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)
 識別対象について、第1種類の特徴量である第1データ及び第2種類の特徴量である第2データを取得する取得手段と、
 前記第1データから第1中間特徴量を算出した後、前記第1中間特徴量を用いてさらに第1特徴量を算出する第1特徴抽出手段と、
 前記第2データから第2中間特徴量を算出した後、前記第2中間特徴量を用いてさらに第2特徴量を算出する第2特徴抽出手段と、
 前記第1特徴量、前記第2特徴量、又はその双方を利用して、前記識別対象に関するクラス識別を行う識別手段と、
 前記第2中間特徴量を用いて第1アテンションデータを算出し、なおかつ、前記第1中間特徴量を用いて第2アテンションデータを算出するアテンションデータ生成手段と、を有し、
 前記第1特徴抽出手段は、前記第1中間特徴量及び前記第1アテンションデータを用いて、前記第1特徴量を算出し、
 前記第2特徴抽出手段は、前記第2中間特徴量及び前記第2アテンションデータを用いて、前記第2特徴量を算出する、識別装置。
 (付記2)
 前記アテンションデータ生成手段は、
  前記第2中間特徴量に対し、前記第1中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第1アテンションデータを生成し、
  前記第1中間特徴量に対し、前記第2中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第2アテンションデータを生成する、付記1に記載の識別装置。
 (付記3)
 前記アテンションデータ生成手段は、
  前記第1中間特徴量と前記第2中間特徴量を連結した連結データを生成し、
  前記連結データに対し、前記第1中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第1アテンションデータを生成し、
  前記連結データに対し、前記第2中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第2アテンションデータを生成する、付記1に記載の識別装置。
 (付記4)
 前記アテンションデータ生成手段は、
  次元圧縮された前記第1中間特徴量に対して正規化処理を実行することで、前記第1アテンションデータを生成し、
  次元圧縮された前記第2中間特徴量に対して正規化処理を実行することで、前記第2アテンションデータを生成する、付記3に記載の識別装置。
 (付記5)
 前記第1特徴抽出手段は、前記第1中間特徴量の各次元の値に対し、前記第1アテンションデータによって表される各次元の重みが付与されたデータを生成し、前記生成したデータに対して次元圧縮を行うことで前記第1特徴量を算出し、
 前記第2特徴抽出手段は、前記第2中間特徴量の各次元の値に対し、前記第2アテンションデータによって表される各次元の重みが付与されたデータを生成し、前記生成したデータに対して次元圧縮を行うことで前記第2特徴量を算出する、付記1から4いずれか一項に記載の識別装置。
 (付記6)
 前記第1データは、前記識別対象を撮像することで得られた画像データから抽出された画像特徴量であり、
 前記第2データは、前記画像データから抽出された骨格特徴量であり、
 前記識別対象のクラスは、前記識別対象の動作の種類を表す、付記1から5いずれか一項に記載の識別装置。

 (付記7)
 コンピュータによって実行される識別方法であって、
 識別対象について、第1種類の特徴量である第1データ及び第2種類の特徴量である第2データを取得する取得ステップと、
 前記第1データから第1中間特徴量を算出した後、前記第1中間特徴量を用いてさらに第1特徴量を算出する第1特徴抽出ステップと、
 前記第2データから第2中間特徴量を算出した後、前記第2中間特徴量を用いてさらに第2特徴量を算出する第2特徴抽出ステップと、
 前記第1特徴量、前記第2特徴量、又はその双方を利用して、前記識別対象に関するクラス識別を行う識別ステップと、
 前記第2中間特徴量を用いて第1アテンションデータを算出し、なおかつ、前記第1中間特徴量を用いて第2アテンションデータを算出するアテンションデータ生成ステップと、を有し、
 前記第1特徴抽出ステップにおいて、前記第1中間特徴量及び前記第1アテンションデータを用いて、前記第1特徴量を算出し、
 前記第2特徴抽出ステップにおいて、前記第2中間特徴量及び前記第2アテンションデータを用いて、前記第2特徴量を算出する、識別方法。
 (付記8)
 前記アテンションデータ生成ステップにおいて、
  前記第2中間特徴量に対し、前記第1中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第1アテンションデータを生成し、
  前記第1中間特徴量に対し、前記第2中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第2アテンションデータを生成する、付記7に記載の識別方法。
 (付記9)
 前記アテンションデータ生成ステップにおいて、
  前記第1中間特徴量と前記第2中間特徴量を連結した連結データを生成し、
  前記連結データに対し、前記第1中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第1アテンションデータを生成し、
  前記連結データに対し、前記第2中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第2アテンションデータを生成する、付記7に記載の識別方法。
 (付記10)
 前記アテンションデータ生成ステップにおいて、
  次元圧縮された前記第1中間特徴量に対して正規化処理を実行することで、前記第1アテンションデータを生成し、
  次元圧縮された前記第2中間特徴量に対して正規化処理を実行することで、前記第2アテンションデータを生成する、付記9に記載の識別方法。
 (付記11)
 前記第1特徴抽出ステップにおいて、前記第1中間特徴量の各次元の値に対し、前記第1アテンションデータによって表される各次元の重みが付与されたデータを生成し、前記生成したデータに対して次元圧縮を行うことで前記第1特徴量を算出し、
 前記第2特徴抽出ステップにおいて、前記第2中間特徴量の各次元の値に対し、前記第2アテンションデータによって表される各次元の重みが付与されたデータを生成し、前記生成したデータに対して次元圧縮を行うことで前記第2特徴量を算出する、付記7から10いずれか一項に記載の識別方法。
 (付記12)
 前記第1データは、前記識別対象を撮像することで得られた画像データから抽出された画像特徴量であり、
 前記第2データは、前記画像データから抽出された骨格特徴量であり、
 前記識別対象のクラスは、前記識別対象の動作の種類を表す、付記7から11いずれか一項に記載の識別方法。
 (付記13)
 コンピュータに、
 識別対象について、第1種類の特徴量である第1データ及び第2種類の特徴量である第2データを取得する取得ステップと、
 前記第1データから第1中間特徴量を算出した後、前記第1中間特徴量を用いてさらに第1特徴量を算出する第1特徴抽出ステップと、
 前記第2データから第2中間特徴量を算出した後、前記第2中間特徴量を用いてさらに第2特徴量を算出する第2特徴抽出ステップと、
 前記第1特徴量、前記第2特徴量、又はその双方を利用して、前記識別対象に関するクラス識別を行う識別ステップと、
 前記第2中間特徴量を用いて第1アテンションデータを算出し、なおかつ、前記第1中間特徴量を用いて第2アテンションデータを算出するアテンションデータ生成ステップと、を実行させるプログラムが格納されており、
 前記第1特徴抽出ステップにおいて、前記第1中間特徴量及び前記第1アテンションデータを用いて、前記第1特徴量を算出し、
 前記第2特徴抽出ステップにおいて、前記第2中間特徴量及び前記第2アテンションデータを用いて、前記第2特徴量を算出する、非一時的なコンピュータ可読媒体。
 (付記14)
 前記アテンションデータ生成ステップにおいて、
  前記第2中間特徴量に対し、前記第1中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第1アテンションデータを生成し、
  前記第1中間特徴量に対し、前記第2中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第2アテンションデータを生成する、付記13に記載のコンピュータ可読媒体。
 (付記15)
 前記アテンションデータ生成ステップにおいて、
  前記第1中間特徴量と前記第2中間特徴量を連結した連結データを生成し、
  前記連結データに対し、前記第1中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第1アテンションデータを生成し、
  前記連結データに対し、前記第2中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第2アテンションデータを生成する、付記13に記載のコンピュータ可読媒体。
 (付記16)
 前記アテンションデータ生成ステップにおいて、
  次元圧縮された前記第1中間特徴量に対して正規化処理を実行することで、前記第1アテンションデータを生成し、
  次元圧縮された前記第2中間特徴量に対して正規化処理を実行することで、前記第2アテンションデータを生成する、付記15に記載のコンピュータ可読媒体。
 (付記17)
 前記第1特徴抽出ステップにおいて、前記第1中間特徴量の各次元の値に対し、前記第1アテンションデータによって表される各次元の重みが付与されたデータを生成し、前記生成したデータに対して次元圧縮を行うことで前記第1特徴量を算出し、
 前記第2特徴抽出ステップにおいて、前記第2中間特徴量の各次元の値に対し、前記第2アテンションデータによって表される各次元の重みが付与されたデータを生成し、前記生成したデータに対して次元圧縮を行うことで前記第2特徴量を算出する、付記13から16いずれか一項に記載のコンピュータ可読媒体。
 (付記18)
 前記第1データは、前記識別対象を撮像することで得られた画像データから抽出された画像特徴量であり、
 前記第2データは、前記画像データから抽出された骨格特徴量であり、
 前記識別対象のクラスは、前記識別対象の動作の種類を表す、付記13から17いずれか一項に記載のコンピュータ可読媒体。
10      観測データ
20      第1入力データ
30      第2入力データ
40      第1特徴量
50      第2特徴量
60      第1中間特徴量
70      第2中間特徴量
80      第1アテンションデータ
90      第2アテンションデータ
100      連結データ
300      特徴抽出モデル
310      特徴抽出層
320      特徴抽出層
330      特徴抽出層
400      特徴抽出モデル
410      特徴抽出層
420      特徴抽出層
430      特徴抽出層
500      アテンション生成モデル
510      次元圧縮層
520      次元圧縮層
530      次元圧縮層
540      次元圧縮層
1000     コンピュータ
1020     バス
1040     プロセッサ
1060     メモリ
1080     ストレージデバイス
1100     入出力インタフェース
1120     ネットワークインタフェース
2000     識別装置
2020     取得部
2040     第1特徴抽出部
2060     第2特徴抽出部
2080     アテンション生成部
2100     識別部

Claims (18)

  1.  識別対象について、第1種類の特徴量である第1データ及び第2種類の特徴量である第2データを取得する取得手段と、
     前記第1データから第1中間特徴量を算出した後、前記第1中間特徴量を用いてさらに第1特徴量を算出する第1特徴抽出手段と、
     前記第2データから第2中間特徴量を算出した後、前記第2中間特徴量を用いてさらに第2特徴量を算出する第2特徴抽出手段と、
     前記第1特徴量、前記第2特徴量、又はその双方を利用して、前記識別対象に関するクラス識別を行う識別手段と、
     前記第2中間特徴量を用いて第1アテンションデータを算出し、なおかつ、前記第1中間特徴量を用いて第2アテンションデータを算出するアテンションデータ生成手段と、を有し、
     前記第1特徴抽出手段は、前記第1中間特徴量及び前記第1アテンションデータを用いて、前記第1特徴量を算出し、
     前記第2特徴抽出手段は、前記第2中間特徴量及び前記第2アテンションデータを用いて、前記第2特徴量を算出する、識別装置。
  2.  前記アテンションデータ生成手段は、
      前記第2中間特徴量に対し、前記第1中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第1アテンションデータを生成し、
      前記第1中間特徴量に対し、前記第2中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第2アテンションデータを生成する、請求項1に記載の識別装置。
  3.  前記アテンションデータ生成手段は、
      前記第1中間特徴量と前記第2中間特徴量を連結した連結データを生成し、
      前記連結データに対し、前記第1中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第1アテンションデータを生成し、
      前記連結データに対し、前記第2中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第2アテンションデータを生成する、請求項1に記載の識別装置。
  4.  前記アテンションデータ生成手段は、
      次元圧縮された前記第1中間特徴量に対して正規化処理を実行することで、前記第1アテンションデータを生成し、
      次元圧縮された前記第2中間特徴量に対して正規化処理を実行することで、前記第2アテンションデータを生成する、請求項3に記載の識別装置。
  5.  前記第1特徴抽出手段は、前記第1中間特徴量の各次元の値に対し、前記第1アテンションデータによって表される各次元の重みが付与されたデータを生成し、前記生成したデータに対して次元圧縮を行うことで前記第1特徴量を算出し、
     前記第2特徴抽出手段は、前記第2中間特徴量の各次元の値に対し、前記第2アテンションデータによって表される各次元の重みが付与されたデータを生成し、前記生成したデータに対して次元圧縮を行うことで前記第2特徴量を算出する、請求項1から4いずれか一項に記載の識別装置。
  6.  前記第1データは、前記識別対象を撮像することで得られた画像データから抽出された画像特徴量であり、
     前記第2データは、前記画像データから抽出された骨格特徴量であり、
     前記識別対象のクラスは、前記識別対象の動作の種類を表す、請求項1から5いずれか一項に記載の識別装置。
  7.  コンピュータによって実行される識別方法であって、
     識別対象について、第1種類の特徴量である第1データ及び第2種類の特徴量である第2データを取得する取得ステップと、
     前記第1データから第1中間特徴量を算出した後、前記第1中間特徴量を用いてさらに第1特徴量を算出する第1特徴抽出ステップと、
     前記第2データから第2中間特徴量を算出した後、前記第2中間特徴量を用いてさらに第2特徴量を算出する第2特徴抽出ステップと、
     前記第1特徴量、前記第2特徴量、又はその双方を利用して、前記識別対象に関するクラス識別を行う識別ステップと、
     前記第2中間特徴量を用いて第1アテンションデータを算出し、なおかつ、前記第1中間特徴量を用いて第2アテンションデータを算出するアテンションデータ生成ステップと、を有し、
     前記第1特徴抽出ステップにおいて、前記第1中間特徴量及び前記第1アテンションデータを用いて、前記第1特徴量を算出し、
     前記第2特徴抽出ステップにおいて、前記第2中間特徴量及び前記第2アテンションデータを用いて、前記第2特徴量を算出する、識別方法。
  8.  前記アテンションデータ生成ステップにおいて、
      前記第2中間特徴量に対し、前記第1中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第1アテンションデータを生成し、
      前記第1中間特徴量に対し、前記第2中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第2アテンションデータを生成する、請求項7に記載の識別方法。
  9.  前記アテンションデータ生成ステップにおいて、
      前記第1中間特徴量と前記第2中間特徴量を連結した連結データを生成し、
      前記連結データに対し、前記第1中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第1アテンションデータを生成し、
      前記連結データに対し、前記第2中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第2アテンションデータを生成する、請求項7に記載の識別方法。
  10.  前記アテンションデータ生成ステップにおいて、
      次元圧縮された前記第1中間特徴量に対して正規化処理を実行することで、前記第1アテンションデータを生成し、
      次元圧縮された前記第2中間特徴量に対して正規化処理を実行することで、前記第2アテンションデータを生成する、請求項9に記載の識別方法。
  11.  前記第1特徴抽出ステップにおいて、前記第1中間特徴量の各次元の値に対し、前記第1アテンションデータによって表される各次元の重みが付与されたデータを生成し、前記生成したデータに対して次元圧縮を行うことで前記第1特徴量を算出し、
     前記第2特徴抽出ステップにおいて、前記第2中間特徴量の各次元の値に対し、前記第2アテンションデータによって表される各次元の重みが付与されたデータを生成し、前記生成したデータに対して次元圧縮を行うことで前記第2特徴量を算出する、請求項7から10いずれか一項に記載の識別方法。
  12.  前記第1データは、前記識別対象を撮像することで得られた画像データから抽出された画像特徴量であり、
     前記第2データは、前記画像データから抽出された骨格特徴量であり、
     前記識別対象のクラスは、前記識別対象の動作の種類を表す、請求項7から11いずれか一項に記載の識別方法。
  13.  コンピュータに、
     識別対象について、第1種類の特徴量である第1データ及び第2種類の特徴量である第2データを取得する取得ステップと、
     前記第1データから第1中間特徴量を算出した後、前記第1中間特徴量を用いてさらに第1特徴量を算出する第1特徴抽出ステップと、
     前記第2データから第2中間特徴量を算出した後、前記第2中間特徴量を用いてさらに第2特徴量を算出する第2特徴抽出ステップと、
     前記第1特徴量、前記第2特徴量、又はその双方を利用して、前記識別対象に関するクラス識別を行う識別ステップと、
     前記第2中間特徴量を用いて第1アテンションデータを算出し、なおかつ、前記第1中間特徴量を用いて第2アテンションデータを算出するアテンションデータ生成ステップと、を実行させるプログラムが格納されており、
     前記第1特徴抽出ステップにおいて、前記第1中間特徴量及び前記第1アテンションデータを用いて、前記第1特徴量を算出し、
     前記第2特徴抽出ステップにおいて、前記第2中間特徴量及び前記第2アテンションデータを用いて、前記第2特徴量を算出する、非一時的なコンピュータ可読媒体。
  14.  前記アテンションデータ生成ステップにおいて、
      前記第2中間特徴量に対し、前記第1中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第1アテンションデータを生成し、
      前記第1中間特徴量に対し、前記第2中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第2アテンションデータを生成する、請求項13に記載のコンピュータ可読媒体。
  15.  前記アテンションデータ生成ステップにおいて、
      前記第1中間特徴量と前記第2中間特徴量を連結した連結データを生成し、
      前記連結データに対し、前記第1中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第1アテンションデータを生成し、
      前記連結データに対し、前記第2中間特徴量の次元数と同じ次元数となるように次元圧縮を行うことで、前記第2アテンションデータを生成する、請求項13に記載のコンピュータ可読媒体。
  16.  前記アテンションデータ生成ステップにおいて、
      次元圧縮された前記第1中間特徴量に対して正規化処理を実行することで、前記第1アテンションデータを生成し、
      次元圧縮された前記第2中間特徴量に対して正規化処理を実行することで、前記第2アテンションデータを生成する、請求項15に記載のコンピュータ可読媒体。
  17.  前記第1特徴抽出ステップにおいて、前記第1中間特徴量の各次元の値に対し、前記第1アテンションデータによって表される各次元の重みが付与されたデータを生成し、前記生成したデータに対して次元圧縮を行うことで前記第1特徴量を算出し、
     前記第2特徴抽出ステップにおいて、前記第2中間特徴量の各次元の値に対し、前記第2アテンションデータによって表される各次元の重みが付与されたデータを生成し、前記生成したデータに対して次元圧縮を行うことで前記第2特徴量を算出する、請求項13から16いずれか一項に記載のコンピュータ可読媒体。
  18.  前記第1データは、前記識別対象を撮像することで得られた画像データから抽出された画像特徴量であり、
     前記第2データは、前記画像データから抽出された骨格特徴量であり、
     前記識別対象のクラスは、前記識別対象の動作の種類を表す、請求項13から17いずれか一項に記載のコンピュータ可読媒体。
PCT/JP2022/005138 2022-02-09 2022-02-09 識別装置、識別方法、及び非一時的なコンピュータ可読媒体 WO2023152832A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/005138 WO2023152832A1 (ja) 2022-02-09 2022-02-09 識別装置、識別方法、及び非一時的なコンピュータ可読媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/005138 WO2023152832A1 (ja) 2022-02-09 2022-02-09 識別装置、識別方法、及び非一時的なコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2023152832A1 true WO2023152832A1 (ja) 2023-08-17

Family

ID=87563845

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/005138 WO2023152832A1 (ja) 2022-02-09 2022-02-09 識別装置、識別方法、及び非一時的なコンピュータ可読媒体

Country Status (1)

Country Link
WO (1) WO2023152832A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111145913A (zh) * 2019-12-30 2020-05-12 安徽科大讯飞医疗信息技术有限公司 基于多重注意力模型的分类方法、装置及设备
CN112101262A (zh) * 2020-09-22 2020-12-18 中国科学技术大学 一种多特征融合手语识别方法及网络模型
CN112597884A (zh) * 2020-12-22 2021-04-02 中国科学院计算技术研究所 手势识别模型的训练方法、手势识别方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111145913A (zh) * 2019-12-30 2020-05-12 安徽科大讯飞医疗信息技术有限公司 基于多重注意力模型的分类方法、装置及设备
CN112101262A (zh) * 2020-09-22 2020-12-18 中国科学技术大学 一种多特征融合手语识别方法及网络模型
CN112597884A (zh) * 2020-12-22 2021-04-02 中国科学院计算技术研究所 手势识别模型的训练方法、手势识别方法及系统

Similar Documents

Publication Publication Date Title
US11222239B2 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
WO2021036059A1 (zh) 图像转换模型训练方法、异质人脸识别方法、装置及设备
WO2020133636A1 (zh) 前列腺手术中外包膜智能检测和预警方法及系统
CN111656372A (zh) 训练神经网络模型
CN109684969B (zh) 凝视位置估计方法、计算机设备及存储介质
US20210216821A1 (en) Training data generating method, estimating device, and recording medium
Turabzadeh et al. Real-time emotional state detection from facial expression on embedded devices
CN112529149B (zh) 一种数据处理方法及相关装置
KR20210052036A (ko) 복수 의도어 획득을 위한 합성곱 신경망을 가진 장치 및 그 방법
Ali et al. Object recognition for dental instruments using SSD-MobileNet
CN112543936A (zh) 用于动作识别的动作结构自注意力图卷积网络
CN114424940A (zh) 基于多模态时空特征融合的情绪识别方法及系统
CN112203582A (zh) 脉冲传播时间确定方法和系统
CN111310590B (zh) 一种动作识别方法及电子设备
KR102274581B1 (ko) 개인화된 hrtf 생성 방법
WO2021259336A1 (zh) 一种模态信息补全方法、装置及设备
Nagalapuram et al. Controlling media player with hand gestures using convolutional neural network
JP2009037410A (ja) 感情表現抽出処理装置及びプログラム
JP7205646B2 (ja) 出力方法、出力プログラム、および出力装置
WO2023152832A1 (ja) 識別装置、識別方法、及び非一時的なコンピュータ可読媒体
CN110545386B (zh) 用于拍摄图像的方法和设备
CN110532891B (zh) 目标对象状态识别方法、装置、介质和设备
WO2020137536A1 (ja) 人物認証装置、制御方法、及びプログラム
Tivatansakul et al. Healthcare system focusing on emotional aspect using augmented reality: Emotion detection by facial expression
US20240013357A1 (en) Recognition system, recognition method, program, learning method, trained model, distillation model and training data set generation method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22925853

Country of ref document: EP

Kind code of ref document: A1