自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (18)
  • 收藏
  • 关注

原创 【硬核】 ROS Navigation 局部路径规划常见算法

简介​ 最近,作者参加了关于RMUS 高校 SimReal挑战赛,首次接触到了机器人导航领域,这里记录一下这段时间的收货。sim2real的全称是simulation to reality,是强化学习的一个分支,同时也属于transfer learning的一种。主要解决的问题是机器人领域中,直接让机器人或者机械臂在仿真中对于物理环境存在误差,如何将仿真上取得的成果应用到实际中的问题。​ 机器人导航的路径规划问题主要分为全局路径规划和局部路径规划,这两者是根据对环境信息获取程度划分的。全局规划通常需

2022-03-30 10:31:38 19706 1

原创 ROS —— XACRO的语法与使用教程

简介​ XACRO(XML Macros)是一种XML宏语言,可以通过使用宏命令构建更精悍短小但又具有更高可读性的XML文件,这种宏命令可以扩展达到更大的XML表达范围。XACRO文件和URDF实质上是等价的. XACRO格式提供了一些更高级的方式来组织编辑机器人描述。URDF​ URDF是一种xml格式的统一机器人描述文件,能够方便地使用标签、属性来描述模型当中的相关信息。URDF将机器人内部结构大致分为两种类型:连杆link和关节joint。<Link>描述机器人某个刚体部分

2022-03-28 10:22:30 3601

原创 Doxygen —— 快来为你的代码自动生成一份专属说明文档

Doxygen是一个能从带注释的源码中自动生成说明文档的标准工具,它支持众多流行的编程语言,包括C/C++、C#, PHP, Java, Python, IDL 等

2022-03-26 09:57:24 5478

原创 Model Optimization——常用深度学习模型转换脚本

简介​ 我们都知道目前流行的深度学习框架有很多种,例如Pytorch、TensorFlow、Caffe等,在实际训练和部署的过程中,常常会接触到不同框架模型之间的转换,大多数时候这些并不复杂,只需要写一些简短的脚本就能够完成。而像OpenVINO中IR这样的特殊模型,我们也可以通过其提供的自带脚本进行转换,下面简单介绍常用的模型之间转换的脚本和方法。Pth模型 转 ONNX模型import torchimport argparseparser = argparse.ArgumentParser(

2022-03-19 10:00:20 727

原创 OpenVINO Toolkit 系列(三) —— 模型转换与推理加速

OpenVINO™ 是用于优化和部署 AI 推理的开源工具包。 1. 提升计算机视觉、自动语音识别、自然语言处理和其他常见任务中的深度学习性能 2. 使用通过 TensorFlow、PyTorch 等流行框架训练的模型 3. 减少资源需求并在从边缘到云的一系列英特尔® 平台上高效部署

2022-03-18 10:51:34 5879

原创 OpenVINO Toolkit系列(二)——手动编译contrib包和Cmake链接

从源码编译适配OpenVINO的OpenCV(Contrib)​ 由于OPENVINO 2018 R2及后续版本都自带了OpenCV,然而其自带的OpenCV并不包含Contrib模块,所以在开发中如果我们需要同时使用Conrtib和OpenVINO时就需要自己手动从源码进行编译。下载源码OpenCVOpenCV Contrib这里需要注意以下两点:下载的OpenCV与Contrib模块的版本需要严格对应OpenCV需要下载带OpenVINO后缀的版本Cmake编译​ 这里以如下

2022-03-16 10:22:11 3403 3

原创 OpenVINO Toolkit系列 (一) —— 安装与环境配置

简介​ OpenVINO是英特尔推出的一款全面的工具套件,用于快速部署应用和解决方案,支持计算机视觉的CNN网络结构超过150余种。OpenVINO是一个Pipeline工具集,同时可以兼容各种开源框架训练好的模型,拥有算法模型上线部署的各种能力,只要掌握了该工具,你可以轻松的将预训练模型在Intel的CPU上快速部署起来。​ 对于AI工作负载来说,OpenVINO提供了深度学习推理套件(DLDT),该套件可以将各种开源框架训练好的模型进行线上部署,除此之外,还包含了图片处理工具包OpenCV,视频处理

2022-03-15 10:20:34 3911

原创 Python Snap7实现S7-1200 PLC通信控制

介绍​ Snap7 是一个基于以太网与S7系列的西门子PLC通讯的开源库,支持包括S7系列的S7-200、S7-200 Smart、S7-300、S7-400、S7-1200以及S7-1500的以太网通信。Snap 7支持python、C/C++、C#、labview等语言,其中最常用的当属它的python库——python-snap7安装​ python-snap7是python中的一个开放的功能包,所以使用前只需要直接用pip安装即可pip install python-snap7数据存储地

2022-03-14 11:12:13 4843

原创 PyQt5 线程管理 解决耗时线程导致假死问题

前言​ 由于项目需求,需要设计一款目标检测后进行后台控制,并在界面上实时显示的上位机。设计的一开始没有考虑到上位机后台功能实现的耗时,功能实现后发现执行某些耗时操作会导致程序界面无响应,进入假死状态,最终采用线程管理解决这一问题。简介​ PyQt5是Digia的一套Qt5应用框架与python的结合,同时支持python2.x和python3.x。PyQt5由一系列python模块组成,适用于Linux,Windows,Mac OS等主流操作系统。下面简单介绍其安装的方式:pip install

2022-03-12 11:03:13 3591 1

原创 Cython 的简要入门、编译及使用

Cython是一种通过python语法编写C扩展的编程语言,特点是支持可选的静态类型声明语言的一部分,源代码可被翻译成优化的C/C++代码并编译成python扩展模块。Cython既具备python快速开发的特点,又可以让代码运行速度像C/C++一样快,甚至可以调用C library。

2022-03-12 11:01:16 8566

原创 ROS URDF模型解析成KDL Tree

ROS URDF模型解析成KDL Tree简介Kinematic TreeKDL parserbuildingusage from a URDF modelusage in C++后续简介​ KDL(Kinematics and Dynamics Library)开发了一个独立于应用程序的框架,用于对运动链进行建模和计算,例如机器人、生物力学人体模型、计算机动画人物、机床等。它为几何对象(点、框架)提供类库,线,…),各种系列的运动链(串行,人形,平行,移动,…),以及它们的运动规范和插值。Kinem

2022-02-17 11:14:28 1232

原创 ROS TF坐标变换库 & 重写创建高频坐标变换广播器

文章目录引言简介TF库使用步骤tf_broadcaster重写创建高频坐标变换广播器实现参考后续引言​ 坐标变换是机器人学中的基础概念,机器人中每个关节的运动,都存在相应的坐标变换关系。坐标变换可以分为位置变换和姿态变换,分别可由位置矢量和旋转矩阵表示,而这两部分可以组成4*4的齐次变换矩阵,可表示如下:$$T=\left[\begin{matrix}R & P \ 0&1\end{matrix}\right]\R=\left[\begin{matrix}r_{11}&amp

2022-02-16 13:27:06 877

原创 数据处理方法——SMOTE系列和ADASYN

文章目录简介SMOTE系列SMOTEBorderline SMOTEADASYN系列ADASYN后续简介​ 不平衡数据集指的是数据集各个类别的样本量极不均衡。以二分类问题为例,假设正类的样本数量远大于负类的样本数量,通常情况下通常情况下把多数类样本的比例接近100:1这种情况下的数据称为不平衡数据。不平衡数据的学习即需要在分布不均匀的数据集中学习到有用的信息。不平衡数据集的处理方法主要分为两个方面:1、从数据的角度出发,主要方法为采样,分为欠采样和过采样以及对应的一些改进方法。2、从算法的角度出发

2022-02-15 15:30:27 3260 1

原创 InterRealSense D435i 相机驱动安装与配置

文章目录简介SDK2.0安装软件源安装安装步骤:手动安装(推荐)安装步骤:1. 本地更新2. 准备 Linux 后端和开发环境:3. 构建librealsense2 SDK注意事项后续简介​ InterRealSense D435i是Inter公司RealSense系列摄像头的其中一种,该系列采用英特尔最新的深度感应硬件和软件,封装成易于集成的产品中。相比于D435,其添加了IMU(惯性测量单元),为基本的 SLAM 和跟踪应用程序打开了大门,使手持扫描系统用例的注册和校准更容易,并且在虚拟/增强现实和

2022-02-15 15:21:28 4370

原创 EEG信号处理——小波变换系列

文章目录时域信号分析平稳性连续小波变换离散小波变换小波包变换应用后续时域信号分析​ 时域信号的分析常常是基于相位、能量,甚至跨频率耦合实现的。​ 常见的时域信号分析方法为ERPS,即多通道脑波均值滤波,该方法需要注意的是需要进行基线标准化,将所有的数据放在同一个尺度上,使得任务相关活动与背景活动分隔开,更加趋向于正态分布。​ 但时域分析方法存在一定的缺点:抖动和非相位锁定的活动无法观测;可做的分析有限信噪比差且统计功效低平稳性​ 平稳性的定义为:时间序列的信号的统计特征是否

2022-02-15 15:16:01 3148

原创 数学建模竞赛知识点汇总(四)——相关性检验

数学建模竞赛知识点汇总(四)——相关性检验文章目录数学建模竞赛知识点汇总(四)——相关性检验简介皮尔逊相关系数总体person相关系数样本person相关系数皮尔逊相关系数假设检验前提步骤流程斯皮尔曼相关系数皮尔逊相关系数与斯皮尔曼相关系数对比后续简介​ 相关性分析是研究两个或两个以上的随机变量间的相关关系的统计分析方法,例如降水与地形、降水与温度等的相关关系。相关分析前,首先通过散点图了解变量间大致的关系情况。如果变量之间不存在相互关系,那么在散点图上就会表现为随机分布的离散的点,如果存在某种相关性

2022-02-13 11:30:56 2634

原创 数学建模竞赛知识点汇总(三)——插值算法

数学建模竞赛知识点汇总(三)——插值算法文章目录数学建模竞赛知识点汇总(三)——插值算法简介分类常见的插值算法拉格朗日插值牛顿插值法埃尔米特插值三次样条插值后续简介​ 数模中,有时需要根据已知的函数点进行数据处理,但有时现有数据太少,就需要用插值方法,模拟产生一些新的、比较靠谱的数据来满足需求。构造函数,使过这些点,插值点处的函数值即为插值分类多项式插值,P(x)P(x)P(x)是多项式分段插值,P(x)P(x)P(x)是分段多项式三角插值, P(x)P(x)P(x)​ 是三角多

2022-02-13 11:28:34 978

原创 数学建模竞赛知识点汇总(二)——优劣解距离法

数学建模竞赛知识点汇总(二)——优劣解距离法简介​ 优劣解距离法(TOPSIS法) 可翻译为逼近理想解排序法,国内常简称为优劣解距离法 TOPSIS 法是一种常用的综合评价方法,其能充分利用原始数据的信息, 其结果能精确地反映各评价方案之间的差距。​ 使用范围:评价对象得分,且各个指标值已知计算步骤1. 评价指标分类极大型指标:指标值越大越好,如GDP增速, 成绩极小型指标:指标值越小越好,如费用,次品率中间型指标:指标值越接近某个值越好,如水质量评估的PH值区间型指标:指标值落在某个区

2022-02-13 11:26:46 1530

原创 数学建模竞赛知识点汇总(一)——层次分析法

文章目录简介步骤建立层次结构模型构造判断矩阵计算权重算术平均值法几何平均值法特征值法一致性检验合并排序层次分析法的局限性后续简介​ 层次分析法(AHP)这是一种定性和定量相结合的、系统的、层次化的分析方法。这种方法的特点就是在对复杂决策问题的本质、影响因素及其内在关系等进行深入研究的基础上,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简便的决策方法。步骤建立层次结构模型​ 将决策的目标、考虑的因素(决策准则)和决策方案,按它们之间的相互关系分为最高层

2022-02-13 11:14:35 2196

原创 最后一周——数模美赛赛前准备总结

文章目录前言重要时间点关于组队一些重要规则写作选题软件准备绘图工具数据来源准备资料下载后续前言​ 博主近期也在准备数模美赛,寒假在家的效率懂得都懂,但是还剩最后一周了xdm!虽然本人也并不是很擅长数学建模,之前只有拿过一次省一的经历,但还是想在这里为大家梳理总结一下有关准备美赛的一些东西。重要时间点​ 由于比赛的时间很短,可谓是分秒必争,所以提前了解清楚时间点是非常有必要的。2022年比赛的日期和时间:报名截止时间:北京时间2022年2月18日星期五凌晨4:00之前。开始时间:北京时间202

2022-02-13 11:08:54 1456

原创 抠图应用程序设计(三)——QT用户界面的实现

简介​ 本设计的GUI其实是由一个用户界面demo开发而成,主要由弹窗以及主界面组成。弹窗主要用于提示用户操作,为用户提供选择;主界面用于交互功能的实现。外观设计​ 外观设计部分大部分在Qt Designer上完成。将所需控件按照方案论证中的布局图拖动至预设位置,并根据对应的功能对其合适的命名以方便后续程序的编写。接着选择合适的Layout类型控制各控件的布局,如在按键较密集的功能选择区采用网格布局,使其中的按钮整齐排列。接着在合适的位置添加Spacer控件,这个控件可以控制各控件间的距离以达到窗口缩

2022-02-08 10:27:21 1093

原创 抠图应用程序设计(二)——磁性套索工具Livewire算法的实现

简介​ LiveWire是一种图像分割技术,允许用户使用相对少的鼠标点击次数快速准确地选择感兴趣区域,其实现过程可分为以下两个部分:使用滤波算法过滤并转换成灰度使用Dijkstra算法应用到修改后的图像,从用户分别点击的两个点中找寻出最佳路径​ 在 LiveWire 算法中, 待分割二维图像被视作有向加权图 G, 像素被视为 G 中的节 点, 连接相邻节点的视为边。由此可以定义代价函数作为边的权值, 即:Cost(p,q)=ωCfc(p)+ωLoG fLoG (p)+ωGf

2022-02-08 10:25:09 1872

原创 抠图应用程序设计(一)——GrabCut算法的实现

简介​ GrabCut是一种基于Graph Cut的图像分割算法,从待分割的对象周围用户指定的边界框开始,使用高斯混合模型估计目标对象和背景的颜色分布。在像素标签上构造马尔可夫随机场,其能量函数优先选择具有相同标签的连接区域,并不断优化迭代求取最优解,GrabCut的用户操作和效果如下:Graph Cut算法​ Graph Cut算法是一种能量优化算法,广泛应用于计算机视觉领域中的前背景分割、立体视觉、抠图技术等。该方法把图像分割问题和图的最小化分割问题关联起来,通过计算对无向图的分割完成图像分割操

2022-02-08 10:22:03 3521

原创 5-DOF机械臂课程设计(二)之视觉引导

文章目录相机内参标定手眼标定视觉引导源码下载后续相机内参标定将世界坐标系固定在棋盘上,则棋盘格上的任一点的物理坐标W=0,标定板上的每一个格子大小固定,可以得到每个角点在世界坐标系下的物理坐标 (U, V, W = 0) 。通过这些坐标利用最小二乘法计算出内参矩阵和外参矩阵的积,再依次计算出内参矩阵和外参矩阵。已知矩阵 H=A(R1R2T)H=A\left(\begin{array}{lll}R 1 & R 2 & T\end{array}\right)H=A(R1​R2​T​), 利

2022-02-07 10:06:30 2357

原创 5-DOF机械臂课程设计(一)之正逆运动学

文章目录基本要求基本概念关节坐标系的建立正运动学求解DH参数表的建立逆运动学求解多解下解的选取源码下载后续基本要求​ 开发上位机程序,要求有良好的界面,能提供关节空间下和笛卡尔坐 标下表示的目标位姿点和中间若干经过点的输入功能,进行轨迹规划, 并控制机械臂沿轨迹运动,最终完成目标抓取的任务。基本概念连杆长度 :2个相邻关节轴线之间的距离连杆扭角 :2个相邻关节轴线之间的角度连杆偏距 :2个关节坐标系的X轴之间的距离关节角度 :关节变量 计算时需要加初始角度偏移关节坐标系的建立​ 根据《机

2022-02-07 10:01:13 3643 2

原创 餐饮外卖销售系统数据库设计

简介​ 对于人工数据管理系统,存在许多的弊端,手工录入、耗费人力、工作繁琐,准确性也无法保证,并且相当耗费时间,对于数据量巨大的餐饮外卖销售系统来说,人工数据管理系统已经无法满足其需求。本次设计的餐饮外卖销售系统通过C#作为前端,SQL Server2019作为后端进行连接,并具有典型的数据库应用系统的特征,完成了系统结构与现实生活的紧密结合。概念模型设计​ 根据以上的需求分析和功能划分,经过分析和总结,提炼出用以描述用户业务需求的概念。逻辑模型设计​ 将概念模型具体化,实现概念模型中所描述的东

2022-02-06 11:19:23 83593 5

原创 3D游戏物理开发引擎Panda3D基础

文章目录Panda3D场景安排模型加载渲染属性任务任务链事件处理主循环视角相机阴影环境灯方向灯控制key-eventsDirectGui碰撞检测后续Panda3D场景安排​ Panda3D将其对象存储在场景图中,从本质上讲,这是一个对象的层次结构,称为节点。​ 给定节点的状态(位置与旋转等状态)与其父级的状态是相对的,例如”0“的表示值表示与其父级位于同一位置。因此,每个节点都会影响其儿童节点及其子女,依次影响儿童节点。​ 但通常情况下我们不直接操作节点,而是操作”NodePath“,"NodeP

2022-02-06 11:12:46 3626

原创 基于时频变换的脑波信号(EEG)处理方法

离散傅里叶变换(DFT)​ 在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离 散周期信号的主值序列。即使对有限长的离散信号作DFT,也应当将其看作其周期延拓的变换。在 实际应用中通常采用快速傅里叶变换计算DFT 。​ 对于N点序列 x[n]0≤n≤Nx[n]_{0 \leq n \leq N}x[n]0≤n≤N​, 它的离散傅立叶变换为 (DFT)(\mathrm{DFT})(DFT) 为:X[k]=∑n=0N−1e−j2πNnkx[n]X[k]=\sum_{n

2022-02-05 10:54:56 1320

原创 致初学者的深度学习入门系列(五)—— 深度学习图像分割篇

Deep Learning In Image Segmentation简介​ 图像分割是指根据灰度、色彩、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些区域在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同。图像分割可以认为是按照像素进行分类的问题。传统分割方法基于阈值的分割方法​ 阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值作比较,最后将像素根据比较结果分到合适的类别中。因此,该方法最为关键的一步就是按照某个

2022-02-04 11:16:39 7029

原创 致初学者的深度学习入门系列(四)—— 深度学习目标检测篇(下)

SSD(Single Shot MultiBox Detector )​ 由于当网络逐渐深层时,感受野也逐渐越来越大。如果通过最终的feature maps进行区域生长,随着感受野增大对于小目标的检测效果也不理想。于是SSD诞生,其带来了一种新的想法:那如果是针对卷积过程中间的feature maps都进行区域生长呢?​ SSD以VGG-16作为BackBone,并对其进行了一些修改:分别将VGG16的全连接层FC6和FC7转换成 3x3 的卷积层 Conv6和 1x1 的卷积层Conv7去掉所有

2022-02-04 11:15:07 1556

原创 致初学者的深度学习入门系列(三)—— 深度学习目标检测篇(上)

目标定位​ 在softmax层中不仅仅只输出分类信息,还可以输出目标的外接矩形框的角点和长宽,这样就可以转化为一个逻辑回归的问题。只要在训练集上对相应信息进行标注,以及定义合适的损失函数,就可以通过实现对目标的定位。目标检测滑动窗口法​ 首先设定固定大小的窗口,以固定步长遍历图像,每次都将窗口内的图像传入分类网络进行分类,以达到对目标的检测效果。但是,步长的选择无法适应不同情况。过大的步长计算成本低,但检测的精确度下降,无法很好的框选目标;过小的步长又会导致传入网络的窗口数量过多,计算成本巨大。

2022-02-03 11:59:19 1452

原创 致初学者的深度学习入门系列(二)—— 卷积神经网络CNN基础

卷积神经网络CNN文章目录卷积神经网络CNN卷积PaddingPoolingFlatten网络连接数以及参数数量的计算残差网络(ResNet)1x1卷积迁移学习数据扩充卷积​ 卷积运算的过程就是设定一个特定大小和内容的卷积核后,将卷积核在图像上遍历滑动,每次滑动后得到对应卷积核中心位置上的数值等于卷积核上的权重于卷积核对应位置的图像像素值的乘积和。​ 作用:提取特征​ 提取垂直边缘特征的示例:输入层的维度决定了提取原始特征的数量。常见卷积核Padding​ 由于卷积的特性,没经过一次卷

2022-01-28 12:17:58 306

原创 致初学者的深度学习入门系列(一)—— 简单神经网络基础

简单神经网络基础文章目录简单神经网络基础1. 基本符号与运算2. 激活函数3.随机权重初始化4. 运算过程5. 前向传播和反向传播6. 参数和超参数7. 方差和偏差8. 正则化9. 归一化输入特征10. 梯度检验11. 优化算法12. 学习率衰减13. Batch Normalization(BN)算法14. Softmax激活函数15. 单一数字评估指标后续1. 基本符号与运算x:输入向量w:权重b:偏置g():激活函数a:输出向量y:输出结果KaTeX parse error: No

2022-01-28 12:11:56 263

原创 关于搭建一个标准代码仓库的一些tips

关于搭建一个标准代码仓库的一些tips​ 所谓大学,就是大不了自己学。自从大一开始接触编程,所有的c++、python以及开发技巧都是自己零零碎碎拼凑而来的知识,就这样一直跌跌撞撞走到大三。现在希望将所学到的一些关于建立标准代码仓库的tips记录下来,希望能够帮助到更多的初学者。文章目录关于搭建一个标准代码仓库的一些tipsREADME.mdTable of ContentsInstallUsageMaintainersContributingLicenseLICENSE.clang-formatDox

2022-01-27 13:07:17 538 1

原创 ROS pluginlib 加载插件链接Cpp Class

ROS pluginlib 加载插件链接Cpp Class一、简介​ ROS中的插件(plugin)就是可以动态加载的扩展功能类,在ROS框架中,加载和卸载插件通过pluginlib功能包实现,开发者在使用插件的时候不需要考虑其链接位置,只需要直接注册到pluginlib中。​ pluginlib是一个C++库,可以实现为一个ROS包动态的加载和卸载插件。这里的插件通常是一些功能类,且以运行时可动态加载的库(如共享对象,动态链接库)的形式存在。使用插件来扩展或者修改应用程序的功能非常方便,不用改动源码

2022-01-23 22:46:03 310

原创 Ubuntu系统实时内核编译教程

Ubuntu系统实时内核编译教程文章目录Ubuntu系统实时内核编译教程一、简介二、下载内核源码加入补丁三、内核配置四、编译内核五、安装内核六、测试实时性一、简介RTOS​ RTOS(实时性操作系统),指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效。​ 根据实际应用,可以选择采用硬实时操作系统或软实时操作系统。硬实时系统指系统要有确保的最坏情况下的服务时间,即对于事件的响应时间的截止期限是无论如何都必须得到满足。软实时系统就是那

2022-01-19 15:59:09 5592 1

原创 ROS-Melodic 编译Moveit全过程记录和错误解决方案

ROS-Melodic 编译Moveit全过程记录和错误解决方案在Ros Melodic版本下,直接运行sudo apt-get install ros-melodic-moveit会出现以下错误: 下列软件包有未满足的依赖关系: ros-melodic-moveit-full : 依赖:xxxxx 但是它将不会被安装 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。正确的安装方法是先从源码编译解决环境冲突问题,具体步骤如下:1. 准备工作更新

2022-01-10 17:27:02 4188 1

原创 单目相机位姿求解之PNP算法原理剖析与实践

  对于视觉里程计中,相机位姿的求解问题极为常见。对于双目相机,由于其可以直接计算出深度信息,所以在相机位姿求解上十分容易。但如果我们使用的是单目相机,如何从二维图像中求解出相机相对三维物体的位姿就需要一定的算法来完成。本文章将介绍用于计算单目相机位姿求解的PNP算法原理以及应用。坐标系转换  在介绍PNP算法之前,我们有必要先了解一下四种坐标系之间的转换关系。这四种坐标系分别是世界坐标系——相机坐标系——图像坐标系——像素坐标系。1.世界坐标系到相机坐标系  设某点在世界坐标系的坐标为Pw=(Xw

2021-08-27 15:05:31 8042 3

原创 关于深度学习实时检测的三种方法(三)——Opencv DNN加载ONNX模型

简介  随着研究的逐渐深入,我了解到pytorch训练模型再用libtorch加载实际上是一种很绕弯的方法,它的确能够满足我们的需求,但也许不是最好的一种方法。如今比较通用的模型格式是ONNX模型,所以我就在想能否使用这种通用的模型来解决问题呢?  远在天边,近在眼前,没想到OpenCV自己就有DNN模块能够直接加载,我们要做的只需要将pytorch训练出的pth模型转成ONNX模型即可。本文章将介绍如何实现将pytorch训练处的模型转成ONNX模型并用DNN加载预测。pth模型转ONNX  上一

2021-08-27 15:00:31 4944 3

原创 关于深度学习实时检测的三种方法(二)——pytorch训练模型后再使用libtorch加载

  上一篇文章我曾经提到过,libtorch在进行图像实时检测中性能并不突出,很多时候无法满足我们的需求,后来我在想能不能现在pytorch上训练模型,只将libtorch作为一个加载模型的工具呢?经过尝试我发现这种方法是可行的,并且无论是在运行时间上还是在预测的准确率上都要优于前者,本文章将介绍如何在pytorch上训练模型并用libtorch进行加载预测。pytorch安装  pytorch官方为我们提供了非常方便的安装渠道,在官网上选择适配自己电脑的选项后用官方给出的命令行下载即可,如下图:验

2021-08-27 14:55:31 1049 5

脑波控制的3D念力飞车游戏(可PS手柄控制或键鼠控制、含角色选择、背景音乐)

别问为什么贵,问就是值这个价! 脑波控制的3D念力飞车游戏,python语言开发,基于Panda3D引擎实现。可通过usb接入PS手柄、脑波检测仪控制(不接入也可以玩)。有三种角色可以选择,包括跑车、高达和熊猫,地图为一条F1赛车道。包含详细的说明文档教你配置环境,并且一键即可运行。 GTA视频音乐致敬,帅到惊呆你。主播花了三个月呕心沥血打造的3D单机游戏,老师看完直接傻眼,并且拿去学院的人工智能未来实验室立项,特地拍了宣传视频。代码简要、逻辑清晰、注释详细,小白也可轻松上手,仅供参考学习,请勿作商用

2023-03-28

基于opencv的相机手眼标定程序(一键运行十秒完成标定).rar

基于opencv的相机手眼标定程序,采用C++进行开发,设置好参数一键运行即可完成手眼标定,可用于机械臂开发中状态转移矩阵的标定。博主大学做机器人课设时候写的程序,高精度且易用,最终课设获得满分。代码简要、逻辑清晰、注释详细。

2023-03-28

基于opencv的相机内参标定程序(一键运行十秒完成标定).rar

基于opencv的相机内参标定程序,跨平台皆可用。根据张正友棋盘标定法自己写的标定程序,包含参数说明,根据自己的需求设置参数运行程序,一键即可十秒完成标定。

2023-03-28

基于C#的串口助手上位机(包含数据收发、波形显示、百度地图轨迹显示、切换风格壁纸)

基于C#开发的多功能串口助手上位机,包含数据收发、波形显示、百度地图轨迹显示、切换风格壁纸等功能,可配合串口、GPS模块、陀螺仪模块、地磁计等外设。使用VS 2019开发,打开根据自己需求即可修改并生成自己的软件。代码简明、逻辑清晰、注释详细。博主参加学院人工智能大赛写的,拿了全院第一名,初学者可以看看,有很大帮助,也可以参考学习,写自己的软件界面。

2023-03-28

SVM支持向量机逻辑代码实现

博主手撸的SVM 支持向量机 逻辑实现代码,985高校 机器学习课程满分大作业。如果你还只是看着老师的ppt和课本里学习SVM,很难理解其中的具体实现细节。这份代码逻辑清晰,包含测试案例,能够有效帮助初学者学习支持向量机。

2023-03-28

基于opencv像素点匹配的数字识别.rar

基于opencv像素点匹配的数字识别,适合刚入门学习OpenCV的小白,使用了很多opencv的常用api,完成的简单案例,可帮助初学者快速掌握opencv

2023-03-27

Git管理代码仓库手把手教程.rar

Git代码版本管理工具手把手案例教程,沉浸式案例教学,跟着教程一步步做,半小时快速掌握git常用功能。博主985人工智能专业本硕,初创互联网公司创始人,大学期间熟练掌握各种编程工具和技巧,曾获得数十项国际级、国家级科技竞赛奖项。此课程为博主花费大量精力为学生打造的Git课程。 Git是计算机、软件等工科大学生的必备技能,熟练掌握Git对以后找工作很有帮助,强烈建议每个计算机大学生都学会。

2023-03-27

手写数字识别数据集分类

模式识别高分课设,使用Matlab搭建神经网络和KNN分类,实现对手写数字数据集的分类,并且进行特征提取和参数对比分析,还包含对比效果图和代码流程图,可直接用在报告中。

2022-07-25

Wine红酒数据集分类

模式识别高分课设,使用Matlab搭建神经网络和KNN分类,实现对Wine红酒数据集的分类,并且进行参数对比分析,还包含对比效果图和代码流程图,可直接用在报告中。

2022-07-25

人工智能课设——鸢尾花数据集分类

人工智能高分课设,使用Matlab自行构建神经网络结构,实现对鸢尾花数据集的分类,并且进行参数对比分析,还包含对比效果图和代码流程图,可直接用在报告中。

2022-07-25

多功能视觉引导5-DOF机械臂实现.rar

基于pyqt和OpenGL的机械臂控制上位机,实现仿真与调试同步一体化,完成正逆运动学控制、路径规划、视觉引导、视觉跟踪、数字识别自动完成方块计算题、键鼠控制等功能,《机器人学导论》满分课设,仅供读者参考,勿用作商用。

2022-02-07

基于opencv和qt的多功能抠图应用.rar

基于opencv和qt c++开发的多功能抠图应用,分别实现了GrabCut抠图,结合yolo v5自动识别人像抠图,LiveWire算法磁性抠图,分水岭抠图四种不同形式的抠图功能,并且使用QSS美化界面,团队耗时一个月巨作,《数字图像处理》课设满分作品,老师看了直呼牛逼。使用Visual Studio可以直接打开运行,可供参考使用。

2022-02-05

餐饮外卖销售系统数据库设计.rar

基于C#和sql server 2019开发的外卖销售系统数据库系统,包括商家,客户,骑手三种用户界面和注册界面,采用扁平化设计,界面设计达到商业软件级别。数据库课设满分作品,可用于高校数据库课设参考,代码易懂,注释详细,配置好环境后可直接用visual studio打开并运行。

2022-02-05

基于pyqt的脑波信号处理专注度提取

基于pyqt的脑波信号处理专注度提取,根据TGAM模块获取的脑波原始数据,通过小波包变换和时频变换计算出专注度,各种中间量和结果均有可视化显示。

2022-02-05

机器学习算法封装实现.rar

自己封装的多种机器学习算法库,基于python实现。包括线性回归、KNN算法、梯度下降、主成分分析、多项式回归等

2021-08-18

多功能智能手环工程源码.rar

基于stm32F1单片机实现的智能手环工程源码,代码结构层次分明,上层和底层分开,各个驱动均有封装,风格简洁有注释。使用模块:OLED、QMC5883L、MPU6050、GPS定位模块、LED等。功能包括:开机动画、显示时间、心率检测、指南针(图形化)、GPS定位、两款游戏、闹钟设置等等

2021-08-18

学生信息管理系统.rar

学校的C++课设,基于C++面向对象实现的学生信息管理系统,最终成绩为A+。功能完善,代码风格简洁有注释,支持多种信息搜索查询,各项信息罗列,修改信息后自动更新

2021-08-18

经典排序算法封装库.rar

自己封装好的排序算法库,直接调用头文件即可使用

2021-08-18

多功能上位机工程及源码.rar

基于C#开发的多功能上位机,可以实现串口收发,数据波形曲线绘制,根据特定格式的GPS数据(源码有格式说明)调用百度地图API在上位机上显示坐标以及路线绘制,还可以切换不同风格的壁纸(可自己修改添加)

2021-08-18

基于粒子滤波的滑动窗口运动物体检测.rar

基于粒子滤波和滑动窗口实现的运动目标检测,目标ROI区域可通过鼠标选择,也可自己修改定义

2021-08-18

software.rar

制作Ubuntu启动盘使用的分区助手以及rufus镜像烧录软件

2021-08-10

智能五子棋程序.rar

用C++编写的智能五子棋程序,里面对五子棋的各种情况用算法进行计算,可以实现对各种局势的预测,达到了一个较高的水平,有胆量的话过来与他一战吧!

2020-03-19

stm32平衡小车.zip

包含两个工程,一个是买车的时候商家送的,一个是自己花一个月写出来了,既能帮助初学者入门,又适合进阶,代码均有详细注释

2020-03-12

opencv数字识别

基于Opencv的简单数字识别,适用于初学者入门,有助于开拓初学者的思维,帮助其更好地入门,代码详细,有很多注释,简单易懂,可直接运行!

2020-02-09

opencv数字识别.cpp

基于Opencv的简单数字识别,适用于初学者入门,有助于开拓初学者的思维,帮助其更好地入门,代码详细,有很多注释,简单易懂!

2020-02-09

空空如也

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

TA关注的人

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