Реализация Yolov5 на C++ для обнаружения маски, работающая на Jetson Xavier nx и Jetson nano. На Jetson Xavier Nx она может достигать 33 FPS.
Вы можете посмотреть видео на BILIBILI или YOUTUBE.
Если вы хотите попробовать обучить свою собственную модель, вы можете обратиться к yolov5-mask-detection-python. Следуйте инструкциям в файле readme, чтобы получить свою модель.
если у вас возникли проблемы с этим проектом, вы можете ознакомиться с этой статьёй на CSDN.
Общее время процесса от чтения изображения до завершения обработки (включая все предварительную и постобработку изображений). Все результаты можно получить на Jetson Xavier nx. Для модели и кода Python вы можете найти их в этом проекте yolov5-mask-detection-python
Backbone | before TensorRT | TensortRT(detection) | FPS(detection) |
---|---|---|---|
Yolov5s-640-float16 | 100ms | 60-70ms | 14 ~ 18 |
Yolov5m-640-float16 | 120ms | 70-75ms | 13 ~ 14 |
Yolov5s-640-int8 | 30-40ms | 25 ~ 33 | |
Yolov5m-640-int8 | 50-60ms | 16 ~ 20 |
git clone https://github.com/RichardoMrMu/yolov5-mask-detect
cd yolov5-mask-detect
mkdir build
cmake ..
make
если вы столкнулись с ошибками в cmake и make, пожалуйста, ознакомьтесь с этой статьёй artical или см. раздел «Внимание».
Вам нужны две модели: одна — это модель для обнаружения yolov5, генерируемая из tensorrtx.
Для модели обнаружения yolov5 я выбираю yolov5s и выбираю yolov5s.pt->yolov5s.wts->yolov5s.engine
Обратите внимание, что используемые модели можно получить из yolov5 и использовать этот проект yolov5-mask-detection-python, чтобы получить вашу модель.
Также вы можете увидеть официальное руководство по tensorrtx.
Обратите внимание, здесь используется официальная модель. Я использую yolov5-5, v5.0. Поэтому, если вы обучаете свою собственную модель, убедитесь, что ваш код yolov5 соответствует версии v5.0.
git clone -b v5.0 https://github.com/ultralytics/yolov5.git
cd yolov5
mkdir weights
cd weights
// скачать https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt
wget https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt
git clone https://github.com/wang-xinyu/tensorrtx
cp tensorrtx/gen_wts.py yolov5/
cd yolov5
python3 gen_wts.py -w ./weights/yolov5s.pt -o ./weights/yolov5s.wts
// будет создан файл 'yolov5s.wts'.
Модель yolov5s.wts можно найти в папке yolov5/weights/
cd tensorrtx/yolov5
// обновите CLASS_NUM до 2 в yololayer.h
// nc: 2 # количество классов
// names: ['nomask','mask'] # имена классов
mkdir build
cd build
cp {ultralytics}/yolov5/yolov5s.wts {tensorrtx}/yolov5/build
cmake ..
make
// yolov5s
sudo ./yolov5 -s yolov5s.wts yolov5s.engine s
// протестируйте свой файл движка
sudo ./yolov5 -d yolov5s.engine ../samples
Затем вы получаете yolov5s.engine, и вы можете поместить yolov5s.engine
в свой проект. Например
cd
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )