Tesseract (λογισμικό)

Το Tesseract (μτφ. τεσσεράκτιο) είναι λογισμικό οπτικής αναγνώρισης χαρακτήρων διαθέσιμο σε διάφορα λειτουργικά συστήματα. Διατίθεται ως ελεύθερο λογισμικό υπό την άδεια Apache έκδοση 2.0 από το 2006 συντηρείται από την Google.Αποτελεί μια από τις πλέον ακριβείς μηχανές αναγνώρισης οπτικών χαρακτήρων και έχει ευρεία χρησιμοποίηση σε πλήθος εφαρμογών.

Ιστορία 
Η κατασκευή του λογισμικού ξεκίνησε το 1984 ως διδακτορική διατριβή υπό τη χορηγία της Hewlett Packard στο Μπρίστολ του Ηνωμένου Βασιλείου. Το 1987 προστέθηκε και δεύτερο άτομο το οποίο συμμετείχε στην ανάπτυξη του λογισμικού στις εγκαταστάσεις της Hewlett Packard στο Γκρήλεϋ του Κολοράντο στις ΗΠΑ και ξεκίνησαν οι πρώτες προσπάθειες για την εμπορική αξιοποίηση του ως λειτουργία για συσκευές σαρωτών. Το 1995 αξιολογήθηκε ως μια από τις κορυφαίες μηχανές οπτικής αναγνώρισης χαρακτήρων ως προς την ακρίβεια αναγνώρισης,το 1996 δημιουργήθηκε έκδοση για Windows, ενώ το 1998 ξαναγράφτηκε τμήμα του παλαιού κώδικα ο οποίος ήταν γραμμένος σε C στην C++. Κατόπιν η ανανέωση συνεχίστηκε εν μέρει έτσι ώστε να είναι δυνατό όλος ο κώδικας να μεταγλωττιστεί με χρήση μεταγλωττιστή C++. 

Από το 1999 δεν υπήρξε καμία δραστηριοποίηση και πέρασε τελείως στην αφάνεια, έως το 2005 όταν η Hewlett Packard σε συνεργασία με το πανεπιστήμιο της Νεβάδα, Λας Βέγκας αποφάσισε να το διαθέσει υπό ελεύθερη άδεια χρήσης (Apache 2.0), ενώ από το 2006 τη συντήρηση και επέκταση του λογισμικού ανέλαβε η Google (ως έκδοση 1) και έλαβε θετική μετέπειτα αποδοχή ως προς την ποιότητα των αποτελεσμάτων του.

Γενικά χαρακτηριστικά 

Όλες οι εκδόσεις του λογισμικού είναι διαθέσιμες για τα λειτουργικά συστήματα GNU/Linux, Windows και Mac OS X. Η ποιότητα των αποτελεσμάτων του εξαρτάται σημαντικά από την ποιότητα και ευκρίνεια των εικόνων κειμένων τα οποία λαμβάνει ως είσοδο, και προβλήματα όπως ημιπεριστραμένες ή χαμηλής φωτεινότητας σελίδες χρειάζονται ξεχωριστή επιμέλεια πριν ξεκινήσει η διαδικασία της αναγνώρισης χαρακτήρων.

Το λογισμικό εκτελείται σε περιβάλλον τερματικού/κονσόλας και το ίδιο δεν διαθέτει γραφικό περιβάλλον, ωστόσο υπάρχουν άλλα ξεχωριστά εγχειρήματα τα οποία διαθέτουν γραφικό περιβάλλον και χρησιμοποιούν το Tesseract στο υπόβαθρο για τις εργασίες της οπτικής αναγνώρισης. Η απευθείας χρήση του γίνεται με παροχή παραμέτρων κατά το παρακάτω πρότυπο:
 tesseract imagename outputbase [-l lang] [configfile [[+|-]varfile]...]

Ιστορικό εκδόσεων

Έκδοση 1.x 
Στην αρχική του έκδοση ως ελεύθερο λογισμικό το 2006, παρείχε υποστήριξη μόνο για αναγνώριση λατινικών χαρακτήρων στα πλαίσια της αγγλικής γλώσσας. Ως δεδομένα εισόδου δεχόταν μόνο φωτογραφίες τύπου TIFF και δεν πρόσφερε καμία υποστήριξη για ανάλυση διάταξης εγγράφων, πολύστηλα κείμενα, και άλλα χαρακτηριστικά τα οποία θα προστίθονταν στις μετέπειτα εκδόσεις.

Έκδοση 2.x 
Η έκδοση 2 διατέθηκε το 2007 και εκτός από τα αγγλικά παρείχε υποστήριξη και για 6 ακόμα λατινογενείς γλώσσες, γαλλικά, ιταλικά, ισπανικά, πορτογαλικά, καθώς και γερμανικά και ολλανδικά, καθώς και πρώιμη υποστήριξη για εκπαίδευση του προγράμματος για καλύτερη αναγνώριση.

Έκδοση 3.x 
Το 2010 διατέθηκε η 3η έκδοση η οποία έως το 2015 είχε επακόλουθα στάδια προσθηκών (3.01 έως 3.05). Η έκδοση αυτή είχε πάρα πολλές και ιδιαίτερα σημαντικές προσθήκες όπως παρακάτω:

 [3.0.0, 2010] υποστήριξη ανάλυσης διάταξης εγγράφων, και υποστήριξη για συνολικά 60 γλώσσες
 [3.0.1, 2011] υποστήριξη αναγνώρισης διγραμμάτων, πολυγλωσσικών κειμένων, και εξαγωγή αποτελεσμάτων σε αρχεία τύπου hOCR
 [3.0.2, 2012] υποστήριξη εξισώσεων
 [3.0.3, 2014] επιπλέον παροχή εργαλείων εκπαίδευσης του λογισμικού για βελτιστοποίηση αναγνώρισης, εξαγωγή αποτελεσμάτων σε μορφή PDF
 [3.0.4, 2015] υποστήριξη για αναγνώριση χαρακτήρων σε πάνω από 100 γλώσσες, ανάμεσα στις οποίες και υποστήριξη για ελληνικά (αρχαία και νέα), καθώς και ιδεογραφικές γραφές όπως τα κινεζικά, και γραφή δεξιά-προς-αριστερά όπως τα αραβικά.
 [3.0.5, 2017] διάφορες μικροβελτιώσεις

Έκδοση 4.x 
Από το 2016 ξεκίνησε να δημιουργείται η 4η έκδοση του Tesseract, η οποία έως το πρώτο τρίμηνο του 2018 βρισκόταν σε καθεστώς δοκιμαστικής έκδοσης (4.0.0-beta.1). Στην έκδοση αυτή προστέθηκαν:

 χρήση νευρωνικών δικτύων (LSTM), με ως αποτέλεσμα τη σημαντική μείωση σφαλμάτων οπτικής αναγνώρισης σε σχέση με την έκδοση 3
 παράλληλη εκτέλεση εργασιών
 υποστήριξη για αναγνώριση περισσότερων συνδυασμών γλωσσών σε κείμενα
 ολοκλήρωση της μεταφοράς του συνόλου του κώδικα σε C++ και εκσυγχρονισμός μεγάλων τμημάτων του κώδικα

Παραπομπές

Εξωτερικοί σύνδεσμοι 

- github.com
Παρουσίαση της ιστορικής εξέλιξης - Ray Smith, συνέδριο στη Σαντορίνη
An overview of the Tesseract OCR Engine - Ray Smith, Google Inc

Ελεύθερο λογισμικό προγραμματισμένο σε C++