Similar presentations:
Презентация на тему
1. Презентация на тему: Использование нейронных сетей для распознавания текста на изображение
Выполнил: ПуховниковПавел, обучающий группы 3
«Б» по специальности
09.02.07
2. Введение в тему
Актуальность темы исследования. В условиях стремительной цифровизации экономики иобщества объем визуальной информации, содержащей текстовые данные, растет
экспоненциально. Ежедневно генерируются миллионы изображений документов, чеков,
фотографий уличных вывесок, рукописных заметок и исторических манускриптов, требующих
автоматического извлечения текста. Нейронные сети совершили революцию в области
компьютерного зрения и обработки естественного языка, позволив перейти от поэтапной
обработки изображения с ручным конструированием признаков к сквозному обучению.
Современные архитектуры, базирующиеся на комбинации сверточных, рекуррентных
слоев и механизмов внимания, способны обрабатывать изображение как единое целое,
самостоятельно выявляя иерархические визуальные признаки, языковые закономерности и
контекстуальные связи между символами.
3.
Но во всё это есть проблема заключается ввыборе оптимальной нейросетевой
архитектуры, обеспечивающей баланс между
точностью распознавания, вычислительной
эффективностью, устойчивостью к
разнородным входным данным и
возможностью развертывания на устройствах с
ограниченными ресурсами. Многообразие
существующих решений - от классических
CRNN до мощных трансформерных моделей,
таких как TrOCR, - порождает необходимость
систематизации знаний и сравнительной
оценки их характеристик для принятия
обоснованных инженерных решений.
4.
Теоретическая значимость работы заключается в систематизации и классификациисовременных подходов к построению нейросетевых OCR-систем, выявлении их
фундаментальных ограничений и преимуществ. Практическая значимость состоит в
возможности применения сформулированных сравнительных характеристик и рекомендаций
для принятия архитектурных решений при разработке и внедрении систем распознавания
документов в различных предметных областях - от мобильных приложений до
промышленных потоковых систем обработки данных.
5. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАСПОЗНАВАНИЯ ТЕКСТА И НЕЙРОННЫХ СЕТЕЙ
1.1. Эволюция методов оптического распознавания символовИстория автоматического распознавания текста насчитывает более семи десятилетий и
представляет собой последовательную смену парадигм, каждая из которых была обусловлена
как развитием теоретической базы, так и ростом доступных вычислительных мощностей.
Первые попытки создания читающих машин относятся к концу 1940-х - началу 1950-х
годов, когда инженеры искали способы автоматизации ввода данных для зарождающейся
компьютерной эры. Однако практическое воплощение OCR-системы получили лишь в 1970-х
годах с появлением доступных сканирующих устройств и микропроцессоров. Переход к
нейросетевым парадигмам в OCR произошел в два этапа. Первый этап (1990-е - 2010-е годы)
характеризовался заменой отдельных блоков конвейера на нейросетевые аналоги при
сохранении общей многоступенчатой структуры.
6. Второй революционный этап
Второй, революционный этап связан с появлением концепции сквозного обучения, котораяполностью исключает этап сегментации символов. Вместо того чтобы резать изображение на
отдельные символы, сеть обучается отображать все изображение (или его строку) непосредственно
в последовательность символов. Этот прорыв позволил достичь принципиально нового уровня
точности на слитном рукописном и искаженном печатном тексте, что и обусловило современный
облик OCR-систем.
7. 1.2. Базовые архитектуры нейронных сетей для анализа изображений
Сверточные нейронные сети являются фундаментальным строительным блоком всехсовременных OCR-систем. Их принципиальное преимущество перед полносвязными сетями
заключается в использовании двух ключевых идей: локального рецептивного поля и
разделяемых весов.
Архитектурно сверточный слой задается набором фильтров K размера k×k, каждый из
которых сканирует входное изображение, вычисляя операцию дискретной свертки: y_{i,j} =
Σ_{m=0}^{k-1} Σ_{n=0}^{k-1} w_{m,n} * x_{i+m, j+n} + b, где w - веса ядра, x - входной
тензор, b - смещение. Результат пропускается через нелинейную функцию активации ReLU
(Rectified Linear Unit): f(z) = max(0, z), что позволяет сети моделировать нелинейные
зависимости и бороться с проблемой затухающего градиента.
8.
Для подлинного понимания эволюции архитектур необходимо строго формализоватьматематические операции, лежащие в основе их функционирования.
Формализация операции свертки и карта признаков. Как было отмечено, сверточный слой
преобразует входной тензор XX размерности H×W×CH×W×C в выходной тензор YY
размерности H′×W′×C′H′×W′×C′ посредством набора из C′C′ фильтров. Каждый фильтр kk
характеризуется весовой матрицей W(k)∈RKh×Kw×CW(k)∈RKh×Kw×C и скалярным
смещением b(k)b(k). Значение пикселя (i,j)(i,j) на kk-й карте признаков вычисляется как:
Yi,j(k)=σ(∑c=0C-1∑u=0Kh−1∑v=0Kw-1Wu,v,c(k)⋅Xi+u,j+v,c+b(k)),Yi,j(k)=σ(c=0∑C-1u=0∑Kh1v=0∑Kw-1Wu,v,c(k)⋅Xi+u,j+v,c+b(k)),
9. 1.3. Принципы работы рекуррентных сетей и механизма внимания
Извлеченные сверточной сетью визуальные признаки представляют собойнеупорядоченный набор локальных дескрипторов. Для перехода к последовательности
символов необходимо ввести механизм моделирования временных или пространственных
зависимостей, для чего используются рекуррентные нейронные сети. Классическая RNN
обрабатывает последовательность, поддерживая скрытое состояние h_t, которое обновляется
на каждом шаге:
h_t = tanh(W * x_t + U * h_{t-1} + b).
10.
Практическое применение классических RNN ограничено проблемамизатухающих и взрывающихся градиентов, что делает невозможным обучение
долгосрочным зависимостям. Решением стали сети с долгой краткосрочной
памятью (Long Short-Term Memory, LSTM), вводящие управляемый механизм
«вентилей» (gates):
• Вентиль забывания f_t определяет, какую информацию из предыдущего
состояния C_{t-1} следует отбросить;
• Входной вентиль i_t решает, какую новую информацию записать в состояние;
• Выходной вентиль o_t регулирует, какая часть обновленного состояния C_t
пойдет на выход h_t.
11.
Полученная матрица внимания кодирует силы связей между всеми парами позиций.Деление на √d_k (масштабирование) предотвращает попадание скалярных произведений в
область насыщения функции softmax при больших размерностях. Многоголовое внимание
(Multi-Head Attention) параллельно вычисляет несколько таких операций с разными
линейными проекциями, позволяя сети одновременно фокусироваться на визуальных
паттернах разных типов: форме символов, интервалах между ними, положении в строке и
глобальной структуре слова. Этот механизм оказался исключительно мощным
инструментом и в задачах компьютерного зрения, породив семейство Vision Transformers
(ViT) и специализированных OCR-архитектур, таких как TrOCR.
12. СОВРЕМЕННЫЕ АРХИТЕКТУРЫ ДЛЯ СКВОЗНОГО РАСПОЗНАВАНИЯ ТЕКСТА И ПРАКТИЧЕСКИЕ АСПЕКТЫ РЕАЛИЗАЦИИ И ОБУЧЕНИЯ МОДЕЛИ
2.1. Модели на основе CNN + RNN + CTC LossАрхитектура CRNN (Convolutional Recurrent Neural Network) является фундаментальной
парадигмой в задаче сквозного распознавания текста. Предложенная в новаторской работе
Баогуанга Ши и соавторов, она объединяет сильные стороны сверточных и рекуррентных сетей,
дополненные специальной функцией потерь CTC, что позволяет отказаться от трудоемкой
сегментации символов. Концептуальная простота и эмпирически доказанная эффективность
CRNN обеспечили ей статус базового решения, с которым сравнивают все последующие
архитектурные инновации.
Математически работу CRNN можно описать как композицию трех отображений. Пусть
входное изображение представлено как тензор X ∈ R^{H×W×C}, где H - высота (обычно
приводится к 32 пикселям), W - переменная ширина, C - количество цветовых каналов (1 для
grayscale, 3 для RGB). Первый этап - сверточное кодирование:
V = f_CNN(X), V ∈ R^{T×D},
13. Второй этап
Рекуррентное моделирование. Последовательность векторов V подается на входдвунаправленной сети LSTM, состоящей из двух и более слоев:
H = BiLSTM(V), H ∈ R^{T×2n},
где n - размерность скрытого состояния LSTM для одного направления (типичные значения
256 или 512). Использование двунаправленной архитектуры позволяет учитывать как левый,
так и правый контекст каждого фрагмента изображения, что критически важно для разрешения
неоднозначности.
14. Третий этап
Декодирование с помощью CTC. Выходная последовательность H преобразуетсяполносвязным слоем с функцией softmax в распределения вероятностей над расширенным
алфавитом A' = A ∪ {blank}, где A - множество символов целевого алфавита, blank специальный пустой символ:
p_t(a) = softmax(W * h_t + b), a ∈ A'.
Ключевая инновация CTC - отображение многих к одному B: A'^T → A^{≤T}. Оно удаляет
повторяющиеся символы и пустые метки. Например, путь "cc-aa-t--" (где "-" это blank)
отображается в слово "cat". Вероятность целевой последовательности вычисляется как сумма
вероятностей всех путей, отображающихся в нее. Обучение максимизирует логарифм этой
суммы
методом
прямого-обратного
хода,
что
эквивалентно
динамическому
программированию.
15.
Экспериментальные исследования демонстрируют, что CRNN достигает показателяCharacter Error Rate (CER) на уровне 2-5% на стандартных бенчмарках (ICDAR 2003, ICDAR
2013) для печатного текста и 7-15% для рукописного. При этом архитектура обладает
сравнительно небольшим количеством параметров (8-12 млн) и способна работать в
реальном времени даже на CPU при условии оптимизации графа вычислений.
16. 2.2. Трансформерные архитектуры в задачах OCR
Рассмотрим архитектуру TrOCR с такой степенью детализации, которая позволяет понятьпричины ее превосходства над сверточно-рекуррентными сетями. В качестве бэкбона-энкодера
возьмем наиболее производительный вариант на базе Vision Transformer (ViT).
Подготовка изображения и патчинг. В отличие от традиционных CNN, которые
используют скользящее окно свертки, ViT-энкодер преобразует входное изображение
документа в последовательность плоских векторов-патчей. Изображение размером H×WH×W
(как правило, 384×384 пикселя) разбивается на регулярную сетку патчей размером P×PP×P
(типично 16×16). Каждый патч вытягивается в вектор размерности P2⋅CP2⋅C (для RGB:
16×16×3 = 768) и линейно проецируется в пространство скрытой размерности модели DD
(например, 768):
Epatch=XpatchWE+bE.Epatch=XpatchWE+bE.
17. Энкодер
Энкодер: многоголовое самовнимание (Multi-Head Self-Attention). Внутри каждого блокаэнкодера на входной последовательности ZZ вычисляется механизм внимания. Для каждой
головы hh из общего числа голов HH (обычно 12) вычисляются матрицы запросов QhQh,
ключей KhKh и значений VhVh путем линейной проекции:
Qh=ZWhQ,Kh=ZWhK,Vh=ZWhV.Qh=ZWhQ,Kh=ZWhK,Vh=ZWhV.
Это означает, что каждый патч изображения выступает одновременно в трех ролях: как
запрос (что я ищу?), как ключ (насколько я релевантен другим запросам?) и как значение
(какую информацию я несу?). Матрица внимания AhAh для головы вычисляется как
масштабированное скалярное произведение запросов и ключей:
Ah=softmax(QhKhTD/H).Ah=softmax(D/HQhKhT).
18. Ключевые преимущества TrOCR
• Отсутствие предположения о монотонности. В отличие от CRNN, которая неявнопредполагает, что текст читается строго слева направо с равномерной скоростью, трансформер
может «перепрыгивать» взглядом по изображению, корректно обрабатывая разреженный или
многоколоночный текст.
• Интеграция языковой модели. Поскольку декодер изначально предназначен для генерации
текста, он естественным образом обучается языковым закономерностям - частотности слов,
сочетаемости букв, что радикально снижает количество ошибок.
• Масштабируемость. Трансформеры эффективно используют большие объемы данных и
вычислительные ресурсы; предобученные на колоссальных корпусах (миллиарды
изображений) модели демонстрируют нетривиальную способность к zero-shot распознаванию
шрифтов и языков, с которыми они не сталкивались при тонкой настройке.
19. 2.3. Легковесные модели и оптимизация для мобильных устройств
Описанные выше архитектуры, такие как CRNN с тяжелыми бэкбонами (ResNet-50) иTrOCR на базе крупных Vision Transformer (ViT-Large), ориентированы на достижение
максимальной точности и предполагают наличие мощных GPU-серверов для инференса.
Однако значительный сегмент практических приложений требует выполнения распознавания
непосредственно на конечных устройствах пользователя - смартфонах, планшетах, бортовых
системах автомобилей, промышленных камерах с ограниченным вычислительным бюджетом.
Для таких сценариев критичны не только точность, но и энергоэффективность, малое
потребление оперативной памяти и способность работать в офлайн-режиме.
Решение задачи легковесного распознавания идет по двум направлениям: проектирование
принципиально новых эффективных архитектур и применение методов оптимизации
(квантизация, прунинг, дистилляция знаний) к существующим моделям.
20. Специальное проектирование CNN
Среди специально спроектированных CNN-бэкбонов выделяются семейства MobileNet иEfficientNet. Архитектура MobileNetV3, разработанная в Google, базируется на блоках с
глубинно-разделимой сверткой, которая факторизует стандартную свертку в две операции:
глубинную свертку, применяющую один фильтр к каждому входному каналу, и точечную
свертку 1×1, комбинирующую результаты. Такая декомпозиция сокращает количество
операций в 8-9 раз по сравнению с обычной сверткой близкой выразительной способности.
EfficientNet, предложенный Танем и Ле, развивает эту идею, вводя составной коэффициент
масштабирования, который сбалансированно увеличивает глубину, ширину и разрешение сети,
достигая парето-оптимального соотношения точности и вычислительной сложности.
EfficientNet-B0, облегченная версия, содержит всего 5.3 миллиона параметров, но на узких
задачах способен достигать точности, близкой к 100%, оставаясь при этом пригодным для
исполнения на CPU мобильного телефона. Для задачи распознавания текста EfficientNet
используется в качестве энкодера признаков, выход которого затем подается на облегченную
LSTM или непосредственно на CTC-декодер.
21.
Таким образом, выбор архитектуры для встраиваемых и мобильных системопределяется компромиссом: CRNN с MobileNet/EfficientNet обеспечивает
минимальные задержки и хорошую точность на распространенных шрифтах, тогда как
облегченные трансформеры (MobileViT) более устойчивы к сложным искажениям
ценой повышенного энергопотребления.
22. 2.4. Предобработка данных и генерация синтетических датасетов
Качество функционирования любой нейросетевой OCR-системы критическим образомзависит от характеристик обучающего датасета: его объема, разнообразия и соответствия
распределению реальных данных, с которыми модель столкнется в эксплуатации.
Решение было найдено в парадигме синтетической генерации данных. Ее идея состоит в
том, чтобы алгоритмически, с помощью компьютерной графики, создавать неограниченное
количество размеченных изображений, имитирующих целевые условия съемки.
23. Типичный пайплайн генерации синтетического датасета для OCR включает следующие этапы
1. Формирование текстового корпуса.2. Варьирование шрифтового оформления.
3. Наложение фона. Изображения текстур (бетон, дерево, ткань, фотографии городской среды,
мятая бумага) добавляются в качестве подложки. Для имитации сложного фона
используется альфа-композитинг с переменной прозрачностью.
4. Применение геометрических и фотометрических искажений.
5. Рендеринг и сохранение. Итоговое изображение сохраняется в формате JPEG или PNG, а
его аннотация - в параллельном текстовом файле в формате «имя_файла.расширение <tab>
текстовая_строка».
24. Практический опыт показывает, что модель CRNN, обученная исключительно на синтетических данных, содержащих порядка 2 миллионов
изображений со всестороннейаугментацией, способна достичь точности распознавания, сопоставимой с реальными
данными, при условии, что синтетика качественно моделирует ключевые искажения целевой
предметной области. Для дальнейшего повышения точности на специфических бланках
применяется файн-тюнинг (дообучение) синтетической модели на нескольких сотнях реальных
сканов.
25. 2.5. Метрики качества и сравнительный анализ подходов
Оценкакачества
систем
распознавания
текста
производится
на
основе
специализированных метрик, отражающих как посимвольную, так и пословную точность.
Посимвольная метрика: Character Error Rate (CER). CER является основной мерой
точности на низком уровне и вычисляется как нормализованное расстояние Левенштейна
между предсказанной строкой и эталонной. Расстояние Левенштейна (редакционное
расстояние) dL(S_pred, S_gt) определяется как минимальное количество операций вставки,
удаления и замены символа, необходимых для трансформации одной строки в другую. Тогда:
CER = (S_insertions + S_deletions + S_substitutions) / N_gt,
26. Пословная метрика
Word Error Rate (WER). WER обобщает концепцию редакционного расстояния на уровеньслов. Аналогично вычисляется минимальное количество операций вставки, удаления и замены
слова, отнесенное к количеству слов в эталоне. WER более чувствителен к контекстным
заменам (например, «кот» вместо «кит»), которые могут не сильно портить CER, но полностью
менять семантику. Для оценки извлечения структурированной информации (например, полей в
паспорте) часто применяется метрика Precision (доля правильно извлеченных полей среди всех
предсказанных), Recall (доля правильно извлеченных полей среди всех эталонных) и F1-score
(их гармоническое среднее).
27. Сравнительный анализ, проведенный по опубликованным бенчмаркам и независимым тестам
Сравнительный анализ, проведенныйопубликованным
бенчмаркам
независимым тестам
по
и
• Tesseract 5 (LSTM-движок): классический OCR-движок с открытым исходным кодом.
• CRNN (VGG+BiLSTM+CTC): CER 2-5% на смешанных печатных датасетах.
• CRNN (DenseNet-SE + BiLSTM + CTC): CER < 2% на датасетах со сложным фоном.
• TrOCR (ViT + Transformer Decoder): CER 1-2%, на некоторых бенчмарках (SROIE) менее 1%.
• EfficientNet-B0 + облегченная LSTM: На специализированных, узких задачах
(например, распознавание серийных номеров, чисел) точность может достигать 99%+
при минимальном времени инференса.
28. 2.6. Рекомендации по внедрению нейросетевых OCR-систем
Внедрение нейросетевой OCR-системы в промышленную эксплуатацию представляетсобой комплексную инженерную задачу, выходящую за рамки простого выбора архитектуры
модели. На основании проведенного анализа и обобщения практического опыта можно
сформулировать ряд ключевых рекомендаций, следуя которым, разработчики и интеграторы
могут минимизировать риски проекта и обеспечить достижение целевых показателей качества.
29.
1.2.
Этапность проекта. Рекомендуется придерживаться итеративного подхода: начать
с быстрого прототипа на базе предобученной CRNN из открытых библиотек
(PaddleOCR, EasyOCR), оценить базовую достижимую точность на
репрезентативной выборке (не менее 200-300 реальных изображений) и лишь
затем, при неудовлетворительных результатах, переходить к разработке и
обучению специализированной модели.
Сбор и разметка данных. Следует с самого начала заложить в план проекта
создание размеченного датасета реальных данных. Объем выборки зависит от
сложности задачи: для дообучения на специфическом шрифте может хватить 5001000 изображений, для создания модели, распознающей рукописный текст в
сложных условиях, потребуются десятки тысяч примеров. Весь процесс разметки
должен быть организован с использованием инструментов версионирования
данных (DVC, Pachyderm) для обеспечения воспроизводимости.
30.
3.Аугментация как ключевой фактор. Не следует недооценивать влияние
аугментации данных. Правильно сконфигурированный пайплайн augmentations,
имитирующий все виды деградаций, характерные для эксплуатационной среды
(блики, смаз, низкое разрешение, неравномерная яркость), может удвоить точность
модели без добавления новых реальных примеров. Рекомендуется использовать
библиотеку Albumentations в связке с PyTorch, применяя аугментации со случайными,
но контролируемыми параметрами.
31.
4. Постобработка и языковая модель. Выход нейросети (последовательность токенов) частосодержит предсказуемые ошибки, которые можно исправить статистическими или контекстными
методами. Для многих практических задач критически эффективным оказывается подключение
внешней языковой модели (например, n-граммной или на базе легковесной рекуррентной сети),
которая переранжирует гипотезы декодера. В задаче извлечения структурированных полей (даты,
ИНН, паспортные данные) постпроцессинг на основе регулярных выражений и валидации
контрольных сумм дает значительный прирост метрик.
5. Выбор runtime-окружения. Для серверного развертывания рекомендуется использование
оптимизированных инференс-движков: NVIDIA TensorRT (для GPU), OpenVINO (для CPU Intel),
ONNX Runtime. Они автоматически выполняют слияние слоев, квантизацию и эффективное
распределение вычислений, ускоряя инференс в 2-5 раз. Для мобильных устройств — TensorFlow
Lite или Core ML с обязательной INT8-квантизацией модели.
6. Контроль дрейфа модели (Model Monitoring). В эксплуатации характеристики входных данных
(формы бланков, качество печати, освещение) могут меняться с течением времени, что ведет к
незаметной деградации точности (Data Drift). Рекомендуется встроить в систему периодический
мониторинг метрик на выборке свежих данных и, при снижении показателей ниже порога,
инициировать процедуру дообучения модели на обновленных данных.
32. 2.7. Практические особенности обучения нейросетевых OCR-моделей
Обучение нейросетевой OCR-системы является многофакторным процессом, успехкоторого критически зависит от выбора гиперпараметров, стратегии оптимизации и грамотной
формализации функции потерь, особенно в условиях разреженных реальных данных.
33.
Комбинированные функции потерь. Несмотря на элегантность CTC Loss, напрактике для повышения сходимости и финальной точности применяются
комбинированные функции потерь. Помимо LCTCLCTC, в обучение часто
вводится терм, основанный на векторном представлении строк (например,
contrastive loss или center loss для визуальных эмбеддингов). Идея состоит в том,
чтобы эмбеддинг, полученный из изображения слова, был близок к эмбеддингу
того же слова, вычисленному текстовым кодировщиком в мультимодальном
пространстве, и далек от эмбеддингов других слов. Это помогает сети лучше
различать визуально похожие, но семантически разные цепочки символов
(«дом» и «дым»). Итоговая функция потерь принимает вид:
Ltotal=λ1LCTC+λ2LContrastive,Ltotal=λ1LCTC+λ2LContrastive,
где λ1,λ2λ1,λ2 - весовые коэффициенты, подбираемые эмпирически
(обычно 1.0 и 0.1–0.3 соответственно).
34.
Работа с дисбалансом классов и длиной текста. В реальных датасетах часто встречается резкийдисбаланс: короткие слова (артикли, союзы) встречаются в сотни раз чаще длинных и редких
терминов. Это приводит к тому, что модель «учится игнорировать» длинный текст, выдавая
обрывочные предсказания. Для борьбы с этим применяется взвешенный семплинг при
формировании батчей: вероятность попадания примера в обучающую выборку обратно
пропорциональна частоте его длины или категории. Альтернативно, можно использовать
технику SGD с неравномерным семплированием.