<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Artisan Numérique</title>
  <link rel="alternate" type="text/html" href="http://artisan.karma-lab.net/node/1306"/>
  <link rel="self" type="application/atom+xml" href="http://artisan.karma-lab.net/node/1306/atom/feed"/>
  <id>http://artisan.karma-lab.net/node/1306/atom/feed</id>
  <updated>2008-02-12T12:04:55+01:00</updated>
  <entry>
    <title>Tesseract, un OCR étonnant</title>
    <link rel="alternate" type="text/html" href="http://artisan.karma-lab.net/node/1306" />
    <id>http://artisan.karma-lab.net/node/1306</id>
    <published>2008-01-20T13:24:43+01:00</published>
    <updated>2008-02-12T12:04:55+01:00</updated>
    <author>
      <name>Ulhume</name>
    </author>
    <category term="Le Bureau" />
    <category term="OK" />
    <category term="Planet Libre" />
    <category term="Article" />
    <summary type="html"><![CDATA[<p>
  Je suis tombé il y a peu sur <a class='external' target='_blank' href='http://ubunteros.tuxfamily.org/spip.php?article148#forum790' >cet article</a> ventant les bienfaits d'un "nouvel" OCR dans le paysage du libre. Après mes déboires répétés avec GOCR, j'ai donc bondi sur l'occasion. 
</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>
  Je suis tombé il y a peu sur <a class='external' target='_blank' href='http://ubunteros.tuxfamily.org/spip.php?article148#forum790' >cet article</a> ventant les bienfaits d'un "nouvel" OCR dans le paysage du libre. Après mes déboires répétés avec GOCR, j'ai donc bondi sur l'occasion. 
</p>
<!--break-->

	<a name='chapter_1'></a>
  <h2>Origine du projet</h2>
	
<p>
  Tesseract n'est pas tombé, loin de là, de la dernière pluie. Il s'agit en réalité d'un projet relativement ancien développé entre 1985 et 1994 par le groupe HP pour être finalement abandonné lors d'un recentrage des activités du groupe. 
</p>
<p>Ce n'est du coup qu'en 2005 que le projet reprend des couleurs lorsque certains employés décident de publier son code avec l'aide de Google et de l'Information Science Research Institute. Ces derniers apportant au vénérable outil debuggage et améliorations diverses.</p>

<p>Tesseract n'est devenu réellement libre qu'un peu plus tard, en Août 2006, une fois que les derniers parties propriétaires eurent été ôtées (réseau de neurone Aspirin/Migraine). 
</p>
<p>
Et l'histoire ne s'arrête cependant pas là, car Tesseract, qui doit être considéré comme un "simple" moteur de reconnaissance de caractère multi-langues, est aujourd'hui en cours d'intégration dans un plus vaste projet nommé <a class='external' target='_blank' href='http://code.google.com/p/ocropus/' >OCRopus</a>. Mené par Google, l'objectif est de donner naissance à une chaîne complète comprenant la numérisation, l'analyse de formatage (RAST), la reconnaissance de langue, la reconnaissance de caractères (Tesseract) et une correction du résultat (aspell). 
</p>
<p>Bref, de quoi changer complètement le positionnement des plate-formes libres dans le domaine l'OCR.</p>


	<a name='chapter_2'></a>
  <h2>Installation</h2>
	
<p>
C'est fou le nombre d'outils que l'on ne connaît pas qui sont déjà sagement en attente d'être installé sur nos disques (je mirrore les bases URPMI toutes les nuits). Tesseract n'échappe pas à la régle et son installation s'est simplement résumé à un :

  <div class='code-block code-block-fragment'>
  <div class='container'>
  <span class="co0"># urpmi tesseract</span>
  </div>
  
  </div>
</p>
<p>
 

	<a name='chapter_3'></a>
  <h2>Premiers tests</h2>
	
<p>
 Pour ce test, j'utilise un exemplaire de Newsweek, bien chiffonné par un mois de bourlingue, à l'inimitable papier glacé ultra-fin. C'est un peu le test critique pour moi car ce papier est à ce point transparent que la lampe fluorescente du scanner fait apparaître en partie le texte qui se trouve derrière la page. 
</p>
<p>
Première étape donc, un scan en 400DPI (ce qui semble être le bon compromis taille/reconnaissance):

  <div class='code-block code-block-fragment'>
  <div class='container'>
  $ &nbsp;scanimage --mode color --resolution <span class="nu0">300</span> -d net:mon_serveur_scanneur:epkowa:libusb:<span class="nu0">003</span>:<span class="nu0">004</span> <span class="sy0">&gt;</span> <span class="kw3">source</span>
  </div>
  
  </div>
</p>
<p>
Ceci fait je vais juste éditer le résultat avec Gimp pour n'extraire qu'une seule colonne d'article. En effet, Tesseract n'a pour l'instant pas d'analyseur de format, et le double colonage du newsweek, ainsi que la photo centrale, ne va pas vraiment l'aider. Cela donne donc la source suivante (que j'ai réduite en taille pour l'intégrer ici) :<br/>
<image id="1" width="300" style="float:none;text-align:center"/><br/>
</p>
<p>
Ensuite je vais créer deux fichiers graphique. L'un au format TIF pour tesseract, l'autre en PPM pour GOCR. 

  <div class='code-block code-block-fragment'>
  <div class='container'>
  $ convert <span class="kw3">source</span> <span class="kw3">source</span>.tif<br />
$ convert <span class="kw3">source</span> <span class="kw3">source</span>.ppm
  </div>
  
  </div>
</p>
<p>
Le temps du test est maintenant arrivé, d'abord GOCR :

  <div class='code-block code-block-fragment'>
  <div class='container'>
  $ <a target="blank" href="http://pwet.fr/man/linux/commandes/gocr"><span class="kw2">gocr</span></a> <span class="kw3">source</span>.ppm <span class="sy0">&gt;</span> resultat-gocr.txt
  </div>
  
  </div>
</p>
<p>
Ce qui me donne en 3.92s :

  <div class='code-block code-block-fragment'>
  <div class='container'>
  _ &nbsp; &nbsp; &nbsp; &nbsp;__ &nbsp; &nbsp; &nbsp; _<br />
HE FAILU_ OF BRUTE-FORCE SCA_ TACTICS, OF<br />
course, renected _e _mes, too: by 2OO6, more voters<br />
_an in 2OO4 were fed up ___ the Iraq War and terro_sm<br />
alerts _at had begun to sound like c_' ng wolf. But some-<br />
thing more _ndamentaJ was at work. Simply put, candi-<br />
dates do _emselves litUe good by reminding voters of their fears<br />
and leaving it at _at, for evoking fears m_out also raising hopes<br />
is rarely a mnning strategy. ''Success_l candidates unders_nd<br />
voters' fears and anxl__es and speak to it,'' says Ma_ew Dowd, a<br />
fo_er political strateġist for Bush and now a cont_' butor to ABC<br />
33ews. ''Clinton did this in l992, saying he understood voters' anxi-<br />
e_es about the economy be_er _an Bush 4l did, and _George W.J<br />
Bush did it in 2OO4 when he said he understood _eir fears and<br />
a__ties related to terro_sm and securi_:' To close _e deal, Ulese<br />
success_l candidates took _e next step: Bill Clinton o_ered hope<br />
by vom'ng to address economic problems more competenUy _an<br />
George H.W. Bush was doing, and _e cu_ent president o_ered<br />
hope when he said he would protect Americans be_er _an _ohn<br />
Ker_ could or would. ''Politicians who speak only to the fear and<br />
anxie_ pa_ m'_out transi_oning to something more op_mistic<br />
don't m'n;' says Dowd. ''You can't leave voters stuck in their fear
  </div>
  
  </div>
</p>
<p>
Maintenant le même test avec tesseract :

  <div class='code-block code-block-fragment'>
  <div class='container'>
  $ <span class="kw1">time</span> tesseract <span class="kw3">source</span>.tif result-tesseract
  </div>
  
  </div> 
</p>
<p>
  Cette fois le résultat tombe en 3.12ss ce qui donne déjà Tesseract comme étant 1.25 fois plus rapide qu'GOCR :

  <div class='code-block code-block-fragment'>
  <div class='container'>
  HE FAILURE OF BRUTE·FORCE SCARE TACTICS, OF<br />
course, reflected the times, too: by 2006, more voters<br />
than in 2004 were fed up with the Iraq War and terrorism<br />
alerts that had begun to sound like crying wolf But some-<br />
thing more fundamental was at work. Simply put, candi-<br />
dates do themselves little good by reminding voters of their fears<br />
and leaving it at that, for evoking fears without also raising hopes<br />
is rarely a winning strategy. &quot;Successii1l candidates understand<br />
voters’ fears and anxieties and speak to it,&quot; says Matthew Dowd, a<br />
former political strategist for Bush and now a contributor to ABC<br />
News. &quot;Clinton did this in 1992, saying he understood voters’ anxi-<br />
eties about the economy better than Bush 41 did, and [George W]<br />
Bush did it in 2004 when he said he understood their fears and<br />
anxieties related to terrorism and security.&quot; To close the deal, these<br />
successful candidates took the next step: Bill Clinton oifered hope<br />
by vovving to address economic problems more competently than<br />
George H.W Bush was doing, and the current president offered<br />
hope when he said he would protect Americans better than john<br />
Kerry could or would. &quot;Politicians who speak only to the fear and<br />
anxiety part without transitioning to something more optimistic<br />
don’t win,&quot; says Dowd. &quot;You can’t leave voters stuck in their fear
  </div>
  
  </div>
</p>


	<a name='chapter_4'></a>
  <h2>Conclusion</h2>
	
<p>
Le résultat est juste sans appel. Le texte produit par Tesseract est tout simplement parfait contrairement à GOCR qui a du mal avec la transparence du papier et loupe un paquet de caractères. 
</p>
<p>
Plus rapide donc et surtout bien pour des résultats bien meilleur (même si cela demande à être re-testé en français) tesseract semble d'un coup de baguette magique promettre aux plate-formes libres (ou pas d'ailleurs, car il fonctionne aussi sous Windows) une numérisation de document d'une qualité enfin digne de ce nom. Une très très bonne nouvelle en vérité. 
</p>    ]]></content>
  </entry>
</feed>
