yolov8训练目标检测模型

news/2024/7/10 1:05:57 标签: YOLO, 目标检测, 人工智能

1.环境安装

  1. conda安装(miniconda),配置环境变量
    在这里插入图片描述
  2. 创建环境
	conda create -n yolo python==3.8
  1. 安装ultralytics
   conda activate yolo
   pip install ultralytics

2.数据集标注

  1. 使用labelimg标注工具对图片进行标注:
  2. 将标注产生的xml转为txt文件
    txt格式:
类别索引
0 0.3107142857142857 0.184981684981685 0.05285714285714286 0.19047619047619047
  1. 将原始图片和转换后的txt放到同一个文件夹下(这里没有区分train,val和test)
    在这里插入图片描述

3.训练

  1. 准备yml文件:
# 项目中数据集的目录
path: C:\Users\lhq\Desktop\traffic_check\data\dataset
# 训练、验证、测试的文件夹地址
train: train  
val: train  
test: train 
# 标注中有多少类就填多少,(索引应与转换为txt的顺序一致)
names:
  0:
  1. 训练代码:
from ultralytics import YOLO

model = YOLO('yolov8n.pt') 
results = model.train(data='traffic.yaml', epochs=100, imgsz=640, device='cpu')
  1. 训练结果
    在这里插入图片描述
    使用训练好的模型文件对图片进行检测:

    from ultralytics import YOLO
    import cv2
    
    model = YOLO('best.pt')  #训练产生的模型文件
    
    results = model('demo.jpg') # 要检测的图片
    
    image = results[0].plot()
    
    cv2.imwrite(filename = "result.jpeg", img = image )
    

4.pt转onnx

from ultralytics import YOLO

model = YOLO('best.pt')
model.export(format = "onnx")

5.使用onnx进行检测


http://www.niftyadmin.cn/n/5396489.html

相关文章

如何利用HubSpot出海营销CRM实现品牌建设与传播的有效管理?

利用HubSpot出海营销CRM优化客户互动和沟通可以通过以下方式实现: 个性化客户管理: 利用HubSpot的客户管理功能,集中管理客户信息,并根据客户的行为、偏好和历史数据等信息进行个性化分类和标记。这样可以更好地了解客户需求&am…

记一次uniapp扫描NFC [ISO15693]

前炎 NFC的类型有很多种,详情:android NFC文档 这次的需求是读取NfcV即ISO15693类型的芯片 本次封装类本体来自uni-app NFC读取卡Id 扇门块的16进制数组 数据解析 (感谢大佬提供的封装) 本次需求原本是读取nfc的mac地址和从NEDF取数据,但后期考虑到NEDF可被读写就改成了读取…

书生·浦语大模型图文对话Demo搭建

前言 本节我们先来搭建几个Demo来感受一下书生浦语大模型 InternLM-Chat-7B 智能对话 Demo 我们将使用 InternStudio 中的 A100(1/4) 机器和 InternLM-Chat-7B 模型部署一个智能对话 Demo 环境准备 在 InternStudio 平台中选择 A100(1/4) 的配置,如下图所示镜像…

Android和Linux的开发差异

最近开始投入Android的怀抱。说来惭愧,08年就听说这东西,当时也有同事投入去看,因为恶心Java,始终对这玩意无感,没想到现在不会这个嵌入式都快要没法搞了。为了不中年失业,所以只能回过头又来学。 首先还是…

uniapp的扩展组件uni-popup 弹出层自动打开

我的需求是在页面加载完之后自动打开弹窗,自动打开只能写在onReady 或 mounted 生命周期内,这是这个组件的规定: 如果想在页面渲染完毕后就打开 uni-popup ,请在 onReady 或 mounted 生命周期内调用,确保组件渲染完毕…

Go语言反射(reflect)

反射是应用程序检查其所拥有的结构,尤其是类型的一种能。每种语言的反射模型都不同,并且有些语言根本不支持反射。Go语言实现了反射,反射机制就是在运行时动态调用对象的方法和属性,即可从运行时态的示例对象反求其编码阶段的定义…

DB-GPT:大模型 + 数据库,全流程自动化

DB-GPT:大模型 数据库,全流程自动化 提出背景DB-GPT 结构具体问题与解法背景分析对比其他工具DB-GPT系统设计 提出背景 论文:https://arxiv.org/pdf/2312.17449.pdf 代码:https://github.com/eosphoros-ai/DB-GPT 本文介绍了D…

Android 监听网络状态变化

文章目录 Android 监听网络状态变化封装工具类使用 Android 监听网络状态变化 封装工具类 <uses-permission android:name"android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name"android.permission.ACCESS_WIFI_STATE"…