1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mumuU1156-yolov5-helmet-detection-python

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Реализация Yolov5 на Python для обнаружения головы или шлема в реальных условиях на Jetson Xavier nx и Jetson nano

Реализация Yolov5 на языке Python позволяет обнаруживать голову или шлем в реальных условиях. На Jetson Xavier Nx достигается 33 FPS.

Вы можете посмотреть видео на BILIBILI или YOUTUBE.

Если у вас возникли проблемы с этим проектом, вы можете обратиться к этой статье.

Для того чтобы попробовать обучить собственную модель, перейдите по ссылке yolov5-helmet-detection-python. Следуйте инструкциям в файле readme, чтобы получить свою собственную модель.

Набор данных

Набор данных можно получить по этому адресу aistudio. Проект по обнаружению головы и шлема pdpd версии можно найти по этой ссылке. Это замечательный проект.

Данные

Этот проект требует набора данных, подобного следующему:

../datasets/coco128/images/im0.jpg  #image
../datasets/coco128/labels/im0.txt  #label

Скачайте набор данных и распакуйте его.

unzip annnotations.zip
unzip images.zip

Вы получите следующее:

 ├── dataset
	├── annotations
  │   ├── fire_000001.xml
  │   ├── fire_000002.xml
  │   ├── fire_000003.xml
  │   |   ...
  ├── images
  │   ├── fire_000001.jpg
  │   ├── fire_000003.jpg
  │   ├── fire_000003.jpg
  │   |   ...
  ├── label_list.txt
  ├── train.txt
  └── valid.txt

Вам следует преобразовать файлы XML в текстовые файлы. Вы также можете ознакомиться с этой информацией. Откройте script/sw2yolo.py, измените save_path на свой собственный путь сохранения, root — на свой путь к данным, а list_file — на пути к val_list.txt и train_list.txt.

list_file = "./val_list.txt"
xmls_path,imgs_path = get_file_path(list_file)

# 将train_list中的xml 转成 txt, img放到img中
save_path = './data/yolodata/fire/cocolike/val/'
root = "./data/yolodata/fire/"
train_img_root = root 

Затем вам понадобится script/yolov5-split-label-img.py для разделения файлов изображений и текстовых файлов.

mkdir images
mkdir lables
mv ./train/images/* ./images/train
mv ./train/labels/* ./labels/train
mv ./val/iamges/* ./images/val
mv ./val/lables/* ./lables/val

Наконец, вы получите следующее:

 ├── cocolike
	├── lables
  │   ├── val 
  │       ├── fire_000001.xml
  |       ├──   ...
  │   ├── train
  │       ├── fire_000002.xml
  |       ├──   ...

  ├── images
  │   ├── val 
  │       ├── fire_000001.jpg
  |       ├──   ...
  │   ├── train
  │       ├── fire_000003.jpg
  |       ├──   ...
  ├── label_list.txt
  ├── train.txt
  └── valid.txt

Файл данных

В {project}/yolov5/data/ добавьте свои собственные файлы YAML, такие как helmet.yaml.

# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017)
# Example usage: python train.py --data coco128.yaml
# parent
# ├── yolov5
# └── datasets
#     └── coco128  downloads here


# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: /home/data/tbw_data/face-dataset/yolodata/helmet/cocolike/  # dataset root dir
train: images/train  # train images (relative to 'path') 128 images
val: images/val  # val images (relative to 'path') 128 images
test:  # test images (optional)

# Classes
nc: 2  # number of classes
names: ['head','helmet']  # class names

Обучение

Измените путь данных в {project}/train.py на путь к вашему собственному файлу данных YAML.

python train.py

Измените batch-size на подходящее число. Измените устройство, если у вас есть 2 или более устройств GPU. Затем выполните команду:

python train.py

Тестирование

Используйте detect.py для тестирования.

python detect.py --source ./data/yolodata/helmet/cocolike/images --weights ./runs/train/exp/weights/best.pt

Результаты в формате PNG будут доступны в папке {project}/runs/detect/.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Реализация обучения и логического вывода для обнаружения шлема с помощью Yolov5 на Python в Jetson Xavier nx и Jetson nano. Развернуть Свернуть
Python и 4 других языков
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mumuU1156-yolov5-helmet-detection-python.git
git@api.gitlife.ru:oschina-mirror/mumuU1156-yolov5-helmet-detection-python.git
oschina-mirror
mumuU1156-yolov5-helmet-detection-python
mumuU1156-yolov5-helmet-detection-python
main