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 .