自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不学会C++不改名

点云处理机器视觉才疏学浅,花鸟鱼虫吃喝玩乐样样精通

  • 博客(132)
  • 资源 (6)
  • 收藏
  • 关注

原创 四元数学习笔记(二):对偶四元数

在学习了前向文章初识四元数后,我们不难发现四元数只能用于表示旋转变换,而在实际应用中,我们不仅需要表示旋转,还需要表示位移。因此,本文将介绍何为对偶数,什么又是对偶四元数,以及对偶四元数的基本运算与相关性质。

2023-01-28 11:08:50 2632 2

原创 四元数学习笔记(一):初识四元数

关于四元数,你想知道的一切都在这!本文将从四元数的定义与重要性入手,介绍四元数的相关运算规则(基础运算与高阶运算),四元数的应用(四元数表示旋转,四元数与其他旋转表示的相互转换),以及四元数的特殊性质(旋转复合与双倍覆盖)。

2023-01-28 10:59:11 1585

原创 Ceres学习笔记004--使用Ceres进行2D圆拟合

本文将按照官方历程介绍,如何使用Ceres进行2D圆拟合

2022-11-02 11:15:11 791

原创 Ceres学习笔记003--使用Ceres进行曲线拟合

使用Ceres进行曲线拟合例程

2022-11-02 11:09:22 1252

原创 Ceres学习笔记002--使用Ceres求解Powell方程

本文将介绍如何使用Ceres构建最小二乘问题求解Powell方程

2022-11-02 10:54:53 364

原创 Ceres学习笔记001--初识Ceres

​ Ceres Solver 是由 Google 开发的开源 C++ 库,用于解决具有边界约束和一般无约束的非线性最小二乘鲁棒优化问题。

2022-11-02 10:48:46 1237

原创 遗传算法(二)-- 编写遗传算法

下面会介绍编写遗传算法的整体流程(附代码与代码解读),同时会提出一些小问题,对于这些问题我自己给出的解答会在文章最后,也只是自己的一点思考。欢迎大家一起讨论( •̀ ω •́ )✧

2022-04-18 11:21:48 4596 3

原创 遗传算法(一)-- 什么是遗传算法

遗传算法(Genetic Algorithm,GA)起源于对生物系统所进行的计算机模拟研究。它是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,借鉴了达尔文的进化论和孟德尔的遗传学说。本质上是一种高效、并行、全局搜索的方法,能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地搜索过程以求得最佳解。

2022-04-18 09:18:42 3901

原创 3D仿真学习笔记(七)-- 五轴精密数控机床坐标系设定

上图为一五轴精密数控机床结构示意图。轴、轴相互连接固定在Y轴拖板上,、轴拖板相互垂直,工件安装在 轴上,传感器安装在主轴上。下图为精密数控机床拓扑结构。1 五轴精密数控机床坐标系设定建立机床坐标系,基于多体理论推导机床误差综合数学模型,为计算传感器和工件之间的误差和为精密数控机床建模方便,所有机床坐标系都采用右手笛卡尔坐标系。五轴精密数控机床分为两条运动链: 工件链:在床身上建立参考坐标系 0;在轴拖板上建立坐标系 1 为低序体 ...

2022-02-07 09:11:22 3956

原创 3D仿真学习笔记(六)-- 机床误差综合建模的步骤与意义

1 建模步骤依据齐次坐标变换、多体系统理论构建机床误差综合模型主要包括以下几个步骤。1)首先要明确机床的自身特征和研究重点内容,将数控机床整体抽象成一个多体系统。2)其次,明确拓扑关系并且借助低序体阵列对机床进行多体系统的描述与研究。从运动学角度可以视误差为运动,对各种误差元及其关系进行系统分析与研究,并建立其特征矩阵。3)最后明确理想运动状态、实际运动状态下相邻典型体之间矩阵关系,确立坐标系并进行误差综合模型的构建与分析。...

2022-01-13 15:10:29 1315

原创 3D仿真学习笔记(五)-- 机床误差建模方法

假定系统空间中存在某一点,其在广义坐标系 中用 来表示,其在惯性坐标系 中的位置则可以用下面的方式来表达:上式中表示的是典型体和参考体系的相对阶数,表示的在实际运动中相邻典型体的位置齐次变换矩阵,可以从表达式 1.22 中获得,表示的是低序体算子。 假定在系统空间中存在某一矢量,其在中用来表示,则对应的齐次坐标可以用以下的形式来反映: 式中表示在对应的轴、轴和轴上的投影,而在...

2022-01-13 11:24:45 2614

原创 3D仿真学习笔记(四)-- 相邻典型体间实际运动的运动学描述

运动过程中的最终姿态可由依据上图表示的运动过程获得,过程如下所示: 1)典型体 相对于低序体 安装时的实际初始位姿估算:第一步通过矢量给一个初始理想固定位姿,第二步再给融入得到相对的实际初始位姿; 2)典型体在低序体上的相对运动:第一步在的实际初始位姿上设置,最终明确误差运动,最后得到的最终位姿。 相邻典型体之间实际运动齐次变换矩阵可以由以下表达式来表示: ...

2022-01-12 10:02:10 1790

原创 3D仿真学习笔记(三)-- 相邻典型体间的误差齐次变换矩阵

当 沿其低序体的方向平移后,的方向上会产生 6 项误差:定位误差,直线度误差,滚转角误差,俯仰角误差,偏转角误差。将以上的 6 项误差带入相邻典型体位置变换矩阵,可得沿着的轴方向平动时的位置误差变换矩阵: 通常,因角误差 数值较小,则满足和的基本条件,同时将高阶无穷小忽略,可以获得以下表达式: 分别在 1.17 表达式中将滚转角误差、俯仰角误差和偏摆角误差代入,经过表达式的简化之后可以获得...

2022-01-12 08:49:56 2398 4

原创 3D仿真学习笔记(二)-- 相邻典型体间的运动学误差分析

本文中用符号 表示移动误差(定位误差、直线度误差),误差方向用下标字母 表示,运动方向用下标字母 表示,误差种类用字母 ( 表示几何误差, 表示热误差, 表示力变形误差)等表示。同理用符号 表示转角误差。(1)移动副误差运动学分析 如下图所示,实际情况下,当典型体沿着其低序体(如拖板在某一导轨上运动)的方向平移一定距离时,会在典型体对应的方向上出现定位偏差,而在方向上则会出现水平直线度偏差,在方向上出现竖直直线度误差,滚转角误差,偏摆角误差...

2022-01-10 17:06:20 836

原创 3D仿真学习笔记(一)-- 多体系统数理基础

1 低序体阵列描述法多体系统中典型体 的 阶低序体的序号定义为:低序体算子用 表示,满足条件:补充以下定义: 特别的,当体和体为两相邻低序体时,有: 任一多体系统拓扑图如下图所示,字母表示惯性参考系并设为体,选的靠近体为,然后沿到的方向按自然增长数列为各体从一个分支到另一个分支进行编号。下图所示的多体系统的低序体阵列通过式 (1.1) ~ (1.5) 就可以...

2022-01-07 16:12:35 1554 2

原创 标定学习笔记(十)-- 一种使用校正模板的非线性相机标定方法

通过使用图像特征,如直线等几何不变性,并基于场景中的直线经过透视投影变换后所成的图像仍是直线的事实实现畸变校正;与通过不同视角拍摄的多幅图像之间的点的对应关系来求取镜头畸变参数。由于非可量测标定或自标定方法从本质上来讲都是基于绝对二次曲线或绝对二次曲面的方法,其最大的不足是其鲁棒性差,一般都要通过求解复杂的非线性方程来计算摄像机的内参数,从而导致运算速度和结果的精度都不理想。 可量测的非线性摄像机镜头畸变校正方法(下简称为RMC方法),可以被看成是分为两个过程:畸变模板校正...

2021-12-30 16:36:41 2634 2

原创 标定学习笔记(九)-- 利用空间正交约束的相机自标定和三维重建

文章提出了一种用 2 幅存在正交约束的场景图像进行三维重建的方法,该方法不需要事先标定相机的参数,就可以实现从 2 幅手持数码相机拍摄的人造规则景物图像中恢复三维结构。1 空间正交约束的消失成像 同一平面中相互平行和垂直的直线构成了线状纹理表面,当相机在不同角度拍摄时,纹理梯度方向将发生变换,但可以根据其消失点位置信息来恢复纹理表面朝向。图 1 所示的平面纹理和立体结构经透视成像后分别在图像上得到 2 个和 3 个消失点。1.1 相机空间映射变换 ...

2021-12-28 09:21:40 824

原创 标定学习笔记(八)-- 基于单幅图像的完全标定

其中,表示一个 3X4 的投影矩阵;是相机的外参旋转矩阵,是相机的外参位移矩阵;表示相机的内参矩阵,由相机本身的属性确定;为非零尺度因子。 一般相机的内参矩阵可以表示为如下一个 3X3 矩阵: 其中,和为相机在和方向上的焦距;和是光心的坐标,需要标定的内参矩阵拥有 4 个自由度。在某...

2021-12-23 08:29:23 1578

原创 标定学习笔记(七)-- 手眼标定转换关系再梳理

1 手眼标定的目的 简单来说,手眼标定的目的就是让机械手能精准定位到图像上的点。所需要建立的关系其实就是从机械手坐标系到像素坐标系的转换关系,可以记为: 我们知道,机械手可以被视为两部分:机械手基座(base)与机械手末端夹具(tool)(在这里我们不去考虑其中各个关节各自所带来的影响)。而像素坐标系又可以通过张正友标定法将其与相机坐标系(cam)相关联。至此,我们可以将上面看似抽象的问题进一步细化为:解决机械手基座坐标系到相机坐标系的转换关系,即: ...

2021-12-08 10:30:57 4268

原创 标定学习笔记(六)-- Halcon手眼标定例程:Hand-eye-Calibration with a stationary cam

1 问题概述 本例程演示了如何对一个 Eye-to-Hand 问题进行手眼标定,即相机与机器人基座是固定不动的,用于进行标定的标定板则固定于机械手末端的夹具上。 在本例程中,手眼标定的目的是为了解出两个未知量: 1)机器人基座在相机坐标系下的位姿:BaseInCamPose。 2)标定物在夹具坐标系下的位姿:ToolInBasePose。 理论上,需要至少三个机器人基座在相机坐标系下的位姿以及至少三个标定物在夹具坐标...

2021-12-07 15:36:10 6953 3

原创 标定学习笔记(五)-- Halcon手眼标定例程:Hand-eye-Calibration with a moving cam

1 问题概述 本例程演示了在Eye-in-Hand的情况下,当标定板与机器人基准位置保持不变应该如何进行手眼标定。机器人通过标定板来进行手眼标定。在这样的情况下,手眼标定的目的是确定两个未知量: 1)在标定板坐标系下机器人基座的位姿(CalObjInBasePose) 2)在机器人末端工具中心点坐标系下相机的位姿(ToolInCamPose) 从理论上来说,至少需要获取在相机坐标系下的标定物的三个位姿。但实际上,却至少需要使用十个位姿...

2021-12-06 16:31:26 8744 7

原创 标定学习笔记(四)-- 手眼标定详解

本文主要介绍了机器人手眼标定的相关原理与思路,介绍了两种不同安装条件下如何通过同组固定点进行手眼标定,及通过解决 问题进行手眼标定,最后给出了手眼标定的相关评价方式。文章重在进行标定过程的梳理以及相关公式的推导,主要目的还是为了厘清什么是手眼标定,以及如何进行手眼标定。

2021-12-03 16:12:41 27175 17

原创 机器视觉学习笔记(七)-- 图像分割

在前述章节中,我们已经看到了将一幅图像变换为另一幅图像的操作。这些操作不能为我们提供图像中所包含物体的信息。为得到图像中的物体信息,我们必须进行图像分割,即提取图像中与感兴趣物体相对应的那些区域。描述的更正式些,分割操作以一幅图像作为输入而返回一个或多个区域或亚像素轮廓作为输出。3.4.1 阈值分割 最简单的分割算法是图像的阈值分割。阈值分割操作被定义为: 因此,阈值分割将图像ROI R内灰度值处于某一指定灰度值范围内全部点选到输出区域S中。如果...

2021-12-02 09:15:41 5109

原创 机器视觉学习笔记(六)-- 几何变换

在许多应用中,并不能保证被测物在图像中总是处于同样的位置和方向。所以,检测算法必须能过应对这种位置的变换。因此,首先要解决的问题就是检测出被测物的位置和方向,即被测物的位姿,我们假设此时被测物的位姿已知。此时,调整物体到检测所需位姿的最简单的方法就是对ROI的位姿进行适当的调整。 例如,如果我们知道一个物体被旋转了45°,那么在进行对物体的检测前,我们只需将ROI也旋转45°即可。但在一些情况下,图像必须先被变换(对准)得到一个标准位姿,然后进行检测。3.3.1 仿射...

2021-11-30 10:40:59 1972

原创 机器视觉学习笔记(五)-- 图像增强

尽管我们尽力来选择最佳的硬件配置,但是有时图像还是不够好,本节我们将介绍几种通用的图像增强技术。3.2.1 灰度值变换 除控制照明光源外,某些情况下通过算法调整图像的灰度值是必要的。调整图像灰度值的一个原因是由于图像对比度太弱,通过对照明光源的调整,这个问题通常只会局部发生,所以,我们也许只需增强局部的对比度。调整灰度值的另一个原因是图像的对比度或亮度同系统设定时已经发生了变化。比如在工作一段时间后由于光源的老化而造成图像对比度变弱。 灰度变换可被视...

2021-11-29 09:51:01 1876

原创 标定学习笔记(三)-- 利用OpenCV实现张正友标定法

根据之前所总结的张正友标定方法的相关知识点,以及一些已有程序,利用OpenCV实现一下整体的标定过程,所用的资源我会进行上传。 资源连接:Zhang'sCameraCalibration.zip-图像处理文档类资源-CSDN文库1 准备数据集 根据张正友论文中所述,需要准备n幅具有m个角点的棋盘格图像,当n的个数大于3时,就可以解出相机的内参与外参,在这里准备了14幅棋盘格图像用于进行相机标定: 下面开始分析代码流程。2 ...

2021-11-25 11:17:05 2133

原创 标定学习笔记(二)-- 张正友论文学习笔记

这篇学习笔记主要用于记录在学习张正友的标定文献时的一些需要进行记录的要点,张正友的文章最初发表于1998年2月,在如今看来依旧具有进一步学习的意义,本文多以翻译与概述前人文献为主,提炼其标定过程的核心思想,若有不妥当的地方,欢迎斧正。摘要 张正友(下文谨记为 张)提出了一种灵活的标定技术,用于标定相机:这种标定方式只需要通过相机获得一个包含至少两个轴向的平面图象,并且无论是相机还是用于进行标定的平面都可以进行自由移动(这些移动可以是未知的),同时还模拟了径向畸变(Rad...

2021-11-20 14:35:38 3444

转载 标定学习笔记(一)-- 单目相机的标定

一、什么是相机标定? 任何传感器都存在一定的误差,从狭义上来说,标定就是去校正这部分的误差,让传感器尽量准确一点。 相机要进行标定的参数,跟相机实际的光圈、焦距大小有关,而这两个参数,在一般的工业相机中都是可调节的,所以需要我们针对实际情况进行标定。 常说的标定不光指纠正传感器的误差,当涉及到两个或者多个传感器的标定的时候,往往还包括计算出这些传感器间的相互位置关系。比如说在机器人系统中,我们经常需要在不同坐...

2021-11-17 17:05:24 4410 1

原创 机器视觉学习笔记(四)-- 数据结构

一、图像 很直观地,图像通道可以被简单看作是一个二维数组,这也是程序设计语言中表示图像时所使用的数据结构。因此,在像素(r,c)处的灰度值可以被解释为矩阵:中的一个元素。使用更正规的描述方式,我们能视某个宽度为高度为的图像通道为一个函数...

2021-11-05 09:52:37 492 2

原创 机器视觉学习笔记(三)-- 图像采集(镜头)

2.2 镜头 镜头是一种光学设备,用于聚集光线在摄像机内部成像。镜头的作用是产生锐利的图像,以得到被测物的细节。不同的镜头产生不同的成像几何,以及镜头的主要像差,像差会影响图像的质量,同时也会影响算法的相关精度。2.2.1 针孔摄像机 如果我们忽略光的波的特性,我们可以将光看作在同类介质中直线传播的光线。图2.17表示了针孔摄像机成像的模型。左端物体在右边像平面上成像。像平面相当于一个方盒子的一个面,在这个面的对面是针孔所在的面,针孔相当于投影的中心。针孔摄像机所...

2021-10-28 14:15:24 2286

原创 机器视觉学习笔记(二)-- 图像采集(照明)

2.1 照明 机器视觉中照明的目的是使被测物的重要特征显现,而抑制不需要的特征。为了达到这一目的,我们需要考虑光源与被测物间的相互作用。其中一个重要的因素就是光源和被测物的光谱组成。我们可以用单色光照射彩色物体以增强被测物相应特征的对比度。照明的角度可以用于增强某些特征。2.1.1 电磁辐射 如表2.1所示,光是一定波长范围内的电磁辐射。人眼可见的光称为可见光,其波长范围为380~780nm。波长比此短的光称作紫外光(UV)。更短的电磁辐射为X射线和伽马射线。波长...

2021-10-24 10:09:57 1614 2

原创 机器视觉学习笔记(一)-- 简介

一、机器视觉的应用领域 1)目标识别用来甄别不同的被测物体

2021-10-22 15:30:15 567

原创 测量系统分析方法(GR&R Correlations Bias)

1 测量系统的统计特性 测量系统的统计特性主要包括: 1)GR&R:Gauge Repeatability(precision精度)Reproducibility 测量重复性再现性 2)Correlations 相关性 3)Bias and Linearity 偏移和线性2.1 GR&R 1)重复性(Repeatability) (1)定义:重复性指同一个操作人员用同一种...

2021-10-22 14:25:09 17059 1

原创 空间线与空间平面之间的夹角关系

一、两条空间线之间的夹角 假设已知两条空间线段的起始点以及结束点,那么可以得到这两条空间线段的向量表述形式,可以记作和。 根据立体几何的相关知识可以得到: 如果和均为单位向量,则可得: 如果和并非单位向量,则还需计算和的模: 接下来只需要求反余切函数就可以求出两线之间的夹角大小,求出的夹角范围在0°到180°之间。二、空间直线与空间平面 假设已知空间线段的单位向量以及空间平面的...

2021-10-15 08:37:55 4761 2

原创 空间平面方程的三种表述方式

一、一般式 任意的空间平面都可以表示一般形式:二、点法式 假设,已知空间平面的法向量以及平面上的任意一点: 则该空间平面可以表述为:三、三点确定一个空间平面 假设,已知空间平面上的三个不共线的空间点 则该空间平面既可以用行列式的方式进行表示: 也可以转化为点法式的表示方式: 同时,根据平面上的任意一点得出该平面的点法式方程...

2021-10-13 14:32:30 12848

原创 最小二乘法与伪逆矩阵

一、简介 最小二乘法是一种数学优化技术。通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并是得这些求得的数据与实际数据之间误差的平方和最小。二、最小二乘法拟合直线的原理 1)假设存在n个坐标点,他们的坐标在笛卡尔坐标系下可以表示为: 最小二乘法拟合直线,就是要找到一条直线L,使得这n个点与直线L的距离残差平方和最小。 2)假设存在一条直线L1,采用斜截式(不可以描述与x轴垂直的直线)描述该直...

2021-09-22 16:51:31 6026

原创 PCL学习笔记(三十八)-- 点云分割概念

一、聚类分割算法 在聚类方法中,每个点都与一个特征向量相关联,特征向量又包含了若干个几何或者辐射度量值。然后,在特征空间中通过聚类的方法(如K-mean法、最大似然方法和模糊聚类法)分割点云数据。聚类分割的基本原理为:考察m个数据点,在m维空间内,定义点与点之间某种性质的亲疏聚类,设m个数据点组成n类,然后将具有最小距离的两类何为一类,并重新计算类与类之间的距离,迭代直到任意两类之间的距离大于指定的阈值,或者类的个数小于指定的数目,完成分割。二、基于随机采样一致性的分割 ...

2021-08-19 16:17:12 738

翻译 点云处理学习笔记(十)-- 3D触手可及:PCL

一、简介 对于在复杂环境下工作的机器人而言,它们需要能够感知这个世界。在过去的20年里,我们已经走过了很长的一段路:从声纳上的几个简单的距离传感器或是只能提供几个字节的环境信息的红外传感器,到深度相机与激光扫描器。在过去的几年间,诸如用于DARPA的城市挑战赛的Velodyne激光旋转雷达和用在PR2上的倾斜激光雷达,为我们提供了非常多高质量的三维环境信息描述--点云。不幸的是这些系统都太过昂贵,超出了许多机器人项目的预算。 但是,最近3D传感器的出现改变了这一局面。例如...

2021-08-18 16:54:15 1015

原创 PCL学习笔记(三十七)-- 点云配准

一、PCL中实现的配准算法及相关概念 1 一对点云配准 我们称一对点云数据集的配准问题为两两配准(pairwise registration)。通常通过应用一个估计得到的表示平移和旋转的4 x 4刚体变换矩阵来使一个点云数据集精确地与另一个点云数据集(目标数据集)进行完美配准。 具体实现步骤如下: 1)首先从两个数据集中按照同样的关键点选取标准,提取关键点。 2)对选择的所有关键点分别计算其特征描述子。 ...

2021-08-18 16:52:52 1686

原创 PCL学习笔记(三十六)-- 点云滤波

在获取点云数据时,由于设备精度、操作者经验、环境因素等带来的影响,以及电磁波衍射特性、被测物体表面性质变化和数据拼接配准过程的影响,点云数据中将不可避免地出现一些噪声点。 实际应用中,出来这些测量随机误差产生的噪声点之外,由于收到外界干扰如视线遮挡、障碍物等因素的影响,点云数据中往往存在着一些离主体点云(即被测物体点云)较远 的离散点,即离群点,不同的获取设备点云噪声结构也有不同,其他可以通过滤波重采样完成的工作,有空洞修复、信息损失最小海量点云数据压缩处理等。 ...

2021-08-18 14:26:00 631

Zhang'sCameraCalibration.zip

利用OpenCV实现张正友单目相机标定方法

2021-11-25

MeterAutoReader.py

利用YoloV3和OpenCV识别并读取指针式仪表

2021-08-08

基于OpenCV的指针式仪表自动读取算法.zip

里面有一些我觉得比较有参考价值的python程序,主要有模板匹配法,SIFT特征提取法等,可以用作学习参考

2021-07-30

point-cloud-processing-example-master.zip

PCL点云库资源

2021-07-27

PCL1.12.0.props

PCL1.12.0属性配置表

2021-07-27

空空如也

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

TA关注的人

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