python寻找车辆_从图像中找出车辆的速度

本文介绍了如何利用Python和OpenCV来估计车辆速度。通过计算连续图像中车辆标记的位姿变化,结合相机焦距和采集频率,可以计算出车辆的行驶速度。位姿估计涉及匹配2D图像中标记的四个非共面点,并使用OpenCV的Posit算法来确定对象相对于相机的变换矩阵。此外,文章还讨论了选择适当标记物的要求,如需要具有3D结构以确保准确的位姿估计。
摘要由CSDN通过智能技术生成

知道采集频率后,现在必须找到标记连续位置之间的距离。在

为了找到这个距离,我建议您估计每个图像的标记的姿势。不严格地说,“姿势”是表示对象相对于摄影机的坐标的变换矩阵。一旦你有了这些连续的坐标,你就可以计算出距离,然后是速度。在

位姿估计是计算已知的3D物体相对于2D相机的位置和方向的过程。得到的姿势是描述对象在摄影机参照中的参照的变换矩阵。在

540a749cd07582d4de375ca339632d32.png

OpenCV实现了一个姿态估计算法:Given some 3D points (in object

coordinate system) of the object, at

least four non-coplanar points, their

corresponding 2D projections in the

image, and the focal length of the

camera, the algorithm is able to

estimate the object's pose.

这意味着:你必须知道你相机的焦距

你必须知道你的标记的几何结构

您必须能够匹配2D图像中标记的四个已知点

您可能需要使用OpenCV提供的calibration routines计算相机的焦距。我想你还有另外两个必要的数据。在

编辑:// Algorithm example

MarkerCoords = {Four coordinates of know 3D points}

I1 = take 1st image

F1 = focal(I1)

MarkerPixels1 = {Matching pixels in I1}

Pose1 = posit(MarkerCoords, MarkerPixels1, F1)

I2 = take 2nd image

F2 = focal(I2)

MarkerPixels2 = {Matching pixels in I2 by optical flow}

Pose2 = posit(MarkerCoords, MarkerPixels2, F2)

o1 = origin_of_camera * Pose1 // Origin of camera is

o2 = origin_of_camera * Pose2 // typically [0,0,0]

dist = euclidean_distance(o1, o2)

speed = dist/frequency

编辑2:(对评论的回答)"What is the acquisition frequency?"

计算车辆速度相当于计算标记的速度。(在第一种情况下,参照物是附着在地球上的标记物,在第二种情况下,参照物是附着在车辆上的摄像机。)这由以下等式表示:

^{pr2}$

有:D距离[o1 o2]

o1标记在时间t1的位置

o2标记在时间t2的位置

您可以通过从照片的元数据中提取t1和t2,或者从成像设备的采集频率来检索所用时间:t2-t1 = T = 1/F。在"Won't it be better to mark simple things like posters? And if doing so can't we consider it as a 2d object?"

对于Posit算法(或据我所知的任何其他姿势估计算法)来说这是不可能的:它需要四个非共面的点。这意味着不能选择嵌入三维空间的二维对象,必须选择具有一定深度的对象。在

另一方面,你可以使用一个简单的形状,只要它是一个体积。(例如立方体。)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值