掌桥专利:专业的专利平台
掌桥专利
首页

物件分离方法、装置、电子设备及机器可读存储介质

文献发布时间:2024-04-18 19:58:21


物件分离方法、装置、电子设备及机器可读存储介质

技术领域

本申请涉及物流自动化领域,尤其涉及一种物件分离方法、装置、电子设备及机器可读存储介质。

背景技术

现有的自动化分拣系统在物件逐个进入扫描范围内的情况下才能够正常稳定的运行,为了实现物流领域的自动化分拣,取代人工分拣操作,需要物件逐个通过分拣区域,且物件之间保持一定的安全距离。

为了能够将一堆混合摆放的物件进行分离,将混摆变为单摆,使得物件能够有序且均匀地逐个通过分拣区域,单件分离系统应运而生。自动分拣系统配合单件分离系统,能够实现全自动的包裹传输和分拣。

如何对混摆的物件进行稳定、均匀的分离,成为物件分离方案中一个亟待解决的技术问题。

发明内容

有鉴于此,本申请提供一种物件分离方法、装置、电子设备及机器可读存储介质。

根据本申请实施例的第一方面,提供一种物件分离方法,包括:

依据图像采集设备的当前帧采集数据,确定控制模组上物件的实时位置信息;

依据所存储的物件的历史位置信息,以及,所述实时位置信息,确定物件的实际位置信息;

依据所存储的物件的历史排序结果,以及,所述实际位置信息,确定各物件的排序结果;

依据所述各物件的排序结果,确定最优模组速度,并依据所述最优模组速度进行物件分离处理。

根据本申请实施例的第二方面,提供一种物件分离装置,包括:

第一确定单元,用于依据图像采集设备的当前帧采集数据,确定控制模组上物件的实时位置信息;

第二确定单元,用于依据所存储的物件的历史位置信息,以及,所述实时位置信息,确定物件的实际位置信息;

第三确定单元,用于依据所存储的物件的历史排序结果,以及,所述实际位置信息,确定各物件的排序结果;

分离处理单元,用于依据所述各物件的排序结果,确定最优模组速度,并依据所述最优模组速度进行物件分离处理。

根据本申请实施例的第三方面,提供一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现第一方面提供的方法。

根据本申请实施例的第四方面,提供一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现第一方面提供的方法。

本申请实施例的物件分离方法,通过在确定控制模组上的物件的位置信息时,参考物件的实时位置信息和物件的历史位置信息,依据物件的实时位置信息和物件的历史位置信息,确定实际位置信息,提高了所确定的物件的位置信息的准确性,进而,依据所存储的物件的历史排序结果,以及,物件的实际位置信息,确定物件的排序结果,并依据所确定的排序结果确定最优模组速度,依据最优模组速度进行物件分离处理,提高了所确定的模组速度的可靠性,有效实现混摆物件的稳定、均匀分离。

附图说明

图1是本申请实施例提供的一种物件分离方法的流程示意图;

图2A是本申请实施例提供的一种物件分离系统的架构示意图;

图2B是本申请实施例提供的一种物件分离系统的结构示意图;

图2C是本申请实施例提供的一种物件分离的场景示意图;

图2D是本申请实施例提供的一种物件分离的场景示意图;

图3是本申请实施例提供的一种物件分离的流程示意图;

图4是本申请实施例提供的一种物件分离装置的结构示意图;

图5是本申请实施例提供的一种电子设备的硬件结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对分离系统的架构进行简单说明。

如图2A所示,物件分离系统主要可以包括物件分离设备以及视觉识别系统,视觉识别系统的识别视野覆盖物件分离设备的工作区域,可以捕捉物件的实时位置,通过数据算法分析计算出最优的分离顺序及路径,最后由物件分离设备实现物件的分离、拉距及排队。

物件分离设备包括多个控制模组,该多个控制模组的速度可以独立控制,从而,可以控制物件分离设备的工作区域内的物件以不同速度沿传送方向移动,实现物件的分离、拉距及排队。

示例性的,常见的物件分离设备可以包括皮带分离机,皮带分离机以皮带(或称为传送带)为控制模组,通过控制不同传送带的速度,控制物件以不同速度沿传送方向移动,实现物件的分离、拉距及排队。

需要说明的是,混合堆放的物体被放置在物件分离设备的输入端,可以手动或自动地将物体投放到物件分离设备的工作区域。

通过物件分离系统分离后的物件可以进入分拣区域进行分拣,或者,进入其它后续处理流程。

并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。

需要说明的是,本申请实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

请参见图1,为本申请实施例提供的一种物件分离方法的流程示意图,如图1所示,该物件分离方法可以包括以下步骤:

步骤S100、依据图像采集设备的当前帧采集数据,确定控制模组上物件的实时位置信息。

步骤S110、依据所存储的物件的历史位置信息,以及,物件的实时位置信息,确定物件的实际位置信息。

本申请实施例中,为了实现物件分离,可以通过图像采集设备采集控制模组上的图像数据,并依据采集到的图像数据,确定控制模组上的物件的位置信息。

考虑到依据单帧图像数据进行物件检测确定的物件的位置信息可能会存在检测噪声(如存在漏检或误检的情况),在确定物件的位置信息时,不仅可以参考最新采集的图像数据的检测结果,还可以参考历史帧的图像数据的检测结果,以提高所确定的物件的位置信息的准确性。

相应地,为了实现物件分离,可以依据图像采集设备的最新采集数据(可以称为当前帧采集数据),确定控制模组上物件的实时位置信息,并依据所存储的物件的历史位置信息,以及,该实时位置信息,确定物件的实际位置信息。

其中,物件的实时位置信息为根据图像采集设备的当前帧采集数据确定的物件的位置信息,即实时位置信息是根据最新获取到的单帧采集数据确定的;物件的实际位置信息依据物件的历史位置信息以及实时位置信息确定,即物件的实际位置信息是根据多帧采集数据确定的,以降低单帧采集数据的检测噪声对位置信息确定的准确性的影响;物件的历史位置信息是指在当前时刻之前确定的物件的实际位置信息。

其中,对于当前帧采集数据而言,物件的历史位置信息可以为根据上一帧采集数据,按照本申请实施例提供的方案确定的物件的实际位置信息。

举例来说,假设当前帧采集数据对应的时刻为t2时刻,上一帧采集数据对应的时刻为t1时刻,则对于t2时刻而言,物件的历史位置信息可以为t1时刻确定的物件的实际位置信息。

需要说明的是,对于依据图像采集设备的第一帧采集数据确定的实时位置信息,物件的历史位置信息可以为空;对于依据图像采集设备的非第一帧采集数据确定的实时位置,物件的历史位置信息可以根据图像采集设备的历史帧采集数据确定。

步骤S120、依据所存储的物件的历史排序结果,以及,物件的实际位置信息,确定各物件的排序结果。

本申请实施例中,所存储的物件的历史信息除了可以包括上述历史位置信息之外,还可以包括历史排序结果,即上一帧数据处理过程中确定的各物件的排序关系。

示例性的,排序结果是指对各待分离物件按照在控制模组上的位置从前到后或从后到前的顺序(通常为从前到后的顺序)进行排序的结果。

在按照上述方式确定了控制模组上物件的实际位置信息的情况下,可以依据所存储的历史排序结果对当前帧排序结果的计算进行引导,从而,提高当前帧排序结果的可靠性,使得物件分离更加稳定。

示例性的,可以依据所存储的物件的历史排序结果,以及,按照上述方式确定的当前帧数据处理过程中各物件的实际位置信息,确定各物件的排序结果。

示例性的,排序越靠前的物件,越先进行分离。

示例性的,考虑到实际场景中,控制模组上可能会存在多个物件最前端的位置较为接近的情况,在该情况下,可能无法直接通过物件的位置确定各物件的排序结果,此时,会存在多种可能的排序结果。

相应地,在依据所存储的物件的历史排序结果,以及,依据物件的实际位置信息确定各物件的排序结果时,所确定的排序结果可以包括多种候选排序结果。

需要说明的是,上述候选排序结果的数量也可以为1种,在该情况下,可以以该排序结果进行分离控制。

步骤S130、依据各物件的排序结果,确定最优模组速度,并依据最优模组速度进行物件分离处理。

本申请实施例中,在按照上述方式确定了各物件的排序结果的情况下,可以依据所确定的排序结果,确定最优模组速度,并依据最优模组速度进行物件分离处理。

需要说明的是,在所确定的排序结果包括多种候选排序结果的情况下,可以分别确定各候选排序结果下的最优模组速度,并从中确定出最终的最优模组速度。

示例性的,对于任一物件覆盖的任一控制模组,依据所确定的该控制模组的最优模组速度,控制该控制模组的速度与该最优模组速度一致。

可见,在图1所示方法流程中,通过在确定控制模组上的物件的位置信息时,参考物件的实时位置信息和物件的历史位置信息,依据物件的实时位置信息和物件的历史位置信息,确定实际位置信息,提高了所确定的物件的位置信息的准确性,进而,依据所存储的物件的历史排序结果,以及,物件的实际位置信息,确定物件的排序结果,并依据所确定的排序结果确定最优模组速度,依据最优模组速度进行物件分离处理,提高了所确定的模组速度的可靠性,有效实现混摆物件的稳定、均匀分离。

在一些实施例中,上述依据所存储的物件的历史位置信息,以及,实时位置信息,确定物件的实际位置信息,可以包括:

对于任一物件,在存在该物件的历史位置信息,以及,存在该物件的实时位置信息的情况下,依据该物件的历史位置信息对该物件的实时位置信息进行更新,确定该物件的实际位置信息;

在存在该物件的历史位置信息,但不存在该物件的实时位置信息的情况下,依据该物件的历史位置信息,确定该物件的实际位置信息;

在不存在该物件的历史位置信息,但存在该物件的实时位置信息的情况下,依据该物件的实时位置信息,确定该物件的实际位置信息。

示例性的,对于依据图像采集设备的采集数据检测出的物件,可以对其进行跟踪,以便将物件在时域上的信息进行关联,即识别出不同帧中的同一物件。

示例性的,在依据所存储的历史位置信息,以及,实时位置信息,确定物件的实际位置信息的过程中,对于任一物件(存在历史位置信息的物件或存在实时位置信息的物件),可以确定是否存在该物件的历史位置信息,以及,是否存在该物件的实时位置信息。

对于存在历史位置信息,且存在实时位置信息的物件,可以依据该物件的历史位置信息对该物件的实时位置信息进行更新,确定该物件的实际位置信息。

例如,可以依据该物件的历史位置信息,以及该物件的移动速度等信息,对该物件在当前帧的位置信息进行预测,得到预测位置信息,并对预测位置信息和上述实时位置信息进行融合,如计算加权平均值,得到该物件的实际位置信息。

举例来说,假设物件A的移动速度为v

其中,物件的移动速度可以依据物件覆盖的控制模组的速度确定。

对于覆盖单个控制模组的物件,其移动速度可以为该控制模组的速度;对于覆盖多个控制模组的物件,其移动速度可以为该多个控制模组的速度的加权平均值。

例如,假设物件A覆盖模组1、2及3,且物件A在模组1、2及3上的面积占比分别为20%、70%及10%,则各模组速度的加权权重可以分别为0.2、0.7及0.1。

其中,在对当前帧中的物件位置进行预测的情况下,物件覆盖在各模组上的面积可以依据上一帧图像的检测结果确定。

对于存在历史位置信息,但不存在实时位置信息的物件,如当前帧已经离开控制模组的物件,或,当前帧漏检的物件,可以依据该物件的历史位置信息,确定该物件的实际位置信息。

例如,可以依据该物件的历史位置信息,以及该物件的移动速度等信息,对该物件在当前帧的位置信息进行预测,得到预测位置信息,并将该预测位置信息作为该物件的实际位置信息。

可见,对于当前帧已经离开控制模组的物件,也可以得到其实际位置信息,进而,在对控制模组里排序最前的物件进行速度控制时,需要保证其与上一个离开控制模组的物件之间的距离满足分离距离要求。

对于不存在历史位置信息,但存在实时位置信息的物件,即当前帧进入控制模组的物件,可以依据该物件的实时位置信息,确定该物件的实际位置信息,例如,将该物件的实时位置信息确定为该物件的实际位置信息。

需要说明的是,在按照上述方式确定了物件的实际位置信息的情况下,可以将所确定的物件的实际位置信息作为最新的历史位置信息进行存储,即按照上述方式确定的当前帧数据处理过程中各物件的实际位置信息,可以作为在下一帧数据的处理过程中的物件的历史位置信息。

在一些实施例中,上述依据所存储的物件的历史排序结果,以及,实际位置信息,确定各物件的排序结果,可以包括:

对于任意两个物件,依据该两个物件的历史排序结果,为该两个物件中排序在前的物件的实际位置信息增加第一偏移量,为该两个物件中排序在后的物件的实际位置信息增加第二偏移量,并依据该两个物件更新后的实际位置信息,确定该两个物件的排序结果;其中,第一偏移量大于第二偏移量,偏移量越大,位置向前偏移越大。

示例性的,考虑到物件移动过程中正常情况下物件在控制模组上的排序结果不会出现变化,且排序在前的物件会先进行分离,为了提高物件分离的稳定性,在确定当前帧的排序结果的过程中,对于任意两个物件,可以依据该两个物件的历史排序结果,为该两个物件中排序在前的物件的实际位置信息增加第一偏移量,为该两个物件中排序在后的物件的实际位置信息增加第二偏移量,得到该两个物件更新后的实际位置信息,并依据该两个物件更新后的实际位置信息,确定该两个物件的排序结果,以校正单帧数据的检测误差,尽量保证当前帧中物件的排序结果与历史排序结果尽量一致。

例如,假设物件A和物件B,在历史排序结果中物件A在物件B之前,则对于按照上述实施例中描述的方式确定的物件A和物件B的实际位置信息(假设分别记为Loc A和Loc B),可以依据历史排序结果为其增加偏移量,得到更新后的实际位置信息:Loc A+off1(即上述第一偏移量)和Loc B+off2(即上述第二偏移量)。

示例性的,第一偏移量大于第二偏移量,且偏移量越大,位置前向偏移越大,即对于历史排序在前的物件,为其增加更大的前向偏移量。

需要说明的是,上述第二偏移量可以为0,即对于排序在后的物件,可以不增加前向偏移。

在一些实施例中,上述依据所存储的物件的历史排序结果,以及,实际位置信息,确定各物件的排序结果,可以包括:

对于任意两个物件,在固定其中一个物件的位置的情况下,若另一个物件向前运动的过程中该两个物件的轮廓重叠区域的面积最大值超过预设面积阈值,则确定该另一个物件的排序在该其中一个物件的排序之后。

示例性的,为了避免物件分离过程中发生碰撞,对于任意两个物件,可以依据该两个物件的实际位置信息,在固定其中一个物件的位置的情况下,模拟另一个物件向前运动的轨迹,并确定该另一个物件向前运动的过程中,两个物件的轮廓重叠区域的面积最大值,比较该最大值与预设面积阈值,若该最大值超过预设面积阈值,则确定该另一个物件向前运动的过程中会与该其中一个物件发生碰撞。在该情况下,可以确定该另一个物件的排序在该其中一个物件的排序之后,以避免物件分离过程中该两个物件发生碰撞。

举例来说,如图2C所示,假设对于物件A和物件B,在固定物件A(上述其中一个物件)的位置的情况下,物件B(上述另一个物件)向前运动的过程中,物件A与物件B的轮廓重叠区域的面积最大值超过预设面积阈值,则可以确定物件B向前运动的过程中会与物件A发生碰撞,在该情况下,可以确定物件B的排序在物件A之后,即物件A先进行分离,物件B后进行分离。

需要说明的是,在本申请实施例中,按照上述方式确定的排序结果以及模组速度均是依据当前帧的采集数据所确定的结果,在通过图像采集设备获取到新的采集数据的情况下,物件的排序结果以及模组速度均可以更新。

在一些实施例中,上述依据所存储的物件的历史排序结果,以及,实际位置信息,确定各物件的候选排序结果,可以包括:

在多个物件的最前端之间距离均小于预设距离阈值的情况下,将该多个物件所存在的排序结果均作为该多个物件的候选排序结果。

示例性的,考虑到实际场景中,对物件的位置信息的识别精度,以及,对物件的速度的控制精度均是有限的,物件在运动过程中的位置关系也可能会由于一些原因发生轻微变动,因此,对于最前端之间的距离相近的多个物件,该多个物件之间的排序无法直接依据位置关系确定。

相应地,在多个物件的最前端之间的距离均小于预设距离阈值的情况下,可以将该多个物件所存在的排序结果均作为该多个物件的候选排序结果。

举例来说,如图2D所示,以沿着物件运动方向为x轴正方向为例,假设物件A、物件B以及物件C的最前端横坐标之间的差值均小于预设阈值(即最前端之间的距离均小于预设距离阈值),则对于物件A、物件B以及物件C,其候选排序结果可以包括ABC、ACB、BAC、BCA、CAB以及CBA。

在一些实施例中,依据各物件的排序结果,确定最优模组速度,可以包括:

在排序结果的数量为1种的情况下,将该排序结果下代价最小的模组速度,确定为最优模组速度。

示例性的,在步骤S120中确定的物件的排序结果的数量为1种的情况下,可以确定该排序结果即为最优排序结果。

可以依据预设的代价函数,确定该排序结果下代价最小的模组速度,并将该模组速度确定为最优模组速度。

示例性的,对于任一排序结果下的任一模组速度,其代价可以依据该模组速度下进行分离的物件之间的距离、同一物件覆盖的不同模组的速度的一致性,以及,物件之间速度的稳定性来确定,其具体实现可以在下文中结合具体示例进行说明。

在一些实施例中,上述依据各物件的排序结果,确定最优模组速度,并依据最优模组速度进行物件分离处理,可以包括:

在排序结果的数量为多种的情况下,分别确定各排序结果下代价最小的目标模组速度;

依据目标模组速度的代价,将代价最小的目标模组速度确定为最优模组速度。

示例性的,在步骤S120中确定的物件的排序结果的数量为多种,即存在多种候选排序结果的情况下,可以分别确定各候选排序结果下代价最小的模组速度(可以称为目标模组速度)。

可以依据该目标模组速度的代价,将代价最小的目标模组速度确定为最优模组速度。

示例性的,对于任一排序结果下的任一模组速度,其代价可以依据该模组速度下进行分离的物件之间的距离、同一物件覆盖的不同模组的速度的一致性,以及,物件之间速度的稳定性来确定,其具体实现可以在下文中结合具体示例进行说明。

在一个示例中,对于任一排序结果下的任一模组速度,该排序结果下该模组速度的代价依据第一类型代价、第二类型代价,以及,第三类型代价确定;

其中,在该模组速度下,该排序结果中排序最前的物件的最末端通过分离线时,排序次最前的物件与分离线的距离越接近分离距离,第一类型代价越小;

该模组速度下,对于任一物件,该物件覆盖的各模组的速度与该物件的速度越接近,第二类型代价越小;

该模组速度下,对于任一物件,在该物件的速度大于等于上一帧时该物件的速度的情况下,第三类型代价为0;在该物件的速度小于上一帧时该物件的速度的情况下,该物件的速度与上一帧时该物件的速度的差值的绝对值越大,第三类型代价越大。

示例性的,上述第一类型代价、第二类型代价,以及,第三类型代价的具体确定方式可以在下文中结合具体示例进行说明。

为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体实例对本申请实施例提供的技术方案进行说明。

在该实施例中,为了能够达到均匀、稳定的分离效果,提供了一种基于时域关联与模组单元的物件分离方案。

通过关联历史帧与当前帧的检测结果,对物件在整个控制模组上进行跟踪、预测,建立完整、正确且稳定的排序关系;此外,以所有模组速度为函数单元,构建分离系统的目标函数,以最小代价对物件进行控制与分离,提高系统的流畅性。

示例性的,可以基于历史帧中所有物件与模组的状态,在当前帧中对所有被检测到的物件进行跟踪,获取到物件的历史信息,并引导物件的排序,使排序结果与历史帧趋于一致,并且可以保留多个候选排序结果;再基于历史帧对消失的物件进行预测,将在预测区域内的消失物件加入排序结果中,以便给出口处的第一个物件增加监督信息;然后基于所有物件的排序结果,以所有模组速度为函数单元,以所有物件的分离距离、物件各部分速度的均匀性、模组速度的变化程度为函数目标,计算每个排序结果下合适的模组速度;最后从候选排序结果中选择目标函数代价最小的模组速度下发给控制单元,进行物件分离控制,其结构示意图可以如图2B所示。

下面对部分实施细节进行说明。

1、获取物件的位置信息:通过相机(即上述图像采集设备)获取控制模组上的所有物件的位置信息。

2、时域关联:将所存储的历史帧中所有物件的信息(如位置信息(即上述历史位置信息)、排序结果(即上述历史排序结果)以及与模组速度等),使用跟踪算法(如卡尔曼滤波算法与匈牙利算法),对当前帧检测到的物件进行关联。

示例性的,关联结果可以包括以下三种情况:

2.1、关联成功(即存在实时位置信息,且存在历史位置信息):更新物件的位置信息,依据历史帧的位置信息进行预测,得到预测位置信息,并将预测位置信息与实时位置信息进行融合,得到实际位置信息;

2.2、历史帧中存在但未关联成功(即不存在实时位置信息):依据历史帧的位置信息进行预测,得到预测位置信息,将预测位置信息作为实际位置信息;

2.3、当前帧中存在但未关联成功(即不存在历史位置信息)的:使用当前帧的信息(即实时位置信息),将实时位置信息确定为实际位置信息。

3、计算物件分离顺序:依据历史排序结果,引导当前帧排序结果的计算,从而使得分离更为稳定。

示例性的,排序结果的计算可以考虑以下因素:

3.1、根据历史排序结果进行排序:根据历史排序结果,通过计算两两物件之间的先后关系,为排序在较前的物件增加一个的前向偏移量(如50mm),从而确定物件的分离顺序;

3.2、物件之间的碰撞关系:通过固定一个物件,使另一个物件向前运行,确定两物件之间的轮廓存在的重叠区域的最大面积,若该最大面积超过预设面积阈值,则确定该两个物件会存在碰撞,将会被碰撞的物件(即上述实施例中的其中一个物件,也即上述固定位置的物件)排序在另一个物件前面;

3.3、对于排序结果较为模糊的组合保留多个排序结果:若多个物件的最前端之间的距离小于预设距离阈值,则认为该排序结果存在多种可能性,则对该多个排序结果均进行保留。

4、建立目标分离函数:基于所有物件的排序结果,以所有模组速度v为函数单元,以所有物件的分离距离dist、物件各部分速度V的均匀性、模组速度的变化程度为函数目标,计算每个排序结果下合适的模组速度v

其中,V

s

V=sum

其中,s1的优化目标为使物件0到达分离线时,物件1与物件0之间的距离(物件1的最前端与物件0的最末端之间的距离)尽可能与预设分离距离(即dist)接近,不同模组速度对于代价依据物件0到达分离线时,物件1与物件0之间的距离(物件1的最前端与物件0的最末端之间的距离)与预设分离距离的差异确定,差异越大,代价(s1取值)越大。

示例性的,对于任一覆盖多个模组的物件,该物件的速度可以为所覆盖的模组的速度的加权平均值。

示例性的,各模组速度的加权权重(即w

例如,假设物件A覆盖模组1、2及3,且物件A在模组1、2及3上的面积占比分别为20%、70%及10%,则各模组速度的加权权重可以分别为0.2、0.7及0.1。

目标函数的惩罚项可以包括如下两个:

4.1、如式1-3所示,表示使每个物件对应的所有模组(即该物件所覆盖的所有模组)的速度趋于一致,对于任一物价,该物件覆盖的所有模组中各模组速度与物件速度差异越大,代价(s2取值)越大。

s

4.2、如式1-4所示,为了使系统保持流畅,物件的速度应保持提高趋势,即对于任一物件,当前帧的速度(如V

s3:V′

5、优化模组速度:依据当前排序结果进行目标分离函数的优化,从而得到优化后的模组速度。该优化过程包括两种情况:

5.1、排序结果的数量为1种:对式1-1、1-3及1-4进行赋权重(经验值,根据实际需求来设定,权重之和为1)并相加,生成如式1-5所示的代价函数(也可以称为损失函数),通过使用遍历等方法优化代价函数s,得到代价最小的模组速度作为最优模组速度。

s=w

5.2、排序结果的数量为多种,即存在多种候选排序结果:跟踪所有候选排序结果,对每一组物件分离顺序都计算得出相应的模组速度和代价函数,得到各候选排序结果下代价最小的模组速度(即上述目标模组速度),选择代价最小的目标模组速度作为最优模组速度。

6、执行分离功能:将最优模组速度发送给控制系统,对物件进行分离。

示例性的,该实施例中的物件分离的流程示意图可以如图3所示,包括以下步骤:

1、通过相机的采集数据获取控制模组上所有物件的位置信息(即上述实时位置信息);

2、根据历史帧中信息,对当前帧的检测结果进行跟踪,将物件在时域上的信息进行关联;

3、对于历史帧中存在,但当前帧中未检测出的物件进行预测,保留预测区域内的物件;

4、结合跟踪与预测信息,计算系统上完整的物件信息;

5、将历史帧中的排序结果作为引导,对完整的物件进行排序,并保留所有候选排序结果;

6、针对每种排序结果,以所有模组速度为函数单元建立函数目标;

7、计算当前排序结果下,目标函数代价最小时的模组速度(即上述目标模组速度);

8、从所有排序结果中选择最优模组速度,并使用这些信息更新历史帧;

9、将最优模组速度发送给控制单元,使其执行对物件执行分离功能。

以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:

请参见图4,为本申请实施例提供的一种物件分离装置的结构示意图,如图4所示,该物件分离装置可以包括:

第一确定单元410,用于依据图像采集设备的当前帧采集数据,确定控制模组上物件的实时位置信息;

第二确定单元420,用于依据所存储的物件的历史位置信息,以及,所述实时位置信息,确定物件的实际位置信息;

第三确定单元430,用于依据所存储的物件的历史排序结果,以及,所述实际位置信息,确定各物件的排序结果;

分离处理单元440,用于依据所述各物件的排序结果,确定最优模组速度,并依据所述最优模组速度进行物件分离处理。

在一些实施例中,所述第二确定单元420依据所存储的物件的历史位置信息,以及,所述实时位置信息,确定物件的实际位置信息,包括:

对于任一物件,在存在该物件的历史位置信息,以及,存在该物件的实时位置信息的情况下,依据该物件的历史位置信息对该物件的实时位置信息进行更新,确定该物件的实际位置信息;

在存在该物件的历史位置信息,但不存在该物件的实时位置信息的情况下,依据该物件的历史位置信息,确定该物件的实际位置信息;

在不存在该物件的历史位置信息,但存在该物件的实时位置信息的情况下,依据该物件的实时位置信息,确定该物件的实际位置信息。

在一些实施例中,所述第三确定单元430依据所存储的物件的历史排序结果,以及,所述实际位置信息,确定各物件的排序结果,包括:

对于任意两个物件,依据该两个物件的历史排序结果,为该两个物件中排序在前的物件的实际位置信息增加第一偏移量,为该两个物件中排序在后的物件的实际位置信息增加第二偏移量,并依据该两个物件更新后的实际位置信息,确定该两个物件的排序结果;其中,第一偏移量大于第二偏移量,偏移量越大,位置向前偏移越大。

在一些实施例中,所述第三确定单元430依据所存储的物件的历史排序结果,以及,所述实际位置信息,确定各物件的排序结果,包括:

对于任意两个物件,在固定其中一个物件的位置的情况下,若另一个物件向前运动的过程中该两个物件的轮廓重叠区域的面积最大值超过预设面积阈值,则确定该另一个物件的排序在该其中一个物件的排序之后。

在一些实施例中,所述第三确定单元430依据所存储的物件的历史排序结果,以及,所述实际位置信息,确定各物件的排序结果,包括:

在多个物件的最前端之间距离均小于预设距离阈值的情况下,将该多个物件所存在的排序结果均作为该多个物件的候选排序结果。

在一些实施例中,所述分离处理单元440依据所述各物件的排序结果,确定最优模组速度,包括:

在排序结果的数量为1种的情况下,将该排序结果下代价最小的模组速度,确定为最优模组速度。

在一些实施例中,所述分离处理单元440依据所述各物件的排序结果,确定最优模组速度,并依据所述最优模组速度进行物件分离处理,包括:

在所述排序结果的数量为多种的情况下,分别确定各候选排序结果下代价最小的目标模组速度;

依据目标模组速度的代价,将代价最小的目标模组速度确定为最优模组速度。

在一些实施例中,对于任一排序结果下的任一模组速度,该排序结果下该模组速度的代价依据第一类型代价、第二类型代价,以及,第三类型代价确定;

其中,在该模组速度下,该排序结果中排序最前的物件的最末端通过分离线时,排序次最前的物件与分离线的距离越接近分离距离,第一类型代价越小;

该模组速度下,对于任一物件,该物件覆盖的各模组的速度与该物件的速度越接近,第二类型代价越小;

该模组速度下,对于任一物件,在该物件的速度大于等于上一帧时该物件的速度的情况下,第三类型代价为0;在该物件的速度小于上一帧时该物件的速度的情况下,该物件的速度与上一帧时该物件的速度的差值的绝对值越大,第三类型代价越大。

在一些实施例中,所述分离处理单元440依据所述最优模组速度进行物件分离处理,包括:

对于任一物件覆盖的任一控制模组,依据所确定的该控制模组的最优模组速度,控制该控制模组的速度与该最优模组速度一致。

本申请实施例提供一种电子设备,包括处理器和存储器,其中,存储器存储有能够被所述处理器执行的机器可执行指令,处理器用于执行机器可执行指令,以实现上文描述的物件分离方法。

请参见图5,为本申请实施例提供的一种电子设备的硬件结构示意图。该电子设备可包括处理器501、存储有机器可执行指令的存储器502。处理器501与存储器502可经由系统总线503通信。并且,通过读取并执行存储器502中与物件分离逻辑对应的机器可执行指令,处理器501可执行上文描述的物件分离方法。

本文中提到的存储器502可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

在一些实施例中,还提供了一种机器可读存储介质,如图5中的存储器502,该机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上文描述的物件分离方法。例如,所述存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。

需要说明的是,在本文中,诸如目标和目标等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

相关技术
  • 命名实体识别方法、装置、电子设备、机器可读存储介质
  • 机器人控制方法、装置、电子设备和计算机可读存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 机器人运行方法、装置、机器人、电子设备及可读介质
  • 机器人标签的定位方法、电子设备和计算机可读存储介质
  • 存储卷写数据方法、装置、电子设备及机器可读存储介质
  • 存储卷写数据方法、装置、电子设备及机器可读存储介质
技术分类

06120116480071