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

λογισμικό οπτικής αναγνώρισης χαρακτήρων

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

Tesseract (λογισμικό)
Στιγμιότυπο της εκτέλεσης του Tesseract 3.0.3.
Γενικά
ΔημιουργοίΡέυ Σμιθ, Hewlett-Packard[1]
Είδοςβιβλιοθήκη, εφαρμογή τερματικού, ελεύθερο και ανοιχτού κώδικα λογισμικό
Διανομή
Έκδοση5.3.4 (18 Ιανουάριος 2024)[2]
ΛειτουργικάGNU/Linux, Microsoft Windows, macOS, BSD, Android, iOS
Διαθέσιμο σεΠεριβάλλον: αγγλικά, υποστήριξη αναγνώρισης χαρακτήρων για 100+ γλώσσες
Ανάπτυξη
Υπευθ. ανάπτυξηςΡέυ Σμιθ
Γραμμένο σεC++
ΚατάστασηΕνεργό
Άδεια χρήσηςΆδεια Apache, Έκδοση 2.0
Σύνδεσμοι
Επίσημος ιστότοπος
https://github.com/tesseract-ocr
Αποθετήριο κώδικα
https://github.com/tesseract-ocr/tesseract

Ιστορία Επεξεργασία

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

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

Γενικά χαρακτηριστικά Επεξεργασία

 
Η εμφάνιση των επιλογών της έκδοσης 3.03
 
Ρυθμίσεις του Tesseract εντός του γραφικού περιβάλλοντος OCRFeeder

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

Το λογισμικό εκτελείται σε περιβάλλον τερματικού/κονσόλας και το ίδιο δεν διαθέτει γραφικό περιβάλλον,[11] ωστόσο υπάρχουν άλλα ξεχωριστά εγχειρήματα τα οποία διαθέτουν γραφικό περιβάλλον και χρησιμοποιούν το Tesseract στο υπόβαθρο για τις εργασίες της οπτικής αναγνώρισης.[12][13][14] Η απευθείας χρήση του γίνεται με παροχή παραμέτρων κατά το παρακάτω πρότυπο:

tesseract imagename outputbase [-l lang] [configfile [[+|-]varfile]...]

Ιστορικό εκδόσεων Επεξεργασία

Έκδοση 1.x Επεξεργασία

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

Έκδοση 2.x Επεξεργασία

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

Έκδοση 3.x Επεξεργασία

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

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

Έκδοση 4.x Επεξεργασία

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

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

Παραπομπές Επεξεργασία

  1. 1,0 1,1 Google (2008). «tesseract-ocr». Ανακτήθηκε στις 8 Μαρτίου 2016. 
  2. «Release 5.3.4». 
  3. 3,0 3,1 3,2 Vincent, Luc (Αύγουστος 2006). «Announcing Tesseract OCR». Αρχειοθετήθηκε από το πρωτότυπο στις 26 Οκτωβρίου 2006. Ανακτήθηκε στις 26 Ιουνίου 2008. 
  4. 4,0 4,1 4,2 4,3 4,4 Canonical Ltd. (Φεβρουάριος 2011). «OCR». Ανακτήθηκε στις 11 Φεβρουαρίου 2011. 
  5. «Announcing Tesseract OCR». googlecode.blogspot.co.uk. Ανακτήθηκε στις 6 Απριλίου 2018. 
  6. Willis, Nathan (Σεπτέμβριος 2006). «Google's Tesseract OCR engine is a quantum leap forward». Αρχειοθετήθηκε από το πρωτότυπο στις 21 Φεβρουαρίου 2009. Ανακτήθηκε στις 18 Ιουλίου 2008. 
  7. Rice Stephen V., Frank R. Jenkins, and Thomas A. Nartker The Fourth Annual Test of OCR Accuracy, expervision.com, retrieved 21 Μαΐου 2013
  8. Kay, Anthony (Ιούλιος 2007). «Tesseract: an Open-Source Optical Character Recognition Engine». Linux Journal. http://www.linuxjournal.com/article/9676. Ανακτήθηκε στις 28 Σεπτεμβρίου 2011. 
  9. «FAQ - tesseract-ocr - Frequently Asked Questions - An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. - Google Project Hosting». Code.google.com. Ανακτήθηκε στις 30 Μαΐου 2014. 
  10. «ImproveQuality - tesseract-ocr - Advice on improving the quality of your output. - An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. - Google Project Hosting». Code.google.com. 27 Ιανουαρίου 2014. Ανακτήθηκε στις 30 Μαΐου 2014. 
  11. Google Code – Tesseract Readme
  12. «3rdParty - tesseract-ocr - GUIs and Other Projects using Tesseract OCR». github.com. Ανακτήθηκε στις 30 Μαρτίου 2017. 
  13. Gnome.org (Αύγουστος 2010). «OCRFeeder». Ανακτήθηκε στις 8 Αυγούστου 2010. 
  14. Announcing the OCRopus Open Source OCR System Αρχειοθετήθηκε 2007-04-14 στο Wayback Machine. (Thomas Breuel, OCRopus Project Leader).
  15. «Tesseract». tesseract-ocr.repairfaq.org. Ανακτήθηκε στις 6 Απριλίου 2018. 
  16. Tesseract Project (Φεβρουάριος 2011). «Issue 263: patch to enable hOCR output». Αρχειοθετήθηκε από το πρωτότυπο στις 13 Νοεμβρίου 2012. Ανακτήθηκε στις 26 Φεβρουαρίου 2011. 
  17. «Training LSTM networks on 100 languages and test results» (PDF). Ανακτήθηκε στις 18 Μαρτίου 2018. 
  18. «langdata - Source training data for Tesseract for lots of languages». Ανακτήθηκε στις 6 Νοεμβρίου 2016. 
  19. «tesseract-ocr/tesseract». GitHub (στα Αγγλικά). Ανακτήθηκε στις 6 Απριλίου 2018. 
  20. «tesseract-ocr/tesseract». GitHub (στα Αγγλικά). Ανακτήθηκε στις 6 Απριλίου 2018. 
  21. «tesseract-ocr/docs» (PDF). GitHub (στα Αγγλικά). Ανακτήθηκε στις 6 Απριλίου 2018. 

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