【三维重建】【深度学习】NeRF_Pytorch代码--预备基础知识

news2024/11/17 22:34:58

【三维重建】【深度学习】NeRF_Pytorch代码–预备基础知识

给定一个场景的多视角的图像,神经辐射场(NeRF)通过图像重建误差优化一个神经场景表征,优化后可以实现逼真的新视角合成效果。NeRF最先是应用在新视点合成方向,由于其超强的隐式表达三维信息的能力后续在三维重建方向迅速发展起来。


文章目录

  • 【三维重建】【深度学习】NeRF_Pytorch代码--预备基础知识
  • 前言
  • 渲染和逆渲染
  • 视角合成方法
  • 四大坐标系与内外参
    • 图像坐标系与像素坐标系
    • 相机坐标系与像素坐标系(相机内参)
    • 世界坐标系与相机坐标系(相机外参)
      • 绕z轴的旋转
      • 绕x轴的旋转
      • 绕y轴的旋转
      • 小结
  • 总结


前言

在详细解析NeRF代码之前,首要任务是成功运行NeRF代码【win10下参考教程】,后续学习才有意义。本博客讲解Im数据加载模块的代码,不涉及其他功能模块代码。

渲染和逆渲染

渲染和逆渲染是计算机图形学中两个重要的概念,分别涉及将三维场景转换成二维图像和从二维图像中还原出三维场景的过程。

  • 渲染(Rendering))是指将三维场景中的几何形状、纹理、光照等信息转换成二维图像的过程。
  • 逆渲染(Inverse rendering)是指从二维图像中还原出三维场景中的几何形状、纹理、光照等信息的过程。

视角合成方法

通常使用一个中间3D场景表征作为中介来生成高质量的虚拟视角,即首先需要对中间3D场景进行表征,然后再对这个中间3D场景进行渲染,生成照片级的视角。
如何对这个中间3D场景进行表征,分为了“显示3D表征“和”隐式3D表征“

  • 显示3D表征:确地定义物体的几何形状,包括网格(Mesh),点云(PointCloud),体素(Voxel)等,它能够对场景进行显式建模,但是因为其是离散表示的,导致了不够精细化会造成重叠等伪影,更重要的是它存储的三维场景表达信息数据量极大,对内存的消耗限制了高分辨率场景的应用。
  • 隐式3D表征:通过一些数学方程来隐式地定义物体的几何形状,通常用一个函数来描述场景几何,可以理解为将复杂的三维场景表达信息存储在函数的参数中,以更自然地描述一些具有复杂形状的物体。因为往往是学习一种3D场景的描述函数,因此在表达大分辨率场景的时候它的参数量相对于“显示表示”是较少的,并且”隐式表示“函数是种连续化的表达,对于场景的表达会更为精细。

显式是离散的表达,不能精细化,导致重叠等伪影,耗费内存,限制了在高分辨率场景的应用。
隐式是连续的表达,能够适用于大分辨率的场景,而且不需要3D信号进行监督。


四大坐标系与内外参

  • 图像坐标系 ( x , y ) \left( {x,y} \right) (x,y) 以相机光轴与成像平面的交点(principal point)为坐标原点,描述物体通过投影投射在成像平面中的位置。
  • 像素坐标系 ( u , v ) \left( {u,v} \right) (u,v) 以成像平面左上顶点为坐标原点,描述像素点(pixel)在数字图像中的坐标位置而引入。
  • 相机坐标系 ( X c , Y c , Z c ) \left( {{X_{\rm{c}}},{Y_{\rm{c}}},{Z_{\rm{c}}}} \right) (Xc,Yc,Zc) 以相机的光心为坐标系原点, X c {{X_c}} Xc, Y c {{Y_c}} Yc轴平行于图像坐标系的 x {x} x, y {y} y轴,相机的光轴为 Z c {{Z_c}} Zc轴,坐标系满足右手法则。相机的光心可理解为相机透镜的几何中心。
  • 世界坐标系 ( X w , Y w , Z w ) \left( {{X_{\rm{w}}},{Y_{\rm{w}}},{Z_{\rm{w}}}} \right) (Xw,Yw,Zw) 用于表示空间物体的绝对坐标,世界坐标系可通过旋转和平移得到相机坐标系。

图像坐标系与像素坐标系


图像坐标系与像素坐标系的转换推导:
u = x d x + u 0 u = \frac{x}{{dx}} + {u_0} u=dxx+u0
v = y d y + v 0 v = \frac{y}{{dy}} + {v_0} v=dyy+v0

( u , v ) \left( {u,v} \right) (u,v)表示图像中像素的行数和列数, ( u 0 , v 0 ) \left( {u_0,v_0} \right) (u0,v0)表示图像坐标系下的原点在像素坐标系中的坐标, d x {{dx}} dx d y {{dy}} dy表示单个像素分别在 x {{x}} x轴和 y {{y}} y轴上的物理尺寸, x d x \frac{x}{{dx}} dxx y d y \frac{y}{{dy}} dyy的单位为像素。

矩阵表示形式:
[ u v ] = [ 1 d x 0 0 1 d y ] [ x y ] + [ u 0 v 0 ] \left[ {\begin{array}{cc} u\\ v \end{array}} \right] = \left[ {\begin{array}{cc} {\frac{1}{{dx}}}&0\\ 0&{\frac{1}{{dy}}} \end{array}} \right]\left[ {\begin{array}{cc} x\\ y \end{array}} \right] + \left[ {\begin{array}{cc} {{u_0}}\\ {{v_0}} \end{array}} \right] [uv]=[dx100dy1][xy]+[u0v0]
齐次坐标表示形式:
[ u v 1 ] = [ 1 d x 0 u 0 0 1 d y v 0 0 0 1 ] [ x y 1 ] \left[ {\begin{array}{ccc} u\\v\\1 \end{array}} \right] = \left[ {\begin{array}{ccc} {\frac{1}{{dx}}}&0&{{u_0}}\\ 0&{\frac{1}{{dy}}}&{{v_0}}\\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{ccc} x\\ y\\ 1 \end{array}} \right] uv1 = dx1000dy10u0v01 xy1

相机坐标系与像素坐标系(相机内参)

相机坐标系到图像坐标系是透视关系

根据三角形相似原理可得:

f Z c = x X c = y Y c \frac{f}{{Z{}_c}} = \frac{x}{{X{}_c}} = \frac{y}{{Y{}_c}} Zcf=Xcx=Ycy
变换形式:
{ Z c ⋅ x = f ⋅ X c Z c ⋅ y = f ⋅ Y c \left\{ {\begin{array}{cc} {Z{}_c \cdot x = f \cdot X{}_c}\\ {Z{}_c \cdot y = f \cdot Y{}_c} \end{array}} \right. {Zcx=fXcZcy=fYc
齐次坐标表示形式:
Z c ⋅ [ x y 1 ] = [ f 0 0 0 f 0 0 0 1 ] [ X c Y c Z c ] Z{}_c \cdot \left[ {\begin{array}{cc} x\\ y\\ 1 \end{array}} \right] = \left[ {\begin{array}{cc} {\begin{array}{cc} f&0&0 \end{array}}\\ {\begin{array}{cc} 0&f&0 \end{array}}\\ {\begin{array}{cc} 0&0&1 \end{array}} \end{array}} \right]\left[ {\begin{array}{cc} {X{}_c}\\ {Y{}_c}\\ {Z{}_c} \end{array}} \right] Zc xy1 = f000f0001 XcYcZc
带入像素坐标系与图像坐标系之间的转换公式:
Z c ⋅ [ u v 1 ] = [ 1 d x 0 u 0 0 1 d y v 0 0 0 1 ] [ f 0 0 0 f 0 0 0 1 ] [ X c Y c Z c ] Z{}_c \cdot \left[ {\begin{array}{cc} u\\ v\\ 1 \end{array}} \right] = \left[ {\begin{array}{cc} {\begin{array}{cc} {\frac{1}{{dx}}}&0&{{u_0}} \end{array}}\\ {\begin{array}{cc} 0&{\frac{1}{{dy}}}&{{v_0}} \end{array}}\\ {\begin{array}{cc} 0&0&1 \end{array}} \end{array}} \right]\left[ {\begin{array}{cc} {\begin{array}{cc} f&0&0 \end{array}}\\ {\begin{array}{cc} 0&f&0 \end{array}}\\ {\begin{array}{cc} 0&0&1 \end{array}} \end{array}} \right]\left[ {\begin{array}{cc} {X{}_c}\\ {Y{}_c}\\ {Z{}_c} \end{array}} \right] Zc uv1 = dx10u00dy1v0001 f000f0001 XcYcZc
整理可得:
Z c ⋅ [ u v 1 ] = [ f x 0 u 0 0 f y v 0 0 0 1 ] [ X c Y c Z c ] Z{}_c \cdot \left[ {\begin{array}{cc} u\\ v\\ 1 \end{array}} \right] = \left[ {\begin{array}{cc} {\begin{array}{cc} {{f_x}}&0&{{u_0}} \end{array}}\\ {\begin{array}{cc} 0&{{f_y}}&{{v_0}} \end{array}}\\ {\begin{array}{cc} 0&0&1 \end{array}} \end{array}} \right]\left[ {\begin{array}{cc} {X{}_c}\\ {Y{}_c}\\ {Z{}_c} \end{array}} \right] Zc uv1 = fx0u00fyv0001 XcYcZc

f x {{f_x}} fx f y {{f_y}} fy分别表示相机在 x {{x}} x轴和 y {{y}} y轴方向上的焦距

相机内参(Camera Intrinsics) K {{K}} K为:
K = [ f x 0 u 0 0 f y v 0 0 0 1 ] K = \left[ {\begin{array}{cc} {\begin{array}{cc} {{f_x}}&0&{{u_0}} \end{array}}\\ {\begin{array}{cc} 0&{{f_y}}&{{v_0}} \end{array}}\\ {\begin{array}{cc} 0&0&1 \end{array}} \end{array}} \right] K= fx0u00fyv0001

世界坐标系与相机坐标系(相机外参)

绕z轴的旋转

当一个点 P W ( x w , y w , c w ) {P_W}\left( {{x_w},{y_w},{c_w}} \right) PW(xw,yw,cw) z {{z}} z轴旋转 θ \theta θ角得到点 P C ( x c , y c , c c ) {P_C}\left({{x_c},{y_c},{c_c}} \right) PC(xc,yc,cc) z {{z}} z坐标保持不变, x {{x}} x y {{y}} y组成的 x o y {{xoy}} xoy平面( o {{o}} o是坐标原点)上进行的其实可以看作一个二维旋转。

{ X c = X w cos ⁡ θ + Y w sin ⁡ θ Y c = − X w sin ⁡ θ + Y w cos ⁡ θ Z c = Z w \left\{ {\begin{array}{cc} {{X_c} = {X_w}\cos \theta + {Y_w}\sin \theta }\\ {{Y_c} = - {X_w}\sin \theta + {Y_w}\cos \theta }\\ {{Z_c} = {Z_w}} \end{array}} \right. Xc=Xwcosθ+YwsinθYc=Xwsinθ+YwcosθZc=Zw
矩阵形式如下:
[ X c Y c Z c ] = [ cos ⁡ θ sin ⁡ θ 0 − sin ⁡ θ cos ⁡ θ 0 0 0 1 ] [ X w Y w Z w ] = R z [ X w Y w Z w ] \left[ {\begin{array}{cc} {{X_c}}\\ {{Y_c}}\\ {{Z_c}} \end{array}} \right] = \left[ {\begin{array}{cc} {\cos \theta }&{\sin \theta }&0\\ { - \sin \theta }&{\cos \theta }&0\\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{cc} {{X_w}}\\ {{Y_w}}\\ {{Z_w}} \end{array}} \right] = {R_z}\left[ {\begin{array}{cc} {{X_w}}\\ {{Y_w}}\\ {{Z_w}} \end{array}} \right] XcYcZc = cosθsinθ0sinθcosθ0001 XwYwZw =Rz XwYwZw

绕x轴的旋转

当一个点 P W ( x w , y w , c w ) {P_W}\left( {{x_w},{y_w},{c_w}} \right) PW(xw,yw,cw) x {{x}} x轴旋转 α \alpha α角得到点 P C ( x c , y c , c c ) {P_C}\left({{x_c},{y_c},{c_c}} \right) PC(xc,yc,cc) x {{x}} x坐标保持不变, y {{y}} y z {{z}} z组成的 y o z {{yoz}} yoz平面( o {{o}} o是坐标原点)上进行的其实可以看作一个二维旋转。

y {{y}} y轴类似于二维坐标系中的 x {{x}} x轴, z {{z}} z轴类似于 y {{y}} y

{ X c = X w Y c = Y w cos ⁡ α + Z w sin ⁡ α Z c = − Y w sin ⁡ α + Z w cos ⁡ α \left\{ {\begin{array}{cc} {{X_c} = {X_w}}\\ {{Y_c} = {Y_w}\cos \alpha + {Z_w}\sin \alpha }\\ {{Z_c} = - {Y_w}\sin \alpha + {Z_w}\cos \alpha } \end{array}} \right. Xc=XwYc=Ywcosα+ZwsinαZc=Ywsinα+Zwcosα
矩阵形式如下:
[ X c Y c Z c ] = [ 1 0 0 0 cos ⁡ α sin ⁡ α 0 − sin ⁡ α cos ⁡ α ] [ X w Y w Z w ] = R x [ X w Y w Z w ] \left[ {\begin{array}{cc} {{X_c}}\\ {{Y_c}}\\ {{Z_c}} \end{array}} \right] = \left[ {\begin{array}{cc} 1&0&0\\ 0&{\cos \alpha }&{\sin \alpha }\\ 0&{ - \sin \alpha }&{\cos \alpha } \end{array}} \right]\left[ {\begin{array}{cc} {{X_w}}\\ {{Y_w}}\\ {{Z_w}} \end{array}} \right] = {R_x}\left[ {\begin{array}{cc} {{X_w}}\\ {{Y_w}}\\ {{Z_w}} \end{array}} \right] XcYcZc = 1000cosαsinα0sinαcosα XwYwZw =Rx XwYwZw

绕y轴的旋转

当一个点 P W ( x w , y w , c w ) {P_W}\left( {{x_w},{y_w},{c_w}} \right) PW(xw,yw,cw) y {{y}} y轴旋转 β \beta β角得到点 P C ( x c , y c , c c ) {P_C}\left({{x_c},{y_c},{c_c}} \right) PC(xc,yc,cc) y {{y}} y坐标保持不变, z {{z}} z x {{x}} x组成的 z o x {{zox}} zox平面( o {{o}} o是坐标原点)上进行的其实可以看作一个二维旋转。

z {{z}} z轴类似于二维坐标系中的 x {{x}} x轴, x {{x}} x轴类似于 y {{y}} y

{ X c = − Z w sin ⁡ β + X w cos ⁡ β Y c = Y w Z c = Z w cos ⁡ β + X w sin ⁡ β \left\{ {\begin{array}{cc} {{X_c} = - {Z_w}\sin \beta + {X_w}\cos \beta }\\ {{Y_c} = {Y_w}}\\ {{Z_c} = {Z_w}\cos \beta + {X_w}\sin \beta } \end{array}} \right. Xc=Zwsinβ+XwcosβYc=YwZc=Zwcosβ+Xwsinβ
矩阵形式如下:
[ X c Y c Z c ] = [ cos ⁡ β 0 − sin ⁡ β 0 1 0 sin ⁡ β 0 cos ⁡ β ] [ X w Y w Z w ] = R y [ X w Y w Z w ] \left[ {\begin{array}{cc} {{X_c}}\\ {{Y_c}}\\ {{Z_c}} \end{array}} \right] = \left[ {\begin{array}{cc} {\cos \beta }&0&{ - \sin \beta }\\ 0&1&0\\ {\sin \beta }&0&{\cos \beta } \end{array}} \right]\left[ {\begin{array}{cc} {{X_w}}\\ {{Y_w}}\\ {{Z_w}} \end{array}} \right] = {R_y}\left[ {\begin{array}{cc} {{X_w}}\\ {{Y_w}}\\ {{Z_w}} \end{array}} \right] XcYcZc = cosβ0sinβ010sinβ0cosβ XwYwZw =Ry XwYwZw

小结

旋转矩阵 R = R x R y R z R = {R_x}{R_y}{R_z} R=RxRyRz
[ X c Y c Z c ] = R [ X w Y w Z w ] + t \left[ {\begin{array}{cc} {{X_c}}\\ {{Y_c}}\\ {{Z_c}} \end{array}} \right] = R\left[ {\begin{array}{cc} {{X_w}}\\ {{Y_w}}\\ {{Z_w}} \end{array}} \right] + t XcYcZc =R XwYwZw +t
齐次坐标系:
[ X c Y c Z c 1 ] = [ R t 0 1 × 3 1 ] [ X w Y w Z w 1 ] \left[ {\begin{array}{cc} {{X_c}}\\ {{Y_c}}\\ {{Z_c}}\\ 1 \end{array}} \right] = \left[ {\begin{array}{cc} R&t\\ {{0_{1 \times 3}}}&1 \end{array}} \right]\left[ {\begin{array}{cc} {{X_w}}\\ {{Y_w}}\\ {{Z_w}}\\ 1 \end{array}} \right] XcYcZc1 =[R01×3t1] XwYwZw1
相机内参(Camera Extrinsics):
[ R t 0 1 × 3 1 ] \left[ {\begin{array}{cc} R&t\\ {{0_{1 \times 3}}}&1 \end{array}} \right] [R01×3t1]


总结

尽可能简单、详细的介绍关于NeRF_Pytorch的所需的预备基础知识(随时补充新的),后续会根据自己学到的知识结合个人理解讲解NeRF的原理和代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/705578.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TrainingOperator--PyTorchJob实现机制分析

前言 由 Pytorch分布式训练(一)_chenxy02的博客-CSDN博客 可知Pytorch分布式训练实现进程间寻址,主要依靠以下 四个参数: MASTER_ADDRMASTER_PORTWORLD_SIZERANK MASTER_PORT和MASTER_ADDR的目的是告诉进程组中负责进程通信协调的核心进程…

SpringBoot:整合 Redis BitMap技术及结合场景:实现签到与统计

⛄引言 本文参考黑马 点评项目 在各个项目中,我们都可能需要用到签到和 统计功能。 签到后会给用户一些礼品以此来吸引用户持续在该平台进行活跃。 签到功能,我们可以通过Redis中的 BitMap功能来实现 一、Redis BitMap 基本用法 ⛅BitMap 基本语法、…

vue+css中通过一个div的hover触发另一个的样式变化

思路 通过触发父div&#xff0c;除了改变父div的背景色外&#xff0c;还同时改变div中i标签的颜色 效果图 原本 hover触发后 html代码 <div class"user_addfrid"><i class"iconfont icon-friend-add"></i> </div> css代码 …

动态地图开发需要注意哪些方面?

动态地图是指可以随时更新和展示地理信息的地图。随着科技的发展和人们对地理信息的需求不断增加&#xff0c;动态地图的开发越来越受到关注。动态地图可以实现多种功能&#xff0c;如实时交通状况的展示、灾害预警、物流配送路线规划等。动态地图的开发需要结合多种技术手段&a…

HummerRisk V1.2.0 发布

经过一个月的时间&#xff0c;1.2.0和大家见面了&#xff0c;在这个版本中我们重做了云资源态势&#xff0c;用全新的2.5D方式来展现云上资源态势及资源关联关系&#xff0c;同时升级了多云合规检测引擎&#xff0c;现在X-PACK中的多云检测可以提升300%的执行速度&#xff0c;规…

自定义MVC

目录 一、MVC概念描述 1、什么是MVC&#xff1f; 2、什么是自定义MVC&#xff1f; 3、自定义MVC有什么用&#xff08;主要用途&#xff09;&#xff1f; 二、MVC三层架构 第一种版本 JSP页面 servlet 结果 第二种版本 JSP代码 servlet 结果 第三种版本 jsp页面 s…

unity Embedded Browser(ZFBrowser)使用相关问题

在使用ZFBrowser的时候 碰到获取不到声音权限的问题 在插件的BrowserNative.cs脚本中&#xff0c;找到commandLineSwitches变量&#xff0c; 只需要开启以下两个配置项&#xff1a; "--enable-media-stream"&#xff1a;允许收集用户的摄像头视频流与mic的音频流。…

【Rust】入门教程-7章

Package、Crate、Module 7.1 代码组织 7.2 路径 根级可以相互访问 super 关键字 pub struct 7.4 use关键字

【Spark大作业】财政收入影响因素分析及预测模型

文章目录 前言一、数据的基本描述性分析1.1 导包与读取数据1.2 数据的基本情况1.3 变量的分布情况1.4 相关性分析 二、数据的预处理2.1 Lasso变量选择模型 三、建立财政收入预测模型3.1 灰色模型3.2 神经网络预测模型 环境搭建Spark pandsAPI接口&#xff08;了解&#xff09;分…

windows本地上传文件到服务器(scp)

命令 1.ssh 用户名ip&#xff1a;远程登录服务器。 ssh root1.15.233.1932.scp 本地文件路径 用户名ip:上传路径 &#xff1a;本地文件与服务器进行传递。 scp C:\a.txt root1.15.233.193:/var/www/html3.本地文件夹上传到服务器 scp -r C:\user root1.15.233.193:/home4…

三防工业平板在哪些行业中得到广泛应用?

随着科技的不断进步&#xff0c;工业平板正逐渐成为各行业中不可或缺的工具。其中&#xff0c;三防工业平板由于其卓越的耐用性和丰富的功能&#xff0c;在许多行业中得到了广泛的应用。本文将重点介绍三防工业平板在以下几个行业中的应用。 三防工业平板在物流行业中发挥着关键…

shell脚本ssh远程执行命令给变量赋值的问题

需求及目标 从A机器通过SSH方式到B机器&#xff0c;并执行相关的命令。命令中包含变量及变量的赋值。 代码如下&#xff0c;意思是&#xff0c;ssh到10.111.111.27这台机器&#xff0c;cd到 / 根目录下&#xff0c;并执行ls命令&#xff0c;如果ls出来的结果不为空&#xff0…

【鲁棒优化】微电网鲁棒优化定价方案研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【算法】区间DP (从记忆化搜索到递推DP)⭐

文章目录 前期知识516. 最长回文子序列思路1——转换问题&#xff1a;求 s 和反转后 s 的 LCS&#xff08;最长公共子序列&#xff09;思路2——区间DP&#xff1a;从两侧向内缩小问题规模补充&#xff1a;记忆化搜索代码 1039. 多边形三角剖分的最低得分从记忆化搜索开始翻译成…

改造3dmax的快捷键自定义3dmax快捷键

快捷键需要整体规划&#xff0c;不然太乱了&#xff0c;不要担心你的自定义快捷键破坏了系统原有的快捷键&#xff0c;或者和原有的某些快捷键冲突&#xff0c;如果那些被系统定义的快捷键所对应的功能指令你都不知道他们是干什么用的&#xff0c;你要他们有什么用。还不如来得…

Rust 基础入门 ——数值类型

数值类型 概述 数值类型 这里重点在于一些特殊的书写方式的格式&#xff0c;和几种特殊类型。除此以外&#xff0c;还包括一些常见的类型处理方式&#xff08;这之中包括了一些问题处理和Rust 特有内容&#xff09;。 细分之下为&#xff1a; 整数类型 重点问题&#xff1a…

基于PyQt5的图形化界面开发——天气应用

目录 0. 前言1. 注册心知天气2. 代码实现3. 其他PyQt5文章 0. 前言 本节使用PyQt5开发天气应用程序实现以下功能&#xff1a; 通过调用天气API获取实时天气数据&#xff0c;并在应用程序中显示当前城市的温度、天气状况、风速等信息。 操作系统&#xff1a;Windows10 专业版…

关于 3.0 和 2.0 的数据文件差异以及性能优化思路

如果需要对数据库性能优化&#xff0c;了解数据文件的存储方式和工作原理是必要的。 对于时序数据库&#xff08;Time Series Database&#xff09; TDengine 来说&#xff0c;在 2.x 版本中时序数据的保留策略是由keep和days这两个参数把控的。&#xff08;详情可见&#xff…

云原生——Kubenetes基础

❄️作者介绍&#xff1a;奇妙的大歪❄️ &#x1f380;个人名言&#xff1a;但行前路&#xff0c;不负韶华&#xff01;&#x1f380; &#x1f43d;个人简介&#xff1a;云计算网络运维专业人员&#x1f43d; 目录 一.什么是Kubernetes&#xff1f; 二.为什么你需要 Kubern…

markdown数学公式总结

行内与独行 行内公式&#xff1a;将公式插入到本行内&#xff0c;符号&#xff1a; 公式内容 公式内容 公式内容&#xff0c;如&#xff1a; x y z xyz xyz 独行公式&#xff1a;将公式插入到新的一行内&#xff0c;并且居中&#xff0c;符号&#xff1a; 公式内容 公式内容 公…