WO2008087316A2 - Procede et systeme de binarisation d'une image comprenant un texte - Google Patents

Procede et systeme de binarisation d'une image comprenant un texte Download PDF

Info

Publication number
WO2008087316A2
WO2008087316A2 PCT/FR2007/052527 FR2007052527W WO2008087316A2 WO 2008087316 A2 WO2008087316 A2 WO 2008087316A2 FR 2007052527 W FR2007052527 W FR 2007052527W WO 2008087316 A2 WO2008087316 A2 WO 2008087316A2
Authority
WO
WIPO (PCT)
Prior art keywords
image
text
neurons
layer
neuron
Prior art date
Application number
PCT/FR2007/052527
Other languages
English (en)
Other versions
WO2008087316A3 (fr
Inventor
Christophe Garcia
Zohra Saidane
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Publication of WO2008087316A2 publication Critical patent/WO2008087316A2/fr
Publication of WO2008087316A3 publication Critical patent/WO2008087316A3/fr

Links

Classifications

    • 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
    • G06V20/635Overlay text, e.g. embedded captions in a TV program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • 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
    • G06V30/16Image preprocessing
    • G06V30/162Quantising the image signal
    • 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
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18019Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
    • G06V30/18038Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters
    • G06V30/18048Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters with interaction between the responses of different filters, e.g. cortical complex cells
    • G06V30/18057Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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 to a method and a system for binarizing an image comprising a text.
  • the invention applies in particular to natural images with embedded text.
  • OCRs optical character recognition systems
  • Optical character recognition systems have reached a high level of maturity and are widely commercialized.
  • OCR systems make it possible to make the recognition of characters in textual documents for example scanned.
  • existing OCR systems are poor in the field of character recognition in so-called natural images, which can be photos or videos containing scene texts or texts embedded in post-production as subtitles.
  • the pre-treatment phase consists in separating the pixels belonging to the text to be recognized from the pixels of the background of the image.
  • the preprocessing phase is called the binarization phase.
  • the binarization phase the color image to be processed is transformed into a black and white image, the white pixels corresponding for example to the zero value and the black pixels corresponding for example to the value one.
  • the image once processed therefore comprises only binary type information.
  • the black pixels of the black and white image correspond to text pixels and the white pixels correspond to pixels in the background of the image.
  • the different characters of the text are then isolated and recognized by an OCR character recognition system.
  • Luminance is the quotient of the luminous intensity of a surface of an image by the apparent area of the surface of the image for a distant observer.
  • Chrominance is the color information of an image. Pixels whose luminance and chrominance value exceed one of the fixed thresholds are classified as white, the other pixels being classified as black.
  • Statistical analysis is generally based on histograms and does not take into account the shape of the characters. This type of method is not very robust in the case of text embedded in natural images. The main reasons for this lack of robustness include:
  • a Fast Algorithm for Multilevel Thresholding determines a threshold separating the luminances of the pixels of the image into two classes so that the variance between the two classes is maximum. It is therefore assumed that there is a majority of pixels belonging to the background of the image in order to decide which of the two classes groups the pixels of the background of the image and which of the two classes groups the pixels of the text. This hypothesis is not always verified.
  • the empirical choice of a single threshold assumes that the text and the background have luminances that are homogeneous and separable by a threshold value. This is generally not the case especially when the text but especially the background of the image have a variable luminance, for example in image parts presenting natural scenes or in videos.
  • global methods can not handle texts whose letters have color or intensity differences between them. This type of text can appear when it has been created with differences in color or intensity or when it is about scene texts, which are texts that are part of the observed scene: a sign or a text inlaid by transparency, a date for example. Color or intensity differences may also occur as a result of image coding.
  • Some local methods seek, like the global methods mentioned above, to make an estimate of the luminance thresholds for each of the different parts of the image.
  • the image is thus divided into a set of rectangular windows in which independent binarizations are performed.
  • Most of the local methods are based on a calculation of luminance mean as well as on a minimization of the standard deviation between the different luminance classes of the pixels of the image.
  • the local methods therefore aim to adapt to local luminance variations in an image.
  • the size of the rectangular processing windows is fixed a priori, which presupposes a priori knowledge of the size of text characters and their appearance: as the type of font, the bold or italic style for example. If the size of the window is too big, the details of the character structure are degraded. If the size of the window is too small compared to the thickness of the characters then the window may contain only text pixels and thus not allow to determine a threshold of binarization. In fact, the determination of the binarization threshold is based on an analysis of the histograms of the luminance of the pixels of the background of the image and the text. Moreover, the size of the windows is not, for local methods, the only parameter to be determined. As with global methods, many parameters need to be adjusted empirically, which undermines the robustness of these methods.
  • This method calculates a threshold for each color channel in the red, green, and blue color space otherwise named RGB.
  • This threshold is calculated using a method of global thresholding of the luminance of each channel, for example the Otsu method well known to those skilled in the art.
  • Each color channel is then binarized.
  • each pixel of the color image is represented by a code comprising three components (ci, C 2 ,
  • c ⁇ is the value of the pixel in the binarized channel ⁇ , ⁇ being take in the example the values one, two or three.
  • the pixels can then be grouped into eight sets. Each set corresponds to a given value among the eight possible values of the triplet (ci, C 2 , C 3 ) for example (0, 1, 0). These sets are then merged and marked as belonging to the background of the image or the text according to the intra variances and interclasses the luminance values of the pixels assigned to the text class or the background class of the image, each class corresponding to a luminance level in each of the channels.
  • These types of methods apply mostly global or local methods, developed for luminance, to different color channels. These methods therefore face the same disadvantages as those cited for global methods and local methods.
  • the main disadvantage of the existing techniques therefore lies in their low robustness to luminance and especially chrominance variations in an image containing text.
  • the existing techniques are also not very robust to coding noise of the image when this coding results for example from a compression of the image. Indeed, a compression of the image leads to a lack of homogeneity of the pixels.
  • the presence of complex image backgrounds and text embedding techniques by transparency in an image are all difficulties that make the existing methods of binarization inefficient.
  • the subject of the invention is a method and a system for binarizing an image comprising a text.
  • the binarization method comprises: • a preliminary phase of learning a method of constructing a binary text image by a neural architecture.
  • Neural architecture includes heterogeneous layers of artificial neurons.
  • An input layer comprises a plurality of neural cards, said cards respectively corresponding to a coding channel of the image comprising the text according to a previously chosen picture coding space.
  • the image of binary text is composed of pixels of text worth a first value and pixels of background of the image including text at least one other value;
  • the preliminary learning phase is an iterative process comprising at least the following steps:
  • the binarization phase comprises at least the following steps: • resizing an input image comprising text in a given dimension image; • decomposition of the input image into several image coding channels, provided as input to the neural architecture; Constructing an output text image by the neural architecture;
  • the minimization of the difference between the output image and the corresponding binary text image is performed in particular by a gradient retro-propagation algorithm.
  • Minimizing the difference between the output image and the corresponding binary text image is performed by minimizing for example a
  • N ⁇ representing the number of images of the training set used during the learning phase
  • F h representing the value of a pixel of the output image
  • the binarization system comprises a neural architecture comprising several heterogeneous layers of artificial neurons:
  • a first set of one or more layers of neurons performing an extraction of characteristic forms of the text of the image comprising the text presented at the input of the neuronal architecture
  • a second set of one or more layers of neurons performing a construction of the characteristic forms of the text into an output image.
  • the first set of neuronal layers of neural architecture includes:
  • An input layer comprising a number NE of cards E c of pixels of the image comprising the input text.
  • the cards E 0 are of given dimension and respectively correspond to an encoding channel of the image comprising the text according to a previously chosen image coding space;
  • a convolution layer comprising a number NCi of Cn cards of neurons.
  • the Cn cards are of given dimension.
  • Each neuron of each card Cn is for example connected by a first set of MiXM 1 synaptic connections to a set of M 1 XM 1 pixels of each card E c .
  • Each pixel of each card E c is connected to one or more neurons of each card d;
  • a sub-sampling layer comprising a number NS 2 of maps S ⁇ of reduced size with respect to the given dimension.
  • Each neuron of a card S 2j receives, for example, an average of
  • M 2 XM 2 outputs of M 2 XM 2 neurons neighboring a Cn card.
  • Each neuron of each d card is connected to a single neuron of a S 2J card via a second set of synaptic connections.
  • the second set of neuronal layers of neural architecture includes:
  • An over-sampling layer comprising a number NU 3 of cards U 3k of dimension greater than the dimension of the cards S ⁇ and smaller than the given dimension.
  • Each neuron of each card l ⁇ k is for example connected to a neuron of a card S 2j .
  • Each neuron of a map S ⁇ is for example connected to a set of M 2 ⁇ M 2 neurons neighboring a map U 3k via a third set of M 2 XM 2 synaptic connections;
  • a convolution-inverse layer being an output layer of the neural architecture.
  • the convolution-inverse layer comprises in particular a neuron map.
  • Each neuron of each U 3k card is for example connected to a set of MixMi neurons adjacent to the output layer.
  • Each neuron of the output layer is for example connected to one or more neurons neighboring each card U3 k via a fourth set of synaptic connections.
  • the neurons of the convolutional layer Ci use a first linear type activation function; the neurons of the subsampling layer S 2 use a second sigmoid-type activation function; the neurons of the oversampling layer U 3 use a third sigmoid-type activation function and the neurons of the convolution-inverse layer F use a fourth sigmoid-type activation function.
  • Each synaptic connection of the neural architecture is associated with a synaptic weight W uv .
  • the weights of each set of synaptic connections between the neurons of each layer of neural architecture are for example shared by the neurons of each layer of the neural architecture except the input layer.
  • a computer program includes program code instructions for executing the process of binarizing an image comprising a text.
  • the computer program is notably executed by one or more processors.
  • the main advantage of the invention is the robust processing of complex background images with chrominance variations, low contrast and high noise.
  • the invention also has the advantage of taking into account the shape of the text characters.
  • the system according to the invention advantageously makes it possible to simultaneously take into account several color channels.
  • Another advantage of the system according to the invention is that it does not require empirical parameterization.
  • FIG. 1a a block diagram of the various phases of the method according to the invention
  • FIG. 1b an example of a training set for a learning phase of the method according to the invention
  • Figure 2 a block diagram of an architecture of a multilayer perceptron
  • FIG. 3a a schematic diagram of the operation of an artificial neuron
  • FIG. 3b an activation function of an artificial neuron
  • FIG. 4a a block diagram of a neural architecture according to the invention.
  • FIG. 4b an example of convolution between two layers of the neuronal architecture according to the invention
  • FIG. 4c an example of downsampling between two layers of the neural architecture according to the invention
  • FIG. 4d an example of oversampling between two layers of the neural architecture according to the invention
  • FIG. 4e an example of convolution-inverse between two layers of the neural architecture according to the invention
  • FIG. 5 a block diagram of various possible steps of the learning phase of the method according to the invention
  • FIG. 6 a block diagram of various possible steps of a binarization phase of the method according to the invention.
  • Figure 1a shows two phases 1, 2 of the binarization process according to the invention.
  • the method according to the invention is based in particular on a neuronal architecture according to the invention comprising several heterogeneous layers of artificial neurons.
  • the heterogeneous layers of artificial neurons allow:
  • a first phase 1 of the automatic binarization method according to the invention is a learning phase 1 of a method for constructing a binary text image.
  • This learning phase 1 makes it possible to adjust the weights of synaptic connections between the neurons of the different layers of the neural architecture according to the invention which will be described later.
  • This first learning phase 1 is carried out prior to a second phase of automatic binarization 2 of a text in an image.
  • a learning set 3 represented for example in Figure 1b, is constructed.
  • Learning set 3 comprises a set of artificially produced images 4 having significant variations in coding, contrast and color noise. All Figure 3 also includes binary text images corresponding to each color image having text 4. Images containing text 4 are constructed from a set of binary text images 5 to which are applied: • different types noises like noises following a uniform law or a Gaussian law; • smoothing filters to obtain artificial images with text 4 closest to real images.
  • each image comprising text 4 is presented to an input layer of the neural architecture according to the invention.
  • the neural architecture comprises at least one intermediate neuron layer between the input layer and an output layer. This neuronal architecture learns to construct, globally and in one pass, a binary text image from an image comprising text 4. A result text image is thus obtained at the output of the neural architecture.
  • This result text image is compared, during the learning phase 1, to the binary text image 5 of the learning base 3 corresponding to the image comprising text 4 presented as input to the neural architecture. . If a significant difference exists between the result text image and the desired binary text image, the synaptic connection weights of the neural architecture are updated according to the detected difference, in order to minimize the latter.
  • the neural architecture can process unknown color images containing text.
  • the neural architecture outputs a result text image whose elements make it possible to directly label each pixel of the image in pixel of background of the image or in pixel of text.
  • FIG. 2 represents a general diagram of a network of artificial neurons of the multilayer perceptron type.
  • the binarization system according to the invention implements a neuronal architecture of the multilayer perceptron type.
  • This multilayer perceptron 20 enables the binarization system according to the invention to learn a set of connection weights between the different neurons of the perceptron 20 in order to be able to construct a binary text image.
  • the multilayer perceptron 20 is therefore an oriented array of artificial neurons organized in several heterogeneous layers 21, 22, 23, 24. The information flows in the perceptron 20 in a single direction, from the input layer 21 to the output layer 24. The perceptron 20 is then said oriented.
  • the input layer 21 is a virtual neural layer associated with the input data of FIG. binarization system for example, so it is not really composed of artificial neurons.
  • the following layers, 22, 23, 24 each comprise a set of artificial neurons.
  • a multilayer perceptron may comprise any number of neuron layers and a number of neurones and inputs per neuron layer, as well.
  • the neural network 20 comprises three inputs 21, four neurons on the first hidden layer 22, three neurons on the second hidden layer 23 and four neurons on the output layer 24.
  • the outputs 25 of the neurons of the layer output 24 corresponds to the output of the binarization system for example.
  • An artificial neuron such as that shown in FIG. 3a, is a computing unit which receives as input a signal in the form of a vector X of n real values for example, n being greater than or equal to one.
  • This vector X arrives in the neuron via n synaptic connections each carrying a weight that can take a real value W n , ii being between zero and n.
  • an artificial neuron outputs a real value y.
  • the various operations performed by the artificial neuron are shown in Figure 3a described below.
  • first synaptic connections 26 connect the neurons of the input layer 21 to the neurons of the first hidden layer 22, second synaptic connections
  • the creation of a multilayer perceptron in order to solve a given problem thus passes through the inference of the best possible application as defined by a set of training data consisting of pairs (X, y) of input vectors X and desired outputs y.
  • FIG. 3a represents a functional diagram of an artificial neuron 32.
  • Each of the entries X N , ii being zero to n excites one of the synaptic connections weighted by a weight w M.
  • the weight Wo is the weight of the synaptic connection associated with the input value X 0 .
  • the quantity w o ⁇ xo is called bias and corresponds to a threshold value for the artificial neuron 32.
  • the activation function ⁇ can take different forms depending on the desired applications.
  • two types of activation functions are used in particular: a first linear activation function of type:
  • ⁇ (x) x (103) • a second nonlinear activation function called sigmoid type:
  • FIG. 3b represents an example of a sigmoid function: the function tanh (x) having the advantage of producing bounded values 31 between minus one and plus one.
  • FIG. 4a shows an architecture 40 of multilayer perceptron neural networks used by the binarization system according to the invention.
  • This neural network architecture 40 or neural architecture 40, comprises five interconnected layers of heterogeneous neurons E, Ci, S 2 , U 3 , F.
  • the neural architecture 40 comprises:
  • a first set of neuron layers 41 each layer of neurons comprising a series of maps derived in particular from convolution and subsampling operations;
  • a second set of layers of neurons 42 each layer of neurons comprising a series of maps resulting in particular from oversampling and convolution-inverse operations.
  • the first set of neural layers 41 is responsible for extracting characteristic shape and color primitives from an input image 43 having text.
  • the second set of neuron layers 42 makes it possible to construct from the extracted primitives an output image 44.
  • a first layer of neurons E is an input layer E of the neural architecture 40.
  • the input layer E may comprise a number NE of cards E c of neurons, with c being one to NE.
  • Each of the neural E c cards corresponds to a coding channel of the input image
  • each card will correspond to a color in the RGB color space.
  • NE cards E c is, for example three, as shown in Figure 4a.
  • the first card E 1 corresponds, for example, to the red channel of the input picture 43
  • the second card E 2 corresponds, for example, to the green channel of the input picture 43
  • the third card E 3 corresponds, for example, to the blue channel of the input image 43.
  • Other image-encoding spaces may be used to decompose the image into channels, eg luminance, hue and saturation coding,
  • Each card E c represents a matrix of pixels of the image size HxL corresponding to the size of the input image 43.
  • the input image 43 may for example have a size of 24x48.
  • Each pixel (P ⁇ m ) c of a color channel c of the input image 43 can take the values one to two hundred and fifty-five.
  • the indices I and m respectively represent a line index and a column index in the matrix of pixels representing the input image 43.
  • m ) c of an input layer card E 0 E is obtained by performing the following operation:
  • a second layer of neurons Ci is a convolutional layer Ci.
  • Each card Ci is connected to all the cards E c of the input layer E.
  • Each neuron of each card Ci 1 uses a linear type activation function (103).
  • Each neuron of each card Ci 1 is connected to a set of M 1 XM 1 elements E im 'neighbors of each card E c by a first set of M-IxM 1 synaptic connections 45.
  • the convolution used to pass from the input layer E to the convolution layer C 1 is for example a convolution of size
  • FIG. 4b represents an example of convolution between a first portion 50 of a card E c of the shape of a first rectangle 50 of dimension 7 ⁇ 12 and a second portion 51 of a card C 1 , of the shape of a second rectangle 51 of size 5x10.
  • the third rectangle 53 therefore has for example a size of 5 ⁇ 10 which corresponds to the size of a card C 11 .
  • a first neuron 52 located in the third rectangle 53 is connected with a second neuron 54 of the second rectangle 51.
  • the first neuron 52 is at the same position in the third rectangle 53 as the second neuron 54 in the second rectangle 51, the second and third rectangles 51, 53 having the same size.
  • Each neuron of the first rectangle 50, belonging to a square 55 of side Mi whose center is the first neuron 52, is connected to the second neuron 54.
  • the second neuron 54 is thus connected in the same way to a set of MixMi elements neighbors of other cards E c .
  • Each neuron of a map shares with the other neurons of the set of maps Ci, the weights of the synaptic connections as well as the associated weights through each neuron of the maps Ci 1 . All the neurons of the maps d, thus use the same set W of same values W, v of weight of the synaptic connections, with iv included between zero and M- I XM- I , Wo being the synaptic weight relative to the bias.
  • the convolution used to pass from the input layer E to the convolutional layer Ci makes it possible to carry out a low-level detection in the input cards E c .
  • Low-level detection is used to extract basic shapes in an image such as angled corners or contrast lines.
  • the subsampling layer S 2 is connected to the convolutional layer Ci by means of a second set of synaptic connections 46.
  • Each neuron of each card S 2j then multiplies the average received by a synaptic weight and adds a bias as shown in Figure 3a.
  • the set of synaptic weights and the weight associated with the bias of each neuron are to be learned and are shared by all the neurons of each card.
  • FIG. 4c represents an example of downsampling between a third portion 56 of a card d, and a fourth portion 57 of a card S 2 ,
  • the third portion 56 of the map Ci is in the form a fourth rectangle 56 of size 4x10.
  • the fourth portion 57 of the map S 2j is in the form of a fifth rectangle 57 of size 2x5.
  • the subsampling is therefore of size 2x2.
  • the set of neurons of the map Ci, included in the square 58 is connected to the same third neuron 59 of the map S 2j .
  • Each neuron of each card Ci is thus connected to a single neuron of a card S 2j .
  • the set of weights of the synaptic connections between the neurons of the map d, and the third neuron 59 of the map S 2j as well as the weight associated with the bias, are the same for all the neurons of the map S 2j .
  • the output of each neuron of a card S 2 is obtained by passing through a sigmoid-type activation function (104).
  • the text characteristics of the input image 43 are extracted and condensed.
  • the following layers U 3 , F of the neural architecture 40 make it possible to construct an output image 44.
  • a fourth layer of neurons U 3 of the neural architecture 40 is a layer of oversampling U 3.
  • the upsampling layer U 3 comprises a number NU 3 of U 3K neuron cards, k being between one and NU 3 .
  • NU 3 is in particular equal to NS 2 .
  • Each U 3k card is connected to a corresponding card S 2 via a third set of synaptic connections 47.
  • each neuron 60 of a card S 2 is connected to a set of M 2 ⁇ M 2 neighboring neurons 61 of the corresponding U 3 k card.
  • Each neuron of a U 3k card is connected to a neuron of the corresponding card S 2 .
  • M 2 ⁇ M 2 is 2x2.
  • Each neuron of a U 3k map multiplies the output of the neurons of a S 2j map to which it is connected by a synaptic weight and adds a bias.
  • the output of each neuron from a U 3k map is obtained after passing into a sigmoid function of the type (104) as shown in FIG. 3b.
  • the M 2 ⁇ M 2 synaptic weights are shared by all the neurons of each U 3k map.
  • the oversampling layer U 3 performs a first construction of the output image 44 by refining the characteristics of the text extracted by the previous layers E, Ci, S 2 of the neural architecture 40.
  • a fifth layer F of the neural architecture 40 is an output layer F, having an output card F of neurons.
  • the output card F is connected to all the cards U 3k of the upsampling layer U 3 by a fourth set of synaptic connections 48.
  • Each neuron of a card U 3k is connected by a set of M 1 XMi synaptic connections 48 to a set of M-ixMi neurons neighboring the output card F.
  • An example of a connection between a card U 3k and the card F is shown in Figure 4e. This is an inverse scheme with respect to a convolution like that shown in Figure 4b. This scheme is called convolution-inverse.
  • a sixth rectangle 62 only the neurons included in a sixth rectangle 62 comprise all the neurons of a U 3k map except for the neurons located in a band of width (M 1 -l) / 2 located on the edges of the U cards 3k . This avoids having, during the convolution-inverse, neurons of the card U 3k not being connected with any neuron of the output card F.
  • a fourth neuron 63 located inside the sixth rectangle 62 is connected with a set 64 of MixMi neurons, the M-ixMi neurons being located in a square 64 whose center is a fifth neuron 65 whose position in the map F corresponds to the position of the fourth neuron 63 in the map U 3k .
  • the M 1 XM 1 synaptic weights and the weight associated with a neuron of the output card F are shared by all the neurons of the output card F.
  • the output of each neuron is obtained after passing through a function of sigmoid type as the function (104) shown in Figure 3b.
  • the inverse convolution makes it possible to construct the output card F at the size of the input picture 43.
  • the outputs of the neurons of the output card F are thus in the form of a matrix of values of the text image built binary. Since the output values of the neurons of the output map F are continuous and they are between the values minus one and plus one, the sign of each element of the value matrix of the output image is evaluated.
  • Each neuron output of the output card F has a value f, k, jk, ik corresponding to a row index and jk corresponding to a column index in the output card F.
  • ik is between one and H 4 and jk is between one and L 4 .
  • a pixel P ', k , Jk located on the line ik and the column jk of the binary text image has the following values:
  • P ' lkJk is therefore either zero in for a text pixel, ie a black pixel, or two hundred and fifty five for a background pixel that is to say a white pixel in the binary text image.
  • the fifth layer F thus makes it possible to construct a binary text image of the same size as the input image 43 received by the input layer E of the neural architecture 40. This construction also makes it possible to perform a fusion of the characteristics text refined by the oversampling layer U 3 .
  • the neural architecture 40 is first developed during the learning phase 1 which makes it possible to adjust the weights of the different synaptic connections. Once developed, the neural architecture 40 is used during the binarization phase 2 to produce a binary text image from an image with any text 43.
  • FIG. 5 represents a set of possible steps of the learning phase 1 according to the invention.
  • This learning phase 1 thus allows a development of the neural architecture 40 so that this architecture learns a method of constructing a binary text image.
  • the learning phase is an iterative process comprising in particular seven steps 70, 71, 72, 73, 74, 75, 77.
  • a first step 70 is the construction of the training set 3 shown in FIG. 1 b.
  • Learning set 3 comprises a first set of N ⁇ images comprising text 4 and a second set of binary text images 5 corresponding to the images comprising text 4.
  • the learning set 3 is constructed from a first set of binary text images 5.
  • the binary text images 5 present texts of different sizes, with different fonts.
  • a new image 4 is constructed containing the text of the binary text image 5.
  • This new image 4 is a color image: one or more colors are chosen for the text and one or more colors are chosen for the background. Then we apply, to this new image 4, different types of noises such as uniform noises or Gaussian noises.
  • a second step 71 of the learning phase 1 of the method according to the invention is a step of initialization of the synaptic weights.
  • the synaptic weights are the different weights associated with the synaptic connections 45, 46, 47, 48 between the different neuron layers E, Ci, S 2 , U 3 , F of the neuronal architecture 40.
  • the synaptic weights are randomly initialized with small values.
  • a third step 72 of the learning phase 1 is the random choice of a pair of images comprising a first image comprising text 4 and a second binary text image 5 corresponding to the first image comprising text 4.
  • the second binary text image 5 represents the image that is expected at the output of the neural architecture 40.
  • the first image comprising text 4 is the input image 43 of the neural architecture 40.
  • a fourth step 73 makes it possible to decompose the input image 43 into NE cards, each corresponding, for example, to the input image 43 on a color channel according to the chosen color space. If the image input 43 is a grayscale image, the three cards are then identical.
  • the input image 43 is processed by the neural architecture 40 by presenting to the input layer E of the neural architecture 40 the decomposition on the different color channels of the input image 43.
  • the input layer E and the following layers Ci, S 2 , U 3 , F are activated one after the other.
  • a response of the neural architecture 40 is obtained in the form of an output image 44.
  • the output image 44 is compared with the second text image binary 5 corresponding to the first image comprising text 4 presented at the input of the neural architecture 40.
  • the second binary text image 5 is the desired image 1 d at the output of the neural architecture.
  • Comparing the output image 44 and the desired image of the normalizing is performed in a first step the pixels of the desired image I d to obtain pixel values D h between minus one and plus one .
  • the normalization of the pixels of the desired image Id is carried out using the relation (105) for example.
  • the value of the pixels F h of the output image 44 is between minus one and plus one.
  • the objective of the learning phase 1 is to minimize the objective function O in order to have an output image 44 as close as possible to the desired image I d .
  • O objective function is a mean square error between the values of pixels of the desired image and values of the pixels of the output image 44.
  • O for example using a retro algorithm -propagation of the gradient that allows to calculate optimal synaptic weights.
  • the objective function O is evaluated during a seventh step 76. If the value of the objective function O is less than a fixed threshold value ⁇ , for example, then the synaptic weights of the neuronal architecture 40 are set to During the eighth step 77, the third step 72 is followed by selecting a new input image and a corresponding binary text image from the NT images of the training set 3. Then the new input image is processed by the neural architecture 40 during the fifth step 74 and so on until the value of the objective function O is less than the threshold value ⁇ or a fixed number of iterations is performed.
  • a fixed threshold value ⁇ for example, then the synaptic weights of the neuronal architecture 40 are set to During the eighth step 77, the third step 72 is followed by selecting a new input image and a corresponding binary text image from the NT images of the training set 3. Then the new input image is processed by the neural architecture 40 during the fifth step 74 and so on until the value of the objective function O is less than the threshold value ⁇ or a fixed number of
  • learning using a neural network amounts to determining all the weights of the synaptic connections of the neural network so as to obtain a vector of desired outputs D as a function of an input vector E.
  • the vector of desired outputs is the set of values D h of the pixels of the desired image I d and the input vector E is the set of values of the pixels of the image. input image 43.
  • a learning base is constituted as learning set 3.
  • any learning base comprises a list of K pairs of vectors (E 1 1 D 1 ).
  • Y 1 represents the outputs of a neural network at a time t, for an input E 1 .
  • Y 1 therefore corresponds to the set of values F h at a given instant.
  • the implementation of this gradient descent in a neural network therefore uses an iterative algorithm for retro-propagation of the gradient.
  • the gradient retrogression algorithm works in two main steps:
  • the gradient retro-propagation algorithm uses two parameters p and ⁇ :
  • • p is the learning step of the gradient retro-propagation algorithm, it is set to a very small positive value, of the order of 0.00001;
  • • ⁇ is the moment of the gradient retro-propagation algorithm, it is set to a positive value between zero and one of the order of 0.1.
  • the values of the synaptic weights W v of the neural network are fixed at small values.
  • the algorithm for retro-propagation of the gradient comprises the following steps:
  • the mean squared error ⁇ is calculated using the relation (108).
  • the gradient retroagitation algorithm applied to the neural architecture 40 converges to a stable solution after about six hundred iterations.
  • FIG. 6 represents various possible steps 80, 81, 82, 83 of the binarization phase 2 of the method according to the invention.
  • the binarization phase 2 uses the neural architecture 40, once developed during the learning phase 1, in order to binarize any image comprising a text.
  • a first step 80 is a step of resizing the unknown input image 43 to an image size HxL taken into account by the neural architecture 40.
  • a preliminary step may make it possible to detect a text zone in an image so that to extract from the image only the area containing the text. This extraction of text box can be manual, or automatic with software for extracting text in an image.
  • the input image 43 is decomposed in the form of NE maps corresponding to the NE channels of the color space used by the neural architecture 40. These maps are then presented at the input E of neural architecture 40.
  • the third step 82 makes it possible to process the input image 43: the successive layers Ci, S 2 , U 3 , F of the neural architecture 40 are activated one after the other in order to construct an output image 44.
  • the output layer F of the neural architecture 40 we thus obtain the response of the neural architecture 40 in the form of an output image 44.
  • the output image is in the form of a matrix of pixels of size HxL.
  • the pixel values of the output image 44 are converted during a fourth step 83 to obtain a binarized image.
  • the conversion makes it possible to obtain pixel values equal to zero or two hundred fifty-five in order to construct a binary text image corresponding to the input image 43.
  • the conversion is carried out according to the formula (106).
  • the binary text image thus obtained can then be processed by a character recognition software.
  • the invention has been described for partitioning the pixels of an image into two sets of pixels, a first set of pixels comprising text and a second set of pixels comprising the background of the image.
  • the binarization according to the invention can be applied to a partition in a number of sets of pixels greater than two.
  • an input image 43 is decomposed into three channels according to a decomposition of the image in an RGB color space in the method according to the invention.
  • Another color space or other image coding space may be used to decompose the input image on one or more cards according to the channels of the encoding space.
  • the method and the binarization system according to the invention advantageously make it possible to develop an image binarization system comprising text by supervised learning without any empirical choice of parameter.
  • Another advantage of the invention is to directly take into account the shape of the characters of the text because of the automatic classification of each pixel of the input image 43 in pixels of text or pixels of background from extractors of the text. local and global features automatic learned.
  • the system according to the invention directly and simultaneously takes into account different color channels without reducing the treatments to the single luminance or to an independent treatment by color channel.
  • the method according to the invention has a high robustness to noise, low contrasts, chrominance variations, transparency effects, and the complexity of the background of the input image 43.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Character Input (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

La présente invention concerne un procédé et un système de binarisation d'une image comprenant un texte. Le procédé de binarisation d'une image comprenant un texte comporte : une phase préliminaire d'apprentissage (1) d'un procédé de construction d'une image de texte binaire par une architecture neuronale (40). L'architecture neuronale (40) comporte des couches hétérogènes (E, C1, S2, U3, F) de neurones artificiels. Ladite image de texte binaire est composée de pixels du texte valant une première valeur et de pixels de fond de l'image comprenant le texte valant au moins une autre valeur; une phase de binarisation (2) de l'image comprenant le texte (43) par le procédé de construction d'une image de texte binaire appris au cours de la phase préliminaire d'apprentissage (1). L'invention s'applique notamment à des images naturelles comportant un texte incrusté.

Description

Procédé et système de binarisation d'une image comprenant un texte
La présente invention concerne un procédé et un système de binarisation d'une image comprenant un texte. L'invention s'applique notamment à des images naturelles comportant un texte incrusté.
La reconnaissance de textes incrustés dans des images permet d'obtenir des indices de haut niveau sémantique qui caractérisent le contenu des images et en facilitent par exemple une indexation automatique.
Des systèmes de reconnaissance optique de caractères, nommés OCR, ont atteint un haut niveau de maturité et sont largement commercialisés. Les systèmes OCR permettent de faire de la reconnaissance de caractères dans des documents textuels par exemple scannés. Cependant les systèmes OCR existants sont peu performants dans le domaine de la reconnaissance de caractères dans des images dites naturelles, qui peuvent être des photos ou des vidéos contenant des textes de scène ou des textes incrustés en postproduction comme des sous-titres.
Les systèmes de reconnaissance de caractères de documents textuels actuels nécessitent donc une phase de pré-traitement indispensable. La phase de pré-traitement consiste à séparer les pixels, appartenant au texte à reconnaître, des pixels du fond de l'image. La phase de prétraitement est nommée phase de binarisation. Au cours de la phase de binarisation, l'image couleur à traiter est transformée en une image en noir et blanc, les pixels blancs correspondant par exemple à la valeur zéro et les pixels noirs correspondant par exemple à la valeur un. L'image une fois traitée comporte donc uniquement des informations de type binaires. Les pixels noirs de l'image en noir et blanc correspondent à des pixels de texte et les pixels blancs correspondent à des pixels du fond de l'image. Les différents caractères du texte sont ensuite isolés et reconnus par un système de reconnaissance de caractère OCR. La plupart des méthodes de binarisation automatique d'une image contenant du texte reposent sur le choix d'un seuil de séparation global ou de plusieurs seuils de séparation locaux, déterminés par une simple analyse statistique de la distribution de la luminance et de la chrominance de l'image. La luminance est le quotient de l'intensité lumineuse d'une surface d'une image par l'aire apparente de la surface de l'image pour un observateur lointain. La chrominance regroupe les informations de couleur d'une image. Les pixels dont la valeur de luminance et de chrominance dépassent un des seuils fixés sont classifiés comme blancs, les autres pixels étant classifiés comme noirs. L'analyse statistique s'effectue en général à partir d'histogrammes et ne prend pas en compte la forme des caractères. Ce type de méthode s'avère peu robuste dans le cas de texte incrusté dans des images naturelles. Les principales raisons à ce manque de robustesse sont notamment :
• le bruit de codage des images qui rend difficile la séparation des caractères de texte du fond de l'image ; « la variation possible de luminance et de la chrominance des caractères de texte dans l'image ;
• les effets de transparence des caractères du texte ;
• la complexité du fond de l'image.
La majorité des techniques existantes de binarisation élaborent un certain nombre d'hypothèses notamment concernant la luminance du texte par rapport à la luminance du fond de l'image. Des différences sur ces hypothèses permettent notamment de regrouper des techniques existantes en deux catégories principales : les méthodes globales et les méthodes locales.
Les méthodes globales sont utilisées lorsque l'on peut émettre l'hypothèse que le texte et le fond de l'image possèdent chacun une luminance différente mais homogène. Il s'agit alors de rechercher une valeur seuil unique de luminance pour différentier la luminance des pixels du texte et la luminance des pixels du fond de l'image. Plusieurs de ces méthodes sont notamment décrites dans les documents suivants :
• "Localizing and Segmenting Text in Images and Videos", dans NEEE Transactions on circuits and Systems for video technology, volume 12, numéro 4, avril 2002, écrit par R. Lienhart et A. Wernicke ; • "A Fast Algorithm for Multilevel Thresholding" du Journal of information science and engineering, volume 17, pages 713 à 727, publié en 2001 , rédigé par P-S. Liao, T-S. Chen et P-C. Chung.
Les approches utilisées pour mettre au point les méthodes globales découlent des techniques employées pour des documents textuels scannés dans lesquels le texte apparaît de manière sombre sur un fond d'image clair et uniforme. Pour trouver un seuil de luminance optimal, la plupart des méthodes se basent sur un calcul d'histogramme, l'histogramme caractérisant la distribution de la luminance des différents pixels de l'image.
La méthode décrite dans le document "A Fast Algorithm for Multilevel Thresholding" détermine un seuil séparant les luminances des pixels de l'image en deux classes de telle sorte que la variance entre les deux classes soit maximale. On suppose donc qu'il existe une majorité de pixels appartenant au fond de l'image afin de décider laquelle des deux classes regroupe les pixels du fond de l'image et laquelle des deux classes regroupe les pixels du texte. Cette hypothèse n'est cependant pas toujours vérifiée.
Dans le document "Localizing and Segmenting Text in Images and Videos", on considère un premier histogramme de la luminance des quatre lignes centrales de la zone de texte, qui sont supposées contenir une majorité de pixels de texte, et un deuxième histogramme de la luminance de quatre lignes des bords de la zone de texte, par exemple deux lignes en haut et deux lignes en bas de la zone de texte, qui sont supposées contenir une majorité de pixels du fond de l'image. Une valeur maximale d'un troisième histogramme, résultant de la différence entre le premier et le deuxième histogramme, donne directement une luminance moyenne du texte. Une valeur minimale du troisième histogramme donne une luminance moyenne du fond de l'image. Un seuil de luminance est alors la valeur moyenne entre la luminance moyenne du texte et la luminance moyenne du fond de l'image.
Le choix empirique d'un seuil unique suppose que le texte et le fond possèdent des luminances homogènes et séparables par une valeur seuil. Ceci n'est généralement pas le cas notamment lorsque le texte mais surtout le fond de l'image possèdent une luminance variable, par exemple dans des parties d'image présentant des scènes naturelles ou dans des vidéos. Plus particulièrement, les méthodes globales ne peuvent pas traiter les textes dont les lettres présentent des différences de couleur ou d'intensité entre elles. Ce type de texte peut apparaître lorsqu'il a été créé avec des différences de couleur ou d'intensité ou bien lorsqu'il s'agit de textes de scène, qui sont des textes faisant partie de la scène observée : un panneau indicateur ou un texte incrusté par transparence, une date par exemple. Des différences de couleur ou d'intensité peuvent également apparaître suite à un codage de l'image.
Dans les méthodes locales, on suppose que le texte et le fond de l'image peuvent avoir des luminances variables dans une zone de texte. On peut citer par exemple les documents suivants :
• "Goal-directed évaluation of binarization methods", IEEE Transactions on Pattern Analysis and Machine Intelligence, dans le volume 17, Issue 12, décembre 1995, pages 1191 à1201 , de O.D Trier et A.K.
Jain ;
• "Adaptive Document Binarization" In International Conférence on Document Analysis and Récognition, volume 1 , pages 147-152, publié en 1997, rédigé par J. Sauvola, T. Seppânen, S. Haapakoski, et M. Pietikàinen.
Certaines méthodes locales, connues sous le nom de méthodes de seuillage adaptatif, cherchent, comme les méthodes globales précédemment citées, à réaliser une estimation des seuils de luminance pour chacune des différentes parties de l'image. L'image est donc découpée en un ensemble de fenêtres rectangulaires dans lesquelles des binarisations indépendantes sont réalisées. La plupart des méthodes locales sont basées sur un calcul de moyenne de la luminance ainsi que sur une minimisation de l'écart type entre les différentes classes de luminance des pixels de l'image.
Les méthodes locales ont donc pour objectif de s'adapter à des variations de luminance locales dans une image. La taille des fenêtres rectangulaire de traitement est fixée a priori, ce qui suppose une connaissance a priori de la taille des caractères de texte et de leur apparence : comme le type de police, le style gras ou italique par exemple. Si la taille de la fenêtre est trop grande, les détails de la structure des caractères sont dégradés. Si la taille de la fenêtre est trop petite par rapport à l'épaisseur des caractères alors la fenêtre peut ne contenir que des pixels de texte et ainsi ne pas permettre de déterminer un seuil de binarisation. En effet, la détermination du seuil de binarisation repose sur une analyse des histogrammes de la luminance des pixels du fond de l'image et du texte. De plus la taille des fenêtres n'est pas, pour les méthodes locales, le seul paramètre à déterminer. Comme pour les méthodes globales, de nombreux paramètres doivent être ajustés empiriquement, ce qui nuit à la robustesse de ces méthodes.
La plupart des méthodes précédemment citées ne prennent pas directement en compte la couleur de l'image. En effet, la plupart de ces méthodes reposent sur une analyse de la seule luminance : l'image couleur est classiquement transformée en une image en niveaux de gris. Ceci suppose que la luminance permet une séparation entre le texte et le fond, ce qui n'est pas toujours le cas, notamment avec un texte incrusté dans une image. Il est connu que deux couleurs différentes mais de luminance identique ne peuvent être distinguées après transformation de l'image couleur en image de niveaux de gris.
D'autres méthodes utilisent des informations sur la chrominance des images à binariser. Parmi ces méthodes, la plupart appliquent les techniques globales et locales sur un ou plusieurs canaux de couleur indépendamment comme les canaux rouge, vert, bleu. Ensuite ces méthodes utilisent une fusion des résultats afin de réaliser la binarisation.
C'est le cas de la méthode décrite dans le document écrit par Du,
E. Y., Chein-I Chang, Thouin, P. D. : "An unsupervised approach to color video thresholding", International Conférence on Multimedia and Expo,
Volume 3, 6-9 juillet 2003, pages: 337-340. Cette méthode calcule un seuil pour chaque canal de couleur de l'espace de couleur rouge, vert et bleu autrement nommé RVB. Ce seuil est calculé en utilisant une méthode de seuillage globale de la luminance de chaque canal, par exemple la méthode Otsu bien connue par l'homme du métier. Chaque canal de couleur est ensuite binarisé. Ainsi chaque pixel de l'image couleur est représenté par un code comportant trois composantes (c-i, C2,
C3), où cα est la valeur du pixel dans le canal α binarisé, α pouvant prendre dans l'exemple les valeurs un, deux ou trois. Les pixels peuvent alors être regroupés en huit ensembles. Chaque ensemble correspond à une valeur donnée parmi les huit valeurs possibles du triplet (c-i, C2, C3) par exemple (0, 1 , 0). Ces ensembles sont ensuite fusionnés et marqués comme appartenant au fond de l'image ou au texte en fonction des variances intra et interclasse des valeurs de la luminance des pixels assignés à la classe de texte ou à la classe de fond de l'image, chaque classe correspondant à un niveau de luminance dans chacun des canaux. Ces types de méthodes appliquent pour la plupart les méthodes globales ou locales, développées pour la luminance, aux différents canaux de couleur. Ces méthodes se heurtent donc aux même inconvénients que ceux cités pour les méthodes globales et les méthodes locales.
D'autres techniques, utilisant un principe similaire, quantifient les couleurs d'une image en un nombre réduit de couleurs dominantes afin d'obtenir une image codée sur un petit nombre de niveaux de couleur. Cette technique de quantification est décrite, dans le document "Text détection and segmentation in complex color images", IEEE International Conférence on Acoustics, Speech, and Signal Processing, Volume 6 , 5-9 juin 2000, pages : 2326 - 2329, rédigé par C. Garcia et X. Apostolidis. La technique de quantification consiste donc à quantifier les couleurs d'une image en un nombre fixé par exemple à quatre couleurs dominantes obtenues par l'algorithme des K-moyennes couramment utilisé en analyse numérique. Les deux couleurs les plus représentées sur les bords de l'image sont assignées au fond de l'image. Les couleurs restantes peuvent être assignées soit au fond, soit au texte. Toutes les combinaisons possibles d'assignation d'une couleur, soit au fond, soit au texte, sont alors considérées. Pour chaque combinaison possible, une analyse de la périodicité horizontale des pixels assignés à la classe texte est réalisée grâce à un ensemble de mesures qui permettent de sélectionner la combinaison la plus plausible.
Ces méthodes dépendent de très nombreux paramètres fixés de manière empirique : un nombre de niveaux de quantification, une taille de la zone du bord de l'image, des valeurs seuils pour les mesures de périodicité par exemple. Ces paramètres empiriques sont difficiles à déterminer. De plus, les méthodes de quantification supposent que l'image possède un nombre de couleurs réduit, ainsi que des couleurs homogènes ou peu variables. Ces méthodes ne permettent donc pas de prendre en compte des images naturelles dans lesquelles la couleur de fond peut notamment être très variable.
Le principal inconvénient des techniques existantes réside donc dans leur faible robustesse aux variations de luminance et surtout de chrominance dans une image contenant du texte. Les techniques existantes sont également peu robustes aux bruits de codage de l'image lorsque ce codage résulte par exemple d'une compression de l'image. En effet, une compression de l'image conduit à un manque d'homogénéité des pixels. La présence de fonds d'image complexes et les techniques d'incrustation de texte par transparence dans une image sont autant de difficultés qui rendent les méthodes de binarisation existantes peu efficaces.
Une limitation majeure des techniques de binarisation selon l'art antérieur, qu'elles utilisent la couleur ou la luminance, réside dans le fait qu'elles ne prennent pas en compte la distribution spatiale des pixels de l'image correspondants au texte, c'est à dire les formes possibles des caractères. Le résultat de la binarisation est donc parfois inexploitable par des logiciels de reconnaissance de texte.
Un but de l'invention est notamment de pallier les inconvénients précités. A cet effet, l'invention a pour objet un procédé et un système de binarisation d'une image comprenant un texte. Le procédé de binarisation comporte : • une phase préliminaire d'apprentissage d'un procédé de construction d'une image de texte binaire par une architecture neuronale. L'architecture neuronale comporte notamment des couches hétérogènes de neurones artificiels. Une couche d'entrée comporte plusieurs cartes de neurones, lesdites cartes correspondant respectivement à un canal de codage de l'image comprenant le texte selon un espace de codage d'image préalablement choisi. L'image de texte binaire est composée de pixels du texte valant une première valeur et de pixels de fond de l'image comprenant le texte valant au moins une autre valeur ;
• une phase de binarisation de l'image comprenant le texte par le procédé de construction d'une image de texte binaire appris au cours de la phase préliminaire d'apprentissage.
La phase préliminaire d'apprentissage est un processus itératif comportant au moins les étapes suivantes :
• construction d'un ensemble d'apprentissage composé d'images comportant du texte et des images de texte binaires correspondantes ;
• initialisation de poids de connexions synaptiques entre les couches hétérogènes de neurones artificiels de l'architecture neuronale ;
• choix d'un couple, comprenant une image comportant du texte d'entrée et l'image de texte binaire correspondante, dans l'ensemble d'apprentissage ;
• décomposition de l'image comportant du texte d'entrée en plusieurs canaux de codage d'image, fournis en entrée de l'architecture neuronale ;
• construction d'une image de sortie, à partir de l'image comportant du texte d'entrée, par l'architecture neuronale en évaluant une différence entre l'image de sortie et l'image de texte binaire correspondante ;
• comparaison de l'image de sortie avec l'image de texte binaire correspondante en évaluant une différence entre l'image de sortie et l'image de texte binaire correspondante ; si la différence entre l'image de texte binaire correspondante et l'image de sortie dépasse un seuil ε,
• mise à jour des poids de connexions synaptiques de l'architecture neuronale en minimisant la différence entre l'image de sortie et l'image de texte binaire correspondante, le processus itératif recommençant alors à partir de l'étape de choix.
La phase de binarisation comporte au moins les étapes suivantes : • redimensionnement d'une image d'entrée comportant du texte en une image de dimension donnée ; • décomposition de l'image d'entrée en plusieurs canaux de codage d'image, fournis en entrée de l'architecture neuronale ; • construction d'une image de texte de sortie par l'architecture neuronale ;
• obtention de l'image de texte binaire.
La minimisation de la différence entre l'image de sortie et l'image de texte binaire correspondante est notamment effectuée par un algorithme de retro-propagation du gradient.
La minimisation de la différence entre l'image de sortie et l'image de texte binaire correspondante est effectuée en minimisant par exemple une
Figure imgf000011_0001
avec :
" Nτ représentant le nombre d'images de l'ensemble d'apprentissage utilisées pendant la phase d'apprentissage ; " Fh représentant la valeur d'un pixel de l'image de sortie ;
• D11 représentant la valeur d'un pixel de l'image de texte binaire correspondante.
Le système de binarisation comprend une architecture neuronale comportant plusieurs couches hétérogènes de neurones artificiels :
• un premier ensemble d'une ou plusieurs couches de neurones effectuant une extraction de formes caractéristiques du texte de l'image comprenant le texte présentée en entrée de l'architecture neuronale ;
• un deuxième ensemble d'une ou plusieurs couches de neurones effectuant une construction des formes caractéristiques du texte en une image de sortie.
Le premier ensemble de couches de neurones de l'architecture neuronale comporte notamment :
• une couche d'entrée comportant un nombre NE de cartes Ec de pixels de l'image comportant le texte d'entrée. Les cartes E0 sont de dimension donnée et correspondent respectivement à un canal de codage de l'image comprenant le texte selon un espace de codage d'image préalablement choisi ;
• une couche de convolution comportant un nombre NCi de cartes Cn de neurones. Les cartes Cn sont de dimension donnée. Chaque neurone de chaque carte Cn est par exemple connecté par un premier ensemble de MiXM1 connexions synaptiques à un ensemble de M1XM1 pixels de chaque carte Ec. Chaque pixel de chaque carte Ec est connecté à un ou plusieurs neurones de chaque carte d, ;
• une couche de sous-échantillonnage comportant un nombre NS2 de cartes S^ de dimension réduite par rapport à la dimension donnée. Chaque neurone d'une carte S2j reçoit par exemple une moyenne de
M2XM2 sorties de M2XM2 neurones voisins d'une carte Cn . Chaque neurone de chaque carte d, est connecté à un seul neurone d'une carte S2J par l'intermédiaire d'un deuxième ensemble de connexions synaptiques. Le deuxième ensemble de couches de neurones de l'architecture neuronale comporte notamment :
• une couche de sur-échantillonnage comportant un nombre NU3 de cartes U3k de dimension supérieure à la dimension des cartes S^ et inférieure à la dimension donnée. Chaque neurone de chaque carte l^k est par exemple connecté à un neurone d'une carte S2j. Chaque neurone d'une carte S^ est par exemple connecté à un ensemble de M2χM2 neurones voisins d'une carte U3k par l'intermédiaire d'un troisième ensemble de M2XM2 connexions synaptiques ;
• une couche de convolution-inverse étant une couche de sortie de l'architecture neuronale. La couche de convolution-inverse comporte notamment une carte de neurones. Chaque neurone de chaque carte U3k est par exemple connecté à un ensemble de MixMi neurones voisins de la couche de sortie. Chaque neurone de la couche de sortie est par exemple connecté à un ou plusieurs neurones voisins de chaque carte U3k par l'intermédiaire d'un quatrième ensemble de connexions synaptiques.
Les neurones de la couche de convolution Ci utilisent une première fonction d'activation de type linéaire ; les neurones de la couche de sous-échantillonnage S2 utilisent une deuxième fonction d'activation de type sigmoïde ; les neurones de la couche de sur-échantillonnage U3 utilisent une troisième fonction d'activation de type sigmoïde et les neurones de la couche de convolution-inverse F utilisent une quatrième fonction d'activation de type sigmoïde.
Chaque connexion synaptique de l'architecture neuronale est associée à un poids synaptique Wu v . Les poids de chaque ensemble de connexions synaptiques entre les neurones de chaque couche de l'architecture neuronale sont par exemple partagés par les neurones de chaque couche de l'architecture neuronale hormis la couche d'entrée.
Un programme informatique comprend notamment des instructions de code de programme pour l'exécution du procédé de binarisation d'une image comprenant un texte. Le programme informatique est notamment exécuté par un ou plusieurs processeurs.
L'invention a notamment pour principal avantage de traiter de manière robuste des images au fond complexe, présentant des variations de chrominance, de faibles contrastes et un bruit élevé.
L'invention possède également l'avantage de prendre en compte la forme des caractères de texte.
Le système selon l'invention permet avantageusement de prendre en compte simultanément plusieurs canaux de couleurs.
Un autre avantage du système selon l'invention est qu'il ne nécessite pas de paramétrage empirique.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit, donnée à titre illustratif et non limitatif, et faite en regard des dessins annexés qui représentent :
• la figure 1a : un synoptique des différentes phases du procédé selon l'invention ;
• la figure 1 b : un exemple d'un ensemble d'apprentissage pour une phase d'apprentissage du procédé selon l'invention ;
• la figure 2 : un schéma de principe d'une architecture d'un perceptron multicouches ;
• la figure 3a : un schéma de principe du fonctionnement d'un neurone artificiel ; • la figure 3b : une fonction d'activation d'un neurone artificiel ;
• la figure 4a : un schéma fonctionnel d'une architecture neuronale selon l'invention ;
• la figure 4b : un exemple de convolution entre deux couches de l'architecture neuronale selon l'invention ; • la figure 4c : un exemple de sous-échantillonnage entre deux couches de l'architecture neuronale selon l'invention ; • la figure 4d : un exemple de sur-échantillonnage entre deux couches de l'architecture neuronale selon l'invention ;
• la figure 4e : un exemple de convolution-inverse entre deux couches de l'architecture neuronale selon l'invention ; • la figure 5 : un synoptique de différentes étapes possibles de la phase d'apprentissage du procédé selon l'invention ;
• la figure 6 : un synoptique de différentes étapes possibles d'une phase de binarisation du procédé selon l'invention ;
La figure 1a représente deux phases 1 ,2 du procédé de binarisation selon l'invention.
Le procédé selon l'invention repose notamment sur une architecture neuronale selon l'invention comportant plusieurs couches hétérogènes de neurones artificiels. Les couches hétérogènes de neurones artificiels permettent :
• de développer automatiquement des extracteurs de caractéristiques de bas niveaux, comme des lignes ou des angles dans une image, caractérisant des caractères de texte dans une image ; • d'apprendre des règles permettant de séparer les caractères de texte, du fond de l'image afin d'étiqueter automatiquement les pixels de l'image en pixels de texte ou en pixels de fond.
Une première phase 1 du procédé de binarisation automatique selon l'invention est une phase d'apprentissage 1 d'un procédé de construction d'une image de texte binaire. Cette phase d'apprentissage 1 permet de régler des poids de connexions synaptiques entre les neurones des différentes couches de l'architecture neuronale selon l'invention qui sera décrite par la suite. Cette première phase d'apprentissage 1 s'effectue préalablement à une deuxième phase de binarisation automatique 2 d'un texte dans une image.
Au cours de la première phase d'apprentissage 1 un ensemble d'apprentissage 3, représenté par exemple sur la figure 1 b, est construit.
L'ensemble d'apprentissage 3 comprend un ensemble d'images comportant du texte 4 produites artificiellement et présentant des variations importantes en terme de bruit de codage, de contraste et de couleur. L'ensemble d'apprentissage 3 comprend également des images de texte binaires 5 correspondant à chaque image couleur comportant du texte 4. Les images comportant du texte 4 sont construites à partir d'un ensemble d'images de texte binaires 5 auxquelles sont appliqués : • différents types de bruits comme des bruits suivant une loi uniforme ou une loi Gaussienne ; • des filtres de lissage afin d'obtenir des images artificielles comportant du texte 4 se rapprochant le plus possible d'image réelles. Une fois l'ensemble d'apprentissage construit, chaque image comportant du texte 4 est présentée à une couche d'entrée de l'architecture neuronale selon l'invention. L'architecture neuronale comporte au moins une couche de neurone intermédiaire entre la couche d'entrée et une couche de sortie. Cette architecture neuronale apprend à construire, globalement et en un passage, une image de texte binaire à partir d'une image comportant du texte 4. Une image de texte résultat est donc obtenue en sortie de l'architecture neuronale. Cette image de texte résultat est comparée, au cours de la phase d'apprentissage 1 , à l'image de texte binaire 5 de la base d'apprentissage 3 correspondant à l'image comportant du texte 4 présentée en entrée de l'architecture neuronale. Si une différence significative existe entre l'image de texte résultat et l'image de texte binaire désirée, les poids des connexions synaptiques de l'architecture neuronale sont mis à jour en fonction de la différence détectée, afin de minimiser cette dernière.
Une fois la première phase d'apprentissage 1 accomplie, l'architecture neuronale peut traiter des images couleur inconnues comportant du texte. L'architecture neuronal produit en sortie une image de texte résultat dont les éléments permettent d'étiqueter directement chaque pixel de l'image en pixel de fond de l'image ou en pixel de texte.
La figure 2 représente un schéma général d'un réseau de neurones artificiels 20 de type perceptron multicouches. Le système de binarisation selon l'invention met en œuvre une architecture neuronale de type perceptron multicouches. Ce perceptron multicouches 20 permet au système de binarisation selon l'invention d'apprendre un ensemble de poids de connexion entre les différents neurones du perceptron 20 afin de pouvoir construire une image de texte binaire. Le perceptron multicouches 20 est donc un réseau orienté de neurones artificiels organisés en plusieurs couches hétérogènes 21 , 22, 23, 24. L'information circule dans le perceptron 20 dans un seul sens, de la couche d'entrée 21 vers la couche de sortie 24. Le perceptron 20 est alors dit orienté. Le réseau de neurones 20 représenté sur la figure 2 comporte une couche d'entrée 21 , deux couches cachées 22, 23 et une couche de sortie 24. La couche d'entrée 21 est une couche de neurones virtuelle associée aux données d'entrées du système de binarisation par exemple, elle n'est donc pas réellement composée de neurones artificiels. Les couches suivantes, 22, 23, 24 comportent chacune un ensemble de neurones artificiels. Dans le cas général, un perceptron multicouches peut comporter un nombre de couches de neurones quelconque et un nombre de neurones et d'entrées par couche de neurones également quelconque. Sur la figure 2, le réseau de neurones 20 comporte trois entrées 21 , quatre neurones sur la première couche cachée 22, trois neurones sur la deuxième couche cachée 23 et quatre neurones sur la couche de sortie 24. Les sorties 25 des neurones de la couche de sortie 24 correspondent à la sortie du système de binarisation par exemple.
Un neurone artificiel, comme celui représenté sur la figure 3a, est une unité de calcul qui reçoit en entrée un signal sous la forme d'un vecteur X de n valeurs réelles par exemple, n étant supérieur ou égal à un. Ce vecteur X arrive dans le neurone par l'intermédiaire de n connexions synaptiques qui portent chacune un poids pouvant prendre une valeur réelle Wn, ii étant compris entre zéro et n. Un neurone artificiel délivre par exemple en sortie une valeur réelle y. Les différentes opérations réalisées par le neurone artificiel sont représentées sur la figure 3a décrite par la suite.
Dans le perceptron multicouches 20 les neurones des différentes couches 21 , 22, 23, 24 sont reliés entre eux par l'intermédiaire de connexions synaptiques pondérées 26, 27, 28. Des premières connexions synaptiques 26 relient les neurones de la couche d'entrée 21 aux neurones de la première couche cachée 22, des deuxièmes connexions synaptiques
27 relient les neurones de la première couche cachée 22 aux neurones de la deuxième couche cachée 23 et des troisièmes connexions synaptiques 28 relient les neurones de la deuxième couche cachée 23 aux neurones de la couche de sortie 24. Le poids affecté à chaque connexion synaptique 26, 27,
28 permet de gouverner le fonctionnement du réseau de neurones 20 et donc de programmer une application de l'espace des entrées du réseau de neurones 20 vers l'espace des sorties du réseau de neurones 20 à l'aide d'une transformation non linéaire. La création d'un perceptron multicouches afin de résoudre un problème donné passe donc par l'inférence de la meilleure application possible telle que définie par un ensemble de données d'apprentissage constituées de paires (X, y) de vecteurs d'entrées X et de sorties désirées y.
La figure 3a représente un schéma fonctionnel d'un neurone artificiel 32. Le neurone artificiel 32 est donc une unité de calcul recevant en entrée un vecteur X de n valeurs réelles [xi, X2, ... , xn], n étant supérieur ou égal à un, plus une valeur fixe notée Xo et valant Xo=+1. Chacune des entrées XN, ii valant zéro à n, excite une des connexions synaptiques 30 pondérée par un poids wM. Le poids Wo est le poids de la connexion synaptique associée à la valeur d'entrée X0. La quantité woχxo est appelée biais et correspond à une valeur seuil pour le neurone artificiel 32.
Une fonction de sommation calcule ensuite un potentiel V à partir des valeurs x, du vecteur X reçu en entrée : V = ^ (Wn X Xn ) (101 )
/7=0
Après passage du potentiel V dans une fonction dite d'activation φ, le neurone artificiel 32 délivre une sortie qui peut être une valeur réelle y telle que : y = φ(v)= φ(∑Wπ X X ) (102)
V»=o J La fonction d'activation φ peut prendre différentes formes en fonction des applications voulues. Dans le cadre du système de binarisation selon l'invention, deux types de fonctions d'activation sont notamment utilisées : • une première fonction d'activation linéaire de type :
Φ(x) = x (103) • une deuxième fonction d'activation non-linéaire dite sigmoïde de type :
Φ(x) = tanh(Λr) = (C ~ e ^ ( 104)
(ex + e'1 ) La figure 3b représente un exemple de fonction sigmoïde : la fonction tanh(x) présentant l'avantage de produire des valeurs 31 bornées entre moins un et plus un.
La figure 4a représente une architecture 40 de réseaux de neurones de type perceptron multicouches utilisé par le système de binarisation selon l'invention. Cette architecture de réseau de neurones 40, ou architecture neuronale 40, comporte cinq couches de neurones hétérogènes E, C-i, S2, U3, F interconnectées. L'architecture neuronale 40 comporte :
• un premier ensemble de couches de neurones 41 , chaque couche de neurones comportant une série de cartes issues notamment d'opérations de convolution et de sous-échantillonnage ; « un deuxième ensemble de couches de neurones 42, chaque couche de neurones comportant une série de cartes issues notamment d'opérations de sur-échantillonnage et de convolution-inverse. Le premier ensemble de couches de neurones 41 est chargé d'extraire des primitives caractéristiques en matière de forme et de couleur d'une image d'entrée 43 comportant du texte. Le deuxième ensemble de couches de neurones 42 permet de construire à partir des primitives extraites une image de sortie 44.
Une première couche de neurones E, est une couche d'entrée E de l'architecture neuronale 40. La couche d'entrée E peut comporter un nombre NE de cartes Ec de neurones, avec c valant un à NE. Chacune des cartes Ec de neurones correspond à un canal de codage de l'image d'entrée
43 selon un espace de codage d'image choisi au préalable. Par exemple si l'on utilise un espace de couleurs RVB, signifiant rouge vert et bleu, chaque carte correspondra à une couleur de l'espace de couleur RVB. Le nombre
NE de cartes Ec est par exemple trois, comme représenté sur la figure 4a.
Ainsi la première carte E1 correspond par exemple au canal rouge de l'image d'entrée 43, la deuxième carte E2 correspond par exemple au canal vert de l'image d'entrée 43 et la troisième carte E3 correspond par exemple au canal bleu de l'image d'entrée 43. D'autres espaces de codage de l'image peuvent être utilisés afin de décomposer l'image en canaux, par exemple un codage en luminance, teinte et saturation,
Chaque carte Ec représente une matrice de pixels de l'image de taille HxL correspondant à la taille de l'image d'entrée 43. L'image d'entrée 43 peut par exemple avoir une taille de 24x48. Chaque pixel (Pιm)c d'un canal de couleur c de l'image d'entrée 43 peut prendre les valeurs un à deux cent cinquante-cinq. Les indices I et m représentent respectivement un indice de ligne et un indice de colonne dans la matrice de pixels représentant l'image d'entrée 43. Chaque élément (E|m )c d'une carte E0 de la couche d'entrée E est obtenu en effectuant l'opération suivante :
(EnΛ = (nΛ ~ 12%>8 dO5) avec l'=l et m'=m, I' et m' étant respectivement l'indice d'une ligne et l'indice d'une colonne d'une carte E0 de neurones. Chaque valeur (Erm )c est alors comprise entre moins un et plus un.
Une deuxième couche de neurones Ci est une couche de convolution Ci. Cette couche de convolution Ci comporte un nombre NCi de cartes Ci,, i étant compris entre un et NC-i. On peut prendre par exemple NCi=30. Chaque carte C-i, est connectée à toutes les cartes Ec de la couche d'entrée E. Chaque neurone de chaque carte Ci1 utilise une fonction d'activation de type linéaire (103). Chaque neurone de chaque carte Ci1 est connecté à un ensemble de M1XM1 éléments Ei m' voisins de chaque carte Ec par un premier ensembles de M-IxM1 connexions synaptiques 45. Chaque carte C1, est de taille H1XLi avec H1 = (H - M, ) + 1 et L, = (L - M1 ) + 1 , par exemple : H1=20 et L1=44. La convolution utilisée pour passer de la couche d'entrée E à la couche de convolution C1 est par exemple une convolution de taille
Figure imgf000019_0001
La figure 4b représente un exemple de convolution entre une première portion 50 d'une carte Ec de la forme d'un premier rectangle 50 de dimension 7χ12 et une deuxième portion 51 d'une carte C1, de la forme d'un deuxième rectangle 51 de taille 5x10. Pour éviter, par un effet de bord de la convolution, d'utiliser des éléments de la carte Ec n'existant pas, on définit un troisième rectangle 53 de la taille du premier rectangle 50 moins une bande de taille (M1-I )/2 que l'on enlève de chaque côté du premier rectangle 50, Mi étant impair dans ce cas. Le troisième rectangle 53 a donc par exemple une taille de 5χ10 ce qui correspond à la taille d'une carte C11. Un premier neurone 52 situé dans le troisième rectangle 53 est connecté avec un deuxième neurone 54 du deuxième rectangle 51. Le premier neurone 52 est à la même position dans le troisième rectangle 53 que le deuxième neurone 54 dans le deuxième rectangle 51 , les deuxième et troisième rectangles 51 , 53 ayant la même taille. Chaque neurone du premier rectangle 50, appartenant à un carré 55 de côté Mi dont le centre est le premier neurone 52, est connecté au deuxième neurone 54. Le deuxième neurone 54 est donc connecté de la même manière à un ensemble de MixMi éléments
Figure imgf000020_0001
voisins des autres cartes Ec. Chaque neurone d'une carte d, partage avec les autres neurones de l'ensemble des cartes Ci, les poids des connexions synaptiques ainsi que les poids associés au biais de chaque neurone des cartes Ci1. Tous les neurones des cartes d, utilisent donc un même ensemble W de mêmes valeurs W,v de poids des connexions synaptiques, avec iv compris entre zéro et M-IXM-I, Wo étant le poids synaptique relatif au biais.
La convolution utilisée pour passer de la couche d'entrée E à la couche de convolution Ci permet de réaliser une détection de bas-niveau dans les cartes d'entrées Ec. Une détection de bas-niveau permet d'extraire des formes de base dans une image comme des coins ou des lignes de contraste orientées.
Une troisième couche de neurones S2 est une couche de sous- échantillonnage S2 comportant un nombre NS2 de cartes S2j de neurones, j étant compris entre un et NS2, avec notamment NS2=NCi. La couche de sous-échantillonnage S2 est connectée à la couche de convolution Ci par l'intermédiaire d'un deuxième ensemble de connexions synaptiques 46. Chaque neurone de chaque carte S2j reçoit une moyenne de M2χM2 éléments voisins d'une carte d, avec i=j par exemple. Chaque neurone de chaque carte S2j multiplie alors la moyenne reçue par un poids synaptique et y ajoute un biais comme représenté sur la figure 3a. L'ensemble des poids synaptiques ainsi que le poids associé au biais de chaque neurone sont à apprendre et sont partagés par l'ensemble des neurones de chaque carte
S2,
La figure 4c représente un exemple de sous-échantillonnage entre une troisième portion 56 d'une carte d, et une quatrième portion 57 d'une carte S2,. La troisième portion 56 de la carte Ci, se présente sous la forme d'un quatrième rectangle 56 de taille 4x10. La quatrième portion 57 de la carte S2j se présente sous la forme d'un cinquième rectangle 57 de taille 2x5. Dans l'exemple représenté sur la figure 4c, le sous-échantillonnage est donc de taille 2x2. En effet, le quatrième rectangle 56 peut être décomposé en carrés de taille M2χM2=2χ2, comme un carré 58 représenté sur la figure 4c. L'ensemble des neurones de la carte Ci, compris dans le carré 58 est connecté à un même troisième neurone 59 de la carte S2j. Chaque neurone de chaque carte Ci, est donc connecté à un seul neurone d'une carte S2j. L'ensemble des poids des connexions synaptiques entre les neurones de la carte d, et le troisième neurone 59 de la carte S2j ainsi que le poids associé au biais, sont les mêmes pour l'ensemble des neurones de la cartes S2j. La sortie de chaque neurone d'une carte S2, est obtenue par un passage dans une fonction d'activation de type sigmoïde (104). Chaque carte S2j est de taille H2χL2 avec H2 = H,/M2 et L2 = L,/M2 . Par exemple on peut avoir H2=IO et L2=22.
Au niveau de la sortie de la couche de sous-échantillonnage S2, les caractéristiques du texte de l'image d'entrée 43 sont extraites et condensées. Les couches suivantes U3, F de l'architecture neuronale 40 permettent de construire une image de sortie 44.
Une quatrième couche de neurones U3 de l'architecture neuronale 40 est une couche de sur-échantillonnage U3. La couche de suréchantillonnage U3 comporte un nombre NU3 de cartes de neurones U3K, k étant compris entre un et NU3. NU3 est notamment égal à NS2. Chaque carte U3k est connectée à une carte S2, correspondante par l'intermédiaire d'un troisième ensemble de connexions synaptiques 47. Une carte S2, correspondant à une carte U3k est telle que j=k.
Comme représenté sur la figure 4d, chaque neurone 60 d'une carte S2, est connecté à un ensemble de M2χM2 neurones voisins 61 de la carte U3k correspondant. Chaque neurone d'une carte U3k est connecté à un neurone de la carte S2, correspondant. Sur la figure 4d, M2χM2 vaut 2x2. La taille d'une carte S2, étant H3χL3 avec H, = H1 x M2 et L, = L1 x M2 , H3χL3 vaut par exemple 20x44.
Chaque neurone d'une carte U3k multiplie la sortie des neurones d'une carte S2j à laquelle il est connecté par un poids synaptique et y ajoute un biais. La sortie de chaque neurone d'une carte U3k est obtenue après passage dans une fonction sigmoïde du type (104) comme représentée sur la figure 3b. Les M2χM2 poids synaptiques sont partagés par l'ensemble des neurones de chaque carte U3k.
La couche de sur-échantillonnage U3 effectue une première construction de l'image de sortie 44 en affinant les caractéristiques du texte extraites par les couches précédentes E, Ci, S2 de l'architecture neuronale 40.
Une cinquième couche F de l'architecture neuronale 40 est une couche de sortie F, comportant une carte de sortie F de neurones. La carte de sortie F est connectée à toutes les cartes U3k de la couche de suréchantillonnage U3 par un quatrième ensemble de connexions synaptiques 48. Chaque neurone d'une carte U3k est connecté par un ensemble de M1XMi connexions synaptiques 48 à un ensemble de M-ixMi neurones voisins de la carte de sortie F. Un exemple d'une connexion entre une carte U3k et la carte F est représentée sur la figure 4e. Il s'agit d'un schéma inverse par rapport à une convolution comme celle représentée figure 4b. Ce schéma est donc nommé convolution-inverse. Sur la figure 4e, seuls les neurones compris dans un sixième rectangle 62 comportent tous les neurones d'une carte U3k à l'exception des neurones situés dans une bande de largeur (M1 -l)/2 située sur les bords de la cartes U3k. Ceci évite d'avoir, au cours de la convolution-inverse, des neurones de la carte U3k n'étant connectés avec aucun neurone de la carte de sortie F. Par exemple, un quatrième neurone 63 situé à l'intérieur du sixième rectangle 62 est connecté avec un ensemble 64 de MixMi neurones, les M-ixMi neurones étant situés dans un carré 64 dont le centre est un cinquième neurone 65 dont la position dans la carte F correspond à la position du quatrième neurone 63 dans la carte U3k.
Les M1XM1 poids synaptiques et le poids associé au biais d'un neurone de la carte de sortie F, sont partagés par tous les neurones de la carte de sortie F. La sortie de chaque neurone est obtenue après passage dans une fonction de type sigmoïde comme la fonction (104) représentée sur la figure 3b. La convolution-inverse permet de construire la carte de sortie F à la taille de l'image d'entrée 43. La carte de sortie F est donc de taille H4χL4 avec H4=H et L4=L. Les sorties des neurones de la carte de sortie F se présentent donc sous la forme d'une matrice de valeurs de l'image de texte binaire construite. Etant donné que les valeurs de sortie des neurones de la carte de sortie F sont continues et qu'elles se situent entre les valeurs moins un et plus un, on évalue le signe de chaque élément de la matrice de valeurs de l'image de sortie 44 afin de convertir la matrice obtenue en une image de texte binaire. Chaque sortie de neurone de la carte de sortie F possède une valeur f,k,jk, ik correspondant à un indice de ligne et jk correspondant à un indice de colonne dans la carte de sortie F. ik est compris entre un et H4 et jk est compris entre un et L4. Un pixel P',k,Jk situé sur la ligne ik et la colonne jk de l'image de texte binaire a pour valeurs :
Figure imgf000023_0001
P'lkJk vaut donc soit zéro dans pour un pixel de texte, c'est à dire un pixel noir, soit deux cent cinquante cinq pour un pixel de fond c'est à dire un pixel blanc dans l'image de texte binaire.
La cinquième couche F permet donc de construire une image de texte binaire de même dimension que l'image d'entrée 43 reçue par la couche d'entrée E de l'architecture neuronale 40. Cette construction permet également d'effectuer une fusion des caractéristiques du texte affinées par la couche de sur-échantillonnage U3.
L'architecture neuronale 40 est mise au point dans un premier temps au cours de la phase d'apprentissage 1 qui permet de régler les poids des différentes connexions synaptiques. Une fois mise au point, l'architecture neuronale 40 est utilisée au cours de la phase de binarisation 2 afin de produire une image de texte binaire à partir d'une image comportant du texte quelconque 43.
La figure 5 représente un ensemble d'étapes possibles de la phase d'apprentissage 1 selon l'invention. Cette phase d'apprentissage 1 permet donc une mise au point de l'architecture neuronale 40 afin que cette architecture apprenne un procédé de construction d'une image de texte binaire. La phase d'apprentissage est un procédé itératif comportant notamment sept étapes 70, 71 , 72, 73, 74, 75, 77.
Une première étape 70 est la construction de l'ensemble d'apprentissage 3 représenté figure 1 b. L'ensemble d'apprentissage 3 comporte un premier ensemble de Nτ images comportant du texte 4 et un deuxième ensemble d'images de texte binaire 5 correspondant aux images comportant du texte 4. L'ensemble d'apprentissage 3 est construit à partir d'un premier ensemble d'images de texte binaire 5. Les images de texte binaire 5 présentent des textes de différentes tailles, avec des polices de caractères différentes. A partir de chaque image de texte binaire 5, on construit une nouvelle image 4 contenant le texte de l'image de texte binaire 5. Cette nouvelle image 4 est une image couleur : une ou plusieurs couleurs sont choisies pour le texte et une ou plusieurs couleurs sont choisies pour le fond. Ensuite on applique, à cette nouvelle image 4, différents type de bruits comme des bruits uniformes ou des bruits Gaussiens. Des filtres de lissage sont également appliqués afin d'obtenir des images comportant du texte 4 de synthèse se rapprochant le plus possible d'images réelles comportant du texte et possédant une forte variabilité. Ainsi pour chaque nouvelle image 4 construite, on dispose de l'image de texte binaire correspondante 5 qui sera utilisée comme image désirée en sortie de l'architecture neuronale 40. L'ensemble des images 4, 5 de l'ensemble d'apprentissage 3 sont dimensionnées afin de correspondre au format d'image traité par l'architecture neuronale 40. On obtient donc un ensemble d'apprentissage comportant des images de taille HxL. Une deuxième étape 71 de la phase d'apprentissage 1 du procédé selon l'invention est une étape d'initialisation des poids synaptiques. Les poids synaptiques sont les différents poids associés aux connexions synaptiques 45, 46, 47, 48 entre les différentes couches de neurones E, Ci, S2, U3, F de l'architecture neuronale 40. Les poids synaptiques sont initialisés de manière aléatoire avec des petites valeurs.
Une troisième étape 72 de la phase d'apprentissage 1 est le choix aléatoire d'un couple d'images comportant une première image comportant du texte 4 et une deuxième image de texte binaire 5 correspondant à la première image comportant du texte 4. La deuxième image de texte binaire 5 représente l'image que l'on attend en sortie de l'architecture neuronale 40. La première image comportant du texte 4 est l'image d'entrée 43 de l'architecture neuronale 40.
Une quatrième étape 73 permet de décomposer l'image d'entrée 43 en NE cartes, chacune correspondant par exemple à l'image d'entrée 43 sur un canal de couleur suivant l'espace de couleur choisi. Si l'image d'entrée 43 est une image en niveaux de gris, les trois cartes sont alors identiques.
Au cours d'une cinquième étape 74, l'image d'entrée 43 est traitée par l'architecture neuronale 40 en présentant à la couche d'entrée E de l'architecture neuronale 40 la décomposition sur les différents canaux de couleurs de l'image d'entrée 43. La couche d'entrée E et les couches suivantes C-i, S2, U3, F sont activées l'une après l'autre. En couche de sortie F, on obtient une réponse de l'architecture neuronale 40 sous la forme d'une image de sortie 44. Au cours d'une sixième étape 75, l'image de sortie 44 est comparée avec la deuxième image de texte binaire 5 correspondante à la première image comportant du texte 4 présentée en entrée de l'architecture neuronale 40. La deuxième image de texte binaire 5 est l'image désirée ld en sortie de l'architecture neuronale. La comparaison entre l'image de sortie 44 et l'image désirée ld est effectuée en normalisant dans un premier temps les pixels de l'image désirée Id afin d'obtenir des valeurs de pixels Dh comprises entre moins un et plus un. La normalisation des pixels de l'image désirée Id est effectuée en utilisant la relation (105) par exemple. La valeur des pixels Fh de l'image de sortie 44 est comprise entre moins un et plus un. On définit alors une fonction objectif O telle que :
O = Y Y(F. - Z), Y (107)
L'objectif de la phase d'apprentissage 1 est de minimiser la fonction objectif O afin d'avoir une image de sortie 44 la plus proche possible de l'image désirée Id. La fonction objectif O est une erreur quadratique moyenne entre les valeurs des pixels de l'image désirée ld et les valeurs des pixels de l'image de sortie 44. Afin de minimiser la fonction objectif O, on utilise par exemple un algorithme de rétro-propagation du gradient qui permet de calculer les poids synaptiques optimaux.
De manière générale, on évalue la fonction objectif O au cours d'une septième étape 76. Si la valeur de la fonction objectif O est inférieure à une valeur seuil fixée ε par exemple alors les poids synaptiques de l'architecture neuronale 40 sont mis à jour au cours d'une huitième étape 77. Ensuite on repasse à la troisième étape 72 de choix d'une nouvelle image d'entrée et d'une image de texte binaire correspondant parmi les NT images de l'ensemble d'apprentissage 3. Puis la nouvelle image d'entrée est traitée par l'architecture neuronale 40 au cours de la cinquième étape 74 et ainsi de suite jusqu'à ce que la valeur de la fonction objectif O soit inférieure à la valeur seuil ε ou qu'un nombre d'itérations fixé soit effectué.
De façon générale, l'apprentissage à l'aide d'un réseau de neurones revient à déterminer tous les poids des connexions synaptiques du réseau de neurones de manière à obtenir un vecteur de sorties désirées D en fonction d'un vecteur d'entrées E. Dans l'architecture neuronale 40 selon l'invention le vecteur de sorties désirées est l'ensemble des valeurs Dh des pixels de l'image désirée Id et le vecteur d'entrées E est l'ensemble des valeurs des pixels de l'image d'entrée 43.
Pour cela une base d'apprentissage est constituée comme l'ensemble d'apprentissage 3. De manière générale, une base d'apprentissage quelconque comporte une liste de K paires de vecteurs ( E1 1 D1 ). Y1 représente les sorties d'un réseau de neurones à un instant t , pour une entrée E1 . Y1 correspond donc à l'ensemble des valeurs Fh à un instant donné. On vise donc à minimiser une erreur quadratique moyenne θ , sur la couche de sortie du réseau de neurones, donnée de manière générale par la relation suivante : θ = — TS Y ^^^θ,' avec θ,' = | I|ID ' - F ' l III2 (108)
Pour cela, une descente de gradient est réalisée à l'aide d'un algorithme itératif : θ(l) = θι'-n - pVθu-]) (109) où V^(M)est le gradient de l'erreur quadratique moyenne θ à l'instant t - \ par rapport à l'ensemble des P poids Wu des connexions synaptiques du réseau de neurones et où p est un pas d'apprentissage. V<9(M) est donné par la relation suivante :
Figure imgf000026_0001
avec u compris entre zéro et P. La mise en œuvre de cette descente de gradient dans un réseau de neurones utilise donc un algorithme itératif de retro-propagation du gradient.
De manière générale, un réseau de neurones peut être défini par les paramètres suivants : • c , l'indice d'une couche du réseau de neurones, avec c = O pour la couche d'entrée du réseau de neurones, c = l à c = C - l pour les couches cachées du réseau de neurones et c = C pour la couche de sortie du réseau de neurones ; • // = 1 à // = nc , l'indice des nc neurones de la couche du réseau de neurones d'indice c ;
• Sn c , l'ensemble des neurones de la couche d'indice c - 1 du réseau de neurones connecté aux entrées du neurone iiόe la couche d'indice cdu réseau de neurones ; • Wjn , le poids de la connexion synaptique du neurone d'indice jj au neurone d'indice ij .
L'algorithme de rétro-propagation du gradient fonctionne en deux étapes principales :
• une étape de propagation au cours de laquelle un signal, représenté par un vecteur d'entrée E1 , traverse le réseau de neurones et produit une réponse en sortie sous la forme d'un vecteur Yr ,
• une étape de rétro-propagation au cours de laquelle un signal représentant l'erreur θ, est rétro-propagé dans le réseau de neurones et permet de modifier les différents poids synaptiques afin de minimiser l'erreur O1 .
L'algorithme de rétro-propagation du gradient utilise notamment deux paramètres p et γ :
• p est le pas d'apprentissage de l'algorithme de rétro-propagation du gradient, il est fixé à une valeur positive très petite, de l'ordre de 0,00001 ;
• γ est le moment de l'algorithme de rétro-propagation du gradient, il est fixé à une valeur positive comprise entre zéro et un de l'ordre de 0,1.
Dans un premier temps, les valeurs des poids synaptiques W v du réseau de neurones sont fixées à de petites valeurs. L'algorithme de rétro-propagation du gradient comporte les étapes suivantes :
• une première étape est le choix d'une paire de vecteurs ( E1 D1 ) ;
• une deuxième étape est l'étape de propagation, elle permet de calculer les sorties des couches de neurones successives du réseau de neurones : par exemple lorsque l'on présente un vecteur E1 à la couche d'entrée du réseau de neurones, on a alors F0 = E1 et on assigne à D la valeur D1.
Figure imgf000028_0001
Ensuite pour chaque couche c du réseau de neurones de la couche 1 à la couche C, et pour chaque neurone ii de la couche c, on calcule :
. le potentiel : V1n, c = ∑w,Λlw yJ)X_x (111 )
• la valeur de sortie : yιw c = φ(vm J (112) avec yιw c = φ(vm c) (113)
Φ représentant la fonction d'activation du neurone ii et Yc = [yu,...,ymx ,...,yll x \ (114)
• une troisième étape de rétro-propagation au cours de laquelle les couches du réseau de neurones sont parcourues dans le sens inverse au sens de la propagation, ainsi : pour chaque couche de neurones c de la couche C à la couche 1 , et pour chaque neurone ii de la couche c :
• on calcule:
Figure imgf000028_0002
• on met à jour les poids des connexions synaptiques arrivant au neurone ii de la manière suivante : à chaque itération de l'algorithme de rétro propagation du gradient, on calcule : AW = p δ(W, JV-. + r ΔWZ Pour tout jj e Smx (1 16) avec AW '"'' = 0 lors de la première itération puis W* n ' = Wu ι t + AW '"I pour tout jj e Sιw c (117) enfin, on met à jour AW'"'' : AW°[ = AW "I pour tout jj e Sm c (1 18) et on met à jour W^ :
Wn = W" m pour tout jj € Sm c (119)
• on calcule l'erreur quadratique moyenne θ à l'aide de la relation (108).
Ces étapes sont répétées jusqu'à ce que l'erreur quadratique moyenne θ soit suffisamment petite pour être négligeable ou qu'un nombre maximum d'itérations ait été atteint. A cette fin, on peut fixer une erreur seuil ε en dessous duquel on considère que l'erreur quadratique moyenne θ est négligeable. On peut également fixer un nombre Nb d'itérations maximums.
L'algorithme de retro-propagation du gradient appliqué à l'architecture neuronale 40 converge vers une solution stable après environ six-cent itérations.
La figure 6 représente différentes étapes possibles 80, 81 , 82, 83 de la phase de binarisation 2 du procédé selon l'invention. La phase de binarisation 2 utilise l'architecture neuronale 40, une fois mise au point au cours de la phase d'apprentissage 1 , afin de binariser une image quelconque comportant un texte.
Une première étape 80 est une étape de redimensionnement de l'image d'entrée 43 inconnue à une taille HxL d'images prise en compte par l'architecture neuronale 40. Une étape préliminaire peut permettre de détecter une zone de texte dans une image afin d'extraire de l'image uniquement la zone contenant le texte. Cette extraction de zone de texte peut être manuelle, ou automatique grâce à des logiciels d'extraction de texte dans une image. Au cours de la deuxième étape 81 , l'image d'entrée 43 est décomposée sous la forme de NE cartes correspondant aux NE canaux de l'espace de couleurs utilisé par l'architecture neuronale 40. Ces cartes sont ensuite présentées en entrée E de l'architecture neuronale 40.
La troisième étape 82 permet de traiter l'image d'entrée 43 : les couches successives Ci, S2, U3, F de l'architecture neuronale 40 sont activées les unes après les autres afin de construire une image de sortie 44. Sur la couche de sortie F de l'architecture neuronale 40, on obtient donc la réponse de l'architecture neuronale 40 sous la forme d'une image de sortie 44. L'image de sortie se présente sous la forme d'une matrice de pixels de taille HxL.
Les valeurs des pixels de l'image de sortie 44 sont converties au cours d'une quatrième étape 83 d'obtention d'une image binarisée. La conversion permet d'obtenir des valeurs de pixels valant zéro ou deux cent cinquante-cinq afin de construire une image de texte binaire correspondant à l'image d'entrée 43. La conversion s'effectue selon la formule (106). L'image de texte binaire ainsi obtenue peut alors être traitée par un logiciel de reconnaissance de caractères. L'invention a été décrite pour une partition des pixels d'une image en deux jeux de pixels, un premier jeu de pixels comportant du texte et un deuxième jeux de pixels comportant le fond de l'image. La binarisation selon l'invention peut s'appliquer à une partition en un nombre de jeux de pixels supérieur à deux.
Dans le procédé selon l'invention, une image d'entrée 43 est décomposée en trois canaux selon une décomposition de l'image dans un espace de couleurs RVB dans le procédé selon l'invention. Un autre espace de couleur ou un autre espace de codage de l'image peuvent être utilisés afin de décomposer l'image d'entrée sur une ou plusieurs cartes selon les canaux de l'espace de codage.
Le procédé et le système de binarisation selon l'invention permettent avantageusement de développer un système de binarisation d'image comportant du texte par un apprentissage supervisé sans aucun choix empirique de paramètre. Un autre avantage de l'invention est de prendre en compte directement la forme des caractères du texte du fait de la classification automatique de chaque pixel de l'image d'entrée 43 en pixels de texte ou pixels de fond à partir d'extracteurs de caractéristiques locales et globales automatiques appris. De plus, le système selon l'invention prend en compte directement et simultanément différents canaux de couleurs sans réduire les traitements à la seule luminance ou à un traitement indépendant par canal de couleur.
Avantageusement, le procédé selon l'invention présente une forte robustesse aux bruits, aux faibles contrastes, aux variations de chrominance, aux effets de transparence, et à la complexité du fond de l'image d'entrée 43.

Claims

REVENDICATIONS
1. Procédé de binarisation d'une image comprenant un texte caractérisé en ce qu'il comporte : • une phase préliminaire d'apprentissage (1 ) d'un procédé de construction d'une image de texte binaire par une architecture neuronale (40) comportant des couches hétérogènes (E, C-i, S2, U3, F) de neurones artificiels, une couche d'entrée comportant plusieurs cartes de neurones, lesdites cartes correspondant respectivement à un canal de codage de l'image comprenant le texte selon un espace de codage d'image préalablement choisi, ladite image de texte binaire étant composée de pixels du texte valant une première valeur et de pixels de fond de l'image comprenant le texte valant au moins une autre valeur ; • une phase de binarisation (2) de l'image comprenant le texte (43) par le procédé de construction d'une image de texte binaire appris au cours de la phase préliminaire d'apprentissage (1 ).
2. Procédé selon la revendication précédente, caractérisé en ce que la phase préliminaire d'apprentissage (1 ) est un processus itératif comportant les étapes suivantes :
• construction (70) d'un ensemble d'apprentissage (3) composé d'images comportant du texte (4) et des images de texte binaires (5) correspondantes ; • initialisation (71 ) de poids de connexions synaptiques entre les couches hétérogènes (E, d, S2, U3, F) de neurones artificiels de l'architecture neuronale (40) ;
• choix (72) d'un couple, comprenant une image comportant du texte d'entrée (4) et l'image de texte binaire correspondante (5), dans l'ensemble d'apprentissage (3) ;
• décomposition (73) de l'image comportant du texte d'entrée (4) en plusieurs canaux de codage d'image, fournis en entrée de l'architecture neuronale (40) ;
• construction (74) d'une image de sortie (44), à partir de l'image comportant du texte d'entrée (4), par l'architecture neuronale (40) ; • comparaison (75) de l'image de sortie (44) avec l'image de texte binaire correspondante (5) en évaluant une différence entre l'image de sortie (44) et l'image de texte binaire correspondante (5) ; si la différence entre l'image de texte binaire correspondante (5) et l'image de sortie (44) dépasse un seuil ε,
• mise à jour (77) des poids de connexions synaptiques de l'architecture neuronale (40) en minimisant la différence entre l'image de sortie (44) et l'image de texte binaire correspondante (5), le processus itératif recommençant alors à partir de l'étape de choix (72).
3. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la phase de binarisation (2) comporte les étapes suivantes :
• redimensionnement (80) d'une image d'entrée (43) comportant du texte en une image de dimension donnée ;
• décomposition (81 ) de l'image d'entrée (43) en plusieurs canaux de codage d'image, fournis en entrée de l'architecture neuronale (40) ;
• construction (82) d'une image de texte de sortie (44) par l'architecture neuronale (40) ; • obtention (83) de l'image de texte binaire.
4. Procédé selon la revendication 2, caractérisé en ce que la minimisation de la différence entre l'image de sortie (44) et l'image de texte binaire correspondante (5) est effectuée par un algorithme de retro-propagation du gradient.
5. Procédé selon la revendication 4, caractérisé en ce que la minimisation de la différence entre l'image de sortie (44) et l'image de texte binaire correspondante (5) est effectuée en minimisant une fonction objectif O représentant une erreur quadratique moyenne :
γv 7 x L x n kk _ x h_ \ avec :
• N1 représentant le nombre d'images (4) de l'ensemble d'apprentissage (3) utilisées pendant la phase d'apprentissage (1 ) ; • F11 représentant la valeur d'un pixel de l'image de sortie (44) ; • Dh représentant la valeur d'un pixel de l'image de texte binaire correspondante (5).
6. Système de binarisation d'une image comportant un texte, caractérisé en ce qu'il comprend une architecture neuronale (40) comportant plusieurs couches hétérogènes (E, d, S2, U3, F) de neurones artificiels :
• un premier ensemble (41 ) d'une ou plusieurs couches de neurones effectuant une extraction de formes caractéristiques du texte de l'image comprenant le texte présentée en entrée de l'architecture neuronale (40) ;
• un deuxième ensemble (42) d'une ou plusieurs couches de neurones effectuant une construction des formes caractéristiques du texte en une image de sortie (44).
7. Système selon la revendication 6, caractérisé en ce que le premier ensemble (41 ) de couches de neurones de l'architecture neuronale (40) comporte :
• une couche d'entrée (E) comportant un nombre NE de cartes Ec de pixels de l'image comportant le texte d'entrée (43), les cartes E0 étant de dimension donnée et correspondant respectivement à un canal de codage de l'image comprenant le texte selon un espace de codage d'image préalablement choisi ;
• une couche de convolution (Ci) comportant un nombre NCi de cartes Ci, de neurones, les cartes d, étant de dimension donnée, chaque neurone de chaque carte C-i, étant connecté par un premier ensemble de MixMi connexions synaptiques (45) à un ensemble de M-ixMi pixels de chaque carte Ec, chaque pixel de chaque carte Ec étant connecté à un ou plusieurs neurones de chaque carte Ci, ;
• une couche de sous-échantillonnage (S2) comportant un nombre NS2 de cartes S2j de dimension réduite par rapport à la dimension donnée, chaque neurone d'une carte S2j recevant une moyenne de M2χM2 sorties de M2χM2 neurones voisins d'une carte C-n , chaque neurone de chaque carte d, étant connecté à un seul neurone d'une carte S2j par l'intermédiaire d'un deuxième ensemble de connexions synaptiques (46).
8. Système selon l'une quelconque des revendications 6 et 7, caractérisé en ce que le deuxième ensemble (42) de couches de neurones de l'architecture neuronale (40) comporte :
• une couche de sur-échantillonnage (U3) comportant un nombre NU3 de cartes U3k de dimension supérieure à la dimension des cartes S2J et inférieure à la dimension donnée, chaque neurone de chaque carte U3k étant connecté à un neurone d'une carte S2J, chaque neurone d'une carte S2J étant connecté à un ensemble de M2XM2 neurones voisins d'une carte U3k par l'intermédiaire d'un troisième ensemble de M2XM2 connexions synaptiques (47) ;
• une couche de convolution-inverse (F), étant une couche de sortie (F) de l'architecture neuronale (40), comportant une carte de neurones, chaque neurone de chaque carte U3R étant connecté à un ensemble de M-ixMi neurones voisins de la couche de sortie (F), chaque neurone de la couche de sortie (F) étant connecté à un ou plusieurs neurones voisins de chaque carte U3k par l'intermédiaire d'un quatrième ensemble de connexions synaptiques (48).
9. Système selon la revendication 8, caractérisé en ce que : • les neurones de la couche de convolution (Ci) utilisent une première fonction d'activation de type linéaire ;
• les neurones de la couche de sous-échantillonnage (S2) utilisent une deuxième fonction d'activation de type sigmoïde ;
• les neurones de la couche de sur-échantillonnage (U3) utilisent une troisième fonction d'activation de type sigmoïde ;
• les neurones de la couche de convolution-inverse (F) utilisent une quatrième fonction d'activation de type sigmoïde.
10. Système selon l'une quelconque des revendications 6 à 9, caractérisé en ce que, chaque connexion synaptique (45, 46, 47, 48) de l'architecture neuronale (40) étant associée à un poids synaptique Wlj m , les poids de chaque ensemble de connexions synaptiques (45, 46, 47, 48) entre les neurones de chaque couches de l'architecture neuronale (40) sont partagés par les neurones de chaque couche (Ci, S2, U3, F) de l'architecture neuronale (40) hormis la couche d'entrée (F).
11. Programme informatique comprenant des instructions de code de programme pour l'exécution du procédé de binarisation d'une image comprenant un texte selon l'une quelconque des revendications 1 à 5, ledit programme informatique étant exécuté par un ou plusieurs processeurs.
PCT/FR2007/052527 2006-12-22 2007-12-14 Procede et systeme de binarisation d'une image comprenant un texte WO2008087316A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0655932A FR2910670A1 (fr) 2006-12-22 2006-12-22 Procede et systeme de binarisation d'une image comprenant un texte
FR0655932 2006-12-22

Publications (2)

Publication Number Publication Date
WO2008087316A2 true WO2008087316A2 (fr) 2008-07-24
WO2008087316A3 WO2008087316A3 (fr) 2008-10-02

Family

ID=38610595

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/052527 WO2008087316A2 (fr) 2006-12-22 2007-12-14 Procede et systeme de binarisation d'une image comprenant un texte

Country Status (2)

Country Link
FR (1) FR2910670A1 (fr)
WO (1) WO2008087316A2 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723788A (zh) * 2019-03-19 2020-09-29 杭州海康威视数字技术股份有限公司 文字识别方法及装置
CN112257800A (zh) * 2020-10-30 2021-01-22 南京大学 一种基于深度卷积神经网络模型-重生网络的视觉识别方法
CN112257800B (zh) * 2020-10-30 2024-05-31 南京大学 一种基于深度卷积神经网络模型-重生网络的视觉识别方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06176159A (ja) * 1992-12-10 1994-06-24 Nec Corp カラー画像対応型物体認識装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06176159A (ja) * 1992-12-10 1994-06-24 Nec Corp カラー画像対応型物体認識装置

Non-Patent Citations (20)

* Cited by examiner, † Cited by third party
Title
"Google Scholar results fort "itti""[Online] XP002488473 Extrait de l'Internet: URL:http://scholar.google.nl/scholar?num=50&hl=en&lr=&q=itti&btnG=Search> [extrait le 2008-07-16] *
"NEOCOGNITRON" SIMULATION NEURONALER NETZE, XX, XX, 1 janvier 1994 (1994-01-01), pages 285-296, XP008059916 *
ALGINAHI Y ET AL: "Local thresholding of composite documents using multi-layer perceptron nerual network" CIRCUITS AND SYSTEMS, 2004. MWSCAS '04. THE 2004 47TH MIDWEST SYMPOSIUM ON HIROSHIMA, JAPAN JULY 25-28, 2004, PISCATAWAY, NJ, USA,IEEE, 25 juillet 2004 (2004-07-25), pages 1209-1212, XP010738681 ISBN: 0-7803-8346-X *
CHI Z ET AL: "A two-stage binarization approach for document images" INTELLIGENT MULTIMEDIA, VIDEO AND SPEECH PROCESSING, 2001. PROCEEDINGS OF 2001 INTERNATIONAL SYMPOSIUM ON 2-4 MAY 2001, PISCATAWAY, NJ, USA,IEEE, 2 mai 2001 (2001-05-02), pages 275-278, XP010544716 ISBN: 962-85766-2-3 *
CHI Z ET AL: "Document image binarization with feedback for improving character segmentation" INTERNATIONAL JOURNAL OF IMAGE AND GRAPHICS, WORLD SCIENTIFIC PUBLISHING CO., SINGAPORE, SG, vol. 5, no. 2, 2005, pages 281-309, XP008085337 ISSN: 0219-4678 *
ELIZA YINGZI DU ET AL: "An unsupervised approach to color video thresholding" MULTIMEDIA AND EXPO, 2003. PROCEEDINGS. 2003 INTERNATIONAL CONFERENCE ON 6-9 JULY 2003, PISCATAWAY, NJ, USA,IEEE, 6 juillet 2003 (2003-07-06), pages 337-340, XP010651157 ISBN: 0-7803-7965-9 cité dans la demande *
GORI M ET AL: "Artificial Neural Networks for Document Analysis and Recognition" IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, IEEE, NEW YORK, NY, US, vol. 27, no. 1, janvier 2005 (2005-01), pages 23-35, XP011122153 ISSN: 0162-8828 *
HAMZA H ET AL: "Neural Based Binarization Techniques" DOCUMENT ANALYSIS AND RECOGNITION, 2005. PROCEEDINGS. EIGHTH INTERNATIONAL CONFERENCE ON SEOUL, KOREA 31-01 AUG. 2005, PISCATAWAY, NJ, USA,IEEE, 31 août 2005 (2005-08-31), pages 317-321, XP010878249 ISBN: 0-7695-2420-6 *
ITTI L ET AL: "A MODEL OF SALIENCY-BASED VISUAL ATTENTION FOR RAPID SCENE ANALYSIS" IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINEINTELLIGENCE, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 20, no. 11, 1 novembre 1998 (1998-11-01), pages 1254-1259, XP001203933 ISSN: 0162-8828 *
LAURENT ITTI ET AL.: "Neurobiology of Attention" 2005, ACADEMIC PRESS , XP008094221 Ce chapitre de livre est cité pour montrer que le système d'Itti fait partie des connaissances générales. page 576 - page 582 *
LECUN Y ET AL: "GRADIENT-BASED LEARNING APPLIED TO DOCUMENT RECOGNITION" PROCEEDINGS OF THE IEEE, IEEE. NEW YORK, US, vol. 86, no. 11, novembre 1998 (1998-11), pages 2278-2323, XP000875095 ISSN: 0018-9219 *
LECUN Y ET AL: "CONVOLUTIONAL NETWORKS FOR IMAGES, SPEECH, AND TIME SERIES" 1 janvier 1995 (1995-01-01), HANDBOOK OF BRAIN THEORY AND NEURAL NETWORK, XX, XX, PAGE(S) 255 - 258 , XP008060061 le document en entier *
NIEBUR E ET AL: "CONTROLLING THE FOCUS OF VISUAL SELECTIVE ATTENTION" MODELS OF NEURAL NETWORKS, SPRINGER, BERLIN, DE, vol. 4, 1 janvier 2002 (2002-01-01), pages 247-276, XP008069441 *
RAJA PARASURAMAN: "Neuroergonomics" 2006, OXFORD UNIVERSITY , XP008094170 Chap. de livre (cf p. 103, col. g. par. 2 - col. d., par.1) cité pour montrer que les canaux couleurs dans les systèmes neuronaux de type convolutionnel, ainsi que le sys. d'Itti font partie des conn page 95 - page 112 *
SAIDANE Z ET AL: "Robust Binarization for Video Text Recognition" DOCUMENT ANALYSIS AND RECOGNITION, 2007. ICDAR 2007. NINTH INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 1 septembre 2007 (2007-09-01), pages 874-879, XP031157327 ISBN: 978-0-7695-2822-9 *
SHOUNO H ET AL: "RECOGNITION OF HANDWRITTEN DIGITS IN THE REAL WORLD BY A NEOCOGNITRON" KNOWLEDGE-BASED INTELLIGENT TECHNIQUES IN CHARACTER RECOGNITION, CRC PRESS, US, 1 janvier 1999 (1999-01-01), pages 19-46, XP008059920 *
SVEN BEHNKE: "Hierarchical Neural Networks for Image Interpretation" 2003, SPRINGER , XP002456760 page 149 - page 165 page 65 - page 94 & SVEN BEHNKE: "Hierarchical Neural Networks for Image Interpretation" 2003, SPRINGER , XP002488477 page 35 - page 63 & SVEN BEHNKE: "Hierarchical Neural Networks for Image Interpretation" 2003, SPRINGER , XP002488603 page 111 - page 126 *
WALTHER ET AL: "Modeling attention to salient proto-objects" NEURAL NETWORKS, ELSEVIER SCIENCE PUBLISHERS, BARKING, GB, vol. 19, no. 9, 10 novembre 2006 (2006-11-10), pages 1395-1407, XP005775492 ISSN: 0893-6080 *
WAYNE D. GRAY: "Integrated Models of Cognitive Systems" 2007, OXFORD UNIVERSITY , XP008094222 Ce chapitre de livre (voir p. 104, dernier al.) est cité pour montrer que les canaux couleurs dans les systèmes neuronaux de type convolutionnel font partie des connaissances générales. page 99 - page 119 *
YAN H ET AL: "CHARACTER AND LINE EXTRACTION FROM COLOR MAP IMAGES USING A MULTI- LAYER NEURAL NETWORK" PATTERN RECOGNITION LETTERS, NORTH-HOLLAND PUBL. AMSTERDAM, NL, vol. 15, no. 1, janvier 1994 (1994-01), pages 97-103, XP000424030 ISSN: 0167-8655 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723788A (zh) * 2019-03-19 2020-09-29 杭州海康威视数字技术股份有限公司 文字识别方法及装置
CN112257800A (zh) * 2020-10-30 2021-01-22 南京大学 一种基于深度卷积神经网络模型-重生网络的视觉识别方法
CN112257800B (zh) * 2020-10-30 2024-05-31 南京大学 一种基于深度卷积神经网络模型-重生网络的视觉识别方法

Also Published As

Publication number Publication date
FR2910670A1 (fr) 2008-06-27
WO2008087316A3 (fr) 2008-10-02

Similar Documents

Publication Publication Date Title
BE1017547A6 (fr) Compression d&#39;images numeriques de documents scannes.
EP1298588B1 (fr) Procédé de traitement d&#39;images pour l&#39;extraction automatique d&#39;éléments sémantiques
Peng et al. Using convolutional encoder-decoder for document image binarization
CN113011357A (zh) 基于时空融合的深度伪造人脸视频定位方法
EP3570212A1 (fr) Procédé de reconnaissance de caractères
Chakraborty PRNU-based image manipulation localization with discriminative random fields
CA3043090A1 (fr) Procede de reconnaissance de caracteres
CN115034982A (zh) 一种基于多尺度注意机制融合的水下图像增强方法
Yang et al. Rain-component-aware capsule-GAN for single image de-raining
FR3087033A1 (fr) Procedes d&#39;apprentissage de parametres d&#39;un reseau de neurones a convolution et de detection d&#39;elements d&#39;interet visibles dans une image
Balasubramanian et al. Deep fake detection using cascaded deep sparse auto-encoder for effective feature selection
Fazlali et al. Single image rain/snow removal using distortion type information
Ummar et al. Window-based transformer generative adversarial network for autonomous underwater image enhancement
Sari et al. Text extraction from historical document images by the combination of several thresholding techniques
CN112365451A (zh) 图像质量等级的确定方法、装置、设备及计算机可读介质
Li et al. A new qr code recognition method using deblurring and modified local adaptive thresholding techniques
Tang et al. Single image rain removal model using pure rain dictionary learning
Jadhav et al. Pix2pix generative adversarial network with resnet for document image denoising
WO2008087316A2 (fr) Procede et systeme de binarisation d&#39;une image comprenant un texte
Gibson et al. A no-reference perceptual based contrast enhancement metric for ocean scenes in fog
Alshathri et al. Denoising Letter Images from Scanned Invoices Using Stacked Autoencoders.
CN112991239B (zh) 一种基于深度学习的图像反向恢复方法
CN111986176B (zh) 一种裂纹图像识别方法、系统、终端及可读存储介质
EP1525553A2 (fr) Procede et systeme de localisation automatique de zones de texte dans une image
Savino et al. A shallow neural net with model-based learning for the virtual restoration of recto-verso manuscripts.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07871943

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07871943

Country of ref document: EP

Kind code of ref document: A2