# 去烟+人体识别系统 **Repository Path**: chenkun_code/desomking ## Basic Information - **Project Name**: 去烟+人体识别系统 - **Description**: 去烟+人体识别系统,去烟用Uset实现,人体识别在这个基础上用yolov5实现 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-05-06 - **Last Updated**: 2025-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 去烟+识别系统 一个基于Tkinter图形界面的去烟+人体识别系统,支持 **红外图像去烟增强** 与 **YOLOv5目标检测** 功能,适用于红外视频增强、人形识别等任务。 ## 🧠 功能特性 - ✅ 视频播放与处理 - ✅ 红外图像去烟(基于UNet) - ✅ 目标检测(基于YOLOv5) - ✅ 实时画面对比显示(原始 vs 处理后) - ✅ 自动生成处理后的视频 `final_output_video.mp4` ## 📦 安装依赖 详细请查看依赖文件 ```bash pip install -r requirements.txt ``` > ⚠️ 如果使用YOLOv5,请确保PyTorch能使用GPU(可选),并自动从 `ultralytics/yolov5` 加载模型。 ## 📁 项目结构 ``` . ├── software.py # 主程序(你的Python代码) ├── dataset # 普通图像,给desmoking.py训练使用 ├── dataset_infrared # 红外图像,给infrared.py训练使用 ├── models/ │ ├── yolo.pt # YOLOv5目标检测模型 │ ├── infrared_model.pth # 红外图像去烟模型 │ └── desmoking.pth # 普通图像去烟模型 ├── infrared.py # 包含网络定义,针对红外图像 ├── desmoking.py # 包含网络定义,针对一般图像 ├── final_output_video.mp4 # 自动生成的处理后视频 ├── yolo_test.py # 只测试yolo模型 ├── inrared_test.py # 只测试去烟模型 └── README.md # 项目说明 ``` ## 📁 数据集及训练说明 本项目使用两类配对图像数据集。每个样本文件夹中包含一张带烟图像(`haze.jpg`)和对应的无烟图像(`clean.jpg`)。 --- ### 📦 数据集(`dataset/`和`dataset_infrared/`) 用于训练普通(可见光)图像的去烟模型。 - 文件夹命名为数字,范围为 `0` 到 `29`(共 30 个文件夹)。 - 每个文件夹中包含两张图像: ``` ├── 0 │ ├── haze.jpg # 去烟图像 │ ├── clean.jpg # 无烟图像 ├── 1 │ ├── haze.jpg # 去烟图像 │ ├── clean.jpg # 无烟图像 ...... ``` #### 对于数据集,需要特别说明,如果想要扩充数据集以提升模型鲁棒: #### dataset:https://www.kaggle.com/datasets/adipuli2004/dehazing-and-desmoking #### dataset_infrared:https://pan.baidu.com/share/init?surl=y4OQkoPklAnb2YLTXD-xMg&pwd=wxrh ### 🚀训练: - 直接运行`desmoking.py`和`infrared.py`即可 - 可以直接使用`models/`中的结果和`infrared_video.mp4`来观察模型效果 #### 对于YOLO来说:本代码不提供yolo的完整训练,请自行训练yolo模型,数据集可参考dataset_infrared ## 🧪 模型说明 - `infrared_model.pth`:使用 UNet + 注意力机制 模型训练,输入为红外图像,输出为去烟图像。 - `desmoking.pth`:主要使用GAN神经网络,输入为普通图像,输出去烟图像。 - `yolo.pt`:YOLOv5自定义模型,可进行人形或多类目标识别。 #### 注意!本软件使用的代码默认是红外图像去烟模型,如有需要自行替换`software.py`中代码。 ## 🖥️运行代码 1. **导入视频** - 点击【选择视频】,支持 `.mp4`、`.avi`、`.mov` 等格式。 - 可以使用`infrared_video.mp4`作为输入演示效果 2. **选择处理模式** - ✅ 勾选【去烟处理】可增强红外图像清晰度 - ✅ 勾选【目标检测】启用YOLO人形检测 3. **查看效果** - 左侧为原始视频帧,右侧为处理后帧。处理后的视频自动保存为 `final_output_video.mp4`。 ## ✨ 作者 如果有任何问题或建议,欢迎联系: - Email:chenkun050617@163.com