WO2021230128A1 - 情報処理装置、情報処理方法、およびプログラム - Google Patents
情報処理装置、情報処理方法、およびプログラム Download PDFInfo
- Publication number
- WO2021230128A1 WO2021230128A1 PCT/JP2021/017357 JP2021017357W WO2021230128A1 WO 2021230128 A1 WO2021230128 A1 WO 2021230128A1 JP 2021017357 W JP2021017357 W JP 2021017357W WO 2021230128 A1 WO2021230128 A1 WO 2021230128A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- label
- range
- unit
- feature amount
- data
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- 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/10—Image acquisition
-
- 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/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- 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/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/18—Extraction of features or characteristics of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/192—Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
- G06V30/194—References adjustable by an adaptive method, e.g. learning
Definitions
- An embodiment of the present invention relates to an information processing apparatus, an information processing method, and a program.
- the problem to be solved by the present invention is to specify the range of input data corresponding to each label in the label column of the recognition result in the recognition process of the series label that does not explicitly delimit the boundary between the labels. It is to provide information processing devices, information processing methods, and programs that can be used.
- the information processing device of the embodiment has a feature amount acquisition unit, a range estimation unit, an association unit, an integration unit, and an output unit.
- the feature amount acquisition unit acquires the feature amount extracted from the data composed of a plurality of values.
- the range estimation unit estimates the range of the data in which an element to be given a predetermined label may exist from the acquired feature amount.
- the association unit associates the label with each of the labels having the plurality of labels with at least one of the plurality of feature quantities.
- the integration unit performs an integration process for integrating one or more data ranges estimated from each of the one or more feature quantities associated with the label into one data range.
- the output unit outputs the correspondence between the label and the range of the data to which the integration process has been performed.
- the schematic diagram which shows an example of the functional structure of the information processing system which concerns on 1st Embodiment.
- the block diagram which shows the schematic functional structure of the information processing apparatus which concerns on 1st Embodiment.
- the flowchart which shows the series of operations of the information processing apparatus which concerns on 1st Embodiment.
- the block diagram which shows the schematic functional structure of the information processing apparatus which concerns on 2nd Embodiment.
- the flowchart which shows the series of operations of the information processing apparatus which concerns on 2nd Embodiment.
- the schematic diagram which shows an example of the functional structure of the information processing system which concerns on 3rd Embodiment.
- the block diagram which shows the teaching system which concerns on 4th Embodiment.
- the flowchart which shows the series of operations of the information processing apparatus which concerns on 4th Embodiment.
- Schematic diagram of the sequence recognition problem by the prior art Schematic diagram of the series label recognition technology by the prior art.
- FIG. 11 is a schematic diagram of a series recognition problem according to the prior art.
- the input data DI is input to the neural network NN.
- the neural network NN calculates the probability distribution of the input data DI for each series of features.
- the probability distribution for each series of features calculated by the neural network NN is integrated by the series label recognition technique 90.
- the series label recognition technique 90 is, for example, a technique such as CTC.
- the series label recognition technique 90 integrates the probability distributions of the feature quantities for each series and calculates the probability distribution of the character string.
- the output data DO is output based on the calculated probability distribution of the character string.
- the output data DO is a character string as a result of character recognition of the input data DI.
- FIG. 12 is a schematic diagram of a series label recognition technique based on the prior art.
- the recognition model 85 calculates the probability distribution PC for each character while gradually moving the determination range for determination with respect to the input input data DI.
- the recognition model 85 is configured using, for example, a neural network NN.
- a neural network NN In this example, an example will be described in which the input data DI is “1958” and a character string image handwritten in the horizontal direction from left to right.
- FIG. 13 is a diagram illustrating a determination range of the series label recognition technique according to the prior art.
- the recognition model 85 moves the determination range 82 from the left to the right while the probability distribution PC for each character. Is calculated. That is, the probability distribution PC for each character is a probability distribution according to the determination range 82.
- the determination range 82 is a range having a width W in the character string direction of the input data DI.
- the determination range 82 has a size that allows each character of the character string written in the input data DI to be recognized.
- the recognition model 85 calculates the probability distribution PC for each character while keeping the width W of the determination range 82 constant and moving the determination range 82 from the left to the right by a predetermined distance.
- the recognition model 85 calculates the probability distribution PC in the range of the determination range 82 in FIG. 13 (A).
- the recognition model 85 calculates the probability distribution PC in the determination range 82, with the range 82 shifted to the right by a predetermined distance as the determination range 82. The above procedure is repeated until the range 82 reaches the right edge of the image.
- 13 (B), (C), and (D) show a state in which the range 82 is the range deviated from the position of (A) by the distances L1, L1 + L2, and L1 + L2 + L3, respectively.
- the distance to move the determination range 82 is set in advance in consideration of the width of the element to be recognized (the width of the character in this example).
- the probability distribution PCs calculated for each determination range 82 by the recognition model 85 are integrated by the CTC 80, and the probability distribution PS of the character string is calculated.
- the probability distribution PS of the character string is the probability distribution of the character string recognized without dividing the boundary between the labels of the input data DI.
- the boundaries between the labels are not separated, so that the range of the labels corresponding to the recognition result is unknown.
- the range of input data corresponding to each label is specified in the label column of the recognition result.
- the information processing apparatus is applied to a process for obtaining a recognition result of a sequence recognition problem using a sequence label recognition technique such as CTC as described above.
- a sequence label recognition technique such as CTC as described above.
- character string recognition is handled as an example of the label string recognition task.
- the character string recognition is a task of recognizing a character string in an image by inputting an image including the character string.
- a horizontally written character string read from left to right will be described.
- the present invention is not limited to the horizontally written character string read from left to right, and the same applies to the vertically written character string.
- the image including a character string broadly includes an image of handwritten characters, a photographed signboard, a road sign, and the like.
- FIG. 1 is a schematic diagram showing an example of the functional configuration of the information processing system 1 according to the first embodiment.
- the functional configuration of the information processing system 1 will be described with reference to the figure.
- the input data DI is input to the neural network NN1.
- the input data DI is an image of a character string
- the input data DI is "011" and a character string image handwritten in the horizontal direction from left to right.
- the neural network NN1 calculates a series of feature quantities F of the input character string.
- the neural network NN1 recognizes a series of feature quantities F from left to right by the width of the determination range.
- the neural network NN1 calculates the feature amount from the feature amount F1 to the feature amount F6.
- the neural network NN1 calculates a number of features F according to the row length of the input data DI.
- the neural network NN2 calculates the probability distribution P for each feature amount F calculated by the neural network NN1.
- the neural network NN1 since the neural network NN1 calculates the feature amount from the feature amount F1 to the feature amount F6, the neural network NN2 has a probability distribution P1 corresponding to the feature amount F1 to a probability distribution P6 corresponding to the feature amount F6. To calculate.
- the CTC80 integrates each of the calculated probability distributions, calculates the probability distribution P of the character string corresponding to the input data DI, and outputs the character string recognized from the calculated probability distribution P as the output data DO.
- the information processing device 10 acquires the feature amount F calculated by the neural network NN1.
- the information processing apparatus 10 estimates from the feature amount F acquired by the neural network NN3 the range in which an element to be given a predetermined label can exist.
- the information processing apparatus 10 associates each label of the output data DO recognized by the CTC 80 with each feature amount F.
- the information processing apparatus 10 integrates a range estimated from the plurality of feature quantities F associated with the one label. And output.
- the range of each label in the input data DI is specified.
- the range A1 specifies the range of "0”
- the range A2 specifies the range of "1”
- the range A3 specifies the range of "1".
- FIG. 2 is a block diagram showing a schematic functional configuration of the information processing apparatus 10 according to the first embodiment.
- the information processing apparatus 10 includes a feature amount acquisition unit 21, a range estimation unit 23, an association unit 25, an integration unit 27, and an output unit 29.
- Each of these functional units is realized by using, for example, an electronic circuit.
- each functional unit may be provided with a storage means such as a semiconductor memory or a magnetic hard disk device, if necessary.
- each function may be realized by a computer and software.
- the feature amount acquisition unit 21 acquires the feature amount F extracted from the input data DI.
- the feature amount F is extracted from the input data DI by a neural network.
- the feature amount F acquired by the feature amount acquisition unit 21 is a feature amount F according to the dimension of the input data DI. That is, the feature amount acquisition unit 21 acquires the feature amount F extracted from the data composed of a plurality of values and corresponds to the dimension of the input data DI.
- the range estimation unit 23 estimates the range of the input data DI in which the element to be given a predetermined label may exist from the acquired feature amount F.
- the range estimation unit 23 is, for example, a neural network trained to predict the range of data in which an element to be labeled may exist for the acquired feature amount F.
- the range estimation unit 23 determines where (K-1) classes excluding blanks, that is, characters, if each character exists in the range of the corresponding input image of each feature amount F, exists. Predict.
- (K-1) classes excluding blanks, that is, characters, if each character exists in the range of the corresponding input image of each feature amount F exists. Predict.
- a neural network learned to predict the distance from the D-dimensional feature vector to the left end and the distance to the right end of each character is used. Since the neural network converts a D-dimensional vector into a (K-1) ⁇ 2 dimensional vector, a value of T ⁇ (K-1) ⁇ 2 is finally obtained from the T feature vectors.
- the distance to the left end and the distance to the right end are used because the range of the axis (height direction in this embodiment) that is not in the character string direction is often not important when estimating the position of the character from the character string image. Is. Although the amount of calculation is large, it may be configured so that the height direction can also be predicted.
- the amount predicted by the neural network to estimate the range may be the vector to the center of the range and the width of the range, the vector to the center of the range, and the distance to the nearest boundary. ..
- the character range can be easily obtained.
- a network learned to predict the start time and end time for each label from the D-dimensional vector may be used.
- the association unit 25 associates each label with at least one of the plurality of feature quantities F among the label columns having the plurality of labels. Specifically, the mapping unit 25 estimates the likelihood of the class from the feature amount F, and associates the label of the label string with the feature amount F whose class likelihood satisfies a predetermined condition.
- the mapping unit 25 has a probability distribution including a predetermined label and a blank from a series of feature quantities F of length T extracted from the input data DI, and has probabilities of K classes. Estimate the K-class probability distribution, which is the distribution. Further, the mapping unit 25 is converted into a label string by using a label conversion means B that converts a redundant label string including a blank of length T into a label string containing no blank of length L smaller than T. Among the redundant label strings having a possible length T, the most probable label string having the highest probability of being generated from the probability distribution series, which is a series of probability distributions, is obtained. The association unit 25 associates each label of the label string with the feature amount F based on the maximum likelihood label string.
- the mapping unit 25 associates each character of the maximum likelihood character string with one or more feature vectors.
- the label string having the highest probability hereinafter referred to as the maximum likelihood path
- the label conversion means B a many-to-one conversion is used in which a label string having a length T including a blank label is deleted and a label continuous with the blank label is deleted to convert the label string into a label string having a length T or less. Due to the characteristics of conversion B, it is guaranteed that each character of the maximum likelihood character string corresponds to the sublabel string of the maximum likelihood path while maintaining the exclusive and order.
- Exclusive means that no character in the maximum likelihood string corresponds to the same label in the maximum likelihood path. For example, if the most probable character string is "011" and the most probable path is "0-11-1" (-is a blank label), the first character of the most probable character string is the first character of the most probable path, the most probable. The second character of the character string corresponds to the third and fourth characters of the most probable path, and the third character of the most probable character string corresponds to the sixth character of the most probable path. Since the maximum likelihood path has a one-to-one correspondence with T K-class probability distributions, it also has a one-to-one correspondence with T feature vectors.
- the integration unit 27 integrates the range of data estimated from each of the one or more feature quantities F associated with the label.
- the process performed by the integration unit 27 is also referred to as an integration process.
- the integration unit 27 integrates a plurality of data ranges estimated from each of the plurality of feature quantities F, and combines the data range after the integration process with the data range. do.
- the feature amount F of 1 is associated with the label of 1
- the integration unit 27 sets the range of the associated data of 1 as the range of the data after the integration process.
- the integration unit 27 integrates the range estimated from each of one or more associated feature quantities F for each label by a weighted average.
- weight of the weighted average may be calculated so that the weight becomes larger as each feature is closer to the area of the extracted data with respect to the partial boundary of the range.
- the integration unit 27 integrates the range predicted from the feature vector associated with each character of the maximum likelihood character string. When one feature vector is associated with one character, the integration unit 27 sets the range of the character class as the final character range in the range predicted for each class from the feature vector. do.
- the integration unit 27 integrates a plurality of predicted ranges for the character class, and the integrated range is the range of the character class. Is the final range of characters.
- the integration unit 27 may integrate a plurality of ranges by a method such as a weighted average considering the position of the corresponding input image of the feature amount F in addition to the average, the median, and the mode.
- FIG. 3 is a diagram showing processing when the label L according to the first embodiment is associated with a plurality of feature quantities F.
- the label column LS has a plurality of labels L.
- the label column LS has a label l1, a label l2, and a label l3.
- the label l1 is associated with the feature amount F1
- the label l2 is associated with the feature amount F3 and the feature amount F4
- the label l3 is associated with the feature amount F6. That is, a plurality of feature quantities F are associated with the label l2.
- the range A33 is the range specified by the feature amount F3.
- the range A34 is a range specified by the feature amount F4.
- FIG. 4 is a diagram for explaining weighting when the label L according to the first embodiment is associated with a plurality of feature quantities.
- FIG. 4A is a diagram showing weights for each feature amount F.
- the figure shows the weights of the left end, the right end, the upper end, and the lower end in each range for each feature amount F.
- the weight at the left end of the feature amount F3 is "1.0”
- the weight at the right end is "0.0”
- the weight at the upper end is “0.5”
- the weight at the lower end is “0.5”. Is "0.5”.
- the weight at the left end of the feature amount F4 is "0.0”
- the weight at the right end is "1.0”
- the weight at the upper end is “0.5”
- the weight at the lower end is "0.5".
- FIG. 4B is a diagram for explaining the range A33 and each side in the range A34.
- the left end of the range A33 will be referred to as the side A33L
- the right end will be referred to as the side A33R
- the upper end will be referred to as the side A33T
- the lower end will be referred to as the side A33B.
- the left end of the range A34 is described as the side A34L
- the right end is described as the side A34R
- the upper end is described as the side A34T
- the lower end is described as the side A34B.
- FIG. 4C is a diagram showing the range A30 when the integration unit 27 is integrated by the weighted average.
- the left end of the range A30 is described as the side A30L
- the right end is described as the side A30R
- the upper end is described as the side A30T
- the lower end is described as the side A30B.
- the weight at the left end is "1.0" for the feature amount F3 and "0.0" for the feature amount F4, so that the integrated unit 27 is the result of the feature amount F3 (that is,).
- the left end A33L of the range A34) is given priority, and the side A30L is used.
- the weight of the feature amount F3 is "0.0" and the weight of the feature amount F4 is "1.0". Therefore, the integrated unit 27 is the result of the feature amount F4 (that is, the range). Priority is given to the right end A34R) of A34, and the side A30R is used. Further, as for the weight at the upper end, the weight of the feature amount F3 is "0.5” and the weight of the feature amount F4 is "0.5", so that the integrated unit 27 has the feature amount F3 and the feature amount F4.
- the simple average that is, between the upper end A33T of the range A33 and the upper end A34T of the range A34 is defined as the side A30T.
- the weight of the feature amount F3 is "0.5” and the weight of the feature amount F4 is "0.5", so that the integrated unit 27 has the feature amount F3 and the feature amount F4.
- the simple average that is, the middle between the lower end A33B of the range A33 and the lower end A34B of the range A34
- the integration unit 27 integrates by weighted average, for example, at the left end of the character, a feature amount corresponding to the left of the input image (feature vector close to FIG. 3F1). ), And the range estimated from the feature amount corresponding to the right (feature amount close to FIG. 3F6) can be more strongly reflected at the right end.
- the output unit 29 outputs the correspondence between the label of the input data DI and the range of the label. Since the range of the label is integrated by the integration unit 27 as described above, it is associated with the label on a one-to-one basis.
- the output unit 29 outputs, for example, the correspondence between the label of the input data DI and the range of the label to a storage unit (not shown), a display unit (not shown), or the like.
- FIG. 5 is a flowchart showing a processing procedure of the information processing apparatus 10 according to the present embodiment. Hereinafter, the procedure will be described with reference to this flowchart.
- step S11 the feature amount acquisition unit 21 acquires the feature amount F extracted from the input data DI.
- step S15 the range estimation unit 23 estimates the range for each class for the feature amount F.
- step S16 the mapping unit 25 associates the maximum likelihood character string with the feature amount F.
- step S17 the integration unit 27 integrates the range associated with each character.
- step S18 the output unit 29 outputs the maximum likelihood character string and the range of each character.
- the information processing apparatus 10 includes the range estimation unit 23 and the association unit 25, so that the acquired feature amount F can have an element to which a predetermined label is to be attached.
- the range of is estimated, and the label is associated with at least one of the plurality of feature quantities F.
- the information processing apparatus 10 is provided with the integration unit 27 to integrate a plurality of ranges associated with one label. That is, according to the above-described embodiment, the information processing apparatus 10 can specify the range of input data corresponding to each label in the label string of the recognition result.
- the information processing apparatus 10 can specify the range of the input data DI corresponding to each label in the label string of the recognition result, so that the recognition result in the input data DI
- the range of the label column of can be presented to the user.
- the information processing apparatus 10 can interpret the recognition result by presenting the output result to the user through the GUI.
- the recognition result can be interpreted, so that the information processing apparatus 10 can easily find and correct the erroneous recognition. That is, according to the present embodiment, the information processing apparatus 10 can improve the explanatory property of the recognition result.
- the information processing apparatus 10 can facilitate the correction of misreading using the position information. Further, in the present embodiment, since the label string is recognized by the CTC method, the label string recognition with the same accuracy as the CTC method can be performed.
- the label sequence is certified by the CTC method, and the range is specified by a neural network different from the CTC. Therefore, according to the above-described embodiment, it is possible to specify the range of the input data corresponding to each label in the label string of the knowledge result without affecting the character recognition accuracy of the CTC method.
- the present embodiment may be configured to automatically correct the recognition result from the obtained range for each character so as to reduce the erroneous recognition.
- the range estimation unit 23 estimates the range for each character not only for the most probable character string but also for the N-position character string, and there is no candidate in which the overlap of the range for each character is excessively large or there is no character at the position where the character should be. This can be achieved by giving a penalty to the presumed candidate and then determining the final output string.
- the present embodiment can also be applied to beam search decoding widely used for decoding CTC.
- a penalty may be given to a beam in which characters overlap each other or a beam in which characters are not estimated at the position where the characters should be.
- FIG. 6 is a block diagram showing a schematic functional configuration of the information processing apparatus 10A according to the second embodiment.
- the information processing device 10A is different from the information processing device 10 in that the feature amount acquisition unit 21A is provided in place of the feature amount acquisition unit 21.
- the configuration described with reference to FIG. 2 may be designated by the same reference numerals, and the description thereof may be omitted.
- the feature amount acquisition unit 21A includes a feature extraction unit 211 and a recognition unit 212.
- the feature amount acquisition unit 21A includes the feature extraction unit 211 and the recognition unit 212 to extract the feature amount from the input data DI and recognize the label string.
- the feature extraction unit 211 extracts the feature amount F from the input data DI.
- the input data DI is data composed of one or more values. That is, the feature extraction unit 211 extracts a plurality of feature quantities F from the data composed of one or more values.
- the feature extraction unit 211 calculates a series of feature quantities F from the character string image. For example, an example of converting an input image into T D-dimensional feature vectors v1, v2, ..., VT by a convolutional neural network (CNN) will be described.
- a recurrent neural network (RNN) may be inserted in the middle or at the end of the CNN.
- the T feature vectors are calculated from different partial images of the input images by CNN, there is a spatial correspondence between the character string image and the T feature vectors. This correspondence depends on the structure of the CNN, and is determined, for example, a rectangle having a height of 128px and a width of 128px slid by 4px from the left. In this embodiment, it is assumed that the images correspond to the left end to the right end in the order of v1 to vT.
- the recognition unit 212 recognizes the label sequence from a plurality of feature quantities F.
- the maximum likelihood character string with the highest probability is calculated by decoding.
- CTC decoding is a decoding method generally used in label string recognition using CTC.
- a many-to-one conversion B is used, which converts a label string having a length T including a blank label into a label string having a length T or less by deleting a label continuous with the blank label.
- the probability of the label string LS having a length T or less not including a blank is the probability of generating a label string LS'(l1, l2, ..., LT) having a length T including a blank that can be converted into L by B (p1 (p1). It is obtained as the sum of l1) * p2 (l2) * ... * pT (lT)).
- the maximum likelihood label column with the highest probability is calculated according to the above rules.
- processing is performed to correct the scoring of recognition results by using language model information such as grammar rules and N-gram prepared in advance and word list collation.
- language model information such as grammar rules and N-gram prepared in advance and word list collation.
- the maximum likelihood character string may be determined in consideration of such linguistic information.
- the recognition unit 212 may perform decoding by the greedy method, which is an approximation method capable of high-speed processing, instead of CTC decoding.
- the maximum likelihood character string is a character string obtained by converting a label string in which the labels with the highest probabilities are arranged in the order of feature vectors from T K-class probability distributions using B.
- FIG. 7 is a flowchart showing a series of operations of the information processing apparatus 10A according to the second embodiment.
- the flowchart shown in FIG. 7 is different from the flowchart showing a series of operations of the information processing apparatus 10 described in FIG. 5 in that it has steps S12, 13 and S14 instead of step S11. The contents described in FIG. 5 will be omitted.
- step S12 the feature extraction unit 211 calculates a series of feature quantities F from the input data DI.
- step S13 the recognition unit 212 calculates the probability distribution for each feature amount.
- step S14 the recognition unit 212 calculates the maximum likelihood character string from the calculated probability distribution.
- the information processing apparatus 10A includes the feature extraction unit 211 to calculate a sequence of feature quantities F from the input data DI. That is, according to the present embodiment, the feature amount acquisition unit 21 can calculate the feature amount F from the input data DI instead of acquiring the feature amount F calculated by the neural network NN1.
- the information processing apparatus 10A recognizes the label sequence from the plurality of feature quantities F by including the recognition unit 212. That is, according to the present embodiment, the sequence label recognition can be performed by the sequence label recognition technique such as the neural network NN2 and CTC.
- FIG. 14 is a diagram for explaining a determination range of the series label recognition technique using the Attention method according to the prior art.
- the feature amount F is extracted from the input data DI.
- the feature amount F is extracted by, for example, a neural network (not shown).
- a neural network not shown
- an example in which the input data DI is an image will be described.
- the process of estimating the nth character of the input data DI is defined as the process Pn (n is a natural number).
- the EOS EndOfString
- the input data is input by the process from the process P1 to the process Pj. Estimate the character string corresponding to DI.
- the feature amount F is copied in the process P1.
- the copied feature amount F is multiplied by the Attention map (weight map) M1 to calculate the weighted sum.
- the calculated weighted sum is referred to as a feature vector V1.
- the Attention map M1 the position of the input data DI is shown on the horizontal axis, and the weight is shown on the vertical axis. Since the Attention map M1 corresponds to the range of characters at the left end of the input data DI, the weight at the left end is larger than that at the right end.
- the calculated feature vector V1 is input to the neural network NN2-2.
- the neural network NN2-2 predicts the label y0 of the first character. Specifically, the neural network NN2-2 estimates which character is most likely to be the first character. In this way, by repeating from step P1 to step Pj, in the series label recognition technique using the Attention method, all the character strings of the input data DI are predicted.
- the Attention map M may be created by a neural network NN2-1 (not shown).
- the neural network NN2-1 includes the character on the left side (for example, in the process P2, the character estimated in the process P1), the internal state of the neural network NN2-2 when the character is predicted, and the feature amount F. Creates an Attention map M by.
- the neural network NN2-2 is based on the character on the left side (for example, in the process P2, the character estimated in the process P1), the internal state of the neural network NN2-2 when the character is predicted, and the feature vector V. , Characters may be predicted.
- the neural network NN2-2 is a recurrent neural network. In this way, in the series label recognition technique using the Attention method, character prediction is repeated until EOS (EndOfString) is predicted.
- FIG. 8 is a schematic diagram showing an example of the functional configuration of the information processing system 1B according to the third embodiment.
- the functional configuration of the information processing system 1 will be described with reference to the figure.
- the input data DI is input to the neural network NN1.
- the input data DI is an image of a character string
- the input data DI is "011" and a character string image handwritten in the horizontal direction from left to right.
- the information processing apparatus 10B associates each label of the output data DO calculated by the Attention method with the feature amount F calculated by the neural network NN1.
- the information processing apparatus 10B has a range estimated from one or more feature quantities F associated with the labels. Is integrated and output.
- the range of each label in the input data DI is specified.
- the range A1 specifies the range of "0”
- the range A2 specifies the range of "1”
- the range A3 specifies the range of "1".
- the feature extraction unit 211 calculates T feature vectors v1, v2, ..., VT in the same manner as in the above-described embodiment.
- the recognition unit 212 inputs T feature vectors to the neural network 2-1 and weights the feature vectors useful for recognizing the first character.
- the weights are T values w1, w2, ..., WT having 0 or more and 1 or less and a total of 1. From the weighted average (w1 * v1 + ... + wT * vT) of T feature vectors using this weight, the first character is recognized using yet another neural network 2-2.
- the recognition result of the first character and the features obtained in the recognition process are also weighted with the feature vector useful for the recognition of the second character in addition to the input of the neural network 2-1.
- the second character is recognized using the neural network 2-2 from the weighted average of T feature vectors using this weight.
- the neural network 2-2 repeats until EOS indicating the end of the character string is output.
- the maximum likelihood character string is the one in which the first character to the EOS are arranged in order.
- the range estimation unit 23 predicts the range for each class for all the feature vectors, as in the above-described embodiment.
- the mapping unit 25 associates the maximum likelihood character string with T feature vectors. For the correspondence, the weight calculated for each character in the neural network 2-1 of the recognition unit 212 is used.
- the association unit 25 associates each character with a feature amount having a weight of a predetermined value or more (for example, 0.01). When integrating the ranges, the integration unit 27 may adopt a weighted sum using this weight.
- the range of input data corresponding to each label in the label column of the recognition result can be specified only by the weight information. That is, according to the prior art, only a vague range could be estimated.
- the information processing apparatus 10B can specify the range of the input data corresponding to each label in the label string of the recognition result in the Attention method instead of the CTC method.
- the range estimated by the neural network NN3 and each label of the output data DO can be associated with each other based on a predetermined threshold value by using the vague position specified by the Attention method. can.
- the range of the label can be specified by integrating the ranges as in the first embodiment.
- Range teaching is used, for example, to create datasets for machine learning.
- the character string whose range should be estimated is not the recognition result but is input by the user, which is different from the above-described embodiment.
- a fourth embodiment will be described with reference to FIGS. 9 and 10.
- FIG. 9 is a block diagram showing the teaching system 2 according to the fourth embodiment.
- the teaching system 2 includes an information processing device 10C instead of the above-mentioned information processing device 10. Further, the teaching system 2 includes a display device 41, an input device 43, and a storage device 45.
- the input device 43 acquires the information input from the user U and outputs it to the information processing device 10C.
- the input device 43 may be, for example, a character input device such as a keyboard or a pointing device such as a mouse.
- the display device 41 displays information output from the information processing device 10C.
- the display device 41 may be a display device such as a liquid crystal display, for example.
- the storage device 45 is a storage device controlled by the information processing device 10.
- the information processing apparatus 10 may be provided inside the information processing apparatus 10C or may be provided outside the information processing apparatus 10C.
- the information processing device 10C is a modified example of the information processing device 10.
- the information processing device 10C is different from the information processing device 10 in that it includes an operation receiving unit 31 and a storage control unit 33.
- the description of the same configuration as that of the information processing apparatus 10 may be omitted by adding the same reference numerals.
- the operation receiving unit 31 receives an operation from the user U via the input device 43.
- the user U determines whether or not the result output by the information processing apparatus 10C is correct.
- the user U inputs the determined result to the information processing device 10C via the input device 43. That is, the operation reception unit 31 acquires the result of the user U determining whether or not the result output by the output unit 29 is correct.
- the information acquired by the operation reception unit 31 may include correction information instructing correction of the range estimated by the range estimation unit 23.
- the storage control unit 33 stores the result acquired by the operation reception unit 31 in the storage device 45.
- the storage control unit 33 stores the result including the correction information acquired by the operation reception unit 31 in the storage device 45.
- FIG. 10 is a flowchart showing a series of operations of the information processing apparatus 10C according to the fourth embodiment. A series of operations of the information processing apparatus 10C according to the fourth embodiment will be described with reference to the figure.
- step S21 first, the user U inputs a character string corresponding to the character string image. That is, the feature amount acquisition unit 21 acquires the character string image and the corresponding character string from the user U via the input device 43.
- the feature amount acquisition unit 21 stores a plurality of character string images and corresponding character string pairs in a storage device (not shown), and acquires the character string images and the corresponding character strings from the storage device. It may be configured to do so.
- step S22 the information processing device 10C specifies the range of the input character string.
- the information processing apparatus 10C calculates a series of feature quantities for the input character string image in the same manner as in the above-described embodiment. Further, the information processing apparatus 10C estimates the range for each class from each feature amount as in the above-described embodiment.
- the mapping unit 25 associates each character of the input character string with the feature amount. For example, the mapping unit 25 obtains the most probable label string among the label strings having a length T that can be converted into an input character string by B from the probability distribution of the K class calculated from each feature amount, and performs the above-described implementation. Correspond in the same way as the form. As described in the third embodiment, the mapping unit 25 calculates the weight of the feature amount until the input character string and the end character string are output immediately after the input character string, and the mapping unit 25 may use the weight for the mapping. good.
- the mapping unit 25 may roughly associate each character of the input character string with the image area from the density and brightness of the input image, and associate the character with the feature amount from the correspondence relationship between the input image and the position of the feature amount. good.
- the rough correspondence between the input image and the characters is, for example, estimating the blank area where the character does not exist from the luminance histogram in the character string direction, excluding them, and then dividing the area evenly by the number of characters to make the character. May be associated with.
- the correspondence between the image area and the feature amount may be configured to select a feature amount having a certain overlap ratio between the target image area and the image area corresponding to the feature amount.
- the integration unit 27 integrates the range associated with each character as in the above-described embodiment.
- the output unit 29 causes the display device 41 to display the estimated range of each character. For example, the range of each character is drawn as a rectangle so as to be superimposed on the image, and the character corresponding to each rectangle is displayed.
- step S23 the user U confirms whether or not the range for each character displayed on the display device 41 is correct.
- the user U inputs to the effect of confirmation if the estimated range is correct via the input device 43. If the estimated range is incorrect, the user U modifies the range so that it is correct via the input device 43.
- Scope teaching provides an interface for modification. As an interface for modification, for example, a method of dragging and dropping the vertices and sides of a rectangle with a mouse pointer may be used. After the correction is completed, the user inputs the confirmation and ends the operation.
- step S25 if the range of each character is correct, the information processing apparatus 10C advances the process to step S27. If the range of each character is incorrect, the information processing apparatus 10C advances the process to step S29.
- the storage control unit 33 causes the storage device 45 to store the range of each character. Specifically, the storage control unit 33 stores the determined character range in the storage device 45 in association with the character string image and the character string.
- step S29 the storage control unit 33 causes the storage device 45 to store the corrected range of each character.
- the input character string does not necessarily have to be the correct character string for the character string image.
- an interface may be added to check and correct the correctness of the character string when checking the range.
- the range teaching load by the user U can be reduced by estimating the range again according to the correction of the character string of the user.
- the information processing apparatus 10C includes the operation reception unit 31 and the storage control unit 33, so that information on whether or not the range of each character is correct is acquired from the user U and stored. Store in device 45.
- the information processing device 10C can save labor in teaching the range by a human by storing information on whether or not the range of each character is correct in the storage device 45.
- the function of the information processing device in the above-described embodiment may be realized by a computer.
- a program for realizing this function may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read by a computer system and executed.
- the term "computer system” as used herein includes hardware such as an OS and peripheral devices.
- the "computer-readable recording medium” is a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, a DVD-ROM, or a USB memory, or a storage device such as a hard disk built in a computer system. That means.
- a "computer-readable recording medium” is a communication line for transmitting a program via a network such as the Internet or a communication line such as a telephone line, and dynamically holds the program for a short period of time. It may also include a program that holds a program for a certain period of time, such as a volatile memory inside a computer system that is a server or a client in that case. Further, the above-mentioned program may be for realizing a part of the above-mentioned functions, and may be further realized for realizing the above-mentioned functions in combination with a program already recorded in the computer system.
- the boundary between the labels is not explicitly separated.
- the series label recognition process it is possible to specify the range of input data corresponding to each label in the label column of the recognition result.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
Abstract
実施形態の情報処理装置は、特徴量取得部と、範囲推定部と、対応付け部と、統合部と出力部とを備える。特徴量取得部は、複数の値で構成されるデータから抽出される特徴量を取得する。範囲推定部は、取得した特徴量から所定のラベルが付与されるべき要素が存在しうるデータの範囲を推定する。対応付け部はぞれぞれのラベルを複数の特徴量のうち少なくとも1つと対応付ける。統合部はラベルに対応付けられた1以上の特徴量それぞれから推定された1以上のデータの範囲を、1の前記データの範囲に統合する統合処理を行う。出力部はラベルと、統合処理が行われたデータの範囲との対応関係を出力する。
Description
本発明の実施形態は、情報処理装置、情報処理方法、およびプログラムに関する。
音声認識や文字列認識といった系列ラベルの認識において、ディープニューラルネットワーク(DNN)とConnectionist Temporal Classification(CTC)等の系列ラベル認識技術とを組み合わせ、明示的にラベル間の境界を区切ることなく認識することで認識精度を向上させられることが知られている。一方、CTC等の系列ラベル認識技術を用いた系列ラベル認識では、認識結果のラベル列のうち、ラベル間の境界を区切らないため、認識結果に対応するラベルの範囲が不明である。CTC等の系列ラベル認識技術を用いた系列ラベル認識において、それぞれの認識結果に対応するラベルの範囲を知りたいという要求があった。従来、文字列画像から文字ごとの領域を推定する手法は存在するものの、CTC等の系列ラベル認識技術とは全く異なる手法であり、CTC等の系列ラベル認識技術の高精度な認識技術と整合性を取ることはできなかった。
本発明が解決しようとする課題は、明示的にラベル間の境界を区切らない系列ラベルの認識処理において、認識結果のラベル列のうち、それぞれのラベルに対応する入力データの範囲を特定することができる情報処理装置、情報処理方法、およびプログラムを提供することである。
実施形態の情報処理装置は、特徴量取得部と、範囲推定部と、対応付け部と、統合部と、出力部とを持つ。特徴量取得部は、複数の値で構成されるデータから抽出される特徴量を取得する。範囲推定部は、取得した前記特徴量から、所定のラベルが付与されるべき要素が存在しうる前記データの範囲を推定する。対応付け部は、複数の前記ラベルを有するラベル列のうち、ぞれぞれの前記ラベルを複数の前記特徴量のうち少なくとも1つと対応付ける。統合部は、前記ラベルに対応付けられた1以上の前記特徴量それぞれから推定された1以上の前記データの範囲を、1の前記データの範囲に統合する統合処理を行う。出力部は、前記ラベルと、前記統合処理が行われた前記データの範囲との対応関係を出力する。
以下、実施形態の情報処理装置、情報処理方法、およびプログラムを、図面を参照して説明する。
[従来技術]
図11から図13を参照しながら、従来技術による系列ラベル認識技術について説明する。図11は、従来技術による系列認識問題の概略図である。まず、入力データDIがニューラルネットワークNNに入力される。この一例においては、入力データDIが画像である場合の一例について説明する。ニューラルネットワークNNは、入力された入力データDIの、特徴量の系列ごとの確率分布を算出する。ニューラルネットワークNNにより算出された、特徴量の系列ごとの確率分布は、系列ラベル認識技術90により統合される。系列ラベル認識技術90とは、例えば、CTC等の手法である。系列ラベル認識技術90は、特徴量の系列ごとの確率分布を統合し、文字列の確率分布を算出する。算出された文字列の確率分布に基づき、出力データDOが出力される。入力データDIが画像である場合の一例においては、出力データDOは、入力データDIが文字認識された結果の文字列である。
図11から図13を参照しながら、従来技術による系列ラベル認識技術について説明する。図11は、従来技術による系列認識問題の概略図である。まず、入力データDIがニューラルネットワークNNに入力される。この一例においては、入力データDIが画像である場合の一例について説明する。ニューラルネットワークNNは、入力された入力データDIの、特徴量の系列ごとの確率分布を算出する。ニューラルネットワークNNにより算出された、特徴量の系列ごとの確率分布は、系列ラベル認識技術90により統合される。系列ラベル認識技術90とは、例えば、CTC等の手法である。系列ラベル認識技術90は、特徴量の系列ごとの確率分布を統合し、文字列の確率分布を算出する。算出された文字列の確率分布に基づき、出力データDOが出力される。入力データDIが画像である場合の一例においては、出力データDOは、入力データDIが文字認識された結果の文字列である。
図12は、従来技術による系列ラベル認識技術の概略図である。認識モデル85は、入力された入力データDIに対して、判定する判定範囲を少しずつ移動させながら、文字ごとの確率分布PCを算出する。認識モデル85は、例えば、ニューラルネットワークNNを用いて構成される。この一例において、入力データDIが、“1958”と左から右に横方向に手書きされた文字列画像である場合の一例について説明する。
図13は、従来技術による系列ラベル認識技術の判定範囲を説明する図である。この一例において、入力データDIは左から右に横方向に手書きされた文字列画像であるため、認識モデル85は、左方向から右方向に判定範囲82を移動させながら、文字ごとの確率分布PCを算出する。すなわち、文字ごとの確率分布PCとは、判定範囲82に応じた確率分布である。
判定範囲82は、入力データDIの文字列方向に幅Wを有する範囲である。判定範囲82は、入力データDIに書かれた文字列の各文字を認識可能な大きさを有する。認識モデル85は、判定範囲82の幅Wを一定に保ち、左方向から右方向に判定範囲82を所定の距離ずつ移動させながら、文字ごとの確率分布PCを算出する。
まず、認識モデル85は、図13(A)において、判定範囲82の範囲における確率分布PCを算出する。次に、認識モデル85は範囲82を右に所定の距離だけずらした範囲を判定範囲82として、判定範囲82における確率分布PCを算出する。以上の手順を範囲82が画像の右端に到達するまで繰り返す。図13(B)(C)(D)はそれぞれ(A)の位置から距離L1、L1+L2、L1+L2+L3ずらした範囲を範囲82とした状態を示している。
判定範囲82を移動させる距離は認識対象となる要素の幅(この一例に置いては文字の幅)などを考慮してあらかじめ設定される。
図12に戻り、認識モデル85により、判定範囲82ごとに算出された確率分布PCは、CTC80により統合され、文字列の確率分布PSが算出される。文字列の確率分布PSとは、入力データDIのラベル間の境界を区切ることなく認識される文字列の確率分布である。ここで、確率分布PSにより認識される文字列は、ラベル間の境界が区切られていないため、認識結果に対応するラベルの範囲が不明である。本実施形態においては、認識結果のラベル列のうち、それぞれのラベルに対応する入力データの範囲を特定する。
[第1の実施形態]
本実施形態に係る情報処理装置は、上述したようなCTC等の系列ラベル認識技術を用いた系列認識問題の認識結果を求める処理に適用される。第1の実施形態においては、系列ラベル認識技術の一例としてCTCを用いた場合の一例について説明する。
本実施形態に係る情報処理装置は、上述したようなCTC等の系列ラベル認識技術を用いた系列認識問題の認識結果を求める処理に適用される。第1の実施形態においては、系列ラベル認識技術の一例としてCTCを用いた場合の一例について説明する。
本実施形態に係る情報処理装置が適用される系列認識問題の具体例としては、文字列認識、音声認識、動画認識等の認識処理を広く含む。本実施形態ではラベル列認識タスクの一例として文字列認識を扱う。文字列認識とは、文字列を含む画像を入力として、画像中の文字列を認識するタスクである。本実施形態では左から右に読まれる横書きの文字列について説明する。なお、本実施形態においては、左から右に読まれる横書きの文字列に限定されず、縦書きの文字列についても同様である。なお、文字列を含む画像とは、手書きされた文字の画像や、写真撮影された看板、道路標識等を広く含む。
図1は、第1の実施形態に係る情報処理システム1の機能構成の一例を示す概略図である。同図を参照しながら、情報処理システム1の機能構成について説明する。まず、入力データDIがニューラルネットワークNN1に入力される。この一例において、入力データDIが文字列の画像である場合の一例について説明する。具体的には、入力データDIが、“011”と左から右に横方向に手書きされた文字列画像である場合の一例について説明する。
ニューラルネットワークNN1は、入力された文字列の特徴量Fの系列を算出する。入力データDIが左から右に横方向に手書きされた文字列画像である場合、ニューラルネットワークNN1は、左方向から右方向に特徴量Fの系列を、判定範囲の幅分だけ認識していく。この一例において、ニューラルネットワークNN1は、特徴量F1から特徴量F6までの特徴量を算出する。ここで、ニューラルネットワークNN1は、入力データDIの行の長さに応じた数の特徴量Fを算出する。
ニューラルネットワークNN2は、ニューラルネットワークNN1により算出された特徴量Fごとに確率分布Pを算出する。この一例において、ニューラルネットワークNN1は、特徴量F1から特徴量F6までの特徴量を算出するため、ニューラルネットワークNN2は、特徴量F1に対応する確率分布P1から、特徴量F6に対応する確率分布P6までを算出する。
CTC80は、算出されたそれぞれの確率分布を統合し、入力データDIに対応する文字列の確率分布Pを算出し、算出された確率分布Pから認識される文字列を出力データDOとして出力する。
情報処理装置10は、ニューラルネットワークNN1により算出された特徴量Fを取得する。情報処理装置10は、ニューラルネットワークNN3により、取得した特徴量Fから、所定のラベルが付与されるべき要素が存在しうる範囲を推定する。
情報処理装置10は、CTC80により認識された出力データDOのそれぞれのラベルと、それぞれの特徴量Fとを対応付ける。情報処理装置10は、出力データDOのラベル列のうち一のラベルが複数の特徴量Fに対応づけられる場合、当該一のラベルに対応付けられた複数の特徴量Fから推定された範囲を統合し、出力する。情報処理装置10により出力された出力結果は、入力データDIのうち、それぞれのラベルの範囲が特定されている。同図に示す一例では、範囲A1は“0”の範囲を特定し、範囲A2は“1”の範囲を特定し、範囲A3は“1”の範囲を特定する。
図2は、第1の実施形態による情報処理装置10の概略機能構成を示すブロック図である。図示するように、情報処理装置10は、特徴量取得部21と、範囲推定部23と、対応付け部25と、統合部27と、出力部29とを備える。これらの各機能部は、例えば、電子回路を用いて実現される。また、各機能部は、必要に応じて、半導体メモリーや磁気ハードディスク装置などといった記憶手段を内部に備えてよい。また、各機能を、コンピューターおよびソフトウェアによって実現するようにしてもよい。
特徴量取得部21は、入力データDIから抽出される特徴量Fを取得する。例えば、特徴量Fは、入力データDIからニューラルネットワークにより抽出される。特徴量取得部21が取得する特徴量Fは、入力データDIの次元に応じた特徴量Fである。すなわち、特徴量取得部21は、複数の値で構成されるデータから抽出される特徴量Fであって、入力データDIの次元に応じた特徴量Fを取得する。
範囲推定部23は、取得した特徴量Fから、所定のラベルが付与されるべき要素が存在しうる入力データDIの範囲を推定する。範囲推定部23は、例えば、取得した特徴量Fについてラベルが付与されるべき要素が存在しうるデータの範囲を予測するように学習されたニューラルネットワークである。
具体的には、範囲推定部23はブランクを除く(K-1)個のクラス、すなわち文字について、それぞれの文字が各特徴量Fの対応する入力画像の範囲に存在するとしたらどこに存在するかを予測する。本実施形態では、D次元特徴ベクトルから文字ごとの左端までの距離と右端までの距離を予測するように学習されたニューラルネットワークを用いる。ニューラルネットワークはD次元のベクトルを(K-1)×2次元のベクトルに変換するため、最終的にT個の特徴ベクトルからはT×(K-1)×2の値が得られる。左端までの距離と右端までの距離としたのは、文字列画像から文字の位置を推定する場合は、文字列方向でない軸(本実施形態では高さ方向)の範囲は重要でないことが多いためである。計算量は大きくなるが、高さ方向も予測できるよう構成してもよい。
なお、本実施形態においては、範囲を推定するためにニューラルネットワークに予測させる量は、範囲中央までのベクトルと範囲の幅又は範囲中央までのベクトルと最も近い境界までの距離等であってもよい。このような推定量を用いることにより、容易に文字範囲を求めることができる。また、音声認識や動画認識の場合は、D次元ベクトルからラベルごとの開始時刻と終了時刻を予測するように学習されたネットワークを用いてもよい。
対応付け部25は、複数のラベルを有するラベル列のうち、ぞれぞれのラベルを複数の特徴量Fのうち少なくとも1つと対応付ける。具体的には、対応付け部25は、特徴量Fからクラスの尤度を推定し、ラベル列が有するラベルをクラスの尤度が所定の条件を満たす特徴量Fと対応づける。
より具体的には、対応付け部25は、入力データDIから抽出された長さTの特徴量Fの系列から、所定のラベルとブランクとを含む確率分布であって、K個のクラスの確率分布であるKクラス確率分布を推定する。また、対応付け部25は、長さTのブランクを含む冗長なラベル列をTよりも小さい長さLのブランクを含まないラベル列に変換するラベル変換手段Bを用いて、ラベル列に変換されうる長さTの冗長なラベル列のうち、確率分布の系列である確率分布系列からの生成確率が最も高い最尤ラベル列を求める。対応付け部25は、最尤ラベル列をもとに、ラベル列が有するそれぞれのラベルと特徴量Fとを対応付ける。
より具体的には、対応付け部25は最尤文字列の各文字を一つ以上の特徴ベクトルに対応付ける。本実施形態においては、ラベル変換手段Bによって最尤文字列に変換されうる長さTのラベル列のうち、最も確率の高いラベル列(以下最尤パスと呼ぶ)によって対応付ける。本実施形態においては、ラベル変換手段Bとしてブランクラベルを含む長さTのラベル列からブランクラベルと連続するラベルを削除することで長さT以下のラベル列に変換する多対1変換を用いる。変換Bの特性上、最尤文字列の各文字は排他的かつ順序を保ったまま最尤パスの部分ラベル列に対応することが保証されている。排他的とは最尤文字列のどの文字も最尤パスの同じラベルに対応しないということである。例えば最尤文字列が「011」、最尤パスが「0-11-1」(-はブランクラベル)だった場合、最尤文字列の1文字目は最尤パスの1文字目、最尤文字列の2文字目は最尤パスの3文字目と4文字目、最尤文字列の3文字目は最尤パスの6文字目に対応する。最尤パスはT個のKクラス確率分布に1対1で対応するため、T個の特徴ベクトルとも1対1で対応する。
統合部27は、ラベルに対応付けられた1以上の特徴量Fそれぞれから推定されたデータの範囲を統合する。統合部27が行う処理を、統合処理とも記載する。統合部27は、1のラベルに複数の特徴量Fが対応付けられている場合に、複数の特徴量Fそれぞれから推定された複数のデータの範囲を統合し、統合処理後のデータの範囲とする。また、統合部27は、1のラベルに1の特徴量Fが対応づけられている場合、当該対応づけられている1のデータの範囲を統合処理後のデータの範囲とする。統合部27は、それぞれのラベルについて、対応付けられた一以上の特徴量Fそれぞれから推定された範囲を加重平均で統合する。
なお、加重平均の重みは、範囲の部分境界に対してそれぞれの特徴量が抽出されたデータの領域に近いほど重みを大きくするように計算されてもよい。
統合部27は、最尤文字列の文字ごとに対応付けられた特徴ベクトルから予測された範囲を統合する。統合部27は、1文字に対して1つの特徴ベクトルが対応付けられている場合、その特徴ベクトルからクラスごとに予測された範囲のうち、その文字のクラスの範囲が最終的な文字の範囲とする。
統合部27は、1文字に対して複数の特徴ベクトルが対応付けられている場合、その文字クラスに対して予測された複数の範囲を統合し、統合された範囲を、その文字のクラスの範囲が最終的な文字の範囲とする。統合部27は、平均、中央値、最頻値のほか、特徴量Fの対応する入力画像の位置を考慮した重み付き平均などの手法により、複数の範囲の統合をしてもよい。
ここで、1文字に対して複数の特徴ベクトルが対応付けられている場合、統合部27が重み付き平均により統合する場合の一例について、図3及び図4を参照しながら説明する。図3は、第1の実施形態に係るラベルLが複数の特徴量Fに対応づけられた場合の処理を示す図である。同図に示すように、ラベル列LSは、複数のラベルLを有する。具体的には、ラベル列LSは、ラベルl1と、ラベルl2と、ラベルl3とを有する。この一例において、ラベルl1は特徴量F1に対応づけられ、ラベルl2は特徴量F3と特徴量F4とに対応づけられ、ラベルl3は特徴量F6に対応づけられる。すなわち、ラベルl2には、複数の特徴量Fが対応づけられている。
入力データDIのうち、範囲A33は、特徴量F3により特定される範囲である。範囲A34は、特徴量F4により特定される範囲である。このような場合において、統合部27が、入力画像の位置を考慮した重み付き平均により統合する場合の一例について、図4を参照しながら説明する。図4は、第1の実施形態に係るラベルLが複数の特徴量に対応づけられた場合の重みづけを説明するための図である。
図4(A)は、特徴量Fごとの重みを示した図である。同図には、特徴量Fごとの、各範囲における左端、右端、上端、下端の重みが示される。同図に示すように、特徴量F3の左端の重みは“1.0”であり、右端の重みは“0.0”であり、上端の重みは“0.5”であり、下端の重みは“0.5”である。また、特徴量F4の左端の重みは“0.0”であり、右端の重みは“1.0”であり、上端の重みは“0.5”であり、下端の重みは“0.5”である。
図4(B)は、範囲A33と、範囲A34における各辺について説明するための図である。以降の説明において、範囲A33の左端を辺A33Lと、右端を辺A33Rと、上端を辺A33Tと、下端を辺A33Bと記載する。また、範囲A34の左端を辺A34Lと、右端を辺A34Rと、上端を辺A34Tと、下端を辺A34Bと記載する。
図4(C)は、統合部27が重み付き平均により統合した場合の範囲A30を示す図である。範囲A30の左端を辺A30Lと、右端を辺A30Rと、上端を辺A30Tと、下端を辺A30Bと記載する。この一例において、左端の重みは、特徴量F3の重みが“1.0”であり、特徴量F4の重みが“0.0”であるため、統合部27は、特徴量F3の結果(すなわち、範囲A34の左端A33L)を優先し、辺A30Lとする。また、右端の重みは、特徴量F3の重みが“0.0”であり、特徴量F4の重みが“1.0”であるため、統合部27は、特徴量F4の結果(すなわち、範囲A34の右端A34R)を優先し、辺A30Rとする。また、上端の重みは、特徴量F3の重みが“0.5”であり、特徴量F4の重みが“0.5”であるため、統合部27は、特徴量F3と特徴量F4との単純平均(すなわち、範囲A33の上端A33Tと範囲A34の上端A34Tの中間)を辺A30Tとする。また、下端の重みは、特徴量F3の重みが“0.5”であり、特徴量F4の重みが“0.5”であるため、統合部27は、特徴量F3と特徴量F4との単純平均(すなわち、範囲A33の下端A33Bと範囲A34の下端A34Bの中間)を辺A30Bとする。
図3及び図4を参照しながら説明したように、統合部27は、重み付き平均により統合することにより、例えば文字の左端には入力画像の左に対応する特徴量(図3F1に近い特徴ベクトル)から推定された範囲を、右端には右に対応する特徴量(図3F6に近い特徴量)から推定された範囲をより強く反映することができる。
図2に戻り、出力部29は、入力データDIのラベルと、当該ラベルの範囲との対応関係を出力する。当該ラベルの範囲は、上述したように統合部27により統合されているため、当該ラベルと1対1で対応づけられる。出力部29は、例えば、入力データDIのラベルと、当該ラベルの範囲との対応関係を、不図示の記憶部や、不図示の表示部等に出力する。
図5は、本実施形態による情報処理装置10の処理の手順を示すフローチャートである。以下、このフローチャートに沿ってその手順を説明する。
ステップS11において、特徴量取得部21は、入力データDIから抽出される特徴量Fを取得する。ステップS15において、範囲推定部23は、特徴量Fについてクラスごとの範囲を推定する。ステップS16において、対応付け部25は、最尤文字列と特徴量Fとの対応付けを行う。ステップS17において、統合部27は、各文字に対応付けられた範囲を統合する。ステップS18において、出力部29は、最尤文字列と各文字の範囲とを出力する。
[第1の実施形態のまとめ]
上述した実施形態によれば、情報処理装置10は、範囲推定部23と対応付け部25とを備えることにより、取得した特徴量Fから、所定のラベルが付与されるべき要素が存在しうるデータの範囲を推定し、ラベルを複数の特徴量Fのうち少なくとも1つと対応づける。また、情報処理装置10は、統合部27を備えることにより、一のラベルに対応づけられた、複数の範囲を統合する。すなわち、上述した実施形態によれば、情報処理装置10は、認識結果のラベル列のうち、それぞれのラベルに対応する入力データの範囲を特定することができる。
上述した実施形態によれば、情報処理装置10は、範囲推定部23と対応付け部25とを備えることにより、取得した特徴量Fから、所定のラベルが付与されるべき要素が存在しうるデータの範囲を推定し、ラベルを複数の特徴量Fのうち少なくとも1つと対応づける。また、情報処理装置10は、統合部27を備えることにより、一のラベルに対応づけられた、複数の範囲を統合する。すなわち、上述した実施形態によれば、情報処理装置10は、認識結果のラベル列のうち、それぞれのラベルに対応する入力データの範囲を特定することができる。
また、上述した実施形態によれば、情報処理装置10は、認識結果のラベル列のうち、それぞれのラベルに対応する入力データDIの範囲を特定することができるため、入力データDIにおける、認識結果のラベル列の範囲をユーザに提示することができる。例えば、情報処理装置10は、GUIを通して出力結果をユーザに提示することで、認識結果の解釈を可能にすることができる。また、上述した実施形態によれば、認識結果の解釈を可能にすることができるため、情報処理装置10は、誤認識の発見や訂正を容易にすることができる。すなわち、本実施形態によれば、情報処理装置10は、認識結果の説明性を向上させることができる。また、本実施によれば、認識結果の説明性を向上させることができるため、情報処理装置10は、位置情報を利用した誤読訂正を容易にすることができる。また、本実施形態は、CTC方式によりラベル列を認定するため、CTC方式と同様の精度のラベル列認識をすることができる。
また、上述した実施形態によれば、CTC方式によりラベル列を認定に、CTCとは別のニューラルネットワークにより範囲を特定する。したがって、上述した実施形態によれば、CTC方式の文字認識精度に影響を与えることなく、識結果のラベル列のうち、それぞれのラベルに対応する入力データの範囲を特定することができる。
また、本実施形態の変形例として、得られた文字ごとの範囲から、自動的に誤認識を削減するように認識結果を修正するよう構成してもよい。例えば、範囲推定部23は、最尤文字列だけでなくN位文字列について文字ごとの範囲を推定し、文字ごとの範囲の重なりが過度に大きい候補や、文字があるべき位置に文字がないと推定されている候補にペナルティを与えたうえで、最終的な出力文字列を決定することで実現できる。その他、本実施形態を、CTCのデコードに広く用いられるビームサーチデコードに適用することもできる。この場合、各ループでビーム候補をスコア付けする際、文字同士の重なりが大きいビームや、文字のあるべき位置に文字が推定されていないビームにペナルティを与えればよい。以上のように範囲情報も考慮して認識結果を自動修正することで、認識精度の高い文字認識システムを実現することができる。
[第2の実施形態]
図6及び図7を参照しながら、第2の実施形態に係る情報処理装置10Aの一例について説明する。図6は、第2の実施形態に係る情報処理装置10Aの概略機能構成を示すブロック図である。情報処理装置10Aは、特徴量取得部21に代えて特徴量取得部21Aを備える点において、情報処理装置10とは異なる。図2において説明した構成については、同様の符号を付すことにより、説明を省略する場合がある。
図6及び図7を参照しながら、第2の実施形態に係る情報処理装置10Aの一例について説明する。図6は、第2の実施形態に係る情報処理装置10Aの概略機能構成を示すブロック図である。情報処理装置10Aは、特徴量取得部21に代えて特徴量取得部21Aを備える点において、情報処理装置10とは異なる。図2において説明した構成については、同様の符号を付すことにより、説明を省略する場合がある。
特徴量取得部21Aは、特徴抽出部211と、認識部212とを備える。本実施形態において、特徴量取得部21Aは、特徴抽出部211と、認識部212とを備えることにより、入力データDIから特徴量を抽出し、ラベル列を認識する。
特徴抽出部211は、入力データDIから特徴量Fを抽出する。入力データDIとは、一以上の値で構成されるデータである。すなわち、特徴抽出部211は、一以上の値で構成されるデータから複数の特徴量Fを抽出する。
入力データDIが画像データである場合、特徴抽出部211は、文字列画像から特徴量Fの系列を算出する。例えば、畳み込みニューラルネットワーク(CNN)によって、入力画像をT個のD次元特徴ベクトルv1、v2、…、vTに変換する場合の一例について説明する。なお、CNNの途中又は最後にリカレントニューラルネットワーク(RNN)を挿入してもよい。
ここで、T個の特徴ベクトルはCNNによってそれぞれ入力画像の異なる部分画像から計算されていることから、文字列画像とT個の特徴ベクトルには空間的な対応関係が生じる。この対応関係はCNNの構造に依存するもので、例えば、高さ128px幅128pxの矩形を左から4pxずつスライドさせたもの、のように決まる。本実施例ではv1からvTの順に画像の左端から右端に対応するものとする。
認識部212は、複数の特徴量Fからラベル列を認識する。認識部212は、各特徴量vnからK個のクラスの確率分布pn(n=1、2、…、T)を算出し、それらT個のKクラス確率分布p1、p2、…、pTをCTCデコードすることで最も確率の高い最尤文字列を算出する。K個のクラスとは、本来認識対象となるクラスにブランクを表すブランククラスを加えたものである。例えば、0~9までの数字が出現する数字列を認識するタスクでは、本来認識対象である0~9までの10クラスにブランククラスを加え、K=11となる。
CTCデコードとはCTCを用いたラベル列認識で一般に用いられるデコード方法である。CTCデコードには、ブランクラベルを含む長さTのラベル列からブランクラベルと連続するラベルを削除することで長さT以下のラベル列に変換する多対1変換Bを用いる。ブランクを含まない長さT以下のラベル列LSの尤度は、BによってLに変換されうるブランクを含む長さTのラベル列LS’(l1,l2,…,lT)の生成確率(p1(l1)*p2(l2)*…*pT(lT))の総和として求められる。以上の規則に従って最も確率の高い最尤ラベル列を算出する。
一般に、文字列認識や音声認識では、あらかじめ用意した文法ルールやN-gramなどの言語モデル情報や単語リスト照合を用いて認識結果のスコア付けを補正する処理が行われる。本実施形態においても、そのような言語情報を考慮して最尤文字列を決定してもよい。
なお、認識部212は、CTCデコードではなく高速処理可能な近似手法である貪欲法によるデコードを行ってもよい。この場合、最尤文字列はT個のKクラス確率分布から最も確率の高いラベルを特徴ベクトルの順に並べたラベル列をBを用いて変換した文字列となる。
図7は、第2の実施形態に係る情報処理装置10Aの一連の動作を示すフローチャートである。以下、このフローチャートに沿ってその手順を説明する。図7に示すフローチャートは、ステップS11に代えて、ステップS12、ステップ13及びステップS14を有する点において、図5において説明した情報処理装置10の一連の動作を示すフローチャートとは異なる。図5において説明した内容については、その説明を省略する。
ステップS12において、特徴抽出部211は、入力データDIから特徴量Fの系列を算出する。ステップS13において、認識部212は、特徴量ごとに確率分布を算出する。ステップS14において、認識部212は、算出した確率分布から、最尤文字列を算出する。
[第2の実施形態のまとめ]
上述した実施形態によれば、情報処理装置10Aは、特徴抽出部211を備えることにより、入力データDIから特徴量Fの系列を算出する。すなわち、本実施形態によれば、特徴量取得部21は、ニューラルネットワークNN1により算出された特徴量Fを取得することに代えて、入力データDIから特徴量Fを算出することができる。
上述した実施形態によれば、情報処理装置10Aは、特徴抽出部211を備えることにより、入力データDIから特徴量Fの系列を算出する。すなわち、本実施形態によれば、特徴量取得部21は、ニューラルネットワークNN1により算出された特徴量Fを取得することに代えて、入力データDIから特徴量Fを算出することができる。
また、上述した実施形態によれば、情報処理装置10Aは、認識部212を備えることにより、複数の特徴量Fからラベル列を認識する。すなわち、本実施形態によれば、ニューラルネットワークNN2及びCTC等の系列ラベル認識技術による系列ラベル認識を行うことができる。
[第3の実施形態]
上述した実施形態においては、系列ラベル認識技術の一例として、CTC方式を用いた場合の一例について説明した。本実施形態においては、CTC方式に代えて、Attention方式を用いて系列ラベル認識技術を行う場合の一例について説明する。例えば、CTC方式とAttention方式とでは、用途により文字認識精度の優劣が異なる事が知られている。例えば。スキャンされた手書きの文字列を認識する場合は、CTC方式が有利とされ、カメラにより撮像された文字列を認識する場合は、Attention方式が有利とされている。
上述した実施形態においては、系列ラベル認識技術の一例として、CTC方式を用いた場合の一例について説明した。本実施形態においては、CTC方式に代えて、Attention方式を用いて系列ラベル認識技術を行う場合の一例について説明する。例えば、CTC方式とAttention方式とでは、用途により文字認識精度の優劣が異なる事が知られている。例えば。スキャンされた手書きの文字列を認識する場合は、CTC方式が有利とされ、カメラにより撮像された文字列を認識する場合は、Attention方式が有利とされている。
まず、図14を参照しながら、従来技術について説明する。図14は、従来技術によるAttention方式を用いた系列ラベル認識技術の判定範囲を説明するための図である。同図に示すように、まず、入力データDIから特徴量Fが抽出される。特徴量Fは、例えば、不図示のニューラルネットワークにより抽出される。この一例においては、入力データDIが画像である場合の一例について説明する。
入力データDIのn文字目を推定する工程を工程Pn(nは自然数)とする。工程Pj(jは自然数)にて文字列終了を表すEOS(End Of String)が推定される場合において、Attention方式を用いた系列ラベル認識技術では、工程P1から工程Pjまでの工程により、入力データDIに対応する文字列を推定する。
Attention方式を用いた系列ラベル認識技術では、工程P1において、特徴量Fをコピーする。コピーされた特徴量Fは、Attentionマップ(重みマップ)M1と掛け合わされ、重み付き和が算出される。算出された重み付き和を、特徴ベクトルV1と記載する。ここで、AttentionマップM1には、横軸に入力データDIの位置を、縦軸に重みが示される。AttentionマップM1は、入力データDIのうち左端の文字の範囲に対応するため、右端に比べ左端の重みが大きくなっている。
算出された特徴ベクトルV1は、ニューラルネットワークNN2-2に入力される。ニューラルネットワークNN2-2は、1文字目のラベルy0を予測する。具体的には、ニューラルネットワークNN2-2は、1文字目が、どの文字である確率が高いかを推定する。このように、工程P1から工程Pjまで繰り返すことにより、Attention方式を用いた系列ラベル認識技術では、入力データDIの全ての文字列を予測する。
なお、AttentionマップMは、不図示のニューラルネットワークNN2-1により作成されてもよい。その場合、ニューラルネットワークNN2-1は、左側の文字(例えば工程P2においては、工程P1において推定された文字)やその文字を予測した際のニューラルネットワークNN2-2の内部状態と、特徴量Fとによって、AttentionマップMを作成する。
なお、ニューラルネットワークNN2-2は、左側の文字(例えば工程P2においては、工程P1において推定された文字)やその文字を予測した際のニューラルネットワークNN2-2の内部状態と、特徴ベクトルVとによって、文字を予測してもよい。この場合、ニューラルネットワークNN2-2は、リカレントニューラルネットワークである。このように、Attention方式を用いた系列ラベル認識技術では、EOS(End Of String)が予測されるまで、文字の予測を繰り返す。
図8は、第3の実施形態に係る情報処理システム1Bの機能構成の一例を示す概略図である。同図を参照しながら、情報処理システム1の機能構成について説明する。まず、入力データDIがニューラルネットワークNN1に入力される。この一例において、入力データDIが文字列の画像である場合の一例について説明する。具体的には、入力データDIが、“011”と左から右に横方向に手書きされた文字列画像である場合の一例について説明する。
本実施形態において、情報処理装置10Bは、Attention方式により算出された出力データDOの各ラベルと、ニューラルネットワークNN1により算出された特徴量Fとを対応付ける。情報処理装置10Bは、Attention方式により算出された出力データDOの各ラベルが、複数の特徴量Fと対応づけられる場合には、ラベルに対応付けられた1以上の特徴量Fから推定された範囲を統合し、出力する。情報処理装置10により出力された出力結果は、入力データDIのうち、それぞれのラベルの範囲が特定されている。同図に示す一例では、範囲A1は“0”の範囲を特定し、範囲A2は“1”の範囲を特定し、範囲A3は“1”の範囲を特定する。
具体的には、本実施形態において、特徴抽出部211は上述した実施形態と同様にT個の特徴ベクトルv1、v2、…、vTを算出する。認識部212は、まずニューラルネットワーク2-1にT個の特徴ベクトルを入力し、1文字目の認識に有用な特徴ベクトルを重みづけする。ここで、重みとは0以上1以下で合計が1となるT個の値w1、w2、…、wTである。この重みを用いたT個の特徴ベクトルの重み付き平均(w1*v1+…+wT*vT)から、さらに別のニューラルネットワーク2-2を用いて1文字目を認識する。
次に1文字目の認識結果や認識の過程で得られた特徴もニューラルネットワーク2-1の入力に加えて2文字目の認識に有用な特徴ベクトルを重みづけする。この重みを用いたT個の特徴ベクトルの重み付き平均からニューラルネットワーク2-2を用いて2文字目を認識する。以下、ニューラルネットワーク2-2が文字列終了を表すEOSが出力されるまで繰り返す。1文字目からEOSまでを順番に並べたものが最尤文字列である。
範囲推定部23は、上述した実施形態と同様に、すべての特徴ベクトルについて、クラスごとの範囲を予測する。対応付け部25は、最尤文字列とT個の特徴ベクトルを対応付ける。対応付けには認識部212のニューラルネットワーク2-1において文字ごとに算出した重みを用いる。対応付け部25は、各文字について重みが所定値以上(例えば0.01)の特徴量を対応付ける。統合部27は、範囲を統合する際、この重みを用いた重み付き和を採用してもよい。
[第3の実施形態のまとめ]
従来、Attention方式による系列ラベル認識技術では、重み情報でしか認識結果のラベル列のうち、それぞれのラベルに対応する入力データの範囲を特定することができなかった。すなわち、従来技術によれば、漠然とした範囲しか推定することができなかった。しかしながら、上述した実施形態によれば、情報処理装置10Bは、CTC方式に代えてAttention方式においても認識結果のラベル列のうち、それぞれのラベルに対応する入力データの範囲を特定することができる。
従来、Attention方式による系列ラベル認識技術では、重み情報でしか認識結果のラベル列のうち、それぞれのラベルに対応する入力データの範囲を特定することができなかった。すなわち、従来技術によれば、漠然とした範囲しか推定することができなかった。しかしながら、上述した実施形態によれば、情報処理装置10Bは、CTC方式に代えてAttention方式においても認識結果のラベル列のうち、それぞれのラベルに対応する入力データの範囲を特定することができる。
本実施形態においては、Attention方式により特定された漠然とした位置を用いて、所定の閾値に基づいて、ニューラルネットワークNN3により推定された範囲と、出力データDOのそれぞれのラベルとを対応付けすることができる。1つのラベルが複数の特徴量Fと対応付けられる場合には、第1の実施形態と同様に、範囲を統合することにより、ラベルの範囲を特定することができる。
[第4の実施形態]
本実施例では人間による範囲の教示を省力化する手法を説明する。範囲の教示は例えば機械学習のためのデータセットを作成するために用いられる。処理の上では、範囲を推定すべき文字列が認識結果でなく、ユーザから入力される点が上述した実施形態と異なる。図9及び図10を参照しながら、第4の実施形態について説明する。
本実施例では人間による範囲の教示を省力化する手法を説明する。範囲の教示は例えば機械学習のためのデータセットを作成するために用いられる。処理の上では、範囲を推定すべき文字列が認識結果でなく、ユーザから入力される点が上述した実施形態と異なる。図9及び図10を参照しながら、第4の実施形態について説明する。
図9は、第4の実施形態に係る教示システム2を示すブロック図である。本実施形態において、教示システム2は、上述した情報処理装置10に代えて情報処理装置10Cを備える。また、教示システム2は、表示装置41と、入力装置43と、記憶装置45とを備える。
入力装置43は、ユーザUから入力される情報を取得し、情報処理装置10Cに出力する。入力装置43は、例えば、キーボード等の文字入力デバイスや、マウス等のポインティングデバイスであってもよい。
表示装置41は、情報処理装置10Cから出力される情報を表示する。表示装置41は、例えば、液晶ディスプレイ等の表示デバイスであってもよい。
記憶装置45は、情報処理装置10によって制御される記憶装置である。情報処理装置10は、情報処理装置10Cの内部に備えられていてもよいし、情報処理装置10Cの外部に備えられていてもよい。
情報処理装置10Cは、情報処理装置10の変形例である。情報処理装置10Cは、操作受付部31と、記憶制御部33とを備える点において、情報処理装置10とは異なる。情報処理装置10と同様の構成については、同様の符号を付すことにより、説明を省略する場合がある。
操作受付部31は、入力装置43を介して、ユーザUからの操作を受け付ける。本実施形態において、ユーザUは、情報処理装置10Cが出力した結果が正しいか否かを判定する。ユーザUは、判定した結果を、入力装置43を介して情報処理装置10Cに入力する。すなわち、操作受付部31は、出力部29が出力した結果が正しいか否かがユーザUにより判定された結果を取得する。なお、操作受付部31が取得する情報は、範囲推定部23により推定された範囲の修正を指示する修正情報を含んでいてもよい。
記憶制御部33は、操作受付部31が取得した結果を、記憶装置45に記憶させる。記憶制御部33は、操作受付部31が取得する情報が修正情報を含む場合、操作受付部31が取得した修正情報を含む結果を、記憶装置45に記憶させる。
図10は、第4の実施形態に係る情報処理装置10Cの一連の動作を示すフローチャートである。同図を参照しながら、第4の実施形態に係る情報処理装置10Cの一連の動作について説明する。
ステップS21において、まず、ユーザUは文字列画像と対応する文字列を入力する。すなわち、特徴量取得部21は、入力装置43を介して、ユーザUから文字列画像と対応する文字列とを取得する。なお、特徴量取得部21は、は、不図示の記憶装置に複数の文字列画像と対応する文字列のペアを保存しておき、記憶装置から、文字列画像と対応する文字列とを取得するよう構成してもよい。
ステップS22において、情報処理装置10Cは、入力文字列の範囲を特定する。まず、情報処理装置10Cは、上述した実施形態と同様に入力文字列画像に対して特徴量の系列を算出する。また、情報処理装置10Cは、上述した実施形態と同様に各特徴量からクラスごとの範囲を推定する。
対応付け部25は、入力文字列の各文字と特徴量とを対応付ける。対応付け部25は、例えば、各特徴量から算出したKクラスの確率分布から、Bによって入力文字列に変換されうる長さTのラベル列のうち最も確率の高いラベル列を求め、上述した実施形態と同様に対応付ける。なお、対応付け部25は、第3の実施形態において説明したように、入力文字列とその直後に終了文字列が出力するまで特徴量の重みを算出し、その重みを用いて対応付けてもよい。
また、対応付け部25は、入力画像の濃度や輝度から入力文字列の各文字と画像領域を大まかに対応付け、入力画像と特徴量の位置の対応関係から文字と特徴量を対応付けてもよい。この場合、入力画像と文字の大まかな対応付けは、例えば、文字列方向の輝度ヒストグラムから、文字が存在しない空白の領域を推定し、それらを除外した上で文字数で均等に領域を分割し文字と対応付けてもよい。画像領域と特徴量の対応付けは、対象画像領域と特徴量に対応する画像領域との重なり率が一定以上の特徴量を選ぶよう構成してもよい。
統合部27は、上述した実施形態と同様に各文字に対応付けられた範囲を統合する。出力部29は、推定された各文字の範囲を表示装置41に表示させる。例えば、画像と重畳するように各文字の範囲を矩形で描画し、各矩形に対応する文字を表示する。
ステップS23において、ユーザUは表示装置41に表示された文字ごとの範囲が正しいか否かを確認する。ユーザUは、入力装置43を介して、推定された範囲が正しい場合は確定の旨を入力する。ユーザUは、推定された範囲が正しくない場合、入力装置43を介して、正しくなるよう範囲を修正する。範囲教示は、修正のためのインターフェースを提供する。修正するためのインターフェースとして、例えば、矩形の頂点や辺をマウスポインタでドラックアンドドロップする方法などであってもよい。修正完了後、確定の旨を入力しユーザは操作を終了する。
ステップS25において、情報処理装置10Cは、各文字の範囲が正しい場合、処理をステップS27に進める。情報処理装置10Cは、各文字の範囲が正しくない場合、処理をステップS29に進める。
ステップS27において、各文字の範囲が正しい場合、記憶制御部33は、記憶装置45に、各文字の範囲を記憶させる。具体的には、記憶制御部33は、記憶装置45に、確定された文字範囲を、文字列画像および文字列と紐づけて記憶させる。
ステップS29において、各文字の範囲が正しくない場合、記憶制御部33は、記憶装置45に、修正された各文字の範囲を記憶させる。
なお、入力文字列は必ずしも文字列画像に対する正解文字列である必要はない。誤りを含む自動認識結果の文字列の場合、範囲確認時に文字列の正誤も確認し、修正するインターフェースを加えてもよい。この場合、ユーザの文字列修正に応じて再度範囲を推定することでユーザUによる範囲教示負荷を軽減できる。
[第4の実施形態のまとめ]
上述した実施形態によれば、情報処理装置10Cは、操作受付部31と、記憶制御部33とを備えることにより、ユーザUから、各文字の範囲が正しいか否かの情報を取得し、記憶装置45に記憶させる。情報処理装置10Cは、各文字の範囲が正しいか否かの情報を記憶装置45に記憶することにより、人間による範囲の教示を省力化することができる。
上述した実施形態によれば、情報処理装置10Cは、操作受付部31と、記憶制御部33とを備えることにより、ユーザUから、各文字の範囲が正しいか否かの情報を取得し、記憶装置45に記憶させる。情報処理装置10Cは、各文字の範囲が正しいか否かの情報を記憶装置45に記憶することにより、人間による範囲の教示を省力化することができる。
以上説明してきたように、実施形態では、複数の変形例を記載した。ここで、組み合わせることが可能な限りにおいて、複数の実施形態及び複数の変形例を組み合わせて実施するようにしてもよい。
なお、上述した実施形態における情報処理装置の機能をコンピューターで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上説明した少なくともひとつの実施形態によれば、特徴量取得部と、範囲推定部と、対応付け部と、統合部と、出力部とを持つことにより、明示的にラベル間の境界を区切らない系列ラベルの認識処理において、認識結果のラベル列のうち、それぞれのラベルに対応する入力データの範囲を特定することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…情報処理システム、2…教示システム、10…情報処理装置、21…特徴量取得部、211…特徴抽出部、212…認識部、23…範囲推定部、25…対応付け部、27…統合部、29…出力部、31…操作受付部、33…記憶制御部、41…表示装置、43…入力装置、45…記憶装置、80…CTC、81…全範囲、82…判定範囲、85…認識モデル、90…系列ラベル認識技術、DI…入力データ、DO…出力データ、NN…ニューラルネットワーク、F…特徴量、P…確率分布、LS…ラベル列、L…ラベル
Claims (10)
- 複数の値で構成されるデータから抽出される特徴量を取得する特徴量取得部と、
取得した前記特徴量から、所定のラベルが付与されるべき要素が存在しうる前記データの範囲を推定する範囲推定部と、
複数の前記ラベルを有するラベル列のうち、少なくとも1つの前記ラベルを複数の前記特徴量のうち少なくとも1つと対応付ける対応付け部と
前記ラベルに対応付けられた1以上の前記特徴量それぞれから推定された1以上の前記データの範囲を、1の前記データの範囲に統合する統合処理を行う統合部と、
前記ラベルと、前記統合処理が行われた前記データの範囲との対応関係を出力する出力部と
を備える情報処理装置。 - 前記範囲推定部は、取得した前記特徴量について前記ラベルが付与されるべき要素が存在しうる前記データの範囲を予測するように学習されたニューラルネットワークである
請求項1に記載の情報処理装置。 - 前記対応付け部は、前記特徴量からクラスの尤度を推定し、前記ラベル列が有する前記ラベルを前記クラスの尤度が所定の条件を満たす前記特徴量と対応づける
請求項1又は請求項2に記載の情報処理装置。 - 前記対応付け部は、前記データから抽出された長さTの前記特徴量の系列から所定の前記ラベルとブランクを含む確率分布であって、K個のクラスの確率分布であるKクラス確率分布を推定し、長さTのブランクを含む冗長な前記ラベル列を長さTよりも小さい長さLのブランクを含まない前記ラベル列に変換するラベル変換手段を用いて、前記ラベル列に変換されうる長さTの冗長な前記ラベル列のうち、前記確率分布の系列である確率分布系列からの生成確率が最も高い最尤ラベル列を求め、前記最尤ラベル列をもとに、前記ラベル列が有するそれぞれの前記ラベルと前記特徴量とを対応付ける
請求項1から請求項3のいずれか一項に記載の情報処理装置。 - 前記統合部は、それぞれの前記ラベルについて、対応付けられた1以上の前記特徴量それぞれから推定された前記データの範囲を加重平均で統合し、
前記加重平均の重みは、前記データの範囲の部分境界に対してそれぞれの前記特徴量が抽出された前記データの領域に近いほど重みを大きくするように計算される
請求項1から請求項4のいずれか一項に記載の情報処理装置。 - 前記特徴量取得部は、
一以上の値で構成される前記データから複数の前記特徴量を抽出する特徴抽出部と、
複数の前記特徴量から前記ラベル列を認識する認識部とを更に備える
請求項1から請求項5のいずれか一項に記載の情報処理装置。 - 前記出力部が出力した結果が正しいか否かがユーザにより判定された結果を取得する操作受付部と、
前記操作受付部が取得した結果を記憶させる記憶制御部と
を更に備える請求項1から請求項6のいずれか一項に記載の情報処理装置。 - 前記操作受付部が取得する情報は、前記範囲推定部により推定された前記データの範囲の修正を指示する修正情報を含み、
前記記憶制御部は、前記操作受付部が取得した前記修正情報を含む結果を記憶させる
請求項7に記載の情報処理装置。 - コンピュータに、
複数の値で構成されるデータから抽出される特徴量を取得する特徴量取得ステップと、
取得した前記特徴量から、所定のラベルが付与されるべき要素が存在しうる前記データの範囲を推定する範囲推定ステップと、
複数の前記ラベルを複数の前記特徴量のうち少なくとも1つと対応付ける対応付けステップと
前記ラベルに対応付けられた1以上の前記特徴量それぞれから推定された1以上の前記データの範囲を、1の前記データの範囲に統合する統合処理を行う統合ステップと、
前記ラベルと、前記統合処理が行われた前記データの範囲との対応関係を出力する出力ステップと
を実行させるためのプログラム。 - 複数の値で構成されるデータから抽出される特徴量を取得する特徴量取得部と、
取得した前記特徴量から、所定のラベルが付与されるべき要素が存在しうる前記データの範囲を推定する範囲推定部と、
複数の前記ラベルを複数の前記特徴量のうち少なくとも1つと対応付ける対応付け部と
前記ラベルに対応付けられた1以上の前記特徴量それぞれから推定された1以上の前記データの範囲を、1の前記データの範囲に統合する統合処理を行う統合ステップと、
前記ラベルと、前記統合処理が行われた前記データの範囲との対応関係を出力する出力ステップと
を含む情報処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202180034561.1A CN115605920A (zh) | 2020-05-15 | 2021-05-06 | 信息处理装置、信息处理方法及程序 |
US18/054,493 US20230070150A1 (en) | 2020-05-15 | 2022-11-10 | Information processing device, information processing method, and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020-086219 | 2020-05-15 | ||
JP2020086219A JP6813704B1 (ja) | 2020-05-15 | 2020-05-15 | 情報処理装置、情報処理方法、およびプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/054,493 Continuation US20230070150A1 (en) | 2020-05-15 | 2022-11-10 | Information processing device, information processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021230128A1 true WO2021230128A1 (ja) | 2021-11-18 |
Family
ID=74096294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/017357 WO2021230128A1 (ja) | 2020-05-15 | 2021-05-06 | 情報処理装置、情報処理方法、およびプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230070150A1 (ja) |
JP (1) | JP6813704B1 (ja) |
CN (1) | CN115605920A (ja) |
WO (1) | WO2021230128A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766881A (zh) * | 2018-11-28 | 2019-05-17 | 北京捷通华声科技股份有限公司 | 一种竖向文本图像的字符识别方法和装置 |
JP2020047213A (ja) * | 2018-09-21 | 2020-03-26 | 富士ゼロックス株式会社 | 文字列認識装置及び文字列認識プログラム |
-
2020
- 2020-05-15 JP JP2020086219A patent/JP6813704B1/ja active Active
-
2021
- 2021-05-06 WO PCT/JP2021/017357 patent/WO2021230128A1/ja active Application Filing
- 2021-05-06 CN CN202180034561.1A patent/CN115605920A/zh active Pending
-
2022
- 2022-11-10 US US18/054,493 patent/US20230070150A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020047213A (ja) * | 2018-09-21 | 2020-03-26 | 富士ゼロックス株式会社 | 文字列認識装置及び文字列認識プログラム |
CN109766881A (zh) * | 2018-11-28 | 2019-05-17 | 北京捷通华声科技股份有限公司 | 一种竖向文本图像的字符识别方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20230070150A1 (en) | 2023-03-09 |
JP2021179925A (ja) | 2021-11-18 |
JP6813704B1 (ja) | 2021-01-13 |
CN115605920A (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106980868B (zh) | 用于具有多个文本标签的图像的嵌入空间 | |
CN106980867B (zh) | 将嵌入空间中的语义概念建模为分布 | |
US10019657B2 (en) | Joint depth estimation and semantic segmentation from a single image | |
US20190272438A1 (en) | Method and apparatus for detecting text | |
US20180285778A1 (en) | Sensor data processor with update ability | |
KR20030074141A (ko) | 패턴 인식을 용이하게 하는 시스템 및 방법 | |
JP2009282686A (ja) | 分類モデル学習装置および分類モデル学習方法 | |
CN113268609A (zh) | 基于知识图谱的对话内容推荐方法、装置、设备及介质 | |
CN111027605A (zh) | 基于深度学习的细粒度图像识别方法和装置 | |
CN113053367A (zh) | 语音识别方法、语音识别的模型训练方法以及装置 | |
KR102508860B1 (ko) | 이미지에서의 키 포인트 위치의 인식 방법, 장치, 전자기기 및 매체 | |
US20240312252A1 (en) | Action recognition method and apparatus | |
CN111859002A (zh) | 兴趣点名称生成方法及装置、电子设备和介质 | |
US20230230406A1 (en) | Facilitating identification of fillable regions in a form | |
KR102083786B1 (ko) | 문자열 식별 방법 및 장치, 그리고 이를 이용한 디스플레이 영상 식별 시스템 | |
CN114972910A (zh) | 图文识别模型的训练方法、装置、电子设备及存储介质 | |
Nguyen et al. | A brief review of state-of-the-art object detectors on benchmark document images datasets | |
WO2021230128A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US9378466B2 (en) | Data reduction in nearest neighbor classification | |
CN111340117A (zh) | Ctc模型的训练方法和数据处理方法、装置及存储介质 | |
CN113723367B (zh) | 一种答案确定方法、判题方法及装置和电子设备 | |
US11971955B1 (en) | Example-based image annotation | |
CN117828137A (zh) | 数据查询方法、装置、存储介质及程序产品 | |
CN115205806A (zh) | 生成目标检测模型的方法、装置和自动驾驶车辆 | |
KR101864301B1 (ko) | 데이터 분류 장치 및 방법 |
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: 21803801 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21803801 Country of ref document: EP Kind code of ref document: A1 |