【问题标题】:Object Tracking on Images like Google Street Views对 Google 街景等图像进行对象跟踪
【发布时间】:2023-04-02 03:34:01
【问题描述】:

问题:

是否可以对街道级别的图像(例如 Google 全景街景)使用跟踪算法?可以通过视频进行跟踪,并且每个视频帧都相当于一个图像,但是这些图像之间有 5 米的距离。

我尝试过的:

我已经尝试过深度排序跟踪算法,但它并不准确,而且大多会丢失对象。我在 Google 上找不到太多关于如何跟踪一组图像而不是视频的信息。

注意:

我有一个目录,里面全是全景图像,每幅图像相距 5 米。我在多张图片中看到相同的对象,但无法跟踪它们。

感谢任何帮助或指导。

【问题讨论】:

  • 请添加 2 个或更多图像样本
  • 图片添加@Guglie
  • 您是特别关心路牌,还是只需要跟踪对象?
  • @MatthewSalvatoreViglione 专门跟踪交通标志。我正在使用三角测量算法找到它的位置并且需要识别的第一个和第二个对象是相同的。

标签: python tensorflow deep-learning


【解决方案1】:

跟踪一组图像而不是视频应该不是问题,这与帧速率较慢的视频相同。我认为匹配失败的最可能原因是鱼眼失真(360 度成像的结果),您需要先将其移除,然后才能匹配标志。

360 度相机通常使用 2 个或更多带有鱼眼镜头的广角相机来捕捉照片,然后在软件中将它们拼接在一起。虽然这可以提供令人满意的 360 度图像,但鱼眼镜头会增加很多正向径向畸变。这意味着当您要跟踪的对象在相机的视野中移动时,它会变形,然后不再“看起来”像原始对象。

通常,您可以使用原始相机并执行相机校准以获得相机和失真矩阵,然后您可以使用该矩阵来消除图像失真,详见 OpenCV docs。这是了解失真来源以及如何处理失真的更多背景信息的好地方。

如果没有校准参数,您可以尝试以下几种方法:

估计相机和失真矩阵

信号处理 StackExchange 上的This answer 提到了如何做到这一点:

使用findHomography 计算单应性,然后使用warpPerspective 扭曲图像

完整的帖子有更多关于如何做到这一点的细节,但它相当简单,我之前使用过它并取得了不错的成功。 findHomography 将为您提供您需要传递给warpPerspective 的参数,以在不知道相机内在参数的情况下消除失真。

如果由于某种原因这不起作用,您可以尝试以下不太复杂的方法:

通过反复试验估计鱼眼(径向)失真,并将其传递给 undistort 以校正图像

This answerthis answer 详细说明如何执行此操作。你不会知道失真参数,所以你可以尝试一些,看看哪些值有更好或更差的结果。如果第一种方法不起作用,我只会尝试这个。

额外信息

我发现this 有点过时的研究论文将不失真集成到快速跟踪算法中。

【讨论】:

    【解决方案2】:

    您需要一个过滤器类型的球体,例如您的相机物镜,或 kalman filter,卡尔曼过滤器是噪声或误差预测算法,

    你需要 transform spheric coordenate 到二维,之后你需要使用

    kf = cv.KalmanFilter(4, 2)
    kf.measurementMatrix = np.array([[1, 0, 0, 0], [0, 1, 0, 0]], np.float32)
    kf.transitionMatrix = np.array([[1, 0, 1, 0], [0, 1, 0, 1], [0, 0, 1, 0], [0, 0, 0, 1]], np.float32)
    
    def Estimate(self, coordX, coordY):
        ''' This function estimates the position of the object'''
        measured = np.array([[np.float32(coordX)], [np.float32(coordY)]])
        self.kf.correct(measured)
        predicted = self.kf.predict()
        return predicted
    

    【讨论】:

    • 你知道为什么深度排序算法会失败吗?如果它具有良好的监控/日志功能,应该很容易确定原因,并且如果需要,编写起来也不会太难。
    • 我对深度排序算法一无所知,但如果它是一个众所周知、功能强大(并且实施得当)的工具,我猜它在谷歌地图上会失败,因为那些图像被严重扭曲以创建交互式全景效果。如果是这种情况,假设图像失真绝不是任意的,那么失真可能会根据您的目的得到足够的校正。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    • 2017-03-21
    • 2021-05-13
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    相关资源
    最近更新 更多