CN113112502A - 线缆检测方法、机器人和具有存储功能的装置 - Google Patents
线缆检测方法、机器人和具有存储功能的装置 Download PDFInfo
- Publication number
- CN113112502A CN113112502A CN202110514942.1A CN202110514942A CN113112502A CN 113112502 A CN113112502 A CN 113112502A CN 202110514942 A CN202110514942 A CN 202110514942A CN 113112502 A CN113112502 A CN 113112502A
- Authority
- CN
- China
- Prior art keywords
- cable
- superpixels
- adjacent
- current
- super
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种线缆检测方法、机器人和具有存储功能的装置。所述方法包括:获取线缆的RGB图;将RGB图中的像素点分割为多个超像素;根据预设规则在多个超像素中选取出预设数量的候选超像素,并确定与各候选超像素相邻的多个第一相邻超像素;在多个所述第一相邻超像素中,确定与对应候选超像素的视觉相似度大于第一预设阈值的相似超像素的数量;当相似超像素的数量符合第二预设阈值时,将对应的候选超像素作为线缆检测起始点;以线缆检测起始点开始,检测当前超像素与相邻的所述超像素之间的目标相似度,并根据当前超像素与相邻的所述超像素之间的目标相似度检测出RGB图中属于当前线缆的所述超像素。采用本方法能够避免线缆检测效率低下的问题。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种线缆检测方法、一种线缆检测装置、一种机器人和一种具有存储功能的装置。
背景技术
随着图像处理技术的发展,现在的机器人大部分都具备了图像处理能力。通过机器人检测线缆,并根据检测结果抓取线缆,节省了大量的人力资源。现有的线缆检测方法,通常是基于深度学习和传统机器学习的方法检测图像中线缆的起始点,并基于该起始点进行线缆检测。
然而,传统的基于深度学习和传统机器学习的线缆检测经常会由于无法准确地确定检测起始点而导致线缆检测效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种线缆检测方法、一种机器人和一种具有存储功能的装置。
在本申请的一方面,提供一种线缆检测方法,包括:
获取线缆的RGB图;
将所述RGB图中的像素点分割为多个超像素;所述超像素为对所述RGB图中相邻且像素特征相似的像素点进行合并所得到的;
根据预设规则,在多个所述超像素中选取出预设数量的候选超像素,并确定与各所述候选超像素相邻的多个第一相邻超像素;
在多个所述第一相邻超像素中,确定与对应所述候选超像素的视觉相似度大于第一预设阈值的相似超像素的数量;
当所述相似超像素的数量符合第二预设阈值时,将对应的所述候选超像素作为线缆检测起始点;
以所述线缆检测起始点开始,检测当前超像素与相邻的所述超像素之间的目标相似度,并根据所述当前超像素与相邻的所述超像素之间的目标相似度检测出所述RGB图中属于当前线缆的所述超像素。
在本申请的另一方面,提供一种线缆检测装置,包括:
图像获取模块,用于获取线缆的RGB图;
图像分割模块,用于将所述RGB图中的像素点分割为多个超像素;所述超像素为对所述RGB图中相邻且像素特征相似的像素点进行合并所得到的;
相邻确定模块,用于根据预设规则,在多个所述超像素中选取出预设数量的候选超像素,并确定与所述候选超像素相邻的多个第一相邻超像素;
相似确定模块,用于在多个所述第一相邻超像素中,确定与对应所述候选超像素的视觉相似度大于第一预设鱼食的相似超像素;
起始确定模块,用于当所述相似超像素的数量符合第二预设阈值时,将对应的所述候选超像素作为线缆检测起始点;
检测模块,用于以所述线缆检测起始点开始,检测当前超像素与相邻的所述超像素之间的目标相似度,并根据所述当前超像素与相邻的所述超像素之间的目标相似度检测出所述RGB图中属于当前线缆的所述超像素。
在本申请的另一方面,提供一种机器人,包括存储器、处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序并实现本申请各实施例所述的线缆检测方法的步骤。
在本申请的另一方面,提供一种具有存储功能的装置,用于存储计算机程序,所述计算机程序被处理器执行时实现本申请各实施例所述的线缆检测方法的步骤。
上述线缆检测方法、线缆检测装置、机器人和具有存储功能的装置,通过将获取的RGB图中的像素点分割为多个超像素,然后根据预设规则在多个超像素中选取出预设数量的候选超像素,并确定与各候选超像素相邻的多个第一相邻超像素,并在多个第一相邻超像素中,确定与候选超像素相似的相似超像素,最后,当相似超像素的数量符合第二预设阈值时将候选超像素标记为进行线缆检测的线缆检测起始点,并根据线缆检测起始点检测出各线缆。从而,避免了将重叠区域中的超像素作为线缆检测起始点以开始进行线缆检测导致的线缆检测效率低下的问题。
附图说明
图1为本申请一个实施例中线缆检测方法的应用环境图;
图2为本申请一个实施例中线缆检测方法的流程示意图;
图3为本申请一个实施例中将RGB图的像素点分割为多个超像素的示意图;
图4为本申请一个实施例中基于HSV值的图像分割步骤的流程示意图;
图5为线缆的RGB图的一个例子;
图6为图5中的RGB图对应的掩码图;
图7为本申请一个实施例中基于重叠关系进行线缆抓取步骤的流程示意图;
图8为本申请一个实施例中根据深度图确定线缆重叠关系的检测结果的示意图;
图9为本申请一个实施例一种线缆检测具体示例的主要步骤的流程示意图;
图10为本申请一个实施例线缆检测装置的结构框图;
图11为本申请一个实施例的一种机器人的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的线缆检测方法,可以应用于如图1所示的应用环境中。该应用环境包括机器人102和若干线缆104,其中机器人包括内部或外部的图像获取装置,例如摄像机(图未示)。根据本申请提供的线缆检测方法,机器人102可通过图像获取装置获取线缆104的RGB图;机器人102将RGB图中的像素点分割为多个超像素,其中,超像素为对RGB图中相邻且像素特征相似的像素点进行合并所得到的;机器人102在多个超像素中,根据预设规则选取出预设数量的候选超像素,并确定与各候选超像素相邻的多个第一相邻超像素;机器人102在多个第一相邻超像素中,确定与对应候选超像素的视觉相似度大于第一预设阈值的相似超像素的数量;机器人102根据相似超像素的数量,将候选超像素标记为进行线缆检测的线缆检测起始点,并根据线缆检测起始点检测出RGB图中的各线缆104。
在一个实施例中,如图2所示,提供了一种线缆检测方法,以该方法应用于图1中的机器人102为例进行说明,可以理解,该线缆检测方法也可以不基于机器人102而单独或与其他操作设备配合使用。该线缆检测方法包括以下步骤:
S202,获取线缆的RGB图。
具体地,机器人102可靠近需要检测的线缆104,通过部署在机器人102上的摄像机,获取线缆104的RGB图。在一些实施例中,摄像机也可不直接设置在机器人102上,而是通过数据传输装置将获取的RGB图传送至机器人102。
S204,将所述RGB图中的像素点分割为多个超像素;所述超像素为对所述RGB图中相邻且像素特征相似的像素点进行合并所得到的。
具体地,机器人102可以对RGB图进行图像分割。图像分割是将图像细分为多个图像子区域,即像素的集合的过程。超像素是由一系列位置相邻且像素特征相似的像素点组成的小区域。机器人102可获取各像素点的位置以及像素特征,进而机器人102可将位置相邻、且像素特征相似的像素点进行合并,得到超像素。其中,像素特征可包括颜色、亮度和纹理等中的至少一种。
在一个实施例中,步骤S204具体可以包括以下步骤:确定预设的超像素数量和超像素形状;确定RGB图中各像素点的位置和像素特征;以及根据预设的超像素数量和超像素形状,将位置相邻且像素特征相似的像素点合并为超像素。
具体地,机器人102可确定预设的超像素数量和超像素形状。机器人102获取的线缆的RGB图中包括多个像素点,各像素点在RGB图中的位置是唯一的,且每个像素点具备各自的像素特征。机器人102可根据预设的超像素数量和超像素形状,将位置相邻且像素特征相似的像素点合并为超像素。可以理解,最后合并得到的超像素的总数量,符合该预设的超像素数量,而且生成的超像素的形状,符合该预设的超像素形状。
比如,假设,预设的超像素的数量为25个,超像素形状为四边形。那么,则可以将位置相邻且像素特征相似的像素点合并,得到25个四边形的超像素。需要说明的是,这里仅以四边形对超像素形状进行示意,并不限定超像素形状必须为四边形,具体可以根据实际需求设置相应的超像素形状,例如其他多边形。
上述实施例中,通过预先设定需要合并的超像素的数量和超像素形状,进而根据预设的超像素数量和超像素形状,将位置相邻、且像素特征相似的像素点进行合并,得到超像素。这样,提高了超像素的合并效率。
在一个实施例中,超像素分割可以通过Fast-SLIC(Fast-Simple LinearIterative Clustering,快速简单的线性迭代聚类算法)算法实现,还可以通过其他基于CUDA(Compute Unified Device Architecture,统一计算设备架构)版本的SLIC(SimpleLinear Iterative Clustering,简单的线性迭代聚类算法)算法实现。本实施例对超像素分割的实现算法不做限定。
图3为一个实施例中将RGB图的像素点分割为多个超像素的示意图。如图3所示,图中的每个格子代表一个超像素。每个超像素中所包含的像素点的像素特征相似(均为白色像素点或均为黑色像素点),且符合预设的超像素形状。
S206,根据预设规则,在多个所述超像素中选取出预设数量的候选超像素,并确定与各所述候选超像素相邻的多个第一相邻超像素。
其中,第一相邻超像素可以为RGB图中与候选超像素相邻的超像素。
具体地,机器人102可以根据预设规则在多个超像素中选取出符合预设数量的超像素,作为上述的候选超像素。其中,预设规则可以是随机选取,也可以是根据超像素在RGB图中的坐标所选取。例如,假设某个超像素中心点在RGB图中的坐标为(x,y),当该超像素中心点的横轴坐标x或纵轴坐标y是所有超像素中心点的坐标中最大/最小的,则选取该超像素作为上述的候选超像素。预设数量可以根据情况而设定,例如预设数量可以为10个,也可以为20个。
然后,机器人102进一步确定与候选超像素相邻的超像素,由此得到多个的的第一相邻超像素。
如图3所示,随机选取了若干个超像素作为候选超像素(如图中圆圈所示,例如超像素301、302、303),每个候选超像素具有至少一个的与其相邻的第一相邻超像素。
S208,在多个所述第一相邻超像素中,确定与对应所述候选超像素的视觉相似度大于第一预设阈值的相似超像素的数量。
其中,相似超像素可以为与候选超像素之间的视觉相似度大于第一预设阈值的第一相邻超像素。
具体地,机器人102可以首先确定候选超像素与各个第一相邻超像素之间的相似度。然后,根据与各个第一相邻超像素之间的相似度,判断第一相邻超像素与候选超像素之间是否相似。例如,如果相似度大于预设的相似度阈值,则可以判定为第一相邻超像素与候选超像素之间相似。
判断第一相邻超像素与候选超像素之间是否相似的具体实施方式可以有多种。在一个实施例中,可以首先计算第一相邻超像素与候选超像素之间的视觉相似度,当视觉相似度大于第一预设阈值时,则判定第一相邻超像素与候选超像素之间相似。其中,视觉相似度为当前超像素与相邻的超像素在各自对应的区域内的像素值的相似的置信度。其中第一预设阈值的值可根据具体应用确定,在此不做限定。
当然,本领域技术人员也可以根据实际需要,采用其他方式判断两者之间是否相似。
然后,机器人102可以针对候选超像素统计其相似超像素的数量,以在后续处理中根据该数量判断候选超像素是否作为线缆检测起始点。
S210,当所述相似超像素的数量符合第二预设阈值时,将对应的所述候选超像素作为线缆检测起始点。
其中,线缆检测起始点可以为以供选择的、进行线缆检测的起始点。机器人102可以选择其中至少一个的线缆检测起始点开始进行线缆检测。
具体地,如图3所示,将与候选超像素相似的第一相邻超像素确定为相似超像素,由此可得,候选超像素301具有1个相似超像素,候选超像素302具有2个相似超像素,候选超像素303具有4个相似超像素。
然后,机器人102可以判断相似超像素的数量是否符合第二预设阈值,以判定某个候选超像素是否要被标记为线缆检测起始点。
实际应用中,第二预设阈值可以为2个,即,将具有1个或2个相似超像素的候选超像素,标记为线缆检测起始点。当候选超像素的相似超像素的数量为1个时,代表该候选超像素有较大几率为线缆中的某个并非处于重叠区域内的端点,如图3的候选超像素301所示。其中,重叠区域代表互相叠压的线缆中重叠部分的区域。当候选超像素的相似超像素的数量为2个时,代表该候选超像素有较大几率为线缆中的某个并非处于重叠区域内的非端点,如图3的候选超像素302所示。当候选超像素的相似超像素的数量多于2个时,代表该候选超像素有较大几率为线缆中的处于重叠区域内的点,如图3的候选超像素303所示。
需要说明的是,经过发明人对线缆检测的深入研究,发现如果将处于重叠区域内的超像素作为线缆检测起始点并开始对某条线缆进行线缆检测,则可能由于压叠的线缆中的超像素的干扰,无法正常进行线缆检测,甚至将与该线缆检测起始点相似的、但属于另一线缆的超像素检测为同一线缆的超像素,导致线缆检测错误。
因此,为了避免出现错误的检测结果,在进行线缆检测时,需要避开重叠区域的超像素开始线缆检测。为了避开重叠区域的超像素,可以基于超像素相邻且相似的超像素的数量,判断某个超像素是否处于重叠区域之内。如果判定某个超像素并非处于重叠区域之内,或者说,并非处于线缆重叠情况较为严重的区域之内,则可以将其作为线缆检测起始点,并基于该线缆检测起始点进行线缆检测。当然,本领域技术人员可以根据实际需要,采用不同的数量标准,例如,可以在似超像素的数量为1个或2个时,确定该候选超像素为线缆检测起始点。根据超像素的定义方法不同,本领域的技术人员还可以设置不同的第二预设阈值,只要保证相似超像素的数量符合第二预设阈值的候选超像素不处于线缆重叠区域即可。
S212,以所述线缆检测起始点开始,检测当前超像素与相邻的所述超像素之间的目标相似度,并根据所述当前超像素与相邻的所述超像素之间的目标相似度检测出所述RGB图中属于当前线缆的所述超像素。
具体地,确定线缆检测起始点后,可以从该线缆检测起始点开始对当前线缆进行线缆检测,以检测出RGB图中属于当前线缆的超像素,从而确定出当前线缆。更具体地,机器人102可以首先将线缆检测起始点确定为检测当前点,然后确定检测当前点与相邻的超像素之间的视觉相似度和方向相似度,根据视觉相似度和方向相似度确定目标相似度,根据目标相似度确定其中某个相邻的超像素属于当前线缆的超像素,并将其作为新的检测当前点,重新执行确定确定检测当前点与相邻的超像素之间的视觉相似度和方向相似度的步骤,直至完成当前线缆的检测。
机器人102在标记出多个线缆检测起始点之后,可以随机选取其中一个的线缆检测起始点进行线缆检测,在完成对一条线缆的线缆检测后,可以在其他线缆检测起始点中再次随机选取另一个线缆检测起始点,对另一条线缆进行线缆检测,直至完成对RGB图中各线缆的线缆检测。
上述的线缆检测方法中,通过将获取的RGB图中的像素点分割为多个超像素,然后根据预设规则在多个超像素中选取出预设数量的候选超像素,并确定与各候选超像素相邻的多个第一相邻超像素,并在多个第一相邻超像素中,确定与候选超像素相似的相似超像素,最后,当相似超像素的数量符合第二预设阈值时将候选超像素标记为进行线缆检测的线缆检测起始点,并根据线缆检测起始点检测出各线缆。从而,避免了将重叠区域中的超像素作为线缆检测起始点以开始进行线缆检测导致的线缆检测效率低下的问题。
而且,上述的线缆检测方法无须进行大量复杂的运算处理,而是通过简单的像素比对、数量统计等处理即可确定线缆检测起始点,经过实验证明,通过应用上述的线缆检测方法,每条线缆的检测耗时约为151ms,显著提高了线缆检测的速度。
再者,上述的线缆检测方法可以适用于复杂的线缆摆放环境中。即使面对多条线缆的摆放位置不规则、线缆之间重叠严重等的复杂环境,也可以快速地基于与某个超像素相邻的相似超像素的数量确定出线缆检测起始点并进行线缆检测,而无须用户通过人工调整的方式将线缆摆放成较为规则的形式,从而,节省了线缆检测的人力和时间成本。
进一步地,相比起通过机器学习的手段以确定检测起始点的方法,上述的线缆检测方法,无须依赖大量学习样本即可准确地确定检测起始点,而无须耗费人力物力制作学习样本,节省了线缆检测的人力和时间成本。
在一个实施例中,步骤S210可以具体包括:
当所述相似超像素的数量为一个或两个时,标记对应的所述候选超像素为所述线缆检测起始点。
具体地,机器人102可以将具有一个或两个相似超像素的候选超像素标记为上述的线缆检测起始点。如前文所述,当候选超像素的相似超像素的数量为1个时,代表该候选超像素有较大几率为线缆中的某个并非处于重叠区域内的端点。当候选超像素的相似超像素的数量为2个时,代表该候选超像素有较大几率为线缆中的某个并非处于重叠区域内的非端点。
可以理解,当存在有多个候选超像素符合上述条件,则可以标记得到多个的线缆检测起始点。
上述的线缆检测方法中,通过将具有一个相似超像素或具有两个相似超像素的候选超像素标记为线缆检测起始点,可以准确地将并非处于重叠区域的超像素作为线缆检测的线缆检测起始点,避免了在重叠区域的超像素开始进行线缆检测而导致的线缆检测错误的问题。
在一个实施例中,在步骤S208之后,上述的线缆检测方法可以还包括:
当所有的所述预设数量的所述候选超像素对应的所述相似超像素的数量均不符合所述第二预设阈值时,重新根据所述预设规则选取出预设数量的候选超像素,直到选取出对应的所述相似超像素的数量符合所述第二预设阈值的所述候选超像素,并将选取出的所述候选超像素作为所述线缆检测起始点。
具体地,机器人102在统计出相似超像素的数量后,可以进一步判断相似超像素的数量是否符合第二预设阈值,当相似超像素的数量不符合第二预设阈值时,可以重新执行上述的步骤S206,即,重新根据预设规则在多个超像素中选取出预设数量的候选超像素,并确定与各所述候选超像素相邻的多个第一相邻超像素,直至选取出相似超像素的数量符合第二预设阈值的候选超像素作为线缆检测起始点。可以理解,机器人102可以标记那些已经被选出过的、但相似超像素的数量不符合第二预设阈值的候选超像素,从而在后续重新选取候选超像素的过程中避免超像素的重复选取。
上述的线缆检测方法中,在相似超像素的数量不符合第二预设阈值的情况下,重新按照预设规则选取出预设数量的候选超像素,直至确定出线缆检测起始点,由此避免了因无法确定线缆检测起始点而无法进行线缆检测的问题。
在一个实施例中,如图4所示,步骤S204可以具体包括步骤S2041至S2044。
S2041,获取所述RGB图中各个所述像素点的HSV值。
其中,HSV(Hue Saturation Value,色调饱和度明亮度)值可以为根据HSV颜色空间表示的色彩信息。
具体地,机器人102可以将像素点的基于RGB颜色空间表示的色彩信息通过特定算法转换为基于HSV颜色空间表示的色彩信息。即,将像素点的RGB值转换为HSV值。
S2042,根据各个所述像素点的HSV值,获取所述RGB图的掩码图。
其中,掩码图可以为用于掩盖图像中非关键像素点的图像。
具体地,机器人102可以根据像素点的HSV值生成RGB图对应的掩码图。例如,根据HSV值可以针对RGB图中可能属于线缆的像素点生成纯白色像素点(像素值为255),而对可能属于背景的像素点生成纯黑色像素点。由此,得到了由纯白色像素和纯黑色像素点构成的掩码图。通常,将掩码图中纯白色像素点形成的区域称为mask,该mask可以大致上表示出RGB图中的线缆。
S2043,采用所述掩码图将所述RGB图转换为二值化线缆图。
S2044,将所述二值化线缆图中的各个所述像素点分割为多个所述超像素。
具体地,机器人102可以将掩码图与RGB图进行融合,然后将融合的图像中属于背景的纯黑色像素点转换为纯白色像素点,得到二值化线缆图。然后,针对二值化线缆图中的像素点进行图像分割,以得到多个上述的超像素。
应当理解,经过转换为二值化线缆图的操作,机器人102可很容易的区分属于背景的超像素和属于线缆的超像素。在前述步骤S206中(即根据预设规则选取候选超像素时),机器人102可据此仅挑选属于线缆的超像素。
图5示出了线缆的RGB图的一个例子。如图5所示,机器人102拍摄得到的原始的RGB图中,线缆的像素点与背景的像素点均为较深的颜色,在进行线缆检测时,可能会由于错误地将背景的像素点识别为与线缆的像素点相似的像素点,从而导致检测结果错误的问题。因此,可以首先对原始的RGB图中各个像素点获取HSV值,然后根据该HSV值生成掩码图。
图6示出了一种与图5所示的RGB图对应的掩码图。如图6所示,掩码图中的mask与原始的RGB图中的线缆的位置与形状大致相符。将掩码图与原始的RGB融合,可以得到如图3所示的RGB图,为了区分说明,因此命名为二值化线缆图。该二值化线缆图中,线缆与背景之间具有较强的对比度,较为容易判断出像素点之间是否相似,从而提升了线缆检测的准确性。
上述的线缆检测方法中,通过首先获取RGB图中各像素点的HSV值,然后根据该HSV值获取掩码图,利用掩码图得到线缆与背景之间具有较强对比度的二值化线缆图,避免错误地将背景的像素点识别为线缆,从而提升了线缆检测的准确性。
在一个实施例中,所述线缆检测起始点具有多个,当所述RGB图中属于所述当前线缆的所述超像素检测完毕后,还包括以下步骤:
选取下一个线缆检测起始点并检测属于所述下一个线缆检测起始点对应的线缆的所述超像素,直至所述RGB图中各个线缆均检测完毕;判断各个所述线缆是否重叠;当检测出所述线缆重叠时,根据所述RGB图对应的深度图检测出各个所述线缆之间的重叠关系。
具体地,机器人102可以在多个线缆检测起始点中选取至少一个开始进行线缆检测,根据所选取的线缆检测起始点进行检测的线缆。为方便说明,我们将其命名为当前线缆。机器人102在检测出属于当前线缆的超像素之后,可以在多个线缆检测起始点中选取另一个线缆检测起始点,开始进行下一个线缆的检测,直至检测出RGB图中的各个线缆。
可以理解,对于放置在一起的线缆来说,可能会出现线缆重叠的情况。所以,机器人102可以判断各线缆是否重叠。机器人102在根据分割出的超像素检测线缆时,会将该超像素归属至对应的线缆。当同一个超像素被归属至至少两根线缆时,则判断该超像素对应的线缆重叠。可以理解,当一个超像素仅被归属至一根线缆时,则判定该超像素对应的线缆不重叠。然后,当发现存在重叠的线缆时,则可以根据获取到的与RGB图对应的深度图检测出各个线缆之间的重叠关系。
在一个实施例中,重叠关系用于表征线缆之间是如何重叠的。线缆之间的重叠关系,可以包括未被压叠和被压叠。
当机器人102检测出线缆重叠时,机器人可以根据深度图检测出重叠的线缆中哪一条线缆属于被压叠,哪一条线缆属于未被压叠。即,针对重叠的线缆,检测出哪一条线缆在上方,哪一条线缆在下方。可以理解,在其他实施例中,线缆之间的重叠关系,还可以包括线缆之间的具体重叠的位置和重叠程度中的至少一种。
其中,机器人102可以通过部署在机器人上的摄像机,获取线缆的RGB图和对应的深度图。RGB图与深度图对应(例如,在同一位置取景等),深度图可与RGB图同时获取,也可分别获取。例如,可使用与机器人通信的RGB-D相机同时获取RGB图和对应的深度图。
通过判断检测出的各线缆是否重叠,当检测出的线缆重叠时,则根据深度图检测出各线缆之间的重叠关系。这样,对于零散放置的线缆和堆叠放置的线缆,均能准确检测出来。此外,由于检测出了重叠的线缆之间的重叠关系,所以,在后续抓取线缆的时候,则可以基于该重叠关系,准确抓取线缆,相较于传统方法,不仅能够准确抓取未重叠的线缆,还可以准确抓取重叠的线缆,因而提高了抓取准确率。
在完成线缆检测操作后,机器人102可根据线缆的检测结果进行线缆抓取。在一个实施例中,参考图7,机器人102执行线缆抓取的方法可包括步骤S702。
S702,当存在与其他所述线缆均不具有所述重叠关系的第一优先抓取线缆时,抓取所述第一优先抓取线缆。
具体地,机器人102在确定各个线缆之间的重叠关系之后,可以将与其他线缆均不存在重叠关系的线缆,即,既不压叠其他线缆、也不被其他线缆压叠,作为上述的第一优先抓取线缆,并确定该第一优先抓取线缆相应的抓取位置和抓取方向,根据所确定的抓取位置和抓取方向,抓取第一优先抓取线缆。
需要说明的是,在实际的线缆检测场景中,线缆之间纵横交错,摆放较为复杂且不规则。发明人经过深入研究,发现在摆放情况较为复杂且不规则的实际情况下,如果优先抓取与其他线缆均不存在重叠关系(即,零散放置的线缆)的第一优先抓取线缆,在抓取第一优先抓取线缆的过程中,通常有很大几率会带动其他互相压叠的线缆,使得互相压叠的线缆出现摆放形状的改变,或者,相对于压叠/被压叠的线缆发生位置的移动,由此,线缆不再压叠其他线缆或被其他线缆压叠,从而便于进行线缆检测。此外,还存在一种情形,线缆较长而拍摄视野有限,因而拍摄到的RGB图中并未能确定该线缆被其他线压叠,然而将该较长的线缆作为第一优先抓取线缆进行抓取的过程中,通过抓取时向上拉动的力,可以将拍摄视野之外的压叠第一优先抓取线缆的线缆拖动,从而脱离压叠。
上述的线缆检测方法中,通过将与其他线缆不存在重叠关系的线缆作为第一优先抓取线缆进行优先抓取,可以在抓取第一优先抓取线缆过程中影响其他线缆的摆放形状和/或摆放位置,从而使得其他线缆脱离重叠关系,不再压叠其他线缆或不被其他线缆压叠,便于后续的线缆检测,提升了线缆检测的效率。
在一个实施例中,参考图7,机器人102执行线缆抓取的方法可包括步骤S704和S706。
S704,当不存在所述第一优先抓取线缆时,判断是否存在第二优先抓取线缆;所述第二优先抓取线缆压叠其他所述线缆的压叠比例低于预设的比例阈值、且未被压叠。
S706,当存在所述第二优先抓取线缆时,抓取所述第二优先抓取线缆。
具体地,当机器人102判定当前不存第一优先抓取线缆时,可以进一步判断是否存在第二优先抓取线缆。具体地,机器人102可以将压叠其他线缆的压叠比例低于预设的比例阈值的、且未被其他线缆压叠的线缆,作为上述的第二优先抓取线缆。更具体地,在判定线缆之间存在重叠关系之后,可以进一步确定线缆之间的重叠关系是压叠还是被压叠。然后,将压叠其他线缆的压叠比例低于比例阈值、且未被压叠的线缆作为第二优先抓取线缆。下一步,确定该第二优先抓取线缆相应的抓取位置和抓取方向,根据所确定的抓取位置和抓取方向,抓取第二优先抓取线缆。
在一个实施例中,当检测出各条线缆之后,可以进一步检测线缆之间的重叠关系。机器人102可以根据获取到的、与RGB图对应的深度图,确定线缆中的哪一条线缆属于被压叠,哪一条线缆属于未被压叠。即,针对重叠的线缆,检测出哪一条线缆在上方,哪一条线缆在下方。
更具体地,针对任意两条被检测出重叠的线缆,提取两条线缆重合的超像素,并根据深度图确定重合的超像素的第一深度值。其中,第一深度值为以重合的超像素的中心点为中心的预设窗口范围内的平均深度值。例如,该预设窗口大小可以为3*3或5*5等。
然后,从两条线缆上分别提取预设数量的相邻的超像素,并根据深度图确定两条线缆上提取的相邻的超像素各自对应的第二深度。然后,根据第一深度值和第二深度值,分别计算两条线缆上提取的相邻的超像素与重合的超像素之间的深度差距。
最后,根据深度差距确定检测出的各线缆之间的重叠关系,其中,将重合的超像素归属到两条线缆中对应的深度差距较小的一条,将两条线缆中对应的深度差距较大的一条标记为被压叠。由此,可以确定出存在重叠关系的线缆之间被压叠的线缆和压叠其他线缆的线缆。
图8示出了一个实施例中根据深度图确定线缆重叠关系的检测结果的示意图。如图8所示,为方便解释说明,图中线缆的检测结果可以点加线的方式进行表示。可以理解,一条线缆和另一条线缆重叠,重叠部分线缆的连接方式为直线,而不是点加线的连接方式。当连接方式为直线时,则表示该线缆在下方被压叠。当连接方式为点加线时,则表示该线缆在上方未被压叠。例如,图8中线缆801和线缆802,重合的超像素803归属于线缆801,则表示线缆801在上方未被压叠,线缆802在下方被压叠。本实施例只是线缆重叠关系的一种示意方式,其对线缆的重叠关系并不限定。
上述的线缆检测方法中,通过在未检测到第一优先抓取线缆时,进一步确定压叠其他线缆的压叠比例低于比例阈值、且未被压叠的线缆作为第二优先抓取线缆,然后抓取该第二优先抓取线缆。从而,便于机器人102抓取未被压叠其他线缆、且压叠其他线缆的压叠程度不严重的线缆。
在一个实施例中,步骤S212可以具体包括:
以所述线缆检测起始点开始,确定检测当前点;确定所述检测当前点的第一参考方向,并根据所述第一参考方向,确定所述检测当前点与相邻的多个第二相邻超像素的方向相似度;根据所述检测当前点与相邻的多个第二相邻超像素之间的所述视觉相似度和所述方向相似度,得到所述检测当前点与相邻的多个所述第二相邻超像素之间的所述目标相似度;根据所述检测当前点与相邻的多个所述第二相邻超像素之间的所述目标相似度,确定属于所述当前线缆的所述第二相邻超像素,并将其作为新的检测当前点,直到检测出所有属于所述当前线缆的所述超像素。
具体地,机器人102可以在多个线缆检测起始中选取至少一个作为检测当前点,或者,可以将多个线缆检测起始点作为检测当前点。
在进行线缆检测时,首先确定与检测当前点相邻的超像素,作为第二相邻超像素,通常可以得到多个的第二相邻超像素。下一步,确定检测当前点与相邻的多个第二相邻超像素的目标相似度。然后,将对应于最高的目标相似度的第二相邻超像素,确定为属于当前线缆的超像素,标记为线缆点并确定为新的检测当前点,然后返回至检测当前点与相邻的多个第二超像素之间的目标相似度的步骤,直至检测当前点与各第二相邻超像素的所述目标相似度均小于预设的目标相似度阈值,得到目标检测起始点对应的多个线缆点。
可以理解,针对每一个检测当前点,其附近都存在多个第二相邻超像素。机器人102可分别确定检测当前点与每一个第二相邻超像素的目标相似度。机器人102可将计算得到的每一个目标相似度进行排序,并将对应于最高目标相似度的第二相邻超像素标记为与检测当前点位于同一线缆,并作为新的检测当前点继续进行检测。类似的,新的检测当前点附近存在多个第二相邻超像素。返回执行确定目标相似度的步骤,直至当前线缆被完整地检测出来,即得到所随机选取的目标检测起始点对应的线缆。例如,当作为检测当前点的超像素与各第二相邻超像素的目标相似度均小于预设的目标相似度阈值,则可认为当前线缆已被完整检测出。由此可以理解,线缆检测是一个循环迭代的过程。
在一个实施例中,确定检测当前点与相邻的多个第二相邻超像素的目标相似度的步骤可以具体包括:确定检测当前点与相邻的多个第二相邻超像素之间的视觉相似度和方向相似度,并根据视觉相似度和方向相似度,确定各检测当前点与相邻的多个第二相邻超像素之间的目标相似度。可以理解,超像素之间的目标相似度可以由视觉相似度和/或方向相似度确定。
在一个实施例中,机器人102可以根据视觉相似度和方向相似度的乘积(即线性相乘),得到目标相似度。可以理解,在其他实施例中,机器人102也可以以其他方式处理(例如,分别赋予不同的权重)视觉相似度和方向相似度进行计算,得到目标相似度。
在一个实施例中,目标相似度的计算公式如下:
total confidence=visual similarity*direction similarity。
其中,total confidence(总置信度)表示目标相似度;visual similarity表示视觉相似度,direction similarity表示方向相似度。
在一个实施例中,检测当前点与相邻的多个第二相邻超像素之间的视觉相似度的计算方式包括以下任一种:将超像素对应的像素值进行比较,得到超像素之间的视觉相似度;将超像素映射到颜色空间,基于颜色空间计算超像素之间的视觉相似度;获取超像素中像素点的像素值对应的直方图,并根据直方图相似的置信度确定超像素之间的视觉相似度。
具体地,计算超像素之间的视觉相似度,可以将第二相邻超像素与候选超像素中对应的像素值进行比较,并根据比较结果得到上述的视觉相似度;将第一相邻超像素与候选超像素映射到颜色空间(比如,CIELab,CIE lab value,表色体系),进而基于颜色空间计算上述的视觉相似度;其中,CIELab是一个颜色系统,基于这个颜色系统之上,可确定某个颜色的色彩信息。或者,获取超像素中像素点的像素值对应的直方图,并根据超像素中像素点的像素值对应的直方图相似的置信度,确定上述的视觉相似度。
在一个实施例中,视觉相似度可通过比较各超像素中像素点的像素值对应的直方图得到,用S1表示第一个超像素,用S2表示第二个超像素,用H(S1)表示第一个超像素中像素点的像素值对应的直方图,用H(S2)表示第二个超像素中像素点的像素值对应的直方图,则视觉相似度visual similarity(S1,S2)可表示为:
visual similarity(S1,S2)=Σmin(H(S1),H(S2))
通过比较像素值,或基于颜色空间,或基于直方图确定超像素之间的视觉相似度,使得超像素之间的视觉相似度确定方式更加灵活。
此外,机器人102可以首先确定检测当前点的第一参考方向,并根据所确定的第一参考方向,确定检测当前点与相邻的多个第二相邻超像素的方向相似度。
在一个实施例中,确定检测当前点与多个第二相邻超像素之间的方向相似度的方法可包括:提取预设数量的连续的检测先前点;并根据各检测先前点的位置计算对应的检测当前点的参考方向;分别获取检测当前点和每个第二相邻超像素确定的向量;以及根据参考方向以及获取的检测当前点和每个第二相邻超像素确定的向量,确定检测当前点与多个第二相邻超像素之间的方向相似度。需要注意,当检测当前点为线缆检测起始点时,其不具有检测先前点。在此情况下该检测当前点的参考方向可以有不同的方式获取,具体见后文描述。
在一个实施例中,机器人102可以从检测当前点所位于的线缆上,按照距离当前点由近到远的顺序提取预设数量的、且连续的检测先前点。在其他实施例中,机器人102也可以从检测当前点所位于的线缆上,选择随机数量的连续的检测先前点。
在一个实施例中,机器人102可将根据检测当前点和每一个第二相邻超像素所生成的向量和参考方向的夹角导入到Von Mises分布(冯·米塞斯分布,即一种圆上连续概率分布模型,也被称作循环正态分布)中计算方向相似度。方向相似度越大,表示检测当前点和某个第二相邻超像素在方向上更匹配,更有可能在同一条线缆上。方向相似度可表示为:
direction similarity(S1,S2,rd)=Von Mises(arccos(S2(c)-S1(c),rd),k)
其中,S1表示第一个超像素,S2表示第二个超像素,rd表示参考方向,c表示超像素的中心点的坐标值,S1(c)表示第一个超像素的向量,S2(c)表示第二个超像素的向量,k表示Von Mises分布的参数。应当理解,在其他实施例中也可以使用其他方式计算方向相似度,在此不作限制。
上述实施例中,通过确定当前点与相邻的多个第二相邻超像素之间的视觉相似度和方向相似度,以得到超像素之间的目标相似度,根据目标相似度检测线缆,提升了线缆检测的精确度。
在一个实施例中,所述确定所述检测当前点的第一参考方向,包括:根据所述检测当前点和所述线缆检测起始点,确定所述第一参考方向;
所述RGB图中属于所述当前线缆的所述超像素检测完毕后,还包括:
统计属于所述当前线缆的所述超像素的数量;当属于所述当前线缆的所述超像素的数量小于第三预设阈值时,则判定所述当前线缆为弯曲线缆,并根据弯曲线缆对应的检测策略对所述当前线缆重新进行检测。
在一个实施例中,根据弯曲线缆对应的检测策略对所述当前线缆重新进行检测,具体包括:以所述线缆检测起始点的所述视觉相似度最接近的相邻的所述超像素作为所述检测当前点开始,根据所述检测当前点和与其相邻的连续一个或多个检测先前点确定第二参考方向,并根据所述第二参考方向确定所述检测当前点与多个所述第二相邻超像素的方向相似度和所述目标相似度;根据所述检测当前点与相邻的多个所述第二相邻超像素之间的所述目标相似度,确定属于所述当前线缆的所述第二相邻超像素,并将其作为新的检测当前点,直到检测出所有属于所述当前线缆的所述超像素。
具体地,在针对当前线缆进行线缆检测的过程中,机器人102可以随机选定一个或多个线缆检测起始点,作为检测当前点。然后,确定检测当前点与其多个的第二相邻超像素之间的目标相似度,并根据目标相似度,在多个的第二相邻超像素中确定出线缆点,并将该线缆点作为新的检测当前点,重复上述的确定目标相似度的步骤。
需要说明的是,放置的线缆可能为直线缆或弯曲线缆。在确定检测当前点的第一参考方向时,可以假设当前线缆为直线缆,并采用直线缆对应的检测策略对当前线缆进行检测。
直线缆对应的检测策略中,可以根据线缆检测起始点的中心点和检测当前点的中心点,确定上述的第一参考方向。例如,假设线缆检测起始点的中心点为C1,当线缆为直线缆时,则根据线缆检测起始点的中心点C1和检测当前点的中心点C2,得到上述的第一参考方向。根据第一参考方向,可以进一步确定方向相似度,并根据方向相似度和视觉相似度确定目标相似度。
需要说明的是,当检测当前点为线缆检测起始点或检测线缆的前若干个超像素时,可以不引入方向相似度,而只通过视觉相似度确定目标相似度。或者,对于检测当前点为检测线缆的前若干个超像素之一时,可以使用所有的检测先前点计算参考方向,以得到方向相似度。例如,在检测线缆的第二个点时,其先前点只有起始检测点,在这种情况下可不引入方向相似度,只通过视觉相似度确定总的目标相似度来检测第二个点;或者,在检测线缆的第三、第四和第五个点时,可分别只使用两个、三个和四个先前点来确定参考方向。
可以理解,经过图像分割之后的线缆由多个超像素构成,比如,一根线缆可包括几十个超像素。机器人102可预设一个超像素数量阈值。在对当前线缆检测完毕后,机器人102可将检测出的该当前线缆包含的超像素的数量与超像素数量阈值进行比较。如果当前线缆包含的超像素的数量大于超像素数量阈值时,则可以判定当前线缆为直线缆;如果当前线缆包含的超像素的数量小于或等于超像素数量阈值时,则判定该当前线缆为弯曲线缆。
当判定当前线缆为弯曲线缆时,则可以采用弯曲线缆对应的检测策略重新对当前线缆进行检测。
为便于理解,现举例说明。假设,第三预设阈值可以为10,当检测出的该当前线缆包含的超像素的数量为12(即大于10)时,则可以判定该线缆为直线缆。当检测出的当前线缆包含的超像素的数量为8(即小于10)时,则判定该线缆为弯曲线缆,此时则可以采用弯曲线缆对应的检测策略重新进行线缆检测。
弯曲线缆对应的检测策略中,可以根据检测先前点的中心点和检测当前点的中心点,确定上述的第二参考方向。例如,假设与检测当前点连续的多个检测先前点的中心点分别为C3、C4和C5,则可以根据中心点C3、C4和C5和检测当前点的中心点C2,得到上述的第二参考方向。
根据第二参考方向,则可以进一步得到新的方向相似度,并根据新的方向相似度确定新的目标相似度,根据新的目标相似度可以在多个第二相邻超像素中确定新的线缆点,以最终得到重新检测后的属于当前线缆的多个超像素。
上述的线缆检测方法中,通过根据线缆中的超像素的数量确定线缆为直线缆或弯曲线缆,然后针对直线缆或弯曲线缆采用不同的参考方向确定方式,针对直线缆,采用线缆检测起始点和检测当前点确定参考方向,针对弯曲线缆,则采用与检测当前点相邻的检测先前点和检测当前点确定参考方向,从而可以针对线缆不同的摆放形状采用针对性的参考方向计算方式,得到更准确的参考方向,并基于更准确的参考方向计算方向相似度,从而提升了线缆检测的准确度。
而且,通过首先假设当前线缆为直线缆,并采用直线缆对应的检测策略进行线缆检测,在线缆检测完毕后根据检测出的属于当前线缆的多个超像素的数量确定当前线缆为直线缆还是弯曲线缆,在确定为弯曲线缆的情况下,采用弯曲线缆对应的检测策略重新进行检测,以修正线缆检测结果,从而在提升线缆检测的准确性的同时,保证线缆检测的效率。
进一步,在确定当前线缆为弯曲线缆的情况下,根据检测当前点和与其相邻的连续多个检测先前点来重新确定参考方向,并基于重新确定的参考方向确定方向相似度,使得最终的目标相似度更准确,因此,提升了针对弯曲线缆的检测准确性。
在一个实施例中,所述线缆检测起始点具有多个,以线缆检测起始点开始,确定检测当前点的步骤,可以具体包括:
选定至少一个所述线缆检测起始点为目标检测起始点;将选定的所述目标检测起始点,作为所述检测当前点;
在确定属于所述当前线缆的所述第二相邻超像素,并将其作为新的检测当前点之后,当新的检测当前点已被标记为所述线缆检测起始点时,则删除新的检测当前点作为所述线缆检测起始点的标记。
具体地,机器人102可以从多个线缆检测起始点中,随机选定其中一个或多个,作为目标检测起始点。下一步,将该目标检测起始点,作为检测当前点,开始进行线缆检测。如果在针对当前线缆进行检测的过程中,发现新的检测当前点已被标记为线缆检测起始点时,则可以取消作为线缆检测起始点的标记,从而,可以避免下一轮的线缆检测重复选取了已经检测过的超像素进行线缆检测,提升了线缆检测的效率。
为了便于本领域技术人员深入理解本申请实施例,以下将结合图9的具体示例进行说明。
图9示出了一个实施例一种线缆检测具体示例的主要步骤的流程示意图。
如图所示,在一个线缆检测示例中,可以包括以下主要步骤:
S902,拍摄线缆的原始RGB图和对应的深度图;
S904,获取原始RGB图中各个像素点的HSV值,并根据各个像素点的HSV值,获取原始RGB图的掩码图;
S906,采用掩码图将RGB图转换为二值化的RGB图,并在二值化的RGB图上,将各个像素点分割为多个超像素;
S908,在多个超像素中随机选取出候选超像素并确定与其相邻的第一相邻超像素,并根据第一相邻超像素与候选超像素之间的视觉相似度,判定第一相邻超像素为相似超像素;
S910,当相似超像素的数量为一个或两个时,将候选超像素标记为线缆检测起始点;
S912,随机选定至少一个线缆检测起始点为目标检测起始点,并将选定的目标检测起始点,作为检测当前点;
S914,计算检测当前点与相邻的多个第二相邻超像素之间的目标相似度,并将对应于最高的目标相似度的第二相邻超像素标记为线缆点,并确定为新的检测当前点;
S916,返回至确定检测当前点与相邻的多个第二相邻超像素的目标相似度的步骤,直至作为检测当前点的超像素与各第二相邻超像素的目标相似度均小于预设的目标相似度阈值,检测得到目标检测起始点对应的多个线缆点,并根据多个线缆点确定线缆;当新的检测当前点已被标记为线缆检测起始点时,则取消作为线缆检测起始点的标记;
S918,选定下一个线缆检测起始点作为新的目标检测起始点,并返回S912,直至各个线缆均完成检测;
S920,判断各个线缆是否重叠;当检测出重叠线缆时,采用深度图,获取各个线缆之间的重叠关系;当存在与其他线缆均不具有重叠关系的第一优先抓取线缆时,则根据针对第一优先抓取线缆检测到的抓取位置和抓取方向,抓取第一优先抓取线缆;当不存在第一优先抓取线缆时,进一步判断是否存在压叠其他线缆的压叠比例低于预设的比例阈值、且未被压叠的第二优先抓取线缆,如存在,则根据针对第二优先抓取线缆检测到的抓取位置和抓取方向,抓取第二优先抓取线缆。
应该理解的是,虽然图2、图4、图7和图9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图4、图7和图9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种线缆检测装置1000,包括:图像获取模块1002、图像分割模块1004、相邻确定模块1006、相似确定模块1008和起始确定模块1010,其中:
图像获取模块1002,用于获取线缆的RGB图;
图像分割模块1004,用于将所述RGB图中的像素点分割为多个超像素;所述超像素为对所述RGB图中相邻且像素特征相似的像素点进行合并所得到的;
相邻确定模块1006,用于根据预设规则,在多个所述超像素中选取出预设数量的候选超像素,并确定与所述候选超像素相邻的多个第一相邻超像素;
相似确定模块1008,用于在多个所述第一相邻超像素中,确定与对应所述候选超像素的视觉相似度大于第一预设鱼食的相似超像素;
起始确定模块1010,用于当所述相似超像素的数量符合第二预设阈值时,将对应的所述候选超像素作为线缆检测起始点;
检测模块1012,用于以所述线缆检测起始点开始,检测当前超像素与相邻的所述超像素之间的目标相似度,并根据所述当前超像素与相邻的所述超像素之间的目标相似度检测出所述RGB图中属于当前线缆的所述超像素。
在一个实施例中,所述起始确定模块1010,还具体用于:当所述相似超像素的数量为一个或两个时,标记对应的所述候选超像素为所述线缆检测起始点。
在一个实施例中,所述线缆检测装置1000还具体用于:当所有的所述预设数量的所述候选超像素对应的所述相似超像素的数量均不符合所述第二预设阈值时,重新根据所述预设规则选取出预设数量的候选超像素,直到选取出对应的所述相似超像素的数量符合所述第二预设阈值的所述候选超像素,并将选取出的所述候选超像素作为所述线缆检测起始点。
在一个实施例中,所述图像分割模块1004,还具体用于:获取所述RGB图中各个所述像素点的HSV值;根据各个所述像素点的HSV值,获取所述RGB图的掩码图;采用所述掩码图将所述RGB图转换为二值化线缆图;将所述二值化线缆图中的各个所述像素点分割为多个所述超像素。
在一个实施例中,所述线缆检测起始点具有多个,所述线缆检测装置1000还具体用于:当所述RGB图中属于所述当前线缆的所述超像素检测完毕后,选取下一个线缆检测起始点并检测属于所述下一个线缆检测起始点对应的线缆的所述超像素,直至所述RGB图中各个线缆均检测完毕;
所述线缆检测装置1000还包括:
重叠判断模块,用于判断各个所述线缆是否重叠;
重叠关系模块,用于当检测出所述线缆重叠时,根据所述RGB图对应的深度图检测出各个所述线缆之间的重叠关系。
在一个实施例中,所述线缆检测装置1000还用于:当存在与其他所述线缆均不具有所述重叠关系的第一优先抓取线缆时,抓取所述第一优先抓取线缆。
在一个实施例中,所述线缆检测装置1000,还用于:当不存在所述第一优先抓取线缆时,判断是否存在第二优先抓取线缆;所述第二优先抓取线缆压叠其他所述线缆的压叠比例低于预设的比例阈值、且未被压叠;当存在所述第二优先抓取线缆时,抓取所述第二优先抓取线缆。
在一个实施例中,所述检测模块1012,具体用于:以所述线缆检测起始点开始,确定检测当前点;确定所述检测当前点的第一参考方向,并根据所述第一参考方向,确定所述检测当前点与相邻的多个第二相邻超像素的方向相似度;根据所述检测当前点与相邻的多个第二相邻超像素之间的所述视觉相似度和所述方向相似度,得到所述检测当前点与相邻的多个所述第二相邻超像素之间的所述目标相似度;根据所述检测当前点与相邻的多个所述第二相邻超像素之间的所述目标相似度,确定属于所述当前线缆的所述第二相邻超像素,并将其作为新的检测当前点,直到检测出所有属于所述当前线缆的所述超像素。
在一个实施例中,所述检测模块1012,具体用于:根据所述检测当前点和所述线缆检测起始点,确定所述第一参考方向;当所述RGB图中属于所述当前线缆的所述超像素检测完毕后,统计属于所述当前线缆的所述超像素的数量;当属于所述当前线缆的所述超像素的数量小于第三预设阈值时,则判定所述当前线缆为弯曲线缆,并根据弯曲线缆对应的检测策略对所述当前线缆重新进行检测。
在一个实施例中,所述检测模块1012,还具体用于:以所述线缆检测起始点的所述视觉相似度最接近的相邻的所述超像素作为所述检测当前点开始,根据所述检测当前点和与其相邻的连续一个或多个检测先前点确定第二参考方向,并根据所述第二参考方向确定所述检测当前点与多个所述第二相邻超像素的所述方向相似度和所述目标相似度;根据所述检测当前点与相邻的多个所述第二相邻超像素之间的所述目标相似度,确定属于所述当前线缆的所述第二相邻超像素,并将其作为新的检测当前点,直到检测出所有属于所述当前线缆的所述超像素。
关于线缆检测装置的具体限定可以参见上文中对于线缆检测方法的限定,在此不再赘述。上述线缆检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。上述提供的线缆检测装置可用于执行上述任意实施例提供的线缆检测方法,具备相应的功能和有益效果。
在一个实施例中,提供了一种机器人,该机器人可以是上述图1中的机器人102,其内部结构图可以如图11所示。该机器人包括通过系统总线1101连接的处理器1102、存储器1103和图像采集装置1104。其中,该机器人的处理器1102用于提供计算和控制能力。该机器人的存储器1103包括非易失性存储介质11031。该非易失性存储介质11031存储有操作系统11031a和计算机程序11031b。该存储器1103为非易失性存储介质11031中的操作系统11031a和计算机程序11031b的运行提供环境。存储器1103存储有程序指令,处理器1102可执行该程序指令执行前述线缆检测方法的步骤。此处线缆检测方法的步骤可以是上述各个实施例的线缆检测方法中的步骤。图8所示的机器人可以是各类型的机器人,例如工业用机械臂或仿人型机器人等,在此不做限定。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的机器人的限定,具体的机器人可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。例如,图11所示的图像采集装置1104和/存储器1103可以设置于机器人的内部,也可以位于机器人的外部并以可通信的方式与机器人的处理器1102连接。
在一个实施例中,本申请还提供了一种具有存储功能的装置,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述线缆检测方法的步骤。此处线缆检测方法的步骤可以是上述各个实施例的线缆检测方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种线缆检测方法,其特征在于,包括:
获取线缆的RGB图;
将所述RGB图中的像素点分割为多个超像素;所述超像素为对所述RGB图中相邻且像素特征相似的像素点进行合并所得到的;
根据预设规则,在多个所述超像素中选取出预设数量的候选超像素,并确定与各所述候选超像素相邻的多个第一相邻超像素;
在多个所述第一相邻超像素中,确定与对应所述候选超像素的视觉相似度大于第一预设阈值的相似超像素的数量;
当所述相似超像素的数量符合第二预设阈值时,将对应的所述候选超像素作为线缆检测起始点;
以所述线缆检测起始点开始,检测当前超像素与相邻的所述超像素之间的目标相似度,并根据所述当前超像素与相邻的所述超像素之间的目标相似度检测出所述RGB图中属于当前线缆的所述超像素。
2.根据权利要求1所述的方法,其特征在于,所述当所述相似超像素的数量符合第二预设阈值时,将对应的所述候选超像素作为线缆检测起始点,包括:
当所述相似超像素的数量为一个或两个时,标记对应的所述候选超像素为所述线缆检测起始点。
3.根据权利要求1所述的方法,其特征在于,在所述确定与对应所述候选超像素的视觉相似度大于第一预设阈值的相似超像素的数量之后,还包括:
当所有的所述预设数量的所述候选超像素对应的所述相似超像素的数量均不符合所述第二预设阈值时,重新根据所述预设规则选取出预设数量的候选超像素,直到选取出对应的所述相似超像素的数量符合所述第二预设阈值的所述候选超像素,并将选取出的所述候选超像素作为所述线缆检测起始点。
4.根据权利要求1所述的方法,其特征在于,所述将所述RGB图中的像素点分割为多个超像素,包括:
获取所述RGB图中各个所述像素点的HSV值;
根据各个所述像素点的HSV值,获取所述RGB图的掩码图;
采用所述掩码图将所述RGB图转换为二值化线缆图;
将所述二值化线缆图中的各个所述像素点分割为多个所述超像素。
5.根据权利要求1所述的方法,其特征在于,所述线缆检测起始点具有多个,当所述RGB图中属于所述当前线缆的所述超像素检测完毕后,还包括:
选取下一个线缆检测起始点并检测属于所述下一个线缆检测起始点对应的线缆的所述超像素,直至所述RGB图中各个线缆均检测完毕;
判断各个所述线缆是否重叠;
当检测出所述线缆重叠时,根据所述RGB图对应的深度图检测出各个所述线缆之间的重叠关系。
6.根据权利要求1所述的方法,其特征在于,所述以所述线缆检测起始点开始,检测当前超像素与相邻的所述超像素之间的目标相似度,并根据所述当前超像素与相邻的所述超像素之间的目标相似度检测出所述RGB图中属于当前线缆的所述超像素,包括:
以所述线缆检测起始点开始,确定检测当前点;
确定所述检测当前点的第一参考方向,并根据所述第一参考方向,确定所述检测当前点与相邻的多个第二相邻超像素的方向相似度;
根据所述检测当前点与相邻的多个第二相邻超像素之间的所述视觉相似度和所述方向相似度,得到所述检测当前点与相邻的多个所述第二相邻超像素之间的所述目标相似度;
根据所述检测当前点与相邻的多个所述第二相邻超像素之间的所述目标相似度,确定属于所述当前线缆的所述第二相邻超像素,并将其作为新的检测当前点,直到检测出所有属于所述当前线缆的所述超像素。
7.根据权利要求6所述的方法,其特征在于,所述确定所述检测当前点的第一参考方向,包括:
根据所述检测当前点和所述线缆检测起始点,确定所述第一参考方向;
当所述RGB图中属于所述当前线缆的所述超像素检测完毕后,还包括:
统计属于所述当前线缆的所述超像素的数量;
当属于所述当前线缆的所述超像素的数量小于第三预设阈值时,则判定所述当前线缆为弯曲线缆,并根据弯曲线缆对应的检测策略对所述当前线缆重新进行检测。
8.根据权利要求7所述的方法,其特征在于,所述根据弯曲线缆对应的检测策略对所述当前线缆重新进行检测,包括:
以所述线缆检测起始点的所述视觉相似度最接近的相邻的所述超像素作为所述检测当前点开始,根据所述检测当前点和与其相邻的连续一个或多个检测先前点确定第二参考方向,并根据所述第二参考方向确定所述检测当前点与多个所述第二相邻超像素的所述方向相似度和所述目标相似度;
根据所述检测当前点与相邻的多个所述第二相邻超像素之间的所述目标相似度,确定属于所述当前线缆的所述第二相邻超像素,并将其作为新的检测当前点,直到检测出所有属于所述当前线缆的所述超像素。
9.一种机器人,包括存储器、处理器,所述存储器用于存储计算机程序,其特征在于,所述处理器用于执行所述计算机程序并实现权利要求1至8中任一项所述的方法的步骤。
10.一种具有存储功能的装置,用于存储计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110514942.1A CN113112502B (zh) | 2021-05-11 | 2021-05-11 | 线缆检测方法、机器人和具有存储功能的装置 |
PCT/CN2021/093593 WO2021228194A1 (zh) | 2020-05-15 | 2021-05-13 | 线缆检测方法、机器人和存储装置 |
US17/925,414 US20230186514A1 (en) | 2020-05-15 | 2021-05-13 | Cable detection method, robot and storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110514942.1A CN113112502B (zh) | 2021-05-11 | 2021-05-11 | 线缆检测方法、机器人和具有存储功能的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113112502A true CN113112502A (zh) | 2021-07-13 |
CN113112502B CN113112502B (zh) | 2023-10-20 |
Family
ID=76721950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110514942.1A Active CN113112502B (zh) | 2020-05-15 | 2021-05-11 | 线缆检测方法、机器人和具有存储功能的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113112502B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345867A (zh) * | 2018-03-09 | 2018-07-31 | 南京邮电大学 | 面向智能家居场景的手势识别方法 |
CN108985247A (zh) * | 2018-07-26 | 2018-12-11 | 北方工业大学 | 多光谱图像城市道路识别方法 |
CN109541401A (zh) * | 2018-12-29 | 2019-03-29 | 上海仁童电子科技有限公司 | 线缆检测方法、装置及电子设备 |
CN110097542A (zh) * | 2019-04-19 | 2019-08-06 | 中山大学 | 芯片气泡的检测方法、装置及存储介质 |
CN110135269A (zh) * | 2019-04-18 | 2019-08-16 | 杭州电子科技大学 | 一种基于混合颜色模型与神经网络的火灾图像检测方法 |
CN111639620A (zh) * | 2020-06-08 | 2020-09-08 | 深圳航天智慧城市系统技术研究院有限公司 | 一种基于可见光图像识别的火灾分析方法及系统 |
CN111667463A (zh) * | 2020-05-15 | 2020-09-15 | 上海非夕机器人科技有限公司 | 线缆检测方法、机器人和存储装置 |
CN112347882A (zh) * | 2020-10-27 | 2021-02-09 | 中德(珠海)人工智能研究院有限公司 | 一种智能分拣控制方法和智能分拣控制系统 |
-
2021
- 2021-05-11 CN CN202110514942.1A patent/CN113112502B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345867A (zh) * | 2018-03-09 | 2018-07-31 | 南京邮电大学 | 面向智能家居场景的手势识别方法 |
CN108985247A (zh) * | 2018-07-26 | 2018-12-11 | 北方工业大学 | 多光谱图像城市道路识别方法 |
CN109541401A (zh) * | 2018-12-29 | 2019-03-29 | 上海仁童电子科技有限公司 | 线缆检测方法、装置及电子设备 |
CN110135269A (zh) * | 2019-04-18 | 2019-08-16 | 杭州电子科技大学 | 一种基于混合颜色模型与神经网络的火灾图像检测方法 |
CN110097542A (zh) * | 2019-04-19 | 2019-08-06 | 中山大学 | 芯片气泡的检测方法、装置及存储介质 |
CN111667463A (zh) * | 2020-05-15 | 2020-09-15 | 上海非夕机器人科技有限公司 | 线缆检测方法、机器人和存储装置 |
CN111639620A (zh) * | 2020-06-08 | 2020-09-08 | 深圳航天智慧城市系统技术研究院有限公司 | 一种基于可见光图像识别的火灾分析方法及系统 |
CN112347882A (zh) * | 2020-10-27 | 2021-02-09 | 中德(珠海)人工智能研究院有限公司 | 一种智能分拣控制方法和智能分拣控制系统 |
Non-Patent Citations (1)
Title |
---|
王华松: "一种基于种子点区域生长的彩色图象分割算法", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113112502B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113658132B (zh) | 基于计算机视觉的结构件焊缝检测方法 | |
US8358841B2 (en) | Foreground/background separation in digital images | |
EP3249579B1 (en) | Object recognition apparatus, objection recognition method, and program | |
JP2000293696A (ja) | 画像認識装置 | |
US20150262012A1 (en) | Object picking system, object detecting device, object detecting method | |
WO2021228194A1 (zh) | 线缆检测方法、机器人和存储装置 | |
CN108389215B (zh) | 一种边缘检测方法、装置、计算机存储介质及终端 | |
CN110596120A (zh) | 玻璃边界缺陷检测方法、装置、终端及存储介质 | |
CN110427746A (zh) | 滑块验证码验证方法、装置、存储介质和计算机设备 | |
CN111667463B (zh) | 线缆检测方法、机器人和存储装置 | |
CN110826571B (zh) | 一种用于图像快速识别及特征匹配的图像遍历算法 | |
Rahimzadeganasl et al. | Automatic building detection based on CIE LUV color space using very high resolution pleiades images | |
US20150221101A1 (en) | Method of selecting a region of interest | |
CN108182700B (zh) | 一种基于两次特征检测的图像配准方法 | |
CN114937006A (zh) | 一种基于图像增强的锤头精细化缺陷检测方法 | |
JP3659426B2 (ja) | エツジ検出方法及びエツジ検出装置 | |
CN113112502A (zh) | 线缆检测方法、机器人和具有存储功能的装置 | |
CN112258561B (zh) | 针对图像拼接的匹配点获取方法 | |
CN109003268B (zh) | 一种超薄柔性ic基板外观颜色检测方法 | |
CN106603888A (zh) | 图像颜色提取处理结构 | |
CN104537679A (zh) | 一种基于超像素拓扑分析的卡通图片显著性检测方法 | |
CN113393399A (zh) | 一种用于Maya的颜色指定增强插件及其颜色增强方法 | |
CN113095147A (zh) | 皮肤区域检测方法、系统、图像处理终端和存储介质 | |
CN111931688A (zh) | 船只识别方法、装置、计算机设备及存储介质 | |
CN111950402A (zh) | 雷达态势图的检测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |