saltsatck学习笔记之pillar小技巧

        Grains和Pillar作为saltstack两大数据系统,如何灵活使用是重点也是难点。初学上手很头疼。这里写一个小技巧。

        很多时候写了很多,参考了N多文档,最后一跑,失败。。这里说明一下saltstack同步命令

        Grains:Minion启动时收集,也可以使用salt '*' saltutil.sync_grains进行刷新

        Pillar:在Master端定义,指定给对应的Minion。可以使用salt '*' saltutil.refresh_pillar刷新

        在pillar目录下写一个变量,首先刷新推送变量。然后salt '*' pillar.get $a ,如果可以取得想要的值说明写的正确,如果获取不到就是失败。

        一直匹配内核版本失败,也没查到相关信息。有懂的请指点下。^_^

    

    转义加和不加都是失败。。。。。。。

### Pillar BEV 数据结构在自动驾驶中的应用 #### 网格化划分与Pillars定义 对于BEV(鸟瞰图)视角下的点云处理,一种常见的方法是对BEV视角下的点云进行网格化划分。具体来说,使用L和W分别表示两个水平方向上的网格数量,从而获得\( L \times W \)个Pillars(立柱)。这种做法仅在x-y平面上进行了分割,在z轴上保持原始分辨率,因此形成的结构类似于垂直的立柱[^3]。 #### Point Cloud to Pillars转换过程 当接收到LiDAR或其他三维传感器产生的点云数据时,这些离散的数据点会被映射到预先设定好的二维网格中。每一个grid cell内的所有点被聚合起来作为一个单独的pillar对象。此过程中不仅保留了重要的高度信息,还能够有效减少后续处理阶段所需面对的数据量。 #### 应用于目标检测和其他感知任务 采用这样的数据表示形式有助于提高模型效率并增强其鲁棒性。例如,在基于深度学习的目标检测算法里,输入特征可以由各个pillars内部统计特性构成;而在跟踪或者场景理解方面,则可以通过分析连续帧间相同位置处pilalrs的变化情况来获取动态信息。 ```python def point_cloud_to_pillars(points, grid_size=(100, 100), pillar_height=8): """ 将点云转化为Pillars 参数: points (numpy.ndarray): 输入点云数据集. grid_size (tuple): 定义BEV平面内横向纵向栅格数目. pillar_height (float): 单位支柱的高度范围. 返回值: pillars_data (list of lists): 转换后的Pillars列表. """ # 初始化空字典存储每个cell对应的points集合 cells = {} for p in points: idx_x = int((p[0]+50)/100 * grid_size[0]) idx_y = int((p[1]+50)/100 * grid_size[1]) if not ((idx_x >= 0 and idx_x < grid_size[0]) and (idx_y >= 0 and idx_y < grid_size[1])): continue key = f"{idx_x}_{idx_y}" if key not in cells: cells[key] = [] cells[key].append(p) # 构建最终的pillars list pillars_data = [[key.split('_'), value] for key,value in cells.items()] return pillars_data ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值