NeRF转精细纹理网格:自适应表面细化与烘焙全流程
简介面向计算机视觉与图形学开发者这份实战项目围绕三维重建中的前沿问题如何从神经辐射场NeRF通过自适应表面细化恢复精细纹理网格。资源完整提供项目源码与流程教程涵盖数据预处理、NeRF训练、表面细化、纹理映射等环节适合具备深度学习基础、希望深入掌握神经渲染与几何重建的开发者。包体共60个文件包括34个Python源码网络定义、渲染器、数据提供器等、9个Shell脚本环境安装、模型下载、数据转换、4个C/CUDA扩展自定义算子及说明文档压缩包约530KB结构清晰便于按模块学习。项目从数据加载、网络结构设计到CUDA算子扩展均有覆盖配合教程可系统理解NeRF表示、表面细化算法与纹理映射流程。目前已有192人学习可用于理解NeRF与自适应细化的结合思路并复现出带真实纹理的三维网格模型。1. 三维重建的最后一步NeRF 是隐形的这个方案把它变成带纹理的网格前阵子帮朋友把一个文化遗产项目的 NeRF 重建结果导出到 UE被一个反直觉的现象卡了很久训练好的 NeRF 在浏览器里转得行云流水一到建模软件里就成了“无法显示的模型”。原因不在分辨率而在输出形态——NeRF 本质是把一个三维场景压缩成一坨隐式辐射场它只能被渲染成图像不能被编辑、不能被重新布光、更不能直接拖进引擎做碰撞体。这篇标题里的“从 NeRF 恢复精细纹理网格”解决的就是三维重建后半段最关键的输出链路把隐式的场翻译成显式的、带 UV 和贴图的三角形网格再用自适应表面细化把几何轮廓和纹理细节修到位。适合两类人一类是训得动 NeRF 但一直卡在“模型怎么导出来”的研究生和算法工程师另一类是给游戏、影视、测绘做可交付三维资产、被资产格式反复折磨的工程同学。2. 自适应表面细化是什么把粗等值面修成精细网格的两条路线2.1 为什么不能直接拿 Marching Cubes 的结果交付NeRF 训练完成后你手里实际持有的是一组 MLP 权重它把空间坐标映射成体密度和颜色。想让它变成网格最直接的做法是把空间离散成体素网格对每个体素取值密度再用 Marching CubesMC抽取密度为固定阈值的等值面。这个流程十行代码就能跑通但出来的网格离“可交付”差得很远。第一层问题是分辨率。受显存限制常用的体素网格只有 256³ 或 512³MC 抽取出来的表面在弯折处呈现明显的台阶状边缘轮廓像被冰块冻住。第二层问题是噪声。NeRF 在视角稀疏或者无纹理区域经常输出高方差密度MC 对噪声极其敏感会在真表面附近生成一堆独立的碎片面片专业上叫“表面毛刺”。第三层问题是拓扑碎片化。MC 默认输出的是百万级三角面其中大量三角形属于互相分离的小连通块后续清理、减面、展 UV 全是额外工作量。所以业内普遍共识是MC 只能当“初始猜测”不能当最终模型。这也是为什么标题里要把“自适应表面细化”单独拎出来——它解决的就是从粗等值面到精细网格之间的那段精度鸿沟。2.2 两条主流路线顶点重投影细化与可微四面体细化把粗网格变细常见做法有三条先搞清楚差异才不会选错方向。第一条是体素细分思路很直白把表面附近的体素递归四分或八分提高局部分辨率后再跑 MC。这条路实现简单但细分会把面数成倍推高而且它改变的是采样分辨率不是连续位置的精度。第二条是顶点重投影细化也是我认为最贴合“从已训练好的 NeRF 恢复网格”这个场景的做法拿到 MC 粗网格后对每个顶点沿法线方向在 NeRF 的密度场里做一维采样找到密度等于等值面阈值的最优点位把顶点挪过去。这个过程迭代多轮顶点位置从“体素中心级的离散位置”逼近到连续坐标几何精度不受体素分辨率约束。第三条是可微四面体DMTet路线它把网格生成嵌入到 NeRF 训练过程中用四面体做可微载体训练时直接优化顶点位置和连接关系。这条路效果最猛但代价是要重新训练整个隐式场训练时长翻倍不说调参失败的风险也高。我一般建议如果你的 NeRF 权重已经训练好了不想再为网格生成付一次训练成本就选顶点重投影细化如果项目还在起步阶段愿意接受训练成本的增加DMTet 那边有 CVPR 2021 的公开方案可以参考。另外这两年大家热议的 3D高斯三维重建走的是另一条输出路线它更适合实时大场景展示但交付进引擎仍然需要转成带纹理的 mesh跟 NeRF 加细化的管线并不冲突两者解决的是不同阶段的问题。2.3 细化机制拆解沿法线找等值面回传颜色学纹理选定顶点重投影路线后每个顶点的更新逻辑可以拆成三步。第一步用顶点邻域三角面的法线做面积加权平均得到该点的几何法线方向。第二步从当前顶点位置出发沿法线正反方向各采样十几个点在 NeRF 的密度场里取值找到密度值最接近等值面阈值的位置。第三步把顶点移动到那个位置并给移动距离加一个小的步长衰减防止来回震荡。几何更新之外还有一条并行的颜色回传通道。每轮更新完顶点位置把该顶点投影到训练好的 NeRF 颜色场里采样 RGB经过若干轮迭代网格的几何形状贴合了密度场顶点颜色也累积了高频纹理信息。这个过程有三个必调参数alpha_thresh 是等值面提取阈值决定“密度多大算表面”refine_iters 是迭代轮数太少收敛不到位太多会把微小噪声放大成起伏normal_weight 是法线平滑项权重不设的话表面会粗糙得跟砂纸一样。这三个参数就是细化质量的命门后面参数表里会给出具体的调整区间。提示细化并不是把网格无脑加密。它的核心是调顶点位置而不是单纯加顶点数量。如果一开始 MC 的体素分辨率太低比如 128³细化再怎么调位置也补不回来结构缺失所以提取粗网格时体素分辨率不能省。3. 跑通最小的项目流程从源码解压到输出第一份细化网格3.1 环境准备依赖冲突是最常见的第一道坎这类“NeRF 恢复网格”的源码包解压之后一般能看到几个模块权重加载与场重建、等值面提取、细化迭代、UV 与纹理生成。动手前先把环境装干净我踩过太多次依赖的坑。基础环境建议用 conda 建独立环境Python 3.8 或 3.10 都行PyTorch 用 2.0 附近的稳定版本CUDA 版本别追新11.8 是多数预编译扩展最常覆盖的版本。除此之外通常还需要 numpy、trimesh、open3d、h5py如果源码里带了 COLMAP 位姿读取逻辑还得装 pycolmap 或 colmap 的可执行文件。装完先跑一个最小的冒烟测试随便给一个虚拟的密度场执行一遍提取加细化确认环境内的 CUDA 算子能正常跑。很多源码包在单卡上调试没问题换个机器就报“undefined symbol”多半是 CUDA 和 PyTorch 的编译版本错配。不要迷信装完就万事大吉花五分钟跑冒烟测试能省后面一小时的排查时间。conda create -n nerf_mesh python3.10 -y conda activate nerf_mesh pip install torch2.1.2 torchvision --index-url https://download.pytorch.org/whl/cu118 pip install trimesh open3d h5py tensorboard这段命令里把 PyTorch 固定到 cu118 版本是为了和后续可能用到的 CUDA 算子对齐。如果你是 Ampere 之前的卡cu118 也支持如果是 40 系卡2.1.2 版本同样没问题。装好后跑python -c import torch; assert torch.cuda.is_available()确认 CUDA 可见。3.2 把 NeRF 权重转成可提取的体素场项目源码里通常会有一个入口脚本负责加载训练好的 NeRF 权重并对指定包围盒做密集采样输出一个密度场。这一步的输出一般是一个.npy或.npz文件里面是[D, H, W]的密度数组和对应的世界坐标范围。命令大致长这样python export_density.py --config configs/scan.yaml \ --ckpt ./expr/scan/ckpt.tar \ --bound -1.2 1.2 \ --voxel-size 512 \ --out ./output/scan/density.npz这里--bound是场景的包围盒范围单位是 NeRF 归一化坐标--voxel-size 512是三轴采样分辨率也就是把包围盒切成 512³ 个格子。这个值直接决定粗网格的上限精度——512³ 大约对应几毫米的体素边长对中小物体够了如果是房间级场景建议把bound放大而不要无脑加voxel-size否则内存先爆。导出完成后可以用 open3d 直接看一眼体素场的切片如果密度场明显发糊说明 NeRF 本身训练欠拟合网格提取部分再怎么调都是白费。3.3 等值面提取与自适应细化一条命令走完密度场导出后就进入标题的核心环节。这类源码通常会把提取和细化分成两个阶段或者合并成一个入口。合并入口的命令一般长这样python refine_mesh.py --config configs/scan.yaml \ --density ./output/scan/density.npz \ --mc-thresh 0.3 \ --mc-voxel 512 \ --refine-iters 1500 \ --refine-lr 0.001 \ --normal-weight 0.05 \ --uv-res 2048 \ --export-format glb \ --out ./output/scan/final.glb这段命令的执行顺序是读取密度场 → 以 0.3 为阈值做 Marching Cubes 提取粗网格 → 对每个顶点沿法线做密度场采样并迭代更新位置 → 对细化后的网格做 UV 展开 → 用 NeRF 颜色场烘焙 2048×2048 纹理 → 导出 GLB。如果你只想重跑细化步骤不改粗网格可以把--density换成--coarse ./output/scan/coarse.obj省掉 MC 这一步。3.4 参数对照表五个决定成败的关键值参数取值范围作用调参方向mc-thresh0.1 ~ 0.7等值面提取阈值偏大丢失薄结构偏小产生碎片mc-voxel256 ~ 1024体素采样分辨率低于 256 细节缺失高于 1024 爆显存refine-iters800 ~ 3000顶点迭代轮数不足则表面粗糙过多则噪声放大refine-lr0.0005 ~ 0.003顶点更新步长太大震荡太小收敛慢normal-weight0.02 ~ 0.1法线平滑权重太大抹平细节太小表面起毛刺一个容易忽略的细节是mc-thresh和refine-iters的耦合如果提取阈值偏低表面等于被“灌”进了密度场内部细化迭代要花很大力气把顶点往外推表现为前几百轮持续朝同一方向位移如果阈值偏高表面又偏薄细化时顶点容易穿模。我一般先跑一次 256³、500 轮迭代的快速预览用 20 分钟看清结构轮廓再上 512³、1500 轮的正式流程不要一上来就跑全量。4. 避坑细化翻车的 5 个现场从镂空奶酪到 UV 错位4.1 提取完网格像“镂空奶酪”表面布满孔洞和独立碎片现象MC 提取出来的网格表面全是小洞内部还飘着一堆跟主体分离的碎片面片用 open3d 旋转一看像块奶酪。原因密度阈值设低了表面附近的噪声密度也被划进等值面或者 NeRF 训练时背景区域密度没收敛干净。解决先把mc-thresh从 0.2 提到 0.5 左右重新提取如果还有碎片跑一步连通域分析只保留最大连通分量。深度坑在于这两个操作会互相掩盖问题——阈值提高会把细枝条、耳机线这类薄结构一并删掉所以薄结构多的场景优先保留碎片再用trimesh.graph.decompose按面积过滤。4.2 细化迭代后表面出现波浪形起伏法线方向乱跳现象细化前粗网格还算平整跑完 1500 轮迭代后表面像水面波纹法线贴图没法用。原因refine-lr太大顶点每次更新都跨过等值面在两侧来回震荡或者是邻域法线计算用的面片太少法线方向本身在边缘处不稳定。解决把学习率降到 0.0005并把更新公式改成带动量项的形式同时判断一下法线是否朝向相机侧必要时用 open3d 的estimate_normals做一次全局重估。这个问题的隐蔽之处在于表面起伏不一定肉眼可见但导进引擎做光照后会异常明显——发现模型暗部有规律地“呼吸”先怀疑细化震荡而不是灯光。4.3 细化完之后的网格纹理“融化”了细节糊成一片现象几何轮廓明显变好了但贴图导出来后像蒙了一层层雾原本清晰的文字和纹理边界全糊了。原因细化改变了顶点位置但 UV 坐标还是提取粗网格时算好的那套纹理和几何之间错位了或者烘焙时在 NeRF 颜色场里采样点数太少。解决几何细化完成后必须重新做 UV 展开再基于新 UV 从 NeRF 颜色场里重新烘焙纹理不要复用旧 UV。烘焙时的每个纹素至少要沿视线方向积分 64 个采样点低于这个数会出现明显的色块感。这个坑最容易出现在“几何已经好了懒得重跑 UV”的偷懒时刻血泪经验告诉你这一省后面一整天都在补窟窿。4.4 前景细结构植物、毛发被当噪点删掉现象满心期待地复原一盆绿植结果叶子全没了只剩花盆。原因细化迭代对每个顶点独立优化细小的枝条在密度场里只有几个体素宽顶点沿法线移动时很容易滑出等值面范围被后续的滤波当作离群点剔除。解决针对薄结构场景把mc-voxel提到 768 以上让枝条至少占 3 个体素同时给细化加一个位移上限比如单轮最多移动 0.05 个场景直径防止细长结构被一次更新甩飞。如果说前面几个坑是参数问题这个属于范畴问题——薄结构的密度场梯度本身就弱细化算法对它天然不友好只能靠更高分辨率去托底。4.5 体素分辨率一调高显存直接溢出现象把mc-voxel从 512 加到 1024进程报 CUDA out of memory训练好的 NeRF 都白训了。原因体素分辨率是立方级增长512³ 升到 1024³显存占用直接翻 8 倍这是数学问题不是代码问题。解决把密度场导出的计算放到 CPU 上分块做用 numpy 逐块计算再拼回 h5 文件细化阶段本身不依赖整块密度场常驻显存可以按顶点邻域局部采样把“全场驻留”改成“按需读取”。习惯做法是显存不够时分 8 块依次处理每块只读对应空间范围的密度数据。5. 纹理网格的最终形态UV 展开、NeRF 颜色烘焙与导出选型5.1 细化后的网格为什么必须重铺 UV细化迭代改变了顶点的空间位置却没有改变顶点的 UV 属性。如果你直接沿用 MC 提取时生成的 UV纹理就会像贴在皱巴巴的纸面上——轮廓对不上细节位移贴图看着“浮”在表面。更麻烦的是 MC 生成的面片通常是无序的三角形之间没有明确的接缝策略直接喂给纹理烘焙器会出来一堆拉伸和重叠。所以细化之后必须重新展开 UV。常见做法是用 xatlas 或 libigl 自带的参数化接口展开时把 UV 密度调成按曲率自适应平面区域多放一点弯曲剧烈的区域多给一点空间。展开时有一个容易忽略的参数填充间隙padding。纹理烘焙时相邻 UV 岛之间至少要留 2~4 个像素的间隙否则相邻岛的颜色会互相渗透表现为贴图上出现细线状的颜色溢出。2048 纹理下4 像素间隙基本够用如果是 1024 纹理间隙建议放大到 8 像素。这个参数写在展开配置里名字一般叫padding或border。5.2 用 NeRF 颜色场做精细烘焙一个最小实现UV 展开完成后烘焙过程的核心逻辑是逐纹素对 NeRF 颜色场做体渲染采样。下面这个伪代码概括了主要流程import numpy as np import torch def bake_texture(mesh, uvs, nerf_field, res2048): # 1. 把三角形 UV 坐标映射到纹理像素坐标 tri_uv mesh.visual.uv # [F, 3, 2] tex torch.zeros(res, res, 3) for tri_idx in range(mesh.faces.shape[0]): # 2. 计算该三角形在纹理图上的包围盒 uv_tri tri_uv[tri_idx] * res xmin, xmax int(uv_tri[:, 0].min()), int(uv_tri[:, 0].max()) ymin, ymax int(uv_tri[:, 1].min()), int(uv_tri[:, 1].max()) for px in range(xmin, xmax 1): for py in range(ymin, ymax 1): # 3. 纹理像素坐标反算回三角形重心坐标 uv torch.tensor([px / res, py / res]) bary solve_barycentric(uv, uv_tri) if (bary 0).any(): continue # 4. 重心坐标加权得到世界坐标 world (bary * mesh.vertices[mesh.faces[tri_idx]]).sum(dim0) # 5. 沿视线方向在 NeRF 场里做积分采样 color nerf_field.render_ray(world, direction, samples64) tex[px, py] color return tex这段代码的每一步对应一个物理含义第 1 步确定每个三角形在贴图上的覆盖区域第 2 步只处理被三角形覆盖的像素省掉无谓计算第 3 步用重心坐标判定像素是否在三角形内防止越界染色第 5 步是真正的颜色来源——注意这里不是直接取最近点的颜色而是沿视线方向做 64 点积分。这是 NeRF 纹理烘焙和普通光栅化烘焙最核心的差别也是它能把微弱的环境光变化保留进贴图的原因。提示不要按上面的伪代码直接跑 CPU 版那是用来理解逻辑的。实际项目里把第 2 步的循环向量化一次处理一个三角形的全部纹素或者换成光栅化思路把 NeRF 渲染的多视角图投影到 UV 空间用加权重投影做融合效率能再提一个量级。质量要求高就走逐纹素积分工期紧张就走多视角重投影。5.3 导出选型OBJ、GLB、PLY 各管什么用细化加烘焙完成之后最后一步是导出。很多人在这一步栽跟头拿了 OBJ 进 UE发现材质连接不上拿了 PLY 进 Blender发现颜色存的是顶点色而不是贴图。事实上三种格式各有侧重按交付对象选型比改代码更重要。格式纹理支持适用场景注意点OBJ外部 MTI 贴图Blender、Maya 等 DCC 软件通用注意相对路径贴图丢失是误报常态PLY顶点色为主也可带纹理点云对比、几何检查高分辨率贴图通常不受支持GLB内嵌纹理自带材质UE、Unity、WebAR、微信小程序 3D 展示单文件交付最省心面数控制在几十万内我一般交付给 UE 或 Unity 用 GLB原因是纹理内嵌进单个文件不会出现 OBJ 常见的“贴图丢失成灰模”事故交付做离线渲染的走 OBJ因为外部贴图便于在引擎里灵活更换材质而几何验证阶段比如跟雷达点云做精度对比时用 PLY 最合适它的顶点属性加载快、没有材质解析开销。如果你要交付给 Web 端展示GLB 是目前兼容性最好的选择微信小程序电商 3D 展示这类场景普遍认它。6. 验收一项细化成果用这 4 个指标判断可以交付细化跑完别急着双击打开看一眼觉得“还行”就完事用四个指标过一遍再交付。第一个是几何精度指标细化网格与 NeRF 密度场的倒角距离Chamfer Distance。把细化后的网格顶点点云和从密度场里按阈值均匀采样的点云做双向最近邻匹配距离均值应低于体素边长的四分之一。超过这个值说明顶点没有真正贴合等值面细化白跑了。第二个是表面法线一致性指标计算细化前后法线方向的平均夹角变化正常应该在 5 到 15 度之间——变化太小可能没细化到位变化太猛说明法线被迭代带偏了。第三个是纹理清晰度指标把纹理烘焙结果重新投影回训练视角算重渲染图像和原始训练的 PSNR低于 28dB 说明烘焙丢了高频信息优先检查采样点数是不是低于 64。第四个是工程性能指标面数和贴图尺寸是否匹配目标平台——移动端单模型控制在 5 万面以内PC 重资产可以放到 30 万到 80 万面贴图尺寸跟着面数走面数不高就 1024面数上去了用 2048 或 4096。这四项过完再绕模型转一圈做肉眼检查重点看轮廓边缘有没有锯齿、细化后有没有新增的凹坑、接缝处纹路对不对得上。我个人的习惯是最后再拿半透明的网格线框叠加到 NeRF 渲染图上对比个十几帧一旦发现“渲染图有的细节网格里没有”直接回炉调分辨率别试图用后处理补救。说句真心话做这个方向最大的教训不是算法不会写而是每次细化完看到几何漂亮就急着交付结果纹理接缝在客户那边放大一看全露馅。后来我把“细化完必须重铺 UV”写成了流程里的固定动作跟训练一样不可跳过。现在每做完一个场景我都会按上面四个指标跑一遍再导进 Blender 做一次目视巡检两轮下来基本没再翻过车。希望这份迁移思路能帮到你。本文还有配套的精品资源点击获取

相关新闻

Win11 全新安装实操记录:从 UEFI 启动盘到进桌面避坑指南

Win11 全新安装实操记录:从 UEFI 启动盘到进桌面避坑指南

那个蓝底四格的窗户 Logo 从黑色背景里浮出来时,我正一手扶着笔记本,一手翻着摊在桌上的《Windows 11 从入门到精通》。那一刻我清楚记得:书还停在 2.4.1 节,标题写着"启动安装程序",而屏幕上那个比 Win10 更…

2026/10/4 5:21:48 阅读更多 →
用Coding模型当导演:代码大模型+FFmpeg搭建自动化视频生成流水线

用Coding模型当导演:代码大模型+FFmpeg搭建自动化视频生成流水线

一说到Coding模型(也就是Qwen2.5-Coder、DeepSeek-Coder这类代码大模型),大多数人第一反应就是写代码、修Bug、做小工具。但最近我一直在折腾一个很有意思的方向:用它来“做视频”。你没看错,代码模型不做生视频的活&a…

2026/10/4 5:21:48 阅读更多 →
用Codex CLI搭建跨境电商内容自动化流水线:从知识库到短视频成片

用Codex CLI搭建跨境电商内容自动化流水线:从知识库到短视频成片

做跨境电商内容这几年,我最大的感受就是:产品可以慢慢打磨,但内容永远在催命。一个新品上来,亚马逊五点描述要写、TikTok Shop脚本要拍、独立站详情页要改、社媒贴文要发,而且每个渠道的语言习惯还不一样。以前三个人一…

2026/10/4 5:21:48 阅读更多 →

最新新闻

MobileNetV3+LR-ASPP道路语义分割实战指南

MobileNetV3+LR-ASPP道路语义分割实战指南

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

2026/10/4 5:57:08 阅读更多 →
Matlab实现1976国际标准大气模型:从公式推导到代码实现

Matlab实现1976国际标准大气模型:从公式推导到代码实现

打开气象数据手册,翻到“国际标准大气”那一章,你会发现一堆密密麻麻的表格:高度、温度、压强、密度,从海平面一路排到86公里甚至更高。做飞行器性能估算、导弹弹道计算、发动机推力分析的时候,这些数据是基础中的基础…

2026/10/4 5:57:08 阅读更多 →
用 Electron + Go 打造跨平台剪贴板管理器:监听、检索与隐私保护

用 Electron + Go 打造跨平台剪贴板管理器:监听、检索与隐私保护

1. 做这个项目的起因与定位我每天的工作里,有大量时间花在复制粘贴上:从文档里抄一段说明发给同事,把网上的代码片段存下来,把聊天里的地址整理进任务清单。时间久了你会发现,系统自带的剪贴板只能记住最后一次复制&am…

2026/10/4 5:57:08 阅读更多 →
基于MySQL+Java+Swing的学生宿舍管理系统课设实战指南

基于MySQL+Java+Swing的学生宿舍管理系统课设实战指南

简介:面向高校数据库课程设计与Java实训场景,这份资料是一套基于MySQL与Java Swing开发的学生宿舍管理系统,覆盖学生信息管理、宿舍分配、管理员权限控制、系统登录等核心功能模块,适合计算机专业学生用于课程设计参考或在此基础上…

2026/10/4 5:57:08 阅读更多 →
LS-DYNA岩石爆破数值模拟:建模流程、关键参数与踩坑指南

LS-DYNA岩石爆破数值模拟:建模流程、关键参数与踩坑指南

做岩石爆破数值模拟这几年,我最常被刚入门的朋友问到的一个问题是:LSDYNA到底怎么才能把岩石炸开,而且炸得跟现场差不多?其实这句话背后藏着一整条知识链:从炸药的爆轰参数,到岩石在高应变率下的破坏准则&a…

2026/10/4 5:57:08 阅读更多 →
Java Swing+MySQL物资信息管理系统全解析:从建库到答辩

Java Swing+MySQL物资信息管理系统全解析:从建库到答辩

简介:面向Java课程设计与期末大作业场景的物资信息管理系统完整项目,以Java Swing构建桌面端界面、MySQL作为数据存储,并配有数据库脚本与设计文档。系统覆盖登录认证、用户管理、基础信息维护、物资出入库、查询统计等典型模块,难…

2026/10/4 5:56:08 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/4 1:00: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/2 10:36:31 阅读更多 →
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/3 9:42:35 阅读更多 →
黑夜航拍船只数据集训练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/3 9:42:36 阅读更多 →