Matlab双目立体视觉:从标定到三维点云重建全流程解析

简介:基于Matlab的双目立体视觉实现包,面向计算机视觉初学者和Matlab开发者,围绕相机标定、特征检测与匹配、基础/本质矩阵估计、三角测量、立体匹配及视差深度图生成这条完整链路展开。压缩包共10个文件,含4个m可执行脚本、1个mat标定数据、3个txt说明文档和2个png结果图示,整体约346KB,便于按步骤对照调试学习,从标定到三维重建均有代码与说明支撑。当前已有1535人学习下载。实现中覆盖SIFT、SURF、ORB等经典特征,结合RANSAC剔除误匹配,并给出estimateEssentialMatrix、triangulate等关键函数的应用方式;txt文档解释了操作流程与参数含义,png图可直观核对中间结果。无论用于课程设计、三维重建入门,还是机器人或自动驾驶感知预研,都能快速搭建实验框架,理解双目视觉从图像到三维信息恢复的核心方法。

1. 双目立体视觉:这份 Matlab 工程到底能帮你省掉多少事

拿到一份「双目立体视觉,基于 Matlab.zip」压缩包,很多人的第一反应是:里面是不是只有一堆跑得通但看不明白的脚本?我拆过几套这类资源,结论是——双目立体视觉从相机标定到三维点云输出的完整链路,Matlab 确实是最适合快速验证的环境,但前提是你得知道每个 .m 文件在干什么、参数为什么这么设。这套流程解决的核心问题很直接:用两个普通摄像头模拟人眼,通过左右图像的视差算出每个像素的深度,进而重建场景的三维结构。适合正在做机器人避障、目标测距、三维重建课程设计或入门研究的开发者,也适合只想把算法跑通、不想从零写标定和匹配代码的从业者。接下来我按实际落地顺序拆解这份资源,从标定讲到点云,再讲我踩过的坑。

2. 先把坐标系校准:标定与立体校正

2.1 为什么双目标定是第一步,省不掉

双目立体视觉的输入是左右两张图,输出是视差图和深度图。但两个摄像头本身存在内参差异(焦距、主点、畸变)和相对位姿偏差(旋转、平移),直接拿原始图像做匹配,视差会严重失真。你可以把双目标定理解成给两个相机建立一套统一的坐标语言——让左图和右图先各自去畸变,再通过立体校正把两幅图像调整到「行对齐、极线平行」的理想状态,这样匹配只在水平方向进行,计算量直接从二维搜索降到一维搜索。

这套 Matlab 工程里通常自带stereoCameraCalibrator或对应的脚本,用棋盘格标定板拍摄十几对图像就能跑出来。我的建议是:

  • 标定图像数量不少于 15 对,覆盖画面各个区域和多个角度,尤其是边缘和中距离。
  • 棋盘格贴在平整的硬板上,不要用软布或纸张,否则角点检测会飘。
  • 每次拍摄时左右图尽量同时按下快门,避免运动模糊导致角点提取失败。

标定完成后,Matlab 会输出左右相机的内参矩阵、畸变系数、旋转矩阵和平移向量。这些参数是整个流程的地基,后面的校正和重建全部依赖它们。很多新手跳过标定直接跑匹配,结果视差图全是噪点,这属于最常见的翻车原因。

2.2 立体校正的代码套路与参数含义

标定参数到手后,接下来就是立体校正。常见做法是用estimateFundamentalMatrix或直接调用stereoRectify——Matlab 的 Computer Vision Toolbox 里,estimateCameraParameters加rectifyStereoImages是最顺手的组合。我一般会这样组织代码:

% 加载标定结果,假设已保存为 stereoParams.mat load('stereoParams.mat'); % 读取左右原始图像 I_left = imread('left_01.png'); I_right = imread('right_01.png'); % 立体校正,输出行对齐后的图像对 [J_left, J_right] = rectifyStereoImages(I_left, I_right, stereoParams); % 可视化校正效果,检查极线是否水平对齐 figure; imshowpair(J_left, J_right, 'montage'); title('Rectified Stereo Pair');

这段代码的逻辑很清晰:先加载标定结构体,再调用rectifyStereoImages完成去畸变和行对齐。参数stereoParams就是标定阶段生成的stereoParameters对象,内部包含了相机内参、畸变、旋转和平移。得到校正后的图像对后,建议观察左右图的同一特征点是否落在同一水平线上——如果在同一行,说明校正成功;如果歪斜,说明标定数据有问题,需要重新拍标定板。

这里有一个关键点:校正后的图像会比原图有轻微裁剪和缩放,这是正常的,因为去畸变和重投影会改变像素位置。不要觉得图像变模糊或边缘裁掉就是出了问题,只要公共视场区域的物体对齐,就可以进入视差计算环节。

2.3 标定质量的快速验证方法

标定结果好不好,不能只看重投影误差,还要看校正后的极线对齐精度。我常用的验证手段是:在校正后的左右图中手动选同一个特征点,打印它们的纵坐标差值。如果差值超过 1 个像素,说明标定精度不够。用代码验证是这样:

% 手动选择左右图中的同一个点 figure; imshow(J_left); [x_left, y_left] = ginput(1); figure; imshow(J_right); [x_right, y_right] = ginput(1); % 计算纵坐标偏差 y_error = abs(y_left - y_right); fprintf('Vertical alignment error: %.2f px\n', y_error);

当所有采样点的纵坐标偏差都小于等于 1 个像素时,标定质量就可以支撑后续的视差计算。偏差过大时,我的经验是增加标定图数量、剔除重投影误差最大的几对图重新标定。这一步虽然繁琐,但能省掉后面排错的大量时间。

3. 视差计算与深度恢复:SGBM 参数与匹配技巧

3.1 从校正图像到视差图:算法选型

立体校正之后,核心问题是:如何找到左右图像中对应的同名点,并算出它们的水平位移差(视差)。视差越大,物体越近;视差为零,说明在无穷远。Matlab 里最常用的两个函数是disparity配合DisparitySGM或DisparityBM。

BM(Block Matching)速度快,但只支持灰度图,对纹理稀疏区域几乎无效,适合实时性要求高、场景纹理充足的场景。SGM(Semi-Global Matching,半全局匹配)则引入了能量函数和路径聚合,能处理弱纹理区域,视差图更平滑,代价是速度和显存占用上升。我做测绘和三维重建时基本只用 SGM,BM 只在预览或实时视频流里用。

一个重要的误解是:视差图不是越光滑越好。SGM 默认会做大量平滑,导致物体边缘被过度抹平,深度突变的地方出现「纸片感」。如果你的目标是对物体边缘做精确测量,需要调低平滑惩罚参数;如果是做整体场景重建,可以保持默认。

3.2 Matlab 中 SGM 视差计算的参数设置

Matlab 中设置 SGM 参数最直接的方式是使用disparitySGM或disparity函数的参数名值对。我常用的模板代码和参数说明如下:

% 读取校正后的左右图像(灰度) I_left_gray = im2gray(J_left); I_right_gray = im2gray(J_right); % 设置 SGM 参数 disparityRange = [0, 128]; % 最小和最大视差,单位像素 numDisparities = 128; % 视差搜索范围 blockSize = 11; % 匹配块大小,建议为奇数 % 计算视差 disparityMap = disparity(I_left_gray, I_right_gray, ... 'Method', 'SGM', ... 'DisparityRange', disparityRange, ... 'BlockSize', blockSize, ... 'ContrastThreshold', 0.5, ... 'UniquenessThreshold', 15); % 可视化视差图 figure; imshow(disparityMap, disparityRange); title('SGM Disparity Map'); colormap('jet'); colorbar;

参数含义拆开讲:

  • DisparityRange:视差搜索范围。你可以根据场景深度设定——近景多的场景把下限调小,远景多的场景把上限调大。范围越大计算越慢,而且误匹配概率升高。
  • BlockSize:匹配窗口大小。块越大,视差图越平滑但边缘越模糊;块越小,细节越丰富但噪声越多。我一般取 9 到 15 之间的奇数。
  • ContrastThreshold:对比度阈值,低于该值的弱纹理区域不参与匹配,能减少无效计算。
  • UniquenessThreshold:唯一性阈值,用于剔除低置信度的匹配点。值越大,输出越稀疏,但剩下的点越可靠。

调参没有玄学,但有套路:先固定 BlockSize 为 11,DisparityRange 设成 [0, 128],跑通流程;再看视差图的空洞区域和边缘质量,逐步缩范围、调块大小。注意,BlockSize 是影响速度最大的参数之一,每增加 2,计算量几乎翻倍。

3.3 视差图后处理:中值滤波与连通域去噪

SGM 输出的视差图仍有零星噪声,尤其是反光表面、重复纹理和遮挡区域。对于后续的深度计算,这些噪点会直接变成三维点云中的飞点。我习惯做两步后处理:

第一步,中值滤波去除孤立噪点。用medfilt2或imgaussfilt都行,但中值滤波更保边缘:

% 去除孤立噪点,窗口大小与 BlockSize 保持相近 disparityMap_filtered = medfilt2(disparityMap, [5 5]);

第二步,用连通域分析剔除面积过小的视差碎片。这些碎片通常是误匹配产生的,区域面积小,不可信:

% 统计连通域面积,剔除小于阈值的小区域 minArea = 50; % 最小面积阈值 cc = bwconncomp(disparityMap_filtered > 0); rp = regionprops(cc, 'PixelIdxList', 'Area'); for i = 1:length(rp) if rp(i).Area < minArea disparityMap_filtered(rp(i).PixelIdxList) = 0; end end

这里bwconncomp把非零视差像素分成连通区域,regionprops计算每个区域面积,小区域直接置零。注意,这一步不能做得太狠,否则远处的薄物体容易被整体抹掉。minArea 的取值取决于图像分辨率和场景复杂度,我通常先设置 50,再根据输出点云的干净程度上下调整。

4. 从视差到三维点云:深度公式与重建管线

4.1 视差与深度的关系:三角测量的本质

有了视差图,深度其实是通过几何关系直接换算的。对理想的双目系统,深度 Z 与视差 d 之间满足:

Z = f * B / d

其中 f 是相机焦距(单位像素),B 是左右相机光心的基线距离(单位毫米),d 是视差(单位像素)。这个公式是双目测距的基石。实际工程中,f、B 都来自标定结果,因此标定误差会直接线性放大到深度误差——这也是我反复强调标定重要性的原因。

需要区分的是:Matlab 的disparity输出的是视差,单位是像素;点云重建时,如果你用reconstructScene函数,它会利用标定参数自动完成从视差到三维坐标的换算。如果你自己写换算公式,务必确认disparityToDepth这类函数用的焦距和基线单位是否一致,否则出来的点云尺度会偏得离谱。

4.2 Matlab 点云重建的代码管线

用 Matlab 做三维重建,标准路径是:视差图 -> DepthMap -> pointCloud -> pcwrite 输出。我这里给出一段完整的可运行代码思路:

% 假设 disparityMap 已通过 SGM 计算并滤波 % 使用标定参数重建三维点云 points3D = reconstructScene(disparityMap_filtered, stereoParams); % 注意:points3D 是 HxWx3 的数组,第三维是 (X,Y,Z) % 将无效深度(Inf 或 0)置为 NaN,便于可视化跳过 points3D(points3D == Inf) = NaN; % 生成点云对象,同时附上颜色信息(用左图作为纹理) ptCloud = pointCloud(points3D, 'Color', J_left); % 可视化点云 figure; pcshow(ptCloud); xlabel('X (mm)'); ylabel('Y (mm)'); zlabel('Z (mm)'); title('Reconstructed 3D Point Cloud');

reconstructScene是该工具箱的关键封装——它接收视差图和标定参数,输出三维坐标。但注意,输出的坐标系原点是左相机光心,Z 轴指向场景前方,X 轴向右,Y 轴向下。很多人在可视化时发现点云反了或上下颠倒,多半是没注意坐标轴方向。

点云保存成文件时,我通常用 PLY 或 PCD 格式,方便后续用其他软件查看:

% 保存为 PLY 格式,方便 CloudCompare 或 MeshLab 打开 pcwrite(ptCloud, 'reconstruction.ply', 'Encoding', 'binary');

4.3 尺度校准:没有它,点云只是玩具

如果你是做测距或尺寸测量,点云的尺度必须和真实世界一致。reconstructScene输出的距离单位取决于标定时棋盘格的单位。我标定时会把棋盘格格子尺寸设为 10mm 或 30mm,这样重建出来的 Z 值直接就是毫米。如果标定输入时用的单位不对,结果会是像素尺寸,和真实尺度完全对不上。

一个更稳的做法是:在场景中放一个已知尺寸的参照物,比如 A4 纸或某个盒子,重建后测量点云中该物体的尺寸,反推缩放因子。这一步虽然看起来多余,但能一次性发现标定或换算的尺度问题,是我的固定流程。

5. 避坑排查:双目工程四个常见翻车现场

5.1 现象一:校正后图像左右不齐,视差图全是竖条纹

现象:rectifyStereoImages输出的左右图虽然能看,但用imshowpair叠加时明显有垂直方向的错位,视差图上出现大量纵向条纹。

原因:标定图像质量差,角点检测不精确,导致外参(旋转和平移)估计错误;或者标定板拍摄的张数不足、视角覆盖不够。

解决:重拍标定板,至少 20 对图像,确保棋盘格出现在画面的四个角和中心位置;剔除重投影误差超过 0.5 像素的图像重新标定;标定后务必用 2.3 节的纵坐标偏差验证方法做检验,偏差超过 1 像素就重新来。

5.2 现象二:视差图前景亮度比背景低,深度关系反了

现象:近处的物体在视差图上显示为暗色,远处的天空反而亮,和「近大远小、近亮远暗」的直觉完全相反。

原因:视差定义方向问题。Matlab 的disparity默认按「右图相对左图的位移」计算,有些版本或自定义脚本里用的是左减右,而你的可视化范围设置颠倒了。另外还有可能是显示DisparityRange设置反了。

解决:检查你的disparity函数传入左右图像的顺序;显示时把DisparityRange设成与数据实际范围一致;如果关系仍然反,就做一次取负映射后再可视化。

5.3 现象三:点云出现大量飞散的孤立点,像爆炸现场的碎片

现象:pcshow显示的点云中,主体物体是清晰的,但周围漂浮着大量无规律的点,密度不高但数量很多,严重干扰读取。

原因:视差图里的误匹配点没有完全滤除。SGM 的UniquenessThreshold设得太低,给了无纹理区域的随机匹配放行;或者后处理的中值滤波窗口太小,孤立噪点没被去掉。

解决:先调高UniquenessThreshold,从 15 逐步升到 30,观察点云噪声是否下降;再加大中值滤波窗口到 [7 7] 或 [9 9];最后在点云端做半径离群点剔除——Matlab 里可以用pcdenoise配合阈值参数完成。

5.4 现象四:深度值整体偏移,实测距离差了好几厘米

现象:重建出来的物体轮廓、形状都对,但用鼠标读取点云中的距离,发现比实测距离整体多(或少)一个固定值。

原因:基线长度 B 不准确。标定工具箱虽然会输出平移向量,但如果你换了摄像头支架或重新安装过相机,B 会变;另外,标定板格子的真实尺寸和代码里写的尺寸不一致,也会导致尺度整体缩放。

解决:用尺子实测两个相机光心之间的水平距离,与标定输出的平移向量对比,偏差超过 5% 就重新标定;测量标定板单个格子的实际边长,确认和标定代码中的参数一致;最好在场景中放参照物做最终尺度验证。

6. 进阶验证与效率技巧:让结果从「能跑」到「能用」

整套流程跑通后,你会发现真正拉开差距的不再是算法选择,而是对结果的验证细节和调参效率。我在这里整理三条最实用的进阶技巧。

第一条,用 A 误差曲线评估视差图质量。A 误差(Accuracy Error)是视差图与真实视差(通常由高精度设备获得或合成数据提供)之间的平均绝对偏差。没有真值时,我一般用左右一致性检查——把左右图对调再算一次视差,两张视差图上同一位置的值差异超过 1 个像素,就标记为遮挡或误匹配点剔除。在 Matlab 里实现这个逻辑的成本很低,却能让点云干净程度明显提升。

第二条,手动调参时,用一组小分辨率图像快速试参。直接在全分辨率图像上跑 SGM,每次调参都要等几十秒甚至几分钟,人很容易失去耐心而盲目乱调。我把校正后的图像先缩放到 1/4 分辨率,快速确定BlockSize和DisparityRange的大致范围,再用全分辨率精调。这个习惯让我的试参效率提升了至少三倍。

第三条,验证深度精度时,不要只看单个点的值,要看平面拟合误差。方法是:在场景中放置一个已知的平面(比如硬纸板),重建后提取该平面区域内的点,用pcfitplane拟合出平面方程,然后计算每个点到拟合平面的距离标准差。标准差小于 2mm 说明系统精度良好,超过 5mm 就说明标定或匹配参数有问题。这个指标比单点测量更客观,能发现系统性偏差。

从那以后,我每次拿到新的双目工程,都会强制走一遍「标定验证 → 小图试参 → 尺度校准 → 平面精度检验」这套流程,而不是直接跑匹配看效果。这套方法帮我挡掉了至少三成不必要的返工。希望帮到你——如果你手上的这份 Matlab 资源也能跑出清晰点云,那这功夫就花得值了。

本文还有配套的精品资源,点击获取

相关新闻

网络排查实战:常用命令、DNS与SMTP协议详解

网络排查实战:常用命令、DNS与SMTP协议详解

不管是刚入行的网络工程师&#xff0c;还是被网络问题折磨过的开发、运维同学&#xff0c;ping、nslookup、tracert这些命令&#xff0c;以及DNS、SMTP背后的原理&#xff0c;都属于那种“日常在用、但鲜少系统梳理”的知识点。很多人在排查“网页打不开”“邮件发不出去”这类…

2026/10/20 16:07:27 阅读更多 →
Agent框架插件化机制深度拆解:从生命周期到事件总线

Agent框架插件化机制深度拆解:从生命周期到事件总线

最近我把一套开源的 Agent 框架源码完整过了一遍&#xff0c;本来没抱太大期待——市面上叫 Agent 框架的项目太多了&#xff0c;多数是把模型调用和工具函数包一层&#xff0c;换个名字就开源。但真正读下来&#xff0c;我意识到自己低估了它的插件化设计。不是那种“你写一个…

2026/10/20 16:07:27 阅读更多 →
基于Django与微信小程序的校园活动抽奖系统开发实践

基于Django与微信小程序的校园活动抽奖系统开发实践

1. 项目整体设计与核心需求拆解1.1 这个抽奖系统到底解决什么问题先说结论&#xff1a;这个系统解决的是校园活动里最让人头疼的“现场抽奖怎么搞”的问题。我见过太多活动主办方的操作方式——要么用纸质抽奖箱&#xff0c;人工抽号&#xff0c;效率低还容易被质疑公平性&…

2026/10/20 16:07:27 阅读更多 →

最新新闻

Agentic Harness Workflow:从能跑通代码到可交付工程的AI编程框架

Agentic Harness Workflow:从能跑通代码到可交付工程的AI编程框架

1. 为什么"能跑通的代码"和"能交付的工程"之间隔着一道鸿沟 如果你最近半年深度用过任何一款 AI 编程助手&#xff0c;大概率经历过这样的场景&#xff1a;你让它写一个功能&#xff0c;它三下五除二吐出一大段代码&#xff0c;你复制粘贴进去&#xff0c;…

2026/10/20 17:04:26 阅读更多 →
Postman接口关联实战:从登录Token到下单的自动化流程

Postman接口关联实战:从登录Token到下单的自动化流程

某B2C在线商城的API接口文档里&#xff0c;最经典的一条业务就是“登录-选择商品加入购物车-下单”。我拿到这个需求的第一反应是&#xff1a;请求参数倒是不难&#xff0c;难在这些接口之间要传一堆动态数据&#xff0c;登录返回token、商品列表返回productId、购物车返回购物…

2026/10/20 17:04:26 阅读更多 →
Agentic Harness Workflow:用状态机+Agent工程化框架驾驭AI编码

Agentic Harness Workflow:用状态机+Agent工程化框架驾驭AI编码

1. 为什么“让AI写代码”这件事需要一套工程化框架 1.1 从“对话式写代码”到“流程化跑任务”的认知转变 过去一年多&#xff0c;我身边不少开发者对 AI Coding 的态度经历了三个阶段&#xff1a;最开始是好奇&#xff0c;拿它写个正则、补个单元测试&#xff1b;然后是依赖&…

2026/10/20 17:04:26 阅读更多 →
InstallShield中附属MSI的安装卸载实战与调试

InstallShield中附属MSI的安装卸载实战与调试

前两天帮人看一个安装包的诡异问题&#xff1a;主程序明明是装成功了&#xff0c;但被一起带上的那个MSI组件死活装不上&#xff0c;卸载的时候还赖在系统里不走。这个场景搞Windows安装包的朋友应该不陌生——主程序用InstallShield打成一个安装包&#xff0c;安装时还要顺带把…

2026/10/20 17:04:26 阅读更多 →
HUSB351快充芯片:小体积PD协议芯片的工程落地逻辑

HUSB351快充芯片:小体积PD协议芯片的工程落地逻辑

1. 从“机乐堂”供应链变动看快充芯片选型的底层逻辑最近在整理一批快充配件的BOM清单时&#xff0c;注意到一个细节&#xff1a;某款标称30W PD快充的迷你插线板&#xff0c;其协议识别模块的丝印从常见的“FP6606”悄然换成了“HUSB351”。进一步交叉查证发现&#xff0c;该产…

2026/10/20 17:04:26 阅读更多 →
MVMD联合小波阈值去噪:多通道非平稳信号MATLAB实战

MVMD联合小波阈值去噪:多通道非平稳信号MATLAB实战

简介&#xff1a;这份资源面向信号处理、故障诊断与振动监测方向的学习者和研究人员&#xff0c;提供一套基于MATLAB的完整联合去噪方案&#xff0c;用于从含噪多通道信号中恢复原始信号。核心流程涵盖MVMD多元变分模态分解、基于相关系数的有效模态筛选、小波阈值去噪、模态重…

2026/10/20 17:03:25 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

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

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

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

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

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

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 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/20 10:02:08 阅读更多 →
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/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练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/20 9:50:45 阅读更多 →