本文摘自于:郭清达,全燕鸣. 采用空间投影的深度图像点云分割[J]. 光学学报, 2020, 40(18): 1815001

编辑:新机器视觉

点云分割是点云处理的一个关键环节,其分割质量决定了目标测量、位姿估计等任务的精确与否。

1、引言

目前,以立体成像技术为核心的立体相机获得了多样性发展,例如双目相机、单目结构光 相机、 TOF(timeofflight)相机等,其获得的深度图像(RGB-D)是在RGB 数据基础上融合了深度数据, 在参考相机内参下深度图像可转化为点云数据。根据立体相机的三维数据重建感兴趣区域(ROI),目标区域表面信息和背景信息的数据是混合在一起的,这给后续目标的三维测量和分析处理带来了一 定难度,因此采用点云分割技术进行目标区域和背 景点云分离是必要的途径。

点云分割就是将数据分割成若干个互不相交的子集。点云分割的问题一般分为4类:

1)具有 人类视觉意义的形状确定

2)获取点云中与空间方位无关的几何特征

3)点云中各个形状边界的确定

4)具有一致性的分割结果。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

目前的点云分割方法分为两类,即主要处理点与点之间拓扑关系的传统方法和基于深度学习的方法。

立体相机与激光雷达的不同之处在于拍摄场景信息所得的RGB-D数据具有物体表面的颜色纹理信息。不同于点云拓扑关系和深度学习的点云分割,本文介绍了一种采用点云空 间投影的RGB-D点云分割技术,首先介绍采用图像阈值的点云分割和利用靶标世界坐标系的点云分割两种基础方法, 将在世界坐标系中的靶标作为参考旋转点云,并将其投影至坐标系水平面(XOY)上,利用图像的形态学获得目标显著区域,进而获得目标点云数据。

2、图像阈值与点云关系模型

2.1 相机数学模型

摄像机数学模型采用小孔成像的原理,在笛卡儿空间中建立景物点与成像点之间的映射关系。令点P=(Xw,Yw,Zw)为像素p(u,v)投射在世界坐标系中的点,(u,v,1)是点p在像素坐标系中的齐次坐标;(Xw,Yw,Zw,1)是点 P 在世界坐标系中的 齐次坐标。那么两个坐标的关系为

2.2 图像阈值与点云的关系模型

RGB-D数据来自立体相机中RGB相机和 Depth相机,由于相机空间视角不同,两组原始数据中RGB数值与深度数值不匹配。在标定立体相机的外参数后,建立RGB像素值与 Depth数值两者之间的一一对应关系。采用图像阈值的点云分割基本思路:根据图像像素和点云的对应关系进行图像分割,获得目标区域点云。

3、采用空间投影的点云分割方法

3.1 建立靶标世界坐标系

立体相机中依据 RGB 相机和Depth相机的外参数,可以把Depth相机生成的点云转换到相机坐标系下。参考棋盘格建立世界坐标系。利用靶标世界坐标系可实现一定程度的点云分割,其基本思路是:由于场景三维点云的空间尺度与世界坐标系的空间尺度具有一致性,通过建立世界坐标系并确定待测物体在世界坐标系中的空间区域,可分割映射到世界坐标系里的点云。

如图1(a)所示,pc(xc,yc,zc)为相机坐标系中的点云,Pw (Xw,Yw,Zw)是世界坐标系中的点云,由(1)式可得

如图1(b)所示,由于靶标板(标定板)所指定的 坐标系相对于棋盘格角点所建立的世界坐标系有一 定的偏移,这里采用补偿的方式进行坐标系校正。设靶标的厚度为 Δz,世界坐标系原点在待测区域的X和Y轴的偏移分别为Δx 和Δy,补偿偏移量Δl3×1=[Δx Δy Δz]T,则(6)式可进一步表示为

3.2 采用空间投影的点云分割方法

参考前述的图像阈值、靶标世界坐标系与点云区域的关系,为了突出目标区域以实现点云分割,可将点云的观测视角旋转至俯视角度(鸟瞰视角),如图2所示,这样可减少背景点云信息,使目标点云呈现更多信息,采用相机模型将点云投影至相机的图像像素。在得到旋转投影后场景的二维图像后,采用图像阈值分割的方法可快速地得到目标阈值范围,还原后得到场景分割的目标点云。

参考(6)式得到世界坐标系中的点云 Pwl(Xwl, Ywl,Zwl),将其变换到场景点云的俯视角时,有:

根据单目摄像机模型,可以得到点云对应的二值图像坐标为:

4、结果对比

4.1 场景点云获取

为了验证算法的可行性,搭建系统硬件,如图3 所示,系统 包 括 靶 标 (尺 寸 规 格:棋 盘 格 角 点 数 为 5×7,方格大小为 34 mm×34mm)、双目摄像机 (MER-500-7UM)、8mm定焦镜头、投影仪(BenQ) 和上位机[2.53GHzIntel(R)Core (TM)2Duo CPU,2GBRAM]。

待测场景如图4(a)~(c)所示, RGB-D点云采用投影仪投射格雷码编码光栅和摄像机拍摄其光栅解码所得,其中包含1幅明、暗视场 图像以及40幅正交格雷码编码光栅图像。建立三个层叠的米袋场景(场景1#、2#、3#),分别获取整个场景并分割其米袋区域点云数据。根据张氏标定方法建立的靶标坐标系,获得外参数矩阵[R3×3t3×1],将三个场景点云映射到世界坐标系中,场景图片在靶标坐标系中的点云如图 4(d)~(f)所示。

利用图像阈值与点云关系实现点云分割,首先获得场景RGB图,利用标定参数进行径向与切向畸变校正,结果如图5(a)所示;利用最大类间方差法 (Otsu)对校正后的场景图进行处理,以突出感兴趣区域,结果如图5(b)所示。

其次,对感兴趣区域中的空洞进行形态学处理,即空洞填充;建立点云坐标与图像像素坐标的映射关系,并判断所映射的点云是否在图像感兴趣区域里。最后分割出映射到感兴趣区域的点云数据,如图5(c)所示。

采用靶标坐标系与点云区域实现点云分割,首先测量并确定目标物体的待放置空间区域,把靶标板放置在待测量物体区域内,根据靶标板手工测量或设计的规格参数确定 X 轴偏移量 Δx、Y 轴偏移 量 Δy 和靶标板厚度 Δz。其次,在摄像机标定过程 中,确定世界坐标系 X 轴和Y 轴方向,如图5(d)所示;并利用(6)、(7)式把相对于摄像机坐标系的点云映射到依据靶标板所建立的世界坐标系中,如图5(e)所示。最后,利用参考测量限定目标物体放置区域,实现目标点云分割,如图5(f)所示。

在图像阈值和靶标世界坐标系的基础上可采用点云空间投影进行点云分割,首先测量并确定目标物体的待放置空间区域,把靶标放置在待测量物体的区域内,确定X轴偏移量Δx、Y 轴偏移量 Δy 和靶标板厚度 Δz。其次,在摄像机标定过程中,确定世界坐标系X 轴和Y 轴方向。利用(9)式把点云视角变换至场景俯视角度,利用(13)、(14)式把三维点云映射到二维图像中,如图5(g)所示。

利用形态学对获得的二维图像进行膨胀处理,如图5(h)所示, 利 用连通域方法进行感兴趣区域图像分割,如图5(i) 所示。最后根据建立的点云与像素之间的映射关系, 还原图像阈值分割所对应的点云区域,如图5(j)所示。

4.2 结果对比分析

点云分割实验分别采用图像阈值分割 (算法 I)、靶标坐标系(算法II)、空间投影(算法III)以及与 Halcon中的基于区域的方法(算法Ⅳ)进行对比分析,对不同算法的参考点云总数和分割后点云数 进行对比,如表1所示。

4种方法实现的点云分割(场景1#~3#的点云区域)结果如图6所示。利用图像阈值和点云映 射关系实现的点云分割如图6(a)~(c)所示。立体相机的外参数误差和相机非线性映射关系等导致摄 像机坐标系下的点云坐标与图像像素坐标的对应关系存在一定的误差。与此同时,点云分割密度直接受图像阈值分割好坏的影响,在场景复杂且感兴趣区域阈值分割较差的情况下,点云分割不理想。采用靶标世界坐标系和点云区域模型实现的点云分割 如图6(d)~ (f)所示。

根据靶标坐标系的点云分割,需要测量感兴趣区域的物理空间区域和应用摄像机RGB图像建立相应的参考坐标系,根据测量目 标区域范围可在不改变点云密度的情况下快速有效 地分割出目标物点云。基于空间投影的点云分割方法,在目标物区域建立世界坐标系,利用坐标系变换 改变目标物点云投射视角,以突出目标物的阈值特征,实现点云分割,如图6(g)~(i)所示。基于空间投影的点云分割结果边界清晰且质量较佳,但由于其融合图像阈值和靶标坐标系算法,其执行速度相 对慢一些。Halcon视觉开发平台中基于区域的点云分割方法,采用点云三角化后,根据区域的点、直径、三角等结构元素数值选定点云区域,结果如图 6(j)~(l)所示。

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

采用空间投影的深度图像点云分割相关推荐

  1. 使用 BEV 投影的高效城市规模点云分割

    使用 BEV 投影的高效城市规模点云分割 论文 Efficient Urban-scale Point Clouds Segmentation with BEV Projection 地址 https ...

  2. 稠密点云重建MVS——基于多视角深度图像

    稠密点云重建MVS--基于多视角深度图像 前言 一.整体流程* 二.算法原理 1.全局视角图像序列选取方法 2.局部视角图像序列选取方法 2.深度与法向量优化算法 基本概念 极线搜索--查找图像中某个 ...

  3. RSE2020/云检测:基于弱监督深度学习的高分辨率遥感图像精确云检测

    RSE2020/云检测:Accurate cloud detection in high-resolution remote sensing imagery by weakly supervised ...

  4. PCL点云与深度图像

    PCL点云与深度图像 1 RangeImage概念及相关算法 1.1 深度图像简介 1.2 PCL中RangeImage的相关类 2 从一个点云创建一个深度图像 3 从深度图像中提取边界 4 点云到深 ...

  5. 如何从点云创建深度图像,看这篇你就懂了(附详细代码)

    作者I Roar冷颜@CSDN 编辑I 3D视觉开发者社区 前言 目前,深度图像的获取方法有:激光雷达深度成像法.计算机立体视觉成像.坐标测量机法.莫尔条纹法.结构光法等.针对深度图像的研究重点主要集 ...

  6. 乐视体感astra pro深度摄像头在ros系统获取 深度图像 彩色图像 无色彩点云数据 彩色点云数据

    1.astra pro深度摄像头介绍 2.astra pro驱动安装 3.astra pro获取深度图像   无色彩pointCloud2 4.astra pro获取彩色图像  带彩色的pointCl ...

  7. 利用PCL库从点云数据生成深度图像及关键点提取

    利用PCL库从点云数据生成生成深度图像及关键点提取 利用PCL库从点云数据生成深度图像及关键点提取 本想利用标准点云数据库分割成若干块,利用标准点云数据生成深度图像作为数据库用来验证算法,目前效果不是 ...

  8. (Visual Navigation)深度图像转点云

    深度图像即图像中包含深度信息(也就是距离信息)的单通道图像,每个像素反应的是图中的一点相对于相机的位置:左右位置 高度位置和深度位置 而视觉导航中比较常用的就是深度相机,通过深度相机的深度图像和rgb ...

  9. 深度图像转点云数据(激光雷达数据)

    文章目录 一.简介 二.代码实现 三.实现效果 参考文献 一.简介 深度图像的获取有很多方式,如激光雷达.结构光以及深度相机等,网上很多教程都是在讲解通过深度相机所获取的深度图像转换为三维点云数据(相 ...

最新文章

  1. xenapp 发布到外网更改公网IP。
  2. Java -- 注解 annotation
  3. Android—MVC、MVP、MVVM
  4. hashcat源码分析1
  5. 解决方案:秒杀整体设计
  6. 360手机浏览器_扰乱网络传播秩序!搜狗、360等手机浏览器国家网信办纳入首批重点整治范围...
  7. Python--模块微谈
  8. 大学机器人类公选课(ROS机器人高效编程)申请表、大纲、部分教案、进度表等材料分享
  9. 网页在线沟通工具,网页即时聊天工具-ttkefu完全免费电话呼叫流程图
  10. C语言 基础的数学思维题
  11. osg学习(四十五)有关倾斜摄影的osgb、gltf、3DTiles格式
  12. 3个重点,20个函数分析,浅析FFmpeg转码过程
  13. HTML个人网站设计(源码)
  14. 终点条件下的轨迹预测:It is not the Journey but the Destination: Endpoint Conditioned Trajectory Prediction
  15. Java 常见设计模式
  16. Windows 10 操作系统 System Interrupt 系统中断 CPU 占用率高的原因和解决方法
  17. http请求时返回的304是干什么的
  18. 汝之蜜糖,吾之砒霜— 聊聊软件开发中的最佳实践
  19. jquery添加css
  20. Flask Web开发:图片处理界面

热门文章

  1. 第十一届全国大学生数学竞赛A类真题+答案+详细讲解+知识点总结
  2. [VS]运行程序出现MSVCR100D.dll错误
  3. 可以免费做商业网站的CMS讨论
  4. 56个民族的sql、excel等资源
  5. Photoshop CS5 3D
  6. swiftui动画之tab自定义切换动画_vue 基础-动画过渡 transition 示例
  7. 基于深度学习 利用目标检测的方法定位瑕疵位置
  8. 二十一世纪大学英语读写教程学习笔记(原文)——5 - The Language of Compromise(妥协的语言)
  9. 12 路由器静态路由配置
  10. 固体加热_火是属于液体,固体还是气体?加热为什么不能用明火!