YOLO-NAS е върхът на моделите за откриване на обекти в серията YOLO. Но защо се смята за най-доброто?

След YOLOv8 има още нов и по-добър модел за откриване на обекти, YOLO-NAS. Това е алгоритъм за откриване на обекти, разработен от Deci AI, за да се справи с ограниченията на предишните модели YOLO (You Only Look Once).

Моделът е изграден от AutoNAC, търсачка за невронна архитектура. Той надминава скоростта и производителността на SOTA моделите, което представлява голям скок в откриването на обекти чрез подобряване на компромисите на точността, латентността и поддръжката на квантуване.

Тази статия ще обсъди силните страни и характеристиките на YOLO-NAS, изследвайки защо това е най-добрият модел за откриване на обекти в серията YOLO.

Разбиране как работи YOLO-NAS

AutoNAC (Automated Neural Architecture Construction) на Deci генерира архитектурата на YOLO-NAS. AutoNAC е безпроблемен процес, който осигурява повишаване на производителността на съществуващите дълбоки невронни мрежи.

Тръбопроводът AutoNAC приема обучена от потребител дълбока невронна мрежа като вход, набор от данни и достъп до система за изводи. След това обучената от потребителите дълбока невронна мрежа претърпява редизайн с помощта на тръбопровода. След това се постига оптимизирана архитектура с по-ниска латентност, без да се прави компромис с точността.

instagram viewer

YOLO-NAS използва RepVGG. RepVGG го прави достъпен за оптимизиране след обучение чрез повторно параметризиране или квантуване след обучение. Това е тип архитектура на невронна мрежа, базирана на VGG. Той използва техники за регулиране, предназначени да подобрят способността за обобщаване на моделите за дълбоко обучение.

Дизайнът на архитектурата е по-ефективен по отношение на скоростта и паметта. RepVGG се подлага на обучение с помощта на многоклонова архитектура, за да се постигне по-бърз извод. След това се преобразува в един клон с помощта на повторно параметризиране.

Тази функция прави YOLO-NAS много полезен за производствено внедряване. Това е така, защото е възможно да се обучи и оптимизира моделът с пълна прецизност за скорост на извод и използване на паметта.

Основни характеристики на YOLO-NAS

Ключовите характеристики на YOLO-NAS включват следното:

  • Обучение за квантуване: Моделът използва QSP и QCI (модули за квантуване), за да намали загубата на точност по време на квантуване след обучение чрез комбиниране на повторно параметризиране на 8-битово квантуване.
  • Автоматично проектиране на архитектура: AutoNAC, патентованата NAS технология на Deci търси оптимална моделна архитектура, която интегрира основните архитектури на YOLO модели, за да излезе с оптимизиран модел.
  • Хибридна техника на квантуване: Стандартният метод на квантуване засяга целия модел. За разлика от това, техниката на хибридно квантуване квантува част от модела, за да балансира латентността и точността на модела.
  • Използвайте уникални подходи, за да подготвите модела за обучение, като използвате автоматично етикетирани данни. След това моделът се учи от своите прогнози и получава достъп до големи количества данни.

Сравнителен анализ: YOLO-NAS срещу други модели на YOLO

По-долу е дадено сравнение между различните модели от серията YOLO.

YOLO-NAS е по-добър от вече съществуващите модели за откриване на обекти, но идва със своите недостатъци. Ето списък на предимствата и недостатъците на YOLO-NAS:

Професионалисти

  • Той е с отворен код.
  • Той е с 10-20% по-бърз от предишните модели YOLO.
  • Той е по-точен в сравнение с вече съществуващите модели YOLO.
  • Той използва по-добра архитектура, AutoNAC. Това поставя нов рекорд в откриването на обекти, осигурявайки най-добрата точност и компромисна производителност при забавяне.
  • Безпроблемна поддръжка за машини за изводи като NVIDIA. Тази функция го прави готов за производство модел.
  • Има по-добра ефективност на паметта и увеличени скорости на извод.

минуси

  • Все още не е стабилен, тъй като технологията е все още нова и не е използвана масово в производството.

Внедряване на YOLO-NAS

Ще използвате Google Colab за писане и изпълнение на кодовете в тази реализация. Алтернатива на Google Colab би била създайте виртуална среда и използвайте IDE на вашата локална машина.

Моделът е много ресурсоемък. Уверете се, че имате поне 8 GB RAM, преди да го стартирате на вашата машина. Колкото по-голям е размерът на видеото, толкова повече памет използва.

Инсталиране на зависимости

Инсталирайте зависимостта YOLO-NAS, супер-градиенти използвайки командата по-долу:

pip инсталирайте супер-градиенти==3.1.2

След успешна инсталация вече ще можете да обучите модела YOLO-NAS.

Модел обучение

За да обучите модела, изпълнете кодовия блок по-долу:

от super_gradients.training импортиране модели
yolo_nas_l = models.get("yolo_nas_l", pretrained_weights="коко")

Вие импортирате тренировъчния модел от инсталираната библиотека SuperGradients в този код. След това използвате предварително обучените тегла на модела от набора от данни COCO.

Извод на модела

Изводът на модела има потенциални приложения за откриване на изображения, класифициране и задачи за сегментиране.

В този случай ще се съсредоточите върху задача за откриване на обекти за видео и изображения. За да откриете обект в изображение, изпълнете кодовия блок по-долу:

url = "img_path"
yolo_nas_l.predict (url, conf=0.25).покажи()

Уверете се, че използвате точния път до вашето изображение. В този случай качете изображението в средата на Google Colab, след което копирайте пътя на изображението.

Очакван резултат:

За да откриете обекти във видео, изпълнете кодовия блок по-долу:

импортиране факла

input_video_path = "път_към_видео"
изходен_видео_път = "открит.mp4"
устройство = 'cuda'ако torch.cuda.is_available() друго"процесор"
yolo_nas_l.to (устройство).predict (input_video_path).save (output_video_path)

Подобно на данните за изображението, качете видеоклипа, чиито обекти искате да бъдат открити, в средата на Google Colab и копирайте пътя до видеопроменливата. Прогнозираният видеоклип ще бъде достъпен от средата на Google Colab с помощта на името открит.mp4. Изтеглете видеоклипа на вашата локална машина, преди да приключите сесията си.

Очакван резултат:

YOLO-NAS също така поддържа фина настройка на модела и обучение по персонализирани данни. Документацията е достъпна на на Деци начален лаптоп за фина настройка.

Приложения в реалния свят на YOLO-NAS

Изходният код на YOLO-NAS е достъпен под Apache License 2.0, който е достъпен за некомерсиална употреба. За комерсиална употреба, моделът трябва да премине преквалификация от нулата, за да получи персонализирани тежести.

Това е универсален модел, чието приложение е възможно в няколко области, като например:

Автономни превозни средства и роботика

YOLO-NAS може да подобри възможностите за възприятие на автономните превозни средства, като им позволява да откриват и проследяват обекти по-бързо и по-точно в реално време. Тази способност помага да се осигури безопасност на пътя и безпроблемно шофиране.

Системи за наблюдение и сигурност

Моделът може да осигури бързо, точно и в реално време откриване на обекти за наблюдение и сигурност системи, което помага за идентифициране на потенциални заплахи или подозрителни дейности, което води до по-добра сигурност системи

Търговия на дребно и управление на инвентара

Моделът може да осигури бързи и точни възможности за откриване на обекти, които позволяват ефективно и автоматизирано управление на инвентара в реално време, проследяване на запасите и оптимизиране на рафтовете. Този модел помага за намаляване на оперативните разходи и увеличаване на печалбите.

Здравеопазване и медицинска образна диагностика

В здравеопазването YOLO-NAS е в състояние да помогне за ефективното откриване и анализ на болестни аномалии или специфични области на интерес. Моделът може да помогне на лекарите да диагностицират точно заболяванията и да наблюдават пациентите, като по този начин подобряват сектора на здравеопазването.

YOLO-NAS За вкъщи

YOLO-NAS е нов модел за откриване на обекти, пионер в нов начин за извършване на откриване на обекти. По-добър е от SOTA моделите. Неговата производителност при откриване на обекти е голям скок за проектите за компютърно зрение.