Analiza układu dokumentu
W wizji komputerowej lub przetwarzaniu języka naturalnego analiza układu dokumentu to proces identyfikowania i kategoryzowania obszarów zainteresowania na zeskanowanym obrazie dokumentu tekstowego. System czytania wymaga oddzielenia stref tekstowych od nietekstowych i ułożenia ich we właściwej kolejności czytania. Wykrywanie i etykietowanie różnych stref (lub bloków) jako tekstu , ilustracji , symboli matematycznych i tabel osadzonych w dokumencie nazywa się analizą układu geometrycznego . Jednak strefy tekstowe pełnią różne role logiczne w dokumencie (tytuły, podpisy, przypisy itp.) i tego rodzaju etykietowanie semantyczne jest przedmiotem analizy układu logicznego .
Analiza układu dokumentu to połączenie etykietowania geometrycznego i logicznego. Jest zwykle wykonywany przed wysłaniem obrazu dokumentu do OCR , ale może być również używany do wykrywania duplikatów tego samego dokumentu w dużych archiwach lub do indeksowania dokumentów według ich struktury lub zawartości graficznej.
Układ dokumentu jest formalnie zdefiniowany w międzynarodowej normie ISO 8613-1:1989 .
Przegląd metod
Istnieją dwa główne podejścia do analizy układu dokumentu. Po pierwsze, istnieją oddolne , które iteracyjnie analizują dokument na podstawie nieprzetworzonych danych pikselowych. Podejścia te zazwyczaj najpierw dzielą dokument na połączone obszary czerni i bieli, następnie regiony te są grupowane w słowa, następnie w wiersze tekstu, a na koniec w bloki tekstu. Po drugie, istnieją odgórne , które próbują iteracyjnie podzielić dokument na kolumny i bloki na podstawie białych znaków i informacji geometrycznych.
Podejścia oddolne są podejściami tradycyjnymi i mają tę zaletę, że nie wymagają żadnych założeń dotyczących ogólnej struktury dokumentu. Z drugiej strony podejścia oddolne wymagają iteracyjnej segmentacji i grupowania, co może być czasochłonne. Podejścia odgórne są nowsze i mają tę zaletę, że bezpośrednio analizują globalną strukturę dokumentu, eliminując w ten sposób potrzebę iteracyjnego grupowania setek, a nawet tysięcy znaków/symboli, które pojawiają się w dokumencie. Zwykle są szybsze, ale aby działały niezawodnie, zwykle wymagają przyjęcia szeregu założeń dotyczących układu dokumentu. Istnieją dwa problemy wspólne dla każdego podejścia do analizy układu dokumentu: szum i przekrzywienie. Szum odnosi się do szumu obrazu, takiego jak szum soli i pieprzu lub szum gaussowski . Pochylenie odnosi się do faktu, że obraz dokumentu może zostać obrócony w taki sposób, że linie tekstu nie będą idealnie poziome. Powszechnym założeniem zarówno w algorytmach analizy układu dokumentu, jak i optycznego rozpoznawania znaków jest to, że znaki na obrazie dokumentu są zorientowane w taki sposób, że linie tekstu są poziome. Dlatego, jeśli występuje przekrzywienie, ważne jest, aby obrócić obraz dokumentu, aby go usunąć.
Wynika z tego, że pierwszym krokiem w każdym kodzie analizy układu dokumentu jest usunięcie szumu obrazu i oszacowanie kąta pochylenia dokumentu.
Przykład podejścia oddolnego
W tej sekcji przejdziemy przez kolejne etapy algorytmu analizy układu dokumentu od dołu do góry, opracowanego w 1993 roku przez O`Gormana. Kroki w tym podejściu są następujące:
- Wstępnie przetwórz obraz, aby usunąć szum gaussowski i szum z pieprzem. Należy pamiętać, że niektóre filtry usuwające szumy mogą traktować przecinki i kropki jako szum, dlatego należy zachować ostrożność.
- Konwertuj obraz na obraz binarny , tj. konwertuj wartość każdego piksela na całkowicie biały lub całkowicie czarny.
- Segmentuj obraz na połączone elementy czarnych pikseli. To są symbole obrazu. Dla każdego symbolu oblicz obwiednię i środek ciężkości.
- Dla każdego symbolu określ jego k najbliższych sąsiadów , gdzie k jest liczbą całkowitą większą lub równą cztery. O`Gorman sugeruje w swoim artykule k=5 jako dobry kompromis między wytrzymałością a szybkością. Powodem użycia co najmniej k=4 jest to, że dla symbolu w dokumencie dwa lub trzy najbliższe symbole to te znajdujące się tuż obok niego w tej samej linii tekstu. Czwarty najbliższy symbol znajduje się zazwyczaj na linii tuż powyżej lub poniżej i ważne jest, aby uwzględnić te symbole w obliczeniach najbliższego sąsiada w następujących przypadkach.
- Każda najbliższa sąsiadująca para symboli jest powiązana wektorem wskazującym od środka ciężkości jednego symbolu do środka ciężkości drugiego symbolu. Jeśli te wektory zostaną wykreślone dla każdej pary symboli najbliższego sąsiada, otrzymamy tak zwane docstrum dla dokumentu (patrz rysunek poniżej). Można również użyć kąta Θ od poziomu i odległości D między dwoma najbliższymi symbolami sąsiadów i utworzyć histogram kąta najbliższego sąsiada i odległości najbliższego sąsiada.
- Korzystając z histogramu kąta najbliższego sąsiada, można obliczyć pochylenie dokumentu. Jeśli pochylenie jest akceptowalnie niskie, przejdź do następnego kroku. Jeśli tak nie jest, obróć obraz, aby usunąć przekrzywienie i wróć do kroku 3.
- Histogram odległości najbliższego sąsiada ma kilka pików, a piki te zazwyczaj reprezentują odstępy między znakami, odstępy między słowami i odstępy między wierszami. Oblicz te wartości z histogramu i odłóż je na bok.
- Dla każdego symbolu spójrz na jego najbliższych sąsiadów i zaznacz dowolne z nich, które znajdują się w odległości mieszczącej się w pewnej tolerancji odległości między znakami lub odległości między słowami. Dla każdego oznaczonego symbolu najbliższego sąsiada narysuj odcinek łączący ich środki ciężkości.
- Symbole połączone ze swoimi sąsiadami segmentami linii tworzą linie tekstu . Używając wszystkich centroidów w linii tekstu, można obliczyć rzeczywisty odcinek linii reprezentujący linię tekstu z regresją liniową. Jest to ważne, ponieważ jest mało prawdopodobne, aby wszystkie środki ciężkości symboli w wierszu tekstu były faktycznie współliniowe.
- Dla każdej pary linii tekstu można obliczyć minimalną odległość między odpowiadającymi im segmentami linii. Jeśli ta odległość mieści się w pewnej tolerancji odstępu między wierszami obliczonego w kroku 7, wówczas dwa wiersze tekstu są grupowane w ten sam blok tekstu .
- Na koniec można obliczyć ramkę ograniczającą dla każdego bloku tekstu, a analiza układu dokumentu jest zakończona.
Oprogramowanie do analizy układu
- OCRopus – darmowy system analizy układu dokumentu i OCR, zaimplementowany w C++ i Pythonie oraz dla FreeBSD, Linux i Mac OS X. To oprogramowanie obsługuje architekturę wtyczek, która pozwala użytkownikowi wybierać spośród wielu różnych analiz układu dokumentów i Algorytmy OCR.
- OCRFeeder – Pakiet OCR dla systemu Linux, napisany w Pythonie, który obsługuje również analizę układu dokumentu. To oprogramowanie jest aktywnie rozwijane i jest bezpłatne oraz typu open source.
Zobacz też
Linki zewnętrzne
- Analiza układu dokumentów o wysokiej wydajności, Thomas M. Breuel, PARC, Palo Alto, Kalifornia, USA , 2003
- Techniki analizy układu geometrycznego w celu zrozumienia obrazu dokumentu: przegląd, ITC-irst Technical Report TR#9703-09 , 1998.
Dalsza lektura
- O'Gorman, L. (1993). „Widmo dokumentów do analizy układu strony”. Transakcje IEEE dotyczące analizy wzorców i inteligencji maszynowej . 15 (11): 1162–1173. doi : 10.1109/34.244677 .
- Simon, A.; Pret, J.-C.; Johnson, AP (1997). „Szybki algorytm do oddolnej analizy układu dokumentu” . Transakcje IEEE dotyczące analizy wzorców i inteligencji maszynowej . 19 (3): 273–277. doi : 10.1109/34.584106 .
- Seong-Whan Lee; Dae Seok Ryu (2001). „Analiza geometrycznego układu dokumentu bez parametrów” . Transakcje IEEE dotyczące analizy wzorców i inteligencji maszynowej . 23 (11): 1240–1256. doi : 10.1109/34.969115 .
-
Dengel, Andreas; Barth, Gerhard (1989). „ANASTASIL: hybrydowy system oparty na wiedzy do analizy układu dokumentów” . Ijcai'89: 1249–1254.
{{ cite journal }}
: Cite journal wymaga|journal=
( pomoc )