本公开涉及视觉,本公开尤其涉及一种基于视觉大模型的目标对象分割方法、装置、电子设备、存储介质及程序产品。
背景技术:
1、视觉方向的深度学习发展迅速,包括目标检测、语义分割、实例分割在内的视觉识别在各个方向都有一定的应用。但主要的应用还是在监督学习上,依赖大量的标注和训练来得到一个较好的模型效果。同时,在应用中,针对不同的数据需要采集不同的数据进行标注训练,很难用同一个训练好的模型对不同的数据进行分割识别,通用性不强。
2、大模型的出现,让深度学习的通用性大大提高。大模型一般是指基于深度学习算法进行较深网络的训练得到的参数较多的模型,主要应用在自然语言处理方向,随着技术发展,广义的大模型包括视觉大模型,多模态大模型等。最广为人知的视觉大模型是meta公司(meta platform inc.)发布的分割一切模型(segment anything model,sam),后文称sam模型,其在足量数据和参数的训练下,涵盖了广泛的用例,让模型在不同的场景下都能识别并分割不同物体,并有较高的准确率。
3、不同于一般的深度学习模型,sam模型不用经过当前数据的标注训练,直接输入图像就可以出来当前场景,可以实现分割一切,将所有目标都区分开来,同时也可以输入像素位置或者像素框为提示来让模型在提示基础上更准确地分割对应的目标,即sam模型可以使用提示信息实现对不同数据进行分割。大语言模型的发展也能让语言模型与图像进行结合,如果这能在3d视觉上应用可以大大提高实际的分割效果,但其模型的通用性在工业视觉上还有一定的局限,要达到实际应用效果还需要较多的研究与努力。
4、总之,现有成熟的可应用的深度学习方法依赖大量数据集,很难做到通用,需要针对不同的数据进行训练,且检测方法和分割方法二者在标注、训练、应用上差异较大,分割标注比检测困难,且训练和应用时间消耗大;通用大模型(例如sam模型)在一些工业视觉领域还无法做到十分准确的识别,无法达到抓取要求。
技术实现思路
1、本公开提供了一种基于视觉大模型的目标对象分割方法,包括:
2、获取目标场景的相机坐标系下的三维点云和图像坐标系下的二维图像;
3、对所述三维点云进行分块处理,获得至少一个点云块;
4、对所述点云块进行主成分分析,获取所述点云块的主方向,进而获得所述点云块的有向包围盒;
5、基于所述相机坐标系和图像坐标系的变换关系将所述有向包围盒投影至所述二维图像所在的平面,获得目标对象的二维包围框并作为包围框提示;
6、判断所述有向包围盒中目标对象的数量是否为一个;
7、如果所述有向包围盒中目标对象的数量为一个,则执行以下过程:
8、将所述包围框提示输入至所述视觉大模型,使所述视觉大模型基于所述包围框提示对所述二维图像进行目标对象分割,获得分割结果。
9、根据本公开的至少一个实施方式的目标对象分割方法,如果所述有向包围盒中目标对象的数量多于一个,则执行以下过程:
10、从所述点云块中提取多个点云分布代表点或多个随机采样点,获得提取点集合;
11、基于所述相机坐标系和图像坐标系的变换关系将所述提取点集合中的点投影到所述二维图像所在的平面,获得投影点集合并作为点提示;
12、将所述包围框提示和所述点提示输入至所述视觉大模型,使所述视觉大模型基于所述包围框提示和所述点提示对所述二维图像进行目标对象分割,获得分割结果。
13、根据本公开的至少一个实施方式的目标对象分割方法,其中,从所述点云块中提取多个点云分布代表点或多个随机采样点,获得提取点集合,包括:
14、对点云块进行体素化处理,获得体素化点云块;
15、从所述体素化点云块中提取多个点云分布代表点或多个随机采样点,获得所述提取点集合。
16、根据本公开的至少一个实施方式的目标对象分割方法,替换地,所述目标对象分割方法包括:
17、从所述点云块中提取多个点云分布代表点或多个随机采样点,获得提取点集合;
18、基于所述相机坐标系和图像坐标系的变换关系将所述提取点集合中的点投影到所述二维图像所在的平面,获得投影点集合并作为点提示;
19、将所述点提示输入至所述视觉大模型,使所述视觉大模型基于所述点提示对所述二维图像进行目标对象分割,获得分割结果。
20、根据本公开的至少一个实施方式的目标对象分割方法,所述目标对象分割方法还包括:
21、基于所述相机坐标系和图像坐标系的变换关系将所述点云块中的点投影至所述二维图像所在的平面,获得投影点集合;
22、基于所述投影点集合生成初始二维掩膜图像;
23、对所述初始二维掩膜图像进行膨胀和/或腐蚀处理,获得细化后二维掩膜图像,并将所述细化后二维掩膜图像作为掩膜提示;
24、如果所述有向包围盒中目标对象的数量为一个,则执行以下过程:
25、将所述掩膜提示和所述包围框提示输入至所述视觉大模型,使所述视觉大模型基于所述掩膜提示和所述包围框提示对所述二维图像进行目标对象分割,获得分割结果。
26、根据本公开的至少一个实施方式的目标对象分割方法,替换地,所述目标对象分割方法包括:
27、基于所述相机坐标系和图像坐标系的变换关系将所述点云块中的点投影至所述二维图像所在的平面,获得投影点集合;
28、基于所述投影点集合生成初始二维掩膜图像;
29、对所述初始二维掩膜图像进行膨胀和/或腐蚀处理,获得细化后二维掩膜图像,并将所述细化后二维掩膜图像作为掩膜提示;
30、将所述掩膜提示输入至所述视觉大模型,使所述视觉大模型基于所述提示对所述二维图像进行目标对象分割,获得分割结果。
31、根据本公开的至少一个实施方式的目标对象分割方法,所述目标对象分割方法还包括:
32、基于深度学习的检测算法对所述二维图像进行目标对象的检测,获得至少一个二维检测框及所述二维检测框的中心像素点,并作为检测框提示;
33、如果所述有向包围盒中目标对象的数量为一个,则执行以下过程:
34、将所述检测框提示和所述包围框提示输入至所述视觉大模型,使所述视觉大模型基于所述检测框提示和所述包围框提示对所述二维图像进行目标对象分割,获得分割结果。
35、根据本公开的至少一个实施方式的目标对象分割方法,替换地,所述目标对象分割方法包括:
36、基于深度学习的检测算法对所述二维图像进行目标对象的检测,获得至少一个二维检测框及所述二维检测框的中心像素点,并作为检测框提示;
37、将所述检测框提示输入至所述视觉大模型,使所述视觉大模型基于所述检测框提示对所述二维图像进行目标对象分割,获得分割结果。
38、根据本公开的至少一个实施方式的目标对象分割方法,所述目标对象分割方法还包括:
39、使用预先获得的包括目标对象特征信息的图像模板对所述二维图像进行基于目标对象特征信息的特征匹配,获得所述二维图像的匹配特征点;
40、基于所述二维图像的匹配特征点为所述二维图像生成二维掩膜图像并作为掩膜提示;
41、从所述二维掩膜图像中提取目标对象的二维检测框及二维检测框中心点并作为检测框提示;
42、如果所述有向包围盒中目标对象的数量为一个,则执行以下过程:
43、将所述掩膜提示、所述检测框提示和所述包围框提示输入至所述视觉大模型,使所述视觉大模型基于所述掩膜提示、所述检测框提示和所述包围框提示对所述二维图像进行目标对象分割,获得分割结果。
44、根据本公开的至少一个实施方式的目标对象分割方法,替换地,所述目标对象分割方法包括:
45、使用预先获得的包括目标对象特征信息的图像模板对所述二维图像进行基于目标对象特征信息的特征匹配,获得所述二维图像的匹配特征点;
46、基于所述二维图像的匹配特征点为所述二维图像生成二维掩膜图像并作为掩膜提示;
47、从所述二维掩膜图像中提取目标对象的二维检测框及二维检测框中心点并作为检测框提示;
48、将所述掩膜提示和所述检测框提示输入至所述视觉大模型,使所述视觉大模型基于所述掩膜提示和所述检测框提示对所述二维图像进行目标对象分割,获得分割结果。
49、根据本公开的至少一个实施方式的目标对象分割方法,所述目标对象特征信息包括目标对象的位置信息和目标对象的像素梯度信息。
50、根据本公开的至少一个实施方式的目标对象分割方法,所述目标对象分割方法还包括:
51、对所述二维图像进行特征增强处理,获得特征增强二维图像;
52、对所述特征增强图像进行前景提取,获得前景图像;
53、对所述前景图像进行基于图像分割算法的切分处理,获取前景图像中每个目标对象的目标对象掩膜及目标对象掩膜边框和目标对象掩膜边框中心点,并将目标对象掩膜及目标对象掩膜边框和目标对象掩膜边框中心点作为目标对象掩膜提示;
54、如果所述有向包围盒中目标对象的数量为一个,则执行以下过程:
55、将所述目标对象掩模提示和所述包围框提示输入至所述视觉大模型,使所述视觉大模型基于所述目标对象掩模提示和所述包围框提示对所述二维图像进行目标对象分割,获得分割结果。
56、根据本公开的至少一个实施方式的目标对象分割方法,替换地,所述目标对象分割方法包括:
57、对所述二维图像进行特征增强处理,获得特征增强二维图像;
58、对所述特征增强图像进行前景提取,获得前景图像;
59、对所述前景图像进行基于图像分割算法的切分处理,获取前景图像中每个目标对象的目标对象掩膜及目标对象掩膜边框和目标对象掩膜边框中心点,并将目标对象掩膜及目标对象掩膜边框和目标对象掩膜边框中心点作为目标对象掩膜提示;
60、将所述目标对象掩模提示输入至所述视觉大模型,使所述视觉大模型基于所述目标对象掩模提示对所述二维图像进行目标对象分割,获得分割结果。
61、根据本公开的至少一个实施方式的目标对象分割方法,替换地,所述目标对象分割方法包括:
62、基于目标对象的类别向多模态大模型输入语言提示,使得所述多模态大模型基于所述语言提示对所述二维图像进行目标对象检测,获得目标对象检测框及检测框中心点,将所述目标对象检测框及检测框中心点作为目标对象检测框提示;
63、将所述目标对象检测框提示输入至所述视觉大模型,使所述视觉大模型基于所述目标对象检测框提示对所述二维图像进行目标对象分割,获得分割结果。
64、根据本公开的至少一个实施方式的目标对象分割方法,所述目标对象分割方法还包括:
65、基于目标对象的类别向多模态大模型输入语言提示,使得所述多模态大模型基于所述语言提示对所述二维图像进行目标对象检测,获得目标对象检测框及检测框中心点,将所述目标对象检测框及检测框中心点作为目标对象检测框提示;
66、如果所述有向包围盒中目标对象的数量为一个,则执行以下过程:
67、将所述目标对象检测框提示和包围框提示输入至所述视觉大模型,使所述视觉大模型基于所述目标对象检测框提示和包围框提示对所述二维图像进行目标对象分割,获得分割结果。
68、根据本公开的至少一个实施方式的目标对象分割方法,所述语言提示通过以下方法获得:
69、对一张或多张所述二维图像中的目标对象进行标记,获得标记后的二维图像;
70、将所述标记后的二维图像输入至所述多模态大模型,所述多模态大模型基于所述标记后的二维图像输出描述所述目标对象的语言,作为所述语言提示。
71、根据本公开的至少一个实施方式的目标对象分割方法,替换地,所述目标对象分割方法包括:
72、对所述二维图像中承载目标对象的承载体进行标记,获得承载体标记框;
73、基于所述承载体标记框对所述二维图像进行区域分割,获得区域分割后的二维图像,所述区域分割后的二维图像包括一个或多个标记框区域;
74、将所述区域分割后的二维图像输入至所述视觉大模型,使所述视觉大模型基于所述区域分割后的二维图像进行目标对象分割,获得分割结果。
75、根据本公开的至少一个实施方式的目标对象分割方法,将所述区域分割后的二维图像输入至所述视觉大模型,使所述视觉大模型基于所述区域分割后的二维图像进行目标对象分割,获得分割结果,包括:
76、对所述视觉大模型配置至少一个分割层级,使得所述视觉大模型基于所述分割层级及所述区域分割后的二维图像进行目标对象分割,获得分割层级对应的分割结果。
77、根据本公开的另一个方面,提供一种电子设备,包括:存储器,所述存储器存储执行指令;以及处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行本公开任一个实施方式的目标对象分割方法。
78、根据本公开的又一个方面,提供一种可读存储介质,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现本公开任一个实施方式的目标对象分割方法。
79、根据本公开的再一个方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本公开任一个实施方式的目标对象分割方法。
1.一种基于视觉大模型的目标对象分割方法,其特征在于,包括:
2.根据权利要求1所述的目标对象分割方法,其特征在于,如果所述有向包围盒中目标对象的数量多于一个,则执行以下过程:
3.根据权利要求2所述的目标对象分割方法,其特征在于,其中,从所述点云块中提取多个点云分布代表点或多个随机采样点,获得提取点集合,包括:
4.根据权利要求1所述的目标对象分割方法,其特征在于,替换地,所述目标对象分割方法包括:
5.根据权利要求1所述的目标对象分割方法,其特征在于,所述目标对象分割方法还包括:
6.根据权利要求1所述的目标对象分割方法,其特征在于,替换地,所述目标对象分割方法包括:
7.根据权利要求1至6中任一项所述的目标对象分割方法,其特征在于,所述目标对象分割方法还包括:
8.一种电子设备,其特征在于,包括:
9.一种可读存储介质,其特征在于,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现权利要求1至7中任一项所述的目标对象分割方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的目标对象分割方法。
