UDEC泰森多边形煤层建模实战:从块体生成到参数标定
干矿山数值模拟这些年UDEC一直是我处理节理裂隙问题的主力工具。最近一个煤层采动影响分析的项目里我用UDEC 7.0配合泰森多边形Voronoi重新构建了煤层离散块体模型整个过程踩了不少坑也积了一些值得分享的经验。这篇文章不打算写成说明书式的教程而是把为什么用泰森多边形、怎么设置参数、模型为什么会飞、怎么把结果调到可信这几个问题一次讲透给正在UDEC里做煤层建模的朋友一份可以直接参考的实践笔记。1. 为什么偏偏要在UDEC里用泰森多边形做煤层1.1 连续介质模型在煤层上的局限以前用有限元或FLAC这类连续介质软件做采动应力分析总觉得煤层和顶底板之间的破坏模式不太对劲。煤层不是均匀的一块肉它内部充满了层理面、内生裂隙和外生节理尤其是煤矿里常说的割理系统——面割理、端割理相互穿插把煤体切割成不规则的碎块状。把这些不连续面简化成连续介质的等效参数能做应力分布的大趋势但一旦涉及顶板离层、煤壁片帮、采空区碎胀垮落这类大位移大变形问题连续元就力不从心了。离散元的思路完全不同岩体被看成块体节理接触的组合体破坏主要发生在块体边界上块体之间可以滑移、张开、分离。UDEC正是基于这个思想开发的二维程序。它天然适合模拟采动条件下裂隙的萌生扩展、块体的垮落与堆积。但这里有个前置问题模型里的块体边界从哪来手动画一条条节理组当然可以可那只能模拟规则平行的裂隙系统用来模拟煤层这种裂隙方向杂乱、块度分布不均的材料失真得厉害。1.2 泰森多边形在物理上与割理结构的呼应泰森多边形Voronoi图的数学定义很简单在平面内撒一组种子点把平面划分成若干区域每个区域里的任意一点到本区域种子点的距离都小于到其他种子点的距离。物理意义上它模拟的是多个生长中心同时扩张、相互挤压最终形成的镶嵌式分区结构恰好和煤岩中多组裂隙交错切割形成的天然块体有很强的相似性。实际做出来就是一大片边长不一、形状各异的凸多边形块体。这些多边形之间的边界就是数值模型里的潜在破坏路径。当应力超过接触强度时裂纹会沿多边形边界扩展当块体被挤压推出时它可以沿着这些边界自由滑移和翻转。和规则网格相比泰森多边形没有明显的方向偏好块度分布也更接近真实岩体破碎后的统计规律这一点对模拟煤层片帮和采动裂隙演化特别重要。简单说它给模型注入了一种全随机方向的、统计意义上的节理网络。1.3 与规则节理组的本质差异UDEC里也可以用JSET命令生成多组等间距平行节理比如一组倾角60度、间距0.5米。这种做法的优点是参数直观但对煤层来说有一个致命短板真实割理系统的走向并不完全一致间距也服从某种随机分布两组割理的交角也未必那么整齐。规则节理组模型算出来的结果往往比实际更脆——破坏路径太清晰、太单一实际煤层可能是沿多条微裂隙渐进破坏的。泰森多边形的随机性解决了这个痛点。它的边界走向各异强度分布可以通过接触参数的空间赋值进一步离散化。代价是模型规模和计算时间显著上升而且力学响应对随机种子敏感。所以实践中通常不是只建一个模型而是固定其他条件、换多个随机种子做一组等分模型看平均响应和离散程度。这点后面细说。2. UDEC 7.0里泰森多边形的生成逻辑与参数解读2.1 核心命令与界面变化UDEC 7.0在界面上比6.0时代友好不少但底层命令流的思路还是那一套。生成泰森多边形块体的核心命令在7.0里建议用block poly 0,0 30,0 30,15 0,15 block cut voronoi density 500 seed 20240101第一行建立一块30m宽、15m高的矩形背景区域第二行把这块区域用泰森多边形法切成一系列小多边形块体。density是种子点密度seed是随机种子。如果你更习惯用边长来控制块度也可以这样写block cut voronoi edge-length 0.6edge-length是目标块体边长相当于给生成器一个期望平均边长的约束。实际结果中块体的边长会在目标值附近随机波动不会整整齐齐都等于0.6m。在7.0版里生成后可以直接在视图区查看块体分布用鼠标点选单个块体查看其几何属性排查局部畸形块体比老版本方便太多。2.2 density、seed怎么选才算合理参数选择不能拍脑袋得先搞清楚工程尺度。我的模型是模拟30m长、15m高的煤岩区段。煤体里割理间距通常在0.4~1.2m之间换算成二维平面上每平方米约1~3个块体。30m乘15m总共450平米那么种子点总数大约在500~1500之间。我通常取density 500起步如果块体偏大导致破坏路径太少再逐步往上加。用edge-length控制时一个更直观目标边长0.5~0.8m对应中等块度。边长设到0.3m以下块体数量会爆炸式增长单模型动辄好几千块计算速度肉眼可见地下降。初学者最容易犯的毛病是把边长设得和实际节理间距一样密结果模型漂亮了solve之后发现一晚上都跑不了一个工况。记住离散元模型里块度大小本身也影响峰后软化和碎胀堆积的形态不是越细越真实而是要和你要回答的工程问题匹配。2.3 seed的妙用随机性、可复现性和等分模型seed参数给随机数发生器一个起点。同一套几何和参数seed1和seed20240101跑出来的块体分布完全不同。这个特性有三个用途。第一保证可复现性。写报告时同一个模型改了接触参数再跑必须固定seed否则变化可能来自随机性而非参数改动。第二做敏感性分析。为了消除单一随机图样对结论的偶然影响我会固定所有力学参数只改变seed生成5~10个等分模型统计目标指标比如片帮深度、顶板下沉量的均值和标准差。这一步对写论文或者做工程设计尤其重要——评审人一定会问单模型结果有没有偶然性。第三对比试验。有些工况想单独研究块度大小的影响这时候保持seed不变、改变density就不够严谨因为两者同时变了。更合理的方式是不同seed下各建一组不同density的模型用统计均值来对比。2.4 边界效应和小碎块处理泰森多边形生成时有个恼人的现象边界附近的种子点被截断会形成大量极扁极小、边长不足0.1m的畸形块体。这些碎块在自重下特别容易产生过大的初始接触侵入导致计算一开始就发散。7.0里可以用block delete或块体合并操作清理这些碎片我一般在生成后先扫一眼边界区域把面积小于平均面积5%的块体删掉或者并入相邻块体。提示做这一步必须检查清刺后有没有产生无接触真空区——块体删除后周围接触会自动更新但极薄的尖角处有时会残留无接触块体需要手动补接触或者再微调几何。3. 从空白模型到可分析的煤层模型实操流程3.1 建立几何边界分区域设置大型现场尺度模型没必要把整个区域都切成一样的泰森块体。煤层本身裂隙发育用较密的多边形模拟顶板砂岩相对完整用少量规则节理组甚至连续介质块体模拟更符合实际也省算力。我的做法是先建立一个大的背景块体然后用range只对煤层部分做泰森切割block poly 0,0 40,0 40,20 0,20 block cut voronoi density 600 range y -8,-2这里把y从-8到-2的区间设为煤层厚6m设置density 600顶底板保持完整块体后续再按层理走向添加少量节理面。这样既模拟了煤层的碎裂特征又不至于让顶底板也碎得不成样子。很多新手上来就把全部区域切成一样密度模型跑不动不说顶板的层状垮落特征也完全丢了。3.2 块体内部网格与接触模型的初始化泰森多边形切完之后块体默认参数是空的。必须先给块体内部划分三角形网格让块体具有变形能力才能正常计算。这一步在命令流里对应block zone cmodel assign mohr block zone property density 2000 young 2e9 poisson 0.3块体之间生成的接触默认使用摩尔-库仑节理模型。接触参数是整个模型成败的关键contact model mohr contact property jkn 5e9 jks 2e9 friction 25 cohesion 2e6 tension 1e5jkn法向刚度、jks切向刚度决定接触受力后的变形响应摩擦角、粘聚力、抗拉强度决定接触什么时候破坏。注意这里的单位体系我习惯用m、kg、N、Pa的国际单位避免换算混乱。需要提醒一句煤层的现场单轴抗压强度可能只有10~20MPa但这不是直接塞给接触参数的值。数值模型里的接触强度是细观强度通常要比宏观强度高一些背后的道理第5章专门讲。3.3 接触刚度的估算逻辑接触刚度的取值有一个经验公式在FLAC/3DEC圈子里流传很广UDEC同样适用其思路是让接触刚度与相邻块体尺寸、块体弹模匹配。取法向刚度jkn为[ jkn \approx 10 \times \frac{K \frac{4}{3}G}{z_{min}} ]其中K是体积模量G是剪切模量z_min是相邻接触两面之间的最小单元厚度。用这个公式算出来的刚度刚好保证接触在弹性阶段不会产生不真实的大量重叠。实际建模时我通常取公式值的2~5倍以便模拟相对刚硬的节理面。3.4 约束、自重与初始平衡的次序问题顺序很重要。我在第一次建模时先开重力再建约束结果模型侧面因为没有侧向约束出现整体摊开的塌陷式变形。正确的逻辑是先约束、后加载、再平衡。constraint x 0,40 constraint y -8 set gravity 0 -9.81 model large on solve ratio 1e-5约束侧向位移让模型不会横向逃走固定底部让它坐稳然后加自重。solve ratio 1e-5是指不平衡力比值降到这个水平才算收敛。如果模型块体数量大初始不平衡力很高可以分阶段加载先不加重力跑平衡再逐步把重力从0加到-9.81每个阶段solve一次。这种做法尤其适合密度比较高、初始接触嵌套比较紧的模型能有效规避第一步就爆掉的问题。平衡后要立刻检查塑性状态和接触应力分布别急着开挖。常见问题是模型某些角落出现局部塑性区那是因为边界截断了块体产生了应力集中。遇到这个情况把该区域的块体稍微放大或者加密约束边界附近的种子点往往就能解决。4. 一次出错的完整追踪块体飞散与刚度失衡4.1 现象solve刚起步块体四散飞走某个调整参数后的算例约束和重力都设置完毕solve命令一下去前几步还算正常紧接着屏幕里大量块体从侧边界穿出顶部块体直接弹飞整个模型像被炸开一样。这个现象对UDEC新手来说简直噩梦但我很清楚问题不是模型坏了而是某个物理机制失衡了。我没有立刻改参数重跑而是做了一轮排查。4.2 排查链路从接触缺失到刚度失衡第一步检查接触是否正常生成。用列表命令查看接触数量发现接触数量远小于块体数量——很多块体边界根本没有接触。进一步定位发现缺失接触的区域集中在模型边界附近那里存在一批极小碎块它们和相邻块体之间虽然几何上接触了但实际接触的初始侵入量过大导致求解器在第一个时步就产生了巨大力把块体弹飞。第二步检查接触刚度。我当时的jkn取到了5e9Pa理论上不算离谱但配合那些边长不足0.05m的小碎块等效接触刚度实际被放大了好几倍。这就像拿一根高刚度的弹簧去压一个易碎的小物体力还没来得及传递局部就已经击穿了。第三步检查阻尼。离散元里局部阻尼的作用是对抗运动振荡阻尼系数给太低块体之间碰撞产生的动能不能被快速耗散就会像弹珠一样乱飞。我的阻尼设的是0.5偏低建议起步阶段用0.8。4.3 修复与验证定位到三类原因后修复方案就明确了先把边界小碎块删除block delete加range过滤面积阈值再把接触刚度降到基于公式的1.5倍左右同时把局部阻尼提到0.8并且改为分阶段加自重。修复后重新solve前1000步内模型非常安静不平衡力曲线稳定下降最终ratio到了1e-5。这时候再开挖巷道应力重分布和顶板离层就表现得很真实了。这次排错给我留下一条重要经验UDEC模型发散时不要上来就怀疑参数不对先按接触缺失→刚度失衡→阻尼不足→时步过大的顺序排查结构性问题。绝大多数发散问题都不是一个参数错了而是几个因素叠加的结果。5. 从能跑到算得对参数标定与结果验证5.1 为什么宏观强度不能直接塞给接触这是离散元建模里最微妙的一步。岩体试样的单轴抗压强度10MPa不代表接触参数里填cohesion 10e6。原因在于UDEC模型中的破坏是块体内部变形接触面滑移/张裂的复合结果。一个由几百个小多边形组成的试样受压时会在多个接触面上同时产生微裂纹逐步连通成宏观破坏面。峰值强度其实是大量接触协同破坏的统计结果而不是单个接触面的强度值。所以细观接触强度通常要远高于宏观强度。以煤样为例宏观单轴抗压10~15MPa我在模型里给的接触cohesion往往在2~5MPatension在0.1~0.5MPa再配合块体自身的弹性模量让试样在加载过程中通过接触渐进破坏来凑出宏观强度。这个过程不做标定是不可能天然匹配的。5.2 用单轴压缩RVE做参数标定我强烈建议不要直接在现场尺寸模型上调参数那太盲目。先建一个0.5m×1m的小型代表体积单元RVE生成泰森多边形上下加刚性板做数值单轴压缩试验提取应力-应变曲线和实验室曲线对比调到拟合后再放大到实际模型。调参顺序有讲究我一般遵循先定弹性再定峰值最后定残余。弹性阶段由块体弹模和接触刚度共同决定。先给block zone的young一个合理值再调jkn/jks让峰前斜率匹配。此时接触强度给高一点避免试样在弹性段提前破坏。峰值阶段单轴强度主要由接触粘聚力和抗拉强度控制。保持弹模不变提高cohesion和tension直到数值强度等于室内值。注意tension不能给太高否则试样表现出过度延性与实际煤样不符。残余阶段峰后软化主要受摩擦角控制。提高friction angle会显著提高残余强度让峰后曲线更平缓。我的一组典型标定结果是煤样宏观单轴10MPa数值接触设为cohesion 3MPa、tension 0.2MPa、friction 25度配合块体young 2GPa得到的应力-应变曲线与室内试验吻合得不错。5.3 加载速率、块体尺寸与统计陷阱做数值单轴压缩时加载速率必须控制在准静态范围内。UDEC里没有物理时间的概念加载是每时步施加一个速度增量。如果给板施加1m/s的压缩速度块体会产生明显的惯性效应强度被严重高估。我通常用5e-4m/s量级的加载速率同时监测动能与不平衡力比值确保动能占比小于总能量的百分之几。另一个隐蔽的坑是块体尺寸效应。同样的接触参数多边形块体越大单轴强度越高不一定但破坏模式确实会变小块体容易沿块体边界分叉破坏大块体则更容易在块体内部萌生裂纹。所以标定用的RVE块度要和现场模型保持一致否则标定结果无法直接迁移。这就是为什么泰森多边形模型里density不只是几何参数它深刻地影响力学响应。5.4 结果验证的几条底线模型算完不能图好看就收工。我给自己定了几条检查底线第一变形模式是否物理合理。煤层巷道开挖后顶板应该以离层、弯曲下沉为主两帮以片帮、滑落为主。如果模型里开挖后出现整块顶板整体平移十有八九是接触强度给太高顶板没有经历渐进破坏。第二塑性区范围是否与现场观测一致。拿钻孔窥视或震波探测的裂隙深度对比一下。算出的片帮深度、塑性区半径如果比实际观测大几倍回头调整接触参数比硬接受结果更有价值。第三多seed平均结果是否稳定。我通常会取3~5个seed结果看关键指标比如顶板离层量、塑性区面积的离散程度。如果标准差超过均值30%说明单模型结果完全不可信需要增加模型数或增大块度。最后再聊两句实操体会泰森多边形在UDEC里做煤层模型本质上是把岩体结构的随机性用几何方式显式表达出来。但要提醒的是这个随机性是一把双刃剑。它让模型更接近真实岩体同时也让参数标定和结果解读变得更复杂。我实际做下来最深的体会是一定要先建小模型做标定再上大模型做工况中间省不了几步。还有一个很实用的习惯每次修改参数都保留命令流版本和seed记录否则模型结果出了差异你都不清楚是参数变化引起的还是随机性引起的这点在项目汇报时特别容易出问题。如果你现在正卡在某一次solve发散里先删除边界小碎块再把接触刚度降到合理区间把阻尼调到0.8分阶段加载重跑一遍八成就能稳住。UDEC 7.0这个版本在可视化调试上确实比以前顺手了很多但离散元建模的核心功夫始终在参数标定和对力学机制的把握上。模型能跑只是第一步能算出物理上说得通的结果才算是真正入门了。

相关新闻

企业微信API Java SDK封装实战:从踩坑到可测试设计

企业微信API Java SDK封装实战:从踩坑到可测试设计

前阵子有个项目,业务上要打通企业微信和内部CRM:一方面要把客户群聊里的会话归档到系统里,另一方面要定时给客户推送应用消息。需求听起来不复杂,真的对着企业微信API的文档一行行写接口时才发现,这玩意儿和普通REST A…

2026/10/13 10:21:56 阅读更多 →
自考论文格式总被打回?8个AI论文写作辅助工具实操评测

自考论文格式总被打回?8个AI论文写作辅助工具实操评测

自考学生的论文压力,有很大一部分其实不是“写不出来”,而是“写出来了却因为格式被打回”。目录对齐、参考文献标注、页眉页码、字号行距,任何一个细节出问题,指导老师那边就是一票否决。我自己带过一个自考本科的模拟项目&#…

2026/10/13 10:21:15 阅读更多 →
open-code-review:构建开放可复用的代码评审流程与规范

open-code-review:构建开放可复用的代码评审流程与规范

1. 项目缘起与核心定位第一次看到“open-code-review”这个标题,我脑子里蹦出来的不是某个具体工具,而是一整套协作流程。代码评审这件事,但凡在团队里写过几行代码的人都绕不开,但真正把它做成“开放、可复用、可沉淀”的形态&am…

2026/10/13 10:21:19 阅读更多 →

最新新闻

计及需求侧响应的配电网供电能力综合评估Matlab实现

计及需求侧响应的配电网供电能力综合评估Matlab实现

供电能力评估这个方向,做配电网规划的人都不陌生。传统做法很简单:把负荷当成一个给定的“硬条件”,算主变、算线路、算N-1通过率,能带多少就是多少。但问题是,现在的负荷已经不再“硬”了——分时电价、可中断负荷、车…

2026/10/14 6:02:23 阅读更多 →
AI协作者实战指南:从提示词工程师到流程编排师

AI协作者实战指南:从提示词工程师到流程编排师

1. 这不是“自动印钞机”,而是AI时代的职业重构现场“自动赚钱时代来了?”——这个标题一出来,朋友圈就炸了。有人截图转发配文“终于等到这一天”,也有人冷笑评论“又一个割韭菜的标题党”。但真正让我坐下来认真拆解它的&#x…

2026/10/14 6:02:23 阅读更多 →
ZeroTermux 内置命令手册:tcpreplay 报文重放与双网卡网络测试实战

ZeroTermux 内置命令手册:tcpreplay 报文重放与双网卡网络测试实战

移动开发开发工具 【免费下载链接】ZeroTermux 项目地址: https://gitcode.com/GitHub_Trending/ze/ZeroTermux 点击查看 免费下载 导读 tcpreplay 是一款基于 PCAP 文件的报文重放工具,它能把用 Wireshark(及其前身 Ethereal)、…

2026/10/14 6:02:23 阅读更多 →
AnyPS5:一套对任意PS5都适用的折腾与优化方案

AnyPS5:一套对任意PS5都适用的折腾与优化方案

看到“AnyPS5”这个名字,估计不少人会误会:是破解方案?是某个新机型?其实都不是。我更愿意把它理解为一套“对任意一台PS5都适用的折腾与优化方案”。这些年帮朋友处理过不少台PS5主机,有的是刚拆封的新机,…

2026/10/14 6:02:23 阅读更多 →
轻资产酒店集团财报解读:现金流、分红与CFO变动背后的逻辑

轻资产酒店集团财报解读:现金流、分红与CFO变动背后的逻辑

最近酒店行业的头条,大概率是这家头部连锁酒店集团的年度成绩单:营收253亿,净利51亿,同时宣布派发约4亿美元股息,同一时间,任职多年的CFO卸任。几个消息堆在一起,很多人第一反应是"业绩不错…

2026/10/14 6:02:23 阅读更多 →
高校农业病虫害智能监测系统设计与实现

高校农业病虫害智能监测系统设计与实现

1. 项目概述农业病虫害监测与预测一直是农业生产中的关键环节。传统的人工巡查方式效率低下且容易遗漏,而基于大数据的智能监测系统正在改变这一现状。这个项目构建了一个面向高校场景的农业病虫害监测与趋势预测系统,整合了数据采集、存储、分析和可视化…

2026/10/14 6:01:22 阅读更多 →

日新闻

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 阅读更多 →