DataWhale AI夏令营 Task1 baseline

DataWhale AI夏令营 Task1


前言

本系列文章将记录参加Datawhale夏令营学习过程中的一些心得和想法,以及自己对赛题的理解。
在这里插入图片描述


一、Datawhale AI夏令营及比赛

一、赛题描述

随着城市化步伐的加速迈进,城市治理面临着前所未有的挑战与机遇。城市管理的精细化、智能化已成为全球城市追求卓越的关键路径。然而,机动车违停、非机动车违停、占道经营等城市违规行为如同现代都市肌体上的疮疤,不仅侵蚀着城市的美学与秩序,更对公众福祉构成了潜在威胁。传统的人力巡查与被动响应模式,已然无法匹配当今城市治理的需求。

本赛题最终目标是开发一套智能识别系统,能够自动检测和分类城市管理中的违规行为。该系统应利用先进的图像处理和计算机视觉技术,通过对摄像头捕获的视频进行分析,自动准确识别违规行为,并及时向管理部门发出告警,以实现更高效的城市管理。

二、赛题题目

城市管理违规行为智能识别

三、赛题任务

【初赛】

初赛任务是根据给定的城管视频监控数据集,进行城市违规行为的检测。违规行为主要包括垃圾桶满溢、机动车违停、非机动车违停等。

选手需要能够从视频中分析并标记出违规行为,提供违规行为发生的时间和位置信息。

【初赛审核】

阶段时间:9月13日-9月19日 前24名晋级复赛,如出现违规行为,则顺延晋级,由组委会确认晋级名单。

【复赛】

复赛任务是根据给定的城管视频监控数据集,进行城市违规行为的检测。违规行为主要包括违法经营、垃圾桶满溢、机动车违停、非机动车违停等。

选手需要基于大赛提供的复赛环境,进行复赛模型构建与预测,同时复赛数据集对选手不可见。

【复赛审核】

阶段时间:9月18日-9月30日 前12名晋级决赛,如出现违规行为,则顺延晋级,由组委会确认晋级名单。

【决赛】

具体时间待定,决赛阶段采用线下或者线上答辩的方式(待定),晋级决赛队伍需要提前准备答辩PPT及相关支撑材料,评委将根据选手的初复赛及答辩表现进行综合评分,决定最终排名。

四、数据描述

训练集(有标注)

训练集(无标注)

测试集

【初赛】

初赛提供城管视频监控数据与对应违规行为标注。违规行为包括垃圾桶满溢、机动车违停、非机动车违停等。

视频数据为mp4格式,标注文件为json格式,每个视频对应一个json文件。

json文件的内容是每帧检测到的违规行为,包括以下字段:

frame_id:违规行为出现的帧编号
event_id:违规行为ID
category:违规行为类别
bbox:检测到的违规行为矩形框的坐标,[xmin,ymin,xmax,ymax]形式
标注示例如下:

[

{

  "frame_id": 20,

  "event_id": 1,

  "category": "机动车违停",

  "bbox": [200, 300, 280, 400]

},

{

  "frame_id": 20,

  "event_id": 2,

  "category": "机动车违停",

  "bbox": [600, 500, 720, 560]

},

{

  "frame_id": 30,

  "event_id": 3,

  "category": "垃圾桶满溢",

  "bbox": [400, 500, 600, 660]

}

]

违规行为示例如下:

垃圾桶满溢

在这里插入图片描述

机动车违停

在这里插入图片描述

非机动车违停

【复赛】

复赛提供城管视频监控数据与对应违规行为标注。违规行为包括违法经营、垃圾桶满溢、机动车违停、非机动车违停等。

数据与初赛数据格式相同,新增违法经营类别,行为示例如下:

在这里插入图片描述

违法经营

五、评估指标

【初赛】

使用F1score、MOTA指标来评估模型预测结果。

在这里插入图片描述
对每个json文件得到两个指标的加权求和,最终得分为所有文件得分取均值。

注1:若真实目标框与预测框IOU大于0.5,则判定目标正确识别。若MOTA指标为负,则该类别精度得分为0。

注2:若该视频中没有某个类别的目标,则此类别计算均值时,忽略该视频。

【复赛】

复赛需同时评估模型的准确度与效率。

模型准确率评估指标与初赛一致,使用F1score、MOTA进行评估。

模型效率使用FPS(每秒钟能够处理的帧数)等进行评估。

六、提交说明

【初赛】

选手需要生成result文件夹,文件夹中包含每个视频对应的json结果文件,文件名与视频名对应。选手需要将文件夹打包成result.zip进行上传。

json文件中包含了检测到的违规行为列表,若未检测到违规行为,则列表为空。

每个违规行为包含的字段如下:

frame_id:违规行为出现的帧编号
event_id:违规行为ID
category:违规行为类别
bbox:检测到的违规行为矩形框的坐标,[xmin,ymin,xmax,ymax]形式
confidence:置信度
提交的json示例如下:

[

{

  "frame_id": 20,

  "event_id": 1,

  "category": "机动车违停",

  "bbox": [200, 300, 280, 500],

  "confidence": 0.85

},

{

  "frame_id": 20,

  "event_id": 2,

  "category": "垃圾桶满溢",

  "bbox": [600, 500,720, 560],

  "confidence": 0.90

},

{

  "frame_id": 30,

  "event_id": 3,

  "category": "垃圾桶满溢",

  "bbox": [400, 500, 500, 560],

  "confidence": 0.78

}

]

注:赛题禁止对测试集数据进行人工标注,用于训练或结果提交。初赛审核阶段,会对此类情况严格审核,一经发现,即取消复赛晋级资格。

【复赛】

复赛与初赛的提交内容一致。

注:复赛阶段的训练集与测试集对选手不可见,选手在模型开发调试阶段时使用的数据是一部分样例数据,提交代码后,后台系统将自动使用复赛全量数据进行复现评测。

七、违法标准

【机动车违停】

机动车在设有禁止停车标志、标线的路段停车,或在非机动车道、人行横道、施工地段等禁止停车的地方停车。具体包含以下:

1、无论有无禁停标志,机动车道禁止车辆停放;

2、距路口、桥梁50米以内禁止车辆停放;

3、距公交车站、消防栓、消防队、医院30米以内禁止使用上述设施以外的车辆停放;

4、禁止车辆双排停放、靠左侧停放、横向停放、逆向停放;

5、人行道仅允许在已设置的停车泊位内停车,禁止在停车泊位外停车;

6、在设有禁停标志、标线的路段,人行横道、施工路段,不得停车。

【非机动车违停】

非机动车(如自行车、‌电动车等)‌未按照规定停放在指定的非机动车停车泊位或停车线内,‌而是在非机动车禁停区域或未划定的区域(消防通道、盲道、非机动车停车区线外、机动车停车区等)随意停放。

【垃圾满溢】

生活垃圾收集容器内垃圾超过三分之二以上即为满溢。‌垃圾桶无法封闭、脏污且周边有纸屑、污渍、塑料、生活垃圾及杂物堆放。

【占道经营】

经营者占用城市道路、桥梁、城市广场等公共场所进行盈利性买卖商品或服务的行为。

二、baseline代码解读

!/opt/miniconda/bin/pip install opencv-python pandas matplotlib ultralytics
import os, sys
import cv2, glob, json
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

第一行代码的作用是使用miniconda环境中的pip工具安装四个Python库:opencv-python、pandas、matplotlib和ultralytics,以供后续的Python项目使用。Ultralytics是用于快速、准确的对象检测、图像分割和分类任务的库,它是基于YOLO(You Only Look Once)算法的。

!:在Jupyter notebook中,这个符号用于指示接下来的行是一个shell命令,而不是Python代码。如果是在常规的终端或命令行界面中,通常不会使用这个符号。
/opt/miniconda/bin/pip:这是pip命令的路径。pip是Python的包管理器,用于安装和管理Python包。这里指定了pip的完整路径,表明使用的是位于/opt/miniconda目录下的miniconda环境中的pip。

数据下载

!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
  1. !apt install zip unzip -y:

    !:在某些编程环境(如Jupyter notebooks)中,这个符号用于指示接下来的行是一个shell命令。
    apt:这是Advanced Package Tool,是Debian和Ubuntu系统中用于处理软件包的工具。
    install:这是apt命令的一个子命令,用于安装软件包。
    zip 和 unzip:这两个是软件包名称,分别用于压缩和解压缩ZIP文件。
    y:这个选项告诉apt在安装过程中自动回答“yes”,即不需要用户交互确认。
    
  2. !wget

    !wget:wget命令,用于从网络上下载文件。
    URL:指定了要下载的文件的完整路径。
    -O:这是输出选项,指定下载的文件应该保存为本地文件训练集(有标注第一批).zip。
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值