AI Vision — УЗТ формыПриватный
Описание и детали проекта
Задача
Нужно было убрать ручной перенос данных с бумажных черновиков УЗТ (ультразвуковой контроль толщины) в цифровой контур. Операторы заполняют шапку, таблицу и сетку замеров I–IV от руки; ошибки и неоднозначные цифры дорого обходятся при передаче в ERP.
Цель проекта — локальный пайплайн: фото/скан формы → структурированный result.json с полями и confidence, плюс отчёт для человека (review.html / review.csv), а не «магический» end-to-end без контроля.
Критерии готовности: воспроизводимый прогон на одном файле и на batch, статусы полей (ok / review / error / empty), оценка на golden set, задел под legacy-payload для интеграции с внутренним контуром (фаза 2).
Решение
Собран гибридный контур CV + OCR + vision LLM:
- Python CV-пайплайн — препроцессинг, QR, детекция таблицы и чернил, PaddleOCR для печатного текста, EasyOCR для рукописных замеров.
- TypeScript-оркестрация — вызовы API, нормализация схемы (zod), сбор артефактов в
data/output/{imageId}/. - Vision LLM (OpenRouter) — три прохода: шапка, строки таблицы, сетка замеров.
- Confidence engine — слияние сигналов OCR + LLM + CV, доменная валидация и verify-pass второй моделью.
- Golden set и бенчмарки — редактор golden в браузере,
evaluate, сравнение моделей по точности/времени/стоимости; отдельный путь fine-tune TrOCR (датасет, notebook, документация).
Оператор видит подсветку сомнительных полей и правит до выгрузки, а не принимает «сырой» OCR как истину.
Архитектура и стек
Оркестрация: TypeScript, Node (tsx), sharp, zod, dotenv / undici.
Распознавание: Python (requirements.txt), PaddleOCR, EasyOCR, опционально TrOCR + Jupyter notebook для дообучения.
LLM-слой: OpenRouter (ключи в .env), многопроходные промпты под структуру формы УЗТ.
Данные: data/golden (шаблоны, labels, jsonl), data/erp-cache, выходные preprocessed.jpg, cv.json, result.json, review.html, review.csv, заглушка legacy-payload.json.
Документация: пилот, hardware requirements, comparison OCR vs ERP, runbooks по TrOCR и lab-eval loop.
Распределение языков в репозитории: TypeScript (48%), Python (37%), HTML (15%), Jupyter (1%).
Ключевые функции
- Распознавание одного файла и пакетный режим (
recognize,recognize:batch,recognize:cv-only). - Отчёт для проверки с цветовой кодировкой по порогам
CONFIDENCE_OK/CONFIDENCE_REVIEW. - Оценка на golden set и bootstrap датасета для TrOCR.
- Браузерный редактор golden (
golden:edit) для разметки эталонов. - Бенчмарк моделей: точность, время, стоимость API.
- Документированный путь к ERP-интеграции без смешивания пилота и прод-контракта.
Результат
Пилот закрывает ключевой сценарий: с фото черновика УЗТ получается проверяемый структурированный результат и артефакты для оператора. Есть контур качества (golden / evaluate / benchmark) и план fine-tune TrOCR под доменные рукописные цифры. Проект в активной разработке; выгрузка в ERP вынесена во вторую фазу через legacy-payload.
Репозиторий закрытый — в портфолио зафиксированы архитектура и стек без публикации сырых форм и моделей заказчика.
Что бы улучшил
Довёл бы verify-pass и пороги confidence до калибровки на更大шем golden set, добавил бы e2e на CI с фикстурами без секретов API и стабилизировал бы контракт legacy-payload с владельцами ERP до широкого rollout.
Частые вопросы
Что распознаёт ai-vision?
Рукописные черновики форм ультразвукового контроля толщины (УЗТ): шапку, строки таблицы и сетку замеров — в структурированный JSON с оценкой уверенности.
Какой стек используется?
TypeScript-оркестрация (sharp, zod), Python CV/OCR (PaddleOCR, EasyOCR), vision LLM через OpenRouter, оценка на golden set и опциональный fine-tune TrOCR.
Можно ли посмотреть исходники?
Репозиторий закрытый: на странице описаны архитектура и стек без публикации данных заказчика и моделей.
Информация о проекте
CommercialIn Development
- Создано: 25 Jun 2026
- Обновлено: 12 Sep 2026
