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, порівняння 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-оркестрація, Python CV/OCR, vision LLM через OpenRouter, golden set і TrOCR fine-tune.
Інформація про проект
CommercialIn Development
- Створено: 25 Jun 2026
- Оновлено: 12 Sep 2026
