Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
陈小光丶
yolov4-keras
提交
b6056023
Y
yolov4-keras
项目概览
陈小光丶
/
yolov4-keras
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
yolov4-keras
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
b6056023
编写于
2月 07, 2021
作者:
B
Bubbliiiing
提交者:
GitHub
2月 07, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update README.md
上级
f9f1f0c3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
28 addition
and
31 deletion
+28
-31
README.md
README.md
+28
-31
未找到文件。
README.md
浏览文件 @
b6056023
...
...
@@ -4,7 +4,7 @@
**2021年2月7日更新:**
**加入letterbox_image的选项,关闭letterbox_image后网络的map得到大幅度提升。**
##
#
目录
## 目录
1.
[
性能情况 Performance
](
#性能情况
)
2.
[
实现的内容 Achievement
](
#实现的内容
)
3.
[
所需环境 Environment
](
#所需环境
)
...
...
@@ -15,51 +15,50 @@
8.
[
训练步骤 How2train
](
#训练步骤
)
9.
[
参考资料 Reference
](
#Reference
)
##
#
性能情况
## 性能情况
| 训练数据集 | 权值文件名称 | 测试数据集 | 输入图片大小 | mAP 0.5:0.95 | mAP 0.5 |
| :-----: | :-----: | :------: | :------: | :------: | :-----: |
| VOC07+12+COCO |
[
yolo4_voc_weights.h5
](
https://github.com/bubbliiiing/yolov4-keras/releases/download/v1.0/yolo4_voc_weights.h5
)
| VOC-Test07 | 416x416 | - | 88.9
| COCO-Train2017 |
[
yolo4_weight.h5
](
https://github.com/bubbliiiing/yolov4-keras/releases/download/v1.0/yolo4_weight.h5
)
| COCO-Val2017 | 416x416 | 46.4 | 70.5
##
#
实现的内容
## 实现的内容
-
[x] 主干特征提取网络:DarkNet53 => CSPDarkNet53
-
[x] 特征金字塔:SPP,PAN
-
[x] 训练用到的小技巧:Mosaic数据增强、Label Smoothing平滑、CIOU、学习率余弦退火衰减
-
[x] 激活函数:使用Mish激活函数
-
[ ] ……balabla
##
#
所需环境
## 所需环境
tensorflow-gpu==1.13.1
keras==2.1.5
##
#
注意事项
## 注意事项
代码中的yolo4_weights.h5是基于608x608的图片训练的,但是由于显存原因。我将代码中的图片大小修改成了416x416。有需要的可以修改回来。 代码中的默认anchors是基于608x608的图片的。
**注意不要使用中文标签,文件夹中不要有空格!**
**在训练前需要务必在model_data下新建一个txt文档,文档中输入需要分的类,在train.py中将classes_path指向该文件**
。
##
#
小技巧的设置
## 小技巧的设置
在train.py文件下:
1、mosaic参数可用于控制是否实现Mosaic数据增强。
2、Cosine_scheduler可用于控制是否使用学习率余弦退火衰减。
3、label_smoothing可用于控制是否Label Smoothing平滑。
##
#
文件下载
## 文件下载
训练所需的yolo4_weights.h5可在百度网盘中下载。
链接: https://pan.baidu.com/s/1R4LlPqVBdusVa9Mx_BXSTg 提取码: k8v5
yolo4_weights.h5是coco数据集的权重。
yolo4_voc_weights.h5是voc数据集的权重。
##
#
预测步骤
###
# 1
、使用预训练权重
a、
下载完库后解压,在百度网盘下载yolo4_weights.h5或者yolo4_voc_weights.h5,放入model_data,运行predict.py,输入
## 预测步骤
###
a
、使用预训练权重
1.
下载完库后解压,在百度网盘下载yolo4_weights.h5或者yolo4_voc_weights.h5,放入model_data,运行predict.py,输入
```
python
img
/
street
.
jpg
```
可完成预测。
b、利用video.py可进行摄像头检测。
#### 2、使用自己训练的权重
a、按照训练步骤训练。
b、在yolo.py文件里面,在如下部分修改model_path和classes_path使其对应训练好的文件;
**model_path对应logs文件夹下面的权值文件,classes_path是model_path对应分的类**
。
```
2.
利用video.py可进行摄像头检测。
#### b、使用自己训练的权重
1.
按照训练步骤训练。
2.
在yolo.py文件里面,在如下部分修改model_path和classes_path使其对应训练好的文件;
**model_path对应logs文件夹下面的权值文件,classes_path是model_path对应分的类**
。
```
python
_defaults
=
{
"model_path"
:
'model_data/yolo4_weight.h5'
,
...
...
@@ -71,26 +70,24 @@ _defaults = {
# 显存比较大可以使用608x608
"model_image_size" : (416, 416)
}
```
c、
运行predict.py,输入
3.
运行predict.py,输入
```
python
img
/
street
.
jpg
```
可完成预测。
d、利用video.py可进行摄像头检测。
4.
利用video.py可进行摄像头检测。
##
#
训练步骤
1
、
本文使用VOC格式进行训练。
2
、
训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的Annotation中。
3
、
训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。
4
、
在训练前利用voc2yolo4.py文件生成对应的txt。
5
、
再运行根目录下的voc_annotation.py,运行前需要将classes改成你自己的classes。
**注意不要使用中文标签,文件夹中不要有空格!**
## 训练步骤
1
.
本文使用VOC格式进行训练。
2
.
训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的Annotation中。
3
.
训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。
4
.
在训练前利用voc2yolo4.py文件生成对应的txt。
5
.
再运行根目录下的voc_annotation.py,运行前需要将classes改成你自己的classes。
**注意不要使用中文标签,文件夹中不要有空格!**
```
python
classes
=
[
"aeroplane"
,
"bicycle"
,
"bird"
,
"boat"
,
"bottle"
,
"bus"
,
"car"
,
"cat"
,
"chair"
,
"cow"
,
"diningtable"
,
"dog"
,
"horse"
,
"motorbike"
,
"person"
,
"pottedplant"
,
"sheep"
,
"sofa"
,
"train"
,
"tvmonitor"
]
```
6
、
此时会生成对应的2007_train.txt,每一行对应其
**图片位置**
及其
**真实框的位置**
。
7
、
**在训练前需要务必在model_data下新建一个txt文档,文档中输入需要分的类,在train.py中将classes_path指向该文件**
,示例如下:
6
.
此时会生成对应的2007_train.txt,每一行对应其
**图片位置**
及其
**真实框的位置**
。
7
.
**在训练前需要务必在model_data下新建一个txt文档,文档中输入需要分的类,在train.py中将classes_path指向该文件**
,示例如下:
```
python
classes_path
=
'model_data/new_classes.txt'
```
...
...
@@ -100,14 +97,14 @@ cat
dog
...
```
8
、
运行train.py即可开始训练。
8
.
运行train.py即可开始训练。
##
#
mAP目标检测精度计算更新
## mAP目标检测精度计算更新
更新了get_gt_txt.py、get_dr_txt.py和get_map.py文件。
get_map文件克隆自https://github.com/Cartucho/mAP
具体mAP计算过程可参考:https://www.bilibili.com/video/BV1zE411u7Vw
##
#
Reference
## Reference
https://github.com/qqwweee/keras-yolo3/
https://github.com/Cartucho/mAP
https://github.com/Ma-Dan/keras-yolo4
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录