PRINTED CHARACTER RECOGNITION
20220058416 · 2022-02-24
Inventors
- Veena Vengalil (Singapore, SG)
- Ravi Mugad (Singapore, SG)
- Jitendra Kumar (Singapore, SG)
- Kamal Deep Sethi (Singapore, SG)
Cpc classification
G06V30/18171
PHYSICS
G06V10/24
PHYSICS
International classification
Abstract
A computer-implemented method for recognising a printed character string is provided. The method includes receiving an image comprising the character string, the character string comprising a plurality of characters, determining a readability quality for each character in the character string and selecting at least one anchor character based at least in part on the readability quality of the characters in the character string. The identity of the at least one anchor character is determined using a character recognition algorithm and the identity of the character string recognised based on the at least one identified anchor character.
Claims
1. A computer-implemented method for recognising a printed character string comprising: receiving an image comprising the character string, the character string comprising a plurality of characters; determining a readability quality for each character in the character string; selecting at least one anchor character based at least in part on the readability quality of the characters in the character string; determining an identity of the at least one anchor character using a character recognition algorithm; and recognising the identity of the character string based on the at least one identified anchor character.
2. The method of claim 1 wherein a number of anchor characters selected is less than a total number of characters in the character string.
3. The method according to claim 1, wherein a number of anchor characters selected is based at least in part on a length of the character string.
4. The method according to claim 1, further comprising filtering out invalid characters from the character string before determining a readability quality for each character remaining after the filtering.
5. The method according to claim 1, wherein the readability quality for each character is determined based on at least one of the following readability criteria: image quality, dimensions and aspect ratio of each character.
6. The method according to claim 1, further comprising determining if lighting conditions in the image fall below a threshold level.
7. The method of claim 6, wherein if the lighting conditions fall below the threshold level, either characters with smaller dimension are considered as less readable when determining readability quality or characters with smaller dimensions are rated with lower priority when selecting the at least one anchor character.
8. The method according to claim 1, wherein determining the readability quality for each character or selecting at least one anchor character is based at least in part on a shooting direction of the image sensor with respect to a plane on which the character string is located.
9. The method of claim 8, wherein the image is captured by an image sensor mounted on a vehicle and the character string is located on a traffic sign.
10. The method according to claim 9, wherein the shooting direction of the image sensor with respect to the traffic sign is determined based on the direction of motion of the vehicle when the image was captured.
11. The method of claim 10, wherein if the vehicle is turning with respect to the plane of the traffic sign, the readability quality is considered to decrease the closer the characters are to an edge of the traffic sign.
12. A device for recognising a printed character string comprising: a processor; at least one memory coupled to the processor and storing instructions executable by the processor causing the processor to: receive an image comprising the character string, the character string comprising a plurality of characters; determine a readability quality for each character in the character string; select at least one anchor character based at least in part on the readability quality of the characters in the character string; determine an identity of the at least one anchor character using a character recognition algorithm; and recognise the identity of the character string based on the identity of the at least one anchor character.
13. The device according to claim 12, wherein the at least one memory further causes the processor to: filter out invalid characters from the character string before determining a readability quality for each character remaining after the filtering.
14. The device according to claim 12, wherein the readability quality for each character is determined based on at least one of the following readability criteria: image quality, dimensions and aspect ratio of each character.
15. The device according to claim 12, wherein the at least one memory further causes the processor to: determine if lighting conditions in the image fall below a threshold level; and if the lighting conditions fall below the threshold level, either characters with smaller dimension are considered as less readable when determining readability quality or characters with smaller dimensions are rated with lower priority when selecting the at least one anchor character.
16. The device according to claim 12, wherein: the image sensor is mounted on a vehicle; the least one memory causes the processor to determine the readability quality for each character or select at least one anchor character based at least in part on a shooting direction of the image sensor with respect to a traffic sign on which the character string is located, the shooting direction of the image sensor being determined based on the direction of motion of the vehicle when the image was captured.
17. The method according to claim 1, wherein the number of anchor characters selected is based at least in part on a length of the character string.
18. The device according to claim 13, wherein the readability quality for each character is determined based on at least one of the following readability criteria: image quality, dimensions and aspect ratio of each character.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0017]
[0018]
[0019]
DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS
[0020] In the following detailed description, reference is made to the accompanying figures. In the figures, similar symbols typically identify similar components, unless context dictates otherwise.
[0021]
[0022] The machine vision module 140 is in communication with the image sensor module 120 and comprises one or more sub-modules which are configured to process and/or analyse images taken by the image sensors in the image sensor module. In the
[0023] In some implementations, the machine vision module 140 comprises a computing processor and a hardware memory in communication with the processor. The computing processor may, for example, be a microcontroller or graphics processing units (GPU) capable of accessing the memory to store information and execute instructions stored therein. In one variation, the image processing device 142, TSR device 144, character string recognition device 146 and lane departure device 148 are stored as software algorithms in a memory associated with the machine vision module 140. The software algorithms are retrieved from the memory by a computing processor and executed by the computing processor. In other variations, the machine vision module 140 may also comprise more than one computing processor and/or memory. The respective sub-modules in the machine vision module 140 may have its own dedicated computing processor and memory or share it with another sub-module. For instance, the character string recognition device 146 may have its own dedicated processor and memory or share these resources with at least the TSR device 144. In another implementation, the machine vision module 140 may be implemented as one or more system on chips (SOCs), each configured to perform one or more the functions of the various sub-modules in the machine vision module described herein. Additionally, it will be appreciated by an ordinary person skilled in the art that the functions of each sub-module in the machine vision module 140 such as the character string recognition device 146 may be implemented by multiple processors and/or memories located in different housing. Accordingly, references to a processor or memory will be understood to include references to a collection of processors and/or memories that operate to perform the functions of a device for recognising a printed character string described in this disclosure.
[0024] In the
[0025]
[0026] In block 210, the starting of the process in block 201 causes the character string recognition device 146 to receive an image comprising a character string. The character string may comprise a plurality of characters. For purposes of illustration, we will assume that the character string in the image received in block 210 is the word SCHOOL (see
[0027] In one optional variation of this disclosure, the incoming image is subjected to a segmentation process by a processor for the character string recognition device in block 220 prior to determining the readability quality for each character in block 230. The segmentation process separates the characters in a character string into individual characters or character segments. In one variation illustrated in
[0028] Other segmentation processes which are suitable for separating characters in a character string may also be suitable. In some implementations, it may be appropriate to define what constitutes a valid character and characters which are invalid may be filtered out and not considered as part of the character string. By way of example, it may be appropriate in certain context to only consider text characters such as alphabets, words and numbers as valid characters and other types of characters such as punctuation and icons as invalid characters. A character segment enclosing whitespace may also be considered as an invalid character segment. Invalid characters from a character string may be filtered out before determining a readability quality for each remaining character in block 230. In some implementations where the dimensions of the bounding boxes are sized according to the dimensions of the content being enclosed, information on the respective bounding boxes may be used to filter out invalid character segments. Bounding box information that may be used for filtering out invalid character segments include dimensions and/or aspect ratio of a bounding box. For instance, the fact that the height and/or width of a bounding box does not fall within specified limits (e.g. the dimensions are too small) may be indicative that the bounding box does not contain a valid character. The limits on bounding box dimensions may be pre-defined or established based on a comparison with other bounding boxes in the same character string or multiple character strings originating from the same source (e.g. traffic sign). The co-ordinate position of a bounding box may also be used additional or alternatively as a filtering criterion, the expected co-ordinate positions being based on the spacing between other bounding boxes from the same character string/source.
[0029] The process then goes on to block 230 where the processor determines a readability quality for each character in the character string. For implementations where invalid character segments are filtered out in block 220, the readability quality assessment is conducted on character segments remaining after the invalid ones have been filtered out. One or more readability criteria may be considered when determining the readability quality of a character. In some variations, readability quality may be calculated by taking an average or weighted average of a character's score for each criterion. Other formula which calculate readability quality based on one or more readability criteria may also be suitable. In some implementations, readability quality may be computed based at least in part on one of the following: image quality, dimensions and/or aspect ratio of a character. Image quality may be assessed based one or more factors such as clarity, noise level, level of distortion, resolution and whether a character appears as distinctly separated from an adjacent character or merged. It is more difficult to accurately identify the text associated with a character if the character is merged with one or more adjacent characters. The dimensions of each character, that is, width, height or a combination thereof may also be considered. In implementations where each character is enclosed by a bounding box of dimensions sized according to that of the character enclosed, character dimensions may be estimated based on the dimensions of the bounding box. There may be one or more readability criteria which is tied to character dimensions. For example, characters below a specified size may be assigned a low readability quality score because they are too small to be accurately identified. For the remaining characters which are larger than the specified size, their readability quality may be assessed based on a rule whereby characters of a larger size are considered to be more readable. The foregoing rule on readability versus size may also be applied in isolation. In another variation, the recognition process may only consider character size to be a relevant readability criterion under certain circumstances. For example, when lighting conditions in an image containing the character string falls below a specified threshold level. In general, the identity of a character becomes more difficult to recognise when lighting conditions fall below a certain level. Under such circumstances a larger character may be more easily identifiable compared to a smaller character with similar image quality. By way of example, the numbers “1900” in a character string containing “1900m” may be considered to be more readable compared to small letter m when lighting conditions fall below a threshold because the numbers are of a larger size. However, the final readability quality of each character may ultimately depend on a combination of various criteria such as image quality and aspect ratio. As discussed above, aspect ratio which refers to the ratio of the width to height of a character may also be used as a readability criterion. Aspect ratio is relevant because characters which are tall and narrow or wide and short may be more difficult to decipher. The inventors have found the range of preferred aspect ratio to be dependent on the type of image sensor used. Therefore, the preferred aspect ratio range may be defined by varying the aspect ratio of characters and checking for their ease and/or accuracy of recognition by character recognition algorithm. For instance, in some implementations, characters with an aspect ratio within a specified range such as 0.6 to 0.9 may be considered as more readable. Apart from the characteristics of the individual characters themselves, other factors may also influence readability quality. For example, the location of a character may become an important readability criterion depending on the shooting direction of the image sensor with respect to a plane on which the character string is located. In general, images of characters tend to be clearer if the shooting direction is directed straight at the plane on which the character string is located, that is, at a 90 degrees angle. The shooting angle becomes particularly relevant when recognising traffic sign images captured by a camera mounted on a moving vehicle. Specifically, if a vehicle is turning at the time when the image was taken, characters lying close to the edge of a traffic sign may likely suffer from directional blur. Accordingly, in some implementations, there may be a rule whereby characters closer to an edge of a traffic sign are considered to be less readable if a vehicle was turning with respect to the plane of a traffic sign. The turning angle and hence direction of motion a vehicle may be derived based on the yaw rate of the vehicle, steering wheel position, wheel angle position or a combination thereof. Referring to the example in
[0030] After determining a readability quality for each character in the character string, the process goes on to block 240 where at least one anchor character is selected based on the readability quality of the characters in the character string. In a preferred implementation, the number of anchor characters selected is less than the total number of characters in a character string. Since the methods in this disclosure only require the identity of the one or more anchor characters to be determined using a character recognition algorithm, processing time and demands on computing resources are reduced when the number of anchor characters is fewer than the total number of characters in a character string. The number of anchor characters to be selected may, for example, be based on a rule which states that only characters with a readability quality above a specified threshold may be selected as anchor characters. The processor may additionally or alternatively also be configured to select a pre-defined number of anchor characters based at least in part on the number of characters in a character string being processed. In general, the number of anchor characters preferably increases with the number of characters. As described in the succeeding paragraphs, this disclosure proposes using only the anchor characters to recognise a character string as opposed to using all the characters as is the case in many known character string recognition methods. An issue with using all the characters is that an entire character string may be wrongly recognised if one or more characters are poorly resolved and cannot be accurately identified. The present disclosure addresses this problem by using anchor characters which are selected on the basis of readability quality. Selecting anchor characters based on the actual readability quality of characters is also advantageous over recognition methods which select anchor characters from pre-defined locations. The latter example also suffers from the above discussed issue if one or more characters in the pre-defined locations are poorly resolved. For example, fixing the second character in a character string as an anchor character may result in the character string being wrongly recognised if the second character is wrongly identified due to poor readability quality. This disclosure improves the accuracy of character string recognition by adaptively choosing the anchor characters on based on readability quality. This leads to a corresponding improvement in the accuracy of character string recognition since characters with superior readability quality are more likely to be correctly identified. Referring to the example in
[0031] The method then proceeds to block 250 where the identity of the at least one anchor character selected in block 240 is determined using a character recognition algorithm. Suitable character recognition algorithms which may be used include optical character recognition software. For example, in the
[0032] While various aspects and implementations have been disclosed herein, other aspects and implementations will be apparent to those skilled in the art. The various aspects and implementations disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims, along with the full scope of equivalents to which such claims are entitled. It is also to be understood that the terminology used herein is for the purpose of describing particular implementations only, and is not intended to be limiting.