# Іван Дробот

## Middle AI / ML Engineer | Computer Vision, OCR, LLM Automation

[ivan.drobot.ec@gmail.com](mailto:ivan.drobot.ec@gmail.com)

## Профіль

Я Middle AI / ML Engineer із понад 4 роками практичного досвіду в комп’ютерному зорі, OCR та розробці AI-систем для реального використання.

Моя сильна сторона — не окремо “навчити модель”, а довести задачу до робочого продукту: зібрати дані, підготувати датасет, навчити й перевірити модель, оптимізувати інференс, інтегрувати рішення у backend/API та підтримувати його після запуску.

Найбільше працював із задачами детекції об’єктів, OCR, класифікації, сегментації, відстеження, аналізу якості зображень і LLM-автоматизації. Маю практичний досвід оптимізації моделей для CPU, GPU, Raspberry Pi, NVIDIA Jetson Nano та edge-пристроїв.

## Навички

- **Комп’ютерний зір:** детекція об’єктів, OCR, класифікація зображень, сегментація, відстеження, аналіз якості зображень, детекція облич
- **Розробка моделей:** PyTorch, CNN, трансформерні архітектури, перенесення навчання, дистиляція знань, підбір архітектури під конкретну задачу
- **Робота з даними:** збір, очищення, дедуплікація, балансування, аугментація, автоматична розмітка, пошук помилок у датасетах, підготовка навчальних, валідаційних і тестових вибірок
- **Синтетичні дані:** OpenCV, Blender, власні процеси генерації та рендерингу
- **Оптимізація інференсу:** ONNX, OpenVINO, TensorRT, FP16, INT8, INT4, інференс на CPU/GPU, розгортання на edge-пристроях
- **Backend та інфраструктура:** Python, FastAPI, REST API, PostgreSQL, Docker, Linux, Node.js, CI/CD, моніторинг і логування
- **LLM-автоматизація:** OpenAI API, Gemini API, AI-агенти, аналіз документів, класифікація, генерація звітів та автоматизація робочих процесів

## Досвід роботи

### AI / ML Engineer — власні продукти та клієнтські проєкти

**2021 — дотепер**

Працюю з повним циклом розробки ML-рішень: від даних і навчання моделей до інтеграції в API, оптимізації швидкодії та підтримки після запуску.

### Розробка моделей

- навчав спеціалізовані моделі для вузьких прикладних задач;
- працював із детекцією об’єктів, OCR, класифікацією, сегментацією, відстеженням і аналізом якості зображень;
- навчав OCR-моделі для CAPTCHA, серійних номерів, автомобільних номерів і текстових полів у документах;
- адаптував архітектуру, розмір входу й параметри навчання під конкретний пристрій або сценарій реального використання;
- застосовував дистиляцію знань для створення компактніших моделей без суттєвої втрати якості.

### Робота з даними

- збирав дані з відкритих джерел і внутрішніх систем;
- очищував датасети, прибирав дублікати, балансував класи та перевіряв якість розмітки;
- створював автоматизовані інструменти для пошуку помилок у мітках, аномалій і складних негативних прикладів;
- генерував синтетичні дані за допомогою OpenCV, Blender і власних процесів рендерингу;
- працював із датасетами обсягом до 1,5 мільйона зображень.

### Оптимізація та впровадження

- експортував моделі в ONNX, OpenVINO та TensorRT;
- виконував квантування у FP16, INT8 та INT4;
- оптимізовував моделі для відеопотоків, API-сервісів, пакетної обробки та інференсу в реальному часі;
- підвищував FPS і зменшував затримку за рахунок оптимізації попередньої обробки, післяобробки, batch size та backend для інференсу;
- інтегрував моделі у backend-сервіси та REST API;
- налаштовував Docker-оточення, Linux-сервери, CI/CD, моніторинг і підтримку систем у реальній експлуатації.

## AVTONOMER — хмарна ANPR-платформа

AVTONOMER — це хмарна ANPR-платформа для контролю доступу транспортних засобів. Система працює з відеопотоками, знаходить автомобілі та номерні знаки, розпізнає текст номера, відстежує рух авто в кадрі, створює події, зберігає дані в хмарі та дає можливість віддалено керувати об’єктами.

У цьому проєкті я відповідав не тільки за ML-частину, а й за інтеграцію моделей у продуктову архітектуру.

**Що зробив:**

- створив і підготував великі спеціалізовані датасети;
- навчив моделі детекції, OCR і класифікації для ключових етапів обробки;
- розробив алгоритми трекінгу автомобілів у відеопотоці, щоб коректно визначати в’їзд, виїзд, напрям руху та уникати дублювання подій;
- оптимізував інференс для високої швидкості роботи на CPU;
- інтегрував ML-компоненти у backend/API та загальний цикл обробки подій;
- налаштував розгортання, моніторинг і подальше покращення моделей на основі реальних даних із системи.

### Результати

Показники отримані на внутрішніх тестових вибірках; швидкість виміряна на 8-ядерному CPU.

| Компонент | Датасет | Якість | Швидкість |
|---|---:|---:|---:|
| Детекція транспортних засобів | 1,5 млн зображень | 96% mAP@0.5:0.95 | до 200 FPS |
| Класифікація типу, бренду, моделі, кольору, року випуску та коду кузова | 400 тис. зображень | точність 99% | до 500 FPS |
| Детекція номерних знаків | 200 тис. зображень | 98,1% mAP@0.5:0.95 | до 150 FPS |
| OCR автомобільних номерів | 700 тис. зображень | точність 99,91% на 45 тис. тестових зображень | до 160 FPS |

## Детекція людей на тепловізійних та IR-зображеннях

Задача полягала в тому, щоб стабільно знаходити людей на тепловізійних та інфрачервоних зображеннях. Окремий акцент був на дрібних і віддалених об’єктах, які займають малу частину кадру.

Модель готувалася для запуску на NVIDIA Jetson Nano, тому важливими були не тільки точність, а й швидкість інференсу.

**Що зробив:**

- зібрав датасет із близько 100 тис. зображень: 70 тис. реальних і 30 тис. синтетичних;
- створив синтетичні приклади за допомогою OpenCV і 3D-сцен у Blender;
- підготував навчальні дані з фокусом на дрібні об’єкти та складні умови видимості;
- навчив модель RF-DETR для детекції людей;
- експортував модель у TensorRT і розгорнув її на NVIDIA Jetson Nano.

### Результати

| Компонент | Архітектура / платформа | Датасет | Результат |
|---|---|---:|---:|
| Детекція людей на тепловізійних / IR-зображеннях | RF-DETR | близько 100 тис. зображень: 70 тис. реальних і 30 тис. синтетичних | 96% mAP@0.5:0.95, зокрема висока точність для дрібних об’єктів |
| Інференс на edge-пристрої | TensorRT, NVIDIA Jetson Nano | повний процес детекції | до 60 FPS |

## Автоматичне зчитування промокодів DORITOS

Потрібно було автоматично зчитувати промокоди з фотографій упаковок DORITOS. На практиці це були не “чисті” зображення: упаковка могла бути повернута, деформована, частково засвічена, а сам код був надрукований специфічним крапковим шрифтом.

Обробка йшла поетапно: спочатку знайти область з кодом, потім вирівняти текст, виділити окремі символи, розпізнати їх і зібрати фінальний промокод.

**Що зробив:**

- підготував спеціалізовані датасети для кожного етапу обробки;
- навчив Mask R-CNN для сегментації області з текстом;
- навчив модель визначення орієнтації, щоб приводити текст до правильного положення;
- розробив детекцію символів для нестандартного крапкового шрифту;
- навчив модель класифікації символів;
- об’єднав усі етапи в єдиний OCR-процес.

### Результати

Показники є орієнтовними та отримані на внутрішніх тестових вибірках.

| Компонент | Архітектура / задача | Датасет | Результат |
|---|---|---:|---:|
| Сегментація області з промокодом | Mask R-CNN | близько 50 тис. зображень | висока якість сегментації |
| Визначення орієнтації зображення | Класифікація зображень | близько 20 тис. зображень | точність близько 99% |
| Детекція символів крапкового шрифту | Детекція об’єктів | близько 1 тис. зображень | близько 98% |
| Класифікація символів | Класифікація зображень | близько 100 тис. зображень | точність близько 99% |

## Автоматичний контроль якості професійних фотосесій

Для італійської компанії розробив систему автоматичного контролю якості професійних фотосесій. Вона допомагала швидко відфільтровувати фотографії з технічними дефектами перед передаванням матеріалів клієнтам.

Система перевіряла три основні типи проблем: розмиття переднього плану, помилки експозиції та небажані стани очей у людей на фото.

**Що зробив:**

- підготував і перевірив спеціалізовані датасети для кожного типу дефектів;
- навчив окремі моделі для виявлення розмиття та проблем з експозицією;
- інтегрував готову модель детекції облич;
- навчив класифікатор стану очей за п’ятьма класами: відкриті очі, закриті очі, закрите одне око, погляд униз, окуляри;
- об’єднав моделі в єдиний процес перевірки фотографій.

### Результати

Показники є орієнтовними та отримані на внутрішніх тестових вибірках.

| Компонент | Архітектура / задача | Датасет | Результат |
|---|---|---:|---:|
| Виявлення розмиття переднього плану | Класифікація зображень | близько 50 тис. зображень | точність близько 98% |
| Виявлення проблем з експозицією | Класифікація зображень | близько 50 тис. зображень | точність близько 99% |
| Детекція облич | Попередньо навчена модель | готова модель | інтегрована без додаткового навчання |
| Класифікація стану очей | Класифікація зображень за 5 класами | близько 100 тис. зображень облич | точність близько 98% |

## Розпізнавання складної CAPTCHA

Розробив OCR-систему для CAPTCHA зі складними візуальними спотвореннями: символи частково перекривали один одного, а текст додатково перетинали горизонтальні лінії. Реальних прикладів було недостатньо, тому основою рішення став генератор синтетичних даних.

**Що зробив:**

- розробив генератор синтетичних CAPTCHA з варіативними символами, частковими перекриттями та горизонтальними лініями;
- створив синтетичний датасет із 100 тис. повних зображень CAPTCHA;
- навчив модель детекції символів;
- сформував датасет із 600 тис. окремих символів і навчив модель їх класифікації;
- реалізував післяобробку: сортування символів за позицією та складання фінального тексту;
- розгорнув рішення як API, оптимізоване для роботи на CPU.

### Результати

Показники точності є орієнтовними та отримані на внутрішніх тестових вибірках. Швидкість виміряна для повного API-процесу на CPU.

| Компонент | Датасет | Результат |
|---|---:|---:|
| Генерація синтетичних CAPTCHA | 100 тис. зображень | спеціалізований навчальний датасет |
| Детекція символів | 100 тис. зображень CAPTCHA | близько 98% |
| Класифікація символів | 600 тис. зображень символів | точність близько 99% |
| Повний API-процес | Детекція, класифікація та післяобробка | близько 50 FPS на CPU |

## Розпізнавання та класифікація купонів у журналах супермаркетів

Задача полягала в тому, щоб перетворювати фотографії та скани рекламних журналів супермаркетів у структуровані дані. Система мала знайти товарні купони на сторінці, вирізати кожен із них, розпізнати текст і визначити тип пропозиції.

**Що зробив:**

- створив датасет для детекції об’єктів із близько 15 тис. зображень;
- поєднав близько 4 тис. реальних сторінок із близько 11 тис. синтетичних прикладів;
- розробив генератор синтетичних сторінок і варіацій розміщення купонів;
- навчив модель детекції купонів на основі Faster R-CNN;
- реалізував точне вирізання знайдених купонів і конвертацію зображень у WebP;
- інтегрував Google Cloud Vision API для розпізнавання назв, цін та описів;
- навчив моделі класифікації купонів за типами товарів і промоакцій.

### Результати

Показники є орієнтовними та отримані на внутрішніх тестових вибірках.

| Компонент | Архітектура / сервіс | Датасет | Результат |
|---|---|---:|---:|
| Детекція купонів | Faster R-CNN | близько 15 тис. зображень: 4 тис. реальних і 11 тис. синтетичних | близько 97% |
| Розпізнавання тексту | Google Cloud Vision API | вирізані зображення купонів | OCR назв, цін та описів |
| Класифікація купонів | ResNet, FasterViT | близько 40 тис. зображень | точність близько 96% |
| Обробка зображень | Точне вирізання та WebP | результати детекції | оптимізовані зображення окремих купонів |

## Детекція документів пільгових пасажирів у громадському транспорті

Розробив модель для детекції документів, які пасажири показують при вході в громадський транспорт для підтвердження права на пільговий проїзд. Камери встановлювалися в передній частині салону, тому документ часто був малим, під кутом або частково перекритим рукою.

Через обмежену кількість реальних сцен основний датасет був синтетичним, але побудованим на реальних фото документів і салонів автобусів.

**Що зробив:**

- підготував близько 10 тис. реальних фотографій документів;
- згенерував близько 30 тис. синтетичних сцен із різними салонами автобусів;
- варіював масштаб, перспективу, освітлення, положення документа та часткові перекриття;
- автоматизував створення розмітки для детекції;
- навчив модель RT-DETR для локалізації пред’явлених документів;
- перевірив якість на окремій тестовій вибірці.

### Результати

| Компонент | Архітектура | Датасет | Результат |
|---|---|---:|---:|
| Детекція пред’явлених документів | RT-DETR | близько 30 тис. синтетичних зображень на основі 10 тис. реальних фото документів | 96% mAP@0.5:0.95 |

## Класифікація фотографій автомобільних запчастин

Розробив модель для автоматичного сортування фотографій автомобільних запчастин. Мета була проста: визначати тип запчастини на фото й розкладати зображення за правильними категоріями без ручного перегляду великих каталогів.

**Що зробив:**

- підготував і перевірив датасет із близько 140 тис. зображень автомобільних запчастин;
- виконав очищення даних, перевірку міток і підготовку навчальних, валідаційних і тестових вибірок;
- навчив модель класифікації на основі ResNet;
- оптимізував попередню обробку та параметри навчання для стабільного розпізнавання різних категорій запчастин;
- інтегрував модель у процес автоматичного сортування фотографій.

### Результати

| Компонент | Архітектура | Датасет | Результат |
|---|---|---:|---:|
| Класифікація автомобільних запчастин | ResNet | близько 140 тис. зображень | точність 99% |

## Технології та архітектури

- **Детекція:** Faster R-CNN, SSD, YOLO, DETR, RT-DETR, RF-DETR, DEIM
- **Сегментація:** Mask R-CNN, YOLO Segmentation, RF-DETR Segmentation, SAM
- **Класифікація / базові архітектури:** ResNet, EfficientNet, MobileNet, FasterViT
- **OCR:** PARSeq, CRNN, Google Cloud Vision API
- **Моделі ознак / фундаментальні моделі:** DINO
- **ML / комп’ютерний зір:** Python, PyTorch, OpenCV, Transformers
- **Оптимізація:** ONNX, OpenVINO, TensorRT, FP16, INT8, INT4
- **Backend:** FastAPI, REST API, PostgreSQL, Node.js
- **Інфраструктура:** Docker, Linux, CI/CD, моніторинг, логування
- **LLM та AI-агенти:** OpenAI API, Gemini API, Codex, Google Antigravity

## Професійні інтереси

Цікавлять задачі на стику ML, Computer Vision, OCR, LLM-автоматизації та production AI-систем.

Найбільш релевантні для мене проєкти — ті, де потрібно створити повноцінне практичне рішення: від даних і навчання моделі до інтеграції, розгортання, моніторингу та подальшого покращення на основі реального використання.

## Мови

- **Українська:** рідна
- **Англійська:** A2 — базовий рівень

## Формат роботи

- Повна або часткова зайнятість
- Проєктна або фриланс-співпраця
- Віддалений, гібридний або офісний формат
