ICCV 2023

2023-11-04

本文转载自知乎@mywt,已获得作者授权。

文章链接:https://arxiv.org/abs/2211.14710

代码链接:

  1. (3DPPE on petrv1/v2) https://github.com/drilistbox/3DPPE
  2. (3DPPE on streampetr) https://github.com/FiveLu/stream3dppe

图1. 相机射线编码和3D点编码的示意

这里给大家分享一个我们刚中ICCV23的环视3D检测论文,3DPPE: 3D Point Positional Encoding for Multi-Camera 3D Object Detection Transformers。方法比较简洁,针对环视3D目标检测问题,基于优秀的PETR框架(说实话,petr以及streampetr是真好),分析了现有3D目标检测中位置编码的诸多区别,提出了一种新的3D点编码(图1.b),解决了之前射线编码(图1.a)缺乏细粒位置先验的问题,统一了图像特征和query的位置表征,在环视3D检测上实现了卓越性能。在最先进的petr v1/v2以及streampetr上都得到了提升,我们罗列了在经典的v2-99主干+800x320的分辨率下的效果(这个配置里的主干网在深度数据集上预训练过、并且小分辨率对训练的要求降低从而更亲民,适合做消融实验对比性能),具体提升效果如下。

图2. 在petrv1上

图3. 在petrv2上

图4. 在streampetr上

1. 方法简介

第一次看到PETR的时候,感叹作者的认知面的广泛,可以把类似于NERF中的思路迁移过来做3D检测,通过给每个单目2D图像特征赋予一个独立的含有3D信息的位置编码(如图1.a),实现在3D空间中交互索引2D图像特征。但是PETR中含有3D信息的位置编码的机理是什么,含有的3D信息又是啥,一开始还不是很确定,于是我们设计了一系列的实验,来探索3D目标检测中图像特征不同位置编码的影响。

1.1 位置编码的初步探索

这一小节我们想分析camera-ray PE、Lidar-ray PE、Oracle 3D Point PE的联系与区别,他们的简单示意如下图所示。

图5. 环视3D检测中常用的位置编码的卡通示意

(1) camera-ray编码

由于PETR中图像编码的构建用到了内外参,隐约的感觉到像是表征了雷达坐标系下,从相机光心到成像平面上不同像素点的射线信息。于是我们设计了如下的实验来证明PETR的位置编码就是相机射线编码。首先我们将PETR中图像位置编码的构建要素分解成3部分:1.深度bin的个数 �� ;2. 深度离散化的方式 �� ;3. 深度表示范围 �� 。具体实验结果如下表所示,可以看表1中的第2-4行,修改深度离散化的方式,检测效果变化不是很大,说明深度离散化方式对性能影响不大;再看表1中的第4-6行,修改深度感知范围,检测效果变化很小,说明深度感知范围对性能影响不大;在看表1中的最后2行,修改深度bin的个数,检测效果变化很小,说明深度bin的个数对性能影响不大。综上,我们可以感觉到,当这些深度点在相机射线(从光心->成像平面上的像素点)上滑动时,即便采样方式、采样点以及深度感知范围变化,模型的检测效果几乎不变。所以只要能图像位置编码能表针出相机射线信息,那么模型性能和原始的PETR相比几乎不变。因此,PETR的位置编码就是camera-ray编码(相机射线编码),并且我们还发现了最简练的3D camera-ray编码,只要2个在相机射线上的点,就可以表征出对应于PETR中等价的3D位置编码。

表1. 深度bin的个数、深度离散化的方式、深度表示范围对性能的影响

上面分析了camera-ray编码最低编码点数为2,如果点数降为1呢?这是个很有意思的事情,点数降为1时,能决定编码信息的因素就只剩下这个点的深度值怎么取,其实有2种取法:

  • 不正确的深度值(我们将其称为LiDAR-ray);
  • 准确的深度值(我们将其称为Oracle 3D Point);

(2) LiDAR-ray

为啥叫LiDAR-ray等这一小节分析结束后就知道了。我们将用数学建模以及实验证明了这一点。但为了方便理解,我们首先做两个铺垫知识准备:

1. 先定义LiDAR-ray,每个像素点对应的位置编码由1个点构建,且该点对应的深度值与物体实际深度无关。(其实我们猜测还有一个点是lidar坐标系的原点,但是由于是默认值,并且在构建位置编码时没有显式的用到,网络应该是学习到了雷达坐标系的原点(0,0,0))

图6. 相机射线编码和雷达射线编码的几何关系

2. 再先铺垫一个简单数学几何信息。如图6所示,我们构建了相机射线编码和雷达射线编码的几何关系。相应的,我们用余弦距离的差异来定义camera-ray和lidar-ray的差异:

公式1. camera-ray和lidar-ray的差异

可以看出,只要d越大,也就是雷达坐标系下的3D点离相机或者雷达越远,那相机射线编码和雷达射线编码就是等价的。


好了,基础知识构建结束。我们现在开始做实验,如表2所示,我们将深度值d依次取为0.2m/1m/15m/30m/60m,我们发现,d为0.2m或者1m时性能相比表1中的结果掉点较多;但是当d为15m/30m/60m时,检测性能与表1中的结果持平。

表2. LiDAR-ray下d值变化对性能的影响

从上面的实验现象,可以总结出:深度值d较小时性能较差、深度值较大时LiDAR-ray与Camera-ray性能持平。而且这个现象也与上面公式1的结论一致。所以大家知道为啥加Lidar-ray了吧,因为这个实验现象与我们前面数学建模的从雷达出发的射线的结论一致。并且与“camera-ray的性能不受深度值影响”的现象不同,Lidar-ray中的深度值d较小时性能较差、深度值较大时LiDAR-ray与Camera-ray性能持平

(3) Oracle 3D Point

和lidar-ray不同,Oracle 3D Point中的深度是通过把点云投射到成像平面上得到的,这样图像特征的每个点都可以得到精确的位置编码信息(由于点云的稀释性,许多像素点其实是没有得到投射后的深度信息的,这些像素点的特征就没有参与训练以及inference)。从表3可以看出,相比于之前的编码方式,这会NDS以及mAP得到了巨大的提升(6.7% NDS, 10.9% mAP, and 18.7% mATE)。由此可以说明,相比较于camera-ray以及lidar-ray中不精确的3D位置先验,拥有准确3D位置先验的位置编码才是3D检测性能提升的关键

表3. 不同位置编码对检测性能能力的影响

但是camera-based感知方案中,没有准确的深度信息,因此我们用了个简单的方法,通过单目深度估计来得到深度信息,具体可以参考下一节。

1.2 模型结构

我们所提方法的框架图如下图所示,由主干网、3D点生成器、3D点编码模块以及decoder构成。主干网以及decoder和之前的petr一样。我们着重说明下3D点生成器以及3D点编码模块这两部分。

图7. 框架图

1. 3D点生成器

3D点生成器包含深度预测头以及2D到3D的坐标转换模块。

深度预测头模型结构如下图所示,输入图像特征和相机参数,输出的深度值 ����� 为直接回归深度 �� +期望深度 �� 的加权和。

图8. 深度检测头

对应的深度值 �����为:

其中 � 是可学习的混合系数。在构建训练用的深度GT的时候,我们直接将点云投射到成像平面上,并得到一个对应的mask来指示哪些像素有深度GT、哪些没有,loss监督的时候只有有点云投射到的地方才有贡献。深度监督loss由smooth l1以及distribution focal loss(检测中用于修正bbox的loss,迁移至深度监督上发现效果也很好)构成:

2D到3D的坐标转换模块:得到深度估计后,利用相机内外参,可以将2.5D信息转换为3D信息。然后利用感知范围对齐归一化。

2. 3D点编码模块

这里和PETR里用的一样的正余弦编码:

区别在于之前PETR是沿着相机射线方法的64个点,我们现在是1个点。

图9. 相机射线编码和3D点编码的比较

并且在3D点编码的范式下,图像特征的位置编码和锚点的位置编码得到了统一,大家可以共享同一个编码器。

2 实验结果

2.1 和sota方法的比对

我们的方法在nus的验证集以及测试集上都取得了不错的结果。

表4. 在nus的验证集上

表5. 在nus的测试集上

2.2 深度估计质量对性能的影响

实验表明smooth-l1和dfl一起用效果最好。

表6. 深度估计损失函数对检测性能的影响

2.2 和其他3D position-aware Feature性能的对比

其实3D position-aware Feature是指可能含有3D位置信息的特征,而其中的位置编码可以分为Ray-aware以及Point-aware。其中Ray-aware又可分为camera-ray(PETR中的位置编码)以及Feature-guided(PETRv2中的位置编码),Point-aware可以分为topk-aware(按深度估计概率取置信度最高的k个bin)、Depth Feature-guided(PETRv2的位置编码中引入深度监督)、Depth-guided 3D point(我们提出的3D点编码)。上述5个编码的对比效果如下表所示:

表7. 不同3D position-aware Feature的性能对比

2.3 统一图像特征以及锚点的位置编码表征的好处

由于锚点也是3D点编码,实现形式上和我们提出的用于图像特征的3D点编码一致,都来自3D坐标空间,又都要隐射到高维编码空间进行交互。所以直观感觉是如果这个映射过程是一致的,那边编码表征空间同样一致,这样会更有利于query和图像特征的交互。于是我们对比了3D点编码器是否共享带来的性能差异,实验表明共享3D点编码器效果是最好的。

表8. 3D点编码生成器是否共享的性能差异

2.4 位置编码相似度分析

好的位置编码应该有更强的聚焦,也就是距离越近相似度越高,如果能语义越近相似度越高那更好。我们可视化了不同像素点之间位置编码的相似性,通过在前景、图像边缘以及背景上采点,可以看出,我们的3D点编码的相似度更好,更聚焦。

图10. 前景区域采点示意

图11. 跨图像目标采点示意

图12. 背景区域采点示意

3. 还有哪些坑可以去填

3.1 如何获得更好的3D位置信息

  1. 单目深度估计 -> 时序多帧+环视多目的Stereo depth
  2. 一定要有显式的深度估计或者监督吗?我们这个方法应该是第1个在PETR系列上引入深度估计的工作。但是要得到3D位置先验,到不一定要有显式的深度估计或者监督。抛开显示的深度估计或者抛开显示的深度监督,利用occ预训练或者nerf重建,来隐式的学习深度信息或者根号的几何结构信息。
  3. 利用知识蒸馏得到更好的深度估计。这个在我们论文中的未来改进中有所提及。

表6. Reusing the ground-truth depth for knowledge distillation.

3.2 扩展到Occ预测上

射线编码本身和Nerf就很相似,然后3D点编码的深度位置先验,一下子就找到了物体可能出现的位置,与nerf重建的思路很相似。

3.3 新的位置编码的探索

其实到目前为止,基于transformer范式的3D目标检测的编码范式探索的很少,即便是我们所提的3D点编码,其实也就等价于detr-based的2D检测器中的最原始的位置编码从图像像素层面升级到3D坐标层面。detr-based的2D检测器中许多位置编码设计的理念都可以结合3D任务的特性进行启发性的改进或创新。

3.4 内外参的泛化

现有绝大多数环视3D检测模型,内外参编码的话,模型都需要重训。除了特斯拉aiday提出的虚拟相机相关技术以及百度apollo ai day推出的内外参解耦,可以一定程度解决上面内外参变化模型就需要重训的问题。我们论文中提及的lidar-ray似乎也可以解决上述问题,不过这仅仅是灵光一现,还需要实验验证。

3.5 Nus上刷榜

现在不考虑未来帧,以vit-large为主干的streampetr的性能应该是最好的,但是这里的vit-large的模型结构应该做了微调,所以需要投入一定的时间去做这里的复现,感兴趣的小伙伴可以去尝试一下。

4. 写在最后:我们还在招聘实习生

公司简介:后摩智能,刚刚推出国内首款量产存算一体智驾芯片,最高物理算力256TOPS,典型功耗35W。

职位描述:

  1. 参与自动驾驶感知任务(不限于单目、环视、bev下的3D障碍物感知、3D车道线感知、局部建图、轨迹预测等)在端上芯片的适配,包括各个任务链条下的"数据建设-模型轻量化设计-量化及部署"全流程,目标是在无人小车上光滑实现相关感知模块功能。
  2. 参与chatgpt大模型以及多模态感知任务在垂直业务场景(工业异常检测、数据自动标注等)下的落地开发(优先南京)。
  3. 参与其他AI业务场景下的业务落地开发。
  4. 在完成业务工作的基础上,适时探索前沿技术并发表论文。

职位要求:

  1. 了解自驾场景需求,有相关2D/3D感知任务的基本认知。
  2. 了解常用多模态开放场景检测方法。
  3. 熟悉python/pytorch/C++等常用计算机语言,熟悉mmlab。
  4. (加分项)有相关项目经验,有cuda算子开发及加速优化经历,有完整的端上模型部署经历者优先。
  5. (加分项)有计算机视觉相关的顶会论文经验者优先。
  6. 工作地点:上海、南京、北京,211研究生以上学历,每周可实习4天以上。

薪资待遇:250元/天+餐补30元/天,9点后可打车报销

投递方式: 邮箱: changyong.shu89@gmail.com, 或者加我微信: drilistbox

希望有兴趣的同学一起参与进来,在这里你将从算法和工程两个维度上扩展个人的技能栈,发光发热。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ICCV 2023 的相关文章

  • 如何在 Matlab 中计算 3D 网格的投影

    我正在尝试使用 matlab 从不同视图计算 3d 网格的 2d 投影 我现在使用的解决方案是绘制 3D 网格 旋转它并制作屏幕截图 我想知道是否有任何 matlab 内部函数或任何其他解决方案允许我在给定一组顶点和三角形的情况下计算投影而
  • 在python opengl中使用图像中的2d点获取空间中的3d点

    我正在尝试模拟房间中的深度相机 我的相机能够在世界中移动和旋转 并且房间被模拟为围绕 0 0 0 的 3d 立方体 单击按钮时 我想对图像中的 N 个随机点进行采样 并获取这些点与相机的距离 现实世界 中的距离 到目前为止 我已经成功创建了
  • 如何让Three.js全屏显示?

    我想用 Three js 制作游戏 但如何使其全屏显示 我看见本文 http learningthreejs com blog 2011 11 17 lets make a 3d game make it fullscreen 并且我在代码
  • Python openAL 3D 声音

    我刚刚开始使用 python 正在制作音频操作程序 我正在尝试在我的 python 应用程序中使用 openAL 实现 3D 声音 但我只能让它工作 这是我的 3D 声音代码 from openal loaders import load
  • 计算 3D(或 n 维)质心的最佳方法是什么?

    作为工作项目的一部分 我必须计算 3D 空间中一组点的质心 现在我正在以一种看似简单但天真的方式来做这件事 通过取每组点的平均值 如下所示 centroid average x average y average z where x y a
  • 是否可以在 Netbeans 7.0 应用程序中使用 Jzy3D?

    好吧 我们正在尝试将 3D 散点图合并到 Netbeans 7 0 中的项目中 我们选择测试的库之一是 Jzy3D 看起来它会做我们需要它做的一切 但不幸的是 它什么也没做 我已经正确安装了 JOGL 并对其进行了测试 发现它可以正常工作
  • 如何计算逆运动学[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想知道如何使用逆运动学计算旋转角度 我计划将其用于实时 3D 动画 有人知道一些详细介绍具体解决方案的好文献吗 以下资源调查了逆运动学问题的一些流行
  • Blender 与 Unity [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 求 3d 中 2 个任意立方体的交集

    所以 我想找出一个函数 可以让您确定两个任意旋转和大小的立方体是否相交 如果立方体的旋转不是任意的 而是锁定到特定的轴 则相交很简单 您可以通过检查它们的边界来检查它们是否在所有三个维度上相交 以查看它们在所有三个维度上是否相交或在彼此之内
  • 将球体上的 3d 点转换为 UV 坐标

    我在球体上有一个 3d 点 想要将其转换为球体纹理上的 UV 点 有人可以指出正确的方向吗 我可以采用纯数学解决方案 Edit 我目前有这个 它不会返回正确的 UV 坐标 p 是球体上的 3d 点 mesh position 是球体的位置
  • DirectX Release 构建可以通过 VS2010 运行,但不能运行 exe

    我已经通过 Google 访问 Stack Overflow 几年了 但到目前为止还没有询问 回答任何问题 所以就到这里吧 基本上 我有一个在 DirectX 11 中设置绘图模型和地形的 3D 渲染框架 一切正常 通过 Visual St
  • 编写每个三角形/面具有纯色的 GLSL 片段着色器的方法

    我有顶点和三角形数据 其中包含每个数据的颜色triangle 面 不是每个顶点 即单个顶点由多个面共享 每个面可能具有不同的颜色 我应该如何在 GLSL 中解决这个问题以获得每个的纯色分配face正在渲染 通过平均顶点相邻多边形的颜色来计算
  • 给定 3D 空间中的一条线,如何找到从它到一点的角度?

    我在 3D 空间中有两组点 我想画一条穿过两组点的中心的线 然后找到从该线到每个点的角度 从那里开始 我将根据两个角度的接近程度来确定两组中的匹配点 我知道如何找到每组点的中心 只需将它们平均在一起 并且我知道如何将它们匹配 甚至考虑到它们
  • 提取给定 2D 图像点、深度图和相机校准矩阵的 3D 坐标

    我有一套2D image输出的关键点OpenCV FAST角点检测功能 使用Asus Xtion I还有一个时间同步的深度图 其中所有相机校准参数都是已知的 使用这些信息我想提取一组3D坐标 点云 在OpenCV 任何人都可以给我任何有关如
  • 如何在 OpenCV 中绘制图像的 3D 直方图

    更新 我找到更多例子 我现在可以做到 我可以在 3d 中绘制多个直方图吗 https stackoverflow com questions 35210337 can i plot several histograms in 3d 我知道这
  • 3D 空间:使用鼠标指针沿着对象指向的方向

    给定相机面向的方向的 3D 向量以及 3D 空间中 3D 对象的方位 方向向量 如何计算鼠标指针在屏幕上必须遵循的 2 维斜率 以便在视觉上沿着所述物体的方向移动 基本上 我希望能够单击箭头并通过拖动它来使其前后移动 但前提是鼠标指针沿着箭
  • 在 Three.js 中将贝塞尔曲线转换为平面道路

    我试图根据之前计算得到的一些贝塞尔曲线在 Three js 中绘制一条弯曲的道路 问题是我找不到转换曲线序列的方法 一条从上一条曲线的末尾开始 到一个曲面 我有一个 3D 场景 其中有一些汽车 一条用飞机创建的道路 并且绘制了即将到来的道路
  • 一次性渲染阴影

    考虑到阴影投射的成本 我想知道对于动态定位的静态对象 例如 程序城市 是否有一个功能或可能 实验性的方法可以在 Three js 中仅渲染一次阴影贴图 甚至在 webgl 中 因此 结果可以在静态对象的下一帧中免费使用 仅当物体移动时才会进
  • 将大块位图转换为 3 维位图

    Problem 我需要这个大量的数据作为输入 对于基于C的arduino 这是上面示例中所需格式的大量数据 const byte bitmap 8 8 0xFF 0x81 0x81 0x81 0x81 0x81 0x81 0xFF 0x81
  • Matlab:3D 堆积条形图

    我正在尝试创建一个 3D 堆积条形图 如这个问题所示 Matlab 中的 3D 堆叠条形图 https stackoverflow com questions 13156133 3d stacked bars in matlab 5D 然而

随机推荐

  • 企业微信回调接口验签

    文章目录 一 企业微信配置参数 二 验签 三 企业微信客户联系回调 四 相关工具类 企业微信提供了回调接口 允许企业服务商和企业应用接收到企业微信的事件通知和用户操作通知 在接收到回调通知时 需要进行验签操作 以确保通知的安全性和有效性 官
  • html+css+js

    2021年3月16日 一 标签内容 1 声明为HTML5文档 1 用于游览器正确显示网页 2
  • react项目搭建 (eslint+prettier)

    1 安装nodejs 安装git 安装vscode 安装yarn 2 npm install create react app yarn g 在yarn中安装react脚手架 3 在系统资源中配置path 在指定目录下create reac
  • JAVA面试(三)

    1 什么是本地调用 java编译器将包含本地方法的class对应的方法添加ACC NATIVE标识 而JVM负责将动态库加载到内存 Java执行引擎执行到本地方法时找到对应的函数 完成本地方法的调用 2 多线程 3 线程同步怎么实现 1 s
  • MFCC特征值详解

    看了网上的很多MFCC 依然没能够学号MFCC 因此糊了一段时间详细的看了下MFCC的内容 现在也算是对于MFCC有了更深入的理解了 不管是语音识别还是其他的一系列的识别大体都分为三个步骤 1 输入信号的预处理2 特征值提取3 相关算法的识
  • 薪资16K,在阿里外包工作是一种什么体验...

    我17年毕业于一个普通二本学校 电子信息工程学院 是一个很不出名的小本科 大学期间专业知识也没有去认真的学习 所以毕业的时候就随便找了一份工作 在一个小公司做功能测试 记得那时候税前薪资大概是7k左右 因为是在工厂 工作环境很差 也很危险
  • Fabric CA 1.4 官方文档中文版

    链接 Fabric CA中文文档 目录 概述 Fabric CA概述 快速上手 安装前提条件 安装软件 使用Fabric CA命令行 配置软件 Fabric CA 服务器 初始化服务器 启动服务器 配置数据库 配置LDAP 搭建集群 搭建多
  • moviepy快速切分视频并保存片段

    文章目录 1 直接使用ffmepg 2 使用moviepy本身 moviepy安装最新版本 pip install moviepy pre upgrade 版本是v2 0 0 dev2 有两种方法一种快速的 1 直接使用ffmepg fro
  • 基于STM32的DMX512开发笔记

    首先基本了解一下DMX512的基本协议 一 DMX512协议 DMX 是Digital MultipleX 的缩写 意为多路数字传输 DMX512控制协议是美国舞台灯光协会 usITT 于1990年发布的灯光控制器与灯具设备进行数据传输的工
  • 使用小波变换对图像进行去噪

    使用小波变换对图像进行去噪 实现效果 代码 import matplotlib pyplot as plt from skimage restoration import denoise wavelet estimate sigma fro
  • GAN_Unet模型实现

    文章目录 摘要 一 GAN 1 1 输入 输出 1 2 优化目标 1 3 缺点 1 4 CGAN 1 5 LSGAN 1 6 C LSGAN实现 1 7 判别器 总代码 二 Unet 2 1 编码器 2 2 编码器 2 3 效果 2 4 模
  • 深度学习(自编码器)

    深度学习目录 自适应线性单元 Widrow and Hoff 1960 神经认知机 Fukushima 1980 GPU 加速 卷积网络 Chellapilla et al 2006 深度玻尔兹曼机 Salakhutdinov and Hi
  • MVC笔记 初识模型(二)

    1 在视图中创建窗口 新建一个View视图 添加视图 选中复选框 创建强类型视图 需要输入的地方可以用MVC内置的HTML辅助方法来生成字段 需要显示标题的地方可以用 方法 需要显示文本的地方可以使用 方法 在MVC中 可以利用Html B
  • FPGA/IC 秋招笔试/面试题总结(续)

    请根据目录浏览 觉得有用三连支持一下也是一种鼓励 打印版半价半价 联系微信 Crazzy M 原创不易 100页 未经允许 请勿转载 FPGA IC 秋招笔试 面试题总结 目录展示 点击查看 内容展示 FPGA IC 秋招笔试 面试题总结
  • webpack-使用html-webpack-plugin和ejs-loader将侧栏、头部、底部公共html做成模板,并生成合并后的html页面...

    在学习前端自动化之前一直使用 PHP JSP 将在每个页面将头部 侧栏 底部等部分引入 现在前端 娱乐圈 一直噼里啪啦的每天出新东西 自从接触了前端自动化我就觉得这种工作可以交给前端了但一直没时间研究一下 最近有时间看一下 踩了好多坑终于成
  • 10:00面试,10:06就出来了,问题问的实在有点变态

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到8月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降30 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联
  • SVN经典目录结构说明

    SVN经典目录结构说明 SVN的经典目录包含trunk tags branches trunk trunk是主干 也就是主要工作的地方 也是最新的代码存放的地方 branches branches是分支的意思 分支开发和主线开发是可以同时进
  • MySQL数据库和表基础操作

    目录 一 数据库的基本操作 二 表的基本操作 1 表结构操作 2 表数据操作 CRUD增删查改 一 数据库的基本操作 创建数据库 create database 数据库名 切换数据库 use 数据库名 删除数据库 drop database
  • 服务器conda环境打包迁移 dgl安装 版本问题

    总结 租服务器配好conda环境 把环境迁移到没联网的学校服务器 要注意一定要检查两个服务器的CUDA版本是不是不同的 这可能会带来一些问题 因为CUDA是不在conda环境里面的 最后解决安装dgl版本问题还是采用下载whl文件pip离线
  • ICCV 2023

    本文转载自知乎 mywt 已获得作者授权 文章链接 https arxiv org abs 2211 14710 代码链接 3DPPE on petrv1 v2 https github com drilistbox 3DPPE 3DPPE