带你快速使用YOLOv3,训练出自己的目标检测器

本文总结了使用大神开源代码进行YOLOv3目标检测的实践过程,包括克隆代码、制作数据集、训练模型、转换模型格式,以及如何进行图像和视频物体检测。即使不深入理解原理,也能顺利应用YOLOv3。
摘要由CSDN通过智能技术生成

本篇文章是使用大神开源代码后得出的总结,带你规避路上的坑,带你快速使用上YOLOv3,可以不了解它的原理的前提下,知道它是个目标检测器就好了,帮你自动检测图片中物品的位置。

首先,上大神凯源代码:https://github.com/YunYang1994/tensorflow-yolov3,该代码讲述是大神用voc数据训练时使用的全部代码,所以你的训练自己的数据有些代码用不到。

下面是整个步骤,纯属个人理解,有不同意见欢迎提出。

一.首先将大神的代码克隆下来 :与本篇博客结合使用,更美味

$ git clone https://github.com/YunYang1994/tensorflow-yolov3.git

如果是识别常规物体,使用大神的part 2 的quick start 就好了,而如果是自己的数据集特别的物品,请参看下面的讲解:

1.制作自己的训练图像数据集,工具labelimg,在网上可以搜到官方安装和使用教程,这里不做赘述,python3使用者推荐安装方法:

pip  install labelimg

在终端输入 labelimg 启动软件

2.图像标记后数据格式xml,将xml数据提取data.txt,格式为:

Xxx/xxx.jpg 48,240,195,371,11 8,12,352,498,14   #注意逗号和空格的位置

#image path x_min,ymin,x_max,y_max,class_id x_min,y_min   

数据提取代码参考如下:

#将images里的数据保存标准格式
import xml.etree.ElementTree as ET  # 给包xml.etree.ElementTree 定义一个 ET 别名  操作XML文件的包
import pickle  # pickle 模块 将某个对象所对应位置的数据抓取下来,转换成文本流,然后将文本流存入到文件中。
import os  # os 模块 提供了非常丰富的方法用来处理文件和目录。
from os import listdir, getcwd  # 从os包中引入 listdir, getcwd 类
from os.path import join,isfile   # 从 os包中的path类中引入 join 方法

#类名 
classes=['xxx','xxx','xxxx']
def convert_annotation(image_id)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值