- 自动驾驶算法与芯片设计
- 任建峰 蒋立源 余成文
- 496字
- 2022-08-16 16:48:22
2.4.2 点云预处理
首先将Velodyne HDL-64E激光扫描仪采集的单帧3D点云转换为一张鸟瞰RGB图像,它覆盖了正前方80m×40m的区域(如图2-2所示)。
![](https://epubservercos.yuewen.com/8CA78A/23950220201292606/epubprivate/OEBPS/Images/43643_42_2.jpg?sign=1739560146-8WrJXFRFJkVIUqAKr4HPcuOcwKBRBLBh-0-596cc89c0fbc2ec5497a63ad305e9a16)
图2-2 鸟瞰图[32]
受MV3D[28]的启发,点云的高度、强度和密度可以被编码组成RGB图像。网格图的大小被定义为n=1024,m=512。因此,将3D点云投影,并离散化为2D网格,其分辨率约为g=8cm。与MV3D相比,略微减小了像元的大小,以实现更小的量化误差,同时具有更高的输入分辨率。由于效率和性能方面的原因,这里仅使用一张而不是多张高度图。因此,针对覆盖区域Ω内的整个点云∈R3,计算所有三个特征通道(zr,zg,zb,zr,g,b∈Rm×n)。定义PΩ:
![](https://epubservercos.yuewen.com/8CA78A/23950220201292606/epubprivate/OEBPS/Images/43643_42_3.jpg?sign=1739560146-fQdlG68ifveISkcc38GO14AKOMODy01m-0-dd18fffa871e6b6361c640d9fea988af)
考虑到激光雷达的z的1.73m位置,应选择z∈[-2m,1.25m],以覆盖地面上方约3m高的区域,并以卡车为最高对象。再定义一个映射函数,其中S∈Rm×n,将每个索引为i的点映射到RGB映射图的特定网格单元Sj中。然后用一个集合描述映射到特定网格单元中的所有点:
,因此,可以将Velodyne强度视为I(PΩ)来计算每个像素的通道:
![](https://epubservercos.yuewen.com/8CA78A/23950220201292606/epubprivate/OEBPS/Images/43643_42_6.jpg?sign=1739560146-sDrmYp3P4s2tpAQsEXUvh5P8pCJYD8OG-0-7c6911a5805a07bc8307cce70ce6bba0)
![](https://epubservercos.yuewen.com/8CA78A/23950220201292606/epubprivate/OEBPS/Images/43643_43_1.jpg?sign=1739560146-x9EdyedcbeuTg1cKUUjluv9W4f7vsvJQ-0-b8c7c26664c6bb6c21928ce857d9a49d)
式中,N表示从PΩi映射到Sj的点数,而g是网格单元大小的参数。显然,zg编码表征了最大高度,zb编码表征了最大强度,zr编码表征了映射到Sj中的所有点的归一化密度。下面这段代码实现了点云预处理。
代码2-1 点云预处理
![](https://epubservercos.yuewen.com/8CA78A/23950220201292606/epubprivate/OEBPS/Images/43643_43_2.jpg?sign=1739560146-7zU3uA8G5TKytChTQ3Qq2VcruorejH9q-0-75b8980d1efead0875fef1ac990bd101)
![](https://epubservercos.yuewen.com/8CA78A/23950220201292606/epubprivate/OEBPS/Images/43643_44_1.jpg?sign=1739560146-BC903SjTx8UjClVApemBiK63qadBEBLP-0-3b05bfdb818345fb5e691b065e69aa81)