Χωρίς μεταφόρτωση, 100% τοπικά, χωρίς λογαριασμό

Άρθρο

Βελτιώστε την ακρίβεια OCR: διορθώστε την εικόνα πριν αναγνωρίσετε το κείμενο

Το OCR είναι τόσο καλό όσο η εικόνα που του δίνετε. Μια στραβή, χαμηλής αντίθεσης, θορυβώδης σάρωση παράγει ανακατεμένο κείμενο ανεξάρτητα από την ποιότητα του μηχανισμού. Να τι αλλάζει πραγματικά τα αποτελέσματα, με τη σειρά που πρέπει να γίνεται, και όλα εκτελούνται τοπικά στο πρόγραμμα περιήγησής σας.

Γιατί το OCR δυσκολεύεται με πραγματικές σαρώσεις

Ένας μηχανισμός OCR όπως το Tesseract εκπαιδεύτηκε σε καθαρό, οριζόντιο, υψηλής αντίθεσης κείμενο. Χωρίζει μια σελίδα σε γραμμές, τις γραμμές σε λέξεις και τις λέξεις σε σχήματα χαρακτήρων, και μετά αντιστοιχίζει κάθε σχήμα με το εκπαιδευμένο μοντέλο. Οι πραγματικές σαρώσεις σπάνε αυτές τις παραδοχές: η σελίδα είναι γυρισμένη μερικές μοίρες, ο φωτισμός είναι ανομοιόμορφος, η ανάλυση είναι χαμηλή, και η άκρη της βάσης σαρωτή ή η απέναντι σελίδα προσθέτει σκούρο θόρυβο. Κάθε ένα από αυτά τα προβλήματα κάνει το βήμα τμηματοποίησης γραμμών και χαρακτήρων να μαντεύει λάθος, και μια λανθασμένη τμηματοποίηση οδηγεί σε λανθασμένους χαρακτήρες. Η λύση σπάνια είναι ένας διαφορετικός μηχανισμός: είναι η προετοιμασία της εικόνας ώστε οι παραδοχές του μηχανισμού να ισχύουν. Στην πράξη, η προεπεξεργασία βελτιώνει την ακρίβεια περισσότερο από την επιλογή μηχανισμού OCR.

Διάγραμμα αγωγού προεπεξεργασίας OCR: μια σάρωση περνά από τα βήματα προσανατολισμού, διόρθωσης κλίσης, περικοπής και κλίμακας του γκρι πριν φτάσει στη μηχανή αναγνώρισης.

Ξεκινήστε με την ανάλυση: στόχος τα 300 DPI

Το Tesseract λειτουργεί καλύτερα γύρω στα 300 DPI για κανονικό κείμενο. Κάτω από τα 200 DPI περίπου, τα πινέλα κάθε γλυφού θολώνουν και ανακατεύονται με τους γείτονες, και η ακρίβεια πέφτει απότομα. Αν ελέγχετε τη σάρωση, ρυθμίστε τον σαρωτή στα 300 DPI πριν από οτιδήποτε άλλο, γιατί αυτή είναι η μεμονωμένη επιλογή με τη μεγαλύτερη επίδραση. Αν έχετε μόνο εικόνα χαμηλής ανάλυσης, η μεγέθυνσή της δεν δημιουργεί λεπτομέρεια που δεν καταγράφηκε ποτέ, αλλά μια μέτρια μεγέθυνση μπορεί να βοηθήσει τον μηχανισμό να διαχωρίσει χαρακτήρες που αγγίζουν, δίνοντας περισσότερα pixels στην τμηματοποίηση. Το πολύ μικρό γραπτό ωφελείται από 400 έως 600 DPI. πάνω από αυτό απλώς μεγαλώνει το αρχείο χωρίς κέρδος ακρίβειας. Όταν η πηγή είναι PDF, μετατρέψτε πρώτα κάθε σελίδα σε εικόνα στην επιθυμητή τιμή DPI και μετά εκτελέστε OCR σε αυτή την εικόνα.

Διορθώστε τον προσανατολισμό

Αν η σελίδα είναι στραμμένη 90, 180 ή 270 μοίρες, ο μηχανισμός διαβάζει πλαγίως ή ανάποδα και επιστρέφει ανοησίες. Το Tesseract έχει μια φάση ανίχνευσης προσανατολισμού και γραπτού (OSD) που μπορεί να μαντέψει την περιστροφή, αλλά είναι αναξιόπιστη σε αραιό κείμενο, φόρμες ή σελίδες που κυριαρχούν εικόνες. Να περιστρέψετε μόνοι σας τη σελίδα όρθια εξαλείφει τη μαντεψιά. Αυτό το βήμα είναι χωρίς απώλειες και άμεσο: η περιστροφή κατά πολλαπλάσιο των 90 μοιρών απλώς αντιστοιχίζει εκ νέου τα υπάρχοντα pixels σε νέες θέσεις, χωρίς κόστος ποιότητας και χωρίς επαναδειγματοληψία. Κάντε το πριν από τη διόρθωση κλίσης, επειδή εκείνη υποθέτει ότι το κείμενο είναι ήδη περίπου οριζόντιο.

Διόρθωση κλίσης: ισιώστε τη μικρή κλίση

Ακόμα και μια κλίση 2 έως 3 μοιρών, αυτή που προκύπτει από το να βάλετε μια σελίδα ελαφρώς στραβά, βλάπτει το OCR: το βήμα εύρεσης οριζόντιων γραμμών χωρίζει μια γραμμή κειμένου στα δύο ή ενώνει δύο γραμμές σε μία. Η διόρθωση κλίσης μετράει την κυρίαρχη γωνία των γραμμών κειμένου (συνήθως με ανάλυση προβολικού προφίλ ή μετασχηματισμό Hough) και περιστρέφει τη σελίδα ξανά στο επίπεδο. Σε αντίθεση με μια στροφή 90 μοιρών, η διόρθωση κλίσης είναι μια μικρή περιστροφή αυθαίρετης γωνίας, οπότε γίνεται επαναδειγματοληψία των pixels και προστίθεται ένα μικρό ποσό θολώματος. Αυτή η συμφωνία αξίζει σχεδόν πάντα, γιατί οι επίπεδες γραμμές τμηματοποιούνται καθαρά και το κέρδος ακρίβειας ξεπερνά κατά πολύ τη μικρή μαλάκωση. Διορθώστε την κλίση αφού διορθώσετε τον προσανατολισμό και πριν την περικοπή.

Πριν και μετά τη διόρθωση κλίσης: μια σελίδα κειμένου κεκλιμένη κατά μερικές μοίρες αριστερά, ισιωμένη οριζόντια δεξιά έτσι ώστε οι γραμμές να είναι οριζόντιες.

Περικόψτε στο κείμενο και αφαιρέστε τον θόρυβο

Οτιδήποτε δεν είναι το κείμενο που θέλετε είναι θόρυβος που ο μηχανισμός μπορεί να διαβάσει λάθος: το σκούρο περίγραμμα της βάσης σαρωτή, ένα μέρος της απέναντι σελίδας, μια γωνία με συρραπτικό, ένα δάχτυλο ή μια τρύπα διάτρησης. Η περικοπή στο τμήμα κειμένου αφαιρεί αυτούς τους ψευδείς στόχους, που τόσο βελτιώνει την ακρίβεια όσο και επιταχύνει την αναγνώριση, γιατί ο μηχανισμός έχει λιγότερη περιοχή να αναλύσει. Για ένα έγγραφο πολλών στηλών, η περικοπή (ή η εκτέλεση OCR σε μία στήλη κάθε φορά) αποτρέπει επίσης τον μηχανισμό από το να διαβάζει κατευθείαν πέρα από τον κεντρικό χώρο και να παρεμβάλλει δύο στήλες σε μία ανακατεμένη γραμμή. Περικόψτε μετά τη διόρθωση κλίσης, ώστε το περιεχόμενο να κάθεται τετράγωνο στο πλαίσιο.

Αντίθεση, κλίμακα του γκρι και πώς λειτουργεί πραγματικά η δυαδοποίηση

Το OCR τελικά λειτουργεί σε δυαδική εικόνα: κάθε pixel αποφασίζεται να είναι μελάνι ή χαρτί. Το Tesseract το κάνει αυτό εσωτερικά χρησιμοποιώντας τη μέθοδο Otsu, που επιλέγει ένα μεμονωμένο καθολικό κατώφλι από το ιστόγραμμα της εικόνας. Αυτό λειτουργεί καλά όταν η σελίδα έχει ομοιόμορφο φωτισμό και καλή αντίθεση, και αποτυγχάνει όταν μια σκιά ή ένα χρωματιστό φόντο κάνει μια γωνία πιο σκούρα από ό,τι αναμένει το κατώφλι. Οι αξιόπιστες βελτιώσεις είναι η μετατροπή σε κλίμακα του γκρι, ώστε μια χρωματική απόκλιση να μην μπερδεύει το κατώφλι, και η εξισορρόπηση του φωτισμού ώστε ολόκληρη η σελίδα να βρίσκεται στη μία πλευρά του. Η μέτρια ενίσχυση αντίθεσης βοηθά το αχνό κείμενο. Αυτό που συνήθως αποτυγχάνει είναι η σκληρή χειροκίνητη δυαδοποίηση: αν ορίσετε μόνοι σας κατώφλι σε καθαρό μαύρο και άσπρο με τη λάθος τιμή αποκοπής, σβήνετε αχνά πινέλα που η ίδια φάση του μηχανισμού θα είχε διατηρήσει. Αφήστε τον μηχανισμό να κάνει τη δυαδοποίηση, και δώστε του μια ομοιόμορφη εικόνα σε κλίμακα του γκρι για να ξεκινήσει. Το Sunasty προσφέρει μετατροπή σε κλίμακα του γκρι για PDF. για λεπτή ρύθμιση αντίθεσης ένας επιφανειακός επεξεργαστής εξακολουθεί να είναι καλύτερος, αλλά ο ομοιόμορφος φωτισμός κατά τη σάρωση έχει μεγαλύτερη σημασία από οποιοδήποτε ρυθμιστικό.

Επιλέξτε τη σωστή γλώσσα και επαληθεύστε τα αποτελέσματα

Το Tesseract φορτώνει ένα ξεχωριστό αρχείο εκπαιδευμένων δεδομένων για κάθε γλώσσα και γραπτό. Η εκτέλεση ενός αγγλικού μοντέλου σε γαλλικό ή ελληνικό κείμενο παράγει αποφεύξιμα σφάλματα, ιδίως σε τονισμένους ή μη λατινικούς χαρακτήρες, οπότε επιλέξτε τη γλώσσα που ταιριάζει με το έγγραφο. Τέλος, αντιμετωπίστε τα αποτελέσματα OCR ως πρόχειρο, όχι ως τελική απάντηση: ο μηχανισμός δεν έχει τρόπο να ξέρει ότι ένα όνομα γράφεται σωστά ή ότι ένα 0 δεν είναι Ο. Διορθώστε αριθμούς, κύρια ονόματα και οτιδήποτε έχει νομική ή οικονομική σημασία. Για πίνακες και διατάξεις πολλών στηλών, αναμένετε να διορθώσετε τη δομή χειροκίνητα, γιατί το OCR επιστρέφει μια ροή αναγνωρισμένου κειμένου, όχι μια ανακατασκευασμένη διάταξη.

Εργαλεία αυτού του άρθρου

Συχνές ερωτήσεις

Βοηθά η μεγέθυνση μιας θολής σάρωσης στο OCR;

Όχι πολύ από μόνη της. Η μεγέθυνση δεν μπορεί να ανακτήσει λεπτομέρεια που η σάρωση δεν κατέγραψε ποτέ, οπότε μια θολή εικόνα 100 DPI παραμένει θολή. Μια μέτρια μεγέθυνση μπορεί να βοηθήσει τον μηχανισμό να διαχωρίσει χαρακτήρες που αγγίζουν, δίνοντας περισσότερα pixels στην τμηματοποίηση, αλλά η νέα σάρωση στα 300 DPI είναι πολύ πιο αποτελεσματική από οποιοδήποτε ποσό μεγέθυνσης.

Πρέπει να μετατρέψω πρώτα την εικόνα σε καθαρό μαύρο και άσπρο;

Συνήθως όχι. Το Tesseract κάνει δυαδοποίηση εσωτερικά με τη μέθοδο Otsu, και ένα χειροκίνητο σκληρό κατώφλι με τη λάθος τιμή αποκοπής σβήνει αχνά πινέλα που ο μηχανισμός θα είχε διατηρήσει. Μετατρέψτε σε κλίμακα του γκρι και εξισορροπήστε τον φωτισμό, και μετά αφήστε τον μηχανισμό να επιλέξει το δικό του κατώφλι.

Το κείμενό μου είναι πλαγίως. Θα το περιστρέψει αυτόματα το OCR;

Μερικές φορές. Το Tesseract έχει φάση ανίχνευσης προσανατολισμού, αλλά είναι αναξιόπιστη σε φόρμες, αραιό κείμενο ή σελίδες με πολλές εικόνες. Να περιστρέψετε μόνοι σας τη σελίδα 90, 180 ή 270 μοίρες είναι χωρίς απώλειες και εξαλείφει τη μαντεψιά, οπότε είναι η πιο ασφαλής επιλογή.

Ανεβαίνει το έγγραφό μου κάπου με αυτές τις ενέργειες;

Όχι. Η περιστροφή, η διόρθωση κλίσης, η περικοπή, η μετατροπή σε κλίμακα του γκρι και το ίδιο το OCR εκτελούνται όλα στο πρόγραμμα περιήγησής σας. Το OCR χρησιμοποιεί μια έκδοση WebAssembly του Tesseract, και τα εκπαιδευμένα δεδομένα γλώσσας λαμβάνονται μία φορά και αποθηκεύονται στην κρυφή μνήμη. Το αρχείο σας δεν φεύγει ποτέ από τη συσκευή.

Πηγές