目录

  • 摘要
  • 1 简介
  • 2 变分模型
  • 3 最小化
    • 3.1 欧拉-拉格朗日方程
    • 3.2 数值逼近
    • 4 与 Warping 方法的关系

摘要

  我们研究了一种用于计算光流的能量函数,它结合了三个假设:亮度恒定假设梯度恒定假设不连续性保持时空平滑约束。为了允许大位移,严格避免两个数据项中的线性化。我们提出了一个基于两个嵌套的定点迭代的连续数值方案。通过证明该方案实现了从粗到细的 Warping 策略,迄今为止主要在实验上使用的 Warping 提供了理论基础。我们的评估表明,与以前的光流估计技术相比,新方法的角度误差要小得多。我们证明它对参数变化相当不敏感,并且我们证明了它在噪声下的出色鲁棒性!

1 简介

  光流估计仍然是计算机视觉中的关键问题之一。估计两个图像之间的位移场,一旦需要像素之间的对应关系就应用它。这种类型的问题不仅限于运动估计,它们也以类似的方式出现在 3D 重建或图像配准中。在过去的二十年中,光流估计方法的质量急剧提高。从 Horn 和 Schunck [11] 以及 Lucas 和 Kanade [15] 的原始方法开始,研究开发了许多新概念来处理先前模型的缺点。为了处理流场中的不连续性,Horn 和 Schunck 模型中的二次正则化器被允许分段平滑结果的平滑约束取代。其中一些想法与联合运动估计和运动分割的方法以及由鲁棒统计驱动的光流方法非常接近,其中异常值的惩罚较轻。粗到细策略 以及非线性模型 已被用于处理大位移。最后,时空方法仅通过使用附加维度的信息来改善结果。
  新的想法不仅提高了光流估计技术的质量。此外,为了更好地了解这些方法的详细功能,以及通过更改它们的参数会产生哪些影响,这让我们深入了解了几个模型如何协同工作。此外,模型的变分公式提供了数值数学在解决部分困难的优化问题方面的长期经验。为某个模型找到最佳解决方案通常并非易事,而且通常没有充分利用模型的全部潜力,因为必须在实现方面做出让步。
  在本文中,我们提出了一种新的变分方法,它整合了前面提到的几个概念,并且可以用一个可靠的数值方法来最小化。进一步表明,使用所谓的 Warping 技术 [7, 16] 的从粗到细的策略实现了 [19, 2] 和图像配准中使用的非线性光流约束。这有两个重要影响:首先,可以将迄今为止仅由算法驱动的 Warping 技术集成到变分框架中。其次,它展示了如何使用有效的多分辨率技术解决图像对应问题的理论上合理的方法。应该注意的是——除了 Lef ́ebure 和 Cohen [14] 的一篇非常好的论文——到目前为止,关于 Warping 的理论结果并不多。
  最后,灰度值恒定性假设是光流估计中的基本假设,通过梯度恒定性假设进行了扩展。这使得该方法对灰度值变化具有鲁棒性。虽然在 [23, 22] 中也提出了梯度恒定假设以处理局部方法范围内的孔径问题,但它们在变分方法中的使用是新颖的。
  实验评估表明,我们的方法产生了很好的结果。与文献中的相比,它们的准确性总是显着提高,有时甚至是迄今为止已知的最佳值的两倍。此外,该方法在大量噪声下也被证明是稳健的,并且在当代硬件上每帧仅几秒的计算时间是可能的。

2 变分模型

  在为我们的光流方法推导变分公式之前,我们给出了一个直观的想法,即我们认为哪些约束应该包含在这样的模型中。

  • 灰度值恒定假设
    从光流估计开始,就假设像素的灰度值不因位移而改变。
    I ( x , y , t ) = I ( x + u , y + v , t + 1 ) (1) I(x, y, t) = I(x + u, y + v, t + 1) \tag{1} I(x,y,t)=I(x+u,y+v,t+1)(1)
    这里 I : Ω ⊂ R 3 → R I : Ω ⊂ \mathbb R^3 → \mathbb R I:Ω⊂R3→R 表示一个矩形图像序列, w : = ( u , v , 1 ) ⊤ w := (u, v, 1)^⊤ w:=(u,v,1)⊤ 是在时间 t t t 的图像和时间 t + 1 t + 1 t+1 的另一个图像之间搜索到的位移向量。灰度值恒定假设产生著名的光流约束:
    I x u + I y v + I t = 0 (2) I_xu + I_yv + I_t = 0 \tag{2} Ix​u+Iy​v+It​=0(2)
    其中下标表示偏导数。然而,这种线性化仅在图像沿位移线性变化的假设下才有效,通常情况并非如此,尤其是对于大位移。因此,我们的模型将使用原始的非线性灰度值恒定假设 (1)。

  • 梯度恒定假设
      灰度值恒定假设有一个关键的缺点:它很容易受到亮度的轻微变化,这通常出现在自然场景中。因此,允许灰度值有一些小的变化是有用的,并通过在灰度值变化下不变的标准来确定位移矢量。这样的标准是图像灰度值的梯度,也可以假设它不会因位移而变化。
    ∇ I ( x , y , t ) = ∇ I ( x + u , y + v , t + 1 ) (3) ∇I(x, y, t) = ∇I(x + u, y + v, t + 1) \tag{3} ∇I(x,y,t)=∇I(x+u,y+v,t+1)(3)
    这里 ∇ = ( ∂ x , ∂ y ) ⊤ ∇ = (∂x, ∂y)^⊤ ∇=(∂x,∂y)⊤ 表示空间梯度。同样,避免线性化也是有用的。约束 (3) 对平移运动特别有帮助,而约束 (2) 可能更适合更复杂的运动模式。

  • 平滑假设
      到目前为止,该模型仅在局部估计像素的位移,而没有考虑相邻像素之间的任何相互作用。因此,一旦梯度在某处消失,或者只能估计梯度法线方向的流动(孔径问题),它就会遇到问题。此外,人们会期望估计值中有一些异常值。因此,引入流场的平滑度作为进一步的假设是有用的。如果只有两个帧可用,则该平滑约束可以单独应用于空间域,如果需要图像序列中的位移,则可以应用于时空域。由于最优位移场在场景中物体的边界处会存在不连续性,因此通过要求分段平滑流场来推广平滑假设。

  • 多尺度方法
      在位移大于每帧一个像素的情况下,变分公式中的代价函数必须是多模态的,即最小化算法很容易陷入局部最小值。为了找到全局最小值,应用多尺度想法可能很有用:首先通过处理平滑的图像序列来解决问题的粗略、平滑版本。新问题可能有一个唯一的最小值,希望接近原始问题的全局最小值。粗略的解决方案被用作解决问题的精炼版本的初始化,直到逐步解决原始问题。不是平滑图像序列,而是根据采样定理对图像进行下采样更有效,因此模型最终采用多分辨率策略。

  通过这种描述,可以直接推导出一个能量函数来惩罚偏离这些模型假设的情况。令 x : = ( x , y , t ) ⊤ x := (x, y, t)^⊤ x:=(x,y,t)⊤ 和 w : = ( u , v , 1 ) ⊤ w := (u, v, 1)^⊤ w:=(u,v,1)⊤。然后通过能量测量灰度值恒定假设和梯度恒定假设的全局偏差:
E D a t a ( u , v ) = ∫ Ω ( ∣ I ( x + w ) − I ( x ) ∣ 2 + γ ∣ ∇ I ( x + w ) − ∇ I ( x ) ∣ 2 ) d x (4) EData(u, v) =∫_Ω(|I(x + w) − I(x)|^2 + γ|∇I(x + w) − ∇I(x)|^2) dx \tag{4} EData(u,v)=∫Ω​(∣I(x+w)−I(x)∣2+γ∣∇I(x+w)−∇I(x)∣2)dx(4)
其中 γ γ γ 是两个假设之间的权重。由于使用二次惩罚器,异常值对估计的影响太大,因此应用了一个递增的凹函数 Ψ ( s 2 ) Ψ(s^2) Ψ(s2),从而产生稳健的能量值。

E D a t a ( u , v ) = ∫ Ω Ψ ( ∣ I ( x + w ) − I ( x ) ∣ 2 + γ ∣ ∇ I ( x + w ) − ∇ I ( x ) ∣ 2 ) d x (5) EData(u, v) =∫_ΩΨ(|I(x + w) − I(x)|^2 + γ|∇I(x + w) − ∇I(x)|^2) dx \tag{5} EData(u,v)=∫Ω​Ψ(∣I(x+w)−I(x)∣2+γ∣∇I(x+w)−∇I(x)∣2)dx(5)
  函数 Ψ Ψ Ψ 也可以分别应用于这两项中的每一项。我们使用函数 Ψ ( s 2 ) = s 2 + ǫ 2 Ψ(s^2) = \sqrt{s^2 + ǫ^2} Ψ(s2)=s2+ǫ2 ​ 导致(修改后的) L 1 L1 L1 最小化。对于小量正数 ε ε ε, Ψ ( s ) Ψ(s) Ψ(s) 仍然是凸的,这在最小化过程中提供了优势。此外, Ψ Ψ Ψ 的这种选择并没有引入任何额外的参数,因为 ε ε ε 只是数字原因,可以设置为固定值,我们选择为 0.001 0.001 0.001。

  最后,平滑项必须描述分段平滑流场的模型假设。这是通过惩罚流场的总变化来实现的,可以表示为:
E S m o o t h ( u , v ) = ∫ Ω Ψ ( ∣ ∇ 3 u ∣ 2 + ∣ ∇ 3 v ∣ 2 ) d x (6) E_{Smooth}(u, v) =∫_ΩΨ (|∇_3u|^2 + |∇_3v|^2) dx \tag{6} ESmooth​(u,v)=∫Ω​Ψ(∣∇3​u∣2+∣∇3​v∣2)dx(6)
Ψ Ψ Ψ 具有与上述相同的功能。时空梯度 ∇ 3 : = ( ∂ x , ∂ y , ∂ t ) ⊤ ∇_3 := (∂x, ∂y, ∂t)^⊤ ∇3​:=(∂x,∂y,∂t)⊤表示涉及时空平滑假设。对于只有两个图像可用的情况,它被空间梯度所取代
E ( u , v ) = E D a t a + α E S m o o t h (7) E(u, v) = E_{Data} + αE_{Smooth} \tag{7} E(u,v)=EData​+αESmooth​(7)
有一些正则化参数 α > 0 α > 0 α>0。现在的目标是找到函数 u u u 和 v v v 最小化这个能量

3 最小化

3.1 欧拉-拉格朗日方程

  由于 E ( u , v ) E(u, v) E(u,v) 是高度非线性的,因此最小化并非易事。为了更好的可读性,我们定义了以下缩写,其中使用 z z z 代替 t t t 强调表达式不是时间导数,而是寻求最小化的差异。
I x : = ∂ x I ( x + w ) , I y : = ∂ y I ( x + w ) , I z : = I ( x + w ) − I ( x ) , I x x : = ∂ x x I ( x + w ) , I x y : = ∂ x y I ( x + w ) , I y y : = ∂ y y I ( x + w ) , I x z : = ∂ x I ( x + w ) − ∂ x I ( x ) , I y z : = ∂ y I ( x + w ) − ∂ y I ( x ) (8) I_x := ∂_xI(x + w),\\ I_y := ∂_yI(x + w),\\ I_z := I(x + w) − I(x),\\ I_{xx} := ∂_{xx}I(x + w),\\ I_{xy} := ∂_{xy}I(x + w),\\ I_{yy} := ∂_{yy}I(x + w),\\ I_{xz} := ∂_xI(x + w) − ∂_xI(x),\\ I_yz := ∂_yI(x + w) − ∂_yI(x) \tag{8} Ix​:=∂x​I(x+w),Iy​:=∂y​I(x+w),Iz​:=I(x+w)−I(x),Ixx​:=∂xx​I(x+w),Ixy​:=∂xy​I(x+w),Iyy​:=∂yy​I(x+w),Ixz​:=∂x​I(x+w)−∂x​I(x),Iy​z:=∂y​I(x+w)−∂y​I(x)(8)
根据变分法,(7) 的最小值必须满足欧拉-拉格朗日方程
Ψ ′ ( I z 2 + γ ( I x z 2 + I 2 + y z ) ) ⋅ ( I x I z + γ ( I x x I x z + I x y I y z ) ) − α d i v ( Ψ ′ ( ∣ ∇ 3 u ∣ 2 + ∣ ∇ 3 v ∣ 2 ) ∇ 3 u ) = 0 Ψ′(I^2_z + γ(I^2_{xz} + I^2+{yz})) · (I_xI_z + γ(I_{xx}I_{xz} + I_{xy}I_{yz}))−α div (Ψ′(|∇_3u|^2 + |∇_3v|^2)∇_3u) = 0 Ψ′(Iz2​+γ(Ixz2​+I2+yz))⋅(Ix​Iz​+γ(Ixx​Ixz​+Ixy​Iyz​))−αdiv(Ψ′(∣∇3​u∣2+∣∇3​v∣2)∇3​u)=0 Ψ ′ ( I z 2 + γ ( I x z 2 + I 2 + y z ) ) ⋅ ( I y I z + γ ( I y y I y z + I x y I x z ) ) − α d i v ( Ψ ′ ( ∣ ∇ 3 u ∣ 2 + ∣ ∇ 3 v ∣ 2 ) ∇ 3 v ) = 0 Ψ′(I^2_z + γ(I^2_{xz} + I^2+{yz})) · (I_yI_z + γ(I_{yy}I_{yz} + I_{xy}I_{xz}))−α div (Ψ′(|∇_3u|^2 + |∇_3v|^2)∇_3v) = 0 Ψ′(Iz2​+γ(Ixz2​+I2+yz))⋅(Iy​Iz​+γ(Iyy​Iyz​+Ixy​Ixz​))−αdiv(Ψ′(∣∇3​u∣2+∣∇3​v∣2)∇3​v)=0

3.2 数值逼近

  前面的欧拉-拉格朗日方程的参数是非线性的 w = ( u , v , 1 ) ⊤ w = (u, v, 1)^⊤ w=(u,v,1)⊤。可以用常用数值方法求解的线性方程组的第一步是在 w w w 上使用定点迭代。为了实现多尺度方法,更好地逼近能量的全局最优值,这些固定点迭代与下采样策略相结合。这里建议使用任意因子 η ∈ ( 0 , 1 ) η ∈ (0, 1) η∈(0,1),而不是每个级别的标准下采样因子 0.5 0.5 0.5,这允许从一个尺度到下一个尺度的更平滑过渡。此外,使用完整的图像金字塔,从最粗网格处的最小可能图像开始。令 w k = ( u k , v k , 1 ) ⊤ , k = 0 , 1 , . . . , w_k = (u_k, v_k, 1)^⊤, k = 0, 1, . . ., wk​=(uk​,vk​,1)⊤,k=0,1,...,初始化 w 0 = ( 0 , 0 , 1 ) ⊤ w_0 = (0, 0, 1)^⊤ w0​=(0,0,1)⊤ 在最粗的网格。此外,令 I ∗ k I^k_∗ I∗k​ 为 (8) 中定义的缩写,但使用迭代变量 w k w_k wk​ 而不是 w w w。那么 w k + 1 w_{k+1} wk+1​ 将是
Ψ ′ ( ( I z k + 1 ) 2 + γ ( ( I x z k + 1 ) 2 + ( I y z k + 1 ) 2 ) ) ⋅ ( I x k I z k + 1 + γ ( I x x k I x z k + 1 + I x y k I y z k + 1 ) ) − α d i v ( Ψ ′ ( ∣ ∇ 3 u k + 1 ∣ 2 + ∣ ∇ 3 v k + 1 ∣ 2 ) ∇ 3 u k + 1 ) = 0 Ψ′((I^{k+1}_z )^2 + γ((I^{k+1}_{xz} )^2 + (I^{k+1}_{yz} )^2)) · (I^k_x I^{k+1}_z + γ(I^k_{xx}I^{k+1}_{xz} + I^k_{xy}I^{k +1}_{yz} )) \\ -α div (Ψ′(|∇_3u^{k+1}|^2 + |∇_3v^{k+1}|^2)∇_3u^{k+1}) = 0 Ψ′((Izk+1​)2+γ((Ixzk+1​)2+(Iyzk+1​)2))⋅(Ixk​Izk+1​+γ(Ixxk​Ixzk+1​+Ixyk​Iyzk+1​))−αdiv(Ψ′(∣∇3​uk+1∣2+∣∇3​vk+1∣2)∇3​uk+1)=0 Ψ ′ ( ( I z k + 1 ) 2 + γ ( ( I x z k + 1 ) 2 + ( I y z k + 1 ) 2 ) ) ⋅ ( I y k I z k + 1 + γ ( I y y k I y z k + 1 + I x y k I x z k + 1 ) ) − α d i v ( Ψ ′ ( ∣ ∇ 3 u k + 1 ∣ 2 + ∣ ∇ 3 v k + 1 ∣ 2 ) ∇ 3 v k + 1 ) = 0 Ψ′((I^{k+1}_z )^2 + γ((I^{k+1}_{xz} )^2 + (I^{k+1}_{yz} )^2)) · (I^k_y I^{k+1}_z + γ(I^k_{yy}I^{k+1}_{yz} + I^k_{xy}I^{k +1}_{xz} )) \\ -α div (Ψ′(|∇_3u^{k+1}|^2 + |∇_3v^{k+1}|^2)∇_3v^{k+1}) = 0 Ψ′((Izk+1​)2+γ((Ixzk+1​)2+(Iyzk+1​)2))⋅(Iyk​Izk+1​+γ(Iyyk​Iyzk+1​+Ixyk​Ixzk+1​))−αdiv(Ψ′(∣∇3​uk+1∣2+∣∇3​vk+1∣2)∇3​vk+1)=0

一旦达到 w k w_k wk​ 中的一个固定点,我们就切换到下一个更精细的尺度,并使用这个解作为这个尺度上的定点迭代的初始化。

由于 x x x 和 y y y 方向的网格尺寸都减小了 η η η,因此图像尺寸实际上缩小了 η 2 η^2 η2。

4 与 Warping 方法的关系

  从粗到细的 Warping 技术是提高光流方法性能的常用工具。虽然它们通常是在纯粹的实验基础上引入的,但我们在本节中表明,它们在理论上可以作为数值近似来证明是合理的。为了建立这种关系,我们通过设置 γ = 0 γ = 0 γ=0 将自己限制为灰度值恒定模型。让我们还通过假设空间平滑度来简化模型,如 [17] 中所示。在这些条件下,(11) 可以写为
( Ψ ′ ) D k a t a ∇ I k ( ∇ I k ) ⊤ ( d u k d v k ) − α ( d i v ( ( Ψ ′ ) k S m o o t h ∇ ( u k + d u k ) d i v ( ( Ψ ′ ) k S m o o t h ∇ ( v k + d v k ) ) ) = − ( Ψ ′ ) D a t a k I z k ∇ I k (13) (Ψ′)^k_Data∇I^k(∇I^k)^⊤\begin{pmatrix} du^k \\ dv^k \\ \end{pmatrix}− α \begin{pmatrix} div ((Ψ′)k_{Smooth}∇(u^k + du^k)\\ div ((Ψ′)k_{Smooth}∇(v^k + dv^k)) \\ \end{pmatrix}= −(Ψ′)^k_{Data}I^k_z ∇I^k \tag{13} (Ψ′)Dk​ata∇Ik(∇Ik)⊤(dukdvk​)−α(div((Ψ′)kSmooth​∇(uk+duk)div((Ψ′)kSmooth​∇(vk+dvk))​)=−(Ψ′)Datak​Izk​∇Ik(13)
  对于固定的 k k k,该系统等效于 [17] 中描述的欧拉-拉格朗日方程。此外,仅估计第一图像和 Warping 的第二图像之间的增量 d u d_u du​ 和 d v d_v dv​。相同的增量出现在我们方法的外部不动点迭代中,以解决灰度值恒定假设的非线性。这表明 Warping 技术通过对 w w w 的定点迭代实现了非线性恒定假设的最小化。在早期的方法中, Warping 的主要动机是从粗到细的策略。由于解决方案 u u u 和 v v v 在较粗的网格上计算,因此只需在精细网格上计算增量 d u d_u du​ 和 d v d_v dv​。因此,过去的估计值小于每帧一个像素的大小,与总位移的大小无关。这种处理较大位移的能力被证明是差分光流估计的一个非常重要的方面。处理大位移的第二种策略是使用非线性灰度值恒定假设[19, 2]。在这里,从一开始就允许大位移。然而,非线性导致多模态函数。在这种情况下,不仅需要从粗到细的策略,甚至需要更好地逼近全局最小值。最后,这两种策略不仅导致相似的结果。事实上,正如我们在上面看到的,它们是完全等价的。因此,从粗到细的 Warping 技术可以表述为一个单一的最小化问题,并且依赖于非线性恒定假设的图像配准技术可以使用一种有效的多分辨率方法来最小化它们的能量函数。

<论文阅读> 基于 Warping 理论的高精度光流估计 (计算机视觉 - ECCV 2004)相关推荐

  1. [软件工程程序修复论文阅读]基于代码感知机器翻译的程序修复

    本文约2871字,预计阅读时长6分钟. 原文标题为CURE: Code-Aware Neural Machine Translation for Automatic Program Repair 论文 ...

  2. Patchwork++论文阅读——基于3D点云的快速鲁棒地面分割算法

    文章目录 摘要 1. 介绍 2. 相关工作 A. 基于学习的地面分割方法 B. 传统的地面分割方法 C. 地面分割的应用 3. PATCHWORK++:快速.稳健.自适应的地面分割 A. 问题定义 B ...

  3. 论文阅读 新的非视距场景(imaging behind occluders)|| ECCV 2020: Imaging Behind Occluders Using Two-Bounce Light

    论文阅读 Henley, C., Maeda, T., Swedish, T., & Raskar, R. (2020, August). Imaging Behind Occluders U ...

  4. 基于空间金字塔网络的光流估计

    Optical Flow Estimation using a Spatial Pyramid Network 我们学习通过结合经典的空间金字塔公式和深度学习来计算光流.通过当前流量估计和计算流量更新 ...

  5. 论文阅读|基于领域知识图谱的多文档摘要生成与应用

    论文地址:基于领域知识图谱的多文档摘要生成与应用 先验知识 1.多文档摘要技术: (理解:类似于每篇文章的摘要.关键词,方便通过标签筛选是否是你需要的内容) 利用计算机将同一主题下或者不同主题下的多篇 ...

  6. 论文阅读-基于RA的NAS

    hello,这是鑫鑫鑫的论文分享站,今天分享的文章是NEURAL ARCHITECTURE SEARCH WITH REINFORCEMENT LEARNING,这是一篇将强化学习算法应用于NAS的论 ...

  7. 硕士论文阅读——基于机器视觉和深度学习的工人安全帽检测与身份识别方法

    文章目录 零.摘要 一.绪论 1.背景与研究意义 2.国内外研究现状 (1)安全帽佩戴检测研究现状与不足 (2)身份识别研究现状与不足 (3)基于深度学习的目标检测 二.深度学习目标检测理论 1.卷积 ...

  8. 论文阅读-基于遗传算法的NAS

    hello,这是鑫鑫鑫的论文分享站,今天分享的文章是Genetic CNN,这是一篇将标准遗传算法应用于NAS的论文,我们一起看看吧~ 基础知识: 遗传算法:模仿生物进化的过程.传统的遗传算法往往具有 ...

  9. 论文阅读|基于图神经网络的配电网故障定位方法

    来源:北京交通大学硕士学位论文,2022 摘要 电网拓扑形态多样,重构场景频繁,,传统故障定位方法的单一阈值设定无法满足要求,基于人工智能的配电网故障定位技术具有很大的应用潜力,但仍存在着拓扑关联性差 ...

最新文章

  1. linux===Ubuntu 上安装 Node.js
  2. 0119——UITextField
  3. 【MATLAB统计分析与应用100例】案例008:调用rand函数生成均匀分布随机数
  4. 使用泛型前 VS 使用泛型后
  5. null导入失败_当null检查非常失败时
  6. python闯关_Day012
  7. 人脸对齐(二)--ASM算法
  8. Python的类与对象
  9. VUE中友盟统计的使用方法
  10. 【回答问题】ChatGPT上线了!给我推荐20个比较流行的自动驾驶算法模型
  11. python基础 多点坐标 绘制折线图 计算两点距离
  12. 打开oracle数据库oe,database - Oracle数据库11g:OE.ORDERS表不存在 - SO中文参考 - www.soinside.com...
  13. 使用vue+腾讯地图API GL实现地图选房的功能
  14. PS Suite Studio Android 调试方法
  15. BoxCutter:吸附
  16. 【干货收藏】测试人员必看的经典书籍
  17. java架构模式与设计模式(十)--失效模式与影响分析
  18. 身份认证 Session认证机制 Cookie原理
  19. vysor无线连接投屏使用/wifi连接+Vysor_2.1.2Pro安装教程+谷歌vysor插件防止自动更新
  20. C/C++ 字符串拼接 sprintf()

热门文章

  1. 7年苹果笔记本码农告诉你,Macbook笔记本M1芯片当前还不适合搞代码
  2. 发财梦变成恶梦的故事
  3. 华硕笔记本安装win7操作系统
  4. 列式数据库总结(特点)
  5. 可用软硬件技术来检测与消除计算机病毒,重庆计算机一模级拟试题.doc
  6. Karate-让WebService的测试变的更简单!
  7. docker搭建discourse论坛全攻略一
  8. JSP and ASP
  9. 机器学习入门:第十七章 Boltzmann波尔兹曼机
  10. 转速传感器信号隔离变送器 发动机测速 电机转速监测