Улучшение сканированного текста (виртуальный семинар)
Материал из MachineLearning.
Улучшение текста (text enhancement) — это преобразование текста, представленного в виде растрового изображения (bitmap), с целью улучшения его читабельности. Методы улучшения текста применяются, главным образом, к сканированным текстам.
Стандартный подход заключается в применении довольно простых фильтров, улучшающих контрастность изображения, убирающих шумовой фон, сглаживающих контуры букв путём добавления серых пикселей различной яркости, и т.д. Такие фильтры уже встроены практически во все современнные сканеры и программы просмотра сканированных изображений.
На данной странице обсуждается возможность создания системы радикального улучшения текста путём распознавания символов.
Проблема и идея
Проблема возникает при чтении отсканированных страниц текста на экранах с низким разрешением, например в устройствах чтения электронных книг на основе технологии «электронных чернил» eInk. Устройства чтения с небольшими экранами обладают определёнными преимуществами (относительно низкая стоимость, габариты, вес). Популярность таких устройств возрастает; в последние годы их характеристики уже стали удовлетворять запросам массового потребителя. Пока комфортное чтение обеспечивается только для текстовых документов (txt, doc, rtf, fb2). Качество воспроизведения сканированного текста оставляет желать лучшего. Однако можно заметить, что символы того же размера, выведенные с помощью встроенных шрифтов, читаются на таких устройствах великолепно.
Возникает идея программного улучшения текста путём распознавания растровых изображений символов и замены их символами встроенных шрифтов. Фактически, это задача оптического распознавания символов (optical character recognition, OCR). Она несколько облегчается тем, что преобразовывать сканированный документ в ASCII-код, вообще говоря, не требуется. Достаточно обнаружить на странице растровые изображения символов и заменить их на наиболее подходящие символы из заданного набора шрифтов.
В идеальном случае такая замена могла бы выполняться «на лету» самим устройством. Возможен также вариант, когда текст сначала преобразуется на компьютере с помощью специальной утилиты. Однако это менее удобно с точки зрения массового пользователя.
Постановки задач
- Предварительная обработка страницы:
- удаление «шумов», оставшихся после сканирования: пятен, пикселей, полос (возможно, довольно большого размера), затемнённого фона, проступающих символов оборотной стороны страницы, и т.п.
- определение границы текста;
- выделение нетекстового материала (рисунков, рамок, белых полей);
- выделение текстовых фрагментов на рисунках;
- выделение строк текста;
- распрямление искривлённых базовых линий строк.
- Распознавание символов, либо поиск схожих символов во встроенных шрифтах.
- Распознавание типичных для данной книги начертаний и размеров шрифтов.
- Переформатирование макета страницы под малый экран:
- удаление переносов и склейка перенесённых слов;
- переразбиение текста на строки;
- переразмещение графического материала в тексте, в том числе корректная обработка страниц с многоколоночным набором, а также отсканированных разворотов книг.
- Поддержка опции вывода либо исходного сканированного текста, либо улучшенного текста; у пользователя должна оставаться возможность просмотреть оригинал.
Ссылки
- US Patent 5594814, 14 января 1997 — OCR image preprocessing method for image enhancement of scanned documents.
- US Patent 6310697, 30 октября 2001 — пример стандартного подхода на основе фильтрации растрового изображения.
- lBook® eReader — устройство для чтения электронных книг на основе технологии eInk (разрешение экрана 600х800, процессор 200 МГц, ОС Linux).
- OpenInkpot — проект по созданию открытого программного обеспечения для устройств чтения на базе технологии eInk и операционной системы Linux.