IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【三维目标检测】Complex-Yolov4详解(一): 数据处理 -> 正文阅读

[人工智能]【三维目标检测】Complex-Yolov4详解(一): 数据处理

????????前面分别介绍了基于点云的三维深度学习算法PointNet、PointNet++,和基于体素的三维深度学习算法VoxelNet。本节将开始介绍基于投影的三维深度学习算法Complex-Yolov4。三维投影算法主要思想是用激光雷达点云的鸟瞰图(BEV)和前视图(FV)作为模型输入,将三维点云转换为二维图片,早期工作开始于2017年的MV3D。

????????激光雷达点云的鸟瞰图和前视图的详细介绍请参考:点云鸟瞰图BEV原理与可视化_Coding的叶子的博客-CSDN博客详细理解雷达点云前视图(FV, Front View)_Coding的叶子的博客-CSDN博客

????????算法参考来源于Github上的Complex Yolov4,地址为:https://github.com/maudzung/Complex-YOLOv4-Pytorch。

1 数据目录结构

????????Complex-Yolov4的数据来源于KITTI数据集,其目录结构如下图所示。为了快速进行算法调试、训练、评估和验证,以及快速下载,我制作了一个mini kitti数据集,数据集的文件目录结构与完整KITTI数据集保持一致。其中,小型的KITTI数据集,即 mini kitti保存了20个训练样本和5个测试样本。下载地址为:minikitti数据集-深度学习文档类资源-CSDN下载,详细介绍请参考:KITTI数据集简介 — Mini KITTI_Coding的叶子的博客-CSDN博客https://blog.csdn.net/suiyingy/article/details/124820161。下载的数据包含4个部分,即激光雷达数据velodyne、图像数据image_2、校准数据calib和标注数据label_2。

????????除了Mini Kitti数据之外还需ImageSets和classes_names.txt。ImageSets文件夹中定义了训练、验证和测试样本的全部名称。ImageSets可以参考Complex-Yolov4自带的内容进行定义,需要与Mini Kitti保持一致,也可以直接下载,下载地址为:train_val_testforminikitti-深度学习文档类资源-CSDN下载。下载后将文件夹重名为ImageSets即可。

????????classes_names.txt存储了需要检测的目标类别,其默认内容如下图所示:

2 数据处理

????????(1)读取激光雷达数据Nx4、标签数据和校准数据。

????????(2)从标签中筛选出关注的标签,如Car,每个标签label长度为8,分别是x、y、z、h、w、l、ry,其中x、y、z和ry是相机坐标系中的取值。利用校准数据Calib,相机坐标系下的x、y、z和ry转换为雷达坐标系下的x、y、z和rz,具体原理和过程可以参考KITTI数据集简介(四) — 标定校准数据calib_Coding的叶子的博客-CSDN博客三维点云目标检测 — VoxelNet详解之数据处理 (二)_Coding的叶子的博客-CSDN博客两篇博客。注意到,VoxelNet代码和Complex-Yolo代码中关于坐标从相机坐标系变换到雷达坐标系的代码是不同的,VoxelNet参考代码中少了R0_rect的逆矩阵。将补充后的代码如下所示:

def camera_to_lidar(x, y, z, V2C=None, R0=None, P2=None):
????p = np.array([x, y, z, 1])
????if V2C is None or R0 is None:
????????p = np.matmul(cnf.R0_inv, p)
????????p = np.matmul(cnf.Tr_velo_to_cam_inv, p)
????else:
????????R0_i = np.zeros((4, 4))
????????R0_i[:3, :3] = R0
????????R0_i[3, 3] = 1
????????p = np.matmul(np.linalg.inv(R0_i), p)
????????p = np.matmul(inverse_rigid_trans(V2C), p)
????p = p[0:3]
return tuple(p)

????????(3)将标注参数投影到图像中,获得投影后的x、y、w、l,详细介绍同Voxelnet部分:三维点云目标检测 — VoxelNet详解之数据处理 (二)_Coding的叶子的博客-CSDN博客

????????(4)将x、y、w、l、rz转换成yolo格式,其中rz用欧拉公式转换为虚部(im)和实部(re)。这样最终真实标签target由8个维度组成,即batch_id、class_id、x、y、w、l、im、re

????????(5)删除指定范围之外的激光雷达数据:kitti_bev_utils.removePoints(lidarData, cnf.boundary)。

????????(6)获取鸟瞰图(BEV)rgb_map:由强度图intensityMap(608x608)、高度图heightMap(608x608)和密度图densityMap(608x608)共同组成3x608x608维度的鸟瞰图,类似于3通道的RGB图片。这也是该算法核心思想的体现。鸟瞰图详细介绍请参考:点云鸟瞰图BEV原理与可视化_Coding的叶子的博客-CSDN博客。本程序中xoy平面内的网格尺寸由Discretization参数决定,取值为(boundary["maxX"] - boundary["minX"]) / BEV_HEIGHT

????????(7)读取到的数据需要经过随机水平翻转或Cutout增强。

????????经过上述7个步骤,可以得到模型输出的数据包含img_file、rgb_map、targets。假设Batch Size大小为B。img_file存储了image_2中对应图片的路径列表,长度为B。Rgb_map为步骤(6)中的鸟瞰图,维度为Bx3X608x608。targets为真实标签,根据(4)中定义可以知道其维度为Mx8,M为目标总数量。

3 数据可视化

????????运行src/data_process目录下的kitti_dataloader.py文件,可以得到部分可视化结果,如下图所示。

4?python三维点云从基础到深度学习_Coding的叶子的博客-CSDN博客_python三维点云重建

更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-08 19:03:35  更:2022-06-08 19:04:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:28:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码