发布时间:2026/8/2 8:23:56
yolo11和yolov8分别训练混凝土裂缝检测数据集 混凝土缺陷数据集 建立基于深度学习YOLOV8_11框架混凝土缺陷检测系统 深度学习框架混凝土裂缝检测系统yolo11/yolov8/opencv使用yolo11和yolov8分别训练数据集图片7998张(其中训练集5998 75%,验证集1500 19%,测试集500 6%),已经训练好了也可以自己重新训练使用opencvthinter构建的gui需要下载相关库如opencvultralyticsmap50约为0.97一分类‘crack’源码、数据集训练好的两个权重(yolo11和yolov8)源码注释非常详细可显示 GUI 窗口支持图片视频实时摄像头检测识别运行效果如图所示1基于 YOLOv8 YOLOv11 OpenCV Tkinter 的混凝土裂缝检测系统完整实现支持✅ 图片 / 视频 / 摄像头实时检测✅ 使用YOLOv8和YOLOv11双模型切换已训练权重✅ 一分类crack✅ mAP50 ≈ 0.97高精度✅ GUI 界面Tkinter✅ 支持加载自定义模型、显示检测结果、保存图像✅ 一、环境依赖pipinstallopencv-python ultralytics tkinter numpy matplotlibultralytics官方 YOLOv8 和 YOLOv11 支持库opencv-python图像处理与摄像头tkinterPython 原生 GUI无需额外安装✅ 二、数据集说明可选属性内容数据集大小7998 张图像分类单类crack划分比例训练集: 5998 (75%)验证集: 1500 (19%)测试集: 500 (6%)标注格式YOLO 格式.txt文件每行class x_center y_center width height图像尺寸多样建议统一为 640×640 或 1280×720 示例结构crack_dataset/ ├── train/ │ ├── images/ │ └── labels/ ├── val/ │ ├── images/ │ └── labels/ └── test/ ├── images/ └── labels/✅ 三、训练好的模型提供下载yolov8_crack.pt—— YOLOv8 模型mAP50 ≈ 0.97yolov11_crack.pt—— YOLOv11 模型mAP50 ≈ 0.98⚠️ 请将这两个.pt文件放在项目根目录下。✅ 四、完整代码concrete_crack_detector.py# concrete_crack_detector.pyimportsysimportosimportcv2importnumpyasnpfromultralyticsimportYOLOimporttkinterastkfromtkinterimportfiledialog,messageboxfromPILimportImage,ImageTkimportthreadingclassCrackDetectionApp:def__init__(self,root):self.rootroot self.root.title(YOLOv8/YOLOv11 混凝土裂缝检测系统)self.root.geometry(1200x800)# 初始化模型self.model_v8Noneself.model_v11Noneself.current_modelNone# v8 or v11self.capNoneself.runningFalse# UI 组件self.setup_ui()defsetup_ui(self):构建 GUI 界面# 上方按钮区域btn_frametk.Frame(self.root)btn_frame.pack(pady10)self.btn_load_v8tk.Button(btn_frame,text加载 YOLOv8 模型,commandself.load_v8_model)self.btn_load_v8.pack(sidetk.LEFT,padx5)self.btn_load_v11tk.Button(btn_frame,text加载 YOLOv11 模型,commandself.load_v11_model)self.btn_load_v11.pack(sidetk.LEFT,padx5)self.btn_imagetk.Button(btn_frame,text打开图片,commandself.open_image)self.btn_image.pack(sidetk.LEFT,padx5)self.btn_videotk.Button(btn_frame,text打开视频,commandself.open_video)self.btn_video.pack(sidetk.LEFT,padx5)self.btn_cameratk.Button(btn_frame,text启动摄像头,commandself.start_camera)self.btn_camera.pack(sidetk.LEFT,padx5)self.btn_stoptk.Button(btn_frame,text停止摄像头,commandself.stop_camera)self.btn_stop.pack(sidetk.LEFT,padx5)# 中间图像显示区域self.canvas_frametk.Frame(self.root)self.canvas_frame.pack(filltk.BOTH,expandTrue,padx20,pady10)self.original_canvastk.Canvas(self.canvas_frame,width500,height500,bglightgray)self.original_canvas.grid(row0,column0,padx10,pady10)self.detected_canvastk.Canvas(self.canvas_frame,width500,height500,bglightgray)self.detected_canvas.grid(row0,column1,padx10,pady10)# 下方信息框self.info_labeltk.Label(self.root,text点击“打开图片”开始检测,font(Arial,12))self.info_label.pack(pady10)defload_v8_model(self):加载 YOLOv8 模型try:self.model_v8YOLO(yolov8_crack.pt)# 替换为你的路径self.current_modelv8self.info_label.config(text✅ 已加载 YOLOv8 模型)exceptExceptionase:messagebox.showerror(错误,f无法加载 YOLOv8 模型:{e})defload_v11_model(self):加载 YOLOv11 模型try:self.model_v11YOLO(yolov11_crack.pt)# 替换为你的路径self.current_modelv11self.info_label.config(text✅ 已加载 YOLOv11 模型)exceptExceptionase:messagebox.showerror(错误,f无法加载 YOLOv11 模型:{e})defopen_image(self):打开并检测单张图片ifself.current_modelisNone:messagebox.showwarning(警告,请先加载模型)returnfile_pathfiledialog.askopenfilename(title选择图像,filetypes[(Image Files,*.jpg *.jpeg *.png *.bmp)])ifnotfile_path:returnself.detect_image(file_path)defopen_video(self):打开视频文件进行检测file_pathfiledialog.askopenfilename(title选择视频,filetypes[(Video Files,*.mp4 *.avi *.mov)])ifnotfile_path:returnself.capcv2.VideoCapture(file_path)self.runningTrueself.process_video()defstart_camera(self):启动摄像头检测ifself.capisnotNone:self.cap.release()self.capcv2.VideoCapture(0)# 使用默认摄像头self.runningTrueself.process_video()defstop_camera(self):停止摄像头self.runningFalseifself.cap:self.cap.release()self.capNoneself.info_label.config(text 摄像头已停止)defprocess_video(self):处理视频或摄像头帧ifnotself.runningorself.capisNone:returnret,frameself.cap.read()ifnotret:self.runningFalseself.info_label.config(text❌ 视频/摄像头结束)return# 检测ifself.current_modelv8:resultsself.model_v8(frame,conf0.5,iou0.5)else:resultsself.model_v11(frame,conf0.5,iou0.5)detected_imgresults[0].plot()# 自动绘制框和标签# 显示原始图和检测图self.display_image(frame,detected_img)# 递归调用ifself.running:self.root.after(30,self.process_video)defdetect_image(self,image_path):对单张图像进行检测imgcv2.imread(image_path)ifimgisNone:messagebox.showerror(错误,无法读取图像)return# 推理ifself.current_modelv8:resultsself.model_v8(img,conf0.5,iou0.5)else:resultsself.model_v11(img,conf0.5,iou0.5)detected_imgresults[0].plot()# 显示self.display_image(img,detected_img)defdisplay_image(self,original,detected):在 Canvas 上显示图像# 调整大小以适应 canvash,woriginal.shape[:2]scalemin(500/w,500/h)new_w,new_hint(w*scale),int(h*scale)# 缩放图像original_resizedcv2.resize(original,(new_w,new_h))detected_resizedcv2.resize(detected,(new_w,new_h))# 转换为 PIL Imageimg_originalImage.fromarray(cv2.cvtColor(original_resized,cv2.COLOR_BGR2RGB))img_detectedImage.fromarray(cv2.cvtColor(detected_resized,cv2.COLOR_BGR2RGB))# 转为 PhotoImagephoto_originalImageTk.PhotoImage(img_original)photo_detectedImageTk.PhotoImage(img_detected)# 清空并更新 canvasself.original_canvas.delete(all)self.detected_canvas.delete(all)self.original_canvas.create_image(0,0,anchortk.NW,imagephoto_original)self.detected_canvas.create_image(0,0,anchortk.NW,imagephoto_detected)# 保持引用self.original_canvas.imagephoto_original self.detected_canvas.imagephoto_detected self.info_label.config(textf✅ 检测完成{len(results[0].boxes)}条裂缝)defmain():roottk.Tk()appCrackDetectionApp(root)root.mainloop()if__name____main__:main()✅ 五、运行步骤1. 准备文件确保项目根目录包含. ├── concrete_crack_detector.py ├── yolov8_crack.pt └── yolov11_crack.pt2. 运行程序python concrete_crack_detector.py3. 使用流程点击「加载 YOLOv8 模型」或「加载 YOLOv11 模型」点击「打开图片」上传裂缝图像点击「启动摄像头」开启实时检测检测结果自动显示在右侧窗口✅ 六、功能亮点功能描述 图像检测支持 JPG/PNG/BMP 视频检测MP4/AVI 格式 实时摄像头USB 摄像头或手机外接 双模型切换YOLOv8 / YOLOv11 高精度️ 可视化自动画框 类别 置信度 无需额外部署Python 一键运行✅ 七、模型训练说明如需重新训练1. 创建data.yamltrain:./crack_dataset/train/imagesval:./crack_dataset/val/imagesnc:1names:[crack]2. 训练命令YOLOv8yolo detect traindatadata.yamlmodelyolov8n.ptepochs100imgsz640batch163. 训练命令YOLOv11yolo detect traindatadata.yamlmodelyolov11n.ptepochs100imgsz640batch16✅ 输出模型会自动保存为runs/detect/train/weights/best.pt复制到项目根目录即可使用。

相关新闻

2026/8/2 8:18:55

基于多智能体协作的AI群主系统:从架构设计到工程实践

1. 项目概述:当AI Agent成为群聊“群主”最近在折腾一个挺有意思的实验:让一个AI Agent去当微信群或者QQ群的“群主”。这听起来有点科幻,但实际跑起来,效果远超预期。原本插科打诨、分享日常的普通群聊,在AI群主接管后…

2026/8/2 8:18:55

家装电线选购与施工全指南:正泰BV2.5平方线实测与避坑

最近家里装修,水电改造是重头戏。选电线时,在网上看了很多攻略,也咨询了老师傅,最后锁定了正泰(CHNT)的BV2.5平方单芯硬线。很多博主和装修清单都把它列为“家装必备”,但实际用下来&#xff0c…

2026/8/2 9:33:59

Exeinfo PE逆向分析入门:从文件识别到加壳检测实战指南

1. 项目概述:从“黑盒”到“白盒”的逆向工程入门在软件安全分析、恶意代码研究甚至是日常的软件兼容性排查中,我们常常会面对一个陌生的可执行文件(.exe, .dll等)。它就像一个封装好的“黑盒”,我们不知道它由什么语言…

2026/8/2 9:33:59

揭秘RePKG:突破Wallpaper Engine资源封锁的强力解决方案

揭秘RePKG:突破Wallpaper Engine资源封锁的强力解决方案 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 您是否曾经面对Wallpaper Engine中那些神秘的PKG资源包束手无策…

2026/8/2 9:33:59

实用指南:G-Helper - 华硕笔记本轻量级控制工具完全手册

实用指南:G-Helper - 华硕笔记本轻量级控制工具完全手册 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, …

2026/8/2 9:33:59

ESP32-S3-Touch-LCD-1.28开发板全解析:从硬件选型到GUI实战

1. 项目概述:ESP32-S3-Touch-LCD-1.28 是什么? 如果你最近在逛一些创客社区或者硬件论坛,大概率会刷到“ESP32-S3-Touch-LCD-1.28”这个名字。这可不是一串乱码,而是一个集成了ESP32-S3芯片、1.28英寸圆形触摸屏的开发板。简单来说…

2026/8/2 9:28:59

Godot 4.0 可分支对话系统实战:从对话树到数据驱动架构

1. 项目概述:为什么我们需要一个可分支的对话系统? 如果你正在用Godot开发一款RPG、AVG或者任何需要角色互动的游戏,那么一个功能完备的对话系统绝对是绕不开的核心模块。市面上很多教程会教你做一个“按空格键逐句播放”的线性对话&#xff…

2026/8/2 0:02:18

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/2 0:02:18

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/2 1:52:02

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/1 0:03:49

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/2 8:56:50

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…