Hoewel Optical Character Recognition (OCR) de laatste jaren sterk is verbeterd, is het nog steeds niet perfect en dat zal het ook nooit worden. Met name de nauwkeurigheid van de meeste OCR-oplossingen kan de 100% simpelweg niet bereiken.
Wil de OCR-oplossing nauwkeurige resultaten opleveren, dan is de kwaliteit van de bronafbeelding een van de belangrijkste variabelen. Het probleem is dat de kwaliteit van de invoerafbeelding die naar de OCR-engine wordt gestuurd, vaak niet optimaal is voor een hoge OCR-nauwkeurigheid. Dit kan te wijten zijn aan slechte opnamepraktijken of andere omstandigheden, zoals een trillende camera of slechte verlichting.
Met deze blog willen we je helpen veelvoorkomende fouten bij het vastleggen van gegevens te voorkomen. Eerst geven we een korte samenvatting over hoe OCR werkt, leggen we uit hoe OCR-nauwkeurigheid wordt gedefinieerd en laten we voorbeelden zien van onjuiste beeldopname. Daarna verduidelijken we hoe de nauwkeurigheid van OCR kan worden verbeterd.
Laten we meteen beginnen!
Korte samenvatting: Hoe werkt OCR?
De laatste jaren maken steeds meer bedrijven gebruik van OCR-software om werkstromen en processen te automatiseren. Aangezien OCR in staat is tekst te herkennen, de informatie te extraheren en om te zetten in machinaal leesbare gegevens, is handmatige data extractie en invoer niet meer nodig.
Maar hoe werkt dit? OCR kan een afbeelding omzetten in tekst door naar elke afzonderlijke vorm van een teken te kijken en deze om te zetten in de dichtstbijzijnde overeenkomstige letter. Als volgende stap wordt de informatie geëxtraheerd en opgeslagen in de database van een bedrijf. Dan zijn de gegevens klaar om te worden gebruikt voor volgende bedrijfsprocessen.
In het algemeen stelt de conversie van afbeeldingen naar tekst bedrijven in staat informatie sneller te raadplegen en te vinden, omdat deze doorzoekbaar wordt gemaakt.
Helaas is één van de grootste uitdagingen voor een OCR-engine het uitlezen van informatie en het nauwkeurig extraheren van gegevens. Om ervoor te zorgen dat de OCR-engine ons nauwkeurige gegevens geeft, kunnen we hem een beetje helpen.
Maar wat bedoelen we met nauwkeurige gegevens? Om ons allemaal op één lijn te krijgen, zullen we hieronder snel een definitie geven van OCR-nauwkeurigheid.
Je OCR-nauwkeurigheid definiëren
Er zijn twee manieren om te definiëren wat een betrouwbare OCR oplossing is:
- Nauwkeurigheid op karakter-niveau
- Nauwkeurigheid op woord-niveau
Nauwkeurigheid per teken
Meestal wordt de nauwkeurigheid van een OCR-engine bepaald door het tekenniveau. Hoe nauwkeurig een OCR is, wordt gemeten aan de hand van hoe vaak een teken correct en hoe vaak een teken foutief wordt herkend.
In theorie is het meten van de OCR-nauwkeurigheid vrij eenvoudig. Je vergelijkt gewoon de uitvoer van de OCR met de originele tekst. Dan kun je tellen hoeveel tekens de OCR juist heeft – nauwkeurigheid op tekenniveau – of hoeveel woorden de OCR juist heeft gedetecteerd – nauwkeurigheid op woordniveau. Dat klinkt logisch, toch?
Nauwkeurigheid per woord
Om de nauwkeurigheid op woordniveau te verbeteren, maken OCR-engines gebruik van extra kennis, zoals een woordenboek of een woordenbibliotheek. Op die manier kan een onzeker woord worden “gefixeerd” op een woord met de grootste overeenkomst. Nou betekent dat niet dat de OCR het woord juist heeft.
Daarom is het zo belangrijk de OCR-engine te voorzien van de hoogst mogelijke beeldkwaliteit. Vraag je je af of je beeldkwaliteit hoog genoeg is? Laten we eens kijken naar enkele voorbeelden die de verschillende omstandigheden voor het maken van foto’s illustreren.
Voorbeelden van lage OCR-nauwkeurigheid
Zoals beloofd, willen we je helpen om veelvoorkomende fouten bij het vastleggen van gegevens te voorkomen. Daarom hebben we hieronder de volgende voorbeelden toegevoegd:
Voorbeeld 1
In een snelle omgeving kan het verleidelijk zijn om zo snel mogelijk een foto van het etiket te maken, terwijl je de trap oploopt bijvoorbeeld. Helaas kan dit leiden tot beelden van slechte kwaliteit, die het voor de OCR-oplossing moeilijk maken om nauwkeurig gegevens te extraheren.
Als alternatief moet de verpakking op een plat oppervlak worden gelegd om een kwalitatieve foto te maken, wat de OCR-engine helpt om beter te presteren.
Voorbeeld 2
We kennen het allemaal, eenmaal in een zak of tas gegooid is een bonnetje in helemaal verfrommeld. Als je er dan een foto van wilt maken, is de kans groot dat OCR de informatie niet nauwkeurig kan uitlezen.
In plaats daarvan is het raadzaam het bonnetje zo goed mogelijk recht te trekken, het op een tafel te leggen en dan te fotograferen. De OCR-extractie zal hierdoor veel nauwkeuriger zijn.
Met deze voorbeelden in het achterhoofd willen we vier verschillende manieren bespreken waarop de OCR-nauwkeurigheid kan worden verbeterd.
Manieren om je OCR-nauwkeurigheid te verbeteren
Laten we een logistiek bedrijf als voorbeeld nemen. Het personeel ervaart vaak een zeer snelle omgeving waarin het maken van beelden van hoge kwaliteit een uitdaging is. Werknemers kunnen zich niet concentreren op de kwaliteit van de afbeelding omdat ze onderweg snel een foto moeten nemen.
Dit resulteert in uitdagingen voor OCR om de tekst te herkennen en de nodige informatie voor te lezen. Onnauwkeurige gegevensuitvoer is het gevolg, waardoor het uiterst moeilijk wordt om de informatie in verdere bedrijfsprocessen te gebruiken. In het ergste geval kunnen bedrijven veel geld verliezen door onnauwkeurige gegevens.
Maar er zijn verschillende manieren om de OCR-nauwkeurigheid te verbeteren zonder veel extra inspanning voor werknemers. Deze manieren zijn:
- Verbeterde kwaliteit van de bronafbeelding
- Foto’s genomen in een gecontroleerde omgeving
- Live feedback voor de gebruiker
- OCR-oplossing die “bounding boxes” tekent om het vastgelegde gebied aan te geven
Laten we elk punt eens afzonderlijk bekijken.
1. Verbeterde kwaliteit van de afbeelding
Dit ligt voor de hand. Als de kwaliteit van de oorspronkelijke bronafbeelding wordt verbeterd, zal de nauwkeurigheid van de OCR aanzienlijk toenemen. Je kunt je afvragen hoe je weet of de beeldkwaliteit hoog genoeg is.
Dit is vrij eenvoudig te testen. Als een menselijk oog het bronbeeld duidelijk kan zien, is het mogelijk goede OCR-resultaten te behalen. Een goede indicator is de tekenhoogte. Het is raadzaam de tekenhoogte niet onder de 20 pixels te laten zakken, omdat het anders moeilijk wordt om woorden en tekens te herkennen.
Let wel op, hoe hoger de kwaliteit van de originele afbeelding, hoe gemakkelijker het is om tekens van de achtergrond te onderscheiden, en hoe hoger de nauwkeurigheid dus wordt.
2. Foto’s nemen in een gecontroleerde omgeving
Een andere manier om de OCR-nauwkeurigheid te verbeteren is de foto te nemen in een “gecontroleerde” omgeving. Dit betekent dat het belangrijk is om bijvoorbeeld te donkere omstandigheden, zoals een foto genomen in een donkere kamer of ‘s nachts, en ongelijke oppervlakken te vermijden. Ook een erg rommelige omgeving en een vergelijkbare kleur van de achtergrond en de afbeelding kunnen leiden tot problemen en een lage nauwkeurigheid.
In plaats daarvan is het zinvol een foto te maken van een document op een vlakke ondergrond, zoals een afleveringsbon op de grond van een magazijn.
3. Live feedback op het gebruik
Om ervoor te zorgen dat werknemers een foto van hoge kwaliteit kunnen maken en zo een hoge OCR-nauwkeurigheid kunnen bereiken, is het raadzaam gebruik te maken van een OCR-gestuurde oplossing die gebruik maakt van live gebruikersfeedback.
Met live gebruikersfeedback worden gebruikers meteen gewaarschuwd wanneer de omstandigheden voor het maken van de foto niet goed genoeg zijn en krijgen ze de kans om de foto opnieuw te maken. Bovendien leidt de live feedback de gebruiker door het opnameproces, zodat fouten tot een minimum worden beperkt.
Deze gebruikersfeedback kan er als volgt uitzien:
- “Ga dichter bij het document staan”
- “Te veel beweging”
- “Omstandigheden te donker”
4. OCR-oplossing die “bounding boxes” rond het data capture gebied
Sommige OCR-oplossingen, zoals de Klippa Document Scanning SDK, tekenen “bounding boxes” waaraan het document moet worden aangepast. Dit zorgt voor de juiste opnamehoek en -afstand.
Zodra de foto is genomen, zoekt de OCR-engine automatisch naar fouten en corrigeert problemen. Dit kan bijvoorbeeld betekenen dat een foto scheef wordt getrokken of dat de ruis van een foto wordt verminderd door de intensiteitswaarde van de pixels aan te passen aan de gemiddelde waarden van de omringende pixels om de beeldkwaliteit te verbeteren.
Wanneer de tekst van de afbeelding wordt geëxtraheerd, kan met behulp van Natural Language Processing (NLP) de nauwkeurigheid van de data extractie nog worden verbeterd. Dit wordt nabewerking van de uitvoer genoemd, waarbij de geëxtraheerde gegevens worden vergeleken met een bibliotheek van tekens. Grammaticacontroles worden uitgevoerd en contextuele overwegingen worden aangevuld om tot het meest optimale resultaat te komen.
Wil je werken met een OCR-oplossing die je al het bovenstaande kan bieden? Nou, met Klippa is dat mogelijk! Laat ons je overtuigen van onze oplossing door je te laten zien wat wij bieden.
Klippa als een vertrouwde en accurate OCR-oplossingen
De oplossing van Klippa biedt niet alleen live gebruikersfeedback en handige “bounding boxes” die de beeldgrootte aangeven. Met onze camera-SDK kunnen medewerkers onderweg afbeeldingen scannen en foto’s maken. In het algemeen heeft het gebruik van een SDK in dit geval een groot voordeel, omdat deze eenvoudig in je eigen applicatie kan worden geïntegreerd.
Onze Document Scanning SDK biedt zeven functionaliteiten die het bereiken van een hoge OCR-nauwkeurigheid een stuk eenvoudiger maken. Deze functionaliteiten zijn:
- Realtime gebruikersfeedback – Onze SDK geeft real-time feedback om gebruikers te begeleiden bij het nemen van een foto, bijvoorbeeld: “Ga dichter bij het document staan”, “Houd de camera stil” en “Omstandigheden te donker”.
- Automatisch vastleggen – Automatisch vastleggen maakt het scannen van documenten een stuk eenvoudiger. Gebruikers hoeven niet op de knop te drukken om een beeld vast te leggen. Ze kunnen gewoon het document voor de camera plaatsen en de Klippa SDK zal automatisch het document herkennen en de foto voor je maken.
- Bijsnijden – Onze scan SDK herkent de randen van het document en snijdt het automatisch bij. Dankzij deze functie wordt het proces van het verkrijgen van een schone en hoge kwaliteit afbeelding veel handiger. Bovendien is handmatig bijsnijden ook mogelijk om de afbeelding naar wens bij te snijden.
- Verlichting aanpassen – Als een gebruiker zich in een donkere omgeving bevindt en geen goede lichtbron in de buurt heeft, kunnen gebruikers de flitser inschakelen via de flitsregeling. Zo krijg je een zo helder mogelijk beeld.
- Beeldverbetering – De kwaliteit van het document wordt verbeterd door de beeldverwerkingsfuncties van onze camera SDK om de best mogelijke beeldkwaliteit te garanderen.
- Scannen van enkelvoudige en meervoudige documenten – Het is mogelijk om snel meerdere documenten te scannen en deze te groeperen voor een snel en efficiënt proces.
- Anonimisering – Om te voldoen aan de GDPR mag sommige informatie niet worden opgeslagen in databases. Daarom bieden wij de mogelijkheid om gegevens automatisch te maskeren.
In de video zie je hoe deze zeven functionaliteiten er in actie uitzien.
Om het succes van je bedrijf te maximaliseren, zijn we bovendien in staat om oplossingen op maat te ontwikkelen. Omdat we gebruik maken van Machine Learning en Artificial Intelligence (AI), zijn we niet afhankelijk van sjablonen. Daardoor kan OCR een uitvoer met een hogere nauwkeurigheid produceren. Het betekent ook dat we onze OCR kunnen trainen om elk gewenst document uit te lezen.
Bovendien kunnen we door het gebruik van Machine Learning en AI onze oplossing voortdurend trainen, zodat we vanaf het begin aan jouw behoeften kunnen voldoen.
Zoals je ziet, is het met Klippa’s uitgebreide functies voor beeldverbetering eenvoudig om betrouwbare en nauwkeurige OCR-uitvoer te ontvangen. Wil je er ook voor zorgen dat je medewerkers kunnen werken met een betrouwbare en nauwkeurige OCR-oplossing?
Laat ons zien wat we voor jou kunnen doen. Boek hieronder een gratis demo of neem contact op met een van onze experts.