## YOLOV7-tiny:You Only Look Once目标检测模型在pytorch当中的实现
---
## 目录
1. [仓库更新 Top News](#仓库更新)
2. [相关仓库 Related code](#相关仓库)
3. [性能情况 Performance](#性能情况)
4. [所需环境 Environment](#所需环境)
5. [文件下载 Download](#文件下载)
6. [训练步骤 How2train](#训练步骤)
7. [预测步骤 How2predict](#预测步骤)
8. [评估步骤 How2eval](#评估步骤)
9. [参考资料 Reference](#Reference)
## Top News
**`2022-08`**:**仓库创建,支持step、cos学习率下降法、支持adam、sgd优化器选择、支持学习率根据batch_size自适应调整、新增图片裁剪、支持多GPU训练、支持各个种类目标数量计算、支持heatmap、支持EMA。**
## 相关仓库
| 模型 | 路径 |
| :----- | :----- |
YoloV3 | https://github.com/bubbliiiing/yolo3-pytorch
Efficientnet-Yolo3 | https://github.com/bubbliiiing/efficientnet-yolo3-pytorch
YoloV4 | https://github.com/bubbliiiing/yolov4-pytorch
YoloV4-tiny | https://github.com/bubbliiiing/yolov4-tiny-pytorch
Mobilenet-Yolov4 | https://github.com/bubbliiiing/mobilenet-yolov4-pytorch
YoloV5-V5.0 | https://github.com/bubbliiiing/yolov5-pytorch
YoloV5-V6.1 | https://github.com/bubbliiiing/yolov5-v6.1-pytorch
YoloX | https://github.com/bubbliiiing/yolox-pytorch
YoloV7 | https://github.com/bubbliiiing/yolov7-pytorch
YoloV7-tiny | https://github.com/bubbliiiing/yolov7-tiny-pytorch
## 性能情况
| 训练数据集 | 权值文件名称 | 测试数据集 | 输入图片大小 | mAP 0.5:0.95 | mAP 0.5 |
| :-----: | :-----: | :------: | :------: | :------: | :-----: |
| COCO-Train2017 | [yolov7_tiny_weights.pth](https://github.com/bubbliiiing/yolov7-tiny-pytorch/releases/download/v1.0/yolov7_tiny_weights.pth) | COCO-Val2017 | 640x640 | 36.8 | 54.4
yolov7_tiny精度不如论文,具体可参考该issue:https://github.com/WongKinYiu/yolov7/issues/106
主要原因我认为有两点:
1. 使用的激活函数不同。
2. 使用的anchors不同。
## 所需环境
torch==1.2.0
为了使用amp混合精度,推荐使用torch1.7.1以上的版本。
## 文件下载
训练所需的权值可在百度网盘中下载。
链接: https://pan.baidu.com/s/1gSC4jYYpMfWl90zTK0dI4w
提取码: x39a
VOC数据集下载地址如下,里面已经包括了训练集、测试集、验证集(与测试集一样),无需再次划分:
链接: https://pan.baidu.com/s/19Mw2u_df_nBzsC2lg20fQA
提取码: j5ge
## 训练步骤
### a、训练VOC07+12数据集
1. 数据集的准备
**本文使用VOC格式进行训练,训练前需要下载好VOC07+12的数据集,解压后放在根目录**
2. 数据集的处理
修改voc_annotation.py里面的annotation_mode=2,运行voc_annotation.py生成根目录下的2007_train.txt和2007_val.txt。
3. 开始网络训练
train.py的默认参数用于训练VOC数据集,直接运行train.py即可开始训练。
4. 训练结果预测
训练结果预测需要用到两个文件,分别是yolo.py和predict.py。我们首先需要去yolo.py里面修改model_path以及classes_path,这两个参数必须要修改。
**model_path指向训练好的权值文件,在logs文件夹里。
classes_path指向检测类别所对应的txt。**
完成修改后就可以运行predict.py进行检测了。运行后输入图片路径即可检测。
### b、训练自己的数据集
1. 数据集的准备
**本文使用VOC格式进行训练,训练前需要自己制作好数据集,**
训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的Annotation中。
训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。
2. 数据集的处理
在完成数据集的摆放之后,我们需要利用voc_annotation.py获得训练用的2007_train.txt和2007_val.txt。
修改voc_annotation.py里面的参数。第一次训练可以仅修改classes_path,classes_path用于指向检测类别所对应的txt。
训练自己的数据集时,可以自己建立一个cls_classes.txt,里面写自己所需要区分的类别。
model_data/cls_classes.txt文件内容为:
```python
cat
dog
...
```
修改voc_annotation.py中的classes_path,使其对应cls_classes.txt,并运行voc_annotation.py。
3. 开始网络训练
**训练的参数较多,均在train.py中,大家可以在下载库后仔细看注释,其中最重要的部分依然是train.py里的classes_path。**
**classes_path用于指向检测类别所对应的txt,这个txt和voc_annotation.py里面的txt一样!训练自己的数据集必须要修改!**
修改完classes_path后就可以运行train.py开始训练了,在训练多个epoch后,权值会生成在logs文件夹中。
4. 训练结果预测
训练结果预测需要用到两个文件,分别是yolo.py和predict.py。在yolo.py里面修改model_path以及classes_path。
**model_path指向训练好的权值文件,在logs文件夹里。
classes_path指向检测类别所对应的txt。**
完成修改后就可以运行predict.py进行检测了。运行后输入图片路径即可检测。
## 预测步骤
### a、使用预训练权重
1. 下载完库后解压,在百度网盘下载权值,放入model_data,运行predict.py,输入
```python
img/street.jpg
```
2. 在predict.py里面进行设置可以进行fps测试和video视频检测。
### b、使用自己训练的权重
1. 按照训练步骤训练。
2. 在yolo.py文件里面,在如下部分修改model_path和classes_path使其对应训练好的文件;**model_path对应logs文件夹下面的权值文件,classes_path是model_path对应分的类**。
```python
_defaults = {
#--------------------------------------------------------------------------#
# 使用自己训练好的模型进行预测一定要修改model_path和classes_path!
# model_path指向logs文件夹下的权值文件,classes_path指向model_data下的txt
#
# 训练好后logs文件夹下存在多个权值文件,选择验证集损失较低的即可。
# 验证集损失较低不代表mAP较高,仅代表该权值在验证集上泛化性能较好。
# 如果出现shape不匹配,同时要注意训练时的model_path和classes_path参数的修改
#--------------------------------------------------------------------------#
"model_path" : 'model_data/yolov7_tiny_weights.pth',
"classes_path" : 'model_data/coco_classes.txt',
#---------------------------------------------------------------------#
# anchors_path代表先验框对应的txt文件,一般不修改。
# anchors_mask用于帮助代码找到对应的先验框,一般不修改。
#---------------------------------------------------------------------#
"anchors_path" : 'model_data/yolo_anchors.txt',
"anchors_mask" : [[6, 7, 8], [3, 4, 5], [0, 1, 2]],
#---------------------------------------------------------------------#
# 输入图片的大小,必须为32的倍数。
#---------------------------------------------------------------------#
"input_shape" : [640, 640],
#---------------------------------------------------------------------#
# 只有得分大于置信度的预测框会被保留下来
#---------------------------------------------------------------------#
"confidence" : 0.5,
#---------------------------------------------------------------------#
# 非极大抑制所用到的nms_iou大小
#---------------------------------------------------------------------#
"nms_iou" : 0.3,
#---------------------------------------------------------------------#
# 该变量用于控制是否使用letterbox_image对输入图像进行不失真的resize,
# 在多次测试后,发现关闭letterbox_image直接resize的效果更好
#-------------------------
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
2023013247--2023中国大学生第十六届计算机设计大赛源码,道路裂缝检测识别,图像识别 2023013247--2023中国大学生第十六届计算机设计大赛源码,道路裂缝检测识别,图像识别 2023013247--2023中国大学生第十六届计算机设计大赛源码,道路裂缝检测识别,图像识别 2023013247--2023中国大学生第十六届计算机设计大赛源码,道路裂缝检测识别,图像识别 2023013247--2023中国大学生第十六届计算机设计大赛源码,道路裂缝检测识别,图像识别 2023013247--2023中国大学生第十六届计算机设计大赛源码,道路裂缝检测识别,图像识别 2023013247--2023中国大学生第十六届计算机设计大赛源码,道路裂缝检测识别,图像识别 2023013247--2023中国大学生第十六届计算机设计大赛源码,道路裂缝检测识别,图像识别 2023013247--2023中国大学生第十六届计算机设计大赛源码,道路裂缝检测识别,图像识别 2023013247--2023中国大学生第十六届计算机设计大赛源码,道路裂缝检测识别,图像识别 2023013247
资源推荐
资源详情
资源评论
收起资源包目录
2023013247-2023中国大学生第十六届计算机设计大赛源码.zip (128个子文件)
.gitignore 2KB
.gitignore 47B
.gitignore 47B
.gitignore 47B
yolov7-tiny-pytorch-crack_AutoDL_CDC2p_BiFormerAtt_AlphaEIoU.iml 547B
aproject.iml 488B
flask_server.iml 327B
1945014841DJ_M2_Out_1_13.jpg 5.07MB
5319716813DJ_M2_1_103.jpg 5.04MB
1193216566DJ_M2_1_103.jpg 5.04MB
4601193582DJ_M2_1_103.jpg 5.04MB
1200906989DJ_M2_1_103.jpg 5.04MB
7676812083DJ_M2_1_103.jpg 5.04MB
V2-Fact.jpg 4.87MB
1945014841DJ_M2_Out_1_13.jpg 4.8MB
2895471063DJ_M2_Out_1_13.jpg 4.8MB
DJ_M2_1_103.jpg 4.73MB
5130578053DJ_M2_1_103.jpg 4.73MB
5319716813DJ_M2_1_103.jpg 4.73MB
1193216566DJ_M2_1_103.jpg 4.73MB
3025797728DJ_M2_1_103.jpg 4.73MB
4601193582DJ_M2_1_103.jpg 4.73MB
5593027345DJ_M2_1_103.jpg 4.73MB
1200906989DJ_M2_1_103.jpg 4.73MB
7676812083DJ_M2_1_103.jpg 4.73MB
4526594002DJ_M2_1_103.jpg 4.73MB
testres.jpg 4.57MB
9554038918DJ_M2_Out_1_31.jpg 4.57MB
760475212DJ_M2_Out_1_31.jpg 4.57MB
2900957687DJ_M2_Out_1_39.jpg 4.43MB
8996296790DJ_M2_Out_1_39.jpg 4.43MB
testres.jpg 4.24MB
9554038918DJ_M2_Out_1_31.jpg 4.24MB
760475212DJ_M2_Out_1_31.jpg 4.24MB
V1-Fact.jpg 4.22MB
2900957687DJ_M2_Out_1_39.jpg 4.15MB
8996296790DJ_M2_Out_1_39.jpg 4.15MB
3145515756DJ_M2_Out_1_4.jpg 4.14MB
2224266459DJ_M2_Out_1_4.jpg 4.14MB
1250517890DJ_M2_Out_1_4.jpg 4.14MB
9804427582DJ_M2_Out_1_4.jpg 4.14MB
764095862DJ_M2_Out_1_4.jpg 3.88MB
3145515756DJ_M2_Out_1_4.jpg 3.88MB
2224266459DJ_M2_Out_1_4.jpg 3.88MB
1250517890DJ_M2_Out_1_4.jpg 3.88MB
9804427582DJ_M2_Out_1_4.jpg 3.88MB
V3-Fact.jpg 2.44MB
street.jpg 437KB
kmeans_for_anchors.jpg 111KB
V1.jpg 95KB
V3.jpg 89KB
V2.jpg 87KB
LICENSE 34KB
常见问题汇总.md 44KB
README.md 10KB
3116124757test1.mp4 92.06MB
2730477092test.mp4 92.06MB
5857361372test.mp4 92.05MB
2439722922test.mp4 92.03MB
5283862859test.mp4 92.03MB
5283862859test.mp4 52.34MB
3116124757test1.mp4 52.34MB
2439722922test.mp4 52.34MB
2730477092test.mp4 52.34MB
5857361372test.mp4 52.34MB
DJ_M2_1_103.png 14.55MB
V2-Fact.png 14.47MB
V1-Fact.png 13.76MB
V3-Fact.png 11.63MB
street.png 2.09MB
V1.png 633KB
V3.png 572KB
V2.png 571KB
yolo_training.py 36KB
utils_map.py 36KB
utils_bbox.py 34KB
yolo.py 33KB
train.py 32KB
dataloader.py 16KB
biformer.py 15KB
main.py 12KB
yolo.py 10KB
callbacks.py 10KB
predict.py 10KB
voc_annotation.py 7KB
kmeans_for_anchors.py 6KB
yolo_predict.py 6KB
get_map_coco.py 5KB
utils_fit.py 4KB
backbone.py 4KB
coco_annotation.py 4KB
utils.py 3KB
PConv.py 2KB
summary.py 1KB
token.py 904B
structTransform.py 331B
getTime.py 71B
__init__.py 1B
__init__.py 1B
index.py 0B
共 128 条
- 1
- 2
资源评论
辣椒种子
- 粉丝: 3324
- 资源: 5724
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 三菱PLC(Mitsubishi)通讯协议的C#实现,支持FX、Q系列的ASCII-3E、BIN-3E、FX串口格式
- 五一建模20242024
- rainy-day.jpg
- IMG_20240501_171218.jpg
- Swift-内购封装swift版本
- 经典CNN网络之ResNet 图像分类网络实战项目:7种小麦叶片病害分类(迁移学习)
- Java毕设之ssm010基于ssm的新能源汽车在线租赁管理系统+vue.rar
- Java毕设之ssm009毕业生就业信息统计系统+vue.rar
- Java毕设之ssm008医院门诊挂号系统+jsp.rar
- Java毕设之ssm007亚盛汽车配件销售业绩管理统+jsp.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功