Video2X: платформа высококачественного масштабирования видео и интерполяции кадров.
Редактор исходного кода
Важный
Версии 4 и 5 достигли статуса окончания срока службы (EOL). Из-за ограниченности ресурсов разработки любые проблемы, связанные с версиями ниже 6, больше не будут решены.
Версия 6.0.0
Загрузите установщик Windows
В двух словах: версия 6.0.0 представляет собой полную переработку проекта Video2X на C/C++ с более быстрой и эффективной архитектурой, кроссплатформенной поддержкой, значительно улучшенным качеством вывода и новыми функциями для простой настройки в графическом интерфейсе Windows и программе установки. .
Версия 6.0.0 представляет собой полную переработку проекта, реализованную на C/C++ и включает следующие возможности:
1. Более быстрая архитектура. Благодаря использованию многопоточности и ускорению графического процессора Video2X теперь работает намного быстрее, чем раньше.
2. Кроссплатформенная поддержка: Video2X теперь работает на Windows, Linux и macOS.
3. Улучшенное качество вывода: Video2X теперь предлагает более высокое качество масштабирования, особенно для видео с высоким разрешением.
4. Новый графический интерфейс: Video2X теперь имеет удобный графический интерфейс, который упрощает процесс настройки и использования.
5. Новый установщик. Video2X теперь предлагает простой в использовании установщик, который поможет вам быстро и легко установить программное обеспечение в Windows.
Скоро появится поддержка RealCUGAN и интерполяции кадров с использованием RIFE.
Скачать версию для Windows
Вы можете скачать последнюю версию Windows со страницы выпусков. Основные сведения об использовании графического интерфейса см. на вики-странице графического интерфейса. Если вы не можете загрузить напрямую с GitHub, попробуйте использовать зеркало. Графический интерфейс в настоящее время поддерживает следующие языки:
1. английский
2. Упрощенный китайский
3. Традиционный китайский
4. Японский
5. Корейский
6. Французский
7. Немецкий
8. Итальянский
9. Испанский
10. Португальский
11. Русский
Установить в Linux
Вы можете установить Video2X в Arch Linux с помощью пакета video2x-git или загрузить предварительно скомпилированные двоичные файлы со страницы релизов. Если вы хотите выполнить сборку из исходного кода, см. файл PKGBUILD для обзора необходимых пакетов и команд. Если вы не хотите компилировать свою программу из исходного кода, рассмотрите возможность использования образа контейнера ниже.
изображение контейнера
Образы контейнеров Video2X доступны в реестре контейнеров GitHub для простого развертывания в Linux и macOS. Если у вас установлен Docker/Podman, вы можете запустить усиление видео всего одной командой. Дополнительную информацию о том, как использовать образ Docker Video2X, см. в документации.
Google Colab (устарело: 5.0.0-beta7)
Если у вас нет собственного мощного графического процессора, вы можете бесплатно использовать Video2X в Google Colab. Вы можете бесплатно одолжить мощный графический процессор (NVIDIA T4, L4 или A100) на серверах Google на срок до 12 часов за сеанс. Пожалуйста, разумно используйте бесплатные ресурсы, не создавайте непрерывные сеансы и не запускайте Zoom 24/7. Это может привести к тому, что вас забанят. Если вы хотите использовать более мощный графический процессор и увеличить время работы, приобретите Colab Pro/Pro+. Инструкция по использованию встроена в блокнот Colab.
Дискуссионная группа в Telegram
Присоединяйтесь к нашей группе обсуждения в Telegram, чтобы задать любые вопросы о Video2X, пообщаться напрямую с разработчиками или обсудить технологию сверхвысокого разрешения и будущее Video2X.
документ
Документация для Video2X размещена на Wiki-странице этого репозитория. Он включает подробные инструкции по использованию графического пользовательского интерфейса, интерфейса командной строки, образов контейнеров, библиотек и многого другого. Вики-файлы открыты для редактирования сообществом, поэтому вы, да, вы также можете исправлять ошибки или добавлять новый контент в документацию.
представлять
Video2X — это платформа масштабирования видео и интерполяции кадров на основе машинного обучения, построенная на трех основных компонентах:
1. Модели: Video2X использует множество передовых моделей глубокого обучения для масштабирования и интерполяции кадров.
2. Механизм. Механизм Video2X отвечает за обработку видеоданных, выполнение вывода модели и создание выходного видео.
3. Интерфейс: Video2X предоставляет различные интерфейсы, такие как графический интерфейс пользователя, интерфейс командной строки и образы контейнеров, чтобы вы могли легко использовать платформу.
Видео демонстрация
Увеличьте: трейлер фильма «Унесённые призраками»
Стандартный тестовый фрагмент
Следующий фрагмент можно использовать для проверки правильности работы вашей установки. Это также стандартный фрагмент для запуска тестов производительности.
Оригинальный клип из аниме «Девочка из Сакурасо».
Авторские права на этот клип принадлежат Amino Pulse Co., Ltd.
лицензия
Этот проект выпущен под лицензией GNU AGPL версии 3.
Авторские права (C) 2018–2024 K4YT3X и участники.
Этот проект включает в себя или зависит от следующих проектов:
1. opencv: https://github.com/opencv/opencv
2. waifu2x-caffe: https://github.com/nagadomi/waifu2x-caffe
3. Real-ESRGAN: https://github.com/xinntao/Real-ESRGAN.
4. BasicSR: https://github.com/xinntao/BasicSR.
5. ГФПГАН: https://github.com/TencentARC/GFPGAN.
6. РАЙФ: https://github.com/hzwer/arXiv2021-RIFE.
7. Anime4K: https://github.com/bloc97/Anime4K
Дополнительную информацию о лицензировании можно найти в файле NOTICE.
особое спасибо
Особая благодарность следующим людям за их значительный вклад в этот проект (в алфавитном порядке):
1. K4YT3X: Создатель проекта
2. Участники: Спасибо всем, кто внес свой вклад в этот проект.
Например:
Лицензия Apache-2.0
Оглавление
Платформа обнаружения объектов даркнета и YOLO
1. Бумага
2. Общая информация
3. Даркнет-версия
4. Веса перед тренировкой MSCOCO
5. Построить
1. Гугл Колаб
2. Метод Linux CMake
3. Метод Windows CMake
6. Используйте даркнет
1. Интерфейс командной строки
2. Обучение
7. Другие инструменты и ссылки
8. Дорожная карта
1. Краткосрочные цели
2. Среднесрочные цели
3. Долгосрочные цели
Платформа обнаружения объектов даркнета и YOLO
Darknet — это платформа нейронных сетей с открытым исходным кодом, написанная на C, C++ и CUDA.
YOLO (You Only Look Once) — это современная система обнаружения объектов в реальном времени, работающая в рамках Darknet.
Узнайте, как Hank.ai помогает сообществу Darknet/YOLO
Анонс Darknet V3 «Джаз»
Посетите сайт Darknet/YOLO.
Пожалуйста, прочтите FAQ по Darknet/YOLO.
Присоединяйтесь к серверу Discord Darknet/YOLO
бумага
1. Бумага YOLOV7
2. Бумага Scaled-YOLOv4.
3. Бумага YOLOV4
4. Бумага YOLOV3
Общая информация
Платформа Darknet/YOLO по-прежнему работает быстрее и точнее, чем другие платформы и версии YOLO.
Фреймворк полностью бесплатен и имеет открытый исходный код. Вы можете интегрировать Darknet/YOLO в существующие проекты и продукты (включая коммерческие продукты) без лицензирования и оплаты.
Darknet V3 («Джаз»), выпущенный в октябре 2024 года, может точно воспроизводить видео набора данных LEGO со скоростью до 1000 кадров в секунду при использовании графического процессора NVIDIA RTX 3090, что означает, что каждый видеокадр занимает 1 миллисекунду или меньше. Внутреннее считывание, изменение размера и обработка с помощью Darknet/ ЙОЛО.
Если вам нужна помощь или вы хотите обсудить Darknet/YOLO, присоединяйтесь к серверу Discord Darknet/YOLO: https://discord.gg/zSq8rtW
Версия Darknet/YOLO с ЦП может работать на простых устройствах, таких как Raspberry Pi, облачных серверах и серверах совместной работы, настольных компьютерах, ноутбуках и высококачественном учебном оборудовании. Для версии Darknet/YOLO с графическим процессором требуется CUDA-совместимый графический процессор NVIDIA.
Известно, что Darknet/YOLO работает на Linux, Windows и Mac. См. инструкции по сборке ниже.
Даркнет-версия
Оригинальные инструменты Darknet, написанные Джозефом Редмоном в 2013–2017 годах, не имели номеров версий. Мы думаем, что это версия 0.x.
Следующая популярная даркнет-библиотека, которую ведет Алексей Бочковский с 2017 по 2021 год, также не имеет номера версии. Мы думаем, что это версия 1.x.
Библиотека Darknet, спонсируемая Hank.ai и поддерживаемая Стефаном Шареттом с 2023 года, является первой библиотекой, имеющей команду версии. С 2023 до конца 2024 года он возвращается к версии 2.х «Дуб».
Цель состоит в том, чтобы ознакомиться с базой кода, нарушая при этом как можно меньше существующих функций.
1. Переписали этапы сборки, чтобы теперь мы могли выполнять сборку на Windows и Linux с помощью CMake.
2. Преобразуйте базу кода для использования компилятора C++.
3. Улучшен файлchart.png во время тренировки.
4. Исправления ошибок и оптимизация производительности, в основном связанная с сокращением времени, необходимого для обучения сети.
Последняя ветвь базы кода — это версия 2.1 в ветке v2.
Следующий этап разработки начнется в середине 2024 года и будет выпущен в октябре 2024 года. Команда версии теперь возвращает 3.x «JAZZ».
Если вам нужно запустить одну из этих команд, вы всегда можете проверить предыдущую ветку v2. Сообщите нам, чтобы мы могли изучить вопрос о добавлении недостающих команд.
1. Удалены многие старые и неподдерживаемые команды.
2. Сделано множество оптимизаций производительности, как во время обучения, так и во время вывода.
3. Изменен старый C API; приложения, использующие исходный API Darknet, должны будут внести незначительные изменения: https://darknetcv.ai/api/api.html.
4. Новый API Darknet V3 C и C++: https://darknetcv.ai/api/api.html.
5. Новые приложения и пример кода в src-примерах: https://darknetcv.ai/api/files.html
MSCOCO предварительно обученные веса
Для удобства несколько популярных версий YOLO предварительно обучены на наборе данных MSCOCO. Набор данных содержит 80 категорий, и его можно увидеть в текстовом файле cfg/coco.names.
Для тестирования Darknet/YOLO доступно несколько других, более простых наборов данных и предварительно обученных весов, например LEGO Gears и Rolodex. Дополнительную информацию можно найти в FAQ по Darknet/YOLO.
Предварительно обученные веса MSCOCO можно загрузить из нескольких разных мест, а также из этого репозитория:
1. YOLov2, ноябрь 2016 г.
1. YOLOV2-крошечный
2.YOLov2-полный
2. YOLov3, май 2018 г.
1. YOLOV3-крошечный
2.YOLOV3-полный
3. YOLov4, май 2020 г.
1.YOLOv4-крошечный
2. YOLOv4-полный
4. YOLov7, август 2022 г.
1. YOLOv7-крошечный
2. YOLOv7-полный
Предварительно обученные веса MSCOCO предназначены только для демонстрационных целей. Соответствующие файлы .cfg и .names для MSCOCO расположены в каталоге cfg. Пример команды:
`бить
wget --no-clobber https://github.com/hank-ai/darknet/releases/download/v2.0/yolov4-tiny.weights
darknet02displayannotatedimages coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg
darknet03display_videos coco.names yolov4-tiny.cfg yolov4-tiny.weights video1.avi
DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg
DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights video1.avi
`
Обратите внимание, что необходимо обучать свою собственную сеть. MSCOCO обычно используется для подтверждения того, что все работает правильно.
строить
Различные методы сборки, доступные в прошлом (до 2023 г.), были объединены в единое решение. Для Darknet требуется C++17 или выше, OpenCV и использование CMake для создания необходимых файлов проекта.
Вам не нужно знать C++, чтобы создать, установить или запустить Darknet/YOLO, точно так же, как вам не нужно быть механиком, чтобы водить машину.
Гугл Колаб
Инструкции Google Colab такие же, как инструкции Linux. Доступно несколько блокнотов Jupyter, в которых показано, как выполнять определенные задачи, например обучение новой сети.
Проверьте блокнот в подкаталоге colab или следуйте инструкциям Linux ниже.
Метод CMake в Linux
Руководство по сборке Darknet для Linux
Необязательно: если у вас современный графический процессор NVIDIA, вы можете сейчас установить CUDA или CUDA+cuDNN. Если Darknet установлен, он будет использовать ваш графический процессор для ускорения обработки изображений (и видео).
Вам необходимо удалить файл CMakeCache.txt из каталога сборки Darknet, чтобы заставить CMake повторно найти все необходимые файлы.
Не забудьте восстановить Даркнет.
Даркнет можно запустить и без него, но если вы хотите обучить собственную сеть, вам понадобится CUDA или CUDA+cuDNN.
Посетите https://developer.nvidia.com/cuda-downloads, чтобы загрузить и установить CUDA.
Посетите https://developer.nvidia.com/rdp/cudnn-download или https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn-package-manager-installation-overview, чтобы загрузить. и установите cuDNN.
После установки CUDA убедитесь, что вы можете запустить nvcc и nvidia-smi. Возможно, вам придется изменить переменную PATH.
Если вы позже установили CUDA или CUDA+cuDNN или обновились до более новой версии программного обеспечения NVIDIA:
Эти инструкции предполагают (но не требуют!), чтобы в системе работала Ubuntu 22.04. Если вы используете другой дистрибутив, внесите необходимые изменения.
`бить
sudo apt-get install build-essential git libopencv-dev cmake
mkdir ~/srccd ~/src
клон git https://github.com/hank-ai/darknet
компакт-диск даркнет
сборка mkdir
сборка компакт-диска
cmake -DCMAKEBUILDTYPE=Выпустить ..
сделать пакет -j4
sudo dpkg -i darknet-ВЕРСИЯ.deb
`
Если вы используете более старую версию CMake, вам потребуется обновить CMake, чтобы запустить указанную выше команду cmake. Обновление CMake в Ubuntu можно выполнить с помощью следующей команды:
`бить
sudo apt-get очистить cmake
sudo snap установить cmake --classic
`
Если вы используете bash в качестве командной оболочки, вам нужно будет перезапустить оболочку на этом этапе. Если вы используете рыбу, она должна немедленно выбрать новый путь.
Продвинутые пользователи:
Если вы хотите создать установочный файл RPM вместо файла DEB, см. соответствующие строки в CM_package.cmake. Перед запуском пакета make -j4 вам необходимо отредактировать эти две строки:
`бить
SET (CPACKGENERATOR "DEB")# SET (CPACKGENERATOR "RPM")
`
Для таких дистрибутивов, как Centos и OpenSUSE, вам необходимо переключить эти две строки в CM_package.cmake на:
`бить
НАБОР (CPACK_GENERATOR «DEB»)
НАБОР (CPACK_GENERATOR «ОБ/МИН»)
`
Чтобы установить пакет, используйте обычный менеджер пакетов вашего дистрибутива после завершения сборки. Например, в системе на базе Debian, такой как Ubuntu:
`бить
sudo dpkg -i darknet-2.0.1-Linux.deb
`
При установке пакета .deb будут скопированы следующие файлы:
1. /usr/bin/darknet — обычный исполняемый файл Darknet. Запустите версию darknet из CLI, чтобы убедиться, что она установлена правильно.
2. /usr/include/darknet.h — API Darknet для разработчиков C, C++ и Python.
3. /usr/include/darknet_version.h содержит информацию о версии для разработчиков.
4. /usr/lib/libdarknet.so — это библиотека, с которой могут ссылаться разработчики C, C++ и Python.
5. /opt/darknet/cfg/... — здесь хранятся все шаблоны .cfg.
Теперь все готово! Darknet встроен и установлен в /usr/bin/. Для проверки выполните следующую команду: версия даркнета.
Если у вас нет /usr/bin/darknet, вы его не устанавливали, а просто собрали! Обязательно установите файл .deb или .rpm, как описано выше.
Методы Windows CMake
В этих инструкциях предполагается, что у вас установлена чистая версия Windows 11 22H2.
Откройте обычное окно командной строки cmd.exe и выполните следующую команду:
`бить
winget установить Git.Git
winget установить Kitware.CMake
winget установить nsis.nsis
winget install Microsoft.VisualStudio.2022.Community
`
На этом этапе нам необходимо изменить установку Visual Studio, чтобы включить поддержку приложений C++:
1. Откройте меню «Пуск» Windows и запустите установщик Visual Studio.
2. Нажмите «Изменить».
3. Выберите разработку настольных компьютеров с использованием C++.
4. Нажмите «Изменить» в правом нижнем углу, затем нажмите «Да».
После того, как все будет загружено и установлено, снова щелкните меню «Пуск» Windows и выберите «Командная строка разработчика для Visual Studio 2022». Не используйте PowerShell для выполнения этих действий, у вас возникнут проблемы!
Продвинутые пользователи:
Вместо запуска командной строки разработчика вы можете войти в устройство с помощью обычной командной строки или SSH и вручную запустить «Program FilesMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat».
После того как у вас запустится командная строка разработчика, как описано выше (не PowerShell!), выполните следующую команду для установки Microsoft VCPKG, которая затем будет использоваться для сборки OpenCV:
`бить
CDC:
mkdir c:srccd c:src
клон git https://github.com/microsoft/vcpkg
компакт-диск vcpkg
bootstrap-vcpkg.bat
.vcpkg.exe интегрировать установку
.vcpkg.exe интегрирует powershell.vcpkg.exe install opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
`
Пожалуйста, будьте терпеливы с этим последним шагом, так как его выполнение может занять много времени. Это требует загрузки и создания большого количества вещей.
Продвинутые пользователи:
Обратите внимание, что при сборке OpenCV вам может потребоваться добавить множество других дополнительных модулей. Запустите .vcpkg.exe search opencv, чтобы просмотреть полный список.
Необязательно: если у вас современный графический процессор NVIDIA, вы можете сейчас установить CUDA или CUDA+cuDNN. Если Darknet установлен, он будет использовать ваш графический процессор для ускорения обработки изображений (и видео).
Вам необходимо удалить файл CMakeCache.txt из каталога сборки Darknet, чтобы заставить CMake повторно найти все необходимые файлы.
Не забудьте восстановить Даркнет.
Даркнет можно запустить и без него, но если вы хотите обучить собственную сеть, вам понадобится CUDA или CUDA+cuDNN.
Посетите https://developer.nvidia.com/cuda-downloads, чтобы загрузить и установить CUDA.
Посетите https://developer.nvidia.com/rdp/cudnn-download или https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#download-windows, чтобы загрузить и установить cuDNN.
После установки CUDA убедитесь, что вы можете запускать nvcc.exe и nvidia-smi.exe. Возможно, вам придется изменить переменную PATH.
После загрузки cuDNN разархивируйте и скопируйте каталоги bin, include и lib в C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/[версия]/. Возможно, вам придется перезаписать некоторые файлы.
Если вы позже установили CUDA или CUDA+cuDNN или обновились до более новой версии программного обеспечения NVIDIA:
CUDA должен быть установлен после Visual Studio. Если вы обновляете Visual Studio, не забудьте переустановить CUDA.
После успешного завершения всех предыдущих шагов вам необходимо клонировать Darknet и собрать его. На этом этапе нам также нужно сообщить CMake, где находится vcpkg, чтобы он мог найти OpenCV и другие зависимости:
`бить
компакт-диск c: источник
клон git https://github.com/hank-ai/darknet.git
компакт-диск даркнет
сборка mkdir
сборка компакт-диска
cmake -DCMAKEBUILDTYPE=Выпуск -DCMAKETOOLCHAINFILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake ..
msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
`
Если вы получаете сообщение об отсутствующей DLL CUDA или cuDNN (например, cublas64_12.dll), вручную скопируйте файл CUDA .dll в тот же выходной каталог, что и Darknet.exe. Например:
`бить
скопировать «C:Program FilesNVIDIA GPU Computing ToolkitCUDAv12.2bin*.dll» src-cliRelease
`
(Это пример! Убедитесь, что вы используете именно ту версию, и выполните соответствующую команду для установленной версии.)
После копирования файлов повторно запустите последнюю команду msbuild.exe, чтобы сгенерировать установочный пакет NSIS:
`бить
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
`
Продвинутые пользователи:
Обратите внимание, что выходные данные команды cmake — это обычный файл решения Visual Studio Darknet.sln. Если вы разработчик программного обеспечения, который часто использует графический интерфейс Visual Studio вместо msbuild.exe для создания проектов, вы можете игнорировать командную строку и загрузить проект Darknet в Visual Studio.
Теперь у вас должен быть готов к запуску файл: C:srcDarknetbuildsrc-cliReleasedarknet.exe. Для проверки выполните следующую команду: Версия C:srcDarknetbuildsrc-cliReleasedarknet.exe.
Чтобы правильно установить Darknet, библиотеки, включаемые файлы и необходимые библиотеки DLL, запустите мастер установки NSIS, созданный на предыдущем шаге. Проверьте файл darknet-VERSION.exe в каталоге сборки. Например:
`бить
даркнет-2.0.31-win64.exe
`
Установка установочного пакета NSIS позволит:
1. Создайте каталог с именем Darknet, например C:Program FilesDarknet.
2. Установите приложение CLI, darknet.exe и другие примеры приложений.
3. Установите необходимые сторонние файлы .dll, например файлы OpenCV.
4. Установите необходимые файлы Darknet .dll, .lib и .h, чтобы использовать darknet.dll из другого приложения.
5. Установите файл шаблона .cfg.
Теперь все готово! После завершения работы мастера установки Darknet будет установлен в C:Program FilesDarknet. Для проверки выполните следующую команду: Версия C:Program FilesDarknetbindarknet.exe.
Если у вас нет C:/Program Files/darknet/bin/darknet.exe, значит, вы его не устанавливали, а просто собрали! Обязательно заполните каждую панель мастера установки NSIS, как описано на предыдущем шаге.
Использование даркнета
интерфейс командной строки
Ниже приведен не полный список всех команд, поддерживаемых Darknet.
В дополнение к интерфейсу командной строки Darknet также обратите внимание на интерфейс командной строки проекта DarkHelp, который предоставляет альтернативный интерфейс командной строки Darknet/YOLO. DarkHelp CLI также имеет некоторые улучшения, которых нет в Darknet. Вы можете использовать Darknet CLI и DarkHelp CLI вместе, они не являются взаимоисключающими.
Для большинства команд, показанных ниже, вам понадобится файл .weights с соответствующими файлами .names и .cfg. Вы можете обучить свою собственную сеть (настоятельно рекомендуется!) или загрузить нейронные сети, обученные другими и находящиеся в свободном доступе в Интернете. Примеры наборов данных для предварительного обучения включают в себя:
1. LEGO Gears (находите предметы на изображениях)
2. Ролодекс (найти текст на изображении)
3. MSCOCO (стандартное обнаружение целей категории 80)
Команды для запуска включают в себя:
Перечислите некоторые возможные команды и параметры, которые можно запустить:
`бить
помощь в даркнете
`
Проверьте версию:
`бить
даркнет-версия
`
Используйте изображения, чтобы делать прогнозы:
`бить
V2
Тест детектора даркнета cars.data cars.cfg cars_best.weights image1.jpg
V3
darknet02displayannotatedimages cars.cfg image1.jpg
ДаркХелп
DarkHelp cars.cfg cars.cfg cars_best.weights image1.jpg
`
Выходные координаты:
`бить
V2
Тест детектора даркнета животные.данные животные.cfg животныеbest.weights -extoutput собака.jpg
V3
darknet01inference_images животные собака.jpg
ДаркХелп
DarkHelp --json животные.cfg животные.названия животных_лучшие.веса собаки.jpg
`
Обработка видео:
`бить
V2
Демонстрация детектора даркнета животные.данные животные.cfg животныеbest.weights -extoutput test.mp4
V3
darknet03display_videos животные.cfg test.mp4
ДаркХелп
DarkHelp животные.cfg животные.имена животных_лучшие.веса test.mp4
`
Чтение с веб-камеры:
`бить
V2
Демонстрация детектора даркнета животные.данные животные.cfg животные_лучшие.веса -c 0
V3
darknet08display_webcam животные
`
Сохраните результаты на видео:
`бить
V2
Демонстрация детектора даркнета животные.данные животные.cfg животныеbest.weights test.mp4 -outfilename res.avi
V3
darknet05processvideosmultithreaded животные.cfg животные.имена животных_лучшие.тест веса.mp4
ДаркХелп
DarkHelp животные.cfg животные.имена животных_лучшие.веса test.mp4
`
JSON:
`бить
V2
Демонстрация детектора даркнета животные.данные животные.cfg животныеbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
V3
darknet06imagestojson животные image1.jpg
ДаркХелп
DarkHelp --json животные.названия животных.cfg животные_лучшие.веса image1.jpg
`
Запуск на конкретном графическом процессоре:
`бить
V2
Демонстрация детектора даркнета животные.данные животные.cfg животные_лучшие.веса -i 1 test.mp4
`
Чтобы проверить точность нейронной сети:
`бить
Карта детектора даркнета вождение.данные вождение.cfg вождение_best.weights ...
Идентификатор Имя AvgPrecision TP FN FP TN Точность ErrorRate Специфичность повторного вызова FalsePosRate
-- ---- ------------ ------ ------ ------ ------ -------- --------- --------- ------ ---------- ----------
0 автомобиль 91,2495 32648 3903 5826 65129 0,9095 0,0905 0,8486 0,8932 0,9179 0,0821
1 мотоцикл 80,4499 2936 513 569 5393 0,8850 0,1150 0,8377 0,8513 0,9046 0,0954
2 велосипеда 89,0912 570 124 104 3548 0,9475 0,0525 0,8457 0,8213 0,9715 0,0285
3 человека 76,7937 7072 1727 2574 27523 0,8894 0,1106 0,7332 0,8037 0,9145 0,0855
4 много машин 64,3089 1068 509 733 11288 0,9087 0,0913 0,5930 0,6772 0,9390 0,0610
5 зеленый свет 86,8118 1969 239 510 4116 0,8904 0,1096 0,7943 0,8918 0,8898 0,1102
6 желтый свет 82,0390 126 38 30 1239 0,9525 0,0475 0,8077 0,7683 0,9764 0,0236
7 красный свет 94,1033 3449 217 451 4643 0,9237 0,0763 0,8844 0,9408 0,9115 0,0885
`
Чтобы проверить точность mAP@IoU=75:
`бить
Карта детектора даркнета животные.данные животные.cfg животныеbest.weights -iouthresh 0.75
`
Пересчет опорных точек лучше всего выполнять в DarkMark, поскольку он запускается 100 раз подряд и выбирает лучшую опорную точку из всех рассчитанных опорных точек. Однако, если вы хотите запустить более старую версию в Darknet:
`бить
детектор даркнета кальканчоры животные.данные -numof_clusters 6 -ширина 320 -высота 256
`
Обучите новую сеть:
`бить
Детектор даркнета -map -dont_show train животные.данные животные.cfg
`
(См. также раздел обучения ниже)
тренироваться
Быстрые ссылки на соответствующие разделы FAQ по Darknet/YOLO:
1. Как мне настроить файлы и каталоги?
2. Какой профиль мне следует использовать?
3. Какие команды следует использовать при обучении собственной сети?
Самый простой способ создать все необходимые файлы Darknet, аннотации и обучение с помощью DarkMark. Это определенно рекомендуемый способ обучения новых нейронных сетей.
Если вы хотите вручную настроить различные файлы для обучения пользовательской сети:
1. Создайте новую папку для хранения файлов. В этом примере вы создадите нейронную сеть для обнаружения животных, поэтому будет создан следующий каталог: ~/nn/animals/.
2. Скопируйте один из файлов конфигурации Darknet, который вы хотите использовать в качестве шаблона. Например, см. cfg/yolov4-tiny.cfg. Поместите его в созданную вами папку. В этом примере теперь у нас есть файл ~/nn/animals/animals.cfg.
3. Создайте текстовый файл Animal.names в той же папке, куда вы поместили файл конфигурации. В этом примере теперь у нас есть ~/nn/animals/animals.names.
4. С помощью текстового редактора отредактируйте файл Animal.names. Перечислите категории, которые вы хотите использовать. Вам нужна ровно одна запись в каждой строке, без пустых строк и комментариев. В этом примере файл .names будет содержать ровно 4 строки:
`
собака
кот
птица
лошадь
`
5. Создайте текстовый файл Animals.data в той же папке. В этом примере файл .data будет содержать:
`
классы=4
train=/home/username/nn/animals/animals_train.txt
valid=/home/username/nn/animals/animals_valid.txt
имена=/home/имя_пользователя/nn/animals/animals.names
резервная копия =/home/имя пользователя/nn/животные
`
6. Создайте папку для хранения изображений и аннотаций. Например, это может быть ~/nn/animals/dataset. Для каждого изображения требуется соответствующий файл .txt, описывающий аннотации к этому изображению. Формат файлов комментариев .txt очень специфичен. Вы не можете создать эти файлы вручную, поскольку каждая аннотация должна содержать точные координаты аннотации. См. DarkMark или другое подобное программное обеспечение для аннотирования ваших изображений. Формат аннотации YOLO описан в FAQ по Darknet/YOLO.
7. Создайте «обучаемые» и «действительные» текстовые файлы, имена которых указаны в файле .data. В этих двух текстовых файлах необходимо перечислить все изображения, которые Darknet должен использовать для обучения и проверки (при расчете mAP%) соответственно. Ровно одно изображение в строке. Пути и имена файлов могут быть относительными или абсолютными.
8. Воспользуйтесь текстовым редактором, чтобы изменить файл .cfg.
9. Убедитесь, что партия = 64.
10. Обратите внимание на подразделения. В зависимости от размера сети и объема памяти, доступной на графическом процессоре, вам может потребоваться увеличить количество подразделений. Лучшее значение — 1, поэтому начните с 1. Если 1 вам не подходит, см. FAQ по Darknet/YOLO.
11. Обратите внимание, что maxbatches=.... Хорошее значение для начала — это 2000-кратное количество категорий. В этом примере у нас 4 животных, поэтому 4 * 2000 = 8000. Это означает, что мы будем использовать maxbatches=8000.
12. Обратите внимание, шаги =.... Должно быть установлено значение 80% и 90% от максимального количества пакетов. В этом примере, поскольку для параметра maxbatches установлено значение 8000, мы будем использовать шаги = 6400,7200.
13. Обратите внимание, что ширина=... и высота=.... Это размеры сети. Часто задаваемые вопросы Darknet/YOLO объясняют, как рассчитать оптимальный размер для использования.
14. Найдите в разделе [convolutional] все строкиclass=... перед разделом [yolo] и измените их, указав количество классов из файла .names. В этом примере мы будем использовать class=4.
15. Найдите все строки filter=... в разделе [convolutional] перед каждым разделом [yolo]. Используемое значение: (количество категорий + 5) 3. Это означает, что в данном примере (4 + 5) 3 = 27. Поэтому мы используем фильтры=27 в соответствующих строках.
Начни тренироваться! Выполните следующую команду:
`бить
компакт-диск ~/nn/животные/
Детектор даркнета -map -dont_show train животные.данные животные.cfg
`
Пожалуйста, подождите. Лучшие веса будут сохранены как животные_best.weights. Наблюдать за ходом обучения можно, просмотрев файлchart.png. Дополнительные параметры, которые вы можете использовать при обучении новой сети, см. в FAQ по Darknet/YOLO.
Если вы хотите видеть более подробную информацию во время обучения, добавьте параметр --verbose. Например:
`бить
детектор даркнета -map -dont_show --verbose train животные.данные животные.cfg
`
Другие инструменты и ссылки
Чтобы управлять своим проектом Darknet/YOLO, аннотировать изображения, проверять аннотации и создавать необходимые файлы, необходимые для обучения с Darknet, см. DarkMark.
Чтобы узнать о мощном альтернативном интерфейсе командной строки Darknet, использовать мозаику изображений, отслеживание объектов в ваших видео или мощный API C++, который можно легко использовать в коммерческих приложениях, см. DarkHelp.
Посмотрите, поможет ли FAQ по Darknet/YOLO ответить на ваш вопрос.
Ознакомьтесь с множеством руководств и видеороликов с примерами на канале Стефана на YouTube.
Если у вас есть вопросы по поддержке или вы хотите пообщаться с другими пользователями Darknet/YOLO, присоединяйтесь к серверу Discord Darknet/YOLO.
дорожная карта
Последнее обновление: 30 октября 2024 г.:
Завершенный
1. Замените qsort(), используемый во время обучения, на std::sort().