发明内容
针对上述技术问题,本发明提供了一种基于机器视觉的混合机智能控制方法,包括:
S1:获取物料混合过程中混合物的当前帧表面图像,并对当前帧表面图像进行灰度化得到灰度图像。
S2:将所述灰度图像中每一行像素点的灰度值分别组成每一行灰度序列,计算所述每一行灰度序列的排列熵,并判断所有行灰度序列的排列熵的均值是否小于预设排列熵阈值,若判断结果为是则进入下一步,若判断结果为否则进入S1。
S3:获得所述灰度图像的灰度直方图,将所述灰度直方图中频数最大的灰度值作为参考灰度值,将所述灰度直方图中频数的均值所对应的灰度值作为平均灰度值,并根据所述参考灰度值与所述平均灰度值之间的灰度值的方差,得到灰度值属于背景的概率,将所述概率取得最大值时的灰度值作为背景灰度值。
S4:将所述灰度图像中灰度值与所述背景灰度值差异大于预设灰度阈值的像素点,作为差异像素点,将所述差异像素点进行排列得到差异像素序列,计算所述差异像素序列的多层次排列熵。
S5:判断当前帧的灰度图像的多层次排列熵与所有行灰度序列的排列熵的均值的差异是否小于预设差异阈值,若判断结果为是则停止混合,若判断结果为否则进入S1。
进一步的,所述基于机器视觉的混合机智能控制方法,根据所述参考灰度值与所述平均灰度值之间的灰度值的方差,得到灰度值属于背景的概率,包括:
灰度值i属于背景的概率
其中e为自然常数,σ
0 2为所述参考灰度值与所述平均灰度值之间的灰度值的方差,且
其中
为所述平均灰度值,i
m为所述参考灰度值,μ
0为所述参考灰度值与所述平均灰度值之间的灰度值的平均值。
进一步的,所述基于机器视觉的混合机智能控制方法,将所述灰度直方图中频数的均值所对应的灰度值作为平均灰度值,包括:
其中A
i表示所述灰度直方图中灰度值i出现的频数,B表示所述灰度直方图中所有灰度值的频数之和,
为所述平均灰度值。
进一步的,所述基于机器视觉的混合机智能控制方法,所述参考灰度值与所述平均灰度值之间的灰度值的平均值μ0的计算方法,包括:
其中A
i表示所述灰度直方图中灰度值i出现的频数,B表示所述灰度直方图中所有灰度值的频数之和,
为所述平均灰度值,i
m为所述参考灰度值。
进一步的,所述基于机器视觉的混合机智能控制方法,将所述灰度图像中每一行像素点的灰度值分别组成每一行灰度序列,计算所述每一行灰度序列的排列熵,包括:
对所述行灰度序列嵌入一个维度为c的灰度窗口与一个灰度延迟L;以灰度延迟L为步长,对原灰度值序列进行重构得到多个子序列,则所述行灰度序列的排列熵包括:
其中,H(c)表示行灰度序列的排列熵;K表示子序列的总数量,p
j表示第j个子序列的分布概率,对行灰度序列的排列熵进行归一化处理,包括:
其中,H(c)′表示归一化后的排列熵,H(c)表示每行灰度值序列的排列熵,c!为符号序列的总数量。
进一步的,所述基于机器视觉的混合机智能控制方法,将所述差异像素点进行排列得到差异像素序列,计算所述差异像素序列的多层次排列熵,包括:
其中
表示差异像素序列的排列熵,M表示子序列的数量,p
b表示第b个子序列的分布概率,ln为自然对数,n表示重构层数,m
2表示差异像素点的个数。
进一步的,所述基于机器视觉的混合机智能控制方法,对当前帧表面图像进行灰度化得到灰度图像,包括:
将所述当前帧表面图像中像素点在RGB三个通道中像素值的最大值,作为像素点在灰度图像中的灰度值。
相比于现有技术,本发明的有益效果在于,根据物料在混合过程中的表面图像,判断物料的均匀程度与波动程度,从而及时使混合机停止进行混合,在保证物料混合均匀的前提下,自适应控制混合时间,节省生产成本。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征;在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明实施例提供了一种基于机器视觉的混合机智能控制方法,如图1所示,包括:
101、获取物料混合过程中混合物的当前帧表面图像,并对当前帧表面图像进行灰度化得到灰度图像。
具体的,相机位于混合机上方,对混合过程进行实时监控,当色粉完成配比加入混合机且混合机启动开始工作时,相机开始工作,对混合过程进行采样记录,获取连续的多帧图像,并对视频帧进行周期性采样,并将采样获取的图像转化为灰度图像。
优选的,对混合机运行速度及相机采样频率进行调节,运行速度根据需求自行设置,采样频率与选择的运行速度适配,使得图像采集能够采集到清晰准确的图像。
102、将灰度图像中每一行像素点的灰度值分别组成每一行灰度序列,并计算每一行灰度序列的排列熵,判断所有行灰度序列的排列熵的均值是否小于预设排列熵阈值,若判断结果为是则进入下一步,若判断结果为否则进入101。
需要说明的是,排列熵可以反映灰度序列的复杂程度,灰度序列越规则,所对应的排列熵的值就越小,同理所对应的灰度序列越复杂,排列熵的值就越大。对于混合机混合色粉而言,初始时刻,色粉加入混合机,此时还没有进行混合,对应的排列熵较小,但随着混合机的运行,不同颜色的色粉开始混合在一起,此时排列熵的值由初始的较小的值开始逐渐变大,随着混合的进行,色粉混合得越来越均匀,此时会产生新的颜色,当混合到绝对均匀时,原色粉的固有色就会消失,产生新的颜色,此时排列熵的值会从混合不均时很大的值变为混合均匀时很小的值。
具体的,由于环境等各种影响因素的存在,排列熵的值不为0,所以传统混合均匀程度的判定会有一个区间,但是,混合过程中存在的结块现象导致混合时还存在原色粉的固有色,固有色的灰度差异与新产生的颜色差异较大,具体表现为灰度差异大,而影响颜色导致的灰度差异较小,但两种差异所计算出的排列熵的值相同或相似,因此仅靠排列熵的经验值判断均匀程度是不够准确的,排列熵对内部序列的异常点不敏感。
首先,将每行像素点的灰度值组成行灰度值序列,对该行灰度值序列嵌入一个维度为m1的灰度窗口与一个灰度延迟L;该m1维的灰度窗口,以灰度延迟L为步长,对原灰度值序列进行重构得到多个子序列;对每个子序列内部的每个元素进行排序,本发明实施例中按照升序排列,若两个元素的值相等,则按照该元素对应的角标进行排序;用符号序列表示对每个子序列内部的每个元素排序后的位置索引结果,该符号序列的数量为c!,即一个m1维的子序列被映射到c!个序列中的其中一种。将每个符号序列的分布概率表示为{P1,P2…PK},其中K≤c!。
具体的,灰度值序列的排列熵为:
其中,H(c)表示每行灰度值序列的排列熵;K表示子序列的数量;p
j表示第j个子序列的分布概率。
其次,为了便于后续的计算,对每行灰度值序列的排列熵进行归一化处理:
其中H(c)′表示归一化后的排列熵;H(c)表示每行灰度值序列的排列熵;c!为符号序列的数量。
最后,将灰度图像中每行灰度值序列的排列熵由第1行开始进行排序,获取到每帧初始图像所对应的排列熵序列。理想情况下,色粉混合均匀,即混合机中的色粉颜色完全一样,即求得的排列熵的值为0,但实际生成过程中,由于环境的影响如光照影响,采集到的图像中,即使混合均匀了,图像中也存在差异,所以考虑到外界影响因素,预设排列熵阈值的经验值取0.3,判断所有行灰度序列的排列熵的均值是否小于预设排列熵阈值,若判断结果为是则进入下一步,若判断结果为否则进入101,获取下一帧混合物表面图像。
103、获得灰度图像的灰度直方图,将灰度直方图中频数最大的灰度值作为参考灰度值,将灰度直方图中频数的均值所对应的灰度值作为平均灰度值,并根据参考灰度值与平均灰度值之间的灰度值的方差,得到灰度值属于背景的概率,将概率取得最大值时的灰度值作为背景灰度值。
具体的,需要先得到背景色的灰度值,前景为没有混合均匀的色粉的固有色或外界影响导致的颜色差异,背景指当前混合均匀的颜色。
首先,计算背景灰度值,如果利用灰度直方图的频数最大值或灰度均值代表背景像素值,均存在较大的偏差,但较为理想的背景灰度值一定位于灰度直方图的频数最大值与灰度均值之间,故将灰度直方图中频数最大的灰度值作为参考灰度值,将灰度直方图中频数的均值所对应的灰度值作为平均灰度值,故建立高斯分布,其中高斯分布的均值与方差分别为参考灰度值以及,为均值μ
0,参考灰度值i
m与平均灰度值
之间灰度值的方差为
平均灰度值
其中,A
i表示灰度值i出现的频数,B表示图像中像素点的总个数,对于某一灰度值i,属于背景的概率为
选取F
i取得最大值时所对应的灰度值i′为背景灰度值。
104、将灰度图像中灰度值与背景灰度值差异大于预设灰度阈值的像素点,作为差异像素点,将差异像素点进行排列得到差异像素序列,计算差异像素序列的多层次排列熵。
具体的,当某一像素点与背景灰度值的灰度差异大,混合不均的概率就越大,即需对其进行修正,计算排列熵为0时所需要的层数,以背景灰度值i1为基准,灰度延迟L′=1重构序列。灰度级不为基准灰度值i1时,以1个灰度级的延迟系数向基准灰度级靠近,例如,基准灰度级i1=8,灰度序列为[8,8,19,8,8,5,7,10…],重构层数为1后的序列为[8,8,18,8,8,6,8,9…],以此方法重构n次后序列变为[8,8,8,8,8,…]。
需要说明的是,计算每个像素点与背景灰度值的差值并进行统计,设将灰度图像中灰度值与背景灰度值差异大于预设灰度阈值的像素点作为差异像素点,灰度图像中差异像素点的总数为m
2,则构建一个二元组,其为(n,m
2),n表示重构层数,则多层次排列熵为:
其中
表示差异像素序列的排列熵,M表示子序列的数量,p
b表示第b个子序列的分布概率,ln为自然对数,n表示重构层数,m
2表示差异像素点的个数,E的值越小,混合均匀度越高。
105、判断当前帧的灰度图像的多层次排列熵与所有行灰度序列的排列熵的均值的差异是否小于预设差异阈值,若判断结果为是则停止混合,若判断结果为否则进入101。
需要说明的是,多层次排列熵代表混合物中野点的影响程度,野点指的是没有被混合的固有色色粉,排列熵代表混合物的混乱程度,当多层次排列熵的值越趋近于排列熵的值时,说明混合物中存在结块现象,,当多层次排列熵的值越小(趋近于0)时,则说明此时不存在野点,此时混合均匀,可以停止混合,否则需要继续采集混合物的表面图像,进行上述101至105的分析处理过程。
本申请实施例还提供了一种基于机器视觉的混合机智能控制设备,请参阅图2,图2是本申请实施例提供的基于机器视觉的混合机智能控制设备的一种结构示意图,为便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例中的方法部分。
本申请实施例的基于机器视觉的混合机智能控制装置包括,图像采集模块201、存储模块202、混合容器203、处理模块204。
图像采集模块201用于获取物料混合过程中混合容器203中混合物的当前帧表面图像。
存储模块202用于存储图像采集模块201采集到混合物的当前帧表面图像。
混合容器203用于执行容纳混合物并进行混合,以及执行处理模块204发出的控制混合过程的指令。
处理模块204包括:灰度化子模块2041、第一计算子模块2042、第二计算子模块2043、第三计算子模块2044以及判断子模块2045。
灰度化子模块2041用于对当前帧表面图像进行灰度化得到灰度图像。
第一计算子模块2042用于将灰度图像中每一行像素点的灰度值分别组成每一行灰度序列,并计算每一行灰度序列的排列熵,判断所有行灰度序列的排列熵的均值是否小于预设排列熵阈值,若判断结果为是则启动第二计算模块2043,若判断结果为否则控制图像采集模块继续混合物表面图像;
第二计算子模块2043用于获得灰度图像的灰度直方图,将灰度直方图中频数最大的灰度值作为参考灰度值,将灰度直方图中频数的均值所对应的灰度值作为平均灰度值,并根据参考灰度值与平均灰度值之间的灰度值的方差得到背景灰度值;
第三计算子模块2044用于将灰度图像中灰度值与背景灰度值差异大于预设灰度阈值的像素点,作为差异像素点,将差异像素点进行排列得到差异像素序列,计算差异像素序列的多层次排列熵;
判断子模块2045用于判断当前帧的灰度图像的多层次排列熵与所有行灰度序列的排列熵的均值的差异是否小于预设差异阈值,若判断结果为是则向混合容器203发出指令停止混合,若判断结果为否,则控制图像采集模块201继续采集当前帧表面图像。
综上所述,本发明的有益效果在于,根据物料在混合过程中的表面图像,判断物料的均匀程度与波动程度,从而及时使混合机停止进行混合,在保证物料混合均匀的前提下,自适应控制混合时间,节省生产成本。
本发明中涉及诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本发明的方法和系统中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
上述实施例仅仅是为清楚地说明所做的举例,并不构成对本发明的保护范围的限制。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无需也无法对所有的实施方式予以穷举。凡是与本发明相同或相似的设计均属于本发明的保护范围之内。