US20020159636A1 - Generalized text localization in images - Google Patents

Generalized text localization in images Download PDF

Info

Publication number
US20020159636A1
US20020159636A1 US09/524,797 US52479700A US2002159636A1 US 20020159636 A1 US20020159636 A1 US 20020159636A1 US 52479700 A US52479700 A US 52479700A US 2002159636 A1 US2002159636 A1 US 2002159636A1
Authority
US
United States
Prior art keywords
text
projection profiles
box
bounding boxes
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US09/524,797
Other versions
US6470094B1 (en
Inventor
Rainer Lienhart
Axel Wernicke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to US09/524,797 priority Critical patent/US6470094B1/en
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WERNICKE, AXEL, LIENHART, RAINER WOLFGANG
Priority to PCT/US2001/005757 priority patent/WO2001069529A2/en
Priority to CNB018065805A priority patent/CN100514364C/en
Priority to AU2001238648A priority patent/AU2001238648A1/en
Priority to GB0411388A priority patent/GB2399631B/en
Priority to GB0223747A priority patent/GB2377114B/en
Priority to DE10195927T priority patent/DE10195927B4/en
Priority to TW090104992A priority patent/TWI223212B/en
Publication of US6470094B1 publication Critical patent/US6470094B1/en
Application granted granted Critical
Publication of US20020159636A1 publication Critical patent/US20020159636A1/en
Priority to HK03101650.6A priority patent/HK1049536B/en
Priority to HK05102312A priority patent/HK1069913A1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive image processing
    • G06T2207/20008Globally adaptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30176Document
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Definitions

  • the present invention relates generally to localization and/or segmentation of text in images.
  • OCR optical character recognition
  • FIG. 1 is a flow diagram representing various functions performed in some embodiments of the invention.
  • FIG. 2 is flow diagram representing images at various stages of localization in some embodiments of the invention.
  • FIG. 3 illustrates examples of initial bounding boxes for an image in a frame having text and a background.
  • FIG. 4 illustrates examples of vertical and horizontal projection profiling.
  • FIG. 5 illustrates vertical segmentation applied to a portion of the text of FIG. 3.
  • FIG. 6 illustrates horizontal segmentation applied to a portion of the text of FIG. 3.
  • FIG. 7 illustrates an image on a web site that includes text and a background.
  • FIG. 8 is partially block diagram, partially flow diagram representation of color estimation through quantization according to some embodiments of the invention.
  • FIG. 9 is a flow diagram representing a relation between video monitoring and text tracking according to some embodiments of the invention.
  • FIG. 10 is a block diagram representation of a computer system that can perform functions according to some embodiments of the invention.
  • Various embodiments of the present invention involve localization and/or segmentation of text in images, wherein the images may be still or motion images, such as in video or Web pages.
  • Web pages may include video or non-video images.
  • the text is not required to be in a particular location in the image or have a particular color.
  • the background also called non-text
  • Efficient indexing and retrieval of digital video is an important aspect of multimedia databases.
  • the text in videos is one powerful high-level index for retrieval. Detecting, extracting and recognizing text can build such an index. It enables a user to submit sophisticated queries such as a listing of all movies featuring John Wayne or produced by Steven Spielberg. Or it can be used to jump to news stories about a specific topic, since captions in newscasts often provide a condensation of the underlying news story. For example, one can search for the term “Financial News” to get the financial news of the day.
  • the index can also be used to record the broadcast time and date of commercials, helping the people who check for their clients whether their commercials have been broadcast at the arranged time on the arranged television channel.
  • FIG. 1 provides a flow diagram which is useful to give an over view relative to some embodiments of the invention.
  • FIG. 1 includes a text localization block 10 and a text segmentation block 14 .
  • Reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least some embodiments, but not necessarily all embodiments, of the invention.
  • the various appearances “an embodiment,” “one embodiment,” or “some embodiments” are not necessarily all referring to the same embodiments.
  • a digital input signal (which typically includes an image) is received by feature extraction block 20 of text localization block 10 .
  • any ASCII or related text e.g., HTML text
  • the text localization block finds locations of text in images and marks them by tight text bounding boxes. In some embodiments, these bounding boxes should circumscribe only one text line of one text column. However, as described below, a text column is not limited to a single character.
  • localization includes the following:
  • Feature extraction (block 20 ): A feature is extracted from the input image, which capture features unique to text.
  • Region classification (block 22 ): Each pixel in the feature image is classified whether it belongs to text or not. Based on this information initial text bounding boxes are created.
  • Region consolidation (block 24 ): The text bounding boxes are refined such that each contains only one line and column of text.
  • the text segmentation stage removes the background (non-text pixels) and creates an output signal.
  • the output signal on output 44 is an image text representation.
  • An example of an image text representation is a text bitmap.
  • the text bitmap may include, for example, a black text on a white background, regardless of the colors of the original text and background.
  • the bitmap may be used by text recognition software to identify the particular text that has been localized and segmented by blocks 10 and 14 .
  • the text recognition software may be standard OCR software, which expects black text on a white background, although the invention is not limited to producing such an output signal.
  • each text box is scaled to a height of, for example, 100 pixels (block 30 ).
  • the background is removed (blocks 32 and 36 ).
  • the search for background pixels starts on the border of the text bounding box. For video, this may be preceded by sub-pixel accurate alignment of the bitmaps of the same text (block 34 ).
  • the remaining pixels may be binarized (block 38 ).
  • the resulting binary bitmaps can be fed into standard OCR software to transcribe their content into, for example, ASCII.
  • the invention is not restricted to the particular blocks ( 10 and 14 ) of FIG. 1.
  • the details of these blocks ( 20 - 38 ) may be different and some blocks could be eliminated, consolidated, or have a different order.
  • Some embodiments of the text localization and segmentation system belong to a class of top-down approaches. Potential text lines are refined in case of video by exploiting its temporal redundancy (section 5). Like in the text localization, the text segmentation may also use the temporal redundancy of video to improve the segmentation result.
  • Several basic decisions are involved in some embodiments. They include:
  • Non-text regions are much more likely than text regions. Therefore, we decided to train the raw text detector as tight as possible (trained for a specific size of text at a specific position). Scale and position independence may be achieved by a applying our text detector at all positions in all scales.
  • the invention is, however, not restricted to the particular details mentioned above. For a particular applications, it may be known that vertical text will be used, in which case, it can be accommodated. Further, if other information is known about the image, the particular embodiment of the invention may be modified to take advantage of that knowledge.
  • an image 50 is scaled into multiple image 52 , 54 , 56 , 58 , and 60 of different sizes.
  • the images may be still images or image frames in video. Although five images are shown, the number may be more or less than five.
  • the edge orientation of pixels in the image is determined to create feature images 62 , 64 , 66 , 68 and 70 (see section 4.1).
  • a fixed scale text adapter is applied to classify pixels in the edge orientation image to create images 72 , 74 , 76 , 78 , and 80 (see section 4.2).
  • Images 72 - 80 are integrated into one saliency map 84 associated with an image (see section 4.3).
  • Initial text bounding boxes are created from saliency map 84 (see section 4.4.1).
  • the text bounding boxes and an associated image which is the same as or similar to image 50 are represented by block 86 .
  • the text bounding boxes of block 86 are revised (e.g., consolidated) (see section 4.4.2) to created revised text bounding boxes as represented by block 88 which also represents the image associated with block 86 . Note that the text bounding boxes are not part of the image, but are associated with the image.
  • the modulo 180 degree is applied to convert direction into orientation.
  • E serves as our feature for text localization.
  • a fixed scale text detector is used to classify each pixel in the edge orientation image E based on its local neighborhood whether it is part of a text region of certain size. For example, given a 20 ⁇ 10 pixel region in an edge orientation image E, the fixed scale text detector classifies whether the region contains text of a certain size.
  • a classifier There are many different techniques for developing a classifier. Examples include a Bayes classifier, a mixed-gaussian classifier, and a neural feed-forward network (which has a good generalization capability). For our work, we compared the performance of a Bayes classifier using the Neyman-Pearson criterion with the performance of a real-valued and complex-valued neural feed-forward network.
  • the complex-valued neural network with a hyperbolic tangent activation function may provide superior performance.
  • its false hits (0.07%) on the validation set was more than twice as low than with a comparable real-valued network.
  • Various network architecture may be used.
  • 200 complex-valued neurons fed by a 20 ⁇ 10 edge orientation region in E serve as network input.
  • This size of the receptive field exhibits a good trade-off between performance and computational complexity.
  • An input layer of 30 ⁇ 15 neurons achieved not better classification results, but was computational more expensive.
  • using an input layer with less than 10 rows resulted in substantially worse results.
  • the input layer in turn is connected to a hidden layer of 2 complex-valued neurons. Again, using more hidden neurons did not result in any performance improvements, while using only one increased the false alarm rate by a factor of three.
  • the hidden layer is aggregated into one real-valued output neuron.
  • the training and validation test set should be as small as possible while still being representative. It should contain all typical text patterns and non-text patterns.
  • Theoretical investigations have shown that neural networks will be most efficient, if the relation between the number of text and non text samples in the training set corresponds to the relation of the two groups in the application. A quantity of training samples which fulfill this criteria is obtained. While it is straightforward how to get examples for different types of text, it may be more difficult to get a representative non-text set.
  • a solution to this problem is the so-called “bootstrap” method.
  • the composition of the training set may seriously affect a network's performance.
  • a representative set of 30180 text patterns and 140436 non-text patterns were collected. Initially 6000 text patterns and 5000 non-text pattern were selected randomly for training. Only the non-text pattern set was allowed to grow by another 3000 patterns collected by means of the “bootstrap” method.
  • This method starts with an initial set of non-text patterns to train the neural network. Then, the trained network is evaluated using a validation set distinct from the training set (here: all patterns minus the training set).
  • Some of the falsely classified patterns of the validation set are randomly added to the training set and a new, hopefully enhanced neural network is trained with this extended and improved training set.
  • the resulting network is evaluated with the validation set again and further falsely classified non-text patterns are added to the training set.
  • This cycle of training and directed adding new patterns is repeated until the number of falsely classified patterns in the validation set does not decrease anymore or—like in our case—3000 non-text patterns (and only non-text patterns)—have been added.
  • This iterative training process guarantees a diverse training pattern set.
  • a 20 ⁇ 10 pixel window slides over the edge orientation image E and is evaluated at each position.
  • the raw fixed-scale text detection results at all scales are integrated into one saliency map of text in order to recover initial text bounding boxes.
  • a saliency map may be created by projection of the confidence of being text back to the original scale of the image.
  • the saliency map may be initialized by zero. Then, for each detected bounding box at each scale its confidence value of being text is added to the saliency map over the size of the bounding box at the original image scale. There may be more than one bounding box in a given scale within the vicinity of a particular area.
  • the saliency map may reflect the total number of bounding boxes from all image scales within the vicinity of a particular area.
  • FIG. 3 illustrates date and time in an image in a video frame 110 and examples of initial bounding boxes, although the invention is not restricted to the particular examples.
  • the background of frame 110 could be a solid color (such as white as illustrated) or a more complex background with different colors of various shapes.
  • the text bounding boxes are illustrated as dashed lines. There could be additional text in image 110 .
  • a projection profile of an image region is a compact representation of the spatial pixel content distribution and has been successfully employed in document text segmentation. While histograms only capture the frequency distribution of some image feature such as the pixel intensity (all spatial information is lost), intensity projection profiles preserve the rough spatial distribution at the cost of an even higher aggregation of the pixel content.
  • a horizontal/vertical projection profile may be defined as the vector of the sums of the pixel intensities over each column/row.
  • FIG. 4 shows an example in which vertical and horizontal projection profiles are depicted as bar charts along the x and y axes of the feature images.
  • the upper boundaries of the text lines are marked by steep rises in the vertical projection profile while the lower boundaries are marked by steep falls.
  • the right and left boundaries of text objects are indicated by steep rises and falls in the horizontal projection profile. These steep rises and falls can be identified as locations where the profile graph crosses an adaptively set threshold line. Down-up transitions are signified by a long line and up-down transitions are signified by a short line (as labeled in FIG. 4).
  • a text object is a text boundary box (including one that has been through the revision process).
  • a text object includes multiple text bounding boxes (including those that have been through the revision process) from different frames in time. Stated differently, in the case of video, the text object includes different instances of the same text from different frames (images).
  • the vertical segmentation algorithm applied to each text box works as follows, although the invention is not limited to these details.
  • the box is enlarged at the top and bottom (lines (1) and (2) in Pseudocode Examples 2).
  • the enlargement is desirable because the correct boundary may lie outside the current box and therefore the initial boundaries accidentally may cut off a portion of the text. To recover these boundaries correctly, some rows outside the original box should be taken into consideration.
  • thresh text min profile +(max profile ⁇ min profile ) ⁇ 0.175.
  • the factor of 0.175 was chosen experimentally and may be different in other embodiments. Every line with a vertical profile value exceeding thresh text is classified as containing text.
  • the gap parameter is needed to bridge these low horizontal profile values if necessary. If the algorithm has found already a pair of down-up and up-down transitions and thus a pair of potential left and right boundaries and if the gap between the found up-down transition and the current column is large enough, the down-up transition found on the current column is interpreted as the left boundary of a new text object and a new box is created from the formerly found pair of transitions. The current column is marked as a new potential left boundary. If the gap is not large enough, the algorithm interprets the valley in the profile as being to small and consequently ignores (deletes the potential left boundary found so far). The algorithm continues with the next value in the profile. The invention is not limited to these details.
  • FIG. 6 gives an example of the result of the horizontal segmentation algorithm. Note that additional revisions should be performed to the bounding boxes for more complex layouts.
  • FIG. 7 illustrates text “DOW JONES Commodities trading is risking and is not for everyone” in an image 120 that includes a background 124 .
  • Image 120 is in a webpage 126 .
  • Background 124 may be a single color or a complex background (e.g., with many colors of different shapes).
  • the vertical segmentation algorithm may not initially separate the different text lines of “Commodities trading involves risk and is not for everyone.” The reason for this becomes clear if one imagines what the vertical projection profile for the respective text box looks like. The text box in the left column may mask the vertical profiles of the smaller text to the right which therefore could not be split into two text lines. On the other hand, the gap between these two text columns is large enough to be split up after the horizontal segmentation algorithm was applied. Experimentally it turns out, that almost every layout can be divided into its text rows and columns if a few cycles (or passes) of vertical and horizontal segmentations are applied to the text boxes.
  • [0084] may be discarded, too.
  • text boxes which have the same upper and lower boundary and are close enough to touch or overlap each other may be joined into one text box. This reduces complexity and may later enable a more stable text tracking throughout time.
  • estimates of the text color and background color for each text bounding box are made.
  • the estimates may be used to determine whether a text bounding box contains normal text (dark text on bright background) or inverse text (bright text on dark background).
  • Images are typically colorful. Even a visually single-colored region like a character in a video frame consists of pixels of many different but similar colors. Accordingly, the complexity of the color distribution in each text bounding box may be reduced by quantizing the colors to, for example, the four most dominating colors.
  • a variety of vector quantizers may be used. In our work, we used a fast vector quantizer, which are readily available.
  • a text color histogram provides a measure of the amount of the quantized colors included text in a bounding box.
  • the measure may be of a sample of the text, for example, the four center rows of the text bounding box.
  • the colors measured by the text color histogram would typically also include some background intermingled between letters and inside some letters (e.g., “o”). Of course, portions of the text other than the four center rows could be used for the text color histogram.
  • a background color histogram may provide a measure of the amount of the quantized colors included in portions of the background.
  • the portions could be two rows directly above and below the text box (four rows together).
  • this background color histogram can include components from two background color histograms (e.g., one from above the text and the other from below the text). Alternatively, there might be only a background color histrogram from above the text or one color histogram from below the text.
  • a difference histogram is calculated between the text and background histograms.
  • the maximum color of the difference histogram is very likely to correspond to the text color and the minimum color of the difference histogram to the dominating background color.
  • FIG. 8 is a block diagram illustration of the use of vector quantization and the use of color histograms to estimate the color according to some embodiments of the invention. Other embodiments have different details.
  • block 130 represents a bounded text box and surrounding background before it is vector quantized (VQ).
  • Block 134 represents the bounded vector quantized text signal and background. After VQ, the text signal including background has only four colors.
  • a text color histogram CH T is created from, for example, a strip (e.g., four center rows) through the center of text.
  • Upper and low color histograms CH U and CH L are created from a strip (e.g., two rows) above the text and from a strip (e.g., two rows) below the text, respectively. In the example, 4 colors are allowed. Therefore, the color histograms provide a representation of the amount of each of the colors C 1 , C 2 , C 3 , and C 4 included in the strips after VQ.
  • the estimated color may be used as described in sections 6.2.2 and 6.3, below. However, in section 5 to section 6.2.1 and the first part of section 6.2.2, images with gray scale colors (such as the image 88 in FIG. 2) may be used.
  • Video is distinguished from still images and non-video web pages by temporal redundancy. Typically, each text line appears over several contiguous frames. This temporal redundancy can be exploited to:
  • MPEG-1 Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 MBits/s
  • MPEG-2 Generic Coding of Moving Pictures and Associated Audio
  • ISO/IEC JTC 1 CD 13818 (1994) MPEG-4 (“Very Low Bitrate Audio-Visual Coding” Status: call for Proposals 11.94, Working Draft in 11.96).
  • MPEG-1 and MPEG-2 Various formats other than MPEG may be used.
  • the image-based text localizer described in section 4 is only applied to every 20th frame (e.g., frames F 80 , F 100 , F 120 , etc. in FIG. 9). If text is detected (e.g., in frame F 120 ), the second stage of text tracking will be entered. In this stage, text lines found in the monitor stage are tracked backwards (e.g., frame F 119 ) and forwards (e.g., frame F 121 ) in time up to their first (e.g., frame F 115 ) and last frame of occurrence (e.g., frame F 134 ).
  • This stage uses a combination of signature-based search of text lines and image-based text localization.
  • a signature-based search is less computationally intensive than image-based text localization (section 4).
  • a signature-based search could include comparing edges or areas of the text with things in other frames. It could involve an edge map comparison. Horizontal profiles could be compared.
  • video is monitored for text occurrences at a coarse temporal resolution.
  • the image-based text localizer might be only applied to an evenly spaced frame subset of the video.
  • the step size is determined by the objective not to oversee any text line. However, it may be unimportant whether text lines are localized at the beginning, at the middle or at the end of their temporal occurrence. In any case, the text tracking stage will recover the actual temporal range of each text line.
  • the maximal possible step size may be given by the minimal assumed temporal duration of text lines occurrences, which we assume to be one second. Vision research indicates that humans need between 2 and 3 seconds to process a complete scene. Thus, it seems reasonable to assume that text should appear clearly for at least 2 ⁇ 3 of a second in order to be easily readable. For a 30 fps video this translates to a step size of 20 frames.
  • each text object is then extended to all frames containing the respective text line based on the information contained in the text objects created in the video monitoring stage. (This reduces the number of bits maps to be provided on conductors 44 in FIG. 1) Text tracking may be performed both backwards and forwards in time. However, we restrict our description to forward tracking only since backward tracking does not differ from forward tracking except in the direction you go through the video. The basic idea behind our fast text tracker is to take the text line in the current video frame, calculate a characteristic signature which allows to distinguish this text line from text lines with other contents and search for the image region of same dimension in the next video frame which best matches the reference signature.
  • the vertical and horizontal projection profile as defined in section 4.4.2 serve as a compact and characteristic reference signature, although other signatures could be used.
  • the center of a signature may be defined as the center of the bounding text box of the associated text line. Similarity between two signatures may be measured by signature intersection (e.g., by the sum of the minimum between respective elements in the signatures). In cases where signatures capture an object of interest as well as changing background, signature or histogram intersection may outperform L-norms. To find the precise position of a text line in the next frame, all signatures whose centers fall into a search window around the center of the reference signature, may be calculated and compared to the reference signature.
  • the text line may be declared to be found and added to the text object. If the best match does not exceed a minimal required similarity, a signature-based drop-out is declared.
  • the size of the search radius depends on the maximal assumed velocity of text. In our experiments we assumed that text needs at least 2 seconds to move from left to right in the video. Given the frame size and the playback rate of the video this translates directly to the search radius in pixels. In principle, we could predict the location by the information contained in the text object so far to narrow down the search space, however, there may be no computational need for it.
  • this signature-based exhaustive search algorithm may resemble the block matching algorithm for motion prediction, except that the similarity measure is based on a signature derived from a feature image of the actual image.
  • the signature-based text line search does not detect a text line fading out slowly since the search is based on the signature of the text line in the previous frame and not on one fixed and derived master/prototype signature. The changes from frame to frame might be too small to be detectable. Further, the signature-based text line search may fail to track some zooming in or zooming out text. To overcome these limitations, the signature-based search may be replaced every x-th frame by the image-based text localizer in order to re-calibrate locations and sizes of the text lines. Newly detected text boxes, however, may be discarded here.
  • the tracking process may be aborted, as soon as one of both counters exceeds its threshold max DropOut signature-based or max DropOut image-based .
  • Pseudocode Example 5, below gives a summary of the video monitoring process, according to some embodiments of the invention. However, other embodiments of the invention may be implemented with other details.
  • each text object is temporally trimmed down to the first and last frame in which the image-based text localizer detected the text line.
  • the text object is discarded if, for example,
  • the first condition results from our observation that text lines are usually visible for at least one second and shorter text lines are usually false alarms.
  • the second condition removes the text objects resulting from unstable tracking with which subsequent processing cannot deal. Unstable tracking may be caused by strong compression artifacts or non-text.
  • one or more of the following global features may be determined for each text object. The particular details may vary in different embodiments.
  • the text color of a text object is determined as the median of all determined text colors per frame (e.g., as obtained through section 4.4.3).
  • the text color does not have to be chosen to be the median.
  • Another average or non-average measure could be used.
  • the size of the text bounding box may be fixed or change over time. If it is fixed, we determine its width and height by means of the median over the set of widths and heights.
  • the text line might be static in one or both coordinates.
  • a text line is regarded as static in the x and/or y direction if the average movement per frame is less than 0.75 pixels.
  • the average movement is calculated based on the difference in location between the first and last text occurrence of that text line normalized by the number of frames.
  • the median text bounding box is the box which left/right/top/bottom border is the median over all left/right/top/bottom borders. If the position is only fixed in one direction such as the x or y axes, the left and right or the top and bottom are replaced by the median value, respectively.
  • Text segmentation acts may be performed on rescaled images (by, e.g., cubic interpolation) such that the text height of the text object under consideration has a fixed height of, for example, 100 pixel and the aspect ratio is preserved.
  • rescaled images by, e.g., cubic interpolation
  • the reasons for re-scaling are two-fold:
  • Enhancing the visible quality of text bitmaps is another and even more important reason for up-scaling small text bitmaps.
  • the higher resolution enables sub-pixel precise text alignment (with respect to the original resolution) in section 6.2.2.
  • a text height larger than the fixed height (e.g., 100 pixels) does not improve segmentation nor OCR performance. Reducing its size lowers the computational complexity significantly. Note that since our approach is truly multi-resolution and operates on web pages and HDTV video sequences with a resolution up to 1920 by 1280 pixels, larger font sizes are very likely. 100 pixels is only ⁇ fraction (1/12) ⁇ of the frame's height.
  • backgrounds may be removed.
  • a complex background has larger variation than a simple background.
  • the invention is not limited a particular type of background (it may be complex or simple background).
  • an embodiment of the invention might be modified to use that information.
  • Text occurrences are supposed to contrast with their background in order to be easily readable. This feature is used here to remove large parts of the complex background. In some embodiments, it works as follows, although the invention is not so limited. The basic idea is to increase the text bounding box such that no text pixels fall on the border and then to take each pixel on the boundary of the text bounding box as the seed to fill all pixels which do not differ more than threshold seedfill with the background color. (Note that in some embodiments, the change of the filled pixels to the background color is firstly only memorized and not actually executed on the bitmap. Execution may be performed after the seed-fills have been applied to all pixels on the box boundary.) The background color is black for inverse text and white for normal text. Since the pixels on the boundary do not belong to the text and since the text contrasts with its background, the seed-fill algorithm will never remove any character pixels. (Seed-fill algorithms are known in the art.) We call this newly constructed bitmap B r (x,y).
  • each pixel may be as a seed for the seed-fill algorithm.
  • the 8-neighborhood seed-fill algorithm may then be applied hypothetically to B r (x,y) in order to determine the dimension of the region that could be filled. Background regions should be smaller then text character regions. Therefore, all regions with a height less than min height pixels and a width less than min width or larger than max width are deleted, (set to the background color).
  • a video text object differs from a single image text object in the respect that it includes multiple image text representations (e.g., bitmaps) of the same text line and not just one.
  • image text representations e.g., bitmaps
  • the following method is applied to exploit this redundancy to remove the complex background surrounding the actual characters.
  • the invention is not limited to these details. The method can be applied to not only static text, but also to moving text because we have solved the problem of sub-pixel accurate text line alignment.
  • the original image may be reloaded in a gray scale format.
  • the vector quantized version is used to determine which gray scale color is the same as the estimated text color as described below.
  • the 40 frames could be spaced by ⁇ fraction (15/4) ⁇ , which means the spacing could round up or down to an integer or the spacing could be in consistent, some times 3, but mostly 4 to make ⁇ fraction (15/4) ⁇ on average.
  • some frames at the beginning and end of a text object may be skipped to avoid potential problems with fade in or fade out effects.
  • image based localization techniques are used every so many frames to avoid having characteristic text color be changed slowly in fade in or fade out. Signature only tracking could result in the segmentation being ruined under such cases.
  • bitmaps are aligned essentially perfectly.
  • all bounding text boxes of a text object may be extended, for example, horizontally by 20% and vertically by 40%.
  • all bitmaps may be converted to grayscale since grayscale is more stable to color compression artifacts.
  • Almost all video compression algorithms represent intensity at a higher resolution than colors such as in the famous 4:2:0 sampling scheme.
  • N could be 40 so there are 40 bitmaps from 40 frames. Then, for each bitmap B i (x,y),i ⁇ 1, . . .
  • B r i ( x,y ) min ( B r i ⁇ 1 ( x,y ), B i ( x+dx t opt ,y+dy t opt )) for inverse text.
  • the background may tend to get brighter and brighter for normal text and darker and darker for inverse text.
  • the first frame is the brightest or darkest, respectively.
  • the grayscale text bitmaps may be converted to black on white background.
  • a suitable threshold value one that allows good if not optimal separation between text and background. From section 4.4.3 we know the estimated text color, the dominant background color and whether we have to deal with normal text or inverse text. Since most of the background has been removed anyway in section 6.2, we decided to set the background color to black for inverse text and to white for normal text. Then, a good binarization threshold is to choose the intensity half way between the intensity of the text color and the background color. Each pixel in the text bitmap which is higher than the binarization threshold may be set to white for normal text and black for inverse text.
  • Each pixel in the text bitmap which is lower or equal than the binarization threshold may be set to black for normal text and white for inverse text. Finally, it is recommended to clean-up the binary bitmap by discarding small regions (set to the background color) in the same way as described in section 6.2.1.
  • Some embodiments of the present invention are not only able to locate and segment text occurrences into large binary images, but also to label each pixel within an image or video whether it belongs to text or not.
  • our text localization and segmentation techniques can be used for object-based video encoding.
  • Object-based video encoding is known to achieve a much better video quality at a fixed bit rate compared to existing compression technologies.
  • Our text localization and text segmentation algorithms solve this problem for text occurrences in videos.
  • Some embodiments of the invention involve a multi-resolution approach in which the text localization and text segmentation algorithm works successfully from MPEG-1 video sequences up to HDTV MPEG-2 video sequences (1980 ⁇ 1280) without any parameter adjustment.
  • character sizes can vary between 8 pixels and half the frame height.
  • FIG. 10 illustrates a computer system 180 having a processor 184 and memory 188 .
  • Memory 188 represents one or more of a variety of types of memory apparatus including RAM, hard drives, CD ROMS, and video memory to name only a few.
  • Memory 188 includes machine readable mediums on which instructions can be stored to perform the various functions described above.
  • Memory 188 can also store data (e.g., digital video signals) to be processed and intermediate and final results of processing. It will be appreciated that FIG. 10 is highly schematic and in practice would include a variety of other well known components.
  • frame is intended to have a broad meaning. For example, it does not matter whether it is interleaved or not. Likewise, the terms image and video are intended to be interpreted broadly. No particular format is required.

Abstract

In some embodiments, the invention includes a method for locating text in digital images. The method includes scaling a digital image into images of multiple resolutions and classifying whether pixels in the multiple resolutions are part of a text region. The method also includes integrating scales to create a scale integration saliency map and using the saliency map to create initial text bounding boxes through expanding the boxes from rectangles of pixels including at least one pixel to include groups of at least one pixel adjacent to the rectangles, wherein the groups have a particular relationship to a first threshold. The initial text bounding boxes are consolidated. In other embodiments, a method includes classifying whether pixels are part of a text region, creating initial text bounding boxes, and consolidating the initial text bounding boxes, wherein the consolidating includes creating horizontal projection profiles having adaptive thresholds and vertical projection profiles having adaptive thresholds.

Description

    BACKGROUND OF THE INVENTION
  • 1. Technical Field of the Invention [0001]
  • The present invention relates generally to localization and/or segmentation of text in images. [0002]
  • 2. Background Art [0003]
  • Existing work on text recognition has focused primarily on optical recognition of characters (called optical character recognition (OCR)) in printed and handwritten documents in answer to the great demand and market for document readers for office automation systems. These systems have attained a high degree of maturity. Further text recognition work can be found in industrial applications, most of which focus on a very narrow application field. An example is the automatic recognition of car license plates. [0004]
  • Proposals have been made regarding text detection in and text extraction from complex images and video. However, as can be seen from reading their descriptions, they are each non-general in some aspect. Further, some do not involve removal of the localized text from its background. [0005]
  • Accordingly, a need for a generalized approach of text localization and segmentation remains.[0006]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention will be understood more fully from the detailed description given below and from the accompanying drawings of embodiments of the invention which, however, should not be taken to limit the invention to the specific embodiments described, but are for explanation and understanding only. [0007]
  • FIG. 1 is a flow diagram representing various functions performed in some embodiments of the invention. [0008]
  • FIG. 2 is flow diagram representing images at various stages of localization in some embodiments of the invention. [0009]
  • FIG. 3 illustrates examples of initial bounding boxes for an image in a frame having text and a background. [0010]
  • FIG. 4 illustrates examples of vertical and horizontal projection profiling. [0011]
  • FIG. 5 illustrates vertical segmentation applied to a portion of the text of FIG. 3. [0012]
  • FIG. 6 illustrates horizontal segmentation applied to a portion of the text of FIG. 3. [0013]
  • FIG. 7 illustrates an image on a web site that includes text and a background. [0014]
  • FIG. 8 is partially block diagram, partially flow diagram representation of color estimation through quantization according to some embodiments of the invention. [0015]
  • FIG. 9 is a flow diagram representing a relation between video monitoring and text tracking according to some embodiments of the invention. [0016]
  • FIG. 10 is a block diagram representation of a computer system that can perform functions according to some embodiments of the invention.[0017]
  • DETAILED DESCRIPTION
  • 1. Introduction [0018]
  • Various embodiments of the present invention involve localization and/or segmentation of text in images, wherein the images may be still or motion images, such as in video or Web pages. Web pages may include video or non-video images. The text is not required to be in a particular location in the image or have a particular color. Further, the background (also called non-text) may have a simple (e.g., monochrome) or complex background. [0019]
  • Efficient indexing and retrieval of digital video is an important aspect of multimedia databases. The text in videos is one powerful high-level index for retrieval. Detecting, extracting and recognizing text can build such an index. It enables a user to submit sophisticated queries such as a listing of all movies featuring John Wayne or produced by Steven Spielberg. Or it can be used to jump to news stories about a specific topic, since captions in newscasts often provide a condensation of the underlying news story. For example, one can search for the term “Financial News” to get the financial news of the day. The index can also be used to record the broadcast time and date of commercials, helping the people who check for their clients whether their commercials have been broadcast at the arranged time on the arranged television channel. Many other useful high-level applications are imaginable if text can be recognized automatically and reliably in digital video. Segmenting and recognizing text in the non-text parts of web pages is also an important issue. More and more web pages present text in images. Existing text segmentation and text recognition algorithms cannot extract the text. Thus, all existing search engines cannot index the content of image-rich web pages properly. Text segmentation and text recognition might also help in automatic conversion of web pages designed for large monitors to small LCD displays of appliances, since the textual content in images can be retrieved. [0020]
  • 2. Overview [0021]
  • FIG. 1 provides a flow diagram which is useful to give an over view relative to some embodiments of the invention. FIG. 1 includes a [0022] text localization block 10 and a text segmentation block 14. Reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least some embodiments, but not necessarily all embodiments, of the invention. The various appearances “an embodiment,” “one embodiment,” or “some embodiments” are not necessarily all referring to the same embodiments.
  • 2.1 Text Localization: [0023]
  • A digital input signal (which typically includes an image) is received by [0024] feature extraction block 20 of text localization block 10. In some embodiments, any ASCII or related text (e.g., HTML text) is removed before or as the input signal is received by feature extraction block 20. Note that a Web page could have multiple images that are treated as separate images. The text localization block finds locations of text in images and marks them by tight text bounding boxes. In some embodiments, these bounding boxes should circumscribe only one text line of one text column. However, as described below, a text column is not limited to a single character. In some embodiments, localization includes the following:
  • (1) Feature extraction (block [0025] 20): A feature is extracted from the input image, which capture features unique to text.
  • (2) Region classification (block [0026] 22): Each pixel in the feature image is classified whether it belongs to text or not. Based on this information initial text bounding boxes are created.
  • (3) Region consolidation (block [0027] 24): The text bounding boxes are refined such that each contains only one line and column of text.
  • (4) Text Tracking (block [0028] 26): If the input is video, this block is added to the processing. Here we exploit the temporal redundancy of video to improve the precision of text bounding boxes as well as to remove many false alarms.
  • (5) Estimating text and dominant background color (block [0029] 28).
  • 2.2 Text Segmentation: [0030]
  • The text segmentation stage (block [0031] 14) removes the background (non-text pixels) and creates an output signal. The output signal on output 44 is an image text representation. An example of an image text representation is a text bitmap. The text bitmap may include, for example, a black text on a white background, regardless of the colors of the original text and background. The bitmap may be used by text recognition software to identify the particular text that has been localized and segmented by blocks 10 and 14. As an example, the text recognition software may be standard OCR software, which expects black text on a white background, although the invention is not limited to producing such an output signal.
  • To improve segmentation, each text box is scaled to a height of, for example, 100 pixels (block [0032] 30). Next, the background is removed (blocks 32 and 36). The search for background pixels starts on the border of the text bounding box. For video, this may be preceded by sub-pixel accurate alignment of the bitmaps of the same text (block 34). The remaining pixels may be binarized (block 38). As mentioned, the resulting binary bitmaps can be fed into standard OCR software to transcribe their content into, for example, ASCII.
  • The invention is not restricted to the particular blocks ([0033] 10 and 14) of FIG. 1. In different embodiments, the details of these blocks (20-38) may be different and some blocks could be eliminated, consolidated, or have a different order.
  • 3. Additional Overview Information and Summary [0034]
  • Some embodiments of the text localization and segmentation system belong to a class of top-down approaches. Potential text lines are refined in case of video by exploiting its temporal redundancy (section 5). Like in the text localization, the text segmentation may also use the temporal redundancy of video to improve the segmentation result. Several basic decisions are involved in some embodiments. They include: [0035]
  • (1) Only horizontal text is considered since this is true for more than 99% of all artificial text occurrences. Experiences with older systems, which considered any writing direction, suggests that the missing 1% of text occurrences would be paid off by a much higher false alarm rate. As long as a performance of >90% correctly segmented text in videos and images is still a challenge, non-horizontal text can be neglected. [0036]
  • (2) Non-text regions are much more likely than text regions. Therefore, we decided to train the raw text detector as tight as possible (trained for a specific size of text at a specific position). Scale and position independence may be achieved by a applying our text detector at all positions in all scales. [0037]
  • Another decision is that text occurrences only matter if they consist of a least two letters or digits. [0038]
  • The invention is, however, not restricted to the particular details mentioned above. For a particular applications, it may be known that vertical text will be used, in which case, it can be accommodated. Further, if other information is known about the image, the particular embodiment of the invention may be modified to take advantage of that knowledge. [0039]
  • 4. Text Localization [0040]
  • Referring to FIG. 2, an [0041] image 50 is scaled into multiple image 52, 54, 56, 58, and 60 of different sizes. The images may be still images or image frames in video. Although five images are shown, the number may be more or less than five. The edge orientation of pixels in the image is determined to create feature images 62, 64, 66, 68 and 70 (see section 4.1). A fixed scale text adapter is applied to classify pixels in the edge orientation image to create images 72, 74, 76, 78, and 80 (see section 4.2). Images 72-80 are integrated into one saliency map 84 associated with an image (see section 4.3). Initial text bounding boxes are created from saliency map 84 (see section 4.4.1). The text bounding boxes and an associated image which is the same as or similar to image 50 are represented by block 86. The text bounding boxes of block 86 are revised (e.g., consolidated) (see section 4.4.2) to created revised text bounding boxes as represented by block 88 which also represents the image associated with block 86. Note that the text bounding boxes are not part of the image, but are associated with the image.
  • 4.1 Image Features [0042]
  • Artificial text occurrences have been commonly characterized in the research community as regions of high contrast and high frequencies. There are many different ways to amplify these features. One way is to use the gradient image of the RGB (red, green, blue) input image I(x,y)=(I[0043] r(x,y), Ig(x,y), Ib(x,y)) in order to calculate the complex-values edge orientation image E. E is defined as follows: Let Ac(r,φ) be the angular coordinate representation of the Cartesian derivation image ∇Ic(x,y) of color plane c. Then, E is defined as the Cartesian coordinate representation of A(r,φmod 180°)= c { r , g , b } A c ( r , ϕ mod 180 ) .
    Figure US20020159636A1-20021031-M00001
  • The modulo 180 degree is applied to convert direction into orientation. E serves as our feature for text localization. [0044]
  • Another way is to use the directional derivation D[0045] c x and Dc y of image band b to calculate the directional edge strength E x = c { r , g , b } D x c and E y = c { r , g , b } D y c .
    Figure US20020159636A1-20021031-M00002
  • as well as its overall edge strength [0046] E = 1 / 3 c { r , g , b } ( ( D x c ) 2 + ( D y c ) 2 ) 1 / 2 .
    Figure US20020159636A1-20021031-M00003
  • 4.2 Fixed Scale Text Detector [0047]
  • In some embodiments, a fixed scale text detector is used to classify each pixel in the edge orientation image E based on its local neighborhood whether it is part of a text region of certain size. For example, given a 20×10 pixel region in an edge orientation image E, the fixed scale text detector classifies whether the region contains text of a certain size. There are many different techniques for developing a classifier. Examples include a Bayes classifier, a mixed-gaussian classifier, and a neural feed-forward network (which has a good generalization capability). For our work, we compared the performance of a Bayes classifier using the Neyman-Pearson criterion with the performance of a real-valued and complex-valued neural feed-forward network. The complex-valued neural network with a hyperbolic tangent activation function may provide superior performance. In some experiments, at a comparable hit rate (90%), its false hits (0.07%) on the validation set was more than twice as low than with a comparable real-valued network. [0048]
  • Network Architecture. [0049]
  • Various network architecture may be used. In some embodiments, 200 complex-valued neurons fed by a 20×10 edge orientation region in E serve as network input. This size of the receptive field exhibits a good trade-off between performance and computational complexity. An input layer of 30×15 neurons achieved not better classification results, but was computational more expensive. On the other side, using an input layer with less than 10 rows resulted in substantially worse results. Note that the number of rows of the receptive field determines the size of the font being detected since all training text patterns are scaled such that the fonts size is equal to the number of rows. The input layer in turn is connected to a hidden layer of 2 complex-valued neurons. Again, using more hidden neurons did not result in any performance improvements, while using only one increased the false alarm rate by a factor of three. The hidden layer is aggregated into one real-valued output neuron. [0050]
  • Network Training. [0051]
  • There are various ways to accomplish network training. The following describes some ways, but the invention is not so limited. The training and validation test set should be as small as possible while still being representative. It should contain all typical text patterns and non-text patterns. Theoretical investigations have shown that neural networks will be most efficient, if the relation between the number of text and non text samples in the training set corresponds to the relation of the two groups in the application. A quantity of training samples which fulfill this criteria is obtained. While it is straightforward how to get examples for different types of text, it may be more difficult to get a representative non-text set. [0052]
  • A solution to this problem is the so-called “bootstrap” method. The composition of the training set may seriously affect a network's performance. In some embodiments, a representative set of 30180 text patterns and 140436 non-text patterns were collected. Initially 6000 text patterns and 5000 non-text pattern were selected randomly for training. Only the non-text pattern set was allowed to grow by another 3000 patterns collected by means of the “bootstrap” method. This method starts with an initial set of non-text patterns to train the neural network. Then, the trained network is evaluated using a validation set distinct from the training set (here: all patterns minus the training set). Some of the falsely classified patterns of the validation set are randomly added to the training set and a new, hopefully enhanced neural network is trained with this extended and improved training set. The resulting network is evaluated with the validation set again and further falsely classified non-text patterns are added to the training set. This cycle of training and directed adding new patterns is repeated until the number of falsely classified patterns in the validation set does not decrease anymore or—like in our case—3000 non-text patterns (and only non-text patterns)—have been added. This iterative training process guarantees a diverse training pattern set. [0053]
  • Given a properly trained neural network, a 20×10 pixel window slides over the edge orientation image E and is evaluated at each position. The network's response is stored in a so-called response image by filling the associated 20×10 region in the response image with the networks output value if and only if it exceeds th[0054] network=0 (between −1 and 1). Since a step size of one may be computationally prohibitive for large images or high definition television (HDTV) video sequences, we use a step factor of 3 and 2 in the x and y direction, respectively. It may be that the subsampling does not causes any decrease in accuracy but a speed-up of 6x.
  • Under other embodiments, using a real valued network, logistic activation function, at each window location, the output of the neural network is tested if it exceeds th[0055] network=0.85 (between 0 and 1.0). If so, a box of 20×10 filled by the neural network's output value may be added to the associated position in the response image.
  • 4.3 Scale Integration. [0056]
  • In some embodiments, the raw fixed-scale text detection results at all scales (images 72 -80) are integrated into one saliency map of text in order to recover initial text bounding boxes. (See, FIG. 2, block [0057] 82.) In many situations, text locations identify themselves as correct hits at multiple scales, while false alarms appear less consistent over multiple scales. A saliency map may be created by projection of the confidence of being text back to the original scale of the image. (An example of the confidence of being text is an activation level of the neural network output.) The saliency map may be initialized by zero. Then, for each detected bounding box at each scale its confidence value of being text is added to the saliency map over the size of the bounding box at the original image scale. There may be more than one bounding box in a given scale within the vicinity of a particular area. In some embodiments, the saliency map may reflect the total number of bounding boxes from all image scales within the vicinity of a particular area.
  • 4.4 Extraction of Text Bounding Boxes [0058]
  • 4.4.1 Initial Text Bounding Boxes [0059]
  • There are various ways to create text bounding boxes. The following describes techniques for some embodiments, but the invention is not restricted to these details. To create an initial set of text bounding boxes around regions of strong saliency, the algorithm starts to search for the next not yet processed pixel in the saliency map with a value larger then a pre-specified threshold th[0060] core. The choice of the threshold's value is determined by the goal to avoid the creation of text boxes for non-text regions. Non-text regions should be less salient. For our classifier, thcore=5.0 worked fine, however, it may have to be adjusted (e.g., if a new neural network is trained). A number other than 5.0 could be used. Once a pixel, called core pixel, in the saliency map with value P(x,y)>thcore is found, it is taken as a seed for a new text box of height and width 1. This new text box is then expanded iteratively. The following pseudo code (called Pseudocode Example 1) gives an example of the Initial text box creation algorithm.
  • Initial Text Box Creation Algorithm (Pseudocode Example 1): [0061]
    (1) search for next core pixel and create a new text box of width
    and height 1.
    (2) do
    (3) extendNorth (box)
    (4) extendEast(box)
    (5) extendSouth(box)
    (6) extendWest(box)
    (7) while (box changed)
  • The average intensity of the pixels of the adjacent row above the total width of the box in the overall edge strength image is taken as the criterion for growing in that direction. If the average intensity is larger than th[0062] region=4.5, the row is added to the box. This value is chosen to be a little bit smaller than thcore in order not only to get a text box including the core of a text region, but a text box that encompasses all parts of the text. Next, the same criterion is used to expand the box to the left, bottom, and right. This iterative box expansion repeats as long as the bounding box keeps growing (see Pseudocode Example 1).
  • FIG. 3 illustrates date and time in an image in a [0063] video frame 110 and examples of initial bounding boxes, although the invention is not restricted to the particular examples. The background of frame 110 could be a solid color (such as white as illustrated) or a more complex background with different colors of various shapes. The text bounding boxes are illustrated as dashed lines. There could be additional text in image 110.
  • 4.4.2 Revised Text Bounding Boxes [0064]
  • The initial bounding boxes often do not optimally frame the text in the image: In practice, some boxes contain no text (false alarms); others span more than one line and/or column of text, and in many the background make up a large portion of the pixels. Fortunately, these shortcomings can be overcome by an iterative post-processing procedure utilizing the information contained in so-called projection profiles. [0065]
  • A projection profile of an image region is a compact representation of the spatial pixel content distribution and has been successfully employed in document text segmentation. While histograms only capture the frequency distribution of some image feature such as the pixel intensity (all spatial information is lost), intensity projection profiles preserve the rough spatial distribution at the cost of an even higher aggregation of the pixel content. A horizontal/vertical projection profile may be defined as the vector of the sums of the pixel intensities over each column/row. [0066]
  • FIG. 4 shows an example in which vertical and horizontal projection profiles are depicted as bar charts along the x and y axes of the feature images. The upper boundaries of the text lines are marked by steep rises in the vertical projection profile while the lower boundaries are marked by steep falls. Similarly, the right and left boundaries of text objects are indicated by steep rises and falls in the horizontal projection profile. These steep rises and falls can be identified as locations where the profile graph crosses an adaptively set threshold line. Down-up transitions are signified by a long line and up-down transitions are signified by a short line (as labeled in FIG. 4). [0067]
  • The term “text object” is used as follows. In the case of a single image, a text object is a text boundary box (including one that has been through the revision process). In the case of video, a text object includes multiple text bounding boxes (including those that have been through the revision process) from different frames in time. Stated differently, in the case of video, the text object includes different instances of the same text from different frames (images). [0068]
  • An example of a vertical segmentation algorithm is given in pseudocode form in Pseudocode Example 2. An example of a horizontal segmentation algorithm is given in pseudocode form in Pseudocode Example 3. However, the invention is not limited to the particular details shown in Pseudocode Examples 3 and 4. There are other ways to implement embodiments of the inventions. Note that the term “segmentation” is used in this section in connection with revising initial bounding boxes and in section 6 to refer generally to removing text from the background. [0069]
  • Vertical Segmentation Algorithm (Pseudocode Example 2): [0070]
     (1) expand box at the top and bottom by the minimum of half the height of the original text
    box and half the possible maximal text height
     (2) calculate vertical projection profile of the |E|
     (3) get minimum and maximum profile values
     (4) calculate the segmentation threshold
     (5) set change = false
     (6) for all rows of the profile
     (7) if (profile[current row] > threshold)
     (8) if (no upper boundary yet)
     (9) set upper boundary = current row
    (10) else
    (11) if (no lower boundary yet)
    (12) set lower boundary = current row
    (13) if (upper boundary)
    (14) create new box using the values of the upper and lower boundaries
    (15) unset current upper and lower boundaries
    (16) set change = true
    (17) delete processed box
  • Horizontal Segmentation Algorithm (Pseudocode Example 3): [0071]
     (1) expand box at the left and right by the minimum of half the height of the original text box
    and half the possible maximal text height
     (2) calculate horizontal projection profile of the |E|
     (3) get minimum and maximum profile values
     (4) calculate the segmentation threshold
     (5) for all columns of the profile
     (6) if (profile[current column] > threshold)
     (7) if (no left boundary yet)
     (8) set left boundary = current column
     (9) else if (right boundary)
    (10) if (gap between current column and right boundary is large enough)
    (11) create new box from left and right boundaries
    (12) unset left and right boundaries
    (13) else
    (14) unset right boundary
    (15) else if (no right boundary)
    (16) set right boundary = current column
    (17) if (left && no right boundary)
    (18) right boundary = last column
    (19) if (left and right boundaries)
    (20) update processed box to current right/left boundaries
    (21) else
    (22) delete processed box
  • With reference to Pseudocode Example 2, in some embodiments, the vertical segmentation algorithm applied to each text box works as follows, although the invention is not limited to these details. The box is enlarged at the top and bottom (lines (1) and (2) in Pseudocode Examples 2). The enlargement is desirable because the correct boundary may lie outside the current box and therefore the initial boundaries accidentally may cut off a portion of the text. To recover these boundaries correctly, some rows outside the original box should be taken into consideration. We set the top and bottom enlargements to the minimum of half the height of the original text box and half the possible maximal text height. While half the height of the original text box seems to be a good worst case estimate for imperfection in the initial vertical boundaries, the restriction to half the maximal possible text height is used because the original text box could contain more than one line of text and therefore half the height of the text box might be larger than the maximal possible text height. [0072]
  • Next, the vertical projection profile over the enlarged box of the feature image |E| is calculated as well as the maximum and minimum values max[0073] profile and minprofile in the profile. To determine whether a single value in the projection profile belongs to a text line, a threshold threshtext may be calculated as threshtext=minprofile+(maxprofile−minprofile)×0.175. (Note line (4) in Pseudocode Example 2). The factor of 0.175 was chosen experimentally and may be different in other embodiments. Every line with a vertical profile value exceeding threshtext is classified as containing text.
  • In lines (6)-(8) of Pseudocode Example 3, the algorithm begins to search for the first down-up transition starting from the top. This row is marked as a potential upper bound of a text box (line 9). Then, the next up-down transition is searched in the projection profile (line 13). If found a new box with the current upper and lower boundaries is created. The search for a new pair of down-up and up-down transitions continues until all elements in the projection profile have been processed. Finally, the original text box may be deleted. The text box is now split into its text line. See FIG. 5, which shows vertical segmentation applied to a portion of the frame of FIG. 3. Note that additional revisions should be performed to the bounding boxes shown in FIG. 5. [0074]
  • Analogously, the horizontal segmentation algorithm (Pseudocode Example 3) is applied to ensure that text in one line which does not belong together is separated. However, in some embodiments, two differences may exist between Pseudocode Examples 2 and 3: [0075]
  • (1) A factor of 0.25 instead of 0.175 is used in the computation of thresh[0076] text. Experimentally, this value has proven to be superior for the horizontal segmentation.
  • (2) A gap parameter has been added. Unlike the vertical segmentation words in the “same” column should not be split up due to small gaps between the individual words. [0077]
  • Therefore, the gap parameter is needed to bridge these low horizontal profile values if necessary. If the algorithm has found already a pair of down-up and up-down transitions and thus a pair of potential left and right boundaries and if the gap between the found up-down transition and the current column is large enough, the down-up transition found on the current column is interpreted as the left boundary of a new text object and a new box is created from the formerly found pair of transitions. The current column is marked as a new potential left boundary. If the gap is not large enough, the algorithm interprets the valley in the profile as being to small and consequently ignores (deletes the potential left boundary found so far). The algorithm continues with the next value in the profile. The invention is not limited to these details. [0078]
  • FIG. 6 gives an example of the result of the horizontal segmentation algorithm. Note that additional revisions should be performed to the bounding boxes for more complex layouts. [0079]
  • FIG. 7 illustrates text “DOW JONES Commodities trading is risking and is not for everyone” in an [0080] image 120 that includes a background 124. Image 120 is in a webpage 126. Background 124 may be a single color or a complex background (e.g., with many colors of different shapes). The vertical segmentation algorithm may not initially separate the different text lines of “Commodities trading involves risk and is not for everyone.” The reason for this becomes clear if one imagines what the vertical projection profile for the respective text box looks like. The text box in the left column may mask the vertical profiles of the smaller text to the right which therefore could not be split into two text lines. On the other hand, the gap between these two text columns is large enough to be split up after the horizontal segmentation algorithm was applied. Experimentally it turns out, that almost every layout can be divided into its text rows and columns if a few cycles (or passes) of vertical and horizontal segmentations are applied to the text boxes.
  • Since the text height in images as well as in video frames is limited, in some embodiments, boxes with [0081]
  • height<mintextheight=8pt
  • or [0082]
  • height>maxtextheight=imageheight/2
  • are classified as non-text regions and therefore discarded. Moreover, since horizontal segmentation assures that text boxes contain text objects like words or text lines, the height of correctly segmented text boxes should be smaller than their width. Consequently, boxes with [0083]
  • height>width
  • may be discarded, too. Finally, text boxes which have the same upper and lower boundary and are close enough to touch or overlap each other may be joined into one text box. This reduces complexity and may later enable a more stable text tracking throughout time. [0084]
  • 4.4.3 Estimating Text Color and Background Color [0085]
  • In some embodiments, estimates of the text color and background color for each text bounding box are made. The estimates may be used to determine whether a text bounding box contains normal text (dark text on bright background) or inverse text (bright text on dark background). Images are typically colorful. Even a visually single-colored region like a character in a video frame consists of pixels of many different but similar colors. Accordingly, the complexity of the color distribution in each text bounding box may be reduced by quantizing the colors to, for example, the four most dominating colors. A variety of vector quantizers may be used. In our work, we used a fast vector quantizer, which are readily available. [0086]
  • A text color histogram provides a measure of the amount of the quantized colors included text in a bounding box. The measure may be of a sample of the text, for example, the four center rows of the text bounding box. The colors measured by the text color histogram would typically also include some background intermingled between letters and inside some letters (e.g., “o”). Of course, portions of the text other than the four center rows could be used for the text color histogram. [0087]
  • A background color histogram may provide a measure of the amount of the quantized colors included in portions of the background. For example, the portions could be two rows directly above and below the text box (four rows together). Note that this background color histogram can include components from two background color histograms (e.g., one from above the text and the other from below the text). Alternatively, there might be only a background color histrogram from above the text or one color histogram from below the text. [0088]
  • In some embodiments, a difference histogram is calculated between the text and background histograms. The maximum color of the difference histogram is very likely to correspond to the text color and the minimum color of the difference histogram to the dominating background color. This methodology was proved experimentally to be very reliable for homogeneously colored text. Of course, it may fail for multi-colored text, which is rare. [0089]
  • Based on the estimated text color and the most dominant background color we estimate whether a text bounding box contains normal text or inverse text, described above. If the grayscale value of the text color is lower than dominant background, we assume normal text, otherwise inverse text. [0090]
  • FIG. 8 is a block diagram illustration of the use of vector quantization and the use of color histograms to estimate the color according to some embodiments of the invention. Other embodiments have different details. Referring to FIG. 8, block [0091] 130 represents a bounded text box and surrounding background before it is vector quantized (VQ). Block 134 represents the bounded vector quantized text signal and background. After VQ, the text signal including background has only four colors. A text color histogram CHT is created from, for example, a strip (e.g., four center rows) through the center of text. Upper and low color histograms CHU and CHL are created from a strip (e.g., two rows) above the text and from a strip (e.g., two rows) below the text, respectively. In the example, 4 colors are allowed. Therefore, the color histograms provide a representation of the amount of each of the colors C1, C2, C3, and C4 included in the strips after VQ. A difference color histogram CHD is created, where CHD=CHT -CHU-CHL. As suggested above, color histograms CHU and CHL may be summed before being subtracted from CHT.
  • Note that the estimated color may be used as described in sections 6.2.2 and 6.3, below. However, in section 5 to section 6.2.1 and the first part of section 6.2.2, images with gray scale colors (such as the [0092] image 88 in FIG. 2) may be used.
  • 5. Exploiting Information Redundancy in Videos [0093]
  • Video is distinguished from still images and non-video web pages by temporal redundancy. Typically, each text line appears over several contiguous frames. This temporal redundancy can be exploited to: [0094]
  • (1) increase the chance of localizing text since the same text may appear under varying conditions from frame to frame, [0095]
  • (2) remove false text alarms in individual frames since they are usually not stable throughout time, [0096]
  • (3) interpolate the locations of “accidentally” missed text lines in individual frames, and [0097]
  • (4) enhance text segmentation by bitmap integration over time. [0098]
  • However, exploiting this redundancy may be computational expensive, and applying our text localization scheme of section 4 may be prohibitive. To see this, suppose the image-based text localizer needs about 5 seconds per MPEG-I video frame. Processing a minute of video could add up to 2.5 hours! MPEG refers to Moving Picture Experts Group. Current and proposed MPEG formats include MPEG-1 (“Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 MBits/s,” ISO/IEC JTC 1 CD IS-11172 (1992)), MPEG-2 (“Generic Coding of Moving Pictures and Associated Audio,” ISO/IEC JTC 1 CD 13818 (1994); and MPEG-4 (“Very Low Bitrate Audio-Visual Coding” Status: call for Proposals 11.94, Working Draft in 11.96). There are different versions of MPEG-1 and MPEG-2. Various formats other than MPEG may be used. [0099]
  • 5.1 Text Objects [0100]
  • In the case of still images, all localized text bounding boxes are generally independent and unrelated to each other. To exploit the redundancy inherent in video, text bounding boxes of the same content in contiguous frames may be summarized into one text object based on the visual contents of the text bounding boxes. In the case of video, a text object describes a text line over time by its image text representation (e.g., bitmaps), sizes and positions in the various frames as well as its temporal range of occurrence. Complete text objects in videos are extracted in a two-stage process in order to reduce computational complexity. The following describes operation in some embodiments, although the invention is not so limited. In a first stage, a video signal is monitored at a coarse temporal resolution (see FIG. 9). For instance, the image-based text localizer described in section 4, is only applied to every 20th frame (e.g., frames F[0101] 80, F100, F120, etc. in FIG. 9). If text is detected (e.g., in frame F120), the second stage of text tracking will be entered. In this stage, text lines found in the monitor stage are tracked backwards (e.g., frame F119) and forwards (e.g., frame F121) in time up to their first (e.g., frame F115) and last frame of occurrence (e.g., frame F134). This stage uses a combination of signature-based search of text lines and image-based text localization. A signature-based search is less computationally intensive than image-based text localization (section 4). A signature-based search could include comparing edges or areas of the text with things in other frames. It could involve an edge map comparison. Horizontal profiles could be compared.
  • 5.1.1 Video Monitoring For Text Occurrences [0102]
  • In some embodiments, video is monitored for text occurrences at a coarse temporal resolution. For this purpose, the image-based text localizer might be only applied to an evenly spaced frame subset of the video. The step size is determined by the objective not to oversee any text line. However, it may be unimportant whether text lines are localized at the beginning, at the middle or at the end of their temporal occurrence. In any case, the text tracking stage will recover the actual temporal range of each text line. [0103]
  • The maximal possible step size may be given by the minimal assumed temporal duration of text lines occurrences, which we assume to be one second. Vision research indicates that humans need between 2 and 3 seconds to process a complete scene. Thus, it seems reasonable to assume that text should appear clearly for at least ⅔ of a second in order to be easily readable. For a 30 fps video this translates to a step size of 20 frames. [0104]
  • In some embodiments, if the image-based text localizer does not find any text line in frame[0105] t, the monitor process continues with framet+20. If, however, at least one text line is found, the image-based text localizer may be applied to framet−1 and framet+1. Next, for each text line in framet the algorithm searches for a corresponding text line in framet−1 and framet+1. Correspondence between to text lines may be defined as an area overlap of at least 80% of their respective bounding boxes at their frame locations, although other values could be used. If A and B represents the point set describing the reference and the second bounding box, respectively, then the percentage of overlap may be defined as overlap=|A∩B|/|A|. Consequently, in this case, two corresponding boxes cannot differ more than 20 percent in size if they occur at the same position in contiguous frames and/or are only allowed to be slightly shifted against each other if they have the same size. Small shifts are common for non-static text. If corresponding boxes in framet−1 and framet+1 are found for a text box in framet, a new text object (comprising these text boxes) is created and marked for tracking in time. Pseudocode Example 4 gives a summary of the video monitoring process.
  • Video Monitoring Algorithm for Text Occurrences (Pseudocode Example 4): [0106]
  • (1) video={frame 0, . . . , frame T}[0107]
  • (2) for t=0 to T step ⅔ seconds [0108]
  • (3) localize text in frame t [0109]
  • (4) if no text line found [0110]
  • (5) continue with next t [0111]
  • (6) localize text in frame t−1 and t+1 [0112]
  • (7) for all text lines in frame t which do not belong to any text object yet [0113]
  • (8) search for corresponding text line in t−1, t+1 [0114]
  • (9) if search successful [0115]
  • (10) create new text object [0116]
  • (11) track textobject backward [0117]
  • (12) track text object forward [0118]
  • 5.1.2 Text Tracking [0119]
  • In some embodiments, each text object is then extended to all frames containing the respective text line based on the information contained in the text objects created in the video monitoring stage. (This reduces the number of bits maps to be provided on [0120] conductors 44 in FIG. 1) Text tracking may be performed both backwards and forwards in time. However, we restrict our description to forward tracking only since backward tracking does not differ from forward tracking except in the direction you go through the video. The basic idea behind our fast text tracker is to take the text line in the current video frame, calculate a characteristic signature which allows to distinguish this text line from text lines with other contents and search for the image region of same dimension in the next video frame which best matches the reference signature.
  • The vertical and horizontal projection profile as defined in section 4.4.2 serve as a compact and characteristic reference signature, although other signatures could be used. The center of a signature may be defined as the center of the bounding text box of the associated text line. Similarity between two signatures may be measured by signature intersection (e.g., by the sum of the minimum between respective elements in the signatures). In cases where signatures capture an object of interest as well as changing background, signature or histogram intersection may outperform L-norms. To find the precise position of a text line in the next frame, all signatures whose centers fall into a search window around the center of the reference signature, may be calculated and compared to the reference signature. If the best match exceeds a minimal required similarity, the text line may be declared to be found and added to the text object. If the best match does not exceed a minimal required similarity, a signature-based drop-out is declared. The size of the search radius depends on the maximal assumed velocity of text. In our experiments we assumed that text needs at least 2 seconds to move from left to right in the video. Given the frame size and the playback rate of the video this translates directly to the search radius in pixels. In principle, we could predict the location by the information contained in the text object so far to narrow down the search space, however, there may be no computational need for it. [0121]
  • Note this signature-based exhaustive search algorithm may resemble the block matching algorithm for motion prediction, except that the similarity measure is based on a signature derived from a feature image of the actual image. [0122]
  • It may happen that the signature-based text line search does not detect a text line fading out slowly since the search is based on the signature of the text line in the previous frame and not on one fixed and derived master/prototype signature. The changes from frame to frame might be too small to be detectable. Further, the signature-based text line search may fail to track some zooming in or zooming out text. To overcome these limitations, the signature-based search may be replaced every x-th frame by the image-based text localizer in order to re-calibrate locations and sizes of the text lines. Newly detected text boxes, however, may be discarded here. [0123]
  • Heuristically, every 5th frame turned out to be a good compromise between speed and reliability, but over intervals could be used. Again, in some embodiments, the bounding boxes of corresponding text lines may overlap by at least 80%. [0124]
  • Due to imperfection in the video signal such as high noise, limited bandwidth (e.g. colors run into each other), text occlusion, compression artifacts, etc. continuous recognition of text objects in the strict sense (e.g., in every frame) is often not possible or practical. Therefore, it may not be a good idea to terminate tracking if no corresponding text line can be found in the next frame. Rather, tracking should be terminated only if for a certain number of contiguous frames no corresponding text line can be found. For this, two thresholds max[0125] DropOut signature-based and maxDropOut image-based may be used. Whenever a text object cannot be extended to the next frame, the respective counter may be incremented by one. The respective counter is reset to zero whenever its related search method succeeds. The tracking process may be aborted, as soon as one of both counters exceeds its threshold maxDropOut signature-based or maxDropOut image-based. In our experiments, the threshold for the image-based text localizer was set to maxDropOut image-based=3, but other values could be used. This kind of drop outs may be caused by very noisy video frames or temporarily occluded text. The threshold for the signature-based search was set to maxDropOut signature-based=4, e.g., the distance between two complete localized frames, but other values may be used. A value of 4 allows for tracking of text lines where signature-based search is very difficult such as for zooming in or zooming out text. Pseudocode Example 5, below gives a summary of the video monitoring process, according to some embodiments of the invention. However, other embodiments of the invention may be implemented with other details.
  • Forward Text Tracking Algorithm of a Given Text Object (Pseudocode Example 5): [0126]
     (1) sigBase_DropOuts = 0
     (2) imageBased_DropOuts = 0
     (3) while not (beginning or end of video ||
    sigBase_DropOuts > maxSigBase_DropOuts ||
    imageBased_DropOuts > maxImageBased_DropOuts)
     (4) get next frame t
     (5) if (frame has to be localized)
     (6) localize text in frame t
     (7) search localized text box that matches to the box in the last frame of the text object
     (8) if (search successful)
     (9) add text box to the text object
    (10) reset sigbased_DropOuts and reset imageBased_DropOuts
    (11) else
    (12) increment imageBased_DropOuts
    (13) else
    (14) calculate feature image for frame t
    (15) estimate search area a for the text line
    (16) create a window w with the dimension of the text box in frame t-1
    (17) get signature s1 of the text box in t-1
    (18) for (each possible position of w in a)
    (19) calculate signature s2 for w
    (20) calculate error between s2 and si
    (21) memorize minimal error
    (22) if (minimal error < threshold)
    (23) add text box to the text object
    (24) reset sigBased_DropOuts
    (25) else
    (26) increment sigBased_DropOuts.
  • 5.1.3 Postprocessing [0127]
  • To prepare a text object for text segmentation, it may be trimmed down to the part which has been detected with high confidence. Therefore, in some embodiments, each text object is temporally trimmed down to the first and last frame in which the image-based text localizer detected the text line. Next, the text object is discarded if, for example, [0128]
  • (1) it occur less than a second or [0129]
  • (2) it has a drop-out rate of more than 25%. [0130]
  • Other values could be used. The first condition results from our observation that text lines are usually visible for at least one second and shorter text lines are usually false alarms. The second condition removes the text objects resulting from unstable tracking with which subsequent processing cannot deal. Unstable tracking may be caused by strong compression artifacts or non-text. [0131]
  • Finally, in some embodiments, one or more of the following global features may be determined for each text object. The particular details may vary in different embodiments. [0132]
  • (1) Text Color of Text Object. [0133]
  • Assuming that the text color of the same text line does not change over the course of time, the text color of a text object is determined as the median of all determined text colors per frame (e.g., as obtained through section 4.4.3). The text color does not have to be chosen to be the median. Another average or non-average measure could be used. [0134]
  • (2) Text Size. [0135]
  • The size of the text bounding box may be fixed or change over time. If it is fixed, we determine its width and height by means of the median over the set of widths and heights. [0136]
  • (3) Text Position. [0137]
  • The text line might be static in one or both coordinates. A text line is regarded as static in the x and/or y direction if the average movement per frame is less than 0.75 pixels. The average movement is calculated based on the difference in location between the first and last text occurrence of that text line normalized by the number of frames. [0138]
  • If the text line is static, we replace all text bounding boxes by the median text bounding box. The median text bounding box is the box which left/right/top/bottom border is the median over all left/right/top/bottom borders. If the position is only fixed in one direction such as the x or y axes, the left and right or the top and bottom are replaced by the median value, respectively. [0139]
  • 6. Text Segmentation [0140]
  • The text segmentation involves removing backgrounds from text. This is not to be confused with the segmentation of section 4.4.2. [0141]
  • 6.1 Resolution Adjustments. (Note [0142] Block 30 In FIG. 1.)
  • Text segmentation acts may be performed on rescaled images (by, e.g., cubic interpolation) such that the text height of the text object under consideration has a fixed height of, for example, 100 pixel and the aspect ratio is preserved. The reasons for re-scaling are two-fold: [0143]
  • (1) Resolution Enhancements of Small Font Sizes Which in Turn Leads to Better Segmentation Results. [0144]
  • One of the major problems with current text extraction and text recognition in videos is its very low resolution. For MPEG-I encoded videos, individual characters often have a height of less than 12 pixels. Although text is still recognizable for humans at this resolution, it gives today's standard OCR systems a hard time. These OCR systems have been designed to recognize text in documents, which were scanned at a resolution of at least 200 dpi to 300 dpi resulting in a minimal text height of at least 40 pixels. In order to obtain good results with standard OCR systems it is desirable to enhance the resolution of the text lines. [0145]
  • Enhancing the visible quality of text bitmaps is another and even more important reason for up-scaling small text bitmaps. The higher resolution enables sub-pixel precise text alignment (with respect to the original resolution) in section 6.2.2. [0146]
  • (2) Computational Savings for Large Font Sizes. [0147]
  • A text height larger than the fixed height (e.g., 100 pixels) does not improve segmentation nor OCR performance. Reducing its size lowers the computational complexity significantly. Note that since our approach is truly multi-resolution and operates on web pages and HDTV video sequences with a resolution up to 1920 by 1280 pixels, larger font sizes are very likely. 100 pixels is only {fraction (1/12)} of the frame's height. [0148]
  • 6.2 Removing Backgrounds (Including Complex Backgrounds) [0149]
  • As discussed, backgrounds may be removed. (Note [0150] block 32 in FIG. 1.) A complex background has larger variation than a simple background. However, the invention is not limited a particular type of background (it may be complex or simple background). However, as noted above, if particular information is known about the background of the image, an embodiment of the invention might be modified to use that information.
  • 6.2.1 Images [0151]
  • Text occurrences are supposed to contrast with their background in order to be easily readable. This feature is used here to remove large parts of the complex background. In some embodiments, it works as follows, although the invention is not so limited. The basic idea is to increase the text bounding box such that no text pixels fall on the border and then to take each pixel on the boundary of the text bounding box as the seed to fill all pixels which do not differ more than threshold[0152] seedfill with the background color. (Note that in some embodiments, the change of the filled pixels to the background color is firstly only memorized and not actually executed on the bitmap. Execution may be performed after the seed-fills have been applied to all pixels on the box boundary.) The background color is black for inverse text and white for normal text. Since the pixels on the boundary do not belong to the text and since the text contrasts with its background, the seed-fill algorithm will never remove any character pixels. (Seed-fill algorithms are known in the art.) We call this newly constructed bitmap Br (x,y).
  • In our experiments, the Euclidean distance between RGB colors was used as the distance function, and the seed fill algorithm used a 4-neighborhood. Moreover, to ensure that all letters are completely contained in the text bounding box, we extended it horizontally by 20% and vertically by 40%. Other values could be used. [0153]
  • Not all background pixels need to be deleted, since the sizes of the regions filled by the seed-fill algorithm may be limited by the maximal allowed color difference between a pixel and its border pixel. The size of the remaining color regions can be used to fill the remaining regions of the background with the background color. In some embodiments, each pixel may be as a seed for the seed-fill algorithm. The 8-neighborhood seed-fill algorithm may then be applied hypothetically to B[0154] r (x,y) in order to determine the dimension of the region that could be filled. Background regions should be smaller then text character regions. Therefore, all regions with a height less than minheight pixels and a width less than minwidth or larger than maxwidth are deleted, (set to the background color).
  • 6.2.2 Video Images [0155]
  • A video text object differs from a single image text object in the respect that it includes multiple image text representations (e.g., bitmaps) of the same text line and not just one. In some embodiments, the following method is applied to exploit this redundancy to remove the complex background surrounding the actual characters. However, the invention is not limited to these details. The method can be applied to not only static text, but also to moving text because we have solved the problem of sub-pixel accurate text line alignment. [0156]
  • The original image may be reloaded in a gray scale format. However, the vector quantized version is used to determine which gray scale color is the same as the estimated text color as described below. [0157]
  • In some embodiments, it works as follows. Assume you pile up the various bitmaps of one text object such that the characters are aligned perfectly to each other. Pixels belonging to text tend to vary only slightly through time, while pixels belonging to non-text (background) often change tremendously through time. Since the text's location is static due to the alignment its pixels are not supposed to change. (Note that even though text is supposed to be static, there may be tiny changes from frame to frame.) Background pixels are very likely to change due to motion in the background or motion of the text line. [0158]
  • We derive a representative text line bitmap for each text object. Given the pile of perfectly-aligned bitmaps, the maximum/minimum operator is applied through time on the grayscale images for normal/inverse text. Note it is not necessary to use every bitmap of a text object, because the background usually does not change significantly between two consecutive frames. It turned out, that a selection of about 40 temporally evenly spaced frames can be enough to get very good results. For example, if 40 frames are selected and there are 200 frames, then the 40 frame could be spaced by 5. If there are 150 frames, the 40 frames could be spaced by {fraction (15/4)}, which means the spacing could round up or down to an integer or the spacing could be in consistent, some times 3, but mostly 4 to make {fraction (15/4)}on average. Note also, some frames at the beginning and end of a text object may be skipped to avoid potential problems with fade in or fade out effects. As suggested above, image based localization techniques are used every so many frames to avoid having characteristic text color be changed slowly in fade in or fade out. Signature only tracking could result in the segmentation being ruined under such cases. [0159]
  • The following describes how to align the bitmaps essentially perfectly. At first, likewise for images and web pages all bounding text boxes of a text object may be extended, for example, horizontally by 20% and vertically by 40%. Next, all bitmaps may be converted to grayscale since grayscale is more stable to color compression artifacts. Almost all video compression algorithms represent intensity at a higher resolution than colors such as in the famous 4:2:0 sampling scheme. [0160]
  • Let B[0161] 0(x,y), . . . BN−1(x,y) denote the N bitmaps under consideration and Br(x,y) the representative bitmap which is to be derived and which is initialized to Br 0(x,y)=B0(x,y). As an example, N could be 40 so there are 40 bitmaps from 40 frames. Then, for each bitmap Bi(x,y),iε{1, . . . , 39}, we may search for the best displacement (dx, dy) which minimizes the difference between Br(x,y) and Bi(x,y) with respect to the text colors, e.g., ( dx t opt , dy t opt ) = argmin ( x , y ) B r B i - 1 r textColor ( B i - 1 r ( x , y ) - B i ( x + dx , y + dy ) ) .
    Figure US20020159636A1-20021031-M00004
  • The reason why this kind of block matching search works is because only pixels with text color are taken into account, where the text color may be the estimated text color from section 4.4.3. A pixel is defined to have text color if and only if it does not differ more than a certain amount from the text color determined for the text object. Note, that this distance is calculated based on the RGB values. At each iteration, B[0162] r(x,y) is updated from the previously stated equation to
  • B r i(x,y)=max (B r i−1(x,y),B i(x+dx t opt ,y+dy t opt)) for normal text
  • and to [0163]
  • B r i(x,y)=min (B r i−1(x,y),B i(x+dx t opt ,y+dy t opt)) for inverse text.
  • Note that if a text object has been identified to be static in section 4.4.3, we do not have to search for the perfect translations. Instead, the translations between the various bitmaps may be all set to null. [0164]
  • Through the process of section 6.2.2, the background may tend to get brighter and brighter for normal text and darker and darker for inverse text. However, it is possible that the first frame is the brightest or darkest, respectively. [0165]
  • 6.3 Binarization (Note [0166] Block 38 in FIG. 1.)
  • The text bitmaps B[0167] r i(x,y) is now prepared for recognition by standard OCR engines.
  • Hereto, the grayscale text bitmaps may be converted to black on white background. The following describes a way to find a suitable threshold value, one that allows good if not optimal separation between text and background. From section 4.4.3 we know the estimated text color, the dominant background color and whether we have to deal with normal text or inverse text. Since most of the background has been removed anyway in section 6.2, we decided to set the background color to black for inverse text and to white for normal text. Then, a good binarization threshold is to choose the intensity half way between the intensity of the text color and the background color. Each pixel in the text bitmap which is higher than the binarization threshold may be set to white for normal text and black for inverse text. Each pixel in the text bitmap which is lower or equal than the binarization threshold may be set to black for normal text and white for inverse text. Finally, it is recommended to clean-up the binary bitmap by discarding small regions (set to the background color) in the same way as described in section 6.2.1. [0168]
  • Additional Information [0169]
  • For each of the sections above, the invention is not limited to the particular details mentioned therein. [0170]
  • Some embodiments of the present invention are not only able to locate and segment text occurrences into large binary images, but also to label each pixel within an image or video whether it belongs to text or not. Thus, our text localization and segmentation techniques can be used for object-based video encoding. Object-based video encoding is known to achieve a much better video quality at a fixed bit rate compared to existing compression technologies. However, in most cases, the problem of extracting objects automatically is not solved yet. Our text localization and text segmentation algorithms solve this problem for text occurrences in videos. [0171]
  • Some embodiments of the invention involve a multi-resolution approach in which the text localization and text segmentation algorithm works successfully from MPEG-1 video sequences up to HDTV MPEG-2 video sequences (1980×1280) without any parameter adjustment. As an example, character sizes can vary between 8 pixels and half the frame height. [0172]
  • FIG. 10 illustrates a [0173] computer system 180 having a processor 184 and memory 188. Memory 188 represents one or more of a variety of types of memory apparatus including RAM, hard drives, CD ROMS, and video memory to name only a few. Memory 188 includes machine readable mediums on which instructions can be stored to perform the various functions described above. Memory 188 can also store data (e.g., digital video signals) to be processed and intermediate and final results of processing. It will be appreciated that FIG. 10 is highly schematic and in practice would include a variety of other well known components.
  • The term frame is intended to have a broad meaning. For example, it does not matter whether it is interleaved or not. Likewise, the terms image and video are intended to be interpreted broadly. No particular format is required. [0174]
  • If the specification states a component, feature, structure, or characteristic “may”, “might”, or “could” be included, that particular component, feature, structure, or characteristic is not required to be included. If the specification or claim refers to “a” or “an” element, that does not mean there is only one of the element. If the specification or claims refer to “an additional” element, that does not preclude there being more than one of the additional element. [0175]
  • Those skilled in the art having the benefit of this disclosure will appreciate that many other variations from the foregoing description and drawings may be made within the scope of the present invention. Indeed, the invention is not limited to the details described above. Rather, it is the following claims including any amendments thereto that define the scope of the invention. [0176]

Claims (32)

What is claimed is:
1. A method of locating text in digital images, comprising:
scaling a digital image into images of multiple resolutions;
classifying whether pixels in the multiple resolutions are part of a text region;
integrating scales to create a scale integration saliency map;
using the saliency map to create initial text bounding boxes through expanding the boxes from rectangles of pixels including at least one pixel to include groups of at least one pixel adjacent to the rectangles, wherein the groups have a particular relationship to a first threshold; and
consolidating the initial text bounding boxes.
2. The method of claim 1, wherein the particular relationship is that an average intensity of the group exceeds the first threshold.
3. The method of claim 1, wherein the groups include a row or column adjacent to the rectangle and the rectangle starts as a 1 pixel by 1 pixel rectangle.
4. The method of claim 1, wherein the saliency map is of the same resolution as the digital image before scaling to multiple resolutions.
5. The method of claim 1, wherein the digital image is part of a digital video image and consolidating of the initial text bounding boxes includes creating horizontal projection profiles having adaptive thresholds and vertical projection profiles having adaptive thresholds.
6. The method of claim 5, wherein the adaptive thresholds for the horizontal projection profiles are functions of minimum and maximum values of the horizontal projection profiles and the adaptive thresholds for the vertical projection profiles are functions of minimum and maximum values of the vertical projection profiles.
7. The method of claim 1, wherein consolidating the initial text bounding boxes includes repeatedly performing a horizontal segmentation algorithm and a vertical segmentation algorithm.
8. The method of claim 6 , wherein the horizontal segmentation algorithm includes expanding a text bounding box at the top and bottom by a minimum of half the height of the original text box and half the possible maximal text height.
9. The method of claim 1, further comprising calculating edge orientation to identify image features in the multiple resolutions.
10. The method of claim 1, further comprising using a signature based tracking to identify frames including text in a text object in a forward and backward direction from a frame in which the text has been identified through an image based method.
11. The method of claim 1, further comprising estimating color of text in the image through creating color histograms in the text and non-text portions surrounding the text.
12. An apparatus comprising:
a machine readable medium having instructions thereon which when executed cause a processor to perform a method including:
scaling a digital image into images of multiple resolutions;
classifying whether pixels in the multiple resolutions are part of a text region;
integrating scales to create a scale integration saliency map;
using the saliency map to create initial text bounding boxes through expanding the boxes from rectangles of pixels including at least one pixel to include groups of at least one pixel adjacent to the rectangles, wherein the groups have a particular relationship to a first threshold; and
consolidating the initial text bounding boxes.
13. The apparatus of claim 12, wherein the particular relationship is that an average intensity of the group exceeds the first threshold.
14. The apparatus of claim 12, wherein the groups include a row or column adjacent to the rectangle and the rectangle starts as a 1 pixel by 1 pixel rectangle.
15. The apparatus of claim 12, wherein the saliency map is of the same resolution as the digital image before scaling to multiple resolutions.
16. The apparatus of claim 12, wherein the digital image is part of a digital video image and consolidating of the initial text bounding boxes includes creating horizontal projection profiles having adaptive thresholds and vertical projection profiles having adaptive thresholds.
17. The apparatus of claim 16, wherein the adaptive thresholds for the horizontal projection profiles are functions of minimum and maximum values of the horizontal projection profiles and the adaptive thresholds for the vertical projection profiles are functions of minimum and maximum values of the vertical projection profiles.
18. The apparatus of claim 12, wherein consolidating the initial text bounding boxes includes repeatedly performing a horizontal segmentation algorithm and a vertical segmentation algorithm.
19. The apparatus of claim 18, wherein the horizontal segmentation algorithm includes expanding a text bounding box at the top and bottom by a minimum of half the height of the original text box and half the possible maximal text height.
20. The apparatus of claim 12, further comprising calculating edge orientation to identify image features in the multiple resolutions.
21. The apparatus of claim 12, further comprising using a signature based tracking to identify frames including text in a text object in a forward and backward direction from a frame in which the text has been identified through an image based method.
22. The apparatus of claim 1, further comprising estimating color of text in the image through creating color histograms in the text and non-text portions surrounding the text.
23. A method, comprising:
classifying whether pixels are part of a text region;
creating initial text bounding boxes; and
consolidating the initial text bounding boxes, wherein the consolidating includes creating horizontal projection profiles having adaptive thresholds and vertical projection profiles having adaptive thresholds.
24. The method of claim 23, wherein the adaptive thresholds for the horizontal projection profiles is a function of minimum and maximum values of the horizontal projection profiles and the adaptive thresholds for the vertical projection profiles are functions of minimum and maximum values of the vertical projection profiles.
25. The method of claim 23, wherein consolidating the initial text bounding boxes includes repeatedly performing a horizontal segmentation algorithm and a vertical segmentation algorithm.
26. The method of claim 23, wherein the horizontal segmentation algorithm includes expanding a text bounding box at the right and left by a minimum of half the height of the original text box and half the possible maximal text height.
27. The method of claim 23, wherein the vertical segmentation algorithm includes expanding a text bounding box at the top and bottom by a minimum of half the height of the original text box and half the possible maximal text height.
28. An apparatus comprising:
a machine readable medium having instructions thereon which when executed cause a processor to perform a method including:
classifying whether pixels are part of a text region;
creating initial text bounding boxes; and
consolidating the initial text bounding boxes, wherein the consolidating includes creating horizontal projection profiles having adaptive thresholds and vertical projection profiles having adaptive thresholds.
29. The apparatus of claim 28, wherein the adaptive thresholds for the horizontal projection profiles is a function of minimum and maximum values of the horizontal projection profiles and the adaptive thresholds for the vertical projection profiles are functions of minimum and maximum values of the vertical projection profiles.
30. The apparatus of claim 28, wherein consolidating the initial text bounding boxes includes repeatedly performing a horizontal segmentation algorithm and a vertical segmentation algorithm.
31. The apparatus of claim 28, wherein the horizontal segmentation algorithm includes expanding a text bounding box at the right and left by a minimum of half the height of the original text box and half the possible maximal text height.
32. The apparatus of claim 28, wherein the vertical segmentation algorithm includes expanding a text bounding box at the top and bottom by a minimum of half the height of the original text box and half the possible maximal text height.
US09/524,797 2000-03-14 2000-03-14 Generalized text localization in images Expired - Fee Related US6470094B1 (en)

Priority Applications (10)

Application Number Priority Date Filing Date Title
US09/524,797 US6470094B1 (en) 2000-03-14 2000-03-14 Generalized text localization in images
GB0223747A GB2377114B (en) 2000-03-14 2001-02-23 Generalized text localization in images
DE10195927T DE10195927B4 (en) 2000-03-14 2001-02-23 Generalized text localization in pictures
CNB018065805A CN100514364C (en) 2000-03-14 2001-02-23 Generalized text localization in images
AU2001238648A AU2001238648A1 (en) 2000-03-14 2001-02-23 Generalized text localization in images
GB0411388A GB2399631B (en) 2000-03-14 2001-02-23 Generalized text localization in images
PCT/US2001/005757 WO2001069529A2 (en) 2000-03-14 2001-02-23 Generalized text localization in images
TW090104992A TWI223212B (en) 2000-03-14 2001-03-05 Generalized text localization in images
HK03101650.6A HK1049536B (en) 2000-03-14 2003-03-06 Generalized text localization in images
HK05102312A HK1069913A1 (en) 2000-03-14 2005-03-16 Generalized text localization in images.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/524,797 US6470094B1 (en) 2000-03-14 2000-03-14 Generalized text localization in images

Publications (2)

Publication Number Publication Date
US6470094B1 US6470094B1 (en) 2002-10-22
US20020159636A1 true US20020159636A1 (en) 2002-10-31

Family

ID=24090703

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/524,797 Expired - Fee Related US6470094B1 (en) 2000-03-14 2000-03-14 Generalized text localization in images

Country Status (8)

Country Link
US (1) US6470094B1 (en)
CN (1) CN100514364C (en)
AU (1) AU2001238648A1 (en)
DE (1) DE10195927B4 (en)
GB (1) GB2377114B (en)
HK (2) HK1049536B (en)
TW (1) TWI223212B (en)
WO (1) WO2001069529A2 (en)

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014445A1 (en) * 2001-07-13 2003-01-16 Dave Formanek Document reflowing technique
US20050013486A1 (en) * 2003-07-18 2005-01-20 Lockheed Martin Corporation Method and apparatus for automatic object identification
US20050012760A1 (en) * 2003-07-16 2005-01-20 Canon Kabushiki Kaisha Image processing apparatus, image processing method, storage medium, and program
EP1569162A1 (en) * 2004-02-18 2005-08-31 Samsung Electronics Co., Ltd. Method and apparatus for detecting text of video
US20070065040A1 (en) * 2005-09-22 2007-03-22 Konica Minolta Systems Laboratory, Inc. Photo image matching method and apparatus
US20070067713A1 (en) * 2005-09-22 2007-03-22 Konica Minolta Systems Laboratory, Inc. Office document matching method and apparatus
US20070133020A1 (en) * 2005-12-14 2007-06-14 Fuji Xerox Co., Ltd. Image processing system and image processing method
US20080002916A1 (en) * 2006-06-29 2008-01-03 Luc Vincent Using extracted image text
US20080002893A1 (en) * 2006-06-29 2008-01-03 Luc Vincent Recognizing text in images
US20080002914A1 (en) * 2006-06-29 2008-01-03 Luc Vincent Enhancing text in images
US20080172218A1 (en) * 2004-06-07 2008-07-17 Takamasa Suzuki Web Page Translation Device and Web Page Translation Method
US20080226143A1 (en) * 2007-03-12 2008-09-18 Nec Corporation Character noise eliminating apparatus, character noise eliminating method, and character noise eliminating program
US20080297657A1 (en) * 2007-06-04 2008-12-04 Richard Griffiths Method and system for processing text in a video stream
US20080304746A1 (en) * 2007-04-27 2008-12-11 Nidec Sankyo Corporation Method and apparatus for character string recognition
US20090041352A1 (en) * 2007-08-10 2009-02-12 Naoki Okamoto Image formation device, image formation method, and computer-readable recording medium recording image formation program
US20090073315A1 (en) * 2000-12-04 2009-03-19 Jlb Ventures Llc Method and System for Identifying Addressing Data Within a Television Presentation
US20090169131A1 (en) * 2007-12-26 2009-07-02 Oscar Nestares Ocr multi-resolution method and apparatus
US20090185752A1 (en) * 2008-01-22 2009-07-23 Digital Business Processes, Inc. Method and apparatus for cropping images
US7630544B1 (en) 2005-04-06 2009-12-08 Seiko Epson Corporation System and method for locating a character set in a digital image
WO2011004304A1 (en) 2009-07-06 2011-01-13 Koninklijke Philips Electronics N.V. Retargeting of image with overlay graphic
US7912289B2 (en) 2007-05-01 2011-03-22 Microsoft Corporation Image text replacement
CN102496019A (en) * 2011-12-08 2012-06-13 银江股份有限公司 License plate character segmenting method
US20130163873A1 (en) * 2009-01-23 2013-06-27 Zhao Qingjie Detecting Separator Lines in a Web Page
US20130182182A1 (en) * 2012-01-18 2013-07-18 Eldon Technology Limited Apparatus, systems and methods for presenting text identified in a video image
US8566707B1 (en) * 2006-03-29 2013-10-22 Amazon Technologies, Inc. Generating image-based reflowable files for rendering on various sized displays
US8640024B2 (en) * 2007-10-30 2014-01-28 Adobe Systems Incorporated Visually distinct text formatting
US8782551B1 (en) * 2006-10-04 2014-07-15 Google Inc. Adjusting margins in book page images
CN104834930A (en) * 2015-05-25 2015-08-12 山东中孚信息产业股份有限公司 Image Chinese character search method for multi system platform
US9208133B2 (en) 2006-09-29 2015-12-08 Amazon Technologies, Inc. Optimizing typographical content for transmission and display
US20160080725A1 (en) * 2013-01-31 2016-03-17 Here Global B.V. Stereo Panoramic Images
US9542751B2 (en) * 2015-05-08 2017-01-10 Qualcomm Incorporated Systems and methods for reducing a plurality of bounding regions
CN106960196A (en) * 2017-03-29 2017-07-18 西安电子科技大学 Industrial video decimal fractions recognition methods based on template matches and SVM
US9865062B2 (en) 2016-02-12 2018-01-09 Qualcomm Incorporated Systems and methods for determining a region in an image
TWI629644B (en) * 2015-06-30 2018-07-11 美商奧誓公司 Non-transitory computer readable storage medium, methods and systems for detecting and recognizing text from images
CN109308465A (en) * 2018-09-14 2019-02-05 百度在线网络技术(北京)有限公司 Table line detecting method, apparatus, equipment and computer-readable medium
US20200082218A1 (en) * 2018-09-06 2020-03-12 Sap Se Optical character recognition using end-to-end deep learning
WO2020061691A1 (en) * 2018-09-25 2020-04-02 Element Ai Inc. Automatically detecting and isolating objects in images
US10620826B2 (en) 2014-08-28 2020-04-14 Qualcomm Incorporated Object selection based on region of interest fusion
CN111064977A (en) * 2019-12-05 2020-04-24 任子行网络技术股份有限公司 Method, system and readable storage medium for online monitoring of network integrated art program record
US10839573B2 (en) * 2016-03-22 2020-11-17 Adobe Inc. Apparatus, systems, and methods for integrating digital media content into other digital media content
JP2021197190A (en) * 2020-06-16 2021-12-27 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド Optical character identification method, device, electronic device, and storage media
US11488406B2 (en) * 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11494944B2 (en) 2020-11-18 2022-11-08 Disney Enterprises, Inc. Automatic low contrast detection
US11544828B2 (en) 2020-11-18 2023-01-03 Disney Enterprises, Inc. Automatic occlusion detection

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1320382B1 (en) * 2000-05-29 2003-11-26 Olivetti Lexikon Spa DEVICE AND METHOD FOR PRINTING IMAGES FROM VIDEO.
US8103104B2 (en) * 2002-01-11 2012-01-24 Hewlett-Packard Development Company, L.P. Text extraction and its application to compound document image compression
US7020338B1 (en) * 2002-04-08 2006-03-28 The United States Of America As Represented By The National Security Agency Method of identifying script of line of text
US7590286B2 (en) * 2002-07-26 2009-09-15 National Institute Of Information And Communications Technology Incorporated Administrative Agency Image recognition apparatus and program for recognizing the substance of an image, particularly in a motion picture environment
JP4112968B2 (en) * 2002-12-26 2008-07-02 富士通株式会社 Video text processing device
WO2004111931A2 (en) * 2003-06-10 2004-12-23 California Institute Of Technology A system and method for attentional selection
US7409372B2 (en) * 2003-06-20 2008-08-05 Hewlett-Packard Development Company, L.P. Neural network trained with spatial errors
US8098950B2 (en) * 2003-11-26 2012-01-17 General Electric Company Method and apparatus for segmentation-based image operations
US7475061B2 (en) * 2004-01-15 2009-01-06 Microsoft Corporation Image-based document indexing and retrieval
KR100647284B1 (en) * 2004-05-21 2006-11-23 삼성전자주식회사 Apparatus and method for extracting character of image
WO2006006525A1 (en) * 2004-07-09 2006-01-19 Olympus Corporation Image processing device and method
US7729538B2 (en) * 2004-08-26 2010-06-01 Microsoft Corporation Spatial recognition and grouping of text and graphics
US20060045346A1 (en) 2004-08-26 2006-03-02 Hui Zhou Method and apparatus for locating and extracting captions in a digital image
DE102005001224A1 (en) * 2004-09-03 2006-03-09 Betriebsforschungsinstitut VDEh - Institut für angewandte Forschung GmbH Method for assigning a digital image to a class of a classification system
US7574048B2 (en) * 2004-09-03 2009-08-11 Microsoft Corporation Freeform digital ink annotation recognition
US7596265B2 (en) * 2004-09-23 2009-09-29 Hewlett-Packard Development Company, L.P. Segmenting pixels in an image based on orientation-dependent adaptive thresholds
US9171202B2 (en) 2005-08-23 2015-10-27 Ricoh Co., Ltd. Data organization and access for mixed media document system
US9373029B2 (en) 2007-07-11 2016-06-21 Ricoh Co., Ltd. Invisible junction feature recognition for document security or annotation
US7702673B2 (en) 2004-10-01 2010-04-20 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment
US9530050B1 (en) 2007-07-11 2016-12-27 Ricoh Co., Ltd. Document annotation sharing
US9495385B2 (en) 2004-10-01 2016-11-15 Ricoh Co., Ltd. Mixed media reality recognition using multiple specialized indexes
US8989431B1 (en) 2007-07-11 2015-03-24 Ricoh Co., Ltd. Ad hoc paper-based networking with mixed media reality
US7812986B2 (en) 2005-08-23 2010-10-12 Ricoh Co. Ltd. System and methods for use of voice mail and email in a mixed media environment
US9405751B2 (en) 2005-08-23 2016-08-02 Ricoh Co., Ltd. Database for mixed media document system
US9384619B2 (en) 2006-07-31 2016-07-05 Ricoh Co., Ltd. Searching media content for objects specified using identifiers
JP4453016B2 (en) * 2005-01-31 2010-04-21 株式会社カシオ日立モバイルコミュニケーションズ Portable terminal, character reading method, and character reading program
US20060182339A1 (en) * 2005-02-17 2006-08-17 Connell Jonathan H Combining multiple cues in a visual object detection system
JP4393411B2 (en) * 2005-03-29 2010-01-06 株式会社東芝 Image processing apparatus, image processing program, and image processing method
US7570816B2 (en) * 2005-03-31 2009-08-04 Microsoft Corporation Systems and methods for detecting text
US20060239555A1 (en) * 2005-04-25 2006-10-26 Destiny Technology Corporation System and method for differentiating pictures and texts
US7526129B2 (en) * 2005-06-23 2009-04-28 Microsoft Corporation Lifting ink annotations from paper
US8489987B2 (en) 2006-07-31 2013-07-16 Ricoh Co., Ltd. Monitoring and analyzing creation and usage of visual content using image and hotspot interaction
US8201076B2 (en) 2006-07-31 2012-06-12 Ricoh Co., Ltd. Capturing symbolic information from documents upon printing
US9176984B2 (en) 2006-07-31 2015-11-03 Ricoh Co., Ltd Mixed media reality retrieval of differentially-weighted links
US9063952B2 (en) 2006-07-31 2015-06-23 Ricoh Co., Ltd. Mixed media reality recognition with image tracking
US7756356B2 (en) * 2007-03-08 2010-07-13 Mitsubishi Electric Research Laboratories, Inc. System and method for factorizing light in a sequence of images
US8023725B2 (en) * 2007-04-12 2011-09-20 Samsung Electronics Co., Ltd. Identification of a graphical symbol by identifying its constituent contiguous pixel groups as characters
US8929461B2 (en) * 2007-04-17 2015-01-06 Intel Corporation Method and apparatus for caption detection
US7940985B2 (en) * 2007-06-06 2011-05-10 Microsoft Corporation Salient object detection
CN101349541B (en) * 2007-07-20 2010-09-29 华硕电脑股份有限公司 Method for searching specific image and method for compensating image bias position
US7706613B2 (en) 2007-08-23 2010-04-27 Kaspersky Lab, Zao System and method for identifying text-based SPAM in rasterized images
CN101510260B (en) * 2008-02-14 2012-02-22 富士通株式会社 Caption staying time determining apparatus and method
US8917935B2 (en) 2008-05-19 2014-12-23 Microsoft Corporation Detecting text using stroke width based text detection
US8391638B2 (en) * 2008-06-04 2013-03-05 Microsoft Corporation Hybrid image format
JP4577421B2 (en) * 2008-07-10 2010-11-10 富士ゼロックス株式会社 Image processing apparatus and image processing program
JP4577420B2 (en) * 2008-07-10 2010-11-10 富士ゼロックス株式会社 Image processing apparatus and image processing program
JP4577419B2 (en) * 2008-07-10 2010-11-10 富士ゼロックス株式会社 Image processing apparatus and image processing program
US8320674B2 (en) * 2008-09-03 2012-11-27 Sony Corporation Text localization for image and video OCR
EP2275972B1 (en) 2009-07-06 2018-11-28 AO Kaspersky Lab System and method for identifying text-based spam in images
US9003531B2 (en) * 2009-10-01 2015-04-07 Kaspersky Lab Zao Comprehensive password management arrangment facilitating security
TR200907868A2 (en) * 2009-10-16 2011-05-23 Vestel Elektron�K Sanay� Ve T�Caret Anon�M ��Rket�@ Automated test method with black transparent regions
WO2011080763A1 (en) * 2009-12-31 2011-07-07 Tata Consultancy Services Limited A method and system for preprocessing the region of video containing text
US10043193B2 (en) * 2010-01-20 2018-08-07 Excalibur Ip, Llc Image content based advertisement system
US8483513B2 (en) * 2010-01-22 2013-07-09 Corel Corporation, Inc. Method of content aware image resizing
US8731261B2 (en) * 2010-02-23 2014-05-20 Loma Linda University Method of analyzing a medical image
US8542889B2 (en) * 2010-10-19 2013-09-24 Apple Inc. Systems, methods, and computer-readable media for capturing a signature for use in a document
US8989499B2 (en) * 2010-10-20 2015-03-24 Comcast Cable Communications, Llc Detection of transitions between text and non-text frames in a video stream
US8023697B1 (en) 2011-03-29 2011-09-20 Kaspersky Lab Zao System and method for identifying spam in rasterized images
US8712188B2 (en) * 2011-04-28 2014-04-29 Hewlett-Packard Development Company, L.P. System and method for document orientation detection
US9058331B2 (en) 2011-07-27 2015-06-16 Ricoh Co., Ltd. Generating a conversation in a social network based on visual search results
US8850305B1 (en) * 2011-12-20 2014-09-30 Google Inc. Automatic detection and manipulation of calls to action in web pages
US8917910B2 (en) 2012-01-16 2014-12-23 Xerox Corporation Image segmentation based on approximation of segmentation similarity
US9336302B1 (en) 2012-07-20 2016-05-10 Zuci Realty Llc Insight and algorithmic clustering for automated synthesis
JP5730274B2 (en) * 2012-11-27 2015-06-03 京セラドキュメントソリューションズ株式会社 Image processing device
CN103854020B (en) * 2012-11-29 2018-11-30 捷讯平和(北京)科技发展有限公司 Character recognition method and device
US9569679B1 (en) * 2012-12-04 2017-02-14 A9.Com, Inc. Adaptive image sampling for text detection
US9213919B2 (en) * 2014-02-13 2015-12-15 Adobe Systems Incorporated Category histogram image representation
US10638194B2 (en) * 2014-05-06 2020-04-28 At&T Intellectual Property I, L.P. Embedding interactive objects into a video session
CN104298985A (en) * 2014-08-11 2015-01-21 东莞中山大学研究院 Iteration based image text region detecting method
US10664647B2 (en) * 2014-10-28 2020-05-26 Kuang-Yao Lee Visual web page analysis system and method
US9582727B2 (en) 2015-01-16 2017-02-28 Sony Corporation Text recognition system with feature recognition and method of operation thereof
JP5992567B1 (en) * 2015-03-20 2016-09-14 株式会社Pfu Date identification device
CN104978565B (en) * 2015-05-11 2019-06-28 厦门翼歌软件科技有限公司 A kind of pictograph extracting method of universality
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
CN107862310B (en) * 2017-09-17 2021-10-26 北京工业大学 Tibetan historical literature text region extraction method based on block projection
US10679085B2 (en) * 2017-10-31 2020-06-09 University Of Florida Research Foundation, Incorporated Apparatus and method for detecting scene text in an image
WO2019090506A1 (en) * 2017-11-08 2019-05-16 Intel Corporation Scene text detector for unconstrained environments
US11593552B2 (en) 2018-03-21 2023-02-28 Adobe Inc. Performing semantic segmentation of form images using deep learning
CN110032997B (en) * 2019-01-07 2021-02-19 武汉大学 Natural scene text positioning method based on image segmentation
US11042734B2 (en) * 2019-08-13 2021-06-22 Adobe Inc. Electronic document segmentation using deep learning
CN110619333B (en) * 2019-08-15 2022-06-14 平安国际智慧城市科技股份有限公司 Text line segmentation method, text line segmentation device and electronic equipment
US11042422B1 (en) 2020-08-31 2021-06-22 Microsoft Technology Licensing, Llc Hybrid binaries supporting code stream folding
US11403100B2 (en) 2020-08-31 2022-08-02 Microsoft Technology Licensing, Llc Dual architecture function pointers having consistent reference addresses
US11231918B1 (en) 2020-08-31 2022-01-25 Microsoft Technologly Licensing, LLC Native emulation compatible application binary interface for supporting emulation of foreign code

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546474A (en) * 1993-12-21 1996-08-13 Hewlett-Packard Company Detection of photo regions in digital images
DE69519980T2 (en) * 1994-12-28 2001-06-07 Siemens Corp Res Inc Method and device for the detection and interpretation of subtitles in digital video signals
DK0807297T3 (en) * 1995-01-31 2000-04-10 United Parcel Service Inc Method and apparatus for separating foreground from background in images containing text
DE19507059B9 (en) * 1995-03-01 2005-02-17 Wevelsiep, Klaus, Prof. Dipl.-Ing. Dr. Method for omnidirectional acquisition of OCR plain text on labels or similar data carriers by random search and decoding with a neural network
US5889884A (en) * 1995-05-23 1999-03-30 Minolta Co., Ltd. Image forming apparatus capable of recognizing top and bottom of document image

Cited By (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8599309B2 (en) 2000-12-04 2013-12-03 Jlb Ventures Llc Method and system for identifying addressing data within a television presentation
US8130320B2 (en) * 2000-12-04 2012-03-06 Jlb Ventures Llc Method and system for identifying addressing data within a television presentation
US20090073315A1 (en) * 2000-12-04 2009-03-19 Jlb Ventures Llc Method and System for Identifying Addressing Data Within a Television Presentation
US20030014445A1 (en) * 2001-07-13 2003-01-16 Dave Formanek Document reflowing technique
US20070013719A1 (en) * 2003-07-16 2007-01-18 Canon Kabushiki Kaisha Image processing apparatus, image processing method, storage medium, and program
US20050012760A1 (en) * 2003-07-16 2005-01-20 Canon Kabushiki Kaisha Image processing apparatus, image processing method, storage medium, and program
US8081799B2 (en) 2003-07-18 2011-12-20 Lockheed Martin Corporation Method and apparatus for automatic object identification using identified perpendicular lines, gradient magnitudes and distances
US7894675B2 (en) 2003-07-18 2011-02-22 Lockheed Martin Corporation Method and apparatus for automatic linear object identification using identified terrain types in images
US20050013486A1 (en) * 2003-07-18 2005-01-20 Lockheed Martin Corporation Method and apparatus for automatic object identification
US8135174B2 (en) 2003-07-18 2012-03-13 Lockheed Martin Corporation Automatic image object identification using threshold gradient magnitude based on terrain type
US7672484B2 (en) 2003-07-18 2010-03-02 Lockheed Martin Corporation Method and apparatus for automatic identification of linear objects in an image
US7676065B2 (en) 2003-07-18 2010-03-09 Lockheed Martin Corporation Method and apparatus for automatic identification of objects in an image
US7983446B2 (en) 2003-07-18 2011-07-19 Lockheed Martin Corporation Method and apparatus for automatic object identification
US20080063238A1 (en) * 2003-07-18 2008-03-13 Lockheed Martin Corporation Method and apparatus for automatic object identification
US7738707B2 (en) * 2003-07-18 2010-06-15 Lockheed Martin Corporation Method and apparatus for automatic identification of bodies of water
US20080219506A1 (en) * 2003-07-18 2008-09-11 Lockheed Martin Corporation Method and apparatus for automatic object identification
US20110103648A1 (en) * 2003-07-18 2011-05-05 Lockheed Martin Corporation Method and apparatus for automatic object identification
US20080317345A1 (en) * 2003-07-18 2008-12-25 Lockheed Martin Corporation Method and apparatus for automatic object identification
US20110085703A1 (en) * 2003-07-18 2011-04-14 Lockheed Martin Corporation Method and apparatus for automatic object identification
US7446817B2 (en) 2004-02-18 2008-11-04 Samsung Electronics Co., Ltd. Method and apparatus for detecting text associated with video
JP4559252B2 (en) * 2004-02-18 2010-10-06 三星電子株式会社 Moving picture caption detection method and apparatus
US20050196043A1 (en) * 2004-02-18 2005-09-08 Samsung Electronics Co., Ltd. Method and apparatus for detecting text associated with video
JP2005235220A (en) * 2004-02-18 2005-09-02 Samsung Electronics Co Ltd Method and apparatus for detecting subtitle of video
EP1569162A1 (en) * 2004-02-18 2005-08-31 Samsung Electronics Co., Ltd. Method and apparatus for detecting text of video
US20080172218A1 (en) * 2004-06-07 2008-07-17 Takamasa Suzuki Web Page Translation Device and Web Page Translation Method
US7630544B1 (en) 2005-04-06 2009-12-08 Seiko Epson Corporation System and method for locating a character set in a digital image
US7930627B2 (en) 2005-09-22 2011-04-19 Konica Minolta Systems Laboratory, Inc. Office document matching method and apparatus
US20070067713A1 (en) * 2005-09-22 2007-03-22 Konica Minolta Systems Laboratory, Inc. Office document matching method and apparatus
US7567729B2 (en) * 2005-09-22 2009-07-28 Konica Minolta Systems Laboratory, Inc. Photo image matching method and apparatus
US20070065040A1 (en) * 2005-09-22 2007-03-22 Konica Minolta Systems Laboratory, Inc. Photo image matching method and apparatus
US20070133020A1 (en) * 2005-12-14 2007-06-14 Fuji Xerox Co., Ltd. Image processing system and image processing method
US8566707B1 (en) * 2006-03-29 2013-10-22 Amazon Technologies, Inc. Generating image-based reflowable files for rendering on various sized displays
US9760781B2 (en) 2006-06-29 2017-09-12 Google Inc. Using extracted image text
US20080002914A1 (en) * 2006-06-29 2008-01-03 Luc Vincent Enhancing text in images
US9881231B2 (en) 2006-06-29 2018-01-30 Google Llc Using extracted image text
US8503782B2 (en) 2006-06-29 2013-08-06 Google Inc. Using extracted image text
US9542612B2 (en) 2006-06-29 2017-01-10 Google Inc. Using extracted image text
US9269013B2 (en) 2006-06-29 2016-02-23 Google Inc. Using extracted image text
US7953295B2 (en) 2006-06-29 2011-05-31 Google Inc. Enhancing text in images
US8744173B2 (en) 2006-06-29 2014-06-03 Google Inc. Using extracted image text
US8031940B2 (en) * 2006-06-29 2011-10-04 Google Inc. Recognizing text in images using ranging data
US20080002893A1 (en) * 2006-06-29 2008-01-03 Luc Vincent Recognizing text in images
US8098934B2 (en) 2006-06-29 2012-01-17 Google Inc. Using extracted image text
US20080002916A1 (en) * 2006-06-29 2008-01-03 Luc Vincent Using extracted image text
US9208133B2 (en) 2006-09-29 2015-12-08 Amazon Technologies, Inc. Optimizing typographical content for transmission and display
US8782551B1 (en) * 2006-10-04 2014-07-15 Google Inc. Adjusting margins in book page images
US8194941B2 (en) * 2007-03-12 2012-06-05 Nec Corporation Character noise eliminating apparatus, character noise eliminating method, and character noise eliminating program
US20080226143A1 (en) * 2007-03-12 2008-09-18 Nec Corporation Character noise eliminating apparatus, character noise eliminating method, and character noise eliminating program
US8200016B2 (en) * 2007-04-27 2012-06-12 Nidec Sankyo Corporation Method and apparatus for character string recognition
US20080304746A1 (en) * 2007-04-27 2008-12-11 Nidec Sankyo Corporation Method and apparatus for character string recognition
US7912289B2 (en) 2007-05-01 2011-03-22 Microsoft Corporation Image text replacement
US20080297657A1 (en) * 2007-06-04 2008-12-04 Richard Griffiths Method and system for processing text in a video stream
US20090041352A1 (en) * 2007-08-10 2009-02-12 Naoki Okamoto Image formation device, image formation method, and computer-readable recording medium recording image formation program
US8640024B2 (en) * 2007-10-30 2014-01-28 Adobe Systems Incorporated Visually distinct text formatting
US20090169131A1 (en) * 2007-12-26 2009-07-02 Oscar Nestares Ocr multi-resolution method and apparatus
US8611661B2 (en) * 2007-12-26 2013-12-17 Intel Corporation OCR multi-resolution method and apparatus
WO2009094446A1 (en) * 2008-01-22 2009-07-30 Digital Business Processes, Inc. Method and apparatus for cropping images
US8218890B2 (en) 2008-01-22 2012-07-10 The Neat Company Method and apparatus for cropping images
US20090185752A1 (en) * 2008-01-22 2009-07-23 Digital Business Processes, Inc. Method and apparatus for cropping images
US20130163873A1 (en) * 2009-01-23 2013-06-27 Zhao Qingjie Detecting Separator Lines in a Web Page
WO2011004304A1 (en) 2009-07-06 2011-01-13 Koninklijke Philips Electronics N.V. Retargeting of image with overlay graphic
US8867837B2 (en) * 2010-07-30 2014-10-21 Hewlett-Packard Development Company, L.P. Detecting separator lines in a web page
CN102496019A (en) * 2011-12-08 2012-06-13 银江股份有限公司 License plate character segmenting method
US20130182182A1 (en) * 2012-01-18 2013-07-18 Eldon Technology Limited Apparatus, systems and methods for presenting text identified in a video image
US8704948B2 (en) * 2012-01-18 2014-04-22 Eldon Technology Limited Apparatus, systems and methods for presenting text identified in a video image
US20160080725A1 (en) * 2013-01-31 2016-03-17 Here Global B.V. Stereo Panoramic Images
US9924156B2 (en) * 2013-01-31 2018-03-20 Here Global B.V. Stereo panoramic images
US10620826B2 (en) 2014-08-28 2020-04-14 Qualcomm Incorporated Object selection based on region of interest fusion
US9542751B2 (en) * 2015-05-08 2017-01-10 Qualcomm Incorporated Systems and methods for reducing a plurality of bounding regions
CN104834930A (en) * 2015-05-25 2015-08-12 山东中孚信息产业股份有限公司 Image Chinese character search method for multi system platform
TWI629644B (en) * 2015-06-30 2018-07-11 美商奧誓公司 Non-transitory computer readable storage medium, methods and systems for detecting and recognizing text from images
US10043231B2 (en) * 2015-06-30 2018-08-07 Oath Inc. Methods and systems for detecting and recognizing text from images
US9865062B2 (en) 2016-02-12 2018-01-09 Qualcomm Incorporated Systems and methods for determining a region in an image
US10839573B2 (en) * 2016-03-22 2020-11-17 Adobe Inc. Apparatus, systems, and methods for integrating digital media content into other digital media content
CN106960196A (en) * 2017-03-29 2017-07-18 西安电子科技大学 Industrial video decimal fractions recognition methods based on template matches and SVM
US20200082218A1 (en) * 2018-09-06 2020-03-12 Sap Se Optical character recognition using end-to-end deep learning
US10915788B2 (en) * 2018-09-06 2021-02-09 Sap Se Optical character recognition using end-to-end deep learning
CN109308465A (en) * 2018-09-14 2019-02-05 百度在线网络技术(北京)有限公司 Table line detecting method, apparatus, equipment and computer-readable medium
WO2020061691A1 (en) * 2018-09-25 2020-04-02 Element Ai Inc. Automatically detecting and isolating objects in images
US11488406B2 (en) * 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
CN111064977A (en) * 2019-12-05 2020-04-24 任子行网络技术股份有限公司 Method, system and readable storage medium for online monitoring of network integrated art program record
JP2021197190A (en) * 2020-06-16 2021-12-27 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド Optical character identification method, device, electronic device, and storage media
JP7217313B2 (en) 2020-06-16 2023-02-02 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド Optical character recognition method, apparatus, electronic device and storage medium
US11694461B2 (en) 2020-06-16 2023-07-04 Beijing Baidu Netcom Science And Technology Co., Ltd. Optical character recognition method and apparatus, electronic device and storage medium
US11494944B2 (en) 2020-11-18 2022-11-08 Disney Enterprises, Inc. Automatic low contrast detection
US11544828B2 (en) 2020-11-18 2023-01-03 Disney Enterprises, Inc. Automatic occlusion detection

Also Published As

Publication number Publication date
CN1418354A (en) 2003-05-14
HK1069913A1 (en) 2005-06-03
AU2001238648A1 (en) 2001-09-24
GB2377114A (en) 2002-12-31
HK1049536B (en) 2005-03-11
DE10195927T1 (en) 2003-05-08
GB2377114B (en) 2004-09-22
CN100514364C (en) 2009-07-15
WO2001069529A2 (en) 2001-09-20
US6470094B1 (en) 2002-10-22
DE10195927B4 (en) 2008-04-10
HK1049536A1 (en) 2003-05-16
GB0223747D0 (en) 2002-11-20
TWI223212B (en) 2004-11-01
GB2377114A8 (en) 2003-12-10
WO2001069529A3 (en) 2002-02-07

Similar Documents

Publication Publication Date Title
US6470094B1 (en) Generalized text localization in images
US6473522B1 (en) Estimating text color and segmentation of images
Lienhart et al. Localizing and segmenting text in images and videos
Lienhart et al. Automatic text segmentation and text recognition for video indexing
Gllavata et al. A robust algorithm for text detection in images
Jung et al. Text information extraction in images and video: a survey
Crandall et al. Extraction of special effects caption text events from digital video
Wernicke et al. On the segmentation of text in videos
US6614930B1 (en) Video stream classifiable symbol isolation method and system
US6731788B1 (en) Symbol Classification with shape features applied to neural network
Lienhart Video OCR: A survey and practitioner’s guide
MX2011002293A (en) Text localization for image and video ocr.
CN101057247A (en) Detection and modification of text in a image
Lu et al. Video text detection
JP5503507B2 (en) Character area detection apparatus and program thereof
Chen et al. A survey of text detection and recognition in images and videos
Anthimopoulos et al. Multiresolution text detection in video frames
Gao et al. Automatic news video caption extraction and recognition
Gllavata et al. Finding text in images via local thresholding
Roy et al. Temporal integration for word-wise caption and scene text identification
GB2399631A (en) Generalized text localization in images
GB2404733A (en) Estimating text color and segmentation of images
GB2403007A (en) Estimating text color and segmentation of images
Kim et al. A video indexing system using character recognition
Anthimopoulos et al. Detecting text in video frames

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIENHART, RAINER WOLFGANG;WERNICKE, AXEL;REEL/FRAME:010957/0883;SIGNING DATES FROM 20000606 TO 20000616

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20101022