- 博客(69)
- 收藏
- 关注
原创 【从零开始部署SAM(Segment Anything Model )大模型 3 Ubuntu20 离线部署 C++】
通过C++进行部署的主要原因就是希望能够有效的提升运行效率减少推理耗时,SAM大模型的官方网站中提供了vit_h,vit_l,vit_b三种大小不同的模型参数,在我们的实际运行中发现,以vit_h参数为例,对于一帧图像的整体运算时间高达6000ms(读取图像+推理+获得掩膜并显示),因此我们认为SAM的三种参数都不适用于C++的部署工作,我们最终选择了MobileSAM作为C++的实际部署模型。在项目中需要处理模型mobilesam.onnx和预处理模型mobilesam_process.onnx。
2024-05-31 11:34:56
1835
原创 【从零开始部署SAM(Segment Anything Model )大模型 1 开源项目介绍与在线测试】
SAM(Segment Anything Model)是一个用于图像分割任务的深度学习模型,由Meta的研究者提出。SAM模型旨在提供一个通用的、交互式的图像分割工具,它能够根据用户提供的简单交互式提示(prompts)来分割图像中的任意对象。SAM模型在图像分割领域提供了一种新的交互方式,它降低了用户参与的门槛,使得没有专业知识的用户也能够进行图像分割任务。此外,它的交互式特性也使得它在某些应用场景下比全自动的分割模型更加灵活和准确。Segment Anything Model 的目标是生成高质量的。
2024-05-21 22:11:39
1816
原创 【matlab下的双目内窥镜标定与深度测距-双目标定内容】
【matlab下的双目内窥镜标定与深度测距-双目标定内容】在本片中主要讲述如何通过matlab标定双目内窥镜,以及标定结果参数的含义,和使用方法一般来说标定相机由opencv标定和matlab 标定两种方法,但是opencv由于是全部自主化进行,没有办法调整标定中的图像样本,因此普遍来说,标定精度会弱于matlab。建议在标定时使用matlab标定。
2024-04-13 15:16:31
646
原创 【matlab下的双目内窥镜标定与深度测距-双目成像原理】
双目成像是一种利用两个摄像头或摄像头组成的系统同时捕捉场景信息的技术。它模拟了人类双眼视觉系统,通过两个视角获取的图像来计算深度信息,从而实现三维感知和场景重建。
2024-04-13 15:15:11
898
原创 【matlab非线性规划工具箱安装2 GloptiPoly 3.10工具箱】
GloptiPoly 3是一个用于多项式优化的MATLAB工具箱,主要用于解决多项式优化问题。GloptiPoly 3由Didier Henrion、Jean-Bernard Lasserre和Mohab Safey El Din等人开发,是GloptiPoly工具箱的升级版本,旨在提供更强大和高效的多项式优化功能。它构建在先前版本的基础上,并引入了新的算法和功能。应用:GloptiPoly 3主要用于解决多项式优化问题,这些问题在控制理论、信号处理、机器学习、机器人学等领域中具有重要的应用。
2024-04-09 22:08:26
1124
1
原创 【matlab非线性规划工具箱安装1 SeDuMi 1.3工具箱】
SeDuMi是在非线性手眼标定中主要使用工具箱GloptiPoly 3的前置工具箱SeDuMi(Semidefinite Programming Solver and Multi-Parametric Toolbox)是一个用于求解半定规划(SDP)问题的工具箱,也可用于求解多参数问题。SeDuMi最初由Olivier Fercoq和Pierre-Antoine Absil在2000年开发,并在Matlab环境下发布。该工具箱经过多年的发展和更新,最新版本为SeDuMi 1.3。
2024-04-09 21:49:25
1990
原创 【从零开始进行高精度手眼标定 eye in hand(小白向)3 非线性高精度标定法编程实现】
最近由于组内的相关工作需求,需要进行机器人的高精度标定。原始的标定精度在6mm左右,虽然听起来是非常微小的偏差,但是由于研究方向手术机器人对精度要求极高。且在运动过程中,深度信息误差、畸变误差、机械误差、坐标系转换等一系列误差累积环节,将导致误差放大,因此远不能达到要求。在经过了为其两周的研究和编程探索,最后成功将标定精度提升到0.5mm,达到了任务要求。
2023-07-13 22:36:09
2527
原创 【从零开始进行高精度手眼标定 eye in hand(小白向)2 Tsai轴角法与四元数法编程实现】
最近由于组内的相关工作需求,需要进行机器人的高精度标定。原始的标定精度在6mm左右,虽然听起来是非常微小的偏差,但是由于研究方向手术机器人对精度要求极高。且在运动过程中,深度信息误差、畸变误差、机械误差、坐标系转换等一系列误差累积环节,将导致误差放大,因此远不能达到要求。在经过了为其两周的研究和编程探索,最后成功将标定精度提升到0.5mm,达到了任务要求。在研究和标定中,查阅了很多博客和相关资料,也踩了很多坑,作为也是小白的自己在研究和学习中发现当前的研究文献和博客最重要的问题是,
2023-06-03 15:47:25
3277
8
原创 【从零开始进行高精度手眼标定 eye in hand(小白向)1 原理推导】
最近由于组内的相关工作需求,需要进行机器人的高精度标定。原始的标定精度在6mm左右,虽然听起来是非常微小的偏差,但是由于研究方向手术机器人对精度要求极高。且在运动过程中,深度信息误差、畸变误差、机械误差、坐标系转换等一系列误差累积环节,将导致误差放大,因此远不能达到要求。在经过了为其两周的研究和编程探索,最后成功将标定精度提升到0.5mm,达到了任务要求。在研究和标定中,查阅了很多博客和相关资料,也踩了很多坑,作为也是小白的自己在研究和学习中发现当前的研究文献和博客最重要的问题是,
2023-06-02 09:58:55
2747
原创 【树莓派开发日记2 】树莓派安装Ubuntu22系统及启动黑屏等问题的踩坑记录
在成功进行了组装后,就到了最为关键的部分了,进行树莓派的系统烧录。虽然树莓派有自己对应的系统,raspbian,但是绝大部分的开发者还是会选择Ubuntu系统作为主要的开发系统Ubuntu 系统的优点有很多其中比较重要的一点是raspbian中有很多的软件是不支持的,导致开发会非常不方便,而windows系统更适合用户系统,因此选择Ubuntu系统作为主要的开发系统(不谈Mac是因为没用过,但是据说Mac系统也很不错)
2022-12-02 21:44:19
4695
原创 【树莓派开发日记1】1.3k预算的树莓派+显示屏+键鼠的选型与拆箱物理安装
树莓派:(Raspberry Pi,简写为RPi,别名为RasPi / RPI) 是为学习计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Linux。随着Windows 10 IoT的发布,用户可以用上运行Windows的树莓派。
2022-12-01 20:02:14
1675
4
原创 【卷积神经网络CNN 实战案例 GoogleNet 实现手写数字识别 源码详解 深度学习 Pytorch笔记 B站刘二大人 (9.5/10)】
在上一章已经完成了卷积神经网络的结构分析,并通过各个模块理解在pytorch框架下卷积神经网络各个模块的底层运行原理和数据传输细节在本章中将通过pytorch模块复现经典深度学习模型GoogleNet,并使用minist数据集实现手写数字的识别。
2022-09-17 17:54:23
1318
2
原创 【 卷积神经网络CNN 数学原理分析与源码详解 深度学习 Pytorch笔记 B站刘二大人(9/10)】
在定义中,卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一爱中卷积层作用是,下采样减少数据量,降低运算需求一般来说卷积神经网络大部分用于多层矩阵,大部分应用于图像处理领域成像原理:RGB图层,图像采集器原理,光子收集器连接光敏电阻,光敏电阻值作为阵列,组成像素点。
2022-09-16 23:19:29
659
原创 【分类器 Softmax-Classifier softmax数学原理与源码详解 深度学习 Pytorch笔记 B站刘二大人(8/10)】
在进行本章的数学推导前,有必要先粗浅的介绍一下,笔者在广泛查找后发现当前并没有官方定义什么是softmax分类器:softmax分类器在本质上也是激活函数的一种,可以看作激活函数sigmoid的拓展版,目标是将输出的多个数值转换为多个分类结果的概率。
2022-09-16 21:56:50
3431
1
原创 【 数据集加载 Dataset&DataLoader 模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人 (7/10)】
在本节中没有关于数学原理的相关介绍,使用的数据集和类型仍然是(6、10)的相关内容。在这里主要是介绍dataset ,dataloader两个类以及mini-batch方法梯度下降方法:1.全部数据都使用,batch,最大化使用向量计算优势,提升计算速度2.随机梯度下降,只用一个样本,会得到较好的随机性,克服鞍点的问题。Mini-batch :将1,2进行结合,进行两层循环嵌套,在每个epoch中执行一次mini-batch。
2022-09-16 20:16:32
517
原创 【多输入模型 Multiple-Dimension 数学原理分析以及源码详解 深度学习 Pytorch笔记 B站刘二大人 (6/10)】
在之前实现的模型普遍都是单输入单输出模型,显然,在现实场景中更多的是多输入多输入模型。在本文中将主要推导,多输入模型中的内部数据传输变化,以及内部矩阵运算过程使用Mini-batch 模块,多个维度线性层共同使用一组权重w的线性组合,共享权重可以极大减小运算量。转化为矩阵运算的意义是希望通过转化为矩阵实现并行运算,进行gpu的挂载在本次的实践数据中使用的是糖尿病病人的数据集,通过维度为8的输入数据,即利用8种病人自身的评价指标的数据,对该样本病人是否患有糖尿病进行判断。
2022-09-15 21:14:11
790
原创 【 非线性回归 Logistics-Regression 模块实现与源码解读 深度学习 Pytorch笔记 B站刘二大人(5/10)】
在定义上Logistic函数或Logistic曲线是一种常见的S形函数,它是皮埃尔·弗朗索瓦·韦吕勒在1844或1845年在研究它与人口增长的关系时命名的。广义Logistic曲线可以模仿一些情况人口增长(P)的S形曲线。起初阶段大致是指数增长;然后随着开始变得饱和,增加变慢;最后,达到成熟时增加停止。
2022-09-15 17:50:08
532
原创 【 线性回归 Linear-Regression torch模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人(4/10)】
至此开始,深度学习模型构建的预备知识已经完全准备完毕。从本章开始就开始按照实际研究与开发中的流程进行深度学习模型的构建。完成了数据的设置后,需要求解出权重w的关于损失函数loss的梯度解析式大型项目通常使用pytorch封装好的模块,在计算过程中将自动生成运算图。下图是一个最简单仿射模型,是一个基础线性单元:其数学表达式为预测值y_hat = 权重w* 输入数据 x +偏置量b当输出和输出维度不同时,例如下图输入x是41的向量,而输出是3。
2022-09-14 17:10:10
575
原创 【 反向传播算法 Back-Propagation 数学推导以及源码详解 深度学习 Pytorch笔记 B站刘二大人(3/10)】
BP神经网络可以说机器学习的最基础网络。对于普通的简单的神经网络层,我们还能通过推导计算得到梯度表达式,但是当网络结构如下图所示此时梯度grad就变成了非常庞大的计算量,对于复杂的多层级网络,权重w个数多,。面对这种情况我们引入数据结构中的图的概念,通过形成在图上,对各个节点的梯度进行求解。需要注意的是,基础线性单元(一层)的构成,应该以矩阵思维看待,w权重矩阵+b偏置量,将参数和输入输出都视为向量或者矩阵。Matrix cookbook 是主要矩阵运算的参考资料,可以去查阅。由于各个层都是。
2022-09-13 22:16:02
496
原创 【 梯度下降算法 Gradient-Descend 数学推导与源码详解 深度学习 Pytorch笔记 B站刘二大人(2/10)】
在第一节中我们定义并构建了线性模型,即最简单的深度学习模型,但是深度学习通常是由四个环节构成,准备数据,构建模型,定义损失与优化函数,循环迭代训练。其中非常重要的就是让模型在每次的循环中,并将模型逐渐优化为理想中的高准确率模型。即我们要找到一种方法,使得模型的参数w不停逼近理想化的值w0,使得整体模型的训练损失loss最小,在(1/10)中可以具体体现为让权重参数w对应模型的loss停留在,使得训练结束后w尽可能靠近w=2.0。
2022-09-13 20:57:14
331
原创 【 线性模型 Linear-Model 数学原理分析以及源码实现 深度学习 Pytorch笔记 B站刘二大人(1/10)】
线性模型是我们在初级数学问题中所遇到的最普遍也是最多的一类问题在线性模型中自变量和因变量呈线性关系,问题往往会给与单个或者多个自变量,给出部分因变量要求推导得到模型的数学表达式,或者根据已知自变量预测因变量,而后者也成为线性回归,linear regression,在后期也会着重讲到。可以从刘二老师的ppt中进行更为图像化的理解我们也都知道,线性模型的普遍表达式为在深度学习中,将w称之为权重,b称之为偏移,在此构建模型,需要重点提醒的是,在这里要把x和w都视为,将该公式每次运行都视为一次。
2022-09-12 10:52:03
598
原创 【从线性回归到 卷积神经网络CNN 循环神经网络RNN Pytorch 学习笔记 目录整合 源码解读 B站刘二大人 绪论(0/10)】
通过pytroch构建深度学习网络,学习笔记,持续更新
2022-09-11 10:03:41
420
原创 粒子群算法matlab代码实例使用与参数解读(二维数据)
粒子群算法与matlab代码实例使用(二维数据)粒子群算法介绍粒子群算法使用场景实例分析粒子群算法介绍粒子群算法(也称粒子群优化算法(particle swarm optimization, PSO)),模拟鸟群随机搜索食物的行为。粒子群算法中,每个优化问题的潜在解都是搜索空间中的一只鸟,叫做“粒子”。所有的粒子都有一个由被优化的函数决定的适应值(fitness value),每个粒子还有一个速度决定它们“飞行”的方向和距离。粒子群算法初始化为一群随机的粒子(随机解),然后根据迭代找到最优解。每一次迭
2022-03-14 13:16:56
7410
7
原创 关于C语言执行程序窗口的闪退问题
关于C语言执行程序窗口的闪退问题近期在学习C++的过程中出现了执行窗口闪退的问题对于以上问题并不是程序的问题,而是执行之后迅速退出在此有两个解决方案:方法一:在主函数Main函数的returrn 0之前加入一句 system( “pause” );注意:需要添加头文件#include<stdlib.h>方法二:在return 0前 使用getchar()...
2019-09-05 21:36:07
2604
原创 数学建模(7)动态规划以及matlab实现
数学建模(7)动态规划概念运筹学分支,求解多阶段决策过程最优化问题的数学方法思路将复杂的多阶段决策问题分解为一系列的简单,离散的单阶段决策问题,顺序求解法在考虑本阶段最优的情况下兼顾整体最优的解决方法主要处理离散连续型问题特点没有特定的算法,需要具体问题具体分析无后效性马尔科夫性,系统从某个阶段后的发展仅与本阶段所处的状态和以后的决策所做的决策所决定,与之前的状态无关。具体问题企业...
2019-08-22 17:47:44
37724
13
原创 误差分析与模型检验
误差分析与模型检验误差,稳定性,检验,敏感性误差分析1.理论分析理论分析的原理其实来自于高等数学中的一个概念:显然这个式子具有普遍性,则也存在:而对于误差分析为了保证可比性,通常进行变形处理在加上绝对值,使其变为相对误差即可得到一元函数的相对误差分析结果而对于二元函数主要利用全微分理论知识同时对于得到的结果而言因变量的系数越大,就越能够认为该因子是模型的中重要影响因子,即...
2019-08-22 11:50:34
17516
原创 最小生成树(Kruskal算法和Prim算法)
最小生成树(Kruskal算法和Prim算法)Kruskal算法加边法,初始的最小生成树边数为0,每一次迭代选择一条满足条件的最小代价边,最终将连接的所有树相连接,加入最小生成树边集合1.把图中的所有边的权重(代价)从小到大排序;2.把图中的n个定点看做独立的n棵独立的树;3.按权重从小到大选择边,两个顶点应当所属于两颗不同的树,则生成最小生成树的一条边,将两棵树合并为一棵4.重复该过...
2019-08-10 19:18:42
583
原创 阿波罗卫星运转轨迹MATLAB作图
阿波罗卫星运转轨迹MATLAB作图题目代码如下.m文件代码:%下面是.m文件的程序,该文件需要以appollo命名function dx=appollo(t,x)mu=1/82.45;fai=1-mu;r1=sqrt((x(1)+mu)^2+x(3)^2);r2=sqrt((x(1)-fai)^2+x(3)^2);dx=[x(2)2*x(4)+x(1)-fai*(x(...
2019-08-08 23:15:05
9726
9
原创 数学建模(6)图论
数学建模(6)图论查阅参考论文,核心期刊论文及以上。下载查阅论文时,首先看摘要筛选文章:研究目标,使用方法,解决的问题,得到的结果图论概念图定点与边组成的集合G=(V(G),E(G))V(G)定点集合E(G)边的集合有向图边均为有序偶对,即每一条边都有确定的方向和指向,有头有尾无向图边均为无序偶对,即每一条边都没有方向和指向混合图既有有向边也有无向边的图关联边和它两端...
2019-08-07 16:33:49
2134
原创 11年国赛A题土壤中重金属分布的二维与三维分布图_matlab插值
11年国赛A题土壤中重金属的二维与三维分布图_matlab插值三维作图A=xlsread('二维','sheet1'); %读取excel文件中代表该类元素的列向量x1=0:180:28654;y1=0:120:18449;x=A(:,1); %读取x坐标值列向量y=A(:,2); %读取y坐标值列向量z=A(:,4); %读取文件中代表该类元素的浓度列向量[...
2019-08-06 19:53:21
1897
原创 数学建模(5.5)利用matlab求解微分方程问题
数学建模(5.5)利用matlab求解微分方程问题解析解:dsolveMATLAB求解微分方程解析解的命令是dsolve调用格式:dsolve('eq1','eq2',...,'cond1','cond2',...,'v'),%其中eq1、eq2、...为输入方程(组)%cond1、cond2、...为初始条件%b表示求导变量,省略时系统默认为t%Dy表示关于y关于自变量的一阶导...
2019-08-06 18:29:10
3010
原创 数学建模(5)微分方程的建立与求解
数学建模(5)微分方程的建立与求解常与优化问题相结合可以用微分方程建模的情况:涉及改变、变化、增加、衰变、边际、追赶的问题考虑变化率的问题一般形式分为隐式和显式基本思想一定要有背景利用数学物理力学等学科中的定理或实验规律建立微分方程微元法:利用已知定理与规律寻找与微元之间的关系式,对象是微元而不是函数与导数步骤:1.微元法建立微分方程2.确定定解条件(初边值条件)03....
2019-08-06 17:15:52
5669
原创 数学建模(3.9)多目标规划
数学建模(3.9)多目标规划理解多目标规划跟一般的规划问题有所不同,多目标规划通常是要求学生做出满足各个优先度要求的最佳抉择。衡量出尽量满足所有需求而得出使得目标最优(如收益最大)的方案。由于多目标规划跟线性规划完全不同,因此在此需要使用全新的解法。正负偏差为了将约束条件转换为等式,使得转换变成对偏差量的求解。在此引入d1,d1_,分别代表正负偏差变量。d1=max{ fn-dn , ...
2019-08-03 18:20:10
21166
8
原创 数学建模(4)matlab/spss实现多元线性回归
数学建模学习笔记(4)统计问题–回归分析_matlab实现统计工具箱:最小二乘法b = regress(Y,X)其中Y,X为数组矩阵,b为回归系数估计值·[b,bint,r,rint,stats] = regress(Y,X,alpha)Y,X同上,alpha为显著性水平,默认值为0.05b,bint为回归系数估计值和其置信区间r,rint为残差与其置信区间,stats是用于...
2019-08-03 16:51:59
2181
原创 数学建模(3.3)统计问题<2>spss建立数据集
数学建模学习笔记(3.3)统计问题<2>spss建立数据集利用spss建立数据集首先打开spss,会出现两个窗口,分别为放置结果与放置数据的两个窗口。对数据窗口进行操作,首先选择变量视图,只用在变量视图中定义变量之后才能在数据视图中导入数据。其中在定义变量中有两个需要注意的属性一是类型,决定输入数据时字符串还是数字二是测量,根据上一节的知识对数据进行定性定量,以防止在运算中...
2019-07-22 15:48:29
3324
原创 数学建模(3.1)统计问题<1>认识数据与预处理
数学建模学习笔记(3.1)统计问题<1>认识数据与预处理主要内容:1.统计学原理,数理统计2.回归分析,线性模型3.多元统计分析,机器学习,数据挖掘4.时间序列分析认识数据1.获取数据美赛中经常要求选手自己收集并处理数据,而收集到合理且准确地数据是建立一个优秀的数学模型的重要基石。2.理解数据结构2.1结构化数据结构化数据其实就是已经经过预处理和一定规律的排列组合...
2019-07-22 11:22:22
3727
1
mobilesam预处理onnx模型
2024-05-31
mobileSAM onnx模型
2024-05-31
【基于非线性优化的高精度手眼标定代码matlab(后续可能有C++的也可能没有)】
2023-07-13
pytorch实现minist手写数据集训练
2023-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人