1. 决策算法概述

大家好,我是你们这堂课的主讲人。在正式开始之前,我想先聊聊一个核心问题:为什么跟踪系统里需要决策算法?

你想想看,一个雷达或者摄像头,它每秒能产生成千上万个点迹。这些点迹里,哪些是目标?哪些是噪声?目标下一秒会往哪跑?要不要跟丢这个目标去追那个?——这些问题,光靠滤波是解决不了的。它们需要决策。

一句话总结:决策算法就是跟踪系统的“大脑”,它告诉系统“该做什么”。

什么是决策算法

说白了,决策算法就是一套规则或模型。它根据当前的状态和观测数据,输出一个行动指令。

举个例子。你在开车时看到前面有个障碍物。你的大脑会快速决策:是刹车?还是打方向?还是加速冲过去?——这就是决策。

在跟踪系统里,决策算法要回答的问题更具体:

  • 这个点迹是目标还是虚警?
  • 两个目标靠得太近,要不要合并成一个?
  • 目标丢失了,是继续搜索还是宣告跟踪结束?
  • 传感器资源有限,优先跟踪哪个目标?

我记得刚入行那会儿,带我的老工程师跟我说过一句话:“滤波是手艺,决策是艺术。”当时我不太理解。后来在项目中踩了不少坑,才慢慢品出这句话的味道。

决策算法在跟踪系统中的角色

我习惯把跟踪系统分成三层:

  1. 感知层:传感器采集数据,生成点迹或量测。
  2. 滤波层:用卡尔曼滤波、粒子滤波等方法估计目标状态。
  3. 决策层:决定怎么关联、怎么管理、怎么分配资源。

决策层是承上启下的关键。没有它,滤波做得再好也是白搭。

举个例子。我在做多目标跟踪项目时,遇到过一个问题:两个目标交叉飞行,点迹关联错了。滤波算法本身没问题,但决策层没有正确判断“哪个点迹属于哪个目标”,结果跟踪结果一塌糊涂。

我的经验:很多新手只关注滤波算法,忽略了决策。其实80%的跟踪失败,问题都出在决策环节。

决策算法在跟踪系统中的具体角色包括:

  • 数据关联:判断量测与航迹的对应关系
  • 航迹管理:航迹起始、确认、维持、终结
  • 资源分配:传感器调度、计算资源分配
  • 模式切换:跟踪模式、搜索模式、确认模式之间的切换

决策算法的分类

我一般把决策算法分成三大类。这三类各有千秋,也各有坑。

1. 规则基决策算法

这是最传统的方法。说白了,就是写死规则。

比如:

  • 如果点迹与航迹的距离小于阈值,则关联
  • 如果连续3帧没有更新,则终结航迹
  • 如果目标速度超过100m/s,则标记为高速目标

优点很明显:简单、可解释、调试方便。缺点也很致命:规则多了容易冲突,而且无法应对复杂场景。

避坑指南:我曾经在一个项目中,写了200多条规则。结果每次换场景都要重新调参,维护成本极高。后来我学乖了——能用规则解决的问题,尽量用规则;但别指望规则解决所有问题。

2. 优化基决策算法

这类方法把决策问题建模成优化问题。目标函数 + 约束条件,然后求解最优解。

常见的例子:

  • JPDA(联合概率数据关联):用概率加权的方式做关联
  • MHT(多假设跟踪):维护多个假设,选最优的
  • 匈牙利算法:解决分配问题

优化基方法的优势是理论上最优。但实际应用中,计算量往往很大。特别是目标数量多的时候,组合爆炸会让你怀疑人生。

我记得有一次做多目标跟踪,目标数量从10个增加到20个,MHT的假设数量直接翻了100倍。嗯,那台服务器差点没扛住。

3. 学习基决策算法

这是最近几年火起来的方向。用机器学习、深度学习来做决策。

比如:

  • 用神经网络判断点迹是否属于目标
  • 用强化学习做传感器调度
  • 用图神经网络做数据关联

学习基方法的优点是灵活、能处理复杂场景。但缺点也很明显:需要大量标注数据、可解释性差、容易过拟合。

我的建议:别一上来就上深度学习。先试试规则基,不行再上优化基,最后才考虑学习基。这个顺序能帮你省下大量时间。

三种方法的对比

我整理了一张表,方便你对比:

特性 规则基 优化基 学习基
复杂度 低 中 高
可解释性 高 中 低
灵活性 低 中 高
数据需求 无 少 多
适用场景 简单、稳定 中等复杂度 复杂、多变

本章知识体系

下面这张图,是我画的决策算法在跟踪系统中的整体框架。你可以把它当作本章的“地图”。

决策算法在跟踪系统中的框架 传感器量测 决策算法 规则基 | 优化基 | 学习基 跟踪结果 数据关联 航迹管理 资源分配 输入 → 决策(规则/优化/学习) → 输出 决策算法决定如何关联、管理、分配 规则基:简单、可解释 优化基:最优、计算大 学习基:灵活、数据多

小结

这一章我们聊了三个问题:

  • 什么是决策算法——就是告诉系统“该做什么”
  • 它在跟踪系统中的角色——数据关联、航迹管理、资源分配
  • 三大分类——规则基、优化基、学习基

我个人觉得,理解这三类方法的本质区别,比记住具体算法更重要。因为在实际项目中,你往往需要混合使用它们。

比如我最近做的一个项目:用规则基做初步筛选,用优化基做精确关联,用学习基处理异常情况。三种方法配合使用,效果比单用任何一种都好。

嗯,这一章就到这里。记住:决策算法不是万能的,但没有决策算法是万万不能的。

可可精品资料库