自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 安装opencv-contrib时cmake显示无法下载依赖

编译opencv-contrib 4.5.2 + visual studio 2017 + CMake3.20.0 + clash。查实clash中的商品确实为http://127.0.0.1:7890,奇怪了,始终无果,导致无法完成编译,因为缺依赖库。还是不起效果, 在环境变量中添加http_proxy或者https_proxy,均无效。下载连接手动可以下载,说明科学上网没问题,只是CMAKE无法正常使用魔法,于时。以上只列出一个错误,还有许多下载依赖的错误,都是无法下载。

2025-02-26 17:16:54 626

原创 生动形象地讲解一下CPU中寄存器,控制器,运算器,时钟的相互工作机制

让我们用工厂的比喻来形象讲解 CPU 中寄存器、控制器、运算器和时钟的工作机制。寄存器就像工厂里最靠近机器的快递员,负责搬运原材料(数据)和工具(指令)。它们速度快、容量小,紧贴生产线,确保每次需要时数据都已准备好。控制器像工厂里的经理,手持“流程表”(指令集)告诉每个生产线(运算器)什么时候开工、如何运作。它负责调度和控制,确保所有任务按计划高效进行。运算器是工厂的核心工人,负责实际的生产任务——比如加减乘除或更复杂的逻辑操作。它直接根据控制器的指令,利用寄存器提供的数据完成加工任务。

2024-12-04 18:13:31 175

原创 点云3DHarris角点检测算法推导

奇异矩阵是指没有逆矩阵的矩阵,它的行列式为零,矩阵的行或列是线性相关的,导致秩小于矩阵的维度。奇异矩阵通常用于表示一些在几何或物理模型中无法逆转的情况。局部点云估计:对点pip_ipi​的邻域进行 PCA,计算协方差矩阵MMM。协方差矩阵的特征值:计算协方差矩阵MMM的特征值λ1λ2λ3λ1​λ2​λ3​,用于描述局部表面的变化。计算响应函数:基于特征值计算响应函数RRR。最大值抑制:通过非最大抑制来筛选出局部极值点。关键点筛选。

2024-11-29 10:20:14 1687

原创 ISS 点云关键点检测算法数学推导

是一种关键点检测算法,基于点云局部几何特性提取显著点。这些关键点对点云描述具有较高稳定性和抗噪性,常用于三维配准、匹配等任务。Threshold21Threshold21​(主方向和次主方向的变异比值)反映了局部点云是否接近于一条直线(低比值)或一个平面(高比值)。低比值通常表示局部数据点接近于直线或曲线(非常狭窄的分布),高比值则表示数据点主要分布在平面上。

2024-11-28 10:14:39 1013

原创 点云欧式聚类,条件欧式聚类算法原理及推导

给定一个点云数据集。

2024-11-27 18:12:07 1297

原创 ROPSE算法原理

形象地来说,ROPSE算法通过“从不同角度观察”点云的局部区域,旋转、投影并计算统计量,生成一个高维度的描述子,来全面地描述点云的几何特性。这就像是你在观察一个物体时,从多个视角进行观察并记录下每个视角下的物体特征,然后通过这些记录来判断物体的形态和特征。Dn⋅Pd∥n∥D∥n∥n⋅Pd​核心是将点代入平面方程并归一化法向量的影响,确保结果是正交投影的垂直距离,并反映点在平面两侧的正负位置关系。

2024-11-25 16:19:45 725

原创 PCA计算点云方向数学推导

对点云的邻域点进行中心化操作(计算邻域的均值并减去)。计算邻域点云的协方差矩阵。对协方差矩阵求特征值和特征向量。选择最小特征值对应的特征向量作为法向量。对法向量进行单位化处理。这种方法通过PCA分析点云的局部几何结构,能够准确地拟合点云的法向量,广泛应用于点云特征提取、点云配准、物体识别等任务中。为了演示如何使用PCA拟合点云法向量,我们可以通过生成一个简单的点云数据集,并手动计算PCA来推导法向量。通过PCA,我们可以将点云数据转换为适合描述其局部几何形状的法向量。

2024-11-25 12:20:12 1473

原创 PFH算法原理

两个向量的叉积产生了一个垂直于原向量所在平面的向量,其大小反映了这两个向量围成的平行四边形的面积。它是描述向量间几何关系的有力工具,广泛用于物理和计算机图形学等领域。PFH特征对旋转具有不变性,这使得它在处理3D点云数据时,尤其是在物体识别和配准任务中非常有用。

2024-11-25 10:52:04 757

原创 comparecloud与open3d, pcl有什么区别

是三种常见的点云处理工具或库。它们的功能有重叠之处,但也各有侧重,适合不同的应用场景。

2024-11-20 17:29:05 955

原创 谱定理推导

线性无关的最大数目rankArankA) 是矩阵 (A\mathbf{A}A) 的行向量或列向量中线性无关向量的最大数目。非零子式的最大阶rankArankA) 是矩阵 (A\mathbf{A}A) 中非零子式的最大阶。高斯消元法rankArankA) 是矩阵 (A\mathbf{A}A) 经行变换后非零行的数目。矩阵的秩在几何上描述了向量张成的空间维度,是线性相关性、线性变换维数、系统解的自由度的核心指标。特征值:标量 (λ\lambdaλ。

2024-11-20 14:53:29 931

原创 点云法向量计算的推导

输入:点云 ($ PKaTeX parse error: Can't use function '\)' in math mode at position 1: \̲)̲,每个点的邻域 \(处理搜索点 (ppp) 的邻域点集 ( $\mathcal{N}§ $)。计算质心 (pˉ\bar{p}pˉ​) 并平移点集。计算协方差矩阵 (C\mathbf{C}C对协方差矩阵进行特征值分解,提取最小特征值对应的特征向量 (v1v1​对法向量进行方向一致性处理。输出。

2024-11-19 11:55:09 882 1

原创 移动最小二乘法(Moving Least Squares, MLS)的推导

移动最小二乘法(MLS)是一种用于平滑、重建和拟合离散点云数据的算法。其核心思想是使用加权的局部最小二乘拟合,将全局最小二乘拟合推广到局部区域,并通过移动窗口动态调整拟合位置。以下是详细的推导过程。给定一组离散点云{(xi​yi​i1N​,希望在点云附近通过多项式拟合一个平滑函数fx,使得拟合尽可能接近数据点,同时具有一定的平滑性。

2024-11-19 11:12:04 855 1

原创 简单讲讲对深度学习模型剪枝的理解

剪枝这个词,很形象,第一反应想到的是剪树枝,剪葡萄枝。在机器学习中,让人很快想到决策树,避免过拟合的方法之一,就是剪枝,也就是决策树不要太深,不然分得太细,模型变得复杂容易过拟合。而把深度学习中神经网络的参数,早先Transformer就有5000万个参数,YOLOv5s有700万个参数,到现在GPT有上千亿个参数。这些参数就像超大型乐团一样,总有东郭先生的存在,在那儿滥竽充数。

2023-08-31 22:06:09 480 1

原创 通俗地讲讲算法开发和部署的流程

许多学习资料都非常的碎片零散,算法是算法,部署是部署,开发是开发。学了算法不知道它怎么在机器上运行的,学了部署不知道开发是怎么调用它的,学了开发不知道算法要给你个什么玩意儿。今儿个通俗地梳理一下整个算法开发和部署的流程,用我似懂非懂的理解。

2023-08-29 23:17:00 6730 2

原创 VSCode写Python代码,代码显示为白色

python代码显示为白色, 除了安装python插件之外,还需要安装pylance插件,pylint可以不需要了,然后重启vscode即可。

2023-08-17 10:26:21 2477 2

原创 VSCode能编译成功,但无法调试

通过SSH连接Linux服务器,运用Makefile能够成功编译CUDA程序,make all, make run一切正常,能够输出结果并打印最后一行的程序运行结束标记。问题出在这个"externalConsole",要设置为false, 不然在Linux上似乎无法正常调试。从逻辑上来讲,make run能够成功运行并生成可执行文件,说明编译成功了;无法调试,要么是程序编译有问题,要么是设置有问题;但是一进行调试,要么卡住,要么一闪而过。既然编译没问题,那么必是设置有问题;

2023-07-24 22:32:59 2204 1

原创 VSCode报错,语言服务器崩溃。正在重新启动...

Error - 2:26:24 PM] 语言服务器崩溃。在其中某个下拉菜单中选择,忽略更新,避免下次连接Linux时自动更新了。在服务器上安装老版本的是C/C++插件,可能是因为兼容性问题。当然也有可能不是这个原因,不过目前看来操作之后,是解决了问题。连接Linux服务器时,Vscode写C++时报错如题,或者。

2023-07-20 21:02:08 10441 4

原创 yolov5-6.0导出onnx报错

真要去查'Upsample'到底有没有'recompute_scale_factor'的问题,然后我们把相关代码注释掉的话,那么可能会引发新的问题。多半的环境的问题,想想大概率可能是torch版本的问题,毕竟它也写着torch/modules/module.py是有问题。yolo的官方源代码应该是稳定的而且被无数人跑通了的,不应该是到我这儿就有了新的问题。其实很多时候,如果针对报错信息本身去纠错,多半有些头痛医头,脚痛医脚的意思。cuda11.7, torch 2.0.1 ,报错信息如下。

2023-07-10 12:24:23 889 1

原创 launch.json, tasks.json利用CMakeLists配置出错

甚至于你,同一个文件多次运行,相对路径出会现报错的情况,vscode它一会儿识别为当前目录,一会儿又识别为工作目录,乱七八糟,恶心死你;.. 却不是上一层目录,而是工作目录的上一层目录,单个点 . 不代表该文件所在目录,而是工作目录;一个简单的helloworld.cpp,运用CMakeLists进行编译,一切都设置好了,原因是vscode的相对路径有问题,这个问题一直存在,虽然按照网上一的些方法做过修改,但是。以你为是设置问题,但是其实在其它文件下,单个点 . 又代表了当前目录;始终报错,不明原因;

2023-07-01 21:51:15 222

原创 mingw32-make: *** No targets specified and no makefile found. Stop. in VSCODE win10

发现可能和Visual Studio有关系,因为我确实有安装Visual Studio,而Visual Studio的C++编译器并不是MinGW,而是MSVC。而在cmake .. 这一步操作中,我也没有定义是用哪一个编译器,可能cmake会自己去根据环境变量去搜索吧,就自动挑了MSVC。Win10环境下,使用VScode和Cmake编译, 出现报错。所以接下来mingw32-make操作,就报错了。然后mingw32-make出现标题错误。正常显示生成makefile成功。

2023-07-01 20:05:45 5512

原创 为什么ResNet每次输出结果都一样?

image.resize((224, 224, 3))来resize图片尺寸,我不太熟悉它个方法,但应该是错的,因为它的结果和image = cv2.resize(image, (224, 224))不一致,但后者是对的。问了一下ChatGPT之后,我才理解了一些,可能在这个ResNet网络中,如果是自己生成的图片,虽然每次的噪点图不一样,但在这个网络看来都是一样的,结果就基本一致了。具体来说,是最大预测概率的索引总是一样,无论我认的是山羊,还是哈士基或者柯基。另外犯的一个错误是,我采用了。

2023-07-01 13:10:08 373

原创 VSCode不显示联想或者语法标记出错

甚至还出现报错,明明在win10系统上能运行的代码,在mac上就报错了,比如torch.tensor()函数,明明可以用,却报错提示可能不存在,maybe you mean torch.Tensor()?我想是不是pylint或者pylance的问题,虽然我也搞不清两者的区别,都装上吧,结果vscode安装不了插件,可能是网络问题或者是mac系统10.12太老的原因,vscode版本也很老。最后,发现,其实可以登陆一下vscode的帐号,这样就可以同步我在win10电脑上的配置了。

2023-06-16 12:09:37 1488 1

原创 YOLOv8 CLI命令行模型无法运行

我才意思到,是自己前段时间修改了系统的region and languange里的默认地区和语言,重新改回默认语言为English就可以了。不能像官方写的一样,可以直接在cmd中yolo model=yolov8s.pt source='bus.jpg'可能是环境没有安装后,需要执行一下pip install ultralytics。但是发现pip install又报错,一直显示'gbk'什么的。

2023-06-11 15:41:56 997

原创 YOLOV5训练时报错显示Image Not Found

但是我认为不是中英文的问题,只是需要修改一下的问题,在当前编码格式下重新修改名字。因为之前我一直用的是中文的,并没有问题,只是因为修改了整个系统的编码环境,所以原来的字符就不认识了或者YOLOv5在搜索路径的时候乱码了。第二天早上,我突然想起一个问题这些天我的电脑的编码设置更改了一下(国外买的电脑),也就是在语言和区域里,将地区改成了中国(原本是美国),然后将beta utf-8的勾选取消了,因为对于中文软件或者文件偶尔会有乱码。我试着将原本的中文数据集目录名改成了英文,真就好了。以上仅是记录,写得潦草。

2023-06-08 10:48:41 1205

原创 对P, R, ACC, AP, mAP的理解

我也举个特殊情况,对于例题中的100次预测,如果我全部预测1次为P,99次为N,可能恰好这个P是预测正确的,即TP = 1, FP = 0, TN = 80, FN = 19。也就是我这么预测,对于预测为正的次数中,我是一击即中,再击没有了,做了回一秒真男人,但是总共有20个正样本,我只找出了1个,所以召回率就低了。前面精准率,召回率,都是关注点在正样本上,但是对于分类任务来说,预测正确与否,不单单是看正样本,负样本你预测为负,那也是一种正确。假如样本数量100,正样本20,负样本80;

2023-05-31 15:45:59 1180 1

原创 关于YOLOv5锚框自动化调整的理解

y = σ ( x ) y = \sigma(x)y=σ(x)对应before曲线和y = 2 ⋅ σ ( x ) − 0.5 y = 2 \cdot \sigma(x) - 0.5y=2⋅σ(x)−0.5对应after曲线,很明显通过引入缩放系数scale以后,y yy对x xx更敏感了,且偏移的范围由原来的( 0 , 1 ) (0, 1)(0,1)调整到了( − 0.5 , 1.5 ) (-0.5, 1.5)(−0.5,1.5)。如果初始化的锚框尺寸较理想的话,模型学习速度也会更快,效果应该也会更好。

2023-05-22 10:42:20 2186 3

原创 我对MTCNN的理解

这么说,就是做个NMS的吧,首先找到与真实框IOU大的,拿出来,然后找与拿出来的框IOU大于阈值的,比如0.8(瞎说的),筛掉,然后再找下一个与真实框IOU大于阈值的拿出来,再重复上面的过程;那么针对于MTCNN网络中的第一级PNet,就把它当成一个手电筒,一个小工具包,就是拿去照输出图片,我照一照,你给我一个结果,判断一下我照12x12的区域得到的人脸回归及检测分类的值;这就是我对为什么MTCNN的输入要做图像金字塔的理解,就是绽放图像,我变,变,变,继续变到不要小于12就行,因为再小就没有意义了;

2023-04-05 13:59:37 219 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除