![](https://img-blog.csdnimg.cn/direct/5913db180f8d4406b9544b660d673379.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
halcon3d PCL点云处理 深度学习 目标识别 分割
文章平均质量分 80
halcon可以处理深度图,也可以处理点云,在点云相关的应用中,实现点云生成,点云滤波,点仿射变换,点云体积计算,点云配准,表面匹配,点云识别,六轴机械手手眼 标定,无序抓取相关功能
黄晓魚
视觉工程师/编曲/建模/游戏设计
展开
-
【YOLOV8】4.图片分类-训练自己的数据集
Yolo8出来一段时间了,包含了目标检测、实例分割、人体姿态预测、旋转目标检测、图像分类等功能,所以想花点时间总结记录一下这几个功能的使用方法和自定义数据集需要注意的一些问题,本篇是第四篇,图像分类功能,自定义数据集的训练。YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的约瑟夫-雷德蒙(Joseph Redmon)和阿里-法哈迪(Ali Farhadi)开发。YOLO 于 2015 年推出,因其高速度和高精确度而迅速受到欢迎。原创 2024-06-07 14:48:16 · 65 阅读 · 0 评论 -
【YOLOV8】3.实例分割-训练自己的数据集
将model 权重文件的路径 修改为新训练好的权重文件的路径。原创 2024-06-07 09:18:58 · 157 阅读 · 0 评论 -
【YOLOV8】2.目标检测-训练自己的数据集
Yolo8出来一段时间了,包含了目标检测、实例分割、人体姿态预测、旋转目标检测、图像分类等功能,所以想花点时间总结记录一下这几个功能的使用方法和自定义数据集需要注意的一些问题,本篇是第二篇,目标检测功能,自定义数据集的训练。YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的约瑟夫-雷德蒙(Joseph Redmon)和阿里-法哈迪(Ali Farhadi)开发。YOLO 于 2015 年推出,因其高速度和高精确度而迅速受到欢迎。原创 2024-06-06 16:42:32 · 546 阅读 · 0 评论 -
【YOLOV8】1.开发环境搭建
(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的约瑟夫-雷德蒙(Joseph Redmon)和阿里-法哈迪(Ali Farhadi)开发。YOLO 于 2015 年推出,因其高速度和高精确度而迅速受到欢迎。2016 年发布的通过纳入批量归一化、锚框和维度集群改进了原始模型。2018 年推出的使用更高效的骨干网络、多锚和空间金字塔池进一步增强了模型的性能。于 2020 年发布,引入了 Mosaic 数据增强、新的无锚检测头和新的损失函数等创新技术。原创 2024-06-06 14:17:15 · 126 阅读 · 0 评论 -
【MMdetection】2.自定义数据训练
因为MMdetection里面提供了非常多的模型和配置文件供我们选择,这样做对比实验非常方便。官方文档在此。openMMlab提供了各种经典网络和配置文件系统使得MMdetection的上手难度有一点,不熟悉官方常规操作的小伙伴可能被各种各样的配置文件弄晕,这里总结网上一些优秀博主的博客和视频教程,完善了MMdetection的数据集训练过程,以mask rcnn为例,同理可以参考这个流程以使用其他的网络模型实现目标检测。原创 2024-06-05 16:08:25 · 272 阅读 · 0 评论 -
【MMdetection】1.开发环境搭建
核心模块安装完成之后需要安装mmdetection工具箱中常用模块才可以进行训练,依次安装下面的模块。搭建好环境之后,在pycharm的这个项目中设置编译器为我们刚才创建的这个虚拟环境。下面的我在别人博客上的截图,具体博客我找不到了,我这里就不写参考博客的链接了。anaconda目前是私人使用免费,企业使用收费。下载权重文件,这里权重文件需要和配置文件一一对应。激活环境后,开始在这个虚拟环境内安装所需要的包。一个是图片的路径,一个是权重文件的路径。使用上述代码测试推理功能。豆瓣(douban)原创 2024-06-05 11:39:56 · 157 阅读 · 0 评论 -
10.Halcon3D点云和MESH的相互转换
这个案例主要是想告诉我们,如何在点云数据(全是点)和MESH(网格数据)中转换,理论上说可以点云数据可以看作的离散的,而MESH网格数据可以看作是连续的。上图展示了三个(其实是四个)空间中的3d对象,左边第一个是一个立方体,经过降采样之后的点云,中间的是立方体四个角点的点云,右边的是基于四个角点的点云生成的MESH网格对象。整个案例就在告诉我们,点云和MESH网格数据是可以互转的。原创 2024-05-31 18:45:00 · 41 阅读 · 0 评论 -
9.Halcon3D点云力矩求解-平面拟合用法
二阶中心矩:在统计学和概率论中,中心矩是描述数据分布形态的统计量。在3D空间中,我们可以为每个维度(x, y, z)分别计算二阶中心矩。原创 2024-05-31 19:00:00 · 467 阅读 · 0 评论 -
8.Halcon3D点云连通域分析-点云聚类算法
点云聚类是一种将点云数据进行分组的技术,在三维扫描、计算机视觉和机器人领域中有广泛应用。点云数据由大量的离散点组成,表示了物体或场景的三维信息。点云聚类的目标是将这些离散的点分成不同的组,每个组代表一个物体或场景的一部分。点云聚类在计算机视觉、三维重建、机器人导航、自动驾驶等领域有广泛应用。例如,在三维场景重建中,通过对点云数据进行聚类分析,可以更有效地识别和分割不同的物体或场景部分。原创 2024-05-30 20:15:00 · 383 阅读 · 0 评论 -
7.Halcon3D点云截面分析-空间任意平面和点云相交截面
使用平面去“切”点云以获取点云的截面,实际上是对点云数据进行裁剪的一种操作。这种操作在点云处理中非常常见,尤其是在需要分析点云数据的特定部分或特征时。直接看效果图有时候我们想要拟合点云上一些高度有变化的不规则的曲线,那我们就可以采用平面去切割,获取截面轮廓的方式来分析,比如一下例子:这里在弧形表面存在高度变换的台阶情况,我们想要去拟合这个台阶的曲线,直接去拟合比较困难,我们就可以考虑对这个部分的点云进行截面处理,将三维的物体通过切片转换成一维截面如下图所示。原创 2024-04-24 11:35:53 · 64 阅读 · 0 评论 -
6.Halcon3D点云裁剪-根据视野方向手动裁剪点云
点云裁剪的意义在于从原始点云数据中选择出包含感兴趣目标的区域,以达到减小数据量、提高计算效率以及方便后续处理的目的。在三维重建、机器人感知、虚拟现实、机器人导航、自动驾驶等领域中,点云裁剪都扮演着重要的角色。通过裁剪,可以去除不必要或无用的部分,从而得到更加精确和高效的点云数据。原创 2024-04-24 10:55:34 · 107 阅读 · 0 评论 -
5.Halcon3D点云处理-一种更快的平面拟合倾斜校正方式
操作员创建倾斜的 根据以下公式计算表面的灰度值:gen_image_surface_first_orderImageSurface(r,c) =Alpha(r -Row) + Beta(c-Column) + Gamma图像的大小由。并将这个矩阵应用在整个点云数据上,实现一个平面矫正的功能(倾斜校正),本来是倾斜着的,通过旋转点云将倾斜的点云放平放正,方便后续的操作处理。运算符计算灰度值 矩和灰度值近似参数。建议值: -2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0。原创 2023-10-11 11:44:31 · 953 阅读 · 0 评论 -
4.Halcon3D点云处理-点云平面拟合空间旋转
在计算机视觉、几何建模和机器人等领域中,点云平面拟合是一个重要的问题,可以用于物体识别、环境建模、机器人导航等应用中。例如,在建立地理地形模型、进行物体形状分析、进行曲面拟合等过程中,都需要对点云数据进行平面拟合。平面拟合的精度和稳定性直接影响到后续对数据的理解和分析。例如,在地理地形建模中,如果平面拟合不准确,将会影响到地形表面的精度和特征提取的准确性。以上方法均需要先对点云数据进行预处理,包括数据清洗、去除噪声和异常值等。原创 2023-10-11 11:35:31 · 1097 阅读 · 0 评论 -
3.Halcon3D点云滤波-降采样/去除离群点/直通滤波/平滑计算/凸包计算
总体而言,对点云进行滤波处理是点云处理中不可或缺的一步,对于提高点云数据的准确性和可靠性,以及后续的点云处理和分析具有重要的意义。原创 2023-10-11 11:27:51 · 1849 阅读 · 0 评论 -
2.Halcon3D点云处理-点云可视化
在halcon处理三维数据的时候,我们就有一个非常棘手的需求,就是想要像Maya 3Dmax一样,非常直观的可视化自己的数据,而在halcon之中也提供了功能非常全面的可视化工具;halcon提供的可视化功能可以在三维坐标中很方便的观察点云对象可以显示多个点云对象 在同一个窗体内可以根据XYZ任意维度来对点云的点进行渲染着色。原创 2023-08-08 17:02:55 · 1520 阅读 · 0 评论 -
yolov5开发环境搭建
将yolov5的python代码从github上搞下来,用pycharm打开-打开项目 ,打开之后用终端进入之前我们 创建的那个虚拟环境里面。执行detect.py代码块的时候,出现如下运行日志就代表运行成功了,运行结果已经保存到如图所示路径下了,你去打开一看。如果没有自动识别到你创建的那个虚拟环境,那么就你需要 确定一下你创建的那个虚拟环境的路径在哪里,然后用。(一般你创建的虚拟环境都在你安装的anaconda目录下面 的envs文件夹里面,安装的时候记一下 )原创 2023-07-27 09:54:46 · 403 阅读 · 0 评论 -
【面结构光三维重建】0.基于openCV实现相机的标定
相机标定是计算机视觉和机器视觉领域中的重要技术,用于确定相机成像的几何关系和畸变特性,以提高成像的精度和稳定性。该技术广泛应用于三维重建、机器人视觉、自动驾驶等领域。原创 2024-05-30 21:30:00 · 288 阅读 · 0 评论 -
【面结构光三维重建】1.双目系统的标定
真就是简介,因为csdn中关于双目系统的文章太多了,很多兄弟都说得很好。两个相机,模拟人眼,通过视差,确定深度,这是双目系统。张正友大师的相机标定方法,主要目的是标定相机内参矩阵,畸变矩阵,外参矩阵(R旋转,T平移)原创 2024-05-30 19:30:00 · 240 阅读 · 0 评论 -
PointCloudLib 点云Ransac拟合平面功能实现 C++版本
左图为原始点云,右图中的红色点为拟合平面所选取的点,绿色的点为拟合平面所抛弃的点拟合出的结果是一个平面方程。原创 2024-05-24 14:54:02 · 129 阅读 · 0 评论 -
PointCloudLib 点云投影到XOY平面功能实现 C++版本
左图为原始点云,右图为投影到XOY平面上的点云将三维的点云投影到二维平面,方便处理一些二维轮廓方面的计算。可以投影到空间中任意平面上。原创 2024-05-24 14:44:41 · 384 阅读 · 0 评论 -
PointCloudLib 点云旋转平移功能实现 C++版本
在点云处理中,对点云的平移,缩放,旋转等功能是基础中的基础,对点云进行坐标变换就是对点云的每一个点进行坐标变换。原创 2024-05-21 09:30:03 · 170 阅读 · 0 评论 -
PointCloudLib 点云随机降采样 C++版本
随机降采样是众多降采样算法中,速度最快的(应该是),多次测试之后感觉降采样还是比较平均。原创 2024-05-21 09:15:43 · 54 阅读 · 0 评论 -
PointCloudLib 点云配准LM-ICP算法实现 C++版本
LM-ICP(Levenberg-Marquardt Iterative Closest Point)算法是一种在点云配准领域广泛使用的技术,它是ICP(Iterative Closest Point)算法的一种改进版本。ICP算法是一种通过迭代寻找两个点云之间最优变换矩阵的方法,用于将两个或多个点云进行对齐和匹配。而LM-ICP算法则通过引入Levenberg-Marquardt优化算法来提高ICP算法的精度和收敛性。原创 2024-05-20 17:21:44 · 239 阅读 · 0 评论 -
PointCloudLib 点云直通滤波实现 C++版本
直通滤波器(PassThrough Filter)是一种用于处理点云数据的过滤算法。其原理主要基于设定某一维度(如X、Y、Z轴)的阈值范围,然后遍历点云中的每个点,判断该点在指定维度上的取值是否在该阈值范围内。如果点的取值在阈值范围内,则保留该点;如果不在范围内,则删除该点。最后,遍历结束后,剩下的点即构成滤波后的点云数据。直通滤波的原理基于一个假设,即大多数情况下,我们只对特定区域内的点云数据感兴趣。因此,通过设定一个过滤范围,可以剔除超出该范围的点云数据,从而达到简化数据、加速处理的目的。原创 2024-05-20 17:06:07 · 61 阅读 · 0 评论 -
PointCloudLib 点云半径滤波实现 C++版本
点云处理,半径滤波,点云滤波,点云显示原创 2024-05-20 16:51:53 · 190 阅读 · 0 评论 -
基于OPENCV实现PNP位姿估计-六轴机械手手眼标定前置技能
一切都要基于一个最厉害的公式,相机标定公式开始:图像上的像素坐标等于相机内参乘上旋转平移矩阵(相机相对于世界坐标系的位姿/也叫做外参)再乘上世界坐标系的坐标得到。在我们用标定板玩相机标定的时候,我们主要的目的就是标定出内参K(通常还有畸变系数,这里简化暂时忽略不计),其中像素坐标可以通过图像处理得到,标定板的世界坐标P已知,那么多次拍摄图片标定就可以标定出内参K。而PNP位姿估计就是反过来计算,已知内参K,已知像素坐标和世界坐标系坐标,求外参(也就是RT旋转矩阵和平移矩阵)原创 2024-05-12 21:23:21 · 55 阅读 · 1 评论 -
YOLOv5训练自己的数据集
labelImage可以在git上下载python代码 然后使用命令行启动,也可以直接去下载编译好的exe文件,双击直接启动标注的时候需要注意点击这里切换成yolo的格式 这样标注出来的数据就是txt格式的不然选择voc那个就是xml格式的,yolov5训练的时候还不支持xml格式的,需要用python转成txt格式的然后就可以开始绘制你的检测框了这个路径下面的txt文件里面定义了你需要标注哪些类别。原创 2023-07-27 10:16:33 · 418 阅读 · 0 评论 -
yolo v5 运行环境 搭建
将yolov5的python代码从github上搞下来,用pycharm打开-打开项目 ,打开之后用终端进入之前我们 创建的那个虚拟环境里面。执行detect.py代码块的时候,出现如下运行日志就代表运行成功了,运行结果已经保存到如图所示路径下了,你去打开一看。如果没有自动识别到你创建的那个虚拟环境,那么就你需要 确定一下你创建的那个虚拟环境的路径在哪里,然后用。(一般你创建的虚拟环境都在你安装的anaconda目录下面 的envs文件夹里面,安装的时候记一下 )原创 2023-06-08 22:17:31 · 425 阅读 · 0 评论 -
yolov5-训练好的模型部署的几种方式-ONNX
ONNX 所针对的是深度学习开发生态中最关键的问题之一,在任意一个框架上训练的神经网络模型,无法直接在另一个框架上用。开发者需要耗费大量时间精力把模型从一个开发平台移植到另一个。因此,如何实现不同框架之间的互操作性,简化从研究到生产的路径,成为了重中之重。原创 2023-07-27 10:29:01 · 3505 阅读 · 0 评论 -
Halcon3D点云处理-点云可视化的几种方式
在halcon处理三维数据的时候,我们就有一个非常棘手的需求,就是想要像Maya 3Dmax一样,非常直观的可视化自己的数据,而在halcon之中也提供了功能非常全面的可视化工具;halcon提供的可视化功能可以。原创 2023-08-02 17:09:17 · 2355 阅读 · 0 评论 -
PointCloudLib-C++封装DLL供C#调用
在学习PCL的时候,我们就在考虑最终如何将PCL算法嵌入到项目中去,当时就有两个方向第一个是使用QT C++来完成整个项目第二个是将算法封装成DLL 供C#调用,最终使用WinForm来完成整个项目目前我们暂时选择第二种来测试C#代码是无法直接调用c++代码的,需要将C++代码封装成托管代码,编译成dll才可以使用。原创 2023-08-14 15:35:39 · 366 阅读 · 1 评论