WO2020141587A1 - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- WO2020141587A1 WO2020141587A1 PCT/JP2019/048321 JP2019048321W WO2020141587A1 WO 2020141587 A1 WO2020141587 A1 WO 2020141587A1 JP 2019048321 W JP2019048321 W JP 2019048321W WO 2020141587 A1 WO2020141587 A1 WO 2020141587A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- classification
- classes
- unit
- information processing
- threshold value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Definitions
- the present disclosure relates to an information processing device, an information processing method, and a program.
- a multilayer neural network (DNN) is used as a recognition model (hereinafter also referred to as a classification model) for recognizing an object in an image.
- the DNN receives an image as an input, and outputs a probability value (also referred to as a likelihood with respect to an object class) of classifying an object included in the image.
- the Softmax function is used in the output layer of the DNN (see, for example, Patent Document 1).
- the Softmax function includes exponential calculation
- the calculation resources may be tight.
- the present disclosure provides an information processing device, an information processing method, and a program that can reduce the amount of calculation for classifying objects.
- an information processing apparatus including a processor, and the processor is a first classification for classifying data into at least one of a plurality of classes. Acquiring a threshold value, outputting a classification result of classifying the data into at least one of the plurality of classes based on an output of a trained classification model and the first classification threshold value, and the first classification threshold value is the first classification threshold value.
- 2 classification thresholds obtained by a second transformation that is an inverse transformation to the first transformation, the first transformation being the classification probability values of a plurality of simplex classes that constitute the plurality of classes from the output of the trained classification model
- the second classification threshold is set based on the classification probability values of the plurality of single classes.
- an information processing method is an information processing method executed by a computer, which executes a first conversion from an output of a trained classification model into classification probability values of a plurality of single classes. , Setting a second classification threshold value based on the classification probability values of the plurality of single classes, and converting the second classification threshold value into a first classification threshold value for classifying data into at least one of the plurality of classes. Then, the second transformation, which is the inverse transformation to the first transformation, is executed, and the first classification threshold value is output.
- a program acquires a first classification threshold for classifying data into at least one of a plurality of classes, and based on an output of a trained classification model and the first classification threshold. And outputting a classification result in which the data is classified into at least one of the plurality of classes, and the first classification threshold is obtained by a second transformation that is an inverse transformation of the second classification threshold with respect to the first transformation.
- the first transformation is a transformation from the output of the trained classification model into classification probability values of a plurality of single classes, and the second classification threshold is set based on the classification probability values of the plurality of single classes.
- one aspect of the present disclosure can also be realized as a computer-readable non-transitory recording medium that stores the program.
- the amount of calculation for classifying an object can be reduced.
- FIG. 1 is a block diagram showing an example of the configuration of the information processing system according to the first embodiment.
- FIG. 2 is a flowchart showing an example of the operation of the threshold value calculation device according to the first embodiment.
- FIG. 3 is a flowchart showing an example of the operation of the information processing device according to the first embodiment.
- FIG. 4 is a block diagram showing an example of the configuration of the information processing device according to the modification of the first embodiment.
- FIG. 5 is a flowchart showing an example of the operation of the threshold value calculation unit in the modification of the first embodiment.
- FIG. 6 is a flowchart showing an example of the operation of the information processing unit in the modification of the first embodiment.
- FIG. 7 is a block diagram showing an example of the configuration of the information processing system according to the second embodiment.
- FIG. 8 is a flowchart showing an example of the operation of the threshold value calculation device according to the second embodiment.
- FIG. 9 is a block diagram showing an example of the configuration of the information processing apparatus according to the modification of the second embodiment.
- FIG. 10 is a flowchart showing an example of the operation of the threshold value calculation unit in the modification of the second embodiment.
- the amount of calculation can be reduced as compared with the case of multiplying a vector that is not scalar-quantized by a weight vector, and thus the number of hidden layer units can be increased.
- the likelihood vector is calculated using the scalar-quantized output vector, the value becomes coarser than the case where the likelihood vector is calculated using the output vector that is not scalar-quantized. Therefore, the recognition accuracy may decrease.
- the Softmax function is applied in the output layer to apply the likelihood vector ( Hereinafter, the classification probability value) is calculated. Since the Softmax function includes the operation of the exponential function, the amount of operation of the exponential function becomes a problem when it is mounted on the embedded system. Furthermore, since the Softmax function adjusts the input so that the total sum becomes 1, it cannot be restored to the original value even by the inverse conversion. In other words, since the Softmax function performs an irreversible operation on the input, it is impossible to inversely transform the output value obtained by inputting to the Softmax function to obtain an unnormalized value.
- the inventor of the present application inversely transforms the calculated threshold value by performing reversible conversion in the output layer of the DNN in the process of determining the threshold value of each of the plurality of classes.
- an unnormalized threshold is obtained.
- an unnormalized threshold value can be used in the classification processing of the object in the input image, and thus an information processing apparatus that can reduce the amount of calculation for classifying the object has been conceived.
- An information processing apparatus is an information processing apparatus including a processor, wherein the processor acquires a first classification threshold value for classifying data into at least one of a plurality of classes and has been trained.
- a classification result obtained by classifying the data into at least one of the plurality of classes based on the output of the classification model and the first classification threshold, the first classification threshold being the first classification threshold of the first classification threshold.
- the second classification threshold value is set based on the classification probability values of the plurality of single classes.
- an inverse transformable function is used in the first transformation that transforms the output of the classification model into the classification probability values of a plurality of single classes. Therefore, if the first classification threshold obtained by executing the second transformation that is the inverse transformation of the first transformation on the second classification threshold is used for the object classification processing, for example, an image is input. It becomes unnecessary to convert the output of the classification model into the classification probability values of a plurality of single classes. Therefore, the information processing apparatus according to the aspect of the present disclosure can reduce the amount of calculation for classifying the object.
- the output of the trained classification model may be a plurality of scalars corresponding to the plurality of classes.
- an information processing method is an information processing method executed by a computer, which executes a first conversion from an output of a trained classification model into classification probability values of a plurality of single classes. , Setting a second classification threshold value based on the classification probability values of the plurality of single classes, and converting the second classification threshold value into a first classification threshold value for classifying data into at least one of the plurality of classes. Then, the second transformation, which is the inverse transformation to the first transformation, is executed, and the first classification threshold value is output.
- an invertible function is used in the first conversion that converts the output of the classification model into the classification probability values of multiple single classes. Therefore, by performing the second transformation, which is the inverse transformation of the first transformation, on the second classification threshold, the first classification threshold that is a non-normalized threshold is obtained. For example, when the first classification threshold value is used for the object classification process, it is not necessary to convert the output of the classification model into the classification probability values of a plurality of single classes. Therefore, according to the information processing method according to the aspect of the present disclosure, the first classification threshold value that is a non-normalized threshold value is obtained, and thus the amount of calculation for classifying the object can be reduced.
- the first transformation may be an operation by an inverse transformable probability function
- the second transformation may be an operation by an inverse function of the probability function. ..
- the first transformation is a database corresponding to an operation by an inverse transformable probability function
- the second transformation is an operation by an inverse function of the probability function. It may be a corresponding database.
- a data set is acquired, the data set is input to the trained classification model, and the plurality of simplex classes are classified for each data included in the data set.
- the probability value may be acquired, and the second classification threshold value may be determined based on the classification result using the second classification threshold value for each of the acquired classification probability values of the plurality of single classes.
- the threshold value of the classification probability value with respect to the classification probability values of the plurality of single classes that is, the value of the second classification threshold value is shifted, and the second classification satisfying the target accuracy is obtained. It is determined by selecting a threshold value. Therefore, according to the information processing method according to the aspect of the present disclosure, it is possible to determine the threshold value with which the desired classification accuracy is obtained.
- a program acquires a first classification threshold for classifying data into at least one of a plurality of classes, and based on an output of a trained classification model and the first classification threshold. And outputting a classification result in which the data is classified into at least one of the plurality of classes, and the first classification threshold is obtained by a second transformation that is an inverse transformation of the second classification threshold with respect to the first transformation.
- the first transformation is a transformation from the output of the trained classification model into classification probability values of a plurality of single classes, and the second classification threshold is set based on the classification probability values of the plurality of single classes.
- an inverse transformable function is used in the first transformation that transforms the output of the classification model into the classification probability values of a plurality of single classes. Therefore, if the first classification threshold obtained by executing the second transformation that is the inverse transformation of the first transformation on the second classification threshold is used for the object classification processing, for example, an image is input. It becomes unnecessary to convert the output of the classification model into the classification probability values of a plurality of single classes. Therefore, according to the program according to an aspect of the present disclosure, the amount of calculation for classifying an object can be reduced.
- each diagram is a schematic diagram and is not necessarily an exact illustration. Therefore, for example, the scales and the like in the drawings do not necessarily match. Further, in each of the drawings, the substantially same components are designated by the same reference numerals, and duplicate description will be omitted or simplified.
- a term indicating a relationship between elements such as horizontal or vertical, and a numerical range are not expressions expressing only a strict meaning, but a substantially equivalent range, for example, a difference of about several%. It is an expression that means to include.
- FIG. 1 is a block diagram showing an example of the configuration of the information processing system 300a according to the first embodiment.
- the information processing system 300a is a system that classifies the data acquired by the sensor into at least one of a plurality of classes and outputs the classification result.
- the information processing system 300a uses a threshold value calculation device 200a that calculates a first classification threshold value for classifying data into at least one of a plurality of classes, an output of a trained classification model, and a first classification threshold value.
- An information processing apparatus 100a that outputs a classification result obtained by classifying data into at least one of a plurality of classes.
- the sensor is, for example, a sound sensor such as a microphone, an image sensor, a distance sensor, a gyro sensor, or a pressure sensor.
- Data acquired using a plurality of sensors may be acquired using a three-dimensional reconstruction technique such as SfM (Structure from Motion).
- the data acquired by the sensor is, for example, voice, image, moving image, three-dimensional point cloud data, or vector data.
- a plurality of classes for classifying data may be set according to the type of data, the purpose of the data, and the like.
- a class such as a voice of a specific person, a motion sound of a specific machine, or a bark of a specific animal may be set.
- the data is an image, for example, in a surveillance camera system or the like, a class such as a specific person may be set, and in an in-vehicle camera system or the like, a pedestrian, an automobile, a motorcycle, a bicycle, a background, or the like.
- the class of may be set.
- the data is three-dimensional point cloud data
- a class such as an unevenness, a crack, or a specific structure of a structure or terrain may be set from a three-dimensional shape such as a structure or terrain.
- vector data for example, classes such as motion vectors in a plurality of parts of a structure such as a bridge girder or a soundproof wall may be set.
- the threshold value calculation device 200a is a device that calculates a first classification threshold value for classifying data into at least one of a plurality of classes.
- the threshold calculation device 200a includes a storage unit 201, a first calculation unit 202, a classification probability calculation unit 203, a classification threshold determination unit 204, a threshold conversion unit 205, and a first output unit. 206, and.
- the storage unit 201 stores a second classification threshold evaluation data set.
- the evaluation data set includes a set of input data input to the first calculation unit 202 and correct answer data corresponding to the input data.
- the correct answer data is a classification probability value for each of a plurality of classes of input data.
- the classification probability values for each of the plurality of classes are also referred to as the classification probability values of the plurality of single classes.
- the single class refers to each class that constitutes a plurality of classes.
- the classification probability values of the plurality of single classes are normalized probability values obtained by first converting the output of the first calculation unit 202 in the classification probability calculation unit 203.
- the second classification threshold value is set based on the classification probability values of a plurality of single classes.
- the first calculation unit 202 is a feature quantity extractor that extracts a feature quantity of data, and is, for example, a machine learning model.
- the first calculation unit 202 is a trained classification model.
- the classification model is a multilayer neural network (DNN).
- the first calculation unit 202 acquires the evaluation data set.
- the first calculation unit 202 reads the evaluation data set from the storage unit 201.
- the input data of the evaluation data set is input to the first calculation unit 202.
- the first calculation unit 202 outputs a plurality of scalars corresponding to a plurality of classes of the input data. Each scalar is a feature quantity corresponding to each class of input data.
- the output of the first calculation unit 202 is an unnormalized value.
- the first calculation unit 202 is not limited to the DNN.
- the first calculation unit 202 may be a feature quantity extractor other than DNN that uses a method such as an edge extraction method, a principal component analysis method, a block matching method, and a sampling moire method.
- the first calculation unit 202 may acquire the evaluation data set from another device via communication.
- the evaluation data set may be acquired from a server or a storage via the Internet.
- the classification probability calculation unit 203 executes a first conversion that is a conversion from the output of the first calculation unit 202 into the classification probability values of a plurality of single classes. More specifically, the classification probability calculation unit 203 uses reversible conversion in the first conversion to calculate the classification probability values of a plurality of single classes from the output of the first calculation unit 202. For example, the classification probability calculation unit 203 handles a plurality of classes of input data by normalizing a plurality of scalars (feature amounts) corresponding to a plurality of classes of input data using a probability function that can be inversely transformed. Derive the classification probability value.
- the appropriate threshold value is inversely converted and normalized. It is possible to derive a threshold that does not exist.
- the classification probability calculation unit 203 is composed of, for example, a plurality of single class probability calculation units.
- the plurality of scalars corresponding to the plurality of classes are input to the probability calculation unit of the single class corresponding to each of the plurality of classes.
- the probability calculation units of the plurality of single classes are functions that can be inversely transformed. These functions may be different or the same.
- the function that can be inversely converted may be a differentiable function, and is, for example, a sigmoid function or a hyperbolic tangent function (Tanh: Tangent Hyperbolic Function).
- the first conversion may be an operation using an inverse transformable probability function or a conversion using a database corresponding to an operation using an inverse transformable probability function.
- the database may be a table in which inputs and outputs (values after conversion) are associated with each other, such as a Lookup table.
- the classification threshold value determining unit 204 determines the second classification threshold value based on the classification probability values of the plurality of single classes calculated by the classification probability calculating unit 203. More specifically, the classification threshold determination unit 204 acquires the classification probability values of a plurality of single classes, and based on the classification result using the second classification threshold for each of the acquired classification probability values of the single classes. To determine the second classification threshold. For example, the classification threshold determination unit 204 reads out the evaluation data set from the storage unit 201, and based on the correct answer data of the evaluation data set and the classification probability values of the plurality of single classes calculated by the classification probability calculation unit 203. , Determine a second classification threshold. That is, the classification threshold determination unit 204 determines the optimum second classification threshold based on the evaluation data set. For example, the classification threshold value determining unit 204 determines the second classification threshold value for each of the classification probability values of the plurality of single classes according to the ratio of FP (False Positive)/FN (False Negative) to the evaluation data set.
- the second classification threshold value may be set to a predetermined value, or may be determined according to the target accuracy set by the user.
- the classification threshold determination unit 204 applies the second classification threshold to the classification probability values of the plurality of single classes, and the result obtained thereby satisfies the target threshold.
- the second classification threshold may be determined as follows.
- the target accuracy may be set for each class or may be set for all classes. Details of the method will be described later in the section of the operation of the threshold value calculation device.
- the second classification threshold value may be different in each of the plurality of single classes, or may be the same value in all of the multiple single classes.
- the threshold conversion unit 205 executes a second conversion, which is a conversion of the first classification threshold for classifying the data from the second classification threshold into at least one of a plurality of classes, which is an inverse conversion to the first conversion.
- the threshold conversion unit 205 converts the second classification threshold into an unnormalized threshold (that is, the first classification threshold) by performing inverse conversion.
- the threshold conversion unit 205 may be an inverse function of a function (for example, an inverse transformable probability function) forming the classification probability operation unit 203, and is a database corresponding to an operation by an inverse function of an inverse transformable probability function. It may be.
- the database may be a table in which inputs and outputs (values after inverse conversion) are associated with each other, such as a Lookup table.
- the first classification threshold is used in the information processing device 100a to classify data into at least one of a plurality of classes.
- the information processing apparatus 100a can perform the data class classification process using a non-normalized threshold value (first classification threshold value). Therefore, the information processing apparatus 100a can perform the classification process based on the feature amount extracted from the data, so that the normalization process is unnecessary and the calculation amount can be reduced.
- the first classification threshold value may be set to different values in each of the plurality of classes, or a common value may be set to all the classes of the plurality of classes.
- the first output unit 206 outputs the first classification threshold. More specifically, the first output unit 206 outputs the first classification threshold to the first acquisition unit 103 of the information processing device 100a via communication.
- the communication may be wireless communication such as Wi-Fi (registered trademark) or Bluetooth (registered trademark), or may be wired communication such as Ethernet (registered trademark).
- the threshold value calculation device 200a may include a training unit (not shown) for training the machine learning model.
- the training unit may include a storage unit (not shown) that holds the training data set.
- the training data set includes a set of pre-stored input data and correct answer data.
- the training unit may acquire new training data from a database arranged on a server connected via a communication network such as the Internet and update the training data set.
- the training unit may include a holding unit (not shown) that holds the same classification model as the first calculation unit 202, and the holding unit further includes the same N classification classes as the classification probability calculation unit 203. You may hold a probability calculation part.
- the training unit trains the same classification model as the first calculation unit 202 using the training data set.
- the training unit may train a network including N single-class classification probability calculation units included in the classification probability calculation unit 203.
- the training unit may output the trained classification model to the first calculation unit 202 when the training of the classification model and the network is completed, and update the first calculation unit 202 with the trained classification model.
- the training unit may output a network having the trained N-class classification probability calculation units to the classification probability calculation unit 203, and update the classification probability calculation unit 203 to the trained network.
- the information processing device 100a is, for example, a device that classifies data acquired by a sensor into at least one of a plurality of classes and outputs a classification result.
- the data is an image
- the data and the sensor that acquires the data have been described in the outline of the information processing system 300a, and thus the description thereof is omitted here.
- the information processing device 100a includes a first acquisition unit 103, a second acquisition unit 101, a second calculation unit 102, a threshold processing unit 104, and a second output unit 105. ..
- the first acquisition unit 103 acquires the first classification threshold output from the first output unit 206 of the threshold calculation device 200a via communication, and outputs the acquired first classification threshold to the threshold processing unit 104. Since the communication has been described above, the description thereof is omitted here.
- the first classification threshold may be stored in advance in a storage unit included in the information processing device 100a.
- the second acquisition unit 101 acquires data from the sensor via communication.
- the sensor is an image sensor and the data is an image.
- the second acquisition unit 101 outputs the acquired data to the second calculation unit 102.
- the communication may be wireless communication or wire communication.
- the number of sensors is not limited to one, and for example, two or more sensors may be synchronized to acquire data.
- the second acquisition unit 101 may also acquire data via a removable memory.
- the removable memory is, for example, a USB (Universal Serial Bus) memory.
- the second calculation unit 102 is a feature quantity extractor that extracts a feature quantity of data, and is, for example, a machine learning model.
- the second calculation unit 102 is a trained classification model.
- the classification model is a multilayer neural network (DNN).
- the data acquired by the first acquisition unit 103 is input to the second calculation unit 102.
- the second calculation unit 102 outputs a plurality of scalars corresponding to a plurality of classes of the data. Each scalar is a feature quantity corresponding to each class of data.
- the output of the second calculation unit 102 is a non-normalized value.
- the second calculation unit 102 is not limited to the DNN.
- the second computing unit 102 is a feature quantity extractor other than DNN that uses a feature point extraction method (for example, edge extraction), a principal component analysis method, a block matching method, a sampling moire method, or the like. Good.
- the threshold processing unit 104 acquires the first classification threshold value output from the first acquisition unit 103, and based on the output of the second calculation unit 102 and the first classification threshold value, sets the data to at least one of a plurality of classes. Classify into. More specifically, the threshold processing unit 104 determines whether or not the probability value for each of the plurality of classes output from the second calculation unit 102 is equal to or more than the first classification threshold value, and thus the data is stored in the plurality of classes. Is classified into at least one. A different value may be set for each of the plurality of classes as the first classification threshold, or a value common to all of the plurality of classes may be set. Note that a more specific operation of the threshold processing unit 104 will be described later.
- the second output unit 105 outputs the data classification result.
- the second output unit 105 may output the data classification result to a presentation unit (not shown) or may output the result to a device other than the information processing device 100a.
- the second output unit 105 causes the presentation unit to present information based on the classification result based on the user operation input to the input unit (not shown).
- the input unit is, for example, a keyboard, a mouse, a touch panel, a button, a microphone, or the like.
- the presentation unit is, for example, a display or a speaker.
- the information processing device 100a may or may not include the input unit and the presentation unit.
- the input unit and the presentation unit may be included in, for example, a device other than the information processing device 100a.
- the device other than the information processing device 100a may be an information terminal such as a smartphone, a tablet, or a computer. Further, although the information processing apparatus 100a is a computer as an example, the information processing apparatus 100a may be provided on a server connected via a communication network such as the Internet.
- the information processing device 100a may include a training unit (not shown) for training the machine learning model, like the threshold value calculation device 200a.
- a training unit for training the machine learning model
- the network training of the classification probability computing unit 203 is not included, and the first computing unit 202 may be replaced with the second computing unit 102. Good.
- the information processing system 300a includes a threshold value calculation device 200a and a training unit (not shown) common to the information processing device 100a, and the training unit is a network of the classification model of the first calculation unit 202 and the classification probability calculation unit 203. , The classification model of the second calculation unit 102 may be trained.
- FIG. 2 is a flowchart showing an example of the operation of the threshold value calculation device 200a according to the first embodiment.
- the first calculation unit 202 reads input data of the evaluation data set from the storage unit 201 and outputs a plurality of scalars corresponding to a plurality of classes of the input data (step S1001).
- the plurality of scalars corresponding to the plurality of classes of input data are feature quantities for each of the plurality of classes of input data. For example, it is assumed that the input data is an image and the image shows a car and a motorcycle. It is assumed that the plurality of classes are, for example, a pedestrian, a car, a motorcycle, a bicycle, and a background.
- the classification probability calculation unit 203 executes the first conversion, which is a conversion from the output of the first calculation unit 202 into the classification probability values of a plurality of single classes (step S1002).
- the classification probability calculator 203 includes a plurality of single class classification probability calculators.
- the classification probability calculator of each simplex class is an inverse transformable probability function.
- the classification probability calculators of the individual classes may have different functions or the same function.
- the classification probability calculation unit of each single class may be a database corresponding to calculation by a probability function capable of inverse conversion.
- the threshold value calculation unit of each single class converts a scalar for each class of a plurality of classes into a value in the range of 0 to 1 (that is, normalizes) by a reversible conversion.
- each scalar of (pedestrian, automobile, motorcycle, bicycle, background) (0.1, 90, 60, 0.01, 0.001) which is the output of the first calculation unit 202 corresponds to each class.
- each scalar is converted to a value in the range of 0 to 1 in the classification probability calculation unit of each simplex class.
- the normalization is not to add a plurality of scalar values and adjust them to be 1, but to convert each scalar value into a value in the range of 0 to 1 according to the magnitude of each scalar value. Say. At this time, the conversion coefficient may be adjusted according to the classification accuracy of each class.
- the classification threshold value determination unit 204 sets the second classification threshold value based on the classification probability values of the plurality of single classes derived in step S1002 (step S1003). More specifically, the classification threshold determination unit 204 acquires the classification probability values of a plurality of single classes, and based on the classification result using the second classification threshold for each of the acquired classification probability values of the single classes. To determine the second classification threshold. For example, the classification threshold determination unit 204 reads the evaluation data set from the storage unit 201, and determines the second classification threshold based on the correct answer data of the evaluation data set and the classification probability values of the plurality of single classes.
- the classification threshold value determining unit 204 determines the second classification threshold value for each of the classification probability values of the plurality of single classes according to the ratio of FP (False Positive)/FN (False Negative) to the evaluation data set. Good.
- the second classification threshold may be determined so that the result obtained by applying the second classification threshold to the outputs (that is, the classification probability values) of the plurality of single classes satisfies the target accuracy. More specifically, the target accuracy is provided, the classification accuracy is calculated when the threshold values (second classification threshold values) of the classification probability values of a plurality of single classes are shifted, and the calculated classification accuracy is the closest to the target accuracy.
- a threshold value may be selected and the threshold value may be determined as the second classification threshold value.
- the calculated classification accuracy may not be the threshold closest to the target accuracy, and the threshold at which the calculated classification accuracy exceeds the target accuracy for the first time may be determined as the second classification threshold.
- the target accuracy may be set for each class, for example, or may be set commonly for all classes.
- the second classification threshold value may be different in each of the plurality of single classes, or may be the same value in all classes of the plurality of single classes.
- the threshold conversion unit 205 converts the second classification threshold set by the classification threshold determination unit 204 into a first classification threshold for classifying data into at least one of a plurality of classes, and the first conversion
- the second conversion which is the inverse conversion to the above, is executed (step S1004).
- a non-normalized threshold value (here, the first classification threshold value) can be obtained from a normalized threshold value (here, the second classification threshold value).
- the first classification threshold is a threshold for classifying data into at least one of a plurality of classes. A different value may be set for each class as the first classification threshold value, or a common value may be set for all of the plurality of classes.
- the threshold conversion unit 205 when the threshold conversion unit 205 is an inverse function of a function (for example, an inverse transformable probability function) that configures the classification probability calculation unit 203, the threshold conversion unit 205 sets the second classification threshold derived in step S1003. The first classification threshold that is input and the second classification threshold is inversely converted is calculated. If the threshold conversion unit 205 is a database (for example, a table in which an input and an output are associated with each other like a Lookup table) corresponding to the operation by the inverse function of the function configuring the classification probability operation unit 203, When the second classification threshold is input to the threshold conversion unit 205, the first classification threshold associated with the input is output.
- a database for example, a table in which an input and an output are associated with each other like a Lookup table
- the first output unit 206 outputs the first classification threshold derived in step S1004 to the information processing device 100a (step S1005).
- the first output unit 206 may be communicatively connected to the information processing apparatus 100a. Since the communication method has been described above, the description thereof is omitted here.
- FIG. 3 is a flowchart showing an example of the operation of the information processing device 100a according to the first embodiment.
- the second acquisition unit 101 acquires data from a sensor (not shown) such as an image sensor (step S2001).
- a sensor such as an image sensor
- the image may be a moving image or a still image (also simply referred to as an image).
- the second acquisition unit 101 may be communicatively connected to the sensor, and may acquire a plurality of images from the sensor via a removable memory, for example, a USB (Universal Serial Bus) memory. Since the communication method has been described above, the description thereof is omitted here.
- the second calculation unit 102 outputs a plurality of scalars corresponding to a plurality of classes of the data acquired in step S2001 (step S2002).
- the data may be, for example, a moving image captured by an in-vehicle camera or an image. If the image is a moving image, the following operation is executed for each of the plurality of images forming the moving image. Similar to the operation of the first calculation unit 202 of the threshold value calculation device 200a, the second calculation unit 102 outputs a plurality of scalars (feature amounts) from the acquired data.
- the first acquisition unit 103 acquires the first classification threshold value output from the threshold value calculation device 200a (step S2003). At this time, the first acquisition unit 103 acquires the first classification threshold value from the threshold value calculation device 200a via communication. Since the first classification threshold value and the communication method have been described above, the description thereof will be omitted here.
- the threshold value processing unit 104 sets the data acquired by the second acquisition unit 101 to at least one of a plurality of classes based on the output of the second calculation unit 102 and the first classification threshold value acquired by the first acquisition unit 103. (Step S2004). More specifically, in step S2004, the threshold processing unit 104 determines whether or not the plurality of scalars corresponding to the plurality of classes of data are equal to or more than the first classification threshold value, respectively. Classify into at least one of a plurality of classes.
- the threshold processing unit 104 may classify the image into three classes of pedestrian, car, and bicycle, or may classify the image into one class. In the latter case, the threshold processing unit 104 may classify the image into one class by selecting the class showing the largest scalar value among the probability values for the three classes of the image.
- the threshold processing unit 104 classifies the image into the automobile class.
- the threshold value processing unit 104 may classify the image into one class by selecting, from the scalar values for the three classes, a class showing a scalar value having a large difference from the first classification threshold value. In this case, the threshold processing unit 104 may classify the image into the automobile class.
- the data classification method may be appropriately set according to the type of data and the purpose of classification.
- the second output unit 105 outputs the classification result obtained in step S2004 (step S2005).
- the second output unit 105 may output the classification result to a presentation unit (not shown) or may output the classification result to a device other than the information processing device 100a.
- the second output unit 105 causes the presentation unit to present information based on the classification result based on the user operation input to the input unit (not shown).
- the input unit, the presentation unit, other devices, and the like have been described above, so description thereof will be omitted here.
- the information based on the classification result various types may be presented based on the setting input in the input unit.
- the information based on the classification result includes the type and the number of detections of the object class detected by the information processing apparatus 100a, the identification accuracy for each object class, and the weather related to each object class.
- it may be a change in identification accuracy depending on time, a tendency of an image with low identification accuracy, or advice for avoiding danger.
- the information processing apparatus 100a may transmit the analysis result to a database arranged on a server connected via the Internet, for example, and acquire information based on the analysis result.
- FIG. 4 is a block diagram showing an example of the configuration of the information processing device 100b according to the modification of the first embodiment.
- the information processing device 100b includes a threshold value calculation unit 20a, a storage unit 201a, and an information processing unit 10.
- the information processing device 100a acquires the first classification threshold value from the threshold value calculation device 200a and classifies the data into at least one of a plurality of classes using the acquired first classification threshold value. ..
- the main difference between the information processing apparatus 100b and the information processing apparatus 100a according to the first embodiment is that the threshold value calculation unit 20a is provided.
- FIGS. 1 and 4 substantially the same components are designated by the same reference numerals.
- the threshold value calculation device 200a outputs the first classification threshold value derived by the threshold value conversion unit 205 to the first output unit 206, and via the first output unit 206.
- the first classification threshold value is output to the information processing device 100a.
- the threshold value calculation unit 20a stores the first classification threshold value derived by the threshold value conversion unit 205 in the storage unit 201a. Then, the information processing unit 10 reads the first classification threshold value stored in the storage unit 201a.
- the acquisition unit 101a in FIG. 4 corresponds to the second acquisition unit 101 in FIG. 1, and the output unit 105a in FIG. 4 corresponds to the second output unit 105 in FIG. .. That is, the acquisition unit 101a acquires data from a sensor such as an image sensor, like the second acquisition unit 101. Further, the output unit 105a outputs the classification result obtained by classifying the data acquired by the acquisition unit 101a into at least one of the plurality of classes, as in the second output unit 105.
- FIG. 5 is a flowchart showing an example of the operation of the threshold value calculation unit 20a in the modification of the first embodiment. Steps S3001 to S3004 of FIG. 5 correspond to steps 1001 to S1004 of FIG. 2, respectively, and thus the description thereof will be simplified.
- the operation of the threshold value calculation unit 20a according to the modification is different from the operation of the threshold value calculation device 200a according to the first embodiment in that the first classification threshold value is stored in the storage unit 201a.
- the first calculation unit 202 reads the input data of the evaluation data set from the storage unit 201 and outputs a plurality of scalars corresponding to a plurality of classes of the input data (step S3001).
- the classification probability calculation unit 203 executes the first conversion which is a conversion of the output of the first calculation unit 202 into the classification probability values of a plurality of single classes (step S3002).
- the classification threshold value determination unit 204 sets the second classification threshold value based on the classification probability values of the plurality of single classes derived in step S3002 (step S3003).
- the threshold value conversion unit 205 converts the second classification threshold value set by the classification threshold value determination unit 204 into the first classification threshold value for classifying the data into at least one of the plurality of classes.
- a second conversion which is a conversion and an inverse conversion to the first conversion is executed (step S3004).
- the threshold conversion unit 205 stores the first classification threshold in the storage unit 201a (step S3005).
- FIG. 6 is a flowchart showing an example of the operation of the information processing unit 10 in the modification of the first embodiment. Since step S4001 and step S4002 in FIG. 6 correspond to step S2001 and step S2002 in FIG. 3, the description here will be simplified.
- the acquisition unit 101a acquires data from a sensor such as an image sensor (step S4001).
- the second calculation unit 102 outputs a plurality of scalars (probability values) corresponding to a plurality of classes of the data acquired in step S4001 (step S4002).
- the threshold processing unit 104 reads out the first classification threshold stored in the storage unit 201a (step S4003).
- the threshold processing unit 104 describes an example in which the first classification thresholds of each of the plurality of classes are read for each classification process of each class.
- the threshold processing unit 104 uses all the first classification thresholds of the plurality of classes. May be read at a time.
- the first classification threshold value may be a different value or the same value for each of the plurality of classes.
- the threshold value processing unit 104 classifies the data acquired by the second acquisition unit 101 into at least one of a plurality of classes based on the output of the second calculation unit 102 and the first classification threshold value read from the storage unit 201a. To do. First, the threshold value processing unit 104 reads the first classification threshold value of one class (for example, a pedestrian class) out of the plurality of classes from the storage unit 201a (step S4003), and the scalar value of the class is stored in the storage unit 201a. It is determined whether or not it is equal to or more than the first classification threshold value read from (step S4004).
- one class for example, a pedestrian class
- the threshold processing unit 104 stores the scalar value of the class and the number indicating the class in association with each other in the storage unit 201a (Ste S4005).
- the threshold processing unit 104 causes the storage unit 201a to select another one of the plurality of classes (for example, a car class).
- the first classification threshold value of () is read (step S4003).
- the threshold processing unit 104 determines whether or not the scalar value of the class is equal to or larger than the first classification threshold value read from the storage unit 201a (step S4004).
- the threshold processing unit 104 stores the scalar value of the class and the number indicating the class in association with each other in the storage unit 201a (Ste S4005).
- the threshold value processing unit 104 causes the storage unit 201a to select another one of the plurality of classes (for example, a motorcycle class). ) Is read (step S4003), and the determination process of step S4004 is executed. In this way, by repeating the same processing, the classification processing for each class is executed for a plurality of scalars corresponding to a plurality of classes of data.
- the threshold processing unit 104 determines whether the number of classes stored in the storage unit 201a is 1 or more (step S4006).
- the threshold processing unit 104 When the number of classes stored in the storage unit 201a is 1 or more (Yes in step S4006), the threshold processing unit 104 outputs the class number having the largest scalar value to the output unit 105a (step S4007). Accordingly, the output unit 105a outputs a classification result (for example, the data is an automobile) in which the data is classified into at least one of the plurality of classes based on the class number (not shown).
- the threshold processing unit 104 outputs a number indicating others to the output unit 105a (step S4008). Other indicates that there is no corresponding class.
- the classification result output from the output unit 105a may be, for example, that the data is another class or the data is a background class.
- FIG. 7 is a block diagram showing an example of the configuration of the information processing system 300b according to the second embodiment.
- the information processing system 300b includes a threshold value calculation device 200b and an information processing device 100a.
- the main difference between the threshold calculation device 200b according to the second embodiment and the threshold calculation device 200a according to the first embodiment is that the first classification threshold is derived from the second classification threshold set by the user. is there.
- the threshold value calculation device 200b includes an input unit 207, a threshold value conversion unit 205, and a first output unit 206.
- the threshold value calculation device 200b will be described as an example including the input unit 207, but the present invention is not limited to this.
- the input unit may be included in a device other than the threshold value calculation device 200b.
- the other device is, for example, a tablet terminal, a smartphone, a computer, or the like.
- the input unit 207 inputs an operation signal from the user to the threshold conversion unit 205.
- the input unit 207 is, for example, a touch panel, a keyboard, a mouse, a button, a speaker, or the like.
- the operation signal is, for example, a signal indicating the second classification threshold for each of the plurality of classes.
- the user inputs the second classification threshold value to the threshold value conversion unit 205 via the input unit 207.
- the second classification threshold may be a preset value.
- the threshold conversion unit 205 executes a second conversion, which is an inverse conversion of the first conversion, on the acquired second classification threshold, and derives the first classification threshold.
- the first output unit 206 outputs the first classification threshold to the information processing device 100a.
- the information processing device 100a is the same as the information processing device 100a according to the first embodiment, so description thereof will be omitted here.
- FIG. 8 is a flowchart showing an example of the operation of the threshold value calculation device 200b according to the second embodiment.
- the user inputs the second classification threshold value of each of the plurality of classes to the threshold value conversion unit 205 via the input unit 207.
- the threshold conversion unit 205 acquires the second classification thresholds of the plurality of classes input via the input unit 207 (step S5001). Next, the threshold conversion unit 205 performs conversion of the acquired second classification threshold from the second classification threshold into a first classification threshold for classifying data into at least one of a plurality of classes. A second conversion, which is an inverse conversion to the conversion, is executed (step S5002).
- the first output unit 206 outputs the first classification threshold to the information processing device 100a (step S5003).
- FIG. 9 is a block diagram showing an example of the configuration of the information processing device 100c according to the modification of the second embodiment.
- the information processing device 100b includes a threshold value calculation unit 20b, a storage unit 201b, and an information processing unit 10.
- the information processing apparatus 100a acquires the first classification threshold value from the threshold value calculation apparatus 200b and classifies the data into at least one of the plurality of classes using the acquired first classification threshold value. ..
- the main difference between the information processing apparatus 100c according to this modification and the information processing apparatus 100a according to the second embodiment is that the information processing apparatus 100c includes a threshold value calculation unit 20b.
- the main difference between the threshold value calculation unit 20b according to the present modification and the threshold value calculation device 200b according to the second embodiment is that the threshold value calculation unit 20b includes a classification threshold value determination unit 204. Note that, in FIGS. 7 and 9, substantially the same configurations are denoted by the same reference numerals.
- the threshold value conversion unit 205 inversely converts the second classification threshold value input by the user to the threshold value conversion unit 205 via the input unit 207, A first classification threshold value is derived. Then, the threshold value calculation device 200b outputs the derived first classification threshold value from the first output unit 206 to the information processing device 100.
- the threshold value calculation unit 20b stores the first classification threshold value derived by the threshold value conversion unit 205 in the storage unit 201b. Then, the information processing unit 10 reads the first classification threshold value stored in the storage unit 201b and classifies the data into at least one of the plurality of classes.
- the acquisition unit 101a of FIG. 9 corresponds to the second acquisition unit 101 of FIG. 7, and the output unit 105a of FIG. 9 corresponds to the second output unit 105 of FIG. .. That is, the acquisition unit 101a acquires data from a sensor such as an image sensor, like the second acquisition unit 101. Further, the output unit 105a outputs the classification result obtained by classifying the data acquired by the acquisition unit 101a into at least one of the plurality of classes, as in the second output unit 105.
- the classification threshold value determining unit 204 in FIG. 9 corresponds to the classification threshold value determining unit 204 in FIG.
- the classification threshold determination unit 204 determines an appropriate second classification threshold by referring to the evaluation data set stored in the storage unit 201 or the storage unit 201b, for example.
- the first classification threshold value is derived from the second classification threshold value input by the user, but in the threshold value calculation unit 20b according to the present modification, the second classification threshold value input by the user and the second classification threshold value are input.
- the second classification threshold value is determined based on the evaluation data stored in the storage unit 201b. The details of the determination process will be described in the operation section.
- the information processing unit 10 is the same as the information processing unit 10 according to the modification of the first embodiment, so description thereof will be omitted here.
- FIG. 10 is a flowchart showing an example of the operation of the threshold value calculation unit 20b in the modification of the second embodiment.
- the user inputs the second classification threshold value of each of the plurality of classes to the classification threshold value determination unit 204 via the input unit 207.
- the classification threshold value determination unit 204 acquires the input second classification threshold value (step S6001).
- the classification threshold value determining unit 204 reads out the evaluation data from the storage unit 201b (step S6002).
- the classification threshold determination unit 204 determines whether or not the second classification threshold acquired in step S6001 is appropriate based on the evaluation data set, more specifically, the classification probabilities of a plurality of single classes of the evaluation data set. It is determined whether the result obtained by applying the second classification threshold to the value satisfies the target accuracy (step S6003). When it is determined that the second classification threshold is appropriate (Yes in step S6003), the classification threshold determination unit 204 outputs the second classification threshold to the threshold conversion unit 205.
- the threshold value conversion unit 205 is a conversion of the acquired second classification threshold value into a first classification threshold value for classifying data into at least one of a plurality of classes from the second classification threshold value.
- a second conversion which is an inverse conversion, is executed (step S6004).
- the threshold conversion unit 205 stores the derived first classification threshold in the storage unit 201b (step S6005).
- the classification threshold determination unit 204 causes the presentation unit (not shown) to present that the second classification threshold is not appropriate (step S6006).
- the classification threshold value determination unit 204 presents the second classification threshold value that satisfies the target accuracy with the result obtained by applying the second classification threshold value to the classification probability values of the plurality of single classes of the evaluation data set. May be presented to.
- the operation of the information processing unit 10 is the same as that of the information processing unit 10 in the modification of the first embodiment, so description thereof will be omitted here.
- the processing described in the above embodiments may be realized by centralized processing using a single device (system), or realized by distributed processing using a plurality of devices.
- the processor that executes the above program may be a single processor or a plurality of processors. That is, centralized processing may be performed or distributed processing may be performed.
- the present disclosure is useful as an information processing device, an information processing method, a program, and the like that can reduce the amount of calculation for classifying objects.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biomedical Technology (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
情報処理装置(100a)は、プロセッサを備える情報処理装置であって、プロセッサは、データを複数のクラスの少なくとも1つに分類するための第1分類閾値を取得し、訓練済みの分類モデルの出力と第1分類閾値とに基づいてデータを複数のクラスの少なくとも1つに分類した分類結果を出力し、第1分類閾値は、第2分類閾値の、第1変換に対する逆変換である第2変換により得られ、第1変換は、訓練済みの分類モデルの出力から複数のクラスを構成する複数の単体クラスの分類確率値への変換であり、第2分類閾値は、複数の単体クラスの分類確率値に基づいて設定される。
Description
本開示は、情報処理装置、情報処理方法及びプログラムに関する。
画像認識などの分野において、画像中の物体を認識する認識モデル(以下、分類モデルともいう)として、多層ニューラルネットワーク(Deep Neural Network:DNN)が使用されている。DNNは、例えば、画像を入力とし、当該画像に含まれる物体のクラス分類の確率値(物体クラスに対する尤度ともいう。)を出力する。このとき、DNNの出力層では、Softmax関数が使用される(例えば、特許文献1参照)。
しかしながら、Softmax関数は指数演算を含むため、分類モデルを計算リソースが限られる組み込み装置に実装する場合に、計算リソースがひっ迫するおそれがある。
そこで、本開示は、物体のクラス分類のための演算量を低減することができる情報処理装置、情報処理方法及びプログラムを提供する。
上記課題を解決するため、本開示の一態様に係る情報処理装置は、プロセッサを備える情報処理装置であって、前記プロセッサは、データを複数のクラスの少なくとも1つに分類するための第1分類閾値を取得し、訓練済みの分類モデルの出力と前記第1分類閾値とに基づいて前記データを前記複数のクラスの少なくとも1つに分類した分類結果を出力し、前記第1分類閾値は、第2分類閾値の、第1変換に対する逆変換である第2変換により得られ、前記第1変換は、前記訓練済みの分類モデルの出力から前記複数のクラスを構成する複数の単体クラスの分類確率値への変換であり、前記第2分類閾値は、前記複数の単体クラスの分類確率値に基づいて設定される。
また、本開示の一態様に係る情報処理方法は、コンピュータにより実行される情報処理方法であって、訓練済みの分類モデルの出力から複数の単体クラスの分類確率値への第1変換を実行し、前記複数の単体クラスの前記分類確率値に基づいて第2分類閾値を設定し、前記第2分類閾値からデータを複数のクラスの少なくとも1つに分類するための第1分類閾値への変換であって、第1変換に対する逆変換である第2変換を実行し、前記第1分類閾値を出力する。
また、本開示の一態様に係るプログラムは、データを複数のクラスの少なくとも1つに分類するための第1分類閾値を取得し、訓練済みの分類モデルの出力と前記第1分類閾値とに基づいて前記データを前記複数のクラスの少なくとも1つに分類した分類結果を出力し、前記第1分類閾値は、第2分類閾値の、第1変換に対する逆変換である第2変換により得られ、前記第1変換は、前記訓練済みの分類モデルの出力から複数の単体クラスの分類確率値への変換であり、前記第2分類閾値は、前記複数の単体クラスの分類確率値に基づいて設定される、情報処理方法をコンピュータに実行させる。あるいは、本開示の一態様は、当該プログラムを格納したコンピュータ読み取り可能な非一時的な記録媒体として実現することもできる。
本開示によれば、物体のクラス分類のための演算量を低減することができる。
(本開示に至った知見)
従来、組み込み機器のような計算リソースに制限がある演算装置に搭載された多層ニューラルネットワーク(Deep Neural Network:DNN)では、隠れ層のユニット数を増やすことができないため、パターン認識性能が低下するという課題がある。この課題に対して、特許文献1に記載の従来技術は、DNNの層毎に、スカラ量子化を実施するか否かの判断を行い、スカラ量子化を実施した層の次の層では、スカラ量子化されたベクトルと重みベクトルとの乗算を行う。これにより、スカラ量子化されていないベクトルと重みベクトルとの乗算を行う場合に比べて、演算量を低減することができるため、隠れ層のユニット数を増やすことができる。しかしながら、スカラ量子化された出力ベクトルを用いて尤度ベクトルを算出するため、スカラ量子化されていない出力ベクトルを用いて尤度ベクトルを算出する場合に比べて値が粗くなる。そのため、認識精度が低下する可能性がある。
従来、組み込み機器のような計算リソースに制限がある演算装置に搭載された多層ニューラルネットワーク(Deep Neural Network:DNN)では、隠れ層のユニット数を増やすことができないため、パターン認識性能が低下するという課題がある。この課題に対して、特許文献1に記載の従来技術は、DNNの層毎に、スカラ量子化を実施するか否かの判断を行い、スカラ量子化を実施した層の次の層では、スカラ量子化されたベクトルと重みベクトルとの乗算を行う。これにより、スカラ量子化されていないベクトルと重みベクトルとの乗算を行う場合に比べて、演算量を低減することができるため、隠れ層のユニット数を増やすことができる。しかしながら、スカラ量子化された出力ベクトルを用いて尤度ベクトルを算出するため、スカラ量子化されていない出力ベクトルを用いて尤度ベクトルを算出する場合に比べて値が粗くなる。そのため、認識精度が低下する可能性がある。
また、特許文献1に記載の従来技術では、DNNの出力層の1つ前の層でスカラ量子化が実施されていない場合、出力層においてSoftmax関数を適用して複数のクラスに対する尤度ベクトル(以下、分類確率値)を算出する。Softmax関数は、指数関数の演算を含むため、組み込みシステムへの実装時に指数関数の演算量が問題となる。さらに、Softmax関数は、入力に対して総和が1になるように調整するため、逆変換しても元の値に戻すことができない。言い換えると、Softmax関数は、入力に対して非可逆的な演算を行うため、Softmax関数に入力して得られた出力値を逆変換して、正規化されていない値を得ることができない。そのため、特許文献1に記載の従来技術では、例えば、入力画像中の物体を識別するために、入力画像中の物体の複数のクラスそれぞれに対する分類確率値を算出する必要がある。このような入力画像中の物体の分類確率値を算出する処理は、組み込み機器のような計算リソースに制限がある演算装置の演算量を増加させるため、演算装置に搭載されるDNNの識別精度を低下させる場合がある。したがって、特許文献1に記載の従来技術は、物体のクラス分類のための演算量を低減できているとは言い難い。
そこで、本願発明者は、上記課題を鑑み鋭意検討した結果、複数のクラスそれぞれの閾値を決定する処理において、DNNの出力層で可逆的な変換を行うことにより、算出した閾値を逆変換して正規化されていない閾値が得られることを見出した。これにより、例えば入力画像中の物体のクラス分類処理において、正規化されていない閾値を用いることができるため、物体のクラス分類のための演算量を低減することができる情報処理装置に想到した。
本開示の一態様の概要は、以下の通りである。
本開示の一態様に係る情報処理装置は、プロセッサを備える情報処理装置であって、前記プロセッサは、データを複数のクラスの少なくとも1つに分類するための第1分類閾値を取得し、訓練済みの分類モデルの出力と前記第1分類閾値とに基づいて前記データを前記複数のクラスの少なくとも1つに分類した分類結果を出力し、前記第1分類閾値は、第2分類閾値の、第1変換に対する逆変換である第2変換により得られ、前記第1変換は、前記訓練済みの分類モデルの出力から前記複数のクラスを構成する複数の単体クラスの分類確率値への変換であり、前記第2分類閾値は、前記複数の単体クラスの分類確率値に基づいて設定される。
上記構成によれば、分類モデルの出力から複数の単体クラスの分類確率値に変換する第1変換において、逆変換可能な関数が使用される。そのため、第2分類閾値に対して、第1変換に対する逆変換である第2変換を実行することにより得られる第1分類閾値を、物体のクラス分類の処理に使用すると、例えば画像を入力とする分類モデルの出力を複数の単体クラスの分類確率値に変換する必要がなくなる。したがって、本開示の一態様に係る情報処理装置によれば、物体のクラス分類のための演算量を低減することができる。
具体的には、本開示の一態様に係る情報処理装置では、前記訓練済みの分類モデルの出力は、前記複数のクラスに対応する複数のスカラであってもよい。
また、本開示の一態様に係る情報処理方法は、コンピュータにより実行される情報処理方法であって、訓練済みの分類モデルの出力から複数の単体クラスの分類確率値への第1変換を実行し、前記複数の単体クラスの前記分類確率値に基づいて第2分類閾値を設定し、前記第2分類閾値からデータを複数のクラスの少なくとも1つに分類するための第1分類閾値への変換であって、第1変換に対する逆変換である第2変換を実行し、前記第1分類閾値を出力する。
上記方法によれば、分類モデルの出力から複数の単体クラスの分類確率値に変換する第1変換において、逆変換可能な関数が使用される。そのため、第2分類閾値に対して、第1変換に対する逆変換である第2変換を実行することにより、正規化されていない閾値である第1分類閾値が得られる。例えば、第1分類閾値を、物体のクラス分類の処理に使用すると、分類モデルの出力を複数の単体クラスの分類確率値に変換する必要がなくなる。したがって、本開示の一態様に係る情報処理方法によれば、正規化されていない閾値である第1分類閾値が得られるため、物体のクラス分類のための演算量を低減することができる。
例えば、本開示の一態様に係る情報処理方法は、前記第1変換は、逆変換可能な確率関数による演算であり、前記第2変換は、前記確率関数の逆関数による演算であってもよい。
これにより、複数の単体クラスの分類確率値を逆変換することにより、変換前の値、つまり、訓練済みの分類モデルの出力を導出することができる。
例えば、本開示の一態様に係る情報処理方法では、前記第1変換は、逆変換可能な確率関数による演算に対応したデータベースであり、前記第2変換は、前記確率関数の逆関数による演算に対応したデータベースであってもよい。
これにより、関数演算よりも計算量がさらに低減される。
例えば、本開示の一態様に係る情報処理方法では、データセットを取得し、前記データセットを前記訓練済みの分類モデルに入力して前記データセットに含まれるデータそれぞれについて前記複数の単体クラスの分類確率値を取得し、取得された前記複数の単体クラスの分類確率値それぞれに対して前記第2分類閾値を用いた分類結果に基づいて前記第2分類閾値を決定してもよい。
これにより、評価用データセットに含まれる正解データを参照して、複数の単体クラスの分類確率値に対する分類確率値の閾値、つまり第2分類閾値の値をずらして、目標精度を満たす第2分類閾値を選択することにより決定する。したがって、本開示の一態様に係る情報処理方法によれば、所望の分類精度が得られる閾値を決定することができる。
また、本開示の一態様に係るプログラムは、データを複数のクラスの少なくとも1つに分類するための第1分類閾値を取得し、訓練済みの分類モデルの出力と前記第1分類閾値とに基づいて前記データを前記複数のクラスの少なくとも1つに分類した分類結果を出力し、前記第1分類閾値は、第2分類閾値の、第1変換に対する逆変換である第2変換により得られ、前記第1変換は、前記訓練済みの分類モデルの出力から複数の単体クラスの分類確率値への変換であり、前記第2分類閾値は、前記複数の単体クラスの分類確率値に基づいて設定される、情報処理方法をコンピュータに実行させる。
上記プログラムによれば、分類モデルの出力から複数の単体クラスの分類確率値に変換する第1変換において、逆変換可能な関数が使用される。そのため、第2分類閾値に対して、第1変換に対する逆変換である第2変換を実行することにより得られる第1分類閾値を、物体のクラス分類の処理に使用すると、例えば画像を入力とする分類モデルの出力を複数の単体クラスの分類確率値に変換する必要がなくなる。したがって、本開示の一態様に係るプログラムによれば、物体のクラス分類のための演算量を低減することができる。
以下では、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する趣旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。したがって、例えば、各図において縮尺などは必ずしも一致しない。また、各図において、実質的に同一の構成については同一の符号を付しており、重複する説明は省略又は簡略化する。
また、本明細書において、水平又は垂直などの要素間の関係性を示す用語、並びに、数値範囲は、厳密な意味のみを表す表現ではなく、実質的に同等な範囲、例えば数%程度の差異を含むことを意味する表現である。
(実施の形態1)
[情報処理システムの概要]
まず、実施の形態1に係る情報処理装置を備える情報処理システムの概要について、図面を参照しながら説明する。図1は、実施の形態1における情報処理システム300aの構成の一例を示すブロック図である。
[情報処理システムの概要]
まず、実施の形態1に係る情報処理装置を備える情報処理システムの概要について、図面を参照しながら説明する。図1は、実施の形態1における情報処理システム300aの構成の一例を示すブロック図である。
情報処理システム300aは、センサが取得したデータを複数のクラスの少なくとも1つに分類し、分類結果を出力するシステムである。情報処理システム300aは、データを複数のクラスの少なくとも1つに分類するための第1分類閾値を算出する閾値算出装置200aと、訓練済みの分類モデルの出力と第1分類閾値とに基づいて、データを複数のクラスの少なくとも1つに分類した分類結果を出力する情報処理装置100aと、を備える。
センサは、例えば、マイクなどの音センサ、イメージセンサ、距離センサ、ジャイロセンサ、又は、圧力センサなどである。複数のセンサを用いて取得されたデータを、例えば、SfM(Structure from Motion)などの3次元再構成技術を用いて取得してもよい。センサが取得したデータは、例えば、音声、画像、動画像、三次元点群(three-Dimensional point cloud)データ、又は、ベクトルデータである。
情報処理システム300aでは、データの種類、及び、データの用途などに応じて、データを分類する複数のクラスが設定されてもよい。例えば、データが音声である場合、特定の人物の声、特定の機械の動作音、又は、特定の動物の鳴き声などのクラスが設定されてもよい。また、データが画像である場合、例えば監視カメラシステムなどにおいては、特定の人物などのクラスが設定されてもよく、車載カメラシステムなどにおいては、歩行者、自動車、バイク、自転車、及び、背景などのクラスが設定されてもよい。また、データが三次元点群データである場合、例えば、構造物又は地形などの三次元形状から、構造物又は地形の凹凸、亀裂、又は、特定の構造などのクラスが設定されてもよい。また、データがベクトルデータである場合、例えば、橋桁又は防音壁などの構造物の複数の部位における動きベクトルなどのクラスが設定されてもよい。
以下、情報処理システム300aの各構成について説明する。
[閾値算出装置]
閾値算出装置200aは、データを複数のクラスの少なくとも1つに分類するための第1分類閾値を算出する装置である。
閾値算出装置200aは、データを複数のクラスの少なくとも1つに分類するための第1分類閾値を算出する装置である。
図1に示されるように、閾値算出装置200aは、記憶部201と、第1演算部202と、分類確率演算部203と、分類閾値決定部204と、閾値変換部205と、第1出力部206と、を備える。
記憶部201は、第2分類閾値の評価用データセットを格納している。評価用データセットは、第1演算部202に入力する入力データと、入力データに対応する正解データとのセットを含む。正解データは、入力データの複数のクラスそれぞれに対する分類確率値である。以下では、複数のクラスそれぞれに対する分類確率値を、複数の単体クラスの分類確率値ともいう。なお、単体クラスは、複数のクラスを構成する各クラスを指す。複数の単体クラスの分類確率値は、分類確率演算部203において、第1演算部202の出力を第1変換することにより得られる正規化された確率値である。第2分類閾値は、複数の単体クラスの分類確率値に基づいて設定される。
第1演算部202は、データの特徴量を抽出する特徴量抽出器であり、例えば、機械学習モデルである。例えば、第1演算部202は、訓練済みの分類モデルである。当該分類モデルは、多層ニューラルネットワーク(DNN)である。第1演算部202は、評価用データセットを取得する。例えば、第1演算部202は、記憶部201から評価用データセットを読み出す。評価用データセットの入力データは、第1演算部202に入力される。第1演算部202は、当該入力データの複数のクラスに対応する複数のスカラを出力する。各スカラは、入力データの各クラスに対応する特徴量である。第1演算部202の出力は、正規化されていない値である。
なお、第1演算部202は、DNNに限られない。例えば、第1演算部202は、エッジ抽出法、主成分分析法、ブロックマッチング法、サンプリングモアレ法などの手法を用いる、DNN以外の他の特徴量抽出器であってもよい。
なお、第1演算部202は、通信を介して、他の装置から評価用データセットを取得してもよい。例えば、インターネットを介して、サーバ又はストレージから評価用データセットが取得されてもよい。
分類確率演算部203は、第1演算部202の出力から複数の単体クラスの分類確率値への変換である第1変換を実行する。より具体的には、分類確率演算部203は、第1変換において、可逆的な変換を用いて、第1演算部202の出力から複数の単体クラスの分類確率値を算出する。例えば、分類確率演算部203は、入力データの複数のクラスに対応する複数のスカラ(特徴量)を逆変換可能な確率関数を用いて正規化することにより、入力データの複数のクラスに対応する分類確率値を導出する。このように、可逆的な変換により正規化を行うことにより、評価用データセットに基づいて適切な閾値(後述する第2分類閾値)を決定した後に、適切な閾値を逆変換して正規化されていない閾値を導出することができる。
分類確率演算部203は、例えば、複数の単体クラスの確率演算部から構成されている。複数のクラスに対応する複数スカラは、それぞれ、複数のクラスの各クラスに対応する単体クラスの確率演算部に入力される。複数の単体クラスの確率演算部は、それぞれ、逆変換可能な関数である。これらの関数は、それぞれ異なっていてもよく、同じであってもよい。逆変換可能な関数は、微分可能な関数であってもよく、例えば、シグモイド関数、又は双曲線正接関数(Tanh:Tangent Hyperbolic Function)などである。なお、第1変換は、逆変換可能な確率関数による演算であってもよく、逆変換可能な確率関数による演算に対応したデータベースを用いた変換であってもよい。データベースは、例えば、Lookupテーブルのように、入力と出力(変換後の値)とが対応付けられたテーブルあってもよい。
分類閾値決定部204は、分類確率演算部203で算出された複数の単体クラスの分類確率値に基づいて、第2分類閾値を決定する。より具体的には、分類閾値決定部204は、複数の単体クラスの分類確率値を取得し、取得した複数の単体クラスの分類確率値それぞれに対して第2分類閾値を用いた分類結果に基づいて第2分類閾値を決定する。例えば、分類閾値決定部204は、記憶部201から評価用データセットを読み出し、評価用データセットの正解データと、分類確率演算部203で算出された複数の単体クラスの分類確率値とに基づいて、第2分類閾値を決定する。つまり、分類閾値決定部204では、評価用データセットに基づいて、最適な第2分類閾値を決定する。例えば、分類閾値決定部204は、複数の単体クラスの分類確率値それぞれについて、評価用データセットに対するFP(False Positive)/FN(False Negative)の割合に応じて第2分類閾値を決定する。
なお、第2分類閾値は、予め決められた値を設定してもよく、ユーザが設定した目標精度に応じて決定されてもよい。第2分類閾値が目標精度に応じて決定される場合、分類閾値決定部204は、複数の単体クラスの分類確率値に対して第2分類閾値を適用することで得られる結果が目標閾値を満たすように第2分類閾値を決定してもよい。なお、目標精度は、クラス毎に設定されてもよく、全クラス共通で設定されてもよい。当該方法の詳細については、閾値算出装置の動作の項にて後述する。
なお、第2分類閾値は、複数の単体クラスそれぞれにおいて異なる値であってもよく、複数の単体クラスの全てにおいて同じ値であってもよい。
閾値変換部205は、第2分類閾値からデータを複数のクラスの少なくとも1つに分類するための第1分類閾値の変換であって、第1変換に対する逆変換である第2変換を実行する。言い換えると、閾値変換部205は、第2分類閾値を逆変換することにより、正規化されていない閾値(つまり、第1分類閾値)に変換する。閾値変換部205は、分類確率演算部203を構成する関数(例えば、逆変換可能な確率関数)の逆関数であってもよく、逆変換可能な確率関数の逆関数による演算に対応したデータベースであってもよい。データベースは、例えば、Lookupテーブルのように、入力と出力(逆変換後の値)とが対応付けられたテーブルあってもよい。
第1分類閾値は、情報処理装置100aにおいて、データを複数のクラスの少なくとも1つに分類するために使用される。情報処理装置100aは、正規化されていない閾値(第1分類閾値)を用いてデータのクラス分類処理を実行することができる。そのため、情報処理装置100aでは、データから抽出した特徴量に基づいて分類処理を実行できるため、正規化の処理が不要となり、演算量を低減することができる。
なお、第1分類閾値は、複数のクラスのそれぞれにおいて異なる値が設定されてもよく、複数のクラスの全てのクラスで共通の値が設定されてもよい。
第1出力部206は、第1分類閾値を出力する。より具体的には、第1出力部206は、通信を介して、第1分類閾値を情報処理装置100aの第1取得部103に出力する。通信は、例えばWi-Fi(登録商標)又はBluetooth(登録商標)などの無線通信であってもよく、Ethernet(登録商標)などの有線通信であってもよい。
なお、閾値算出装置200aは、機械学習モデルを訓練するための訓練部(不図示)を備えてもよい。訓練部は、訓練用データセットを保持する記憶部(不図示)を備えてもよい。訓練用データセットは、予め格納された入力データと正解データとのセットを含む。訓練部は、インターネットなどの通信ネットワークを介して接続されるサーバ上に配置されたデータベースから新規の訓練用データを取得して、訓練用データセットを更新してもよい。また、訓練部は、第1演算部202と同じ分類モデルを保持する保持部(不図示)を備えてもよく、保持部は、さらに、分類確率演算部203と同じN個の単クラスの分類確率演算部を保持してもよい。訓練部は、訓練用データセットを用いて、第1演算部202と同じ分類モデルを訓練する。さらに、訓練部は、分類確率演算部203が備えるN個の単クラスの分類確率演算部を有するネットワークを訓練してもよい。訓練部は、当該分類モデル及び当該ネットワークの訓練が終了すると、訓練済みの分類モデルを第1演算部202に出力し、第1演算部202を訓練済みの分類モデルに更新してもよい。同様に、訓練部は、訓練済みのN個の単クラスの分類確率演算部を有するネットワークを分類確率演算部203に出力し、分類確率演算部203を訓練済みのネットワークに更新してもよい。
[情報処理装置]
続いて、情報処理装置100aについて説明する。情報処理装置100aは、例えばセンサが取得したデータを複数のクラスの少なくとも1つに分類して、分類結果を出力する装置である。以下、データが画像である例について説明する。なお、データ及びデータを取得するセンサについては、情報処理システム300aの概要にて説明したため、ここでの説明を省略する。
続いて、情報処理装置100aについて説明する。情報処理装置100aは、例えばセンサが取得したデータを複数のクラスの少なくとも1つに分類して、分類結果を出力する装置である。以下、データが画像である例について説明する。なお、データ及びデータを取得するセンサについては、情報処理システム300aの概要にて説明したため、ここでの説明を省略する。
図1に示されるように、情報処理装置100aは、第1取得部103と、第2取得部101と、第2演算部102と、閾値処理部104と、第2出力部105と、を備える。
第1取得部103は、通信を介して、閾値算出装置200aの第1出力部206から出力された第1分類閾値を取得し、取得した第1分類閾値を閾値処理部104に出力する。通信に関しては、上述したため、ここでの説明を省略する。なお、第1分類閾値は、情報処理装置100aが備える記憶部に予め記憶されていてもよい。
第2取得部101は、センサから、通信を介して、データを取得する。ここで、センサはイメージセンサであり、データは画像である。第2取得部101は、取得したデータを第2演算部102に出力する。なお、通信は、無線通信であってもよく、有線通信であってもよい。なお、センサは1つに限られず、例えば、2以上のセンサを同期してデータを取得してもよい。また、第2取得部101は、脱着可能なメモリを介してデータを取得してもよい。脱着可能なメモリは、例えば、USB(Universal Serial Bus)メモリである。
第2演算部102は、データの特徴量を抽出する特徴量抽出器であり、例えば、機械学習モデルである。例えば、第2演算部102は、訓練済みの分類モデルである。当該分類モデルは、多層ニューラルネットワーク(DNN)である。第1取得部103が取得したデータは、第2演算部102に入力される。第2演算部102は、当該データの複数のクラスに対応する複数のスカラを出力する。各スカラは、データの各クラスに対応する特徴量である。第2演算部102の出力は、正規化されていない値である。
なお、第2演算部102は、DNNに限られない。例えば、第2演算部102は、特徴点抽出法(例えば、エッジ抽出)、主成分分析法、ブロックマッチング法、サンプリングモアレ法などの手法を用いる、DNN以外の他の特徴量抽出器であってもよい。
閾値処理部104は、第1取得部103から出力された第1分類閾値を取得し、第2演算部102の出力と、第1分類閾値とに基づいて、データを複数のクラスの少なくとも1つに分類する。より具体的には、閾値処理部104は、第2演算部102から出力された複数のクラスそれぞれに対する確率値が第1分類閾値以上であるか否かを判定することにより、データを複数のクラスの少なくとも1つに分類する。第1分類閾値は、複数のクラスそれぞれにおいて異なる値が設定されてもよく、複数のクラスの全てに共通な値が設定されてもよい。なお、閾値処理部104のより具体的な動作については、後述する。
第2出力部105は、データの分類結果を出力する。第2出力部105は、データの分類結果を提示部(不図示)に出力してもよく、情報処理装置100a以外の他の装置に出力してもよい。例えば、第2出力部105は、入力部(不図示)に入力されたユーザの操作に基づいて、分類結果に基づく情報を提示部に提示させる。入力部は、例えば、キーボード、マウス、タッチパネル、ボタン、又は、マイクなどである。提示部は、例えば、ディスプレイ又はスピーカーなどである。なお、情報処理装置100aは、入力部及び提示部を備えていてもよく、備えていなくてもよい。入力部及び提示部は、例えば、情報処理装置100a以外の他の装置が備えていてもよい。情報処理装置100a以外の他の装置は、例えば、スマートフォン、タブレット、又は、コンピュータなどの情報端末であってもよい。また、情報処理装置100aは、コンピュータを例に挙げたが、インターネットなどの通信ネットワークを介して接続されるサーバ上に設けられてもよい。
なお、情報処理装置100aは、閾値算出装置200aと同様に、機械学習モデルを訓練するための訓練部(不図示)を備えてもよい。訓練部の詳細については、閾値算出装置200aで説明した訓練部の説明において、分類確率演算部203のネットワークの訓練を含まず、かつ、第1演算部202を第2演算部102に読み替えてもよい。
なお、情報処理システム300aは、閾値算出装置200aと、情報処理装置100aと共通した訓練部(不図示)を備え、当該訓練部が第1演算部202の分類モデル、分類確率演算部203のネットワーク、第2演算部102の分類モデルを訓練してもよい。
[閾値算出装置の動作]
続いて、閾値算出装置200aの動作について図2を参照しながら説明する。図2は、実施の形態1における閾値算出装置200aの動作の一例を示すフローチャートである。
続いて、閾値算出装置200aの動作について図2を参照しながら説明する。図2は、実施の形態1における閾値算出装置200aの動作の一例を示すフローチャートである。
第1演算部202は、記憶部201から評価用データセットの入力データを読み出し、当該入力データの複数のクラスに対応する複数のスカラを出力する(ステップS1001)。入力データの複数のクラスに対応する複数のスカラは、入力データの複数のクラスそれぞれに対する特徴量である。例えば、入力データが画像であり、当該画像に自動車及びバイクが映っているとする。複数のクラスは、例えば、歩行者、自動車、バイク、自転車、及び、背景であるとする。このとき、第1演算部202は、例えば、入力データの複数のクラスに対応する複数のスカラを有するベクトル(歩行者、自動車、バイク、自転車、背景)=(0.1、90、60、0.01、0.001)を出力する。
次いで、分類確率演算部203は、第1演算部202の出力から複数の単体クラスの分類確率値への変換である第1変換を実行する(ステップS1002)。上述したとおり、分類確率演算部203は、複数の単体クラスの分類確率演算部を備える。各単体クラスの分類確率演算部は、逆変換可能な確率関数である。各単体クラスの分類確率演算部は、それぞれ異なる関数であってもよく、同じ関数であってもよい。また、各単体クラスの分類確率演算部は、それぞれ逆変換可能な確率関数による演算に対応したデータベースであってもよい。各単体クラスの閾値演算部は、複数のクラスの各クラスに対するスカラを、可逆的な変換により、0~1の範囲の値に変換する(つまり、正規化する)。例えば、第1演算部202の出力である(歩行者、自動車、バイク、自転車、背景)=(0.1、90、60、0.01、0.001)の各スカラが、各クラスに対応する単体クラスの分類確率演算部に入力されると、各単体クラスの分類確率演算部において、各スカラは、0~1の範囲の値に変換される。分類確率演算部203は、複数の単体クラスの分類確率値である(歩行者、自動車、バイク、自転車、背景)=(0.3、1.0、1.0、0.1、0)を出力する。ここで、正規化とは、複数のスカラ値を足して1になるように調整することではなく、各スカラ値の大きさに応じて各スカラ値を0~1の範囲の値に変換することをいう。このとき、変換係数は、各クラスの分類精度に応じて調整されてもよい。
次いで、分類閾値決定部204は、ステップS1002で導出された複数の単体クラスの分類確率値に基づいて第2分類閾値を設定する(ステップS1003)。より具体的には、分類閾値決定部204は、複数の単体クラスの分類確率値を取得し、取得した複数の単体クラスの分類確率値それぞれに対して第2分類閾値を用いた分類結果に基づいて第2分類閾値を決定する。例えば、分類閾値決定部204は、記憶部201から評価用データセットを読み出し、評価用データセットの正解データと、複数の単体クラスの分類確率値とに基づいて、第2分類閾値を決定する。例えば、分類閾値決定部204は、複数の単体クラスの分類確率値のそれぞれについて、評価用データセットに対するFP(False Positive)/FN(False Negative)の割合に応じて第2分類閾値を決定してもよい。また、例えば、複数の単体クラスの出力(つまり、分類確率値)に対して第2分類閾値を適用することで得られる結果が目標精度を満たすように第2分類閾値を決定してもよい。より具体的には、目標精度を設けて、複数の単体クラスの分類確率値の閾値(第2分類閾値)をずらした場合の分類精度を算出して、算出した分類精度が目標精度に最も近い閾値を選択し、当該閾値を第2分類閾値として決定してもよい。また、例えば、算出した分類精度が目標精度に最も近い閾値でなく、算出した分類精度が目標精度を初めて超えた閾値を第2分類閾値として決定してもよい。目標精度は、例えば、クラス毎に設定されてもよく、全クラス共通で設定されてもよい。なお、第2分類閾値は、複数の単体クラスそれぞれにおいて異なる値であってもよく、複数の単体クラスの全てのクラスにおいて同じ値であってもよい。
次いで、閾値変換部205は、分類閾値決定部204で設定された第2分類閾値からデータを複数のクラスの少なくとも1つに分類するための第1分類閾値への変換であって、第1変換に対する逆変換である第2変換を実行する(ステップS1004)。これにより、正規化された閾値(ここでは、第2分類閾値)から正規化されていない閾値(ここでは、第1分類閾値)を得ることができる。第1分類閾値は、データを複数のクラスの少なくとも1つに分類するための閾値である。第1分類閾値は、クラス毎に異なる値が設定されてもよく、複数のクラス全体に共通の値が設定されてもよい。例えば、閾値変換部205が分類確率演算部203を構成する関数(例えば、逆変換可能な確率関数)の逆関数である場合、閾値変換部205は、ステップS1003で導出された第2分類閾値を入力し、第2分類閾値が逆変換された第1分類閾値を算出する。また、閾値変換部205が、分類確率演算部203を構成する関数の逆関数による演算に対応したデータベース(例えば、Lookupテーブルのように入力と出力とが対応付けられたテーブル)である場合、第2分類閾値が閾値変換部205に入力されると、入力に対応付けられた第1分類閾値が出力される。
次いで、第1出力部206は、ステップS1004で導出された第1分類閾値を情報処理装置100aに出力する(ステップS1005)。このとき、第1出力部206は、情報処理装置100aと通信可能に接続されてもよい。通信方式については、上述したため、ここでの説明を省略する。
[情報処理装置の動作]
続いて、情報処理装置100aの動作について図3を参照しながら説明する。図3は、実施の形態1に係る情報処理装置100aの動作の一例を示すフローチャートである。
続いて、情報処理装置100aの動作について図3を参照しながら説明する。図3は、実施の形態1に係る情報処理装置100aの動作の一例を示すフローチャートである。
第2取得部101は、例えばイメージセンサなどのセンサ(不図示)からデータを取得する(ステップS2001)。ここでは、データは画像である例について説明する。画像は、動画像であってもよく、静止画像(単に、画像ともよぶ)であってもよい。第2取得部101は、センサと通信可能に接続されてもよく、脱着可能なメモリ、例えば、USB(Universal Serial Bus)メモリを介して、センサから複数の画像を取得してもよい。通信方式については上述したため、ここでの説明を省略する。
第2演算部102は、ステップS2001で取得したデータの複数のクラスに対応する複数のスカラを出力する(ステップS2002)。データは、例えば、車載カメラで撮像された動画像であってもよく、画像あってもよい。動画像である場合は、動画像を構成する複数の画像それぞれについて、以下の動作を実行する。閾値算出装置200aの第1演算部202の動作と同様に、第2演算部102は、取得したデータから、複数のスカラ(特徴量)を出力する。以下、第2演算部102の出力は、(歩行者、自動車、バイク、自転車、背景)=(70、90、0.5、60、0.001)である場合について説明する。
第1取得部103は、閾値算出装置200aから出力された第1分類閾値を取得する(ステップS2003)。このとき、第1取得部103は、通信を介して閾値算出装置200aから第1分類閾値を取得する。第1分類閾値及び通信方式については、上述したためここでの説明を省略する。ここでは、第1分類閾値は、(歩行者、自動車、バイク、自転車、背景)=(60、60、60、60、60)であるとする。
閾値処理部104は、第2演算部102の出力と、第1取得部103が取得した第1分類閾値と、に基づいて、第2取得部101が取得したデータを複数のクラスの少なくとも1つに分類する(ステップS2004)。より具体的には、ステップS2004では、閾値処理部104は、データの複数のクラスに対応する複数のスカラが、それそれ、第1分類閾値以上であるか否かを判定することにより、データを複数のクラスの少なくとも1つに分類する。
例えば、第2演算部102の出力が(歩行者、自動車、バイク、自転車、背景)=(70、90、0.5、60、0.001)であり、各クラスの第1分類閾値が(歩行者、自動車、バイク、自転車、背景)=(60、60、60、60、60)である場合、3つのクラスに対するスカラ値が第1分類閾値以上である。このとき、閾値処理部104は、当該画像を歩行者、自動車、自転車の3つのクラスに分類してもよく、1つのクラスに分類してもよい。後者の場合、閾値処理部104は、当該画像の3つのクラスに対する確率値のうち、最も大きいスカラ値を示すクラスを選択して、当該画像を1つのクラスに分類してもよい。この場合、上記の3つのクラスに対するスカラ値のうち、自動車クラスに対する確率値が最大であるため、閾値処理部104は、当該画像を自動車クラスに分類する。なお、閾値処理部104は、3つのクラスに対するスカラ値のうち、第1分類閾値との差分が大きいスカラ値を示すクラスを選択して、当該画像を1つのクラスに分類してもよい。この場合、閾値処理部104は、当該画像を自動車クラスに分類してもよい。以上のように、データの分類方法については、データの種類及び分類目的などに応じて、適宜設定されてもよい。
第2出力部105は、ステップS2004で得られた分類結果を出力する(ステップS2005)。第2出力部105は、分類結果を提示部(不図示)に出力してもよく、情報処理装置100a以外の他の装置に出力してもよい。例えば、第2出力部105は、入力部(不図示)に入力されたユーザの操作に基づいて、分類結果に基づく情報を提示部に提示させる。入力部、提示部、及び、他の装置などについては、上述したため、ここでの説明を省略する。
分類結果に基づく情報は、入力部に入力された設定に基づき、様々な形式の分類結果が提示されてもよい。例えば、データが車載カメラで撮像された画像である場合、分類結果に基づく情報は、情報処理装置100aで検出された物体クラスの種類及び検出回数、物体クラス毎の識別精度、各物体クラスに関する天候又は時間帯による識別精度の変化、識別精度が低い画像の傾向、又は、危険回避のためのアドバイスなどであってもよい。情報処理装置100aは、例えば、インターネットを介して接続されるサーバ上に配置されたデータベースに分析結果を送信して、分析結果に基づく情報を取得してもよい。
(変形例)
続いて、実施の形態1の変形例に係る情報処理装置について説明する。以下では、実施の形態1との相違点を中心に説明し、共通点の説明を省略又は簡略化する。
続いて、実施の形態1の変形例に係る情報処理装置について説明する。以下では、実施の形態1との相違点を中心に説明し、共通点の説明を省略又は簡略化する。
[情報処理装置の概要]
図4は、実施の形態1の変形例に係る情報処理装置100bの構成の一例を示すブロック図である。情報処理装置100bは、閾値算出部20aと、記憶部201aと、情報処理部10と、を備える。
図4は、実施の形態1の変形例に係る情報処理装置100bの構成の一例を示すブロック図である。情報処理装置100bは、閾値算出部20aと、記憶部201aと、情報処理部10と、を備える。
実施の形態1では、情報処理装置100aは、閾値算出装置200aから第1分類閾値を取得し、取得した第1分類閾値を用いてデータを複数のクラスの少なくとも1つに分類する例について説明した。情報処理装置100bと、実施の形態1に係る情報処理装置100aとの間の主な相違点は、閾値算出部20aを備える点である。なお、図1及び図4において、実質的に同一の構成には同一の符号を付している。
実施の形態1では、図1に示されるように、閾値算出装置200aは、閾値変換部205で導出された第1分類閾値を第1出力部206に出力し、第1出力部206を介して第1分類閾値を情報処理装置100aに出力する。本変形例では、図4に示されるように、閾値算出部20aは、閾値変換部205で導出された第1分類閾値を記憶部201aに格納する。そして、情報処理部10は、記憶部201aに格納された第1分類閾値を読み出す。
図1及び図4に示されるように、図4の取得部101aは、図1の第2取得部101に対応し、図4の出力部105aは、図1の第2出力部105に対応する。つまり、取得部101aは、第2取得部101と同様に、イメージセンサなどのセンサからデータを取得する。また、出力部105aは、第2出力部105と同様に、取得部101aが取得したデータを複数のクラスの少なくとも1つに分類した分類結果を出力する。
[閾値算出部の動作]
図5は、実施の形態1の変形例における閾値算出部20aの動作の一例を示すフローチャートである。図5のステップS3001~ステップS3004は、それぞれ、図2のステップ1001~ステップS1004に対応するため、ここでの説明を簡略化する。なお、変形例に係る閾値算出部20aの動作は、実施の形態1に係る閾値算出装置200aの動作と、第1分類閾値を記憶部201aに格納する点で異なる。
図5は、実施の形態1の変形例における閾値算出部20aの動作の一例を示すフローチャートである。図5のステップS3001~ステップS3004は、それぞれ、図2のステップ1001~ステップS1004に対応するため、ここでの説明を簡略化する。なお、変形例に係る閾値算出部20aの動作は、実施の形態1に係る閾値算出装置200aの動作と、第1分類閾値を記憶部201aに格納する点で異なる。
第1演算部202は、記憶部201から評価用データセットの入力データを読み出し、当該入力データの複数のクラスに対応する複数のスカラを出力する(ステップS3001)。
次いで、分類確率演算部203は、第1演算部202の出力から複数の単体クラスの分類確率値への変換である第1変換を実行する(ステップS3002)。
次いで、分類閾値決定部204は、ステップS3002で導出された複数の単体クラスの分類確率値に基づいて第2分類閾値を設定する(ステップS3003)。
次いで、閾値変換部205は、分類閾値決定部204で設定された第2分類閾値に対して、第2分類閾値からデータを複数のクラスの少なくとも1つに分類するための第1分類閾値への変換であって第1変換に対する逆変換である第2変換を実行する(ステップS3004)。
次いで、閾値変換部205は、第1分類閾値を記憶部201aに格納する(ステップS3005)。
[情報処理部の動作]
図6は、実施の形態1の変形例における情報処理部10の動作の一例を示すフローチャートである。図6のステップS4001とステップS4002とは、図3のステップS2001とステップS2002とに対応するため、ここでの説明を簡略化する。
図6は、実施の形態1の変形例における情報処理部10の動作の一例を示すフローチャートである。図6のステップS4001とステップS4002とは、図3のステップS2001とステップS2002とに対応するため、ここでの説明を簡略化する。
取得部101aは、例えばイメージセンサなどのセンサからデータを取得する(ステップS4001)。次いで、第2演算部102は、ステップS4001で取得したデータの複数のクラスに対応する複数のスカラ(確率値)を出力する(ステップS4002)。
続いて、データの複数のクラスそれぞれについて、クラス毎のループ処理を開始する。
閾値処理部104は、記憶部201aに格納されている第1分類閾値を読み出す(ステップS4003)。ここでは、閾値処理部104は、複数のクラスそれぞれの第1分類閾値を、各クラスの分類処理毎に読み出す例を説明するが、閾値処理部104は、複数のクラスの全ての第1分類閾値を一時に読み出してもよい。なお、第1分類閾値は、複数のクラスのそれぞれに対して異なる値であってもよく、同じ値であってもよい。
閾値処理部104は、第2演算部102の出力と、記憶部201aから読み出した第1分類閾値と、に基づいて、第2取得部101が取得したデータを複数のクラスの少なくとも1つに分類する。まず、閾値処理部104は、記憶部201aから複数のクラスのうちの1つのクラス(例えば、歩行者のクラス)の第1分類閾値を読み出し(ステップS4003)、当該クラスのスカラ値が記憶部201aから読み出した第1分類閾値以上であるか否かを判定する(ステップS4004)。当該クラスのスカラ値が第1分類閾値以上である場合(ステップS4004でYes)、閾値処理部104は、記憶部201aに当該クラスのスカラ値と当該クラスを示す番号とを紐づけて保存する(ステップS4005)。
一方、当該クラスのスカラ値が第1分類閾値よりも小さい場合(ステップS4004でNo)、閾値処理部104は、記憶部201aから複数のクラスのうちの他の1つのクラス(例えば、自動車のクラス)の第1分類閾値を読み出す(ステップS4003)。閾値処理部104は、当該クラスのスカラ値が記憶部201aから読み出した第1分類閾値以上であるか否かを判定する(ステップS4004)。当該クラスのスカラ値が第1分類閾値以上である場合(ステップS4004でYes)、閾値処理部104は、記憶部201aに当該クラスのスカラ値と当該クラスを示す番号とを紐づけて格納する(ステップS4005)。
一方、当該クラスのスカラ値が第1分類閾値よりも小さい場合(ステップS4004でNo)、閾値処理部104は、記憶部201aから複数のクラスのうちの他の1つのクラス(例えば、バイクのクラス)を読み出して(ステップS4003)、ステップS4004の判定処理を実行する。このように、同様の処理を繰り返すことにより、データの複数のクラスに対応する複数のスカラについて、クラス毎の分類処理を実行する。クラス毎のループ処理が終了すると、閾値処理部104は、記憶部201aに格納されたクラスの数が1以上であるか否かを判定する(ステップS4006)。記憶部201aに格納されたクラスの数が1以上である場合(ステップS4006でYes)、閾値処理部104は、出力部105aに、スカラ値が最大のクラス番号を出力する(ステップS4007)。これにより、出力部105aは、当該クラス番号に基づき、データを複数のクラスの少なくとも1つに分類した分類結果(例えば、データは自動車である)を出力する(不図示)。
一方、記憶部201aに格納されたクラスの数がゼロである場合(ステップS4006でNo)、閾値処理部104は、出力部105aに、その他を示す番号を出力する(ステップS4008)。その他とは、該当するクラスが無いことを示す。このとき、出力部105aから出力される分類結果は、例えば、データはその他のクラスである、又は、データは背景クラスである、であってもよい。
(実施の形態2)
続いて、実施の形態2における情報処理システムについて説明する。以下では、実施の形態1との相違点を中心に説明し、共通点の説明を省略又は簡略化する。
続いて、実施の形態2における情報処理システムについて説明する。以下では、実施の形態1との相違点を中心に説明し、共通点の説明を省略又は簡略化する。
[情報処理システムの概要]
図7は、実施の形態2における情報処理システム300bの構成の一例を示すブロック図である。情報処理システム300bは、閾値算出装置200bと、情報処理装置100aと、を備える。実施の形態2に係る閾値算出装置200bと、実施の形態1に係る閾値算出装置200aとの間の主な相違点は、ユーザが設定した第2分類閾値から第1分類閾値を導出する点である。
図7は、実施の形態2における情報処理システム300bの構成の一例を示すブロック図である。情報処理システム300bは、閾値算出装置200bと、情報処理装置100aと、を備える。実施の形態2に係る閾値算出装置200bと、実施の形態1に係る閾値算出装置200aとの間の主な相違点は、ユーザが設定した第2分類閾値から第1分類閾値を導出する点である。
[閾値算出装置の構成]
続いて、閾値算出装置200bの構成について説明する。
続いて、閾値算出装置200bの構成について説明する。
図7に示されるように、閾値算出装置200bは、入力部207と、閾値変換部205と、第1出力部206と、を備える。ここでは、閾値算出装置200bは、入力部207を備える例について説明するが、これに限られない。例えば、入力部は、閾値算出装置200b以外の他の装置に備えられてもよい。他の装置は、例えば、タブレット端末、スマートフォン、又は、コンピュータなどである。
入力部207は、ユーザからの操作信号を閾値変換部205に入力する。入力部207は、例えば、タッチパネル、キーボード、マウス、ボタン、又は、スピーカーなどである。操作信号は、例えば、複数のクラスそれぞれの第2分類閾値を示す信号である。ユーザは、入力部207を介して第2分類閾値を閾値変換部205に入力する。なお、第2分類閾値は、予め設定された値であってもよい。
閾値変換部205は、取得した第2分類閾値に対して、第1変換に対する逆変換である第2変換を実行し、第1分類閾値を導出する。第1出力部206は、第1分類閾値を情報処理装置100aに出力する。
なお、情報処理装置100aについては、実施の形態1に係る情報処理装置100aと同様であるため、ここでの説明を省略する。
[閾値算出装置の動作]
続いて、閾値算出装置200bの動作について説明する。図8は、実施の形態2における閾値算出装置200bの動作の一例を示すフローチャートである。
続いて、閾値算出装置200bの動作について説明する。図8は、実施の形態2における閾値算出装置200bの動作の一例を示すフローチャートである。
図示していないが、ユーザは、入力部207を介して閾値変換部205に複数のクラスそれぞれの第2分類閾値を入力する。
図8に示されるように、閾値変換部205は、入力部207を介して入力された複数のクラスの第2分類閾値を取得する(ステップS5001)。次いで、閾値変換部205は、取得した第2分類閾値に対して、第2分類閾値からデータを複数のクラスの少なくとも1つに分類するための第1分類閾値への変換であって、第1変換に対する逆変換である第2変換を実行する(ステップS5002)。
第1出力部206は、第1分類閾値を情報処理装置100aに出力する(ステップS5003)。
なお、情報処理装置100aの動作については、実施の形態1で説明した例と同様であるため、ここでの説明を省略する。
(変形例)
続いて、実施の形態2の変形例に係る情報処理装置について説明する。以下では、実施の形態2との相違点を中心に説明し、共通点の説明を省略又は簡略化する。
続いて、実施の形態2の変形例に係る情報処理装置について説明する。以下では、実施の形態2との相違点を中心に説明し、共通点の説明を省略又は簡略化する。
[情報処理装置の概要]
図9は、実施の形態2の変形例に係る情報処理装置100cの構成の一例を示すブロック図である。情報処理装置100bは、閾値算出部20bと、記憶部201bと、情報処理部10と、を備える。
図9は、実施の形態2の変形例に係る情報処理装置100cの構成の一例を示すブロック図である。情報処理装置100bは、閾値算出部20bと、記憶部201bと、情報処理部10と、を備える。
実施の形態2では、情報処理装置100aは、閾値算出装置200bから第1分類閾値を取得し、取得した第1分類閾値を用いてデータを複数のクラスの少なくとも1つに分類する例について説明した。本変形例に係る情報処理装置100cと、実施の形態2に係る情報処理装置100aとの間の主な相違点は、情報処理装置100cが閾値算出部20bを備える点である。また、本変形例に係る閾値算出部20bと、実施の形態2に係る閾値算出装置200bとの間の主な相違点は、閾値算出部20bが分類閾値決定部204を備える点である。なお、図7及び図9において、実質的に同一の構成には同一の符号を付している。
実施の形態2では、図7に示されるように、閾値算出装置200bは、ユーザが入力部207を介して閾値変換部205に入力した第2分類閾値を、閾値変換部205で逆変換し、第1分類閾値を導出する。そして、閾値算出装置200bは、導出した第1分類閾値を、第1出力部206から情報処理装置100に出力する。本変形例では、図9に示されるように、閾値算出部20bは、閾値変換部205で導出された第1分類閾値を記憶部201bに格納する。そして、情報処理部10は、記憶部201bに格納された第1分類閾値を読み出して、データを複数のクラスの少なくとも1つに分類する。
図7及び図9に示されるように、図9の取得部101aは、図7の第2取得部101に対応し、図9の出力部105aは、図7の第2出力部105に対応する。つまり、取得部101aは、第2取得部101と同様に、イメージセンサなどのセンサからデータを取得する。また、出力部105aは、第2出力部105と同様に、取得部101aが取得したデータを複数のクラスの少なくとも1つに分類した分類結果を出力する。
また、図1及び図9に示されるように、図9の分類閾値決定部204は、図1の分類閾値決定部204に対応する。分類閾値決定部204は、例えば、記憶部201又は記憶部201bに格納された評価用データセットを参照して、適切な第2分類閾値を決定する。
実施の形態2に係る閾値算出装置200bでは、ユーザが入力した第2分類閾値から第1分類閾値を導出したが、本変形例に係る閾値算出部20bでは、ユーザが入力した第2分類閾値と、記憶部201bに格納された評価用データとに基づいて、第2分類閾値を決定する。決定処理の詳細については、動作の項にて説明する。
なお、情報処理部10については、実施の形態1の変形例に係る情報処理部10と同様であるため、ここでの説明を省略する。
[閾値算出部の動作]
図10は、実施の形態2の変形例における閾値算出部20bの動作の一例を示すフローチャートである。
図10は、実施の形態2の変形例における閾値算出部20bの動作の一例を示すフローチャートである。
図示していないが、ユーザは、入力部207を介して分類閾値決定部204に複数のクラスそれぞれの第2分類閾値を入力する。これにより、図10に示されるように、分類閾値決定部204は、入力された第2分類閾値を取得する(ステップS6001)。
次いで、分類閾値決定部204は、記憶部201bから評価用データを読み出す(ステップS6002)。分類閾値決定部204は、評価用データセットに基づいて、ステップS6001で取得した第2分類閾値が適切であるか否か、より具体的には、評価用データセットの複数の単体クラスの分類確率値に対して第2分類閾値を適用することで得られる結果が目標精度を満たすか否かを判定する(ステップS6003)。第2分類閾値が適切であると判定された場合(ステップS6003でYes)、分類閾値決定部204は、当該第2分類閾値を閾値変換部205に出力する。閾値変換部205は、取得した第2分類閾値に対して、第2分類閾値からデータを複数のクラスの少なくとも1つに分類するための第1分類閾値への変換であって、第1変換に対する逆変換である第2変換を実行する(ステップS6004)。閾値変換部205は、導出した第1分類閾値を記憶部201bに格納する(ステップS6005)。
一方、第2分類閾値が適切でないと判定された場合(ステップS6003でNo)、分類閾値決定部204は、提示部(不図示)に、第2分類閾値が適切でない旨を提示させる(ステップS6006)。このとき、分類閾値決定部204は、評価用データセットの複数の単体クラスの分類確率値に対して第2分類閾値を適用することで得られる結果が目標精度を満たす第2分類閾値を提示部に提示させてもよい。
なお、情報処理部10の動作については、実施の形態1の変形例における情報処理部10と同様であるため、ここでの説明を省略する。
(他の実施の形態)
以上、1つ又は複数の態様に係る情報処理装置及び情報処理方法について、実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲に含まれる。
以上、1つ又は複数の態様に係る情報処理装置及び情報処理方法について、実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲に含まれる。
例えば、上記の実施の形態において説明した処理は、単一の装置(システム)を用いて集中処理することによって実現してもよく、又は、複数の装置を用いて分散処理することによって実現してもよい。また、上記プログラムを実行するプロセッサは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、又は、分散処理を行ってもよい。
また、上記の各実施の形態は、請求の範囲又はその均等の範囲において種々の変更、書き換え、付加、及び、省略などを行うことができる。
本開示は、物体のクラス分類のための演算量を低減することができる情報処理装置、情報処理方法及びプログラムなどとして有用である。
10 情報処理部
20a、20b 閾値算出部
100a、100b、100c 情報処理装置
101 第2取得部
101a 取得部
102 第2演算部
103 第1取得部
104 閾値処理部
105 第2出力部
105a 出力部
200a、200b 閾値算出装置
201、201a、201b 記憶部
202 第1演算部
203 分類確率演算部
204 分類閾値決定部
205 閾値変換部
206 第1出力部
207 入力部
300a、300b 情報処理システム
20a、20b 閾値算出部
100a、100b、100c 情報処理装置
101 第2取得部
101a 取得部
102 第2演算部
103 第1取得部
104 閾値処理部
105 第2出力部
105a 出力部
200a、200b 閾値算出装置
201、201a、201b 記憶部
202 第1演算部
203 分類確率演算部
204 分類閾値決定部
205 閾値変換部
206 第1出力部
207 入力部
300a、300b 情報処理システム
Claims (7)
- プロセッサを備える情報処理装置であって、
前記プロセッサは、
データを複数のクラスの少なくとも1つに分類するための第1分類閾値を取得し、
訓練済みの分類モデルの出力と前記第1分類閾値とに基づいて前記データを前記複数のクラスの少なくとも1つに分類した分類結果を出力し、
前記第1分類閾値は、第2分類閾値の、第1変換に対する逆変換である第2変換により得られ、
前記第1変換は、前記訓練済みの分類モデルの出力から前記複数のクラスを構成する複数の単体クラスの分類確率値への変換であり、
前記第2分類閾値は、前記複数の単体クラスの分類確率値に基づいて設定される、
情報処理装置。 - 前記訓練済みの分類モデルの出力は、前記複数のクラスに対応する複数のスカラである、
請求項1に記載の情報処理装置。 - コンピュータにより実行される情報処理方法であって、
訓練済みの分類モデルの出力から複数の単体クラスの分類確率値への第1変換を実行し、
前記複数の単体クラスの前記分類確率値に基づいて第2分類閾値を設定し、
前記第2分類閾値からデータを複数のクラスの少なくとも1つに分類するための第1分類閾値への変換であって、第1変換に対する逆変換である第2変換を実行し、
前記第1分類閾値を出力する、
情報処理方法。 - 前記第1変換は、逆変換可能な確率関数による演算であり、
前記第2変換は、前記確率関数の逆関数による演算である、
請求項3に記載の情報処理方法。 - 前記第1変換は、逆変換可能な確率関数による演算に対応したデータベースを用いた変換であり、
前記第2変換は、前記確率関数の逆関数による演算に対応したデータベースを用いた変換である、
請求項3に記載の情報処理方法。 - データセットを取得し、
前記データセットを前記訓練済みの分類モデルに入力して前記データセットに含まれるデータそれぞれについて前記複数の単体クラスの分類確率値を取得し、
取得された前記複数の単体クラスの分類確率値それぞれに対して前記第2分類閾値を用いた分類結果に基づいて前記第2分類閾値を決定する、
請求項3に記載の情報処理方法。 - データを複数のクラスの少なくとも1つに分類するための第1分類閾値を取得し、
訓練済みの分類モデルの出力と前記第1分類閾値とに基づいて前記データを前記複数のクラスの少なくとも1つに分類した分類結果を出力し、
前記第1分類閾値は、第2分類閾値の、第1変換に対する逆変換である第2変換により得られ、
前記第1変換は、前記訓練済みの分類モデルの出力から複数の単体クラスの分類確率値への変換であり、
前記第2分類閾値は、前記複数の単体クラスの分類確率値に基づいて設定される、
情報処理方法をコンピュータに実行させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201980049686.4A CN112513891A (zh) | 2019-01-02 | 2019-12-10 | 信息处理装置、信息处理方法及程序 |
JP2020563863A JP7483631B2 (ja) | 2019-01-02 | 2019-12-10 | 情報処理方法及びプログラム |
EP19907653.0A EP3907670A4 (en) | 2019-01-02 | 2019-12-10 | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM |
US17/152,155 US20210166139A1 (en) | 2019-01-02 | 2021-01-19 | Information processing device, information processing method, and recording medium |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962787576P | 2019-01-02 | 2019-01-02 | |
US62/787,576 | 2019-01-02 | ||
JP2019-107878 | 2019-06-10 | ||
JP2019107878 | 2019-06-10 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/152,155 Continuation US20210166139A1 (en) | 2019-01-02 | 2021-01-19 | Information processing device, information processing method, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020141587A1 true WO2020141587A1 (ja) | 2020-07-09 |
Family
ID=71406879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/048321 WO2020141587A1 (ja) | 2019-01-02 | 2019-12-10 | 情報処理装置、情報処理方法及びプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210166139A1 (ja) |
EP (1) | EP3907670A4 (ja) |
JP (1) | JP7483631B2 (ja) |
CN (1) | CN112513891A (ja) |
WO (1) | WO2020141587A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7156195B2 (ja) * | 2019-07-17 | 2022-10-19 | トヨタ自動車株式会社 | 物体認識装置 |
EP3882823A1 (en) * | 2020-03-17 | 2021-09-22 | Samsung Electronics Co., Ltd. | Method and apparatus with softmax approximation |
US20230195851A1 (en) * | 2020-05-28 | 2023-06-22 | Nec Corporation | Data classification system, data classification method, and recording medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004212598A (ja) * | 2002-12-27 | 2004-07-29 | Sharp Corp | 変換装置、補正回路、駆動装置、表示装置、検査装置および表示方法 |
JP2014063797A (ja) * | 2012-09-20 | 2014-04-10 | Fujitsu Ltd | 最適値計算装置、最適値計算システム、最適値計算方法及びプログラム |
JP2015521483A (ja) * | 2012-06-22 | 2015-07-30 | エイチティージー モレキュラー ダイアグノスティクス, インコーポレイテッド | メラニン細胞性病変における分子悪性度 |
WO2017149722A1 (ja) | 2016-03-03 | 2017-09-08 | 三菱電機株式会社 | 演算装置および演算方法 |
JP2018077765A (ja) * | 2016-11-11 | 2018-05-17 | ヤフー株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8687893B2 (en) * | 2011-03-31 | 2014-04-01 | Microsoft Corporation | Classification algorithm optimization |
CN107045506A (zh) * | 2016-02-05 | 2017-08-15 | 阿里巴巴集团控股有限公司 | 评估指标获取方法及装置 |
US11086918B2 (en) | 2016-12-07 | 2021-08-10 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for multi-label classification |
-
2019
- 2019-12-10 EP EP19907653.0A patent/EP3907670A4/en active Pending
- 2019-12-10 CN CN201980049686.4A patent/CN112513891A/zh active Pending
- 2019-12-10 WO PCT/JP2019/048321 patent/WO2020141587A1/ja unknown
- 2019-12-10 JP JP2020563863A patent/JP7483631B2/ja active Active
-
2021
- 2021-01-19 US US17/152,155 patent/US20210166139A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004212598A (ja) * | 2002-12-27 | 2004-07-29 | Sharp Corp | 変換装置、補正回路、駆動装置、表示装置、検査装置および表示方法 |
JP2015521483A (ja) * | 2012-06-22 | 2015-07-30 | エイチティージー モレキュラー ダイアグノスティクス, インコーポレイテッド | メラニン細胞性病変における分子悪性度 |
JP2014063797A (ja) * | 2012-09-20 | 2014-04-10 | Fujitsu Ltd | 最適値計算装置、最適値計算システム、最適値計算方法及びプログラム |
WO2017149722A1 (ja) | 2016-03-03 | 2017-09-08 | 三菱電機株式会社 | 演算装置および演算方法 |
JP2018077765A (ja) * | 2016-11-11 | 2018-05-17 | ヤフー株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
Non-Patent Citations (1)
Title |
---|
See also references of EP3907670A4 |
Also Published As
Publication number | Publication date |
---|---|
EP3907670A4 (en) | 2022-03-02 |
JP7483631B2 (ja) | 2024-05-15 |
US20210166139A1 (en) | 2021-06-03 |
CN112513891A (zh) | 2021-03-16 |
EP3907670A1 (en) | 2021-11-10 |
JPWO2020141587A1 (ja) | 2021-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020141587A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
EP3520045B1 (en) | Image-based vehicle loss assessment method, apparatus, and system, and electronic device | |
KR102564854B1 (ko) | 정규화된 표현력에 기초한 표정 인식 방법, 표정 인식 장치 및 표정 인식을 위한 학습 방법 | |
JP6348431B2 (ja) | 画像処理方法、画像処理装置 | |
JP2016110635A (ja) | 画像署名をフィッシャーベクトルとマッチングするための適応型語彙 | |
WO2014082496A1 (zh) | 客户端特征的识别方法、装置及存储介质 | |
CN111626371A (zh) | 一种图像分类方法、装置、设备及可读存储介质 | |
KR102159052B1 (ko) | 영상 분류 방법 및 장치 | |
CN110598603A (zh) | 人脸识别模型获取方法、装置、设备和介质 | |
JP2012203422A (ja) | 学習装置、方法及びプログラム | |
KR102286571B1 (ko) | 영상에서 다수의 객체를 인식하는 방법 | |
US20200090040A1 (en) | Apparatus for processing a signal | |
US9058748B2 (en) | Classifying training method and apparatus using training samples selected at random and categories | |
Barbosa et al. | Support vector machines, Mel-Frequency Cepstral Coefficients and the Discrete Cosine Transform applied on voice based biometric authentication | |
CN115376559A (zh) | 基于音视频的情绪识别方法、装置及设备 | |
CN110610131B (zh) | 人脸运动单元的检测方法、装置、电子设备及存储介质 | |
US20180285643A1 (en) | Object recognition device and object recognition method | |
KR101334858B1 (ko) | 나비종 자동분류 시스템 및 방법, 이를 이용한 나비종 자동분류 기능이 구비된 휴대 단말기 | |
Yu et al. | Speaking style based apparent personality recognition | |
JP5360143B2 (ja) | 走行場面認識モデル生成装置、運転支援装置、及びプログラム | |
KR20210048271A (ko) | 복수 객체에 대한 자동 오디오 포커싱 방법 및 장치 | |
CN115546813A (zh) | 一种文档分析方法、装置、存储介质及设备 | |
CN114999633A (zh) | 一种基于多模态共享矢量空间的抑郁识别方法及*** | |
CN112115325B (zh) | 场景类别的确定方法和场景分析模型的训练方法、装置 | |
Yoshitomi et al. | Facial Expression Recognition Using Facial Expression Intensity Characteristics of Thermal Image. |
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: 19907653 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020563863 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019907653 Country of ref document: EP Effective date: 20210802 |