YOLOv3训练自己的数据集实现目标检测

YOLO的全称是You Only Look Once,是最早出现的单阶段目标检测方法,也是第一个实现了实时目标检测的方法。计算机视觉领域主要包括两大方面:图像分类、目标检测。图像分类是指根据图像的语义信息将不同类别的图像区分开来,比如人脸识别,即模型输入一张图片,判断该图片属于某个类别。源码下载地址:https://download.csdn.net/download/gf19960103/20813971

YOLO是一个国外开源的目标检测算法,目前流行的YOLO算法分为三个版本,即YOLOv1、YOLOv2、YOLOv3,YOLO的核心思想就是利用整张图作为网络的输入,直接在输出层回归bounding box(边界)的位置及所属类别。 

YOLO的整体结构如下:

该网络是根据GoogLeNet改进的,输入图片为448*448大小,输出为7×7×(2×5+20)。将原始图片分为S×S个单元格,之后的输出是以单元格为单位进行的。如果一个object的中心落在某个单元格上,那么这个单元格负责预测这个物体。每个单元格需要预测B个box值(box值包括坐标和宽高),同时为每个box值预测一个置信度(confidence scores)。也就是每个单元格需要预测B×(4+1)个值。每个单元格需要预测C(物体种类个数)个条件概率值。所以,最后网络的输出维度为S×S×(B×5+C),这里虽然每个单元格负责预测一种物体,但是每个单元格可以预测多个box值。

那么如何利用YOLOv3训练自己的模型呢?

首先需要一批图片数据,比如以下数据:

图片包括100张猫狗两种类型的图片。其次需要对这批图片进行label的制作,即某张图片的猫在哪里、狗在哪里、利用Labellmg等工具进行label的制作。

点击save后会生成以xml结尾的label文件,内容如下:

由于该图片中只包含两个关键目标,即只有两个object,并存储相对应的object的坐标,到此已经初步生成了图片的label。

其次,将数据划分为训练集、测试集、验证集,执行以下脚本:

最后,将.xml数据转化为YOLO需要的VOC数据,执行以下脚本:

在数据准备完成后,即可进行模型训练。

操作系统:MacOS 10.15.6

Python:3.7.6

Tensorflow:1.13

Keras:2.15

OpenCV:4.3.0

部分训练代码如下:

在训练完成后,会在logs文件下生产模型的权重文件及神经网络模型结构可视化文件等,部分模型结构如下:

模型测试效果如下:

源码下载地址:YOLOv3训练自己的数据集实现目标检测_YOLOv3-深度学习文档类资源-CSDN下载

  • 80
    点赞
  • 193
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 113
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 113
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Seven°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值