深度学习使用场景
2D相机 + 深度学习
3D相机 + 深度学习
此类场景中,仅使用点云信息无法准确识别和定位工件,需要使用深度学习 + 3D匹配来完成工件的识别和定位。
点云缺失严重
以下图所示工件为例。
-
2D图像信息:下图中的反光工件属于较为紧贴的状态,并且个数较多。但工件的边缘和形状特征清晰。
-
点云信息:由于工件反光,导致点云有缺失。主要缺失在工件的轴向。
工件轴向点云有缺失,会出现点云匹配错位的情况,导致位姿偏差较大;工件紧贴,点云分不开,会出现误匹的情况;工件个数较多,视觉节拍很长。
此类场景下,可以使用“实例分割”模块训练对应的模型,然后在Mech-Vision中使用深度学习相关步骤对工件进行识别,然后提取出掩膜对应的点云,匹配计算其位姿A,并使用掩膜生成对应的点云进而计算其位姿B,用位姿B对原始点云位姿A的X、Y进行对应的校准。
点云缺少关键特征
以下图所示工件为例。
-
2D图像信息:图中红框分别为A、B工件的正面,蓝色框为A、B工件的反面,并且图中的箭头分别指向区别正反面的主要特征区域。
-
点云信息:可以在下图点云的截图中看出,对于工件中区分种类的特征无法在点云中获取到。
由于用于区分工件种类的特征点很小(甚至在点云上已经完全丢失),当使用点云匹配进行工件种类区分的时候,会出现匹配错误的情况,导致分类错误。
此类场景下,可以使用“实例分割”模块训练对应的模型,并且针对不同种类的工件设定相应的分类标签。在Mech-Vision深度学习相关步骤中使用此模型,提取到单个工件的掩膜的同时,也会输出该工件的种类标签。
工件几乎无点云
以下图所示工件为例。
-
2D图像信息:波形套属于反光工件,并且在料框中相互紧贴。
-
点云信息:通过查看点云发现该工件点云不稳定,有较大概率出现工件完全无点云的情况。
由于特征点云数量少,3D匹配特征点云丢失,无法用点云匹配进行工件的定位和位姿计算,直接使用点云匹配也会出现误匹配料框底部的情况。
此类场景下,工件虽然属于反光件,但是在2D图中工件的边缘信息很清晰,所以可以使用“实例分割”模块训练对应的模型,在Mech-Vision深度学习相关步骤中使用此模型,输出的掩膜生成点云,然后重新计算该点云位姿,即为抓取位姿。
定位工件的表面图案、颜色区域
以下图所示工件为例。
-
2D图像信息:在铝框的一侧有一个黄色的胶布,以这个胶布确定铝框的摆放朝向。
-
点云信息:该工件的点云很好,但是黄色胶带在点云上是完全没有特征的。
由于目标特征区域存在于彩色图上,无法通过点云区分。
此类场景下,只要简单的定位出黄色胶带的大概位置,进而可以确定铝框的朝向。 使用“目标检测”模块训练对应模型,在Mech-Vision深度学习相关步骤中使用此模型对工件进行定位。
深筐无序抓取
以下图所示工件为例。
-
2D图像信息:钢棒为乱序来料,其中钢棒的部分区域存在局部发光的情况,并且钢棒相互压叠遮挡。
-
点云信息:工件的点云很好,表面完全露出的工件,有着较好的点云。对于压叠的工件聚类出单个工件有较大难度,且并不稳定。
点云聚类并不能稳定的聚类出单个工件;点云匹配的模型选取困难,因为工件的姿态各异;点云匹配会出现匹配错误,误匹配的情况,导致位姿计算很不准确;只用点云模板进行全局匹配,会使得视觉的节拍过长。
此类场景下,使用“实例分割”模块训练对应的模型,在Mech-Vision深度学习相关步骤中使用此模型先对单个工件进行掩膜的提取,然后获取到这个掩膜对应的单个工件点云,接着进行后续的单个工件的点云匹配。
工件紧贴,无法使用点云聚类区分单个工件
以下图所示工件为例。
-
2D图像信息:该项目的相机采图有点偏暗,可能会丢失工件的边缘信息。在增强图像亮度后,可以清晰的得到工件边缘、尺寸和灰度信息。
-
点云信息:工件的点云信息很好,但是工件之间相互紧贴,导致出现工件边缘点云粘连的情况。
虽然工件的点云很好,但是工件点云相互粘连,无法聚类出单个工件;如果使用全局点云匹配,会出现误匹配和错匹配的情况,甚至还会出现匹配到料框的情况。
此类场景下,可使用“实例分割”模块训练对应的模型。在Mech-Vision深度学习相关步骤中使用此模型提取对应的点云,然后进行点云匹配。
识别并抓取多种类工件
以下图所示工件为例。
-
2D图像信息:第一张图为乱序工位,第二张图为二次判定的工位。两个工位都有着较好的2D图像质量,且不同种类的工件特征信息明显。
-
点云信息:工件的点云效果很好,工件的形状特征也都在点云中有着很好的体现。
对于圆筒类工件,点云上无方向特征,因此使用点云匹配是无法区分工件朝向的,此外,无法通过点云直接区分种类。
此类场景下,在第一个工位,可以使用“实例分割”模块训练对应的模型,在Mech-Vision深度学习相关步骤中使用此模型对工件进行识别和分割,输出对应的工件掩膜,再进行后续的点云处理操作。
在第二个工位,先使用“实例分割”识别出单个的工件,然后在这单个工件的基础上,基于工件的形状、表面图案特征,使用“目标检测”对工件的朝向进行进一步的判定。(下图左侧为实例分割结果,右图为目标检测区分朝向的结果)