# yolo3-keras
yolo3-keras的源码,可以用于训练自己的模型yolov3以及yolov3-tiny
## 一、环境要求
- **Python:** 3.7.4
- **Tensorflow-GPU** 1.14.0
- **Keras:** 2.2.4
## 二、快速使用:
- 1.下载yolov3-keras代码
- 2.下载yolov3-keras权重文件[权重](https://pjreddie.com/media/files/yolov3.weights) 并将其放入根目录下
- 3.执行如下命令将darknet下的yolov3配置文件转换成keras适用的h5文件
`python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5`
`python convert.py yolov3-tiny.cfg yolov3-tiny.weights model_data/yolov3-tiny.h5`
模型文件对应说明如下:
| 模型文件 | 说明 |
|-------------------------------------|---------------------|
| ep034\-loss6.105\-val\_loss6.205.h5 | 经过训练的模型 |
| yolo\.h5 | YOLO 官方预训练模型 |
- 4.运行预测图像程序
`python yolo_video.py --image`
在命令行输入图片地址`img/mask.jpg`,即可预测
![img](img/mask_output.jpg)
## 三、训练自身数据
- 1.使用VOC格式的数据进行训练
训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的Annotation中。
训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。
在训练前利用`voc2yolo3.py`文件生成对应的txt。
```sh
VOCdevkit
-VOC2007
├─ImageSets # 存放数据集列表文件,由voc2yolo3.py文件生成
├─Annotations # 存放图片标签,xml 格式
├─JPEGImages # 存放数据集中图片文件
└─voc2yolo3.py # 用来生成数据集列表文件
```
- 2.生成YOLOV3所需数据
每一行对应其图片位置及其真实框的位置
再运行根目录`voc_annotation.py`,运行前需要将`voc_annotation`文件中classes改成你自己的classes。
- 3.在训练前可根据自身需要修改model_data里面的`yolo_anchors.txt`和`tiny_yolo_anchors.txt`,利用`kmeans.py`来生成,k=9,生成yolo_anchors;k=6,生成tiny_yolo
- 3.在训练前需要修改model_data里面的`voc_classes.txt`文件,需要将classes改成你自己的classes。
- 4.修改`train.py`配置,通过修改`anchor_path`,从而选择使用yolov3训练还是yolov3-tiny训练
- 5.运行`train.py` 即可开始训练,训练好的模型存放在logs下。
## 四、测试
修改根目录下`yolo.py`文件,修改`model_path`,`anchors_path`,`classes_path`替换成自己的路径
- 1.单张图片测试
`python yolo_video.py --image`,输入图片名称即可
- 2.电脑摄像头实时检测
`python yolo_video.py --input`
此外对应的yolo.py文件174行改为`vid = cv2.VideoCapture(0)`;
- 3.测试本地视频
`python yolo_video.py --input`
此外对应的yolo.py文件174行改为vid = cv2.VideoCapture("视频路径+视频名+视频后缀名");
- 4.测试本地视频并且保存视频效果
`python yolo_video.py --output`
此外对应的yolo.py文件184行改为out = cv2.VideoWriter("视频路径+视频名+视频后缀名", video_FourCC, video_fps, video_size);
## 五、注意:
一张图片最多只能识别20个对象的问题:
- 1.训练时,要在yolo3文件夹下面的utils.py里,修改get_random_data()函数,有一个默认参数是max_boxes=20,改成很大的数值就行了。
- 2.检测时,要在yolo3文件夹下面的model.py里,修改yolo_eval()函数,有一个默认参数是max_boxes=20,改成很大的数值就行了。
没有合适的资源?快使用搜索试试~ 我知道了~
yolo3-keras的源码.zip
共31个文件
py:13个
txt:6个
xml:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 59 浏览量
2024-11-26
19:09:30
上传
评论
收藏 748KB ZIP 举报
温馨提示
yolo3-keras的源码yolo3-kerasyolo3-keras的源码,可以用于训练自己的模型yolov3以及yolov3-tiny一、环境要求Python 3.7.4Tensorflow-GPU 1.14.0Keras 2.2.4二、快速使用1.下载yolov3-keras代码2.下载yolov3-keras权限重文件权限重放入其放入根目录下3.执行如下命令将darknet下的yolov3配置文件转换成keras适用的h5文件python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5python convert.py yolov3-tiny.cfg yolov3-tiny.weights model_data/yolov3-tiny.h5模型文件对应说明如下模型文件 說明ep034-loss6.105-val_loss6.205.h5 经过训练的模型yolo.h5 YOLO官方预训练模型4.运行预测图像程序python yolo_video.py --i
资源推荐
资源详情
资源评论
收起资源包目录
yolo3-keras的源码.zip (31个子文件)
voc_annotation.py 1KB
yolo_video.py 2KB
标签.txt 4B
font
FiraMono-Medium.otf 124KB
SIL Open Font License.txt 4KB
coco_annotation.py 1KB
utils
rename.py 203B
model_data
yolo_anchors.txt 76B
tiny_yolo_anchors.txt 50B
voc_classes.txt 17B
convert.py 10KB
.idea
keras-yolo3-master.iml 503B
workspace.xml 24KB
misc.xml 305B
modules.xml 288B
img
mask_output.jpg 114KB
street.jpg 437KB
mask.jpg 87KB
VOCdevkit
VOC2007
voc2yolo3.py 997B
资源内容.txt 757B
yolov3.cfg 8KB
.gitignore 1KB
yolov3-tiny.cfg 2KB
kmeans.py 3KB
train_bottleneck.py 10KB
train.py 8KB
yolo3
utils.py 4KB
__init__.py 0B
model.py 16KB
README.md 3KB
yolo.py 8KB
共 31 条
- 1
资源评论
赵闪闪168
- 粉丝: 1726
- 资源: 6172
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 焊接件旋转弯曲疲劳极限性能研究.pdf
- 焊接接头残余应力数值模拟.pdf
- 焊接接头的抗动载断裂特性 - .pdf
- 焊接接头强度匹配和焊缝韧性指标综述.pdf
- 焊接接头疲劳行为研究.pdf
- 焊接接头设计(1999第三版).pdf
- 焊接接头型式和焊缝符号.pdf
- 机械设计吹气式桌面双工位螺丝机sw18可编辑全套设计资料100%好用.zip
- 焊接接头中的裂纹对风险检验结果的影响.pdf
- 焊接结构 田锡唐.pdf
- 焊接结构焊缝中缺陷参数不确定性处理方法.PDF
- 焊接结构耐候钢新旧标准牌号对照表.pdf
- 焊接结构件焊接变形的控制.pdf
- 焊接结构强度和断裂.pdf
- 焊接结构设计手册.pdf
- 焊接结构纵梁检测校正装置开发.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功