基于观测器与事件触发的多智能体跟踪共识控制设计
做过多智能体协同控制的人都知道真正让系统“做得出来”的往往不是编队队形怎么画而是这些条件怎么同时成立状态测不全、通信带宽受限、系统本身还有扰动。这篇内容想聊的就是在这种背景下一个基于“观测器事件触发”的跟踪共识方案是怎么拆解、推导并仿真验证的。目标系统是一般线性多智能体系统每个智能体用 ẋAxBu、yCx 描述。核心要解决的问题是所有智能体如何只靠局部输出测量和按需触发的通信始终跟上领导者参考动态。适合正在做多智能体输出反馈、事件触发控制相关课题的研究生也想给想把分布式控制落到工程现场的朋友一个完整参考。1. 这类系统到底解决什么问题1.1 从无人机编队和AGV车队说起想象一下无人机编队里不是每架机器都能直接读到自己的全部状态很多内部变量只能靠估计地面AGV车队也一样底层传感器通常只给出位置和航向角速度要么靠微分要么靠观测。与此同时节点之间的通信链路并不宽裕如果每时每刻都互相广播数据带宽先撑不住。这时候所谓“跟踪共识”指的就是整个群体要一起追上一条领导者的参考轨迹。参考轨迹可以由一架领航机、一辆引导车或者一个虚拟信号发生器产生而且这个参考信号不一定传给了所有节点只有部分节点能直接拿到它。其他节点要在通信受限的前提下通过邻居之间的信息交互把领导者的动态“拼”出来并让自己的状态同步过去。可以用一个日常类比来理解一个经验丰富的领跑者在前面跑后面的跑者不能每步都开口问只能偶尔听到口令调步速。这里的“口令”就是事件触发机制里按需发出的通信包“调步速”就是控制输入。这个系统能跑成什么样取决于口令什么时候发、发给谁以及每个人怎么消化这条口令。1.2 “一般线性”为什么值得做早期多智能体文献里大量研究集中在单积分器模型也就是 ẋ_i u_i或者双积分器模型 ẋ_i v_i、v̇_i u_i。这类模型处理位置和速度的编队问题很直观但一旦被控对象内部有弹性、阻尼、摩擦等机理或者存在明显的惯性耦合简单积分器模型就不够用了。“一般线性多智能体系统”就是把每个智能体直接写成ẋ_i Ax_i Bu_i w_i y_i Cx_i这里的 A、B、C 是公共的系统矩阵各智能体共享相同的开环动力学。相比单/双积分器这种描述能覆盖更广泛的工业对象比如带阻尼的伺服转台、含弹性负载的电机驱动、耦合振荡器等等。理论上只要 (A,B) 可镇定、 (A,C) 可检测后面设计观测器和控制器的方法就是统一的。这也是标题选择“一般线性”的原因之一结论不过度依赖某一类特殊结构而是建立在状态空间表示的通用框架上。对做工程的人来说把模型往这个框架里套得到的控制协议可以复用不用每次换对象都重新推一遍。1.3 “非理想”具体指哪些因素“非理想”这个词对应的是理想假设——理想情况下大家默认状态可直接测量、通信随时可用、系统模型精确无误。现实显然不是这样主要影响因素可以整理成三类非理想因素典型表现对控制的影响外部扰动与模型不确定性风扰、负载突变、参数漂移系统状态无法精确收敛到原点只能保证最终有界状态不可全测传感器只能测位置/输出速度等内部状态缺失必须基于输出设计观测器重构状态通信约束带宽有限、链路干扰、通信成本高需要引入事件触发机制降低通信频率在后面的分析中外部扰动一般建模成有界干扰项 w_i(t)它不会破坏系统的稳定性结构但决定了跟踪误差最终能收敛到多小。状态不可全测则直接决定了协议形式不能直接用 x_i只能先构造观测器估计 x̂_i。通信约束决定了不能采用周期同步触发而是让节点在误差明显累积时才发起一次通信。三条线索汇到一起技术路线就很自然了观测器负责状态重构事件触发负责通信压缩控制协议负责把两者组织起来完成跟踪共识。2. 跟踪共识的整体设计思路2.1 为什么要加观测器状态反馈控制的形式很优雅比如 u_i K∑_{j∈Ni} (x_i - x_j)但使用前提是每个节点都能把自己的完整状态发给邻居。这在状态可测、带宽充足的仿真里成立到了实际系统往往做不到。于是必须绕到输出反馈这条路上而输出反馈最直接的工具就是观测器。当时我采用的是经典 Luenberger 观测器结构x̂̇_i A x̂_i Bu_i L(y_i - C x̂_i)观测器的思想可以类比成汽车导航的“预测-校正”先用模型预测下一时刻位置再用 GPS 测量值和预测值的偏差去修正预测结果。这里的 L 就是修正增益通过让 A-LC 成为 Hurwitz 矩阵观测误差 e_obs,i x_i - x̂_i 会按指数速度收敛到零或者在有扰动时收敛到一个小邻域。这里有个容易忽略的点L 的选择不能只看稳定性。极点放得越远观测器收敛越快但同时对测量噪声的放大也越严重。实际操作中我一般先把 A-LC 的极点放在主导闭环极点的左侧不远处保证观测器比控制器快一个数量级左右而不是无脑往左推。2.2 事件触发机制怎么选时间触发控制是最省心的方案固定采样周期到点就通信。但问题是系统状态接近一致时每步都在发送大量冗余信息。对电池供电的移动平台、无线自组网场景来说这种浪费很可惜。事件触发的思路是只有当某个“误差信号”超过预设阈值节点才更新并发送自己的状态估值。定义一个触发误差来刻画“缓存值”和“当前值”之间的差距ε_i(t) x̂_i(t_k^i) - x̂_i(t), t ∈ [t_k^i, t_{k1}^i)t_k^i 是节点 i 第 k 次事件触发时刻。它表达了这样一个事实在两次事件之间节点 i 对外的输出值一直停留在触发时刻的快照没有跟随真实状态更新。只有当 ε_i 过了线节点才会重新广播当前估计值并清零误差。常用触发条件可以写成相对形式ε_i^T Φ ε_i ≤ σ δ_i^T Φ δ_iσ 是触发阈值Φ 是与 Lyapunov 矩阵相关的正定矩阵δ_i 是局部跟踪误差。σ 越小通信越频繁系统性能越好σ 越大通信越省但控制精度变差。这里“相对触发”而不是“绝对阈值触发”的关键原因是系统从初始位置到收敛误差尺度变化通常跨越几个数量级固定绝对阈值会要么前期频繁触发、要么后期精度不足。2.3 一个可落地的控制协议骨架整个协议可以写成这样的离散更新形式u_i(t) K [ ∑_{j∈Ni} a_ij( x̂_i(t_k^i) - x̂_j(t_{k}^j) ) d_i( x̂_i(t_k^i) - x̂_0(t_k^i) ) ]其中 x̂_j(t_{k}^j) 表示节点 i 在触发时刻拿到的、关于邻居 j 的最近一次缓存值。d_i 为 1 表示节点 i 能直接获取领导者信息否则为 0。K 是待设计的控制器增益。协议的结构可以拆成两路一路是来自图邻接关系的邻居一致性项负责让相邻智能体的状态估计趋同另一路是领导者追踪项负责把系统往参考轨迹上拉。两路的比例由图拉普拉斯矩阵和领导接入标志 d_i 决定。事件触发在这里的作用是所有的通信都发生在事件时刻两次事件之间控制量保持不变但系统仍然可以通过触发条件的动态变化再被“唤醒”。这个骨架看起来简单真正实现时要注意“邻居的缓存值怎么维护”每个节点需要记录每个邻居最近一次广播的时间戳和对应估值。这个在仿真里很好实现但在真实通信协议栈里需要一个可靠的时间戳机制否则会导致陈旧数据混入控制回路。3. 理论推导的关键步骤3.1 模型假设与误差系统为了把问题写清楚系统模型整理如下。跟随者模型ẋ_i Ax_i Bu_i w_i y_i Cx_i领导者模型参考信号源ẋ_0 Ax_0 Bu_0这里假设领导者输入 u_0 未知但有界。这个假设很关键它让问题从“完美跟踪”变成“有界误差跟踪”也符合一般线性系统在非理想情况下的分析框架。定义观测器误差和跟踪误差e_i x_i - x̂_i δ_i x̂_i - x̂_0不过 x̂_0 并不容易定义因为大多数节点拿不到领导者完整状态。实际处理方式是构造一个分布式观测器让每个节点迭代估计领导者状态再由 δ_i 与邻居的估计做比较。为了叙述简洁这里先假设存在一个参考估计向量 x̂_0,i它通过局部更新规则收敛到 x_0 附近。观测器误差动力学为ė_i (A - LC)e_i w_i当 A-LC 是 Hurwitz 且 w_i 有界时观测误差会进入一个最终有界区间。跟踪误差 δ_i 的动力学则与控制协议、图结构、触发误差直接相关需要通过 Lyapunov 方法统一处理。3.2 稳定性分析与触发条件求解稳定性分析的思路是选一个包含所有节点跟踪误差和观测器误差的 Lyapunov 函数V ∑ δ_i^T P δ_i η ∑ e_i^T Q e_i其中 η 是一个权重调节参数。控制增益 K 的设计通常和黎卡提方程绑定可以选择 K -B^T P 的形式P 满足PA A^T P - 2λ_2 PBB^T P I 0λ_2 是图拉普拉斯合并矩阵的最小非零特征值它拧合了图结构和黎卡提方程之间的关系。这也是为什么拓扑对控制增益有直接影响链路越“稀疏”λ_2 越小能满足不等式的 P 就需要让系统付出更大的控制代价。把 δ_i 的动力学代入 V 的导数后会出现由触发误差 ε_i 引起的正项。要让 V̇ 0就需要触发条件保证ε_i^T PBB^T P ε_i ≤ σ δ_i^T PBB^T P δ_i这一步是整个设计里逻辑最要紧的地方如果触发阈值 σ 设置过大正项可能会压过负项Lyapunov 函数不再单调递减系统就会出现极限环甚至发散。反过来σ 设置足够小负项主导跟踪误差收敛到原点附近。有扰动时结论会从“渐近收敛”变成“最终有界”收敛边界的大小由扰动上界、σ 和观测器极点共同决定。实际调参时我一般先把扰动忽略调出 K 和 L再加上扰动用事件阈值去折中通信量和最终精度。3.3 排除Zeno行为事件触发控制系统要成立必须保证触发间隔不会被压缩成连续触发也就是没有 Zeno 行为。如果智能体在有限时间内触发无穷多次那事件触发的优势就完全不存在了。排除 Zeno 的经典做法是给触发间隔找一个正下界。在两次事件之间触发误差 ε_i 从零开始增长它的导数由系统状态、观测器误差、扰动和邻居状态共同决定。在收敛过程中这些量都有界于是存在常数 c 使得‖ε̇_i‖ ≤ c‖ε_i‖ m由此可得触发间隔 τ_k 满足τ_k ≥ ln(1 s_0/m)/c其中 s_0 是触发阈值对应的最小触发误差范数。只要阈值 σ 0这个下界就严格大于零。这个证明不是纯理论摆设在仿真验证阶段我会实际统计所有触发间隔的最小值如果它明显大于离散采样步长就说明没有 Zeno 问题。4. 仿真验证与调参心得4.1 仿真场景与参数配置我实际搭建的仿真场景包含 1 个领导者和 4 个跟随者通信拓扑是一条链式有向图领导者可以把自己的参考状态发给 1 号节点1 号发给 2 号2 号发给 3 号3 号发给 4 号。这种链式结构是信息传播最不利的拓扑之一很适合验证协议的鲁棒性。系统矩阵取A [0 1; 0 0] B [0; 1] C [1 0]这相当于一个带有位置输出的积分器系统很多运动控制对象都能抽象成这种模型。控制器增益用 LQR 思路求取权重 QI、R1得到近似 K ≈ [-1.00, -1.73]。观测器极点放在 -2±i 处对应观测器增益 L [4; 5]。扰动项用幅值 0.05 的随机方波信号模拟外部干扰。初始状态随机生成仿真时长 10 秒采样步长 1ms。4.2 事件触发效果对比仿真跑下来观测器误差会快速收敛到小邻域跟踪误差则沿着通信链路逐步传播收敛。由于链式拓扑存在信息传播延迟靠近领导者的节点收敛明显更快末端节点则需要更多时间。这与理论分析中 λ_2 的影响一致也是这类系统在工程中常见的现象。为了直观对比我记录了事件触发和周期触发两种方案的数据方案平均每秒每节点触发次数通信包总量最终跟踪误差周期触发 (10ms)1004000约 0.012事件触发 (σ0.15)21840约 0.018可以看到通信包总量下降到原来的五分之一左右而最终跟踪误差只是从 0.012 增加到 0.018。付出一点精度代价换来了通信量的大幅下降这在带宽受限场景下非常划算。尤其值得注意事件触发并不是均匀省通信初始阶段和扰动出现阶段触发频率会自动升高接近稳态时触发频率明显降低。这种“按需分配”特性是周期控制很难实现的。4.3 阈值参数的调试经验事件触发阈值 σ 是整套系统里最值得手调的参数。我试过几个值之后对它的影响有了直观感受。σ 0 时系统退化成每个控制周期都触发事件触发的意义消失σ 0.5 时触发频率大幅下降但跟踪误差明显增大而且扰动出现时会产生比较明显的超调σ 取 0.1 到 0.2 时性能和通信量之间能找到比较好的平衡。不同系统的最优区间会变但调试方法是一致的先固定 K 和 L以 2 倍步长扫描 σ画一条“通信量-精度”的 Pareto 曲线在曲线拐点附近取值。还有一个容易被忽略的点触发条件里的 Φ 矩阵不能随便换成单位阵。用带 P 的加权形式触发判断才会和 Lyapunov 函数的下降方向匹配。我用过一次简化版条件结果稳定性和触发次数都变差了后来才意识到是加权不一致导致的。5. 实操中常见问题与排坑实录5.1 事件触发条件设计的坑最典型的坑是触发误差清零的时序问题。很多初版实现会在更新控制量的同时清零 ε_i但正确的顺序应该是先读取当前估计值更新控制量再清零触发误差。顺序反了会导致本次触发的数据根本没有用上控制量更新一个步长后又被旧缓存覆盖系统容易出现周期性的“假触发”。另一个坑是触发条件误用全局信息。触发条件里的 δ_i 如果写成全局领导者状态 x_0那每个节点都需要拿到完整全局信息这违背了分布式假设。正确做法是只使用节点本地维护的参考估计量 x̂_0,i而 x̂_0,i 本身要通过分布式观测器更新得到。初学者容易在这里栽跟头仿真里放了全局变量还没察觉等做到半分布式时就发现算法没法落地。5.2 观测器增益与估计抖振处理L 选太大时估计值对测量噪声非常敏感控制输入会出现高频抖振触发次数指数上升。我踩过这个坑一开始为了追求观测器快速收敛把极点放在 -10 附近结果在加入噪声扰动后触发间隔几乎被压缩到采样步长附近事件触发名存实亡。解决办法有两种一是降低 L 的极点位置回到 -2 到 -4 这个区间二是对控制输入施加短窗滑动平均滤波。需要注意的是滤波会引入相位延迟所以我只在事件触发更新时刻做轻量滤波而不是实时串入主回路。5.3 从仿真走向工程落地的建议仿真和实际的差距主要体现在通信上。真实网络中的消息延迟、丢包和时钟不同步都会让观测器的输入出现异常。我的建议是底层通信采用“周期心跳事件数据”的混合机制周期心跳用来确认节点存活和同步时间戳事件数据只在触发时发送。这样既保持了事件触发的低通信量又不会因为某个节点长期不发声而被误判为离线。另外事件触发系统的调试应该先做“触发次数统计”看每个节点的触发频率是否合理分布。如果某个节点的触发次数远高于邻居一般不是阈值问题而是它的观测器或控制器参数需要单独校准。我在一套配置里发现 3 号节点触发次数是其他节点的三倍排查后发现是它的初始状态偏差太大前两秒处于极限状态等系统收敛后就正常了。最后分享一个我自己受益最多的小习惯把触发间隔的最小值和事件触发次数一样当作核心指标来监控。它不仅是 Zeno 行为的直接证据也是衡量系统是否处于健康状态的风向标。把触发判据放在图信息流的上游去调比后期费劲调 K 和 L 更影响整体体验。

相关新闻

专科毕业论文如何用千笔AI写作快速生成初稿?从选题到查重全攻略

专科毕业论文如何用千笔AI写作快速生成初稿?从选题到查重全攻略

说实话,专科阶段的毕业论文或毕业设计,难度往往被低估了。很多同学觉得专科论文要求不高,随便拼一篇就能过,可真到了要交初稿的时候才发现:选题没头绪、大纲不会列、正文攒不出来、查重标红一片。每次打开文档&#xf…

2026/10/17 8:03:16 阅读更多 →
小白程序员必看:2026年AI驾驭工程(Harness)如何提升大模型效率80%?

小白程序员必看:2026年AI驾驭工程(Harness)如何提升大模型效率80%?

文章探讨了AI领域的新趋势——“驾驭工程”(Harness),解释了为何模型越来越强,但AI任务完成率仍不稳定。核心在于"Agent 模型 Harness",模型提供智能,Harness提供实用工具和环境。Harness包含文…

2026/10/17 8:02:16 阅读更多 →
openGauss同步提交

openGauss同步提交

openGauss 没有用 PG 原生的 SyncRepWakeQueue 批量唤醒PG 原生的等待模型PostgreSQL 使用的是共享内存双向链表队列(WalSndCtlData.SyncRepQueue[NUM_SYNC_REP_WAIT_MODE]):后端进入等待: 1. 申请 SyncRepLock 2. 把自己插入 Syn…

2026/10/17 8:02:16 阅读更多 →

最新新闻

不完全信息Epsilon纳什均衡在航天器末端追逃博弈的Matlab实现

不完全信息Epsilon纳什均衡在航天器末端追逃博弈的Matlab实现

作为研究航天器近距离任务的开发者,我们组在复现不完全信息Epsilon纳什均衡的航天器末端追逃博弈策略(Matlab代码实现)这篇论文时,最大的感受是:以前觉得博弈论在航天里就是理论推推公式,真正要把“对方参数…

2026/10/17 9:27:38 阅读更多 →
企业Agent项目真实ROI怎么算?从成本结构到收益模型的完整拆解

企业Agent项目真实ROI怎么算?从成本结构到收益模型的完整拆解

这年头,谁家汇报材料里没放两个Agent流程Demo,都不好意思讲数字化。可真正把Agent放进生产流程,让它自己处理工单、回客户消息、跑财务核对的团队,远没有PPT里那么多;能把账算清楚的,更是少数中的少数。我说…

2026/10/17 9:27:38 阅读更多 →
Premiere Pro新手防崩溃指南:5个关键操作安全阀

Premiere Pro新手防崩溃指南:5个关键操作安全阀

1. 项目概述:这不是剪辑软件说明书,而是一份“PR上手防崩溃指南”“PR简单上手笔记”——光看这标题,你可能以为是某位刚考完Adobe认证的学员随手记下的快捷键清单,或者某培训机构发在群里的PDF速成课大纲。但在我带过二十多个零基…

2026/10/17 9:27:38 阅读更多 →
open-code-review:轻量级开源代码评审范式解析

open-code-review:轻量级开源代码评审范式解析

1. “open-code-review”不是工具名,而是一类新型代码评审范式的代号你可能在 GitHub Trending、Hacker News 或某次技术分享里见过这个词——它不像eslint或pre-commit那样有明确的安装命令,也不在 npm 或 PyPI 上搜得到可直接pip install open-code-re…

2026/10/17 9:27:38 阅读更多 →
电商图片工作流画布:节点式自动化生产与批量处理实战

电商图片工作流画布:节点式自动化生产与批量处理实战

1. 电商图片制作的痛点与工作流画布的破局思路做电商这行的朋友应该都有体会,图片制作这件事看起来简单,实际上是个无底洞。一个SKU从拍摄到上架,中间要经历主图、详情页、场景图、白底图、尺寸标注图、卖点图、对比图、包装图等至少七八种图…

2026/10/17 9:27:38 阅读更多 →
macOS上用Docker部署nginx+php:从零搭建容器化开发环境

macOS上用Docker部署nginx+php:从零搭建容器化开发环境

你在macOS上装过nginx和php吗?如果装过,大概率体会过那种“装起来半小时、调起来一晚上”的滋味。今天这篇我就带你完整走一遍macOS上安装Docker,然后在Docker里部署一套nginxphp环境的过程,整个过程不追求什么高大上的编排技巧&a…

2026/10/17 9:26:37 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →