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

YOLOV8模型衣物皮革类 布匹织物瑕疵数据集 2115张,6种瑕疵类型 json格式与yolo格式标签 目标检测 深度学习

使用YOLOv8训练布匹织物瑕疵数据集。我们将从数据准备、模型训练、评估和可视化等方面详细介绍整个流程。此外我们还会提供一些常用的自动脚本帮助你进行数据预处理和探索性数据分析EDA。1. 环境准备首先确保你已经安装了必要的库和工具。你可以使用以下命令安装所需的库pipinstallultralytics pipinstalltorch torchvision pipinstallopencv-python pipinstallpandas pipinstallmatplotlib pipinstallscikit-learn pipinstalljson2. 数据准备2.1 数据集目录结构假设你的数据集目录结构如下dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/其中images文件夹包含训练和验证的图像labels文件夹包含相应的标签文件YOLO格式的txt文件。2.2 自动脚本2.2.1 随机划分训练集与验证集importosimportrandomimportshutildefsplit_dataset(image_dir,label_dir,train_ratio0.8):imagesos.listdir(image_dir)random.shuffle(images)train_sizeint(len(images)*train_ratio)train_imagesimages[:train_size]val_imagesimages[train_size:]train_image_diros.path.join(image_dir,train)val_image_diros.path.join(image_dir,val)train_label_diros.path.join(label_dir,train)val_label_diros.path.join(label_dir,val)os.makedirs(train_image_dir,exist_okTrue)os.makedirs(val_image_dir,exist_okTrue)os.makedirs(train_label_dir,exist_okTrue)os.makedirs(val_label_dir,exist_okTrue)forimageintrain_images:shutil.move(os.path.join(image_dir,image),os.path.join(train_image_dir,image))labelos.path.splitext(image)[0].txtshutil.move(os.path.join(label_dir,label),os.path.join(train_label_dir,label))forimageinval_images:shutil.move(os.path.join(image_dir,image),os.path.join(val_image_dir,image))labelos.path.splitext(image)[0].txtshutil.move(os.path.join(label_dir,label),os.path.join(val_label_dir,label))# 调用函数split_dataset(dataset/images,dataset/labels)2.2.2 JSON转YOLOimportjsonimportosdefconvert_json_to_yolo(json_file,image_dir,label_dir):withopen(json_file,r)asf:datajson.load(f)forimage_infoindata[images]:image_idimage_info[id]image_widthimage_info[width]image_heightimage_info[height]image_nameimage_info[file_name]label_fileos.path.join(label_dir,os.path.splitext(image_name)[0].txt)withopen(label_file,w)asf:forannotationindata[annotations]:ifannotation[image_id]image_id:category_idannotation[category_id]bboxannotation[bbox]x_center(bbox[0]bbox[2]/2)/image_width y_center(bbox[1]bbox[3]/2)/image_height widthbbox[2]/image_width heightbbox[3]/image_height f.write(f{category_id}{x_center}{y_center}{width}{height}\n)# 调用函数convert_json_to_yolo(dataset/annotations.json,dataset/images,dataset/labels)2.2.3 EDA和生成散点图importpandasaspdimportmatplotlib.pyplotaspltdefeda_and_scatter_plot(json_file):withopen(json_file,r)asf:datajson.load(f)categories{cat[id]:cat[name]forcatindata[categories]}annotationsdata[annotations]# 统计每个类别的数量category_counts{cat_id:0forcat_idincategories}forannotationinannotations:category_counts[annotation[category_id]]1# 生成条形图plt.bar(categories.values(),category_counts.values())plt.xlabel(Category)plt.ylabel(Count)plt.title(Category Distribution)plt.xticks(rotation45)plt.show()# 生成散点图bbox_sizes[]forannotationinannotations:bboxannotation[bbox]bbox_sizes.append((bbox[2]*bbox[3],categories[annotation[category_id]]))dfpd.DataFrame(bbox_sizes,columns[Size,Category])plt.scatter(df[Category],df[Size])plt.xlabel(Category)plt.ylabel(Bounding Box Size)plt.title(Bounding Box Size Distribution)plt.xticks(rotation45)plt.show()# 调用函数eda_and_scatter_plot(dataset/annotations.json)3. 创建数据配置文件YOLOv8需要一个数据配置文件来指定数据集的路径和其他相关信息。创建一个名为fabric_defects.yaml的文件内容如下# Fabric Defects Dataset Configuration# Path to the dataset directorypath:./dataset# Training and validation image directoriestrain:images/trainval:images/val# Number of classesnc:6# Class namesnames:0:断经1:断纬2:缩纬3:缩经4:擦伤5:污渍4. 训练模型使用YOLOv8进行训练非常简单。你可以使用以下命令来启动训练yolo traindatafabric_defects.yamlmodelyolov8n.ptepochs100imgsz640解释datafabric_defects.yaml: 指定数据配置文件。modelyolov8n.pt: 使用预训练的YOLOv8小模型yolov8n。你可以选择其他大小的模型如yolov8s、yolov8m、yolov8l或yolov8x。epochs100: 训练的轮数。imgsz640: 图像的尺寸。5. 评估模型训练完成后你可以使用以下命令来评估模型在验证集上的性能yolo valdatafabric_defects.yamlmodelruns/detect/train/weights/best.ptimgsz640解释datafabric_defects.yaml: 指定数据配置文件。modelruns/detect/train/weights/best.pt: 指定训练过程中保存的最佳模型权重文件。imgsz640: 图像的尺寸。6. 可视化预测结果你可以使用以下Python代码来可视化模型的预测结果importcv2importtorchfromultralyticsimportYOLO# 加载模型modelYOLO(runs/detect/train/weights/best.pt)# 读取图像image_pathdataset/images/val/your_image.jpgimagecv2.imread(image_path)# 进行预测resultsmodel(image)# 可视化预测结果forresultinresults:boxesresult.boxes.xyxy confidencesresult.boxes.conf class_idsresult.boxes.clsforbox,conf,class_idinzip(boxes,confidences,class_ids):x1,y1,x2,y2map(int,box)labelmodel.names[int(class_id)]confidencefloat(conf)# 绘制边界框cv2.rectangle(image,(x1,y1),(x2,y2),(0,255,0),2)textf{label}:{confidence:.2f}cv2.putText(image,text,(x1,y1-10),cv2.FONT_HERSHEY_SIMPLEX,0.5,(0,255,0),2)# 显示图像cv2.imshow(Prediction,image)cv2.waitKey(0)cv2.destroyAllWindows()7. 总结以上步骤提供了一个完整的框架用于使用YOLOv8训练布匹织物瑕疵数据集。代码包括数据准备、模型训练、评估和结果可视化等多个步骤。

相关文章:

YOLOV8模型衣物皮革类 布匹织物瑕疵数据集 2115张,6种瑕疵类型 json格式与yolo格式标签 目标检测 深度学习

,使用YOLOv8训练布匹织物瑕疵数据集。我们将从数据准备、模型训练、评估和可视化等方面详细介绍整个流程。此外,我们还会提供一些常用的自动脚本,帮助你进行数据预处理和探索性数据分析(EDA)。1. 环境准备 首先&#x…...

【WRF安装】完整自动化 WRF-ARW/WRF-Chem 安装脚本(多服务器测试)

目录 Step1:新建虚拟环境并安装所需库包(避免环境污染) Conda手动安装配置环境 Conda自动化安装脚本 WRF-Chem所需库包- flex(词法分析器生成工具) Step2.1:WRF-ARW 编译安装 注意要点 Step2.2:WRF-Chem 编译安装 注意要点 错误总结 Step3:WPS编译安装 注意要点 错误总…...

Kubernetes 极速安装与排障实战手册 (v1.35.2)

本次ubuntu22系统# **Kubernetes 高可用集群 极速安装与排障实战手册 (v1.35.2)**## 第一章:基础安装篇### 1.1 所有节点基础环境 bash # 关闭 swap swapoff -a && sed -i /swap/s/^/#/ /etc/fstab# 加载内核模块 cat > /etc/modules-load.d/k8s.conf &l…...

Vue3 性能优化实践

Vue3 性能优化实践 | 源码解析系列 6.4一,引言 性能优化是前端开发中的重要课题,Vue3虽然相比Vue2有了显著的性能提升,但在实际应用中仍需要开发者注意一些性能问题。本文将分享Vue3性能优化的最佳实践,帮助开发者构建高性能的Vue…...

大规模驱动企业 AI:Elastic 与 NVIDIA cuVS 集成

作者:来自 Elastic Brian BergholmRachael WadeHubert GrzesiekAleta Hubbell 无缝向量化高容量数据,并通过 GPU 加速向量搜索的新黄金标准加快生产上线时间。 总结 Elastic 与 NVIDIA 合作推出了由 NVIDIA cuVS 提供支持的 GPU 加速向量索引。集成到 NV…...

基于stc单片机电动车多用户充电设计(有完整资料)

资料查找方式:特纳斯电子(电子校园网):搜索下面编号即可编号:T0942204C设计简介:本设计是基于stc单片机电动车多用户充电设计,主要实现以下功能:1.通过3个继电器控制电动车充电的开关…...

问卷设计:从“手工匠人”到“书匠策AI智造”的华丽转身

在学术研究的广袤天地里,问卷设计宛如一座桥梁,连接着研究者的思考与被调查者的反馈。然而,传统的问卷设计过程,往往像是一位手工匠人在精心雕琢一件艺术品,虽然细致入微,却也耗时费力,且容易受…...

FunASR:几行代码搞定语音识别全流程的开源工具包,GitHub已获15.2k Star!

导读语音识别(ASR)是人工智能落地最广泛的方向之一,但学术界的前沿模型与工业界的实际部署之间一直存在距离。阿里达摩院开源的 FunASR,正是为弥合这一差距而生。它提供基于大规模工业语料训练的预训练模型,支持训练、…...

Comsol 探索变质量注浆理论:压力与沉积颗粒、渗透率的奇妙关联

comsol变质量注浆理论,根据魏建平《裂隙煤体注浆浆液扩散规律及变质量渗流模型研究》,考虑不同注浆压力,进行了不同压力下的注浆封堵模拟,沉积颗粒浓度随着注浆压力增大会变大,渗透率负相关。最近在研究注浆相关的课题…...

神州路由器vlan 10访问电信,vlan 20访问移动的配置

SWA配置: CS6200-28X-Pro> CS6200-28X-Pro>ena CS6200-28X-Pro#conf CS6200-28X-Pro(config)#vlan 10;20;100;1017;1018 CS6200-28X-Pro(config)#int vlan 10 CS6200-28X-Pro(config-if-vlan10)#ip add 192.168.10.254 255.255.255.0 CS6200-28X-Pro(config-if-vlan10…...

SQL优化全攻略:从索引设计到执行计划的深度解析

SQL优化全攻略:从索引设计到执行计划的深度解析 在数据爆炸的时代,一条低效的SQL查询可能拖垮整个系统。本文通过索引策略示例、查询优化案例及Explain工具对比,为你揭开SQL优化的神秘面纱,实现从“慢查询”到“毫秒级响应”的质变…...

微电网分层控制与二次控制策略下的顶刊复现:事件触发控制图与模型研究

微电网分层控制,二次控制,顶刊复现,有事件触发控制图和模型微电网的二次控制就像给系统装了个智能调节器,传统的一次控制扛得住电压频率的瞬时波动,但真要玩长期稳定还得靠二次层出手。最近复现某顶刊的模型时发现&…...

PCB壳状结构-硬件一体化设计革命性突破

做过硬件量产的工程师都懂,传统硬件生产有一个绕不开的“繁琐流程”:先设计平面PCB,完成电路布线与元器件贴片,再单独开模做塑料或金属外壳,后期通过螺丝、卡扣将PCB与外壳组装成型。这套模式沿用了数十年,…...

FreeRTOS内部机制(二)

文章目录FreeRTOS内部机制(二)3.队列(Queue)3.1队列的核心:关中断、环形缓冲区、链表3.1.1怎么互斥访问数据3.1.2 怎么传递数据?3.1.3 怎么休眠/唤醒3.2操作示例3.2.1创建队列3.2.2读队列3.2.3写队列4.信号量(semaphore)4.1优先级…...

python-flask新能源汽车租赁管理系统的设计与实现_django pycharm vue

目录技术栈选择系统模块设计开发流程数据库设计部署方案扩展功能建议项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作以下是关于使用Python Flask、Django、PyCharm和Vue.js实现新能源汽车租赁管理系统…...

智慧农业农业四情监测系统 农情定点监测系统

AI害虫自动识别,精准辨虫、智能预警系统搭载行业先进的AI智能图像识别算法,搭配高清户外摄像头,24小时不间断自动捕捉田间害虫动态,告别传统人工下田查虫、肉眼辨认、耗时费力的弊端。AI模型经过海量农业害虫样本训练,…...

同花顺公式语法实战笔记

文章目录2026-03-17报错代码修正后代码报错报错 行3: 语法错误, 变量<开始测试>未定义报错 行5: 语法错误, 错误的输出线型错误代码正确代码-DOTLINE版本正确代码-LINETHICK1版本其他调试技巧2026-03-17 报错代码 MA5 : MA(CLOSE, 5); MA10 : MA(CLOSE, 10); { 新增&am…...

SQL-忘记sa密码,如何安全的尝试旧密码,如何修改新密码

Q: 现是记住密码的状态&#xff0c;所以可以直接登录。但是操作员忘了sa的密码&#xff0c;想尝试一下sa密码&#xff0c;如果不正确仍可保证能登录进去&#xff0c;那么当前的密码状态是否要勾选记住密码。 当前是勾选了记住密码&#xff0c;但想验证 sa 密码&#xff0c;且要…...

猫头虎AI分享:什么是QClaw?QClaw 是基于 OpenClaw 的极简封装,QClaw的下载、安装、配置指南

猫头虎AI分享&#xff1a;什么是QClaw&#xff1f;QClaw 是基于 OpenClaw 的极简封装&#xff0c;QClaw的下载、安装、配置指南 &#x1f42f; 猫头虎博主按&#xff1a;腾讯终于出手了&#xff01;这款"龙虾"Agent让我看到了国产AI工具的新可能——不用配环境、不用…...

python-flask的美食分享交流平台_django pycharm vue

目录技术选型与框架说明后端实现&#xff08;Flask&#xff09;数据库模型设计前端实现&#xff08;Vue&#xff09;功能模块划分开发环境配置部署方案测试策略项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行…...

肽质量指纹图谱提取区域检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]【完整源码+数据集+部署教程】

一、背景意义 在生物医学研究和药物开发领域&#xff0c;肽作为生物活性分子的关键组成部分&#xff0c;受到越来越多的关注。肽质量指纹图谱的提取与分析&#xff0c;能够为新药的发现、疾病的诊断及生物标志物的筛选提供重要的信息。然而&#xff0c;传统的肽质量指纹图谱分析…...

Windows 本地部署 OpenClaw 超详细图文教程(保姆级)

本文以 PowerShell 一键部署 为核心方案&#xff0c;兼顾新手友好与稳定性&#xff0c;全程附操作说明与避坑要点&#xff0c;30 分钟内可完成部署。&#x1f4cb; 一、部署前准备&#xff08;必看&#xff09;1. 硬件与系统要求项目最低配置推荐配置说明系统Windows 10 64位&a…...

【C++算法入门】贪心算法-分糖果问题

本题取自LeetCode 135题 分糖果问题一 原题复现有n个小孩&#xff0c;每个小孩对应一个rating条件&#xff1a;每个小孩至少得到一颗糖&#xff0c;评分高的小孩要比相邻小孩多一颗糖求&#xff1a;最少需要多少糖二 思路分析本题利用贪心算法&#xff0c;需要两次遍历贪心。…...

OpenClaw 在 Ubuntu 22.04.5 LTS 上的安装与问题处理记录

整理说明&#xff1a;本记录通过小龙虾OpenClaw依据本地记忆文件、历史会话记录和当前运行配置整理&#xff0c;重点保留可复用的安装步骤、故障现象、根因判断和解决办法。一、环境概况操作系统&#xff1a;Ubuntu 22.04.5 LTSOpenClaw 状态目录&#xff1a;/home/node/.openc…...

解锁细胞奥秘:BMKMANU Cell Marker

在单细胞测序和空间转录组学日益成为生命科学研究基石的今天&#xff0c;研究人员常常面临一个核心难题&#xff1a;我检测到的这群细胞究竟是什么类型&#xff1f; 面对海量的基因表达数据&#xff0c;如何准确、快速地为细胞"贴上"正确的身份标签&#xff0c;成为制…...

基于深度强化学习的虚拟重联列车LQR自适应控制:理论、实现与代码详解

基于深度强化学习的虚拟重联列车LQR自适应控制:理论、实现与代码详解 摘要 虚拟重联(Virtual Coupling)作为下一代轨道交通的关键技术,通过无线通信实现列车之间的协同运行,大幅提升线路容量和运行效率。然而,虚拟重联列车组在运行过程中面临复杂的非线性动力学特性、时…...

RK3588 Linux系统GPIO口测试方法及自动化测试脚本

1、GPIO编号计算... 2 2、测试举例... 2 2.1 gpio_request申请导出相应的gpio. 2 2.2 gpio_direction_output 设置相应gpio为输出方向... 3 2.3 gpio_set_value 设置输出电平... 3 设置输出为高电平... 3 设置输出为低电平... 3 2.4 gpio_get_value 获取gpio当前状态值…...

KA品牌进化论

凌克客服如何以八大核心能力&#xff0c;重构全域增长新范式2026年&#xff0c;中国电商行业进入存量博弈的深水区。流量成本持续攀升&#xff0c;平台规则日新月异&#xff0c;消费者对服务体验的要求水涨船高。对于年销售额千万级乃至亿级的KA品牌而言&#xff0c;单一维度的…...

中小企业为什么要重视业财一体化

一、业财一体化的核心定义与背景1. 什么是业财一体化业财一体化是指将企业的业务流程与财务管理深度融合&#xff0c;形成数据闭环管理的一种管理模式。 它通过打通业务系统与财务系统的数据孤岛&#xff0c;实现信息实时共享和协同运作。这种模式不仅提升了企业运营效率&#…...

吃透HTTP及相关协议核心区别,从基础到进阶全覆盖

在后端开发、网络通信领域&#xff0c;HTTP协议及相关的传输层协议、加密方式、会话机制等&#xff0c;是面试高频考点&#xff0c;也是日常开发中避不开的基础知识点。很多开发者在实际工作中能熟练使用&#xff0c;但对其底层原理和核心区别一知半解&#xff0c;导致遇到问题…...