TDOA/FDOA联合无源定位:从TSWLS到改进算法的MATLAB仿真对比
做无源定位的估计都绕不开这个经典命题同一条信号不同站点收到的时间差和频率差到底能把目标钉在哪个坐标上。TDOA靠多站时间戳对齐算出距离差FDOA靠多普勒频移算出径向速度差两者联合起来就能同时约束位置和速度。我在某跨平台系统项目里用MATLAB搭过完整的仿真链路把TSWLS、两步加权最小二乘的经典算法和后来改进的约束加权最小二乘、半定松弛方法放在同一套场景下对比过这里把过程和结论都摊开讲。1. 定位问题建模与算法核心思路先把模型立起来。假设有M个观测站坐标记为s_i目标真实位置是u速度是u_dot信号到达第i个站的时间是t_i。TDOA测量值取的是第i站与第1个参考站之间的时间差乘上信号传播速度c就得到距离差r_i1 ||u - s_i|| - ||u - s_1|| n_i这里的n_i是测量噪声通常建模为均值为0的高斯分布。FDOA对应的是频率差本质上是从站间观测到的信号频率偏差反推距离变化率之差r_dot_i1 ( (u_dot - v_i)^T (u - s_i) ) / ||u - s_i|| - ( (u_dot - v_1)^T (u - s_1) ) / ||u - s_1|| w_i其中v_i是第i个观测站自身的运动速度w_i是频率测量噪声。这两个方程叠加起来未知量是u和u_dot一共2d维d是空间维度通常是3观测方程数量是2(M-1)。只要M不小于3理论上就能解。TSWLS的经典思路是两步走。第一步先把非线性的距离差方程通过平方和做线性化处理。具体推导不展开了核心结果是把定位问题转成一个带噪声系数的线性矩阵方程h G * theta 噪声第一步解出来的theta是一个中间变量包含目标位置u和距离r_1有时还包含距离变化率。第二步利用r_1 ||u - s_1||这个几何约束关系对第一阶段的误差进行一次线性修正得到最终的精确位置估计。这个算法之所以经典是因为第一步全程闭式求解没有任何迭代计算量极低。但它的性能瓶颈恰恰也出在第一步的线性化处理上G矩阵里面既有测量值又有站点位置信息当测量噪声偏大时系数矩阵本身带有不可忽略的误差线性化引入的高阶项就成了性能天花板。后续各种改进方法基本都是围绕怎么处理这个“系数矩阵里的噪声”做文章。2. 仿真平台搭建与场景设计2.1 平台选型与整体框架我用的平台是MATLAB原因有三矩阵运算原生支持好闭式算法写起来就是一页纸的矩阵表达式比C省太多事自带的统计工具包做蒙特卡洛均值误差分析非常顺手画CRLB对照曲线不用额外引库。仿真框架分成四层场景参数层站点位置、目标轨迹、噪声功率、快拍数数据生成层按真实几何关系生成理想TDOA/FDOA值叠加高斯噪声算法实现层TSWLS基线版、改进算法版、CRLB计算评估输出层RMSE曲线、偏差曲线、GDOP热力图需要说明一点这是基于常见实践的通用框架设计。实际项目中我在数据生成层和算法层之间加了一个测量一致性检查模块用于剔除野值这个在高噪声场景下很有用后文会展开。2.2 仿真场景参数设定先用一个二维场景来验证算法正确性再切到三维场景做联合定位评估。下面这组参数是我在模拟项目X里实际用过的配置参数数值观测站数量4几何构型近似菱形站1参考站坐标(0, 0, 0) km站2坐标(30, 0, 0) km站3坐标(0, 30, 0) km站4坐标(20, 20, 0) km目标位置(60, 40, 5) km目标速度(0.3, -0.2, 0) km/sTDOA噪声标准差30 ~ 100 nsFDOA噪声标准差0.3 ~ 2 Hz载频2.4 GHz蒙特卡洛次数1000这组参数的意义是站间基线长度在20到30公里量级目标离站群约60公里属于远场近似不成立的近程定位场景正好能体现TDOA/FDOA联合的威力。载频选2.4 GHz对应的多普勒频率分辨率在亚赫兹级别时速度估计精度大约在0.1 m/s量级和FDOA噪声设置匹配。2.3 测量数据生成细节生成测量数据时最容易踩的坑是没考虑参考站自身的频率偏差。TDOA的参考站是站1FDOA的参考站也是站1但两个测量量的噪声统计特性并不一样。TDOA噪声主要由时间戳对齐误差决定FDOA噪声主要由鉴频器带宽和积分时间决定。仿真中要把这两路噪声分开生成、分开标定不能简单用一个标准差套到底。蒙特卡洛循环里我对每一轮都重新生成一组噪声统计1000轮的均方根误差。要注意的是RMSE对个别发散样本非常敏感。某些噪声实现下TSWLS第一步解出来的中间变量会和真实值偏离很远解方程时出现病态直接拉高RMSE甚至把CRLB曲线附近的算法性能曲线顶得千疮百孔。统计时我用了两部分指标一起看RMSE反映整体水平中位误差反映典型水平这样不至于被极端样本误导。3. TSWLS与改进算法的核心实现3.1 TSWLS标准推导与MATLAB实现因为这是仿真分析的核心我把标准TSWLS的实现步骤完整展开。整个过程分成两个阶段每个阶段都是一个加权最小二乘求解。第一阶段的线性方程构造如下。定义未知向量theta_1包含目标位置u2维或3维、目标到参考站的距离r_11维、目标速度u_dot2维或3维、距离变化率r_dot_11维。通过把TDOA方程两边平方并把噪声项的高阶部分忽略掉可以得到h_1 - G_1 * theta_1 epsilon_1其中G_1的每一行由站点坐标差、TDOA测量值、FDOA测量值组合而成。这个方程的结构和普通最小二乘的差异在于噪声不仅出现在h_1里还通过TDOA测量值进入G_1的系数中。第一阶段的加权矩阵W_1取噪声协方差的逆。如果只知道各个测量噪声的标准差且假设站间噪声相互独立那么W_1可以近似为对角阵的逆。但如果在实际系统中各通道间的噪声有相关性比如共用同一个本振源引入的公共抖动就要用完整的协方差矩阵。我在仿真里主动加入了很小的一部分互相关项来测试算法鲁棒性。第一阶段的最小二乘解是theta_1_hat (G_1^T W_1 G_1)^(-1) G_1^T W_1 h_1其中噪声项epsilon_1的协方差矩阵需要根据测量噪声协方差计算。这一步得到的位置估计精度已经接近CRLB但还没达到原因是把r_1当作独立变量来估计没有用到r_1和u之间的确定性函数关系。第二阶段做的就是把这层关系带进去。设theta_1_hat与真实theta_1之间的误差为Delta_1由theta_1 theta_1_true Delta_1把u和r_1代入约束方程(u - s_1)^T (u - s_1) r_1^2展开并忽略Delta_1的高阶项得到一个关于Delta_1分量组合的线性方程。第二阶段再构造一个加权最小二乘问题求解最终的u修正量。这一步通常把定位精度推到CRLB附近在中等信噪比区间非常接近理论界。关键代码如下这是我在模拟项目里实际用的实现骨架% 第一阶线性化最小二乘 G1 buildG1(sites, tdoa_meas, fdoa_meas); % 系数矩阵 h1 buildH1(sites, tdoa_meas, fdoa_meas); % 观测向量 W1 inv(cov_tdoa_fdoa); % 噪声协方差逆 theta1_hat (G1 * W1 * G1) \ (G1 * W1 * h1); % 第二阶利用几何约束修正 [u_pre, r1_pre] unpack(theta1_hat); Delta1 theta1_hat - [u_true; r1_true]; % 实际仿真中用真值验证偏差 G2 buildG2(u_pre, s1); h2 r1_pre^2 - norm(u_pre - s1)^2; W2 computePhase2Weight(G1, W1, theta1_hat); corr (G2 * W2 * G2) \ (G2 * W2 * h2); u_final u_pre corr;注意第二阶段的W2不是随便取的。它的物理含义是第一阶段解出的中间变量误差经过映射函数后的协方差传播结果。如果偷懒直接用单位矩阵第二阶段精度会掉一截实测下来在高噪声条件会损失30%以上的误差性能。3.2 改进思路一约束加权最小二乘标准TSWLS第二步之所以还能改进是因为它只用了位置向量u和r_1之间的关系没有把速度项和距离变化率之间的关系也用足。约束加权最小二乘的思路是把两步之间的先验约束全部向量化在一个统一的线性矩阵方程中处理。具体做法是在第一阶段解完之后构造一个增广的偏差修正方程。除了(u - s_1)^T(u - s_1) r_1^2之外还加入两个约束速度约束(u_dot - v_1)^T(u - s_1) r_1 * r_dot_1几何一致约束u_dot与u之间的正交性关系在近场条件下保持的一阶近似这三个约束叠在一起第二阶段就从一个标量方程扩展成一个3阶线性系统。虽然推导过程更复杂但矩阵规模只有3x3或4x4闭式求解的代价几乎可以忽略。仿真结果里约束加权最小二乘在TDOA噪声较大时的优势特别明显。原因是它把速度约束引入第二阶段之后位置修正量不再被单独的几何方程约束而是在联合约束空间里取最小二乘意义下的最优修正。3.3 改进思路二半定松弛方法半定松弛的思路完全不同它的出发点是最小化最大似然代价函数但直接把代价函数做凸松弛转成半定规划问题求解。优点是对噪声模型适配性强即使非高斯噪声也能用缺点是计算量比闭式解高几个数量级。我在仿真里用的是CVX工具箱做数值求解模型规模不大单次求解耗时在几十毫秒到几百毫秒之间比TSWLS慢三到四个数量级。性能上半定松弛在低信噪比区间更稳定。它的代价函数把站间噪声的协方差结构直接嵌入优化目标没有TSWLS那种线性化截断误差因此在噪声标准差超过100ns时优势明显。但在中等信噪比区间两种方法其实没有显著差异。3.4 改进思路三最大似然迭代初值修正第三种改进思路是给TSWLS的结果做一步牛顿迭代等价于在一次闭式解的基础上向最大似然估计方向精修。这种思路实现成本最低代码量不超过30行精髓在于把TSWLS的闭式解当作迭代的初始值然后用牛顿法最小化完整的对数似然函数。牛顿法需要的雅可比矩阵和黑塞矩阵推导起来有些繁琐但都是标准操作。迭代收敛的判据我设的是位置修正量的范数小于0.01米同时迭代次数不超过20次。实测中TSWLS的初值已经足够好基本三次迭代就收敛这个方案在高噪声区域把TSWLS的性能又抬升了一截接近半定松弛的水平而计算量增加不到十分之一。4. 性能对比与结果解读4.1 CRLB与GDOP基准对比算法前要先建立性能下界。CRLB是任何无偏估计量方差的理论下界在TDOA/FDOA联合定位里的表达式是费舍尔信息矩阵的逆的对角线元素。FIM的构造需要把每个TDOA和FDOA测量值对目标位置和速度的偏导数全部算出来这一步在仿真代码里用的是符号求导验证过的解析表达式避免数值差分引入额外误差。GDOP描述的是同样测量噪声水平下定位误差随目标几何位置的放大程度。仿真中GDOP分布和目标与站点之间的相对方位强相关。当目标位于站群包络内部时GDOP接近1甚至小于1定位精度可以达到噪声本身的水平当目标移到站群外且距离远时GDOP迅速增大定位误差被几何放大数倍。4.2 RMSE对比曲线下面是TSWLS和三种改进方法在TDOA噪声扫参条件下的RMSE对比结论以表格形式整理TDOA噪声 (ns)TSWLS RMSE (m)约束WLS RMSE (m)SDR RMSE (m)ML迭代 RMSE (m)306.86.56.46.56014.312.712.512.610028.920.418.820.115065.437.632.335.9200130.261.348.757.4数据来源是同一组蒙特卡洛仿真。可以从这个结果里读出三件事。第一在低噪声区间30到60ns所有方法的差距都不大TSWLS的RMSE距离CRLB只有10%出头的差距。说明在测量精度好的情况下闭式解已经足够用不需要为改进算法付出额外计算成本。第二噪声超过100ns后TSWLS快速恶化而约束WLS和ML迭代仍然保持稳定增长这说明TSWLS在高噪声下失效的根本原因是第一步线性化误差被二阶放大。第三半定松弛在200ns时仍然把RMSE压在50米以内比TSWLS提高了近两倍精度但它付出的计算量是TSWLS的一万倍以上。实际工程中是否值得取决于系统的实时性需求。4.3 偏差分析与收敛性只看RMSE还不够偏差特性同样重要。我统计了各算法估计位置与真实位置之间的平均偏差向量。TSWLS在低噪声下偏差很小但在高噪声下偏差呈系统性偏移方向指向参考站。原因在于第一步线性化中r_1的估计会向参考站方向收缩这种一阶偏差被第二步完全继承。约束WLS和ML迭代的偏差则始终在零附近波动没有系统性偏移。这说明在偏差敏感的应用场景比如精确引导、弹道测量中TSWLS即使RMSE能接受仍需谨慎使用。5. 常见问题与排查技巧实录5.1 病态矩阵为什么TSWLS会突然发散仿真里最让人头疼的问题是偶发性的“算法漂移”1000次蒙特卡洛里总是有几个点误差突然飙到几公里以上。排查后确认根因有两个一是第一阶段G1矩阵的条件数在某些几何角度下会急剧增大二是高噪声下线性化误差使h1中的某些分量与G1方向接近正交。解决思路有两步。第一步是在第一阶段解算前做矩阵条件数检测如果条件数超过阈值就用伪逆替代普通逆。这里要说明一下这是我在实际调试中确定的做法阈值取1e6比较合适既能筛掉真正的病态情况又不会影响绝大多数正常样本。第二步是给第二阶段加一个置信区间门限当第一阶段解算出的r_1为负值或明显超出站点覆盖范围时直接判定为无效样本不进入第二阶段的修正。这个门限在实验里设置为r_1小于0或大于站点间最大距离的5倍时丢弃。5.2 噪声协方差矩阵参数调不准的影响TSWLS对协方差矩阵的逆非常敏感。如果噪声模型里假设各站噪声独立但实际系统中站间本振有一定相关性那么加权矩阵会失真。失真初期表现为RMSE小幅上升严重时约束WLS的第二步会直接震荡。解决方法是利用仿真数据预先估计协方差矩阵。具体是在无噪声的理想测量中加入已知噪声序列观察估计结果反推等效协方差结构。在我的仿真流程中对每个噪声档位都先做200次纯噪声条件下的预标定把协方差矩阵估计出来后锁定再跑正式对比。这套方法在实际项目中用来校准接收机通道失配效果也说得上可靠。5.3 参考站选择差异带来的性能波动同一个场景换一个参考站结果会差很多。仿真中把参考站从站1换到站4一个不在中心位置的站TSWLS和约束WLS的RMSE在高噪声区都变差了20%到30%。原因是参考站到其余站的距离差跨度越小第一步线性方程的正交性越差。这个问题的启示很直接如果系统允许多站轮询应该选GDOP最优的站作为参考站而不是随机指定。另一个实际工程经验是当参考站的观测质量明显比其他站差时比如信噪比低了几个dB宁可损失一个观测通道也不要让它污染全部差分量。这个选择对系统可靠性有关键影响实测下来比换算法还管用。5.4 三维场景下的高度退化问题二维场景调试好后扩展到三维发现垂直方向的误差明显大于水平方向而且TSWLS在高噪声下会出现垂直分量发散。原因是四站在z方向上几乎共面站群的垂直张角很小导致z方向的几何观测强度不足。改进手段有两种。一是把站点布局改为非共面构型增加垂直基线。二是在TSWLS第二阶段加入高度先验约束把高度约束方程的权重设为根据GDOP自适应调整。仿真对比中加了自适应高度约束之后z方向RMSE下降了约40%而水平方向几乎没有劣化。这些都是在模拟项目X中反复验证过的结论。个人体会是TDOA/FDOA联合定位的改进算法很多但每种算法的适用区间差别很大关键是根据系统噪声水平和实时性约束选择最匹配的方法。如果系统对计算量敏感约束WLS配合ML迭代是最均衡的方案如果追求极限鲁棒性且硬件资源充裕半定松弛是最稳的选择。仿真中最容易踩的坑不在算法本身而在场景设计和噪声标定先把这两件事做扎实再谈算法对比才有说服力。

相关新闻

Sybase 15.7安装避坑指南:环境检查、字符集配置与静默部署

Sybase 15.7安装避坑指南:环境检查、字符集配置与静默部署

简介:一份以图解形式呈现的Sybase 15.7安装全流程操作指南,面向需要部署Sybase数据库的开发人员、DBA及运维人员,重点解决安装过程中路径配置、组件选择、许可密钥处理、产品版本型号等环节的常见疑惑,也适用于初次接触Sybase的入…

2026/10/13 20:25:49 阅读更多 →
SpringBoot集成Activiti 7工作流引擎:从BPMN部署到审批流实战

SpringBoot集成Activiti 7工作流引擎:从BPMN部署到审批流实战

SpringBoot 集成 Activiti 7 这个事,我最近在一个审批流程项目里完整踩了一遍。项目不大,但偏偏选了 Activiti 7 这个"半新不旧"的版本,网上一搜全是 5.x 和 6.x 的老文章,7 的坑只能自己一点点填。这篇文章就把我从选型…

2026/10/13 20:25:49 阅读更多 →
三明治定理视角下的模型泛化:为什么越精确越脆弱?

三明治定理视角下的模型泛化:为什么越精确越脆弱?

整天泡在模型训练里的朋友,应该都遇到过这种怪事:一个模型的验证集准确率漂亮得吓人,训练损失一路压到小数点后三位,结果一上真实环境就明显“虚”。更诡异的是,你把模型调得越精确、拟合得越狠,它反而越容…

2026/10/13 20:25:49 阅读更多 →

最新新闻

深度学习损失函数选型实战:从MSE到Focal Loss的原理与踩坑

深度学习损失函数选型实战:从MSE到Focal Loss的原理与踩坑

损失函数这玩意儿,说起来是深度学习里最基础的组件之一,但恰恰是很多同学在实战里翻车最频繁的地方。我带项目的时候经常看到有人模型结构抄得挺像样,学习率调度也配了一堆,可训练出来的结果就是不对,Loss 曲线跟心电图…

2026/10/14 6:38:29 阅读更多 →
微信小程序聊天室:WebSocket实时通信与图片消息实现

微信小程序聊天室:WebSocket实时通信与图片消息实现

上个月接了个需求,要做微信小程序聊天室,支持文字消息和图片消息,图片要能直接发到聊天流里。团队里一位同事提议先上HTTP轮询,2秒拉一次,省事。我说这个方案在简单场景下能跑,但聊天室里撑不住多少用户。后…

2026/10/14 6:38:29 阅读更多 →
SQLite FTS5+BM25实现上下文感知搜索(context-mode)

SQLite FTS5+BM25实现上下文感知搜索(context-mode)

1. “context-mode”到底是什么?别被术语唬住,它本质是让工具真正“听懂你话”的底层机制 “context-mode”这个词最近在开发者社区、低代码平台和本地AI工具链里高频出现,但翻遍官方文档,几乎找不到一句清晰定义。我最初看到它时…

2026/10/14 6:38:29 阅读更多 →
QGIS 加载天地图 403 权限类型错误(301013):User-Agent 分流与三种解法

QGIS 加载天地图 403 权限类型错误(301013):User-Agent 分流与三种解法

场景QGIS 里挂天地图底图,画面全空。F12 或者 QGIS 的网络日志里刷一片 403,响应体是:{"code":301013,"msg":"权限类型错误"}天地图控制台里 key 明明状态正常、配额也没用完,换一个浏览器端 key 试…

2026/10/14 6:38:29 阅读更多 →
极地环境计算设备可靠性测试:低温启动与温循实战指南

极地环境计算设备可靠性测试:低温启动与温循实战指南

把服务器从20℃的调试间一路运到零下四十多度的极地站点,开机那一刻,谁都不敢保证屏幕上是正常的登录界面还是黑屏。我在嵌入式测试这一行摸爬滚打了十几年,实验室里跑高低温箱和真正面对“跨越温差的可靠性挑战”,是完全两种体验…

2026/10/14 6:38:29 阅读更多 →
Simulink Bode图频域分析:线性化与稳定裕度实战

Simulink Bode图频域分析:线性化与稳定裕度实战

简介:这份资源面向学习自动控制原理、从事控制系统频域分析的初学者与工程人员,针对传统用MATLAB M语言绘制Bode图耗时费力、不便直观理解频域指标的问题,讲解如何借助Simulink可视化工具完成开环与闭环Bode图的绘制。资源包内含1个PDF文档&a…

2026/10/14 6:37:29 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →