首页 > 其他分享 >【论文阅读】Co-Occ: Coupling Explicit Feature Fusion With Volume Rendering Regularization for Multi-Modal

【论文阅读】Co-Occ: Coupling Explicit Feature Fusion With Volume Rendering Regularization for Multi-Modal

时间:2024-06-20 12:30:41浏览次数:10  
标签:模态 Regularization Co NN Multi LiDAR num key query

在这里插入图片描述
论文:https://arxiv.org/pdf/2404.04561v1
代码:https://github.com/Rorisis/Co-Occ?tab=readme-ov-file

Q: 这篇论文试图解决什么问题?

A: 这篇论文提出了一个名为Co-Occ的多模态3D语义占据预测框架,旨在解决自动驾驶领域中的3D语义占据预测问题。具体来说,它关注以下几个挑战:

模态异质性:不同传感器(如激光雷达(LiDAR)和摄像头)捕获的数据类型不同,导致数据融合困难。

模态不对齐:由于传感器之间的外部校准不准确,2D图像特征到3D空间的映射可能不精确。

模态交互不足:现有方法在融合不同模态数据时,可能无法充分利用两种模态的互补信息,导致重要的几何和语义信息丢失。

为了解决这些问题,Co-Occ框架结合了显式的LiDAR-摄像头特征融合和隐式的体积渲染正则化。关键思想是在特征空间中通过体积渲染桥接3D LiDAR扫描和2D图像之间的差距,同时作为物理正则化来增强LiDAR-摄像头融合的体积表示。

具体来说,Co-Occ框架包括以下几个关键组件:

几何和语义感知融合(GSFusion)模块:通过K最近邻(KNN)搜索显式地增强LiDAR特征,并通过KNN门操作选择相关的摄像头特征。

隐式体积渲染正则化:通过从摄像头发射光线并在场景中均匀采样,以及使用辅助头预测样本的密度和颜色,将颜色和深度投影回2D图像平面,并由摄像头输入图像和LiDAR派生深度图进行监督。

在这里插入图片描述

Q: 论文如何解决这个问题?

A: 论文提出了一个名为Co-Occ的多模态3D语义占据预测框架,通过以下几个关键组件和步骤来解决上述问题:

几何和语义感知融合(GSFusion)模块:

使用K最近邻(KNN)搜索在几何对齐的体素空间中找到与给定LiDAR坐标相邻的摄像头特征。

通过一个可学习的KNN门操作来获取每个LiDAR特征的语义权重,并将这些权重与LiDAR特征进行融合,以显式地增强LiDAR特征。
在这里插入图片描述

def fps_NN_fast(self, query, key, fps_num, radius, max_cluster_samples, dist_thresh, num):
    """Efficient NN search for huge amounts of query and key (suppose queries are redundant)
    
        Behavior:
        1. apply FPS on query and generate representative queries (repr_query)
        2. calculate repr_queries' distances with all keys, and get the NN key
        3. apply ball query to assign the same NN key with the group center 

    """
    # 根据 num 初始化 query_NN_key_idx
    if num == 1:
        query_NN_key_idx = torch.zeros_like(query[:, 0]).long() - 1
    else:
        query_NN_key_idx = (torch.zeros_like(query[:, 0]).long() - 1).repeat(num, 1)
    
    # 移除第一列并增加维度
    query = query[:, 1:].unsqueeze(0)
    key = key[:, 1:].unsqueeze(0)

    if num == 1:
        # 如果查询点数小于等于 fps_num
        if query.shape[1] <= fps_num:
            dist = torch.norm(query.float().unsqueeze(2) - key.float().unsqueeze(1), p=2, dim=-1)
            val, NN_key_idx = dist.squeeze(0).min(-1)
            valid_mask = val < dist_thresh
            query_NN_key_idx[valid_mask] = NN_key_idx[valid_mask]
            return query_NN_key_idx
        else:
            # 使用FPS生成代表性查询
            repr_query_idx = furthest_point_sample(query.float().contiguous(), fps_num)
            repr_query = query[:, repr_query_idx[0].long(), :]
            dist = torch.norm(repr_query.float().unsqueeze(2) - key.float().unsqueeze(1), p=2, dim=-1)
            val, NN_key_idx = dist.squeeze(0).min(-1)
            valid_mask = val < dist_thresh

            # 使用球查询分配相同的最近邻键
            query_group_idx = ball_query(0, radius, max_cluster_

标签:模态,Regularization,Co,NN,Multi,LiDAR,num,key,query
From: https://blog.csdn.net/weixin_55982578/article/details/139823965

相关文章

  • 初识vs code之第一天
    初步创建一个放置代码的文件夹在vscode中选择打开文件夹选项,选中建立的文件夹确定即可在编辑器中选择文件夹右下方文件+号,接着输入所要创建的代码名称 设置编译模式:c_cpp_properties.json完成代码输入之后,鼠标在其代码界面,按CTRL+shift+p快捷键,在弹出的界面中选择:C/C++编辑配......
  • leetcode225用队列实现栈
    本文主要讲解用队列实现栈的要点与细节,按照步骤思考更方便理解,同类型用栈实现队列c++与java代码如下,末尾请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:voidpush(intx) 将元素x压入栈顶。intp......
  • Cocos-刚体-碰撞
    一、在CocosCreator或Cocos2d-x中,RigidBody 组件是用于物理模拟的,它允许物体在物理世界中受到重力、碰撞等因素的影响。RigidBody 组件有一个属性叫做 kinematic,这个属性的作用如下:1.运动控制:当 RigidBody 的 kinematic 属性设置为 true 时,物体将变为“运动学”模......
  • Windows中在commond如何设置系统环境变量
    最近测试项目中需要配置一个python环境用来发workjob,配置过程中有一个步骤需要增加系统变量:addtwosystemenvvarsforthetestapplicationbydifferentenvironments(dev/stg/prod):FORGE_TEST_CLIENT_IDFORGE_TEST_CLIENT_SECRET处理方法:1、查看已经设置了哪......
  • COMPX202 Android Studio
    NZUWI2024S_COMPX202Assignment3:AndroidStudio(Weighting:20%)Duedate:Friday21stJune2024at23:59Submissioninstruction:Asindicatedbelow,youmustworkwithaGitrepositoryanduploadyourworkontheuniversity’sGitLabserver.Youalsonee......
  • api-ms-win-shcore-scaling-l1-1-1.dll解析及缺失解决策略:确保Windows高DPI显示正常
    api-ms-win-shcore-scaling-l1-1-1.dll是Windows操作系统中的一个API接口库文件,属于WindowsShellCommonDLLs(Shell核心动态链接库)的一部分。这个特定的DLL文件与Windows的高DPI(每英寸点数)缩放功能紧密相关,支持应用程序在不同分辨率和缩放设置下正确显示界面元素,确保UI的清晰......
  • 基于Halcon开发的类似VIDI的通用深度学习软件
    基于Halcon开发的类似康耐视VIDI的通用深度学习软件基于Halcon20.11+QT5.12+VS2017开发,目标检测,语义分割和图片分类都已经工具化并且可可根据项目需要任意配置,各个深度学习工具的标注,训练,数据集,图片集,模型参数,结果筛选等等都已完成,并已实际应用于工业外观检测项目。和康耐......
  • rebindMultiA:一款功能强大的多重A记录重绑定攻击测试工具
    关于rebindMultiArebindMultiA是一款功能强大的多重A记录重绑定攻击测试工具,该工具可以帮助广大研究人员通过针对目标域名执行多重A记录重绑定攻击,来测试目标域名或地址的安全情况。工具提供了一个rebindmultia.com域名,用来帮助广大研究人员使用该工具来进行测试实践。它会......
  • 【Power Compiler手册】9.时钟门控(3时钟门控风格)
    时钟门控风格PowerCompiler工具根据您指定的风格在设计中插入时钟门控单元。当没有指定时钟门控风格时,工具会使用一组预定义的风格用于时钟门控。set_clock_gating_style命令的默认设置适用于大多数设计。以下部分将详细讨论默认时钟门控风格和使用特定时钟门控风格:•......
  • 【Power Compiler手册】9.时钟门控(2)
    指定时钟门控延迟在综合过程中,DesignCompiler假设时钟是理想的。理想时钟在时钟网络中不产生任何延迟。这种假设是因为直到时钟树综合之后,实际的时钟网络延迟才为人所知。实际上,时钟并不是理想的,并且通过时钟网络存在非零延迟。对于具有时钟门控的设计,寄存器处的时钟网络延......