Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在谷歌街景等图像上进行对象跟踪_Python_Tensorflow_Deep Learning - Fatal编程技术网

Python 在谷歌街景等图像上进行对象跟踪

Python 在谷歌街景等图像上进行对象跟踪,python,tensorflow,deep-learning,Python,Tensorflow,Deep Learning,问题: 有没有可能对谷歌全景街景这样的街道级图像使用跟踪算法?可以跟踪视频,每个视频帧相当于一个图像,但这些图像之间有5米 我尝试过的: 我曾经尝试过深度排序跟踪算法,但它并不精确,而且大多会丢失对象。我在谷歌上找不到多少关于如何跟踪一组图像而不是视频的信息 注意: 我有一个目录,里面满是相隔5米拍摄的全景图像。我在多个图像中看到相同的对象,但无法跟踪它们 感谢您的帮助或指导。您需要一个过滤器类型,如您的相机物镜,或一个卡尔曼滤波器,用于噪声或误差预测 需要使用后,您需要创建二维 kf =

问题:

有没有可能对谷歌全景街景这样的街道级图像使用跟踪算法?可以跟踪视频,每个视频帧相当于一个图像,但这些图像之间有5米

我尝试过的:

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

注意:

我有一个目录,里面满是相隔5米拍摄的全景图像。我在多个图像中看到相同的对象,但无法跟踪它们


感谢您的帮助或指导。

您需要一个过滤器类型,如您的相机物镜,或一个卡尔曼滤波器,用于噪声或误差预测

需要使用后,您需要创建二维

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

跟踪一组图像而不是视频不应该是个问题,这与帧速率较低的视频相同。我认为匹配失败的最有可能的原因是鱼眼失真(360成像的结果),在匹配符号之前,需要去除鱼眼失真

360度相机通常使用2个或更多带有鱼眼镜头的广角相机来拍摄照片,然后在软件中将它们缝合在一起。虽然这可以提供令人满意的360度图像,但鱼眼镜头增加了很多正的径向失真。这意味着,当要跟踪的对象在摄影机的视野中移动时,它会发生扭曲,然后不再“看起来”像原始对象

通常,您可以访问原始相机,并可以执行相机校准以获得相机和失真矩阵,然后可以使用该矩阵来消除图像的失真,如中所述。这是一个很好的地方,可以提供更多关于失真来源和处理方法的背景信息

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

估计摄像机和畸变矩阵 关于信号处理,StackExchange提到了如何做到这一点:

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

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

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

通过反复试验估计鱼眼(径向)失真,并将其传递到“无失真”以校正图像 并详细说明如何做到这一点。您不知道失真参数,因此可以尝试一些,看看哪些值的结果更好或更差。只有在第一种方法不起作用的情况下,我才会尝试这种方法

额外信息
我发现了一篇稍微过时的研究论文,它将不失真融入了一种快速跟踪算法中

请添加2个或更多图像样本image added@GuglieDo您是否特别关心街道标志,或者您是否只需要跟踪对象?@MatthewSalvatoreViglione指定跟踪交通标志。我正在使用三角剖分算法来找到它的位置,需要确定第一个和第二个物体是相同的。你知道为什么深度排序算法失败了吗?如果它具有良好的监控/日志功能,那么应该很容易确定原因,如果需要,也不太难编写。我对Deep Sort algo一无所知,但是如果它是一个众所周知的、功能强大(并且正确实现)的工具,我猜谷歌地图是失败的,因为为了创造互动全景效果,这些图像被严重扭曲。如果是这样的话,假设图像失真不是任意的,那么失真很可能会得到足够的纠正。