Zero-shot в задачах компьютерного зрения (нейронные сети без обучения)

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ต.ค. 2024
  • 🔍 В данном туториале мы рассмотрим революционный подход в области компьютерного зрения - Zero-shot learning. Этот метод позволяет нам решать задачи классификации, детекции и сегментации без необходимости обучения на специально подобранных данных.
    🤯 Удивительно, но правда! Мы покажем, как вы можете применить Zero-shot learning к своей уникальной проблеме и достичь впечатляющих результатов.
    📚 В этом туториале вы узнаете:
    1. Основы Zero-shot learning и его преимущества
    2. Как реализовать классификацию, детекцию , семантическую сегментацию и инстанс сегментацию без обучения
    🔗 Код из видео доступен по ссылке: drive.google.c...
    Таймкоды из видео:
    8:58 - Детекция (YOLO-world примеры)
    22:45 - SAM (FastSAM примеры)
    30:59 - Классификация (CLIP примеры)
    39:35 - Самантическая сегментация (CLIP-Seg примеры)
    44:23 - Инстанс сегментация (LangSAM примеры)
    -----------------------------------------------------------------------------------------------------------------
    PS: В видео для визуализации результатов использовалась моя библиоткека patched_yolo_infer. Если хотите поддержать мои старания, то поставьте звезду ⭐ в этом масштабном опенсорс проекте - github.com/Kol...
    Подписывайтесь на канал, чтобы быть в курсе новых видео и узнавать больше о компьютерном зрении!

ความคิดเห็น • 25

  • @encludegm
    @encludegm 4 หลายเดือนก่อน +1

    Дмитрий лучший специалист, благодарю!

    • @Koldim2001
      @Koldim2001  4 หลายเดือนก่อน

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

  • @АлександрВальвачев-я6ъ
    @АлександрВальвачев-я6ъ 2 หลายเดือนก่อน

    Реально полезно, спасибо!

  • @user-gfdyfsrtft
    @user-gfdyfsrtft 4 หลายเดือนก่อน +1

    Царский лайк!

  • @АлександрДергилёв-п8х
    @АлександрДергилёв-п8х 4 หลายเดือนก่อน +1

    Дима, топовый блогер:)

    • @Koldim2001
      @Koldim2001  4 หลายเดือนก่อน

      Спасибо ☺️

  • @DergiLong
    @DergiLong 4 หลายเดือนก่อน +1

    Спасибо за отличные обучающие видео. Благодаря вам заинтересовался данной тематикой. Сейчас обучаю свою нейросеть используя ваши уроки. Данное видео вышло для меня очень вовремя, потому что как раз встал вопрос в подготовке собственного датасета.

    • @Koldim2001
      @Koldim2001  4 หลายเดือนก่อน

      Ооо безумно приятно! Желаю удачи в DS!

  • @ivan02081983s
    @ivan02081983s 4 หลายเดือนก่อน +1

    Дима, добрый день! Запиши как нибудь видео об использовании и подключения ядер npu процессора при работе моделей. Сейчас много одноплатников выпускают с npu ядрами, а как их применять никто не знает.

    • @Koldim2001
      @Koldim2001  4 หลายเดือนก่อน

      Если как-нибудь куплю себе одноплатник то обязательно попробую 👍🏻

  • @bbbbbb9193
    @bbbbbb9193 4 หลายเดือนก่อน +1

    Респект. Спасибо. Топ!!!

    • @Koldim2001
      @Koldim2001  4 หลายเดือนก่อน +1

      Рад что вам понравилось!

    • @bbbbbb9193
      @bbbbbb9193 4 หลายเดือนก่อน +1

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

    • @Koldim2001
      @Koldim2001  4 หลายเดือนก่อน +1

      @@bbbbbb9193 Спасибо большое. В ближайшее время (в середине июня) выпущу видео для начинающих по PyTorch для задачи классификации думаю вам будет очень кстати 😎

  • @com-fh9ts
    @com-fh9ts 4 หลายเดือนก่อน

    а сделай прогу с помощью segment anything которая будет работать на видео потоке)

    • @Koldim2001
      @Koldim2001  4 หลายเดือนก่อน

      Да это вполне реально. Так что могу пример кода скинуть сюда который с вебки обработку делает и выводит результаты в отдельном окне. Сейчас напишу и пришлю следующим комментарием (если что визуализацию сможешь подстроить под себя в библиотеке patch base inference). Не забудь перед запуском pip install patched_yolo_infer

    • @Koldim2001
      @Koldim2001  4 หลายเดือนก่อน +1

      import cv2
      from ultralytics import FastSAM
      from patched_yolo_infer import visualize_results_usual_yolo_inference
      def process_stream(model, camera_id=0):
      # Open the input video file
      cap = cv2.VideoCapture(camera_id)
      while True:
      ret, frame = cap.read()
      if not ret:
      break
      result = visualize_results_usual_yolo_inference(
      frame,
      model,
      imgsz=640,
      conf=0.5,
      iou=0.7,
      segment=True,
      thickness=1,
      show_boxes=False,
      show_class=False,
      show_confidences=False,
      fill_mask=True,
      return_image_array=True,
      random_object_colors=True
      )
      # Display the resulting frame
      cv2.imshow('Processed Frame', result)
      if cv2.waitKey(1) & 0xFF == ord('q'):
      break
      cap.release()
      cv2.destroyAllWindows()
      # Example usage
      model = FastSAM("FastSAM-x.pt") # or FastSAM-s.pt
      process_stream(model)

  • @elcolex777
    @elcolex777 3 หลายเดือนก่อน

    Добрый день. Посоветуйте, пожалуйста, модель для детекции водяных знаков на изображении. У меня на работе есть конкретная задача - в интернет магазине миллионы изображений товаров и нам надо определить какие изображения содержат водяные знаки. Я использовал yolov8 (по вашему видео), результат очень хороший (обучил на одном примере), но проблема в том, что мы не знаем какие конкретно могут быть водяные знаки… По сути, надо детектить полупрозрачное наложение. Что то в поиске не смог найти подходящей модели

    • @elcolex777
      @elcolex777 3 หลายเดือนก่อน

      И если пойти дальше, то может есть решения как убрать водяной знак с изображения)) Но нам пока нужно хотя бы просто определить есть ли ватермарк или нет

    • @Koldim2001
      @Koldim2001  3 หลายเดือนก่อน +1

      @@elcolex777да тут если вы имеете слишком разнообразные водяные знаки то проблему мб yolo не решить так как вряд ли обучив на N примерах он поймет всю суть и будет находить хорошо другие водяные знаки которых на трейне не видел. Но попытаться стоит. Так что обучи детектор на 1 класс при обучению разнообразные примеры давай. Второй вариант - потестировать yolo-world вдруг получится решить с помощью зеро шотов.
      По поводу того, как убирать - советую юзать готовую бесплатную нейросеть foocus. Она как раз работает как миджорней. Вы выделяете область интереса на которой водяной знак и даете текстовый промпт - убери водяной знак. Сеть в идеале перерисовывает фотку как надо

    • @elcolex777
      @elcolex777 3 หลายเดือนก่อน +1

      Ок. Спасибо за наводку про fooocus!

  • @Motskin_AI
    @Motskin_AI 4 หลายเดือนก่อน

    Автоматическая сегментация. А на сколько сильно процесс загружает видеокарту? То что долго выполняется обработка, это конечно неприятно, но не критично. Может видеокарта загружена на 5 процентов при обработке запроса, тогда мы могли бы в 10-15 потоков запустить процесс, может всем потокам хватило бы ресурсов.

    • @Koldim2001
      @Koldim2001  4 หลายเดือนก่อน

      Попробуйте на своем железе. Тут зависит от того что у вас за видеокарта. Я тестировал на гипер слабой видюхе в 4гб

    • @Motskin_AI
      @Motskin_AI 4 หลายเดือนก่อน +1

      @@Koldim2001 Попробовал. То что меня интересовало lang_sam. На моей RTX4090 волосы были обнаружены всего за 1 секунду - и то это время исполнения ячейки с учётом отображения. А если не отображать то за 0.6 секунд справляется.
      А если ещё есть возможность батчами обрабатывать, то ещё быстрее было бы.
      В любом случае 1 секунда на изображение - это вполне себе норм. Тем более что фото 1280x853.
      Также заметил, что нагрузка на видеокарту взлетает до 100%, значит старается использовать все CUDA ядра. Правда за 1 секунду даже не успевают кулера разогнаться.

    • @Koldim2001
      @Koldim2001  4 หลายเดือนก่อน

      @@Motskin_AI супер)