基于YOLO的智能识别违规行为系统#AI夏令营 #Datawhale #夏令营

本实验基于YOLO模型,希望通过对视频进行分析来自动识别出城市管理中的违规行为,其数据集标注文件为JSON格式,并输出对应指标。

1.跑通baseline

准备工作和环境构建

Datawhale夏令营中提供有详细的文档指导:Datawhale (linklearner.com)

按照文档中的指令可以快速跑通baseline

Step1:下载相关库

为了顺利的使用YOLO模型,需要安装一些必要的python库。在jupyter中执行

!/opt/miniconda/bin/pip install opencv-python pandas matplotlib ultralytics

Step2:导入相关库

后续代码实现需要

import os, sys
import cv2, glob, json
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

Step3:读取解压下载训练集视频

!apt install zip unzip -y
!apt install unar -y

!wget "https://comp-public-prod.obs.cn-east-3.myhuaweicloud.com/dataset/2024/%E8%AE%AD%E7%BB%83%E9%9B%86%28%E6%9C%89%E6%A0%87%E6%B3%A8%E7%AC%AC%E4%B8%80%E6%89%B9%29.zip?AccessKeyId=583AINLNMLDRFK7CC1YM&Expires=1739168844&Signature=9iONBSJORCS8UNr2m/VZnc7yYno%3D" -O 训练集\(有标注第一批\).zip
!unar -q 训练集\(有标注第一批\).zip

!wget "https://comp-public-prod.obs.cn-east-3.myhuaweicloud.com/dataset/2024/%E6%B5%8B%E8%AF%95%E9%9B%86.zip?AccessKeyId=583AINLNMLDRFK7CC1YM&Expires=1739168909&Signature=CRsB54VqOtrzIdUHC3ay0l2ZGNw%3D" -O 测试集.zip
!unar -q 测试集.zip

等着就行,下完之后文件中会出现相对应的文件夹。

Step4:数据调取和读取

我们需要有代码来读取JSON文件,这些文件中包含我们需要使用的训练集和测试集的数据。

train_anno = json.load(open('训练集(有标注第一批)/标注/45.json', encoding='utf-8'))
train_anno[0], len(train_anno)

pd.read_json('训练集(有标注第一批)/标注/45.json')

video_path = '训练集(有标注第一批)/视频/45.mp4'
cap = cv2.VideoCapture(video_path)
while True:
    # 读取下一帧
    ret, frame = cap.read()
    if not ret:
        break
    break    

frame.shape

int(cap.get(cv2.CAP_PROP_FRAME_COUNT))

-------------------------------
bbox = [746, 494, 988, 786]

pt1 = (bbox[0], bbox[1])
pt2 = (bbox[2], bbox[3])

color = (0, 255, 0) 
thickness = 2  # 线条粗细

cv2.rectangle(frame, pt1, pt2, color, thickness)

frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
plt.imshow(frame)

Step5:数据转换

对数据进行处理和转换之后,才能使用模型对数据做出反应。需要将数据转换成模型能够识别的形式。

Step6:设置模型版本集参数,开始训练


from ultralytics import YOLO
model = YOLO("yolov8n.pt")
results = model.train(data="yolo-dataset/yolo.yaml", epochs=2, imgsz=1080, batch=16)

Step7:结果保存

将结果保存入result文档,并将其压缩成zip.

-------------------------------------------------------------------------------------------------

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于yolo算法的火灾识别系统是一种通过深度学习技术实现的自动化火灾识别系统yolo算法是一种目标检测算法,能够实时准确地检测图像中的火灾目标。 这个系统的工作原理如下:首先,通过采集大量的火灾图像数据进行训练,以使yolo算法具备识别火灾的能力。训练的过程中,系统会提取图像中与火灾相关的特征,并将这些特征与对应的标签进行关联。 在识别过程中,系统会将输入的图像进行预处理,包括图像的分割、尺寸调整等操作。然后,算法会根据训练得到的模型,对输入图像进行目标检测,寻找其中的火灾目标。 识别结果将会通过界面展示给用户,包括火灾目标的位置、类别等信息。系统还可以提供实时监控功能,能够实时监测火灾的发生并触发相应的告警机制。 基于yolo算法的火灾识别系统具有以下优点:其一,算法具备实时性,能够在短时间内对图像进行处理和判断,快速发现火灾目标。其二,系统准确性高,能够有效区分火灾与其他物体,减少误报的可能性。其三,系统具备良好的可扩展性,可以根据需求自由扩展功能和优化算法。 总之,基于yolo算法的火灾识别系统是一种高效、准确、可扩展的自动化火灾识别方案。它在火灾安全领域具有广泛的应用前景,为减少火灾事故的发生提供了有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值