SensorsCalibration 算法溯源:Ceres Solver 参考文献全解析与源码级对应
自动驾驶计算机视觉【免费下载链接】SensorsCalibrationOpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving项目地址https://gitcode.com/gh_mirrors/se/SensorsCalibration点击查看免费下载本文以 SensorsCalibration 仓库中 Ceres Solver 官方文档的 bibliography.rst 为核心逐条解读支撑 Ceres 数值优化引擎的 33 篇经典文献并在仓库源码中定位每篇文献对应的真实实现LM 信赖域策略、L-BFGS 低秩 Hessian 逼近、CHOLMOD 稀疏分解、Schur 补消元、可见性预处理等最后以仓库内的 lidar2imu 外参标定任务为例展示这些算法如何被实际调用。读完本文你将能够把抽象的最优化论文与可运行的工程代码一一对应起来真正理解一个多传感器标定工具背后的数值优化原理。一、为什么一份参考文献列表值得研究在 Ceres Solver 的文档体系中docs/source/目录下的.rst文件构成了完整的用户指南与内部原理说明bibliography.rst 正是其中专门收录算法文献的章节。它虽然只是一份清单却精确刻画了 Ceres 的设计血统这是一个建立在 1944 年 Levenberg 到 2012 年 Kushal Agarwal 近七十年最优化研究积累之上的求解器。在 SensorsCalibration 仓库中这份 Ceres 源码被 lidar2imu/auto_calib 以add_subdirectory(ceres)的方式内嵌使用见 CMakeLists.txt用于解决激光雷达坐标系到 IMU 坐标系外参的非线性最小二乘问题。因此这份参考文献不仅是学术注脚更是理解整个标定流程为什么这样收敛、为什么这么快的钥匙。按照文献主题33 条文献可以归纳为六大类主题类别代表文献在仓库中的对应实现最小二乘与数值优化基础Bjorck、Stigler、TenenbaumDirector、NocedalWright全局求解框架 solver.cc信赖域与线搜索策略Levenberg、Marquardt、Madsen、Conn、ByrdSchnabel、Kanzow、NashSofer、WrightHolttrust_region_minimizer.cc、levenberg_marquardt_strategy.cc、dogleg_strategy.cc拟牛顿与低秩 HessianNocedal、ByrdNocedal、Orenlow_rank_inverse_hessian.cc稀疏线性代数与预处理器Chen、Saad、LiSaad、Mandel、Mathewsuitesparse.cc、schur_eliminator.cc、visibility_based_preconditioner.cc束集调整BA与多视图几何Agarwal、Triggs、KushalAgarwal、HartleyZisserman、Brown、KanataniMorris上述 Schur 消元、可见性聚类、solver.cc 中的求解器选项数值微分、插值与可分离结构Ridders、Keys、GolubPereyra、RuheWedin、Wiberg、Press、TrefethenBaunumeric_diff、cubic_interpolation.h二、最小二乘与数值优化基础Ceres 的数学底座2.1 从高斯到现代算法Stigler 与 TenenbaumDirector文献 [Stigler]S. M. Stigler,Gauss and the invention of least squares, The Annals of Statistics, 1981与 [TenenbaumDirector]J. Tenenbaum B. Director,How Gauss Determined the Orbit of Ceres共同追溯了最小二乘法的起源高斯在 1801 年利用最小二乘法成功预测了谷神星的轨道。这段历史解释了为什么最小二乘问题Least Squares在 200 年后依然是 SLAM、传感器标定等工程领域的核心数学模型。在 Ceres 中所有优化问题都被规范化为残差块平方和最小化$$\min_x \frac{1}{2}\sum_i \rho_i\left(|f_i(x_{i1},\dots,x_{ik})|^2\right)$$其中 $\rho_i$ 为鲁棒损失函数这正是 problem.h 所暴露的建模接口AddResidualBlock。2.2 最小二乘数值方法专著[Bjorck]A. Bjorck,Numerical Methods for Least Squares Problems, SIAM, 1996是稠密/稀疏最小二乘数值方法的权威专著覆盖 QR 分解、SVD、正规方程等。它奠定了 Ceres 中如何求解线性化子问题即求解 $J\Delta x -r$的理论框架。Ceres 的 linear_solver.h 定义了DENSE_QR、DENSE_NORMAL_CHOLESKY、SPARSE_NORMAL_CHOLESKY、CGNR等线性求解器类型其取舍依据正是 Bjorck 所论述的病态性、稀疏性与数值稳定性权衡。2.3 数值优化标准教材[NocedalWright]J. Nocedal S. Wright,Numerical Optimization, Springer, 2004是 Ceres 源码注释中被明确引用的教材。在 low_rank_inverse_hessian.cc 中作者直接写道[1] Nocedal J., Wright S., Numerical Optimization, 2nd Ed. Springer, 1999.并以此论证了 L-BFGS 算法中割线条件secant equation与 Wolfe 线搜索的理论关系。这证明了 Ceres 的工程实现是严格按教材推导落地的而非拍脑袋参数。2.4 数值线性代数两本经典[TrefethenBau]Numerical Linear Algebra, SIAM, 1997与 [Press]Numerical Recipes, Cambridge University Press, 2007分别为 Ceres 的稠密线性代数运算与通用数值工具插值、求根、微分提供参考。前者对应 Eigen 在 eigen3 中的大量线性代数原语后者对应Numerical Differentiation、Interpolation等实用工具模块。三、信赖域与线搜索两种主流下降策略Ceres 的 solver.h 允许用户通过minimizer_type在TRUST_REGION信赖域与LINE_SEARCH线搜索两大策略之间选择这两类策略的文献支撑最为集中。3.1 Levenberg-Marquardt两次独立发明的算法[Levenberg]K. Levenberg,A method for the solution of certain nonlinear problems in least squares, Quart. Appl. Math., 1944与 [Marquardt]D.W. Marquardt,An algorithm for least squares estimation of nonlinear parameters, J. SIAM, 1963是 LM 算法的两篇奠基文献。LM 的核心思想是在信赖域半径约束下求解正则化线性系统$$(J^T J \lambda D^T D)\Delta x -J^T r$$其中 $\lambda$ 越大越接近梯度下降越小越接近高斯-牛顿。在仓库中levenberg_marquardt_strategy.h 直接实现了LevenbergMarquardtStrategy类其头文件注释明确声明其基于Madsen, Nielsen, Tingleff 的《Methods for Nonlinear Least Squares》——即文献 [Madsen]Levenberg-Marquardt step computation and trust region sizing strategy based on Methods for Nonlinear Least Squares by K. Madsen, H.B. Nielsen and O. Tingleff.[Madsen] 是丹麦技术大学DTU的经典教程因其对 LM 算法步长接受/拒绝、信赖域半径调整StepAccepted/StepRejected对应源码 levenberg_marquardt_strategy.cc的清晰描述而成为工程实现首选参考。3.2 信赖域方法专著[Conn]A.R. Conn, N.I.M. Gould, P.L. Toint,Trust region methods, SIAM, 2000是信赖域方法的权威专著Ceres 的 trust_region_minimizer.cc 与 trust_region_preprocessor.cc 构成了信赖域最小化的主循环每一步在信赖域半径内求解子问题再依据实际下降量与预测下降量的比值决定接受或收缩半径。3.3 Dogleg 与二维子空间近似[ByrdSchnabel]R.H. Byrd, R.B. Schnabel, G.A. Shultz,Approximate solution of the trust region problem by minimization over two dimensional subspaces, Mathematical Programming, 1988给出了信赖域子问题在二维子空间上的近似解法这正是 CeresDOGLEG信赖域步策略的基础。dogleg_strategy.cc 实现的高斯-牛顿步与梯度下降步之间的折线路径dogleg path选择即源于此文。3.4 收敛性分析与不精确求解[Kanzow]Levenberg-Marquardt methods with strong local convergence properties for solving nonlinear equations with convex constraints, JCAM, 2005为 LM 方法的强局部收敛性提供了理论保证[WrightHolt]An Inexact Levenberg Marquardt Method for Large Sparse Nonlinear Least Squares, 1985则对应大规模问题中子问题不精确求解的工程实践——即 schur_complement_solver.cc 中SolveReducedLinearSystemUsingConjugateGradients用共轭梯度迭代近似求解的思路[NashSofer]Assessing a search direction within a truncated newton method, 1990则服务于线搜索模式下的截断牛顿方向评估。四、拟牛顿与低秩 HessianL-BFGS 的完整谱系4.1 三篇文献的递进关系[Nocedal]J. Nocedal,Updating Quasi-Newton Matrices with Limited Storage, Mathematics of Computation, 1980是 L-BFGS 的原始论文首次提出用有限数量的位置-梯度差对 $s_k, y_k$ 隐式逼近逆 Hessian[ByrdNocedal]Representations of Quasi-Newton Matrices and their use in Limited Memory Methods, Mathematical Programming, 1994进一步给出了 BFGS 类低秩表示的理论框架[Oren]Self-scaling Variable Metric (SSVM) Algorithms, Management Science, 1974补充了变度量算法的自缩放思想。4.2 源码中的实现证据在 low_rank_inverse_hessian.cc 中LowRankInverseHessian类通过delta_x_history_、delta_gradient_history_两个矩阵 环形缓冲max_num_corrections_存储历史修正对并在每次更新时检验割线条件$$s_k^T y_k \text{tolerance}$$源码第 75 行将阈值设为1e-14并注释道从1e-10调到1e-14能使 NIST 基准测试的通过数从 43/54 提升到 53/54。这是一个文献理论割线条件必须满足→ 工程参数极小容差的绝佳示例。五、稀疏线性代数与预处理器大规模问题提速的关键Ceres 之所以能处理数万参数的 BA 问题核心在于对稀疏结构的高度利用这一主题对应文献最多。5.1 CHOLMOD稀疏 Cholesky 分解[Chen]Y. Chen et al.,Algorithm 887: CHOLMOD, Supernodal Sparse Cholesky Factorization and Update/Downdate, TOMS, 2008描述了 CHOLMOD 的超节点稀疏 Cholesky 分解算法。suitesparse.cc 完整封装了这一库从cholmod_start/cholmod_finish的上下文管理第 51-53 行到TripletSparseMatrix与cholmod_sparse的互相转换第 55-71 行Ceres 的SPARSE_NORMAL_CHOLESKY求解器正是构建在 CHOLMOD 之上的。5.2 Schur 补消元与块对角预处理[Mandel]On block diagonal and Schur complement preconditioning, Numer. Math., 1990为 Ceres 的SCHUR_JACOBI预处理器提供了理论基础。在 BA 场景下Ceres 通过 schur_eliminator.cc 的SchurEliminatorBase::Create自动选择模板特化组合从SchurEliminator2,2,2到SchurEliminator4,4,d等 20 余种源码第 49-60 行可见一斑利用摄像机位姿块与路标块的稀疏结构先消去路标参数再求解规模更小的相机系统。5.3 可见性预处理BA 的工程秘诀[KushalAgarwal]A. Kushal S. Agarwal,Visibility based preconditioning for bundle adjustment, CVPR, 2012是 Ceres 作者 Agarwal 自己的论文对应 visibility_based_preconditioner.cc 中基于相机-路标可见性聚类的预处理器先ComputeVisibility统计各相机观测到的路标第 137 行再通过canonical_views_clustering或single_linkage_clustering第 44-49 行对相机聚类聚类结果构成预条件子的块结构。这也是 [Agarwal]Bundle Adjustment in the Large, ECCV, 2010所验证的核心思想可见性聚类 稀疏求解器可以让大规模 BA 从小时级提速到分钟级。5.4 迭代法与区域分解[Saad]Iterative methods for sparse linear systems, SIAM, 2003是共轭梯度CG等迭代法的标准教材支撑 CeresITERATIVE_SCHUR线性求解器[LiSaad]MIQR: A multilevel incomplete QR preconditioner for large sparse least squares problems, SIMAX, 2007为大规模稀疏最小二乘提供多级不完全 QR 预条件思想[Mathew]Domain decomposition methods for the numerical solution of partial differential equations, Springer, 2008则为区域分解类预处理提供了理论基础。六、BA 与多视图几何Ceres 的原生战场6.1 两篇 BA 里程碑[Triggs]B. Triggs et al.,Bundle Adjustment: A Modern Synthesis, 1999与 [Agarwal]Bundle Adjustment in the Large, ECCV, 2010分别代表了 BA 的理论综合与工程实践。前者系统总结了 BA 问题建模、稀疏消元与信赖域求解后者证明了在现代稀疏线性代数工具支撑下BA 可以扩展到百万级观测规模。solver.cc 中DENSE_SCHUR、SPARSE_SCHUR、ITERATIVE_SCHUR等求解器类型第 135-192 行的合法性校验逻辑正是这两篇文献工程化的结果。6.2 相机模型与几何规范[Brown]D.C. Brown,A solution to the general problem of multiple station analytical stereo triangulation, 1958是摄影测量中相机畸变模型Brown 模型的奠基文献对应仓库中相机内参标定模块 camera_intrinsic/intrinsic_calib 所用的针孔 畸变建模[HartleyZisserman]Multiview Geometry in Computer Vision, Cambridge, 2004是多视图几何的标准教材Ceres 中大量使用的AngleAxisRotatePoint、QuaternionRotatePoint、投影几何工具见 rotation.h均可在此找到出处[KanataniMorris]Gauges and gauge transformations for uncertainty description of geometric structure with indeterminacy, IEEE TIT, 2001则讨论了几何估计中规范gauge自由度对不确定性与收敛的影响对应 Ceres 中对不可观方向的处理策略。七、数值微分、插值与可分离结构[Ridders]Accurate computation of F(x), 1978提供了高精度数值微分方法对应 numeric_diff_cost_function.h 的有限差分实现相对步长、中心差分等策略[Keys]Cubic convolution interpolation for digital image processing, IEEE TASSP, 1981定义了三次卷积插值核对应 cubic_interpolation.h 中的CubicInterpolator——这在相机-激光雷达联合标定中常用于图像像素采样[GolubPereyra]The differentiation of pseudo-inverses and nonlinear least squares problems whose variables separate, SIAM JNA, 1973与 [RuheWedin]Algorithms for separable nonlinear least squares problems, SIAM Review, 1980研究了变量可分的最小二乘问题结构[Wiberg]Computation of principal components when data are missing, 1976处理缺失数据下的主成分/最小二乘估计是鲁棒估计研究的重要起点。八、实战验证参考文献如何在 lidar2imu 标定中落地理解了文献与源码的对应关系后可以回到仓库的实际用途——激光雷达与 IMU 之间外参标定lidar2imu/auto_calib。8.1 构建流程在 CMakeLists.txt 中Ceres 以子目录方式参与构建add_subdirectory(ceres) include_directories(SYSTEM ${PROJECT_SOURCE_DIR}/eigen3) include_directories(${PROJECT_SOURCE_DIR}/ceres/include) ... add_library(${PROJECT_NAME} STATIC ${PARSER_PATH}) target_link_libraries(${PROJECT_NAME} libjsoncpp.a ${OpenCV_LIBS} ${Boost_SYSTEM_LIBRARY} ceres)运行入口 run_lidar2imu.cpp 接收三个参数PCD 点云目录、NovAtel 位姿-时间文件、初始外参 JSON最终调用Calibrator::Calibration。8.2 核心优化流程中的 Ceres 调用calibration.cpp 展示了粗到精的多轮标定策略每轮选取不同窗口的帧构建体素地图voxel map用ceres::AngleAxisToRotationMatrix第 62 行将轴角增量转换为旋转矩阵然后在 optimize.hpp 中构造 Ceres 代价函数。optimize.hpp 中大量使用了 Ceres 的自动微分能力——这正是文献谱系中 [Ridders] 数值微分方法的现代替代方案符号化/模板化微分避免截断误差ceres::QuaternionRotatePoint(q, cur_p, world_p); // 旋转点 static ceres::CostFunction* Create(...) { return new ceres::AutoDiffCostFunctionBalmVoxelEnergy1, 1, 4, 3(...); }BalmVoxelEnergy系列代价函数以点到体素平面距离作为残差优化变量为外参增量4 维四元数 3 维平移。配合 Ceres 默认的 LM 信赖域策略[Madsen] 教程的实现即构成了完整的特征提取 → 体素地图 → 非线性优化闭环。标定完成后calibration.cpp 将精化外参写入refined_calib_imu_to_lidar.txt并同时输出 R、t、增量 RPY 等中间结果。九、结语从参考文献到可运行系统回顾整份 bibliography.rst可以看到一条清晰的主线每一次算法选择背后都有一篇乃至多篇文献支撑而每一篇文献又都能在仓库源码中找到具体落点。无论是 LM 信赖域[Levenberg]、[Marquardt]、[Madsen]、L-BFGS[Nocedal]、[ByrdNocedal]、稀疏分解[Chen]、[Saad]还是 BA 加速[Agarwal]、[KushalAgarwal]、[Mandel]在 SensorsCalibration 的 lidar2imu 乃至 camera/lidar/radar 各传感器标定模块中都能看到它们的实际应用。对于希望深入源码的读者建议按以下路径继续探索先读 solver.h 中的Solver::Options注释了解每种求解器/预处理器选项与本文文献的对应关系再读 internal/ceres 下的*_strategy.*与*_solver.*实现对照本文第三、五章最后回到 lidar2imu/auto_calib/include/optimize.hpp 与 calibration.cpp观察论文中的算法如何被组织进一个真实的多传感器标定任务。一份参考文献列表由此成为通往整套数值优化工程实践的地图。赞分享自动驾驶计算机视觉【免费下载链接】SensorsCalibrationOpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving项目地址https://gitcode.com/gh_mirrors/se/SensorsCalibration点击查看免费下载相关推荐SensorsCalibration 内嵌 Ceres Solver 参考文献全解从 Gauss 最小二乘到 vins_camera2imu 的 BA 求解SensorsCalibration 内嵌 Ceres Solver 参考文献全解从 Gauss 最小二乘到 vins_camera2imu 的 BA 求解自动驾驶计算机视觉Ceres 非线性最小二乘求解器完全指南从 Trust Region 算法到 Solver::Options 源码级解析SensorsCalibration 实战Ceres 非线性最小二乘求解器完全指南从 Trust Region 算法到 Solver::Options 源码级解析SensorsCalibration自动驾驶计算机视觉cloudflare-os 集成测试完全指南如何用 Wrangler 测试 Harness 在 workerd 中驱动真实 Workercloudflare os 集成测试完全指南如何用 Wrangler 测试 Harness 在 workerd 中驱动真实 Worker cloudflare自动驾驶计算机视觉上一篇BrowserSkill 多浏览器多会话并发指南per-session 队列如何保证操作安全下一篇2025年wttr.in终极功能规划打造全球最快的命令行天气工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Vue3 PDF预览弱网白屏:缓存命中引发的组件竞态排查与修复

Vue3 PDF预览弱网白屏:缓存命中引发的组件竞态排查与修复

做PDF预览功能的那几天,我一直有个错觉:只要在普通网络下把组件跑通,弱网环境无非就是慢一点。后来我发现完全不是这么回事。某次我把浏览器开发者工具里的网络切到节流模式,再刷新页面,vue3-pdf-app这个内部组件直接卡…

2026/10/16 6:00:45 阅读更多 →
Nette表单安全实战:Latte转义与CSRF防护要点解析

Nette表单安全实战:Latte转义与CSRF防护要点解析

1. 为什么Nette项目里&#xff0c;表单安全依然要靠人1.1 XSS和CSRF是两笔账&#xff0c;别混在一起算接手过几个用Nette搭建的中型后台系统&#xff0c;第一件事永远不是跑测试&#xff0c;而是把所有带<form>的模板和对应回调过一遍。这不是矫情&#xff0c;是这些年见…

2026/10/16 6:00:45 阅读更多 →
浏览器点击劫持与弹窗跳转的彻底解决指南:Edge设置、扩展与系统层清理

浏览器点击劫持与弹窗跳转的彻底解决指南:Edge设置、扩展与系统层清理

你还记得那种感觉吗——在某个网页上&#xff0c;只是想找个下载按钮&#xff0c;鼠标随便点了一下页面空白处&#xff0c;结果浏览器“唰”地一下开出一整排新标签页&#xff0c;全是广告页面。要么就是滚动到一半&#xff0c;页面突然一黑&#xff0c;强制跳转到某个购物推广…

2026/10/16 6:00:45 阅读更多 →

最新新闻

大模型核心技术一网打尽:Prompt、RAG与Agent实站指南

大模型核心技术一网打尽:Prompt、RAG与Agent实站指南

最近有好几个朋友跟我聊同一个话题&#xff1a;AI大模型越来越火&#xff0c;但打开技术文章&#xff0c;满屏都是“Transformer”“检索增强生成”“智能体”这些词&#xff0c;别说外行&#xff0c;就连不少写了几年业务代码的开发者也看得一头雾水。我做了几年AI应用落地&am…

2026/10/16 7:36:11 阅读更多 →
POM普林斯顿海洋模型实战:从零搭建近岸海域模拟与避坑指南

POM普林斯顿海洋模型实战:从零搭建近岸海域模拟与避坑指南

简介&#xff1a;POM普林斯顿海洋模型是一套面向海洋数值模拟初学者与科研人员的开源建模工具&#xff0c;可在f77、f90、g77、pgf77、CVF等多种编译器下直接运行&#xff0c;适合用于河道水流、河口及近岸海域的水动力与温盐场模拟研究。资源包共21个文件&#xff0c;约658KB&…

2026/10/16 7:36:11 阅读更多 →
汇编入门实战:从CPUID小程序理解寄存器与系统调用

汇编入门实战:从CPUID小程序理解寄存器与系统调用

1. 从一个获取CPUID的小程序说起1.1 为什么选CPUID作为汇编入门案例很多人学汇编&#xff0c;一上来就被各种寄存器、寻址方式、指令集给劝退了。我当初也是&#xff0c;抱着厚厚一本指令手册啃了三天&#xff0c;结果连个"Hello World"都写不利索。后来一位做底层开…

2026/10/16 7:36:11 阅读更多 →
数据库事务原理与实战:隔离级别、MVCC与底层日志全解析

数据库事务原理与实战:隔离级别、MVCC与底层日志全解析

写后端代码这些年&#xff0c;“事务”这两个字我听了不下几百遍&#xff0c;但真正把它从概念变成肌肉记忆&#xff0c;是从一次线上资损事故开始的。那次问题非常简单&#xff1a;两个账户之间做金额划拨&#xff0c;更新余额的 SQL 执行到一半&#xff0c;数据库连接断了&am…

2026/10/16 7:36:11 阅读更多 →
OpenClaw定时系统设计:让AI从被动响应走向时间感知与自主执行

OpenClaw定时系统设计:让AI从被动响应走向时间感知与自主执行

AI 不该等你说话才干活——OpenClaw 定时系统设计哲学几周前我在调试一套基于 OpenClaw 的智能体编排系统&#xff0c;突然意识到一个很别扭的事情&#xff1a;我的 AI 明明有很强的任务执行能力&#xff0c;但每次都得等我先开口&#xff0c;它才动一下。我说“查一下天气”&a…

2026/10/16 7:36:11 阅读更多 →
安卓模拟器抓包环境搭建:HTTPS证书与代理配置全攻略

安卓模拟器抓包环境搭建:HTTPS证书与代理配置全攻略

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

2026/10/16 7:35:10 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

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

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课&#xff0c;其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置&#xff0c;通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测&#xff0c;本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章&#xff0c;跟着敲完了投票应用&#xff0c;大概会有一种"我好像会了&#xff0c;又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型&#xff0c;下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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/15 9:49:14 阅读更多 →