发明内容
有鉴于此,本发明的目的在于提供一种料箱状态的监控方法及装置、自动投料系统,能够自动识别料箱的状态,在节约人力成本的基础上也更为高效便捷。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种料箱状态的监控方法,所述方法包括:利用预先训练得到的神经网络模型对料箱图像进行识别,得到所述料箱的开口区域和所述料箱中的物体占用区域;基于所述料箱的开口区域和所述料箱中的物体占用区域确定所述料箱的当前状态;其中,所述料箱的当前状态包括装满状态、未装满状态和空箱状态。
进一步,本发明实施例提供了第一方面的第一种可能的实施方式,还包括:通过图像采集装置实时或按照预设时间间隔采集传输履带上的料箱的图像,得到所述料箱图像;其中,所述图像采集装置设置于所述传输履带上方的指定位置。
进一步,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述利用预先训练得到的神经网络模型对所述料箱图像进行识别,得到所述料箱的开口区域和所述料箱中的物体占用区域的步骤,包括:利用预先训练得到的第一神经网络模型对所述料箱图像进行识别,得到所述料箱的开口区域;利用预先训练得到的第二神经网络模型对所述料箱图像进行识别,得到所述料箱中的物体占用区域;其中,所述第一神经网络模型和所述第二神经网络模型均是基于预先标注后的料箱图像训练得到的。
进一步,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述方法还包括:基于标注有料箱顶角信息的第一料箱图像训练集对待训练的第一神经网络模型中进行训练,得到训练后的第一神经网络模型;基于标注有物体信息的第二料箱图像训练集对待训练的第二神经网络模型中进行训练,得到训练后的第二神经网络模型;其中,所述物体信息包括所述料箱中的物体覆盖区域。
进一步,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述利用预先训练得到的第一神经网络模型对所述料箱图像进行识别,得到所述料箱的开口区域的步骤,包括:利用预先训练得到的第一神经网络模型识别所述料箱图像中所述料箱的各个顶角,并得到所述各个顶角的顶点坐标;根据各个所述顶点坐标组成的多边形得到所述料箱的开口区域;所述料箱的开口区域包括组成所述多边形的像素。
进一步,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述第二神经网络模型为全卷积神经网络;所述利用预先训练得到的第二神经网络模型对所述料箱图像进行识别,得到所述料箱中的物体占用区域的步骤,包括:利用预先训练得到的第二神经网络模型识别所述料箱图像中的物体,将识别出的所述物体的覆盖区域确定为所述料箱中的物体占用区域。
进一步,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述利用预先训练得到的神经网络模型对所述料箱图像进行识别,得到所述料箱的开口区域和所述料箱中的物体占用区域的步骤,包括:利用预先训练得到的第三神经网络模型对所述料箱图像进行识别,得到所述料箱的开口区域和所述料箱中的物体占用区域;其中,所述第三神经网络模型是基于标注有料箱顶角信息的第一料箱图像训练集和标注有物体信息的第二料箱图像训练集训练得到的。
进一步,本发明实施例提供了第一方面的第七种可能的实施方式,其中,所述基于所述料箱的开口区域和所述料箱中的物体占用区域确定所述料箱的当前状态的步骤,包括:当所述料箱中的物体占用区域的像素个数与所述料箱的开口区域的像素个数的比值达到预设阈值时,确定所述料箱当前的状态为装满状态;当所述料箱中的物体占用区域的像素个数与所述料箱的开口区域的像素个数的比值小于预设阈值时,确定所述料箱当前的状态为未装满状态;当所述料箱中的物体占用区域的像素个数为零时,确定所述料箱当前的状态为空箱状态。
进一步,本发明实施例提供了第一方面的第八种可能的实施方式,其中,所述基于所述料箱的开口区域和所述料箱中的物体占用区域确定所述料箱的当前状态的步骤,包括:当所述料箱中的物体占用区域的像素坐标中存在任一横坐标值大于预设的最大横坐标,或者存在任一纵坐标值大于预设的最大纵坐标时,确定所述料箱当前的状态为装满状态;其中,所述预设的最大横坐标和所述预设的最大纵坐标为基于所述料箱的顶角的顶点坐标确定的值;当所述料箱中的物体占用区域的像素坐标中的横坐标值均小于所述预设的最大横坐标,且纵坐标值均小于所述预设的最大纵坐标时,确定所述料箱当前的状态为未装满状态;当未识别到所述料箱中的物体占用区域时,确定所述料箱当前的状态为空箱状态。
第二方面,本发明实施例还提供了一种料箱状态的监控装置,所述装置包括:图像获取模块,用于获取料箱图像;图像识别模块,用于利用预先训练得到的神经网络模型对所述料箱图像进行识别,得到所述料箱的开口区域和所述料箱中的物体占用区域;状态确定模块,用于基于所述料箱的开口区域和所述料箱中的物体占用区域确定所述料箱的当前状态;其中,所述料箱的当前状态包括装满状态、未装满状态和空箱状态。
第三方面,本发明实施例提供了一种自动投料系统,所述系统包括:图像采集装置、处理器和存储装置;所述图像采集装置,用于采集料箱图像;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如第一方面任一项所述的方法。
进一步,本发明实施例提供了第三方面的第一种可能的实施方式,其中,所述系统还包括投料装置;所述处理器还用于将运行得到的料箱的当前状态发送至投料装置;所述投料装置用于在从所述处理器获取到所述料箱的当前状态为空箱状态时开始向所述料箱投放物体,在从所述处理器获取到所述料箱的当前状态为装满状态时停止向所述料箱投放物体。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面任一项所述的方法的步骤。
本发明实施例提供了一种料箱状态的监控方法及装置、自动投料系统,利用预先训练得到的神经网络模型对料箱图像进行识别,得到料箱的开口区域和料箱中的物体占用区域,并基于料箱的开口区域和料箱中的物体占用区域确定料箱的当前状态(包括装满状态、未装满状态和空箱状态)。这种方式无需人为监督料箱的状态,通过获取料箱的图像,并对料箱图像中的料箱的开口区域和料箱中的物体占用区域进行识别,从而确定料箱的当前状态,本实施例能够自动识别料箱的状态,在节约人力成本的基础上也更加高效便捷。
本发明实施例的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明实施例的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
考虑到现有技术中为了确保在料箱装满时能够及时更换料箱,通常需要安排专门的监督人员监督料箱的状态,还存在费时费力,耗费的人力成本较高的问题,本发明实施例提供的一种料箱状态的监控方法及装置、自动投料系统,可以应用于任何需要自动识别料箱当前状态的场景,诸如仓储场景等,以下对本发明实施例进行详细介绍。
实施例一:
首先,参照图1来描述用于实现本发明实施例的一种料箱状态的监控方法及装置、自动投料系统的示例电子设备100。
如图1所示的一种电子设备的结构示意图,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108以及图像采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以采用数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(CPU)、图形处理单元(GPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述图像采集装置110可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在所述存储装置104中以供其它组件使用。
示例性地,用于实现根据本发明实施例的料箱状态的监控方法及装置、自动投料系统的示例电子设备可以被实现为诸如智能手机、平板电脑、计算机等智能终端。
实施例二:
参见图2所示的料箱状态的监控方法流程图,该方法可以由诸如前述电子设备执行,该方法主要包括以下步骤S204~步骤S206:
步骤S204,利用预先训练得到的神经网络模型对料箱图像进行识别,得到料箱的开口区域和料箱中的物体占用区域。
在本步骤之前,还可以先获取料箱图像。上述料箱可以是仓储中用来装载物品或货物的箱子,还可以是其他能够接收物品投放的容器等,在此不进行限定。上述料箱图像可以是料箱的俯视图,既可以反应料箱的开口区域,也可以直观体现料箱中存放物品的情况。
在实际应用中,可以通过设置于料箱上方的摄像头采集料箱图像,并将采集到的料箱图像上传给用于执行料箱状态的监控方法的电子设备。上述获取料箱的方式可以是实时获取料箱图像,也可以是定时获取料箱图像,诸如当上述执行料箱状态的监控方法的电子设备的计算量足够大时,可以实时获取摄像头拍摄的料箱图像的视频流,以便实时监控料箱的状态。
利用料箱图像预先训练神经网络模型,得到训练后的神经网络模型。再利用训练后的神经网络模型识别料箱图像中的料箱开口区域和料箱中的物体占用区域。上述训练后的神经网络模型得到的识别结果可以是输出图像,该输出图像对料箱开口区域和料箱中的物体占用区域分别作出了标记,上述训练后的神经网络模型的识别结果还可以是分别输出料箱开口区域和料箱中的物体占用区域的像素坐标或像素数量。
步骤S206,基于料箱的开口区域和料箱中的物体占用区域确定料箱的当前状态;其中,料箱的当前状态包括装满状态、未装满状态和空箱状态。
上述料箱中的物体占用区域是随着向料箱中投放的物体数量变化的,当向料箱中投放的物体数量越多时,上述料箱中的物体占用区域越大;而上述料箱的开口区域为料箱俯视图的可见区域,诸如当料箱为长方体时,料箱的开口区域为料箱图像中料箱最外围的长度与宽度所构成的区域,当采集料箱图像的摄像头位置固定不变时,上述得到的料箱的开口区域也是不变的。根据料箱的开口区域与料箱中的物体占用区域之间的关系,可以判断料箱是否被装满。
本实施例提供的上述料箱状态的监控方法,无需人为监督料箱的状态,通过获取料箱的图像,并对料箱图像中的料箱的开口区域和料箱中的物体占用区域进行识别,从而确定料箱的当前状态,本实施例能够自动识别料箱的状态,在节约人力成本的基础上也更加高效便捷。
为了及时计算得到料箱的状态,本实施例提供了获取料箱的具体实施方式:通过图像采集装置实时或按照预设时间间隔采集传输履带上的料箱的料箱图像;其中,图像采集装置设置于传输履带上方的指定位置。上述指定位置为物体投放位置的正上方,当传输履带上的空料箱到达该投放位置时,传输履带停止运行,由投料设备(诸如智能搬运机器人)向该投放位置上放置的料箱投放物体。图像采集装置诸如摄像头的设置高度可以根据料箱的大小进行设定,使图像采集装置能够清楚全面地采集到料箱的俯视图像。为了及时得到料箱的当前状态,在一种实施方式中,采集装置实时或按照预设时间间隔采集料箱图像,并将采集到的料箱图像发送至执行料箱状态的监控方法的电子设备或服务器中;在另一种实施方式中,执行料箱状态的监控方法的电子设备可以为带有摄像头的设备,将该电子设备设置于物体投放位置的正上方,使该电子设备通过摄像头实时或按照预设时间间隔获取到料箱图像。诸如,当上述料箱的形状为长方体时,参见如图3所示的料箱图像示意图,其中该料箱图像中的料箱处于空箱状态,图像采集装置采集到的料箱图像为料箱的俯视图,该料箱俯视图为矩形框,且从该俯视图可以看到料箱的底部。
为了准确识别得到料箱的开口区域和料箱中的物体占用区域,本实施例提供了前述步骤S204在执行时,可采用的两种识别料箱图像得到料箱的开口区域和料箱中的物体占用区域的具体实施方式:
实施方式一:利用预先训练得到的第一神经网络模型对料箱图像进行识别,得到料箱的开口区域。利用预先训练得到的第二神经网络模型对料箱图像进行识别,得到料箱中的物体占用区域;其中,第一神经网络模型和第二神经网络模型均是基于预先标注后的料箱图像训练得到的。
在该实施方式中,可以使用两个神经网络模型分别对料箱图像进行识别,其中,上述第一神经网络模型的训练方式为:基于标注有料箱顶角信息的第一料箱图像训练集对待训练的第一神经网络模型中进行训练,得到训练后的第一神经网络模型。对预先采集的多张料箱图像进行标注,将上述多张料箱图像中的料箱开口区域标注出来,诸如,标注料箱的轮廓或料箱开口的各个顶角位置,将标注好的多张料箱图像作为第一料箱图像训练集,并将第一料箱图像训练集输入第一神经网络模型,基于第一料箱图像训练集对第一神经网络模型进行训练,得到训练后的第一神经网络模型,训练后的第一神经网络模型可以识别出料箱图像中料箱的开口区域。
上述第二神经网络模型的训练方式为:基于标注有物体信息的第二料箱图像训练集对待训练的第二神经网络模型中进行训练,得到训练后的第二神经网络模型;其中,物体信息包括料箱中的物体覆盖区域。对预先采集的多张料箱图像进行标注,由于料箱中的物体形状可能为不规则形状,为了使第二神经网络能够准确识别到料箱中物体的区域,可以对上述多张料箱图像中的物体区域进行轮廓绘制标注,将标注好物体区域的多张料箱图像作为第二料箱图像训练集,并将第二料箱图像训练集输入第二神经网络模型,基于第二料箱图像训练集对第二神经网络模型进行训练,得到训练后的第二神经网络模型,训练后的第二神经网络模型可以识别出料箱图像中的物体覆盖区域。
实施方式二:利用预先训练得到的第三神经网络模型对料箱图像进行识别,得到料箱的开口区域和料箱中的物体占用区域;其中,第三神经网络模型是基于标注有料箱顶角信息的第一料箱图像训练集和标注有物体信息的第二料箱图像训练集训练得到的。
在该实施方式中,可以使用一个神经网络模型识别料箱图像中的料箱的开口区域和料箱中的物体占用区域,当使用一个神经网络模型同时识别料箱的开口区域和料箱中的物体占用区域时,第三神经网络模型的训练方式为:将标注有料箱顶角信息的第一料箱图像训练集和标注有物体信息的第二料箱图像训练集输入第三神经网络模型,基于第一料箱图像训练集和第二料箱图像训练集对第三神经网络模型进行训练,得到训练后的第三神经网络模型,训练后的第三神经网络模型可以同时识别出料箱图像中的料箱开口区域和料箱中的物体覆盖区域。
为了进一步提升识别料箱的开口区域的准确率,本实施例提供了利用预先训练得到的第一神经网络模型对料箱图像进行识别,得到料箱的开口区域的实施方式,具体可参照如下步骤(1)~步骤(2)执行:
步骤(1):利用预先训练得到的第一神经网络模型识别料箱图像中料箱的各个顶角,并得到各个顶角的顶点坐标。
由于训练第一神经网络模型的第一料箱图像训练集标注有料箱的轮廓或料箱开口的各个顶角位置,利用训练后的第一神经网络模型可以识别出料箱图像中料箱的各个顶角,诸如当料箱为长方体时,该各个顶角可以是料箱的四个顶点,并输出料箱各个顶点的像素坐标。
步骤(2):根据各个顶点坐标组成的多边形得到料箱的开口区域;料箱的开口区域包括组成多边形的像素。
将上述各个顶点进行连线得到各个顶点组成的多边形,该多边形内的所有像素点组成了料箱的开口区域。参见如图4所示的料箱开口区域识别结果图,该料箱中为装载有物体的料箱,图4中的阴影部分为料箱的开口区域。上述第一神经网络模型还可以输出该阴影部分所包括的像素个数或输出该矩形各个顶角的像素坐标。
为了进一步提升识别料箱中的物体占用区域的准确率,本实施例提供了利用预先训练得到的第二神经网络模型对料箱图像进行识别,得到料箱中的物体占用区域的具体实施方式:利用预先训练得到的第二神经网络模型识别料箱图像中的物体,将识别出的物体的覆盖区域确定为料箱中的物体占用区域。其中,上述第二神经网络模型为全卷积神经网络,全卷积神经网络是对图像中的各个像素进行分类的。由于上述第二神经网络模型是基于标注物体覆盖区域的图像训练得到的,第二神经网络模型在识别物体覆盖区域时,得到上述料箱图像中每一个像素为物体覆盖像素的概率,该概率的大小在0到1之间,当该概率大于预设的概率阈值(诸如可以为0.5)时,确定该像素点为物体覆盖区域,通过计算料箱图像中每一个像素点的概率,得到料箱中物体的覆盖区域。上述第二神经网络模型还可以输出识别结果,参见如图5所示的料箱中的物体占用区域识别结果图,第二神经网络模型输出的识别结果可以是图像,该图像中用实线对识别到的料箱中的物体覆盖区域进行了标记,第二神经网络模型输出的识别结果还可以是料箱中的物体覆盖区域内的像素个数和各个像素的坐标。
为了计算得到料箱的当前状态,本实施例提供了前述步骤S206在执行时,可采用的两种确定料箱的当前状态的实施方式,具体可参照如下方式一和方式二执行:
方式一:当料箱中的物体占用区域的像素个数与料箱的开口区域的像素个数的比值达到预设阈值时,确定料箱当前的状态为装满状态。当料箱中的物体占用区域的像素个数与料箱的开口区域的像素个数的比值小于预设阈值时,确定料箱当前的状态为未装满状态。当料箱中的物体占用区域的像素个数为零时,确定料箱当前的状态为空箱状态。
在该实施方式中,神经网络模型输出的识别结果为料箱中的物体占用区域的像素个数和料箱的开口区域的像素个数。在图像采集装置固定的情况下,通过上述训练后的神经网络模型识别得到的料箱开口区域的大小是不变的,即料箱开口区域的像素个数是不变的。当料箱中的物体逐渐增加后,训练后的神经网络模型识别到的料箱中的物体占用区域会越来越大,上述料箱中的物体占用区域的像素个数与料箱的开口区域的像素个数的比值会随着料箱中的物体的增加而增大,当该比值大于预设阈值时,确定料箱当前的状态为装满状态,当该比值小于预设阈值时,确定该料箱的当前状态为未装满状态,即料箱还有空间可以装载物体;当训练后的神经网络模型没有识别到料箱中的物体占用区域时,确定料箱的当前状态为空箱状态。上述预设阈值可以根据通过情况下料箱装满时料箱内壁面积与物体面积的比例认为设置。
方式二:当料箱中的物体占用区域的像素坐标中存在任一横坐标值大于预设的最大横坐标,或者存在任一纵坐标值大于预设的最大纵坐标时,确定料箱当前的状态为装满状态;其中,预设的最大横坐标和预设的最大纵坐标为基于料箱的顶角的顶点坐标确定的值。当料箱中的物体占用区域的像素坐标中的横坐标值均小于预设的最大横坐标,且纵坐标值均小于预设的最大纵坐标时,确定料箱当前的状态为未装满状态。当未识别到料箱中的物体占用区域时,确定料箱当前的状态为空箱状态。
在该实施方式中,神经网络模型输出的识别结果为料箱开口区域各个顶角的顶点像素坐标和料箱中的物体占用区域的各个像素坐标。在实际应用中,当料箱装满时物体距离料箱边界的距离较近,或者物体会超出料箱边界。因此,上述预设的最大横坐标可以是料箱开口区域的顶点像素坐标中的最大横坐标值,也可以是根据通常料箱装满时的物体覆盖区域人为设定的横向边界值;上述预设的最大纵坐标可以是料箱开口区域的顶点像素坐标中的最大纵坐标值,也可以是根据通常料箱装满时的物体覆盖区域人为设定的纵向边界值。
本实施例提供的上述料箱状态的监控方法,通过利用训练后的神经网络模型识别料箱图像中的料箱的开口区域和料箱中的物体占用区域,根据料箱的开口区域和料箱中的物体占用区域内的像素个数或像素坐标,自动得到料箱的当前状态,节约人力成本的基础上也更为高效便捷。
实施例三:
在前述实施例的基础上,本实施例提供了一种应用前述料箱状态的监控方法对物流行业中的料箱进行状态监控的具体示例,参见如图6所示的投料场景示意图,料箱的正上方设置有摄像头,智能搬运机器人可以向摄像头下方的料箱中投放物体,具体可参照如下步骤a~步骤d:
步骤a:通过摄像头采集料箱图像,并将料箱图像分别发送至料箱开口区域检测模块和物体分割模块。
其中,上述料箱开口区域检测模块和物体分割模块可以是设置于单独的电子设备中的计算模块,也可以是设置于与上述摄像头相同的电子设备中的计算模块。参见如图7所示的料箱状态监控流程框图,首先将采集到的料箱图像分别发送至料箱开口区域检测模块和物体分割模块,在发送料箱图像时,可以将摄像头采集到的料箱视频流分别发送至料箱开口区域检测模块和物体分割模块,还可以从摄像头采集到的料箱视频流中均匀抽取多张料箱图像发送至料箱开口区域检测模块和物体分割模块,或者将摄像头采集到的料箱视频流的每隔预设帧数的料箱图像发送至料箱开口区域检测模块和物体分割模块。
步骤b:通过料箱开口区域检测模块检测料箱图像中料箱的开口区域。
上述料箱开口区域检测模块利用预先训练得到的第一神经网络模型对料箱图像进行识别,得到料箱的开口区域。如图7所示,料箱开口区域检测模块将计算得到的料箱的开口区域发送至料箱状态分析模块,以使料箱状态分析模块根据料箱的开口区域判断料箱的当前状态。其中,上述料箱的开口区域可以包括料箱各个顶角在料箱图像中的像素坐标,将上述各个顶角进行连线可以得到构成料箱的开口区域的多边形。
步骤c:通过物体分割模块识别料箱中的物体占用区域。
上述物体分割模块利用预先训练得到的第二神经网络模型对料箱图像进行识别,得到料箱中的物体占用区域。如图7所示,物体分割模块将计算得到的料箱中的物体占用区域发送至料箱状态分析模块,以使料箱状态分析模块根据料箱中的物体占用区域判断料箱的当前状态。
步骤d:料箱状态分析模块基于料箱的开口区域和料箱中的物体占用区域确定料箱的当前状态。
料箱状态分析模块根据识别出来的料箱的开口区域和料箱中的物体占用区域,判断正在被智能搬运机器人投放物体的料箱是否被装满,如图7所示,料箱状态分析模块还可以将得到的料箱当前状态输出,以便进一步控制智能搬运机器人的物体投放动作。当料箱中的物体占用区域的像素个数与料箱的开口区域的像素个数的比值达到预设阈值时,确定料箱被装满;或者,当料箱中的物体占用区域的像素坐标中存在任一横坐标值大于预设的最大横坐标,或存在任一纵坐标值大于预设的最大纵坐标时,确定料箱被装满。
本实施例提供的上述料箱状态的监控方法,能够自动识别料箱的状态,节约人力成本的基础上也更为高效便捷。
实施例四:
对于实施例二中所提供的料箱状态的监控方法,本发明实施例提供了一种料箱状态的监控装置,参见图8所示的一种料箱状态的监控装置结构示意图,该装置包括以下模块:
图像获取模块81,用于获取料箱图像。
图像识别模块82,用于利用预先训练得到的神经网络模型对料箱图像进行识别,得到料箱的开口区域和料箱中的物体占用区域。
状态确定模块83,用于基于料箱的开口区域和料箱中的物体占用区域确定料箱的当前状态;其中,料箱的当前状态包括装满状态、未装满状态和空箱状态。
本实施例提供的上述料箱状态的监控装置,无需人为监督料箱的状态,通过获取料箱的图像,并对料箱图像中的料箱的开口区域和料箱中的物体占用区域进行识别,从而确定料箱的当前状态,本实施例能够自动识别料箱的状态,在节约人力成本的基础上也更加高效便捷。
在一种实施方式中,上述图像获取模块81,进一步用于通过图像采集装置实时或按照预设时间间隔采集传输履带上的料箱的料箱图像;其中,图像采集装置设置于传输履带上方的指定位置。
在一种实施方式中,上述图像识别模块82,进一步用于利用预先训练得到的第一神经网络模型对料箱图像进行识别,得到料箱的开口区域;利用预先训练得到的第二神经网络模型对料箱图像进行识别,得到料箱中的物体占用区域;其中,第一神经网络模型和第二神经网络模型均是基于预先标注后的料箱图像训练得到的。
在一种实施方式中,上述装置还包括:
第一训练模块,用于基于标注有料箱顶角信息的第一料箱图像训练集对待训练的第一神经网络模型中进行训练,得到训练后的第一神经网络模型。
第二训练模块,用于基于标注有物体信息的第二料箱图像训练集对待训练的第二神经网络模型中进行训练,得到训练后的第二神经网络模型;其中,物体信息包括料箱中的物体覆盖区域。
在一种实施方式中,上述图像识别模块82,进一步用于利用预先训练得到的第一神经网络模型识别料箱图像中料箱的各个顶角,并得到各个顶角的顶点坐标;根据各个顶点坐标组成的多边形得到料箱的开口区域;料箱的开口区域包括组成多边形的像素。
在一种实施方式中,上述第二神经网络模型为全卷积神经网络;上述图像识别模块82,进一步用于利用预先训练得到的第二神经网络模型识别料箱图像中的物体,将识别出的物体的覆盖区域确定为料箱中的物体占用区域。
在一种实施方式中,上述图像识别模块82,进一步用于利用预先训练得到的第三神经网络模型对料箱图像进行识别,得到料箱的开口区域和料箱中的物体占用区域;其中,第三神经网络模型是基于标注有料箱顶角信息的第一料箱图像训练集和标注有物体信息的第二料箱图像训练集训练得到的。
在一种实施方式中,上述状态确定模块83,进一步用于当料箱中的物体占用区域的像素个数与料箱的开口区域的像素个数的比值达到预设阈值时,确定料箱当前的状态为装满状态;当料箱中的物体占用区域的像素个数与料箱的开口区域的像素个数的比值小于预设阈值时,确定料箱当前的状态为未装满状态;当料箱中的物体占用区域的像素个数为零时,确定料箱当前的状态为空箱状态。
在一种实施方式中,上述状态确定模块83,进一步用于当料箱中的物体占用区域的像素坐标中存在任一横坐标值大于预设的最大横坐标,或者存在任一纵坐标值大于预设的最大纵坐标时,确定料箱当前的状态为装满状态;其中,预设的最大横坐标和预设的最大纵坐标为基于料箱的顶角的顶点坐标确定的值;当料箱中的物体占用区域的像素坐标中的横坐标值均小于预设的最大横坐标,且纵坐标值均小于预设的最大纵坐标时,确定料箱当前的状态为未装满状态;当未识别到料箱中的物体占用区域时,确定料箱当前的状态为空箱状态。
本实施例提供的上述料箱状态的监控装置,通过利用训练后的神经网络模型识别料箱图像中的料箱的开口区域和料箱中的物体占用区域,根据料箱的开口区域和料箱中的物体占用区域内的像素个数或像素坐标,自动得到料箱的当前状态,节约人力成本的基础上也更为高效便捷。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例五:
对应于前述实施例所提供的方法和装置,本发明实施例还提供了一种自动投料系统,该系统包括:图像采集装置、处理器和存储装置。
上述图像采集装置,用于采集料箱图像。图像采集装置将采集到的料箱图像实时发送至处理器,以使处理器根据采集到的料箱图像判断料箱的当前状态。其中,图像采集装置采集料箱图像的方式可以是实时采集,也可以是按照预设的时间间隔采集料箱图像,该预设时间间隔可以根据投料装置的投料速度进行设置。
上述存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如实施例二提供的方法。
在一种具体的实施方式中,上述系统还包括投料装置。
上述处理器还用于将运行得到的料箱的当前状态发送至投料装置。为了保证料箱的当前状态的传输实时性,处理器每处理完成一帧料箱图像,得到该料箱图像对应的料箱当前状态,即自动触发将料箱的当前状态发送至投料装置的操作。
投料装置用于在从处理器获取到料箱的当前状态为空箱状态时开始向料箱投放物体,在从处理器获取到料箱的当前状态为装满状态时停止向料箱投放物体。上述处理器计算得到的料箱的当前状态可以作为投料装置的触发信号,在料箱的当前状态为空箱状态时,触发投料装置开始向料箱投料,当料箱的当前状态为未装满状态时,投料装置持续向料箱中投料,当料箱的当前状态为装满状态时,投料装置停止向料箱投料。
在一种具体的实施方式中,上述处理器还可以将料箱的当前状态发送至传输履带的控制器,传输履带的控制器在从处理器获取到料箱的当前状态为空箱状态和未装满状态时,传输履带的控制器控制传输履带保持当前位置不动;在从处理器获取到料箱的当前状态为装满状态时,传输履带的控制器控制传输履带向预设方向运行预设距离,以使新的料箱(即下一个处于空箱状态的料箱)移动到图像采集装置的正下方,以便使图像采集装置采集新的料箱的料箱图像。
本实施例提供的自动投料系统,可以在料箱的当前状态为空箱状态时,开始向料箱投放物体,在料箱的当前状态为未满状态时,继续投放物体,并在料箱的当前状态为装满状态时,停止向料箱投放物体,在充分利用料箱空间的基础上,实现了对于料箱的自动投料,提升了投料的自动化性能。
实施例五:
本发明实施例提供了一种计算机可读介质,其中,所述计算机可读介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现上述实施例所述的料箱状态的监控方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统具体工作过程,可以参考前述实施例中的对应过程,在此不再赘述。
本发明实施例所提供的料箱状态的监控方法及装置、自动投料系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。