3天AI进阶实战营——多目标跟踪

Posted AI浩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3天AI进阶实战营——多目标跟踪相关的知识,希望对你有一定的参考价值。

文章目录

Day0

第一步:创建Notebook模型任务

**step1:**进入BML主页,点击立即使用

🔗:https://ai.baidu.com/bml/

**step2:**点击Notebook,创建“通用任务”

**step3:**填写任务信息。注意这里的信息要填写您所在的企业信息,即归属要选择公司,并输入您自身所在的公司全称。如果您还在上学,请输入学校全称。既不是企业员工也不是学生,归属才能选择个人。


第二步:下载数据集并解压

操作模板下载链接:https://aistudio.baidu.com/aistudio/datasetdetail/129626

1.点击创建好的notebook任务右侧的配置

  • 开发语言:Python3.7
  • AI框架:PaddlePaddle2.0.0
  • 资源规格:GPU V100(限时免费,注意时间)

2.启动运行并打开

3.上传下载的操作模板,上传后点击打开,然后运行第一步下载数据集

运行结束的显示如下图

4.下载完成后运行第二步解压数据集

因为解压时显示的内容较长,翻页不方便,可以点击此处进行折叠

解压完成的显示如下图

Day1

1.打开Notebook

2.在第三步下方的代码框里复制粘贴安装PaddleDetection的代码,然后运行。如果出现unable to access说明网不好,可以重新运行或者切换网络

下载PaddleDetection的代码:

!git clone https://github.com/PaddlePaddle/PaddleDetection.git -b develop

3.安装完成后,点击+Code新增代码框,复制粘贴升级PaddlePaddle的代码,然后运行

升级PaddlePaddle的代码:

!python -m pip install paddlepaddle-gpu==2.1.3.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

4.升级完成后,再次点击+Code,复制粘贴安装环境依赖的代码,然后运行

安装环境依赖的代码:

%cd /home/work/PaddleDetection

!pip install -r requirements.txt

5.以上任务完成后记得保存并停止运行Notebook,避免浪费免费算力资源

记得截图最后一步操作界面发送至群中完成打卡

打卡截图示例:

Day2

今日的任务是模型训练与评估,有两种方法,请务必把两种方法都了解之后选择其中一种进行操作。

方法一:

1.启动运行并打开Notebook

2.重新升级PaddlePpaddle,仅需把原本代码中的2.1.3改为2.2.2,然后重新运行即可**
**

修改后代码:

!python -m pip install paddlepaddle-gpu==2.2.2.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

运行完成页面如下图

3.重新安装环境依赖,注意,每次重新启动打开Notebook都需要重新安装环境依赖

运行完成页面如下图

4.配置文件路径

点开PaddleDetection-dataset-mot文件夹,然后右键自行新建两个文件夹,分别命名为:image_lists和visdrone_mcmot_vehicle

然后点开数据集文件夹(visdrone_mcmot_vehicle),把visdrone_mcmot_vehicle.train和visdrone_mcmot_vehicle.val两个文件复制到刚刚创建的PaddleDetection-dataset-mot-image_lists中,再把数据集文件夹中剩下的六个文件复制(剪切)到刚刚创建的visdrone_mcmot_vehicle中

5.模型训练

代码:!python -m paddle.distributed.launch --log_dir=./mcfairmot_dla34_30e_1088x608_visdrone_vehicle/ --gpus 0 tools/train.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker.yml

因为训练的是全量数据,所以训练时间可能会较长,可以自行查看每段运行代码的后半部分,eta:后面的时间即为剩余训练时长,如较长可选择方法二

运行完成页面如下图:

6.模型评估

代码:!CUDA_VISIBLE_DEVICES=0 python tools/eval_mot.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle.yml -o weights=output/mcfairmot_dla34_30e_1088x608_visdrone_vehicle/model_final.pdparams

运行完成页面如下图:

方法二:

方法二是把PaddleDetection更换为已经整理好代码文件的版本,因此不用配置数据集路径,比方法一简单一些。

可以创建一个新的Notebook任务(创建方法见day0操作教程前半部分),然后从本方法的第三步开始操作。

也可以不创建新的Notebook任务,从本方法的第一步开始做。但是需要先删除之前下载好的PaddleDetection和数据集,否则影响操作。

1.启动运行并打开Notebook

2.文件-新建启动页-Notebook

自行点击+Code添加代码框,想要添加注释可以自行点击+Markdown

3.升级PaddlePpaddle

升级代码:

!python -m pip install paddlepaddle-gpu==2.2.2.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

运行完成页面如下图:

4.下载新的PaddleDetection文件,上传压缩包至Notebook

下载链接:https://aistudio.baidu.com/aistudio/datasetdetail/128844

5.解压PaddleDetection

解压代码:!unzip /home/work/PaddleDetection.zip

运行完成页面如下图

6.安装环境依赖:

代码:%cd /home/work/PaddleDetection

!pip install -r requirements.txt

运行完成页面如下图:

7.模型训练

代码:

!python -m paddle.distributed.launch --log_dir=./mcfairmot_dla34_30e_1088x608_visdrone_vehicle/ --gpus 0 tools/train.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle.yml

因为这个PaddleDetection是整理过的,数据量较小,epoch(训练轮数)也较小,所以训练时间较短。(相应的,精度可能比不上方法一)

运行完成页面如下图:

8.模型评估

代码:!CUDA_VISIBLE_DEVICES=0 python tools/eval_mot.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle.yml -o weights=output/mcfairmot_dla34_30e_1088x608_visdrone_vehicle/model_final.pdparams

运行完成页面如下图:

————————分割线——————————

完成后记得停止运行Notebook,避免浪费免费算力

记得截图最后一步完成打卡哦~

打卡截图示例:

Day3

1.启动运行并打开Notebook

2.重新升级PaddlePpaddle2.2.2,注意,每次重新启动打开Notebook都需要重新升级PaddlePpaddle2.2.2

运行完成页面如下图

3.重新安装环境依赖,注意,每次重新启动打开Notebook都需要重新安装环境依赖

运行完成页面如下图

4.模型预测,预测完成后的视频文件在PaddleDetection/output/mot_results/visdrone_demo.txt,可以自行下载查看

昨天用了方法一,预测代码:!CUDA_VISIBLE_DEVICES=0 python tools/infer_mot.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker.yml -o weights=output/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker/model_final.pdparams --video_file=visdrone_demo.mp4 --frame_rate=20 --save_videos

昨天用了方法二,预测代码:

!CUDA_VISIBLE_DEVICES=0 python tools/infer_mot.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle.yml -o weights=output/mcfairmot_dla34_30e_1088x608_visdrone_vehicle/model_final.pdparams --video_file=visdrone_demo.mp4 --frame_rate=20 --save_videos

运行完成后结果页面如下:

5.模型导出

昨天用了方法一,导出代码:!CUDA_VISIBLE_DEVICES=0 python tools/export_model.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker.yml -o weights=output/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker/model_final.pdparams

昨天用了方法二,导出代码:

!CUDA_VISIBLE_DEVICES=0 python tools/export_model.py -c configs/mot/mcfairmot/mcfairmot_dla34_30e_1088x608_visdrone_vehicle.yml -o weights=output/mcfairmot_dla34_30e_1088x608_visdrone_vehicle/model_final.pdparams

6.模型推理

昨天用了方法一,推理代码:!CUDA_VISIBLE_DEVICES=0 python deploy/pptracking/python/mot_jde_infer.py --model_dir=output_inference/mcfairmot_dla34_30e_1088x608_visdrone_vehicle_bytetracker/ --video_file=visdrone_demo.mp4 --device=GPU --save_mot_txts

昨天用了方法一,推理代码:

!CUDA_VISIBLE_DEVICES=0 python deploy/pptracking/python/mot_jde_infer.py --model_dir=output_inference/mcfairmot_dla34_30e_1088x608_visdrone_vehicle/ --video_file=visdrone_demo.mp4 --device=GPU --save_mot_txts

运行完成后结果界面如下:

记得截图最后一步完成打卡哦~

打卡截图示例:

以上是关于3天AI进阶实战营——多目标跟踪的主要内容,如果未能解决你的问题,请参考以下文章

3天AI进阶实战营——多目标跟踪

记录:百度3天AI进阶实战营——车牌识别

AI进阶实战营——骨骼点动作识别

AI进阶实战营——骨骼点动作识别

百度AI进阶实战营第九期:机械手抓取

OpenMMlab AI实战营 打卡笔记DAY4