Обучение YOLOv8 для задачи инстанс сегментации (YOLOv8-seg)

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 142

  • @Koldim2001
    @Koldim2001  7 месяцев назад +1

    Если захотите визуализовать результаты работы (инференса) обученной нейронной сети, то очень советую посмотреть это видео - ruclips.net/video/nBQuWa63188/видео.htmlsi=z1Gl6Auv8QuYY_56
    Используйте для этого готовую библиотеку: pip install patched_yolo_infer

  • @HeviTarkov
    @HeviTarkov 7 месяцев назад +4

    Лучшая работа! Просто пушка, нашел сотню ответов на сотни моих вопросов!

    • @Koldim2001
      @Koldim2001  7 месяцев назад

      Очень рад что вам понравилось) можете глянуть и другие мои ролики

  • @double_t6016
    @double_t6016 2 месяца назад +1

    Умничка!☺️гении, на которых держится Россия, встаю на колени, за труды Ваши

    • @Koldim2001
      @Koldim2001  2 месяца назад

      @@double_t6016 спасибо ☺️

  • @neola_
    @neola_ 8 месяцев назад +3

    Добрый день) хотела тоже выразить благодарность, ваше видео прям очень помогло, спасибо огромное!

  • @dmitrykhomyakov8451
    @dmitrykhomyakov8451 10 месяцев назад +3

    Дмитрий огромное спасибо за столь подробное видео! Редкие видео такой длинны просматриваются полностью - это именно тот случай когда каждая минута видео несет ценную информацию! Порадовал раздел о разметке - подробное четкое описание, полное но без воды! Подписываюсь и ставлю лайк!

    • @Koldim2001
      @Koldim2001  10 месяцев назад +1

      Очень приятно. Советую посмотреть и другие видеоролики на канале. Надеюсь, тоже понравится))

  • @billiard2024-new
    @billiard2024-new 4 месяца назад +1

    Дмитрий, спасибо огромное! Отличный туториал - полно/понятно/интересно!

  • @АрсенийМедведев-и7о
    @АрсенийМедведев-и7о 6 месяцев назад +1

    Большое спасибо за длинный и подробный туториал

  • @capuer4uk
    @capuer4uk 2 месяца назад

    В видео по детекции было так много ньюансов и вопросов) А тут прям разжевано, как для бабушки без зубов

    • @Koldim2001
      @Koldim2001  2 месяца назад

      @@capuer4uk да это видео я снимал позже чем детекцию и уже учел все недоработки прошлого материала)) спасибо большое что смотрите)

  • @igormalev2871
    @igormalev2871 9 месяцев назад +1

    Спасибо огромное за уроки!!!!!!!!! Материал 🔥

  • @ДорианФриман
    @ДорианФриман 3 месяца назад

    Огромное спасибо Дмитрий.

  • @never2now
    @never2now 4 месяца назад +1

    Спасибо большое

  • @Sphynkx
    @Sphynkx 3 месяца назад

    Спасибо за туториал - внятно, четко подробно и по делу!! Особое спасибо за рассказ по CVAT - решились некоторые непонятки..
    Кстати, можно не править каждый раз конфиг Ультралитикса, если много разных тренингов. Вместо этого в ноутбуке перед запуском тренинга задать параметр командой:
    !yolo settings datasets_dir='/path/to/dataset_dir'
    и менять уже на месте..

    • @Koldim2001
      @Koldim2001  3 месяца назад

      Классно спасибо не знал про такое. Рад что смог помочь) по CVAT есть еще новое видео на канале мб тоже будет полезно для понимания как ускорить еще разметку

  • @shohinsayfiev2729
    @shohinsayfiev2729 10 месяцев назад +1

    Спасибо за видео!

    • @Koldim2001
      @Koldim2001  10 месяцев назад +1

      Рад помочь)

  • @torhristos115
    @torhristos115 6 месяцев назад +1

    Красава!!!✌️✌️✌️

  • @МаксимТалалаев-р5р
    @МаксимТалалаев-р5р 7 месяцев назад

    Дим, большая благодарность за труд и за настоящее видео👍
    Появилось несколько вопросов, исходя из видео:
    1. Как ускорить работу и качество работы сетки на камере в режиме живого времени?
    2. Повлияет ли на решение вопроса 1 подключение высокоскоростной камеры?
    3. Почему обработку проводите на ЦПУ, а не на видеокарте?
    4. Что позволит модели лучше отрабатывать:
    - фото лучшего качества
    - количество фото и их разнообразие для обучения
    - обучение на бОльшем количестве эпох
    - изменение гиперпараметров (например imgsz)?
    Есть производственная задача, которую пробую решить с помощью в т.ч вашего видео.
    Заранее благодарю за ответ.

    • @Koldim2001
      @Koldim2001  7 месяцев назад

      На видеокарте мощной на m модели можно до 40 кадров в секунду вытягивать. Чем больше размер модели тем ниже скорость. Так что стоит поэкспериментировать. Чтобы врубить видеокарту надо поставить на комп cuda и закачать пастора именно под эту версию cuda драйверов.
      Если у вас задача требует сверх точного обнаружения то посмотрите мое новое видео на канале как раз про эту тему.
      А так да надо экспериментировать с параметрами обучения чтобы добиться хороших результатов

    • @МаксимТалалаев-р5р
      @МаксимТалалаев-р5р 7 месяцев назад

      @@Koldim2001 что скажете про увеличение датасета и обучение на бОльшем количестве эпох?

    • @Koldim2001
      @Koldim2001  7 месяцев назад

      @@МаксимТалалаев-р5рчем больше данных и эпох тем больше шансов на успех)) это точно 😊

  • @vinegred1k131
    @vinegred1k131 8 месяцев назад

    Огромное спасибо за столь подробное видео!!!! Возник вопрос, можно ли как то на базе полученных данных реализовать примерное вычисление реального размера каждого найденного объекта(мм,см..)

    • @Koldim2001
      @Koldim2001  8 месяцев назад

      Можно пиксели перевести в метры если знать референс. То есть например на фото нашли какой-то объект который заранее знаете какого размера а дальше просто делаете пересчет пикселей в метры согласно нему

  • @elcolex777
    @elcolex777 5 месяцев назад +1

    По конвертации датасета из coco в yolo, а почему вы не используете скрипт от ultralytics json2yolo? Я по правде сказать попробовал его использовать и с первого раза не завелось)) использовал ваш репозиторий. Но вроде как они свой рекомендуют использовать

    • @Koldim2001
      @Koldim2001  5 месяцев назад

      Ну можно и их использовать но там из коробки не всегда работает качественно так что поэтому и написал свой репозиторий. К тому же у меня есть и опции с рэндом шафлом и удобной интеграцией через формат CVAT

    • @elcolex777
      @elcolex777 5 месяцев назад +1

      @@Koldim2001 вот у меня из коробки и не завелся) не перенес изображения в папку. Надо похоже скрипт поизучать. Я вот еще заметил, что координаты, которые переносятся вашим скриптом немного отличаются от тех которые ултралитиковский скрипт делает. Второй скрипт больше знаков после запятой оставляет. Впрочем, это видимо не существенно, так то координаты все очень похожие

    • @Koldim2001
      @Koldim2001  5 месяцев назад

      @@elcolex777 Ага все верно 👍🏻

  • @valeogamer
    @valeogamer 10 месяцев назад +1

    Спасибо за информативный видеоролик!❤ Я новичок во всем этом деле, но хотелось бы узнать возможно ли реализовать "в домашних условиях" моделт YoloV8-n и обучить только на своих данных?)

    • @Koldim2001
      @Koldim2001  10 месяцев назад

      Да именно про это это видео. Как обучать именно свою модель любого желаемого размера. Если интересует задача не сегментации, а детекции, то есть отдельное видео на моем канале где я подробно все показал

    • @valeogamer
      @valeogamer 10 месяцев назад +1

      @@Koldim2001 спасибо за информацию, обязательно гляну) Вам успехов)

    • @Koldim2001
      @Koldim2001  10 месяцев назад

      @@valeogamerспасибо))

  • @vladislavlymar
    @vladislavlymar Месяц назад

    А как дообучать модель? Добавляя новые картинки? Или взять например уже обученные классы из coco (например bus, person, dog) и добавить их в свою модель?

    • @Koldim2001
      @Koldim2001  Месяц назад

      Надо дообучить то значит надо к уже имеющемуся датасету на котором прежде обучалось добавить новые фотки свои и запустить заново обучение стартуя от предобученных весов

  • @ВладимирГрищенко-в2г
    @ВладимирГрищенко-в2г 7 месяцев назад

    Подскажи, пожалуйста, нужно ли для YoLo приводить изображения к одному и тому же размеру, и если нужно, то на каком этапе - до разметки этих изображений, или после?
    И ещё вопрос - если бы у нас был нож, но он был бы перекрыт, к примеру, твоей рукой, и в итоге разделён визуально на две части, то нужно ли было бы создавать один контур, игнорируя твою руку, или два (и можно ли указать, что два эти контура относятся к одному и тому же объекту)?
    А так, спасибо за невероятно познавательное видео, спасение для студента с дипломом по машинному обучению)

    • @Koldim2001
      @Koldim2001  7 месяцев назад

      Я обычно стараюсь размечать так чтоб если даже если перекрытие то маска это перекрытие как будто игнорирует. Как делал в примере на видео. Но тут все от случая зависит. Если важно именно видеть то что есть в кадре то лучше посторонние предметы классом не закрашивать. Так что это может повысить предиктивную способность сети
      По поводу ресайза то ела сама делает его под капотом. За это можно не париться. Величина ресайза imgsz можно задать при обучении сети и её же надо на инференса выбрать (обычно берут 640 чтоб как у базовой сети)

    • @ВладимирГрищенко-в2г
      @ВладимирГрищенко-в2г 7 месяцев назад

      @@Koldim2001 Твои видео просто алмазы, спасибо, Дим)
      P.S. А ты не знаешь, автоматический "разметчик" в CVAT (который выделяет маску объекта автоматически, когда ты ставишь точку на объекты) работает на каких-то предобученных сетях, или на тех масках, которые ты выделил до этого вручную?
      А если он работает на предобученных сетях, как он понимает, какой именно объект ты хочешь выделить - по наименованию лэйбла?

    • @Koldim2001
      @Koldim2001  7 месяцев назад

      @@ВладимирГрищенко-в2гэто SAM модель можешь про нее в инете прочитать. Она не разбирается что за классы она просто пытается предсказать что за контур объекта по точкам что ты указал так что относишь к тому или иному классу уже ты самостоятельно он лишь полигоны поможет построить. Спасибо за фидбэк))

  • @МаксимПутютин
    @МаксимПутютин 10 месяцев назад +1

    Оч круто! Можно данный способ совместить со скрайпингом? Зарание прошу прощения если вопрос глупый

    • @Koldim2001
      @Koldim2001  10 месяцев назад

      Подскажи плис а что имеется ввиду под скрайпингом?

    • @МаксимПутютин
      @МаксимПутютин 10 месяцев назад

      Ну или парсер, краулер... сбор открытых данных. Допустим найти товар определённой категории с сайтов разных производителей, или подборку видео интересующей тематики?

    • @Koldim2001
      @Koldim2001  10 месяцев назад

      @@МаксимПутютинда если у вас имеются обученные сетки на те или иные категории товаров то интегрировать такую сеть в любую задачу имеется возможность. Можно детектить как на сайтах так и на видосах с того же ютуба. Главное написать сам парсер и подавать фотки на отработку обученной сети. По результату можно чтоб срабатывал какой-то триггер и например приходило то же уведомление в месенжер. Так что полет фантазии безграничен, но проблема лишь закодить))

    • @МаксимПутютин
      @МаксимПутютин 10 месяцев назад +1

      Воодушевлят. Наклянчу, может кто поможет) Успехов тебе, интересная тема буду следить за выпусками! Ещё раз спасибо и респект🤙

    • @Koldim2001
      @Koldim2001  10 месяцев назад

      @@МаксимПутютинспасибо большое 😊

  • @mitalex6616
    @mitalex6616 4 месяца назад

    Подскажите, пожалуйста, для задач детекции такая разметка в виде многоугольника, который точно повторяет форму объекта, улучшит качество датасета или лучше в виде прямоугольника? Просто датасет формируется из объектов на одном фоне и непонятно, нейросеть привыкнет к фону и будет плохо работать в боевом режиме с разными фонами или нет. Заранее извиняюсь за глупый вопрос

    • @Koldim2001
      @Koldim2001  4 месяца назад +1

      Если задача именно детекция а не сегментация для нахождения точных контуров, то надо прямоугольниками размечать (у меня есть видос про обучение детектора yolo)
      Чем разнообразнее примеры, чем лучше работает итоговая сеть. Стоит добавить в обучающую выборку хотя бы несколько примеров с того как в боевом режиме должен работать алгоритм

    • @mitalex6616
      @mitalex6616 4 месяца назад +1

      @@Koldim2001 спасибо за столь быстрый ответ!

  • @YoungAska
    @YoungAska 7 месяцев назад

    Добрый день, а можно пояснить, каким образом, если я хочу продолжить обучение уже обученной сетки, как это выполняется?

    • @Koldim2001
      @Koldim2001  7 месяцев назад

      Просто стартуете обучение от старых весов которые у вас уже есть. Но учтите что это значит что сетка стартово поставит веса как в прошлом обучении и после градиентных спусков будет возможно эффективнее под вашу задачу дообучаться

    • @Koldim2001
      @Koldim2001  7 месяцев назад

      from ultralytics import YOLO
      # Load a pretrained segment model
      model = YOLO('your_last_model.pt')
      Далее как в примере делайте model.train() с нужными параметрами. Раз дообучаете, то можете эпох поменьше ставить чем при первичном обучении

    • @YoungAska
      @YoungAska 7 месяцев назад +1

      @@Koldim2001 спасибо большое за ответ, буду дальше развивать свою сеть) Очень полезный и интересный гайд

  • @Миха-ь8х
    @Миха-ь8х 10 месяцев назад

    Привет. Спасибо за видео. У меня вопрос о быстродействии. Если я правильно понял, то большая картинка 1шт обработалась 300мс. Т. е. Примерно три кадра в секунду. А для онлайн режима со скромным железом реально параметры подобрать, чтобы пошустрее раз в 20-30 было? У меня есть рабочий код который детектирует движение и записывает видео - (буфер 3 сёк до сработки порога + сработка порога) и отправляет в телеграмм. Хочу настроить, чтоб распознавало объекты на видео... Ну и в идеале запихнуть на малинку ...

    • @Koldim2001
      @Koldim2001  10 месяцев назад

      Советую для Малинки брать минимальный размер модели при обучении. Вроде как раз yolov8n. Чем меньше, тем быстрее будет инференс.
      Не уверен что сможешь достоичь при таком железе 20-30 fps но попробовать стоит. В любом случае yolo одна из самых быстрых сетей по детекции

  • @Feelosov
    @Feelosov 4 месяца назад

    Не могли бы вы загрузить ваши видео дополнительно на Рутуб?

    • @Koldim2001
      @Koldim2001  4 месяца назад

      Охх ну вот не уверен что на рутубе вообще кто-то ищет образовательный контент. Так что пока туда не планировал переходить. Только если прям сильно прижмет)) но такую идею потенциально рассматривал (но так и не понял куда лучше рутуб или вк видео в вопросе целевой аудитории)

  • @yaroslavdmitriev3028
    @yaroslavdmitriev3028 10 месяцев назад +2

    Подскажите пожалуйста, а можна как-то с помощью нейронок сортировать изображения? Например у меня тысячи картинок - логотипы, дизайны кнопок, персонажи, пейзажи и тд. их нужно разбить по соответствующим папкам. Вручную это долго делать. Может ли нейронка как-то помочь с этим?

    • @Koldim2001
      @Koldim2001  10 месяцев назад +1

      Да есть вариант использовать image retrieval подходы. На эту тему есть у меня видео - ruclips.net/video/kQoe0HWg9d0/видео.html

    • @yaroslavdmitriev3028
      @yaroslavdmitriev3028 10 месяцев назад +1

      @@Koldim2001 спасибо большое!

    • @dmitrykhomyakov8451
      @dmitrykhomyakov8451 10 месяцев назад +2

      Если Вам интересно могу кинуть в личку ссылку на блокнот в колабе, где собрана простейшая сеть для задачи классификации. В ней 10000 тыс фото овощей раскидываются по папкам . Ваша задача будет решаться заменой датасета на Ваш и обученем на Ваших данных. .

    • @Koldim2001
      @Koldim2001  10 месяцев назад +1

      @@dmitrykhomyakov8451ооо четко если есть, приложи плис. А то у себя подобного хорошо оформленного ноутбука, к сожалению, не нашел

    • @dmitrykhomyakov8451
      @dmitrykhomyakov8451 10 месяцев назад

      @@Koldim2001 ​ @Koldim2001 Блокнот выполнянлся в качестве лаболаторной работы во время обучения. :) Обучены 5 разных сетей. Датасет расшарен на гугл диске. colab.research.google.com/drive/13nnIQA6sorTHS2dABxZu7iU3P4-sUZPn?usp=sharing

  • @TruLander100
    @TruLander100 7 месяцев назад

    Такой вопрос, не могу найти ответ, как правильно до обучать модель с новыми фотографиями и можно ли до обучать модель с новыми обьектами в списке.
    Я видел параметр resume испол зуемый при остановке и возобновлении обучения, но если модель уде обучена на определенном количестве эпох, как ее до обучивать? как в нее добавить еще несколько типов обьектов для распознавания?
    Если просто указать стартовую модель, свою обученную и начать обучать ее на обновленном датасете с новым типом обьектов, то наверное придется также долго ее учить как и при обучении оригинальной модели?

    • @TruLander100
      @TruLander100 7 месяцев назад

      У меня в данный момент обучается сеть 190 эпох из 300, и я вот хочу уже добавить новые объекты для детектирования в датасет и добавить фотографий к уже существующим объектам, но как правильно это сделать не понятно.
      Этот вопрос чувствительный, так как я обучаю на процессоре, на видеокарте мне не хватает видеопамяти, а на процессоре обучается днями, соответственно не хочется запороть уже полученный прогресс.

    • @Koldim2001
      @Koldim2001  7 месяцев назад +1

      Можно при повтором запуске уже ставить меньше число эпох а стартовать обучение от старых весов прошлого обучения

    • @TruLander100
      @TruLander100 7 месяцев назад

      @@Koldim2001 это и в случае простого добавления новых фотографий и в случае добавления новых объектов для распознавания?

    • @Koldim2001
      @Koldim2001  7 месяцев назад

      @@TruLander100 если вы меняете число классов то надо обучать модель с нуля. Если же просто новые фотки появились а классов столько же то можно просто чуть дообучить на эти новые фотки как раз сделав несколько эпох начиная со старых весов

  • @TruLander100
    @TruLander100 7 месяцев назад

    Добрый день, хочу написать простого бота для 2d онлайн игры, у меня вопрос по выбору типа сети для распознавания юнитов. сегментации или детекции, нужно не просто де детектировать, а трекать каждого юнита.
    В игре происходят сражения на картах, карт не много, все похожи и маленькие и без прокруток помещаются на 1 экране, Юниты разные, но с соперником отличаются по цвету элементов.
    Задача такая чтобы различать юнитов свои чужие и тип, вести трек и определять центр юнита, для клика. Я не знаю какая сеть справится лучше, так как нужно не просто трекать и детектировать, но и производить клики мышкой по центру юнитов, юниты могут пепесекаться друг с другом, что затруднит распознавание свой чужой.
    Хотел сделать с сегментацией данных, но не уверен что трекер будет работать с сегментацией лучше чем с детекцией.

    • @Koldim2001
      @Koldim2001  7 месяцев назад +1

      Да советую детекцию. Так как трекеры все готовые хорошие как раз под детекцию написаны

  • @wardog5260
    @wardog5260 9 месяцев назад

    Подскажи, пожалуйста, подойдёт ли этот способ чтобы обнаружить полые квадраты довольно маленького размера в анкете? Это нужно для того, чтобы каждый квадрат затем как-то достать и распознать рукописный текст.

    • @Koldim2001
      @Koldim2001  9 месяцев назад

      Да но тогда лучше берите модель детекции а не сегментации. Про это есть отдельный ролик на канале. На месте найденного бокса сможете сделать кроп и далее юзать ocr модели или классификаторы

  • @АлександрКонюхов-о3з
    @АлександрКонюхов-о3з 4 месяца назад

    Отличное видео, но воткнулся в ошибку и разобраться не получается NotImplementedError, может специалист поможет?

    • @Koldim2001
      @Koldim2001  4 месяца назад

      Скорее всего стоит попробовать 11 питон с чистым окружением и туда лишь пайторч и ультралитикс поставить. Большинство ошибок сами после такого исчезнут

  • @АлишерРсмаганбет-р2в
    @АлишерРсмаганбет-р2в 5 месяцев назад

    Привет! По этому видео я начал обучать openpose. В cvat загрузил кастомный датасет, скелеты людей выделил и экспортировал с помощью COCO Keypoints. На этом моменте я столкнулся с первой проблемой, так как репозиторий не предусмотрен для определения кейпойнт(как я понял), то я быстро написал скрипт через чат гпт. В итоге у меня все записывается в две папки, train/image, train/labels, аналогично с validation. Даже для data.yaml написал скрипт, но при загрузке все в гугл колаб или когда запускал на своем ноуте то выдавало ошибку. Сам я предполагаю, что это из за неправильного экспорта данных или просто не загрузились картинки. Можете вы мне подсказать, если у вас есть какие нибудь идеи на этот счет

    • @АлишерРсмаганбет-р2в
      @АлишерРсмаганбет-р2в 5 месяцев назад

      Может поверх кейпойнт надо было еще что то наложить в cvat? Я новичок поэтому мало что понимаю пока что😅

    • @Koldim2001
      @Koldim2001  5 месяцев назад

      Так это же инстанс сегментации. Это туториал по модели yolo-seg. Вам нужно обучать другую сеть - yolo-pose поищите про нее туториал в инете

    • @АлишерРсмаганбет-р2в
      @АлишерРсмаганбет-р2в 5 месяцев назад +1

      @@Koldim2001 спасибо большое за ответ, теперь все стало понятно. У вас очень классный контент и надеюсь в будущем снимите про yolo-pose🙏

    • @Koldim2001
      @Koldim2001  5 месяцев назад

      @@АлишерРсмаганбет-р2впо yolo-pose у меня есть туториал как юзать предобученные сети. Именно как обучать свою нет. Можешь глянуть это видео - ruclips.net/video/RIiQeWJgjLw/видео.htmlsi=InLN0i2nFLExx340

  • @torhristos115
    @torhristos115 6 месяцев назад

    Добрый день, скажите пожалуйста как приспособить весовой файл к с#? Спасибо

    • @Koldim2001
      @Koldim2001  6 месяцев назад

      Сорри я не знаю этот язык. Мб gpt сможет с этим помочь) попробуйте спросить у него

    • @torhristos115
      @torhristos115 6 месяцев назад

      @@Koldim2001 спасибо

  • @hmm-gx1jm
    @hmm-gx1jm 5 месяцев назад

    добрый день, спасибо за видео. Я использую Mac и к сожалению, не могу поставить пометку в cvat. Возможно, вы знаете кого-то, кто работает с Mac и использует cvat.

    • @Koldim2001
      @Koldim2001  5 месяцев назад

      А что значит пометка в cvat? Вроде как на всех компах работает одинаково это ведь браузерная программа

    • @hmm-gx1jm
      @hmm-gx1jm 5 месяцев назад

      @@Koldim2001 Я не знаю, почему это не работает. я нажимаю draw new polygon но не помечать. крест выступает в качестве маркера, и когда я хочу отметить объект, он ничего не делает. (извините за мой плохой русский Google Translate )

    • @Koldim2001
      @Koldim2001  5 месяцев назад

      @@hmm-gx1jm Советую посмотреть это видео - ruclips.net/video/r27d3L2Q2Dc/видео.html Думаю сможешь найти если что аналоги не на русском языке. Обычно новые оъекты создаются при нажатии на букву N и как только контур завершен и замнут так же N позволяет сохранить объект

    • @hmm-gx1jm
      @hmm-gx1jm 5 месяцев назад +1

      @@Koldim2001 Спасибо за быстрый ответ и вашу помощь, теперь я вижу маркировку

  • @on_segiz
    @on_segiz 9 месяцев назад

    Привет Дима! Модуль 'ultralytics' не читается в моем коде? Что может быть причиной?

    • @Koldim2001
      @Koldim2001  9 месяцев назад

      Попробуй его так установить: pip install --upgrade ultralitics в терминале или отдельной ячейкой в ноутбуке

  • @valerafufel8836
    @valerafufel8836 6 месяцев назад

    Привет. У меня такая проблема: Запускаю код, даже если использовать из Гита. Выдает ошибку: NotImplementedError . Что делать? Ultralytics YOLOv8.2.23 Python-3.12.3 torch-2.3.0+cu121 CUDA:0 (NVIDIA GeForce RTX 3060, 12288MiB)

    • @Koldim2001
      @Koldim2001  6 месяцев назад

      Попробуй питон 3.11 пустое окружение. Мб проблемы с поддержкой 12 версии

  • @mlprofit
    @mlprofit 6 месяцев назад

    У меня после обучения нет MaskF1_curve и подобных метрик, только в .csv, и к слову сказать они очень плохие, не понимаю с чем это связано....

    • @Koldim2001
      @Koldim2001  6 месяцев назад

      Видимо что-то не так с обучением, возможно например не закончилось оно (картинки лишь после обучения появятся) ну и эпох стоит побольше + проверь что нормально трейновые батчи выглядят все маски правильно распознаются сетью при обучении

  • @ТатьянаЛосева-л8р
    @ТатьянаЛосева-л8р 6 месяцев назад

    Нет никаких файлов в папке ultralytics, в чем может быть причина?

    • @Koldim2001
      @Koldim2001  6 месяцев назад

      Ты про run data? А ты библиотека скачал? Код запустил? Он должен был бы сказать в коде путь до yaml файла в котором раз надо пофиксить значения

  • @reklama63
    @reklama63 7 месяцев назад

    Подскажите пожалуйста. Если видео со звуком. Есть ли какой-то параметр, который сохраняет звук в видео?

    • @Koldim2001
      @Koldim2001  7 месяцев назад

      Ох стоит изучить документацию cv2. Полагаю, есть, просто на практике работаю с камер без звука, поэтому и не использовал

    • @Koldim2001
      @Koldim2001  7 месяцев назад

      from moviepy.editor import VideoFileClip, AudioFileClip
      # Добавление звука к полученному видео без звука
      video_path = 'input.mp4'
      input_video = VideoFileClip('output.mp4')
      input_audio = AudioFileClip(video_path)
      final_video = input_video.set_audio(input_audio)
      final_video.write_videofile('output_with_audio.mp4', codec='libx264', audio_codec='aac')
      Попробуй так. Вот так сможешь к новому видео добавить исходную аудио дорожку. pip install moviepy понадобится

    • @reklama63
      @reklama63 7 месяцев назад

      @@Koldim2001 Спасибо. Я сейчас через ffmpeg добавляю аудио. Предположил, что можно без дополнительно обработки сделать.

  • @VladimirRyabov-l1b
    @VladimirRyabov-l1b 3 месяца назад

    Помогите разобраться с проблемой. Скачал по ссылке из описания модель и фото для теста. Запускаю модель с тестовым фото в colab google, все отлично, говорит, что на фото 3 ножа и 4 ложки. Запускаю то же самое на своем ноутбуке (без GPU), результат - 0: 640x480 86 knifes, 214 spoons, 5409.5ms . В чем может быть проблема? Почему модель не работает локально на ноуте у меня?

    • @Koldim2001
      @Koldim2001  3 месяца назад

      Очень странно. Полагаю все же код отличается по инференсу. На cpu ответ должен быть тем же. Попробуйте визуализовать результат используя либу patched_yolo_infer

    • @VladimirRyabov-l1b
      @VladimirRyabov-l1b 3 месяца назад

      @@Koldim2001 Да, визуализацию результата запускаю и на colab в браузере она прям совсем отличается от результата локально на ПК. На ПК какую то ерунду выделяет ... очень странно и не понятно.

    • @Koldim2001
      @Koldim2001  3 месяца назад

      @@VladimirRyabov-l1b возможно стоит conf слишком низким или iou слишком высоким

    • @VladimirRyabov-l1b
      @VladimirRyabov-l1b 3 месяца назад

      @@Koldim2001 conf - 0.6, iou - 0.4. Ну и параметры все одинаковые, что в colab, что локально на ПК, а результат работы сильно разный. Пробовал conf - 0.99, количество, якобы найденных ножей, - 250шт. На визуализации какие то не понятные области выделяются, у которых conf подписан = 1.0

    • @Koldim2001
      @Koldim2001  3 месяца назад

      @@VladimirRyabov-l1b хммм да впервые с таким сталкиваюсь. Советую обновить ultralytics пакет и торч поставить так: pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url download.pytorch.org/whl/cpu

  • @hi_shanghi
    @hi_shanghi 7 месяцев назад

    Возможно глупый вопрос, но у меня в папке roaming нет папки ultralyrics, я установил его командой pip install ultralyrics. Когда запускаю обучение, то изображения для train и validation берутся не мои и вообще не подходящие, откуда то из другого места, а ошибка не появляется. Как можно исправить эту проблему?

    • @Koldim2001
      @Koldim2001  7 месяцев назад

      А что за пусть вы указываете к ямл файлу с конфигурацией датасета?

    • @hi_shanghi
      @hi_shanghi 7 месяцев назад

      ​@@Koldim2001 Если не меняю изначальный путь, то ошибка показанная в видео не появляется, вместо этого обучение начинается с каким то другим датасетом, если указываю на путь файла в своей папке, то возникает какая то другая ошибка(не та что в видео) . Там вроде пишет что то типо не удалось установить модель yolo. У меня нет папки ultralytics в roaming, поэтому я не могу найти файл settings и поменять там что либо

    • @Koldim2001
      @Koldim2001  7 месяцев назад

      Напиши мне в тг kolesnikov_dima

  • @Eweeeeewwww
    @Eweeeeewwww 9 месяцев назад

    Здравствуйте подскажите пожалуйста как в cvat добавить формат экспорта YOLOv5?

    • @Koldim2001
      @Koldim2001  9 месяцев назад

      Вам нужно юзать мой код конвертации. Он работает и для 8 и для 5 версий YOLO. Так что делайте прям по туториалу

    • @Eweeeeewwww
      @Eweeeeewwww 9 месяцев назад

      @@Koldim2001 у них есть туториал new-annotation-format и мне нужно на основе этого сделать поддержку yolov5 но я сам бэкендер и не понимаю что да как

    • @Koldim2001
      @Koldim2001  9 месяцев назад

      Если вы хотите именно залезть в бэкенд cvat и туда это интегрировать то такое не подскажу. Я датасаентист, так что смог реализовать реализовать лишь непостоянный конвертитор из того имеющегося формата выгрузки cvat в нужный формат для yolo -
      github.com/Koldim2001/COCO_to_YOLOv8

    • @ХусейнНаимов-ь6х
      @ХусейнНаимов-ь6х 9 месяцев назад

      @@Koldim2001 а это решение подойдет для детекции

    • @Koldim2001
      @Koldim2001  9 месяцев назад

      @@ХусейнНаимов-ь6хпо задаче детекции у меня есть отдельное видео на ютубе там я показал другой репозиторий по конвертации разметки. У детекции немного драной формат нужен

  • @MrKappasama
    @MrKappasama 8 месяцев назад

    Хм, а с помощью YOLO можно найти весь текст на картинке? Не распознать а именно найти по маске? или есть другой способ?

    • @Koldim2001
      @Koldim2001  8 месяцев назад

      Нет он может найти лишь область прямоугольную где текст располагается. Далее уже надо эту область на отдельную OCR сеть подавать

    • @Koldim2001
      @Koldim2001  8 месяцев назад

      Можете использовать обычную модель детекции или yolo-obb. Надо разметить места где такой текст прямоугольниками и попробовать обучить. Мб сработает

    • @MrKappasama
      @MrKappasama 8 месяцев назад

      @@Koldim2001 Проблема в том, что я как-то не могу найти примеры с подобной или +- задачи) Ваш так вообще первый где затрагивается множественная детекция. Может конечно, не там смотрю, но...
      Все примеры с тектом основаны на mnist при этом уровня "одну букву мы распознаем". А как натравить детектор на большую страницу и что нибудь с ней сделать (например вырезать текст и восстановить фон) - вообще нет. Только детекция 1 обьекта.
      Мне бы хоть понять в какую сторону курить маны... Хоть какое-то общее направление

    • @Koldim2001
      @Koldim2001  8 месяцев назад

      Советую начать с готовых решений на рынке OCR. Посмотрите это видео ruclips.net/video/8BMHoGQNnyg/видео.htmlsi=VBiR8fuyM1HFZ9uQ можете сразу на 1 час вперед прокрутить там я как раз эту тему рассматриваю

    • @MrKappasama
      @MrKappasama 8 месяцев назад

      @@Koldim2001 Спасибо огромное! На первый взгляд то что нужно!

  • @nikola2692
    @nikola2692 9 месяцев назад

    стартует на cpu ( . установлен python 3.8.6. , torch 2.0.0 и nvidia cuda и cudann командная стока выдает версию драqверов и видеокарту, тензоры по скрипту выдают случайные числа, но Обучение YOLOv8 для задачи сегментации (YOLOv8-seg) по гаqду стартует на CPU может я что то не до-устанавливал или не так подключаю. но я виню свою старую видеокарту GTX 650 которая устарела (RX 590 к сожалению для обучения неиросtтеи не пойдет) как выполнить этот гаbд в Google Colaboratory и еще хз как подключать туда Gugle диск ( гугл диск есть с 15гб и папку туда скинул, только толку ноль(

    • @Koldim2001
      @Koldim2001  9 месяцев назад +1

      Ставь торч таким образом: pip3 install torch torchvision torchaudio --index-url download.pytorch.org/whl/cu118 так что запусти эту команду в новом окружении и лишь после этого ставь ultralitics

    • @Koldim2001
      @Koldim2001  9 месяцев назад +1

      Вот как Гугл драйв к колабу подрубить:
      from google.colab import drive
      drive.mount(‘/content/gdrive’)

  • @alexspector1080
    @alexspector1080 9 месяцев назад

    Приветствую. возможно внедрить данную систему для отслеживания шарика в онлайн рулетке? Для дальнейшего предсказания по физическому состоянию?

    • @Koldim2001
      @Koldim2001  9 месяцев назад

      Детектировать шарик точно получится как раз используя yolo а вот предсказывать его поведение в будущем можно используя фильтр калмана как вариант но точность будет так себе скорее всего

  • @desy1d
    @desy1d 9 месяцев назад

    Привет если не трудно помоги пожайлуста, такая проблема, что я обучил модель распозновать цифры на картинке (на картинке ток 7 цифр и тольк они (кроме цифр ничего нет)) он эти цифры находит показывает каждый класс цифры(типо 1 класс это цифра 1, 2 класс цифра 2 и тд) и обводит их в бокс. Проблема в том что я не знаю как этот класс вывести то есть ( цифры расположены слева направо и мне надо вывести их классы (или какой-то друго способ)) то есть чтобы он мне вывел результат (к примеру на изображении цифры 7598405 и мне надо чтобы он имеено так их выввел (или похоже главное чтобы по порядку слева направо). Облазил весь сайт так и не нашел как это сделать, он только выводит именно что за цифры есть вот
    image 1/1 C:\Users\qqqq\Desktop\testneyro\im1.png: 192x640 1 1, 1 2, 1 3, 2 7s, 2 8s, 125.8ms (nто есть 1 класс единица, два один класс двойка, и тд) он он их в порядке увелечения чтоли выдал я хз.
    Если что я делал чтобы он мне выдал результат на изображении (типо обвел число в квадрат и вверху написал что за класс и доверие) все хорошо вывод
    Буду очень признателен если сможешь как-то помочь или подсказать

    • @Koldim2001
      @Koldim2001  9 месяцев назад

      Ну честно говоря не очень понимаю почему вы решаете эту задачу через детекции а не OCR. Если вы хотите распознавать текст или числа (номер) целиком то стоит искать детекцией не конкретные цифры а именно блоки чисел. Сеть научится находить области где расположены номера далее уже поверх результата надо будет прогонять модели OCR

    • @Koldim2001
      @Koldim2001  9 месяцев назад

      Можете попробовать свою ocr отучить или взять готовые на рынке. Как вариант easy-ocr, teserract и подобные. У меня в видео одном есть примеры использования готовых алгоритмов распознания текста/чисел - ruclips.net/video/8BMHoGQNnyg/видео.htmlsi=8SigfJj8geu7E4jX (вам нужны последние 30 мин видоса)

    • @Koldim2001
      @Koldim2001  9 месяцев назад

      Если же хотите именно так как уже делаете то нужно продумать логику в коде и фильтровать боксы в порядке по увеличению значения координат оси х и уже потом полученный список отсортированных классов пытаться представить в итоговое число. Но получится так себе качество по сравнению с существующими методами распознавания текста/чисел

    • @desy1d
      @desy1d 9 месяцев назад +1

      @@Koldim2001 спасибо большое

    • @desy1d
      @desy1d 9 месяцев назад

      Числа просто не обычные (разный шрифт, могут состоять из полосок (цифры), у цифры может быть только контур, и тд