- 博客(87)
- 收藏
- 关注
原创 Windows+pytorch【配置与试运行】
1. 查看电脑是否配置有nvidia的GPU【运行】-->输入命令“dxdiag”查看显示驱动即可2. 进入nvidia的官网查找与显卡匹配的驱动以及CUDA并安装官方 GeForce 驱动程序 | NVIDIA下载最新版官方 Geforce 驱动程序,提升 PC 游戏体验和应用程序速度。https://www.nvidia.cn/geforce/drivers/3. 查看是否安装完成【运行】-->输入“cmd”调出命令行窗口,并在窗口内输入nvidia-smi若安装成
2022-02-01 10:51:53
2834
原创 关联分析--FP-growth(12)
相较于Apriori,FP-growth可以加快速度,其过程主要分为:1.构建FP树;2.利用FP树挖掘频繁项集;#FP树构架设置class treeNode: def __init__(self, nameValue, numOccur, parentNode): self.name = nameValue self.count = numOccur self.nodeLink = None self.parent = p
2022-01-27 13:10:38
354
原创 关联分析--Apriori(11)
频繁项集--同时出现频率较高的特征集合关联规则--不同特征间关系较强支持度--项集在数据集中所占比例置信度--关联规则的支持度与单个特征支持度的比值举个例子,假设NBA全明星连续五日的观众投票最佳阵容如下:Date PG SG SF PF C 2.1 库里 哈登 詹姆斯 字母哥 约基奇 2.2 欧文 哈登 杜兰特 浓眉 约基奇 2.3 库里 东契奇 杜兰特 浓..
2022-01-27 11:11:43
1176
原创 K均值(10)
分类、回归---监督过程,解决“在标签数据前提下,输入X预测Y”非监督---数据本身有什么特点,数据簇K均值---给定K个聚类中心,根据与聚类中心距离聚类,更新聚类中心。代码实践如下:def kMeans(dataSet, k, distMeas=distEclud, createCent=randCent): #输入:数据集,类别数,距离计算方式,初始聚类中心 m = shape(dataSet)[0] clusterAssment = mat(zeros((m, 2
2022-01-26 21:30:37
1962
原创 Python Tkinter库创建GUI
1.新建一个窗口import tkinter as tkwindow = tk.Tk() #窗口组件window.title('exam') #窗口标签window.geometry('300x200') #窗口大小window.mainloop()2.新建标签组件--Labell1 = tk.Label(window,text='example_label',background='pink',fg='green',font=('Arial',12),...
2022-01-25 16:45:36
1575
原创 分类回归树(9)
针对非线性问题无法通过全局线性模型来拟合,通常将该非线性问题切分成多个便于线性建模的数据,而分类回归树(CART)就是解决方案之一,大致流程如下:1.找到最佳的待切分特征;2.执行二元切分,左子树和右子树;3.如果节点不能切分,存为叶节点;# 创建分类回归树def createTree(dataSet, leafType=regLeaf, errType=regErr, ops=(1,4)): feat, val = chooseBestSplit(dataSet, leafTy
2022-01-25 15:20:23
358
原创 元算法之AdaBoost(8)
不同的分类器都拥有其优缺点,而元算法的目的即在于将不同分类器进行组合,从而获取集成方法的分类结果。元算法中有两大类常用的:bagging和boosting,bagging中常用的有随机森林法,而boosting中常用的有AdaBoost。bagging:不同分类器串行,每个新分类器在前一个分类器的训练结果上训练,分类器间等权;boosting:新分类器仅关注已有分类器的错分数据,权重表示分类器在上一轮表现的准确率;基于弱分类器--单层决策树,Adaboost的训练代码实现如下:def ad
2022-01-25 11:27:09
373
原创 回归预测(7)
当我们拥有2021年每月降水量,想要获得2022年每月降水量时,首先想到的就是估计降水量与各月的函数关系,从而预测未知月份的降水量。而解决上述问题,首先想到的算法就是--最小二乘构建如y=Bx的函数关系,可以展开成y=b0*cosx+b1*x+b2*tanx+……,x为解决该问题的基函数,B为对应每项基函数的系数阵,而最小二乘求解的方式也很简单:在求解得到系数阵后,对于新得到的x就能成功预测新的y值,代码实现如下:def standRegres(xArr,yArr): #输入:
2022-01-25 11:05:23
520
原创 支持向量机(6)
线性可分数据---可以通过一条直线将两组数据点区分开来。而这条直线被称作“分割超平面”或“决策边界”。支持向量,即为距离分割超平面距离最近的点。要想实现较好的分类优化求解方法,其原则即为支持向量到决策边界的距离最大化。小总结---约束为最小间隔数据点(支持向量)到决策边界的距离最大argmax{min(label*distance(点,分割边界))}支持向量机中还有一个重要概念---核函数,建立低维特征空间与高维特征空间的映射关系由于整体的SVM优化求解是一个较大的优化问题,直接求解不易
2022-01-21 19:39:12
431
原创 Logistic回归(5)
Logistic回归进行分类的总体思想:利用训练数据拟合分类边界线。理想情况下,分类类别输出函数为单位阶跃函数,即输出仅有0或1;但实际情况并非如此,可以采用例如sigmoid函数。设sigmoid输入为,采用梯度下降算法求解当错分率最小时的权重参数w,或者是采用梯度上升算法求解当正分率最大时的权重参数w,二者等价。梯度上升计算的代码如下:def gradAscent(dataMatIn, classLabels): # 输入:datamatin,classlabels--训练数据
2022-01-20 21:10:54
433
原创 分类性能评价指标(4)
遥感影像分类常用的评价指标--混淆矩阵 预测结果 类别 类1 类2 类3 真实结果 类1 24 2 5 31 类2 2 27 0 29 类3 4 2 30 36 30 31 35 81 类1的用户精度=24/30类1的制图精度=24/31类1的漏分误差=(31-24)/31类1的错分误差=(30-24)
2022-01-20 20:39:56
2895
原创 方程数值迭代解法
1.不动点迭代function [x,num] = budongdian(a,tol,f_i) i = 0; fa = func_x_diedai(a); fa = fa(f_i); while(abs(a - fa) > tol) a = fa; fa = func_x_diedai(a); fa = fa(f_i); i = i + 1; end num = i; x =
2022-01-19 20:28:27
874
原创 总结SPOT系列卫星发射情况
SPOT系列卫星是法国空间研究中心自1978年开始立项研制的对地观测卫星系统,自1986年成功发射SPOT 1卫星以来,该系列卫星获得了大量全球卫星观测影像数据,应用于测图、土地利用等诸多领域。目前共发射SPOT 1-7共7颗卫星,其发射时间及在轨情况如下表所示: 卫星 发射时间 在轨情况 SPOT 1 1986/02 2002年05月停止服务 SPOT ...
2022-01-19 20:17:49
3964
原创 总结近年来我国主、被动遥感卫星发射的情况
近年来我国的空间科学技术发展迅速,推动我国航天遥感事业蓬勃发展,体现在我国自主研发的各系列卫星成功发射上天,包括我国与巴西合作研发的资源系列卫星;观测气象的风云系列卫星;进行环境、矿产、海洋资源、土地利用观测的环境、海洋、高分系列卫星;用于测绘与制图领域的天绘系列卫星等等……其中既包含搭载以太阳能为主要辐射的框幅式、扫描式被动遥感器,也有搭载RADAR、LIDAR等发射能量的主动传感器。 搭载被动遥感器的卫星系列率先发展,首先是资源系列卫星,上世纪九十年代开始我国与巴西合作研制...
2022-01-17 16:46:00
2812
原创 朴素贝叶斯(3)
通俗来说,贝叶斯是在计算概率值,而朴素贝叶斯假设先验数据类别均相互独立。先验数据--建立已知数据及已知类别测试数据--计算属于先验数据的条件概率,属于该类数据类别的概率越高则被预测为该类训练部分代码:def trainNB0(trainMatrix,trainCategory): # 样本数据集:trainMatrix # 样本标签:trainCategory numTrainDocs = len(trainMatrix) # 样本总数 numWord
2022-01-17 10:23:55
347
原创 决策树(2)
决策树的理解可以类比最近较火的综艺游戏,游戏规则如下:裁判确定一个关键词,选手可以向裁判提问15个问题,而裁判仅能回答是与不是,最终选手获得关键词。通常采用递归的方式构造决策树,主要流程如下:1.递归停止条件1:选取特征使得数据的特征相同时标签也与之严格一致,例如特征=【能飞,不能飞】,标签=【是猪1,非猪0】,能飞特征对应的一定是非猪;2.但满足标签1的还有其他特征,在上次特征划分后的数据上在此判断递归停止条件1,例如特征2=【能潜水,不能潜水】,在不能飞的特征下,选择特征2继续划分;3.
2022-01-16 19:50:52
1973
原创 KNN(1)
KNN--k近邻算法训练数据,数据+标签,即已知数据及其分类当新输入数据即测试数据时,计算与训练类的特征相似距离,作为分类结果主要算法流程如下:1.在特征空间中,计算测试数据点与训练数据点的距离;2.筛选距离最小的训练数据点,对应训练数据类的点数越多,即越可能分作该类;算法代码如下:def classify0(inX, dataSet, labels, k): # 训练数据:dataSet, labels # 测试数据:inX # 邻域大小:k
2022-01-16 19:18:25
2049
原创 点云分割(10)
当前点云分割方法主要分为:①聚类分割;②基于随机采样一致性(RANSAC)的分割;基于欧式聚类的点云分割pcl::PointIndices::Ptr indices(new pcl::PointIndices);//创建欧式聚类对象pcl::EuclideanClusterExtraction<pcl::PointXYZ> ec;//参数配置ec.setClusterTolerance(0.02);ec.setMinClusterSize(100);ec.setMaxC
2022-01-13 15:35:19
1717
原创 特征点(9)
NARF特征点:深度突变位置进行边缘检测、测度表面变化的系数及主方向;Harris特征点:2D采用图像梯度,而3D采用点云表面法向量;……深度图像提取NARF特征点//深度图像边缘提取器pcl::RangeImageBorderExtractor range_image_border_extractor;//narf特征点pcl::NarfKeypoint narf_keypoint_detector(&range_image_border_extractor);//输入深
2021-11-29 09:22:10
2310
原创 点云匹配与配准(8)
点云配准的基本流程:提取关键点---计算特征描述子---计算坐标及位置的相似度---去除噪声对配准的干扰---刚体变换迭代最近点算法(ICP)//头文件#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include <pcl/registration/icp.h>//输入输出数据pcl::PointCloud<pcl::Poin
2021-11-27 13:41:27
1394
原创 采样一致性(7)
采样一致性--在一定允许误差范围内分割出在模型上的点云RANSAC随机采样一致性:样本中随机抽取子集,计算子集与模型的偏差与阈值作比较,区分内点与外点,迭代重复到内点最多,此时的模型参数即为RANSAC下的估计值。RANSAC的缺陷:事先设定区分内、外点的阈值;不能确定迭代的次数;LMedS最小中值方差估计:样本中随机抽取子集,计算子集与模型的偏差与阈值作比较,取出偏差值居中的子集对应的模型参数。LMedS的缺陷:当外点数量较多时候,没法很好估计模型;采样一致性支持的几何模型:
2021-11-27 11:30:22
568
原创 深度图像(6)
对三维信息的描述,除了点云的直接描述外,常见的RGB-D相机获取的深度影像也是目前重要的三维信息描述方式。创建点云对应的深度图像://头文件#include <pcl/range_image/range_image.h>//设置观测弧度间隔、最大水平观测范围、最大垂直观测范围float angularResolution = (float)(1.0f * (M_PI / 180.0f));float maxAngleWidth = (float)(360.0f * (M_PI
2021-11-27 09:26:24
1697
原创 点云滤波(5)
点云滤波能达到的目的:去噪、去除离散点、抽稀(下采样)、平滑直通滤波器--设定范围,对范围外点云进行滤除//创建滤波器pcl::PassThrough<pcl::PointXYZ> pass;//输入原始点云pass.setInputCloud(cloud);//待筛选的属性,一般是对高度即z坐标做约束pass.setFilterFieldName("z");//设定接受范围pass.setFilterLimits(-1.0,1.0);//执行滤波pass.filte
2021-11-25 22:26:55
2283
原创 kd树与八叉树(4)
kd树--带约束的二分查找树八叉树--将体元分成8个子立方体基于kd树来完成对应点邻域点的搜索://创建kd树pcl::KdTreeFLANN<pcl::PointXYZ> kdtree;//设定待搜索点云kdtree.setInputCloud(cloud);//目标点:point1//按照点数做k近邻搜索int k = 10;std::vector<int> pointIdxNKNSearch(k);std::vector<float>
2021-11-25 20:35:01
643
原创 点云可视化(visualization)(3)
简单几何体的点云添加与显示://直线viewer->addLine<pcl::PointXYZRGB>(cloud.points[i],cloud.points[j],"line1");//平面pcl::ModelCoefficients coeffs;coeffs.values.push_back(A);coeffs.values.push_back(B);coeffs.values.push_back(C);coeffs.values.push_back(D);
2021-11-24 22:32:47
785
原创 输入输出IO(2)
点云文件格式--PCD文件说明VERSION . 7 # PCD文件版本为0.7FIELDS x y z rgb # 每个点具有的属性 x坐标 y坐标 z坐标 颜色SIZE 4 4 4 4 # 每个属性字段对应的大小-字节数TYPE F F F F # 每个属性字段对应的格式-F-FLOAT浮点数COUNT 1 1 1 1 # 每个属性字段包含的元素个数WIDTH 213HEIGHT 1 # 无序点云的高度设置为1,有序则按照行列即可VIEWPOINT 0 0 0 1 0 0
2021-11-24 16:33:39
672
原创 PCL入门(1)
PCL主要模块:分割(segmentation)、特征描述与提取(Features)、可视化(Visualization)、曲面重建(Surface)、识别(Recongnition)、检索(Search)、配准(Registration)、关键点(Keypoints)、滤波(Filters)、采样一致性(Sample consensus)、八叉树(octree)、通用模块(common)、输入输出(IO)、k维树(kdtree)PCL编程规范:头文件 --(.h) 模板类实现文件 --(.h.
2021-11-24 15:27:33
1770
原创 pcl处理pcd文件的问题
问题1:pcd可以用pcl_viewer等点云可视化工具查看,但无法用文本形式打开查看;问题2:采集的pcd中存在大量nan点数据,在配准等操作时报错如下:Assertion failed: point_representation_->isValid (point) && “Invalid (NaN, Inf) point coordinates given to nearestKSearch!”前者可以通过简单的读写文件来解决,后者可以通过pcl库的removeNaNF
2021-11-20 15:43:21
1616
原创 点云pcd文件可以用pcl_viewer打开,但Semantic Segmentation Editor标注时无法成功显示
写个简单的读写程序,将pcd文件读入再写出,即可成功被SSE工具读取。int main(int argc,char** argv){ pcl::PointCloud<pcl::PointXYZ>::Ptr pointcloud_0(new pcl::PointCloud<pcl::PointXYZ>); string pcd_name = "../../0.pcd"; if (pcl::io::loadPCDFile<pcl::PointXYZ&
2021-11-16 16:16:47
3748
3
原创 点云的局部特征描述
点云的局部特征描述通常可以分为以下两类:1.基于特征的描述2.基于直方图的描述基于特征的点云局部特征描述,其描述能力更强;基于直方图的点云局部特征描述,对不同场景下点云局部特征描述的适用性与鲁棒性更强;①SHOT特征描述子(Signature of Histogram of Orientation)在特征点处建立局部参考系,用邻域点的空间位置信息和几何特征统计信息来描述点云局部特征上式计算特征点邻域范围内所有点的协方差矩阵,对上述M阵求解特征值,进行主成分分析,由大到小进行排列.
2021-11-15 11:13:36
4013
原创 微积分近似计算公式:中点、梯形、辛普森
微积分近似计算公式,可以帮助我们在不了解积分原函数的情况下,即无法采用牛顿-莱布尼茨公式求解微积分,可以采用一些近似计算公式来获得近似结果:中点公式:function res = mid(f,a,b) res = (b - a) * feval(f, 0.5 * (a + b));end梯形公式:function res = trapz(f,a,b) res = 0.5 * (b - a) * (feval(f,a) + feval(f,b));end辛普森公式
2021-11-14 15:07:14
6243
原创 文献Review:基于端元可变光谱分解的多时相遥感影像变化检测方法
文献名称:A Novel Change Detection Approach Based on Spectral Unmixing from Stacked Multitemporal Remote Sensing Images with a Variability of Endmembers期刊:《Remote Sensing》关键词:Spectral unmixing;change detection;stacked images;endmember发表时间:2021年6月 29日针对遥
2021-11-09 14:42:24
773
原创 matlab--生成相机校正黑白格网
MATLAB生成黑白格网语句:%生成格网B = (checkerboard(size_pix,row/2,col/2)>0.5);%显示格网figure,imshow(B);size_pix表示以像素为单位的格网大小,当打印需要以mm为单位的格网时,可以通过计算转换,例如在300分辨率下,A4纸的宽度为21cm,对应像素大小为2480pix,就可以利用该比例计算所需mm大小格网应输入的size_pixeg.需要15mm的16*12的黑白格网,即输入语句:B = (checke
2021-11-09 12:29:35
1551
原创 解线性方程组——高斯消去法
高斯消去法,通常包含两个过程,消去过程和回代过程,不同的高斯消去法其消去过程也不尽相同,一般的高斯消去法旨在将系数阵通过行变换,变成上三角矩阵,而列主元素的高斯消去法,在一般的基础上,每次行变换时将该列绝对值最大元素变换到主元位置上,而量化的列主元素高斯消去法则不进行行交换,通过一个l向量来存储列主元素所在行的位置,按照该顺序进行行变换,可以减少用于行交换的处理时间。直接上代码,matlab编写:1.高斯消去法function x = gauss1(A,b) %A为系数阵,b为常数向量
2021-09-08 21:21:55
7411
原创 文献管理工具——NoteExpress
1.NoteExpress可以做什么?收集文献——在线检索、文件导入管理分析协助写作——在Word与WPS中均有交互功能2.NoteExpress下载一般高校官网或图书馆网站均有该软件版本,个人下载可以去官网:http://www.inoteexpress.com/3.新建数据库建一个空白数据库,指定连接文件夹,用以存储和管理文献4.创建题录与子文件夹在数据库中分级分门类,进一步分类文献5.协助写作1.光标停留在需要插入文中引文处2.返回NoteExpress
2021-08-20 07:38:08
2891
原创 深度学习入门笔记(五)
神经网络:用一定的规则将感知器、线性单元等连接起来形成的网络神经元常用的激活函数有sigmoid、tanh函数等,当然也包括之前感知器用的阶跃函数,线性函数等sigmoid函数:神经网络通常按照层来架构,有输入层、隐藏层、输出层,通常有全连接神经网络、卷积神经网络(CNN)、循环神经网络(RNN)等全连接的意思是指,第k层的第i个神经元与第k-1层的每个神经元都存在连接输入(出)的元素个数与输入(出)层的神经元数量相同如上图,4的输出为:从x到y的转变:向量.
2021-08-19 14:32:43
107
原创 深度学习入门笔记(四)
实现我在深度学习入门笔记(三)中的线性单元示例https://blog.youkuaiyun.com/harden1013/article/details/119780800?spm=1001.2014.3001.5501eg.假定我们需要评定一个学生的推优评分(y),影响该学生推优的特征向量{x_i}包括(绩点,学生工作,科研成绩,实践表现),而每个特征参与评定的比重不同即为参数{k_i},评定还有着基础分b,我们通过样本训练得到{k_i},再来预测新的学生能获得怎样的评分。首先是感知器,由于依然是一个线
2021-08-19 10:19:45
109
1
原创 深度学习入门笔记(三)
激活函数为可导的线性函数,此类感知器即为线性单元线性单元的模型:假定我们需要评定一个学生的推优评分(y),影响该学生推优的特征向量{x_i}包括(绩点,学生工作,科研成绩,实践表现),而每个特征参与评定的比重不同即为参数{k_i},评定还有着基础分b,我们通过样本训练得到{k_i},再来预测新的学生能获得怎样的评分。训练可以分为监督学习和无监督学习,对上述示例,监督学习即为训练样本包括每个学生的特征向量以及对应获得的推优评分,而若为无监督学习,则只有每个学生的特征向量,没有对应的推优评分。所
2021-08-18 16:43:06
115
原创 深度学习入门笔记(二)
编程实现我深度学习入门笔记(一)中的示例:用感知器来实现“且(and)”运算https://blog.youkuaiyun.com/harden1013/article/details/119731429?spm=1001.2014.3001.5501定义感知器类(class perceptron):from functools import reduce#定义感知器类class perceptron(object): #感知器初始化函数(参数个数,激活函数) def __init
2021-08-18 13:58:58
236
原创 python高阶函数:filter、lambda、map、reduce、zip
filter、lambda、map、reduce、zip 在不同版本下使用方式有所不同,本文介绍在python3的用法若想将上述函数得到的object对象转换成列表,可以采用 list() 函数1.filter函数过滤器函数,用以过滤列表中不符合条件的元素;filter函数包含两个参数,第一个是过滤函数,第二个是待过滤列表对象;eg.过滤掉列表中的空字符 ''eg_list = [1,2,3,4,'','']res = filter(None,eg_list)res_list.
2021-08-18 11:00:09
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人