«Voron»: мій шлях від ідеї до робочої ШІ-моделі для FPV-дронів за 48 годин
Вітаю, спільното DOU! Мене звати Олександр Шинкаренко, мені 19 років, і це моя перша стаття тут. Я не працюю в ІТ-компанії й не маю формальної технічної освіти. Я — самоучка, який зацікавився машинним зором і вирішив використати цю технологію для допомоги нашим військовим.
У цій статті я хочу поділитися власним досвідом — як за 48 годин я створив дві робочі моделі штучного інтелекту, здатні розпізнавати цілі на відео з FPV-дронів. Без команди, без бюджету, лише з Google Colab, відкритими інструментами й великою кількістю навчальних матеріалів.

Як усе почалося
Два тижні тому я побачив відео, у якому показували, як можна навчити FPV-дрон слідкувати за ціллю за допомогою нейромережі. Мене це вразило. Я подумав: якщо інші можуть — то й Україна має мати власні такі розробки.
На той момент мій досвід роботи з машинним навчанням і комп’ютерним зором дорівнював практично нулю. Усе, що я знав про нейромережі, походило з кількох статей і відео на YouTube. Але це мене не зупинило. Я вирішив, що найкращий спосіб навчитися — це почати робити.
Я почав готувати дані: збирав відео, вирізав кадри, розмічав цілі вручну. Частину кадрів я записав сам, частину взяв із відкритих джерел. Це був мій перший досвід створення датасету для машинного зору, тому багато речей довелося освоювати прямо на ходу.
Підготовка датасету: два тижні монотонної роботи
Для розмітки я використовував CVAT (Computer Vision Annotation Tool) — відкриту платформу, яка дозволяє зручно розмічати об’єкти на зображеннях. Процес виявився набагато складнішим, ніж я очікував.
Кожен кадр потрібно було уважно проаналізувати, обвести об’єкт у bounding box і присвоїти йому правильний клас. Я розмічав п’ять категорій об’єктів:
- Людина.
- Броньована техніка.
- Трак (легка військова техніка).
- Дрон.
- Машина (цивільні та військові автомобілі).
Два тижні я витратив на розмітку даних. Це була монотонна, втомлива робота, але саме вона стала фундаментом для всього проєкту. Я розумів: якість моделі напряму залежить від якості датасету. Тому кожен кадр я перевіряв двічі, виправляючи помилки та уточнюючи межі об’єктів.
Найбільший виклик полягав у тому, що я робив усе це вперше. Не було досвіду, не було наставника. Довелося самостійно шукати відповіді на питання: як правильно розмічати частково перекриті об’єкти? Що робити з розмитими кадрами? Як обробляти маленькі об’єкти на горизонті?
Але поступово я розібрався в процесі. І через два тижні в мене був готовий датасет для початку експериментів.
Експеримент: 48 годин від нуля до результату
Коли дані були готові, я вирішив перевірити себе: чи зможу за 48 годин створити робочу модель з нуля? Це був свідомий виклик — без сну, з мінімальними перервами, повністю зосереджений на одній меті.
Поставив собі чіткі рамки: 48 годин, щоб навчити дві моделі різної складності та порівняти їхні результати.
Технології та інструменти
Я працював із Python 3, використовуючи OpenCV для обробки зображень і підготовки відео.
Для самої моделі я обрав Ultralytics YOLO — відкритий, добре задокументований фреймворк для задач детекції об’єктів. YOLO (You Only Look Once) — це сімейство архітектур нейронних мереж, які спеціалізуються на швидкому розпізнаванні об’єктів у реальному часі.
Я обрав дві архітектури для порівняння:
- YOLOv8s (Small) — для швидкого прототипу v0.1, легкої моделі, яка має працювати максимально швидко.
- YOLOv8m (Medium) — для більш потужної моделі v0.2, яка має показати кращі результати розпізнавання.
Навчання я проводив у Google Colab з GPU T4. Це безплатне, але потужне середовище, яке дозволяє швидко запускати експерименти без власного обладнання. Для студента чи самоучки без доступу до дорогих серверів — це просто порятунок.
Навчання моделей: цифри та факти
Обидві моделі я тренував протягом 100 епох. Епоха — це один повний прохід через весь датасет під час навчання. Чим більше епох, тим краще модель «вивчає» дані, але також зростає ризик перенавчання (overfitting).
Ось порівняльна таблиця двох моделей:
|
Метрика |
Модель v0.1 (Демо) |
Модель v0.2 (Базова) |
|
Архітектура |
YOLOv8s |
YOLOv8m |
|
Обсяг датасету |
2 100 зображень |
13 890 зображень |
|
Кількість класів |
4 |
5 |
|
Кількість епох |
100 |
100 |
|
Час навчання (загалом) |
≈ 40 хвилин |
7.324 години |
|
Час на епоху (середній) |
≈ 0.4 хвилини |
≈ 4.0 хвилини |
|
Фінальний mAP@50 |
≈ 0.70 |
0.794 |
|
Фінальний mAP@50-95 |
≈ 0.33 |
0.543 |
|
Розмір моделі |
≈ 21.5 МБ |
≈ 52.1 МБ |
|
Швидкість (FPS на T4) |
≈ 38 |
≈ 38 |
Що означають ці метрики:
- mAP (mean Average Precision) — це стандартна метрика для оцінки якості моделей детекції об’єктів. Вона показує, наскільки точно модель знаходить об’єкти та наскільки правильно визначає їхні межі.
- mAP@50 — точність при пороговому значенні IoU (Intersection over Union) 50%. Це означає, що передбачення вважається правильним, якщо воно перекривається з реальним об’єктом хоча б на 50%.
- mAP@50-95 — середня точність при порогових значеннях від 50% до 95%. Це більш строга метрика, яка вимагає точнішого визначення меж об’єктів.
Результат v0.2 з mAP@50 = 0.794 означає, що модель правильно визначає близько 80% об’єктів з прийнятною точністю. Для моделі, створеної за 48 годин самоучкою без попереднього досвіду — це доволі гідний результат.
Різниця між v0.1 та v0.2
Основна відмінність між двома моделями — це обсяг даних для навчання. Модель v0.1 тренувалася на 2100 зображеннях і служила швидким «proof of concept» — доказом того, що підхід працює. Вона навчалася лише 40 хвилин.
Модель v0.2 отримала доступ до 13 890 зображень — майже в 7 разів більше. Це дозволило їй навчитися розпізнавати об’єкти в різноманітніших умовах: різна висота польоту, різний час доби, різні погодні умови, різні кути огляду.
Час навчання v0.2 склав понад 7 годин. Це означає, що я не спав майже всю ніч, спостерігаючи за графіками loss функцій, перевіряючи проміжні результати після кожних
У відео, яке я підготував для демонстрації, чітко видно різницю: v0.1 часто «сліпа» до цілей, пропускає об’єкти або помилково класифікує їх. А от v0.2 уже стабільно розпізнає об’єкти на відео, навіть коли вони частково приховані або знаходяться на складному фоні.
Робота voron-v0.1
Робота voron-v0.2
Моя роль у процесі
Я не писав код з нуля — але займався всім іншим:
- Підготовкою та розміткою кадрів.
- Налаштуванням конфігурацій YOLO.
- Підбором оптимальних гіперпараметрів навчання.
- Тренуванням моделей.
- Аналізом метрик і підбором архітектур.
- Тестуванням на реальних відео.
Мій підхід — максимально практичний. Я не маю формальної ІТ-освіти, але намагаюся розібратися в кожному етапі роботи з моделями комп’ютерного зору: від збирання датасету до аналізу результатів.
Основним джерелом знань для мене стали самі ШІ-асистенти. Так, я вчився за допомогою штучного інтелекту, щоб створити штучний інтелект. Кожне питання, кожна помилка, кожен крок — я консультувався з ШІ, читав документацію, дивився туторіали та знову експериментував.
За два тижні я пройшов шлях від повного новачка до того, хто може самостійно натренувати модель комп’ютерного зору з пристойними метриками. Це доводить, що бар’єр входу в ML/CV сьогодні значно нижчий, ніж здається.
Тестування та обмеження
Поки що всі тести проводилися на записаних відео, не в реальному часі. Це важливо розуміти: модель поки що не інтегрована в систему управління дроном і не працює в бойових умовах.
Мета цього етапу роботи — довести, що українські розробники навіть без великих ресурсів можуть створювати подібні рішення. Це доказ концепції, демонстрація можливостей, перший крок до чогось більшого.
Швидкість обробки на GPU T4 становить близько 38 FPS для обох моделей. Це досить швидко для real-time застосування, але потрібно розуміти, що в реальних умовах швидкість може падати через додаткові системні затримки, обробку сигналу з камери, передачу даних тощо.
Етика та відповідальність
Створення технологій для військового застосування завжди має етичні питання. Я усвідомлюю відповідальність і серйозність того, що роблю.
Саме тому я ухвалив кілька принципових рішень:
- Закритість коду. Модель не буде відкритою. Усі передачі відбуватимуться лише під NDA (угодою про нерозголошення).
- Контроль використання. Перед будь-яким реальним впровадженням я працюватиму над системами захисту, які максимально убезпечать цивільних.
- Передача лише перевіреним партнерам. Технологія передаватиметься лише українським військовим структурам після ретельної перевірки та верифікації.
Я розумію: будь-яка технологія може бути використана як для захисту, так і для нападу. Але зараз наша країна захищається. І якщо я можу зробити хоч щось, щоб допомогти захисникам — я зобов’язаний це зробити, але з максимальною відповідальністю.
Навіщо я це роблю
Моя мета — не створити комерційний продукт, а зрозуміти, як ШІ може реально допомагати армії.
Людина втомлюється, ШІ — ні. Оператор дрона працює в екстремальних умовах, під стресом, часто вночі або в поганих погодних умовах. Його увага може послабнути, він може пропустити ціль через втому або стрес. Ші аналізує кожен кадр з однаковою уважністю, незалежно від того, перша це хвилина польоту чи третя година.
Якщо навчити дрон бачити чіткіше, швидше, стабільніше — це може врятувати життя. Життя наших бійців. Життя цивільних, які перебувають під обстрілами.
Я не вважаю себе розробником ШІ. Я просто хлопець, який побачив, що технології, які ми часто сприймаємо як «далекі» та «складні», можна реально застосовувати для захисту.
Що далі: версія 0.3 і тепловізійний спектр
Наступний етап — v0.3, модель, яка зможе розпізнавати об’єкти в тепловізійному спектрі. Тепловізійні камери дозволяють бачити об’єкти в повній темряві, крізь дим, туман, навіть крізь деяку рослинність. Це критично важливо для нічних операцій.
Але роботи з тепловізорами мають свою специфіку. Зображення виглядають інакше, температурні контрасти створюють інші патерни, потрібен зовсім інший датасет.
Для цього мені потрібна допомога спільноти.
- Дані для навчання. Тепловізійні кадри або відео військової техніки, навіть короткі уривки. Будь-яка інформація буде оброблена конфіденційно, під NDA.
- Допомога з розміткою. Якщо ви працювали з LabelImg, Roboflow, CVAT чи схожими інструментами, будь-яка участь буде неоціненною. Розмітка тепловізійних кадрів — це складна задача, яка вимагає розуміння специфіки термальних зображень.
- Технічний фідбек. Якщо ви маєте досвід із трекінгом об’єктів (не лише детекцією, а саме слідкуванням за об’єктом у часі) або оптимізацією YOLO для real-time роботи на обмежених пристроях, ваші поради допоможуть суттєво покращити проєкт.
- Експертиза з інтеграції. Якщо ви працювали з системами управління дронами, розумієте, як інтегрувати
ML-моделі в реальні системи — ваш досвід може стати ключовим для переходу від прототипу до робочого рішення.
Висновки
Цей проєкт довів мені кілька важливих речей.
- Технології доступні. Щоб почати працювати з ML та комп’ютерним зором, не потрібна дорога освіта чи обладнання. Потрібні лише цікавість, наполегливість і доступ до інтернету.
- ШІ може навчити створювати ШІ. Парадоксально, але факт: я навчався машинного навчання, консультуючись зі штучним інтелектом. Це відкриває неймовірні можливості для самоосвіти.
- Україна має потенціал. Якщо один
19-річний хлопець без команди може за 48 годин створити робочий прототип — уявіть, що можуть зробити сотні чи тисячі таких ентузіастів, якщо їх об’єднати та підтримати. - Кожен може допомогти. Не обов’язково бути професійним розробником, щоб зробити внесок у перемогу. Іноді достатньо просто спробувати, не боятися помилок і вчитися на ходу.
Я не знаю, чи стане «Voron» реальною бойовою системою. Можливо, це залишиться лише навчальним проєктом. Але якщо навіть один з моїх експериментів зможе підштовхнути когось зробити власний — значить, це було недаремно.
Якщо у вас є ідеї, фідбек, бажання допомогти або просто питання — пишіть. Це тільки початок шляху.
Слава Україні!
Сподобалась стаття? Підписуйтесь на автора, щоб отримувати сповіщення про нові публікації на пошту.

18 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів