WO2020070943A1 - パターン認識装置及び学習済みモデル - Google Patents
パターン認識装置及び学習済みモデルInfo
- Publication number
- WO2020070943A1 WO2020070943A1 PCT/JP2019/027775 JP2019027775W WO2020070943A1 WO 2020070943 A1 WO2020070943 A1 WO 2020070943A1 JP 2019027775 W JP2019027775 W JP 2019027775W WO 2020070943 A1 WO2020070943 A1 WO 2020070943A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- recognition
- candidate
- recognition candidate
- candidates
- pattern
- 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
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- 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
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/045—Combinations of networks
Definitions
- One aspect of the present invention relates to a pattern recognition device and a learned model.
- Japanese Patent Application Laid-Open No. H11-163873 discloses that, when integrating and outputting recognition candidates obtained by applying a plurality of different recognition methods to an unknown pattern to be recognized, the recognition obtained by each of the recognition methods is performed.
- a pattern recognition device that enables a candidate to be arranged in an appropriate order.
- the pattern recognition apparatus converts each recognition candidate obtained by a plurality of recognition methods to a correctness score based on a scale common to a plurality of types of recognition methods, thereby appropriately identifying each recognition candidate. Order.
- the order between the recognition candidates obtained by a certain recognition processing technique is maintained. That is, the order does not change between the recognition candidate having the first recognition score and the recognition candidate having the second or lower recognition score in a certain recognition processing method. For this reason, in the pattern recognition device, when the recognition candidate having the second or lower recognition score is the correct data corresponding to the unknown pattern to be recognized, the recognition candidate corresponding to the correct data is determined as the final recognition result. (No. 1 recognition result) cannot be obtained. For this reason, the pattern recognition device has room for improvement in improving recognition accuracy.
- an object of one aspect of the present invention is to provide a pattern recognition device and a trained model capable of improving recognition accuracy.
- a pattern recognition device is an acquisition unit that obtains a plurality of recognition candidates each having a recognition score obtained by pattern recognition of input data and indicating the likelihood of recognition, and For each pair of the first recognition candidate that is the recognition candidate having the first recognition score and the second recognition candidate that is the other recognition candidate, based on the feature amount related to the first recognition candidate and the second recognition candidate, (2) a calculating unit for calculating an evaluation value quantifying the possibility that the recognition candidate is correct data corresponding to the input data; and a plurality of recognition candidates based on the evaluation value for each second recognition candidate calculated by the calculating unit. And a determination unit that determines a final recognition result from among them.
- an evaluation value that quantifies the possibility that the second recognition candidate is correct data is calculated. That is, whether the second recognition candidate is more likely to be correct data than the first recognition candidate (in other words, it is better to swap the position of the first recognition candidate and the position of the second recognition candidate)
- An evaluation value for each second recognition candidate is calculated as an index indicating whether the second recognition candidate is good.
- a final recognition result is determined from the plurality of recognition candidates. According to this configuration, the order of the plurality of recognition candidates is appropriately corrected based on the evaluation value of each recognition candidate without determining the order based on the recognition score as the final order of the plurality of recognition candidates. It is possible to determine the final recognition result. Therefore, according to the above pattern recognition device, the recognition accuracy can be improved.
- the learned model inputs a feature amount related to a first recognition candidate and a second recognition candidate selected from a plurality of recognition candidates obtained by performing pattern recognition on input data, and outputs one of the feature amounts.
- a feature value of two recognition candidates obtained by pattern recognition is used as an explanatory variable, and an index value indicating whether one of the two recognition candidates is correct data corresponding to data to be recognized is used as an objective variable. It is generated by executing machine learning using learning data as a variable.
- the learned model an evaluation value for appropriately correcting the rank (rank based on the recognition score) of a plurality of recognition candidates obtained by pattern recognition on input data is obtained. Therefore, according to the learned model, the recognition accuracy can be improved.
- FIG. 5 is a diagram illustrating an example of a recognition candidate sequence acquired by an acquisition unit.
- 5 is a flowchart illustrating an example of a process of a first model generation unit.
- FIG. 4 is a diagram illustrating a pair of recognition candidates generated by a first model generation unit. It is a figure showing the generation method (learning method) of the 1st model.
- 9 is a flowchart illustrating an example of a process of a second model generation unit. It is a figure showing the generation method (learning method) of the 2nd model.
- 13 is a flowchart illustrating an example of a process of a third model generation unit.
- 5 is a flowchart illustrating an example of a recognition process performed by the pattern recognition device.
- FIG. 3 is a block diagram illustrating an example of a hardware configuration of the pattern recognition device.
- FIG. 1 is a block diagram showing a functional configuration of a pattern recognition device 10 according to one embodiment.
- the pattern recognition device 10 is a computer system that acquires image data as input data and recognizes (identifies and specifies) an object included in the image data.
- the image data includes a certain product (for example, daily necessities such as foods, beverages, and toiletries) as a subject.
- the pattern recognition device 10 determines, as a final recognition result, a dictionary image that is presumed to be correct data corresponding to the input image data from dictionary images (image databases) prepared in advance for each product. Output.
- the image data includes the product A as a subject
- the correct answer data corresponding to the image data is a dictionary image registered in advance as an image of the product A.
- the dictionary image of the product A is output as the final recognition result, the image data has been correctly recognized.
- the pattern recognition device 10 is configured to execute both the learning process and the recognition process.
- the learning process is a process of generating a learned model (in the present embodiment, the first model M1, the second model M2, and the third model M3) by machine learning.
- the recognition process is a process of recognizing an object (product) included as a subject in image data to be recognized (hereinafter, also referred to as an “input image”) by using a learned model generated by the learning process.
- an input image is obtained by, for example, imaging a product to be recognized using a camera function of a terminal such as a smartphone or a tablet.
- the pattern recognition device 10 includes a first recognition unit 11, a second recognition unit 12, an acquisition unit 13, a first model generation unit 14, a second model generation unit 15, It includes a three model generation unit 16, a calculation unit 17, a determination unit 18, and an output unit 19.
- the learning process is executed by the first recognition unit 11, the second recognition unit 12, the acquisition unit 13, the first model generation unit 14, the second model generation unit 15, and the third model generation unit 16. You.
- the recognition process is executed by the first recognition unit 11, the second recognition unit 12, the acquisition unit 13, the calculation unit 17, the determination unit 18, and the output unit 19.
- Each of the first recognition unit 11 and the second recognition unit 12 outputs a plurality of recognition candidates by executing pattern recognition (image recognition in the present embodiment) on the input image.
- Each of the plurality of recognition candidates has identification information (for example, an image ID for specifying a dictionary image) for uniquely specifying the recognition candidate, and a recognition score indicating the certainty of the recognition.
- the first recognition unit 11 performs a first pattern recognition.
- the second recognizing unit 12 performs a second pattern recognition different from the first pattern recognition.
- Each of the first recognition unit 11 and the second recognition unit 12 compares an image database storing a dictionary image prepared in advance for each product with a feature amount extracted from an input image and a feature amount of each dictionary image.
- a recognition engine that extracts a plurality of recognition candidates (for example, top n recognition candidates) having a high degree of similarity to the input image can be configured.
- the first pattern recognition executed by the first recognizing unit 11 extracts a feature amount (feature point) from a grayscale image obtained by performing a grayscale conversion on the input image, and based on the feature amount,
- the first pattern recognition is a recognition algorithm called so-called specific object recognition, and recognizes an object included in an input image based on a local feature extracted from a grayscale image.
- Such first pattern recognition can reduce the number of dimensions of the feature amount by not including color information (eg, RGB values) as the feature amount. Therefore, there is an advantage that an object included in the input image can be relatively accurately recognized with a relatively high speed and a small number of dictionary images (for example, one dictionary image per product).
- the first pattern recognition does not include color information as a feature amount, it has a disadvantage that it is difficult to accurately recognize (identify) products having the same design with different colors.
- the second pattern recognition executed by the second recognition unit 12 is a method of recognizing an object included in the input image based on a feature amount including color information of the input image.
- object recognition similar image search
- a neural network such as a CNN (Convolutional Neural Network) constructed by deep learning as the recognition engine. Since the second pattern recognition includes color information as a feature amount, compared to the above-described first pattern recognition, products having the same design with different colors (for example, different attributes (taste, fragrance, etc.) from each other) Merchandise of the same brand) can be accurately recognized.
- the neural network is used by using a large number of learning data (about several hundred learning images per product). The disadvantage is that you need to build
- the acquisition unit 13 acquires a plurality of recognition candidates obtained by performing pattern recognition on an input image.
- each recognition candidate has an image ID and a recognition score. That is, each recognition candidate is associated with an image ID and a recognition score.
- the acquisition unit 13 determines, for a given input image, a plurality of recognition candidates (here, the top n candidates in the order of the recognition score) obtained by the first recognition unit 11 (first pattern recognition). , And a plurality of recognition candidates (here, recognition candidates overlapping with the recognition candidates A1 to An) obtained by the second recognition unit 12 (second pattern recognition) are excluded.
- the top m recognition candidates B1 to Bm) in the recognition score order are acquired as a plurality of recognition candidates.
- n and m are values arbitrarily determined in advance.
- the recognition candidates B1 to Bm (overlapping with the recognition candidates A1 to An) obtained by the second pattern recognition are used. No recognition candidate) is obtained.
- the acquisition unit 13 acquires a recognition candidate sequence in which the recognition candidates A1 to An and the recognition candidates B1 to Bm are arranged in this order.
- FIG. 2 is a diagram schematically illustrating an example of a recognition candidate sequence (m + n recognition candidates) acquired by the acquisition unit 13.
- a recognition candidate sequence R1 is a sequence in which recognition candidates A1 to An obtained by the first pattern recognition are arranged in the order of the recognition score
- a recognition candidate sequence R2 is a recognition candidate sequence R2 obtained by the second pattern recognition. This is a column in which candidates B1 to Bm are arranged in the order of the recognition score.
- the blackened recognition candidates are correct answer data corresponding to the input image.
- FIG. 2 shows an example in which the first recognition candidate A1 (a recognition candidate having the first recognition score) in the first pattern recognition is correct data. That is, FIG. 2A illustrates an example (a positive example) in which a correct recognition result is obtained by the first pattern recognition.
- FIG. 2B shows an example in which the second or lower recognition candidates in the first pattern recognition are correct data.
- FIG. 2C shows an example in which the complementary candidate (here, as an example, the recognition candidate B1) obtained by the second pattern recognition is correct data. That is, FIGS. 2B and 2C show examples in which a correct recognition result was not obtained by the first pattern recognition (that is, an example in which the recognition candidate A1 is not correct data (negative example)). .
- the first model generation unit 14 generates a first model M1 used to update the recognition order of the recognition candidate sequence acquired by the acquisition unit 13 (that is, reorder (re-rank)). For example, in the negative examples shown in FIGS. 2B and 2C, the recognition order of the recognition candidates corresponding to the correct data is advanced to make the final recognition result (the first recognition candidate). , Recognition accuracy can be improved.
- the first model M1 outputs an evaluation value to be used for such update of the recognition order.
- the first model M1 is a classifier that is learned by a boosting algorithm such as XGboost.
- the first model generation unit 14 uses feature amounts relating to two recognition candidates obtained by pattern recognition for an input image as explanatory variables, and sets one of the two recognition candidates as the correct answer data corresponding to the data to be recognized.
- the first model M1 is generated by executing the machine learning using the first learning data having the index value indicating whether or not is the target variable.
- the first model generation unit 14 acquires a plurality of (here, n + m) recognition candidates obtained by performing pattern recognition on a certain input image (data to be recognized). Specifically, the first model generation unit 14 is configured to execute the above-described processing of the first recognition unit 11, the second recognition unit 12, and the acquisition unit 13 on the input image to obtain a recognition candidate.
- the columns (A1,..., An, B1,..., Bm) are acquired.
- the first model generation unit 14 generates a pair by extracting two recognition candidates from a plurality of recognition candidates.
- the first model generation unit 14 generates a pair of the recognition candidate A1 having the first recognition score in the first pattern recognition and the other recognition candidates A2 to An and B1 to Bm. Generate. Thereby, as shown in FIG. 4, n + m from the pair P 2 (A1, A2) of the recognition candidate A1 and the recognition candidate A2 to the pair P n + m (A1, Bm) of the recognition candidate A1 and the recognition candidate Bm.
- One pair is generated.
- the first model generation unit 14 generates a feature amount for each pair.
- K A2 to An, B1 to Bm
- features of the recognition candidate A1 and the recognition candidate K As a quantity, a 10-dimensional feature quantity including the following elements a1 to a10 is generated.
- “score_k” is the recognition score of recognition candidate k.
- Similarity is a cosine distance between feature amounts extracted by the CNN constructed by deep learning.
- Similarity_k is a cosine distance between the feature amount of the input image and the feature amount of the recognition candidate k.
- step S104 the first model generation unit 14 sets the feature amounts relating to the two recognition candidates (here, the feature amounts of the pair of the recognition candidate A1 and the recognition candidate K) as the explanatory variables (inputs), and
- the first learning data in which an index value indicating whether one of the recognition candidates (recognition candidate K in this case) is correct data corresponding to the input image is used as a target variable is generated.
- the index value is set to “1” when the recognition candidate K is the correct answer data corresponding to the input image, and is set to “0” when the recognition candidate K is not the correct answer data corresponding to the input image. This is the flag value to be set.
- the index value is set to “1” when the recognition order of the recognition candidate K is made first (in other words, the position of the recognition candidate A1 and the position of the recognition candidate K are exchanged) to obtain a correct recognition result. "1”, otherwise "0".
- n + m-1 that is, the number of pairs
- first learning data is generated by the processing of steps S101 to S104 for one input image.
- step S105 the first model generation unit 14 determines whether or not to generate further first learning data. For example, the first model generation unit 14 determines that the first learning data whose index value is “0” and the first learning data whose index value is “1” are each sufficient to ensure the accuracy of the first model M1. Until a sufficient number of images are obtained, the same processing as that of step S101 is executed for other input images (input images for which the processing of steps S101 to S104 has not been executed) (step S105: YES ⁇ step S106). On the other hand, the processing of steps S102 to S104 is executed. Thus, the first learning data for another input image is generated.
- step S105 When a sufficient number of the first learning data is obtained and it is not necessary to further generate the first learning data (step S105: NO), the first model generation unit 14 performs the machine learning based on the first learning data. By executing, the first model M1 is generated (step S107).
- FIG. 5 is a diagram illustrating a generation method (learning method) of the first model M1.
- black recognition candidates indicate correct data corresponding to the input image.
- the negative example is an example in which a correct recognition result was not obtained by the first pattern recognition (that is, an example in which the recognition candidate A1 is not the correct answer data corresponding to the input image).
- the correct example is an example in which a correct recognition result is obtained by the first pattern recognition (that is, an example in which the recognition candidate A1 is correct data corresponding to the input image).
- “Negative example 1” indicates a pair in which the recognition candidate K is the correct answer data corresponding to the input image.
- the first learning data corresponding to the pair is data in which the feature amounts (a1,..., A10) of the pair are used as explanatory variables, and the index value “1” is used as an objective variable.
- “Negative example 2” indicates a pair in which neither the recognition candidate A1 nor the recognition candidate K is correct data corresponding to the input image.
- the first learning data corresponding to the pair is data in which the feature amounts (a1,..., A10) of the pair are used as explanatory variables, and the index value “0” is used as the target variable.
- the “correct example” indicates a pair in which the recognition candidate A1 is correct data corresponding to the input image.
- the first learning data corresponding to the pair is data in which the feature amounts (a1,..., A10) of the pair are used as explanatory variables, and the index value “0” is used as the target variable.
- the recognition candidate A1 has “0” as a value (reference value) corresponding to the output value of each recognition candidate K. .5 ".
- the reason is as follows.
- the fact that the output value of the first model M1 is higher than 0.5 means that the recognition candidate K is more likely to be correct data corresponding to the input image than the recognition candidate A1 (that is, the position of the recognition candidate A1 and That the position of the recognition candidate K should be replaced).
- the fact that the output value of the first model M1 is lower than 0.5 means that the possibility that the recognition candidate A1 is correct data corresponding to the input image is higher than that of the recognition candidate K (that is, the recognition candidate A1).
- the position and the position of the recognition candidate K should not be interchanged). That is, in the first model M1 learned as described above, “0.5” is a boundary value for determining whether to replace the position of the recognition candidate A1 with the position of the recognition candidate K. Therefore, by allocating “0.5” to the recognition candidate A1, it is possible to appropriately perform the above-described sorting of the plurality of recognition candidates.
- the second model generation unit 15 generates the second model M2 for determining the validity of the result of the reordering (re-ranking) based on the output value of the first model M1 described above.
- the second model M2 is, for example, a classifier learned by a boosting algorithm such as XGboost.
- step S201 the second model generation unit 15 acquires a plurality (here, n + m) recognition candidates obtained by pattern recognition of a certain input image (data to be recognized).
- step S202 the second model generation unit 15 generates a pair by extracting two recognition candidates from a plurality of recognition candidates. Thereby, as shown in FIG. 4, n + m from the pair P 2 (A1, A2) of the recognition candidate A1 and the recognition candidate A2 to the pair P n + m (A1, Bm) of the recognition candidate A1 and the recognition candidate Bm. One pair is generated.
- An output value of the first model M1 obtained by inputting to one model M1 is obtained as an evaluation value for each pair (that is, for each recognition candidate K).
- step S ⁇ b> 205 the second model generation unit 15 extracts a recognition candidate X ⁇ b> 1 (sixth recognition candidate) that is a final recognition result candidate based on the evaluation value for each recognition candidate K. Specifically, the second model generation unit 15 recognizes the recognition candidate X1 having the largest value among the reference value (0.5) previously assigned to the recognition candidate A1 and the evaluation value for each recognition candidate K (X1 is , A1 to An and B1 to Bm).
- the recognition candidate X1 is a recognition candidate having the first recognition rank after reranking based on the output value (evaluation value) of the first model M1.
- step S206 the second model generation unit 15 determines whether the recognition candidate X1 is the same as the recognition candidate A1.
- the recognition candidate X1 is different from the recognition candidate A1 (step S206: NO)
- the second model generation unit 15 generates second learning data (step S207).
- the recognition candidate X1 is the same as the recognition candidate A1 (step S206: YES)
- there is no change in the first recognition candidate before and after the re-ranking that is, the recognition candidate A1 remains at the first position).
- the second model generation unit 15 skips the processing in step S207 because it is not a target for evaluating the validity of the re-ranking.
- step S207 first, the second model generation unit 15 generates a feature amount related to the recognition candidate A1 and the recognition candidate X1.
- the second model generation unit 15 generates a six-dimensional feature amount including the following elements b1 to b6 as a feature amount regarding the recognition candidate A1 and the recognition candidate X1.
- the second model generation unit 15 uses the feature amounts (b1,..., B6) relating to the recognition candidate A1 and the recognition candidate X1 as explanatory variables and sets an index value indicating whether the recognition candidate X1 is correct data. Generate second learning data as an objective variable.
- the index value is set to “1” when the recognition candidate X1 is correct data corresponding to the input image, and is set to “0” when the recognition candidate A1 is correct data corresponding to the input image. Is the flag value that is set to.
- the index value is set when the recognition order of the recognition candidate X1 is set to the first place (that is, the position of the recognition candidate A1 and the position of the recognition candidate X1 are exchanged) to obtain a correct recognition result (that is, It becomes "1” when re-ranking based on the output value (evaluation value) of one model M1 is appropriate, and becomes "0" otherwise.
- the second model generation unit 15 indicates a case where the recognition candidate X1 is correct data (a correct example indicating that re-ranking is valid) and a case where the recognition candidate A1 is correct data (re-ranking is not appropriate).
- the second learning data corresponding to any of the negative examples is generated.
- step S208 the second model generation unit 15 determines whether or not to generate second learning data. For example, the second model generation unit 15 determines whether or not the second learning data corresponding to each of the positive example and the negative example is obtained in a number of other input images (steps) until a sufficient number is obtained to ensure the accuracy of the second model M2.
- step S201 is executed for the input image for which the processes of S201 to S207 have not been executed (step S208: YES ⁇ step S209), and the process of steps S202 to S207 is executed for the execution result. This makes it possible to generate the second learning data for another input image.
- step S207 when step S207 is skipped, or when neither the recognition candidate A1 nor the recognition candidate X1 is the correct answer data corresponding to the input image (when neither of the above-described positive and negative examples applies), etc. , No new second learning data is obtained. In that case, the processing for another input image may be continued until new second learning data is obtained.
- step S208: NO the second model generation unit 15 performs the machine learning based on the second learning data. By executing, the second model M2 is generated (step S210).
- FIG. 7 is a diagram showing a generation method (learning method) of the second model M2.
- black recognition candidates indicate correct data corresponding to the input image.
- the positive example is an example in which a correct recognition result is obtained by re-ranking (processing of changing the rank of the recognition candidate X1 to the first rank) based on the output value (evaluation value) of the first model M1.
- the negative example is an example in which a correct recognition result cannot be obtained by the above-described re-ranking (that is, an example in which a correct recognition result is obtained without performing the re-ranking).
- the feature amount (b1,..., B6) of the pair is used as an explanatory variable, and the index value “1” is used as an objective variable.
- the second learning data corresponding to the pair corresponding to the negative example is data in which the feature amounts (b1,..., B6) of the pair are used as explanatory variables, and the index value “0” is used as the target variable.
- the second model M2 can be trained to output "1" only when reranking is appropriate (that is, when the recognition candidate X1 is correct data). It can. That is, the output value of the second model M2 constructed by such machine learning indicates the probability that a correct recognition result can be obtained by employing the result after reranking (that is, the probability that reranking is appropriate). Will be. Therefore, when performing a recognition process on a certain input image, it is possible to output an appropriate recognition result based on the output value of the second model M2 in consideration of the validity of the re-ranking.
- the first-ranked recognition candidate X1 after the re-ranking is set as the final recognition result, and the second model M2 is used as the final recognition result.
- the output value of M2 is 0.5 or less (or less than 0.5)
- the first recognition candidate A1 before re-ranking can be used as the final recognition result.
- the third model generation unit 16 determines the certainty (correctness) of the final recognition result determined based on the re-ranking based on the first model M1 and the validity determination of the re-ranking based on the second model M2. Is generated.
- the third model M3 is, for example, a classifier that is learned by a boosting algorithm such as XGboost.
- step S301 The processing in step S301 is the same as the processing in step S101 described above. That is, in step S301, the third model generation unit 16 acquires a plurality of (here, n + m) recognition candidates obtained by performing pattern recognition on a certain input image (data to be recognized). Specifically, recognition candidate strings (A1,..., An, B1,..., Bm) as shown in FIG. 2 are obtained as recognition candidate strings before re-ranking.
- step S303 the third model generator 16 determines the validity of the re-ranking using the second model M2. Specifically, when the first-ranked recognition candidate X1 after the re-ranking is different from the recognition candidate A1, the third model generation unit 16 determines the feature amounts (b1,..., An output value obtained by inputting b6) to the second model M2 is obtained as a second evaluation value.
- the third model generation unit 16 determines a final recognition result based on the second evaluation value obtained in step S303.
- the third model generation unit 16 adopts the recognition candidate sequence (X1,..., Xn + m-1) after reranking, and Is the final recognition result.
- the second evaluation value is less than 0.5
- the third model generation unit 16 adopts the recognition candidate sequence (A1,..., An, B1,.
- the first-ranked recognition candidate A1 is set as the final recognition result.
- step S305 the third model generating unit 16 generates third learning data based on the recognition candidate sequence adopted in step S304.
- the recognition candidate string adopted in step S304 is represented as (Y1,..., Yn + m-1).
- the recognition candidate sequence (Y1,..., Yn + m-1) is a recognition candidate sequence (A1,..., An, B1,..., Bm) before reranking or a recognition candidate sequence (X1,. ).
- the third model generation unit 16 generates a feature amount regarding the first and second recognition candidates Y1 and Y2 of the recognition candidate sequence (Y1,..., Yn + m-1) adopted in step S304. I do.
- the third model generation unit 16 generates an 11-dimensional feature amount including the following elements c1 to c11 as the feature amount regarding the recognition candidate Y1 and the recognition candidate Y2.
- the third model generation unit 16 uses the feature amounts (c1,..., C11) relating to the recognition candidate Y1 and the recognition candidate Y2 as explanatory variables and sets an index value indicating whether the recognition candidate Y1 is correct data. Generate third learning data as an objective variable.
- the index value is set to “1” when the recognition candidate Y1 is correct data corresponding to the input image, and is set to “0” when the recognition candidate Y1 is not correct data corresponding to the input image. This is the flag value to be set.
- step S306 the third model generation unit 16 determines whether or not to generate third learning data. For example, the third model generation unit 16 ensures that the third learning data corresponding to each of the positive example (when the index value is 1) and the negative example (when the index value is 0) ensures the accuracy of the third model M3. Until a sufficient number is obtained, the same processing as in step S301 is performed on the other input images (input images for which the processing of steps S301 to S305 has not been performed) (step S306: YES ⁇ step S307). The processing of steps S302 to S305 is performed on the execution result. Thus, third learning data for another input image is generated.
- step S306 When a sufficient number of the third learning data is obtained and it is not necessary to further generate the third learning data (step S306: NO), the third model generation unit 16 performs the machine learning based on the third learning data. By executing, the third model M3 is generated (step S308).
- the third model M3 can be learned so as to output “1” only when a correct recognition result is finally obtained.
- the output value of the third model M3 constructed by such machine learning may be such that the final recognition result (recognition candidate Y1) is correct data corresponding to the input image (that is, the final recognition result). Confidence).
- the ⁇ determiner 18 determines a final recognition result from among a plurality of recognition candidates based on the evaluation value for each recognition candidate K calculated by the calculator 17.
- the determination unit 18 first determines the final candidate of the recognition result based on the comparison result of the reference value (0.5) previously assigned to the recognition candidate A1 and the evaluation value for each recognition candidate K. (Recognition candidate X1) (third recognition candidate). For example, the determination unit 18 sorts the plurality of recognition candidates by sorting the reference value (0.5) of the recognition candidate A1 and the evaluation value of each recognition candidate K in descending order. That is, the recognition order of the plurality of recognition candidates is updated (reranking) based on the reference value or the evaluation value. As a result, the first-ranked recognition candidate X1 after the re-ranking is obtained as the final recognition result candidate together with the re-ranked recognition candidate sequence (X1,..., Xn + m-1).
- the determination unit 18 determines whether the recognition candidate X1 is to be the final recognition result based on the feature amounts of the recognition candidate A1 and the recognition candidate X1.
- a second evaluation value quantifying the sex is calculated. Specifically, when the recognition candidate X1 is different from the recognition candidate A1, the determination unit 18 generates feature amounts (b1,..., B6) relating to the recognition candidate A1 and the recognition candidate X1. Then, the determination unit 18 acquires an output value obtained by inputting the feature amount (b1,..., B6) into the second model M2 as a second evaluation value.
- the determination unit 18 determines whether or not to make the recognition candidate X1 the final recognition result based on the second evaluation value. For example, based on the comparison result between the second evaluation value and a preset threshold value (0.5 in this embodiment), the determination unit 18 determines the first recognition candidate A1 before re-ranking and the recognition candidate A1 after re-ranking. It may be determined which of the first-ranked recognition candidates X1 is to be the final recognition result. For example, when the second evaluation value is 0.5 or more, the determination unit 18 adopts the recognition candidate sequence (X1,..., Xn + m-1) after reranking, and uses The candidate X1 may be used as the final recognition result. On the other hand, when the second evaluation value is less than 0.5, the determination unit 18 adopts the recognition candidate sequence (A1,..., An, B1,. The first recognition candidate A1 may be used as the final recognition result.
- a preset threshold value 0.5 in this embodiment
- the image corresponding to the input image is obtained. Recognition candidates that are likely to be correct data can be determined as final recognition results.
- the output unit 19 outputs the final recognition candidate sequence (Y1,..., Yn + m-1) determined by the determination unit 18 to a display, a printer, or another external device.
- the output unit 19 outputs the feature amounts (c1,...,%) Of the first and second recognition candidates Y1 and Y2 in the final recognition candidate sequence (Y1,..., Yn + m ⁇ 1). c11) is generated.
- the output unit 19 acquires an output value obtained by inputting the feature amount (c1,..., C11) into the third model M3 as the certainty factor of the final recognition result.
- the output unit 19 can present the final recognition result and the certainty factor to the user by outputting the final recognition result (recognition candidate Y1) and the certainty factor to a display or the like.
- the output unit 19 outputs not only the final recognition result (recognition candidate Y1) but also a part (for example, upper x) or all of the final recognition candidate sequence (Y1,..., Yn + m-1). You may. In this case, by presenting a plurality of recognition results to the user in the order of high possibility of being correct data, the convenience of the user can be improved.
- step S401 the acquisition unit 13 acquires a plurality of (here, n + m) recognition candidates obtained by pattern recognition of an input image (data to be recognized).
- the acquisition unit 13 acquires the n recognition candidates A1 to An obtained by the first recognition unit 11 (first pattern recognition) and the n recognition candidates A1 to An obtained by the second recognition unit 12 (second pattern recognition).
- M recognition candidates B1 to Bm that do not overlap with the obtained recognition candidates A1 to An are acquired as a plurality of recognition candidates.
- recognition candidate strings (A1,..., An, B1,..., Bm) before re-ranking are obtained.
- step S403 the calculation unit 17 generates the feature amount (a1,..., A10) for each pair. Then, the calculating unit 17 outputs the output value of the first model M1 obtained by inputting the feature amount (a1,..., A10) of each pair to the first model M1 for each pair (that is, for each recognition candidate K). Get as evaluation value.
- step S405 the determination unit 18 determines the validity of the re-ranking using the second model M2. Specifically, when the first-ranked recognition candidate X1 after the re-ranking is different from the recognition candidate A1, the determination unit 18 determines the feature amounts (b1,..., B6) relating to the recognition candidate A1 and the recognition candidate X1. An output value obtained by inputting to the second model M2 is obtained as a second evaluation value.
- the recognition candidate X1 is equal to the recognition candidate A1 (that is, when the first-ranked recognition candidate has not changed due to the re-ranking)
- the determination unit 18 skips the processing of steps S405 and S406 and will be described later. The process may proceed to step S408.
- step S406 the determination unit 18 compares the second evaluation value with a preset threshold (here, 0.5). If the second evaluation value is equal to or larger than the threshold value (0.5) (step S406: YES), the determination unit 18 adopts the recognition candidate sequence (X1,..., Xn + m-1) after the reranking, and performs the reranking. The subsequent first-ranked recognition candidate X1 is set as a final recognition result (step S407). On the other hand, when the second evaluation value is less than the threshold value (0.5) (step S406: NO), the determination unit 18 determines the recognition candidate sequence (A1,..., An, B1,. And the first recognition candidate A1 before the re-ranking is set as the final recognition result (step S408).
- a preset threshold here, 0.5
- step S409 the output unit 19 generates feature amounts (c1,..., C11) relating to the first and second recognition candidates Y1 and Y2 in the final recognition candidate sequence. Then, the output unit 19 acquires an output value obtained by inputting the feature amount (c1,..., C11) into the third model M3 as the certainty factor of the final recognition result.
- step S410 the output unit 19 outputs the final recognition result (recognition candidate Y1) and the degree of certainty.
- the final recognition result and the certainty factor can be presented to the user, and the final recognition result can be output to an external device or the like that performs some information processing based on the final recognition result.
- the evaluation value quantifying the possibility that the recognition candidate K is correct data Is calculated. That is, whether or not the recognition candidate K is more likely to be correct data than the recognition candidate A1 (in other words, whether or not it is better to replace the position of the recognition candidate A1 with the position of the recognition candidate K)
- the evaluation value for each recognition candidate K is calculated as an index indicating (). Then, a final recognition result is determined from the plurality of recognition candidates based on the evaluation value for each recognition candidate K.
- the order based on the recognition score (that is, the recognition order before the re-ranking) is not determined as the final order of the plurality of recognition candidates, and the plurality of recognition candidates are determined based on the evaluation value for each recognition candidate K. It is possible to determine the final recognition result after appropriately correcting the order of the. Therefore, according to the pattern recognition device 10, the recognition accuracy can be improved.
- the pattern recognition executed to obtain a plurality of recognition candidates includes a first pattern recognition (first recognition unit 11) and a second pattern recognition (second recognition unit 12) different from the first pattern recognition.
- the plurality of recognition candidates obtained by the obtaining unit 13 include a recognition candidate (recognition candidate sequence R1) obtained by the first pattern recognition on the input image and a recognition candidate (recognition candidate) obtained by the second pattern recognition on the input image.
- Column R2 As described above, by performing the processing (reranking) based on the above-described evaluation value for a plurality of recognition candidates in which recognition candidates obtained by a plurality of different recognition methods are mixed, a correct recognition result is finally obtained. Can be increased.
- the correct candidate data corresponding to the input image is not included in the recognition candidate sequence R1 obtained by the first pattern recognition, and the recognition candidate sequence R2 (complementary candidate) obtained by the second pattern recognition is not included.
- a recognition candidate corresponding to the correct data can be obtained as a final recognition result.
- the first pattern recognition is a process of recognizing an object included in an input image (image data) based on a feature amount extracted from the grayscale image obtained by performing grayscale conversion on the input image (image data).
- the above-described specific object recognition is used.
- the second pattern recognition is a process of recognizing an object included in an input image based on a feature amount including color information of the input image (in the present embodiment, object recognition using a neural network such as the above-described CNN (similar image Search)).
- the first pattern recognition has an advantage that the object recognition can be easily performed only by preparing a relatively small number of dictionary images, but also accurately recognizes products having the same design in different colors. There is a disadvantage that it is difficult to do.
- the second pattern recognition has a disadvantage that it is necessary to construct a neural network using a large number of learning images.
- color information as a feature
- products having the same design with different colors can be used.
- by acquiring a plurality of recognition candidates using a plurality of pattern recognition methods in which one of the disadvantages is complemented by the other, and performing a process (reranking) based on the evaluation value of each recognition candidate The possibility that a correct recognition result is finally obtained can be effectively increased.
- the recognition candidate corresponding to the correct answer data cannot be obtained by one of the recognition methods, it can be expected that the recognition candidate corresponding to the correct answer data can be obtained by the other recognition method. Further, it can be expected that the re-ranking obtains a recognition candidate corresponding to the correct answer data as a final recognition result.
- the determination unit 18 extracts a recognition candidate X1 (third recognition candidate) that is a candidate of the final recognition result based on the evaluation value for each recognition candidate K calculated by the calculation unit 17.
- the determination unit 18 acquires the recognition candidate sequence (X1,..., Xn + m-1) after the re-ranking. Then, when the recognition candidate X1 is different from the recognition candidate A1 (that is, when the first-ranked recognition candidate changes due to the re-ranking), the determination unit 18 determines the feature amount (b1) related to the recognition candidate A1 and the recognition candidate X. ,..., B6), a second evaluation value that quantifies the validity of making the recognition candidate X1 the final recognition result is calculated.
- the determining unit 18 determines whether or not the recognition candidate X1 is to be the final recognition result based on the second evaluation value.
- the determination unit 18 adopts the recognition candidate sequence after the re-ranking, and sets the recognition candidate X1 as the final recognition result. In this manner, by determining whether or not to adopt the reranking result based on the determination result of the validity of the reranking, it is possible to increase the possibility of finally obtaining a correct recognition result.
- the calculation unit 17 inputs the feature amounts (a1,..., A10) relating to the recognition candidate A1 and the recognition candidate K for each pair of the recognition candidate A1 and the recognition candidate K to the first model M1.
- the obtained output value is obtained as an evaluation value.
- the determination unit 18 inputs the feature amounts (b1,..., B6) relating to the recognition candidate A1 and the recognition candidate X1 to the second model M2. Then, an output value obtained by the above is obtained as a second evaluation value. According to this configuration, by using the second model M2 that has been trained to output “1” only when the recognition candidate X1 is correct data (in other cases, output “0”). In addition, the second evaluation value indicating the validity of the reranking result can be appropriately calculated.
- the first model M1 receives the feature amounts (a1,..., A10) related to the recognition candidate A1 and the recognition candidate K selected from a plurality of recognition candidates obtained by performing pattern recognition on the input image.
- a trained model for causing a computer to function so as to output an evaluation value that quantifies the possibility that a recognition candidate K, which is a recognition candidate for, is correct data of an input image.
- the first model M1 is a combination of a program for performing an operation from the input of the feature amounts (a1,..., A10) to the output of the evaluation value, and a weighting coefficient (parameter) used in the operation. .
- an evaluation value is obtained for appropriately correcting (re-ranking) the order (order based on the recognition score) of a plurality of recognition candidates obtained by pattern recognition on an input image. Therefore, according to the first model M1, the recognition accuracy can be improved.
- the present inventors have prepared ten dictionary images for each product in the first pattern recognition and the second pattern recognition described above, and A neural network (CNN) used for the second pattern recognition was constructed using about 20 learning images. Then, using the first pattern recognition (first recognition unit 11) and the second pattern recognition (second recognition unit 12), the above-described recognition processing is performed on 155 beverage items and 689 hair care products. Ran.
- CNN neural network
- the correct answer rate when only specific object recognition (first pattern recognition) is performed (that is, the rate at which the first recognition candidate A1 in the first pattern recognition is correct data) is The accuracy rate of the final recognition result obtained by executing the above-described recognition processing was 83%, compared with 80%. That is, 3% improvement in accuracy was obtained by the above recognition processing.
- the correct answer rate when only the specific object recognition (first pattern recognition) was performed was 78%, but the final result obtained by executing the above recognition processing was The accuracy rate of the recognition result was 87%. That is, 9% improvement in accuracy was obtained by the above recognition processing.
- second pattern recognition similar image retrieval (second pattern recognition) based on deep learning that can use color information as a feature amount in addition to specific object recognition (first pattern recognition). It is considered that by performing the above-described re-ranking in combination, it is possible to improve the recognition accuracy of a product of the same design having a different color, which is difficult to recognize the specific object. Further, the number of CNN learning images used for the second pattern recognition is set to the number considered necessary to secure the same recognition accuracy as the first pattern recognition by only the second pattern recognition (for each product). It has also been confirmed that the recognition accuracy can be improved as compared with the case where only specific object recognition is performed, while the number is reduced to less than (several hundred) (20 for each product).
- the plurality of recognition candidates obtained by the obtaining unit 13 may be candidates obtained by one pattern recognition method. Even in this case, improvement in recognition accuracy can be expected by reranking based on the evaluation value. Further, the plurality of recognition candidates obtained by the obtaining unit 13 may include candidates obtained by three or more different pattern recognition methods.
- the acquisition unit 13 uses the recognition candidates B1 to Bm (recognition candidates A1 to An and the recognition candidates A1 to An) obtained by the second pattern recognition as complementary candidates for the recognition candidates A1 to An obtained by the first pattern recognition. (Recognition candidates that do not overlap) are obtained. Conversely, a recognition candidate obtained by the first pattern recognition may be obtained as a complement candidate of the recognition candidates obtained by the second pattern recognition. .
- the recognition candidate A1 having the first recognition score in the first pattern recognition is set as the recognition candidate serving as the reference of the pair.
- the recognition candidate having the first recognition score in the second pattern recognition is used.
- B1 may be a recognition candidate serving as a reference for the pair. That is, when the plurality of recognition candidates include candidates obtained by a plurality of different pattern recognition methods, the recognition candidate having the first recognition score in any one of the pattern recognition methods is a reference of the pair. It may be a recognition candidate.
- the determining unit 18 determines the first-ranked recognition candidate A1 in the first pattern recognition before re-ranking as the final recognition result ( A recognition candidate other than the recognition candidate A1 (for example, the first recognition candidate in the second pattern recognition) may be determined as a final recognition result (see step S408 in FIG. 9).
- the reranking validity determination based on the output value (second evaluation value) of the second model M2 may be omitted.
- the determination unit 18 may adopt the recognition candidate sequence (X1,..., Xn + m-1) after the reranking and use the first recognition candidate X1 after the reranking as the final recognition result. Even in this case, improvement in recognition accuracy can be expected by re-ranking based on the evaluation value.
- the second model generation unit 15 may be omitted.
- the calculation of the certainty factor using the third model M3 in the output unit 19 may be omitted.
- the third model generator 16 may be omitted.
- the first recognition unit 11 and the second recognition unit 12 may be provided in an external device different from the pattern recognition device 10. That is, the pattern recognition device 10 only needs to be able to acquire the results of the first pattern recognition and the second pattern recognition executed in the external device, and does not need to execute the first pattern recognition and the second pattern recognition by itself. Good.
- the feature amount input to the first model M1 only needs to include features related to the recognition candidate A1 and the recognition candidate K, and the elements and the number of dimensions of the feature amount are not limited to the above examples (a1,..., A10).
- the feature amount input to the second model M2 only needs to include features related to the recognition candidate A1 and the recognition candidate X1, and the elements and the number of dimensions of the feature amount are not limited to the above examples (b1,..., B6).
- the feature quantity input to the third model M3 only needs to include a feature related to the final recognition result (recognition candidate Y1), and the elements and the number of dimensions of the feature quantity are limited to the above examples (c1,..., C11). I can't.
- the form applied to the pattern recognition of the image data has been described.
- the data to be subjected to the pattern recognition is not limited to the image, and may be data other than the image such as sound.
- the pattern recognition may be any recognition processing according to the data to be subjected to pattern recognition, and is not limited to the image recognition described in the above embodiment.
- the pattern recognition may be a recognition process other than image recognition such as character recognition and voice recognition.
- each functional block may be realized using one device physically or logically coupled, or directly or indirectly (for example, two or more devices physically or logically separated from each other). , Wired, wireless, etc.), and may be implemented using these multiple devices.
- the functional block may be realized by combining one device or the plurality of devices with software.
- Functions include judgment, decision, judgment, calculation, calculation, processing, derivation, investigation, search, confirmation, reception, transmission, output, access, resolution, selection, selection, establishment, comparison, assumption, expectation, deemed, Broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating, mapping, assigning, but not limited to these I can't.
- the pattern recognition device 10 may function as a computer that performs the pattern recognition method of the present disclosure.
- FIG. 10 is a diagram illustrating an example of a hardware configuration of the pattern recognition device 10 according to an embodiment of the present disclosure.
- the above-described pattern recognition device 10 may be physically configured as a computer device including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, and the like.
- the term “apparatus” can be read as a circuit, a device, a unit, or the like.
- the hardware configuration of the pattern recognition device 10 may be configured to include one or more devices illustrated in FIG. 10 or may be configured without including some devices.
- the functions of the pattern recognition apparatus 10 are performed by reading predetermined software (program) on hardware such as the processor 1001 and the memory 1002, so that the processor 1001 performs an operation and controls communication by the communication apparatus 1004, This is realized by controlling at least one of data reading and writing in the storage 1002 and the storage 1003.
- the processor 1001 controls the entire computer by operating an operating system, for example.
- the processor 1001 may be configured by a central processing unit (CPU: Central Processing Unit) including an interface with a peripheral device, a control device, an arithmetic device, a register, and the like.
- CPU Central Processing Unit
- the processor 1001 reads out a program (program code), a software module, data, and the like from at least one of the storage 1003 and the communication device 1004 to the memory 1002, and executes various processes according to these.
- a program program code
- a program that causes a computer to execute at least a part of the operation described in the above embodiment is used.
- the determination unit 18 may be realized by a control program stored in the memory 1002 and operated by the processor 1001, and the other function blocks may be similarly realized.
- the various processes described above are executed by one processor 1001, the processes may be executed simultaneously or sequentially by two or more processors 1001.
- Processor 1001 may be implemented by one or more chips.
- the program may be transmitted from a network via a telecommunication line.
- the memory 1002 is a computer-readable recording medium, and includes, for example, at least one of a ROM (Read Only Memory), an EPROM (Erasable Programmable ROM), an EEPROM (Electrically Erasable Programmable ROM), and a RAM (Random Access Memory). May be done.
- the memory 1002 may be called a register, a cache, a main memory (main storage device), or the like.
- the memory 1002 can store a program (program code), a software module, and the like that can be executed to execute the pattern recognition method according to an embodiment of the present disclosure.
- the storage 1003 is a computer-readable recording medium, for example, an optical disk such as a CD-ROM (Compact Disc), a hard disk drive, a flexible disk, and a magneto-optical disk (for example, a compact disk, a digital versatile disk, a Blu-ray). (Registered trademark) disk, a smart card, a flash memory (eg, card, stick, key drive), a floppy (registered trademark) disk, a magnetic strip, or the like.
- the storage 1003 may be called an auxiliary storage device.
- the above-described storage medium may be, for example, a database including at least one of the memory 1002 and the storage 1003, a server, or another appropriate medium.
- the communication device 1004 is hardware (transmission / reception device) for performing communication between computers via at least one of a wired network and a wireless network, and is also referred to as, for example, a network device, a network controller, a network card, a communication module, or the like.
- the communication device 1004 includes a high-frequency switch, a duplexer, a filter, a frequency synthesizer, and the like, for example, in order to realize at least one of frequency division duplex (FDD: Frequency Division Duplex) and time division duplex (TDD: Time Division Duplex). May be configured.
- FDD Frequency Division Duplex
- TDD Time Division Duplex
- the input device 1005 is an input device (for example, a keyboard, a mouse, a microphone, a switch, a button, a sensor, and the like) that receives an external input.
- the output device 1006 is an output device that performs output to the outside (for example, a display, a speaker, an LED lamp, and the like). Note that the input device 1005 and the output device 1006 may have an integrated configuration (for example, a touch panel).
- the devices such as the processor 1001 and the memory 1002 are connected by a bus 1007 for communicating information.
- the bus 1007 may be configured using a single bus, or may be configured using a different bus for each device.
- the pattern recognition device 10 includes hardware such as a microprocessor, a digital signal processor (DSP), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), and an FPGA (Field Programmable Gate Array). And some or all of the functional blocks may be realized by the hardware. For example, the processor 1001 may be implemented using at least one of these pieces of hardware.
- the notification of information includes physical layer signaling (for example, DCI (Downlink Control Information), UCI (Uplink Control Information)), upper layer signaling (for example, RRC (Radio Resource Control) signaling, MAC (Medium Access Control) signaling, Broadcast information (MIB (Master @ Information @ Block), SIB (System @ Information @ Block))), other signals, or a combination thereof may be used.
- the RRC signaling may be referred to as an RRC message, and may be, for example, an RRC connection setup (RRC Connection Setup) message, an RRC connection reconfiguration (RRC Connection Reconfiguration) message, or the like.
- Information and the like can be output from an upper layer (or lower layer) to a lower layer (or upper layer). Input and output may be performed via a plurality of network nodes.
- the input and output information may be stored in a specific place (for example, a memory) or may be managed using a management table. Information that is input and output can be overwritten, updated, or added. The output information or the like may be deleted. The input information or the like may be transmitted to another device.
- the determination may be made based on a value represented by 1 bit (0 or 1), a Boolean value (Boolean: true or false), or a comparison of numerical values (for example, a predetermined value). Value).
- Each aspect / embodiment described in the present disclosure may be used alone, may be used in combination, or may be used by switching with execution. Further, the notification of the predetermined information (for example, the notification of “X”) is not limited to being explicitly performed, and is performed implicitly (for example, not performing the notification of the predetermined information). Is also good.
- software, instructions, information, and the like may be transmitted and received via a transmission medium.
- a transmission medium For example, if the software uses at least one of wired technology (coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), etc.) and wireless technology (infrared, microwave, etc.), the website, When transmitted from a server or other remote source, at least one of these wired and / or wireless technologies is included within the definition of a transmission medium.
- the information, signals, etc. described in this disclosure may be represented using any of a variety of different technologies.
- data, instructions, commands, information, signals, bits, symbols, chips, etc. that can be referred to throughout the above description are not limited to voltages, currents, electromagnetic waves, magnetic or magnetic particles, optical or photons, or any of these. May be represented by a combination of
- the channel and the symbol may be a signal (signaling).
- the signal may be a message.
- system and “network” used in this disclosure are used interchangeably.
- the information, parameters, and the like described in the present disclosure may be expressed using an absolute value, may be expressed using a relative value from a predetermined value, or may be expressed using another corresponding information. May be represented.
- the radio resource may be indicated by an index.
- determining may encompass a wide variety of operations.
- Judgment '', ⁇ decision '' for example, judgment (judging), calculation (calculating), calculation (computing), processing (processing), derivation (deriving), investigating (investigating), searching (looking up, search, inquiry) (E.g., searching in a table, database, or another data structure), ascertaining may be considered “determined", "determined", and the like.
- determining” and “deciding” include receiving (eg, receiving information), transmitting (eg, transmitting information), input (input), output (output), and access. (accessing) (for example, accessing data in a memory) may be regarded as “determined” or “determined”.
- ⁇ judgment '' and ⁇ decision '' means that resolving, selecting, selecting, establishing, establishing, comparing, etc. are regarded as ⁇ judgment '' and ⁇ decided ''. May be included.
- “judgment” and “decision” may include deeming any operation as “judgment” and “determined”. “Judgment (determination)” may be read as “assuming”, “expecting”, “considering”, or the like.
- references to elements using designations such as “first,” “second,” etc., as used in this disclosure, does not generally limit the quantity or order of those elements. These designations may be used in the present disclosure as a convenient way to distinguish between two or more elements. Thus, references to first and second elements do not mean that only two elements can be employed, or that the first element must precede the second element in some way.
- the term “A and B are different” may mean that “A and B are different from each other”.
- the term may mean that “A and B are different from C”.
- Terms such as “separate”, “coupled” and the like may be interpreted similarly to "different”.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
Abstract
パターン認識装置10は、入力画像に対するパターン認識によって得られ、認識スコアをそれぞれ有する複数の認識候補を取得する取得部13と、複数の認識候補のうち第1位の認識スコアを有する認識候補A1と他の認識候補Kとの各ペアについて、認識候補A1と認識候補Kとに関する特徴量に基づいて、認識候補Kが入力画像に対応する正解データである可能性を定量化した評価値を算出する算出部17と、認識候補K毎の評価値に基づいて、複数の認識候補のうちから最終的な認識結果を決定する決定部18と、を備える。
Description
本発明の一側面は、パターン認識装置及び学習済みモデルに関する。
従来、予め用意された認識辞書に記憶されたパターンの中から、入力された未知のパターン(例えば、音声及び画像等)に適合する認識候補を出力するシステムが知られている。
例えば、特許文献1には、認識対象である未知のパターンに対して複数の異なる認識手法を適用して得られた認識候補を統合して出力する際に、個々の認識手法において得られた認識候補を適切な順に配置することを可能とするパターン認識装置が開示されている。具体的には、上記パターン認識装置は、複数の認識手法により得られた各認識候補の認識スコアを、複数種類の認識手法に共通の尺度による正解度に変換することにより、各認識候補を適切に順序付ける。
しかしながら、上記パターン認識装置では、ある認識処理手法によって得られた認識候補間の順序は維持されたままである。すなわち、ある認識処理手法における第1位の認識スコアを有する認識候補と第2位以下の認識スコアを有する認識候補との間では、順位は変動しない。このため、上記パターン認識装置では、第2位以下の認識スコアを有する認識候補が認識対象の未知のパターンに対応する正解データである場合において、正解データに対応する認識候補を最終的な認識結果(第1位の認識結果)として得ることはできない。このため、上記パターン認識装置には、認識精度の向上を図る上で改善の余地がある。
そこで、本発明の一側面は、認識精度の向上を図ることができるパターン認識装置及び学習済みモデルを提供することを目的とする。
本発明の一側面に係るパターン認識装置は、入力データに対するパターン認識によって得られ、認識の確からしさを示す認識スコアをそれぞれ有する複数の認識候補を取得する取得部と、複数の認識候補のうち第1位の認識スコアを有する認識候補である第1認識候補と他の認識候補である第2認識候補との各ペアについて、第1認識候補と第2認識候補とに関する特徴量に基づいて、第2認識候補が入力データに対応する正解データである可能性を定量化した評価値を算出する算出部と、算出部により算出された第2認識候補毎の評価値に基づいて、複数の認識候補のうちから最終的な認識結果を決定する決定部と、を備える。
上記パターン認識装置では、第1認識候補と各第2認識候補との各ペアについて、第2認識候補が正解データである可能性を定量化した評価値が算出される。すなわち、第1認識候補よりも第2認識候補の方が正解データである可能性が高いか否か(換言すれば、第1認識候補の立場と第2認識候補の立場とを入れ替えた方が良いか否か)を示す指標として、第2認識候補毎の評価値が算出される。そして、第2認識候補毎の評価値に基づいて、複数の認識候補のうちから最終的な認識結果が決定される。この構成によれば、認識スコアに基づく順位をそのまま複数の認識候補の最終的な順位として確定することなく、認識候補毎の評価値に基づいて複数の認識候補の順位を適切に修正した上で最終的な認識結果を決定することが可能となる。従って、上記パターン認識装置によれば、認識精度の向上を図ることができる。
本発明の一側面に係る学習済みモデルは、入力データに対するパターン認識によって得られる複数の認識候補のうちから選択された第1認識候補と第2認識候補とに関する特徴量を入力して、一方の認識候補である第2認識候補が入力データに対応する正解データである可能性を定量化した評価値を出力するように、コンピュータを機能させるための学習済みモデルであって、認識対象のデータに対するパターン認識によって得られた2つの認識候補に関する特徴量を説明変数とし、2つの認識候補のうちの一方の認識候補が認識対象のデータに対応する正解データであるか否かを示す指標値を目的変数とする学習データを用いた機械学習を実行することにより生成される。
上記学習済みモデルによれば、入力データに対するパターン認識によって得られた複数の認識候補の順位(認識スコアに基づく順位)を適切に修正するための評価値が得られる。従って、上記学習済みモデルによれば、認識精度の向上を図ることができる。
本発明の一側面によれば、認識精度の向上を図ることができるパターン認識装置及び学習済みモデルを提供することができる。
以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。なお、図面の説明において同一又は相当要素には同一符号を付し、重複する説明を省略する。
図1は、一実施形態に係るパターン認識装置10の機能構成を示すブロック図である。パターン認識装置10は、画像データを入力データとして取得し、当該画像データに含まれる物体を認識(識別、特定)するコンピュータシステムである。例えば、画像データは、ある商品(例えば、食品、飲料品、トイレタリー等の日用品等)を被写体として含む。パターン認識装置10は、予め商品毎に用意された辞書画像(画像データベース)の中から、入力された画像データに対応する正解データであると推定される辞書画像を最終的な認識結果として決定及び出力する。ここで、画像データが商品Aを被写体として含む場合、当該画像データに対応する正解データは、商品Aの画像として予め登録された辞書画像である。この場合、商品Aの辞書画像が最終的な認識結果として出力された場合に、画像データが正しく認識されたことになる。
本実施形態では、パターン認識装置10は、学習処理及び認識処理の両方を実行するように構成されている。学習処理は、機械学習によって学習済みモデル(本実施形態では、第1モデルM1、第2モデルM2、及び第3モデルM3)を生成する処理である。認識処理は、学習処理によって生成された学習済みモデルを用いることによって、認識対象となる画像データ(以下「入力画像」ともいう。)に被写体として含まれる物体(商品)を認識する処理である。このような入力画像は、例えば、スマートフォン、タブレット等の端末のカメラ機能を用いて認識対象となる商品を撮像することによって得られる。
図1に示されるように、パターン認識装置10は、第1認識部11と、第2認識部12と、取得部13と、第1モデル生成部14と、第2モデル生成部15と、第3モデル生成部16と、算出部17と、決定部18と、出力部19と、を備える。学習処理は、第1認識部11と、第2認識部12と、取得部13と、第1モデル生成部14と、第2モデル生成部15と、第3モデル生成部16と、によって実行される。認識処理は、第1認識部11と、第2認識部12と、取得部13と、算出部17と、決定部18と、出力部19と、によって実行される。
第1認識部11及び第2認識部12のそれぞれは、入力画像に対するパターン認識(本実施形態では画像認識)を実行することにより、複数の認識候補を出力する。複数の認識候補の各々は、認識候補を一意に特定するための識別情報(例えば、辞書画像を特定するための画像ID)と、認識の確からしさを示す認識スコアと、を有する。第1認識部11は、第1のパターン認識を実行する。第2認識部12は、第1のパターン認識とは異なる第2のパターン認識を実行する。第1認識部11及び第2認識部12のそれぞれは、予め商品毎に用意された辞書画像を記憶する画像データベースと、入力画像から抽出される特徴量と各辞書画像の特徴量とを比較することによって入力画像との類似度が高い複数の認識候補(例えば上位n個の認識候補)を抽出する認識エンジンと、によって構成され得る。
第1認識部11によって実行される第1のパターン認識は、入力画像をグレースケール変換することにより得られたグレースケール画像から特徴量(特徴点)を抽出し、当該特徴量に基づいて入力画像に含まれる物体を認識する手法である。例えば、第1のパターン認識は、いわゆる特定物体認識と呼ばれる認識アルゴリズムであり、グレースケール画像から抽出された局所特徴量に基づいて入力画像に含まれる物体を認識する。このような第1のパターン認識は、色情報(例えばRGB値等)を特徴量として含まないことにより、特徴量の次元数を抑えることができる。このため、比較的高速かつ少ない辞書画像(例えば1商品当たり1つの辞書画像)で、入力画像に含まれる物体を比較的精度良く認識できるという長所を有する。一方で、第1のパターン認識は、色情報を特徴量として含まないため、色違いの同一デザインを有する商品同士を精度良く認識(識別)することが困難であるという短所を有する。
第2認識部12によって実行される第2のパターン認識は、入力画像の色情報を含む特徴量に基づいて入力画像に含まれる物体を認識する手法である。例えば、第2のパターン認識は、ディープラーニングによって構築されたCNN(Convolutional Neural Network)等のニューラルネットワークを上記認識エンジンとして用いることにより、物体認識(類似画像検索)を実行する。第2のパターン認識は、色情報を特徴量として含むため、上述した第1のパターン認識と比較して、色違いの同一デザインを有する商品同士(例えば、互いに異なる属性(味、香り等)を有する同一ブランドの商品同士)を精度良く認識することが可能であるという長所を有する。一方で、第2のパターン認識の認識精度を第1のパターン認識と同等の精度まで高めるためには、多数の学習データ(1商品当たり数百枚程度の学習用画像)を用いて上記ニューラルネットワークを構築する必要があるという短所がある。
取得部13は、入力画像に対するパターン認識によって得られた複数の認識候補を取得する。上述した通り、各認識候補は、画像IDと認識スコアとを有する。すなわち、各認識候補には、画像IDと認識スコアとが関連付けられている。本実施形態では一例として、取得部13は、ある1つの入力画像について、第1認識部11(第1のパターン認識)によって得られた複数の認識候補(ここでは、認識スコア順で上位n個の認識候補A1~An)と、第2認識部12(第2のパターン認識)によって得られた複数の認識候補(ここでは、認識候補A1~Anと重複する認識候補が除外された中で、認識スコア順で上位m個の認識候補B1~Bm)と、を複数の認識候補として取得する。ここで、n及びmは、予め任意に定められた値である。本実施形態では、第1のパターン認識によって得られた認識候補A1~Anを補完するための認識候補として、第2のパターン認識によって得られた認識候補B1~Bm(認識候補A1~Anと重複しない認識候補)が取得される。取得部13は、認識候補A1~An及び認識候補B1~Bmをこの順に並べた認識候補列を取得する。
図2は、取得部13により取得される認識候補列(m+n個の認識候補)の例を模式的に示す図である。図2において、認識候補列R1は、第1のパターン認識によって得られた認識候補A1~Anを認識スコア順に並べた列であり、認識候補列R2は、第2のパターン認識によって得られた認識候補B1~Bmを認識スコア順に並べた列である。また、図2において黒塗りされた認識候補は、入力画像に対応する正解データである。
図2の(A)は、第1のパターン認識における第1位の認識候補A1(第1位の認識スコアを有する認識候補)が正解データである例を示している。すなわち、図2の(A)は、第1のパターン認識によって正しい認識結果が得られた例(正例)を示している。
一方、図2の(B)は、第1のパターン認識における第2位以下の認識候補が正解データであった例を示している。また、図2の(C)は、第2のパターン認識によって得られた補完候補(ここでは一例として、認識候補B1)が正解データであった例を示している。すなわち、図2の(B)及び(C)は、第1のパターン認識によって正しい認識結果が得られなかった例(すなわち、認識候補A1が正解データではない例(負例))を示している。
第1モデル生成部14は、取得部13により取得された認識候補列の認識順位を更新(すなわち、再順序付け(リランキング))するために利用される第1モデルM1を生成する。例えば、図2の(B)及び(C)に示したような負例において、正解データに対応する認識候補の認識順位を繰り上げて最終的な認識結果(第1位の認識候補)とすることができれば、認識精度を向上させることができる。第1モデルM1は、このような認識順位の更新に用いるための評価値を出力する。
第1モデルM1は、例えばXGboost等のブースティングアルゴリズム等によって学習される識別器である。第1モデル生成部14は、入力画像に対するパターン認識によって得られる2つの認識候補に関する特徴量を説明変数とし、上記2つの認識候補のうちの一方の認識候補が認識対象のデータに対応する正解データであるか否かを示す指標値を目的変数とする第1学習データを用いて機械学習を実行することにより、第1モデルM1を生成する。
図3を参照して、第1モデル生成部14の処理の一例について説明する。
ステップS101において、第1モデル生成部14は、ある入力画像(認識対象のデータ)に対するパターン認識によって得られた複数(ここではn+m個)の認識候補を取得する。具体的には、第1モデル生成部14は、上記入力画像に対して上述した第1認識部11、第2認識部12、及び取得部13の処理が実行されることによって得られた認識候補列(A1,…,An,B1,…,Bm)を取得する。
ステップS102において、第1モデル生成部14は、複数の認識候補のうちから2つの認識候補を抽出することによってペアを生成する。本実施形態では一例として、第1モデル生成部14は、第1のパターン認識における第1位の認識スコアを有する認識候補A1と、他の認識候補A2~An,B1~Bmとの各ペアを生成する。これにより、図4に示されるように、認識候補A1と認識候補A2とのペアP2(A1,A2)から、認識候補A1と認識候補BmとのペアPn+m(A1,Bm)までのn+m-1個のペアが生成される。
ステップS103において、第1モデル生成部14は、ペア毎の特徴量を生成する。本実施形態では一例として、第1モデル生成部14は、認識候補A1と認識候補K(K=A2~An,B1~Bm)とのペアの特徴量(認識候補A1と認識候補Kとに関する特徴量)として、以下の要素a1~a10からなる10次元の特徴量を生成する。ここで、「スコア_k」は、認識候補kの認識スコアである。「類似度」は、ディープラーニングにより構築されたCNNによって抽出された特徴量同士のコサイン距離である。「類似度_k」は、入力画像の特徴量と認識候補kの特徴量とのコサイン距離である。
<認識候補A1と認識候補Kとのペアの特徴量の一例>
a1=スコア_K÷スコア_A1
a2=(スコア_A1-スコア_K)÷スコア_A1
a3=類似度_A1
a4=類似度_K
a5=類似度_A1-類似度_K
a6=類似度_K÷類似度_A1
a7=スコア_A1×類似度_A1
a8=スコア_K×類似度_K
a9=(スコア_A1×類似度_A1)-(スコア_K×類似度_K)
a10=(スコア_K×類似度_K)÷(スコア_A1×類似度_A1)
<認識候補A1と認識候補Kとのペアの特徴量の一例>
a1=スコア_K÷スコア_A1
a2=(スコア_A1-スコア_K)÷スコア_A1
a3=類似度_A1
a4=類似度_K
a5=類似度_A1-類似度_K
a6=類似度_K÷類似度_A1
a7=スコア_A1×類似度_A1
a8=スコア_K×類似度_K
a9=(スコア_A1×類似度_A1)-(スコア_K×類似度_K)
a10=(スコア_K×類似度_K)÷(スコア_A1×類似度_A1)
ステップS104において、第1モデル生成部14は、2つの認識候補に関する特徴量(ここでは、認識候補A1と認識候補Kとのペアの特徴量)を説明変数(入力)とし、上記2つの認識候補のうちの一方の認識候補(ここでは認識候補K)が入力画像に対応する正解データであるか否かを示す指標値を目的変数とする第1学習データを生成する。本実施形態では、当該指標値は、認識候補Kが入力画像に対応する正解データである場合に「1」に設定され、認識候補Kが入力画像に対応する正解データでない場合に「0」に設定されるフラグ値である。すなわち、当該指標値は、認識候補Kの認識順位を第1位にする(換言すれば、認識候補A1の立場と認識候補Kの立場とを入れ替える)ことによって正しい認識結果が得られる場合に「1」となり、それ以外の場合に「0」となる。本実施形態では、1つの入力画像に対するステップS101~S104の処理によって、n+m-1個(すなわち、ペアの個数)の第1学習データが生成される。
ステップS105において、第1モデル生成部14は、第1学習データを更に生成するか否かを判定する。例えば、第1モデル生成部14は、指標値が「0」となる第1学習データ及び指標値が「1」となる第1学習データのそれぞれが第1モデルM1の精度を担保するのに十分な数だけ得られるまで、他の入力画像(ステップS101~S104の処理が実行されていない入力画像)についてステップS101と同様の処理を実行し(ステップS105:YES→ステップS106)、その実行結果に対してステップS102~S104の処理を実行する。これにより、他の入力画像についての第1学習データが生成される。十分な数の第1学習データが得られ、第1学習データを更に生成する必要がない場合には(ステップS105:NO)、第1モデル生成部14は、第1学習データに基づく機械学習を実行することにより、第1モデルM1を生成する(ステップS107)。
図5は、第1モデルM1の生成方法(学習方法)を示す図である。図5において、黒塗りされた認識候補は、入力画像に対応する正解データを示している。ここで、負例は、第1のパターン認識によって正しい認識結果が得られなかった例(すなわち、認識候補A1が入力画像に対応する正解データではない例)である。一方、正例は、第1のパターン認識によって正しい認識結果が得られた例(すなわち、認識候補A1が入力画像に対応する正解データである例)である。
図5において、「負例1」は、認識候補Kが入力画像に対応する正解データであるペアを示している。当該ペアに対応する第1学習データは、当該ペアの特徴量(a1,…,a10)を説明変数とし、指標値「1」を目的変数とするデータとなる。「負例2」は、認識候補A1及び認識候補Kのいずれも入力画像に対応する正解データではないペアを示している。当該ペアに対応する第1学習データは、当該ペアの特徴量(a1,…,a10)を説明変数とし、指標値「0」を目的変数とするデータとなる。「正例」は、認識候補A1が入力画像に対応する正解データであるペアを示している。当該ペアに対応する第1学習データは、当該ペアの特徴量(a1,…,a10)を説明変数とし、指標値「0」を目的変数とするデータとなる。
このような第1学習データを用いることにより、認識候補Kが正解データである場合にのみ「1」を出力するように第1モデルM1を学習させることができる。つまり、このような機械学習によって構築された第1モデルM1の出力値は、認識候補Kが入力画像の正解データである可能性(換言すれば、認識候補A1の立場と認識候補Kの立場とを入れ替えることによって正しい認識結果が得られる確率(入れ替え確率))を示すことになる。よって、ある入力画像に対する認識処理を実行する際には、認識候補A1と認識候補K(K=A2~An,B1~Bm)との各ペアの特徴量を第1モデルM1に入力することにより認識候補K毎の出力値を算出し、当該出力値の降順に複数の認識候補を並べ替えることにより、当該入力画像に対応する正解データである可能性が高い順に複数の認識候補を並べ替えることが可能となる。
なお、上記の仕組みでは、認識候補A1に対応する第1モデルM1の出力値は得られないが、認識候補A1には、各認識候補Kの出力値に対応する値(基準値)として「0.5」を割り当てればよい。その理由は以下の通りである。第1モデルM1の出力値が0.5より高いことは、認識候補A1よりも認識候補Kの方が入力画像に対応する正解データである可能性が高いこと(すなわち、認識候補A1の立場と認識候補Kの立場とを入れ替えるべきであること)を意味する。一方、第1モデルM1の出力値が0.5より低いことは、認識候補Kよりも認識候補A1の方が入力画像に対応する正解データである可能性が高いこと(すなわち、認識候補A1の立場と認識候補Kの立場とを入れ替えるべきではないこと)を意味する。すなわち、上述のように学習された第1モデルM1においては、「0.5」が認識候補A1の立場と認識候補Kの立場とを入れ替えるべきか否かの境界値となる。よって、認識候補A1に、「0.5」を割り当てることにより、上述した複数の認識候補の並べ替えを適切に行うことが可能となる。
第2モデル生成部15は、上述した第1モデルM1の出力値に基づく並べ替え(リランキング)を行った結果の妥当性を判定するための第2モデルM2を生成する。第2モデルM2は、例えば、XGboost等のブースティングアルゴリズム等によって学習される識別器である。
図6を参照して、第2モデル生成部15の処理の一例について説明する。
ステップS201及びS202の処理は、上述したステップS101及びS102の処理と同様である。すなわち、ステップS201において、第2モデル生成部15は、ある入力画像(認識対象のデータ)に対するパターン認識によって得られた複数(ここではn+m個)の認識候補を取得する。ステップS202において、第2モデル生成部15は、複数の認識候補のうちから2つの認識候補を抽出することによってペアを生成する。これにより、図4に示されるように、認識候補A1と認識候補A2とのペアP2(A1,A2)から、認識候補A1と認識候補BmとのペアPn+m(A1,Bm)までのn+m-1個のペアが生成される。
ステップS203において、第2モデル生成部15は、第1位の認識スコアを有する認識候補A1(第4認識候補)と他の認識候補K(K=A2~An,B1~Bm)(第5認識候補)との各ペアについて、認識候補A1と一方の認識候補としての認識候補Kとに関する特徴量(a1,…,a10)を生成する。
ステップS204において、第2モデル生成部15は、認識候補A1と認識候補K(K=A2~An,B1~Bm)との各ペアについて、ペア毎の特徴量(a1,…,a10)を第1モデルM1に入力することにより得られる第1モデルM1の出力値を、ペア毎(すなわち認識候補K毎)の評価値として取得する。
ステップS205において、第2モデル生成部15は、認識候補K毎の評価値に基づいて、最終的な認識結果の候補となる認識候補X1(第6認識候補)を抽出する。具体的には、第2モデル生成部15は、認識候補A1に予め割り当てられた基準値(0.5)と認識候補K毎の評価値とのうち最大の値を有する認識候補X1(X1は、A1~An及びB1~Bmのいずれか)を抽出する。認識候補X1は、第1モデルM1の出力値(評価値)に基づくリランキング後において、第1位の認識順位を有する認識候補である。
ステップS206において、第2モデル生成部15は、認識候補X1が認識候補A1と同一であるか否かを判定する。認識候補X1が認識候補A1とは異なる場合(ステップS206:NO)、第2モデル生成部15は、第2学習データを生成する(ステップS207)。一方、認識候補X1が認識候補A1と同一である場合(ステップS206:YES)、リランキングの前後で第1位の認識候補に変動はなく(すなわち、認識候補A1が第1位のままであり)、リランキングの妥当性を評価する対象とはならないため、第2モデル生成部15は、ステップS207の処理をスキップする。
ステップS207において、第2モデル生成部15は、まず、認識候補A1と認識候補X1とに関する特徴量を生成する。本実施形態では一例として、第2モデル生成部15は、認識候補A1と認識候補X1とに関する特徴量として、以下の要素b1~b6からなる6次元の特徴量を生成する。
<認識候補A1と認識候補X1とのペアの特徴量の一例>
b1=スコア_A1
b2=類似度_A1
b3=スコア_X1
b4=類似度_X1
b5=認識候補X1の評価値(第1モデルM1の出力値)
b6=認識候補A1(辞書画像)と認識候補X1(辞書画像)との類似度
<認識候補A1と認識候補X1とのペアの特徴量の一例>
b1=スコア_A1
b2=類似度_A1
b3=スコア_X1
b4=類似度_X1
b5=認識候補X1の評価値(第1モデルM1の出力値)
b6=認識候補A1(辞書画像)と認識候補X1(辞書画像)との類似度
続いて、第2モデル生成部15は、認識候補A1と認識候補X1とに関する特徴量(b1,…,b6)を説明変数とし、認識候補X1が正解データであるか否かを示す指標値を目的変数とする第2学習データを生成する。本実施形態では、当該指標値は、認識候補X1が入力画像に対応する正解データである場合に「1」に設定され、認識候補A1が入力画像に対応する正解データである場合に「0」に設定されるフラグ値である。すなわち、当該指標値は、認識候補X1の認識順位を第1位にする(すなわち、認識候補A1の立場と認識候補X1の立場とを入れ替える)ことによって正しい認識結果が得られる場合(すなわち、第1モデルM1の出力値(評価値)に基づくリランキングが妥当な場合)に「1」となり、それ以外の場合に「0」となる。
なお、認識候補A1及び認識候補X1のいずれも入力画像に対応する正解データではない場合には、リランキングの妥当性を判定する意味がないため、第2学習データの生成対象から除外される。すなわち、第2モデル生成部15は、認識候補X1が正解データである場合(リランキングが妥当な場合を示す正例)及び認識候補A1が正解データである場合(リランキングが妥当でない場合を示す負例)のいずれかに対応する第2学習データを生成する。
ステップS208において、第2モデル生成部15は、第2学習データを更に生成するか否かを判定する。例えば、第2モデル生成部15は、正例及び負例のそれぞれに対応する第2学習データが第2モデルM2の精度を担保するのに十分な数だけ得られるまで、他の入力画像(ステップS201~S207の処理が実行されていない入力画像)についてステップS201と同様の処理を実行し(ステップS208:YES→ステップS209)、その実行結果に対してステップS202~S207の処理を実行する。これにより、他の入力画像についての第2学習データを生成することが可能となる。ただし、ステップS207がスキップされる場合、及び認識候補A1及び認識候補X1のいずれも入力画像に対応する正解データではない場合(上述した正例及び負例のいずれにも該当しない場合)等には、新たな第2学習データは得られない。その場合、新たな第2学習データが得られるまで他の入力画像に対する処理を継続すればよい。十分な数の第2学習データが得られ、第2学習データを更に生成する必要がない場合には(ステップS208:NO)、第2モデル生成部15は、第2学習データに基づく機械学習を実行することにより、第2モデルM2を生成する(ステップS210)。
図7は、第2モデルM2の生成方法(学習方法)を示す図である。図7において、黒塗りされた認識候補は、入力画像に対応する正解データを示している。ここで、正例は、第1モデルM1の出力値(評価値)に基づくリランキング(認識候補X1の順位を第1位に変更する処理)によって正しい認識結果が得られた例である。一方、負例は、上記リランキングによって正しい認識結果が得られなくなった例(すなわち、リランキングを行っていなければ正しい認識結果が得られた例)である。
図7に示されるように、正例に該当するペアに対応する第2学習データは、当該ペアの特徴量(b1,…,b6)を説明変数とし、指標値「1」を目的変数とするデータとなる。負例に該当するペアに対応する第2学習データは、当該ペアの特徴量(b1,…,b6)を説明変数とし、指標値「0」を目的変数とするデータとなる。
このような第2学習データを用いることにより、リランキングが妥当な場合(すなわち、認識候補X1が正解データである場合)にのみ「1」を出力するように第2モデルM2を学習させることができる。つまり、このような機械学習によって構築された第2モデルM2の出力値は、リランキング後の結果を採用することによって正しい認識結果が得られる確率(すなわち、リランキングが妥当である確率)を示すことになる。よって、ある入力画像に対する認識処理を実行する際には、第2モデルM2の出力値に基づいて、リランキングの妥当性を考慮した上で適切な認識結果を出力することが可能となる。例えば、第2モデルM2の出力値が0.5より大きい場合(又は0.5以上の場合)には、リランキング後の第1位の認識候補X1を最終的な認識結果とし、第2モデルM2の出力値が0.5以下の場合(又は0.5未満の場合)には、リランキング前の第1位の認識候補A1を最終的な認識結果とすることが可能となる。
第3モデル生成部16は、第1モデルM1に基づくリランキングと、第2モデルM2に基づくリランキングの妥当性判定と、を踏まえて決定された最終的な認識結果の確信度(正解度)を出力するための第3モデルM3を生成する。第3モデルM3は、例えば、XGboost等のブースティングアルゴリズム等によって学習される識別器である。
図8を参照して、第3モデル生成部16の処理の一例について説明する。
ステップS301の処理は、上述したステップS101の処理と同様である。すなわち、ステップS301において、第3モデル生成部16は、ある入力画像(認識対象のデータ)に対するパターン認識によって得られた複数(ここではn+m個)の認識候補を取得する。具体的には、図2に示されるような認識候補列(A1,…,An,B1,…,Bm)がリランキング前の認識候補列として得られる。
ステップS302において、第3モデル生成部16は、上述したステップS202~S205と同様の処理を実行することにより、複数の認識候補のリランキングを行う。すなわち、第3モデル生成部16は、認識候補A1の基準値(0.5)及び認識候補K(K=A2~An,B1~Bm)毎の評価値(第1モデルM1の出力値)を降順に並べ替えることにより、複数の認識候補を並べ替える。これにより、リランキング後の認識候補列(X1,…,Xn+m-1)が得られる。
ステップS303において、第3モデル生成部16は、第2モデルM2を用いてリランキングの妥当性を判定する。具体的には、第3モデル生成部16は、リランキング後の第1位の認識候補X1が認識候補A1とは異なる場合に、認識候補A1と認識候補X1とに関する特徴量(b1,…,b6)を第2モデルM2に入力することにより得られる出力値を、第2評価値として取得する。
ステップS304において、第3モデル生成部16は、ステップS303において得られた第2評価値に基づいて、最終的な認識結果を決定する。本実施形態では、第3モデル生成部16は、第2評価値が0.5以上の場合には、リランキング後の認識候補列(X1,…,Xn+m-1)を採用し、リランキング後の第1位の認識候補X1を最終的な認識結果とする。一方、第3モデル生成部16は、第2評価値が0.5未満の場合には、リランキング前の認識候補列(A1,…,An,B1,…,Bm)を採用し、リランキング前の第1位の認識候補A1を最終的な認識結果とする。
ステップS305において、第3モデル生成部16は、ステップS304において採用された認識候補列に基づいて第3学習データを生成する。以下、ステップS304において採用された認識候補列を(Y1,…,Yn+m-1)と表す。認識候補列(Y1,…,Yn+m-1)は、リランキング前の認識候補列(A1,…,An,B1,…,Bm)又はリランキング後の認識候補列(X1,…,Xn+m-1)である。
まず、第3モデル生成部16は、ステップS304において採用された認識候補列(Y1,…,Yn+m-1)の第1位の認識候補Y1と第2位の認識候補Y2とに関する特徴量を生成する。本実施形態では一例として、第3モデル生成部16は、認識候補Y1と認識候補Y2とに関する特徴量として、以下の要素c1~c11からなる11次元の特徴量を生成する。
<認識候補Y1と認識候補Y2とのペアの特徴量の一例>
c1=スコア_Y1
c2=類似度_Y1
c3=認識候補Y1の評価値(第1モデルM1の出力値又は基準値)
c4=スコア_Y2
c5=類似度_Y2
c6=認識候補Y2の評価値(第1モデルM1の出力値又は基準値)
c7=スコア_Y1-スコア_Y2
c8=スコア_Y2÷スコア_Y1
c9=類似度_Y2÷類似度_Y1
c10=認識候補Y1の評価値÷認識候補Y2の評価値
c11=認識候補Y1(辞書画像)と認識候補Y2(辞書画像)との類似度
<認識候補Y1と認識候補Y2とのペアの特徴量の一例>
c1=スコア_Y1
c2=類似度_Y1
c3=認識候補Y1の評価値(第1モデルM1の出力値又は基準値)
c4=スコア_Y2
c5=類似度_Y2
c6=認識候補Y2の評価値(第1モデルM1の出力値又は基準値)
c7=スコア_Y1-スコア_Y2
c8=スコア_Y2÷スコア_Y1
c9=類似度_Y2÷類似度_Y1
c10=認識候補Y1の評価値÷認識候補Y2の評価値
c11=認識候補Y1(辞書画像)と認識候補Y2(辞書画像)との類似度
続いて、第3モデル生成部16は、認識候補Y1と認識候補Y2とに関する特徴量(c1,…,c11)を説明変数とし、認識候補Y1が正解データであるか否かを示す指標値を目的変数とする第3学習データを生成する。本実施形態では、当該指標値は、認識候補Y1が入力画像に対応する正解データである場合に「1」に設定され、認識候補Y1が入力画像に対応する正解データでない場合に「0」に設定されるフラグ値である。
ステップS306において、第3モデル生成部16は、第3学習データを更に生成するか否かを判定する。例えば、第3モデル生成部16は、正例(指標値が1の場合)及び負例(指標値が0の場合)のそれぞれに対応する第3学習データが第3モデルM3の精度を担保するのに十分な数だけ得られるまで、他の入力画像(ステップS301~S305の処理が実行されていない入力画像)についてステップS301と同様の処理を実行し(ステップS306:YES→ステップS307)、その実行結果に対してステップS302~S305の処理を実行する。これにより、他の入力画像についての第3学習データが生成される。十分な数の第3学習データが得られ、第3学習データを更に生成する必要がない場合には(ステップS306:NO)、第3モデル生成部16は、第3学習データに基づく機械学習を実行することにより、第3モデルM3を生成する(ステップS308)。
以上の処理によれば、最終的に正しい認識結果が得られた場合にのみ「1」を出力するように第3モデルM3を学習させることができる。つまり、このような機械学習によって構築された第3モデルM3の出力値は、最終的な認識結果(認識候補Y1)が入力画像に対応する正解データである可能性(すなわち、最終的な認識結果の確信度)を示すことになる。
次に、上述のようにして得られた学習済みモデル(第1モデルM1、第2モデルM2、及び第3モデルM3)を用いて、認識対象として入力された入力画像に対する認識処理を実行するための機能要素(算出部17、決定部18、及び出力部19)について説明する。
算出部17は、複数の認識候補のうち第1位の認識スコアを有する認識候補A1(第1認識候補)と他の認識候補K(K=A2~An,B1~Bm)(第2認識候補)との各ペアについて、認識候補A1と認識候補Kとに関する特徴量に基づいて、認識候補Kが入力画像に対応する正解データである可能性を定量化した評価値を算出する。具体的には、算出部17は、各ペア(認識候補A1,認識候補K)について、認識候補A1と一方の認識候補としての認識候補Kとに関する特徴量(a1,…,a10)を第1モデルM1に入力することにより得られる出力値を評価値として取得する。これにより、認識候補K毎の評価値が得られる。
決定部18は、算出部17により算出された認識候補K毎の評価値に基づいて、複数の認識候補のうちから最終的な認識結果を決定する。本実施形態では、決定部18は、まず、認識候補A1に予め割り当てられた基準値(0.5)及び認識候補K毎の評価値の比較結果に基づいて、最終的な認識結果の候補となる認識候補X1(第3認識候補)を抽出する。例えば、決定部18は、認識候補A1の基準値(0.5)及び認識候補K毎の評価値とを降順に並べ替えることにより、複数の認識候補を並べ替える。すなわち、基準値又は評価値に基づいて、複数の認識候補の認識順位を更新(リランキング)する。これにより、リランキング後の認識候補列(X1,…,Xn+m-1)と共に、最終的な認識結果の候補として、リランキング後の第1位の認識候補X1が得られる。
続いて、決定部18は、認識候補X1が認識候補A1とは異なる場合に、認識候補A1と認識候補X1とに関する特徴量に基づいて、認識候補X1を最終的な認識結果とすることの妥当性を定量化した第2評価値を算出する。具体的には、決定部18は、認識候補X1が認識候補A1とは異なる場合に、認識候補A1と認識候補X1とに関する特徴量(b1,…,b6)を生成する。そして、決定部18は、当該特徴量(b1,…,b6)を第2モデルM2に入力することにより得られる出力値を、第2評価値として取得する。
続いて、決定部18は、第2評価値に基づいて認識候補X1を最終的な認識結果とするか否かを決定する。例えば、決定部18は、第2評価値と予め設定された閾値(本実施形態では0.5)との比較結果に基づいて、リランキング前の第1位の認識候補A1及びリランキング後の第1位の認識候補X1のいずれを最終的な認識結果とするか否かを決定してもよい。例えば、決定部18は、第2評価値が0.5以上の場合には、リランキング後の認識候補列(X1,…,Xn+m-1)を採用し、リランキング後の第1位の認識候補X1を最終的な認識結果としてもよい。一方、決定部18は、第2評価値が0.5未満の場合には、リランキング前の認識候補列(A1,…,An,B1,…,Bm)を採用し、リランキング前の第1位の認識候補A1を最終的な認識結果としてもよい。
上述したような決定部18の処理によれば、第1モデルM1を用いたリランキング、及び第2モデルM2を用いたリランキングの妥当性判定のそれぞれの結果に基づいて、入力画像に対応する正解データである可能性が高い認識候補を、最終的な認識結果として決定することができる。
出力部19は、決定部18により決定された最終的な認識候補列(Y1,…,Yn+m-1)をディスプレイ、プリンタ、又はその他の外部装置等に出力する。本実施形態では、出力部19は、最終的な認識候補列(Y1,…,Yn+m-1)の第1位の認識候補Y1と第2位の認識候補Y2とに関する特徴量(c1,…,c11)を生成する。そして、出力部19は、当該特徴量(c1,…,c11)を第3モデルM3に入力することにより得られる出力値を、最終的な認識結果の確信度として取得する。例えば、出力部19は、最終的な認識結果(認識候補Y1)及び確信度をディスプレイ等に出力することにより、最終的な認識結果及び確信度をユーザに提示できる。なお、出力部19は、最終的な認識結果(認識候補Y1)だけでなく、最終的な認識候補列(Y1,…,Yn+m-1)の一部(例えば上位x個)又は全部を出力してもよい。この場合、正解データである可能性が高い順に複数の認識結果をユーザに提示することにより、ユーザの利便性を向上し得る。
次に、図9を参照して、認識処理を実行する際のパターン認識装置の処理手順(一実施形態に係るパターン認識方法)の一例について説明する。
ステップS401において、取得部13は、入力画像(認識対象のデータ)に対するパターン認識によって得られた複数(ここではn+m個)の認識候補を取得する。本実施形態では、取得部13は、第1認識部11(第1のパターン認識)によって得られたn個の認識候補A1~Anと、第2認識部12(第2のパターン認識)によって得られた認識候補A1~Anとは重複しないm個の認識候補B1~Bmと、を複数の認識候補として取得する。これにより、図2に示されるように、リランキング前の認識候補列(A1,…,An,B1,…,Bm)が得られる。
ステップS402において、算出部17は、リランキング前の第1位の認識候補A1と、他の認識候補K(K=A2~An,B1~Bm)との各ペア(図4に示されるn+m-1個のペア)を生成する。
ステップS403において、算出部17は、ペア毎の特徴量(a1,…,a10)を生成する。そして、算出部17は、ペア毎の特徴量(a1,…,a10)を第1モデルM1に入力することにより得られる第1モデルM1の出力値を、ペア毎(すなわち認識候補K毎)の評価値として取得する。
ステップS404において、決定部18は、認識候補A1に予め割り当てられた基準値(0.5)及び認識候補K(K=A2~An,B1~Bm)毎の評価値を降順に並べ替えることにより、複数の認識候補を並べ替える。すなわち、決定部18は、複数の認識候補の認識順位を更新(リランキング)する。これにより、リランキング後の認識候補列(X1,…,Xn+m-1)が得られる。
ステップS405において、決定部18は、第2モデルM2を用いてリランキングの妥当性を判定する。具体的には、決定部18は、リランキング後の第1位の認識候補X1が認識候補A1とは異なる場合に、認識候補A1と認識候補X1とに関する特徴量(b1,…,b6)を第2モデルM2に入力することにより得られる出力値を、第2評価値として取得する。なお、認識候補X1が認識候補A1と等しい場合(すなわち、リランキングによって第1位の認識候補が変動していない場合)、決定部18は、ステップS405及びS406の処理をスキップして、後述するステップS408へと進んでもよい。
ステップS406において、決定部18は、第2評価値と予め設定された閾値(ここでは0.5)とを比較する。第2評価値が閾値(0.5)以上の場合(ステップS406:YES)には、決定部18は、リランキング後の認識候補列(X1,…,Xn+m-1)を採用し、リランキング後の第1位の認識候補X1を最終的な認識結果とする(ステップS407)。一方、第2評価値が閾値(0.5)未満の場合(ステップS406:NO)には、決定部18は、リランキング前の認識候補列(A1,…,An,B1,…,Bm)を採用し、リランキング前の第1位の認識候補A1を最終的な認識結果とする(ステップS408)。
ステップS409において、出力部19は、最終的な認識候補列の第1位の認識候補Y1と第2位の認識候補Y2とに関する特徴量(c1,…,c11)を生成する。そして、出力部19は、当該特徴量(c1,…,c11)を第3モデルM3に入力することにより得られる出力値を、最終的な認識結果の確信度として取得する。
ステップS410において、出力部19は、最終的な認識結果(認識候補Y1)及び確信度を出力する。これにより、ユーザに最終的な認識結果及び確信度を提示したり、最終的な認識結果に基づいて何らかの情報処理を行う外部装置等に最終的な認識結果を出力したりすることができる。
以上説明したパターン認識装置10では、認識候補A1と各認識候補K(K=A2~An,B1~Bm)との各ペアについて、認識候補Kが正解データである可能性を定量化した評価値が算出される。すなわち、認識候補A1よりも認識候補Kの方が正解データである可能性が高いか否か(換言すれば、認識候補A1の立場と認識候補Kの立場とを入れ替えた方が良いか否か)を示す指標として、認識候補K毎の評価値が算出される。そして、認識候補K毎の評価値に基づいて、複数の認識候補のうちから最終的な認識結果が決定される。この構成により、認識スコアに基づく順位(すなわち、リランキング前の認識順位)をそのまま複数の認識候補の最終的な順位として確定することなく、認識候補K毎の評価値に基づいて複数の認識候補の順位を適切に修正した上で最終的な認識結果を決定することが可能となる。従って、パターン認識装置10によれば、認識精度の向上を図ることができる。
また、複数の認識候補を得るために実行されるパターン認識は、第1のパターン認識(第1認識部11)と第1のパターン認識とは異なる第2のパターン認識(第2認識部12)とを含む。取得部13により取得される複数の認識候補は、入力画像に対する第1のパターン認識によって得られる認識候補(認識候補列R1)と、入力画像に対する第2のパターン認識によって得られる認識候補(認識候補列R2)とを含む。このように、複数の互いに異なる認識手法によって得られた認識候補が混在する複数の認識候補に対して、上述した評価値に基づく処理(リランキング)を実行することにより、最終的に正しい認識結果が得られる可能性を高めることができる。例えば、第1のパターン認識によって得られた認識候補列R1の中に入力画像に対応する正解データが含まれておらず、第2のパターン認識によって得られた認識候補列R2(補完候補)の中に正解データが含まれている場合において、当該正解データに対応する認識候補を最終的な認識結果として得ることが可能となる。
また、第1のパターン認識は、入力画像(画像データ)をグレースケール変換することにより得られたグレースケール画像から抽出される特徴量に基づいて入力画像に含まれる物体を認識する処理(本実施形態では、上述した特定物体認識)である。第2のパターン認識は、入力画像の色情報を含む特徴量に基づいて入力画像に含まれる物体を認識する処理(本実施形態では、上述したCNN等のニューラルネットワークを用いた物体認識(類似画像検索))である。上述したように、第1のパターン認識には、比較的少ない辞書画像を用意するだけで簡易的に物体認識を実行できる長所がある一方で、色違いの同一デザインを有する商品同士を精度良く認識することが困難であるという短所がある。第2のパターン認識には、多数の学習用画像を用いてニューラルネットワークを構築する必要があるという短所がある一方で、色情報を特徴量として用いることにより、色違いの同一デザインを有する商品同士を比較的精度良く認識できるという第1のパターン認識の短所を補う長所がある。このように、一方の短所を他方が補う関係にある複数のパターン認識の手法を併用して複数の認識候補を取得し、各認識候補の評価値に基づく処理(リランキング)を行うことにより、最終的に正しい認識結果が得られる可能性を効果的に高めることができる。つまり、一方の認識手法で正解データに対応する認識候補が得られない場合であっても、他方の認識手法で正解データに対応する認識候補が得られることが期待できる。さらに、リランキングによって、正解データに対応する認識候補を最終的な認識結果として得ることが期待できる。
また、決定部18は、算出部17により算出された認識候補K毎の評価値に基づいて、最終的な認識結果の候補となる認識候補X1(第3認識候補)を抽出する。本実施形態では、決定部18は、リランキング後の認識候補列(X1,…,Xn+m-1)を取得する。そして、決定部18は、認識候補X1が認識候補A1とは異なる場合(すなわち、リランキングによって第1位の認識候補が変化した場合)に、認識候補A1と認識候補Xとに関する特徴量(b1,…,b6)に基づいて、認識候補X1を最終的な認識結果とすることの妥当性を定量化した第2評価値を算出する。そして、決定部18は、第2評価値に基づいて認識候補X1を最終的な認識結果とするか否かを決定する。本実施形態では、決定部18は、第2評価値が閾値(0.5)以上である場合に、リランキング後の認識候補列を採用し、認識候補X1を最終的な認識結果とする。このように、リランキングの妥当性の判定結果に基づいてリランキング結果の採否を決定することにより、最終的に正しい認識結果が得られる可能性を高めることができる。
また、上記実施形態では、算出部17は、認識候補A1と認識候補Kとの各ペアについて、認識候補A1と認識候補Kとに関する特徴量(a1,…,a10)を第1モデルM1に入力することにより得られる出力値を評価値として取得する。この構成によれば、認識候補Kが正解データである場合にのみ「1」を出力する(その他の場合には「0」を出力する)ように学習させられた第1モデルM1を用いることにより、認識候補K毎の評価値を適切に算出することができる。
また、上記実施形態では、決定部18は、認識候補X1が認識候補A1とは異なる場合に、認識候補A1と認識候補X1とに関する特徴量(b1,…,b6)を第2モデルM2に入力することにより得られる出力値を第2評価値として取得する。この構成によれば、認識候補X1が正解データである場合にのみ「1」を出力する(その他の場合には「0」を出力する)ように学習させられた第2モデルM2を用いることにより、リランキング結果の妥当性を示す第2評価値を適切に算出することができる。
また、第1モデルM1は、入力画像に対するパターン認識によって得られる複数の認識候補のうちから選択された認識候補A1と認識候補Kとに関する特徴量(a1,…,a10)を入力して、一方の認識候補である認識候補Kが入力画像の正解データである可能性を定量化した評価値を出力するように、コンピュータを機能させるための学習済みモデルである。すなわち、第1モデルM1は、特徴量(a1,…,a10)を入力してから評価値を出力するまでの演算を行うプログラムと、当該演算に用いられる重み付け係数(パラメータ)との組み合わせである。このような第1モデルM1によれば、入力画像に対するパターン認識によって得られた複数の認識候補の順位(認識スコアに基づく順位)を適切に修正(リランキング)するための評価値が得られる。従って、第1モデルM1によれば、認識精度の向上を図ることができる。
なお、本発明者らは、パターン認識装置10の効果を確認するために、上述した第1のパターン認識及び第2のパターン認識において商品毎に10枚の辞書画像を用意すると共に、商品毎に20枚程度の学習用画像を用いて第2のパターン認識に用いられるニューラルネットワーク(CNN)を構築した。そして、このような第1のパターン認識(第1認識部11)及び第2のパターン認識(第2認識部12)を用いて、飲料品155点及びヘアケア商品689点に対して上記認識処理を実行した。
飲料品155点については、特定物体認識(第1のパターン認識)のみを行った場合の正解率(すなわち、第1のパターン認識における第1位の認識候補A1が正解データであった割合)は80%であったのに対して、上記認識処理を実行することにより得られた最終的な認識結果の正解率は83%であった。すなわち、上記認識処理によって3%の精度向上が得られた。ヘアケア商品689点については、特定物体認識(第1のパターン認識)のみを行った場合の正解率は78%であったのに対して、上記認識処理を実行することにより得られた最終的な認識結果の正解率は87%であった。すなわち、上記認識処理によって9%の精度向上が得られた。このような精度向上の要因としては、特定物体認識(第1のパターン認識)に加えて色情報を特徴量として用いることができるディープラーニングをベースとした類似画像検索(第2のパターン認識)を併用し、上述したリランキングを行うことによって、特定物体認識が苦手とする色違いの同一デザインの商品の認識精度を向上させることができたためと考えられる。さらに、第2のパターン認識に用いられるCNNの学習用画像の数を、第2のパターン認識のみによって第1のパターン認識と同等の認識精度を確保するために必要と考えられる数(商品毎に数百枚)よりも少ない数(商品毎に20枚)に抑えつつ、特定物体認識のみを行う場合よりも認識精度を向上できることも確認された。
[変形例]
取得部13が取得する複数の認識候補は、1つのパターン認識手法によって得られた候補であってもよい。この場合でも、評価値に基づくリランキングによって認識精度の向上が期待できる。また、取得部13が取得する複数の認識候補は、3つ以上の互いに異なるパターン認識手法によって得られた候補を含んでもよい。
取得部13が取得する複数の認識候補は、1つのパターン認識手法によって得られた候補であってもよい。この場合でも、評価値に基づくリランキングによって認識精度の向上が期待できる。また、取得部13が取得する複数の認識候補は、3つ以上の互いに異なるパターン認識手法によって得られた候補を含んでもよい。
上記実施形態では、取得部13によって、第1のパターン認識によって得られた認識候補A1~Anの補完候補として、第2のパターン認識によって得られた認識候補B1~Bm(認識候補A1~Anと重複しない認識候補)が取得されたが、これとは逆に、第2のパターン認識によって得られた認識候補の補完候補として、第1のパターン認識によって得られた認識候補が取得されてもよい。
上記実施形態では、第1のパターン認識において第1位の認識スコアを有する認識候補A1をペアの基準となる認識候補としたが、第2のパターン認識において第1位の認識スコアを有する認識候補B1をペアの基準となる認識候補としてもよい。すなわち、複数の認識候補が、互いに異なる複数のパターン認識手法によって得られた候補を含む場合には、いずれかのパターン認識手法において第1位の認識スコアを有する認識候補が、ペアの基準となる認識候補とされてもよい。
上記実施形態では、決定部18は、リランキングが妥当ではないと判定した場合に、リランキング前の第1のパターン認識における第1位の認識候補A1を最終的な認識結果として決定したが(図9のステップS408参照)、認識候補A1以外の認識候補(例えば、第2のパターン認識における第1位の認識候補)を最終的な認識結果として決定してもよい。
第2モデルM2の出力値(第2評価値)に基づくリランキングの妥当性判定は、省略されてもよい。この場合、決定部18は、リランキング後の認識候補列(X1,…,Xn+m-1)を採用し、リランキング後の第1位の認識候補X1を最終的な認識結果としてもよい。この場合でも、評価値に基づくリランキングによって認識精度の向上が期待できる。また、この場合、第2モデル生成部15は省略されてもよい。
出力部19における第3モデルM3を用いた確信度の算出は、省略されてもよい。この場合、第3モデル生成部16は省略されてもよい。
第1認識部11及び第2認識部12は、パターン認識装置10とは異なる外部装置に設けられてもよい。すなわち、パターン認識装置10は、外部装置において実行された第1のパターン認識及び第2のパターン認識の結果を取得できればよく、自ら第1のパターン認識及び第2のパターン認識を実行しなくてもよい。
第1モデルM1に入力される特徴量は、認識候補A1及び認識候補Kに関する特徴を含んでいればよく、特徴量の要素及び次元数は上記例(a1,…,a10)に限られない。第2モデルM2に入力される特徴量は、認識候補A1及び認識候補X1に関する特徴を含んでいればよく、特徴量の要素及び次元数は上記例(b1,…,b6)に限られない。第3モデルM3に入力される特徴量は、最終的な認識結果(認識候補Y1)に関する特徴を含んでいればよく、特徴量の要素及び次元数は上記例(c1,…,c11)に限られない。
また、上記実施形態では、画像データに対するパターン認識に適用される形態について説明したが、パターン認識の対象となるデータは、画像に限られず、音声等の画像以外のデータであってもよい。また、パターン認識は、パターン認識の対象となるデータに応じた認識処理であればよく、上記実施形態で説明された画像認識に限られない。例えば、パターン認識は、文字認識、音声認識等の画像認識以外の認識処理であってもよい。
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。
例えば、本開示の一実施の形態におけるパターン認識装置10は、本開示のパターン認識方法を行うコンピュータとして機能してもよい。図10は、本開示の一実施の形態に係るパターン認識装置10のハードウェア構成の一例を示す図である。上述のパターン認識装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。パターン認識装置10のハードウェア構成は、図10に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
パターン認識装置10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、決定部18は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係るパターン認識方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。通信装置1004は、例えば周波数分割複信(FDD:Frequency Division Duplex)及び時分割複信(TDD:Time Division Duplex)の少なくとも一方を実現するために、高周波スイッチ、デュプレクサ、フィルタ、周波数シンセサイザなどを含んで構成されてもよい。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
また、パターン認識装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
情報の通知は、本開示において説明した態様/実施形態に限られず、他の方法を用いて行われてもよい。例えば、情報の通知は、物理レイヤシグナリング(例えば、DCI(Downlink Control Information)、UCI(Uplink Control Information))、上位レイヤシグナリング(例えば、RRC(Radio Resource Control)シグナリング、MAC(Medium Access Control)シグナリング、報知情報(MIB(Master Information Block)、SIB(System Information Block)))、その他の信号又はこれらの組み合わせによって実施されてもよい。また、RRCシグナリングは、RRCメッセージと呼ばれてもよく、例えば、RRC接続セットアップ(RRC Connection Setup)メッセージ、RRC接続再構成(RRC Connection Reconfiguration)メッセージなどであってもよい。
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
情報等は、上位レイヤ(又は下位レイヤ)から下位レイヤ(又は上位レイヤ)へ出力され得る。複数のネットワークノードを介して入出力されてもよい。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本開示において説明した用語及び本開示の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。例えば、チャネル及びシンボルの少なくとも一方は信号(シグナリング)であってもよい。また、信号はメッセージであってもよい。
本開示において使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。例えば、無線リソースはインデックスによって指示されるものであってもよい。
上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。様々な情報要素は、あらゆる好適な名称によって識別できるので、これらの様々な情報要素に割り当てている様々な名称は、いかなる点においても限定的な名称ではない。
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
10…パターン認識装置、11…第1認識部、12…第2認識部、13…取得部、14…第1モデル生成部、15…第2モデル生成部、16…第3モデル生成部、17…算出部、18…決定部、19…出力部、M1…第1モデル(学習済みモデル)、M2…第2モデル、M3…第3モデル。
Claims (7)
- 入力データに対するパターン認識によって得られ、認識の確からしさを示す認識スコアをそれぞれ有する複数の認識候補を取得する取得部と、
前記複数の認識候補のうち第1位の認識スコアを有する認識候補である第1認識候補と他の認識候補である第2認識候補との各ペアについて、前記第1認識候補と前記第2認識候補とに関する特徴量に基づいて、前記第2認識候補が前記入力データに対応する正解データである可能性を定量化した評価値を算出する算出部と、
前記算出部により算出された前記第2認識候補毎の前記評価値に基づいて、前記複数の認識候補のうちから最終的な認識結果を決定する決定部と、
を備えるパターン認識装置。 - 前記パターン認識は、第1のパターン認識と前記第1のパターン認識とは異なる第2のパターン認識とを含み、
前記取得部により取得される前記複数の認識候補は、前記入力データに対する第1のパターン認識によって得られる認識候補と、前記入力データに対する前記第2のパターン認識によって得られる認識候補とを含む、請求項1に記載のパターン認識装置。 - 前記入力データは、画像データであり、
前記第1のパターン認識は、前記画像データをグレースケール変換することにより得られたグレースケール画像から抽出される特徴量に基づいて前記画像データに含まれる物体を認識する手法であり、
前記第2のパターン認識は、前記画像データの色情報を含む特徴量に基づいて前記画像データに含まれる物体を認識する手法である、請求項2に記載のパターン認識装置。 - 前記決定部は、
前記算出部により算出された前記第2認識候補毎の前記評価値に基づいて、前記最終的な認識結果の候補となる第3認識候補を抽出し、
前記第3認識候補が前記第1認識候補とは異なる場合に、前記第1認識候補と前記第3認識候補とに関する特徴量に基づいて、前記第3認識候補を前記最終的な認識結果とすることの妥当性を定量化した第2評価値を算出し、
前記第2評価値に基づいて前記第3認識候補を前記最終的な認識結果とするか否かを決定する、請求項1~3のいずれか一項に記載のパターン認識装置。 - 認識対象のデータに対する前記パターン認識によって得られる2つの認識候補に関する特徴量を説明変数とし、前記2つの認識候補のうちの一方の認識候補が前記認識対象のデータに対応する正解データであるか否かを示す指標値を目的変数とする第1学習データを用いて機械学習を実行することにより、第1モデルを生成する第1モデル生成部を更に備え、
前記算出部は、前記各ペアについて、前記第1認識候補と前記一方の認識候補としての前記第2認識候補とに関する特徴量を前記第1モデルに入力することにより得られる出力値を前記評価値として取得する、請求項1~4のいずれか一項に記載のパターン認識装置。 - 認識対象のデータに対する前記パターン認識によって得られる2つの認識候補に関する特徴量を説明変数とし、前記2つの認識候補のうちの一方の認識候補が前記認識対象のデータに対応する正解データであるか否かを示す指標値を目的変数とする第1学習データを用いて機械学習を実行することにより、第1モデルを生成する第1モデル生成部と、
第2モデルを生成する第2モデル生成部と、を更に備え、
前記第2モデル生成部は、
前記認識対象のデータに対する前記パターン認識によって得られ、認識の確からしさを示す認識スコアをそれぞれ有する複数の認識候補を取得し、
前記複数の認識候補のうち第1位の認識スコアを有する認識候補である第4認識候補と他の認識候補である第5認識候補との各ペアについて、前記第4認識候補と前記一方の認識候補としての前記第5認識候補とに関する特徴量を前記第1モデルに入力することにより、前記第5認識候補毎の評価値を取得し、
前記第5認識候補毎の前記評価値に基づいて、最終的な認識結果の候補となる第6認識候補を抽出し、
前記第6認識候補が前記第4認識候補とは異なる場合に、前記第4認識候補と前記第6認識候補とに関する特徴量を説明変数とし、前記第6認識候補が正解データであるか否かを示す指標値を目的変数とする第2学習データを生成し、
前記第2学習データを用いて機械学習を実行することにより、前記第2モデルを生成し、
前記決定部は、前記第3認識候補が前記第1認識候補とは異なる場合に、前記第1認識候補と前記第3認識候補とに関する特徴量を前記第2モデルに入力することにより得られる出力値を前記第2評価値として取得する、請求項4に記載のパターン認識装置。 - 入力データに対するパターン認識によって得られる複数の認識候補のうちから選択された第1認識候補と第2認識候補とに関する特徴量を入力して、一方の認識候補である前記第2認識候補が前記入力データに対応する正解データである可能性を定量化した評価値を出力するように、コンピュータを機能させるための学習済みモデルであって、
認識対象のデータに対する前記パターン認識によって得られた2つの認識候補に関する特徴量を説明変数とし、前記2つの認識候補のうちの一方の認識候補が前記認識対象のデータに対応する正解データであるか否かを示す指標値を目的変数とする学習データを用いた機械学習を実行することにより生成された学習済みモデル。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020549965A JP7264911B2 (ja) | 2018-10-03 | 2019-07-12 | パターン認識装置及び学習済みモデル |
US17/267,890 US20210166063A1 (en) | 2018-10-03 | 2019-07-12 | Pattern recognition device and learned model |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018188160 | 2018-10-03 | ||
JP2018-188160 | 2018-10-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020070943A1 true WO2020070943A1 (ja) | 2020-04-09 |
Family
ID=70055391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/027775 WO2020070943A1 (ja) | 2018-10-03 | 2019-07-12 | パターン認識装置及び学習済みモデル |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210166063A1 (ja) |
JP (1) | JP7264911B2 (ja) |
WO (1) | WO2020070943A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12067708B2 (en) * | 2020-09-08 | 2024-08-20 | Rakuten Group, Inc. | Image judgement apparatus, image judgement method and non-transitory computer readable medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0785277A (ja) * | 1993-09-13 | 1995-03-31 | Nippon Telegr & Teleph Corp <Ntt> | データ分類方式 |
JPH0981730A (ja) * | 1995-09-18 | 1997-03-28 | Canon Inc | パターン認識方法及び装置及びコンピュータ制御装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005044330A (ja) * | 2003-07-24 | 2005-02-17 | Univ Of California San Diego | 弱仮説生成装置及び方法、学習装置及び方法、検出装置及び方法、表情学習装置及び方法、表情認識装置及び方法、並びにロボット装置 |
TWI652634B (zh) * | 2018-01-31 | 2019-03-01 | 緯創資通股份有限公司 | 自助結帳方法及其系統 |
-
2019
- 2019-07-12 JP JP2020549965A patent/JP7264911B2/ja active Active
- 2019-07-12 US US17/267,890 patent/US20210166063A1/en active Pending
- 2019-07-12 WO PCT/JP2019/027775 patent/WO2020070943A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0785277A (ja) * | 1993-09-13 | 1995-03-31 | Nippon Telegr & Teleph Corp <Ntt> | データ分類方式 |
JPH0981730A (ja) * | 1995-09-18 | 1997-03-28 | Canon Inc | パターン認識方法及び装置及びコンピュータ制御装置 |
Non-Patent Citations (1)
Title |
---|
AKATSUKA, HAYATO,INOMATA, TEPPEI, SAKAI, TOSHIKI: "High-speed large-scale image engine and provision of API", NTT DOCOMO TECHNICAL JOURNAL, vol. 17, no. 1, July 2015 (2015-07-01), pages 10 - 17, XP055700379 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2020070943A1 (ja) | 2021-09-02 |
JP7264911B2 (ja) | 2023-04-25 |
US20210166063A1 (en) | 2021-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10460029B2 (en) | Reply information recommendation method and apparatus | |
WO2018157703A1 (zh) | 自然语言的语义提取方法及装置和计算机存储介质 | |
JP6751684B2 (ja) | 類似画像検索装置 | |
JP6007784B2 (ja) | 文書分類装置及びプログラム | |
CN111241814A (zh) | 语音识别文本的纠错方法、装置、电子设备及存储介质 | |
US9396407B2 (en) | Image recognition device, recording medium, and image recognition method | |
CN108304376B (zh) | 文本向量的确定方法、装置、存储介质及电子装置 | |
CN111144093B (zh) | 一种智能文本处理方法、装置、电子设备及存储介质 | |
WO2021070819A1 (ja) | 採点モデル学習装置、採点モデル及び判定装置 | |
JPWO2020054451A1 (ja) | 対話装置 | |
US11663420B2 (en) | Dialogue system | |
CN113761843A (zh) | 语音编辑方法、电子设备及计算机可读存储介质 | |
WO2020070943A1 (ja) | パターン認識装置及び学習済みモデル | |
US20220207243A1 (en) | Internal state modifying device | |
JP7122835B2 (ja) | 機械翻訳装置、翻訳学習済みモデル及び判定学習済みモデル | |
CN114332529A (zh) | 图像分类模型的训练方法、装置、电子设备及存储介质 | |
JP6745402B2 (ja) | 質問推定装置 | |
JP6895580B2 (ja) | 対話システム | |
US11914601B2 (en) | Re-ranking device | |
CN114675750B (zh) | 输入方法、装置、电子设备及存储介质 | |
WO2022130940A1 (ja) | 提示装置 | |
US20230015324A1 (en) | Retrieval device | |
JP7522060B2 (ja) | 音声認識装置 | |
CN116049414B (zh) | 基于话题描述的文本聚类方法、电子设备和存储介质 | |
CN117743411A (zh) | 构建查询词类目匹配关系的方法、查询方法及相关产品 |
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: 19868401 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020549965 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19868401 Country of ref document: EP Kind code of ref document: A1 |