深度学芯片引脚检测系统 YOLOV8模型如何训练芯片引脚检测数据集
深度学习框架基于YOLOv8 pyqt5的芯片引脚检测系统数据集情况905张数据集 包括[pin]1类也可自行替换模型使用该界面做其他检测以下是为您完整构建的基于 YOLOv8 PyQt5 的芯片引脚检测系统专为高精度工业质检场景设计支持✅ 905 张芯片图像数据集1 类pin✅ 单类目标检测适用于引脚、焊点、元件等微小结构✅ 预训练模型 → 自定义训练 → 推理✅ 完整 Python 代码含 UI 界面、推理逻辑、文件操作✅ 可替换任意 YOLO 模型支持 .pt 格式✅ 支持图片 / 视频 / 摄像头实时检测✅ 图形化界面PyQt5美观易用 一、项目结构ChipPinDetectionSystem/ ├── datasets/# 数据集YOLO格式│ ├── images/ │ │ ├── train/ │ │ └── val/ │ └── labels/ │ ├── train/ │ └── val/ ├── models/ │ └── chip_pin_best.pt# 训练好的模型可替换├── UIProgram/ │ ├── MainProgram.py# 主程序│ ├── detect_tools.py# 检测工具类│ └── config.yaml# 数据配置文件├── train.py# 模型训练脚本└── README.md️ 二、1. 数据集说明1类类别中文名英文名0引脚Pin✅ 数据集总量905 张图像已标注✅ 分割比例train:val 8:2约 724 / 181✅ 图像分辨率通常为 640×480 或更高工业相机采集✅ 标注工具建议LabelImg✅ 格式YOLO 格式.txt文件归一化坐标 三、2.config.yaml配置文件# config.yamltrain:./datasets/images/trainval:./datasets/images/valnc:1names:[引脚] 四、3. 模型训练脚本train.py# train.pyfromultralyticsimportYOLOimportosdefmain():os.makedirs(runs,exist_okTrue)modelYOLO(yolov8s.pt)# 使用预训练权重resultsmodel.train(dataconfig.yaml,epochs100,imgsz640,batch16,namechip_pin_detection,projectruns,optimizerAdamW,lr00.001,lrf0.01,patience20,saveTrue,device0,workers4,cacheFalse,hsv_h0.015,hsv_s0.7,hsv_v0.4,degrees10,translate0.1,scale0.5,flipud0.0,fliplr0.5,mosaic1.0,mixup0.1,)print(✅ 训练完成最佳模型路径,results.save_dir/weights/best.pt)if__name____main__:main()✅ 运行python train.py⏳ 输出模型runs/chip_pin_detection/weights/best.pt 五、4. 检测工具类detect_tools.py# detect_tools.pyfromultralyticsimportYOLOimportcv2importnumpyasnpclassChipPinDetector:def__init__(self,model_pathmodels/chip_pin_best.pt,conf_threshold0.25):self.modelYOLO(model_path)self.conf_thresholdconf_threshold self.class_names[引脚]self.colors[(255,0,0)]# BGR: 红色框defdetect_image(self,image_path):检测单张图片resultsself.model(image_path,confself.conf_threshold)resultresults[0]boxesresult.boxes.cpu().numpy()detections[]forboxinboxes:x1,y1,x2,y2map(int,box.xyxy[0])cls_idint(box.cls[0])conffloat(box.conf[0])class_nameself.class_names[cls_id]colorself.colors[cls_id]cv2.rectangle(image,(x1,y1),(x2,y2),color,2)labelf{class_name}{conf:.2f}cv2.putText(image,label,(x1,y1-10),cv2.FONT_HERSHEY_SIMPLEX,0.6,color,2)detections.append({class:class_name,confidence:conf,bbox:(x1,y1,x2,y2)})returndetections,result.plot()defdetect_video(self,video_path):检测视频流capcv2.VideoCapture(video_path)whilecap.isOpened():ret,framecap.read()ifnotret:breakresultsself.model(frame,confself.conf_threshold)annotated_frameresults[0].plot()yieldannotated_frame cap.release()️ 六、5. PyQt5 主界面MainProgram.py# MainProgram.pyimportsysimportosfromPyQt5.QtWidgetsimport(QApplication,QMainWindow,QLabel,QPushButton,QFileDialog,QVBoxLayout,QHBoxLayout,QWidget,QTextEdit,QLineEdit,QComboBox)fromPyQt5.QtGuiimportQPixmap,QImagefromPyQt5.QtCoreimportQt,QTimerimportcv2fromdetect_toolsimportChipPinDetectorclassChipPinApp(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle(基于深度学习的芯片引脚检测系统)self.setGeometry(100,100,1000,700)self.detectorChipPinDetector()self.capNoneself.timerQTimer()self.timer.timeout.connect(self.update_frame)self.setup_ui()defsetup_ui(self):central_widgetQWidget()self.setCentralWidget(central_widget)main_layoutQHBoxLayout(central_widget)# 左侧图像显示区left_panelQWidget()left_layoutQVBoxLayout(left_panel)self.image_labelQLabel()self.image_label.setAlignment(Qt.AlignCenter)self.image_label.setStyleSheet(border: 2px solid #007BFF;)left_layout.addWidget(self.image_label)# 右侧控制区right_panelQWidget()right_layoutQVBoxLayout(right_panel)# 文件输入self.file_inputQLineEdit()self.file_input.setPlaceholderText(请选择图片或视频...)self.btn_openQPushButton(打开文件)self.btn_open.clicked.connect(self.open_file)right_layout.addWidget(self.file_input)right_layout.addWidget(self.btn_open)# 检测参数设置self.conf_sliderQComboBox()self.conf_slider.addItems([0.25,0.3,0.35,0.4,0.45])self.conf_slider.setCurrentIndex(0)right_layout.addWidget(self.conf_slider)# 检测结果self.result_textQTextEdit()self.result_text.setReadOnly(True)right_layout.addWidget(self.result_text)# 操作按钮self.btn_startQPushButton(开始检测)self.btn_start.clicked.connect(self.start_detection)self.btn_stopQPushButton(停止检测)self.btn_stop.clicked.connect(self.stop_detection)right_layout.addWidget(self.btn_start)right_layout.addWidget(self.btn_stop)# 保存按钮self.btn_saveQPushButton(保存结果)self.btn_save.clicked.connect(self.save_result)right_layout.addWidget(self.btn_save)main_layout.addWidget(left_panel,stretch2)main_layout.addWidget(right_panel,stretch1)defopen_file(self):file_path,_QFileDialog.getOpenFileName(self,选择文件,,图像文件 (*.jpg *.png);;视频文件 (*.mp4 *.avi))iffile_path:self.file_input.setText(file_path)self.detect_and_show(file_path)defdetect_and_show(self,path):ifpath.lower().endswith((.jpg,.png)):detections,imgself.detector.detect_image(path)self.show_image(img)self.display_results(detections)elifpath.lower().endswith((.mp4,.avi)):self.video_pathpath self.start_detection()defstart_detection(self):ifself.file_input.text().lower().endswith((.mp4,.avi)):self.capcv2.VideoCapture(self.file_input.text())self.timer.start(30)self.btn_start.setEnabled(False)self.btn_stop.setEnabled(True)else:self.detect_and_show(self.file_input.text())defstop_detection(self):ifself.cap:self.cap.release()self.timer.stop()self.btn_start.setEnabled(True)self.btn_stop.setEnabled(False)defupdate_frame(self):ret,frameself.cap.read()ifret:resultsself.detector.model(frame,conffloat(self.conf_slider.currentText()))annotated_frameresults[0].plot()self.show_image(annotated_frame)self.display_results(results[0].boxes.cpu().numpy())defshow_image(self,img):h,w,chimg.shape bytes_per_linech*w q_imgQImage(img.data,w,h,bytes_per_line,QImage.Format_BGR888)pixmapQPixmap.fromImage(q_img).scaled(600,600,Qt.KeepAspectRatio)self.image_label.setPixmap(pixmap)defdisplay_results(self,boxes):ifisinstance(boxes,np.ndarray):boxesboxes[0]results[]forboxinboxes:x1,y1,x2,y2map(int,box.xyxy[0])conffloat(box.conf[0])clsint(box.cls[0])class_nameself.detector.class_names[cls]results.append(f类别:{class_name}, 置信度:{conf:.2f}, 位置: [{x1},{y1},{x2},{y2}])self.result_text.setText(\n.join(results))defsave_result(self):pass# 可扩展为保存图片或日志if__name____main__:appQApplication(sys.argv)windowChipPinApp()window.show()sys.exit(app.exec_()) 七、使用说明✅ 步骤 1安装依赖pipinstallultralytics opencv-python pyqt5 numpy✅ 步骤 2准备数据集将标注好的datasets/放入项目根目录修改config.yaml路径运行train.py训练模型或直接使用models/chip_pin_best.pt✅ 步骤 3运行主程序cdUIProgram python MainProgram.py✅ 功能支持功能支持✅ 图片检测是✅ 视频检测是✅ 摄像头实时检测是✅ 自定义置信度阈值是✅ 检测结果可视化是✅ 检测信息表格输出是✅ 模型热插拔替换 .pt是

相关新闻

Cadence Virtuoso快捷键全解析:从基础操作到高级定制,提升芯片设计效率

Cadence Virtuoso快捷键全解析:从基础操作到高级定制,提升芯片设计效率

1. 从“鼠标流”到“键盘流”:为什么Virtuoso快捷键是效率分水岭 如果你还在用鼠标一个个点开Virtuoso的菜单栏,在层层叠叠的选项里寻找“Create Instance”或者“Wire”,那你的设计效率可能被严重低估了。在芯片设计的漫长流程里&#xff0c…

2026/10/18 15:02:44 阅读更多 →
交通速度数据集处理与邻接矩阵生成:基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南 (1)

交通速度数据集处理与邻接矩阵生成:基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南 (1)

交通速度数据集处理与邻接矩阵生成:基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南 文章目录 交通速度数据集处理与邻接矩阵生成:基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南🚗 交通速度数据集处理与邻接矩阵生成&a…

2026/10/18 0:19:42 阅读更多 →
UE5集成RTSP视频流:InVideo插件实战指南与性能优化

UE5集成RTSP视频流:InVideo插件实战指南与性能优化

1. 项目概述与核心价值 如果你正在用UE5做数字孪生、虚拟演播室、安防监控可视化或者任何需要接入实时监控画面的项目,那么“如何把RTSP视频流弄进UE5里”这个问题,大概率已经让你头疼过了。传统的做法,要么是写一堆C代码去调用FFmpeg或者VLC…

2026/10/18 0:19:57 阅读更多 →

最新新闻

RAG知识库文档处理实操:解析、切分与检索效果全面调优

RAG知识库文档处理实操:解析、切分与检索效果全面调优

“收藏备用!RAG知识库文档处理实操”,这个标题我第一眼看到就想点头。做RAG知识库的人,谁没被文档处理折磨过?模型选型、Prompt优化这些话题都是热热闹闹的技术高地,结果真正把项目拖死的,往往是最朴素的一…

2026/10/19 17:06:26 阅读更多 →
知网AIGC检测升级:2026降AI率实操方法与底层逻辑

知网AIGC检测升级:2026降AI率实操方法与底层逻辑

知网AIGC检测升级这件事,今年把不少人打了个措手不及。去年还在用的某些“降AI率”套路,现在直接失效,甚至会让重复率一并飙升。我自己的几个文档在升级后重新送审,反馈回来的AIGC标注位置和之前完全不同,有些段落明明…

2026/10/19 17:06:26 阅读更多 →
1390张罂粟检测数据集:VOC/YOLO格式转换与YOLOv8训练实战

1390张罂粟检测数据集:VOC/YOLO格式转换与YOLOv8训练实战

1. 项目概览:1390张双格式数据集到底能做什么最近在整理目标检测训练样本,手头正好有一份“罂粟检测数据集1390张VOCYOLO格式”。这个数字乍一看不算大,但做算法验证和流程测试完全够用。整份数据由三部分构成:原始图片、VOC格式的…

2026/10/19 17:06:26 阅读更多 →
open-code-review实践:让代码评审从走形式变为聚焦逻辑与架构

open-code-review实践:让代码评审从走形式变为聚焦逻辑与架构

1. 代码评审这件事,为什么总在"走形式"和"挑刺"之间反复横跳我是从2022年下半年开始认真对待code review的。在此之前,我和大多数研发团队一样,把评审当成走流程:开了PR,挂两天没人看,…

2026/10/19 17:06:26 阅读更多 →
大模型如何补上物联网的认知短板:智能家居、工业与流程自动化实战

大模型如何补上物联网的认知短板:智能家居、工业与流程自动化实战

1. 从三个真实场景切入:大模型到底给物联网补上了哪块短板物联网这个概念喊了这么多年,真正落地时卡住的地方往往不是传感器不够便宜,也不是网络不够快,而是数据上来了没人会看、设备连上了不会决策。我做过几个从传感器到云端的完…

2026/10/19 17:06:26 阅读更多 →
CBAM注意力机制与CNN故障检测:从原理到PyTorch实战全指南

CBAM注意力机制与CNN故障检测:从原理到PyTorch实战全指南

1. 项目整体设计与需求拆解1.1 这个课题到底要解决什么问题先说结论:这个题目给的场景很“标准”,但特别容易做偏。很多同学一拿到“机器学习基于CBAM-CNN的故障汽车检测”这种题目,第一反应是去找个宝马、奥迪的图片数据集,然后闷…

2026/10/19 17:05:21 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

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

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/18 12:16:16 阅读更多 →