Разработка алгоритмов распознавания текста на основе клеточных автоматов Автор: Суясов Д. И. Руководитель: Шалыто А. А., д.т.н., профессор Постановка задачи Этапы распознавания текста: • Фильтрация изображения. • Сегментация изображения текста на изображения символов. • Выделение характеристик / признаков символов из их изображений. • Классификация этих признаков. Задача: Исследование подзадач процесса распознавания текста и принципов их решения на основе клеточных автоматов. РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 2 Клеточные автоматы с метками {G, M, Z, N, f} G – дискретное метрическое множество, гарантирующее конечность расстояний между клетками; M – конечное множество меток; Z – конечный набор состояний клеток; N – конечное множество, определяющее окрестность клетки; f – правила клеточного автомата. РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 3 Последовательности клеточных автоматов Шаг 1. Изображение символа Шаг 2. Верхняя левая черная клетка помечается красной и серой метками Результат • Логика системы основана на последовательностях клеточных автоматов. да Шаг 14. Есть изменения Шаг 3. Создание шлейфа Шаг 13. Удаление лишних клеток справа • Клеточные автоматы в последовательности содержат простой набор правил. Шаг 4. Создание фронта Шаг 12. Удаление нижних лишних клеток Шаг 5. Одна клетка рядом с красной меткой заменяет синюю метку зеленой • Последовательность может содержать дополнительную функциональность. Шаг 11. Верхняя левая черная клетка помечается синей меткой Шаг 6. Проход по шлейфу • Последовательность позволяет индивидуально настраивать клеточные Шаг 7. Проход по фронту да Шаг 8. Есть изменения да Шаг 10. Есть изменения автоматы. Шаг 9. Удаление зеленых меток РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 4 Алгоритмы фильтрации и сегментации Фильтрация 1. Сегментация 1. 2. 2. 3. 1. Все точки переводятся в оттенки серого. 1. Черные точки помечаются индексом. 2. Темные точки перекрашиваются в 2. Для каждой черной точки индекс черные. переписывается на минимальный из 3. Светлые точки перекрашиваются в соседних или самой точки. белые. РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 5 Принцип выделения признаков символов Затухание волны (отсутствие фронта) Точки пройденного пути Шлейф волны Фронт волны Встреча двух волн РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 6 Алгоритмы выделения признаков символов Шаг 1. Изображение символа Шаг 2. Верхняя левая черная клетка помечается красной и серой метками Результат да Шаг 14. Есть изменения Шаг 3. Создание шлейфа Шаг 13. Удаление лишних клеток справа Шаг 4. Создание фронта Шаг 12. Удаление нижних лишних клеток Шаг 5. Одна клетка рядом с красной меткой заменяет синюю метку зеленой Алгоритм №1 Шаг 11. Верхняя левая черная клетка помечается синей меткой Шаг 6. Проход по шлейфу Шаг 7. Проход по фронту да Шаг 8. Есть изменения да фиксирует концы и петли символа: • выбирается начальная точка; Шаг 10. Есть изменения Шаг 9. Удаление зеленых меток • запускается волна; • фиксируются точки концов символов; • фиксируются точки встречи составляющих волны. РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 7 Алгоритмы выделения признаков символов Результаты выделения признаков первым алгоритмом: • выделенные признаки практически уникальны; • время работы алгоритма: 16 символов – 6 секунд; РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 8 Алгоритмы выделения признаков символов Шаг 1. Изображение символа да Шаг 2. Верхняя левая черная клетка помечается красной и серой метками Шаг 18. Удаление малиновых меток да Шаг 3. Создание шлейфа • выбирается начальная точка; • запускается волна; • во время фиксации концов и Шаг 24. Есть изменения пересечений запускается волнаэхо; Шаг 23. Удаление лишних клеток справа • фиксируются точки концов Шаг 22. Удаление нижних лишних клеток Шаг 14. Одна клетка рядом с коричневой меткой заменяет желтую метку коричневой Шаг 6. Проход по шлейфу символов и встречи составляющих волны. Шаг 21. Верхняя левая черная клетка помечается синей меткой Шаг 13. Создание фронта эхо Шаг 7. Проход по фронту Шаг 9. Удаление зеленых меток да Шаг 15. Проход по шлейфу эхо Шаг 5. Одна клетка рядом с красной меткой заменяет синюю метку зеленой Шаг 8. Есть изменения Шаг 17. Есть изменения Результат Шаг 16. Проход по фронту эхо Шаг 4. Создание фронта Алгоритм №2 фиксирует концы, петли и пересечения: Шаг 19. Есть изменения да Шаг 20. Есть изменения Шаг 12. Создание шлефа эхо Шаг 11. Создание эхо да да Шаг 10. У одной из клеток присутствует синяя метка РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 9 Алгоритмы выделения признаков символов Результаты выделения признаков вторым алгоритмом: • выделенные признаки уникальны; • время работы алгоритма: 16 символов – 15 секунд; РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 10 Моделирующая программа • Сознание клеточных автоматов и последовательностей. • Запуск автоматов в пошаговом и автоматическом режимах. • Обучение и распознавание текста на основе шаблонов. • Возможность добавления других модулей работы с клеточными автоматами. РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 11 Таблица сравнения Моделирующая программа Тестовые данные Курсовая работа (на основе нейронных сетей) FineReader Время работы, с. Процент ошибок Время работы, с. Процент ошибок Время Процент работы, ошибок с. Изображение слова «документирование», размеры: 236 х 30 6 4% 2 9% 1 0% Изображение русского алфавита без букв «й», «ё» и «ы» 13 3% 4 11% 1 3% Изображение русского текста (76 символов), размеры: 561 х 56 16 11% 5 17% 3 1% Изображение страницы текста (742 символа) 83 12% 40 16% 7 2% РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 12 Результаты • Исследован процесс распознавания текста. • Показана применимость теории клеточных автоматов в распознавании. • Введено понятие клеточного автомата с метками и последовательности клеточных автоматов. • Разработан алгоритм фильтрации и сегментации изображений на основе клеточных автоматов. • Разработаны и исследованы алгоритмы выделения признаков символов. • Создана моделирующая программа. • Расширяется область применения клеточных автоматов. • Для качественного распознавания необходимо комбинировать несколько разных методов. РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 13 Спасибо за внимание РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ТЕКСТА НА ОСНОВЕ КЛЕТОЧНЫХ АВТОМАТОВ 14