智慧医疗【全细胞数据集 如何训练医疗细胞检测数据集 构建基于深度学习YOLOV8细胞检测系统 全细胞检测数据集(血小板/红细胞/白细胞)+ YOLOv8 完整检测系统 智慧医疗【全细胞数据集】YOLO格式txt/xml格式高精度标注数据集亮点​420张全细胞图片高精度标注​txt/xml格式标注兼容YOLO等框架​科学划分训练集300张、验证集60张、测试集60张应用场景① ​医学检测辅助血细胞分类提高诊断效率② ​病理研究支持细胞相关科学研究③ ​实验室分析优化细胞识别流程提升实验精度④ ​深度学习适合目标检测模型训练与验证数据集规格​①标注格式txt、xml​②类别标签0Platelets血小板1: RBCRed Blood Cell红细胞2: WBCWhite Blood Cell白细胞③​数据来源真实医学影像采集附① ​完整数据包​压缩包② ​txt/xml格式标注文件全细胞检测数据集血小板/红细胞/白细胞 YOLOv8 完整检测系统以上文字及代码仅供参考1. 基础信息项目内容数据集名称全细胞目标检测数据集血细胞分类总图像数量420 张真实医学细胞影像数据划分训练集 300 张 / 验证集 60 张 / 测试集 60 张标注格式YOLO(txt) VOC(xml)双格式任务类型医学目标检测 / 细胞识别 / 智慧医疗适用模型YOLOv8 / YOLOv11 / YOLOv12 / Faster-RCNN应用场景血细胞分类、病理诊断、实验室分析、深度学习训练2. 类别详细说明类别ID英文标签中文标签医学意义0Platelets血小板参与凝血、止血功能1RBC红细胞运输氧气与二氧化碳2WBC白细胞免疫防御、炎症反应3. 文件结构标准YOLO格式直接训练cell_dataset/ ├── images/ │ ├── train/ │ ├── val/ │ └── test/ ├── labels/ │ ├── train/ *.txt │ ├── val/ *.txt │ └── test/ *.txt ├── annotations/ *.xml (VOC格式) └── cell_data.yaml二、YOLOv8 配置文件cell_data.yamlpath:./cell_datasettrain:images/trainval:images/valtest:images/testnc:3names:0:Platelets1:RBC2:WBC三、YOLOv8 训练代码医学小目标优化版train_cell.pyfromultralyticsimportYOLOimporttorch# 全细胞检测训练适配微小目标血小板/红细胞if__name____main__:# 加载yolov8预训练模型modelYOLO(yolov8s.pt)# 训练参数医疗图像专用优化model.train(datacell_data.yaml,epochs150,# 训练轮数imgsz640,# 输入尺寸batch8,# 批次大小device0iftorch.cuda.is_available()elsecpu,lr00.01,# 学习率patience20,# 早停augmentTrue,# 开启数据增强mosaic0.5,# 医学图像慎用强增强mixup0.0,hsv_h0.0,hsv_s0.0,hsv_v0.0,degrees5,scale0.2,namecell_detection,cacheTrue,ampTrue)# 测试集评估model.val(splittest)四、全细胞可视化检测系统带GUI界面可直接演示cell_gui.py功能✅ 打开细胞图片✅ 一键检测✅ 显示血小板/红细胞/白细胞数量✅ 保存检测结果✅ 中文界面简洁美观importsysimportcv2importnumpyasnpfromPyQt5.QtWidgetsimport*fromPyQt5.QtCoreimport*fromPyQt5.QtGuiimport*fromultralyticsimportYOLOclassCellDetectWindow(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle(全细胞检测系统)self.setFixedSize(1100,650)self.modelYOLO(best.pt)# 训练好的权重self.init_ui()definit_ui(self):central_widgetQWidget()self.setCentralWidget(central_widget)main_layoutQHBoxLayout(central_widget)# 图像显示区域self.img_labelQLabel()self.img_label.setStyleSheet(background-color:#f0f0f0;)self.img_label.setAlignment(Qt.AlignCenter)main_layout.addWidget(self.img_label,stretch3)# 控制面板control_widgetQWidget()control_layoutQVBoxLayout(control_widget)main_layout.addWidget(control_widget,stretch1)self.btn_openQPushButton(选择细胞图片)self.btn_detectQPushButton(开始检测)self.btn_saveQPushButton(保存结果)self.result_infoQLabel(检测结果\n等待检测...)control_layout.addWidget(self.btn_open)control_layout.addWidget(self.btn_detect)control_layout.addWidget(self.btn_save)control_layout.addWidget(self.result_info)self.btn_open.clicked.connect(self.open_image)self.btn_detect.clicked.connect(self.detect_cell)self.btn_save.clicked.connect(self.save_result)self.img_pathNoneself.result_imgNonedefopen_image(self):path,_QFileDialog.getOpenFileName(self,选择图片,,图片文件 (*.png *.jpg *.jpeg))ifpath:self.img_pathpath pixmapQPixmap(path)self.img_label.setPixmap(pixmap.scaled(self.img_label.size(),Qt.KeepAspectRatio))defdetect_cell(self):ifnotself.img_path:returnimgcv2.imread(self.img_path)resultsself.model(img,conf0.25)show_imgresults[0].plot()# 统计各类细胞数量count{Platelets:0,RBC:0,WBC:0}forboxinresults[0].boxes:cls_idint(box.cls)ifcls_id0:count[Platelets]1elifcls_id1:count[RBC]1elifcls_id2:count[WBC]1info检测结果\ninfof血小板{count[Platelets]}个\ninfof红细胞{count[RBC]}个\ninfof白细胞{count[WBC]}个\nself.result_info.setText(info)# 显示结果show_imgcv2.cvtColor(show_img,cv2.COLOR_BGR2RGB)h,w,chshow_img.shape q_imgQImage(show_img.data,w,h,ch*w,QImage.Format_RGB888)self.img_label.setPixmap(QPixmap.fromImage(q_img).scaled(self.img_label.size(),Qt.KeepAspectRatio))self.result_imgshow_imgdefsave_result(self):ifself.result_imgisnotNone:cv2.imwrite(cell_result.jpg,cv2.cvtColor(self.result_img,cv2.COLOR_RGB2BGR))QMessageBox.information(self,提示,结果保存成功)if__name____main__:appQApplication(sys.argv)windowCellDetectWindow()window.show()sys.exit(app.exec_())五、标注格式转换工具XML ↔ TXTxml2yolo.pyimportosimportxml.etree.ElementTreeasETdefxml_to_txt(xml_dir,txt_dir,classes):os.makedirs(txt_dir,exist_okTrue)forxml_fileinos.listdir(xml_dir):ifnotxml_file.endswith(.xml):continuetreeET.parse(os.path.join(xml_dir,xml_file))roottree.getroot()sizeroot.find(size)wint(size.find(width).text)hint(size.find(height).text)lines[]forobjinroot.findall(object):cls_nameobj.find(name).textifcls_namenotinclasses:continuecls_idclasses.index(cls_name)bndboxobj.find(bndbox)x1float(bndbox.find(xmin).text)y1float(bndbox.find(ymin).text)x2float(bndbox.find(xmax).text)y2float(bndbox.find(ymax).text)cx(x1x2)/2/w cy(y1y2)/2/h bw(x2-x1)/w bh(y2-y1)/h lines.append(f{cls_id}{cx:.6f}{cy:.6f}{bw:.6f}{bh:.6f})txt_filexml_file.replace(.xml,.txt)withopen(os.path.join(txt_dir,txt_file),w)asf:f.write(\n.join(lines))if__name____main__:classes[Platelets,RBC,WBC]xml_to_txt(annotations,labels/train,classes)六、一键运行命令安装依赖pipinstallultralytics opencv-python pyqt5训练模型python train_cell.py启动可视化检测系统python cell_gui.py