激光雷达点云到相机图像投影:坐标变换原理与代码实现
1. 项目背景与核心问题拆解多传感融合是自动驾驶、机器人感知领域绕不开的一个核心话题。我在优达学城的多传感融合课程里学到第三部分时遇到了一个非常典型的问题如何把激光雷达的3D点云准确地映射到相机图像上。这个问题的本质是建立两个不同传感器坐标系之间的数学关系让3D空间中的点能够在2D图像上找到对应的像素位置。为什么这件事这么重要因为激光雷达能提供精确的深度信息但缺乏纹理和颜色相机能提供丰富的纹理和颜色但缺乏深度。把两者结合起来就能让感知系统既知道“前面有个东西”又知道“那个东西长什么样”。这个能力在目标检测、语义分割、障碍物分类等任务中都是基础中的基础。这个项目适合谁如果你正在学习自动驾驶感知、机器人视觉、或者任何涉及多传感器融合的领域这篇笔记会非常有用。我会从坐标系变换的数学原理讲起一步步推导到代码实现把我在实操中踩过的坑和总结的技巧都分享出来。即使你之前没接触过激光雷达和相机标定跟着走也能理解整个流程。在开始之前先明确几个核心概念。激光雷达点云是在激光雷达坐标系下表示的相机图像是在相机坐标系下投影得到的。要把点云映射到图像需要经过一系列坐标变换从激光雷达到相机的外参变换再从相机坐标系到图像平面的内参投影。这个过程涉及旋转矩阵、平移向量、齐次坐标、透视投影等数学工具。我一开始觉得这些概念很抽象但后来发现只要把每个坐标系想象成不同的“视角”把变换想象成“换一个角度看同一个世界”就很容易理解了。比如激光雷达像是站在车顶往下看相机像是站在挡风玻璃后面往前看两者看到的是同一个场景只是角度和位置不同。映射的过程就是找到两个视角之间的对应关系。注意坐标系变换的顺序非常重要一旦搞错顺序结果会完全错误。我建议在纸上画出每个坐标系的轴向标注清楚变换的方向再开始写代码。2. 坐标系变换的数学原理与推导2.1 激光雷达坐标系到相机坐标系的刚体变换激光雷达和相机安装在车辆的不同位置它们各自的坐标系原点和轴向都不一样。要把激光雷达坐标系下的点转换到相机坐标系需要一个刚体变换包括一个旋转矩阵R和一个平移向量t。假设激光雷达坐标系下的点为P_lidar (x, y, z)相机坐标系下的点为P_cam (x, y, z)那么变换关系可以写成P_cam R * P_lidar t这里的R是3x3的旋转矩阵t是3x1的平移向量。旋转矩阵描述了两个坐标系之间的姿态差异平移向量描述了原点之间的位置偏移。在实际项目中R和t通常是通过标定得到的。标定的过程就是找到一组R和t使得激光雷达点云投影到图像上后能与图像中的对应特征对齐。优达学城的课程里提供了标定好的参数但在实际工程中你可能需要自己标定。我一开始不理解为什么需要旋转矩阵觉得平移就够了。后来才明白激光雷达和相机的朝向可能完全不同。比如激光雷达可能水平安装相机可能稍微向下倾斜两者之间有一个俯仰角的差异。这个角度差异就体现在旋转矩阵里。旋转矩阵有一个重要性质它是正交矩阵行列式为1。这意味着它不改变向量的长度只改变方向。这个性质在验证标定结果时很有用——如果你算出来的旋转矩阵不满足正交性那肯定哪里出错了。2.2 齐次坐标与变换矩阵的合并为了简化计算通常会把旋转和平移合并成一个4x4的变换矩阵并使用齐次坐标。齐次坐标就是在原来的坐标后面加一个1变成(x, y, z, 1)。这样变换就可以写成矩阵乘法的形式P_cam_homo T * P_lidar_homo其中T是4x4的变换矩阵T [R t] [0 1]这种表示方法的好处是多个变换可以连续相乘用一个矩阵表示。比如从激光雷达到相机再从相机到图像可以合并成一个总的变换矩阵。这在代码实现中非常方便。我在写代码时一开始用的是分开的R和t后来发现用4x4矩阵更简洁而且不容易出错。特别是当你有多个传感器需要变换时统一用齐次坐标和变换矩阵代码会清晰很多。提示在构建变换矩阵时注意t是列向量放在矩阵的最后一列。如果你把t放错位置结果会完全错误。我建议写完后用一个小例子验证一下比如把原点(0,0,0)变换过去看看结果是不是t。2.3 相机内参与透视投影从相机坐标系到图像平面的变换用的是相机内参矩阵。相机内参描述了相机的焦距、主点等内部属性。假设相机坐标系下的点为P_cam (x, y, z)图像平面上的像素坐标为(u, v)那么透视投影关系是u f_x * (x / z) c_x v f_y * (y / z) c_y其中f_x和f_y是焦距以像素为单位c_x和c_y是主点坐标。这些参数通常写成3x3的内参矩阵KK [f_x 0 c_x] [0 f_y c_y] [0 0 1 ]用矩阵形式表示就是[u, v, 1]^T K * P_cam / z注意这里的除法是逐元素除以z因为透视投影是非线性的。在实际计算中通常先算K * P_cam得到齐次坐标再除以第三个分量得到像素坐标。我一开始对焦距的单位感到困惑。后来明白f_x和f_y是以像素为单位的它们等于物理焦距除以像素尺寸。比如物理焦距是4mm像素尺寸是2um那么f_x 4mm / 2um 2000像素。这个值通常很大因为像素尺寸很小。注意如果z 0说明点在相机后面不应该投影到图像上。在代码中一定要加这个判断否则会出现错误的投影结果。我一开始忘了加结果有些点投影到了图像的错误位置排查了很久才发现。3. 实操过程与核心环节实现3.1 数据准备与参数加载在开始写代码之前需要准备好激光雷达点云数据和相机图像以及标定参数。优达学城的课程里提供了这些数据包括点云文件、图像文件和标定参数文件。标定参数通常包括激光雷达到相机的旋转矩阵R3x3激光雷达到相机的平移向量t3x1相机内参矩阵K3x3图像尺寸宽、高我建议把这些参数放在一个配置文件里方便修改和复用。在Python中可以用numpy数组来存储这些矩阵。import numpy as np # 激光雷达到相机的旋转矩阵 R np.array([[0, -1, 0], [0, 0, -1], [1, 0, 0]]) # 激光雷达到相机的平移向量 t np.array([0.0, 0.0, 0.0]) # 相机内参矩阵 K np.array([[1000, 0, 640], [0, 1000, 360], [0, 0, 1]]) # 图像尺寸 img_width 1280 img_height 720这里的R和t是示例值实际使用时需要替换成标定得到的真实值。我一开始直接用了课程提供的参数后来发现不同数据集的参数不一样一定要确认清楚。提示在加载参数时注意检查矩阵的形状和数值范围。旋转矩阵应该是正交的平移向量的数值应该在合理范围内比如几米以内。如果发现异常可能是文件读取错误或格式不对。3.2 点云读取与预处理激光雷达点云通常以二进制文件或文本文件的形式存储。优达学城的课程里用的是二进制文件每个点包含x、y、z、反射强度四个浮点数。读取时需要指定数据类型和形状。def read_point_cloud(file_path): # 每个点4个float32共4*416字节 point_cloud np.fromfile(file_path, dtypenp.float32) # 重塑为N x 4的数组 point_cloud point_cloud.reshape(-1, 4) # 只取前3列x, y, z points point_cloud[:, :3] return points读取后通常需要做一些预处理。比如过滤掉距离太远或太近的点因为太远的点投影后可能不准确太近的点可能是车辆自身的反射。我一般会保留距离在2米到50米之间的点。def filter_points(points, min_dist2.0, max_dist50.0): distances np.linalg.norm(points, axis1) mask (distances min_dist) (distances max_dist) return points[mask]这个过滤步骤很重要因为原始点云中可能包含很多噪声点。如果不过滤投影到图像上会显得很乱影响后续的分析。注意过滤距离的选择要根据实际场景调整。在城市道路场景中50米可能就够了在高速场景中可能需要保留更远的点。我建议先可视化一下点云看看分布情况再决定。3.3 坐标变换与投影计算有了点云和参数就可以进行坐标变换和投影了。整个过程分为三步将点云从激光雷达坐标系变换到相机坐标系将相机坐标系下的点投影到图像平面过滤掉不在图像范围内的点第一步的代码def transform_to_camera(points, R, t): # 将点云从激光雷达坐标系变换到相机坐标系 # points: N x 3 # R: 3 x 3 # t: 3 x 1 points_cam np.dot(points, R.T) t return points_cam这里注意R.T是旋转矩阵的转置。因为我们的点云是N x 3的矩阵每一行是一个点所以要用R.T来右乘等价于对每个点做R * p的变换。第二步的代码def project_to_image(points_cam, K): # 将相机坐标系下的点投影到图像平面 # points_cam: N x 3 # K: 3 x 3 # 先过滤掉z 0的点 mask points_cam[:, 2] 0 points_cam points_cam[mask] # 计算归一化坐标 points_norm points_cam[:, :2] / points_cam[:, 2:3] # 应用内参矩阵 points_homo np.hstack([points_norm, np.ones((points_norm.shape[0], 1))]) points_img np.dot(points_homo, K.T) # 取前两列作为像素坐标 pixels points_img[:, :2] return pixels, mask第三步的代码def filter_pixels(pixels, img_width, img_height): # 过滤掉不在图像范围内的点 mask (pixels[:, 0] 0) (pixels[:, 0] img_width) \ (pixels[:, 1] 0) (pixels[:, 1] img_height) return pixels[mask], mask这三步完成后就得到了点云在图像上的投影位置。可以把这些位置画在图像上看看效果。提示在计算归一化坐标时注意除法要逐元素进行。我用的是points_cam[:, 2:3]而不是points_cam[:, 2]这样可以保持维度一致避免广播错误。这个细节很容易忽略但会导致结果错误。3.4 可视化与效果验证投影完成后需要可视化结果来验证是否正确。我一般会用OpenCV或matplotlib把图像显示出来然后在上面画出投影点。import cv2 def visualize_projection(image, pixels, colorsNone): # 在图像上画出投影点 for i, (u, v) in enumerate(pixels): color (0, 255, 0) if colors is None else colors[i] cv2.circle(image, (int(u), int(v)), 2, color, -1) return image如果投影正确你应该能看到点云形成的轮廓与图像中的物体对齐。比如车辆、行人、路沿等点云投影应该落在对应的物体上。我一开始投影出来的结果完全不对点云散落在图像各处。后来发现是旋转矩阵用错了把R和R.T搞混了。修正后点云就准确地落在了物体上。这个错误很常见建议大家在写代码时仔细检查矩阵乘法的方向。注意如果投影结果整体偏移可能是平移向量不对如果投影结果旋转了可能是旋转矩阵不对如果投影结果缩放不对可能是内参矩阵不对。可以根据偏移的模式来定位问题。4. 常见问题与排查技巧实录4.1 投影点全部落在图像外这是最常见的问题之一。可能的原因有旋转矩阵或平移向量错误内参矩阵错误坐标系定义不一致排查方法先检查原点(0,0,0)的投影位置。如果原点投影不在图像中心附近说明外参或内参有问题。然后检查一个已知点的投影比如正前方10米处的点看看投影位置是否合理。我遇到过一次所有点都投影到了图像左上角。后来发现是平移向量的符号反了。把t改成-t后投影就正常了。所以符号问题一定要仔细检查。4.2 投影点与物体不对齐如果投影点整体偏移或旋转说明外参不准确。可能是标定参数过时了或者安装位置发生了变化。在实际工程中传感器可能会因为振动而轻微移位导致标定参数失效。解决方法重新标定或者用已知的对应点对来微调参数。我一般会找几个明显的特征点比如路面的角点、车辆的边缘手动调整参数直到对齐。4.3 点云密度不均匀激光雷达点云的密度随距离增加而降低这是物理特性决定的。近处的点很密远处的点很稀。投影到图像上后近处的点会形成密集的点簇远处的点则很稀疏。这个问题的解决方法可以对点云进行下采样或者根据距离调整点的显示大小。我一般会对近处的点做体素滤波减少点的数量让可视化更清晰。4.4 颜色映射不直观默认情况下投影点都是同一种颜色很难看出深度信息。可以根据点的距离或高度来着色让可视化更直观。def get_colors_by_distance(points): distances np.linalg.norm(points, axis1) # 归一化到0-255 colors (distances / distances.max() * 255).astype(np.uint8) # 使用jet colormap colormap cv2.applyColorMap(colors, cv2.COLORMAP_JET) return colormap这样近处的点显示为蓝色远处的点显示为红色一目了然。我在调试时经常用这种方法能快速发现距离计算是否正确。提示在着色时注意colormap的输入应该是uint8类型范围0-255。如果输入是浮点数需要先转换。我一开始忘了转换结果颜色全是乱的。4.5 性能优化技巧如果点云数量很大比如几十万个点投影计算可能会很慢。可以用numpy的向量化操作来加速避免用for循环。我试过用for循环逐点计算处理10万个点要好几秒。改成numpy的矩阵运算后只需要几十毫秒。所以一定要用向量化操作。另外可以先用距离过滤掉大部分点只对感兴趣区域内的点做投影。这样能进一步减少计算量。# 只对前方50米内的点做投影 mask (points[:, 0] 0) (points[:, 0] 50) points points[mask]这个技巧在实际工程中很实用因为感知系统通常只关心前方一定范围内的物体。4.6 常见问题速查表问题现象可能原因排查方法解决方案投影点全部在图像外外参或内参错误检查原点投影位置重新检查参数注意符号投影点与物体不对齐外参不准确找特征点对比重新标定或微调参数点云密度不均匀激光雷达物理特性观察距离分布下采样或调整显示大小颜色映射不直观未着色或着色错误检查颜色计算按距离或高度着色计算速度慢未向量化检查是否有for循环改用numpy矩阵运算z0的点被投影未过滤检查是否有过滤加z0的判断这个表格是我在实际操作中总结的涵盖了大部分常见问题。遇到问题时可以按表排查能节省很多时间。注意排查问题时建议从简单到复杂。先检查参数是否正确再检查代码逻辑最后检查数据质量。我一开始总是怀疑数据有问题后来发现大部分时候是参数或代码的问题。5. 进阶技巧与扩展应用5.1 点云与图像的深度融合基本的投影只是把点云映射到图像上但真正的融合需要更深入的处理。比如可以用点云的深度信息来辅助图像的分割或者用图像的纹理信息来增强点云的分类。一个常见的做法是对图像做语义分割然后把分割结果投影到点云上给每个点赋予语义标签。这样点云就不仅有了深度信息还有了类别信息。def fuse_semantics(points, pixels, segmentation): # segmentation: 与图像同尺寸的标签图 labels [] for u, v in pixels: label segmentation[int(v), int(u)] labels.append(label) return np.array(labels)这个融合结果可以用于后续的3D目标检测或场景理解。我在一个模拟项目中试过这种方法效果比单独用点云或图像要好很多。5.2 多帧点云的累积单帧点云通常比较稀疏尤其是在远处。可以把多帧点云累积起来增加密度。但要注意车辆在运动不同帧的点云在不同的坐标系下需要先做运动补偿。运动补偿的方法利用车辆的里程计或IMU信息估计每帧之间的位姿变化然后把所有点云变换到同一坐标系下。def accumulate_point_clouds(point_clouds, poses): # poses: 每帧的位姿矩阵 accumulated [] for pc, pose in zip(point_clouds, poses): # 将点云变换到第一帧的坐标系 pc_transformed np.dot(pc, pose[:3, :3].T) pose[:3, 3] accumulated.append(pc_transformed) return np.vstack(accumulated)累积后的点云密度更高投影到图像上后物体的轮廓会更清晰。这个技巧在离线处理中很常用比如制作高精度地图。5.3 投影结果的评估指标如何判断投影是否准确除了目视检查还可以用一些量化指标。比如计算投影点与图像中物体边缘的距离距离越小说明对齐越好。另一个指标是投影点的覆盖率图像中物体区域内的投影点数量占总投影点数量的比例。覆盖率越高说明点云对物体的描述越完整。我一般会结合目视和量化指标来评估。目视能快速发现明显的问题量化指标能发现细微的偏差。提示在计算量化指标时需要先标注图像中的物体区域。这通常需要人工标注比较耗时。如果只是调试目视检查通常就够了。5.4 与其他传感器的融合除了激光雷达和相机车辆上可能还有毫米波雷达、超声波雷达、IMU等传感器。多传感融合的目标是把所有传感器的信息整合起来形成对环境的完整感知。激光雷达和相机的融合是基础在此基础上可以加入毫米波雷达的速度信息或者IMU的运动信息。融合的层次可以是数据级、特征级或决策级具体选择取决于应用需求。我在学习过程中发现融合的难点不在于算法而在于时间同步和空间同步。不同传感器的采样频率不同时间戳可能不对齐需要做时间插值。空间同步就是标定需要精确的外参。5.5 实际项目中的注意事项在实际项目中有几个点需要特别注意标定参数的时效性传感器可能会因为振动而移位标定参数需要定期检查。我建议每次长时间运行后都重新验证一下。数据的时间同步激光雷达和相机的数据采集时间可能不同需要根据时间戳做对齐。如果时间差太大运动物体会出现重影。计算资源的限制车载计算平台通常资源有限投影计算需要优化。我一般会用C重写关键部分或者用GPU加速。异常情况的处理比如点云为空、图像损坏、参数文件缺失等代码需要能优雅地处理这些情况。这些经验是我在多个项目中积累的希望能帮你少走弯路。注意在实际部署前一定要做充分的测试。我见过很多在实验室里运行良好的代码一到车上就出问题。测试时要覆盖各种场景包括白天、夜晚、雨天、隧道等。6. 个人实操体会与建议我在学习多传感融合的过程中最大的体会是数学原理要懂但不要陷进去。一开始我花了很多时间推导旋转矩阵和投影公式后来发现实际工作中更重要的是理解每个参数的含义和影响而不是从头推导公式。另一个体会是可视化是最好的调试工具。每做完一步都要可视化结果看看是否符合预期。我一开始总是想一口气写完所有代码结果出了问题很难定位。后来改成每步都可视化问题就很容易发现了。还有一点参数一定要仔细检查。我遇到的大部分问题最后都发现是参数错了。比如旋转矩阵的转置、平移向量的符号、内参矩阵的数值等。建议写一个检查函数自动验证参数的合理性。最后多动手多试错。看再多的教程不如自己写一遍代码。我在优达学城的学习过程中每个项目都自己从头实现了一遍虽然花了很多时间但收获也最大。遇到问题时先自己排查实在不行再查资料或问别人。这样学到的知识才扎实。这个内容后续还可以这样扩展加入时间同步的处理实现多帧点云的累积或者把投影结果用于3D目标检测。如果你对某个方向感兴趣可以继续深入。我接下来会尝试把投影结果与深度学习模型结合做端到端的感知。

相关新闻

Java Stream流特性解析:惰性求值、一次性消费与并行陷阱

Java Stream流特性解析:惰性求值、一次性消费与并行陷阱

把 Java Stream API 当成“更好看的 for 循环”来用,是很多 Java 开发者的起步姿势。filter 筛选、map 转换、collect 收集,这套组合拳打得很顺。但一旦碰到“流只能消费一次”“peek 里的日志为什么不打印”“parallelStream 的结果顺序怎么乱了”这类现…

2026/10/13 8:17:04 阅读更多 →
数据孤岛如何破?API管理系统是企业集成绕不开的关键基础设施

数据孤岛如何破?API管理系统是企业集成绕不开的关键基础设施

这两年做企业数字化项目,我几乎每次都会被客户问到同一个问题:系统上了好几套,软硬件投入年年加,为什么数据还是对不齐,账还是对不上,报表还是要靠人工拼?问题往往就出在“数据孤岛”上。而我自…

2026/10/13 8:17:04 阅读更多 →
AI 写代码,你来守安全:TaoToken 统一 Key 下的五层防线落地大纲

AI 写代码,你来守安全: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 8:17:04 阅读更多 →

最新新闻

JxBrowser 6.16 破解版:离线嵌入 Chromium 的 Java 浏览器控件方案

JxBrowser 6.16 破解版:离线嵌入 Chromium 的 Java 浏览器控件方案

简介:本资源为JxBrowser 6.16全功能破解版集成包,面向Java桌面应用开发者及Swing/JavaFX嵌入式浏览器需求者,解决商业授权门槛高、本地集成复杂、依赖冲突频发等实际开发痛点。压缩包共1329个文件,主体为1186个已编译class字节码与…

2026/10/13 15:28:08 阅读更多 →
pstack实战指南:Linux进程堆栈快照调试核心技巧

pstack实战指南:Linux进程堆栈快照调试核心技巧

1. 项目概述:一个被低估的系统级调试工具,如何真正用起来“pstack”这个词,最近在开发者圈子里悄悄热了起来——不是因为某家大厂发布了新版本,而是因为一位叫Lauren Tan的工程师,在Cursor这个新兴AI编程助手的生态里&…

2026/10/13 15:28:08 阅读更多 →
JGAP遗传算法框架实战:从配置到调参的完整工程指南

JGAP遗传算法框架实战:从配置到调参的完整工程指南

简介:JGAP 是一套由 SourceForge 开源社区维护的 Java 遗传算法包,适合 Java 开发者、算法学习者以及需要借助进化计算处理优化、搜索与调度问题的研究人员。它封装了选择、交叉、变异等经典遗传算法流程,并附带多类可运行示例,便…

2026/10/13 15:28:08 阅读更多 →
SSM整合Ueditor实现本地图片上传的完整实践

SSM整合Ueditor实现本地图片上传的完整实践

1. 项目概述:为什么一个富文本编辑器的本地图片上传,值得花三天重搭整套SSM环境? “SSMMAVEN整合百度富文本编辑器Ueditor(含后台代码)上传图片保存到本地”——这个标题看起来像一段被复制粘贴进招聘JD的技术栈组合&a…

2026/10/13 15:28:08 阅读更多 →
变压器油色谱DGA数据建模实战:从数据清洗到故障诊断模型落地

变压器油色谱DGA数据建模实战:从数据清洗到故障诊断模型落地

简介:这份变压器溶解气体数据集面向电力设备运维人员、故障诊断研究者及机器学习工程师,用于支撑变压器故障识别与智能监控模型的开发验证。数据覆盖中低温过热、高温过热、低能放电、高能放电、局部放电与正常状态六类典型工况,并围绕氢气、…

2026/10/13 15:28:08 阅读更多 →
CFSFDP参考代码实战:密度峰值聚类原理、决策图与调参指南

CFSFDP参考代码实战:密度峰值聚类原理、决策图与调参指南

简介:资源内含CFSFDP算法的Python参考代码,面向数据挖掘与聚类分析方向的学习者与研究人员,适用于包含离散、连续及模糊属性的复杂数据集,主要解决模糊数据分区前的特征选择与降维问题。压缩包共7个文件,约12KB&#x…

2026/10/13 15:27:06 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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 阅读更多 →