2D矩形匹配(非深度学习)¶
2D矩形匹配步骤组合可以计算纹理简单、边界清晰、单一品类的立方体的位置和抓取点。其输入为:原始彩色图,原始深度图,最高层掩膜,原始点云和实际物体尺寸。 主要流程可分为检测掩膜对应图像中的直线、生成矩形边缘模板、2D匹配和根据正确的矩形信息计算尺寸和位姿四部分, 如图1 所示。
检测掩膜对应图像中的直线¶
检测掩膜对应图像中的直线的组成如图2 所示。
各个步骤的作用如下:
图像形态学变换 输入最高层掩膜,经过闭操作,输出处理后的掩膜图像。该操作可以去除图片中的小黑洞,形成连通域,利于后续提取图像。
提取掩膜中对应的图像 计算处理后的最高层掩膜和原始彩色图的重叠部分,得到最高层物体的掩膜,输出对应的列表。
获取第一张图像 从图像列表中获取第一张掩膜图像对应的结果图像。
检测线段 输入掩膜图像对应的彩色图,计算图像中的直线。
生成矩形边缘模板¶
生成矩形边缘模板的组成如图3 所示。
各个步骤的作用如下:
提取掩膜中对应的点云 输入最高层掩膜和原始点云,得到最高层物体的点云。
将实际尺寸转换为像素尺寸 输入最高层物体的点云和物体的实际尺寸,将其物理尺寸用图像处理所需的单位(像素)来表示。
生成指定大小的矩形边缘模板 输入物体以像素为单位的尺寸,生成物体表面(矩形)边缘的模板。
2D匹配¶
将检测到的直线和生成的矩形边缘模板和进行匹配,输出较为完整的直线段组成的多边形和多边形匹配损失。
根据正确的矩形信息计算尺寸和位姿¶
根据正确的矩形信息计算尺寸和位姿的组成如图4 所示。
各个步骤的作用如下:
滤除掩膜外的多边形 输入2D匹配结果和最高层物体的掩膜,去除与掩膜重叠面积小于阈值的多边形,确保多边形的对应的物体位于最上层。
滤除重叠的多边形 输入上一步的结果、原始彩色图和最高层物体的掩膜,移除重叠的或在掩膜外的多边形,确保多边形的对应的物体没有被压叠。
计算矩形的尺寸和位姿 输入原始深度图,过滤后矩形的信息和最高层掩膜,利用深度信息和矩形的顶点,计算物体的抓取点。