- 博客(137)
- 收藏
- 关注
原创 B样条曲面(B-Spline Surface)
B样条曲面是双参数曲面,由m1×n1m1×n1个控制点PijPij两个节点向量和B样条基函数Suv∑i0m∑j0nNipu⋅Njqv⋅PijSuvi0∑mj0∑nNipu⋅Njqv⋅PijNipuN_{i,p}(u)Nipuuuu方向ppp次 B样条基函数,由节点向量U\mathbf{U}U决定NjqvN_{j,q}(v)N。
2026-08-25 13:26:06
358
原创 贝塞尔曲面
贝塞尔曲面是双参数曲面SuvSuv,由m1×n1m1×n1个控制点构成的控制网格Suv∑i0m∑j0nBimuBjnvPijuv∈01Suvi0∑mj0∑nBimuBjnvPijuv∈01控制网格→伯恩斯坦基函数双参数张量积→凸包/边界/仿射不变性平滑曲面片。
2026-08-25 13:12:18
342
原创 NURBS曲线
NURBS曲线的全称为非均匀有理B样条曲线,是计算机图形学中用于精确表示曲线、曲面的主流数学模型,也是工业设计和3D建模领域的通用行业标准。核心构成要素:阶数:决定曲线的多项式次数,常用1-5阶,阶数越高曲线越平滑,计算量也越大。控制点:相当于曲线的“骨架”,拖动控制点可改变曲线走向,曲线通常不会直接穿过所有控制点,而是被其“吸引”。权重:决定每个控制点的“吸引力”大小,权重越大,曲线越靠近该控制点,可精准生成圆弧等特殊形状。节点向量:控制曲线分段连接的位置,调整节点分布可让曲线局部更平滑或更尖锐。
2026-08-17 15:39:54
350
原创 B样条(B-spline)曲线
B样条曲线(B-spline)是贝塞尔曲线的广义推广,由数学家Isaac Jacob Schoenberg提出,是计算机图形学、计算几何领域的核心参数曲线,核心解决了贝塞尔曲线“全局影响、阶数与控制点数量强绑定”的固有缺陷。它的数学表达式为:Cu∑i0nPi⋅NikuCui0∑nPi⋅Niku其中PiP_iPi为控制顶点,NikuN_{i,k}(u)Niku。
2026-08-17 15:34:30
218
原创 贝赛尔(Bezier)曲线
贝塞尔曲线是一种通过控制点生成光滑曲线的经典数学参数曲线,由法国工程师皮埃尔·贝塞尔于1962年公开发表,是现代计算机图形学的核心基础工具之一。!
2026-08-17 15:24:53
178
原创 SSH 生成密钥并上传服务器
新项目、新服务器:优先使用Ed25519旧系统或不兼容环境:使用RSA 4096Windows 用户最简单 → 安装,用 Git Bash最原生 → 启用 WindowsOpenSSH 客户端,用 PowerShell 上传公钥已用 PuTTY → 继续用 PuTTYgen + 手动复制公钥。
2026-07-27 00:16:07
188
原创 基于共享内存的跨进程缓存存储
本文实现了一个基于共享内存的跨进程缓存存储类ShmStore,专门用于高效存储和读取包含NumPy 数组的 Python 数据结构(如字典、列表、嵌套结构)。让多个进程能直接读取同一份内存数据,避免磁盘 I/O,并消除每个进程对数组数据的重复拷贝。# 共享内存块魔数,用于校验块格式完整性。
2026-07-22 17:50:02
389
原创 Linux 下 Hermes Agent 代理配置不生效问题的解决
错误做法正确做法直接修改创建进行配置覆盖仅在终端在 systemd 服务的中设置代理重启整个主机restart永远不要手动编辑由程序自动生成的服务文件,应使用 systemd 官方推荐的 drop-in 方式追加配置。
2026-06-10 19:17:23
438
1
原创 Hessian 矩阵(海森矩阵)及其应用
Hessian 矩阵(海森矩阵)是一个由多变量函数的二阶偏导数组成的方阵,用于描述函数在某一点附近的局部曲率信息。对于函数fRn→RfRn→R,其 Hessian 矩阵HHH是一个n×nn \times nn×nHij∂2f∂xi∂xjHij∂xi∂xj∂2fH∂2f∂x12∂2f∂x1∂x2⋯∂2f∂x1∂xn∂2f∂x2∂x1∂2。
2026-06-04 11:35:53
519
原创 雅可比矩阵(Jacobian Matrix)及其应用
设有一个从RnRn映射到RmRmfxf1x1xnf2x1xn⋮fmx1xnfxf1x1xnf2x1xn⋮fmx1xn其雅可比矩阵JfxJfx是一个m×nm \times nm×nJfx∂f1∂x1⋯∂f1∂xn⋮⋱⋮∂fm∂x1⋯∂fm∂x1Jfx∂x。
2026-06-04 11:15:27
451
原创 PyTorch梯度计算
我来详细介绍 PyTorch 的梯度计算和更新机制,并提供易于理解的示例。PyTorch 使用动态计算图来自动计算梯度。当你对张量进行操作时,PyTorch 会记录这些操作,然后反向传播时自动计算梯度。输出解释:三、神经网络训练示例四、重要概念详解1. 为什么需要 ?梯度默认会累积,如果不清零,新的梯度会加到旧梯度上:2. 的作用在不需要计算梯度的地方(如评估、推理、手动更新参数)使用,可以节省内存和计算:五、调试技巧检查梯度是否计算:梯度裁剪(防止梯度爆炸):总结PyTorc
2026-06-01 00:19:44
379
原创 深度学习中的傅里叶位置编码
在深度学习中,傅里叶位置编码(Fourier Positional Encoding)是一项将连续坐标(或离散索引)映射到高维特征空间的技术。无论是 Transformer 处理序列,还是 NeRF 处理 3D 坐标,其核心逻辑基本一致。傅里叶位置编码不仅仅是给输入加点“佐料”,它是改变了模型观察数据的分辨率。它将简单的数值转化为一组丰富的频率信号,让神经网络这个“近视眼”戴上了一副高倍率的显微镜。
2026-05-14 11:24:35
662
原创 模型训练:Optimizer的weight_decay和Scheduler学习率区别
深度学习训练模型时,同时对Optimizer设置一个lr和属性。Optimizer的和scheduler调整学习率是两个完全不同的机制。
2026-05-13 10:58:18
258
原创 Pandas DataFrame 数据筛选和排序
df[df['列名'] > 值]df.loc[条件, 列名]df.query('条件')df[df['列名'].isin([值列表])]简单条件:布尔索引最直观复杂条件:query() 更简洁需要同时筛选行列:loc 最合适成员检查:isin() 最高效'等级': ['中', '高', '低', '中', '高'],'分数': [75, 90, 60, 80, 95]})# 定义自定义顺序。
2025-12-05 01:08:45
1143
原创 Pandas基础知识整理
DataFrame是由多个列Series组成的表格提取DataFrame的一列得到Series(索引是原行索引)提取DataFrame的一行得到Series(索引是原列名)Series可以看作是DataFrame的构建模块大多数Series的方法也适用于DataFrame的列操作。
2025-12-05 00:52:05
703
原创 Python使用setup.py
命令作用输出位置主要用途编译扩展模块,就地放置与源文件同目录开发与调试编译扩展模块build/目录下的子目录构建过程的中间步骤编译并安装到系统环境目录本地安装(旧方式,不推荐)编译并安装到系统环境目录标准的本地安装方式编译并打包成 wheel 文件dist/目录分发前的打包。
2025-11-30 05:31:49
756
原创 Linux使用 update-alternatives 管理多版本软件
Linux多版本软件管理,适用于 Debian/Ubuntu 及其衍生系统(RHEL/Fedora 通常使用 alternatives,但语法类似)。
2025-11-17 22:36:32
681
原创 平面的方程公式
在高等数学中,平面的方程有多种表达形式,每种形式都有其特定的应用场景。法向量:是确定平面方向的核心,一般式中的系数ABC(A, B, C)ABC即为法向量。特殊平面当D0D = 0D0时,平面过原点。当A0A = 0A0时,平面平行于xxx轴;类似地,B0B = 0B0或C0C = 0C0时平行于对应坐标轴。转换关系:不同形式的方程可通过代数运算相互转换。
2025-10-13 21:05:40
1908
原创 3D坐标旋转公式及代码实现示例
3D坐标旋转公式的推导通常涉及绕坐标轴(x轴、y轴、z轴)的旋转。这些旋转可以用旋转矩阵表示。以下将详细推导绕每个坐标轴的旋转公式,基于三角函数和向量投影的概念。假设使用右手坐标系,旋转角度为θ,且旋转为正旋转(符合右手定则:拇指指向轴的正方向,手指弯曲方向为旋转正方向)。
2025-10-08 23:13:01
1419
3
原创 相机透视投影中使用三角测量通过多个2D坐标计算3D坐标
在三维坐标系中,给定n个投影图像和对应的相机坐标(包括相机的位置和朝向),以及这些图像中共同对应一个3D点的n个2D点坐标,可以通过三角化(triangulation)方法计算该3D点的位置。假设相机已标定,即每个相机的内参矩阵(包括焦距、主点等)和外参矩阵(旋转和平移)均已知。对于每个相机i,其投影矩阵MiM_iMi由内参矩阵KiK_iKi和外参矩阵Ri∣tiRi∣tiMiKiRi∣tiMiKiRi∣ti。
2025-10-04 02:31:32
591
原创 VTK相机正射投影中通过多个2D坐标计算3D坐标
三维坐标系中,给定一个虚拟相机,使用正射投影,从不同角度拍摄的n张图像,给定它们的相机vtk参数,每个vtk参数包含相机位置、焦点位置、向上方向。已知n张图像的宽和高,现在从nnn张图像中同时选择同一物体的同一个位置的2d图像点坐标,根据这nnn个2D图像点坐标计算该点实际的3D坐标。
2025-10-03 02:43:39
627
2
原创 Qt程序单独运行报错问题
初学Qt时,发现程序可以编译成功但直接在文件夹中运行失败。这种情况几乎可以断定是运行时环境的问题,具体来说就是程序在运行时找不到必要的 Qt 动态链接库(DLL)。
2025-09-14 23:04:52
1660
原创 Linux安装包管理
Ubuntu 使用和底层的dpkg工具来管理系统上的软件包。APT 处理软件源、依赖关系和元数据,而 dpkg 则执行实际的软件包安装和卸载操作。系统的软件源配置保存在文件和目录中,包状态信息存储在等位置。
2025-09-14 17:45:47
1351
原创 C++程序嵌入python脚本调试
在 Qt/C++ 应用程序中内嵌 Python 解释器来执行脚本是一种非常常见的架构。虽然 Python 脚本没有独立的进程,但它仍然在主体应用程序的进程内运行,本文提供了几种有效的调试方法。让一个外部的、功能强大的调试器(如 PyCharm、VS Code 的调试器)连接到内嵌在您主体软件中的 Python 解释器会话。这个过程通常被称为“远程调试”(Remote Debugging),尽管“连接”发生在同一台机器甚至同一个进程内。Github项目:embed_pythonBilibili视频演示方法。
2025-08-23 19:30:55
821
原创 求定积分常用技巧
求定积分是微积分中的重要内容,掌握一些常用技巧可以大大简化计算过程。:被积函数为两函数乘积(如多项式×指数/三角函数)。:换元后需同步调整积分限,无需回代原变量。:被积函数图像为规则图形(如圆、三角形)。:先求不定积分,再代入上下限计算差值。:被积函数含复合函数或可通过换元简化。:被积函数为周期函数(如三角函数)。:含绝对值、分段函数或特殊定义。:被积函数的原函数容易求出。:积分区间关于原点对称(如。:积分区间对称或需巧妙换元。:复杂积分拆分为简单部分。:被积函数含高次幂(如。
2025-08-03 17:40:22
1813
原创 相机标定相关原理
相机标定的核心目标是确定相机的内部几何特性(内参)和外部空间位置(外参),同时补偿镜头畸变。其数学本质是通过已知的3D-2D点对应关系,求解投影方程中的未知参数。输入数据:数学模型:s[uv1]=[fxsu00fyv0001]⏟内参矩阵 K⋅[r11r12r13txr21r22r23tyr31r32r33tz]⏟外参矩阵 [R∣t][XwYwZw1]s \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = \underbrace{\begin{bmatrix}f_x
2025-07-26 19:43:44
1049
原创 相机内外参矩阵:从3D世界坐标到2D像素坐标变换
相机参数矩阵描述了三维世界到二维图像的投影关系,分为内参矩阵(Intrinsic Matrix)和外参矩阵1. 内参矩阵(Intrinsic Matrix, K)作用:将相机坐标系下的3D点投影到图像像素坐标系(2D),描述相机自身的几何和光学特性。公式Kfxsu00fyv00010 & 0 & 1Kfx00sfy0u0v01参数含义(f_x, f_y)
2025-07-26 03:12:25
1915
原创 卷积操作尺寸计算公式
在深度学习和图像处理中,卷积操作会改变输入图像的尺寸。(dilation rate)时,卷积核的感受野会扩大,导致输出尺寸进一步变化。卷积后输出图像的高度。
2025-07-22 21:52:06
1052
原创 Reid模型中的CMC和mAP评估指标详解
在行人重识别(ReID)任务中,CMC(Cumulative Matching Characteristic)和mAP(mean Average Precision)是两个核心评估指标。
2025-07-14 05:54:47
1508
原创 DeepSORT算法流程详解
DeepSORT(Deep Simple Online and Realtime Tracking)是一种多目标跟踪算法,它结合了运动信息(卡尔曼滤波)和外观特征(ReID模型)。通过这种设计,DeepSORT在复杂场景(如遮挡、外观相似目标)中显著提升了跟踪鲁棒性。
2025-07-06 18:37:52
1283
原创 卡尔曼滤波介绍
📖 **卡尔曼滤波原理简介**🔑 **核心思想**📦 **卡尔曼滤波的组成**🔍 **代码分析(`kalman_filter.py`)**🏗️ 1. 状态空间定义🔄 2. 初始化模型矩阵🚀 3. 核心方法分析🧩 **预测**🧩 **更新**📏 **门控距离(gating distance)**🧑💻 **示例代码:模拟目标运动**✅ **小结**# 状态空间 (x, y, a, h, vx, vy, va, vh)# x, y : 边框中心# a : 宽高比# h : 高度。
2025-07-06 17:58:40
857
原创 拯救闪退的PyCharm!修改两个参数解决崩溃问题
导致的CPU资源过载有关。当PyCharm尝试使用过多线程时,超频状态下的CPU可能触发系统保护机制,强制关闭进程。通过限制PyCharm的并发线程数,可显著降低CPU负载峰值,避免触发超频保护机制。,尤其是在大型项目索引、代码检查或运行调试时。根据JetBrains官方社区的分析,这类问题往往与。关键词:PyCharm自动退出、IDE崩溃、系统超频、性能优化、Registry调优。近期许多开发者反馈PyCharm在使用过程中频繁。中的日志文件,定位其他潜在原因。:若仍遇崩溃问题,建议检查。
2025-06-24 00:35:49
7202
2
原创 在Ubuntu 24.04上安装cuDNN v8.x.x兼容CUDA 11.8
通过本文的步骤,你应该已经成功在Ubuntu 24.04上安装了cuDNN v8.x.x并解决了缺失问题。手动安装:使用Tar包而非Deb包符号链接:解决ldconfig的"not a symbolic link"错误环境配置:正确设置LD_LIBRARY_PATH深度学习环境配置虽复杂,但掌握这些技巧后,你将能轻松应对各种版本兼容性问题。如果有其他问题,欢迎在评论区留言讨论!实用命令速查# 查看CUDA版本# 查看cuDNN版本# 检查库文件链接资源链接。
2025-06-17 09:39:25
2687
1
原创 Git克隆中断怎么办?继续克隆Hugging Face大型项目的完整指南
在克隆Hugging Face上的大型AI模型仓库时,你是否遇到过网络中断导致克隆失败的情况?本文教你如何从中断处继续克隆,避免重新下载整个仓库!操作类型命令用途基础恢复继续下载中断的仓库LFS恢复继续下载大模型文件网络优化配置防止网络超时中断错误处理解决EOF错误掌握这些技巧后,你再也不用担心克隆大型AI模型仓库时网络中断的问题了!无论是Hugging Face上的BERT、GPT还是Stable Diffusion模型,都可以高效可靠地完成克隆。实践出真知。
2025-06-17 03:27:47
2163
原创 强化学习系列——PPO算法
强化学习中PPO(Proximal Policy Optimization)是一种先进的策略梯度方法,其核心思想是通过限制策略更新的幅度来稳定训练过程。PPO结合了优势函数(advantage function)以及off-policy 训练思想(重要性采样(importance sampling))。推荐参考视频 零基础学习强化学习算法:ppo策略优化目标(on-policy) 策略优化的目标是最大化期望累积奖励:J(θ)=Eτ∼πθ[∑t=0Tγtr(st,at)]J(\theta) = \mathb
2025-06-12 02:52:59
1441
原创 DDPM优化目标公式推导(详细)
总体推导请参考DDPM优化目标公式推导以下完整推导从初始 VLB 表达式出发,逐步简化为最终形式:VLB=Eq[logpθ(x0∣x1)]−∑t=2TEq[DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))]−DKL(q(xT∣x0)∥p(xT))\boxed{\text{VLB} = \mathbb{E}_{q} \left[ \log p_\theta(\mathbf{x}_0 | \mathbf{x}_1) \right] - \sum_{t=2}^T \mathbb{E}_{q} \l
2025-06-08 20:12:00
1308
原创 DDPM优化目标公式推导
DDPM(Denoising Diffusion Probabilistic Models)的优化目标推导基于变分下界(Variational Lower Bound, VLB) 或 证据下界(Evidence Lower Bound, ELBO)。以下是详细推导过程:xt−1,βtI)反向过程(生成过程):学习参数化的马尔可夫链:pθ(x0:T)=p(xT)∏t=1Tpθ(xt−1∣xt),pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),Σθ(xt,t))p_\theta(\math
2025-06-07 23:54:32
1050
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅