Локальный ИИ · обучение · Vision/OCR
Локальный ИИ проверяет тетрадь по фото: почерк, домашнее задание и ошибки
Сфотографировать страницу тетради и попросить локальный ИИ «проверить домашнее задание» уже реально. Но надёжная система должна разделять две разные задачи: сначала понять, что именно написал ребёнок, а уже потом проверять решение. Если модель ошиблась в цифре, знаке или окончании слова, нельзя выдавать это за ошибку ученика.
Главная ошибка — смешать распознавание и проверку
Представим, что ребёнок написал в тетради 48 × 7 = 336. Vision-модель приняла цифру 7 за 1 и получила 48 × 1 = 336. Если сразу попросить эту же модель проверить ответ, она уверенно сообщит, что ребёнок ошибся.
Но настоящая ошибка возникла не в тетради, а на этапе распознавания. Поэтому система должна уметь отдельно отвечать на два вопроса:
Текст, числа, знаки, формулы, переносы строк, зачёркивания и структура страницы.
Математический результат, орфография, правило, ход решения или полнота ответа.
Архитектура проверки тетради по фото
Качество начинается не с модели, а с фотографии
Даже сильная vision-модель будет ошибаться чаще, если страница снята под острым углом, половина тетради в тени, линии пересвечены, а текст занимает небольшую часть кадра.
До запуска Vision/OCR полезно автоматически выровнять перспективу, повернуть страницу, нормализовать яркость и при необходимости увеличить нужный фрагмент. Это дешёвая операция, которая иногда даёт больший эффект, чем переход на более тяжёлую модель.
Что лучше: обычный OCR или vision-language model
| Подход | Сильная сторона | Слабая сторона |
|---|---|---|
| Классический OCR | Быстрый, лёгкий, выдаёт bounding boxes и confidence. | Сложнее с рукописью, формулами и нестандартной структурой. |
| Vision-language model | Понимает страницу целиком, взаимное расположение, текст, рисунки и смысл задания. | Тяжелее, может «додумывать» плохо видимые символы. |
| Гибрид | VLM разбирает страницу, OCR даёт координаты/confidence, предметный модуль проверяет ответ. | Сложнее архитектура, но выше контролируемость. |
Qwen3-VL: универсальная локальная vision-модель
Qwen3-VL — актуальное семейство мультимодальных моделей Qwen. В официальном репозитории заявлены расширенный OCR на 32 языках, понимание документов, spatial grounding и сильное мультимодальное reasoning, включая STEM и математику.
Для тетради это полезно сразу в нескольких местах: модель может понять, где условие, где решение, к какому примеру относится стрелка, какая строка зачёркнута и что именно нужно проверить.
Фото → структура страницы → распознанный текст → объяснение задания.
PaddleOCR-VL: когда важнее именно документ и OCR
В актуальной документации PaddleOCR-VL отдельно заявлены сложные элементы документов — текст, таблицы, формулы и графики — а также работа с рукописным текстом и историческими документами. Мультиязычная модель поддерживает 109 языков, включая русский.
Это делает PaddleOCR-VL интересным вторым кандидатом для школьной тетради: особенно если требуется не свободное описание страницы, а структурированный document parsing.
Распознавание текста, формул, структуры документа и мультиязычных страниц.
В более лёгком PP-OCRv5 есть отдельные East Slavic/Cyrillic recognition models. Но классический OCR и PaddleOCR-VL — не одно и то же: для сложной рукописной страницы VLM-подход обычно интереснее, а для хорошо читаемого печатного или аккуратного текста можно использовать более лёгкий OCR.
Почему детский почерк — сложнее обычного OCR
У взрослого печатного документа обычно есть стабильные шрифты, одинаковая высота строк и чёткие символы. В детской тетради встречаются исправления, соединённые буквы, неодинаковый наклон, слабый нажим, выход за клетку и незавершённые символы.
Поэтому система должна хранить не только «итоговый распознанный текст», но и координаты спорных фрагментов на исходном изображении. Родителю или ребёнку проще подтвердить символ, когда он видит увеличенный участок страницы.
Схема «распознать → подтвердить → проверить»
Самый важный UX-элемент — промежуточное окно проверки распознавания. Оно не обязано показываться для каждого слова. Достаточно выводить места, где модель не уверена или где ошибка особенно критична.
Вторая цифра — это 7?
Для полностью автоматического режима можно задать порог confidence. Например, уверенные фрагменты проверяются сразу, а всё ниже порога попадает в очередь подтверждения.
Как правильно проверять математику
После подтверждения распознанного выражения не обязательно просить LLM самой выполнять все вычисления. Для арифметики, уравнений и части школьной алгебры надёжнее использовать детерминированный код или CAS.
Получить «48 × 7 = 336».
Разобрать выражение и знак равенства.
Вычислить 48 × 7 программно.
Объяснить ход решения и дать новое упражнение.
Так LLM отвечает за педагогическую часть, а не за арифметическую истину. Для сложных задач система также может проверять промежуточные строки решения, но тогда нужно распознавать их порядок и логические переходы.
А как проверять русский язык
Здесь одной орфографической проверки тоже мало. Для учебного режима нужно знать, какое правило сейчас тренируется. Например, ошибка может быть случайной опечаткой, а может быть именно целевой ошибкой по теме «безударная гласная в корне».
Получить написанный ребёнком текст максимально буквально.
Найти потенциально неверные слова по словарю и правилам.
Определить, относится ли ошибка к навыку, который сейчас изучается.
Не исправлять сразу, а попросить ребёнка вспомнить нужное правило.
Для диктантов полезно хранить эталонный текст отдельно. Тогда система сравнивает распознанную запись с конкретным исходником, а не пытается угадывать, что ребёнок должен был написать.
Как связать фото тетради с домашним ИИ-репетитором
Проверка фотографии становится намного полезнее, если она не заканчивается красными подчёркиваниями. Найденные ошибки можно передавать в профиль ученика и использовать на следующем занятии.
Что сохранять в профиле ученика
Особенно важно хранить confirmed_by_user для спорных распознаваний. Тогда при анализе прогресса можно исключить случаи, где исходный OCR был ошибочным.
Почему local-first здесь полезнее обычного облачного OCR
Фотография школьной тетради может содержать имя ребёнка, класс, школу, подписи учителя и другие персональные сведения. Локальная обработка позволяет вообще не отправлять изображение во внешний API.
Насколько тяжёлая такая система
Обычный OCR может быть очень лёгким, а крупная VLM требует заметно больше памяти. Поэтому архитектуру стоит делать каскадной: простую страницу сначала обрабатывать лёгким OCR, а сложные или неуверенные случаи отправлять в vision-language model.
Распознать → проверить.
VLM → подтверждение → проверить.
Это снижает среднюю нагрузку и оставляет большую модель только для тех страниц, где она действительно нужна.
Как собрать рабочий MVP
- Начать с одного предмета. Например, арифметика 2–3 класса. Не пытаться сразу проверять любые тетради.
- Собрать реальные фотографии. 20–50 страниц с разным почерком, светом и качеством камеры.
- Протестировать Qwen3-VL и PaddleOCR-VL. Считать не «на глаз», а реальные ошибки символов и выражений.
- Добавить preprocessing. Обрезка страницы, перспектива, поворот, увеличение нужной области.
- Сделать промежуточный JSON. Текст, блоки, координаты, confidence и спорные фрагменты.
- Добавить подтверждение человеком. Сначала только для чисел, знаков и низкой уверенности.
- Написать предметный checker. Для арифметики — код, для языка — словарь/правила + LLM.
- Передавать ошибку ИИ-репетитору. Он объясняет правило и даёт похожее задание вместо готового исправления.
{
"page_id": "math-2026-09-21-01",
"subject": "math",
"items": [
{
"bbox": [148, 322, 620, 402],
"recognized": "48 × 7 = 336",
"confidence": 0.91,
"confirmed_by_user": true,
"check": {
"status": "correct"
}
},
{
"bbox": [150, 430, 618, 510],
"recognized": "72 - 38 = 44",
"confidence": 0.76,
"confirmed_by_user": false,
"check": {
"status": "waiting_for_confirmation"
}
}
]
}
Что такая система пока не должна обещать
- «Понимает любой детский почерк». Это неправда: качество сильно зависит от конкретной записи и фото.
- «Автоматически ставит школьную оценку». Ошибка OCR может исказить результат.
- «Проверяет весь ход решения без ошибок». Чем сложнее многострочное решение, тем больше неоднозначности.
- «Определяет причину ошибки ребёнка». LLM может предположить причину, но не знать её наверняка.
- «Заменяет проверку взрослого». Для важных контрольных результатов подтверждение человеком остаётся полезным.
Частые вопросы
Можно ли распознавать детский почерк полностью локально?
Да, локальные vision/document-модели уже умеют работать с рукописным текстом, но точность не гарантирована. Для детской тетради лучше проектировать подтверждение спорных символов.
Что лучше для тетради — Qwen3-VL или PaddleOCR-VL?
Qwen3-VL интересен как универсальная VLM с сильным visual reasoning и OCR. PaddleOCR-VL ориентирован на document parsing и прямо заявляет поддержку handwritten text и русского. Для продукта разумно протестировать оба на собственных тетрадях.
Можно ли проверять математику только LLM?
Можно, но для арифметики и формализуемых задач лучше использовать отдельный вычислительный checker. LLM оставить объяснение, вопросы и педагогическую обратную связь.
Нужен ли Интернет?
Нет после загрузки моделей. Фото, OCR/Vision, проверка и локальная LLM могут работать на домашнем ПК или сервере.
Можно ли сразу проверять целый разворот тетради?
Технически можно, но для первого прототипа надёжнее одна страница или даже одно упражнение. Так проще понять, где именно ошибается pipeline.
Можно ли хранить только ошибки, а фото удалять?
Да. После подтверждения распознавания можно сохранить структурированный результат и удалить исходное изображение, если оно больше не нужно.
Источники и проекты
Продолжить про локальный ИИ для обучения
Следующий материал

