Séminaire IRCCyN 6 Janvier 2 0 00 Christian VIARD-GAUDIN [email protected] Institut de Recherche en Communications et Cybernétique de Nantes 1 Multimédia et Réseaux fy (cycles/d°) 28.2 cy/d° 4 5 Copyright © IRCCyN/CVG V Vidéo et Multimédia 3 6 14.2 cy/d° IV 4 5 5.7 cy/d° III 1.5 cy/d° 3 2 6 4 2 3 2 1 1 1 fx (cycles/d°) Modélisation psychovisuelle Écrit et Documents 0.1 Angular selectivity III : 45° IV : 30° V : 30° 0.35 0.15 0.25 0.7 0.8 0.3 0.6 0.4 0.2 Équipe Image et Vidéo Communications Copyright © IRCCyN/CVG Modèle z 2 Copyright © IRCCyN/CVG SOMMAIRE TUTORIAL SUR LES MODÈLES MARKOV CACHÉS APPLICATION A LA RECONNAISSANCE DE L’ÉCRITURE MANUSCRITE Copyright © IRCCyN/CVG 3 Première Partie : Modèles de Markov Cachés (HMM’s) Copyright © IRCCyN/CVG Origins and Scopes Late 1960’s (BAUM, 1967) : – Basic theory Late 1980’s : – Large widespread understanding – Application to speech recognition Used to model the behavior of A real-world signal speech, characters, Temperature, stock market, … By mean of a statistical approach Parametric random process Copyright © IRCCyN/CVG 4 Copyright © IRCCyN/CVG Hidden Markov Model (1) An HMM is a double stochastic process 1) an underlying stochastic process generates a sequence of states : q1, q2, … , qt, ... qT, Where t : discrete time, regularly spaced T : length of the sequence qt Q = {q1, q2, ... qN} N : the number of possible states Copyright © IRCCyN/CVG 5 • Markov Chain Hypotheses Copyright © IRCCyN/CVG 1) First order : probabilistic description is truncated to just the current state and the predecessor state : P[qt=qj|qt-1=qi, qt-2= qk, …] = P[qt=qj|qt-1=qi] 2) Stationarity : probabilities are time invariant : 1 i, j N P[qt=qj|qt-1=qi] = aij This defines a square NxN matrix, A = {aij} (state transition probability matrix) N where aij 0 and aij 1 j 1 3) an initial state distribution = {i} should also be defined: i = P[q1 =qi] with 1 i N where i 0 and N i 1 i 1 •The value of each state is unobservable, but ...6 Copyright © IRCCyN/CVG Hidden Markov Model (2) Copyright © IRCCyN/CVG An HMM is a double stochastic process 1) an underlying stochastic process generates a sequence of states : q1, q2, … , qt, ... qT, But ... 2) each state emits an observation according to a second stochastic process : xt X = {x1, x2, ... xM} qt xi : a discrete symbol M : number of symbols Copyright © IRCCyN/CVG 7 • Observation Hypothesis Copyright © IRCCyN/CVG 1) The observation xt depends only of the present state qt : P[xt = xj | qt = qi] = bij This defines a NxM matrix B: observation probability matrix B = {bij} where bij 0 and M b j 1 ij 1 A complete specification of an HMM (l) requires : • Two model parameters N and M • A specification of the symbols to observe • Three probability measures : , A, B l =Copyright (, A, B) © IRCCyN/CVG 8 Example 1 : (Not Hidden, Just a Discrete Copyright © IRCCyN/CVG Markov Model) Model of the weather in Nantes –N=M=3 – State = observation : Q = {q1=rain, q2=cloudy, q3=sunny} – t is sampled every day, at noon for instance – ANantes = {aij} = 0.4 0.3 0.3 0 . 2 0 . 6 0 . 2 01 . 01 . 0.8 Let us play with this model now ! Copyright © IRCCyN/CVG 9 Copyright © IRCCyN/CVG NANTES Weather Model Given that the weather today (t=1) is sunny (q1 = q3) Answer these questions What will be the weather tomorrow (t = 2) ? What is the probability of rain for the day after tomorrow (t = 3) ? And for the day after (t = 4) ? What is the probability the coming week will be “sun-sun-rain-rain-sun-cloudy-sun” Copyright © IRCCyN/CVG 10 Copyright © IRCCyN/CVG NANTES Weather Model Two more questions : What is the probability of rain for d consecutive days ? (ex. d = 3), What is the average number of consecutive sunny days ? Cloudy days ? Rainy days ? Copyright © IRCCyN/CVG 11 R NANTES Weather Model Copyright © IRCCyN/CVG A= Answers C S 0.4 0.3 0.3 R 0.2 0.6 0.2 C 01 . 01 . 0.8 S What will be the weather tomorrow ? What is the probability of rain for the day after tomorrow ? Use of a trellis : Copyright © IRCCyN/CVG 12 NANTES Weather Model A= 0.4 0.3 0.3 0 .2 0 .6 0 .2 0.1 0.1 0.8 Copyright © IRCCyN/CVG And for the day after ? Just extend the trellis, from the previous values q1: rain q2: cloudy q3: sunny P(q4=q1) = What is the probability the coming week will be “sun-sun-rain-rain-sun-cloudy-sun” P(q3,q3,q1,q1,q3,q2,q3) = Copyright © IRCCyN/CVG 13 Copyright © IRCCyN/CVG NANTES Weather Model What is the probability that rain lasts for d consecutive days ? (ex. d = 3), More generally : P(qi, qi, …qi,qij) = hence P(q1, q1, q1, qj 1) = Copyright © IRCCyN/CVG 14 Copyright © IRCCyN/CVG NANTES Weather Model What is the average number of consecutive sunny days ? Cloudy days ? Rainy days ? d d p d d aii 1 a i d 1 i d 1 d 1 ii Copyright © IRCCyN/CVG 15 Copyright © IRCCyN/CVG NANTES Weather Model A= 0.4 0.3 0.3 0.2 0.6 0.2 01 . 01 . 0.8 Topological graphic representation : 0.3 0.4 q1 = rain 0.6 q2 = cloudy 0.2 0.3 0.1 0.2 0.1 q3 = sunny 0.8 This is an ergodic model : from one state, all other states are reachable Copyright © IRCCyN/CVG 16 Copyright © IRCCyN/CVG Example 2 : Extension to HMM Coin tossing experiment : We do not see how the tossing is performed : one coin, multiple coins, biased coins ? We only have access to the result, a sequence of tosses, In that case, M = 2 and X = {x1 = Head, x2 = Tail} Observation sequence : (x1,x2, …. xT) = (H,H,T,T,T,H, …H) The problem are : How to build a model to explain the observed sequence ? What are the states ? How many states ? Copyright © IRCCyN/CVG 17 Coin tossing experiment : model 1 : assume only one biased coin Copyright © IRCCyN/CVG 2 states (N = 2) Q = {q1 = H, q2 = T} Model topology : 1-P(H) P(H) 1-P(H) q2 = Tail q1 = Head P(H) Only one parameter is needed : P(H), it defines matrix A model 2 : assume two biased coins - 2 states (N = 2) Q = {q1 = Coin1, q2 = Coin2} - 2 different observations (M = 2) X = {x1 = H, x2 = T} Copyright © IRCCyN/CVG 18 Model topology : 1-a11 Copyright © IRCCyN/CVG a11 a22 q2 = Coin2 q1 = Coin1 1-a22 Transition state probabilities : A= a11 1 a 22 1 a11 a 22 Observation symbol probabilities B= P1 H 1 P1 H P H 1 P H 2 2 4 parameters are required to define this model (A : 2, B : 2) Copyright © IRCCyN/CVG 19 Coin tossing experiment : model 3 : assume three biased coins Copyright © IRCCyN/CVG 3 states (N = 3) Q = {q1 = Coin1, q2 = Coin2, q3 = Coin3} X = {x1 = H, x2 = T} 2 different observations (M = 2) Model topology : a12 a11 Observation symbol probabilities : B= P1 H 1 P1 H P H 1 P H 2 2 P3 H 1 P3 H q1 = Coin1 a22 a21 a13 q2 = Coin2 a32 a23 a31 q3 = Coin3 9 independent parameters are required to define this model (A : 6, B :3) Copyright © IRCCyN/CVG a33 20 Coin tossing experiment : model 3 : assume three biased coins Copyright © IRCCyN/CVG 3 states (N = 3) Q = {q1 = Coin1, q2 = Coin2, q3 = Coin3} Matrix A Consider the following example : - State transition probabilities : 1/3 - Initial state probabilities : 1/3 Vector - Observation probabilities t t-1 q1 q2 q3 q1 q2 q3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 State Values q1 q2 q3 Initial state probability P(q1) 1/3 1/3 1/3 P(H) State 1 : q1 0.5 State 2 : q2 0.75 State 3 : q3 0.25 P(T) 0.5 0.25 0.75 Matrix B Copyright © IRCCyN/CVG 21 Coin tossing experiment : model 3 : assume three biased coins Copyright © IRCCyN/CVG 3 states (N = 3) Q = {q1 = Coin1, q2 = Coin2, q3 = Coin3} 1. You observe X = (H,H,H,H,T,H,T,T,T,T) Which state sequence G, generates most likely X ? What is the joint probability, P(X, G | l) of the observation sequence and the state sequence ? 2. What is the probability that the observation sequence came entirely from state q1 ? Copyright © IRCCyN/CVG 22 Copyright © IRCCyN/CVG 1. You observe X = (H,H,H,H,T,H,T,T,T,T) 2. What is the probability that the observation sequence came entirely from state q1 ? Copyright © IRCCyN/CVG 23 Copyright © IRCCyN/CVG Example of non ergodic model (left-right model) 0.7 qs 0.2 q1 0.1 0.1 0.8 q2 0.6 0.1 q3 0.4 0.9 qf 0.1 Three states + one starting state qs + one final state qf qs and qf are non emitting states. Assume there are 2 symbols to observe X = {x1=a,x2=b} 0.2 0.7 0 0.1 Initial state probabilities . 01 . 0 0.8 01 0 0 0.6 0.4 A 0 0 01 . 0.9 0 1 0 0 Transition state probabilities Copyright © IRCCyN/CVG 0.8 0.2 B 0.4 0.6 01 . 0.9 P(a|q1) P(b|q3) Observation symbol probabilities 24 The most probable state sequence with this model is : q2, q3 resulting in the symbol sequence “bb”. Copyright © IRCCyN/CVG But this sequence can also be generated by other state sequences, such as q1, q2. • Computation of the likelihood of an observation sequence : Given X = “aaa” compute the likelihood for this model : P(aaa | l) The likelihood P(X | l) is given by the sum over all possible ways to generate X. State sequence Init q 1q 2q 3 0.2 0.8 0.8 0.4 0.6 0.1 0.9 0.0027648 q 1q 3q 3 0.2 0.8 0.1 0.1 0.1 0.1 0.9 0.0000144 q 2q 3q 3 0.7 0.4 0.6 0.1 0.1 0.1 0.9 0.0001512 P(aaa|l) = 0.0029304 0.7 qs 0.2 q1 0.1 0.8 Obs a Trans Obs a Trans Obs a Trans q2 0.4 0.1 0.9 0.6 3 0.1 0.1 q Joint probability qf Copyright © IRCCyN/CVG 25 Copyright © IRCCyN/CVG Using HMM for pattern recognition consists in computing the model li among a set of K models which maximizes the likehood for an observation to have been generated by this model : lmax = arg max P(X|li) li for i = 1, … K Character recognition : • Small lexicon : as many HMModels as words • Otherwise, letters are individually modeled by an HMM which can be concatenated to form word models. lP lA lR lI lS Word model for « PARIS » Copyright © IRCCyN/CVG 26 The three basic problems for HMMs Copyright © IRCCyN/CVG Problem 1 : Recognition Given X = (x1,x2, … xT) and the various models li How to efficiently compute P(X|l) ? Forward-Backward algorithm Problem 2 : Analysis Given X = (x1,x2, … xT) and a model l, find the optimal state sequence G. How can we undiscovered the sequence of states corresponding to a given observation ? Viterbi algorithm Problem 3 : Learning Given X = (x1,x2, … xT), estimate model parameters l = (, A, B) that maximize P(X| l) How do we adjust the model parameters l = (, A, B) ? Baum-Welch algorithm Copyright © IRCCyN/CVG 27 Problem 1 : Recognition Copyright © IRCCyN/CVG How to efficiently compute P(X|l) ? X = x1x2 …xt … xT : observation sequence It exists several paths (G) which allow to obtain X : P(X|l) = SG P( X,G |l) = SG P(X | G, l) x P(G|l) Joint probability Depends only on state Depends only on observation transition probabilities : A probabilities : B matrix • P(X | G, l) The path G is defined by a sequence of states : q1q2 …qt … qT P(X | G, l) = P(x1x2 …xt … xT | q1q2 …qt … qT , l) = P(x1| q1…qT , l)xP(x2| x1,q1… qT , l)…P(xT| xT-1 … x1,q1… qT , l) = P(x1| q1 , l)xP(x2| q2, l)…P(xT|qT, l) as xt depends only of qt P x t | q t , l T t 1 Copyright © IRCCyN/CVG 28 Problem 1 : Recognition (2) How to efficiently compute P(X|l) ? Copyright © IRCCyN/CVG P(X|l) = SG P( X,G | l) = SG P(X | G, l) x P(G|l) • P(G|l) The path G is defined by a sequence of states : q1q2 …qt … qT P(G | l) = P(q1q2 …qt … qT | l) Joint probability = P(q1|l) x P(q2|q1, l)…P(qT| qT-1 … q1, l) = P(q1|l) x P(q2| q1, l)…P(qT|qT-1, l) Pq1 | l Pq t | q t 1 , l T as we assume a first order HMM t 2 At last, by replacing : P X | l P xt | qt , l Pq1 | l Pqt | qt 1 , l G T T t 1 t 2 Copyright © IRCCyN/CVG 29 What about the computational complexity ? P X | l P xt | qt , l Pq1 | l Pqt | qt 1 , l Copyright © IRCCyN/CVG G T T t 1 t 2 Number of multiplications for one path G : Number of paths (T-1)+1+1+(T-2) =2T-1 NT X: Total number of multiplications : (2T-1)NT Total number of additions : (NT-1) How long does it take ? Assume N = 23, T = 15 (word check application) Number of operations 2T.NT = 30 . 2315 1022 Assume 1 Gops Number of seconds = 1022/109 = 1013 Number of days = 1013/3600x24 = 108 Number of years = 108/365 = 105 FIND SOMETHING ELSE !!! Copyright © IRCCyN/CVG 30 Copyright © IRCCyN/CVG Forward-Backward algorithm Use a trellis structure to carry out the computations : at each node of trellis, store the forward variable ati with ati = P(x1x2 … xt, qt = qi | l) which is the probability of a partial observation sequence up to time t and of being in the state qi at that same time Algorithm in 3 steps : 1. Initialization a1i = P(x1, q1 = qi | l) = P(x1| q1 = qi,l) x P(q1 = qi|l) 2. Recursion a j t 1 N i j i at Pqt 1 q | qt q , l P xt 1 | q j , l i 1 with 1 j N, and 1 t T-1 N 3. Termination P X | l aTi i 1 Copyright © IRCCyN/CVG 31 Copyright © IRCCyN/CVG Forward-Backward algorithm atN qN . qi . qj . . q1 ati aNj aij at1 1 ... at j1 a1j t t+1 ... N j i j i at 1 at Pqt 1 q | qt q , l P xt 1| q j , l i 1 with 1 j N, and 1 t T-1 Total number of multiplications : Total number of additions : Assume N = 23, T = 15 Number of operations : Copyright © IRCCyN/CVG 32 Copyright © IRCCyN/CVG Problem 2 : Analysis – How can we undiscovered the sequence of states corresponding to a given observation X ? – Choose the most likely path : Find the path (q1,q2,…,qT) that maximizes the probability = P(q1,q2,…,qT| X,l) – Solution by Dynamic Programming : Viterbi algorithm – It is an inductive algorithm that keep the best possible state sequence ending in state qi at time t. Copyright © IRCCyN/CVG 33 VITERBI Algorithm – Define dt(i) = max P(q1,q2,…,qt=qi , x1,x2,…xt | l) – dt(i) is the highest probability path ending in state qi – By induction, we have : dt+1(k) = max [dt(i) aik] . bk(xt+1),with 1 k N 1iN STATES Copyright © IRCCyN/CVG q1,q2,…,qt-1 Memorize also t+1(k) = arg max(dt(i) aik) N aNk dt+1(k) k t+1(k) = j j aik i dt(i) 2 1 Tracing back the optimal state sequence a1k 1 2 x1 x2 t-1 t t+1 TIME xt-1 xt xt+1 OBSERVATION Copyright © IRCCyN/CVG max [dT(i)] T-1 T xT-1 xT 1 i N 34 Copyright © IRCCyN/CVG VITERBI Algorithm 1. Initialization For 1 i N d1(i) = i x bi(x1); 1(i) = 0; 2. Recursive computation For 2 t T For 1 j N dt(j) = max [dt-1(i) aij] . bj(xt); 1iN t(j) = arg max(dt-1(i) aij); 1iN 3. Termination P* = max[dt(i)]; 1iN q*T = arg max[dT(i)]; 1iN 4. Backtracking For t=T-1 down to 1 q*t = t(q*t+1); // or -ln(i)-ln(bi(x1)) // or dt(j) = min[dt-1(i)-ln( aij)]-ln(bj(xt)); // or t(j) = arg min[dt-1(i)-ln(aij)); // or P* = min[dt(i)]; // or q*T = arg min[dT(i)]; Hence P* (or exp(-P*) ) gives the required state-optimized probability,and G* = (q1*,q2*, …, qT*) is the optimal state sequence. Copyright © IRCCyN/CVG 35 Problem 3 : Learning Copyright © IRCCyN/CVG How do we adjust the model parameters l = (, A, B) ? Baum-Welch algorithm 1. Let initial model be l0, 2. Compute new model l based on l0 and on observation X, 3. If log P(X|l) - log(P(X|l0) < Delta stop, 4. Else set l0 l and goto step 2. Copyright © IRCCyN/CVG 36 Copyright © IRCCyN/CVG Joint Probability P(a, b) = P(a | b) x P(b) = P(b | a) x P(a) Copyright © IRCCyN/CVG 37 Copyright © IRCCyN/CVG SECONDE PARTIE : RECONNAISSANCE DE L’ECRITURE MANUSCRITE ON-LINE OFF-LINE Copyright © IRCCyN/CVG 38 Copyright © IRCCyN/CVG OFF-LINE VERSUS ON-LINE Retracé Intersection Posé de stylo Lever de stylo Copyright © IRCCyN/CVG 39 Copyright © IRCCyN/CVG LA RECONNAISSANCE Image d’un mot 1D 2D HMM Modélisation Graphèmes Lettres Colonnes de graphe pixels : Ordonnancement off-line Copyright © IRCCyN/CVG 40 Copyright © IRCCyN/CVG UN MODELE APPROPRIE POUR UNE OPTIMISATION GLOBALE 1 DEFINITION D’UN NOEUD 2 GRAPHE ORIGINAL R1 2 R2 Problème du voyageur de commerce recherche d’un cycle hamiltonien 1 3 7 5 6 R3 Modèle 2 4 8 1 3 1 4 lien inter lien intra 7 2 3 7 6 4 5 6 5 8 Copyright © IRCCyN/CVG 8 41 Copyright © IRCCyN/CVG UN MODELE APPROPRIE POUR UNE OPTIMISATION GLOBALE 1 DEFINITION D’UN NOEUD 2 GRAPHE ORIGINAL 3 GRAPHE COMPLET 4 GRAPHE FINAL 5 VALUATION DU GRAPHE 6 CHEMIN HAMILTONIEN 2 3 7 2 1 5 6 4 8 1 3 1 4 2 3 4 5 P Lien Lien Lien Lien 7 inter intra de complétude de départ et d’arrivée 7 6 Copyright © IRCCyN/CVG 6 5 8 8 42 Synoptique du Système de Copyright © IRCCyN/CVG RECONNAISSANCE Observations : 1D sequence of symbols Feature Vectors Feature Symbol Extraction Mapping HMM - State transition prob. - Observations symbol prob. - Initial state prob. rugby : -2.15 ……… : …… Result Copyright © IRCCyN/CVG 43 Copyright © IRCCyN/CVG R E C O S N Y N S D A T E I E S M S E A N C E Image d’un mot Segmentation Fichier on-line Ensemble de segments Normalisation Lignes de référence Graphe Ordonnancement on-line Ordonnancement off-line Séquence de segments orientés et de levers-posés de stylo Extraction de caractéristiques Quantification vectorielle 125 32 368 56 98 225 118 … Séquence de symboles HMM Vraisemblances pour chaque mot du dictionnaire Copyright © IRCCyN/CVG un deux frs 44 EXAMPLES of CLUSTERS Copyright © IRCCyN/CVG Core line Core line Core line Core line Core line Number of clusters : 300 Copyright © IRCCyN/CVG 45 RESULTATS IRONOFF Copyright © IRCCyN/CVG Une base de données duales on-line et off-line 25 451 caractères isolés 31 346 mots cursifs environ 700 scripteurs différents (64% d’hommes et 34% de femmes) âge moyen d’un scripteur : 26 ans et demi Dictionnaire : 197 mots Apprentissage : 20 898 mots Test : 10 448 mots Copyright © IRCCyN/CVG 46 Copyright © IRCCyN/CVG IRONOFF Construction Online data Step 1 : online acquisition Gray level image Step 2 : offline acquisition Step 3 : matching process Copyright © IRCCyN/CVG 47 Copyright © IRCCyN/CVG IRONOFF Samples Copyright © IRCCyN/CVG 48 96 96 Top(1) Top(1) 94 94 OnLineSeg on-line 92 92 Ord.on on Ord. 90 90 Ord.off off Ord. 88 88 Ord.on&off on&off Ord. Ord.On On++Ord. Ord.off off Ord. 86 86 OffLineSeg Copyright © IRCCyN/CVG COMPARAISON OffLineSeg et OnLineSeg 84 84 00 20 20 40 40 N N 60 60 80 80 APPROCHE « ORDREC » Copyright © IRCCyN/CVG 49 100 100 99 99 Top(K) Top(K) Copyright © IRCCyN/CVG COMPARAISON OnLineSeg et OnLinePt 98 98 OnLinePt OnLinePt 97 97 OnLineSeg OnLineSeg 96 96 95 95 94 94 11 2 33 4 55 6 7 7 8 99 10 K K Copyright © IRCCyN/CVG 50 Copyright © IRCCyN/CVG EXEMPLES rugby : -2.15 surgelées : -2.24 dégâts : -2.29 whisky Liberty blâmez : -1.74 : -2.10 : -2.27 Top(1) correct Copyright © IRCCyN/CVG 51 EXEMPLES Copyright © IRCCyN/CVG éclabousser : -2.01 déposerait : -2.23 moissonner : -2.26 père-noël : -1.82 pivoteras : -2.22 pédalerions : -2.24 Hôpital : -2.01 Maître : -2.24 autre : -2.25 Top(1) correct Copyright © IRCCyN/CVG 52 EXEMPLES Copyright © IRCCyN/CVG pas : -2.26 plus : -2.34 puis : -2.37 aïeux : -2.26 une : -2.30 onze : -2.32 Erreurs dues à un pré-traitement : normalisation du mot Occident : -2.11 accident : -2.19 Maître : -2.43 North : -2.43 Neptune : -2.46 Littérature : -2.54 Erreurs d ’annotation : mot inconnu dans une certaine casse treize : -1.77 seize : -1.90 fonça : -2.06 dix : -1.82 six : -2.13 deux : -2.20 Erreurs dues aux limitations du modèle Copyright © IRCCyN/CVG 53 EXEMPLES Copyright © IRCCyN/CVG pas : -2.26 plus : -2.34 puis : -2.37 aïeux : -2.26 une : -2.30 onze : -2.32 Erreurs dues à un pré-traitement : normalisation du mot Occident : -2.11 accident : -2.19 Maître : -2.43 North : -2.43 Neptune : -2.46 Littérature : -2.54 Erreurs d ’annotation : mot inconnu dans une certaine casse treize : -1.77 seize : -1.90 fonça : -2.06 dix : -1.82 six : -2.13 deux : -2.20 Erreurs dues aux limitations du modèle Copyright © IRCCyN/CVG 54 Copyright © IRCCyN/CVG FIN Copyright © IRCCyN/CVG 55 Copyright © IRCCyN/CVG CONCATENATION DE MODELES LETTRES POUR DEFINIR DES MODELES MOTS c état initial e états non émetteurs Copyright © IRCCyN/CVG t état final 56 MODELE MOT : APPROCHE « LEGO » Copyright © IRCCyN/CVG dégât qD e d g a dia dia qF t dia dia dégât 15 d é div_0 dia g div_+ dia â div_0 dia divDia_0 t div_F dia divDia_F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 Copyright © IRCCyN/CVG 57 APPROCHE ORDREC »» APPROCHE «« ORDREC Copyright © IRCCyN/CVG Graphe des segments Graphe des traits Posés et levers de stylo Levers de stylo Posés de stylo et ordre des traits Copyright © IRCCyN/CVG 58 Segment features • Dimensions of the segment enclosing rectangle : Lx(s) et Ly(s), Copyright © IRCCyN/CVG • Relative Ordinate to the baseline of the center of the enclosing rectangle : y(s), • Segment orientation : Dx(s) et Dy(s), • Left and right extensions of the segment : Og(s) et Od(s). Lx Lx d Ly d Dy Ly Dy Dx Dx y y y = 0 (ligne de base du mot) Pen-up/pen-down features • Ordinate of the vector center of the pen-up/pen-down : y(lp), • Direction of the vector of the pen-up/pen-down : Dx(lp) et Dy(lp). Copyright © IRCCyN/CVG 59
© Copyright 2025 Paperzz