是否有任何机器学习技术来识别绘图/图像上的点?

数据挖掘 机器学习 r
2021-10-04 12:35:27

我有每辆车的横向位置随时间和车道数的数据,如下图的这 3 个图和下面的示例数据所示。

在此处输入图像描述

> a
   Frame.ID   xcoord Lane
1       452 27.39400    3
2       453 27.38331    3
3       454 27.42999    3
4       455 27.46512    3
5       456 27.49066    3

横向位置随时间而变化,因为人类驾驶员无法完全控制车辆的位置。变道操作在横向位置急剧变化时开始,并在变化再次变为“正常”时结束。这不能直接从数据中识别出来。我必须手动查看每辆车的绘图以确定变道操作的起点和终点,以估计变道的持续时间。但我的数据集中有数千辆车。您能否指导我使用任何可以训练以识别这些点的相关图像分析/机器学习算法?我在 R 工作。在此先感谢。

3个回答

从表面上看,一阶导数可以做到。但是,您显示的数据中包含大量噪声,因此我们需要一种方法来以某种无噪声的方式评估一阶导数,或者至少在消除抖动并保留主要导数变化的频域内进行评估。

小波分析可以为您实现这一点,特别是如果您使用高斯的一阶导数作为母小波。R 有一些不错的小波包(请参阅r-project.org了解初学者)。如果您在短尺度上进行小波变换,这将识别转向中抖动位的位置。如果您在更大的范围内(即较低的频率)执行此操作,您可能只会发现车道偏移,而不是微小的抖动。

如果您使用合理的数据集训练变换,您应该能够识别对应于车道变化的比例或比例范围。但请注意,如果您没有弄清楚,这类似于 O(n^2),因此请尝试将比例范围缩小一点以节省计算时间。

看起来你可以只寻找几秒钟的高于噪声导数。只需计算从每个时间步到最后一个(或前一个)的有限差分的绝对值,然后等待一系列高值。这就是变道发生的时候。

试试changepoint 包我在类似的情况下使用它。

变化点分析是检测两个“制度”之间变化的方法的统计名称。停留在车道上的汽车是在车道中点处坡度为 0 的线。您可以轻松地将统计模型拟合到在车道上行驶的汽车。换车道的汽车沿着坡度不为 0 的线行驶。模型已更改。Changepoint 分析和 changepoint 包正是您需要确定模型从y=a' (straight and level) toy=a+bx`(上升或下降)变化时的点。