点云BEV预处理的cuda代码实现

这篇博客详细介绍了如何使用CUDA进行点云鸟瞰视图(BEV)的预处理,包括五个关键文件的分工:预处理头文件、参数头文件、CUDA核函数头文件、CUDA核函数实现及cpp函数实现。
摘要由CSDN通过智能技术生成

点云BEV投影cuda代码实现

点云bev代码实现

在做点云项目中,会用到常见的BEV方式,在部署中需要用c++去实现,下面对于点云bev预处理的cuda实现,贴出了详细代码。对于点云体素化同样可以参照这个方式去实现。
耗时:约在0.01ms。

主要是分为五个文件:

  • 预处理头文件
  • 参数头文件
  • cuda核函数头文件
  • cuda核函数实现
  • cpp函数实现
#ifndef PREPROCESS_H_
#define PREPROCESS_H_

#include "kernel.h"

class PreProcessCuda
{
   
private:
    Params params_;
    cudaStream_t stream_ = 0;
    unsigned int *mask_;

public:
    PreProcessCuda();
    ~PreProcessCuda();

    void generateBevProjection(float *points, size_t points_size, float *bevimage);
};

#endif
#ifndef _PARAMS_H_
#define _PARAMS_H_

class Params
{
   

public:
    static const int num_classes = 6;
    const float min_x_range = 0.0;
    const float max_x_range = 46.08;
    const float min_y_range = -11.52;
    const float max_y_range = 11.52;
    const float min_z_range = -3.0;
    const float max_z_range = 1.1;
    // the size of a voxel
    const float voxel_x_size = 0.04;
    const float voxel_y_size = 0.02;
    // the input size of the 2D backbone network
    const int grid_x_size = (max_x_range - min_x_range) / voxel_x_size;
    const int grid_y_size = (max_y_range - min_y_range) / voxel_y_size;
    // the output size of thr backbone network
    const int feature_x_size = grid_x_size / 8;
    const int feature_y_size = grid_y_size / 8;
    const float z_value_min = -2.0;
    const float z_value_max = 1.5;
    const int i_value_min = 0;
    const int i_value_max = 128;
    const int r_value_min = 0;
    const int r_value_max= 32768;
    Params(/* args */) {
   };
};


#endif
#ifndef _KERNEL_H_
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ywfwyht

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值