智能医学检测超声图像甲状腺结节检测数据集甲状腺结节检测、超声影像检测、甲状腺良恶性判别、医疗超声AI检测YOLOv11n医疗检测、甲状腺病灶识别、医疗影像目标检测、PyQt5医疗检测界面

发布时间:2026/9/12 18:39:49

智能医学检测超声图像甲状腺结节检测数据集甲状腺结节检测、超声影像检测、甲状腺良恶性判别、医疗超声AI检测YOLOv11n医疗检测、甲状腺病灶识别、医疗影像目标检测、PyQt5医疗检测界面 智能医学检测超声图像甲状腺结节检测数据集5000张yolovoccoco三种标注方式图像尺寸:500*718类别数量:2类训练集图像数量:4508; 验证集图像数量:294 测试集图像数量:198类别名称: 每一类图像数 每一类标注数0 良性结节: 1426,14261 恶性结节: 3574,3574image num: 5000一、数据集信息表1.1 基础信息项目详情数据集名称超声图像甲状腺结节检测数据集总图像数量5000 张图像尺寸500×718标注格式YOLO、VOC、COCO 三种格式类别总数2 类训练集4508 张验证集294 张测试集198 张训练模型YOLOv11n训练轮数80 epoch1.2 类别标注明细序号中文标签含该类别图像数标注框总数0良性结节142614261恶性结节357435741.3 YOLO 类别列表names[良性结节,恶性结节]模型代码采用 YOLOv11n 网络训练训练轮次80 个 epoch提供全部训练 测试源代码训练精度 mAP 效果如图所示PyQt5 界面功能界面使用 PyQt5 开发提供全部源码.ui、.qrc、.py 及图标文件支持图片检测、视频检测、摄像头实时检测界面实时显示目标位置、目标总数、置信度等信息支持检测结果保存导出二、应用场景医疗辅助诊断医院超声科室辅助筛查甲状腺结节区分良恶性提升诊断效率。基层医疗筛查社区、体检中心批量分析超声影像初步风险预判。医学AI研发超声影像目标检测算法训练、学术研究、模型对比测试。智能医疗设备集成至超声仪器实时检测、标注结节位置与风险等级。离线影像分析搭配PyQt可视化界面离线批量处理历史超声影像并保存结果。三、YOLOv11n 训练 测试代码3.1 环境依赖安装pipinstallultralytics torch opencv-python PyQt5 numpy3.2 数据集配置文件thyroid.yamlpath:./thyroid_datasettrain:images/trainval:images/valtest:images/testnc:2names:0:良性结节1:恶性结节3.3 数据集目录结构thyroid_dataset/ ├── images/ │ ├── train/ │ ├── val/ │ └── test/ ├── labels/ # YOLO txt标注 │ ├── train/ │ ├── val/ │ └── test/ ├── voc_annotations/ # VOC xml标注 ├── coco_annotations/# COCO json标注 └── thyroid.yaml3.4 训练代码train_thyroid.pyfromultralyticsimportYOLOdeftrain_thyroid():modelYOLO(yolov11n.yaml)model.train(datathyroid.yaml,epochs80,imgsz(500,718),batch8,devicecpu,# 有GPU改为 device0workers4,patience15,ampTrue,mosaic1.0,projectruns/train,namethyroid_nodule_det,exist_okTrue)print(训练完成权重已保存至 runs/train/thyroid_nodule_det/weights)if__name____main__:train_thyroid()3.5 测试推理代码test_thyroid.pyfromultralyticsimportYOLO modelYOLO(runs/train/thyroid_nodule_det/weights/best.pt)if__name____main__:# 单张图片检测resmodel(test.jpg,saveTrue,conf0.25)# 批量图片检测# res model(./test_imgs/, saveTrue, conf0.25)# 视频/摄像头检测# res model(0, saveTrue, conf0.25)print(推理测试完成)四、PyQt5 可视化界面完整源码thyroid_ui.pyimportsysimportcv2importosfromPyQt5.QtWidgetsimport(QApplication,QMainWindow,QPushButton,QLabel,QFileDialog,QTextEdit,QVBoxLayout,QWidget,QHBoxLayout)fromPyQt5.QtGuiimportQImage,QPixmapfromPyQt5.QtCoreimportQt,QThread,pyqtSignalfromultralyticsimportYOLOclassDetectThread(QThread):frame_sigpyqtSignal(object)info_sigpyqtSignal(str)def__init__(self,model,source,save_path):super().__init__()self.modelmodel self.sourcesource self.save_pathsave_path self.runningTruedefrun(self):os.makedirs(self.save_path,exist_okTrue)capcv2.VideoCapture(self.source)idx0whileself.running:ret,framecap.read()ifnotret:breakresultsself.model(frame,conf0.25)draw_frameresults[0].plot()totallen(results[0].boxes)cls_dict{}conf_list[]forboxinresults[0].boxes:cidint(box.cls[0])cnameself.model.names[cid]confround(float(box.conf[0]),2)cls_dict[cname]cls_dict.get(cname,0)1conf_list.append(str(conf))infof目标总数{total}\n类别统计{cls_dict}\n置信度{conf_list}self.frame_sig.emit(draw_frame)self.info_sig.emit(info)cv2.imwrite(f{self.save_path}/res_{idx}.jpg,draw_frame)idx1cap.release()defstop_task(self):self.runningFalseclassThyroidDetectUI(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle(甲状腺结节超声检测系统)self.resize(1280,800)self.modelYOLO(runs/train/thyroid_nodule_det/weights/best.pt)self.work_threadNoneself.save_dir./detect_result# 主布局main_widgetQWidget()self.setCentralWidget(main_widget)main_layoutQHBoxLayout(main_widget)# 图像显示区self.show_labelQLabel()self.show_label.setStyleSheet(background:#111;)self.show_label.setAlignment(Qt.AlignCenter)main_layout.addWidget(self.show_label,3)# 控制面板ctrl_widgetQWidget()ctrl_layoutQVBoxLayout(ctrl_widget)self.btn_imgQPushButton(图片检测)self.btn_videoQPushButton(视频检测)self.btn_cameraQPushButton(摄像头检测)self.btn_stopQPushButton(停止检测)self.log_editQTextEdit()self.log_edit.setReadOnly(True)self.btn_img.clicked.connect(self.detect_image)self.btn_video.clicked.connect(self.detect_video)self.btn_camera.clicked.connect(self.detect_camera)self.btn_stop.clicked.connect(self.stop_detect)ctrl_layout.addWidget(self.btn_img)ctrl_layout.addWidget(self.btn_video)ctrl_layout.addWidget(self.btn_camera)ctrl_layout.addWidget(self.btn_stop)ctrl_layout.addWidget(QLabel(检测日志))ctrl_layout.addWidget(self.log_edit)main_layout.addWidget(ctrl_widget,1)defrefresh_frame(self,frame):rgbcv2.cvtColor(frame,cv2.COLOR_BGR2RGB)h,w,chrgb.shape bytes_per_linech*w qimgQImage(rgb.data,w,h,bytes_per_line,QImage.Format_RGB888)self.show_label.setPixmap(QPixmap.fromImage(qimg).scaled(self.show_label.size(),Qt.KeepAspectRatio))defappend_log(self,text):self.log_edit.append(text)defstart_stream(self,source):self.stop_detect()self.work_threadDetectThread(self.model,source,self.save_dir)self.work_thread.frame_sig.connect(self.refresh_frame)self.work_thread.info_sig.connect(self.append_log)self.work_thread.start()defdetect_image(self):path,_QFileDialog.getOpenFileName(self,选择超声图片,,Image(*.jpg *.png *.jpeg))ifnotpath:returnimgcv2.imread(path)resself.model(img,conf0.25)draw_imgres[0].plot()self.refresh_frame(draw_img)totallen(res[0].boxes)cls_d{}confs[]forboxinres[0].boxes:cnself.model.names[int(box.cls[0])]cls_d[cn]cls_d.get(cn,0)1confs.append(f{float(box.conf[0]):.2f})logf图片检测完成\n总数{total}\n类别{cls_d}\n置信度{confs}self.append_log(log)os.makedirs(self.save_dir,exist_okTrue)cv2.imwrite(f{self.save_dir}/img_result.jpg,draw_img)defdetect_video(self):path,_QFileDialog.getOpenFileName(self,选择视频,,Video(*.mp4 *.avi))ifpath:self.start_stream(path)defdetect_camera(self):self.start_stream(0)defstop_detect(self):ifself.work_threadandself.work_thread.isRunning():self.work_thread.stop_task()self.work_thread.quit()self.work_thread.wait()defcloseEvent(self,event):self.stop_detect()event.accept()if__name____main__:appQApplication(sys.argv)winThyroidDetectUI()win.show()sys.exit(app.exec_())
延伸阅读

更多相关文章

2026/9/13 1:24:30

《Cursor / Claude Code 国内加速方案:一行配置解锁流畅 AI 编程体验》

AI 编程工具已经成为开发者的日常效率利器,Cursor、Claude Code、Codex CLI 等工具大幅提升了编码效率。但国内开发者在使用这些工具时,普遍面临网络延迟高、连接不稳定、账号注册繁琐等问题。本文介绍基于 weytoken 大模型聚合平台的配置方案&#xff0…

2026/9/12 3:56:04

NestOS内核特性增强:mm、cpu、cgroup优化深度剖析

NestOS内核特性增强:mm、cpu、cgroup优化深度剖析 【免费下载链接】NestOS NestOS is an automatically updated minimal operating system developed based on openEuler 项目地址: https://gitcode.com/openeuler/NestOS 前往项目官网免费下载:…

2026/9/4 17:53:39

《大模型 API 成本直降 30%:开发者高性价比调用方案实测》

大模型 API 的调用成本,一直是个人开发者和中小团队的核心痛点。官方渠道按美元计价、汇率波动、国际支付手续费、多账号分散管理,都会推高实际使用成本。本文基于 weytoken 大模型聚合平台的公开规则,为开发者拆解一套高性价比的调用方案。一…

2026/9/13 16:47:53

基于STK11的卫星任务调度强化学习数据生成与训练实践

简介:基于STK11场景的卫星任务调度与强化学习训练数据生成系统,面向卫星任务规划与机器学习交叉领域的研究者或工程师,提供从随机观测任务生成、卫星可访问时段计算、数据对齐与批次排序,到数据增强、模型训练及奖励可视化的完整链…

2026/9/13 16:47:53

Skypod货到人机器人技术拆解:从机械设计到调度部署

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

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/13 11:18:28

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码