YOLO实现火焰检测

完整源码项目包获取→点击文章末尾名片!

Yolov3的Pytorch版本实现火焰检测,其具体效果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Requirements

  • 环境:windows10
  • 编程语言:python
  • 编程工具:pycharm
  • 所需的包:requirements.txt
    Train
    1.安装包
    本次所需的包在requirements.txt中,通过 pip install -r requirements.txt 即可。
    2.所需权重文件
    $ cd weights/
    $ bash download_weights.sh
    进入weights目录下,运行sh文件,即可下载本次所需权重,即darknet53.conv.74,yolov3.weights,yolov3-tiny.weights
    3.修改配置文件信息
    $ cd config/
    $ bash create_custom_model.sh <num_classes>
    进入config目录。执行bash create_custom_model.sh <num_classes>,其中num_classes为类别参数,根据你的需要修改,本次设置为1
    执行上述完毕之后,修改custom.data文件,修改其中的classes的参数以及配置文件的路径即可。
    4.配置yolov3的数据格式
    $ python voc2yolov3.py/
    $ python voc_anotation.py
    首先你需要准备好voc格式的数据,之后将voc格式的数据转为本次所需的数据格式。
    数据格式内容为:
  • 每一张图像对应一个txt标注信息;
  • txt中第一列为类别信息
  • txt中剩下四列为标准化后的标注信息
    • <1>*w = (xmax-xmin)/2+xmin
    • <2>*h = (ymax-ymin)/2+ymin
    • <3> = (xmax-xmin)/w
    • <4> = (ymax-ymin)/h
      5.运行
      训练
      python train.py --model_def config/yolov3-custom.cfg --data_config config/custom.data --pretrained_weights weights/darknet53.conv.74

从中断的地方开始训练
python train.py --model_def config/yolov3-custom.cfg --data_config config/custom.data --pretrained_weights checkpoints/yolov3_ckpt_99.pth --epoch
若出现警告UserWarning: indexing with dtype torch.uint8 is now deprecated, please use a dtype torch.bool instead. 则修改model.py的代码,在大约192行左右添加一下两句:
obj_mask=obj_mask.bool() # convert int8 to bool
noobj_mask=noobj_mask.bool() #convert int8 to bool
训练日志如下:
---- [Epoch 7/100, Batch 7300/14658] ----
±-----------±-------------±-------------±-------------+
| Metrics | YOLO Layer 0 | YOLO Layer 1 | YOLO Layer 2 |
±-----------±-------------±-------------±-------------+
| grid_size | 16 | 32 | 64 |
| loss | 1.554926 | 1.446884 | 1.427585 |
| x | 0.028157 | 0.044483 | 0.051159 |
| y | 0.040524 | 0.035687 | 0.046307 |
| w | 0.078980 | 0.066310 | 0.027984 |
| h | 0.133414 | 0.094540 | 0.037121 |
| conf | 1.234448 | 1.165665 | 1.223495 |
| cls | 0.039402 | 0.040198 | 0.041520 |
| cls_acc | 44.44% | 43.59% | 32.50% |
| recall50 | 0.361111 | 0.384615 | 0.300000 |
| recall75 | 0.222222 | 0.282051 | 0.300000 |
| precision | 0.520000 | 0.300000 | 0.070175 |
| conf_obj | 0.599058 | 0.622685 | 0.651472 |
| conf_noobj | 0.003778 | 0.004039 | 0.004044 |
±-----------±-------------±-------------±-------------+
Total Loss 4.429395
---- ETA 0:35:48.821929
6.Tensorboard可视化

  • Go to http://localhost:6006/
    $ tensorboard --logdir=‘logs’ --port=6006
    7.测试
    python detect.py --image_folder data/imgs/ --weights_path checkpoints/yolov3_ckpt_99.pth --model_def config/yolov3-custom.cfg --class_path data/custom/classes.names
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值