返回工作笔记
NOTE ARCHIVE现场记录技术判断2026-08-31
无人机AI识别项目交付

MQTT 实时信息为什么决定 AI 线索能不能追溯

无人机 AI 识别生成一条线索时,图片、框和类别只完成了一半。识别时刻的飞行状态、云台角度、载荷和时间差,决定了这条线索以后能不能解释。

Clark 更新于 2026-08-31 阅读约 6 分钟 阅读 9
阅读导航

我以前看 AI 线索,最先看的是图片、类别和置信度。后来做无人机项目,才慢慢把注意力挪到另一组字段上。

识别那一刻,飞机在哪里,高度是多少,云台往哪看,用的是哪一路载荷,消息晚了多久。

这些字段平时不起眼。出问题时,它们就是能不能把事情讲清楚的证据。

一条线索不能只剩一张图

AI 识别服务生成线索时,常见字段是图片、目标类别、检测框、置信度和识别时间。这个结构能让页面展示结果,也能让人判断模型有没有认出来。

但它解释不了目标位置从哪里来。

无人机在飞。镜头在动。云台角、航向角、飞行高度、变倍值都可能变化。同一个画面框,放在不同姿态下,对应的地面位置会完全不同。

所以线索里要保存识别时刻的实时快照。至少要能回到当时的无人机位置、飞行姿态、云台姿态、载荷编号和消息时间。

原始快照和结构化字段都要留

项目文档里有一个设计我觉得很实用。实时信息要保存两份。

数据用处
原始 MQTT 快照后续复算和排查字段变化
结构化字段页面展示、筛选、地图定位和统计

只保存结构化字段,后面字段解析错了很难回头。只保存原始 JSON,页面和查询又会很难做。

两份都留,系统看起来多存了一点东西,后面少很多解释成本。

时间差要显式记录

MQTT 属性消息不一定和 AI 识别完全同一毫秒发生。更现实的做法,是按设备和识别时间去找附近的快照,再把时间差记下来。

这里最要紧的是把匹配过程记清楚,让结果知道自己是怎么来的。

如果匹配到了,就记录匹配状态和延迟。

如果超时了,线索仍然可以入库,但要标记实时信息缺失或超时。

如果载荷没对上,就不要把另一只镜头的云台角拿过来用。

我现在会要求的几个状态

状态我希望系统怎么处理
matched可以展示实时信息,并参与后续定位判断
timeout保留识别结果,提醒实时信息超过有效窗口
missing保留图片和类别,不生成可信目标坐标
parse_failed保存原始快照,结构化字段留待排查

这几个状态比一个空值有用得多。空值只告诉你没有结果,状态能告诉你为什么没有结果。

留给下次

MQTT 接入不要只验收“能收到消息”。要验收它能不能和 AI 识别结果绑在一起,能不能解释一条线索从图片到坐标的过程。

线索能追溯,项目后面才有复盘的余地。