您现在的位置:智能制造网>技术首页>技术交流

汉振分享 | 基于邻域搜索的点云过滤实现原理及流程

2020年11月11日 09:09来源:浙江汉振智能技术有限公司 >>进入该公司展台人气:863

一、引言

点云滤波,是对点云数据处理的常用功能。

相机采集的图像,受限于拍摄条件、光照、物件表面反光及补光角度等原因,会导致摄像头成像质量下降,进而导致在进行点云重建时会包含一些噪点。包括飞点、弥散点、甚至是凭空出现的点,因此若需要得到高质量点云,可以选择对点云数据进行一次滤波,提升数据质量。

当然提高质量手段有很多,从环境上调优光照、调整拍摄角度,从拍摄上进行HDR、参数调整,或从算法上调整等,本文将先基于点云滤波展开讨论。

 

二、滤波原理

本文讲述滤波方法为基于邻域的滤波。顾名思义就是会计算每个点与周围邻域内有效点的数量,根据相关程度来决定当前点是否需要被过滤。

将点云2D平面化后,如上图:

(假设红色为邻域点,半径d为邻域距离阈值)

每个单独点云的邻域相关情况,一般来说分为3种:

  • 黄色点:邻域内没有相关的点,作为噪点直接排除
  • 蓝色点:邻域内有大量相关的点,作为有效点保留
  • 绿色点:邻域内有相关的点,但是数量不足,也作为噪点排除

根据邻域滤波原理,可以解决大部分噪点,效果如下:

滤波前

滤波后

 

三、滤波实现

为了实现滤波,首先需要准备点云间距离阈值,即原理图中的半径d。一般来说可以使用点云点间平均距离*6。此参数越大时,滤波效果越差。参数越小时滤波效果越好。但是过小时可能会过滤掉有效点。

其次需要准备邻域内相关数量阈值,即邻域内至少要有几个点云才保留当前点。本算法实现为搜索邻域内一共44个点,有6个以上即判定为保留。此参数越大时滤波效果越好,参数越小时滤波效果越差。

通过两个参数组合和调优,已经可以胜任绝大部分场景下的点云滤波需求。

大致流程如下:

  1. 遍历点云数据中每个点
  2. 根据距离阈值,检查每个点邻域内相关点数量
  3. 根据相关数量阈值,确定点云数据是否保留
  4. 根据保留结果,将点云数据拷贝至新数据缓冲区

实现代码如下:

汉振3D开发SDK中,可以直接调用点云滤波接口,使用方法如下:

参数解释如下:

  • buffer:存储点云基本数据,需要按照3通道float方式存储xyz数据
  • targetData:滤波后结果数据,按照3通道float方式存储xyz数据
  • 1920:点云列数
  • 1200:点云行数
  • 0.5:质心平均距离,也可以理解为点云点间平均距离
  • 30:云间距离阈值

四、代码加速

有了思路,实现了效果还不够,代码需要跑得快才能真的派上用处。对于点云滤波算法,可以有以下几种加速思路:

01 多线程并行

即代码中coreUtilsConcurrent部分。本算法中将点云按照行进行拆分,分发给4个线程单独处理。在4线程下可以提速2到3倍。这里要注意的一点是在现在基于CPU的运算中,线程并不是越多越好,需要根据算法实际调整。对于本算法,4线程左右为宜,即使CPU物理上有8线程甚至16线程。主要原因是本算法较为简单,内存瓶颈比CPU运算瓶颈更容易出现。线程多反而容易造成资源争夺,降低缓存命(ming)中率,进而导致性能下降。

02 邻域相关度计算剪枝

即代码循环体内大代码量部分。算法中邻域搜索逻辑是会先从点云当前行开始,依次搜索-1行,+1行,-2行,+2行,-3行,+3行。结合物理世界中实际点云噪点分布情况,如果在当前行和-1行都没有搜索到符合条件的邻域有效点,那么在+1,-2行这些也大概率搜索不到邻域有效点,因此当前点基本就是无效点,就可以直接删除。按照此逻辑类推,分别设置1、3、5个邻域有效点的退出条件。通过此项剪枝后,可以提速2到4倍。

03 内存访问顺序优化

因为CPU有缓存秒钟问题,所以我们希望开发的程序尽可能提高缓存命(ming)中率,以提高运行速度。对点云数据的访问,在内存上尽量从左到右访问,从上到下访问。

04 代码减少判断条件

部分可以通过内联展开,代码结构完成的判断,可以直接通过写代码方式实现,而不是通过for,函数调用方式使用。

05 减少对象拷贝

尽量通过全局变量保存热点变量。例如点云数据指针,高宽等参数,会被频繁用到,可以保存到全局变量中让后续流程可以直接访问,而不是保存到中间变量反复拷贝,或者通过指针反复解指针使用。

进行了如上几点优化后,230W点云滤波,可以控制在5到15ms以内。

更多机器视觉产品信息与应用说明,机器视觉算法,应用技巧,解决方案以及相关领域的技术分享,欢迎继续关注“汉振智能”....

关键词:机器视觉
全年征稿/资讯合作 联系邮箱:1271141964@qq.com
  • 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
  • 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。


编辑精选

更多


宣传样本推荐图书

旗下子站

工控网机器人仪器仪表物联网3D打印工业软件金属加工机械包装机械印刷机械农业机械食品加工设备制药设备仓储物流环保设备造纸机械工程机械纺织机械化工设备电子加工设备水泥设备海洋水利装备矿冶设备新能源设备服装机械印染机械制鞋机械玻璃机械陶瓷设备橡塑设备船舶设备电子元器件电气设备



关于我们|本站服务|会员服务|企业建站|旗下网站|友情链接| 兴旺通| 产品分类浏览|产品sitemap

智能制造网 - 工业4.0时代智能制造领域“互联网+”服务平台

Copyright gkzhan.comAll Rights Reserved法律顾问:浙江天册律师事务所 贾熙明律师

客服热线:0571-87756395加盟热线:0571-87759904媒体合作:0571-89719789

客服部:编辑部:展会合作:市场部:

关闭