UAV-Speed:基于 YOLO 目标跟踪与相机运动补偿的单目无人机车辆测速(二)——加权滑动平均速度优化

UAV-Speed:基于 YOLO 目标跟踪与相机运动补偿的单目无人机车辆测速(二)——加权滑动平均速度优化

文章目录


前言

在这里插入图片描述

在前期工作中,我们实现了一套基于单目无人机视频的车辆速度估计算法框架,结合目标检测、目标跟踪与单应性背景补偿,在复杂斜视场景下实现了连续的目标速度估计,并在多段真实无人机视频中完成了验证。(具体详情请看前文)欢迎大家给我们的项目点赞支持

相关代码与实验配置已开源于 GitHub:
👉 https://github.com/Thamkench/uav-speedlab

在进一步实验过程中发现,采用固定系数指数滑动平均(EMA)的速度平滑策略,在检测噪声、几何不稳定或目标接近图像边缘时,仍可能出现局部速度波动。为此,本文在原有框架基础上,引入了一种基于置信度加权的自适应速度平滑方法,将多种影响测速可靠性的因素统一纳入平滑权重设计中,以提升速度估计在真实场景下的稳定性与可解释性。


一、pandas是什么?

1. 背景与研究动机

在无人机测速模块的初始实现中,目标速度通常通过两次连续观测之间的空间位移与对应时间间隔直接计算得到。该方法虽然具有较高的瞬时响应性,但对检测噪声、目标框抖动、单应性估计不稳定以及目标在图像边缘处发生的部分截断现象高度敏感。因此,直接计算得到的瞬时速度在时间序列上往往呈现出明显的帧间波动,从而显著降低了测速结果的稳定性与物理可解释性。

为缓解上述问题,系统随后引入了固定系数的指数滑动平均(Exponential Moving Average, EMA)对速度进行平滑处理。在第 (k) 帧处,平滑速度被定义为

V s m o o t h ( k ) = α V r a w ( k ) + ( 1 − α ) V s m o o t h ( k − 1 ) , α = 0.6. V_{\mathrm{smooth}}^{(k)}= \alpha \, V_{\mathrm{raw}}^{(k)} + (1-\alpha)\, V_{\mathrm{smooth}}^{(k-1)}, \quad \alpha = 0.6 . Vsmooth(k)​=αVraw(k)​+(1−α)Vsmooth(k−1)​,α=0.6.

该方法在一定程度上改善了速度曲线的时间连续性。然而,固定的平滑系数隐含地假设所有瞬时速度观测具有相同的可信度。在真实的无人机应用场景中,速度观测的可靠性会随着检测质量、几何稳定性、目标空间位置以及运动连续性等因素发生显著变化。因此,在复杂场景下采用常数平滑因子仍然存在明显局限。


2. 置信度加权指数滑动平均方法

针对上述问题,本次更新将固定的平滑系数替换为随时间变化的置信度权重 (W_k \in [0,1]),从而得到自适应的速度更新形式:

V s m o o t h ( k ) = W k V r a w ( k ) + ( 1 − W k ) V s m o o t h ( k − 1 ) . V_{\mathrm{smooth}}^{(k)}= W_k \, V_{\mathrm{raw}}^{(k)} + (1 - W_k)\, V_{\mathrm{smooth}}^{(k-1)} . Vsmooth(k)​=Wk​Vraw(k)​+(1−Wk​)Vsmooth(k−1)​.

其中,当前帧速度观测对最终平滑结果的贡献由其置信度进行调制。当观测可信度较高时,(W_k) 取值较大,平滑速度能够快速响应瞬时测速结果;当观测可信度较低时,(W_k) 被抑制,系统将更多依赖历史速度信息,从而增强整体稳定性。


3. 组合置信度权重的定义

瞬时置信度权重由多个相互独立的子权重构成,每一项分别刻画一种潜在的不确定性来源。整体权重定义为

W r a w = w b b o x ⋅ w h o m o ⋅ w Δ v ⋅ w e d g e . W_{\mathrm{raw}}= w_{\mathrm{bbox}} \cdot w_{\mathrm{homo}} \cdot w_{\Delta v} \cdot w_{\mathrm{edge}} . Wraw​=wbbox​⋅whomo​⋅wΔv​⋅wedge​.

该乘性结构保证了当任意一个因素显著退化时,当前速度观测的整体可信度能够被有效抑制。

为避免权重在时间维度上发生剧烈变化,可对其进一步进行时间平滑处理:

W k = η w W r a w + ( 1 − η w ) W k − 1 . W_k= \eta_w \, W_{\mathrm{raw}} + (1 - \eta_w)\, W_{k-1} . Wk​=ηw​Wraw​+(1−ηw​)Wk−1​.


4. 目标框一致性权重(Bounding-Box Consistency Weight)

在第 (k) 帧处,目标检测框的特征尺度定义为

s k = w k h k , s_k = \sqrt{w_k \, h_k}, sk​=wk​hk​​,

其中 (w_k) 与 (h_k) 分别表示检测框的宽度和高度。为描述目标尺度的长期变化趋势,引入指数滑动平均形式的参考尺度:

s r e f ( k ) = ρ s i z e s k + ( 1 − ρ s i z e ) s r e f ( k − 1 ) . s_{\mathrm{ref}}^{(k)}=\rho_{\mathrm{size}} \, s_k + (1 - \rho_{\mathrm{size}})\, s_{\mathrm{ref}}^{(k-1)} . sref(k)​=ρsize​sk​+(1−ρsize​)sref(k−1)​.

当前尺度相对于参考尺度的偏差定义为

δ s = ∣ s k − s r e f ( k ) ∣ s r e f ( k ) + ε . \delta_s= \frac{\lvert s_k - s_{\mathrm{ref}}^{(k)} \rvert} {s_{\mathrm{ref}}^{(k)} + \varepsilon} . δs​=sref(k)​+ε∣sk​−sref(k)​∣​.

该偏差通过高斯衰减函数映射为目标框一致性权重:

w b b o x = max ⁡ ( w min ⁡ , b b o x , exp ⁡ ( − δ s 2 2 σ b b o x 2 ) ) . w_{\mathrm{bbox}}= \max \left( w_{\min,\mathrm{bbox}}, \; \exp \left( -\frac{\delta_s^2}{2\sigma_{\mathrm{bbox}}^2} \right) \right) . wbbox​=max(wmin,bbox​,exp(−2σbbox2​δs2​​)).

该权重用于抑制由遮挡、检测不稳定或目标关联错误引起的异常尺度变化对速度估计的影响。


5. 单应性质量权重(Homography Quality Weight)

设 (r) 表示单应性估计中的内点比例,(N) 表示内点数量,则二者分别归一化为

r n = c l i p ( r − r 0 1 − r 0 , 0 , 1 ) , N n = c l i p ( N N 0 , 0 , 1 ) . r_n= \mathrm{clip} \left( \frac{r - r_0}{1 - r_0}, \, 0, \, 1 \right), \qquad N_n= \mathrm{clip} \left( \frac{N}{N_0}, \, 0, \, 1 \right). rn​=clip(1−r0​r−r0​​,0,1),Nn​=clip(N0​N​,0,1).

基于上述归一化结果,单应性质量权重定义为

w h o m o = w min ⁡ , h + ( 1 − w min ⁡ , h ) r n N n . w_{\mathrm{homo}}= w_{\min,\mathrm{h}} + (1 - w_{\min,\mathrm{h}})\, r_n \, N_n . whomo​=wmin,h​+(1−wmin,h​)rn​Nn​.

该权重反映了用于将图像空间位移映射到真实世界尺度的几何关系的可靠程度。


6. 图像边缘邻近权重(Image Border Proximity Weight)

设目标中心在图像坐标系中的位置为 ((x, y)),图像分辨率为 (W \times H),则目标中心到图像边界的最小距离定义为

d = min ⁡ ( x , y , W − x , H − y ) . d = \min(x, y, W - x, H - y) . d=min(x,y,W−x,H−y).

定义边缘带宽为

d 0 = e d g e _ r a t i o ⋅ min ⁡ ( W , H ) . d_0 = \mathrm{edge\_ratio} \cdot \min(W, H) . d0​=edge_ratio⋅min(W,H).

对应的边缘邻近权重定义为

w e d g e = { w min ⁡ , e d g e + ( 1 − w min ⁡ , e d g e ) d d 0 , d < d 0 , 1 , d ≥ d 0 . w_{\mathrm{edge}}= \begin{cases} w_{\min,\mathrm{edge}} + \left(1 - w_{\min,\mathrm{edge}}\right)\dfrac{d}{d_0}, & d < d_0, \\[6pt] 1, & d \ge d_0 . \end{cases} wedge​=⎩⎨⎧​wmin,edge​+(1−wmin,edge​)d0​d​,1,​d<d0​,d≥d0​.​

该项用于降低目标靠近图像边缘时速度估计的权重,以缓解因目标截断和定位误差带来的不稳定性。


7. 速度突变门控权重(Speed Jump Gating Weight)

为抑制异常的速度突变,引入允许的最大速度变化阈值:

Δ V max ⁡ = d v a + d v b ⋅ V s m o o t h . \Delta V_{\max}= d v_a + d v_b \cdot V_{\mathrm{smooth}} . ΔVmax​=dva​+dvb​⋅Vsmooth​.

速度变化的归一化幅值定义为

x = ∣ Δ V ∣ Δ V max ⁡ + ε . x= \frac{\lvert \Delta V \rvert} {\Delta V_{\max} + \varepsilon} . x=ΔVmax​+ε∣ΔV∣​.

基于上述定义,速度突变门控权重表示为

w Δ v = max ⁡ ( w min ⁡ , Δ v , 1 1 + x p ) . w_{\Delta v}= \max \left( w_{\min,\Delta v}, \; \frac{1}{1 + x^p} \right) . wΔv​=max(wmin,Δv​,1+xp1​).

该机制能够有效抑制物理上不合理的速度跳变,同时在正常运动情况下保持足够的响应性。


8. 讨论与总结

在这里插入图片描述


在这里插入图片描述

本文提出的基于置信度加权的指数滑动平均方法,将多种与测速可靠性相关的因素统一纳入自适应平滑框架之中。与固定系数的 EMA 方法相比,该方法在高置信度条件下保持了良好的响应能力,同时在检测噪声、几何不稳定、图像边缘效应以及异常速度突变等情况下表现出更强的鲁棒性。最终得到的速度估计在时间维度上更加平滑、在物理意义上更加合理,并具备良好的可解释性,适用于实际无人机监测与交通分析等应用场景。

总结

本次更新在原有无人机目标测速框架的基础上,引入了基于置信度加权的自适应速度平滑机制,以替代传统固定系数的指数滑动平均方法。通过综合考虑检测尺度稳定性、单应几何可靠性、速度突变一致性以及目标在图像中的空间位置等因素,新方法在复杂真实场景下显著提升了速度估计结果的稳定性与物理合理性,同时保持了对真实速度变化的响应能力。

完整实现、实验配置与示例结果已同步更新至项目仓库:
👉 https://github.com/Thamkench/uav-speedlab
欢迎访问、交流与 ⭐ Star 支持。

Read more

VS Code + WSL 下 GitHub 访问不稳定 & Copilot/Codex 一直 Thinking 的完整解决方案(国内平台安全版)

VS Code + WSL 下 GitHub 访问不稳定 & Copilot/Codex 一直 Thinking 的完整解决方案(国内平台安全版) 本文记录一次开发环境排查过程: 从 VS Code + WSL 环境下 GitHub 克隆失败,到 Copilot/Codex 长时间停在 “Thinking…” 的完整解决步骤。 特别说明: 文中提到的 “网络辅助工具”“连接加速端口”“外网连通性优化” 都指代常见的 网络优化方式,用于解决访问境外开发资源时的稳定性问题(GitHub、Copilot 等)。 📌 一、问题概述 使用 VS Code + WSL 进行开发时可能遇到以下问题: ❌ 1. Git clone 失败 fatal:

扫频信号 (Sweep/Chirp Signal) 原理与应用

扫频信号 (Sweep/Chirp Signal) 原理与应用

目录 前言 1. 什么是扫频信号? 2. 波形频率是如何变化的? 3. 扫描率 (Sweep Rate) 计算 2. 直观理解:与普通正弦波的区别 3. 常见分类 4. 核心作用:为什么要用扫频信号? 5. 项目实战分析 (结合 FPGA/C++ 代码) 实际测试结果: 测试信号:方波线性扫频(100Hz ~ 125kHz) 测试信号:正弦波线性扫频(100Hz ~ 2MHz) 实验建议 优化后的 FFT 绘图代码 6. 总结 前言         本文旨在记录扫频信号(Chirp)的时频特性,为后续基于扫频法的AD芯片性能测试与数据分析提供理论参考。 1. 什么是扫频信号? 定义:         扫频信号(Sweep

github copilot学生认证教程,免费使用两年Copilot Pro!!(避免踩坑版)

github copilot学生认证教程,免费使用两年Copilot Pro!!(避免踩坑版)

先放结果,本人是先后申请了三次: 1、第一次直接用的学生证,打开对着电脑摄像头直接拍了一张,失败了,如下,理由是没有开启双重认证!!,并且学生证内页没有学校名称!! 2、第二次开了双重认证之后我又重新提交了一次,这次使用的是学信网上的中英文对照截图,又失败了,理由如下: 简单来说就是,(1)开了代理;(2)定位不在学校附近,也就是与主页信息处的Location不相符(这个后面会讲!);(3)个人信息不完整 3、在前面所有错误修改完善之后,我又查看了大量的相关帖子和教程,最终打造出一个完美的申请流程,终于出现了这个,而且是秒通过!!! --------------------------------------------------------------------------------------------------------------------------------- 本文所有步骤均为实操,安全有保障,帖子随意看,对您有用的话还希望给个三连,祝好运!! 下面开始手把手教程,保证详细,仅此一篇足以!!! 一、申请前提 1、GitHub账号一个,ht

机器人架构搭建核心准则:先论文论证,后工程落地

机器人架构搭建核心准则:先论文论证,后工程落地

原创声明:本文为原创技术干货,基于真实工程实践总结,未经授权严禁转载与篡改。 本文写给那些正在或将要主导机器人架构的技术决策者与一线工程师——无论你是CTO、架构师,还是嵌入式开发、算法工程师,只要你关心如何让机器人项目不再烂尾,这篇文章值得你读完。 注意:文中反复出现的“论文”,特指“工程论文”(区别于学术论文),是一份写给团队自己的工程蓝图。请务必读完第二部分的定义,再决定是否认同。 核心观点 在机器人架构设计与实施过程中,先完成系统性论文论证,再开展工程化架构落地,是保障项目可行、流程闭环、资源高效利用的核心前提,也是区分专业机器人架构师与无序开发的关键标准。 金句:先论文后落地,本质上是用确定性的逻辑推导,去对抗不确定性的物理世界。 一、行业普遍认知误区 当前机器人领域从业者普遍存在开发误区:直接跳过前期规划与逻辑论证,盲目开展硬件采购、框架搭建、代码开发与接口调试,将功能拼接等同于架构设计。这种模式缺乏顶层逻辑支撑与可行性验证,本质是无方向的盲目实施,也是多数机器人项目停滞、返工、烂尾的核心诱因。 这种开发就像农村自建房,凭感觉垒砖,从不考虑地质勘测和结构力学