Math 从可视大小指定速度

Math 从可视大小指定速度,math,physics,Math,Physics,[问题] Q1:如何根据对象的视觉尺寸从摄像机图像序列中确定对象(平面)的速度 很少有相机图像 摄像机的高度和角度是已知的 [附注] 这是一个有趣但写得不好的问题(目前搁置)的重写,所以我可以回答它 原来的问题是 还有很多其他的方法,比如模糊分析等等 这个问题非常宽泛,所以我将只关注后面的数学/物理 垂直于摄影机轴的速度 图像显示了对象视觉尺寸h与视图距离l的相关性。距离越远的对象,其视觉尺寸越小。在两倍距离处有一半大小,因此我们可以这样写: l0=(h1/h0)*l1 l0=(h2/h

[问题]

Q1:如何根据对象的视觉尺寸从摄像机图像序列中确定对象(平面)的速度

  • 很少有相机图像
  • 摄像机的高度和角度是已知的
[附注]

  • 这是一个有趣但写得不好的问题(目前搁置)的重写,所以我可以回答它
  • 原来的问题是
  • 还有很多其他的方法,比如模糊分析等等

这个问题非常宽泛,所以我将只关注后面的数学/物理

  • 垂直于摄影机轴的速度

    图像显示了对象视觉尺寸
    h
    与视图距离
    l
    的相关性。距离越远的对象,其视觉尺寸越小。在两倍距离处有一半大小,因此我们可以这样写:

    l0=(h1/h0)*l1
    l0=(h2/h0)*l2
    l1=(h0/h1)*l0
    l1=(h2/h1)*l2
    l2=(h0/h2)*l0
    l2=(h1/h2)*l1
    
    现在我们知道图像不是在同一时间拍摄的,所以如果我们假设速度是恒定的(对于我们测量的时间),那么图像
    0,1,2
    是在
    t0,t1,t2
    的时间拍摄的,所以对于恒定速度
    v
    我们知道:

    v=(l1-l0)/(t1-t0)
    v=(l2-l1)/(t2-t1)
    v=(l2-l0)/(t2-t0)
    
  • 其中:

    • v
      是相机和物体之间的相对速度
    • t0、t1、t2是拍摄照片的时间
    • l0、l1、l2
      是相机和物体在时间
      t0、t1、t2
    • h0、h1、h2
      是对象在时间
      t0、t1、t2
    为简单起见,我们可以在1秒的时间间隔内拍摄照片,因此:

        t1-t0=1
        t2-t1=1
        t2-t0=2
    
    这稍微简化了一些事情:

        v=(l1-l0)
        v=(l2-l1)
        v=(l2-l0)/2
    
    现在的问题是我们不知道物体的距离。上面的方程式并没有给出答案(至少我没有看到任何答案)。。。对于此任务,我们必须在场景中找到一些已知对象(etalone),并根据视觉距离
    h0
    和对象已知大小
    h1
    计算其实际距离
    z1
    。注意这些
    h0,h1
    不是上面的
    h0,h1
    。。。这只是对这幅画的尊重

        z1 = (h1/h0)*z0
    

    这样我们可以在时间
    (l0,l1,l2)
    中找到物体的真实距离,两个就足够了,速度也就简单了

        v = (l1-l0)/(t1-t0)
    
    这是垂直于相机轴的速度,所以如果你想要某个方向上的速度,那么只需通过向量的标量乘或sin将其投影到它上即可

  • 巡航速度

    更好的方法是在“地面”方向拍照,这消除了对场景中已知对象的需要,但你必须在特定方向安装相机,这并不总是可能的。此外,飞机的
    俯仰
    滚转
    也会对其产生很大影响,需要进行纠正

    这个想法很简单,在场景中找到任何不同的物体,测量它随时间移动的视觉距离。应用相机透视图和已知的
    高度、俯仰
    滚动
    将像素转换为地面单位[m]。透视图的方程和特性与前面的项目符号相同

    v = dpos/dtime
    
    你应该一次检查更多的物体,并将所有以不同方向/速度移动的物体排除在大多数物体之外,以避免测量相对于某些移动物体(如汽车)的速度

  • [Notes]


    对于相机,
    Zfar
    是无限大的,
    Znear
    取决于相机光学元件和芯片。你们可以通过在已知距离拍摄已知物体的图像来校准它,并根据它计算你们所需要的一切当然,如果你没有固定的焦点,那么你就有麻烦了

    这个问题非常广泛,所以我将只关注后面的数学/物理

  • 垂直于摄影机轴的速度

    图像显示了对象视觉尺寸
    h
    与视图距离
    l
    的相关性。距离越远的对象,其视觉尺寸越小。在两倍距离处有一半大小,因此我们可以这样写:

    l0=(h1/h0)*l1
    l0=(h2/h0)*l2
    l1=(h0/h1)*l0
    l1=(h2/h1)*l2
    l2=(h0/h2)*l0
    l2=(h1/h2)*l1
    
    现在我们知道图像不是在同一时间拍摄的,所以如果我们假设速度是恒定的(对于我们测量的时间),那么图像
    0,1,2
    是在
    t0,t1,t2
    的时间拍摄的,所以对于恒定速度
    v
    我们知道:

    v=(l1-l0)/(t1-t0)
    v=(l2-l1)/(t2-t1)
    v=(l2-l0)/(t2-t0)
    
  • 其中:

    • v
      是相机和物体之间的相对速度
    • t0、t1、t2是拍摄照片的时间
    • l0、l1、l2
      是相机和物体在时间
      t0、t1、t2
    • h0、h1、h2
      是对象在时间
      t0、t1、t2
    为简单起见,我们可以在1秒的时间间隔内拍摄照片,因此:

        t1-t0=1
        t2-t1=1
        t2-t0=2
    
    这稍微简化了一些事情:

        v=(l1-l0)
        v=(l2-l1)
        v=(l2-l0)/2
    
    现在的问题是我们不知道物体的距离。上面的方程式并没有给出答案(至少我没有看到任何答案)。。。对于此任务,我们必须在场景中找到一些已知对象(etalone),并根据视觉距离
    h0
    和对象已知大小
    h1
    计算其实际距离
    z1
    。注意这些
    h0,h1
    不是上面的
    h0,h1
    。。。这只是对这幅画的尊重

        z1 = (h1/h0)*z0
    

    这样我们可以在时间
    (l0,l1,l2)
    中找到物体的真实距离,两个就足够了,速度也就简单了

        v = (l1-l0)/(t1-t0)
    
    这是垂直于相机轴的速度,所以如果你想要某个方向上的速度,那么只需通过向量的标量乘或sin将其投影到它上即可

  • 巡航速度

    更好的方法是在“地面”方向拍照,这消除了对场景中已知对象的需要,但你必须在特定方向安装相机,这并不总是可能的。此外,飞机的
    俯仰
    滚转
    也会对其产生很大影响,需要进行纠正

    这个想法很简单,在场景中找到任何不同的物体,测量它随时间移动的视觉距离。应用摄影机透视图和已知图像