yolov8 实现火灾检测(windows+CPU)
本文实现在 windows + CPU 的环境下实现实时火宅检测
项目网址:https://github.com/noorkhokhar99/Fire-Detection-using-YOLOv8
具体实现步骤:
1. 使用 Anaconda 搭建一个新的虚拟环境: conda create -n yolov8_fire_detection python==3.9
2. 在 GitHub 上下载该项目,可以直接点击 Download ZIP 下载或者使用命令下载:git clone https://github.com/noorkhokhar99/Fire-Detection-using-YOLOv8.git
3. 进入到 Fire-Detection-using-YOLOv8-main 文件夹下,并激活 yolov8_fire_detection 虚拟环境:conda activate yolov8_fire_detection
4. 在当前路径下安装依赖包:pip install -r requirements.txt
5. 接下来可以按照 github 上用命令行运行,也可以按照以下步骤在 IDE 中运行预测代码。
(1)使用 IDE 打开 Fire-Detection-using-YOLOv8-main 下的 ultralytics 文件,并打开 predict.py 文件。
(2)添加以下 2 行代码到 predict.py 导入库函数部分,以便代码在运行过程中能找到 ultralytics 文件,如下所示:
1 import sys
2 sys.path.append("D:\\Downloads\\Fire-Detection-using-YOLOv8-main")
(3)修改 predict.py 中 predict() 函数的输入参数 model 和 source 为训练好的火灾检测模型和需要检测的视频文件,具体操作如下:
1 @hydra.main(version_base=None, config_path=str(DEFAULT_CONFIG.parent), config_name=DEFAULT_CONFIG.name)
2 def predict(cfg):
3 # cfg.model = cfg.model or "yolov8n.pt"
4 cfg.model = "D:\\Downloads\\Fire-Detection-using-YOLOv8-main\\best.pt"
5 cfg.imgsz = check_imgsz(cfg.imgsz, min_dim=2) # check image size
6 # cfg.source = cfg.source if cfg.source is not None else ROOT / "assets"
7 # cfg.source = "D:\\Downloads\\Fire-Detection-using-YOLOv8-main\\fire.mp4"
8 cfg.source = "D:\\Downloads\\FireDetectionYOLOv8-main (1)\\FireDetectionYOLOv8-main\\input\\fire1.mp4"
9 predictor = DetectionPredictor(cfg)
10 predictor()
11
12
13 if __name__ == "__main__":
14 predict()
(4)在当前运行环境中选择使用 yolov8_fire_detection 解释器。
(5)运行代码查看结果:
如代码运行结果所述,可以在 Fire-Detection-using-YOLOv8-main\ultralytics\runs\detect\train10 路径下查看代码检测结果:
测试数据可在网盘中 ”data_fire“ 文件夹下获取:https://pan.baidu.com/s/1dNzrVkpsXtO7uXyrMxADhA?pwd=6611