发明内容
为了解决现有基于视频图像对降雨量评估不准确导致的智慧农业云平台监控系统的可靠性较差的问题,本发明的目的在于提供一种基于大数据的智慧农业云平台监控系统。
本发明的一种基于大数据的智慧农业云平台监控系统,包括图像采集模块和数据处理模块,所述图像采集模块用于在雨天实时采集农作物生长环境图像,并将所述农作物生长环境图像发送给所述数据处理模块,所述数据处理模块用于:
对当前帧农作物生长环境图像进行灰度处理,得到当前帧农作物生长环境图像对应的灰度图像;利用帧差法识别当前帧农作物生长环境图像对应的灰度图像中的各雨滴;
根据各雨滴对应的边缘像素点的梯度值判断各雨滴是否为存在遮挡情况的雨滴,若是,则判定该存在遮挡情况的雨滴包括一个距离图像采集模块较近的雨滴和一个距离图像采集模块较远的雨滴;对于任一存在遮挡情况的雨滴,根据该雨滴区域内各像素点的梯度值和8邻域内相邻像素点的梯度值得到该存在遮挡情况的雨滴中距离图像采集模块较近的雨滴的边缘像素点;
根据各存在遮挡情况的雨滴中距离图像采集模块较近的雨滴的边缘像素点坐标和各不存在遮挡情况的雨滴的边缘像素点坐标计算所述灰度图像中雨滴的大小;
根据所述灰度图像中存在遮挡情况的雨滴数量和不存在遮挡情况的雨滴数量计算所述灰度图像中雨滴的密集程度,并根据所述灰度图像中雨滴的密集程度和雨滴的大小估计当前农作物生长环境中的降雨量。
进一步的,所述根据各雨滴对应的边缘像素点的梯度值判断各雨滴是否为存在遮挡情况的雨滴,包括:
对于任一雨滴:根据梯度值对该雨滴的边缘像素点进行均值漂移聚类,获得聚类的簇数,当簇数为1时,判定该雨滴不存在遮挡情况;当簇数为2时,判定该雨滴存在遮挡情况。
进一步的,在所述利用帧差法识别当前帧农作物生长环境图像对应的灰度图像中的各雨滴之后,在所述根据各雨滴对应的边缘像素点的梯度值判断各雨滴是否为存在遮挡情况的雨滴之前,所述数据处理模块还用于:根据Retinex算法对当前帧农作物生长环境图像对应的灰度图像进行增强处理,并根据canny边缘检测算法检测增强处理后的所述灰度图像的边缘像素点。
进一步的,所述利用帧差法识别当前帧农作物生长环境图像对应的灰度图像中的各雨滴,包括:
将当前帧的上一帧农作物生长环境图像对应的灰度图像和当前帧农作物生长环境图像对应的灰度图像进行差分运算,得到第一差值图像;将当前帧的下一帧农作物生长环境图像对应的灰度图像和当前帧农作物生长环境图像对应的灰度图像进行差分运算,得到第二差值图像;对第一差值图像和第二差值图像中对应位置的像素点的灰度值进行作差,如果某位置对应的像素点的差值为0,那么判定当前帧农作物生长环境图像对应的灰度图像中对应该位置的像素点为雨滴像素点;对当前帧农作物生长环境图像对应的灰度图像中的各雨滴像素点进行连通区域检测,将每个连通区域作为一个雨滴,得到当前帧农作物生长环境图像对应的灰度图像中的各雨滴。
进一步的,所述对于任一存在遮挡情况的雨滴,根据该雨滴区域内各像素点的梯度值和8邻域内相邻像素点的梯度值得到该存在遮挡情况的雨滴中距离图像采集模块较近的雨滴的边缘像素点,包括:
对于任一存在遮挡的雨滴,计算该雨滴区域内部像素点的梯度值
,
表示雨滴区域内部像素点的个数;计算雨滴区域内部各像素点为雨滴重叠边缘的第一概率,公式如下:
其中,
为雨滴区域内部第
个像素点为雨滴重叠边缘的第一概率,
表示雨滴区域内部像素点的梯度值的最大值,
表示雨滴区域内部第
个像素点的梯度值;
对于雨滴区域内部任一像素点,选择其8邻域中的像素点的梯度值最大的两个像素点,这两个像素点的梯度值分别表示为
,
,则雨滴区域内部该像素点为雨滴重叠边缘的第二概率为:
其中,
为雨滴区域内部第
个像素点为雨滴重叠边缘的第二概率,
为雨滴区域内部第
个像素点的8邻域中的相邻像素点的梯度值的最大值;
为雨滴区域内部第
个像素点的8邻域中的相邻像素点的梯度值的第二大值;
为
和
中的较大值;
为
和
中的较小值;
在得到了雨滴区域内部各像素点为雨滴重叠边缘的第一概率和第二概率后,根据如下公式计算雨滴区域内部各像素点为雨滴重叠边缘像素点的概率:
其中,
为雨滴区域内部第
个像素点为雨滴重叠边缘的概率;
和
分别表示第一概率和第二概率的权重;
在得到了雨滴区域内部各像素点为雨滴重叠边缘的概率后,将其与阈值进行比较,当雨滴区域内部某像素点为雨滴重叠边缘的概率大于阈值时,判断雨滴区域内部该像素点为该存在遮挡情况的雨滴中距离图像采集模块较近的雨滴的边缘像素点。
进一步的,所述根据各存在遮挡情况的雨滴中距离图像采集模块较近的雨滴的边缘像素点坐标和各不存在遮挡情况的雨滴的边缘像素点坐标计算所述灰度图像中雨滴的大小,包括:
对于灰度图像中能够获得完整边缘的雨滴,所述能够获得完整边缘的雨滴包括不存在遮挡的雨滴和存在遮挡的雨滴中距离相机较近的雨滴,利用如下公式估算其大小:
其中,
为灰度图像中第i个能够获得完整边缘的雨滴的估算大小,
、
、
和
分别为灰度图像中第i个能够获得完整边缘的雨滴的边缘像素点的纵坐标最大值、纵坐标最小值、横坐标最大值和横坐标最小值;
对上述计算的雨滴的估算大小进行修正,修正公式如下:
其中,
表示灰度图像中第i个能够获得完整边缘的雨滴的真实大小;
表示梯度值对雨滴大小的影响系数;
表示灰度图像中能够获得完整边缘的雨滴的梯度值的最大值;
表示灰度图像中第i个能够获得完整边缘的雨滴的非重叠边缘像素点的梯度的均值,当灰度图像中第i个能够获得完整边缘的雨滴为非遮挡雨滴时,非重叠边缘像素点指的是灰度图像中第i个能够获得完整边缘的雨滴的所有边缘像素点,当灰度图像中第i个能够获得完整边缘的雨滴为遮挡雨滴中距离相机较近的雨滴时,非重叠边缘像素点指的是灰度图像中第i个能够获得完整边缘的雨滴的属于雨滴连通域边缘的边缘像素点;
在得到了灰度图像中能够获得完整边缘的各雨滴的真实大小后,计算这些真实大小的均值,将该均值作为灰度图像对应的雨滴大小。
进一步的,所述根据所述灰度图像中存在遮挡情况的雨滴数量和不存在遮挡情况的雨滴数量计算所述灰度图像中雨滴的密集程度,包括:
利用如下公式计算雨滴的密集程度:
其中,
为灰度图像中雨滴的密集程度,s为灰度图像的面积,
为所述灰度图像中不存在遮挡情况的雨滴数量,
为所述灰度图像中存在遮挡情况的雨滴数量。
有益效果:本发明的智慧农业云平台监控系统包括图像采集模块和数据处理模块,图像采集模块能够对雨天的农作物生长环境图像进行实时采集;数据处理模块可以根据图像采集模块采集的当前农作物生长环境图像计算当前的雨滴的大小和雨滴的密集程度,并根据雨滴的大小和雨滴的密集程度实现对降雨量的估算;本发明实现了对降雨量的实时估算,在估算过程中考虑了雨滴存在遮挡的情况,能够提高对降雨量估算的准确性,进而提高了智慧农业云平台监控系统的可靠性。
具体实施方式
为使本发明实施例的目的、技术方案和优点更清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行介绍。
为了实现对智慧农业生产过程中降雨量的监控,如图1所示,本实施例的基于大数据的智慧农业云平台监控系统包括图像采集模块和数据处理模块,所述图像采集模块用于在雨天实时采集农作物生长环境图像,并将所述农作物生长环境图像发送给所述数据处理模块,所述数据处理模块用于执行降雨量估算方法。本实施例的智慧农业云平台监控系统还将图像采集模块采集的图像和数据处理模块处理的结果上传到云端进行存储,以和其他智慧农业云平台监控系统上传到云端进行存储的相关数据构成大数据数据库,在便于后期利用大数据数据库进行农作物生长环境的分析和比对。
本实施例的图像采集模块为相机,相机固定设置在农作物的上方,以按照预设采集频率采集雨天的农作物生长环境图像。本实施例的相机主要用于实时获取雨天的农作物生长环境图像,目的是为了对降雨量进行实时评估;对于雨天的判别方法,既可以采用现有公开的雨水检测传感器,当雨水检测传感器检测到下雨时开启相机进行图像采集;也可以人为判断是否下雨,在判断出下雨后开启相机进行图像采集。
如图2所示,本实施例的降雨量评估方法包括以下步骤:
(1)对当前帧农作物生长环境图像进行灰度处理,得到当前帧农作物生长环境图像对应的灰度图像;利用帧差法识别当前帧农作物生长环境图像对应的灰度图像中的各雨滴;
为了实现对降雨量的评估,本实施例需要先识别农作物生长环境图像中的各雨滴。由于被雨滴遮挡后的像素亮度往往高于该处原先的背景亮度,并且雨滴降落速度较快,很少出现同一像素位置在相邻连两帧图像上同时被雨滴遮挡的情况,因此,本实施例采用帧差法来识别农作物生长环境图像中的各雨滴。接下来对如何识别农作物生长环境图像中的各雨滴进行说明:
对获得的农作物生长环境图像进行灰度化处理,得到各帧农作物生长环境图像对应的灰度图像。对于第k个采集时刻采集的农作物生长环境图像对应的灰度图像
,基于其上一帧农作物生长环境图像对应的灰度图像
和其进行差分运算,得到第一差值图像
;基于其下一帧农作物生长环境图像对应的灰度图像
和其进行差分运算,得到第二差值图像
;这两个差值图像中都包含第k个采集时刻的雨滴,因此,本实施例对两个差值图像中对应位置的像素点的灰度值进行作差,如果某位置对应的像素点的差值为0,那么判定灰度图像
中对应该位置的像素点为雨滴像素点;反之,判定灰度图像
中对应该位置的像素点不是雨滴像素点。由此,可以得到第k个采集时刻采集的农作物生长环境图像对应的灰度图像
中的各雨滴像素点。对于第k个采集时刻采集的农作物生长环境图像对应的灰度图像
中的各雨滴像素点,对其进行连通区域检测,将每个连通区域作为一个雨滴,由此,可以得到第k个采集时刻采集的农作物生长环境图像对应的灰度图像
中的各雨滴。连通区域检测的过程为现有技术,此处不再赘述。
基于上述根据三张相邻帧图像判断中间帧图像上各雨滴的方法,将当前帧农作物生长环境图像作为中间帧图像,可以得到当前帧农作物生长环境图像对应的灰度图像中的各雨滴。
(2)根据各雨滴对应的边缘像素点的梯度值判断各雨滴是否为存在遮挡情况的雨滴,若是,则判定该存在遮挡情况的雨滴包括一个距离图像采集模块较近的雨滴和一个距离图像采集模块较远的雨滴;对于任一存在遮挡情况的雨滴,根据该雨滴区域内各像素点的梯度值和8邻域内相邻像素点的梯度值得到该存在遮挡情况的雨滴中距离图像采集模块较近的雨滴的边缘像素点;
雨滴在灰度图像中存在边缘模糊的情况,造成这种模糊的原因有两种,一种是由于空气中的水雾造成的,一种是由于雨滴距离相机较远造成的。为了消除空气中的水雾对灰度图像中边缘模糊的影响,本实施例先根据Retinex算法对当前帧农作物生长环境图像对应的灰度图像进行增强处理。经过Retinex算法的增强,可以消除水雾对灰度图像中边缘模糊的影响,那么图像中雨滴边缘模糊就很可能是由于雨滴距离相机较远造成的,因此可以根据雨滴边缘模糊的程度来估计雨滴距离相机的远近,进而为后期计算灰度图像中雨滴大小做准备。
本实施例后续对降雨量的评估参考了灰度图像中雨滴的大小,雨滴的大小影响了后期对降雨量评估的结果,但是灰度图像中雨滴会存在遮挡情况,也就是距离相机较远处的雨滴可能会被距离相机较近处的雨滴遮挡,造成上述步骤(1)中判断得到的某雨滴对应的连通区域中可能包含两个雨滴(一个雨滴距离相机较近,一个雨滴距离相机较远);为了排除雨滴遮挡对计算雨滴大小造成的影响,本实施例还对各雨滴对应的连通区域是否存在遮挡情况进行了判断,具体判断过程如下:
灰度图像中雨滴边缘的梯度值可以反映雨滴边缘的模糊程度,不同雨滴距离相机的远近不同,对应的边缘模糊程度不同,具体是:距离相机较远的雨滴对应的边缘较模糊,对应的边缘像素点的梯度值较小;距离相机较近的雨滴对应的边缘较清晰,对应的边缘像素点的梯度值较大。因此,本实施例通过一个雨滴对应的连通区域的各边缘像素点的梯度值是否存在较大差异来判断雨滴对应的连通区域是否包含两个雨滴,具体过程如下:
对于当前帧农作物生长环境图像对应的灰度图像,根据canny边缘检测算法检测其边缘像素点;canny边缘检测算法为现有技术,此处不再赘述;对于灰度图像上的任一雨滴:
计算该雨滴的各边缘像素点的梯度值
,nu表示该雨滴的边缘像素点的个数;计算像素点梯度值的过程为现有技术,此处不再赘述;
根据梯度值对该雨滴的边缘像素点进行均值漂移聚类,获得聚类的簇数,当簇数为1时,意味着该雨滴的所有边缘像素点的梯度值差别较小,所有的边缘像素点都属于同一个雨滴,判定该雨滴不存在遮挡情况;当簇数为2时,意味着该雨滴的所有边缘像素点由两部分组成,判定该雨滴的边缘像素点是由两种雨滴边缘像素点组成,即该雨滴存在遮挡情况,如图3所示,边缘1由其中一个簇对应的边缘像素点构成,另一边缘2由另一个簇对应的边缘像素点构成。由于三个以上雨滴之间存在遮挡的情况发生的概率较小,因此,本实施例只考虑两个雨滴之间存在遮挡的情况。均值漂移聚类的过程为现有技术,此处不再赘述。
为了后续计算雨滴的大小,对于存在遮挡的雨滴,需要将其进行分离,以获得一个完整的独立的雨滴。具体的,对于任一存在遮挡情况的雨滴,计算该雨滴包括的各簇的边缘像素点的梯度值的均值,分别表示为
,
,其中
表示第一簇边缘像素点的梯度值的均值,
表示第二簇边缘像素点的梯度值的均值,
和
中较大值对应的簇中的边缘像素点属于靠近相机镜头的雨滴的边缘。
为了提高后续计算雨滴大小的准确性,本实施例需要获取存在遮挡情况的雨滴中距离相机较近的雨滴的完整边缘,对于任一存在遮挡的雨滴,其对应的雨滴连通域的边缘是距离相机较近的雨滴边缘(如图3中的另一边缘2所示,该边缘是距离相机较近的雨滴的边缘的一部分,并不完整,还有一部分边缘由于距离相机较远的雨滴的影响并不是雨滴连通域的边缘,将这一部分边缘称之为雨滴重叠边缘,如图3中的虚线所示)和距离相机较远的雨滴边缘(如图3中的边缘1所示)的组合;接下来对求解雨滴重叠边缘的过程说明如下:
对于任一存在遮挡的雨滴,计算该雨滴区域内部像素点(不包括边缘像素点)的梯度值
,
表示雨滴区域内部像素点的个数。接下来根据梯度值判断各内部像素点为重合边缘像素点的可能性,具体的,先计算雨滴区域内部像素点为雨滴重叠边缘的第一概率,公式如下:
其中,
为雨滴区域内部第
个像素点为雨滴重叠边缘的第一概率,
表示雨滴区域内部像素点的梯度值的最大值,
表示雨滴区域内部第
个像素点的梯度值;像素点的梯度
越大,其越有可能为重叠边缘像素点。
若雨滴区域内部某像素点为重叠边缘像素点,那么在其8领域内的相邻像素点中至少存在2个边缘像素点。因此,本实施例按照如下方法计算雨滴区域内部像素点为雨滴重叠边缘的第二概率:
对于雨滴区域内部任一像素点,选择其8邻域中的像素点的梯度值最大的两个像素点,这两个像素点的梯度值分别表示为
,
,则雨滴区域内部该像素点为雨滴重叠边缘的第二概率为:
其中,
为雨滴区域内部第
个像素点为雨滴重叠边缘的第二概率,
的值越大,雨滴区域内部第
个像素点为重叠区域边缘的可能性越大;
为雨滴区域内部第
个像素点的8邻域中的相邻像素点的梯度值的最大值;
为雨滴区域内部第
个像素点的8邻域中的相邻像素点的梯度值的第二大值;
,即
为
和
中的较大值;
,即
为
和
中的较小值。
在得到了雨滴区域内部各像素点为雨滴重叠边缘的第一概率和第二概率后,根据如下公式计算雨滴区域内部各像素点为雨滴重叠边缘像素点的概率:
其中,
为雨滴区域内部第
个像素点为雨滴重叠边缘的概率;
和
分别表示第一概率和第二概率的权重,
,本实施例中设置
,
,作为其他实施方式,
和
可以在应用时自行设定。
在得到了雨滴区域内部各像素点为雨滴重叠边缘的概率后,将其与阈值
进行比较,当雨滴区域内部某像素点为雨滴重叠边缘的概率大于
时,判断雨滴区域内部该像素点为重叠区域边缘像素点。由此,能够获得该存在遮挡的雨滴中距离相机较近的雨滴的不属于雨滴连通域边缘的边缘,如图3中虚线所示,将该边缘与距离相机较近的雨滴的属于雨滴连通域边缘(如图3中另一边缘2所示)组合在一起,就能够获得该存在遮挡的雨滴中距离相机较近的雨滴的完整边缘,完整边缘上任一边缘像素点即属于该存在遮挡的雨滴中距离相机较近的雨滴的边缘像素点。
(3)根据各存在遮挡情况的雨滴中距离图像采集模块较近的雨滴的边缘像素点坐标和各不存在遮挡情况的雨滴的边缘像素点坐标计算所述灰度图像中雨滴的大小;
存在遮挡的雨滴中距离相机较远的雨滴的边缘由于被遮挡的原因不能计算其完整边缘,因此其大小未知,不适合后续计算雨滴大小,本实施例只利用存在遮挡的雨滴中距离相机较近的雨滴进行后续雨滴大小计算。
对于灰度图像中能够获得完整边缘的雨滴(包括不存在遮挡的雨滴和存在遮挡的雨滴中距离相机较近的雨滴),利用如下公式估算其大小:
其中,
为灰度图像中第i个能够获得完整边缘的雨滴的估算大小,
、
、
和
分别为灰度图像中第i个能够获得完整边缘的雨滴的边缘像素点的纵坐标最大值、纵坐标最小值、横坐标最大值和横坐标最小值。
由于雨滴距离相机较近时在灰度图像中显示较大,而距离相机较远时在灰度图像中显示较小;且雨滴距离相机较近时在灰度图像中的边缘较清晰,边缘像素点的梯度值较大,而雨滴距离相机较远时在灰度图像中的边缘较模糊,边缘像素点的梯度值较小;因此,本实施例还利用各能够获得完整边缘的雨滴的边缘像素点的梯度值来衡量其对应的雨滴的估算大小的可信度(梯度值越大,对应的估算大小的可信度越高,对雨滴的估算大小进行修正的幅度就小),并对上述计算的雨滴的估算大小进行了修正,修正公式如下:
其中,
表示灰度图像中第i个能够获得完整边缘的雨滴的真实大小;
表示梯度值对雨滴大小的影响系数,为经验值;
表示灰度图像中能够获得完整边缘的雨滴的梯度值的最大值;
表示灰度图像中第i个能够获得完整边缘的雨滴的非重叠边缘像素点的梯度的均值,当灰度图像中第i个能够获得完整边缘的雨滴为非遮挡雨滴时,非重叠边缘像素点指的是灰度图像中第i个能够获得完整边缘的雨滴的所有边缘像素点,当灰度图像中第i个能够获得完整边缘的雨滴为遮挡雨滴中距离相机较近的雨滴时,非重叠边缘像素点指的是灰度图像中第i个能够获得完整边缘的雨滴的属于雨滴连通域边缘的边缘像素点,其位于如图3中的另一边缘2上。
在得到了灰度图像中能够获得完整边缘的各雨滴的真实大小后,计算这些真实大小的均值
,将该均值
作为灰度图像对应的雨滴大小,
的值越大,说明当前农作物生长环境中雨滴越大。
(4)根据所述灰度图像中存在遮挡情况的雨滴数量和不存在遮挡情况的雨滴数量计算所述灰度图像中雨滴的密集程度,并根据所述灰度图像中雨滴的密集程度和雨滴的大小估计当前农作物生长环境中的降雨量。
不仅灰度图像中雨滴的大小可以被用来衡量降雨量,而且,灰度图像中雨滴的密集程度也可以被用来衡量降雨量。因此,为了实现对降雨量的评估,本实施例还计算了灰度图像中雨滴的密集程度。雨滴的密集程度可以根据灰度图像中单位面积内雨滴的数量表示,本实施例统计了灰度图像中不存在遮挡的雨滴的数量,即上述对应簇数为1的雨滴数量,记为
;统计了存在遮挡的雨滴的数量,即上述对应簇数为2的雨滴数量,记为
,那么雨滴的密集程度的计算公式如下:
其中,
为灰度图像中雨滴的密集程度,s为灰度图像的面积;
的值越大,说明当前农作物生长环境中雨滴越密集。
降雨量可以通过雨滴大小和雨滴密度程度来衡量,且雨滴大小越大、雨滴密度程度越高,降雨量越大;因此,本实施例利用如下公式来估算降雨量:
其中,J表示降雨量的估算值,
的值越大,说明当前农作物生长环境中降雨量越大;a和b分别为雨滴大小和雨滴密集程度在估算降雨量时对应的权重,本实施例中a=0.3,b=0.7,作为其他实施方式,a和b可以在应用时自行设定,
为对
进行归一化处理后的值,
为对
进行归一化处理后的值。现有技术中已经公开了多种归一化处理的方法,因此本实施例不再赘述归一化处理的过程。
智慧云平台监控系统根据估算的降雨量可以实现对农作物生长环境的实时监测,也可以实现对与降雨量相关的设备的控制。本实施例的重点在于对降雨量的评估,至于后续智慧云平台监控系统如何根据估算的降雨量进行相关设备的控制调节或者如何根据降雨量的大小来评估农作物的生长环境,这些不是本实施例的重点,本实施例不再赘述。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。