基于 Tensorflow2实现YOLOv3

本文介绍如何基于Tensorflow2实现YOLOv3的迁移学习,使用100张图片的数据集,涉及数据准备、模型构建、训练及模型评估。训练过程中观察到损失值下降,但YOLOv3在小目标检测上表现一般。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

The Second Article

前言

本文是续The First Article的第二篇文章,The First Article使用PyTorch实现YOLOv5,而本文The Second Article记录基于 Tensorflow实现Github作者zzh8829 的 yolov3-tf2 的迁移学习大致流程,使用自制数据集(100张图片)。希望能够对读者有所启发并提供帮助,如有不对之处请批评指正,欢迎提出宝贵意见和建议,若需源码或者有疑问请留言。
Email:sunshilin_22@163.com

实现环境

在主机上安装以下包和其他包参考requirements.txt
Python 3.7 +CUDA Toolkit 10.1+cuDNN v7.6.5+TensorFlow 2.1.0+opencv 4.2.0.32 +PyCharm 2021.3.2
GPU:NAVIDIA GeForce GTX 1050 Ti(4GB)

基本流程

一般分为以下四步:数据准备、建立模型、训练模型、模型评估。

数据准备

数据集包括实际场景的 100 幅图像(从百度图片下载相应图片)。使用labelImg图像标注工具,VOC格式标注图像生成标签label的xml文件,利用脚本将数据集划分为训练集、验证集(9:1)。标签有两类:danger(骑电动车未佩戴头盔), safe(骑电动车佩戴头盔、骑自行车)。自制数据集包括三部分:JPEGImages存放数据集全部无损图片(用改后缀名的方法修改图片格式很大可能报错)、Annotations存放每个图片的标注xml文件(边框坐标以及所属类别)、ImageSets存放训练集、验证集有哪些图片的图片名,一共两个txt文件。使用voc2012.py将这些文件转换成Tensorflow训练数据要求格式,生成训练集与验证集的两个tfrecord文件。

python tools/voc2012.py --data_dir ./data/voc2012_raw/VOCdevkit/VOC2012  --split train --output_file .
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值