【DSW Gallery】基于EasyCV的BEVFormer 3D检测示例

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: EasyCV是基于Pytorch,以自监督学习和Transformer技术为核心的 all-in-one 视觉算法建模工具,并包含图像分类,度量学习,目标检测,姿态识别等视觉任务的SOTA算法。本文将以BEVFormer 3D检测为例,为您介绍如何在PAI-DSW中使用EasyCV。

直接使用

请打开基于基于EasyCV的BEVFormer 3D检测示例,并点击右上角 “ 在DSW中打开” 。

image.png

EasyCV BEVFormer 3D检测示例

  BEVFormer是一种纯视觉的自动驾驶感知算法,通过融合环视相机图像的空间和时序特征显式的生成具有强表征能力的BEV特征,并应用于下游3D检测、分割等任务,取得了SOTA的结果。我们在EasyCV开源框架中,对BEVFomer算法进行集成,并从训练速度、算法收敛速度角度对代码进行了一些优化。

  本文将介绍如何在pai-dsw基于EasyCV快速使用BEVFormer进行3D检测模型模型的训练、推理。

运行环境要求

GPU机型 A100 80G,CUDA >= 11.1

推荐使用dsw官方镜像 modelscope:tf1.15torch1.11-gpu-py37-ubuntu20.04

安装依赖包

1、安装EasyCV算法包

! echo y | pip uninstall pai-easycv && wget https://github.com/alibaba/EasyCV/archive/refs/heads/master.zip && pip install master.zip

2、安装libturbojpeg及依赖用于数据读取加速

! apt-get update
! apt-get install libturbojpeg
! pip install -U git+https://github.com/lilohuang/PyTurboJPEG.git

NuScenes 3D检测模型训练

下面介绍如何利用NuScenes数据,使用BEVFormer模型进行3D检测模型的训练评估、模型预测

数据准备

下载mini-NuScenes数据,并解压

! wget http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/modelzoo/detection3d/nuscenes-v1.0-mini.tar.gz && tar -xf nuscenes-v1.0-mini.tar.gz

下载并调整配置文件

下载训练配置文件,为了节省训练时间,对参数进行一些调整

# 修改data_root
data_root = '/mnt/workspace/nuscenes-v1.0-mini/'
# 导入预训练模型,确保模型精度
load_from = 'http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/modelzoo/detection3d/bevformer/v2/epoch_24.pth'
# 修改epoch数目,节省训练时间
total_epochs = 1
! rm -f bevformer_base_r101_dcn_nuscenes.py
! wget https://raw.githubusercontent.com/alibaba/EasyCV/master/configs/detection3d/bevformer/bevformer_base_r101_dcn_nuscenes.py

训练模型

使用单卡gpu进行训练和验证集评估,为了快速跑通,设置epoch为1。

! python -m easycv.tools.train  bevformer_base_r101_dcn_nuscenes.py --work_dir work_dirs/detection3d/bevformer

预测

# 查看训练产生的pt文件,并准备测试文件
! ls  work_dirs/detection3d/bevformer/*
! cd nuscenes-v1.0-mini

导入模型权重和config,并预测测试数据进行预测

import torch
import mmcv
from easycv.predictors import BEVFormerPredictor
predictor = BEVFormerPredictor(
    model_path='../work_dirs/detection3d/bevformer/epoch_1.pth',
    config_file='../bevformer_base_r101_dcn_nuscenes.py',
)
inputs = mmcv.load('nuscenes_infos_temporal_val.pkl')['infos'][:1]
predict_results = predictor(inputs)
print(predict_results)


相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
消息中间件 运维 算法
【DSW Gallery】IsolationForest算法解决异常检测问题
IsolationForest 是一种无监督的异常检测算法, 用于对无 label 的数据进行异常检测,并且支持将 IsolationForest 模型部署成一个流服务,用来对实时数据进行异常检测。该 Demo 将介绍如何在 DSW 中使用 IsolationForest 算法解决异常检测问题。
【DSW Gallery】IsolationForest算法解决异常检测问题
|
算法 PyTorch 算法框架/工具
【DSW Gallery】基于EasyCV的视频分类示例
EasyCV是基于Pytorch,以自监督学习和Transformer技术为核心的 all-in-one 视觉算法建模工具,并包含图像分类,度量学习,目标检测,姿态识别等视觉任务的SOTA算法。本文以视频分类为例,为您介绍如何在PAI-DSW中使用EasyCV。
【DSW Gallery】基于EasyCV的视频分类示例
|
机器学习/深度学习 并行计算 数据可视化
【DSW Gallery】EasyCV-基于关键点的视频分类示例
EasyCV是基于Pytorch,以自监督学习和Transformer技术为核心的 all-in-one 视觉算法建模工具,并包含图像分类,度量学习,目标检测,姿态识别等视觉任务的SOTA算法。本文以基于关键点的视频分类为例,为您介绍如何在PAI-DSW中使用EasyCV。
【DSW Gallery】EasyCV-基于关键点的视频分类示例
|
人工智能 并行计算 算法
【DSW Gallery】基于MOCOV2的自监督学习示例
EasyCV是基于Pytorch,以自监督学习和Transformer技术为核心的 all-in-one 视觉算法建模工具,并包含图像分类,度量学习,目标检测,姿态识别等视觉任务的SOTA算法。本文以自监督学习-MOCO为例,为您介绍如何在PAI-DSW中使用EasyCV。
【DSW Gallery】基于MOCOV2的自监督学习示例
|
文字识别 并行计算 算法
【DSW Gallery】基于EasyCV的文字识别示例
EasyCV是基于Pytorch,以自监督学习和Transformer技术为核心的 all-in-one 视觉算法建模工具,并包含图像分类,度量学习,目标检测,姿态识别等视觉任务的SOTA算法。本文以文字识别为例,为您介绍如何在PAI-DSW中使用EasyCV。
【DSW Gallery】基于EasyCV的文字识别示例
|
消息中间件 运维 算法
【DSW Gallery】OneClassSVM 算法解决异常检测问题
OneClassSVM 是一种无监督的异常检测算法, 用于对无 label 的数据进行异常检测,并且支持将 OneClassSVM 模型部署成一个流服务,用来对实时数据进行异常检测。该D emo 将介绍如何在 DSW 中使用 OneClassSVM 算法解决异常检测问题。
【DSW Gallery】OneClassSVM 算法解决异常检测问题
|
机器学习/深度学习 算法
【DSW Gallery】如何使用EasyRec训练DeepFM模型
本文基于EasyRec 0.4.7 展示了如何使用EasyRec快速的训练一个DeepFM模型
【DSW Gallery】如何使用EasyRec训练DeepFM模型
|
缓存 自然语言处理 Shell
【DSW Gallery】基于CK-BERT的中文序列标注
EasyNLP提供多种模型的训练及预测功能,旨在帮助自然语言开发者方便快捷地构建模型并应用于生产。本文以序列标注(命名实体识别)为例,为您介绍如何在PAI-DSW中使用EasyNLP。
【DSW Gallery】基于CK-BERT的中文序列标注
|
算法 PyTorch 算法框架/工具
【DSW Gallery】基于EasyCV的STDC图像语义分割示例
EasyCV是基于Pytorch,以自监督学习和Transformer技术为核心的 all-in-one 视觉算法建模工具,并包含图像分类,度量学习,目标检测,姿态识别等视觉任务的SOTA算法。本文将为您介绍如何在PAI-DSW中使用EasyCV训练轻量化语义分割模型STDC
【DSW Gallery】基于EasyCV的STDC图像语义分割示例
|
算法 PyTorch 算法框架/工具
【DSW Gallery】基于YOLOX模型和iTAG标注数据的图像检测示例
EasyCV是基于Pytorch,以自监督学习和Transformer技术为核心的 all-in-one 视觉算法建模工具,并包含图像分类,度量学习,目标检测,姿态识别等视觉任务的SOTA算法。本文将为您介绍如何在PAI-DSW中使用EasyCV和PAI-iTAG标注的检测数据训练YOLOX模型。
【DSW Gallery】基于YOLOX模型和iTAG标注数据的图像检测示例

热门文章

最新文章