首页/新闻资讯/正文详情

工业零件螺栓螺母轴承齿轮检测数据集 2200张 voc yolo 实现可视化及评估 对螺栓螺母数据集等进行检测

发布时间:2026/9/27 22:59:16 来源:云帆数科 栏目:资讯中心
工业零件螺栓螺母轴承齿轮检测数据集 2200张 voc yolo 实现可视化及评估 对螺栓螺母数据集等进行检测
使用Yolov8对工业零部件数据集检测 实现可视化及评估工业零件螺栓螺母轴承齿轮检测数据集 2200张 voc yolo工业零件螺栓螺母轴承齿轮检测数据集 2200张 voc yolo分类名: (图片张数 标注个数)Bolt:(632,2734)Nut :(5863102)Bear ing:(7132099)Gear :(6162662)总数:(2249,10597)总类(nc): 4类好的我们将构建一个基于YOLOv8的工业零件螺栓、螺母、轴承、齿轮检测系统。以下是详细的步骤和代码示例并附带数据集中的标签及数量表格。数据集中的标签及数量表格分类名图片张数标注个数Bolt6322734Nut5863102Bearing7132099Gear6162662总数224910597环境部署说明首先确保你已经安装了必要的库。以下是详细的环境部署步骤安装依赖# 创建虚拟环境可选python-mvenv yolov8_envsourceyolov8_env/bin/activate# 在Windows上使用 yolov8_env\Scripts\activate# 安装PyTorchpipinstalltorch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117# 安装YOLOv8pipinstallultralytics# 安装其他依赖pipinstallpyqt5 matplotlib scikit-learn pandas opencv-python数据集准备假设你的数据集已经准备好并且是以VOC和YOLO格式存储的。我们将主要使用YOLO格式进行训练。数据集结构dataset/ ├── images/ │ ├── train/ │ │ ├── img1.jpg │ │ ├── img2.jpg │ │ └── ... │ └── val/ │ ├── img3.jpg │ ├── img4.jpg │ └── ... ├── labels/ │ ├── train/ │ ├── img1.txt │ ├── img2.txt │ └── ... │ └── val/ │ ├── img3.txt │ ├── img4.txt │ └── ... └── classes.txtclasses.txt内容如下Bolt Nut Bearing Gear每个图像对应的标签文件是一个文本文件每行表示一个边界框格式为class_id x_center y_center width height模型训练权重和指标可视化展示我们将使用YOLOv8进行训练并在训练过程中记录各种指标如F1曲线、准确率、召回率、损失曲线和混淆矩阵。训练脚本train_yolov8.py[titleTraining YOLOv8 on Industrial Parts Detection Dataset]fromultralyticsimportYOLOimportos# Define pathsdataset_pathpath/to/datasetweights_pathbest.pt# Create dataset.yamlyaml_contentf train:{os.path.join(dataset_path,images/train)}val:{os.path.join(dataset_path,images/val)}nc: 4 names: [Bolt, Nut, Bearing, Gear] withopen(os.path.join(dataset_path,dataset.yaml),w)asf:f.write(yaml_content)# Train YOLOv8modelYOLO(yolov8n.pt)# Load a pretrained model (recommended for training)resultsmodel.train(dataos.path.join(dataset_path,dataset.yaml),epochs100,imgsz640,saveTrue)# Save the best weightsmodel.export(formatpt)os.rename(runs/detect/train/weights/best.pt,weights_path)请将path/to/dataset替换为实际的数据集路径。指标可视化展示我们将编写代码来可视化训练过程中的各项指标包括F1曲线、准确率、召回率、损失曲线和混淆矩阵。可视化脚本visualize_metrics.py[titleVisualizing Training Metrics for YOLOv8]importosimportjsonimportmatplotlib.pyplotaspltimportseabornassnsimportnumpyasnpfromsklearn.metricsimportconfusion_matrix,ConfusionMatrixDisplay# Load metricsmetrics_pathruns/detect/train/metrics.jsonwithopen(metrics_path,r)asf:metricsjson.load(f)# Extract metricsloss[entry[loss]forentryinmetricsiflossinentry]precision[entry[metrics/precision(m)]forentryinmetricsifmetrics/precision(m)inentry]recall[entry[metrics/recall(m)]forentryinmetricsifmetrics/recall(m)inentry]f1[entry[metrics/mAP50(m)]forentryinmetricsifmetrics/mAP50(m)inentry]# Plot loss curveplt.figure(figsize(15,5))plt.subplot(1,3,1)plt.plot(loss,labelLoss)plt.xlabel(Epochs)plt.ylabel(Loss)plt.title(Training Loss Curve)plt.legend()# Plot precision and recall curvesplt.subplot(1,3,2)plt.plot(precision,labelPrecision)plt.plot(recall,labelRecall)plt.xlabel(Epochs)plt.ylabel(Score)plt.title(Precision and Recall Curves)plt.legend()# Plot F1 curveplt.subplot(1,3,3)plt.plot(f1,labelF1 Score)plt.xlabel(Epochs)plt.ylabel(F1 Score)plt.title(F1 Score Curve)plt.legend()plt.tight_layout()plt.show()# Confusion matrix# Assuming you have predictions and true labels# For demonstration, lets create some dummy datatrue_labelsnp.random.randint(0,5,size100)# 0 to 4 (background or one of the part types)predictionsnp.random.randint(0,5,size100)# 0 to 4 (background or one of the part types)cmconfusion_matrix(true_labels,predictions,labelslist(range(5)))labels[Background,Bolt,Nut,Bearing,Gear]dispConfusionMatrixDisplay(confusion_matrixcm,display_labelslabels)disp.plot(cmapplt.cm.Blues)plt.title(Confusion Matrix)plt.show()PyQt5设计的界面我们将使用PyQt5设计一个简单的GUI界面来进行模型预测。GUI代码gui_app.py[titlePyQt5 GUI for YOLOv8 Industrial Parts Detection]importsysimportcv2importnumpyasnpfromPyQt5.QtWidgetsimportQApplication,QMainWindow,QLabel,QPushButton,QVBoxLayout,QWidget,QFileDialog,QMessageBoxfromPyQt5.QtGuiimportQImage,QPixmapfromultralyticsimportYOLOclassMainWindow(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle(Industrial Parts Detection)self.setGeometry(100,100,800,600)self.image_labelQLabel(self)self.image_label.setAlignment(Qt.AlignCenter)self.predict_buttonQPushButton(Predict,self)self.predict_button.clicked.connect(self.predict)self.open_buttonQPushButton(Open Image,self)self.open_button.clicked.connect(self.open_image)layoutQVBoxLayout()layout.addWidget(self.image_label)layout.addWidget(self.open_button)layout.addWidget(self.predict_button)containerQWidget()container.setLayout(layout)self.setCentralWidget(container)self.modelYOLO(best.pt)defopen_image(self):optionsQFileDialog.Options()file_name,_QFileDialog.getOpenFileName(self,QFileDialog.getOpenFileName(),,Images (*.png *.xpm *.jpg);;All Files (*),optionsoptions)iffile_name:self.image_pathfile_name pixmapQPixmap(file_name)self.image_label.setPixmap(pixmap.scaled(800,600))defpredict(self):ifnothasattr(self,image_path):QMessageBox.warning(self,Warning,Please open an image first.)returnimg0cv2.imread(self.image_path)# BGRassertimg0isnotNone,fImage Not Found{self.image_path}resultsself.model(img0,streamTrue)forresultinresults:boxesresult.boxes.cpu().numpy()forboxinboxes:rbox.xyxy[0].astype(int)clsint(box.cls[0])confbox.conf[0]labelf{self.model.names[cls]}{conf:.2f}color(0,255,0)# Greencv2.rectangle(img0,r[:2],r[2:],color,2)cv2.putText(img0,label,(r[0],r[1]-10),cv2.FONT_HERSHEY_SIMPLEX,0.9,color,2)rgb_imagecv2.cvtColor(img0,cv2.COLOR_BGR2RGB)h,w,chrgb_image.shape bytes_per_linech*w qt_imageQImage(rgb_image.data,w,h,bytes_per_line,QImage.Format_RGB888)pixmapQPixmap.fromImage(qt_image)self.image_label.setPixmap(pixmap.scaled(800,600))if__name____main__:appQApplication(sys.argv)windowMainWindow()window.show()sys.exit(app.exec_())算法原理介绍YOLOv8算法原理YOLOv8You Only Look Once version 8是一种实时目标检测算法其核心思想是在单个神经网络中同时预测边界框的位置和类别概率。YOLOv8相较于之前的版本在速度和准确性方面都有显著提升。主要特点统一架构YOLOv8采用统一的架构简化了模型的设计。高效的特征提取通过使用先进的卷积层和注意力机制提高特征提取的效率。改进的损失函数引入新的损失函数来优化边界框回归和分类任务。多尺度训练通过多尺度训练增强模型的泛化能力。自动数据增强集成自动数据增强技术减少对人工标注数据的依赖。工作流程输入图像将输入图像传递给YOLOv8模型。特征提取通过一系列卷积层提取图像特征。预测模型输出每个网格单元的边界框位置、置信度分数和类别概率。非极大值抑制NMS去除冗余的预测结果保留最佳的边界框。输出结果返回最终的目标检测结果。总结构建一个完整的基于YOLOv8的工业零件检测系统包括数据集准备、环境部署、模型训练、指标可视化展示和PyQt5界面设计。以下是所有相关的代码文件训练脚本(train_yolov8.py)指标可视化脚本(visualize_metrics.py)GUI应用代码(gui_app.py)

相关推荐

阿图什网站新手防坑指南一文搞懂安全与备案
阿图什网站新手防坑指南一文搞懂安全与备案

阿图什网站新手防坑指南一文搞懂安全与备案 备案流程一头雾水?别慌。很多做阿图什本地业务的朋友,刚开始建个企业官网,还没想着怎么引流,就被服务器报错和备案驳回折腾得够呛。其实, 网站安全与合规部署 这两件事,往往比写代码更让人头疼。今天这篇… · 2026/9/27 22:59:16

中秋4商场接力开业投放PC屏保画报广告案例分析:商场开业广告为何都投PC屏保画报?
中秋4商场接力开业投放PC屏保画报广告案例分析:商场开业广告为何都投PC屏保画报?

从4组真实信息覆盖数据看商场开业传播:办公场景信息触达的价值拆解与可复用框架 摘要:2026年中秋档期,长三角有4座新商业集中开业——无锡杉杉奥莱、杭州钱湾天街、南京光环花园城、宁波兴宁万悦集。它们分属奥莱、区域购物中心、城市自然综合… · 2026/9/27 22:58:51

毕业论文神器!2026年首选推荐的专业AI论文网站
毕业论文神器!2026年首选推荐的专业AI论文网站

2026年AI论文写作工具已从“内容生成”进化为融合智能分析与学术合规的全流程解决方案,核心评价维度包括文献真实性、格式合规性、长文本逻辑、查重降重、AIGC合规等。本次测评覆盖6款主流工具,涵盖中文/英文、全流程及专项功能,适用于免费与… · 2026/9/27 22:58:51

QwenImageEdit与ComfyUI搭建人物一致性写真工作流
QwenImageEdit与ComfyUI搭建人物一致性写真工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 23:29:29

深入I2C多主机仲裁与时钟延展:从原理到实战避坑
深入I2C多主机仲裁与时钟延展:从原理到实战避坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 23:29:23

组态王与MCGS的Modbus TCP实战避坑指南
组态王与MCGS的Modbus TCP实战避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 23:29:23

运算跨导放大器OTA:原理、电路设计与gm-C滤波器应用
运算跨导放大器OTA:原理、电路设计与gm-C滤波器应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 23:29:23

储能CCS组件中FPC设计全解析:从电气布线到量产可靠性的关键要点
储能CCS组件中FPC设计全解析:从电气布线到量产可靠性的关键要点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 23:29:17

汽车总线工具VBA安装实战指南:CANoe/CANalyzer自动化开发起点
汽车总线工具VBA安装实战指南:CANoe/CANalyzer自动化开发起点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 23:29:17

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码