一种基于矿石图像分割矿石的方法、设备和存储介质
文献发布时间:2024-04-18 20:00:50
技术领域
本申请一般涉及图像处理技术领域。更具体地,本申请涉及一种基于矿石图像分割矿石的方法、设备和计算机可读存储介质。
背景技术
矿石开采过程中,往往含有大量的废石,降低了矿石的品质,因此需要对矿石进行分选。目前,X射线透射(X-Ray Transmission,“XRT”)技术是矿石分选技术领域常采用的方式之一,其利用X射线穿透矿石时,矿石和废石对X射线吸收程度不同的原理实现矿石筛选。在矿石筛选过程中,由于矿石形态各异、大小不一且排列紧密,使得采集到的矿石图像中会存在粘连重叠的情况,如果不将这些粘连重叠区域进行分割,会导致这些粘连重叠区域被错误识别为一个矿石,从而直接影响矿石分选的精确度。因此,对粘连重叠的矿石图像进行分割是进一步识别的关键。
目前,已有多种针对粘连重叠的目标进行分割的方法,例如形态学分割算法、分水岭算法以及凹点检测与匹配方法,其中凹点检测与匹配方法是应用较为广泛的方法。然而,目前凹点的匹配往往只考虑粘连重叠目标的外轮廓,其并未考虑轮廓内的边缘(或者说是纹理信息),从而使得凹点匹配不准确,最终沿凹点对分割目标时,会导致最终目标的错误分割或者漏分割。
有鉴于此,亟需提供一种基于矿石图像分割矿石的方案,以便准确匹配凹点对,提高矿石分割的准确度。
发明内容
为了至少解决如上所提到的一个或多个技术问题,本申请在多个方面中提出了基于矿石图像分割矿石的方案。
在第一方面中,本申请提供一种基于矿石图像分割矿石的方法,包括:根据原始矿石图像的轮廓图像确定所述原始矿石图像中的粘连重叠的矿石轮廓;提取所述粘连重叠的矿石轮廓中与分割有关的多个目标凹点;根据所述原始矿石图像确定粘连重叠的矿石内边缘;基于所述多个目标凹点在所述粘连重叠的矿石轮廓和所述粘连重叠的矿石内边缘的位置进行凹点配对,以形成凹点对;以及沿所述凹点对进行连线,以对矿石进行分割。
在一个实施例中,其中通过以下操作获取原始矿石图像的轮廓图像:对所述原始矿石图像进行二值化,获得所述原始矿石图像的二值图;以及根据所述二值图获取所述原始矿石图像的所述轮廓图像。
在另一个实施例中,其中根据原始矿石图像的轮廓图像确定所述原始矿石图像中的粘连重叠的矿石轮廓包括:对所述原始矿石图像的所述轮廓图像中的矿石轮廓进行凹凸判别,以确定粘连重叠的矿石轮廓。
在又一个实施例中,其中提取所述粘连重叠的矿石轮廓中与分割有关的多个目标凹点包括:提取所述粘连重叠的矿石轮廓中的凹缺陷区域;查找所述凹缺陷区域的凸点;以及将所述凹缺陷区域的凸点作为所述粘连重叠的矿石轮廓的凹点,并且对应至所述粘连重叠的矿石轮廓,以提取所述粘连重叠的矿石轮廓中与分割有关的所述多个目标凹点。
在又一个实施例中,其中根据所述原始矿石图像确定粘连重叠的矿石内边缘包括:对所述原始矿石图像进行边缘检测,获得所述原始矿石图像中粘连重叠矿石的边缘图;以及根据所述粘连重叠矿石的边缘图和所述粘连重叠的矿石轮廓获得所述粘连重叠的矿石内边缘。
在又一个实施例中,其中根据所述粘连重叠矿石的边缘图和所述粘连重叠的矿石轮廓获得所述粘连重叠的矿石内边缘包括:对所述粘连重叠的矿石轮廓进行膨胀操作;以及将膨胀后的粘连重叠的矿石轮廓与所述粘连重叠矿石的边缘图执行取反加和操作,以获得所述粘连重叠的矿石内边缘。
在又一个实施例中,其中基于所述多个目标凹点在所述粘连重叠的矿石轮廓和所述粘连重叠的矿石内边缘的位置进行凹点配对,以形成凹点对包括:计算所述多个目标凹点中两两凹点位于所述粘连重叠的矿石轮廓上的方向夹角和第一距离;基于所述多个目标凹点中两两凹点之间的所述方向夹角、所述第一距离和所述多个目标凹点中两两凹点之间的连线对所述多个目标凹点进行初始凹点配对,以形成初始凹点对;以及根据所述初始凹点对与所述粘连重叠的矿石内边缘的边缘点之间的第二距离对所述初始凹点对进行优化,以形成最优凹点对。
在又一个实施例中,其中通过以下操作计算所述多个目标凹点中两两凹点位于所述粘连重叠的矿石轮廓上的方向夹角:确定所述多个目标凹点各自在所述粘连重叠的矿石轮廓中的方向向量;以及基于所述多个目标凹点中两两凹点各自的方向向量计算两两凹点之间的所述方向夹角。
在又一个实施例中,其中确定所述多个目标凹点各自在所述粘连重叠的矿石轮廓中的方向向量包括:从所述粘连重叠的矿石轮廓中选取距离每个所述目标凹点前、后预设位置处的两个辅助点;基于每个所述目标凹点及其两个辅助点确定对应的辅助圆,并确定辅助圆的圆心;以及将每个所述目标凹点对应的辅助圆的圆心至相应目标凹点形成的方向向量确定为相应目标凹点在所述粘连重叠的矿石轮廓中的方向向量。
在又一个实施例中,其中基于所述多个目标凹点中两两凹点之间的所述方向夹角、所述第一距离和所述多个目标凹点中两两凹点之间的连线对所述多个目标凹点进行初始凹点配对,以形成初始凹点对包括:响应于所述多个目标凹点中两两凹点之间的所述方向夹角大于夹角阈值,所述多个目标凹点中两两凹点之间的连线位于所述粘连重叠的矿石轮廓的内部,并且所述多个目标凹点中两两凹点之间的所述第一距离小于第一距离阈值,将相应两两凹点确定为所述初始凹点对。
在又一个实施例中,其中根据所述初始凹点对与所述粘连重叠的矿石内边缘的边缘点之间的第二距离对所述初始凹点对进行优化,以形成最优凹点对包括:沿所述粘连重叠的矿石内边缘查找满足第二距离阈值的边缘点;以及基于满足第二距离阈值的边缘点与所述初始凹点对中两个凹点之间的第二距离进行优化,以形成所述最优凹点对。
在又一个实施例中,其中基于满足第二距离阈值的边缘点与所述初始凹点对中两个凹点之间的第二距离进行优化,以形成所述最优凹点对包括:响应于第一个边缘点与所述初始凹点对的一个凹点之间的第二距离和最后一个边缘点与所述初始凹点对的另一个凹点之间的第二距离满足第三距离阈值,将相应初始凹点对作为所述最优凹点对。
在第二方面中,本申请提供一种分选系统,包括:传输模块,其用于输送待分选矿石;采集模块,其用于采集所述待分选矿石的相关数据;数据处理模块,其用于将所述待分选矿石的相关数据处理成矿石图像,并采用根据前述第一方面中的多个实施例分割矿石,以获得矿石分割结果;识别模块,其用于根据所述矿石分割结果识别矿石信息;以及分选模块,其用于基于所述矿石信息对待分选矿石进行分选。
在第三方面中,本申请提供一种基于矿石图像分割矿石的设备,包括:处理器;以及存储器,其中存储有基于矿石图像分割矿石的程序指令,当所述程序指令由所述处理器执行时,使得所述设备实现前述第一方面中的多个实施例。
在第四方面中,本申请提供一种计算机可读存储介质,其上存储有基于矿石图像分割矿石的计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现前述第一方面中的多个实施例。
通过如上所提供的基于矿石图像分割矿石的方案,本申请实施例通过从原始矿石图像中的粘连重叠的矿石轮廓提取与分割有关的多个目标凹点,并确定粘连重叠的矿石内边缘,接着通过基于多个目标凹点在粘连重叠的矿石轮廓和粘连重叠的矿石内边缘的位置进行凹点配对形成凹点对,以沿凹点对进行连线来对矿石进行分割。基于此,本申请实施例引入了粘连重叠的矿石内边缘信息,将粘连重叠的矿石轮廓和粘连重叠的矿石内边缘(也即纹理特征)相结合,丰富了粘连重叠的矿石凹点对的判断依据。由此,能够准确匹配凹点对,从而在沿凹点进行连线分割矿石时,可以精准地分割矿石,避免矿石的错分割或者漏分割,提高了后续分选的精度。
附图说明
通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1是示出一种矿石分选的示例性示意图;
图2是示出根据本申请实施例的基于矿石图像分割矿石的方法的示例性流程框图;
图3是示出根据本申请实施例的原始矿石图像及其二值图、轮廓图像的示例性示意图;
图4是示出根据本申请实施例的检测矿石轮廓的初始凸点的示例性示意图;
图5是示出根据本申请实施例的检测矿石轮廓的初始凹点的示例性示意图;
图6是示出根据本申请实施例的一个矿石轮廓的初始凹点和初始凸点的示例性示意图;
图7是示出根据本申请实施例的粘连重叠的矿石轮廓中的凹缺陷区域及其凸点的示例性示意图;
图8是示出根据本申请实施例的粘连重叠的矿石轮廓的多个目标凹点的示例性示意图;
图9是示出根据本申请示例性的确定粘连重叠的矿石内边缘的示例性示意图;
图10是示出根据本申请示例性的确定目标凹点之间凹点的方向夹角和基于粘连重叠的矿石内边缘优化匹配的示例性示意图;
图11是示出根据本申请实施例的矿石分割结果的示例性示意图;
图12是示出根据本申请实施例的分选系统的示例性结构框图;
图13是示出根据本申请实施例的基于矿石图像分割矿石的设备的示例性结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,本申请的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本申请。如在本申请说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合附图来详细描述本申请的具体实施方式。
图1是示出一种矿石分选的示例性示意图。如图1中所示,开采的矿石101首先经由例如传送带102的传输结构传输至矿石采集系统处。图中示例性示出,该采集系统可以包括布置于传送带102上方的X射线源103、相机104和布置于传送带102下方探测器105。在实现场景中,当矿石101经由传送带102传输至采集系统处时,由X射线源103发射光源至矿石101,通过探测器105接收物料反射的光源,并通过相机104采集与物料相关的数据。在采集与矿石相关的数据时,其是通过采集系统扫描传送带102所在平面的纵向上一排的矿石,由此在扫描多排矿石后,可以将与矿石相关的数据处理为二维图像(例如图3中的(a)图所示),接着对该二维图像进行分析识别,获得物块信息。基于获得的物块信息,可以根据物块信息确定喷吹范围并生成喷吹数据,进而通过喷吹单元106对物块进行喷吹,使得物块落入相应区域,以实现分选。
如上述背景技术描述可知,在实际应用场景中,由于矿石形态各异、大小不一且排列紧密,使得采集到的矿石图像中会存在粘连重叠的情况,如果不将这些粘连重叠区域进行分割,会导致这些粘连重叠区域被错误识别为一个矿石,从而直接影响矿石分选的精确度。由此,需要对粘连重叠的区域进行分割。目前,已有多种针对粘连重叠的目标进行分割的方法,应用较为广泛的是凹点检测与匹配方法。然而,目前凹点的匹配往往只考虑粘连重叠目标的外轮廓,其并未考虑轮廓内的边缘,从而使得凹点匹配不准确,导致最终目标的错误分割或者漏分割。
基于此,本申请提出一种基于矿石图像分割矿石的方法,通过引入粘连重叠的矿石内边缘,将粘连重叠的矿石轮廓与粘连重叠的矿石内边相结合,以便准确匹配凹点对,避免矿石的错分割或者漏分割。
图2是示出根据本申请实施例的基于矿石图像分割矿石的方法200的示例性流程框图。如图2中所示,在步骤S201处,根据原始矿石图像的轮廓图像确定原始矿石图像中的粘连重叠的矿石轮廓。在一个实施场景中,前述原始矿石图像可以经由例如上述的X射线采集系统进行采集。在一个实施例中,基于采集的原始矿石图像,可以通过以下操作获取原始矿石图像的轮廓图像,即对原始矿石图像进行二值化,获得原始矿石图像的二值图,接着根据二值图获取原始矿石图像的轮廓图像。
具体地,在一个实施场景中,可以通过以下公式对原始矿石图像进行二值化:
其中,g(x,y)表示原始矿石图像的二值图,f(x,y)表示原始矿石图像中像素点(x,y)的灰度值,T表示灰度阈值。优选地,前述灰度阈值T可以例如是180。即,将原始矿石图像(例如图3中的(a)图所示)中像素点的灰度值大于灰度阈值T的灰度值置为0(黑色),将原始矿石图像中像素点的灰度值小于等于灰度阈值T的灰度值置为1(白色),获得原始矿石图像的二值图(例如图3中的(b)图所示)。进一步地,通过对二值图进行轮廓提取,得到原始矿石图像的轮廓图像(例如图3中的(c)图所示)。
接着,可以确定原始矿石图像中的粘连重叠的矿石轮廓。在一个实施例中,可以通过对原始矿石图像的轮廓图像中的矿石轮廓进行凹凸判别,以确定粘连重叠的矿石轮廓。可以理解,原始矿石图像的轮廓图像中矿石轮廓并非均是粘连重叠的,因此本申请实施例提出对轮廓图像中的矿石轮廓进行凹凸判别,找到存在粘连重叠的矿石轮廓。在一些实施例中,通过检测每个矿石轮廓的初始凹点和初始凸点,根据各矿石轮廓的初始凹点和初始凸点各自的数量来判断矿石轮廓是否为粘连重叠的矿石轮廓。其中,前述初始凹点可以采用例如凸包(“Convex Hull”)算法技术来确定。具体地,首先提取矿石轮廓的最小多边形,接着计算最小多边形的各边至凹陷区域的垂直距离,即沿各边向对应的凹陷区域作垂线,以计算各边至凹陷区域的垂直距离,并将距离各边的垂直距离最大的点作为相应凹陷区域的凹点,也就是矿石轮廓的初始凹点。稍后将结合图5详细描述前述初始凹点检测。
需要理解的是,轮廓图像中的各矿石轮廓均是按逆时针顺序进行存储的,在检测其对应的初始凸点时,可以通过将各矿石轮廓的待检测点与其前一点进行连接形成第一连接线段,再将待检测点的前一点与待检测点的后一点进行连接形成第二连接线段。接着,判断第一连接线段位于第二连接线段的左侧或是右侧,当判断第一连接线段位于第二连接线段的左侧时,则矿石轮廓的待检测点为非凸点;反之,当判断第一连接线段位于第二连接线段的右侧时,则矿石轮廓的待检测点为凸点。也即,通过判断待检测点与其前、后点的位置关系来确定待检测点是否为初始凸点。稍后将结合图4详细描述前述初始凸点检测。
根据上述检测的初始凹点和初始凸点各自的数量,判断各矿石轮廓是否为粘连重叠的矿石轮廓。具体地,在一个实施例中,分别将初始凹点的数量与凹点数阈值,初始凸点的数量与凸点数阈值进行比较,进而根据比较结果对轮廓图像中的矿石轮廓进行凹凸判别,以确定粘连重叠的矿石轮廓。在一个实现场景中,响应于初始凸点的数量大于凸点数阈值且初始凹点的数量大于凹点数阈值,确定轮廓图像中的矿石轮廓为粘连重叠的矿石轮廓。在一些实施例中,前述凸点数阈值可以例如是4,前述凹点数阈值可以例如是1。即,当初始凸点的数量大于4,并且初始凹点的数量大于1时,可以认为轮廓图像中的矿石轮廓存在粘连叠加,并且认为轮廓图像中的矿石轮廓至少存在两个凹陷区域,由此确定轮廓图像中的矿石轮廓为粘连重叠的矿石轮廓。
在确定粘连重叠的矿石轮廓后,在步骤S202处,提取粘连重叠的矿石轮廓中与分割有关的多个目标凹点。在一个实施例中,可以通过提取粘连重叠的矿石轮廓中的凹缺陷区域,查找凹缺陷区域的凸点,进而将凹缺陷区域的凸点作为粘连重叠的矿石轮廓的凹点,并且对应至粘连重叠的矿石轮廓,以提取粘连重叠的矿石轮廓中与分割有关的所述多个目标凹点。也即,通过将凹点检测转换成凸点检测,最终凹缺陷区域的凸点即为粘连重叠的矿石轮廓的凹点。
在一个实施例中,首先可以确定轮廓图像中的矿石轮廓的初始凹点所对应的初始凸点,接着基于初始凹点所对应的初始凸点的位置顺序提取粘连重叠的矿石轮廓中的凹缺陷区域。可以理解,每个初始凹点对应一个凹陷区域。例如,假设初始凹点的数量为n,则凹陷区域包含n个。另外,每个初始凹点对应两个初始凸点。根据前文可知,轮廓图像中的矿石轮廓均是按逆时针顺序进行存储的,由此可以确定每个初始凹点和初始凸点的位置顺序。在实现场景中,假设初始凹点记为A0,其对应的初始凸点位置为p
参见上述初始凸点检测,可以获得凹缺陷区域的凸点,通过将凹缺陷区域的凸点对应至粘连重叠的矿石轮廓,以检测粘连重叠的矿石轮廓的多个目标凹点。在一个实施例中,将凹缺陷区域的凸点对应至粘连重叠的矿石轮廓,以检测其中的冗余凹点并删除冗余凹点,获得粘连重叠的矿石轮廓的多个目标凹点。也即,凹缺陷区域的凸点对应到原始粘连重叠的矿石轮廓,会存在重复的凸点(例如初始凸点)或者冗余的凹点(例如除初始凸点和初始凹点外的点),通过从原始粘连重叠的矿石轮廓中去除重复的凸点或者冗余的凹点,即可获得最终的多个目标凹点。在本申请实施例中,将重复的凸点或者冗余的凹点均视为冗余凹点。
更为具体地,在一个实现场景中,将凹缺陷区域的凸点对应至粘连重叠的矿石轮廓,确定凹缺陷区域的凸点包含的轮廓图像中的矿石轮廓的初始凸点,并将初始凸点作为第一冗余凹点,基于除初始凸点外的凹缺陷区域的凸点与轮廓图像中的矿石轮廓的初始凹点之间的距离检测第二冗余凹点。换言之,将重复的初始凸点作为第一冗余凹点,进而基于除重复的初始凸点以外其他凸点与轮廓图像中的矿石轮廓的初始凹点之间的距离来确定第二冗余凹点。其中,基于前述提取的各个凹陷区域,其对应重复的初始凸点为各个凹陷区域的起始点和终止点,即各个凹陷区域的起始点和终止点为第一冗余凹点。
对于第二冗余凹点的确定,在一个实施例中,响应于除初始凸点外的凹缺陷区域的凸点与轮廓图像中的矿石轮廓的初始凹点之间的距离小于距离阈值,将除初始凸点外的凹缺陷区域的相应凸点作为第二冗余凹点。也就是说,对于除初始凸点外剩余的凸点,计算每个凸点与其所在凹缺区域的初始凹点之间的距离,当相应距离小于距离阈值时,将当前凸点作为第二冗余凹点。具体来说,在一个实施场景中,可以通过如下公式来计算剩余凸点与其所在凹缺区域的初始凹点之间的距离d1:
其中,(x0,y0)表示凹缺区域的初始凹点,(x1,y1)表示凹缺陷区域中除初始凸点外剩余的凸点。优选地,前述距离阈值可以例如是5。在该场景下,当d1<5时,将相应凸点作为第二冗余凹点。
在一些实施中,除上述第一、第二冗余凹点外,在凹陷区域中还存在两个相近凸点的情形,由此本申请实施例还包括响应于凹陷区域的剩余凸点中任意两个凸点之间的距离小于距离阈值,将凹陷区域的剩余凸点中任意两个凸点的一个凸点作为第三冗余凹点。其中,前述凹陷区域的剩余凸点为凹陷区域中除第一、第二冗余凹点外的剩余凸点。如前所述,该距离阈值可以例如是5。在一个实施场景中,可以参见上述公式(2),计算凹陷区域的剩余凸点中任意两个凸点之间的距离d2,当d2<5时,将凹陷区域的剩余凸点中任意两个凸点的任意一个凸点作为第三冗余凹点。在确定前述第一、第二、第三冗余凹点后,从凹陷区域的凸点中删除第一、第二、第三冗余凹点,即删除初始凸点,除初始凸点外与初始凹点之间距离小于距离阈值的凸点以及删除剩余凸点中任意相近的两个凸点之间距离小于距离阈值的任意一个凸点,获得粘连重叠的矿石轮廓最终的多个目标凹点(例如图8所示)。
接着,在步骤S203处,根据原始矿石图像确定粘连重叠的矿石内边缘。在一个实施例中,对原始矿石图像进行边缘检测,获得原始矿石图像中粘连重叠矿石的边缘图,根据粘连重叠矿石的边缘图和粘连重叠的矿石轮廓获得粘连重叠的矿石内边缘。在一些实施例中,可以采用例如Canny算子对原始矿石图像进行边缘检测,获得原始矿石图像中粘连重叠矿石的边缘图(例如图9中的(a)图所示)。基于获得的粘连重叠矿石的边缘图,在一个实施场景中,通过对粘连重叠的矿石轮廓进行膨胀操作,接着将膨胀后的粘连重叠的矿石轮廓与粘连重叠矿石的边缘图执行取反加和操作,以获得粘连重叠的矿石内边缘(例如图9中的(c)图所示)。其中,前述膨胀操作是形态学中的一种基本操作,可以实现对图像的边界进行扩张。在本申请实施例中,对粘连重叠的矿石轮廓进行扩张,获得膨胀后的粘连重叠的矿石轮廓(例如图9中的(b)图所示)。可以理解,前述取反是指将灰度值由0变为1或者由1变为0,例如将膨胀后的粘连重叠的矿石轮廓的灰度值由1变为0,将粘连重叠矿石的边缘图的灰度值由0变为1,再将其进行加和操作,获得膨胀后的粘连重叠的矿石轮廓。
进一步地,在步骤S204处,基于多个目标凹点在粘连重叠的矿石轮廓和粘连重叠的矿石内边缘的位置进行凹点配对,以形成凹点对。可以理解,多个目标凹点可以形成多个两两组合的凹点对,并非所有的凹点对均符合分割要求,由此本申请实施例涉及对多个目标凹点对进行凹点匹配。在一个实施例中,通过计算多个目标凹点中两两凹点位于粘连重叠的矿石轮廓上的方向夹角和第一距离,并基于多个目标凹点中两两凹点之间的方向夹角、第一距离和多个目标凹点中两两凹点之间的连线对多个目标凹点进行初始凹点配对,以形成初始凹点对,进而根据初始凹点对与粘连重叠的矿石内边缘的边缘点之间的第二距离对初始凹点对进行优化,以形成最优凹点对。即,本申请首先基于凹点位于粘连重叠的矿石轮廓的位置(例如由方向夹角和第一距离表征)进行凹点的初始匹配,接着再基于初始凹点对位于粘连重叠的矿石内边缘的位置(例如由距离内边缘点的第二距离表征)进行优化匹配,以获得最终的凹点对。其中,对于前述两两凹点之间的第一距离而言,为两两凹点之间的直线距离,具体可以参考上述公式(2)的距离计算。
对于前述两两凹点之间的方向夹角来说,在一个实施场景中,可以通过以下操作计算多个目标凹点中两两凹点位于粘连重叠的矿石轮廓上的方向夹角,即确定多个目标凹点各自在粘连重叠的矿石轮廓中的方向向量,基于多个目标凹点中两两凹点各自的方向向量计算两两凹点之间的方向夹角。具体来说,在一个实现场景中,首先可以从粘连重叠的矿石轮廓中选取距离每个目标凹点前、后预设位置处的两个辅助点,接着基于每个目标凹点及其两个辅助点确定对应的辅助圆,并确定辅助圆的圆心,将每个目标凹点对应的辅助圆的圆心至相应目标凹点形成的方向向量确定为相应目标凹点在粘连重叠的矿石轮廓中的方向向量。即,通过以每个凹点及其预设位置处的两个辅助点构建辅助圆,辅助圆的圆心至相应凹点的方向向量即为相应凹点在粘连重叠的矿石轮廓中的方向向量,而两两凹点各自的方向向量之间的夹角即为方向夹角。在一些实现场景中,前述预设位置可以例如是距离每个目标凹点前、后5个点的位置,或者与每个目标凹点前、后距离为5的位置,本申请实施例对此不作限制。
在一个实施例中,响应于多个目标凹点中两两凹点之间的方向夹角大于夹角阈值,多个目标凹点中两两凹点之间的连线位于粘连重叠的矿石轮廓的内部,并且多个目标凹点中两两凹点之间的第一距离小于第一距离阈值,将相应两两凹点确定为初始凹点对。对于获得的初始凹点对,通过沿粘连重叠的矿石内边缘查找满足第二距离阈值的边缘点,进而基于满足第二距离阈值的边缘点与初始凹点对中两个凹点之间的第二距离进行优化,以形成最优凹点对。在一个实现场景中,响应于第一个边缘点与初始凹点对的一个凹点之间的第二距离和最后一个边缘点与初始凹点对的另一个凹点之间的第二距离满足第三距离阈值,将相应初始凹点对作为最优凹点对。与上述第一距离类似,第二距离为边缘点和凹点之间的直线距离。
在一个实现场景中,上述第二距离阈值的边缘点可以是边缘点之间的距离小于第二距离阈值。例如,在一个示例性场景中,假设第二距离阈值设置为d,则沿粘连重叠的矿石内边缘查找边缘点之间的距离小于d的边缘点。另外,假设第三阈值设置为d0,当前述查找的第一个边缘点与初始凹点对中的其中一个凹点之间的第二距离小于d0,并且初始凹点对中的另一个凹点与最后一个边缘点的第二距离也小于d0时,则该相应初始凹点对为最优凹点对。基于前述获得的最优凹点对,在步骤S205处,沿凹点对进行连线,以对矿石进行分割。在一个实现场景中,可以沿着上述查找的边缘点将凹点对中的两个凹点进行连线,以实现矿石图像分割矿石。
结合上述描述可知,本申请实施例通过根据原始矿石图像确定粘连重叠的矿石轮廓和粘连重叠的矿石内边缘,接着从粘连重叠的矿石轮廓提取与分割有关的多个目标凹点,基于多个目标凹点相对于粘连重叠的矿石轮廓和粘连重叠的矿石内边缘的位置进行凹点匹配形成凹点对,以沿凹点对中两个凹点之间的连线进行矿石分割。基于此,通过引入粘连重叠的矿石内边缘信息,将粘连重叠的矿石轮廓和粘连重叠的矿石内边缘(也即纹理特征)相结合,丰富了粘连重叠的矿石凹点对的优化标准。由此,能够准确匹配凹点对,获得准确的凹点对,从而在沿凹点对进行连线分割矿石时,可以精准地分割矿石,避免矿石的错分割或者漏分割,提高了后续分选的精度。
图3是示出根据本申请实施例的原始矿石图像及其二值图、轮廓图像的示例性示意图。如图3的(a)图所示为原始矿石图像。在一个实现场景中,该原始矿石图像可以经由例如X射线采集系统进行采集。如图3的(b)图所示为原始矿石图像的二值图。在一个实施场景中,通过基于上述公式(1)对原始矿石图像进行二值化,即可获得该原始矿石图像的二值图。接着,通过对前述二值图进行轮廓提取,可以获得原始矿石图像的轮廓图像,例如图3的(c)图所示,图3的(c)图中示例性示出一个矿石轮廓。
根据前文可知,在原始矿石图像的轮廓图像通常包含多个矿石轮廓,而并非所有矿石轮廓均是粘连重叠的,由此需要对轮廓图像中的所有矿石轮廓进行凹凸判别,以检测存在粘连重叠的矿石轮廓。具体地,可以通过检测每个矿石轮廓的初始凹点和初始凸点,根据各矿石轮廓的初始凹点和初始凸点各自的数量来判断是否为粘连重叠的矿石轮廓。例如,当初始凸点的数量大于凸点数阈值(例如4)且初始凹点的数量大于凹点数阈值(例如1)时,可以判定矿石轮廓为粘连重叠的矿石轮廓。下面将结合图4和图5详细描述检测矿石轮廓的初始凸点和初始凹点。
图4是示出根据本申请实施例的检测矿石轮廓的初始凸点的示例性示意图。如图4中示例性示出矿石轮廓的多个点a0,a1,a2,a3,a4,a5,其是按照逆时针顺序进行存储。以待检测点a3为例,在检测待检测点a3是否为初始凸点时,首先将待检测点a3与其前一点a2进行连接形成第一连接线段e1,接着将其前一点a2与待检测点a3的后一点a4进行连接形成第二连接线段e2。进一步地,判断第一连接线段e1位于第二连接线段e2的左侧或是右侧。当判断第一连接线段位于第二连接线段的左侧时,则矿石轮廓的待检测点为非凸点;反之,当判断第一连接线段位于第二连接线段的右侧时,则矿石轮廓的待检测点为凸点。由图中可知,第一连接线段e1位于第二连接线段e2的右侧,判定该待检测点a3为初始凸点。对于待检测点a4来说,由于其与前一点a3连接形成的第一连接线段e3位于其前一点a3与待检测点a4的后一点a5连接形成第二连接线段e4的左侧,由此判定该待检测点a4为非凸点。类似地,可以检测出矿石轮廓的所有初始凸点。
图5是示出根据本申请实施例的检测矿石轮廓的初始凹点的示例性示意图。如图5中所示,首先可以通过计算机视觉技术(例如凸包(“Convex Hull”)算法技术)来提取粘连重叠的矿石轮廓的最小多边形。可以理解,Convex Hull是一种通过连接密集点云中最外层的点来创建包含整个点云的最小多边形的技术。例如图中示例性示出,通过边l1、边l2,边l3和边l4来连接粘连重叠的矿石轮廓,以形成包含连重叠的矿石轮廓的最小多边形。其中,各边与相应粘连重叠的矿石轮廓所围成的区域即为凹陷区域,例如区域W1、区域W2、区域W3和区域W4为凹陷区域。接着,计算最小多边形的各边至凹陷区域的垂直距离,即沿各边向对应的凹陷区域作垂线,以计算各边至凹陷区域的垂直距离,并将距离各边的垂直距离最大的点作为相应凹陷区域的凹点。
以凹陷区域W1为例,沿其对应的边l1向凹陷区域W1作垂线(例如图中虚线所示),计算边l1至凹陷区域W1的垂直距离,其中点s1处对应的垂直距离最大,将点s1作为粘连重叠的矿石轮廓的一个凹点。类似地,可以确定凹陷区域W2,凹陷区域W3和凹陷区域W4所对应的凹点s2,凹点s3和凹点s4。即,点s1,点s2,点s3和点s4,其分别距离边l1,边l2,边l3,和边l4的垂直距离最大,由此点s1,点s2,点s3和点s4即为基于现有方式获得的粘连重叠的矿石轮廓的初始凹点。
图6是示出根据本申请实施例的一个矿石轮廓的初始凹点和初始凸点的示例性示意图。如图6中示出经前述凹点检测方式获得的该矿石轮廓的四个初始凹点s1,s2,s3和s4以及经前述凸点检测方式获得的该矿石轮廓的六个初始凸点p1,p2,p3,p4,p5,p6,p7和p8。在该场景下,基于前述检测的矿石轮廓的初始凹点的数量为4,其大于凹点数阈值(例如1)以及初始凸点的数量为8,其大于凸点数阈值(例如4),可以判定该矿石轮廓为粘连重叠的矿石轮廓。在确定粘连重叠的矿石轮廓后,可以提取其中的凹陷区域。具体地,基于每个初始凹点所对应的初始凸点的位置顺序提取粘连重叠的矿石轮廓中的凹缺陷区域。关于提取凹陷区域的更多细节,可以参考上述图1的描述,本申请在此不再赘述。
图7是示出根据本申请实施例的粘连重叠的矿石轮廓中的凹缺陷区域及其凸点的示例性示意图。如图7的(a)图中所示,该粘连重叠的矿石轮廓包括四个凹缺陷区域,其分别为四个初始凹点s1,s2,s3和s4(参见上述图6中所示)对应的凹缺陷区域W1,W2,W3和W4。接着,查找每个凹缺陷区域的凸点。在实现场景中,可以参见上述图4检测矿石轮廓的初始凸点的方式来查找每个凹缺陷区域的凸点,即通过判断凹点区域各点与其前、后点的位置关系来确定。图7的(b)图所示为各凹缺陷区域W1,W2,W3和W4对应的凸点(例如图中的矩形实心点和实心圆点所示)。进一步地,将凹缺陷区域的凸点对应至粘连重叠的矿石轮廓,以检测其中的冗余凹点。如前所述,该冗余凹点可以包括存在重复的凸点(例如初始凸点)或者冗余的凹点(例如除初始凸点和初始凹点外的点)。例如,图7的(c)图中矩形框内的凹点为初始凸点,图7的(c)图中圆圈内的凹点为除初始凸点和初始凹点外的点。
在一个实现场景中,对于前述初始凸点,将其作为第一冗余凹点。对于除初始凸点和初始凹点外的点,计算其与矿石轮廓的初始凹点之间的距离d1(参见上述公式(2)),当d1<5时,将相应凸点作为第二冗余凹点。在一些实施例中,还存在两个相近凸点的情形,例如图7的(d)图中箭头所指的点。在该场景下,可以通过计算两个相近凸点之间的距离d2,当d2<5时,将两个相近凸点中的任意一点作为第三冗余凹点。进一步地,删除第一、第二、第三冗余凹点,即可获得粘连重叠的矿石轮廓的多个目标凹点。
图8是示出根据本申请实施例的粘连重叠的矿石轮廓的多个目标凹点的示例性示意图。如图8中所示为粘连重叠的矿石轮廓的四个目标凹点A,B,C,D。后续通过对四个目标凹点中的两两凹点进行匹配,以获得最终的凹点对。在本申请实施例中,通过引入粘连重叠的矿石内边缘,以结合粘连重叠的矿石轮廓和粘连重叠的矿石内边缘来对目标凹点进行凹点匹配。
图9是示出根据本申请示例性的确定粘连重叠的矿石内边缘的示例性示意图。如图9的(a)图中所示为原始矿石图像中粘连重叠矿石的边缘图。在一个实施场景中,可以通过例如Canny算子对原始矿石图像进行边缘检测,获得原始矿石图像中粘连重叠矿石的边缘图。图9的(b)图中所示为膨胀后的粘连重叠的矿石轮廓,其通过对粘连重叠的矿石轮廓进行扩张获得。进一步地,通过将前述膨胀后的粘连重叠的矿石轮廓与粘连重叠矿石的边缘图执行取反加和操作,可以获得粘连重叠的矿石内边缘,例如图9的(c)图中所示。图9的(d)图中所示引入粘连重叠的矿石内边缘的粘连重叠的矿石轮廓的示意图。基于上述获得的多个目标凹点,首先可以基于凹点位于粘连重叠的矿石轮廓的位置(例如由方向夹角和第一距离表征)进行凹点的初始匹配,接着再基于初始凹点对位于粘连重叠的矿石内边缘的位置(例如由距离内边缘点的第二距离表征)进行优化匹配,以获得最终的凹点对。下面将结合图9来详细描述前述方向夹角和基于粘连重叠的矿石内边缘优化匹配。
图10是示出根据本申请示例性的确定目标凹点之间凹点的方向夹角和基于粘连重叠的矿石内边缘优化匹配的示例性示意图。如图10的(a)图中所示,以目标凹点A和目标凹点B为例,分别在目标凹点A和目标凹点B的前、后预设位置处,各自取两个辅助点。在一些实施例中,前述预设位置可以例如是间隔目标凹点前、后5个点的位置。作为示例,目标凹点A的两个辅助点为A1和A2,目标凹点B的两个辅助点为B1和B2。接着,分别以目标凹点A及其两个辅助点为A1和A2作辅助圆C1,其对应的圆心为O1,以目标凹点B及其两个辅助点为B1和B2作辅助圆C2,其对应的圆心为O2。进一步地,将圆心O1至目标凹点A所形成的方向向量E1以及圆心O2至目标凹点B所形成的方向向量E2之间的夹角作为目标凹点A和目标凹点B之间的方向夹角,例如图中所示出的方向夹角θ。类似地,可以确定目标凹点中两两凹点所形成的多对凹点之间的方向夹角,例如(A,B),(A,C),(A,D),(B,C),(B,D),(C,D)等。
另外,还通过计算每对凹点对中凹点之间的第一距离(两端之间的直线距离)以及将两点之间进行连线。在该场景下,当多个目标凹点中两两凹点之间的方向夹角大于夹角阈值(例如80°),两两凹点之间的第一距离小于第一距离阈值以及两两凹点之间的连线位于矿石轮廓的内部,将相应两两凹点确定为初始凹点对。例如,经前述初始凹点匹配后,可以形成初始凹点对(A,B),(A,C),(B,D),(C,D)。后续通过初始凹点对位于粘连重叠的矿石内边缘的位置(例如由距离内边缘点的第二距离表征)进行优化匹配,以获得最终的凹点对。
如图10的(b)图中进一步示出,假设点g1,g2,g3,…,gn为粘连重叠的矿石内边缘的上,两两边缘点之间的距离满足第二距离阈值的边缘点。参见前文描述,假设第二距离阈值设置为d,则沿粘连重叠的矿石内边缘查找边缘点之间的距离小于d的边缘点,表示满足第二距离阈值。例如,g1和g2之间的第二距离小于d,g2和g3之间的距离小于d。接着,以初始凹点对(C,D)为例,分别计算初始凹点对中的一个凹点D与第一个边缘点g1之间的第二距离和初始凹点对中的另一个凹点C与第一个边缘点gn之间的第二距离,当其各自对应的第二距离均小于第三阈值d0时,该初始凹点对(C,D)为最优凹点对。通过遍历上述(A,B),(A,C),(B,D),(C,D),可以获得最终的凹点对(A,B)和(C,D)。通过沿(A,B)和(C,D)进行连线,以实现矿石分割。
图11是示出根据本申请实施例的矿石分割结果的示例性示意图。如图11中所示,分别沿上述获得的最终的凹点对(A,B)和凹点对(C,D)进行连线,可以将粘连重叠的矿石分割成三块,这与实际的矿石块数相同。由此,本申请实施例通过结合粘连重叠的矿石轮廓和粘连重叠的矿石内边缘,极大地提高了凹点对的匹配精度,实现准确匹配凹点对。后续在沿匹配后的凹点对进行连线后,可以准确分割矿石,避免了矿石的错分割或者漏分割,提高了后续分选的精度。
图12是示出根据本申请实施例的分选系统1200的示例性结构框图。如图12中所示,该分选系统1200可以包括传输模块1201、采集模块1202、数据处理模块1203、识别模块1204和分选模块1205。在一个实施例中,前述传输模块1201可以用于输送待分选矿石。在一个实施场景中,该传输模块1201可以例如传送带。
在一个实施例中,采集模块1002可以采集待分选矿石的相关数据。在一些实施例中,该采集模块1202可以包括例如X射线源、相机和探测器,由X射线源发射光源至矿石,通过探测器接收矿石反射的光源,并通过相机采集与矿石相关的数据。在一个实施例中,前述数据处理模块1203可以用于将待分选矿石的相关数据处理成矿石图像,并采用根据本申请实施例分割矿石的方法,以获得矿石分割结果。具体地,通过采集模块扫描传输模块所在平面的纵向上一排的矿石,由此在扫描多排矿石后,可以将与矿石相关的数据处理为二维的矿石图像。基于该矿石图像,采用上述图2所描述基于矿石图像分割矿石的方法,可以实现分割矿石。
在一个实施例中,识别模块1204可以用于根据所述矿石分割结果识别矿石信息。在一个实现场景中,该矿石信息可以至少包括矿石的尺寸信息。在一个实施例中,分选模块1205可以用于基于矿石信息对待分选矿石进行分选。在一些实施例中,该分选模块1205可以例如是喷吹阀。在该场景下,可以根据矿石信息确定喷吹范围并生成喷吹数据,进而通过喷吹阀对矿石进行喷吹,以实现分选。具体地,前述传输模块1201、采集模块1202和分选模块1205可以参考上述图1所描述的结构。
图13是示出根据本申请实施例的基于矿石图像分割矿石的设备1300的示例性结构框图。如图13中所示,本申请的设备1300可以包括处理器1301和存储器1302,其中处理器1301和存储器1302之间通过总线进行通信。存储器1302存储有基于矿石图像分割矿石的程序指令,当所述程序指令由所述处理器1301执行时,使得实现根据前文结合附图描述的方法步骤:根据原始矿石图像的轮廓图像确定所述原始矿石图像中的粘连重叠的矿石轮廓;提取所述粘连重叠的矿石轮廓中与分割有关的多个目标凹点;根据所述原始矿石图像确定粘连重叠的矿石内边缘;基于所述多个目标凹点在所述粘连重叠的矿石轮廓和所述粘连重叠的矿石内边缘的位置进行凹点配对,以形成凹点对;以及沿所述凹点对进行连线,以对矿石进行分割。
根据上述结合附图的描述,本领域技术人员也可以理解本申请的实施例还可以通过软件程序来实现。由此本申请还提供了一种计算机可读存储介质。该计算机可读存储介质其上存储有基于矿石图像分割矿石的计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现本申请结合附图2所描述的基于矿石图像分割矿石的方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应当注意,尽管在附图中以特定顺序描述了本申请方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
应当理解,当本申请的权利要求、当说明书及附图中使用到术语“第一”、“第二”、“第三”和“第四”等时,其仅用于区别不同对象,而不是用于描述特定顺序。本申请的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本申请。如在本申请说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
虽然本文已经示出和描述了本申请的多个实施例,但对于本领域技术人员显而易见的是,这样的实施例只是以示例的方式来提供。本领域技术人员可以在不偏离本申请思想和精神的情况下想到许多更改、改变和替代的方式。应当理解的是在实践本申请的过程中,可以采用对本文所描述的本申请实施例的各种替代方案。所附权利要求书旨在限定本申请的保护范围,并因此覆盖这些权利要求范围内的等同或替代方案。
- 一种双向平衡气压磁力阀
- 一种可调节的气压平衡阀及使用该气压平衡阀的冷藏装置