Программа TRecS занимается как обучением сети, так и распознаванием текста. Режим работы меняется в зависимости от заданных программе аргументов коммандной строки. В соответствии с принятыми правилами составления консольных программ, вызов TRecS с параметром '--help' показывает справку:
>TRecS.exe --help
Usage:
TReCS.exe [OPTION...]
Help Options:
-?, --help Show help options
--help-all Show all help options
--help-gtk Show GTK+ Options
Application Options:
-l, --load-net=FILENAME Load network from file
-s, --save-net=FILENAME Save network to file after it is used
-m, --mode=MODE Mode: 0 - learning, 1 - recognition, 4 - recognition (verbose)
-p, --pattern-dir=DIRNAME Directory name (without trailing slash) containing patterns
-i, --input-file=FILENAME Input file (an image)
-o, --output-file=FILENAME Output file
-a, --layout-analyze Perform layout analyze (don't assume that input file contains only one character)
-f, --finish-init Assume that loaded network is a skeleton and finish its initialization
-v, --verbose Print a lot of info
--display=DISPLAY X display to use
После прочтения справки становится очевидным, что TRecS принимает следующие аргументы:
--load-net=FILENAME (или -l FILENAME) – указывает, что программа должна загрузить нейронную сеть из файла FILENAME. FILENAME – строка (если она содержит пробелы, её следует заключить в двойные кавычки), являющаяся относительным или абсолютным именем файла в файловой системе.
--save-net=FILENAME (или -s FILENAME) – указывает, что после завершения предписанных операций программа должна сохранить нейронную сеть в файл FILENAME. FILENAME – строка (если она содержит пробелы, её следует заключить в двойные кавычки), являющаяся относительным или абсолютным именем файла в файловой системе.
--mode=MODE (или -m MODE) – указывает, что программа должна работать в режиме MODE. MODE – число, означающее режим. 0 — режим обучения, 1 — режим распознавания, 4 — режим распознавания с сохранением промежуточной информации на диск в виде изображений.
--pattern-dir=DIRNAME (или -p DIRNAME) – указывает, что программа должна загружать образы из директории DIRNAME. DIRNAME – это строка (если она содержит пробелы, её следует заключить в двойные кавычки), являющаяся абсолютным или относительным путём в файловой системе.
|
--input-file=FILENAME (или -i FILENAME) – указывает, что программа должна загрузить изображение для распознавания из файла FILENAME. FILENAME – строка (если она содержит пробелы, её следует заключить в двойные кавычки), являющаяся относительным или абсолютным именем файла в файловой системе. Файл должен являться изображением и иметь один из форматов, поддерживаемых GDK.
--output-file=FILENAME (или -o FILENAME) – указывает, что программа должна сохранить распознанный текст в файл FILENAME. FILENAME – строка (если она содержит пробелы, её следует заключить в двойные кавычки), являющаяся относительным или абсолютным именем файла в файловой системе. Файл будет текстовым, текст будет представлен в кодировке UTF-8.
--layout-analyze (или -a) – указывает, что программа должна провести анализ разметки изображения (то есть предполагается, что изображение содержит более одного символа).
--finish-init (или -f) – указывает, что программа должна произвести инициализацию загруженной из файла нейронной сети. Это требуется при обучении (когда загружаемая сеть является лишь скелетом будущей сети).
--verbose (или -v) – указывает, что программа должна выводить в консоль дополнительную информацию о ходе процесса.
Для обучения необходимо задать аргументы —load-net, --finish-init, --mode=0, --pattern-dir и —save-net. Для распознавания текста нужно задать аргументы —load-net, --mode=1, --input-file и —output-file.
Информация о неокогнитроне хранится в XML-файлах (структура этих файлов приведена в Приложении 2). Эти файлы содержат информацию о топологии сети (число слоёв, размеры плоскостей) и информацию для генерации необучаемых весовых коэффициентов (аргументы для генерирующих веса функций).
|
Программа сохраняет отладочную информацию в поддиректорию output в директории, из которой она была запущена. Если этой директории нет, её надо создать. Отладочная информация включает в себя:
· Изображение показывающее на какие знаки было разделено изображение в процессе анализа разметки.
· Изображение показывающее на какие строки было разделено изображение в процессе анализа разметки.
· Изображение каждого знака.
· Состояние нейронов S- и C-плоскостей всех слоёв (если сеть работает в режиме 4).
· Изображение содержащее среднюю яркость строк исходного изображения.
· Текстовый файл содержащий среднюю яркость строк исходного изображения.
Выводы
Была создана программная реализация предложенной системы, способная производить минимально необходимый анализ разметки страницы, обучаться и распознавать символы. Также была создана программа для генерации обучающих и тестирующих последовательностей образов из шрифтов.