Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
acqpriwny1
Yolov5_PyTorch
Commits
dcd0ed97
Commit
dcd0ed97
authored
Jul 25, 2023
by
acqpriwny1
Browse files
Update README.md
parent
303e9094
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
45 additions
and
11 deletions
+45
-11
README.md
README.md
+45
-11
No files found.
README.md
View file @
dcd0ed97
...
@@ -16,13 +16,18 @@ YOLOv5是一种基于深度学习的目标检测算法,它的模型结构主
...
@@ -16,13 +16,18 @@ YOLOv5是一种基于深度学习的目标检测算法,它的模型结构主
更具体地说,YOLOv5的backbone采用CSPDarknet53网络结构,其中CSP表示Cross Stage Partial Network,它可以有效地减少参数量和计算量。neck采用FPN+PAN的结构,其中FPN表示Feature Pyramid Network,PAN表示Path Aggregation Network,它们可以将不同层次的特征进行融合。head采用YOLOv3中的anchor-based检测头,并在此基础上加入了SPP结构和SAM结构,以提高检测精度。loss采用GIOU Loss作为bounding box的损失,并使用二进制交叉熵和Logits损失函数计算类概率和目标得分的损失。
更具体地说,YOLOv5的backbone采用CSPDarknet53网络结构,其中CSP表示Cross Stage Partial Network,它可以有效地减少参数量和计算量。neck采用FPN+PAN的结构,其中FPN表示Feature Pyramid Network,PAN表示Path Aggregation Network,它们可以将不同层次的特征进行融合。head采用YOLOv3中的anchor-based检测头,并在此基础上加入了SPP结构和SAM结构,以提高检测精度。loss采用GIOU Loss作为bounding box的损失,并使用二进制交叉熵和Logits损失函数计算类概率和目标得分的损失。
## 3.数据集
## 3.数据集
1.
数据集名称:深度学习人脸口罩数据集
### 一
2.
数据量:两个数据集,一个1600张图片,一个7056张图片
3.
标注框种类:face(人脸)、face_mask(戴口罩)、共两类
1.
数据集名称:深度学习人脸口罩数据集
4.
标签格式:均为voc格式
2.
数据量:两个数据集,一个1600张图片,一个7056张图片
5.
收集来源:主要为网络收集
3.
标注框种类:face(人脸)、face_mask(戴口罩)、共两类
6.
备注:自己做项目用过的两个人脸-口罩数据集,质量都很高
4.
标签格式:均为voc格式
5.
收集来源:主要为网络收集
6.
备注:自己做项目用过的两个人脸-口罩数据集,质量都很高
### 二
使用COCO2017数据集,COCO2017数据集是一个用于目标检测、分割、关键点检测和图像描述的数据集,由微软公司制作收集。该数据集包含超过33万张图像,其中大约20万张图像用于训练,6万张图像用于验证,7万张图像用于测试。COCO2017数据集中的物体类别共有80个,包括人、动物、交通工具、家具等。
COCO2017数据集中的每个物体都有一个矩形边界框和一个类别标签,同时还有一些物体的关键点标注和图像描述信息。COCO2017数据集的标注格式采用JSON文件存储,其中包含了每个物体的位置、类别、关键点等信息。
## 4.训练
## 4.训练
### 环境配置
### 环境配置
...
@@ -69,7 +74,7 @@ export HIP_VISIBLE_DEVICES=0
...
@@ -69,7 +74,7 @@ export HIP_VISIBLE_DEVICES=0
python3 train.py --batch 32 --data /work/home/acqpriwny1/cyh/datasets/MaskDataSet/data.yaml --cfg 'yolov5s.yaml' --weights '' --project 'run/train' --hyp 'data/hyps/hyp.scratch-high.yaml' --epochs 1000 2>&1 | tee yolov5s.log
python3 train.py --batch 32 --data /work/home/acqpriwny1/cyh/datasets/MaskDataSet/data.yaml --cfg 'yolov5s.yaml' --weights '' --project 'run/train' --hyp 'data/hyps/hyp.scratch-high.yaml' --epochs 1000 2>&1 | tee yolov5s.log
```
```

### 单节点多卡训练
### 单节点多卡训练
```
```
...
@@ -82,6 +87,24 @@ python3 -m torch.distributed.run --nproc_per_node 4 train.py --batch 128 --data
...
@@ -82,6 +87,24 @@ python3 -m torch.distributed.run --nproc_per_node 4 train.py --batch 128 --data
其中--nproc_per_node参数代表卡的个数,--batch参数代表global batchsize的大小
其中--nproc_per_node参数代表卡的个数,--batch参数代表global batchsize的大小


训练结束后会输出best.pt和last.pt到runs/train/exp

**注意--workers 的default值需要修改为0,否则编译报错。**

#### 训练所有结果的图表和记录结果的csv均存放在runs/train文件夹下,以下只放几张:

)



## 推理测试(以口罩检测为例)
## 推理测试(以口罩检测为例)
```
```
python detect.py --source 0 # webcam
python detect.py --source 0 # webcam
...
@@ -99,15 +122,24 @@ python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images
...
@@ -99,15 +122,24 @@ python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images
Image(filename='runs/detect/exp/zidane.jpg', width=600)
Image(filename='runs/detect/exp/zidane.jpg', width=600)
```
```






将训练好的pt文件导入weight参数中即可,推理代码如下:
将训练好的pt文件导入weight参数中即可,推理代码如下:
```
```
python3 val.py --data data/
coco-v5
.yaml --weights runs/train/exp12/weights/best.pt --device 0
python3 val.py --data data/
data
.yaml --weights runs/train/exp12/weights/best.pt --device 0
```
```
##口罩检测
##口罩检测
##ONNX模型单张图片推理并导出
##ONNX模型单张图片推理并导出
(根据coco128数据集训练的模型)
在export.py 中的 def parse_opt()函数修改:
在export.py 中的 def parse_opt()函数修改:
```
```
修改 default=12
修改 default=12
...
@@ -124,7 +156,9 @@ python export.py --weights yolov5s.pt --include onnx
...
@@ -124,7 +156,9 @@ python export.py --weights yolov5s.pt --include onnx
python yolov5_detection.py
python yolov5_detection.py
```
```



## 准确率
## 准确率
| 模型 | size(pixels) | map0.5:0.95 | map0.5 |
| 模型 | size(pixels) | map0.5:0.95 | map0.5 |
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment