资料查阅
硕士(6篇)
题名 | 作者 | 学校 | 年份 | 备注 |
---|---|---|---|---|
基于编码结构光的立体视觉定位技术的研究与开发 | 石爱军(控制) | 江南大学 | 2017.6 | 编码结构光(自制3D相机)、ICP没用到特征描述子(GA粗配准)、不涉及机器人抓取 |
基于点云处理的散乱零部件识别与定位技术的研究 | 田青华(控制) | 江南大学 | 2018.6 | 点云分割(去除边缘)、点云配准(改进的SHOT特征)、不涉及机器人抓取 |
面向机器人抓取的散乱零件自动识别与定位技术研究 | 佐立营(机械) | 哈工大 | 2015.7 | |
基于双目视觉的散乱堆放工件拾取系统 | 柯科勇(机械) | 广东工业 | 2016.6 | 涉及机器人抓取 |
基于点云配准的3D物体检测与定位 | 张凯霖(通信) | 中国民航大学 | 2017.5 | |
基于深度相机的场景物体定位与抓取研究 | 周逸徉(计算机) | 南京大学 | 2017.5 | 涉及机器人抓取 |
期刊(1篇)
题名 | 期刊 | 学校 | 年份 | 备注 |
---|---|---|---|---|
基于Kinect的机器人臂手系统的目标抓取 | 上海大学学报(自然科学版)(中文核心遴选) | 上海大学 | 2016.8 |
重点部分☆
硕士_基于编码结构光的立体视觉定位技术的研究与开发
摘要
提纲 | 简述 |
---|---|
领域 | 随机箱体抓取(Random Bin Picking, RBP),视觉引导的机器人能够从一个随机堆放或未经过整理的箱体中以一个正确的姿态抓取目标 |
应用 | 自动装配,提高装配的自动化程度 |
RBP的难点 | 场景三维重构 工件位姿估计 |
硬件平台 | EPSON投影仪、Imaging Source工业相机 |
材质 | 木质、塑料、金属 |
适用场合 | 识别并定位低反光率的工件 对于高反光的工件,需要达到一定的体积才能被定位 |
论文重点 | 利用摄像机和投影仪搭建编码结构光立体视觉硬件平台 采用结构光编解码与点云处理技术设计混乱工件六自由度位姿定位整体方案 优化其中的核心技术,提高三维位姿定位的速度和精度 涉及到的关键技术有:摄像机标定、结构光编解码、三维重构、点云预处理、位姿估计等 |
工作量:
- 针对结构光测量中的边缘扩散问题,在Gray码边缘解码基础上,提出一种改进型线移的组合编码方法。
- 针对传统迭代最近点法(Iterative Closest Points, ICP)存在的缺点,提出了一种遗传算法结合自适应阈值约束优化的ICP位姿估计方法。
- 采用统计学滤波和区域增长分割算法对初始点云进行预处理,去除离群点并得到各混乱工件的点云集
- 针对ICP易陷于局部最优的问题,利用遗传优化算法对点云进行粗匹配,得到目标点集相对于参考点云的初始位姿
- 针对迭代速度较慢的缺点,提出了一种自适应阈值约束法,利用点对距离约束和法向量夹角约束去除局部大变形点,提高了位姿定位的精度和算法收敛的速度
- 实验表明,该方法相对于传统算法,精度提高了35%,在保证位姿计算精度的同时提高了算法的实时性。
RBP系统
RBP系统系统包括如下工作:
- 采集目标与箱体图像
- 分割图像中目标与背景
- 计算目标相对于图像传感器或者机械手末端的位姿
- 多目标抓取规划
- 机械手抓取路径规划
- 目标传送到指定的位置等
研究进展
RBP研究进展
工业界:
公司 | 产品 | 概述 |
---|---|---|
美国Universal Robotics公司 | Spatial Vision Robotics | |
德国SICK | PLB-500视觉系统 | 一个3D相机、一个660nm的激光发射器 |
比利时Vision++ | BinPicker++ | |
丹麦Scape Technologies公司 | 2005年,两个固定的相机、一个随动相机、外加红色光源增强光照 2007年,两个固定静止的相机构成立体视觉,在自然光照条件下 2009年,单个相机固定在机械臂末端,外加红色光源增强光照 2014年,机械臂上固定于一个随动相机,无需外部光照条件 |
|
日本FANUC公司 | iRVision | 2006年,十字激光器和一个全局相机 2012年,固定双目+投影仪 |
学术界(参考文献[3]~[6]、[7]~[11]):
作者/年份/论文 | 概述 |
---|---|
[3]Oh J K/2012 Stereo vision based automation for a bin-picking solution |
提出了利用双目视觉解决RBP问题的的通用方法,首先在大的视野下,利用二维几何模板匹配(Geometric Pattern Matching, GPM)算法从箱体目标中选择候选抓取目标,然后采用三个不共线的三维特征计算目标的位姿,并使用大量的模板采样和椭圆拟合来提高系统的可靠性,降低光照和遮挡带来的影响。 |
[4]Kai-Tai Song/2017 CAD-based pose estimation design for random bin picking using a RGB-D camera |
提出一种基于CAD模型的随机箱体抓取方法,该方法使用深度相机获取点云信息,采用立体像素网格滤波器对数据下采样,利用基于投票决策的方法识别和估计位姿信息,并使用离群滤波器去除错误的匹配目标,该方法的平均识别率为92.39%,抓取成功率为89.67%。 |
[5]Kensuke Harada等/2016 Initial experiments on learning-based randomized bin-picking allowing finger contact with neighboring objects |
采用机器学习的方法完成箱体抓取。 |
[6]Nikolay Atanasov等/2014 Nonmyopic view planning for active object classification and pose estimation |
采用可移动的相机解决抓取多目标的抓取和决策问题。 |
[7]哈尔滨工业大学佐立营/2015 [硕士]面向机器人抓取的散乱零件自动识别与定位技术研究 |
提出基于Kinect的散乱工件位姿估计方法。首先通过修复传感器深度图像得到工件点云信息,然后采用工件连接部分的特征和平面结构进行目标分割,最后采用随机采样一致方法设计位姿估计方法,定位误差小于5mm,角度误差约3°。 |
[8]上海大学丁美昆等/2016 基于 Kinect 的机器人臂手系统的目标抓取 |
采用Kinect实现机械臂的目标抓取。首先利用Kinect获得深度信息,并进行深度分割,滤除背景噪声,再利用颜色与形状特征识别和定位目标,整体实验误差约为10mm。 |
[9]山东机器人重点实验室和自动化制造技术研究所Fan X等/2014 A combined 2D-3D vision system for automatic robot picking |
通过结合2D和3D视觉来决定混乱场景中目标的工件位置,定位精度小于10mm。 |
[10]国立台北大学Wen-Chung Chang等/2016 Eye-in-hand vision-based robotic bin-picking with active laser projection |
利用激光线扫方法实现散乱管道部件的重构和抓取。 |
[11]颜培清等/2016 基于深度信息的多目标抓取规划方法研究 |
针对散乱堆放的物体,提出了一种多目标抓取规划方法。 |
库柏特公司创始人李淼 | 研究了机器人抓取的动态自适应方法,被NIST选为机器人基于传感的抓取效率的测试标准。 |
相关论文:1
2
3
4
5
6
7
8
9[3] Oh J K, Lee S, Lee C H. Stereo vision based automation for a bin-picking solution [J]. International Journal of Control, Automation and Systems, 2012, 10(2): 362-373.
[4] Song K T, Wu C H, Jiang S Y. CAD-based pose estimation design for random bin picking using a RGB-D camera [J]. Journal of Intelligent and Robotic Systems, 2017, doi: 10.1007/s10846-017-0501-1.
[5] Harada K, Wan W, Tsuji T, et al. Initial experiments on learning-based randomized bin-picking allowing finger contact with neighboring objects [C]. IEEE Automation Science and Engineering, 2016: 1196-1202.
[6] Atanasov N, Sankaran B, Le Ny J, et al. Nonmyopic view planning for active object classification and pose estimation [J]. IEEE Transactions on Robotics, 2014, 30(5): 1078-1090.
[7] 佐立营. 面向机器人抓取的散乱零件自动识别与定位技术研究[D]: [硕士学位论文]. 哈尔滨: 哈尔滨工业大学, 2015.
[8] 丁美昆, 徐昱琳, 蒋财军, 等. 基于 Kinect 的机器人臂手系统的目标抓取[J]. 上海大学学报(自然科学版), 2016, 22(4): 421-431.
[9] Fan X, Wang X, Xiao Y. A combined 2D-3D vision system for automatic robot picking [C]. IEEE International Conference on Advanced Mechatronic Systems, 2014: 513-516.
[10] Chang W C, Wu C H. Eye-in-hand vision-based robotic bin-picking with active laser projection [J]. The International Journal of Advanced Manufacturing Technology, 2016, 85(9-12): 2873-2885.
[11] 颜培清, 何炳蔚, 雷阿唐, 等. 基于深度信息的多目标抓取规划方法研究[J]. 电子测量与仪器学报, 2016, 30(9): 1342-1350.
总述:
目前在工业上还没有成熟的应用案例,大多局限在复杂工件的精准建模或者是简单工件的定位抓取
编码结构光研究现状
编码结构光广泛用于三维重构,优点:
- 非接触测量
- 视野大
- 精度高
- 速度快
本文研究的是静态环境下的随机箱体抓取,目的是从散堆的工件中抓取目标,最关键的是获得箱体内目标的六自由度深度信息,在保证3D测量周期小于机械手运动周期的前提下,测量精度对于RBP问题来说十分重要
位姿估计研究现状
学术界(参考文献[27]~[35]、[36]~[43]):
基于特征提取:
作者/年份/论文 | 概述 |
---|---|
[27]Kirkegaard J/2006 Bin-picking based on harmonic shape contexts and graph-based matching |
将具有平移、尺度和旋转不变的HSC特征(Harmonic Shape Contexts, HSC)应用到模板匹配中,并将这些特征利用基于图理论的方法与CAD模板的HSC特征进行匹配,得到目标的位姿信息。该方法可至少识别出一个目标,但是对噪声敏感。 |
[28]Drost B等/2010 Model globally, match locally: efficient and robust 3D object recognition |
提出了一种基于方向点对特征的全局描述特征,可通过投票与本地的模板进行局部匹配,该方法对于遮挡、混乱场景具有较高的识别率。 |
[29]Xu J等/2012 3D pose estimation for bin-picking task using convex hull |
针对含有平面的工件,利用场景检测到的平面的凸壳与CAD模型中平面的凸壳匹配,从而获得基于CAD模型的位姿定位。该算法可以忽略目标形状的细节,更具鲁棒性。整个处理过程不超过3s。 |
[30]Choi C等/2012 Voting-based pose estimation for robotic assembly using a 3D sensor |
提出了一种基于投票的位姿估计算法,该方法使用面方向点、边界方向点和边界直线作为基元,对他们进行组合,分别给出了四种位姿估计的算法:面方向点对、面方向点和边界方向点组合、边界方向点对、边界直线对。首先通过以上的算法对目标进行粗略的位姿估计,然后采用ICP算法进行位姿修正。该算法在机器人箱体抓取中有较好的表现,匹配速度小于1s,定位精度小于0.3mm。 |
[31]Buchholz D等/2013 Efficient bin-picking and grasp planning based on depth data |
利用随机采样匹配(Random Sample Matching, RANSAM)算法将场景点云数据与CAD模型数据进行匹配,获取待抓取工件的位姿信息,点云处理耗时约为5.5s。 |
[32]Kim J等/2013 Structured light camera base 3D visual perception and tracking application system with robot grasping task |
通过提取点云的曲面信息,与工件的CAD模型进行匹配,从而实现工件位置定位与位姿估计。从获取图像到位姿定位共耗时8.75s,其中,工件重构耗时3.11s,工件定位与位姿估计耗时0.52s,直线定位精度达1.23mm,圆心拟合精度2.58mm。 |
[33]Akizuki S/2014 Position and pose recognition of randomly stacked objects using highly observable 3D vector pairs |
使用“3D向量对”作为描述特征,采用向量对匹配(Vector Pair Matching, VPM)算法进行位姿估计。由于向量对具有可观性,该方法具有较高的识别率,相对于传统方法识别率从45.8%提升到93.1%,匹配时间小于2s。 |
[34]Max Schwarz等/2015 RGB-D object recognition and pose estimation based on pre-trained convolutional neural network features |
采用卷积神经网络对图像进行分类训练,得到大量图像特征集,然后结合深度信息对图像进行渲染,采用SVM分类器识别目标,采用支持向量机回归(Support Vector Regression, SVR)算法估计目标位姿,该方法的识别率和定位精度依赖较大数量的训练对象。 |
[35]Xianjie Chen等/2014 Articulated pose estimation by a graphical model with image dependent pairwise relations |
采用深卷积神经网络对人体骨架进行识别,并计算得到相对于训练对象的位姿信息。 |
基于点云配准:
作者/年份/论文 | 概述 |
---|---|
Paul J等 | 提出了迭代最近点方法(Iterative Closest Point,ICP),该方法利用最小二乘计算两片点云的位姿变换,可以获得极高的匹配精度,但是该方法易收敛于局部最优,收敛速度较慢。 |
[36-37]Jihua Zhu等/2016/2014 Automatic multiview registration of unordered range scans without feature extraction Robust registration of partially overlapping point sets via genetic algorithm with growth operator |
针对ICP算法易收敛于局部最优的缺点,采用遗传算法(Genetic Algorithm, GA)计算两幅点云的初始位姿关系以保证匹配结果为全局最优,获得较好的收敛性。 |
[38]钟莹等/2014 基于改进 ICP 算法的点云自动配准技术 |
利用主成分分析方法(Principal Component Analysis, PCA)使点云的三个主方向重合,快速得到粗略配准的点云,该方法具有较快的响应速度,但要求点云之间存在足够大的重叠区域。 |
[39]钱鹏鹏等/2013 一种新的扫描点云自动配准方法 |
提出了一种结合曲率的随机抽样一致(Random Sample Consensus, RANSAC)点云初始配准方法,此方法能显著提高初始拼接的精度,但匹配速度满足不了工业抓取的实时性。 |
[30]Choi C等/2012 Voting-based pose estimation for robotic assembly using a 3D sensor |
提出了一种基于投票的位姿粗略估计算法,定位精度达0.3mm,但需要足够多的运算次数。针对ICP算法收敛速度慢的缺点,一般设置距离阈值来剔除错误对应点对。 |
[40]侯东兴等/2015 剔除误同名点的约束改进 ICP 算法 |
提出了点对坐标约束法和自适应阈值法来剔除错误的同名点对,提高了收敛速度。 |
[41]徐万鑫等/2012 改进的 ICP 算法在点云配准中的应用 |
利用最长轴的KD树搜索方法,结合曲率特征快速搜索同名点,在不改变准确度的情况下提高了配准速度。 |
[42]Bae K H等/2008 A method for automated registration of unorganised point clouds |
提出一种结合基元、近邻搜索和位置不确定性的迭代最近点算法(Geometric Primitive ICP with the RANSAC, GP-ICPR),该算法利用点的曲率变化与其对应点法向量夹角确定对应点,匹配的欧氏距离平均误差为0.25mm,但该方法需要手动校准初始位姿。 |
[43]张蕾等/2012 约束改进的 ICP 点云配准方法 |
提出了改进距离约束的迭代邻近点方法,选取最近点作为匹配点,利用距离阈值剔除误匹配点,相对于传统ICP算法,该方法配准的速度和精度得到了显著提高。 |
相关论文:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17[27] Kirkegaard J, Moeslund T B. Bin-picking based on harmonic shape contexts and graph-based matching [C]. IEEE Pattern Recognition, 2006: 581-584.
[28] Drost B, Ulrich M, Navab N, et al. Model globally, match locally: efficient and robust 3D object recognition [C]. IEEE Computer Vision and Pattern Recognition, 2010: 998-1005.
[29] Xu J, Pu S, Zeng G, et al. 3D pose estimation for bin-picking task using convex hull [C]. IEEE Mechatronics and Automation, 2012: 1381-1385.
[30] Choi C, Taguchi Y, Tuzel O, et al. Voting-based pose estimation for robotic assembly using a 3D sensor [C]. IEEE Robotics and Automation, 2012: 1724-1731.
[31] Buchholz D, Futterlieb M, Winkelbach S, et al. Efficient bin-picking and grasp planning based on depth data [C]. IEEE Robotics and Automation, 2013: 3245-3250.
[32] Kim J, Nguyen H H, Lee Y, et al. Structured light camera base 3D visual perception and tracking application system with robot grasping task [C]. IEEE Assembly and Manufacturing, 2013: 187-192.
[33] Akizuki S, Hashimoto M. Position and pose recognition of randomly stacked objects using highly observable 3D vector pairs [C]. IEEE Industrial Electronics Society, 2014: 5266-5271.
[34] Schwarz M, Schulz H, Behnke S. RGB-D object recognition and pose estimation based on pre-trained convolutional neural network features [C]. IEEE Robotics and Automation, 2015: 1329-1335.
[35] Chen X, Yuille A L. Articulated pose estimation by a graphical model with image dependent pairwise relations [C]. Advances in Neural Information Processing Systems. 2014: 1736-1744.
[36] Zhu J, Zhu L, Li Z, et al. Automatic multiview registration of unordered range scans without feature extraction [J]. Neurocomputing, 2016(171): 1444-1453.
[37] Zhu J, Meng D, Li Z, et al. Robust registration of partially overlapping point sets via genetic algorithm with growth operator [J]. IET Image Processing, 2014, 8(10): 582-590.
[38] 钟莹 , 张蒙 . 基于改进 ICP 算法的点云自动配准技术 [J]. 控制工程 , 2014, 21(1): 37-40.
[39] 钱鹏鹏 , 郑德华 . 一种新的扫描点云自动配准方法 [J]. 水利与建筑工程学报 , 2013(3): 162-164.
[40] 侯东兴 , 王耀华 , 李宗春 . 剔除误同名点的约束改进 ICP 算法 [J]. 测绘科学 , 2015, 40(8): 103-107.
[41] 徐万鑫 , 许宏丽 . 改进的 ICP 算法在点云配准中的应用 [C]. 中国系统仿真技术及其应用学术年会 . 2012: 205-208.
[42] Bae K H, Lichti D D. A method for automated registration of unorganised point clouds [J].Journal of Photogrammetry and Remote Sensing, 2008, 63(1): 36-54.
[43] 张蕾 , 冀治航 , 普杰信 , 等 . 约束改进的 ICP 点云配准方法 [J]. 计算机工程与应用 , 2012, 48(18): 197-200.
总述:
位姿计算方法 | 优缺点 |
---|---|
基于特征提取 | 只能应用于具有明显几何特征的点云,适用范围受限 很多特征利用了特征点或边界,点云在边界处易受噪声的干扰,因此基于特征的方法鲁棒性较差 |
基于点云配准 | 可以获得较高的匹配精度 但实时性较差 |
系统数学模型
双目视觉基本原理
摄像机成像模型
小孔模型
相似三角形原理
摄像机标定
根据给定的摄像机模型求取摄像机的内部参数、外部参数,以建立图像上的点和空间坐标系中点的一一对应关系
内参数矩阵:相机坐标系 → 图像坐标系
外参数矩阵:世界坐标系 → 相机坐标系
镜头畸变:仅需要考虑镜头的径向畸变
标定方法:张正友提出的棋盘格靶标标定方法(内参 ⇒ 外参 ⇒ 畸变)
共11个参数(内参5个、外参6个)
双目联合标定
世界坐标系 → 相机1坐标系
世界坐标系 → 相机2坐标系
⇒ 相机2坐标系 → 相机1坐标系
系统硬件组成
系统架构
三个部分 | 作用 | 组成 |
---|---|---|
视觉传感器部件 | 获取图像信息 | 双目相机、投影仪、标定板、铝合金固定架等 |
信息处理平台 | 处理传感器获取的图像信息、控制机械臂的运动 | 计算机A负责投射编码图像序列、计算机B负责采集图像并处理图像信息、机械手的运动由机器人控制器独立完成 |
抓取部件 | 工件的抓取 | 机械臂及其组件、手操器稍等 |
相机与镜头的选择
要求:
参数 | 规格 |
---|---|
视野 | 300mm×300mm |
分辨率 | 小于0.2mm |
相机到物体的距离L | 1000mm左右 |
相机参数:
参数 | 规格 |
---|---|
传感器制式 | 1/2.5(5.12mm×3.84mm) |
分辨率 | 2588×1940 |
像元 | 2.2μm |
选择镜头:
(1)焦距
当工作距离L不变时,若测量视野增大,则系统放大倍数β减小,应当选取较短的焦距
实验的测量视野介于240mm×240mm和300mm×300mm之间,所以选取焦距为12mm的镜头
系统的分辨率(0.1719mm)算得的结果达到要求(0.2mm)
(2)视野
视野大小由传感器大小、焦距、物距决定。
由相似定理得:
- H和W:视野的长和宽
- h和w:传感器的长和宽
视野(H、W)算得的结果均大于要求的最大测量视野300mm×300mm
(3)景深
景深D计算公式:
- :景深远界
- :景深近界
- σ:可容许弥散圆直径,一般取值为1/30
- F:光圈系数
- 设镜头焦距f=12mm,光圈系数F=1.4,拍摄距离L=1000mm
景深(D)算得的结果满足一般测量需要
系统性能影响因素:
焦距f | 物距L | 传感器分辨率 | 光圈值F | |
---|---|---|---|---|
系统分辨率 | ↑ | ↓ | ↑ | |
视野FOV | ↓ | ↑ | ↑ | |
景深 | ↓ | ↑ |
- 要提高系统分辨率,需要增大传感器的分辨率,或者减小工作距离,即减小相机视野
- 在相机确定的前提下,要增大测量视野,需要减小焦距,或增大物距
- 景深与焦距和光圈值F有关,F越大(光圈越小),焦距越短,景深越大。
PS:↑表示随着硬件参数(如焦距)的增大,系统性能(如系统分辨率)增强
投影仪的选择
投影仪的作用:向场景投射编码条纹,根据条纹特征确定匹配点,从而计算出对应点的三维信息。
三维重构的本质是对测量表面再采样,编码图案是用于确定匹配的采样点,该过程需符合编码结构光采样定理。
采样定理要求摄像机的采样频率大于投影仪对测量表面划分频率的2倍,即要求编码划分的最小区域宽度要大于一个像素视野宽度的2倍。
转换到图像上,条纹宽度应至少占据两个像素。因此,条纹的宽度不能无限缩小。
若摄像机的分辨率为800×600,则8位Gray码条纹图案就是极限(),此时投影仪投影图案部分的分辨率至少为256×256。
Gray码位数越高,采样点密度越大,但摄像机对编码图案中单个像素的分辨能力越差。
此外,受被测物表面散射、投影仪和摄像机的离焦以及光学系统点扩散特性等因素的影响,摄像机的分辨能力变差,因此,解码的准确度会更低。
测量视野和系统分辨率是相互制约的,在投射图案时,投影仪的视野与摄像机的视野不能完全重合。
一般情况下,投影仪的视野要大于双目摄像机的共同的视野。
因此,在设计编码图像时,应当减小编码图像占整个投影图案的比重。
故而在选择投影仪时,投影仪的分辨率应稍大于计算所得的分辨率。
系统软件实现
基于编码结构光的立体视觉定位技术
- 视觉系统标定
①对左右相机进行标定,获得相机的内外参数,再根据内外参数进行双目联合标定
②结合机械臂对左摄像机坐标系和机器人本体坐标系进行标定,实现手眼标定,从而得到视觉系统参数 - 单个工件点云信息注册
主要是利用编码结构光获取单个工件的点云信息,然后通过点云预处理得到工件模板点云,用于后期的位姿计算 - 箱体点云获取与位姿计算
利用同样的三维重构方法获取混乱工件点云,通过预处理、点云分割、点云筛选、位姿定位等步骤计算箱体内工件相对于注册工件的位姿状态 - 机械手定位抓取
将相对位姿信息发送给机器人,根据手眼关系利用机械臂执行抓取动作
三维重构的原理图
利用编码结构光进行三维重构的原理图如下:
- 通过计算机离线生成编码图案,利用投影仪将编码图案序列按时间顺序投射在目标工件上
- 通过摄像机同步获取包含编码图案的场景图像
- 将该图像传输到计算机中,通过图像处理等技术得到三维点云信息
系统工作流程
点云获取+点云处理
混乱工件三维重构
结构光三维测量法、Gray码结合线移的编码结构光方法
Gray码编码
二值编码一般采用k个图案对个条纹编码,其中,第i+1个图案的条纹数量是第i个图案的2倍,在第k个图案中,同一条纹里的像素的码值相同。
由于n位二值编码相邻编码之间有多位不同,使得解码误差不只一位。
针对该问题,Inokuchi S等利用Gray码进行重构,Gray码的任意两个相邻码字只有一位不同,解码时最多只有一位解码误差,解码准确度较高。
PS:数中间黑白相间的边的数量
实验中所采用的液晶投影仪的分辨率为800×600,如果用9幅Gray码就可以把待测物体表面分割成512个不同的区域,而当Gray码图案数量大于8时,摄像机难以分
辨投影图案的黑条纹与白条纹,不利于后面的图像处理。
因此,本文在此基础上投射二值条纹线移图案。
线移编码
Gray码对测量空间的划分是有限的,在同一个区间内,所有像素的码值是相同的,故而需要对测量空间进一步细分。
相移法通过连续的相位变化得到每个像素的相位值,该值在同一周期内具有唯一性,因为可用于实现立体匹配,利用Gray可消除相位的多义性。
但是,采集图像的噪声、目标形状的非连续性和图像的非正弦特性都会导致相位计算错误,最终影响匹配的精准度。
本文采用离散的边缘或者中心线代替连续变化的相位。
边缘扩散影响
影响边缘定位精度的因素有很多,主要分为硬件限制(光学点扩散、离焦)和全局光照影响(散射、子表面反射)。
不同的材质,边缘扩散的影响不同。对于高反射率的工件如螺栓等金属工件,边缘扩散影响较大,对于白色塑料瓶,其反射率低于金属工件,因此边缘扩散影响较小,而对于背景木板材质,边缘扩散影响更小,但是仍然存在。
不同的曝光时间对边缘的影响不同,当曝光时间在1/1502s~1/400s之间时黑白条纹宽度趋于稳定,且黑条纹宽度略大于白条纹宽度。本文实验选取曝光时间为1/1000s。
计算线移区间
计算Gray码最小周期条纹相邻边缘之间的距离,对周期宽度进行分类,并计算线移区间。
计算单位平移距离
- :Gray码三种周期条纹宽度中较小值的均值
- :向左或向右平移的次数
线移条纹编码
投射Gray码图案后,继续投射宽度与Gray码最小周期宽度相等、方向与Gray码条纹方向平行的二值条纹图案,将该图案条纹分别向左、向右对称平移s次,单次平移距离为d。
Gray码-线移解码
图像预处理
由于利用边缘进行解码,在解码前需要对图像进行预处理,得到条纹图案中有效测量区域的单像素边缘,有利于边缘解码和匹配。
具体操作如下:
(1)图像采集
(2)采用中值滤波对图像进行预处理,有效去除图像传感器及传输过程中产生的椒盐噪声。
(3)对滤波后图像归一化处理,消除左右摄像机光照不一致造成的影响。
- g(x,y)、h(x,y):归一化处理前后的图像灰度值
- max(g(x,y))、min(g(x,y)):图像灰度值的最大值和最小值
(4)利用Ostu法对图像进行阈值处理,得到二值图像后,采用半径为5的圆盘结构元素对图像进行先闭后开的形态学处理,去除毛刺和内部孔洞。
(5)利用edge边缘检测器提取像素边缘。
(6)去除阴影边缘。阴影为摄像机拍摄不到的区域,左右摄像机位姿不同,采集图像中的阴影区域也不一样。消除不同物体造成的阴影边缘(Mark1)
(7)对edge边缘优化处理。细化多像素边缘(Mark2)、抑制非主方向干扰边缘(Mark3)。
Gray码解码
解码时,将边缘上的点作为图像采样点,并根据采样点的二进制码值求解 Gray码码值。
线移条纹解码
线移图案经过预处理后得到线移条纹边缘,取中值得到各条纹的中心,根据该条纹
对应的Gray码条纹确定线移条纹所处的周期,对线移条纹进行解码。
利用条纹中心向两侧对称位移的方法,避开了因边缘扩散造成的边缘定位误差,从
而消除了线移条纹周期定位的解码误差,提高了全局解码的正确率。
三维重构
利用正交投射的方法,获得左视图正交方向上的码值、,右视图正交方向上的码值、,则整幅视图的唯一性编码、可表示为:
- 、:左、右视图全局编码值
- n:Gray码位数
在右视图中搜索与左视图中码值相同的点,将左右视图对应点的坐标分别存储在有效地址、中。
本文只对左右视图中有效匹配点进行畸变校正。
四阶径向畸变模型:
☆三维坐标计算:
利用三角测量法求解各点的三维信息。通过SVD求结果。
- 、:比例因子
- ~、~:左右相机的成像变化矩阵
- 、:左右图的匹配点
- :左右图匹配点对应的空间三维坐标
消去上式中的、,则有,即:
对,用最小二乘法,可得
公式推导:
展开矩阵:
(3)×-(1)、(2)×-(1),可得:
同理,(6)×-(4)、(5)×-(4),可得:
最终可得:
实验验证
视觉传感器标定
利用Bouguet算法对左右相机进行标定
利用Harris算法提取标定板上所有的角点
对左右摄像机进行立体标定得到内外参数(左、右相机内参,右相机相对于左相机的旋转矩阵、平移向量)
查看重投影误差分布图,计算X方向与Y方向的平均误差
三维重构
采用本文方法对平板平面重构,对点云进行平面拟合。
与文献[17]、文献[20]对比相对误差、重构时间
混乱工件位姿定位
本文针对编码结构光获得的无序点云,采用点云去噪、点云分割、点云筛选、位姿粗略估计、位姿精确估计等方法,计算箱体混乱工件相对于参考工件的六自由度位姿信息。
点云预处理
点云去噪
点云数据的常见平滑滤波方法:均值滤波、中值滤波、高斯滤波
点云去噪方法主要有数学形态学滤波[54]、三角网滤波[55]、小波分层滤波、基于局部离群点的滤波方法[56]、基于密度分析和深度数据双边滤波的方法[57]、稀疏离群点移除算法[58]等。
利用基于统计学的滤波方法可以有效去除靠近点集的噪声。(本文采用稀疏离群点移除算法)
点云分割
点云处理的完整流程包括:点云去噪、点云精简、点云配准、特征识别、区域分割、几何估算、模型重建等。
由于本文目的不是精准三维重构,故而省去点云精简、点云配准、几何估算、模型重建过程。
本文的目标是从一个混乱的场景中识别并定位物体,因此需要先对点云进行分割处理,得到各工件点云集,便于后期一对一的位姿计算。
点云分割方法可分为边缘检测法[59]、区域生长法[60]、扫面线法[61]、聚类法[62]、基于图的分割[63]、基于径向反射[64]等方法。
可分为两类:
- 基于区域增长的方法:利用最小生成树方法分割点云[65]、三角面片法向量方向调整方法[66]、基于连通性的分割方法[67]、利用局部点云密度的建筑立面自适应分割方法[68]
- 基于特征的方法:基于三维边缘检测、基于曲面分割、基于边界技术、聚类等
在RBP问题中,一方面,数据存在遮挡和阴影,导致边界或曲面不能单一地表示工件特征,另一方面,为了提高实时性,可能会牺牲部分预处理操作,而边界噪声和曲面孔洞都会对分割产生较大的影响。
因此利用曲面或边界特征的分割方法不适用于混乱物体点云分割。
本文采用基于区域增长的点云分割方法。该方法利用点及其邻域特征,利用点法向量夹角作为区域的评判,利用曲率作为种子的评判,因此需要设置夹角阈值和曲率阈值。
具体实现:
(1)首先,计算所有点的曲率,将曲率最小的点作为区域生长起点(种子)。原因是曲率最小的点位于平面,而从平面开始生长可以减少分割的数量。
(2)然后,搜索生长起点(种子)的邻近点:
- 对于每一个邻近点,计算其法向量与当前种子点法向量的夹角,若该夹角小于阈值q1,则将该邻近点归于当前区域,否则舍弃;
- 然后计算当前区域剩余邻近点的曲率,若曲率小于阈值q2,则将该邻近点添加到种子群中;
- 从种子群中移除当前种子;
- 选择下一个种子点,重复上述三个步骤。
(3)当种子点群为空时,重复上述步骤(1)和步骤(2),得到按法向量特征得到的点集。
具体实现参数:
参数 | 取值 |
---|---|
法向量估计近邻 | 50 |
最小点集 | 50 |
最大点集 | 5000 |
区域增长近邻 | 30 |
法向量夹角阈值 | π/18 |
曲率阈值 | 0.5 |
点云筛选
为了提高算法速度,需要尽量减少非目标点集的干扰,因此对点云集进行筛选。
本文采用点集的最小立方体包围盒进行筛选。
具体实现:
- 利用点数阈值去除背景点集和部分遮挡严重的工件点集;
- 求解点集的特征向量,将所有点分别映射到三个特征向量上,求得各点在特征向量上的投影;
- 用投影的最大值减去最小值,得到三个特征方向上的长度。
当长度阈值设置为105mm、45mm、22mm时,筛选结果如上图。
ICP优化算法
ICP对初始计算值的选取非常严格,如果选择了不合适的初值,会使算法陷入局部最优,可能造成匹配失败,因而粗配准是ICP算法精确定位必要的步骤。
一种遗传算法结合自适应阈值约束优化的ICP位姿估计方法:
trick | 效果 | 优化点 |
---|---|---|
利用遗传算法 | 得到目标点集相对参考点云初始位姿的全局最优解 | 时间↓ |
采用自适应欧氏距离约束 | 可以剔除大部分局部大变形点 | 精度↑ |
利用法向量夹角阈值 | 进一步剔除满足距离条件但不满足夹角条件的误匹配点对 | 精度↑ |
☆遗传算法优化的初始位姿计算
遗传算法作为一种全局寻优的方法,可有效克服陷于局部最优的缺点。
编码方式和适应度函数是遗传算法实现的关键。
(1)染色体编码
本文的编码就是用编码的方式表示六自由度位姿转换的解,并将问题的解映射到搜索空间,每个编码的染色体都代表问题的解。
针对目标点集和参考点云的位姿计算问题,可以将其解分为平移和旋转,由于该算法用于点云的粗匹配,因此平移解可利用两片点云质心的相对位置关系求解,即计算目标点集的形心到参考点云形心的相对位置变换,这样只需要优化三个旋转角变量α、β、γ。
α,β,γ的定义域为,取间隔为,则旋转角定义域为,可转化为
数值120对应的二进制编码为1111000,故解的编码可用21位二进制编码表示,其中前面7位表示绕X轴转角、中间7位表示绕Y轴转角、后面7位表示绕Z轴转角。
(2)适应度函数
适应度函数是判断子代种群中个体优劣的决定因素,它的选取对遗传算法的收敛速度和最优解的寻找具有关键作用。
采用符合欧氏距离阈值的点数构造适应度函数。
- $
W_i =
\begin{cases}
1,参考点云Q中存在一点j使||r_{ij}||<δ \\
0,参考点云Q中不存在点j使||r_{ij}||<δ \\
\end{cases}
$ - :参考点云Q中点的个数
- :目标点集P中点的个数
- :阈值
- :目标点集P中一点i与参考点云Q中一点j之间的欧氏距离
☆阈值约束优化的精确位姿计算
ICP算法采用最近邻点求两片点云之间的变换参数R和T,使用的方法就是不停的计算和迭代。
在传统ICP算法中,判断迭代停止的条件是整体误差小于某一固定阈值或手动设置迭代上限,前者需要先验信息且不能反应出局部匹配的好坏,尤其是存在局部大变形点时,收敛速度较慢,后者可能导致匹配结果较差或过度迭代。
本文根据每次匹配的结果自动更新欧氏距离偏差阈值,并结合法向量夹角滤除点群中的局部大变形点。
设第k次匹配后目标点集为,k=1,2,…,第k次迭代后的目标函数为:
- :第k次旋转矩阵
- :第k次平移矩阵
- :第k次变换前的目标点集
- :参考点云
计算位姿定位误差E:
实验验证
位姿估计实验工件(圆柱木块):
工件 | 数量 | 参数 |
---|---|---|
混乱工件 | 各5个 | 直径40mm、长100mm 直径30mm、长120mm 直径30mm、长60mm |
参考工件 | 共1个 | 直径40mm、长100mm |
实验平台:
平台 | 配置 |
---|---|
操作系统 | Win7 64位 |
IDE | VS2013 64位 |
点云库 | PCL 1.8.0 |
计算机配置 | CPU i7-4790,内存8GB |
单目标点云注册
- 箱体混乱工件点云
- 点云去噪去除噪声
- 用区域增长法对点云进行分割,得到单个工件的点集,用于后期一对一的点云位姿计算
- 对点集进行筛选,得到符合条件的点云,以减少算法运行时间
- 参考工件点云
- 经过点云去噪后即可作为模板点云
主要原因:圆柱体木块具有圆柱面和平面几何形状,而圆柱面是旋转对称的,因此无需对工件进行完整三维重构,只需利用曲面匹配即可计算点云间的相对位姿。
粗略位姿估计
取遗传算法的初始种群规模为60,距离阈值δ=2.5mm
目标点云与模板点云形心重合且以形心为坐标原点(故可以只忽略平移,只考虑旋转),然后采用遗传算法进行位姿粗匹配
精确位姿估计
对比算法:
算法 | 文献 |
---|---|
传统ICP | Besl P J, Mckay N D. A method for registration of 3D shapes [J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1992, 14(2): 239-256. |
ICP+KDTree | [41]徐万鑫, 许宏丽. 改进的ICP算法在点云配准中的应用[C]. 中国系统仿真技术及其应用学术年会. 2012: 205-208. |
PCA+ICP+KDTree | [38]钟莹, 张蒙. 基于改进ICP算法的点云自动配准技术[J]. 控制工程, 2014, 21(1): 37-40. |
GA+ICP+KDTree | [37]Zhu J, Meng D, Li Z, et al. Robust registration of partially overlapping point sets via genetic algorithm with growth operator [J]. IET Image Processing, 2014, 8(10): 582-590. |
本文方法 |
对比参数:
参数 | 含义 |
---|---|
精度 | 相邻两次迭代的欧氏距离均方差的差异小于0.001mm时的欧氏距离均方差 |
时间 | 相邻两次迭代的欧氏距离均方差的差异小于0.001mm时的算法耗时 |
迭代次数 |
工件三维定位与误差分析
在工业实际中,总是存在各种光照干扰,故本文不采用其他辅助光源,分别对不同材质、不同形状、不同大小的箱体混乱工件进行实验,从迭代次数、匹配耗时、定位误差、识别率等角度来评价本文提出的RBP解决方案。(分析算法的可靠性和通用性)
实验装置
结构光双目视觉测量系统
平台 | 配置 |
---|---|
两台IMAGING相机 | IMAGING DMK23GP031 COMS相机,传感器制式为1/2.5,分辨率为2588×1940,像元大小为2.2×2.2μm |
两个KOWA工业镜头 | KOWA百万分辨率镜头,制式为2/3,焦距12mm,光圈值为F1.4 |
一台EPSON投影仪 | |
网格标定板 | |
两台计算机 | 计算机B CPU i7-4790,内存8GB 软件平台为Matlab R2014a、VS2013,库文件为PCL1.8.0 |
木质工具实验
注意:箩筐里放了多种不同的木质工具。
初始点云存在大量噪声,因此要对点云进行预处理,去除离群点,同时,对各个目标点集进行分割,用于一对一的模板匹配。
由于木块面积较小,在进行单个工件注册时噪声较多,因此为了提高匹配的精度,尽量减少模板噪声。
在筛选时,采用面积阈值法进行筛选,即目标点集点云个数要大于参考点云的一半,从筛选结果可以看出,除了遮挡严重和立着的木块,其他木块均可被检测出。
塑料工具实验
金属工具实验
综合分析
工件 | 类型 | 详情 |
---|---|---|
木质 | 矩形木块 | 长51mm、宽16mm、高9mm |
木质 | 圆柱体木块 | 直径40mm、长100mm 直径30mm、长120mm 直径30mm、长60mm |
塑料 | 白色塑料瓶 | 瓶口到底部高度47mm,瓶身直径21.5mm |
金属 | 圆柱体铝块 | 直径2.4cm,长2.2cm 直径2.4cm,长4.4cm 直径2.4cm,长6.6cm |
金属 | 塞打螺栓 | 规格¢8*50的12.9级公制塞打螺栓 |
分析思路:
先单独分析每一项,再综合分析,再分析影响定位精度的因素
单独分析
- 三维重构与点云预处理
4张图(实物图、重构结果、滤波效果、分割效果) - 点集筛选与位姿计算
参考工件点云及点集筛选结果:3张图(参考点云、所有目标、筛选结果)
位姿定位和误差计算:2张图(木块位姿定位图、点集误差收敛图)、2张表(点云计算结果表、位姿定位结果表)
- 三维重构与点云预处理
综合分析
- 对比三种材质的工件,可以发现,木质工件和塑料工件的可识别性要大于金属工件,不管形状、大小、遮挡等因素,至少能够识别箱体中两个目标;
- 对比不同的形状,立方体平面的定位误差要小于圆柱体曲面的定位误差,所有的工件中,只有立方体木块的定位误差小于0.4mm;
- 对比不同的大小,大工件的可识别性大于小工件的可识别性,但耗时较多。
影响定位精度的因素
- 传感器标定误差
- 标定板的精度
- 角点提取精度
- 左右图像的采集延时
- 三维重构误差
- 特征提取(光照、拍摄角度、镜头畸变)
- 立体匹配
- 点云处理误差
- 点云预处理(部分贴近工件表面的离群点难以去除)
- 点云分割(利用曲率分割,当一个工件存在较大的曲面转折时,可能会被分割成多个点集,而箱体底面、箱体侧面对平面的分割也会产生干扰)
- 位姿计算(夹角阈值和欧氏距离阈值均会影响匹配的精度和速度)
- 传感器标定误差
主要结论与展望
主要结论
- 设计RBP系统整体方案(参考FANUC iRVision 3D Area Sensor硬件架构和功能实现),完成编码结构光立体视觉定位系统的硬件选型,从图像获取到位姿定位的软件实现(没有涉及到手眼标定和机器人抓取)
- 针对结构光测量中的边缘扩散问题,在Gray码边缘解码基础上,提出一种改进型线移的组合编码方法
- 针对传统ICP算法存在的缺点,在初始点云预处理的基础上,提出一种遗传算法结合自适应阈值约束优化的ICP位姿估计方法
- 利用本文算法对不同材质、不同形状、不同大小的混乱工件进行整体测试
展望
- 在三维重构中:
- 条纹边缘提取的精度不够高(可采用亚像素边缘提取方法)
- 编码图案较多影响算法实时性(可将正交投射优化为极线约束立体匹配)
- 未能实现投射图案与采集图像的同步触发(可采用嵌入式系统整合投影仪图案投射与摄像机图像采集)
- 若采用复杂曲面工件或不规则形状工件,本文方法难以保证点云分割的准确性
(本文实验对象:具有一定曲面信息的工件,且曲面曲率整体变化较小)
解决方法(二选一):- 在注册参考点云时,对工件进行完整扫描,合成工件的所有信息,在位姿匹配时,只需要目标工件的部分曲面即可完成定位
- 利用点云的特征,计算注册工件的特有特征,然后在箱体点云中搜索具有同一特征的点集,再利用匹配算法实现定位
- 本文方法就不能应用于金属螺栓的定位,需提高RBP系统的通用性
(RBP的设计应当考虑不同应用的需求,包括目标工件的材质、形状、大小、几何特征、凌乱程度等)
我的思考
设计实验时如何验证?如何衡量定位误差和精度?
不同材质、不同形状、不同大小
由于本文未涉及机械臂抓取,故没有定位误差
精度为相邻两次迭代的欧氏距离均方差的差异小于0.001mm时的欧氏距离均方差
误差为源点云与匹配点云之间的欧式距离,貌似与精度等价是否涉及机器人示教?
不涉及,文中没有手眼标定、机器人抓取不同三维重构算法、不同位姿估计算法?
三维重构算法:§5混乱工件三维重构-实验验证-三维重构(文献[17]、文献[20]、本文方法)
位姿估计算法:§6混乱工件位姿定位-实验验证-精确位姿估计(传统ICP、ICP+KDTree、PCA+ICP+KDTree、GA+ICP+KDTree、本文方法)
硕士_基于点云处理的散乱零部件识别与定位技术的研究
摘要
提纲 | 简述 |
---|---|
领域 | 随机箱体抓取(RBP) |
论文重点 | 分割 配准 |
工作量:
- 针对机器人随机箱体抓取过程中场景分割困难的问题,提出基于改进欧式聚类的散乱零部件点云分割方法。
- 预处理阶段,采用直通滤波和迭代半径滤波方法,得到去除干扰点后的零部件点云
- 通过基于法线夹角的边缘检测方法去除点云中的边缘点,使相互碰撞的零件在空间上分离
- 采用改进的搜索半径自适应欧式聚类方法进行点云分割,得到多个零件点云子集
- 根据基于距离约束的方法将去除的边缘点补齐到点云子集之中,从而完成点云分割
- 此外,提出线下模板点云注册为分割提供参数选取依据,保证了分割结果的准确性,提高了分割速度
- 实验结果表明,该方法能够准确地分割出感兴趣零件,分割速度约696ms,满足工业机器人抓取的实时性要求。
- 针对目标识别和定位问题,提出基于SHOT特征融合的点云配准方法。
- 线下建立模板点云特征库,用于后续单个零件的位姿计算
- 线上对分割得到的各零件点云子集进行位姿估计,提出基于方向包围盒裁剪的方法,得到去除稀疏边缘点后的零件点云,结合均匀采样算法获取关键点集
- 通过改进SHOT特征描述子对关键点进行唯一性描述;采用最小方差法查找零件点云的关键点在模板点云中的对应点,根据对应关系求解初始变换矩阵
- 使用ICP算法进行精确配准,得到零件的精确位姿信息。
- 实验结果表明,本文算法可以准确快速的分割出各零件,且配准效果相对于基于SHOT特征配准、FPFH特征配准算法精度分别提高了37.10%和30.07%,配准速度分别提高了21.21%和35.64%
RBP系统
运用3D视觉结合三维数据处理技术解决RBP问题,可转化成采用视觉技术识别和定位箱体中的目标。
整个过程包括以下六个部分:
- 零部件点云数据获取(关键)
- 零部件的位姿估计(关键)
- 选取最优抓取对象
- 定义抓取点
- 确定抓取路径
- 抓取错误管理
本课题的研究目标:识别和定位箱体内单个零件,得到其位姿信息
算法分为三个部分:
- 点云数据获取
- 预处理与分割(重点)
- 位姿估计(重点)
研究进展
RBP研究进展
工业界:
公司 | 产品 | 概述 |
---|---|---|
德国ISRA Vision公司 | IntelliPICK3D | 两台相机、一个激光线扫装置;几乎适用于所有零件 |
日本FANUC公司 | iRVision 3DL 3D Area Sensor LR Mate 200iD |
2006年,激光器+全局相机 2012年,双目相机+投影仪 2016年,使用深度学习,反复抓取获得抓取模型 |
丹麦Scape Technologies公司 | 2005年,两个固定相机、一个随动相机 2009年,单个相机固定在机械臂末端,外加红色光源增强光照 2014年,UR机械臂上固定一个随动相机,无需外部光照 |
|
南京埃斯顿(ESTUN)机器人有限公司 | 意大利引进 | |
上海沸谷自动化科技有限公司 | FG-IR200 | 结构光和激光结合 |
北京大恒图像 | 机器人3D视觉引导智能装配系统 | 3D智能传感器 |
学术界(参考文献[3]~[6]、[7]~[12]):
作者/年份/论文 | 概述 |
---|---|
[3]Drost B等/2010 Model globally, match locally: efficient and robust 3D object recognition |
结合了投票法和哈希表,生成全局模型描述符,用来识别自由形态的对象及其6-DoF姿态。 |
[4]Fukuchi N等/2016 Pose estimation for random bin picking with random forest |
给出一种随机森林随机抓取的位姿定位方法,提出立方体特征(CF)和基于段特征对,采用随机森林算法实现模板点云和场景点云对应点查找,算法可以实现高精度工业位姿定位。 |
[5]He R等/2017 A 3D object detection and pose estimation pipeline using RGB-D images |
提出基于RGB-D图像对管道进行三维检测,可实现多个对象同时检测,同时减少误报,平均抓取成功率为83.41%。 |
[6]Song K T等/2017 CAD-based pose estimation design for random bin picking using a RGB-D camera |
提出一种基于CAD的6-DoF姿态估计方法,使用虚拟相机生成测量对象点云数据库,通过投票法识别并估计不同物体的6-DoF姿态,识别率可达到92.39%,抓取成功率为89.67%。 |
[7]广东工业大学柯科勇/2016 [硕士]基于双目视觉的散乱堆放零件拾取系统 |
提出散乱堆放工件抓取解决方案,采用区域生长算法对获取的点云进行分割,得到零件点云子集,提取ISS关键点并计算关键点的SHOT特征描述子,最后通过模板匹配估计零件位姿信息,抓取成功率首次和再次抓取的成功率分别为58.3%,86.3%,平均耗时676s。 |
[8]上海大学丁美昆等/2016 基于Kinect的机器人臂手系统的目标抓取 |
采用Kinect相机获取深度图像,并进行深度分割,然后基于颜色、形状特征进行目标识别,定位误差约为10mm。 |
[9]哈尔滨工业大学佐立营/2015 [硕士]面向机器人抓取的散乱零件自动识别与定位技术研究 |
提出基于Kinect的散乱零件位姿估计方法,首先对点云进行空洞修复,然后基于全局阈值和平面特征将目标从背景中分离,最后使用RANSAC方法进行位姿估计,定位误差小于5mm,角度误差约3°。 |
[10]山东机器人重点实验室和自动化制造技术研究所的FanX等/2014 A combined 2D-3D vision system for automatic robot picking |
通过结合2D和3D视觉来决定混乱场景中目标的零件位置,定位精度小于10mm。 |
[11]中国科学院大学郑晶怡/2017 基于形状先验模型的平面型工件抓取位姿检测 |
为了实现平面工件位姿估算,首先建立工件的先验形状模型,然后结合图割法将工件复杂环境分割出来,从而计算出平面法向量,得到工件位姿。 |
[12]江南大学石爱军/2017 [硕士]基于编码结构光的立体视觉定位技术的研究与开发 |
通过搭建结构光三维测量系统进行场景三维重构,重构误差在2mm以内,然后对获取到的点云数据使用改进的ICP算法进行精确位姿估计,为后续的机器人抓取提供依据。 |
相关论文:1
2
3
4
5
6
7
8
9
10[3] Drost B, Ulrich M, Navab N, et al. Model globally, match locally: efficient and robust 3D object recognition [C]. Proc 2010 IEEE International Conference on Computer Vision and Pattern Recognition, pp, 2010: 998–1005.
[4] Fukuchi N, Arai S, Hashimoto K. Pose estimation for random bin picking with random forest [J], 2016, (1): 2A1-19b7.
[5] He R, Rojas J, Guan Y. A 3D object detection and pose estimation pipeline using RGB-D images[J]. arXiv preprint arXiv:1703.03940, 2017:1-7.
[6] Song K T, Wu C H, Jiang S Y. CAD-based pose estimation design for random bin picking using a RGB-D camera [J]. Journal of Intelligent & Robotic Systems, 2017, 87(3-4): 1-16.
[7] 柯科勇. 基于双目视觉的散乱堆放零件拾取系统[D]: [硕士学位论文]. 广州: 广东工业大学机电工程学院, 2016.
[8] 丁美昆, 徐昱琳, 蒋财军, 等. 基于Kinect的机器人臂手系统的目标抓取[J]. 上海大学学报自然科学版, 2016, 22(4): 421-431.
[9] 佐立营. 面向机器人抓取的散乱零件自动识别与定位技术研究[D]: [硕士学位论文]. 哈尔滨: 哈尔滨工业大学机电工程学院, 2015.
[10] Fan X, Wang X, Xiao Y. A combined 2D-3D vision system for automatic robot picking [C]. Advanced Mechatronic Systems, 2014 International Conference on, 2014, 513-516.
[11] 郑晶怡,李恩,梁自泽. 基于形状先验模型的平面型工件抓取位姿检测[J]. 机器人, 2017, 39(1): 99-110.
[12] 石爱军. 基于编码结构光的立体视觉定位技术的研究与开发[D]: [硕士学位论文].江南大学物联网工程学院, 2017.
总述:
多局限于简单零件的识别和定位,对于RBP应用的开发还处于初始阶段
点云获取方法
参考文献[14]
相关论文:1
[14] 郝雯, 王映辉, 宁小娟, 等. 面向点云的三维物体识别方法综述[J]. 计算机科学, 2017, 44(9): 11-16.
接触式 | 非接触式 | |
---|---|---|
描述 | 通过将传感探头接触被测物体表面来获取物体表面三维数据 | 基于光学原理、声学原理等进行数据采集,将一定的物理量通过适当的算法转换为被测物表面的三维坐标点 |
优点 | ①对物体颜色和光照没有要求 ②能精确测量物体的轮廓边缘 ③测量精度高 |
①测量速度快 ②不与物体接触 ③测量精度高 |
缺点 | ①速度慢,效率低 ②不宜测量变形、易碎、很薄以及材质偏软的物体 |
①不容易确定被测物的边缘 ②对光照和物体表面情况变化不具有鲁棒性 |
工业实际应用中会根据被测对象的性质、测量精度和速度需求、成本选取合适的测量方法
本文采用基于结构光立体视觉系统获取散乱零部件表面的三维点云数据
点云分割研究现状
参考文献[15]~[31]、[9]、[52]~[54]
相关论文:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22[15] Nguyen A, Le B. 3D point cloud segmentation: a survey [C]. 2013 6th IEEE Conference on Robotics, Automation and Mechatronics (RAM). 2013: 225-230.
[16] Grilli E, Menna F, Remondino F. A review of point clouds segmentation and classification algorithms [J]. Int. Arch. Photogramm. Remote Sens. Spatial Inf. Sci, 2017, 42(2): 339-344.
[17] Giovanna Sansoni, Paolo Bellandi etc. A 3D pattern matching method for bin picking applications [J]. Optics and Lasers in Engineering. 2014, 54: 222–231.
[18] 孙红岩, 孙晓鹏, 李华. 基于 K-means 聚类方法的三维点云模型分割[J]. 计算机工程应用, 2006, 10: 42-45.
[19] 吴燕雄, 李峰, 刘芳, 等. 平滑度欧式聚类算法分割点云数据[J]. 测控技术, 2016, 35(3): 36-38.
[20] 李宝顺, 岑红燕. 基于平面提取的点云数据分割算法[J]. 计算机应用与软件,2014, 31(7): 145-148.
[21] Bao T, Zhao J, Xu M. Step edge detection method for 3D point clouds based on 2D range images [J]. Optik-International Journal for Light and Electron Optics, 2015, 126(20): 2706-2710.
[22] Lim T W, Ramos P F, O’Dowd M C. Edge detection using point cloud data for noncooperative pose estimation [J]. Journal of Spacecraft & Rockets, 2016, 54(2): 1-6.
[23] 倪欢, 张继贤, 林祥国. 三维点云边缘检测和直线段提取进展与展望[J]. 测绘通报, 2016 (7): 1-4.
[24] 丰少伟, 张晶, 杨云生. 基于形状特征的点云简化技术研究[J]. 微型机与应用, 2011, 30(7): 32-35.
[25] 王果, 沙从术, 王健. 考虑局部点云密度的建筑立面自适应分割方法[J]. 激光与光电子学进展, 2015, 52(6): 108-113.
[26] 卢维欣, 万幼川, 何培培, 等. 大场景内建筑物点云提取及平面分割算法[J]. 中国激光, 2015, 42(9): 336-342.
[27] Vo A V, Truong-Hong L, Laefer D F, et al. Octree-based region growing for point cloud segmentation [J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2015, 104: 88-100.
[28] Tóvári D, Pfeifer N. Segmentation based robust interpolation-a new approach to laser data filtering [J]. International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences, 2005, 36(3/19): 79-84.
[29] 朱德海. 点云库 PCL 学习教程[M]. 北京:北京航空航天大学出版社. 2012: 338-350.
[30] Choi C, Christensen H I. 3D pose estimation of daily objects using an RGB-D camera [C]. Ieee/rsj International Conference on Intelligent Robots and Systems, 2012: 3342-3349.
[31] R. Schnabel, R. Wahl, R.Klein. Efficient ransac for point cloud shape detection [J]. Comput Graph. Forum, 2007, 26(2), 214-226.
[9] 佐立营. 面向机器人抓取的散乱零件自动识别与定位技术研究[D]: [硕士学位论文]. 哈尔滨: 哈尔滨工业大学机电工程学院, 2015.
[52] Sansoni G, Bellandi P, Leoni F, et al. Optoranger: a 3D pattern matching method for bin picking applications [J]. Optics and Lasers in Engineering, 2014, 54:222-231.
[53] 樊丽, 刘晋浩, 黄青青. 基于特征融合的林下环境点云分割[J]. 北京林业大学学报, 2016, 38(5): 133-138.
[54] 李洋洋, 史历程, 万卫兵, 等. 基于卷积神经网络的三维物体检测方法[J]. 上海交通大学学报, 2018(1).
点云分割:将点云分成多个区域的过程,同一区域中的数据点具有相同的属性。
点云分割分为四大类:
- 基于属性(参考文献[17]~[20])
基于点云属性进行分类,算法鲁棒性好。
可分为两步:第一步计算属性,第二步根据所计算的属性进行分类,将具有相似属性的点划分到一组。
聚类分割方法提供了适应空间关系和属性的灵活性。这些方法的局限性在于它们高度依赖于所选属性的质量。——(参考文献[9]、[52]~[54])
属性:距离、法向量、点密度、水平或垂直方向上点分布等。 - 基于边缘(参考文献[21]~[24])
通过检测点云中区域间的边界获得分段区域,其关键是确定强度急剧变化的点。
边缘描述物体的形状特征,现有的点云边缘检测算法分为两类:直接检测边缘、间接检测边缘。两者都存在边缘漏检、算法通用性受到限制、自动化程度低等缺点。
有待进一步深入研究。 - 基于区域(参考文献[25]~[28])
基于邻近点信息的相似性进行分类的分割方法。
最常见的是区域生长法,算法需要预先选取种子区域,如果种子区域邻近点满足既定准则或是阈值条件(如曲率),若该邻近点属于该区域,从而实现区域生长。该算法缺点为时间消耗大、对边界点的法线或曲率的不准确估计敏感。——参考文献[25][26] - 基于模型(参考文献[29]~[31])
使用几何原始形状(如球体,圆锥体,平面)进行分组,具有相同数学表示的点被分为一类。
典型代表是随机采样一致性(RANSAC)算法,但是其只能从特定的点云中分割出一个模型,并不适合具有多个点云聚类的场景点云分割的问题。——参考文献[31]
作者/年份/论文 | 概述 |
---|---|
[17]Giovanna Sansoni等/2014 A 3D pattern matching method for bin picking applications |
首先利用k-d树建立点云的拓扑关系,然后计算点云中点的k邻域范围的平均欧式距离,去除大于所设阈值的点达到初步分割点云的目的,最后设置邻域半径阈值,将距离小于阈值的点归为一类,完成点云分割。 |
[18]孙红岩等/2006 基于K-means聚类方法的三维点云模型分割 |
提出基于k-means聚类方法的三维点云模型分割,从三维模型面片重心坐标中选定k个坐标作为初始聚类中心,并依据最小距离原则将集合中的面片重心坐标划分到k类中的某一类,然后重新计算聚类中心,直到其距离平方和最小从而达到最佳聚类。该算法易实现且速度快。但是受类数目和初始聚类中心的影响,算法结果是局部最优的。 |
[19]吴燕雄等/2016 平滑度欧式聚类算法分割点云数据 |
提出一种平滑度欧式聚类点云分割算法,在传统的欧式聚类分割算法的基础上加入平滑阈值的约束来防止过分割或欠割,算法分割速度快,在对阀门点云数据的分割实验中取得了不错的效果。 |
[20]李宝顺等/2014 基于平面提取的点云数据分割算法 |
提出一种基于平面提取的点云数据分割算法,达到分割的目的,实验结果表明,该算法能取得很好的分割效果,并能获得数据本身含有的几何信息,抗噪性和鲁棒性好。 |
[23]倪欢等/2016 三维点云边缘检测和直线段提取进展与展望 |
提出了一种边缘检测技术,通过计算梯度,将3D线确定到设定点,并检测表面上单位法向量方向的变化。 |
[24]丰少伟等/2011 基于形状特征的点云简化技术研究 |
将范围图像的扫描线分割成曲线,然后将它们聚类来表示曲面,这种方法在分割质量和运行时间方面都是有利的。但它只适用于范围图像,对于不均匀的密度点云分割效果欠佳。 |
[27]Vo A V等/2015 Octree-based region growing for point cloud segmentation |
提出基于八叉树的区域生长点云分割方法。 |
[28]Tóvári D等/2005 Segmentation based robust interpolation-a new approach to laser data filtering |
介绍了一种机载激光点云的区域生长分割方法,该方法将种子区域的法向量和生长平面的距离结合作为评判准则。 |
[52]Sansoni G等/2014 Optoranger: a 3D pattern matching method for bin picking applications |
在欧式聚类算法的基础上优化了子集选择,根据分割子集的深度值来判断零件的遮挡与被遮挡关系。 |
[9]佐立营/2015 [硕士]面向机器人抓取的散乱零件自动识别与定位技术研究 |
将零件点云分割分为两个部分,首先结合统计距离和空间聚类实现粗分割,然后对欠分割子集,通过法线差异提取零件平面特征,根据平面特征实现进一步分割。 |
[53]樊丽等/2016 基于特征融合的林下环境点云分割 |
融合法线和激光反射强度共同作为判断准则,实现林下环境的聚类分割。 |
[54]李洋洋等/2018 基于卷积神经网络的三维物体检测方法 |
为了减少物体检测的计算量,采用随机采样一致和欧式聚类算法相结合的方法分割出物体的平面。 |
点云配准研究现状
参考文献[32]~[44]
相关论文:1
2
3
4
5
6
7
8
9
10
11
12
13[32] Weber C, Hahmann S, Hagen H. Sharp feature detection in point clouds [C]. Shape Modeling International Conference. Computer Society, 2010: 175-186.
[33] Wohlkinger W, Vincze M. Ensemble of shape functions for 3D object classification [C]. IEEE International Conference on Robotics and Biomimetics, 2012: 2987-2992.
[34] Rusu R B, Blodow N, Beetz M. Fast point feature histograms (FPFH) for 3D registration [C]. IEEE International Conference on Robotics and Automation, 2009: 3212-3217.
[35] Cheng G, Wang G, Lin X. Hand gesture recognition using 3d shape context feature on depth images [J]. Journal of Computational Information Systems, 2015, 11(1): 9-16.
[36] Guo Y, Sohel F, Bennamoun M, et al. Rotational projection statistics for 3D local surface description and object recognition [J]. International Journal of Computer Vision, 2013, 105(1): 63-86.
[37] Tombari F, Salti S, Stefano L D. Unique signatures of histograms for local surface description [C]. European Conference on Computer Vision Conference on Computer Vision. Springer-Verlag, 2010: 356-369.
[38] Bielicki J, Sitnik R. A method of 3D object recognition and localization in a cloud of points [J]. Eurasip Journal on Advances in Signal Processing, 2013, 2013(1): 1-13.
[39] Salti S, Tombari F, Stefano L D. SHOT: Unique signatures of histograms for surface and texture description [J]. Computer Vision & Image Understanding, 2014, 125(8): 251-264.
[40] 张凯霖, 张良. 复杂场景下基于 C-SHOT 特征的 3D 物体识别与位姿估计[J]. 计算机辅助设计与图形学学报, 2017, 29(5): 846-853.
[41] Besl P J, Mckay N D. A method for registration of 3D shapes [J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1992, 14(2): 239-256.
[42] 杨小青, 杨秋翔, 杨剑. 基于法向量改进的 ICP 算法[J]. 计算机工程与设计, 2016, 37(1): 169-173.
[43] 刘斌, 郭际明, 邓祥祥. 结合八叉树和最近点迭代算法的点云配准[J]. 测绘科学, 2016, 41(2): 130-132.
[44] 秦绪佳, 徐菲, 王建奇, 等. 基于法向量直方图特征描述的点云 ICP 拼接[J]. 小型微型计算机系统, 2016, 37(3): 593-597.
点云配准:模型点云和目标点云的匹配过程
点云配准分为两大类:
- 粗配准
- 基于图
使用一个图来提取3D形状的几何属性
图表示形状分量之间的类型和空间关系
优点:姿态的独立性和能够实现部分匹配
缺点:不同形状对象需要不同的匹配方法,并且计算时间长;匹配效果对图的变化比较敏感 - 基于视图
原理:两个被测对象当且仅当从所有视角看起来都相似时,才判定两者类似。
因其相似性比较是旋转独立的,所以该类方法的位姿亦具有独立性。
该方法可以应用在几乎所有类型的对象,且不需要任何特征提取。
然而,在数据库和图像获取方面,基于视图计算复杂性较高,这使得该算法不适用于实时应用之中。 - 基于特征(参考文献[32]~[40])
通过在模型点云和目标点云的特征对应,建立两者之间的转换关系,并输出配准质量最好的转换关系。
特征的描述和选取很重要,其结果直接影响后续配准的准确性。
特征可以分为全局特征和局部特征,通过测量和比较3D形状的几何形状和拓扑属性来区分3D对象。
全局特征:对于杂乱、有遮挡场景的抗干扰能力不强
局部特征:对视点、杂波和遮挡的变化具有很好的鲁棒性(在工业上采用的最多)
- 基于图
- 精配准(参考文献[41]~[44])
- ICP(Iterative Closest Point,迭代最近点算法)——参考文献[41]
优点:原理简单易实现,配准精度高
缺点:(1)当两幅点云之间不存在包含关系或初始位置偏差较小时,算法易陷入局部最优;(2)迭代收敛速度慢
- ICP(Iterative Closest Point,迭代最近点算法)——参考文献[41]
常见的局部特征描述子:
- 快速点特征直方图描述子(Fast Point Feature Histograms,FPFH)——参考文献[34]
- 3D形状内容描述子——参考文献[35]
- 旋转图像、方向直方图签名描述子(Signature of Histograms of OrienTations,SHOT)——参考文献[37]
- 旋转投影统计——参考文献[36]
描述子 | 选型标准 | 特点 |
---|---|---|
旋转投影统计描述子 | 不具有实时性 | 抗噪能力好 鉴别力最好 实时性较差 |
FPFH | 具有实时性 局部表面上的点较少 |
鉴别力强 运算速度快 占用存储资源少 |
SHOT | 具有实时性 局部表面上的点较多 |
在鉴别力与计算效率之间能取得很好的折中 |
作者/年份/论文 | 概述 |
---|---|
[37]Tombari F等/2010 Unique signatures of histograms for local surface description |
SHOT描述子结合了几何分布信息的鲁棒性和直方图统计信息的特异性。 (3D特征描述符分为两类:基于标签和基于直方图特征描述符,分别强调特征的描述性和鲁棒性) SHOT特征结合了两者的优点,具有很好的可重复检测性,且特征描述具有旋转和尺度不变性。 |
[39]Salti S等/2014 SHOT: Unique signatures of histograms for surface and texture description |
将颜色特征加入描述子,增加了特征的描述性。 |
[40]张凯霖等/2017 复杂场景下基于C-SHOT特征的3D物体识别与位姿估计 |
将颜色信息加入SHOT特征之中,用于目标与模板之间的匹配,实现了复杂场景下3D物体识别和位姿估计。 |
[42]杨小青等/2016 基于法向量改进的ICP算法 |
提出基于法向量改进的ICP算法,根据点云法向量间夹角特征选取关键点,计算关键点的曲率,通过主曲率特征获取初始对应点集,用高斯曲率和点间距离双重约束去除误匹配点对,最后通过四元组法计算最优刚体变换。 |
[43]刘斌等/2016 结合八叉树和最近点迭代算法的点云配准 |
首先通过八叉树查找点云重叠之处,然后进行配准,花费时间3~6s,精度达到毫米级。 |
[44]秦绪佳等/2016 基于法向量直方图特征描述的点云ICP拼接 |
针对传统的ICP算法收敛速度慢的缺点进行改进,将法向量直方图作为点云特征描述子,优化对应点集的查找,从而改进ICP算法。 |
点云获取系统方案设计
摄像机成像模型
同《硕士_基于编码结构光的立体视觉定位技术的研究与开发》§4系统数学模型
系统硬件选型/系统软件处理
点云邻域及基本特征
邻域构建方法:
- k近邻搜索
- r半径搜索
邻域搜索方法:
- kd-tree(k-d树)
- octree(八叉树)
根据编码结构光所得点云特点,其数据量约为10万以内,在考虑查找速度的前提下,本文使用更具有计算量和稳健性优势的k-d树划分方法。
基本特征(许多特征描述子的基础):
- 法线
法线计算方法:PCA法(依赖r邻域半径选取) - 曲率:描述了点局部拟合表面的弯曲程度,常用于处理带有曲面的对象
曲率计算方法:多项式拟合、主成分分析法、移动最小二乘法
点云预处理和分割
随机箱体抓取过程中的关键问题:有效地将单个零件从场景中准确的分离出来
点云预处理
噪声点会对场景分割以及后续目标位姿估计的精度和速度造成影响,因此需要进行预处理,即去除点云中的噪声点(冗余点、离群点)。
- 冗余点:多来自箱体底部平面点和四周箱体壁点,属于非感兴趣部分的无用点
- 离群点:脱离点云主体的点,来源于未完全消除的冗余点、孤立的点;位于边缘的点测量精度不高,测量结果比较稀疏,也视作离群点。
冗余点(背景点)去除
用随机采样一致性(RANSAC)算法拟合箱体底部平面方程,再采用直通滤波器去除滤除深度值在z值附近的数据点。
直通滤波器:如果根据Z轴的值的大小来进行滤波,滤波器将滤波字段设为Z轴方向,设置可接受的范围(a,b),即将点云中坐标不在该范围内的点过滤掉。
离群点去除
三类离群点:
- 图(a)中离群点为杂乱的稀疏点,呈独立分布
- 图(b)中离群点为零件表面的伪边缘点,是由投影阴影导致的
- 图(c)离群点来自未去除干净的背景点
离群点在数学上的体现:(两种判定方式效果相近)
- 在指定半径中含有较少的临近点(本文选取)
- 在指定邻近点数量下具有较大的平均距离
半径滤波器:通过检测数据点邻域半径r内的近邻点数目是否小于预设阈值TH来消除离群点
不同邻域半径下,近邻点数目阈值TH选取也不同,TH过小离群点去除不彻底(图(a)),过大则会去除过度,误删了零件边缘点(图(b))
文献[9]指出,实际点云中边缘上点的邻近点数量接近搜索区域近邻点数量最大值的50%
故通过统计不同邻域下模板点云的最大邻近点数目,在给定邻域时,选取接近其对应最大邻近点数目50%的值作为阈值,可以去除大部分离群点。(但一次滤波很难完全去除离群点)
☆本文提出迭代半径滤波方法:在初始滤波的基础上引入迭代思想,不改变邻域大小,进行多次重复滤波,直到滤波前后点云数目收敛于某个固定值,终止迭代。
本文采用k-d树邻近点搜索算法搜索查询点的近邻点,该算法搜索速度快,执行效率高。
基于改进欧式聚类的散乱零部件点云分割
点云分割概述
聚类分割在实际工业应用中使用最广泛
聚类分割:根据对象的某一特征(如距离、法线、曲率等)对点云进行划分,使得同一划分内的点云子集拥有相似的属性。(关键在于特征的选择)
- 相较于基于模型的分割方法,分割效率更高
- 相较于基于边缘的分割方法,分割结果更加准确,鲁棒性好
- 相较于区域生长分割算法,具有明显的速度优势
本文选用易实现、速度快的欧式聚类分割方法(考虑到工业生产效率和实时性要求)
本文提出基于改进欧式聚类的散乱零件点云分割方法(欧式聚类的邻域搜索半径固定,易出现欠分割或过分割的现象)
基于欧式聚类的点云分割
传统的基于距离的聚类分割算法是基于点与点之间的欧式距离的分割方法
其原理是:
①给定聚类的种子点,建立该点的r邻域,预先设定好邻域半径的阈值大小,位于邻域半径内的点均属于当前类
②然后遍历当前类中的点,搜索每个点r邻域半径内的点归到当前类,直至达到设置的约束条件,即类包含的点的数目大于所设的最小数目且小于所设的最大数目
由于欧式聚类的邻域搜索半径r是不变的,需要手动设定半径阈值,而阈值过小易过分割(图(a)零件丢失边缘信息),阈值过大易欠分割现象(图(b)点云子集包含多个零件)
基于搜索半径自适应的欧式聚类分割
☆基于改进欧式聚类的散乱零件点云分割:
- 线下模板点云注册
随机箱体抓取对象已知、类别单一,易提取单个零件点云
点云注册:通过统计单个对象的某些特征为后续的杂乱场景分割提供理论依据(参数选取)- 不同k邻域下点与邻近点之间的平均距离和标准差
- 不同r邻域下最大邻近点数目和点与邻近点之间法线夹角均值
- 线上场景点云分割
基于改进欧式聚类的散乱零件点云分割- 基于法线夹角的边缘点去除 —— 消除碰撞物体间的连接
相互碰撞、覆盖的零件点云在碰撞区域(红色区域内)的点的法线具有明显差异
故本文采用邻域法线夹角均值约束方法提取目标点云边缘点
难点:法线夹角阈值的选取,经实验验证,将 “线下模板点云注册”中模板点云邻域法线夹角均值的最小值 设为阈值可以准确的去除物体接触区域的边缘点
法线夹角大于阈值,为边缘点
反之,为非边缘点 - 搜索半径自适应的欧式聚类分割 —— 在非边缘区域选取大的搜索半径,在边缘区域选取小的搜索半径
难点:边缘区域的判断,要用到 “线下模板点云注册”中模板点云的平均距离和标准差
若点与其k邻近点之间的距离均值在模板点云的平均距离波动范围内,则为零件非边缘点,取最远邻近点和该点的距离作为搜索半径
反之,为零件边缘点,取其距离均值为搜索半径
自适应搜索半径公式:对于点云中的点,搜索距离点最近的k个邻近点,求k个邻近点与点的距离,取均值为,计算固定距离阈值,μ为比例因子 - 边缘点补齐 —— 基于距离约束方法仅补齐感兴趣零件边缘点
根据边缘点与其在点云子集中最邻近点的距离是否满足阈值进行边缘点补齐
距离小于阈值,归入点云子集
反之,取下一个边缘点
- 基于法线夹角的边缘点去除 —— 消除碰撞物体间的连接
实验结果与分析
单组零件点云分割
模板点云共734个点,对目标点云进行分割,要求分割出的单个零件点云数目不少于模板点云数目的75%,方可判定为待抓取对象。
参数选取:
基于法线夹角的边缘点去除:
- 法线夹角阈值:取模板点云法线夹角均值最小值 —— 表3-3
- 提取边缘点所用到的搜索半径:“法线夹角阈值”对应的r —— 表3-3
搜索半径自适应的欧式聚类分割:
- 邻近点数目k:本文获取到的点云的平均点间距对应k=1的平均距离,约为1mm,故半径阈值应大于1.1,选取邻近点数目为5,满足条件且计算量小 —— 表3-2
(文献[13]指出,聚类分割时,良好的半径阈值已经被证明应稍大于输入点云分辨率(应超过10%),实际上,该参数对于不同的对象会进行微调) - 最小聚类数目Min:应大于模板点云数目的75%,即550≈734×0.75
- 最大聚类数目Max:应远大于模板点云数目
- 权值μ:用来计算自适应搜索半径,经多次重复实验得到
边缘点补齐:
- 最近邻点阈值:选取3倍下的点云分辨率
对比实验:
对比实验 | 效果 |
---|---|
对比实验一 欧式聚类算法 |
取相同参数k=5,μ=1.5 计算得到邻域搜索半径为=2.01mm(???怎么算) |
对比实验二 区域生长分割算法 |
采用邻近点法线夹角差异作为既定准则 参数选取和本文算法一致 |
多组零件点云分割
实验对象:
工件 | 类型 | 详情 |
---|---|---|
塑料(目标1) | 柱型塑料瓶 | 直径21.5mm、长47mm |
塑料(目标2) | 柱型塑料瓶 | 直径25mm、长60mm |
木质(目标3) | 木质柱体 | 直径25mm、长60mm |
实验结果分析
结论:
- 在目标零件数目相同的情况下,本文算法能够准确的分割出更多的目标,分割效率更高
- 本文算法分割出的零件更完整
- 本文算法耗时少,优于另外两种算法
点云特征提取与配准
点云配准概述
考虑精度和速度,选取特征描述性和实时性均优的SHOT描述子进行配准。
问题 | trick |
---|---|
SHOT特征在相似区域易得到错误的对应关系 | SHOT特征融合的点云配准算法 |
边缘稀疏点特征描述差异带来的影响 | 关键点获取阶段,提出OBB裁剪方法 |
点云相似区域单一的特征匹配识别度低 | SHOT和空间位置结合的特征描述子,实现对特征点的唯一性描述 降低误匹配的概率,并提高精配准的速度 |
采用线下建立不同姿态下的模板点云特征描述库的方法,对分割出的单个零件点云的关键点在特征库中进行特征匹配,寻找对应点,从而得到单个零件位姿信息 |
注意:“不同姿态”下的模板点云,疑似使用了类似暴力破解的方法
配准算法流程图如下:
- 线下模板特征建立
通过线下处理建立零件模板库,提取模板点云关键点,并计算关键点的特征描述子 - 线上点云配准
线上配准根据单个零件点云关键点特征描述子,查找模板点云中的对应点,选取最佳变换确定两者之间的转换关系
基于OBB裁剪的关键点获取
方向包围盒
包围盒:用体积稍大且特性简单的几何体来近似地代替复杂的几何对象。
本文通过求取点云的OBB进行关键点选取
方向包围盒(Oriented bounding box,OBB)总体性能要优于其他几种包围盒
OBB可以由基准角和三个矢量、、表示,分别对应于OBB的最大、中间、最小维度。
步骤:
- 计算点云重心Centriod和归一化协方差矩阵covariance为:
- 计算本征向量,得到新的参考坐标系 —— 用PCA
- 将点云转换到坐标系下,计算沿坐标轴方向点云的最大、最小、对角线中心点坐标
- 根据给定的对角线中心点和包围盒尺寸得到点云包围盒
关键点获取
关键点为点云中一些特殊的点,通常表示为角点、灰度梯度等急剧变换的点,通过对关键点进行信息描述可以有效的表示整幅点云。
关键点的选取可以减少噪声点,提高匹配速度。
由于目标点云在深度方向上的分辨率是不同的,呈现在实际空间中就是位于深度边缘处的点云相对于目标内部点更稀疏,这会导致稀疏点的特征描述子在寻找模板中的对应匹配点时的差异增大,不利于配准。
本文提出如下关键点提取算法(目的是使提取到的关键点均位于零件表面非边缘区域):
- 以变换后点云的深度为依据(即OBB的高),取OBB高的一半为阈值
- 采用直通滤波器对点云进行滤波处理,去除深度小于阈值的点,保留余下的点记作候选关键点
- 将候选关键点点云进行反变换到原坐标系下,用于后续的特征提取与配准
- 对关键点云进行均匀采样(UniformSampling,US),提高匹配速度。
特征提取与描述
常见特征描述子
描述子 | 描述 | 优缺点 |
---|---|---|
PFH (点特征直方图) |
局部特征 | 算法复杂度,缺点时间消耗大,无法满足实时性要求 |
FPFH (快速点特征直方图) |
局部特征 | 算法复杂度,识别性依然很好 PFH的改进 |
SHOT (方向直方图签名描述子) |
局部特征 | 兼顾描述性和鲁棒性 ①计算速度快;②正交方向上的小差异导致不同的直方图;③在近平面区域描述性不强 |
空间位置描述子
模型和场景点云关键点的SHOT描述子可以唯一的表示当前点,但是对于一些邻近的点仍会出现一对多或多对一的情况。
本文引入空间位置描述子加以约束,在计算对应匹配点对时考虑特征点和重心点的关系,以降低误匹配概率。
对于点云P中任意一点
点云重心表示为:
特征点和点云重心的对应关系为:
- :点的法向量
配准实现
针对目标点云中的所有特征点,通过对比特征的相似性,选取其在模板点云中的唯一对应点,对应点之间相似度最高。在多组对应点中,根据对应关系得到两片点云的最佳变换矩阵。
☆初始配准的步骤:
离线阶段:
- 采用 §6点云特征提取与配准-基于OBB裁剪的关键点获取-关键点获取 的方法提取模板点云的关键点集,记作
- 对各关键点计算SHOT特征描述子
- 对各关键点计算空间位置描述子
在线阶段:
- 分割得到单个零件的点云子集,采用 §6点云特征提取与配准-基于OBB裁剪的关键点获取-关键点获取 的方法提取目标点云关键点
- 计算各点云子集的SHOT描述子和空间位置描述子
- 对于点集中的任意一点,在模板点云中搜索其对应点,若为其对应点,需满足如下条件:即采用最小平方误差的方法获取特征点在模板点云中的对应点,若该组对应点的空间位置描述子的差异也在预设阈值范围内,则保留当前对应点,反之则舍弃
- 对对应点对采用奇异值分解算法求解模板点云到目标点云之间的旋转R和平移T,即初始配准结果为:
- 对初始配准结果进行性能评估,可表示为:
精确配准的思想:通过不断的迭代直到变换达到误差要求
设点云表示模板点云、表示目标点云,和为对应点,则误差大小计算公式为:
☆ICP精确配准的步骤:
- 设定初始迭代次数,误差阈值
- 对某一点集,在点云中找出它的对应点集
- 计算点云到的刚性变换矩阵,变换后的目标点云记作
- 由 上式f(R,T) 计算配准误差,若,程序结束,反之,转步骤 2. ,直到误差满足要求
实验结果与分析
将分割得到的单个零件点云和模板点云进行配准实验
相关参数选取:
参数 | 取值 |
---|---|
0.02 | |
0.02 | |
邻域搜索半径 | 5mm |
SHOT描述子差异阈值 | 0.15 |
对比实验 |
---|
ICP |
US+FPFH特征配准 |
US+SHOT特征配准 |
统计结果:
直观显示:
结论:
- 在精确配准前加入初始配准可以得到更好的配准结果
- 本文算法的配准效果优于FPFH特征配准、SHOT特征配准算法
- 本文算法的耗时少
零部件定位与误差分析
系统搭建
采用实验室自行搭建的结构光双目视觉测量系统(由两台相机、两个工业镜头、一个投影仪、两台PC机等构成)获取多组实验数据,包括不同对象、相同对象不同混乱场景下的零部件点云数据,以验证算法的性能(有效性和可靠性)。
软件平台:Matlab R2014a、PCL 1.8.0、VS2013
预处理算法性能分析
预处理的目的:去除点云中的噪声点
相对于冗余点,离群点的去除难度更大
通过统计实验分析相关参数选取的可确定性:
- (图5-2):邻域半径r=2mm,r=3mm,r=5mm,r=10mm时,不同阈值TH时滤波算法的迭代次数,即经过n次迭代之后,点云中点的数目不再发生变化。
- (图5-2)在邻域半径大小固定的情况下,算法的迭代次数随着TH的变化存在一个峰值,使得迭代次数达到最大,然而,迭代次数最大时得到的结果并不是最优的。
- (图5-3):邻域搜索半径r=3mm时,在不同阈值TH下,点云的数目随迭代次数的变化曲线。
- (图5-3)当TH=11时迭代次数达到峰值,但是此时的点云数目下降严重,在峰值点左侧和右侧各取阈值TH=5和TH=15作对比。
可以看出,位于峰值点右侧(即TH=15时)的点云数量急剧变化,最终收敛于0。
而位于左侧(即TH=5时)的点云数量变化缓慢,经过8次迭代,最终收敛于一个固定值。 - (图5-3)中的曲线1~7,经过迭代点云数目均收敛于固定的值,此时,迭代前后点云数目不再发生变化。
- 经过重复实验,统计结果表明,邻域内点云数目阈值TH为迭代次数峰值时对应的阈值的一半时,离群点去除效果最好、且耗时少。
分割算法性能分析
场景分割的目的:获取单个零件的点云子集
场景分割的难点:零件之间存在重叠、碰撞,容易产生错误的分割结果
通过统计实验,分析参数选取的依据、分割结果的可靠性(以塑料瓶为对象研究):
(1)边缘点提取时参数的选取
- 边缘点提取时需要给出邻域法线夹角均值阈值,对于场景点云,提取到边缘点过多,不易出现欠分割,但会增加后续边缘点补齐的时间,反之,边缘点过少,则会导致欠分割,因此参数的选取很重要。
- 考虑边缘点的邻域法线夹角均值、模板点云法线夹角均值的差异大于非边缘点,只要设定合理的法线夹角阈值即可以达到边缘点提取的目的。
- (表3-3):给出了不用邻域搜索半径下,邻近点数目最大值与邻域内法线夹角均值的统计结果,法线夹角均值可以作为场景点云分割的阈值选取的参照。
- (图5-5):以值为自变量,以提取到边缘点(非边缘点)数目为因变量,统计邻域搜索半径r=3和r=5时的实验结果。蓝色曲线表示提取到的边缘点数目,红色则表示去除边缘点后的场景点云的数目。
- (表3-3)当邻域搜索半径r=3时,其对应的=65.42°,当r=5时,对应的=62.91°,称为标准阈值。边缘点提取结果分别对应(图5-6)中的(a)和(d)。
- (图5-6):为了更加直观的观察和对比边缘提取的效果,分别给出了相同搜索半径下选取大于标准阈值((c)、(f))、小于标准阈值((b)、(e))的实验结果。
结论(综合(图5-5)、(图5-6)):
- 在邻域搜索半径不变时,当阈值选取小于标准阈值时,提取到的边缘点数目急剧增加;
当大于阈值时,提取到的边缘点数目缓慢减少,且属于零件碰撞、遮挡区域的点最易判定为边缘点 - 无碰撞、遮挡区域提取的关键点对分割的影响相对较小
因此,阈值选取应略大于标准阈值,多次重复实验表明,大于标准阈值2°以内的分割效果和速度均优。
(2)搜索半径自适应分割中权重因子的选取
- 搜索半径自适应的思想:在非边缘区域选取大的搜索半径,在边缘区域选取小的搜索半径
该方法的优势在于分割速度的提升,其中权重因子的通过影响自适应分割半径而影响分割结果。 - (图5-7):为验证改进的搜索半径自适应的欧式聚类分割方法在速度上的提升,在k邻域相同情况下,统计不同权重下算法的运行速度,并和欧式聚类算法耗时进行对比。
图中欧式聚类算法耗时为邻域大小固定情况下多次运行平均耗时。(???图中没有欧式聚类算法耗时) - (表5-1):统计算法在不同权重下的分割效果,其中“N”表示分割结果没有出现错误,“Y”表示分割结果出现错误。
- (图5-7)当k=20时,统计各权重下算法耗时的平均值约434ms,相对于欧式聚类算法(525ms),速度提高了约19.24%;
当k=15时,各权重下算法耗时的平均值约为348ms,相对于欧式聚类算法(489ms),速度提高了约28.83%。 - (表5-1)随着权重因子的增大,达到临界值后,分割结果会出现错误。
- (图5-8):选取k=15,μ=0.6的分割结果。
结论:
- 邻域相同情况下,本文算法的运行时间整体小于改进前算法
- 算法运行时间随着所选取邻域的增大而增加
- 综合考虑算法的运行速度和效果,权重因子选取邻域应该在临界值以下(比如k=15,μ=0.6)
配准算法性能分析
课题研究目的:获取目标零件(相对于模板零件)的位姿信息,引导机器人进行抓取。
抓取零部件时,需要将零件的位姿信息传递给机器人,计算其在机器人坐标系下的位置,机器人根据定位到的抓取点规划抓取路径,最终实施抓取操作。
由于模板点云位姿已知,散乱场景中零件的位姿估计可转化为求解模板点云到零件点云之间的变换。
位姿计算的准确性通过变换后模板点云和零件点云的匹配代价进行评估。
通过多组实验,计算不同材质、不同散乱场景下的各零部件的位姿信息,并对比ICP配准算法得到的零部件位姿信息,验证算法的有效性:
工件 | 详情 |
---|---|
柱形塑料零件 | 高度47mm,直径21.5mm |
柱形木质零件 | 高度60mm,直径30mm,共20个 |
(1)塑料材质零件实验
针对分割出的单个零部件点云子集进行位姿估计:
- 列表展示位姿信息
- 直观观察配准结果图片
- 将配准结果投射到原始散乱场景下
结论:
- 本文算法:14个零件点云只有编号为6、8、12、14的点云子集匹配错误 —— 4个匹配错误
- ICP算法:除了点云子集2,其余点云子集均匹配错误 —— 13个匹配错误
- ICP配准结果不佳原因分析:
- 待配准两幅点云之间的初始位置未满足有重叠的条件,使得匹配结果陷入局部最优
- 零件点云由于遮挡导致的部分缺失(如(图5-9)中的点云子集13和14),增大了与模板点云特征的差异,也会造成误匹配
(2)木质材质零件实验
为了突出算法对残缺点云的匹配能力,将部分缺失的零件子集(如子集8~10)也进行了配准
结论:
- 对于完整的零件点云子集(如点云子集1~7),本文算法均得到了正确的配准结果。
- 对于部分缺失的零件点云子集(如点云子集8~14),本文算法配准具有鲁棒性。
- 反观ICP算法配准结果,各点云子集配准均出现错误。
- 木质零件的配准效果优于塑料零件,这是由对象的形状特性导致的,所选取木质工件为圆柱形,具有旋转对称性,使得降低了配准的难度、增加了算法的鲁棒性。
误差分析
影响目标识别和定位精度的影响因素:
- 硬件系统的标定误差
实验所用到的对象尺寸由实际测量所得,其精确度不足以用来分析定位误差
标定板的尺寸是精确的,可以通过比较标定板上已知两点的测量距离和实际距离之间的差异,间接的得到系统的定位误差 - 三维重构误差
基于结构光三维测量系统,中间处理过程包括图像特征提取、立体匹配,容易受到光照、图像质量、标定误差的影响 - 点云处理过程中的计算误差
①受外界因素和设备自身的影响,点云中存在大量的噪声点,无法完全去除的噪声点参与邻域内的各种计算,会导致计算结果出现偏差
②点云邻域大小的选择,数据处理过程中参数、阈值的选择均会影响最终的计算结果
③在数据计算过程中,如果出现数据类型的转换,可能丢失小数点后面一定位数的值
主要结论与展望
主要结论
- 完成基于编码结构光的三维测量系统整体方案的设计
- 针对机器人随机箱体抓取过程中场景分割困难的问题,提出基于改进欧式聚类的散乱零件点云分割方法
- 针对目标识别和定位问题,提出基于SHOT特征融合的点云配准方法
- 用自行搭建的硬件平台,获取不同散乱场景下的零部件点云数据
对采集到的场景点云数据进行预处理、分割、配准得到零部件的六自由度位姿信息,即模板点云相对于零部件点云的旋转和平移变换
将配准结果用匹配代价值表示,以验证位姿估计结果的准确性
展望
完整的抓取还需要许多后续工作
- 结构光三维测量系统获取点云数据的精度有待提高
系统只对编码条纹的边缘部分进行重构,获取到的点云分辨率约1mm,后续可以优化系统性能,获取更高精度的点云,或尝试其他的点云获取设备。 - 算法的适应性有待改进
RBP系统解决方案多为用户订制,至今为止,仍然没有一种通用算法适用于所有的抓取对象。
课题也只对形状简单的零部件进行实验,后续可以增加对象的复杂性,验证算法对复杂物体的适用性。 - 没有通过抓取成功率验证算法的优劣
课题最终得到了目标物体相对于模板点云的转换关系,后续可以将算法整合到机器人系统中,形成一套完整的解决方案。
我的思考
- 点云分割时先去除边缘的思路很棒
- 点云配准时边缘对配准会造成不利影响,故用方向包围盒的方法去除边缘
- 实验的设计、参数的选取(用统计实验的方法)