多模态交通轨迹重建与立体图像拼接检测技术解析
多模态移动延迟模型
在交通场景中,从点 a 到点 b 的时间计算可以使用经典距离方程:
[t_{a,b} = \frac{d_{a,b}}{v_{a,b}} + \sum D_{a,b}^{abnormal}]
其中,(v_{a,b}) 是物体从 a 到 b 移动的固定速度,(d_{a,b}) 是两点间的距离(可离线获取)。
传统上,在对特定对象的移动性进行建模时,通常默认对象在整个模拟过程中的行为是一致的。但在实际场景中,目标可能会使用多种不同的交通方式,每种方式都有不同的移动特性。为此,引入了三种移动延迟模型:PMDM、TTMDM 和 NTMDM,并构建了多模态移动模型(MMM)来模拟它们之间的转换,以确保目标移动的连续性。
MMM 主要模拟两种不同模型(或同一模型的不同载体)之间的“转换行为”。一旦转换完成,就会调用相关的移动模型来模拟旅程下一部分的移动,直到需要进行下一次转换。转换分为“同质”转换(同一移动模型的两个载体之间,如换乘公交车)和“异质”转换(不同移动模型的两个载体之间,如从公交车换乘火车)。
在车辆场景中,我们关注的是由载体车辆运输的目标,而不是车辆本身,因此需要对进行转换的实体进行建模。在 PMDM 中,实体和载体是单一组件。当实体从任何模型转换到 PMDM 时,转换是平滑的,不会产生延迟;但在其他情况下,需要进行转换建模来计算实体在转换到下一个模型(或载体)之前的等待时间,主要方法是观察转换位置的载体时刻表,计算临时等待时间。
在一级转换中,实体从 PMDM 转换到 TTMDM 或 NTMDM,通常会因到达位置 x 的时间与目标模型的下一个载体出发时间之间的间隔而产生轻微的临时延迟。实体到达 x 后,会根据当前时间检查目标载体在当前位置的下一个出发时间,并计算时间差。
具体计算步骤如下:
1. 在场景图 (G_M) 中,道路用边 (E_{G_M}) 表示,交叉口用顶点 (V_{G_M}) 表示,转换只能在交叉口发生。设 (v_i \in V_{G_M}) 是一个转换顶点,有 n 个来自 TTMDM 或 NTMDM 的载体在此停靠,记为 (R_1, R_2, \ldots, R_n)。
2. 获取这 n 个载体的时刻表 (T_{R_1}, T_{R_2}, \ldots, T_{R_n}),并将它们转换为矩阵 (M_{R_1}, M_{R_2}, \ldots, M_{R_n}),其中行表示站点,列表示行程。
3. 从 (M_{R_1}, M_{R_2}, \ldots, M_{R_n}) 中提取与 (v_i) 对应的行,通过叠加这些行创建一个 3D 矩阵 (M_{v_i}),其维度为 (1 \times L \times n),其中 (L = \max{w(M_{R_1}), w(M_{R_2}), \ldots, w(M_{R_n})}),(w(M)) 是矩阵 M 的宽度(列数)。
4. 假设可以访问全局时钟,调用 (cTime()) 函数返回当前时间 (c)。使用 (c) 构建一个 (1 \times n) 的矩阵 (\hat{M}
{v_i} = [m
{1,1}, m_{1,2}, \ldots, m_{1,n}]),其中:
[m_{1,j} =
\begin{cases}
|c - m_{1,j,z}| + \epsilon & \text{if } z \geq c \geq z + 1 \
\epsilon & \text{if } c = z \text{ or } c = z + 1 \
\infty & \text{otherwise}
\end{cases}
]
(\epsilon) 是一个随机延迟,代表可能影响载体的因素(如交通状况)以及每个站点的等待时间。矩阵 (\hat{M}_{v_i}) 显示了当前位置 x 的实体等待经过 x 的载体 (R_1, R_2, \ldots, R_n) 的时间。
下面是这个过程的 mermaid 流程图:
graph TD
A[获取转换顶点 \(v_i\)] --> B[获取 n 个载体时刻表]
B --> C[转换为矩阵 \(M_{R_i}\)]
C --> D[提取 \(v_i\) 对应行]
D --> E[创建 3D 矩阵 \(M_{v_i}\)]
E --> F[获取当前时间 \(c\)]
F --> G[构建矩阵 \(\hat{M}_{v_i}\)]
轨迹重建
经典的缺失数据算法(如 EM 和数据增强算法)不能直接用于我们的场景,因为这些算法主要基于不完整数据进行统计推断,而不能重建轨迹。迭代采样算法(如马尔可夫链蒙特卡罗算法)也因同样的原因无法使用。因此,我们采用了一种不同的算法来填补缺失轨迹形成的“间隙”。
重建算法 AR 首先分别考虑每个间隙,对其进行重建,然后将重建后的间隙连接起来,得到目标 s 的完整轨迹。AR 有两个基本组成部分:
1. 一种名为权重边界搜索(WBS)的多图遍历算法。
2. 各种移动模型。
WBS 算法采用分支限界法来优化重建过程,使用“爬虫”遍历间隙并寻找合理的路线。对于顶点 (v_m) 和 (v_n) 之间的间隙 (G_p : v_m \to v_n),会在 (v_m) 生成一个爬虫 (C_{G_p}) 并向 (v_n) 广播。爬虫 (C_{G_p}) 维护两个数据结构:
1. 一个后进先出(LIFO)列表 (\chi_{C_{G_p}}),记录遍历的顶点和边。
2. 一个延迟变量 (\tau_{C_{G_p}}),初始值为 0。
爬虫 (C_{G_p}) 的具体操作步骤如下:
1. 初始化时,检查 (v_m) 的标签 (\ell_m = {R_y^x, \ldots, R_l^k}),使用公式 (\hat{\ell}
m =
\begin{cases}
|\ell_m| & \text{if } v_m \notin \overleftarrow{\rho} G \
|\ell_m| - k & \text{if } v_m \in \overleftarrow{\rho} G
\end{cases}) 定位其下一跳相邻顶点,其中 (k) 是 (v_m) 在 (\overleftarrow{\rho} G) 中出现的次数。
2. 找到所有下一跳邻居后,选择一个邻居 (v_u),找到 (v_m) 和 (v_u) 之间的边(路线)({e_i|e_i : v_m \to v_u}),并选择一条边 (e_i)。
3. 选择 (e_i) 后,将其标记为“已访问”,更新 (\chi
{C_{G_p}}) 并进行遍历。如果到达顶点 (v_k) 且只有一条未访问的边 (e_i),则将 (e_i) 标记为“已访问”,遍历该边,然后将 (v_k) 标记为“已耗尽”。
4. 根据连接 (v_m) 与其下一跳相邻顶点的边的类型,调用适当的移动模型(PMDM、TTMDM 或 NTMDM)计算边的延迟,并使用公式 (\tau_{C_{G_p}} = \tau_{C_{G_p}} + t_{v_x,v_y}) 更新 (\tau_{C_{G_p}}),其中 (t_{v_x,v_y}) 是相关移动模型为边 (e_i : v_x \to v_y) 返回的延迟。当到达 S 顶点 (v_y) 时,调用 MMM 更新 (\tau_{C_{G_p}}),即 (\tau_{C_{G_p}} = \tau_{C_{G_p}} + t_{v_y});但到达 U 顶点时,不调用 MMM。
5. 爬虫在找到合理或不合理的路线时会进行回溯。回溯条件包括:
- (\tau_{C_{G_p}} + \epsilon > t_{v_n,v_m})。
- 遍历到已经存在于 (\chi_{C_{G_p}}) 中的顶点/边。
- 到达间隙的另一端 (v_n)。
- 到达所有路线中都是尾端顶点(无后续顶点)的顶点 (v_j)。
WBS 算法在爬虫终止时结束,即爬虫到达所有相邻(下一跳)顶点都被标记为“已耗尽”的顶点时。可以证明,对于有限搜索图,WBS 算法最终会终止,并且是完整的。如果存在多个解决方案,算法会返回所有解决方案,并选择“最适合”的路线,即跳数最少的路线,同时可以通过观察返回路线的边和顶点的标签,选择使不同移动模型和/或同一模型的不同载体之间转换次数最少的路线。
以下是 WBS 算法的步骤表格:
|步骤|操作|
|----|----|
|1|在 (v_m) 生成爬虫 (C_{G_p})|
|2|检查 (v_m) 标签,定位下一跳邻居|
|3|选择下一跳邻居和边|
|4|标记边为“已访问”,更新 (\chi_{C_{G_p}}) 并遍历|
|5|根据边类型调用移动模型计算延迟,更新 (\tau_{C_{G_p}})|
|6|满足回溯条件时进行回溯|
|7|爬虫终止时算法结束|
立体图像拼接检测
立体图像与拼接检测背景
立体成像技术是在平面上创造深度错觉的方法,通过分别向左右眼展示同一场景的两个视角来实现。这两个视角可以由单个或多个图像捕捉设备获取,共同构成立体(3D)图像。立体图像在天文学、教育、环境取证、医学科学、机器人技术和娱乐等多个领域都有应用。
随着数字图像捕捉设备(如数码相机、数码摄像机、手持游戏机和智能手机)的发展,数字立体图像的拍摄变得非常普遍。然而,这也使得图像篡改变得更加容易,因此能够检测图像拼接变得至关重要。
虽然数字图像取证领域已经有了大量研究,但利用立体图像的深度信息进行拼接检测的研究相对较少。之前的研究表明,视差图可以辅助立体拼接检测,但结果仅限于非立体到立体的拼接。目前,还没有公开的研究使用深度信息进行立体图像拼接检测。
利用物体距离与内部深度关系检测拼接
物体的内部深度是指物体上最近和最远可见点相对于相机的距离差。在数字立体图像中,一个点可以用单个像素表示,点的距离通过该点在立体图像对的左右图像中的水平像素位置差来计算。当物体距离相机达到一定程度时,物体上的任意两点看起来距离相同,因为像素位置差小于一个像素,此时物体被认为没有内部深度。
如果立体图像中某个位置的物体本应没有内部深度却有,或者本应有内部深度却没有,这可能是拼接的迹象。为了检测这种异常,我们推导出了一个计算物体失去内部深度的距离的方程。
具体实验过程如下:
1. 准备一组带有前后目标标志的椅子,以表示内部深度。
2. 将椅子放置在不同的距离处并进行拍摄。
3. 测量椅子的内部深度,并将结果与使用推导方程得到的预期值进行比较。
4. 将一把椅子从有内部深度的距离处拼接至本应没有内部深度的区域,反之亦然。
5. 比较每个拼接椅子的内部深度与预期内部深度。
实验结果表明,物体失去内部深度的距离可以帮助检测立体图像拼接。
下面是这个实验过程的 mermaid 流程图:
graph TD
A[准备带标志椅子] --> B[放置椅子在不同距离]
B --> C[拍摄椅子]
C --> D[测量内部深度]
D --> E[与预期值比较]
E --> F[进行拼接操作]
F --> G[比较拼接后内部深度与预期值]
总结
本文介绍了多模态交通轨迹重建和立体图像拼接检测两项技术。在多模态交通轨迹重建方面,通过构建多模态移动模型(MMM)来模拟不同移动模型之间的转换,利用权重边界搜索(WBS)算法填补缺失轨迹的间隙,实现了目标轨迹的完整重建。对于立体图像拼接检测,通过研究物体距离与内部深度的关系,推导出计算物体失去内部深度距离的方程,并通过实验验证了该方程在检测立体图像拼接中的有效性。
这两项技术在交通分析和图像取证领域都具有重要的应用价值。多模态交通轨迹重建可以帮助分析目标的移动路径,为交通规划和安全监控提供支持;立体图像拼接检测则可以保障立体图像的真实性,防止图像篡改带来的不良影响。未来,这些技术有望在更多领域得到应用和发展。
以下是两项技术的对比表格:
|技术领域|核心方法|应用场景|优势|
|----|----|----|----|
|多模态交通轨迹重建|多模态移动模型(MMM)、权重边界搜索(WBS)算法|交通场景中目标轨迹重建|能够处理多种交通方式,完整重建目标轨迹|
|立体图像拼接检测|推导物体失去内部深度距离的方程|立体图像拼接检测|利用深度信息有效检测拼接|
超级会员免费看
56

被折叠的 条评论
为什么被折叠?



