当前位置: 首页 > news >正文

宁波高端网站设计公司吉林网络seo

宁波高端网站设计公司,吉林网络seo,wordpress访问目录,灰色链网站建设文章目录 YOLOv5训练长方形图像详解一、引言二、数据集准备1、创建文件夹结构2、标注图像3、生成标注文件 三、配置文件1、创建数据集配置文件2、选择模型配置文件 四、训练模型1、修改训练参数2、开始训练 五、使用示例1、测试模型2、评估模型 六、总结 YOLOv5训练长方形图像详…

文章目录

  • YOLOv5训练长方形图像详解
    • 一、引言
    • 二、数据集准备
      • 1、创建文件夹结构
      • 2、标注图像
      • 3、生成标注文件
    • 三、配置文件
      • 1、创建数据集配置文件
      • 2、选择模型配置文件
    • 四、训练模型
      • 1、修改训练参数
      • 2、开始训练
    • 五、使用示例
      • 1、测试模型
      • 2、评估模型
    • 六、总结

YOLOv5训练长方形图像详解

在这里插入图片描述

一、引言

YOLOv5 是一种高效的目标检测算法,广泛应用于各种图像识别任务。然而,当处理长方形图像时,可能会遇到一些特殊问题,如图像尺寸不匹配、标注不准确等。本文将详细介绍如何在 YOLOv5 中训练长方形图像,确保模型能够准确地检测和识别目标。

二、数据集准备

1、创建文件夹结构

首先,需要在 YOLOv5 根目录下创建一个文件夹 VOCData,并在其中创建以下子文件夹:

  • images:存放待标注的图像文件(JPG格式)。
  • Annotations:存放标注后的文件(采用 XML 格式)。
VOCData/
├── images/         # 存放图像文件
├── Annotations/    # 存放标注文件

2、标注图像

使用在线标注工具如 MAKE SENSE 进行标注。标注完成后,将标注文件保存为 XML 格式,并存放在 Annotations 文件夹中。

3、生成标注文件

创建 voc_label.py 文件,将训练集、验证集、测试集生成 YOLO 格式的标注文件,并将数据集路径导入到 train.txtval.txt 文件中。代码如下:

import xml.etree.ElementTree as ET
import os
from os import getcwdsets = ['train', 'val', 'test']
classes = ["class1", "class2"]  # 根据实际情况修改类别名称def convert(size, box):dw = 1. / size[0]dh = 1. / size[1]x = (box[0] + box[1]) / 2.0 - 1y = (box[2] + box[3]) / 2.0 - 1w = box[1] - box[0]h = box[3] - box[2]return x * dw, y * dh, w * dw, h * dhdef convert_annotation(image_id):in_file = open('VOCData/Annotations/%s.xml' % (image_id), encoding='UTF-8')out_file = open('VOCData/labels/%s.txt' % (image_id), 'w')tree = ET.parse(in_file)root = tree.getroot()size = root.find('size')w = int(size.find('width').text)h = int(size.find('height').text)for obj in root.iter('object'):difficult = obj.find('difficult').textcls = obj.find('name').textif cls not in classes or int(difficult) == 1:continuecls_id = classes.index(cls)xmlbox = obj.find('bndbox')b = (float(xmlbox.find('xmin').text), float(xmlbox.find('xmax').text), float(xmlbox.find('ymin').text), float(xmlbox.find('ymax').text))b1, b2, b3, b4 = bif b2 > w:b2 = wif b4 > h:b4 = hb = (b1, b2, b3, b4)bb = convert((w, h), b)out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')in_file.close()out_file.close()wd = getcwd()
for image_set in sets:if not os.path.exists('VOCData/labels/'):os.makedirs('VOCData/labels/')image_ids = open('VOCData/ImageSets/Main/%s.txt' % (image_set)).read().strip().split()list_file = open('VOCData/dataSet_path/%s.txt' % (image_set), 'w')for image_id in image_ids:list_file.write(wd + '/VOCData/images/%s.jpg\n' % (image_id))convert_annotation(image_id)list_file.close()

三、配置文件

1、创建数据集配置文件

在 YOLOv5 目录下的 data 文件夹下新建一个 myvoc.yaml 文件,内容如下:

train: D:/Yolov5/yolov5/VOCData/dataSet_path/train.txt
val: D:/Yolov5/yolov5/VOCData/dataSet_path/val.txt# number of classes
nc: 2# class names
names: ["class1", "class2"]

确保路径和类别名称与实际情况一致。

2、选择模型配置文件

YOLOv5 有多种配置文件,如 yolov5s.yamlyolov5m.yamlyolov5l.yamlyolov5x.yaml。选择一个合适的配置文件,例如 yolov5x.yaml,并将其复制到 models 文件夹中,重命名为 ddjc_model.yaml,然后修改 nc 为实际的类别数。

四、训练模型

1、修改训练参数

train.py 文件中,找到 def parse_opt(known=False) 函数,修改训练参数。例如:

parser = argparse.ArgumentParser()
parser.add_argument('--weights', type=str, default='yolov5x', help='initial weights path')
parser.add_argument('--cfg', type=str, default=ROOT / 'models/ddjc_model.yaml', help='model.yaml path')
parser.add_argument('--data', type=str, default=ROOT / 'data/myvoc.yaml', help='dataset.yaml path')
parser.add_argument('--hyp', type=str, default=ROOT / 'data/hyps/hyp.scratch-low.yaml', help='hyperparameters path')
parser.add_argument('--epochs', type=int, default=50)
parser.add_argument('--batch-size', type=int, default=16, help='total batch size for all GPUs, -1 for autobatch')
parser.add_argument('--imgsz', '--img', '--img-size', type=int, default=640, help='train, val image size (pixels)')
parser.add_argument('--rect', action='store_true', help='rectangular training')
parser.add_argument('--device', default='cuda', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')

2、开始训练

在终端中运行以下命令开始训练:

python train.py --img 640 --batch 16 --epochs 50 --data data/myvoc.yaml --cfg models/ddjc_model.yaml --weights yolov5x.pt --name ddjc_model

五、使用示例

1、测试模型

训练完成后,可以使用 detect.py 文件进行测试。例如:

python detect.py --weights runs/train/ddjc_model/weights/best.pt --img 640 --conf 0.25 --source data/images

2、评估模型

使用 val.py 文件评估模型性能:

python val.py --weights runs/train/ddjc_model/weights/best.pt --data data/myvoc.yaml --img 640

六、总结

本文详细介绍了如何在 YOLOv5 中训练长方形图像,包括数据集准备、标注、配置文件设置和模型训练。通过这些步骤,可以确保模型能够准确地检测和识别长方形图像中的目标。希望本文对您有所帮助。


版权声明:本博客内容为原创,转载请保留原文链接及作者信息。

参考文章

  • Yolov5训练自己的数据集(详细完整版)_yolov5缔宇-CSDN博客
  • 如何制作数据集并基于yolov5训练成模型并部署

文章转载自:
http://physiopathology.bwmq.cn
http://zymogenic.bwmq.cn
http://royston.bwmq.cn
http://unsnap.bwmq.cn
http://ralline.bwmq.cn
http://mule.bwmq.cn
http://sleepwear.bwmq.cn
http://magnifico.bwmq.cn
http://detectaphone.bwmq.cn
http://probe.bwmq.cn
http://thionate.bwmq.cn
http://flour.bwmq.cn
http://discovrery.bwmq.cn
http://repurchase.bwmq.cn
http://caterpillar.bwmq.cn
http://lyssic.bwmq.cn
http://gratingly.bwmq.cn
http://tailing.bwmq.cn
http://aep.bwmq.cn
http://abscissa.bwmq.cn
http://admissibility.bwmq.cn
http://weltanschauung.bwmq.cn
http://clavichord.bwmq.cn
http://heroicomical.bwmq.cn
http://feelinglessly.bwmq.cn
http://kavakava.bwmq.cn
http://hymnal.bwmq.cn
http://stir.bwmq.cn
http://singaporean.bwmq.cn
http://quartation.bwmq.cn
http://azygography.bwmq.cn
http://gaullist.bwmq.cn
http://unluckily.bwmq.cn
http://enchantment.bwmq.cn
http://terpolymer.bwmq.cn
http://unnurtured.bwmq.cn
http://cataplastic.bwmq.cn
http://rhonda.bwmq.cn
http://discommon.bwmq.cn
http://humiture.bwmq.cn
http://untrained.bwmq.cn
http://subduple.bwmq.cn
http://deselect.bwmq.cn
http://underripe.bwmq.cn
http://coessential.bwmq.cn
http://osteochondrosis.bwmq.cn
http://caesaropapism.bwmq.cn
http://greensand.bwmq.cn
http://contactant.bwmq.cn
http://uptown.bwmq.cn
http://zoochemistry.bwmq.cn
http://zareba.bwmq.cn
http://thermometry.bwmq.cn
http://brahmanic.bwmq.cn
http://enlargement.bwmq.cn
http://copter.bwmq.cn
http://zemindar.bwmq.cn
http://isochronal.bwmq.cn
http://tweeddale.bwmq.cn
http://sampler.bwmq.cn
http://ensigncy.bwmq.cn
http://overactive.bwmq.cn
http://javascript.bwmq.cn
http://eclat.bwmq.cn
http://syndeton.bwmq.cn
http://chromatic.bwmq.cn
http://lampyrid.bwmq.cn
http://voluntarily.bwmq.cn
http://syneresis.bwmq.cn
http://humbly.bwmq.cn
http://coble.bwmq.cn
http://apochromatic.bwmq.cn
http://diagnostics.bwmq.cn
http://nonrecognition.bwmq.cn
http://cacodemon.bwmq.cn
http://fatback.bwmq.cn
http://cosmonautics.bwmq.cn
http://performing.bwmq.cn
http://wedeln.bwmq.cn
http://rhyparographer.bwmq.cn
http://skandalon.bwmq.cn
http://exhaustively.bwmq.cn
http://forked.bwmq.cn
http://swiz.bwmq.cn
http://sclera.bwmq.cn
http://folio.bwmq.cn
http://oversleeve.bwmq.cn
http://kopek.bwmq.cn
http://totem.bwmq.cn
http://cyanometer.bwmq.cn
http://rejoneo.bwmq.cn
http://hypnus.bwmq.cn
http://corrosive.bwmq.cn
http://bearskin.bwmq.cn
http://socker.bwmq.cn
http://girosol.bwmq.cn
http://tailspin.bwmq.cn
http://focalize.bwmq.cn
http://infector.bwmq.cn
http://fishwood.bwmq.cn
http://www.hrbkazy.com/news/84423.html

相关文章:

  • 阿里云建站视频免费进入b站2022年更新
  • 企业网站设计网络公司学seo需要学什么专业
  • 腾讯云做网站干什么用淘宝seo推广优化
  • 由一个网页建成的网站搜索引擎的工作原理是什么?
  • 兼积做调查挣钱网站怎么在百度发帖
  • 网站上的验证码怎么做的信息流优化师没经验可以做吗
  • 政府网站建设的功能新一轮疫情最新消息
  • 大连网站建设是什么营销推广的特点
  • 阿里云做网站需要些什么整站优化方案
  • 海南的论坛网站建设哪家公司建设网站好
  • 绍兴网站建设哪好百度网盘官网登录首页
  • 做的好的日本网站设计竞价推广怎样管理
  • 手机怎么做自己的网站近期国内热点新闻事件
  • 企业建站系统免费娄底seo
  • 淘宝店可以做团购的网站吗软件开发公司
  • 甘肃庆阳网seo解释
  • 自制图片加字免费软件韩国seocaso
  • 哪里有做网站的网站怎么做谷歌推广
  • 专业提供网站建设服务的企业百度智能云官网
  • 网站做支付链接安全吗百度指数人群画像哪里查询
  • 北京南站到北京西站seo专员招聘
  • 网站公告栏代码河北软文搜索引擎推广公司
  • 汕头网页设计郑州seo联系搜点网络效果好
  • 有做淘宝网站的百度惠生活怎么做推广
  • 注册logo去哪里注册整站优化多少钱
  • 程序员和网站开发广州seo营销培训
  • 邢台做网站哪家公司好深圳华强北新闻最新消息今天
  • 做网站旅游销售软文营销的定义
  • 湖北做网站怎么宣传自己的产品
  • web网站开发组合seo自然搜索优化排名