Машинное обучение и нейронные сети - страница 38

 

Отслеживание объектов с помощью YOLOv8: отслеживание транспортных средств, подсчет (въезд и выезд) и оценка скорости



Отслеживание объектов с помощью YOLOv8: отслеживание транспортных средств, подсчет (въезд и выезд) и оценка скорости

В видеоруководстве описывается, как реализовать отслеживание объектов, подсчет транспортных средств и оценку скорости с помощью YOLOv8 и DeepSORT. Докладчик делится ссылкой на репозиторий GitHub, содержащий код, и рассказывает о процессе клонирования репозитория, загрузки файлов DeepSORT, импорта соответствующих библиотек и определения списка DQ данных для отслеживания объектов. Они также объясняют, как определить направление транспортного средства и соответственно увеличить счетчик. Кроме того, ведущий показывает, как оценить скорость транспортных средств, применяя формулу евклидова расстояния на основе координат X и Y отслеживаемых объектов, и настроить пространство для отображения подсчета. В конечном итоге выходные данные скрипта показывают количество объектов и их скорость, что указывает на то, что реализация прошла успешно.

  • 00:00:00 В этом разделе руководства докладчик объясняет, как реализовать отслеживание обнаружения объектов и оценку скорости с помощью YOLOv8. Для начала докладчик предоставляет ссылку на репозиторий GitHub для отслеживания объектов YOLOv8 с помощью Deep Sort, который содержит файл Google Colab, а также пошаговые инструкции по запуску кода в Windows. Затем докладчик выполняет необходимые шаги для клонирования репозитория, установки текущего каталога и установки всех необходимых библиотек. После этого ведущий переходит к папке обнаружения и загружает файлы глубокой сортировки по предоставленной ссылке на Google Диск.

  • 00:05:00 В этом разделе спикер объясняет шаги по загрузке и внедрению отслеживания объектов с помощью YOLOv8 с использованием DeepSORT. Они помогают зрителям загрузить папку DeepSORT, разархивировав папку и поместив ее в основную папку проекта. Они также объясняют импорт библиотеки, используемый в файле predict.py, и описывают концепцию двусторонней очереди (DQ), используемой для хранения уникальных идентификаторов объектов, входящих и выходящих из фрейма. Спикер также упоминает загрузку образца видео с Google Диска и ожидание вывода в течение нескольких секунд, поскольку для обработки используется ЦП, а не ГП.

  • 00:10:00 В этом разделе спикер объясняет различные функции, используемые в трекере глубокой сортировки, алгоритм отслеживания для отслеживания объектов. Они включают в себя функцию добавления точки, используемую для добавления значений в правый конец очереди, тип данных контейнера, используемый для хранения объектов, и функцию добавления точки влево, используемую для вставки значений в левый конец очереди. Спикер также обсуждает функцию вычисления цветных меток, которая присваивает объектам разные цвета в зависимости от их типов. Кроме того, подробно объясняются функции рисования штриховой границы и рисования штриховых полей, где они создают пользовательский интерфейс с прямоугольником со скругленными углами, который отображает уникальный идентификатор и имя объекта, а также линию трассировки, созданную с помощью CB2.9.

  • 00:15:00 В этом разделе спикер объясняет, как они создают Trail Line и реализуют концепцию данных DQ для отслеживания объектов. Они инициализируют список DQ и добавляют в него нижние координаты каждого обнаруженного объекта. Когда объект покидает кадр, его точки удаляются из списка данных DQ. Они также создают предиктор обнаружения классов, используют алгоритм глубокой сортировки для присвоения уникальных идентификаторов каждому объекту и получают их имена. Они вызывают функцию draw-boxes и запускают предсказания. Кроме того, они реализуют подсчет транспортных средств, загружая и вставляя файл и определяя направление как север, юг, восток или запад. Если объект входит или выходит в определенном направлении, они увеличивают счет.

  • 00:20:00 В этом разделе спикер объясняет, как они реализовали подсчет объектов в своем скрипте отслеживания объектов YOLOv8. Они определяли направление для объектов, входящих или выходящих, на основе их движения по обозначенным линиям. Они также показывали количество входящих и выходящих объектов и устанавливали место, где должно отображаться количество. Затем докладчик добавил оценку скорости, применив формулу Евклидова расстояния, используя координаты X и Y отслеживаемых объектов для расчета их скорости. Они использовали значение пикселя на метр для расчета, который можно сделать динамическим в зависимости от положения камеры. Вывод скрипта показал количество объектов и их скорость, что указывает на то, что скрипт работает правильно.

  • 00:25:00 В этом разделе спикер объясняет формулу, используемую для расчета скорости транспортных средств в метрах в час, которая включает в себя деление расстояния в пикселях на значение пикселя на метр (PPM) и умножение результата на постоянную времени . Когда транспортное средство пересекает линию, установленную определенной пользователем областью обнаружения, сценарий увеличивает количество транспортных средств и определяет, въезжает ли транспортное средство в зону или покидает ее, в зависимости от направления, в котором оно движется. В конечном итоге к выходному списку добавляются оценки скорости и количества транспортных средств, и пользователь может реализовать этот проект, следуя инструкциям руководства.
Object Tracking with YOLOv8: Vehicles Tracking, Counting (Entering & Leaving) and Speed Estimation
Object Tracking with YOLOv8: Vehicles Tracking, Counting (Entering & Leaving) and Speed Estimation
  • 2023.02.09
  • www.youtube.com
#ObjectDetection #ObjectTracking #SpeedEstimation #yolov8 #yolo #computervision #deeplearning #ai #machinelearning #opencv #opencvpython #pytorch -------...
 

Автоматическое распознавание номерных знаков с использованием YOLOV8 и EasyOCR (изображения и видео)



Автоматическое распознавание номерных знаков с использованием YOLOV8 и EasyOCR (изображения и видео)

В этом видео на YouTube ведущий объясняет, как реализовать автоматическое распознавание номерных знаков с помощью YOLOV8 и EasyOCR. Они проводят зрителей через процесс внедрения, используя записную книжку Google Colab и репозиторий GitHub, предоставляя пошаговые инструкции и объясняя, как установить зависимости и загрузить необходимый набор данных. Докладчик демонстрирует успешность модели и процесс проверки, а также объясняет, как использовать EasyOCR для чтения номерных знаков. Они проходят последние этапы запуска скрипта и сталкиваются с некоторыми ошибками, которые они исправляют, что приводит к впечатляющим результатам. Хотя скрипт распознавания номерных знаков будет предоставлен только в репозитории GitHub докладчика для сторонников Patreon, зрители могут узнать об изменениях, внесенных в файл predict.py для получения аналогичных результатов.

  • 00:00:00 В этом разделе видео ведущий демонстрирует, как реализовать обнаружение и распознавание номерных знаков с помощью YOLOV8 и EasyOCR. Ведущий использует записную книжку Google Colab и репозиторий GitHub, чтобы направлять зрителей в процессе внедрения. Блокнот содержит пошаговые инструкции по запуску кода, а репозиторий GitHub предоставляет доступ к нескольким эксклюзивным проектам для сторонников Patreon, которые вносят пять долларов в месяц. Докладчик также объясняет, как установить необходимые зависимости и загрузить необходимый набор данных из Roboflow для обучения пользовательской модели обнаружению номерных знаков. Наконец, ведущий показывает матрицу путаницы, которая показывает, насколько хорошо модель справляется с разными классами, с вероятностью успеха 84% для обнаружения номерных знаков.

  • 00:05:00 В этом разделе спикер обсуждает результаты модели на проверочном наборе, которые показывают уменьшение потерь и увеличение средней средней точности и балла отзыва по мере увеличения количества эпох. Докладчик также демонстрирует, как загрузить сохраненную модель с Google Диска и проверить ее на пользовательском видео, достигнув средней точности 0,926 при IOU 50. Однако основное внимание в этом разделе уделяется реализации EasyOCR для чтения номерные знаки из обнаруженных номеров, а также изменения, внесенные в файл predict.py, чтобы включить считыватель OCR и координаты изображения.

  • 00:10:00 В этом разделе мы видим объяснение того, как реализовать автоматическое распознавание номеров с помощью YOLOv8 и EasyOCR. В видео обсуждается процесс обрезки и преобразования изображения номерного знака в оттенки серого, чтобы облегчить чтение текста номерного знака. Они показывают, как использовать EasyOCR для чтения текста с изображения номерного знака в градациях серого, написав «reader.read_text(gray)». Наконец, они проверяют сценарий, чтобы увидеть, возникают ли какие-либо ошибки.

  • 00:15:00 В этом разделе спикер проходит последние этапы запуска скрипта распознавания номерных знаков с использованием моделей YOLOv8 и EasyOCR. Они обнаруживают пару ошибок в коде, но им удается их исправить и успешно запустить скрипт. Выходное видео демонстрирует впечатляющие результаты: модель распознает номерные знаки и читает текст с помощью EasyOCR. Скрипт распознавания номерных знаков будет предоставлен в репозитории спикера GitHub для сторонников Patreon, но зрители все равно могут узнать об изменениях, внесенных в файл predict.pi, в видео для достижения аналогичных результатов.
Automatic License Plate Recognition using YOLOV8 and EasyOCR ( Images & Videos)
Automatic License Plate Recognition using YOLOV8 and EasyOCR ( Images & Videos)
  • 2023.02.04
  • www.youtube.com
#yolo #yolov8 #objectdetection #license #license #computervision #machinelearning #artificialintelligence Automatic License Plate Recognition using YOLOv...
 

Обнаружение и отслеживание объектов в реальном времени с использованием YOLOv8 в пользовательском наборе данных: полное руководство



Обнаружение и отслеживание объектов в реальном времени с использованием YOLOv8 в пользовательском наборе данных: полное руководство

В этом видеоруководстве ведущий представляет пользовательский набор данных, содержащий изображения автомобилей, грузовиков, мотоциклов, пикапов, самолетов и автомобилей для кемпинга, который используется для демонстрации реализации YOLOv8 с обнаружением и отслеживанием. Они объясняют важность сбалансированного набора данных и предоставляют пошаговые инструкции по навигации по репозиторию GitHub, настройке необходимой среды и внедрению отслеживания объектов с использованием алгоритма глубокой сортировки. Докладчик также обсуждает матрицу путаницы и важность потерь при обучении и проверке при проверке точности модели путем выполнения вывода с демонстрационным видео, загруженным с Google Диска. В заключение они делятся файлом совместной записной книжки с заинтересованными лицами.

  • 00:00:00 В этом разделе видеоруководства ведущий представляет общедоступный многоклассовый набор данных, который содержит около 4680 изображений автомобилей, грузовиков, мотоциклов, пикапов, самолетов и кемпинговых автомобилей. Набор данных несбалансирован, так как он чрезмерно представлен автомобильными аннотациями (около 8389 аннотаций), в то время как других аннотаций очень мало. Тем не менее, набор данных используется для этого руководства, но при реализации любого проекта или использовании любого общедоступного набора данных важно убедиться, что набор данных сбалансирован. В видео также представлен репозиторий GitHub, который используется для проекта, и представлены пошаговые инструкции по реализации YOLO V8 с обнаружением и отслеживанием любого пользовательского набора данных. Инструкции включают в себя клонирование репозитория, установку зависимостей, реализацию отслеживания объектов с помощью глубокой сортировки и загрузку примера видео для тестирования.

  • 00:05:00 В этом разделе видео ведущий объясняет библиотеки, используемые для отображения изображений и обучающей информации, и демонстрирует, как настроить необходимую среду для YOLOv8 с помощью Google Colab. Докладчик клонирует репозиторий GitHub для YOLOv8, устанавливает необходимые библиотеки и переходит к папке обнаружения. Затем ведущий показывает, как загрузить необходимый пользовательский набор данных из Roboflow и распаковать его, чтобы получить папки обучения, тестирования и проверки.

  • 00:10:00 В этом разделе видео ведущий обсуждает реализацию отслеживания объектов с помощью алгоритма глубокой сортировки. Они загружают файлы глубокой сортировки и распаковывают их, прежде чем показать матрицу путаницы, которая представляет собой диаграмму, показывающую, насколько хорошо модель обрабатывает разные классы. Они объясняют, что матрица путаницы указывает на то, что модель правильно определяет автомобили для кемпинга в 67% случаев, но иногда классифицирует их как простые автомобили. Они также обсуждают важность потерь при обучении и валидации и то, как они проверяют предсказание модели на проверочных партиях. Наконец, они загружают веса для пользовательской модели с Google Диска и проверяют ее, показывая, что средняя средняя точность высока, когда IOU составляет 50%.

  • 00:15:00 В этом разделе ведущий проверяет точность модели, выполняя вывод с построенной моделью, используя демонстрационное видео, загруженное с их Google Диска. На видео показаны легковые и грузовые автомобили на шоссе, и результаты показывают, что модель работает нормально с уникальным идентификатором, присвоенным каждому объекту, а также возможно отслеживание. Совместный файл, используемый в этом руководстве, доступен в их репозитории GitHub. Еще одно видео также протестировано, и результаты также хороши, но в некоторых случаях требуется улучшение. Докладчик сообщает, что они внедрили отслеживание обнаружения объектов с помощью YOLOv8 в пользовательском наборе данных, и делится файлом блокнота совместной работы для тех, кто заинтересован.
Real-Time Object Detection and Tracking using YOLOv8 on Custom Dataset: Complete Tutorial
Real-Time Object Detection and Tracking using YOLOv8 on Custom Dataset: Complete Tutorial
  • 2023.01.22
  • www.youtube.com
#yolo #yolov8 #objectdetection #objectracking #opencvpython #opencv #computervision #machinelearning #artificialintelligence #deepsort #multiobjecttracking#...
 

Сегментация и отслеживание объектов в реальном времени с использованием YOLOv8 в пользовательском наборе данных: полное руководство



Сегментация и отслеживание объектов в реальном времени с использованием YOLOv8 в пользовательском наборе данных: полное руководство

Этот видеоурок представляет собой исчерпывающее руководство по использованию YOLOv8 для сегментации объектов в реальном времени и отслеживания пользовательских наборов данных. В учебнике рассматривается весь процесс, включая импорт наборов данных, обучение пользовательских моделей с использованием алгоритмов YOLOv8 и Deep Sort, а также тестирование моделей на демонстрационных видеороликах. Докладчик предоставляет код и библиотеки, необходимые для реализации, и демонстрирует результаты прогнозов модели. Они также объясняют матрицу путаницы и предоставляют ссылки для доступа к выходным видео и полярным файлам на GitHub. В целом, это руководство — отличный ресурс для всех, кто хочет узнать о сегментации и отслеживании объектов с помощью YOLOv8.

  • 00:00:00 В этом разделе видеоруководство рассказывает, как использовать YOLOv8 для сегментации и отслеживания пользовательских наборов данных. Учебник шаг за шагом описывает реализацию и использует репозиторий, чтобы помочь с реализацией. Докладчик объясняет, как импортировать необходимые библиотеки и зависимости, а также как получить доступ и загрузить набор данных о трафике дронов из Roboflow. Также предоставляется код, необходимый для импорта набора данных, вместе с инструкциями по успешному запуску кода. Подчеркивается, что важно просмотреть полное видео, чтобы полностью понять основные концепции.

  • 00:05:00 В этом разделе спикер объясняет, как обучать пользовательские модели для отслеживания объектов с помощью алгоритмов YOLOv8 и Deep Sort. Они упоминают процедуру загрузки набора данных из Roboflow в блокнот Google Colab, загрузки файлов Deep Sort и обучения пользовательских моделей для обнаружения различных классов объектов, включая велосипед, автобус, автомобиль и грузовик. Спикер поделился результатами предсказания модели в пакете проверки, сохранил веса модели на Google Диске и загрузил демо-видео для проверки производительности модели. Они объясняют матрицу путаницы и то, как она показывает точность модели для разных классов объектов. В целом, видео представляет собой полное руководство по сегментации и отслеживанию объектов в реальном времени с использованием YOLOv8 в пользовательских наборах данных.

  • 00:10:00 В этом разделе видео ведущий тестирует модель на двух демо-видео и демонстрирует результаты. Модель способна точно обнаруживать и отслеживать объекты, присваивая каждому объекту уникальный идентификатор и создавая следы для отслеживания их движения. Докладчик предоставляет ссылку для доступа к выходному видео и полярному файлу на GitHub.

  • 00:15:00 В этом разделе спикер представляет результаты своего проекта сегментации и отслеживания объектов с использованием YOLOv8 в пользовательском наборе данных. Спикер показывает свои выходные видео и упоминает, что обнаружение очень хорошее, и зрители могут загрузить файлы, чтобы увидеть результаты самостоятельно. Спикер также напоминает зрителям подписаться на канал для будущих видео на новые темы.
Real Time Object Segmentation and Tracking using YOLOv8 on Custom Dataset: Complete Tutorial
Real Time Object Segmentation and Tracking using YOLOv8 on Custom Dataset: Complete Tutorial
  • 2023.01.25
  • www.youtube.com
#yolo #yolov8 #objectdetection #objectracking #opencvpython #opencv #computervision #machinelearning #artificialintelligence #deepsort #multiobjecttracking#...
 

Обнаружение дорожных знаков и светофоров и распознавание цвета с использованием YOLOv8



Обнаружение дорожных знаков и светофоров и распознавание цвета с использованием YOLOv8

В этом учебном пособии на YouTube демонстрируется использование YOLOv8 для обнаружения дорожных знаков и распознавания цветов. Ведущий представляет набор данных, который содержит 17 различных классов дорожных знаков со сбалансированным распределением изображений. Модель YOLOv8 обучена и настроена более чем на 100 эпох, что дает хорошие средние показатели точности для iou50 и ioub50. Докладчик демонстрирует, как интерпретировать матрицу путаницы и проверять модель на наборе данных проверки. Затем модель тестируется на двух демонстрационных видеороликах, оба из которых показывают точные результаты обнаружения. В целом, YOLOv8 хорошо справляется с обнаружением дорожных знаков и светофоров.

  • 00:00:00 В этом разделе видеоруководства ведущий представляет набор данных о дорожных знаках, который будет использоваться для обучения модели YOLOv8 обнаружению дорожных знаков. Набор данных содержит 17 различных классов дорожных знаков с 2093 изображениями для обучения, проверки и тестирования. Набор данных сбалансирован, что означает, что все классы имеют почти одинаковое распределение изображений, за исключением зеленых огней, которые имеют немного большее количество изображений. Докладчик также показывает, как импортировать набор данных из RoboFlow в блокнот Google Colab и установить необходимые библиотеки для реализации YOLOv8, в том числе библиотеки ultralytics и glob для управления путями к файлам, а также библиотеки изображений и отображения для отображения входных и выходных изображений. Докладчик также предоставляет варианты установки YOLOv8 либо путем клонирования репозитория GitHub, либо путем его установки из пакета ultralytics через pip.

  • 00:05:00 iou50 — хорошие показатели производительности обученной модели YOLOv8 в задаче обнаружения дорожных знаков и распознавания цвета. Модель была обучена на большом наборе данных и настроена более чем за 100 эпох, в результате чего средняя средняя точность с iou50 составила 95,8%, а средняя средняя точность с ioub 50 — 81,3%. Лучшие веса с наивысшей средней точностью были сохранены как «best.pt». В целом результаты достаточно хороши для обнаружения 17 различных классов дорожных знаков и светофоров в наборе данных изображения.

  • 00:10:00 В этом разделе видео ведущий объясняет различные файлы, сохраненные в папке обучения после запуска модели YOLOv8 для обнаружения дорожных знаков и светофоров и распознавания цвета. Эти файлы включают матрицу путаницы, кривую F1, кривую точности, кривую отзыва и производительность модели для каждой эпохи. Они также демонстрируют, как интерпретировать матрицу путаницы и как проверять модель в наборе данных проверки, используя лучшие веса модели. Наконец, они предполагают, что обучение модели в течение более длительного времени может еще больше улучшить среднюю среднюю точность результатов.

  • 00:15:00 В этом разделе видео докладчик проверяет модель на изображениях набора данных проверки и получает впечатляющий показатель основной средней точности. Затем модель тестируется на двух демонстрационных видеороликах, где она успешно обнаруживает такие знаки, как «не поворачивайте налево», «парковка», «красный свет» и другие. Демонстрационные видеоролики загружаются с сайта Pixel, а затем загружаются на Google Диск. Выходные видео отображаются и демонстрируют точные результаты обнаружения. В целом, модель хорошо справляется с обнаружением дорожных знаков и светофоров с помощью YOLOv8.
Road Signs and Traffic Lights Detection and Color Recognition using YOLOv8
Road Signs and Traffic Lights Detection and Color Recognition using YOLOv8
  • 2023.03.02
  • www.youtube.com
#yolo #yolov8 #objectdetection #computervision #opencv #opencv #opencvpython #pytorch #python Road Signs and Traffic Lights Detection and Color Recognition u...
 

Обнаружение выбоин и сегментация с использованием YOLOv8 (изображения и видео) | Пользовательский набор данных | Полное руководство



Обнаружение выбоин и сегментация с использованием YOLOv8 (изображения и видео) | Пользовательский набор данных | Полное руководство

В этом видео показано, как создать собственный набор данных для обнаружения и сегментации выбоин с помощью YOLOv8. Докладчик показывает шаги по клонированию и аннотированию данных изображений и рекомендует использовать Google Collab для обучения модели. Также обсуждаются необходимые зависимости для YOLOv8, а также настройка местоположения набора данных и обучение модели. Модель достигла средней средней точности 0,532 для обнаружения и 0,531 для сегментации, а также показала хорошие результаты при обнаружении выбоин на видео. Ведущий завершает видео после проверки пользовательской модели и достижения хороших результатов.

  • 00:00:00 В этом разделе видео автор демонстрирует, как создать собственный набор данных для обнаружения и сегментации выбоин с помощью YOLOv8. Автор использует Roboflow для создания собственного рабочего пространства и проекта и объясняет важность выбора общедоступного плана для рабочего пространства, чтобы можно было экспортировать набор данных в Google Colab. Автор также показывает, как импортировать видео или изображения, а также как клонировать общедоступные наборы данных, чтобы дополнить свои собственные. Наконец, автор показывает, как клонировать изображения и аннотации, в результате чего получается набор данных из 50 изображений для обнаружения и сегментации выбоин.

  • 00:05:00 В этом разделе видео ведущий демонстрирует, как клонировать и аннотировать данные изображения для обнаружения выбоин и сегментации с помощью YOLOv8. Они начинают с клонирования оставшихся 46 изображений из исходного набора данных, в результате чего общее количество изображений достигает 96. Процесс аннотации включает в себя соединение точек в форме многоугольника, чтобы указать местоположение выбоины на каждом изображении. Затем докладчик демонстрирует, как сохранять и назначать аннотации каждому изображению. Процесс занимает много времени, но его можно легко выполнить, выполнив шаги, описанные в видео.

  • 00:10:00 В этом разделе видео ведущий обсуждает процесс аннотирования набора данных для обнаружения и сегментации выбоин. Он демонстрирует, как создать набор данных с помощью инструмента аннотации, а затем приступает к обучению модели с использованием алгоритма YOLOv8 в Google Collab. Ведущий также упоминает, что в RoboFlow можно обучить модель одним щелчком мыши и без какого-либо кодирования, но рекомендует использовать Google Collab для изучения новых вещей. В видео показано, как импортировать необходимые библиотеки и клонировать репозиторий GitHub перед настройкой рабочего каталога и установкой зависимостей.

  • 00:15:00 В этом разделе видео ведущий дает инструкции по установке необходимых зависимостей для YOLOv8 и сегментации, подчеркивая, что это важно сделать до обучения, чтобы потом не возникало проблем с библиотекой. Докладчик также рассказывает об импорте набора данных из RoboFlow в папку Google и его загрузке, а также о настройке местоположения набора данных и обучении модели. Докладчик также признает и исправляет ошибку в файле predict.py, который был скорректирован для отслеживания.

  • 00:20:00 Модель способна обнаруживать выбоины со средней средней точностью 0,532 при IOU 50 и 0,218, когда IOU варьируется от 0,50 до 0,95. Модель была протестирована на образце видео и показала хорошие результаты при обнаружении выбоин. Отображаемая матрица путаницы показывает распределение данных между различными классами. В целом, модель отлично справляется с обнаружением выбоин.

  • 00:25:00 В этом разделе видео ведущий пытается проверить пользовательскую модель для обнаружения выбоин и сегментации с помощью YOLOv8. Они столкнулись с проблемой, когда модель не могла обнаружить выбоины в 50% случаев, что приводило к пустому экрану. Затем ведущий добавил лучший путь веса DOT и смог исправить проблему. Затем они приступили к отображению прогноза в контрольной партии и достигли средней точности 0,538 для обнаружения и 0,531 для сегментации. Модель была протестирована на нескольких демонстрационных видеороликах и работала хорошо, и ведущий завершает видео.
Potholes Detection and Segmentation using YOLOv8 (Images & Videos)| Custom Dataset | Complete Guide
Potholes Detection and Segmentation using YOLOv8 (Images & Videos)| Custom Dataset | Complete Guide
  • 2023.02.07
  • www.youtube.com
#objectdetection #potholes #yolo #yolov8 #computervision #segmentation #customdataset #machinelearning In this video, we will implement the Potholes detec...
 

Обнаружение и отслеживание пользовательских объектов YOLOv8 | Обнаружение кораблей | Полное руководство



Обнаружение и отслеживание пользовательских объектов YOLOv8 | Обнаружение кораблей | Полное руководство

Учебное пособие на YouTube описывает реализацию YOLOv8 с отслеживанием объектов глубокой сортировки в пользовательском наборе данных обнаружения кораблей. В видео рассказывается, как загрузить набор данных из RoboFlow, настроить проект в Expense ID и обучить модель в Google Colab. Сценарий обучения был запущен для 70 эпох, и в результате средняя точность составила 0,968 при IOU 50. Докладчик анализирует графики потерь и средней точности, чтобы показать, что обучение для большего количества эпох даст лучшие результаты. Затем они демонстрируют, как проверить модель на наборе данных проверки, и показывают среднюю точность на изображениях набора данных проверки. Наконец, они показывают несколько демонстрационных видеороликов модели в действии, включая пример ложного прогноза.

  • 00:00:00 В этом разделе видеоруководство охватывает набор данных для пользовательского проекта обнаружения и отслеживания объектов, который включает около 794 изображений кораблей, снятых дронами, только с одним классом, называемым «доска» или «форма». Затем в руководстве показано, как загрузить набор данных из RoboFlow и экспортировать его в Google Colab или Expense ID, который предлагает 25 бесплатных кредитов и графический процессор Tesla T4 или V100 для обучения моделей машинного обучения. Наконец, в руководстве обсуждается настройка проекта в Expense ID и открытие записной книжки Jupyter с параметрами сервера Expense для обучения модели обнаружения объектов YOLOv8 в наборе данных.

  • 00:05:00 В этом разделе руководства YouTube инструктор объясняет настройку проекта и предоставляет ссылку на репозиторий GitHub для реализации YOLO v8 с отслеживанием объектов глубокой сортировки в пользовательском наборе данных обнаружения кораблей. В видео показано, как клонировать репозиторий GitHub в блокнот Google Colab и установить необходимые библиотеки с помощью pip. Сценарий блокнота подробно объясняется, в том числе, как импортировать библиотеку изображений, устанавливать текущие рабочие каталоги и загружать предварительно обученные модели. Преподаватель подчеркивает важность запуска сценария в правильном порядке и установки всех необходимых библиотек перед запуском сценариев обучения, тестирования или проверки, чтобы избежать ошибок.

  • 00:10:00 В этом разделе спикер объясняет, как загрузить набор изображений кораблей из RoboFlow и реализовать отслеживание объектов с помощью DeepSort. Затем они обучают модель YOLOv8 на наборе данных корабля, устанавливая местоположение набора данных и размер изображения по умолчанию перед запуском сценария обучения на 70 эпох. Результаты показывают хорошую среднюю точность 0,968 с IOU 50, что означает, что модель правильно идентифицировала 96,8% кораблей на изображениях. Файл весов сохраняется в папке поезда, а матрица путаницы показывает, что точность модели в обнаружении присутствия корабля составляет 96 %, а частота отказов составляет 4 %. Потери при обучении постоянно уменьшаются, что указывает на то, что обучение в течение большего количества эпох даст лучшие результаты.

  • 00:15:00 В этом разделе видео ведущий анализирует график потерь и график средней точности, чтобы показать, что потери при обучении постоянно уменьшаются, а средняя средняя точность постоянно увеличивается по мере увеличения эпох. Затем они демонстрируют, как проверить модель на проверочном наборе данных, и показывают среднюю среднюю точность с iou50 на изображениях проверочного набора данных, которая составляет 96,4%, а средняя средняя точность с iou50 до 95 составляет 71,6%. Затем ведущий показывает несколько демонстрационных видеороликов, используя скрипт predict.pi, передавая лучшие веса модели, чтобы протестировать модель на нескольких видео и демонстрирует, как модель может обнаруживать доски и назначать уникальные идентификаторы каждому объекту. Наконец, они показывают пример ложного прогноза, сделанного моделью.
YOLOv8 Custom Object Detection and Tracking | Ships Detection | Complete Tutorial
YOLOv8 Custom Object Detection and Tracking | Ships Detection | Complete Tutorial
  • 2023.03.09
  • www.youtube.com
#yolo #yolov8 #objectdetection #objecttracking #deepsort #computervision #opencv #pytorch #python A complete YOLOv8 custom object detection and Tracking t...
 

YOLOv8 и VGG16 для распознавания лиц, определения пола, подсчета лиц и отслеживания людей | Пользовательский набор данных



YOLOv8 и VGG16 для распознавания лиц, определения пола, подсчета лиц и отслеживания людей | Пользовательский набор данных

В видеоуроке объясняется процесс обнаружения лиц, классификации по полу, подсчета лиц и отслеживания людей с использованием моделей YOLOv8 и VGG16. Учебное пособие охватывает различные аспекты реализации и обучения этих моделей, включая подготовку данных, увеличение данных, тонкую настройку предварительно обученной модели VGG16, использование трансферного обучения и обучение модели YOLOv8 распознаванию лиц. Докладчик также объясняет, как подключить Google Диск к блокноту Google Colab, получить доступ к наборам данных изображений и преобразовать их, загрузить необходимые библиотеки и интегрировать отслеживание объектов с помощью глубокой сортировки. В руководстве представлены подробные объяснения кода для рисования ограничивающих рамок вокруг обнаруженных объектов, интеграции модели классификации по полу, подсчета количества лиц в кадре и присвоения каждому обнаруженному лицу уникального идентификатора с помощью deepsort.update.

  • 00:00:00 В этом разделе видеоурока объясняется рабочий процесс обнаружения лиц с классификацией по полу и подсчета лиц с отслеживанием с использованием YOLOv8 и VGG16. Первый шаг — подготовить набор данных с изображениями лиц мужчин и женщин, обучить модель VGG16 распознаванию пола, а затем обучить модель YOLOv8 распознаванию лиц. При обнаружении лиц от YOLOv8 классификация по полу выполняется с использованием обученной модели VGG16. Затем отслеживание объектов реализуется с помощью Deepsort, присваивая уникальный идентификатор каждому обнаруженному лицу или человеку. Записная книжка разделена на девять шагов, включая импорт необходимых библиотек, подключение Google Диска, загрузку набора данных, преобразование изображений и меток в массивы, применение дополнения к данным, тонкую настройку модели VGG16 для данных гендерной классификации, построение графика обучения и потери проверки, а также тестирование с образцом изображения.

  • 00:05:00 В этом разделе спикер обсуждает различные библиотеки и функции, которые можно использовать для преобразования изображений в массивы numpy и наоборот. Они также объясняют использование двухуровневой категориальной библиотеки и концепцию последовательного и функционального подходов к организации слоев в нейронной сети. Сглаженный слой используется для преобразования многомерных входных данных в одномерные, а плотный слой используется для определения размера выходного слоя. Кроме того, они обсуждают использование трансферного обучения с моделью VGG16 и импорт разделенных тестов поездов, numpy и библиотек ОС. Наконец, упоминается использование библиотеки gdob для доступа ко всем файлам в папке и библиотеки random для перетасовки наборов данных изображений.

  • 00:10:00 В этом разделе видео объясняется, как подключить Google Диск к блокноту Google Colab для доступа к набору данных, загруженному в формате zip. Набор данных включает изображения лиц мужчин и женщин, а в видео показано, как распаковать и получить доступ к папке, содержащей эти изображения. Используя библиотеку glob, видео получает доступ ко всем файлам изображений в папках набора данных и преобразует их в формат массива с метками, указывающими, является ли изображение лицом мужчины или женщины. В видео показан пример изображения и объясняется, как переменная файлов изображений содержит все пути к файлам изображений папки мужчин и женщин, которые можно прочитать с помощью cb2.im read.

  • 00:15:00 В этом разделе спикер объясняет, как они подготовили свой набор данных для определения лица и пола. Они создали папки «мужчины» и «женщины», изменили размеры изображений внутри них и преобразовали их в массивы, которые затем были сохранены в списке данных. Они добавили соответствующие значения меток в список меток, с 1 для женщин и 0 для мужчин. Затем списки данных и меток были преобразованы в массивы с помощью NumPy. Докладчик также демонстрирует аугментацию данных с помощью генератора данных изображения, генерирующего несколько изображений из одного изображения путем применения различных преобразований. Затем они настроили предварительно обученную модель VGG16 в своем наборе данных гендерной классификации и внедрили активацию softmax для определения выходного слоя. Размер вывода был установлен равным 2, чтобы классифицировать мужчин или женщин.

  • 00:20:00 В этом разделе видеоурока спикер демонстрирует модель VGG16 для определения лица и пола и показывает, как ее обучить на наборе данных общей классификации. Модель сохраняется в формате .H5, и вычисляются ее точность, точность проверки и части потерь. Используя cv2.dsize, размер изображения изменяется до размеров 100x100 и преобразуется в массив, а модель предсказывает, содержит ли изображение мужчину или женщину. В следующей части руководства модель YOLOv8 будет обучена набору данных лиц для обнаружения лиц и присвоения уникального идентификатора для отслеживания. Спикер также упоминает, что подсчет лиц будет реализован с помощью простого кода, добавленного в файл predict.pi. В целом, учебник разделен на семь шагов.

  • 00:25:00 В этом разделе докладчик представляет репозиторий GitHub, который они будут использовать для реализации отслеживания объектов с помощью глубокой сортировки, а также модель YOLO V8 для уменьшения лиц. Они обсуждают, как они будут обнаруживать лица и выполнять гендерную классификацию, прежде чем интегрировать код отслеживания объектов глубокой сортировки, чтобы присвоить каждому человеку уникальный идентификатор. Затем ведущий устанавливает свой текущий каталог в качестве репозитория клонирования и устанавливает все необходимые библиотеки и зависимости, необходимые для сценария. Они также загружают набор данных из RoboFlow в свою записную книжку Google Colab, но сталкиваются с проблемами из-за наличия закрытой учетной записи.

  • 00:30:00 использовать веса предварительно обученной модели YOLOv8 для распознавания лиц. Набор данных загружается и сохраняется в моей учетной записи Google Диска, и я уже обучил модель YOLOv8 на 80 эпох для распознавания лиц. Обученная модель уже сохранена, а веса загружены в блокнот Google Colab. Файлы глубокой сортировки также загружаются в блокнот, так как отслеживание объектов будет реализовано с помощью глубокой сортировки. Кроме того, модель VGG16 была обучена определению пола, а файл модели .h5 был сохранен и загружен в учетную запись Google Диска. Образцы видео загружаются с Google Диска для тестирования скрипта predict.pi, который включает в себя код классификатора пола и подсчет лиц.

  • 00:35:00 В этом разделе спикер объясняет код, который был добавлен для реализации отслеживания объектов с помощью глубокой сортировки. Инициализируется порт отслеживания объектов глубокой сортировки и определяется функция для преобразования вывода, полученного от модели YOLOv8, в формат, совместимый для глубокой сортировки. Функция поля пользовательского интерфейса создает ограничивающие рамки вокруг обнаруженных объектов, а функция рисования поля вызывает функции поля пользовательского интерфейса и рисования границы, чтобы нарисовать прямоугольник со скругленными углами для текста. Код отслеживания глубокой сортировки интегрирован вместе с возможностью рисовать следы. Затем спикер объясняет код классификатора пола и функции подсчета в файле Paint. Функция подсчета используется для подсчета каждого объекта в каждом кадре. В целом код объясняет, как преобразовать выходные значения X1, Y1, X2 и Y2 из YOLOv8 в значения координат центра, высоты и ширины для отслеживания объектов с использованием глубокой сортировки, реализации обнаружения и отслеживания объектов в реальном приложении.

  • 00:40:00 В этом разделе спикер обсуждает преобразование модели YOLOv8 в координаты центра xcyc ограничивающей рамки, а также ширину и высоту ограничивающей рамки, чтобы сделать ее совместимой с отслеживанием объектов глубокой сортировки. Они также объясняют, как функция вычисления цвета для метки назначает уникальные цвета обнаруженным объектам, а функция рисования штриховой границы создает прямоугольник над ограничительной рамкой, где записываются метка и показатель достоверности. Спикер также рассказывает о классе классификатора пола и о том, как он загружается и используется на каждом кадре видео для классификации пола обнаруженных объектов. Кроме того, они упоминают функцию UI Dash box и функцию draw Dash box, которые используются для создания ограничительных рамок и вызова функции классификатора пола.

  • 00:45:00 В этом разделе ведущий объясняет, как использовать модель гендерной классификации, чтобы определить, принадлежит ли лицо мужчине или женщине. После обнаружения лица в модель классификации пола передаются только координаты ограничивающей рамки. Затем модель предсказывает, принадлежит ли лицо мужчине или женщине, и соответственно добавляется метка над ограничивающей рамкой. Затем докладчик объясняет функцию count, которая использует словарь под названием Foundry-classes для хранения количества лиц, обнаруженных в кадре. Счетчик отображается в пользовательском интерфейсе над видео или изображением.

  • 00:50:00 В этом разделе спикер объясняет, что количество лиц, обнаруженных в текущем кадре, хранится в словаре класса Foundry в классе FaceDetails. Словарь содержит два значения: ключевую переменную, которая содержит «лицо», и переменную-значение, которая содержит количество лиц, обнаруженных в текущем кадре. Динамик использует функцию подсчета, чтобы показать, сколько лиц было обнаружено в каждом кадре, и присваивает уникальный идентификатор каждому обнаруженному лицу с помощью deepsort.update. Спикер также создает общий класс, класс классификации и класс опасности. Обнаружения модели тестируются на нескольких демонстрационных видеороликах, и докладчик показывает результаты обнаружения в каждом кадре.
YOLOv8 and VGG16 for Face, Gender Detection, Face Counting, and People Tracking | Custom Dataset
YOLOv8 and VGG16 for Face, Gender Detection, Face Counting, and People Tracking | Custom Dataset
  • 2023.03.05
  • www.youtube.com
#objectdetection #computervision #yolo #yolov8 #ultralytics #transferlearning #vgg16 #objecttracking #deepsort #facedetection #opencv #opencvpython #pytorc...
 

Счетчик посетителей с использованием YOLOv8 и отслеживания объектов | Подсчет людей (вход и выход)



Счетчик посетителей с использованием YOLOv8 и отслеживания объектов | Подсчет людей (вход и выход)

В видео объясняется, как создать счетчик посетителей с помощью YOLOv8 и отслеживания объектов. Процесс включает в себя обнаружение объектов с уникальными идентификаторами, определение координат центра обнаруженного объекта, отслеживание объектов с помощью Deep SORT и обнаружение пересечения объектами определенных линий для подсчета количества людей, входящих и выходящих из определенной области. Уникальные идентификаторы хранятся в списках для подсчета людей, входящих и выходящих из зоны, а подсчет графически отображается зелеными и красными кружками. Видео также предоставляет код для проекта и демонстрирует вывод системы в режиме реального времени.

  • 00:00:00 В этом разделе видеоурока ведущий объясняет, как создать счетчик посетителей с помощью YOLO V8 и отслеживания объектов. Поток процесса начинается с реализации обнаружения объектов YOLO V8 для обнаружения людей и присвоения уникального идентификатора каждому обнаруженному объекту. Затем находится центральная координата обнаруженного объекта, после чего осуществляется отслеживание объекта с помощью Deep SORT, при котором каждому обнаруженному объекту присваивается уникальный идентификатор. После этого рисуются линии, определяющие, когда человек их пересекает, и их уникальный идентификатор добавляется в список. Наконец, определяется длина списка, чтобы получить общее количество людей, пересекающих каждую строку.

  • 00:05:00 В этом разделе видео объясняет процесс подсчета людей с помощью YOLOv8 и отслеживания объектов. Метод включает в себя отслеживание центральной координаты ограничивающей рамки объекта и обнаружение пересечения зеленой линии. Затем уникальный идентификатор объекта добавляется в список, который используется для подсчета общего количества объектов, прошедших через линию. Процесс повторяется кадр за кадром, и счетчик увеличивается каждый раз, когда объект проходит линию. Видео также демонстрирует код, используемый для этого проекта, который включает установку зависимостей и использование метода отслеживания объектов с глубокой сортировкой.

  • 00:10:00 В этом разделе видео ведущий загружает файлы глубокой сортировки и открывает сценарий прогнозирования, чтобы внести необходимые изменения в соответствии с требованиями своего проекта. Ведущий удаляет следы и ненужные данные и создает две строки для прямого и обратного счета с помощью видеовхода. Они находят точки координат для каждой линии, что позволит им отслеживать количество людей, пересекших каждую линию, и общее количество. Ведущий показывает свой экран, чтобы продемонстрировать, как найти координаты, и подчеркивает важность фокусировки на правильной области.

  • 00:15:00 В этом разделе спикер объясняет, как определить координаты линии и создать пустой список. Координаты линии копируются из предыдущего шага, а в пустом списке будут храниться уникальные идентификаторы пересекающих ее объектов. Скрипт также вычисляет ширину и высоту ограничивающей рамки и сохраняет уникальный идентификатор в соответствующем списке в зависимости от того, идет ли человек вверх или вниз. Динамик обеспечивает визуальное представление точек и координат, используемых в этом разделе.

  • 00:20:00 В этом разделе видео спикер объясняет код проекта People Counter с использованием YOLOv8 и Object Tracking. Они проходят через координаты CX и CY, которые представляют собой координаты центра ограничивающей рамки, и то, как они используются для рисования круга и прямоугольника вокруг обнаруженного объекта. Спикер также объясняет, как уникальный идентификатор и метка каждого объекта добавляются в прямоугольник с помощью функции cv2.puttext. Наконец, они объясняют, как уникальный идентификатор сохраняется в пустом списке, когда координата CX объекта пересекает определенную линию, указывая на вход или выход.

  • 00:25:00 В этом разделе ведущий объясняет, как уникальный идентификатор добавляется в общий список для лиц, поднимающихся вверх и вниз. Когда центральная координата проходит выше или ниже линии, в зависимости от количества, она будет добавлена в соответствующий список. Длина каждого списка представляет собой количество людей, поднимающихся и опускающихся, что графически отображается в виде двух кругов, где зеленый цвет представляет людей, поднимающихся вверх, а красный — людей, спускающихся вниз. Докладчик акцентирует внимание на определении глобального общего количества и общих переменных и создании строки с использованием cb2.9. В коде используется круг ЦП/DPM для создания кругового представления счетчика. Ведущий напоминает зрителям, чтобы убедиться, что среда выполнения установлена как GPU, и сеанс может занять несколько секунд, чтобы загрузить необходимые файлы.

  • 00:30:00 В этом разделе спикер демонстрирует, как загрузить и запустить скрипт, который использует YOLOv8 и отслеживание объектов для подсчета количества людей, входящих и выходящих из определенной области видео. Скрипт делит видео на кадры и обрабатывает их один за другим, чтобы отслеживать движения людей и подсчитывать их пересечение определенных линий. Результатом является аннотированное видео, которое показывает количество людей, входящих и выходящих из зоны в режиме реального времени. Спикер также демонстрирует выходное видео и объясняет, как скрипт успешно подсчитывает движение людей.

  • 00:35:00 В этом разделе видеоруководство демонстрирует использование YOLOv8 и отслеживания объектов для подсчета людей, входящих и выходящих из определенной зоны. Система подсчитывает количество людей, пересекающих линию на изображении, и отображает счет либо в прямом, либо в обратном порядке, в зависимости от направления движения. Файл сценария для системы также является общим, и зрителям предлагается подписаться на канал и оставить большой палец вверх.
People Counter using YOLOv8 and Object Tracking |People Counting (Entering & Leaving)
People Counter using YOLOv8 and Object Tracking |People Counting (Entering & Leaving)
  • 2023.02.21
  • www.youtube.com
#yolo #yolov8 #objectdetection #computervision #objectracking #machinelearning #people #peoplecounting #peoplecounter #pytorch #opencv #opencvpython #deepsor...
 

Обнаружение, отслеживание, размытие и подсчет объектов в реальном времени с использованием YOLOv8: пошаговое руководство



Обнаружение, отслеживание, размытие и подсчет объектов в реальном времени с использованием YOLOv8: пошаговое руководство

В этом руководстве основное внимание уделяется реализации размытия и подсчета объектов с обнаружением и отслеживанием объектов в реальном времени с использованием YOLOv8. В руководстве представлены шаги для загрузки необходимых файлов, включая файлы глубокой сортировки для отслеживания объектов и образец видео для тестирования. В учебнике используется библиотека OpenCV CV2 для размытия обнаруженных объектов и предоставляется код для обнаружения, отслеживания и размытия объектов. Докладчик демонстрирует процесс определения координат ограничивающей рамки, кадрирования изображения и применения функции размытия. Кроме того, ведущий объясняет код для подсчета общего количества объектов в каждом кадре с помощью словаря и демонстрирует, как код обнаруживает, отслеживает и размывает объекты при отображении общего количества объектов в каждом кадре. В целом результаты хорошие, в описании указан GitHub-репозиторий проекта.

  • 00:00:00 В этом разделе руководства основное внимание уделяется размытию обнаруженных объектов и подсчету количества объектов в каждом кадре. В учебнике используется YOLOv8 для обнаружения объектов с идентификатором отслеживания и следами. В учебнике представлено пошаговое руководство от выбора среды выполнения графического процессора до запуска сценариев для загрузки необходимых файлов, включая файлы глубокой сортировки для отслеживания объектов, а также пример видео для тестирования. В учебнике также освещается использование библиотеки OpenCV CV2 для размытия обнаруженных объектов и предоставляется код для реализации обнаружения, отслеживания и размытия объектов.

  • 00:05:00 В этом разделе видеоурока объясняется, как размыть объекты, обнаруженные при обнаружении и отслеживании объектов в реальном времени, с помощью YOLOv8. Чтобы реализовать это, нужно знать координаты ограничивающей рамки, которая включает верхнюю левую вершину и нижнюю правую вершину, а затем размыть объект внутри этой ограничивающей рамки. Координаты хранятся в файле «predict.pi», и эти значения можно получить для размытия объектов.

  • 00:10:00 В этом разделе видео спикер объясняет, как размыть объект внутри ограничивающей рамки обнаруженного объекта. Сначала он определяет координаты ограничивающей рамки, а затем обрезает изображение, чтобы оно содержало только область, в которой расположена ограничивающая рамка. Затем он применяет функцию размытия с помощью точечного размытия CV2 и устанавливает соотношение крови, которое определяет размытость области. Спикер демонстрирует процесс, написав и запустив скрипт.

  • 00:15:00 В этом разделе видео ведущий демонстрирует, как реализовать размытие объектов с помощью YOLOv8 для обнаружения, отслеживания и подсчета объектов в реальном времени. После внесения небольших исправлений и запуска скрипта докладчик показывает результаты работы функции размытия объектов, которая работает хорошо. Затем докладчик переходит к объяснению кода для подсчета общего количества объектов в каждом кадре, что включает в себя создание словаря, содержащего имя объекта и количество его появлений в текущем кадре. Ведущий не показывает код этой части, чтобы не сделать видео слишком длинным.

  • 00:20:00 В этом разделе ведущий объясняет функцию подсчета, которая извлекает ключи и значения из словаря, содержащего имена объектов и их количество (количество появлений в текущем переднем фрейме). Эта функция создает прямоугольник и накладывает на него текст, отображающий количество появлений объекта. Докладчик также демонстрирует, как код обнаруживает и отслеживает объекты, размывает их и отображает общее количество объектов в каждом кадре. Результаты хорошие, в описании указан GitHub-репозиторий для проекта.
Real-Time Object Detection, Tracking, Blurring and Counting using YOLOv8: A Step-by-Step Tutorial
Real-Time Object Detection, Tracking, Blurring and Counting using YOLOv8: A Step-by-Step Tutorial
  • 2023.01.21
  • www.youtube.com
#yolo #yolov8 #objectdetection #objectracking #opencvpython #opencv #computervision #machinelearning #artificialintelligence #deepsort #multiobjecttrack...