Таймкоды
00:00:00 Введение и цель видео
- Приветствие зрителей, интересующихся робототехникой и машинным зрением.
- Объяснение цели видео: обучение робота распознаванию ориентиров на участке для навигации.
- Необходимость сбора данных с разных сторон объектов в разное время дня и погоду.
00:00:25 Процесс разметки датасета
- Описание процесса сохранения изображений с камер и создания аннотированного датасета.
- Трудности ручной разметки: необходимость выделения прямоугольников и указания объектов на каждом кадре.
00:00:48 Попытка автоматизации разметки
- Использование помощников для разметки в CoCoAnnotator и Rabbio.
- Идея автоматизации процесса с помощью новой нейросети YOLOv3 от Маска.
00:02:07 Проблемы с YOLOv3
- Модель YOLOv3 не всегда правильно распознаёт объекты, особенно распространённые, например, ёлку.
- Сложности с подбором запросов для точного распознавания объектов.
00:02:46 Поиск альтернативных решений
- Переход к изучению Ground Truth и автодистиллятора от Rabbio.
- Преимущества автодистиллятора: подготовленная инфраструктура и возможность настройки процента уверенности.
00:03:10 Заключение
- Подчёркивание преимуществ использования автодистиллятора по сравнению с ручной разметкой.
- Обещание повышения качества распознавания объектов после обучения быстрых моделей на аннотированном датасете.
- Прощание с зрителями и призыв подписаться, поставить лайк и оставить комментарий.
Таймкоды в неросети https://300.ya.ru/v_5MiRw4CZ/
В этом видео
Начало
0:00
Всем интересующимся робототехникой и машинным зрением, привет! Чтобы быть в контексте, если ещё
0:05
не смотрели, гляньте это моё видео. В нём я рассказываю, как дошёл до жизни такой, что
0:09
сейчас в моём роботе четыре камеры. Я планирую обучить его распознаванию ориентиров на моём
0:14
участке. По ним строить навигацию, чтобы привязать распознавание именно к моим объектам. Как снег
0:19
сойдёт, нужно поездить роботом с разных сторон вокруг этих самых ориентиров. В разное время дня.
0:24
В разную погоду. Раз в секунду или около того, нужно сохранять картинки со всех камер эти изображения.
0:30
Потом собирать в аннотированный датасет — вот на кадре ёлка. Вот солнечные батареи. Вот дом и так
Аннотация
0:35
далее. По этому датасету обучить нейронку и дело в шляпе. Разметка, то есть аннотация датасета, дело
0:42
крайне муторно и неинтересное. Нужно на каждом из тысяч кадров выделить прямоугольник и указать — это
0:48
ёлка. Я уже занимался разметкой и в COCO anotator, и в Roboflow. Да, там есть помощники. Начав разметку новой порции
0:55
изображений, можно использовать свою же, ранее обученную модель для помощи. И, всё равно,
1:01
процесс этот занимает долгие дни у компа. «Вот бы этот муторный процесс автоматизировать!» — подумал я.
Я есть Грок!
1:07
Так совпало, что именно в этот день в телегу пришёл анонс новой нейронки Grok 3 от Маска.
1:12
Вот я и решил заодно проверить возможности этой вумной машины. Пришла мне в голову одна идея. Обсудил
1:18
её с Грогом. Тот сказал, что мысль дельная! Впрочем, он по-умолчанию всегда поддерживает собеседника,
1:24
так мне показалось. И это правильно! Тогда я попросил его набросать каркас приложения и
1:28
собрать документацию. Ссылка на отходники, как обычно, в описании. Идея простая. Я давно слышал
Идея!
1:33
о варианте YOLO с открытым словарём. В ней, якобы, можно на английском написать: «дом с оранжевой
1:38
крышей» и дома с синей или коричневыми крышами не будут распознаны в этом классе. Отлично! Пусть
1:43
она и занимается анотацией. Остаётся этим датасетом дообучить подходящую мне быструю и узкую модель.
1:49
Ту, что я буду использовать на роботе. Это одна из свёрточные нейронных сетей типа
1:52
YOLO или нейросеть, построена на трансформерах. Типа RT-DETR. В этот раз я не написал ни строчки кода. Всё
Реализация
1:58
сделал Грок-3. С другой стороны, этим ИИ помощником мог оказаться и ChatGPT, и Sonet от Cloude, и DeepSeek.
2:05
Конкуренция в ИИ сфере творит чудеса! Запустил и понял … что гладко было на бумаге! Оказалась YOLO
Облом c YOLO World
2:11
World так себе модель. Она действительно находит объекты, но далеко не все. Как я понимаю, словарь
2:15
у неё большой. Но очень далёк по наполнению от любой копеечной LLM. То что было в начальной COCO
2:20
разметке, что было векторизировано через CLIP, она понимает. Я с полчаса пытался подобрать запрос,
2:25
чтобы найти на кадре ёлку! При этом чтобы сеть не потеряла гостевой дом. Но эффект был
2:30
удручающий. Персону, кружку и ложку она находит легко. А ёлку — нет! Казалось бы, объект распространённый. Растёт везде!
2:35
Я пробовал ель, пихту, новогоднее дерево, просто дерево. Нет и всё! Она будто издевалась надо мной,
2:40
говоря: «Рамечай сам, Олег. Мне лень!». Так я начал искать другие — медленные, но более качественные
Grounding DINO
2:45
по распознаванию модели. Ведь мне неважно на этапе разметки, будет аннотация картинки занимать
2:50
секунду или 10 секунд. Поставлю на ночь комп жужжжать видюхой, не проблема. Тот же Грок подсказал
2:54
разные варианты детекторов покруче. Я начал изучать Grounding DINO. В описании DINO есть множество готовых
3:00
примеров решения той же задачи, с использованием Roboflow и без него. Это, хоть и поубавило мой пыл якобы первооткрывателя. Но и дало надежду, что технология эта будет хооршо развита. От примеров DINO я перешёл в autodistill от roboflow. Где всю инфраструктуру уже подготовили и развили. Остаётся сформулировать поисковые фразы,да выбрать одного из
Autodistill
3:20
провайдеров (base model, в терминах автодистилятора) Добавил настройку процента уверенности
3:24
повыше и запустил процесс. Конечно же, датасет после робо-аннотации нужно будет вручную
3:29
листать и проверить на ошибки. Но этот труд в разы легче ручной разметки с нуля всей кучи
3:34
отснятых изображений. Дообучив быструю модель этим датасетом, именно моих объектов, снятых
Дообучение
3:39
именно снизу, с высоты робота. Именно на его камеры, я значительно повышу качество ресолва
3:44
и общую зрячего именно этого робота, именно в этом месте. Вот и всё что я хотел рассказать
3:48
в этом видео. Не забудьте подписаться, оставить лайк и комментарий. Всем пока. До новых встреч!

