Information processing apparatus, information processing method, and recording medium
By performing a reversible transformation on the output layer of a multi-layer neural network, the output of the classification model is converted into a classification threshold using a reversible transformation function. This solves the problem of excessive computation in computing-limited devices and improves recognition accuracy.
Patent Information
- Application Number
- CN201980049686.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-06-10
- Filing Date
- 2019-12-10
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2039-12-10
AI Technical Summary
In devices with limited computing resources, the exponential operation of the Softmax function in existing technologies leads to excessive computation, resulting in decreased recognition accuracy and making it difficult to effectively reduce the computational load of object category classification.
By performing a reversible transformation on the output layer of a multi-layer neural network, the output of the classification model is converted into a classification threshold using a reversible transformation function. This avoids directly calculating the classification probability values of multiple individual categories and uses an inverse transformation to obtain an unstandardized threshold for classification.
It reduces the computational load of object classification, improves the recognition accuracy of devices with limited computing resources, and reduces unnecessary computation.
Smart Images

Figure CN112513891B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to an information processing apparatus, an information processing method, and a recording medium. BACKGROUND
[0002] In the field of image recognition and the like, a deep neural network (DNN) is used as a recognition model (hereinafter, also referred to as a classification model) that recognizes an object in an image. The DNN, for example, outputs a probability value (also referred to as a likelihood for an object class) of a class classification of an object included in an image, with the image as input. At this time, in an output layer of the DNN, a Softmax function is used (for example, refer to Patent Literature 1).
[0003] PRIOR ART DOCUMENTS
[0004] PATENT LITERATURE
[0005] Patent Literature 1: International Publication No. 2017 / 149722 SUMMARY
[0006] PROBLEMS TO BE SOLVED BY THE INVENTION
[0007] However, since the Softmax function includes an exponential operation, in a case where the classification model is installed in an embedded device in which a computing resource is limited, the computing resource can be strained.
[0008] Therefore, the present application provides an information processing apparatus, an information processing method, and a recording medium that can reduce the amount of operation for class classification of an object.
[0009] MEANS FOR SOLVING THE PROBLEMS
[0010] In order to solve the above problems, an information processing apparatus according to a technical solution of the present application is an information processing apparatus provided with a processor that acquires a first classification threshold value for classifying data into at least one class of a plurality of classes; outputs a classification result of classifying the data into at least one class of the plurality of classes, based on an output of a trained classification model and the first classification threshold value; the first classification threshold value is obtained by a second transformation of a second classification threshold value, the second transformation being an inverse transformation of a first transformation; the first transformation is a transformation from the output of the trained classification model to classification probability values of a plurality of individual classes constituting the plurality of classes; and the second classification threshold value is set based on the classification probability values of the plurality of individual classes.
[0011] Further, the information processing method relating to the technical solution of the present application is an information processing method executed by a computer, and performs a first transformation from an output of a trained classification model to classification probability values of a plurality of single categories; sets a second classification threshold value based on the classification probability values of the plurality of single categories; performs a second transformation, which is a transformation from the second classification threshold value to a first classification threshold value used to classify data into at least one category of a plurality of categories, and is an inverse transformation of the first transformation; and outputs the first classification threshold value.
[0012] Further, the recording medium relating to the technical solution of the present application is a nonvolatile recording medium that can be read by a computer, and records a program for causing the computer to execute the following information processing method: acquires a first classification threshold value used to classify data into at least one category of a plurality of categories; outputs a classification result of classifying the data into at least one category of the plurality of categories based on an output of a trained classification model and the first classification threshold value; the first classification threshold value is obtained by a second transformation of a second classification threshold value, which is an inverse transformation of the first transformation; the first transformation is a transformation from an output of the trained classification model to classification probability values of a plurality of single categories constituting the plurality of categories; and the second classification threshold value is set based on the classification probability values of the plurality of single categories.
[0013] Effects of Invention
[0014] According to the present application, it is possible to reduce the amount of computation for classifying the category of an object. BRIEF DESCRIPTION OF DRAWINGS
[0015] Figure 1 is a block diagram showing an example of the structure of the information processing system of Embodiment 1.
[0016] Figure 2 is a flowchart showing an example of the action of the threshold value calculation device of Embodiment 1.
[0017] Figure 3 is a flowchart showing an example of the action of the information processing device relating to Embodiment 1.
[0018] Figure 4 is a block diagram showing an example of the structure of the information processing device relating to the modified example of Embodiment 1.
[0019] Figure 5 is a flowchart showing an example of the action of the threshold value calculation unit of the modified example of Embodiment 1.
[0020] Figure 6 is a flowchart showing an example of the action of the information processing unit of the modified example of Embodiment 1.
[0021] Figure 7 is a block diagram showing an example of the structure of the information processing system of Embodiment 2.
[0022] Figure 8 is a flowchart showing an example of the operation of the threshold value calculation unit of Embodiment 2.
[0023] Figure 9 is a block diagram showing an example of the structure of the information processing system of Embodiment 2.
[0024] Figure 10 is a flowchart showing an example of the operation of the threshold value calculation unit of Embodiment 2. DETAILED DESCRIPTION
[0025] (Recognition of Achieving the Invention)
[0026] In the past, in a deep neural network (DNN) mounted in an operation device in which a computational resource is limited like an inducting device, since the number of units of a hidden layer cannot be increased, there is a problem that a pattern recognition performance is degraded. For this problem, the conventional technology described in Patent Literature 1 makes a determination of whether or not to implement scalar quantization for each layer of a DNN, and in the next layer of a layer in which scalar quantization is implemented, a multiplication of a vector subjected to scalar quantization and a weight vector is performed. Thereby, since the amount of calculation can be reduced compared to a case where a multiplication of a vector not subjected to scalar quantization and a weight vector is performed, the number of units of a hidden layer can be increased. However, since a likelihood vector is calculated using an output vector subjected to scalar quantization, values become coarse compared to a case where a likelihood vector is calculated using an output vector not subjected to scalar quantization. Therefore, there is a possibility that recognition accuracy is degraded.
[0027] Further, in the related art described in Patent Literature 1, in a case where scalar quantization is not performed in the first layer of the output layer of the DNN, a Softmax function is applied in the output layer, and a likelihood vector (hereinafter, referred to as a classification probability value) for a plurality of classes is calculated. The Softmax function includes an operation of an exponential function, and thus, the operation amount of the exponential function becomes a problem at the time of installation into a system. Further, the Softmax function adjusts an input so that the sum becomes 1, and thus, even if inverse transformation is performed, the original value is not restored. In other words, since the Softmax function performs a non-reversible operation on an input, the output value obtained by inputting into the Softmax function cannot be inversely transformed to obtain a value that is not standardized. Therefore, in the related art described in Patent Literature 1, in order to recognize an object in an input image, for example, it is necessary to calculate a classification probability value for each of a plurality of classes of the object in the input image. The process of calculating such a classification probability value of the object in the input image increases the operation amount of an operation device that limits the computational resources of an embedded device, and thus, there is a case where the recognition accuracy of the DNN mounted in the operation device decreases. Thus, the related art described in Patent Literature 1 cannot be said to be able to reduce the operation amount for class classification of an object.
[0028] Therefore, the present inventors have made intensive studies in view of the above problem, and as a result, have found that, in a process of determining a threshold value for each of a plurality of classes, by performing a reversible transformation in the output layer of the DNN, the calculated threshold value can be inversely transformed to obtain a threshold value that is not standardized. Thus, for example, in a class classification process of an object in an input image, a threshold value that is not standardized can be used, and thus, it has been conceived that an information processing device that can reduce the operation amount for class classification of an object.
[0029] A summary of one aspect of the present application is as follows.
[0030] An information processing device according to one aspect of the present application is an information processing device including a processor that acquires a first classification threshold value for classifying data into at least one class of a plurality of classes; outputs a classification result of classifying the data into at least one class of the plurality of classes based on an output of a trained classification model and the first classification threshold value; the first classification threshold value is obtained by a second transformation of a second classification threshold value, the second transformation being an inverse transformation of a first transformation; the first transformation is a transformation from the output of the trained classification model to a classification probability value of a plurality of individual classes constituting the plurality of classes; and the second classification threshold value is set based on the classification probability value of the plurality of individual classes.
[0031] According to the above configuration, in the first transformation from the output of the classification model to the classification probability values of the plurality of individual categories, a function of a reversible transformation is used. Therefore, if the first classification threshold value obtained by performing the second transformation as an inverse transformation of the first transformation on the second classification threshold value is used in the process of the class classification of the object, it is no longer necessary to transform the output of the classification model with an image as an input into the classification probability values of the plurality of individual categories. Thus, according to the information processing apparatus relating to one aspect of the present application, it is possible to reduce the amount of calculation for the class classification of the object.
[0032] Specifically, in the information processing apparatus relating to one aspect of the present application, the output of the above-mentioned trained classification model can also be a plurality of scalars corresponding to the above-mentioned plurality of categories.
[0033] Further, the information processing method relating to one aspect of the present application is an information processing method executed by a computer, which performs a first transformation from an output of a trained classification model to classification probability values of a plurality of individual categories; sets a second classification threshold value based on the classification probability values of the plurality of individual categories; performs a second transformation, which is a transformation from the second classification threshold value to a first classification threshold value used to classify data into at least one category of a plurality of categories, which is an inverse transformation of the first transformation; and outputs the first classification threshold value.
[0034] According to the above method, in the first transformation from the output of the classification model to the classification probability values of the plurality of individual categories, a function of a reversible transformation is used. Therefore, by performing the second transformation as an inverse transformation of the first transformation on the second classification threshold value, a first classification threshold value as a threshold value that has not been standardized is obtained. For example, if the first classification threshold value is used in the process of the class classification of the object, it is no longer necessary to transform the output of the classification model into the classification probability values of the plurality of individual categories. Thus, according to the information processing method relating to one aspect of the present application, since the first classification threshold value as a threshold value that has not been standardized can be obtained, it is possible to reduce the amount of calculation for the class classification of the object.
[0035] For example, the information processing method relating to one aspect of the present application can also be that the first transformation is an operation based on a probability function that can be inversely transformed; and the second transformation is an operation based on an inverse function of the probability function.
[0036] Thus, by inversely transforming the classification probability values of the plurality of individual categories, it is possible to derive the value before the transformation, that is, the output of the trained classification model.
[0037] For example, in the information processing method according to one aspect of the present application, the above-mentioned first transformation can be a transformation using a database corresponding to an operation based on a probability function capable of inverse transformation; and the above-mentioned second transformation can be a transformation using a database corresponding to an operation based on an inverse function of the above-mentioned probability function.
[0038] Thus, the amount of calculation can be further reduced compared to function operation.
[0039] For example, in the information processing method according to one aspect of the present application, a data set can be acquired; the above-mentioned data set can be input to the above-mentioned trained classification model, and classification probability values of the above-mentioned plurality of individual categories can be acquired for each data included in the above-mentioned data set; and the above-mentioned second classification threshold value can be determined based on classification results in which the above-mentioned second classification threshold value is used for each of the acquired classification probability values of the above-mentioned plurality of individual categories.
[0040] Thus, by varying the value of the threshold value of the classification probability values of the classification probability values for the plurality of individual categories, i.e., the second classification threshold value, with reference to the correct answer data included in the evaluation data set, the second classification threshold value is determined by selecting the second classification threshold value satisfying the target accuracy. Thus, according to the information processing method according to one aspect of the present application, it is possible to determine a threshold value that can achieve a desired classification accuracy.
[0041] Further, the recording medium according to one aspect of the present application is a nonvolatile recording medium that can be read by a computer, and the recording medium records a program for causing the computer to execute an information processing method of acquiring a first classification threshold value for classifying data into at least one category of a plurality of categories; outputting a classification result of classifying the data into at least one category of the plurality of categories based on an output of a trained classification model and the first classification threshold value; the first classification threshold value being obtained by a second transformation of a second classification threshold value, the second transformation being an inverse transformation of a first transformation; the first transformation being a transformation from the output of the trained classification model to classification probability values of a plurality of individual categories constituting the plurality of categories; and the second classification threshold value being set based on the classification probability values of the plurality of individual categories.
[0042] According to the above-mentioned recording medium, in the first transformation from the output of the classification model to the classification probability values of the plurality of individual categories, a function capable of inverse transformation is used. Therefore, if the first classification threshold value obtained by performing the second transformation, which is an inverse transformation of the first transformation, on the second classification threshold value is used in the processing of classifying the categories of the objects, it is no longer necessary to, for example, transform the output of the classification model with an image as input into the classification probability values of the plurality of individual categories. Thus, according to the recording medium according to one aspect of the present application, it is possible to reduce the amount of operation for classifying the categories of the objects.
[0043] Hereinafter, the present application will be described in detail with reference to the drawings.Figure 1 Embodiments are described in detail below.
[0044] Further, the embodiments described below are merely examples and are not intended to limit the present application. Thus, numerical values, shapes, constituent elements, positions of constituent elements, connection modes, steps, orders of steps, and the like indicated in the following embodiments are examples, and are not intended to limit the present application. Furthermore, among the constituent elements of the embodiments described below, those not recited in the independent claims are optional constituent elements.
[0045] Further, each drawing is a schematic view and is not necessarily drawn to scale. Thus, for example, the scale and the like are not necessarily consistent in each drawing. Furthermore, in each drawing, the same reference numerals are assigned to substantially identical structures, and repetitive description or simplification of the description is omitted.
[0046] Further, in the present specification, terms and numerical ranges indicating relationships between elements such as horizontal or vertical are not terms indicating only strict meanings, but are terms indicating ranges substantially equivalent thereto, for example, a difference of several percent or the like.
[0047] (Embodiment 1)
[0048] [Outline of Information Processing System]
[0049] First, an outline of an information processing system provided with an information processing apparatus relating to Embodiment 1 will be described with reference to the drawings. Figure 1 is a block diagram illustrating an example of a configuration of the information processing system 300a of Embodiment 1.
[0050] The information processing system 300a is a system that classifies data acquired by a sensor into at least one category of a plurality of categories and outputs a classification result. The information processing system 300a includes a threshold value calculation apparatus 200a that calculates a first classification threshold value for classifying data into at least one category of a plurality of categories, and an information processing apparatus 100a that outputs a classification result of classifying data into at least one category of a plurality of categories, on the basis of an output of a trained classification model and the first classification threshold value.
[0051] 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 can be acquired using a three-dimensional reconstruction technique such as SfM (Structure from Motion). The data acquired by the sensor is, for example, sound, an image, a moving image, three-dimensional point cloud data, or vector data.
[0052] In the information processing system 300a, multiple categories can be set to classify the data based on its type and purpose. For example, when the data is sound, categories can be set for specific human voices, mechanical sounds, or animal calls. Similarly, when the data is images, categories can be set for specific people in surveillance camera systems, and for pedestrians, cars, motorcycles, bicycles, and backgrounds in vehicle-mounted camera systems. Furthermore, when the data is three-dimensional point data, categories can be set based on the three-dimensional shape of structures or terrain, such as unevenness, cracks, or specific features. Finally, when the data is vector data, categories can be set for the motion vectors of multiple parts of structures such as bridge trusses or sound barriers.
[0053] The following describes the structure of the information processing system 300a.
[0054] Threshold calculation device
[0055] The threshold calculation device 200a is a device for calculating a first classification threshold for classifying data into at least one of multiple categories.
[0056] like Figure 1 As shown, 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 transformation unit 205, and a first output unit 206.
[0057] Storage unit 201 stores an evaluation dataset for a second classification threshold. The evaluation dataset includes input data input to the first calculation unit 202 and a set of correct answer data corresponding to the input data. The correct answer data are the classification probability values for each of the multiple categories of the input data. Hereinafter, the classification probability values for each of the multiple categories will also be referred to as the classification probability values for multiple individual categories. Furthermore, an individual category refers to each category that constitutes the multiple categories. The classification probability values for multiple individual categories are standardized probability values obtained by performing a first transformation on the output of the first calculation unit 202 in the classification probability calculation unit 203. The second classification threshold is set based on the classification probability values of the multiple individual categories.
[0058] The first arithmetic unit 202 is a feature quantity extractor that extracts a feature quantity of data, and is, for example, a machine learning model. The first arithmetic unit 202 is, for example, a trained classification model. The classification model is a multi-layer neural network (DNN). The first arithmetic unit 202 acquires an evaluation data set. The first arithmetic unit 202 reads out the evaluation data set from the storage unit 201, for example. Input data of the evaluation data set is input to the first arithmetic unit 202. The first arithmetic unit 202 outputs a plurality of scalar values corresponding to a plurality of classes for the input data. Each scalar value is a feature quantity of the input data corresponding to each class. The output of the first arithmetic unit 202 is a value that is not standardized.
[0059] In addition, the first arithmetic unit 202 is not limited to a DNN. The first arithmetic unit 202 can also be another feature quantity extractor other than a DNN using a method such as an edge extraction method, a principal component analysis method, a block matching method, a sampling Moire method, and the like.
[0060] In addition, the first arithmetic unit 202 can acquire an evaluation data set from another device via communication. The first arithmetic unit 202 can also acquire an evaluation data set from a server or a storage device via the Internet, for example.
[0061] The classification probability arithmetic unit 203 performs a first transformation that is a transformation from the output of the first arithmetic unit 202 to classification probability values of a plurality of individual classes. More specifically, the classification probability arithmetic unit 203 calculates classification probability values of a plurality of individual classes from the output of the first arithmetic unit 202 using a reversible transformation in the first transformation. For example, the classification probability arithmetic unit 203 derives classification probability values corresponding to a plurality of classes for input data by standardizing a plurality of scalar values (feature quantities) corresponding to a plurality of classes for the input data using a probability function of a reversible transformation. In this way, by standardizing with a reversible transformation, it is possible to derive a threshold value that is not standardized by inversely transforming an appropriate threshold value (a second classification threshold value to be described later) after determining the appropriate threshold value based on an evaluation data set.
[0062] The classification probability arithmetic unit 203 is composed of, for example, a plurality of individual class probability arithmetic units. A plurality of scalar values corresponding to a plurality of classes are input to the individual class probability arithmetic units corresponding to each of the plurality of classes, respectively. The plurality of individual class probability arithmetic units are functions of a reversible transformation, respectively. These functions can be different from each other or the same. The functions of a reversible transformation can be differentiable functions such as a sigmoid function or a hyperbolic tangent function (Tanh: Tangent Hyperbolic Function), for example. In addition, the first transformation can be an operation by a probability function of a reversible transformation, or a transformation using a database corresponding to the operation by the probability function of a reversible transformation. The database can be, for example, a table in which an input and an output (a transformed value) are associated with each other like a lookup table.
[0063] The classification threshold value decision section 204 decides the second classification threshold value based on the classification probability values of the plurality of single categories calculated by the classification probability operation section 203. More specifically, the classification threshold value decision section 204 acquires the classification probability values of the plurality of single categories, and decides the second classification threshold value based on the classification results using the second classification threshold value for the acquired classification probability values of the plurality of single categories respectively. For example, the classification threshold value decision section 204 reads out the evaluation data set from the storage section 201, and decides the second classification threshold value based on the correct answer data of the evaluation data set and the classification probability values of the plurality of single categories calculated by the classification probability operation section 203. That is, in the classification threshold value decision section 204, the optimal second classification threshold value is decided based on the evaluation data set. For example, the classification threshold value decision section 204 decides the second classification threshold value for the classification probability values of the plurality of single categories according to the proportions of FP (False Positive) / FN (False Negative) for the evaluation data set respectively.
[0064] In addition, the second classification threshold value can be either a value decided in advance or a value decided according to a target accuracy set by a user. In the case where the second classification threshold value is decided according to the target accuracy, the classification threshold value decision section 204 can also decide the second classification threshold value so that the result obtained by applying the second classification threshold value to the classification probability values of the plurality of single categories satisfies the target threshold value. In addition, the target accuracy can be set for each category or set commonly for all categories. Details of this method are described later in the item of the operation of the threshold value calculation device.
[0065] In addition, the second classification threshold value can be either a value decided in advance or a value decided according to a target accuracy set by a user. In the case where the second classification threshold value is decided according to the target accuracy, the classification threshold value decision section 204 can also decide the second classification threshold value so that the result obtained by applying the second classification threshold value to the classification probability values of the plurality of single categories satisfies the target threshold value. In addition, the target accuracy can be set for each category or set commonly for all categories. Details of this method are described later in the item of the operation of the threshold value calculation device.
[0066] The threshold value conversion section 205 performs a second conversion which is a conversion from the second classification threshold value to the first classification threshold value used to classify data into at least one category of a plurality of categories, and is an inverse conversion with respect to the first conversion. In other words, the threshold value conversion section 205 converts the second classification threshold value into a threshold value which is not standardized (i.e., the first classification threshold value) by inverse conversion. The threshold value conversion section 205 can be either an inverse function of the function (e.g., a probability function of an inverse conversion) constituting the classification probability operation section 203 or a database corresponding to the operation of the inverse function based on the probability function of the inverse conversion. The database can also be, for example, a table in which input and output (value after inverse conversion) are associated like a Lookup table.
[0067] The first classification threshold is used in the information processing apparatus 100a to classify data into at least one of the plurality of categories. The information processing apparatus 100a can perform the classification processing of data using a threshold value (first classification threshold) that is not standardized. Therefore, in the information processing apparatus 100a, since the classification processing can be performed based on the feature quantity extracted from the data, the processing of standardization is not required, and the amount of calculation can be reduced.
[0068] In addition, the first classification threshold can be set to different values in each of the plurality of categories, or a value common to all of the plurality of categories can be set.
[0069] 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 apparatus 100a via communication. The communication can be wireless communication such as Wi-Fi (registered trademark) or Bluetooth (registered trademark), or wired communication such as Ethernet (registered trademark).
[0070] In addition, the threshold value calculation apparatus 200a can also have a training unit (not shown) for training the machine learning model. The training unit can also have a storage unit (not shown) that holds a training data set. The training data set includes a set of input data and correct answer data that are saved in advance. The training unit can also update the training data set by acquiring new training data from a database provided on a server connected via a communication network such as the Internet. Furthermore, the training unit can also have a holding unit (not shown) that holds the same classification model as the first calculation unit 202, and the holding unit can also hold the same N single category classification probability calculation units as the classification probability calculation unit 203. The training unit trains the same classification model as the first calculation unit 202 using the training data set. Furthermore, the training unit can also train a network having the N single category classification probability calculation units included in the classification probability calculation unit 203. The training unit can also output the trained classification model to the first calculation unit 202 if the training of the classification model and the network is completed, and update the first calculation unit 202 to the trained classification model. Similarly, the training unit can also output the network having the trained N single category classification probability calculation units to the classification probability calculation unit 203, and update the classification probability calculation unit 203 to the trained network.
[0071] [Information processing apparatus]
[0072] Next, the information processing apparatus 100a will be described. The information processing apparatus 100a is an apparatus that classifies data acquired by a sensor into at least one category of a plurality of categories, and outputs a result of the classification. Hereinafter, a case where the data is an image will be described. Note that the data and the sensor that acquires the data are described in the outline of the information processing system 300a, and thus the description thereof will be omitted here.
[0073] As shown in FIG. 1, the information processing apparatus 100a includes a first acquisition unit 103, a second acquisition unit 101, a second arithmetic unit 102, a threshold processing unit 104, and a second output unit 105. Figure 2
[0074] The first acquisition unit 103 acquires the first classification threshold value output from the first output unit 206 of the threshold calculation apparatus 200a via communication, and outputs the acquired first classification threshold value to the threshold processing unit 104. Since the communication is described above, the description thereof will be omitted here. Note that the first classification threshold value can also be stored in a storage unit included in the information processing apparatus 100a in advance.
[0075] The second acquisition unit 101 acquires data from a sensor via communication. Here, the sensor is an image sensor, and the data is an image. The second acquisition unit 101 outputs the acquired data to the second arithmetic unit 102. Note that the communication can be wireless communication or wired communication. Note that the sensor is not limited to one, and for example, two or more sensors can be caused to acquire data in synchronization. Further, the second acquisition unit 101 can acquire data via a detachable storage. The detachable storage is, for example, a USB (Universal Serial Bus) memory.
[0076] The second arithmetic unit 102 is a feature quantity extractor that extracts a feature quantity of data, and is, for example, a machine learning model. For example, the second arithmetic unit 102 is a trained classification model. The classification model is a multi-layer neural network (DNN). The data acquired by the first acquisition unit 103 is input to the second arithmetic unit 102. The second arithmetic unit 102 outputs a plurality of scalars corresponding to a plurality of categories of the data. Each of the scalars is a feature quantity corresponding to each of the categories of the data. The output of the second arithmetic unit 102 is a value that is not standardized.
[0077] Note that the second arithmetic unit 102 is not limited to a DNN. For example, the second arithmetic unit 102 can be another feature quantity extractor other than a DNN using a method such as 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.
[0078] The threshold processing section 104 acquires the first classification threshold value output from the first acquisition section 103, and classifies the data into at least one of the plurality of categories based on the output of the second arithmetic section 102 and the first classification threshold value. More specifically, the threshold processing section 104 classifies the data into at least one of the plurality of categories by determining whether the probability value for each of the plurality of categories output from the second arithmetic section 102 is equal to or greater than the first classification threshold value. The first classification threshold value can be set to different values for each of the plurality of categories, or can be set to a value common to all of the plurality of categories. Further, the more specific operation of the threshold processing section 104 will be described later.
[0079] The second output section 105 outputs the classification result of the data. The second output section 105 can also output the classification result of the data to a presentation section (not shown), or can output to another device other than the information processing apparatus 100a. For example, the second output section 105 causes the presentation section to present information based on the classification result based on the operation of the user input into an input section (not shown). The input section is, for example, a keyboard, a mouse, a touch panel, a button, a microphone, or the like. The presentation section is, for example, a display or a speaker, or the like. Further, the information processing apparatus 100a can or can not be provided with the input section and the presentation section. The input section and the presentation section can also be provided by another device other than the information processing apparatus 100a. The other device other than the information processing apparatus 100a can also be, for example, an information terminal such as a smartphone, a tablet, or a computer. Furthermore, the information processing apparatus 100a is exemplified by a computer, but can also be provided on a server connected via a communication network such as the Internet.
[0080] Further, the information processing apparatus 100a can also be provided with a training section (not shown) for training the machine learning model, like the threshold calculation apparatus 200a. Details of the training section can not include training of the network of the classification probability arithmetic section 203, and the first arithmetic section 202 can be referred to as the second arithmetic section 102, in the description of the training section described with the threshold calculation apparatus 200a.
[0081] Further, the information processing system 300a can also be provided with a training section (not shown) common to the threshold calculation apparatus 200a and the information processing apparatus 100a, which trains the classification model of the first arithmetic section 202, the network of the classification probability arithmetic section 203, and the classification model of the second arithmetic section 102.
[0082] [Operation of Threshold Calculation Apparatus]
[0083] Next, the operation of the threshold calculation apparatus 200a will be described with reference to Figure 2 to FIG. 8. Figure 3 is a flowchart showing an example of the operation of the threshold calculation apparatus 200a according to Embodiment 1.
[0084] The first arithmetic unit 202 reads out the input data of the evaluation data set from the storage unit 201, and outputs a plurality of scalars corresponding to a plurality of categories of the input data (step S1001). The plurality of scalars corresponding to the plurality of categories of the input data are characteristic amounts of the input data for each of the plurality of categories. For example, assume that the input data is an image in which a car and a motorcycle are photographed. Assume that the plurality of categories are, for example, a pedestrian, a car, a motorcycle, a bicycle, and a background. At this time, the first arithmetic unit 202 outputs, for example, a vector having a plurality of scalars corresponding to the plurality of categories of the input data (pedestrian, car, motorcycle, bicycle, background) = (0.1, 90, 60, 0.01, 0.001).
[0085] Next, the classification probability arithmetic unit 203 performs a first transformation that is a transformation of the output from the first arithmetic unit 202 to the classification probability values of the plurality of individual categories (step S1002). As described above, the classification probability arithmetic unit 203 has a plurality of individual category classification probability arithmetic units. The individual category classification probability arithmetic unit is a probability function of reversible transformation. The individual category classification probability arithmetic unit can be a function that is different for each category, or can be the same function. In addition, the individual category classification probability arithmetic unit can be a database corresponding to the operation by the probability function of reversible transformation, respectively. The threshold value arithmetic unit of each individual category transforms the scalar for each of the plurality of categories by reversible transformation to a value in the range of 0 to 1 (i.e., normalization). For example, if each scalar of (pedestrian, car, motorcycle, bicycle, background) = (0.1, 90, 60, 0.01, 0.001) that is the output of the first arithmetic unit 202 is input to the individual category classification probability arithmetic unit corresponding to each category, each scalar is transformed to a value in the range of 0 to 1 in the individual category classification probability arithmetic unit. The classification probability arithmetic unit 203 outputs (pedestrian, car, motorcycle, bicycle, background) = (0.3, 1.0, 1.0, 0.1, 0) as the classification probability values of the plurality of individual categories. Here, the normalization is not to adjust so that the plurality of scalar values become 1 by adding the plurality of scalar values, but to transform each scalar value to a value in the range of 0 to 1 according to the magnitude of each scalar value. At this time, the transformation coefficient can be adjusted according to the classification accuracy of each category.
[0086] Next, the classification threshold value decision unit 204 sets a second classification threshold value based on the classification probability values of the plurality of single categories derived in step S1002 (step S1003). More specifically, the classification threshold value decision unit 204 acquires the classification probability values of the plurality of single categories, and decides the second classification threshold value based on the classification results of respectively applying the second classification threshold value to the acquired classification probability values of the plurality of single categories. For example, the classification threshold value decision unit 204 reads out the evaluation data set from the storage unit 201, and decides the second classification threshold value based on the correct answer data of the evaluation data set and the classification probability values of the plurality of single categories. For example, the classification threshold value decision unit 204 can also decide the second classification threshold value for each of the classification probability values of the plurality of single categories in accordance with the ratio of FP (False Positive) / FN (False Negative) with respect to the evaluation data set. Further, for example, the second classification threshold value can be decided so that the result obtained by applying the second classification threshold value to the outputs (i.e., the classification probability values) of the plurality of single categories satisfies a target precision. More specifically, the target precision can be set, the classification precision in a case where the threshold value (the second classification threshold value) of the classification probability values of the plurality of single categories is varied can be calculated, the threshold value at which the calculated classification precision is closest to the target precision can be selected, and this threshold value can be decided as the second classification threshold value. Further, for example, the threshold value at which the calculated classification precision first exceeds the target precision can be decided as the second classification threshold value, rather than the threshold value at which the calculated classification precision is closest to the target precision. The target precision can be set for each category, or can be set commonly for all categories. In addition, the second classification threshold value can be a different value in each of the plurality of single categories, or can be the same value in all of the plurality of single categories.
[0087] Next, the threshold conversion section 205 performs a second conversion that is a conversion from the second classification threshold value set by the classification threshold decision section 204 to a first classification threshold value that classifies data into at least one of the plurality of categories, which is an inverse conversion of the first conversion (step S1004). Thereby, it is possible to obtain a threshold value that has not been standardized (here, the first classification threshold value) from a threshold value that has been standardized (here, the second classification threshold value). The first classification threshold value is a threshold value that classifies data into at least one of the plurality of categories. The first classification threshold value can be set to different values for each category, or can be set to a value common to the plurality of categories as a whole. For example, in a case where the threshold conversion section 205 is an inverse function of a function (for example, a probability function of an inverse conversion) that constitutes the classification probability calculation section 203, the threshold conversion section 205 calculates the first classification threshold value to which the second classification threshold value is inversely converted, with the second classification threshold value derived in step S1003 as input. Further, in a case where the threshold conversion section 205 is a database (for example, a table in which input and output are associated, like a Lookup table) corresponding to an operation by the inverse function of the function that constitutes the classification probability calculation section 203, if the second classification threshold value is input to the threshold conversion section 205, the first classification threshold value associated with the input is output.
[0088] Next, the first output section 206 outputs the first classification threshold value derived in step S1004 to the information processing apparatus 100a (step S1005). At this time, the first output section 206 can be communicably connected to the information processing apparatus 100a. Since the communication method is described above, the description here is omitted.
[0089] [Action of Information Processing Apparatus]
[0090] Next, the action of the information processing apparatus 100a will be described with reference to Figure 3 to FIG. 8. Figure 4 is a flowchart showing an example of the action of the information processing apparatus 100a according to Embodiment 1.
[0091] The second acquisition section 101 acquires data from a sensor (not shown) such as an image sensor (step S2001). Here, an example in which the data is an image will be described. The image can be a moving image or a still image (also referred to simply as an image). The second acquisition section 101 can be communicably connected to the sensor, or can acquire a plurality of images from the sensor via a detachable memory such as a USB (Universal Serial Bus) memory. Since the communication method is described above, the description here is omitted.
[0092] The second arithmetic unit 102 outputs the plurality of values corresponding to the plurality of categories of the data acquired in step S2001 (step S2002). The data can be, for example, a moving image captured by a vehicle-mounted camera, or an image. In the case of a moving image, the following actions are performed for each of the plurality of images constituting the moving image. As with the actions of the first arithmetic unit 202 of the threshold value calculation device 200a, the second arithmetic unit 102 outputs a plurality of values (characteristic amounts) based on the acquired data. Hereinafter, a case in which the second arithmetic unit 102 outputs (pedestrian, automobile, motorcycle, bicycle, background) = (70, 90, 0.5, 60, 0.001) will be described.
[0093] 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 are described above, the description thereof will be omitted here. Here, it is assumed that the first classification threshold value is (pedestrian, automobile, motorcycle, bicycle, background) = (60, 60, 60, 60, 60).
[0094] The threshold processing unit 104 classifies the data acquired by the second acquisition unit 101 into at least one category of the plurality of categories based on the output of the second arithmetic 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 classifies the data into at least one category of the plurality of categories by determining whether the plurality of values corresponding to the plurality of categories of the data are each equal to or greater than the first classification threshold value.
[0095] For example, in a case where the output of the 2nd operation section 102 is (pedestrian, automobile, motorcycle, bicycle, background) = (70, 90, 0.5, 60, 0.001) and the 1st classification threshold value of each category is (pedestrian, automobile, motorcycle, bicycle, background) = (60, 60, 60, 60, 60), the scalar value of the 3 categories is equal to or greater than the 1st classification threshold value. At this time, the threshold processing section 104 can classify the image into 3 categories of pedestrian, automobile, and bicycle, or can classify the image into 1 category. In the latter case, the threshold processing section 104 can select the category indicating the largest scalar value among the probability values for the 3 categories of the image, and classify the image into 1 category. In this case, since the probability value for the automobile category is the largest among the scalar values for the 3 categories as described above, the threshold processing section 104 classifies the image into the automobile category. In addition, the threshold processing section 104 can select the category indicating the scalar value having a larger difference from the 1st classification threshold value among the scalar values for the 3 categories, and classify the image into 1 category. In this case, the threshold processing section 104 can classify the image into the automobile category. As described above, the classification method of data can be appropriately set according to the kind of data and the purpose of classification, and the like.
[0096] The 2nd output section 105 outputs the classification result obtained in step S2004 (step S2005). The 2nd output section 105 can output the classification result to a prompting section (not shown) or to another device other than the information processing apparatus 100a. For example, the 2nd output section 105 causes the prompting section to prompt information based on the classification result based on the operation of the user input to the input section (not shown). Since the input section, the prompting section, and the other device, and the like are described above, the description thereof is omitted here.
[0097] The information based on the classification result can prompt various forms of classification results based on the setting input to the input section. For example, in a case where the data is an image captured by a vehicle-mounted camera, the information based on the classification result can be the kind of the object category detected by the information processing apparatus 100a and the number of detections, the recognition accuracy of each object category, the change in recognition accuracy with respect to each object category due to weather or time zone, the tendency of images having low recognition accuracy, or a suggestion for avoiding danger, or the like. The information processing apparatus 100a can transmit the analysis result to a database provided on a server connected via the Internet, for example, and acquire information based on the analysis result.
[0098] (Modified Example)
[0099] Next, the information processing apparatus according to the modified example of Embodiment 1 will be described. Hereinafter, the description will be made focusing on the difference from Embodiment 1, and the common description will be omitted or simplified.
[0100] [Outline of information processing apparatus]
[0101] Figure 1 is a block diagram indicating an example of a structure of an information processing apparatus 100b relating to a modification example of Embodiment 1. The information processing apparatus 100b is provided with a threshold value calculation section 20a, a storage section 201a, and an information processing section 10.
[0102] In Embodiment 1, an example in which the information processing apparatus 100a acquires the first classification threshold value from the threshold value calculation apparatus 200a, and classifies data into at least one category of a plurality of categories using the acquired first classification threshold value, was explained. The main difference between the information processing apparatus 100b and the information processing apparatus 100a relating to Embodiment 1 is that the information processing apparatus 100b is provided with the threshold value calculation section 20a. In addition, in the information processing apparatus 100b, the threshold value calculation section 20a acquires the first classification threshold value from the threshold value calculation apparatus 200a, and the information processing section 10 classifies data into at least one category of a plurality of categories using the acquired first classification threshold value. Figure 4 Figure 1 In Embodiment 1, an example in which the information processing apparatus 100a acquires the first classification threshold value from the threshold value calculation apparatus 200a, and classifies data into at least one category of a plurality of categories using the acquired first classification threshold value, was explained. The main difference between the information processing apparatus 100b and the information processing apparatus 100a relating to Embodiment 1 is that the information processing apparatus 100b is provided with the threshold value calculation section 20a. In addition, in the information processing apparatus 100b, the threshold value calculation section 20a acquires the first classification threshold value from the threshold value calculation apparatus 200a, and the information processing section 10 classifies data into at least one category of a plurality of categories using the acquired first classification threshold value.
[0103] In Embodiment 1, as shown in Figure 4 , the threshold value calculation apparatus 200a outputs the first classification threshold value derived by the threshold value conversion section 205 to the first output section 206, and outputs the first classification threshold value to the information processing apparatus 100a via the first output section 206. In the present modification example, as shown in Figure 1 , the threshold value calculation section 20a saves the first classification threshold value derived by the threshold value conversion section 205 in the storage section 201a. Further, the information processing section 10 reads out the first classification threshold value saved in the storage section 201a.
[0104] As shown in Figure 4 and Figure 4 , Figure 1 the acquisition section 101a corresponds to the second acquisition section 101 of Figure 4 , Figure 1 the output section 105a corresponds to the second output section 105 of Figure 5 . That is, the acquisition section 101a, like the second acquisition section 101, acquires data from a sensor such as an image sensor. Further, the output section 105a, like the second output section 105, outputs a classification result of classifying data acquired by the acquisition section 101a into at least one category of a plurality of categories.
[0105] [Action of threshold value calculation section]
[0106] Figure 5 is a flowchart indicating an example of an action of the threshold value calculation section 20a of the modification example of Embodiment 1. Since steps S3001 to S3004 of Figure 2 correspond to steps S1001 to S1004 of Figure 6 Steps S1001 to S1004 of Embodiment 1 correspond to steps S4001 and S4002, so the explanation here is simplified. In addition, the action of the threshold value calculation section 20a regarding the modification example differs from the action of the threshold value calculation device 200a regarding Embodiment 1 in that the first classification threshold value is saved to the storage section 201a.
[0107] The first operation section 202 reads out the input data of the evaluation data set from the storage section 201 and outputs a plurality of scalars corresponding to the plurality of categories for the input data (step S3001).
[0108] Next, the classification probability operation section 203 performs a first transformation that is a transformation of the classification probability values of the plurality of individual categories from the output of the first operation section 202 (step S3002).
[0109] Next, the classification threshold value decision section 204 sets a second classification threshold value based on the classification probability values of the plurality of individual categories derived in step S3002 (step S3003).
[0110] Next, the threshold value transformation section 205 performs a second transformation on the second classification threshold value set by the classification threshold value decision section 204, the second transformation being a transformation from the second classification threshold value to the first classification threshold value used to classify data into at least one category of the plurality of categories, being an inverse transformation of the first transformation (step S3004).
[0111] Next, the threshold value transformation section 205 saves the first classification threshold value to the storage section 201a (step S3005).
[0112] [Action of Information Processing Section]
[0113] Figure 6 is a flowchart showing an example of the action of the information processing section 10 of the modification example of Embodiment 1. Since steps S4001 and S4002 of Embodiment 4 correspond to steps S2001 and S2002 of Embodiment 2, the explanation here is simplified. Figure 3 Figure 7 Steps S4001 and S4002 of Embodiment 4 correspond to steps S2001 and S2002 of Embodiment 2, so the explanation here is simplified.
[0114] The acquisition section 101a acquires data from a sensor such as an image sensor (step S4001). Next, the second operation section 102 outputs a plurality of scalars (probability values) corresponding to the plurality of categories for the data acquired in step S4001 (step S4002).
[0115] Next, the processing of each category is started for the plurality of categories of the data.
[0116] The threshold processing section 104 reads out the first classification threshold value stored in the storage section 201a (step S4003). Here, an example is described in which the threshold processing section 104 reads out the first classification threshold value for each of the plurality of classes individually according to the classification processing for each class, but the threshold processing section 104 can temporarily read out all of the first classification threshold values for the plurality of classes. In addition, the first classification threshold value can be a different value for each of the plurality of classes, or can be the same value.
[0117] The threshold processing section 104 classifies the data acquired by the second acquisition section 101 into at least one of the plurality of classes based on the output of the second operation section 102 and the first classification threshold value read out from the storage section 201a. First, the first classification threshold value for one of the plurality of classes (for example, the class of pedestrians) is read out from the storage section 201a (step S4003), and it is determined whether the scalar value for that class is equal to or greater than the first classification threshold value read out from the storage section 201a (step S4004). In the case where the scalar value for that class is equal to or greater than the first classification threshold value (Yes in step S4004), the threshold processing section 104 stores the scalar value for that class in association with the number indicating that class in the storage section 201a (step S4005).
[0118] On the other hand, in the case where the scalar value for that class is less than the first classification threshold value (No in step S4004), the threshold processing section 104 reads out the first classification threshold value for another one of the plurality of classes (for example, the class of automobiles) from the storage section 201a (step S4003). The threshold processing section 104 determines whether the scalar value for that class is equal to or greater than the first classification threshold value read out from the storage section 201a (step S4004). In the case where the scalar value for that class is equal to or greater than the first classification threshold value (Yes in step S4004), the threshold processing section 104 stores the scalar value for that class in association with the number indicating that class in the storage section 201a (step S4005).
[0119] On the other hand, in a case where the scalar value of the category is smaller than the first classification threshold (No in step S4004), the threshold processing section 104 reads out another one of the plurality of categories (for example, the category of a motorcycle) from the storage section 201a (step S4003), and performs the determination processing of step S4004. In this way, by repeating the same processing, the classification processing according to each category is performed for the plurality of scalars of the data corresponding to the plurality of categories. If the processing according to the group of categories ends, the threshold processing section 104 determines whether the number of categories saved in the storage section 201a is one or more (step S4006). In a case where the number of categories saved in the storage section 201a is one or more (Yes in step S4006), the threshold processing section 104 outputs the category number for which the scalar value is the largest to the output section 105a (step S4007). Thereby, the output section 105a outputs the classification result of classifying the data into at least one category of the plurality of categories based on the category number (for example, the data is a car) (not illustrated).
[0120] On the other hand, in a case where the number of categories saved in the storage section 201a is zero (No in step S4006), the threshold processing section 104 outputs another number to the output section 105a (step S4008). The other indicates that there is no matching category. At this time, the classification result output from the output section 105a can be, for example, that the data is another category, or that the data is a background category.
[0121] (Embodiment 2)
[0122] Next, the information processing system of Embodiment 2 will be described. Hereinafter, the description will be made focusing on the difference from Embodiment 1, and the common points will be omitted or simplified.
[0123] [Outline of Information Processing System]
[0124] Figure 7 is a block diagram indicating an example of the structure of the information processing system 300b of Embodiment 2. The information processing system 300b is provided with the threshold calculation device 200b and the information processing device 100a. The main difference between the threshold calculation device 200b of Embodiment 2 and the threshold calculation device 200a of Embodiment 1 is that the first classification threshold is derived from the second classification threshold set by the user.
[0125] [Structure of Threshold Calculation Device]
[0126] Next, the structure of the threshold calculation device 200b will be described.
[0127] As Figure 8As shown, the threshold calculation device 200b includes an input unit 207, a threshold conversion unit 205, and a first output unit 206. Here, the example of the threshold calculation device 200b including the input unit 207 is described, but it is not limited to this. For example, the input unit may also be equipped in other devices besides the threshold calculation device 200b. Other devices include, for example, tablet computers, smartphones, or computers.
[0128] The input unit 207 inputs operation signals from the user to the threshold conversion unit 205. The input unit 207 may be, for example, a touch panel, keyboard, mouse, button, or speaker. The operation signal may be, for example, a signal representing a second category threshold for each of multiple categories. The user inputs the second category threshold to the threshold conversion unit 205 via the input unit 207. Alternatively, the second category threshold may be a preset value.
[0129] The threshold transformation unit 205 performs a second transformation, which is the inverse of the first transformation, on the obtained second classification threshold to derive a first classification threshold. The first output unit 206 outputs the first classification threshold to the information processing device 100a.
[0130] Furthermore, the information processing device 100a is the same as the information processing device 100a in Embodiment 1, so the description here is omitted.
[0131] [Operation of the threshold calculation device]
[0132] Next, the operation of the threshold calculation device 200b will be explained. Figure 8 This is a flowchart illustrating an example of the operation of the threshold calculation device 200b in Embodiment 2.
[0133] Although not illustrated, the user inputs the second classification threshold for each of the multiple categories to the threshold transformation unit 205 via the input unit 207.
[0134] like Figure 9 As shown, the threshold transformation unit 205 obtains the second classification threshold of multiple categories input via the input unit 207 (step S5001). Next, the threshold transformation unit 205 performs a second transformation on the obtained second classification threshold. The second transformation is a transformation from the second classification threshold to a first classification threshold used to classify the data into at least one category, which is the inverse transformation of the first transformation (step S5002).
[0135] The first output unit 206 outputs the first classification threshold to the information processing device 100a (step S5003).
[0136] Furthermore, since the operation of the information processing device 100a is the same as that described in Embodiment 1, the description here is omitted.
[0137] (Modified example)
[0138] Next, the information processing apparatus relating to the modified example of Embodiment 2 will be described. Hereinafter, the description will be made focusing on the difference from Embodiment 2, and the common description will be omitted or simplified.
[0139] [Outline of information processing apparatus]
[0140] Figure 7 is a block diagram showing an example of the structure of the information processing apparatus 100c relating to the modified example of Embodiment 2. The information processing apparatus 100b is provided with the threshold value calculation section 20b, the storage section 201b, and the information processing section 10.
[0141] In Embodiment 2, the example in which the information processing apparatus 100a acquires the first classification threshold value from the threshold value calculation apparatus 200b, and classifies data into at least one category of the plurality of categories using the acquired first classification threshold value, has been described. The main difference between the information processing apparatus 100c relating to the present modified example and the information processing apparatus 100a relating to Embodiment 2 is that the information processing apparatus 100c is provided with the threshold value calculation section 20b. Further, the main difference between the threshold value calculation section 20b relating to the present modified example and the threshold value calculation apparatus 200b relating to Embodiment 2 is that the threshold value calculation section 20b is provided with the classification threshold value decision section 204. In addition, in the present modified example, the threshold value calculation section 20b acquires the first classification threshold value from the threshold value calculation apparatus 200b, and the information processing section 10 classifies data into at least one category of the plurality of categories using the acquired first classification threshold value. Figure 9 Figure 7 The same reference numerals are given to substantially the same structures.
[0142] In Embodiment 2, as shown in Figure 9 , the threshold value calculation apparatus 200b inversely transforms the second classification threshold value input by the user into the threshold value transformation section 205, derives the first classification threshold value, and outputs the derived first classification threshold value from the first output section 206 to the information processing apparatus 100. In the present modified example, as shown in Figure 7 , the threshold value calculation section 20b saves the first classification threshold value derived by the threshold value transformation section 205 in the storage section 201b. Further, the information processing section 10 reads out the first classification threshold value saved in the storage section 201b, and classifies data into at least one category of the plurality of categories.
[0143] As shown in Figure 9 and Figure 9 , the acquisition section 101a of Figure 7 corresponds to the second acquisition section 101 of Figure 9 , Figure 7 the output section 105a of Figure 1 The 2nd output section 105 corresponds to the output section 105 of Embodiment 2. That is, the acquisition section 101a acquires data from a sensor such as an image sensor, like the 2nd acquisition section 101. Further, the output section 105a outputs a classification result of classifying data acquired by the acquisition section 101a into at least one class of a plurality of classes, like the 2nd output section 105.
[0144] Further, as shown in Figure 9 and Figure 9 , Figure 1 the classification threshold deciding section 204 of Embodiment 2 corresponds to the classification threshold deciding section 204. The classification threshold deciding section 204 decides a proper 2nd classification threshold, for example, with reference to the evaluation data set saved in the storage section 201 or the storage section 201b. Figure 10
[0145] In the threshold calculating section 20b relating to the present modification example, the 2nd classification threshold is decided based on the 2nd classification threshold input by the user and the evaluation data saved in the storage section 201b, unlike the threshold calculating section 200b relating to Embodiment 2 in which the 1st classification threshold is derived from the 2nd classification threshold input by the user. Details of the decision process will be described in the item of the operation.
[0146] Further, the information processing section 10 is the same as that relating to the modification example of Embodiment 1, so the description thereof is omitted here.
[0147] [Operation of the Threshold Calculating Section]
[0148] Figure 10 is a flowchart showing an example of the operation of the threshold calculating section 20b relating to the modification example of Embodiment 2.
[0149] Although not shown, the user inputs the 2nd classification threshold for each of the plurality of classes to the classification threshold deciding section 204 via the input section 207. Thus, as shown in , the classification threshold deciding section 204 acquires the input 2nd classification threshold (step S6001).
[0150] Next, the classification threshold value decision section 204 reads out the evaluation data from the storage section 201b (step S6002). The classification threshold value decision section 204 determines whether the second classification threshold value obtained in step S6001 is appropriate based on the evaluation data set, more specifically, determines whether the result obtained by applying the second classification threshold value to the classification probability values of the plurality of individual categories of the evaluation data set satisfies the target accuracy (step S6003). In a case where it is determined that the second classification threshold value is appropriate (Yes in step S6003), the classification threshold value decision section 204 outputs the second classification threshold value to the threshold value conversion section 205. The threshold value conversion section 205 performs a second conversion on the obtained second classification threshold value, the second conversion being a conversion from the second classification threshold value to the first classification threshold value used to classify data into at least one category of a plurality of categories, which is an inverse conversion of the first conversion (step S6004). The threshold value conversion section 205 saves the derived first classification threshold value in the storage section 201b (step S6005).
[0151] On the other hand, in a case where it is determined that the second classification threshold value is not appropriate (No in step S6003), the classification threshold value decision section 204 causes a prompting section (not shown) to prompt a message that the second classification threshold value is not appropriate (step S6006). At this time, the classification threshold value decision section 204 can also cause the prompting section to prompt the second classification threshold value that satisfies the target accuracy by applying the second classification threshold value to the classification probability values of the plurality of individual categories of the evaluation data set.
[0152] In addition, the operation of the information processing section 10 is the same as that of the information processing section 10 of the modified example of Embodiment 1, and thus the description thereof is omitted here.
[0153] (Other Embodiments)
[0154] The information processing apparatus and the information processing method relating to one or more technical solutions have been described above based on the embodiments, but the present application is not limited to these embodiments. As long as the embodiments are not deviated from the gist of the present application, various modified forms that a person skilled in the art can think of, or forms constructed by combining the constituent elements of different embodiments are also included in the scope of the present application.
[0155] For example, the processing described in the above-described embodiments can be realized by centralized processing using a single apparatus (system), or can be realized by distributed processing using a plurality of apparatuses. Furthermore, the processor that executes the program recorded in the above-described recording medium can be a single processor or a plurality of processors. That is, centralized processing or distributed processing can be performed.
[0156] In addition, each of the above-described embodiments can be variously changed, replaced, added, omitted, and the like within the scope of the claims or equivalents thereof.
[0157] Industrial applicability
[0158] The present application is useful as an information processing apparatus, an information processing method, and a recording medium, which can reduce the amount of calculation for classifying a category of an object.
[0159] Label explanation
[0160] 10 information processing section
[0161] 20a, 20b threshold value calculation section
[0162] 100a, 100b, 100c information processing apparatus
[0163] 101 second acquisition section
[0164] 101a acquisition section
[0165] 102 second calculation section
[0166] 103 first acquisition section
[0167] 104 threshold value processing section
[0168] 105 second output section
[0169] 105a output section
[0170] 200a, 200b threshold value calculation apparatus
[0171] 201, 201a, 201b storage section
[0172] 202 first calculation section
[0173] 203 classification probability calculation section
[0174] 204 classification threshold value decision section
[0175] 205 threshold value conversion section
[0176] 206 first output section
[0177] 207 input section
[0178] 300a, 300b information processing system
Claims
1. An information processing apparatus comprising a processor, the processor performs the following processing: acquiring a first classification threshold value for classifying data that is an image into at least one of a plurality of classes; 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; the first classification threshold value is obtained by a second transformation of a second classification threshold value, the second transformation being an inverse transformation of the first transformation; the first transformation is a transformation from the output of the trained classification model to normalized classification probability values of a plurality of individual classes constituting the plurality of classes; the second classification threshold value is set in such a manner that a classification result obtained by applying the second classification threshold value to the classification probability values of the plurality of individual classes satisfies a target accuracy, the first transformation is a transformation using a database corresponding to an operation based on a probability function that can be inversely transformed; the second transformation is a transformation using a database corresponding to an operation based on an inverse function of the probability function.
2. The information processing apparatus according to claim 1, the output of the trained classification model is a plurality of scalars corresponding to the plurality of classes.
3. An information processing method executed by a computer, performing a first transformation from an output of a trained classification model to normalized classification probability values of a plurality of individual classes; based on the classification probability values of the plurality of individual classes, setting a second classification threshold value so that a classification result obtained by applying the second classification threshold value to the classification probability values of the plurality of individual classes satisfies a target accuracy; performing a second transformation, the second transformation being a transformation from the second classification threshold value to a first classification threshold value for classifying data that is an image into at least one of a plurality of classes, being an inverse transformation of the first transformation; outputting the first classification threshold value, the first transformation is a transformation using a database corresponding to an operation based on a probability function that can be inversely transformed; the second transformation is a transformation using a database corresponding to an operation based on an inverse function of the probability function.
4. The information processing method according to claim 3, acquiring a data set; inputting the data set to the trained classification model, and acquiring classification probability values of the plurality of individual classes for each data included in the data set; based on classification results obtained by using the second classification threshold value for the acquired classification probability values of the plurality of individual classes, respectively, determining the second classification threshold value.
5. A computer-readable non-transitory recording medium storing a program, the program is for causing a computer to execute the following information processing method: acquiring a first classification threshold value for classifying data that is an image into at least one of a plurality of classes; 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; the first classification threshold value is obtained by a second transformation of a second classification threshold value, the second transformation being an inverse transformation of the first transformation; The first transformation is a transformation from the output of the trained classification model to standardized classification probability values for the plurality of individual categories that make up the plurality of categories; The second classification threshold is set in such a way that a classification result obtained by applying the second classification threshold to the classification probability values for the plurality of individual categories satisfies a target accuracy, The first transformation is a transformation using a database corresponding to an operation based on a probability function that can be inversely transformed; The second transformation is a transformation using a database corresponding to an operation based on an inverse function of the probability function.
Citation Information
Patent Citations
Computing device and computation method
WO2017149722A1
Molecular malignancy in melanocyte-mediated lesions
JP2015521483A
Evaluation index obtaining method and device
WO2017133569A1