
Co to jest skaner ? Do czego służy ?
W dobie powszechnej wizualizacji przekazu informacyjnego żywe, pełne treści obrazy w
znaczący sposób ułatwiają przekazywanie myśli. Aby wszystko to stało się możliwe
również za pomocą komputerów potrzebne są urządzenia pozwalające przenieść
człowiekowi wierny obraz otaczającej go rzeczywistości do ich wnętrza.
Skaner, obok aparatu i kamery cyfrowej , jest jednym z takich
urządzeń. Dodatkowo prostota obsługi, niska cena i łatwość dostępu powodują jego
wciąż rosnącą popularność. Przykładów możliwych zastosowań tego typu urządzenia
nie trzeba szukać daleko. Wykorzystując go, użytkownik może wprowadzić do komputera i
zaprezentować innym chociażby za pomocą Internetu swoje zdjęcia czy przedstawić
własne kompozycje i obrazy. Cyfrowa postać obrazu umożliwia zastosowanie nowych
narzędzi, filtrów i specjalistycznych programów znacznie poszerzających spektrum
możliwości twórczych użytkownika. Skaner umożliwia również szybką i prostą
cyfrową archiwizację dokumentów, gazet i wszelkiego innego tekstu zapisanego na
papierze. Po zapisaniu na dysku komputera dokumenty można przechowywać w specjalnym
archiwum lub w specjalnie zhierarchizowanym katalogu. Wszystko to zmniejsza
prawdopodobieństwo uszkodzenia czy zniszczenia oryginału. Sama możliwość skanowania
dokumentów tekstowych to nie wszystko. Przy zastosowaniu specjalistycznego oprogramowania
OCR (Optical Character Recognition - optyczne rozpoznawanie znaków) możliwe jest
odczytanie przez komputer treści zeskanowanych dokumentów. Szybkie odnajdowanie
interesujących fragmentów, cytatów, a nawet pojedynczych haseł ułatwia wtedy znacznie
pracę z dużymi dokumentami. Zastosowanie dobrej jakości skanera oraz właściwie
skonstruowanego oprogramowania spowodować może znaczące przyspieszenie prędkości
pracy z dokumentami o podobnej strukturze.
Rodzaje skanerów
Wśród skanerów możemy dokonać podstawowego podziału na :
a) tzw. skanery ręczne (ruchome)
b) tzw. skanery płaskie (stacjonarne).
ad. a) Skanery ręczne - to najprostsze z urządzeń tego typu. Ich obsługa polega na
przeciąganiu czytnikiem nad wprowadzanym dokumentem. Niestety szerokość skanowanego
pola nie przekracza z reguły ok. 10 cm ,toteż urządzenia te nadają się do
najprostszych, amatorskich zastosowań. Można za ich pomocą wczytać do programu
graficznego zdjęcie standardowego formatu, lecz większe może sprawić problemy.
Oprogramowanie takich skanerów przeważnie umożliwia sklejanie z kilku pasków stron
większego formatu, nawet A4. Jednak wymaga to dużej cierpliwości i pewnej ręki, to
właśnie ze względu na ręczne prowadzenie czytnika każde drgnięcie ręki bądź
nieregularne przesuwanie urządzenia powoduje zauważalne, trudne do skorygowania skazy na
wynikowym obrazku nie mówiąc już o problemach pojawiających się przy skanowaniu
dużych dokumentów. Urządzenia te do niedawna były konkurencyjne cenowo w stosunku do
skanerów płaskich, jednak ta sytuacja uległa już zmianie.
ad . b) Skanery płaskie - to skanery w których skanowany dokument układa się w łożu
urządzenia, po czym precyzyjny mechanizm przesuwa układ optyczny pod powierzchnią
dokumentu. Obraz jest dzięki temu skanowany równomiernie na całej powierzchni (zwykle
co najmniej A4), bez deformacji i szarpnięć, a przy okazji znacznie szybciej. Z punktu
widzenia najpopularniejszych zastosowań - wczytywania zdjęć i dokumentów tekstowych
jest to metoda optymalna.
Skanery można dodatkowo podzielić według sposobu komunikacji na :
a) urządzenia SCSI
b) urządzenia przesyłające dane przez port równoległy.
ad. a) SCSI czyli Small Computer System Interface to uniwersalny sposób komunikacji
urządzeń peryferyjnych z komputerem; który pozwala na szeregowe połączenie kilku
urządzeń (max.8) sterowanych za pomocą jednego kontrolera zainstalowanego w komputerze.
Obecnie skanery komunikują się z komputerem za pomocą interfejsu SCSI-2, który
umożliwia:
- pracę w tzw. trybie fast (szybkim) ,tj. zwiększenie przepustowości
magistrali do 10 MB/s (porównanie SCSI-1 - 5 MB/s);
- pracę w tzw. trybie wide (szerokim),tj. poszerzenie szyny danych
magistrali do 16 lub 32 bitów (porównanie SCSI-1 - 8);
- kombinację trybów fast - wide co teoretycznie umożliwia uzyskanie
transmisji do 40 MB/s.(wymaga to jednak rozszerzenia sprzętowego, tj. dodatkowego 68
żyłowego przewodu).
Zastosowanie tego standardu do komunikacji skanera z komputerem zapewnia dużo szybsze
przesyłanie informacji (zauważalne przy skanowaniu z dużą rozdzielczością ).
Ponieważ nie każdy komputer wyposażony jest w kontroler SCSI, większość producentów
ze skanerem dostarcza prosty sterownik. Niestety proste kontrolery ISA nie do końca
wykorzystują zalety standardu. Cechą dodatkową takich skanerów jest dość wysoka
cena.
ad. b) Skanery takie łączone są z komputerem za pomocą kabla IEEE 1284 . Komunikacja
następuje w standardzie EPP, czyli w szybkiej dwukierunkowej wymianie danych. Zaletą
takiego rozwiązania jest niska cena i prostota instalacji. Dodatkowo użytkownik może
zaopatrzyć się w odpowiedni kabel połączeniowy , za pomocą którego skaner może być
łączony z portem drukarki. Zastosowanie takiego rozwiązania nie zmusza do zrezygnowania
ze stosowania posiadanej drukarki- zamiast do komputera podłącza się ją do
umieszczonego w skanerze gniazda przelotowego.
Jak widzi
skaner czyli sposób przetwarzania obrazu
Podobnie jak otaczający nas świat obraz jest zjawiskiem o charakterze
ciągłym. Przybliżając , np. za pomocą lornetki, widok tego samego fragmentu
krajobrazu, można zauważyć stały wzrost ilości zauważalnych elementów. Komputer
operuje jednak na skończonym zbiorze wartości liczbowych. Aby więc umożliwić
wprowadzenie obrazu do pamięci komputera, należało opracować metodę odwzorowania
ciągłej, nieskończonej postaci obrazu na jej odpowiednik elektroniczny - nieciągłą i
skończoną postać cyfrową, czyli mozaikę pikseli.
Zasada rozpoznawania kolorów przez skaner przypomina sposób ich
postrzegania przez ludzkie oko. Analizowany jest udział trzech podstawowych kolorów -
czerwonego, zielonego i niebieskiego. Dobór takich barw związany jest z "
konstrukcją" oka. Na jego dnie znajdują się dwa rodzaje światłoczułych
receptorów: pręciki reagujące na jasność światła oraz występujące w trzech
rodzajach czopki, czułe na różne długości fal elektromagnetycznych, odpowiadające
wspomnianym barwom. Wrażenie koloru docierające do mózgu człowieka to suma wartości
bodźców pochodzących od wszystkich czterech rodzajów receptorów.
Cyfrowym "okiem" większości popularnych skanerów
stołowych są elementy światłoczułe CCD (Charge - Coupled Device). Każdy z nich jest
miniaturowym fotometrem, który mierzy natężenie padającego nań światła i przekazuje
wynik pomiaru ( w postaci sygnału analogowego) do dalszej obróbki.
Zasada działania
Elementy CCD znajdują się na przesuwającej się wewnątrz skanera listwie. Przeznaczony
do wprowadzenia do komputera oryginał umieszcza się na szklanym blacie, zwracając go
analizowaną stroną do wnętrza urządzenia. Podczas skanowania dokument oświetlany jest
przez lampę ksenonową, halogenową lub fluoroscencyjną. Specjalny układ optyczny
kieruje wiązkę światła , by pokryć całą powierzchnię dokumentu. Odbita od
materiału refleksyjnego (np. papierowego dokumentu) lub przepuszczona przez materiał
transparentny (np. przeźrocze) wiązka światła, przechodzi przez filtry odpowiedzialne
za poszczególne składowe koloru i trafia do elementów CCD. Otrzymany z nich sygnał
odwzorowany w postaci cyfrowej po wstępnej obróbce przesyłany jest do komputera.
Podczas skanowania kolorowych dokumentów do niedawna stosowano technikę
trójprzebiegowego skanowania - każda z trzech analiz odpowiadała za jedną z trzech
składowych barw. Takie rozwiązanie miało jednak wiele wad, w tym np. długi czas
oczekiwania oraz niedokładne nakładanie kolorów. Obecnie tego typu urządzeń
praktycznie się nie spotyka, a współczesne jednoprzebiegowe skanery pracują dużo
szybciej i z większą dokładnością. Analiza barw wykonywana jest jednocześnie dla
wszystkich składowych, co znacznie poprawia zbieżność kolorów.
Podstawowe parametry
określające skanery
Podstawowymi parametrami określającymi skaner są:
a) rozdzielczość optyczna
b) dokładność reprezentacji barwnej.
ad. a) Od liczby elementów CCD na przesuwającej się pod szklanym
blatem listwie zależy, z jaką poziomą dokładnością zostanie przetworzony badany
oryginał. Otrzymana w ten sposób informacja o optycznej poziomej rozdzielczości skanera
podawana jest w jednostkach ppi lub dpi, co w skrócie oznacza liczbę analizowanych
punktów obrazu na cal. Skaner o większej liczbie elementów światłoczułych
przypadających na elementarny fragment obrazu potrafi rozpoznawać w nim więcej
szczegółów.
Rozdzielczość pionowa skanera jest przeważnie odmienna od poziomej. Ponieważ listwa
skanująca może poruszać się wzdłuż dokumentu z dowolną ustaloną prędkością, na
różny sposób można zdefiniować pionowy rozmiar obszaru odpowiedzialnego za pojedynczy
piksel obrazu. Powszechnie stosowanym przez producentów rozwiązaniem jest metoda
polegająca na skanowaniu dokumentu z maksymalną rozdzielczością pionową
udostępnianą przez układ mechaniczny i optyczny skanera. Następnie, zależnie od
oczekiwanej przez użytkownika dokładności, z otrzymanego obrazu automatycznie usuwane
są nadmiarowe linie poziome. Nowszym sposobem jest dynamiczne dostosowywanie wielkości
badanych obszarów w zależności od oczekiwanej przez użytkownika rozdzielczości
cyfrowego odpowiednika. Dzięki takiemu podejściu zwiększana jest prędkość działania
urządzenia. Poprawia się również jakość otrzymywanych rezultatów. Często zdarza
się, że producent podając informację o rozdzielczości skanera podaje dwie pary liczb.
Wówczas to mniejsze wartości informują o faktycznej rozdzielczości optycznej skanera,
natomiast większe wartości to tzw. rozdzielczość interpolowana. Metoda pozwalająca
uzyskać dokładność większą od optycznej polega na matematycznej obróbce obrazu
wprowadzonego z podstawową rozdzielczością za pomocą specjalnych algorytmów. W
rzeczywistości, pomimo stosowania bardzo zawansowanych algorytmów rozdzielczość
interpolowana nie gwarantuje , że rezultat będzie dokładniejszy od oryginału.
ad. b) Drugim z parametrów określających skaner jest jego dokładność odwzorowania.
Parametr ten określa liczbę bitów opisujących jasność i natężenie barw
składowych. Przykładowo skaner o dokładności odczytu równej 1 (1 bit) mógłby
zapisać tylko dwie informacje - badany punkt jest "jasny" albo
"ciemny". Przy zapisie 2- bitowym możliwe są już cztery wartości, przy
zapisie 4- bitowym jest ich 16 itd. Urządzenie o dokładności odwzorowania równej 8
bitów na punkt potrafi odwzorować 256 wartości natężenia jasności, co przy
zastosowaniu 8 bitów na każdą składową barwę daje w efekcie liczbę możliwych do
przyjęcia wartości równą 224 , czyli około 16 milionów stanów. Współczesne
skanery oferują coraz częściej dokładność równą 36 bitom na punkt, przeważnie
jednak urządzenia wyjściowe (np. kart graficzna) nie pozwalają na przeniesienie tak
szerokiego zakresu wartości. Przy poważniejszych zastosowaniach tego typu nadmiarowe
informacje są jednak użyteczne i przy wykorzystaniu profesjonalnego oprogramowania
graficznego pozwalają na dużo większą swobodę działania.
Komunikacja z komputerem
Do komunikacji skanera z komputerem oprócz omówionych wcześniej dróg przesyłu
informacji (port równoległy, SCSI) potrzebny jest zarządca kontrolujący wymianę
napływających danych. W przeszłości każdy z producentów stosował własną metodę
komunikacji, toteż często tylko oprogramowanie producenta bezbłędnie współpracowało
z urządzeniem. Zmuszało to użytkownika do skanowania do skanowania pod kontrolą
firmowej aplikacji, przeważnie dalekiej od spełnienia jego oczekiwań.
Lepszym rozwiązaniem jest korzystanie z uniwersalnych sterowników współpracujących z
dowolną aplikacją. Obecnie opracowany przez największych producentów sprzętu standard
TWAIN rozwiązał problem komunikacji urządzeń i w znacznym stopniu przyczynił się do
uproszczenia obsługi skanerów. Podstawowym zadaniem interfejsu jest zarządzanie
wszystkimi urządzeniami, które przesyłają do komputera obraz w postaci cyfrowej. Aby
korzystać z dobrodziejstw standardu, producent sprzętu projektuje tylko jeden sterownik,
potocznie zwany źródłem (TWAIN Source), który na żądanie udostępnić musi każdy,
nawet najdrobniejszy techniczny opisywanego urządzenia.
Rolę sterującą interfejsu pełni zarządca źródeł TWAIN (TWAIN Source manager).
Jeśli system operacyjny otrzyma z poziomu aplikacji graficznej zgłoszenie aktywacji
interfejsu - np. poprzez żądanie pobrania (ang. acquire) danych ze skanera - wówczas
automatycznie wywoływany jest zarządca TWAIN. Uruchamia on odpowiedni moduł sterownika
- w systemie Windows jest to specjalna biblioteka DLL - i odczytuje z niego
charakterystykę urządzenia. Uzyskuje on w ten sposób na przykład informacje o tym,
jakie
rozdzielczości oferuje skaner, jakie tryby pracy udostępnia - kolorowy , w odcieniach
szarości czy czarno - biały - oraz czy dysponuje dodatkowymi mechanizmami przetwarzania
obrazu - np. korekcją kontrastu i jasności. Drugim ważnym elementem, za który
odpowiada TWAIN, jest interfejs użytkownika. Za jego pomocą wybiera się opcje
skanowania, obszar, tryb pracy itp. W zależności od zaangażowania producenta
przygotowany przezeń interfejs lepiej lub gorzej wykorzystuje potencjał urządzenia.
Zarządca źródeł TWAIN za pośrednictwem interfejsu wyświetla aktualne parametry pracy
i pozwala na ustalenie konfiguracji odpowiadającej charakterowi wczytywanych ze skanera
danych.
Jakość odwzorowania obrazu.
Największy wpływ na ocenę jakości skanów ma analiza ostrości
uzyskanych rezultatów i wierność odwzorowywania barw. Szczególną należy zwrócić na
zachowanie właściwych proporcji w tonacji i kolorystyce oraz na nasycenie kolorów
poszczególnych fragmentów skanowanego dokumentu.
Testy przeprowadzane przez specjalizowane laboratoria potwierdzają,
że skanery o wyższej deklarowanej wartości rozdzielczości maksymalnej wykazują
lepszą sprawność przy przenoszeniu wyższych częstotliwości wzorów występujących w
digitalizowanych obrazach, co umożliwia uzyskanie obrazów w większej liczbie
rozróżnialnych szczegółów. W testach tych najlepsze rezultaty osiągnęły te modele
skanerów, których rozdzielczość optyczna wynosiła 600 dpi. ?redni współczynnik
pomiaru sprawności, dla najlepszych skanerów ( Trust EasyScan 19200 oraz Microtek
Scanmaker 630 - wynosił 75% idealnej wartości).
Pomiary rozróżnienia odcieni wykazały przewagę urządzeń o
większej liczbie bitów przeznaczonych na opis barwy pojedynczego piksela. Wnioski
wypływające z otrzymanych rezultatów nie uprawniają jednak do stwierdzenia, że
skanery o mniejszej głębi kolorów produkują znacznie gorsze rezultaty od analogicznych
urządzeń o dokładności np. 30 czy 36 bitów.
Oprogramowanie OCR i ICR
Mimo dynamicznego rozwoju publikacji elektronicznych i Internetu papier, wynaleziony przez
Chińczyków prawie dwa tysiące lat temu, nadal jest najchętniej używanym medium do
przekazywania "słowa pisanego". Dlatego też od początku rozwoju techniki
komputerowej pojawił się problem przenoszenia informacji z komputera na papier,
drukowania, a także odczytywania informacji z papieru i przekładania jej na język
zrozumiały dla przeciętnego peceta. Rozwiązywaniem drugiego z wymienionych zadań,
czyli rozpoznawaniem tekstu, zajmują się systemy typu OCR (Optical Character Recognition
- optyczne rozpoznawanie znaków). W tej chwili systematycznie zastępują je młodsi
bracia, tak zwane systemy ICR (ang. Intelligent Character Recognition - inteligentne
rozpoznawanie znaków), których "inteligencja" polega na wykorzystywaniu
algorytmów rozpoznawania wzorowanych na ludzkim sposobie percepcji.
Z całą pewnością żadnego użytkownika komputera nie trzeba dzisiaj zachęcać do
używania drukarki, natomiast wykorzystywanie skanera i oprogramowania OCR nie jest
jeszcze zjawiskiem powszechnym. Wyobraźmy sobie zatem taką sytuację: jest piękne,
piątkowe popołudnie, właśnie przygotowujemy się do wyjścia z biura, gdy nagle
otrzymujemy od szefa polecenie natychmiastowego opracowania dziesięciostronicowej umowy
(czy cennika, oferty, artykułu, itp.) dla jednego z kontrahentów. Jak to w życiu bywa,
wzorcowy tekst umowy "wyparował" nam z komputera podczas ostatnich porządków
na dysku twardym i pozostała jedynie jego papierowa wersja. Cóż więc możemy z tym
fantem zrobić? Pierwsze rozwiązanie to wyjaśnienie szefowi problemów z wywiązaniem
się z polecenia i sugestia, iż dopiero w przyszłym tygodniu sprawa zostanie załatwiona
- jest to rozwiązanie nieeleganckie i na pewno nie wpłynie pozytywnie na naszą karierę
zawodową. Drugi pomysł to ręczne "wklepanie" od początku całego tekstu. W
tym wypadku sukces jest gwarantowany, umowa zostanie przygotowana, ale prawdopodobnie
wyjdziemy z biura późnym wieczorem. Ponadto, przepisując tekst z kartki możemy
popełnić wiele pomyłek, których korekta może potrwać długo. Najlepszym wyjściem
jest rozwiązanie trzecie - jeżeli w biurze mamy skaner i program OCR, możemy szybko ze
skanować wydruk umowy ( skanowanie jednej strony A4 trwa, w zależności od skanera, ok.
20-40 sekund ), a następnie automatycznie przekonwertować obraz strony na tekst i
zapisać w formacie używanym przez nasz edytor. Proces konwersji, czyli rozpoznawania
tekstu, w zależności od jakości wydruku, wielkości czcionki, typu komputera oraz
oczywiście rodzaju oprogramowania OCR może zająć od 30 sekund do kilku minut na jedną
stronę. Przy odrobinie wprawy całkowity czas wczytania umowy wraz z jej korektą i
przygotowaniem poprawek dla szefa nie powinien, w naszym przypadku, przekroczyć godziny!
Dziesięć stron tekstu to około 4500 wyrazów, w najgorszym przypadku daje to
prędkość rozpoznawania i korekty równą 75 słowom na minutę, czego pozazdrościć
nam może nawet bardzo wprawna maszynistka. W nagrodę mamy wolne całe piątkowe
popołudnie i uznanie szefa.
Nowoczesne oprogramowanie ICR nie realizuje wyłącznie rozpoznawania
pojedynczych znaków. Proces konwersji zdjęcia na tekst przebiega w czterech etapach, z
których każdy wykorzystuje zaawansowane algorytmy, niejednokrotnie opracowane na bazie
skomplikowanych teorii naukowych. Skuteczność działania każdego z etapów wpływa
znacząco na jakość danego programu ICR.
Pierwszy etap to wstępne przetworzenie obrazu strony (Preprocessing).
Na tym etapie automatycznie wykrywana i korygowana jest orientacja tekstu na stronie -
program sprawdza, czy wydruk nie został włożony do skanera "do góry nogami"
lub koryguje często występujące "przekręcenie tekstu" (gdy wiersze z tekstem
nie są równoległe do podstawy dokumentu). Również w tym kroku program ustala, czy ma
do czynienia z drukiem "czarno na białym", czy też wydruk jest negatywem -
białe litery na czarnym tle. Podczas przetwarzania wstępnego niektóre programy ICR
wykonują różnego typu filtracje, usuwając np. drobne kropki i zakłócenia, co może
wpłynąć na poprawę skuteczności następnych etapów.
W trakcie segmentacji (Atto Zoning lub Page Decomposition), drugiego etapu przetwarzania,
program automatycznie wykrywa te fragmenty obrazu, które warto rozpoznawać. Rezultatem
tej operacji jest wyróżnienie w obrazie dokumentu obszarów zawierających tekst (Text
Zones), grafikę lub zdjęcia (Graphic Zones) oraz tabelek (Table Zones). Dodatkowo
ustalana jest kolejność obszarów tekstowych, tak aby wynik rozpoznawania jak
najdokładniej odzwierciedlał logiczny porządek tekstu w skanowanym dokumencie. Regułą
jest to, że użytkownik może manualnie skorygować rezultat segmentacji.
Kolejny etap to rozpoznawanie znaków (Character Recognition). Podczas rozpoznawania obraz
dokumentu, wiersz po wierszu, znak po znaku, zamieniany jest na tekst. Nowoczesne programy
ICR wykorzystują co najmniej dwie, równolegle działające metody konwersji obrazu na
znaki, a ostateczny rezultat tejże konwersji weryfikuje i ustala specjalny system
ekspertowy. W rozpoznawaniu może aktywnie uczestniczyć użytkownik,
"podpowiadając" komputerowi wówczas, gdy ten ma kłopot z rozpoznaniem
określonego znaku. "Podpowiedź" taką program zapamiętuje i wykorzystuje przy
przetwarzaniu kolejnych fragmentów tekstu, gdy napotka podobnie wyglądający znak.
Ostatnim krokiem jest analiza językowa (Language Analysis). W prostszych systemach OCR
analiza językowa jest całkowicie oddzielona od etapu rozpoznawania znaków i sprowadza
się do wykrywania literówek (Spell Checking) na podstawie słownictwa wybranego języka.
W programach ICR algorytmy analizy językowej uczestniczą w rozpoznawaniu znaków i
pełnią funkcję ekspertów przejmujących odpowiedzialność za ostateczny wynik, a
wykorzystują do tego wiedzę zarówno o słownictwie, jak i o gramatyce.
Wzorce i sieci neuronowe
Podstawowe algorytmy rozpoznawania znaków drukowanych funkcjonują
już od ponad 25 lat. Początkowo był to stosunkowo prosty, sprzętowy mechanizm
polegający na porównywaniu pojedynczych liter z ich odpowiednikami na liście wzorców.
W połowie lat sześćdziesiątych wprowadzone zostały w tym celu dwa znormalizowane
zestawy znaków: OCR-A i OCR-B. Jeszcze dzisiaj tego typu czcionki są stosowane w polach
kodowych czeków bankowych. Jeśli odczytany obraz znaku będzie zgodny z obiektem
wzorcowym, przechowywanym w pamięci, to jest mu przyporządkowywany odpowiedni kod ASCII
i daną literę uznaje się za rozpoznaną. W praktyce oznacza to, że każda litera A, B
lub C jest identyfikowana tylko wówczas, gdy wygląda identycznie jak odpowiadający jej
znak wzorcowy. W przeciwnym wypadku litera taka będzie ignorowana bądź sygnalizowana
jako błąd.
Później na rynku pojawiły się bardziej zaawansowane urządzenia
odczytujące, które oprócz znaków OCR-A i OCR-B potrafiły także rozpoznać
standardowe pisma maszynowe. Nadal jednak do tego celu była wykorzystywana technika
"porównywania ze wzorcem" (Matrix Matching), polegająca na porównywaniu
rozpoznawanego znaku z zapamiętanym, matrycowym wzorcem czcionki. Wystarczyły niewielkie
odstępstwa kształtu czcionki od zdefiniowanego wzorca, aby skutecznie uniemożliwić
rozpoznanie tekstu.
Dopiero od 1975 roku technika porównywania ze wzorcem została
zastąpiona techniką "analizy cech charakterystycznych" (Feature Recognition).
W przypadku analizy szczegółów typograficznych każdej litery nie dokonuje się
porówna z zapamiętanymi obrazami czcionek, lecz poszukuje się charakterystycznych
kształtów krzywizn, współczynników kątowych, elementów kolistych oraz proporcji
między liniami poprzecznymi i podłużnymi. Z uwagi na fakt, że matematyczno
-geometryczne opisy liter są w zdecydowanej większości przypadków niezmienne (np.
litera "p" składa się zazwyczaj z długiej, pionowej kreski "ę" i
kółeczka "o" przyklejonego do tejże kreseczki po jej prawej stronie, w
górnej części), taka metoda może być stosowana do rozpoznawania różnego typu
czcionek i różnej wielkości pisma. Dlatego też technika ta nosi nazwę metody
"omnifont" (łac. omni - wszyscy). Pierwszym urządzeniem, które korzystało z
opisanej wyżej metody, był wdrożony w 1975 roku czytnik KRM (Kurzweil Reading Machine)
nazwany tak na cześć swojego twórcy - Raymonda Kurzweila.
Początek lat osiemdziesiątych zaowocował nagłym rozwojem nowej
dziedziny nauki jaką była teoria sztucznych sieci neuronowych (Artificial Neural Network
Theory lub Neurocomputing). Niemal natychmiast sieci neuronowe znalazły zastosowanie w
algorytmach rozpoznawania tekstu.
Początkowo ANN (Artificial Neural Networks) wykorzystywane były
wyłącznie jako klasyfikatory; na podstawie dostarczonej na wejście informacji o
matematyczno - geometrycznych cechach znaku podejmowały decyzję o tym, jaki to znak.
Zaletą sieci neuronowej, w porównaniu z klasyczną techniką analizy cech
charakterystycznych, była możliwość uczenia się "na przykładach".
Wystarczyło "przeszkolić" sieć, prezentując jej treningowy zestaw czcionek,
a ta sama wyrabiała sobie "ogólną" wiedzę na temat kształtów
poszczególnych znaków.
We współczesnych systemach ICR sieci neuronowe stosowane są
wówczas, gdy za wodzą inne techniki rozpoznawania znaków. Architektura sieci neuronowej
do rozpoznawania pisma wzorowana jest na strukturze połączeń występujących w tej
części mózgu człowieka, która zajmuje się przetwarzaniem informacji wizualnej
(Visual Cortex). Sieć nie tylko klasyfikuje cechy, ale także sama je wykrywa -
specjalnie połączone warstwy neuronów są w stanie, w trakcie uczenia,
"wyłuskać" z pikselowego obrazu zadanego znaku cechy geometryczne
odróżniające go od innych liter. Dodatkowo niektóre modele ANN potrafią skutecznie
rozpoznawać całe sekwencje mocno zdeformowanych i zakłóconych znaków bez
konieczności podziału sekwencji na pojedyncze litery. Jest to tak zwane rozpoznawanie
"bezsegmentacyjne" (ang. Segmentation Free Method), w którym stosuje się
techniki przetwarzania podobne do stosowanych w rozpoznawaniu mowy.
Mimo wielu zalet zaawansowane ANN mają wady wykluczające,
przynajmniej na razie, możliwość zastosowania sieci neuronowej jako jedynego algorytmu
rozpoznawania. Jedną z podstawowych wad jest relatywnie długi czas wyliczania stanu
sieci. Przykładowo, skonstruowany na początku lat dziewięćdziesiątych i wzorowany na
budowie mózgu Neocognitron - sieć do rozpoznawania pojedynczych znaków alfanumerycznych
- złożony był z 70 045 neuronów (elementarnych jednostek obliczeniowych) i czas
wyliczania odpowiedzi sieci, po wprowadzeniu na wejście jednego znaku, przekraczał trzy
minuty! Do symulacji Neocognitronu używano wówczas komputera typu Sun SparcStation.
Praktyczne implementacje rozbudowanych sieci neuronowych są obecnie
bardzo mocno optymalizowane i często wykorzystują najnowsze osiągnięcia techniki
mikroprocesorowej (np. w przypadku symulatorów specyficzne właściwości arytmetyki
zmiennoprzecinkowej). Jednak prędkość rozpoznawania "neuronowego" jest
średnio o rząd mniejsza niż prędkość rozpoznawania metod klasycznych typu
"omnifont".
W komercyjnych programach ICR w rozpoznawaniu znaków uczestniczy kilka
algorytmów, a w zależności od jakości wydruku udział każdego z nich może być
różny. Dla tekstu pisanego ładnym, czytelnym drukiem stosuje się szybkie rozpoznawanie
"omnifont". W tekście gorszej jakości niektóre wiersze, lub ich części,
mogą być rozpoznawane przez bardziej rozbudowane modyfikacje algorytmu
"omnifont" bądź sieci neuronowe. W każdym z wymienionych przypadków
stosowane jest także proste porównywanie ze wzorcem, dzięki któremu użytkownik może
"uczyć" program, wprowadzając do rozpoznawania np. nietypowe znaki.
Rozpoznawanie błędów
Komputer to urządzenie, które w trakcie obliczeń posługuje się
bardzo prostym i klarownym systemem liczbowym - klasyczną logiką dwuwartościową. Coś
może być "prawdą" lub "fałszem" i wtedy odpowiedni bit we
właściwym rejestrze lub komórce pamięci przyjmuje wartość "0" lub
"1". Każdy, najbardziej elementarny proces obliczeniowy polega na
przekształcaniu szeregu wartości typu "prawda" i "fałsz" na inny
tego typu szereg, według ściśle określonych i zarazem prostych reguł logicznych.
Nawet skomplikowane operacje zmiennoprzecinkowe są w istocie żonglowaniem wartościami
typu "prawda" i "fałsz". W odróżnieniu od tego typu działań w
naturalnych i sztucznych sieciach neuronowych proces przetwarzania informacji podlega tzw.
logice rozmytej (fuzzy logic, fuzzy = niewyraźny, zamazany), w której funkcjonuje nie
tylko pojęcie "prawdy" i "fałszu", ale także występują pojęcia
pośrednie typu "częściowa prawda" lub "nie do końca fałsz". W
istocie przy takich założeniach wynik dedukcji logicznej przyjmuje wartość analogową
z zakresu od "0" do "1", przy czym "0" oznacza
"absolutny fałsz", a "1" wskazuje na "całkowitą prawdę".
Logika rozmyta wykorzystuje fakt, iż ludzki mózg potrafi sensownie
rozwiązywać problemy nawet wtedy, gdy nie ma jednoznacznie określonych parametrów. W
procesie podejmowania decyzji korzysta on bowiem z takich wartości przybliżonych, jak
"mniej więcej", "prawie" czy też "w znacznym stopniu".
Podobnie jak człowiek "rozumują" również systemy
ekspertowe bazujące na logice rozmytej, umieszczone w programach ICR. Działają one w
sposób analogowy, a nie cyfrowy - znają więc nie tylko słowa "tak" i
"nie", ale także "dużo" i "mało".
Bezpośrednim rezultatem wykorzystania logiki rozmytej jest możliwość tworzenia wielu
wariantów rozpoznawania, np. jeżeli znak został rozpoznany na 60% jako litera
"F", to być może na 30% jest to litera "E", ewentualnie litera
"P" na 10%. Co więcej, każdy algorytm uczestniczący w rozpoznawaniu znaku
może postawić różne hipotezy co do prawdopodobieństwa wystąpienia każdego z
wariantów, a wiarygodność tychże hipotez musi ocenić dodatkowy ekspert. W efekcie
wynik rozpoznawania jednego wiersza tekstu to graf opisujący wszystkie możliwe sekwencje
znaków z prawdopodobieństwem wystąpienia znaku na zadanej pozycji.
Tam, gdzie pojawia się wiele wariantów, mamy do czynienia z problemem
wyboru tego "najlepszego". Dzięki zastosowaniu logiki rozmytej i sztucznych
sieci neuronowych dla każdego wiersza z tekstem możemy uzyskać wiele różnych
sekwencji słów. Powszechnie stosowaną i dającą bardzo dobre wyniki metodą jest w tym
wypadku zastosowanie analizy językowej.
W najprostszym przypadku spośród wszystkich, wygenerowanych przez rozpoznawanie słów
można wykluczyć te, które zawierają "podejrzane" sekwencje liter, np.
"iy" czy też "iii". Ten rodzaj analizy językowej nie wymaga od
programu przechowywania pełnej listy słów danego języka, a więc jest relatywnie mało
"zasobochłonny" i szybki. Pamiętana jest jedynie częstość występowania
zadanej sekwencji liter w konkretnym języku. Lepsze rezultaty daje algorytm, który
"zna" pełną listę słów z danego języka i potrafi szybko ocenić, czy
rozpoznane słowo znajduje się na tejże liście. Nawet dla języka polskiego, w którym
pełny zbiór słów, wraz ze wszelkimi postaciami fleksyjnymi, liczy sobie ponad
półtora miliona haseł (pięć razy więcej niż w języku angielskim), algorytmy
analizy językowej potrafią skutecznie porównać z listą blisko 6000 jednostek
leksykalnych na minutę (czytaj: "słów na minutę"), a cały materiał
językowy mieści się w niespełna 2 MB pamięci RAM.
Są jednak sytuacje, w których analiza językowa, oparta wyłącznie
na przeglądaniu słownika, nie daje poprawnych wyników. Przykładem może być wynik
rozpoznawania podający jako warianty słowa "mila" i "miła". Każde
z tych słów występuje w języku polskim, zatem o wyborze jednego z nich zadecydują
prawdopodobieństwa rozpoznań poszczególnych znaków. W złej jakości wydrukach
różnice między literą "l" a "ł" są tak nieznaczne, że algorytmy
rozpoznawania przypiszą każdej z liter takie samo prawdopodobieństwo, równe 50%.
Pomocna w tym wypadku mogłaby być analiza gramatyczna, która oceni, czy w rozpoznawanym
zdaniu powinien pojawić się w danym miejscu rzeczownik "mila", czy też
przymiotnik "miła".
Praktyczna implementacja analizy gramatycznej wymaga jednak znacznie
większej ilości danych, a w szczególności konieczne jest zdefiniowanie i zakodowanie
reguł gramatycznych obowiązujących w danym języku, np. za pomocą formalnego
narzędzia typu HPSC (Head-drive Phrase Structures Grammar). O ile tego typu opisy, dla
języków tzw. pozycyjnych, np. języka angielskiego, funkcjonują już w systemach
komercyjnych, o tyle implementacja tego typu analizy dla języka polskiego (który jest
językiem fleksyjnym) nie została do tej pory zrealizowana w jakimkolwiek komercyjnym ani
też akademickim systemie ICR.
Oprogramowanie
do "obróbki" grafiki.
Programy do obróbki grafiki można podzielić na kilka grup,
obierając za kryterium wydajność czy przeznaczenie. Najprostsze z najbardziej znanych
programów do obróbki grafiki to Paint Shop Pro, PhotoFinish oraz PhotoMagic. Aplikacje
te pozwalają na pracę jedynie w trybie RGB ( Red Green Blue ) - lecz są one
wystarczające w zastosowaniach amatorsko - domowych. Istnieją także programy oferujące
nietypowy interfejs użytkownika wraz ze zbiorem gotowych szablonów graficznych, które
pozwalają wejście w świat cyfrowej obróbki obrazu nawet początkującym użytkownikom.
Na najwyższych półkach znajdują się programy najwyższej klasy, używane przede
wszystkim przez profesjonalistów. Charakteryzują się one znaczną złożonością i
bogatą paletą oferowanych funkcji, umożliwiając niezwykle precyzyjne definiowanie
poszczególnych parametrów obrazu.
Wiele programów do obróbki grafiki oferuje specyficzne tylko dla
siebie funkcje, lecz istnieje pewien zestaw narzędzi, które powinien posiadać każdy
program graficzny. Należą do nich:
- narzędzie selekcji ( pozwala na zaznaczenie jakiegoś obszaru
obrabianego obiektu i umożliwia edycję tego obszaru)
- obracanie ( pozwala na obracanie obiektu o 90 i 180 stopni, choć
wiele programów posiada możliwość obracania o dowolny kąt. Funkcja bardzo przydatna,
zwłaszcza gdy orientacja skanowanego obrazu jest odmienna od tej, której oczekujemy.)
- wyostrzanie
- zmiana rozmiarów
- zmiana głębi kolorów
Do bardziej zaawansowanych narzędzi należą:
- narzędzia korekcji koloru
- narzędzia regulacji kontrastu
- filtry
- dodatkowe efekty (rastrowanie, transformacja psychodeliczna, dodawanie
i usuwanie szumów)
- efekty dwu lub trójwymiarowe zależne od inwencji autorów
oprogramowania
Oczywiście im wyższej klasy program graficzny tym więcej funkcji
posiada, a jakość ich działania jest wyższa. Jednym z najlepszych pakietów dla
profesjonalistów jest zawierającym wiele specjalistycznych narzędzi jest pakiet
CorelDRAW, którego wadą jest praktycznie tylko wysoka cena, wynosząca około 2000 zł,
co powoduje, że na jego zakup mogą sobie pozwolić praktycznie tylko firmy ( i to nie
wszystkie ). Podobna sytuacja ma miejsce w przypadku programu PhotoShop, którego cena to
ok. 3000 zł.
Z punktu widzenia zastosowań domowych najrozsądniejsze rozwiązanie
do dobrej jakości programy shareware lub proste ( co nie oznacza, że złe) programy
komercyjne np. Windows Draw, Paint Shop Pro, Microsoft PictueIt!, PhotoFinish, PhotoSuite.
Programy te oferują funkcje, które są niezbędne do przetwarzania grafik "na
domowe potrzeby" np. do komputerowego archiwum fotograficznego, choć nie posiadają
one "bajerów" oferowanych przez duże, komercyjne kombajny, to ich brak nie
jest zbyt dokuczliwy, gdyż z większości z nich nigdy nie skorzystalibyśmy w
zastosowaniach domowych.
Tryb RGB (Red Green Blue) - w tym trybie barwy wtórne, czyli mieszane,
powstają w wyniku kombinacji trzech barw podstawowych - czerwonej (red), zielonej
(green), niebieskiej (blue). Jeśli wszystkie te barwy występują z pełną
intensywnością powstaje biel. Z barw zielonej i czerwonej powstaje barwa żółta.
Czerwony i niebieski dają karmazynowy , a niebieski i zielony - turkus.
Tryb CMYK (Cyan, Magenta, Yellow, blacK) - wykorzystywany jest przy
przenoszeniu efektów skanowania na papier, gdyż drukowanie w RGB daje rezultaty mdłe i
bez wyrazu, choć teoretycznie nie powinno to mieć miejsca ( w praktyce okazuje się, że
RGB sprawdza się jedynie w przypadku światła emitowanego ). Na wydrukach jasne,
świetliste barwy łatwiej można otrzymać używając barw: Cyan ( turkusowy ), Magenta (
karmazynowy ) i Yellow (żółty). Z barwy żółtej i karmazynowej powstaje czerwień, z
karmazynowej i turkusowej - błękit, a z turkusu i żółtego - zieleń. Wszystkie kolory
podstawowe dają czerń jedynie w teorii. W praktyce powstaje ciemny, brudny brąz.
Dlatego w praktyce do palety barw podstawowych dodawany jest jeszcze kolor czarny (blacK).
Przechowywanie grafiki na twardym dysku ( BMP, JPEG, gif )
Po ze skanowaniu, każdy obrazek musi być zapisany na dysku ( jeżeli chcemy go zachować
). I tu zaczynają się problemy z doborem odpowiedniego formatu zapisu ( a właściwie
kompresji ) danych. Do wyboru mamy kilka możliwych formatów danych, z których każdy ma
swoje wady i zalety. Najbardziej znane formaty to BMP, JPEG i gif.
Format BMP charakteryzuje się brakiem zniekształceń wprowadzanych do grafiki, jednak
jego wadą są ogromne rozmiary grafik zapisanych w tym formacie co jest spowodowane przez
to, że w formacie tym nie ma miejsca żadna kompresja, a zapis odbywa się poprzez
zapisanie w pliku parametrów każdego piksela i z tego powodu formatu tego nie stosuje
się do przechowywania grafiki.
JPEG stosowany jest do grafiki 24 - bitowej. Stąd najczęściej korzysta się z niego
przy zapisie standardowych fotografii, jak portrety czy obraz tła itp. Użycie tego
formatu nie powoduje zmian w poziomach jasności, jednak tracone są informacje dotyczące
odcieni barw, które przy każdym otwarciu pliku muszą być interpolowane ( obliczane na
podstawie funkcji matematycznych ). Zapis w formacie JPEG umożliwia ustalenie stopnia
kompresji danych (im większy stopień kompresji, tym mniejszy plik, ale gorsza jakość i
odwrotnie).
gif natomiast stosowany jest do grafiki 8 bitowej w 256 kolorach. W przypadku fotografii
jest zwykle za mało, choć przy zwykłych grafikach o niewielkiej liczbie odcieni w
zupełności wystarcza. W takiej sytuacji użycie gif-a zamiast JPEG-a jest znacznie
bardziej korzystniejsze, ponieważ nie tracimy ani bitu informacji należących do obrazu.
Perspektywy rozwoju.
Najnowszej generacji oprogramowanie do skanerów potrafi samodzielnie
rozpoznać rodzaj skanowanego dokumentu, dopasowuje na bieżąco tryb pracy i
automatycznie koryguje tryb pracy urządzenia. Najbardziej wyrafinowane sterowniki
potrafią nawet automatycznie tak dobierać rozdzielczość, aby nie pojawiały się
zakłócenia w obrazie skanowanego dokumentu, charakterystyczne przy transformacji danych
z postaci analogowej na cyfrową.
Mimo, iż efektywność działania takiego "inteligentnego"
oprogramowania pozostawia jeszcze nieco do życzenia , to pozwala ono zauważalnie
skrócić czas wykonywania określonego zadania. W połączeniu ze wzrostem zaawansowania
technologicznego urządzeń i stałym spadkiem cen gwarantuje to, że skanery będą stale
obecne w tych zastosowaniach, w których niezbędne jest zamienienie danych zapisanych na
papierze w postaci analogowej na postać cyfrową, możliwą do obróbki na komputerze.
Jednak coraz częściej stosuje się także inne urządzenia wizyjne, np. kamery, aparaty
cyfrowe., lecz nie są one w stanie zastąpić, a tym bardziej wyprzeć z użytku skanera,
który już jest podstawowym składnikiem stanowiska pracy grafika komputerowego i, który
coraz częściej stanowi dodatkowy element wyposażenia domowego komputera.