Problemy z OCR skanów faktur: jak AI radzi sobie z niską jakością, pieczątkami i pismem ręcznym

Tablixa Blog · 2026-05-07

Problemy z OCR skanów faktur: jak AI radzi sobie z niską jakością, pieczątkami i pismem ręcznym

Nie każda faktura trafia do systemu jako piękny plik PDF wygenerowany komputerowo. Codzienność biura rachunkowego to skany z telefonu, wyblakłe xero, pieczątki zakrywające połowę tabeli i faktury wypisane odręcznie. Jak nowoczesny AI OCR radzi sobie z takimi wyzwaniami?

Typowe problemy z jakością skanów faktur 🌫 Niska rozdzielczość Skan <150 DPI Rozwiązanie: preprocessing + super-resolution AI 🔴 Pieczątka / stempel Zakrywa tekst pod spodem Rozwiązanie: kontekst sąsiednich pól + walidacja sumy Przekrzywiony skan Strona obrócona o kąt Rozwiązanie: automatyczny deskew przed OCR Pismo ręczne Formularz wypełniony ręcznie Rozwiązanie: ICR (handwriting recognition) + weryfikacja Skuteczność automatycznej konwersji wg jakości dokumentu PDF tekstowy 99% Dobry skan ≥300 DPI 92% Skan 150–300 DPI 76% Skan <150 DPI / ręczny 50%

Problem 1: Niska rozdzielczość i rozmyte skany

Skąd problem?

Pracownicy coraz częściej skanują faktury smartfonem. Zdjęcie w słabym oświetleniu, drżąca ręka, zbyt mała odległość – efekt to rozmyty obraz, gdzie cyfry „3" i „8" wyglądają identycznie.

Minimum dla skutecznego OCR to 150 DPI. Optymalnie – 300 DPI.

Jak AI sobie radzi?

Nowoczesne pipeline'y preprocessing wykonują przed OCR:

  1. Zwiększenie kontrastu – wyrównanie histogramu, uwydatnienie krawędzi liter
  2. Denoising – algorytmy usuwania szumów (Gaussian blur, median filter)
  3. Super-resolution – modele AI (jak ESRGAN) mogą zwiększyć efektywną rozdzielczość 2–4×
  4. Binaryzacja adaptacyjna – lokalne progi dla każdego obszaru strony

Po preprocessingu skan 100 DPI może osiągnąć skuteczność zbliżoną do 150–200 DPI.

Praktyczna granica

Poniżej ~80 DPI nawet najlepsza AI ma problem. Gdy system sygnalizuje niską jakość skanu, najlepszym rozwiązaniem jest po prostu zrobić ponowne zdjęcie w lepszym świetle.

Wskazówki dla pracowników:

  • Połóż fakturę na płaskiej powierzchni
  • Sfotografuj z góry, prostopadle (nie pod kątem)
  • Zapewnij dobre, równomierne oświetlenie
  • Nie używaj flasha bezpośrednio na dokument

Problem 2: Pieczątki i stemple

Skąd problem?

Czerwona lub niebieska pieczątka „ZAPŁACONO" lub stempel firmowy często ląduje dokładnie na tabelce z kwotami. To jeden z najtrudniejszych problemów dla klasycznego OCR – tekst pod pieczątką jest fizycznie zasłonięty.

Jak AI sobie radzi?

Podejścia stosowane przez zaawansowane systemy:

Separacja kolorów – pieczątka jest zwykle jednokolorowa (czerwona/niebieska), a tekst faktury czarny. Filtr kolorystyczny może „usunąć" warstwę pieczątki, odsłaniając tekst pod nią. Skuteczność: ~70–80%.

Wnioskowanie z kontekstu – nawet jeśli kwota jest zakryta, AI może ją odtworzyć z innych danych:

  • Suma pozycji z tabeli = kwota netto
  • kwota netto × stawka VAT = kwota podatku
  • netto + VAT = brutto

Jeśli widoczna jest tylko jedna z trzech kwot, pozostałe można wyliczyć. System Tablixa robi to automatycznie.

Sygnalizacja niepewności – gdy pieczątka zakrywa kluczowe pole i żadna metoda nie daje pewnego wyniku, system oznacza pole jako „wymaga weryfikacji" z niskim współczynnikiem pewności.

Problem 3: Przekrzywione skany

Skąd problem?

Dokument włożony krzywo do skanera, albo zdjęcie zrobione pod kątem. Tekst biegnie ukośnie zamiast poziomo.

Klasyczny OCR zakłada poziomy tekst. Przy odchyleniu powyżej ~5° dokładność drastycznie spada.

Rozwiązanie: Automatyczny deskew

Każdy nowoczesny pipeline OCR wykonuje automatyczną detekcję i korekcję pochylenia zanim uruchomi właściwe rozpoznawanie:

  1. Wykrywanie linii tekstu (algorytm Hougha lub Deep Learning)
  2. Obliczenie kąta odchylenia
  3. Rotacja obrazu do poziomu
  4. OCR na wyprostowanym obrazie

Dla odchyleń do ±45° działa niezawodnie. Przy odbiciu lustrzanym lub rotacji o 180° system też sobie radzi.

Dodatkowy krok: Jeśli faktura jest zdjęciem strony z książki lub zeszytu (wypukła), preprocessing stosuje korekcję perspektywy (prostowanie zakrzywionych linii).

Problem 4: Pismo ręczne i formularze wypełniane odręcznie

Skąd problem?

Małe firmy, rzemieślnicy, taksówkarze – część podatników wciąż wystawia faktury na formularzach papierowych wypełnianych długopisem. Te dokumenty są często skanowane i przesyłane jako PDF.

ICR: Intelligent Character Recognition

Rozpoznawanie pisma ręcznego to osobna dziedzina (ICR – Intelligent Character Recognition). W odróżnieniu od OCR operującego na drukowanych czcionkach, ICR musi radzić sobie z:

  • Różnymi stylami pisma
  • Ligaturami i łączonymi literami
  • Zmienną grubością linii
  • Cyfry: szczególnie problematyczne pary to 1/7, 0/6/9, 3/8

Skuteczność ICR dla ustrukturyzowanych pól (rubryki formularza z ograniczoną przestrzenią):

  • Cyfry w oddzielnych polach: ~95%
  • Tekst opisowy: ~80–90%
  • Całkowicie dowolne pismo odręczne: ~60–75%

Praktyczne ograniczenie

Dla odręcznych faktur poza standardowymi formularzami AI OCR sygnalizuje niski poziom pewności i prosi o weryfikację. Jest to uczciwe zachowanie – lepsze niż cicha wygenerowanie błędnych danych.

Problem 5: Faktury wielostronicowe i załączniki

Skąd problem?

Faktura na 5 stron ze specyfikacją 30 pozycji, do której dołączono dokument WZ. System musi zidentyfikować, które strony zawierają fakturę, a które są załącznikami.

Jak AI sobie radzi?

Klasyfikacja stron – model AI rozpoznaje typ dokumentu na każdej stronie:

  • Strona tytułowa faktury (zawiera Podmiot1, Podmiot2, numery)
  • Strona z pozycjami (tabela linii)
  • Strona podsumowania (kwoty łączne, podpis)
  • Załącznik (specyfikacja, WZ, protokół)

Scalanie danych – po przetworzeniu wszystkich stron system scala dane:

  • Nagłówek z pierwszej strony
  • Wszystkie pozycje ze stron środkowych
  • Kwoty podsumowania z ostatniej strony faktury

Problem 6: Faktury w niestandardowych językach i walutach

Faktury zagraniczne

Polska firma importująca towary z Niemiec, Czech lub Francji regularnie przetwarza faktury w języku obcym. Pola mają inne nazwy:

PLDEENCZ
NIPSteuernummerVAT numberDIČ
Razem bruttoGesamtbetragTotalCelkem
Data wystawieniaRechnungsdatumInvoice dateDatum

Model AI Tablixa jest trenowany na fakturach wielojęzycznych i rozumie te odpowiedniki.

Waluty: Faktury EUR, USD, GBP są przetwarzane z zachowaniem oryginalnej waluty. Przy konwersji do KSeF FA(3) użytkownik podaje kurs NBP dla przeliczenia na PLN.

Kiedy OCR definitywnie nie wystarczy?

Istnieją przypadki, gdzie automatyczna konwersja nie jest możliwa i konieczna jest ręczna interwencja:

  1. Faktura jest całkowicie nieczytelna – zalany tuszem, zniszczony dokument
  2. Brak kluczowych danych – NIP dostawcy nie istnieje na dokumencie
  3. Dokument jest plikiem audio/wideo – zapis faktury ustnej (rzadkie, ale się zdarza)
  4. Skan odwrócony lub lustrzany – preprocessing nie pomógł

W każdym z tych przypadków system Tablixa:

  • Wyraźnie komunikuje problem
  • Wskazuje, które pole wymaga uzupełnienia
  • Pozwala na ręczne wprowadzenie wartości i wygenerowanie XML

Podsumowanie

Problemy jakościowe skanów faktur to nie powód do rezygnacji z automatyzacji – to wyzwania, z którymi nowoczesne AI OCR radzi sobie coraz lepiej. Niska rozdzielczość, pieczątki, krzywe skany, a nawet pismo ręczne mają swoje rozwiązania w arsenale nowoczesnych algorytmów. Kluczem jest uczciwa komunikacja systemu o pewności wyników – zamiast generowania błędnych danych, dobry system AI sygnalizuje, co wymaga weryfikacji przez człowieka.