一种纯色花朵识别方法、装置及存储介质与流程

文档序号:18353330发布日期:2019-08-06 22:44阅读:275来源:国知局
一种纯色花朵识别方法、装置及存储介质与流程

本发明涉及人工智能领域,具体说,涉及一种纯色花朵识别方法、装置及存储介质。



背景技术:

花朵作为重要的果类蔬菜之一,以其丰富的营养价值和独特的风味深受广大人民的喜爱。纯色花朵的检测可以为农民提供有用的信息,例如连续的花朵数量,以及自上次访问该行以来授粉的花朵数量。在现场条件下使用计算机视觉检测物体是自动化和改进农业中许多任务的关键要求。水果和蔬菜的收获,害虫控制,授粉和产量估算只是这些潜在任务中的一部分。然而目前并没有较好的针对纯色花朵的视觉检测方法。



技术实现要素:

为解决以上技术问题,本发明提供一种纯色花朵识别方法,应用于电子装置,包括:

步骤1,获取包含花朵的rgb图像;

步骤2,将所述rgb图像转换为hsv图像;

步骤3,根据hsv图像的饱和度将所述hsv图像区分出明亮图像和暗淡图像;

步骤4,根据明亮图像和暗淡图像分别对应的色调分割阈值来分割前景和背景,其中,色调分割阈值是花朵颜色色调的上限和下限;

步骤5,采用形态学操作处理所述前景,执行打开操作以消除噪声,执行关闭操作以移除亮斑;

步骤6,获取前景中的连通域,计算每个连通域的面积,删除面积小于面积阈值的连通域;

步骤7,验证剩余的连通域是否为花朵,并根据验证结果调整面积阈值,直至得到花朵的图像。

此外,优选地,采用照相机在3个不同角度拍摄花朵的rgb图像,所述rgb图像包括顶视图、前视图、斜视图,其中,顶视图模拟位于无人机底部的摄像头,前视图模拟位于无人机一侧的摄像头,斜视图模拟位于无人机前部的摄像头,且采集时间分为早上、中午和下午,以创建照明条件的可变性。

此外,优选地,使用matlab的图像贴标机应用程序标记花朵,所述rgb图像按照采集角度和采集时间进行分类。

此外,优选地,如果饱和度的中值大于0.5并且饱和度值的直方图的偏度小于0就认定为明亮图像,反之就是暗淡图像。

此外,优选地,通过将rgb图像中每个点的像素值除以每个通道的位深度,将rgb图像的像素值归一化到[0,1]范围,然后,归一化的rgb图像被转换为[0,1]范围中的hsv图像。

此外,优选地,所述纯色花朵为黄色花,在明亮图像中的色调分割阈值是0.12-0.18,在暗淡图像中的色调分割阈值是0.11-0.17。

此外,优选地,步骤6中,先将前景转换为二进制图像,然后使用bwconncomp函数从二进制图像中提取连接的组件,该函数将连接的组件作为对象向量返回,从而形成多个连通域,

其中,所述bwconncomp函数形式如下:

bw=bwconncomp(a,4),

其中a是二进制图像;

4代表从上下左右四个方向查找连通域;

返回的bw包含四个值:连通、图像大小、找到的连通域数量、连通域序列号。

此外,优选地,利用bwareaopen函数来删除面积小于面积阈值的对象,

bwareaopen函数形式如下:

bw2=bwareaopen(bw,p,conn),

其中,p是面积阈值;

conn代表连通域;

bw2是获取的面积大于面积阈值的对象。

本发明还提供一种电子装置,该电子装置包括:存储器和处理器,所述存储器中存储有纯色花朵识别程序,所述纯色花朵识别程序被所述处理器执行时实现如下步骤:

步骤1,获取包含花朵的rgb图像;

步骤2,将所述rgb图像转换为hsv图像;

步骤3,根据hsv图像的饱和度将所述hsv图像区分出明亮图像和暗淡图像;

步骤4,根据明亮图像和暗淡图像分别对应的色调分割阈值来分割前景和背景,其中,色调分割阈值是花朵颜色色调的上限和下限;

步骤5,采用形态学操作处理所述前景,执行打开操作以消除噪声,执行关闭操作以移除亮斑;

步骤6,获取前景中的连通域,计算每个连通域的面积,删除面积小于面积阈值的连通域;

步骤7,验证剩余的连通域是否为花朵,并根据验证结果调整面积阈值,直至得到花朵的图像。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,实现如上所述的纯色花朵识别方法。

本发明利用hsv色彩来完成对纯色花朵的前景和背景的分割,并通过二值图像形成连通域,利用连通域面积来判断是否是该种纯色花朵,采用颜色识别的方式比基于形状特征的识别速度快很多。

附图说明

通过结合下面附图对其实施例进行描述,本发明的上述特征和技术优点将会变得更加清楚和容易理解。

图1是表示本发明实施例的纯色花朵识别方法的流程图;

图2是表示本发明实施例的纯色花朵识别中连通域阈值的设置示意图;

图3是表示本发明实施例的电子装置的硬件架构示意图;

图4是表示本发明实施例的纯色花朵识别程序的程序模块示意图。

具体实施方式

下面将参考附图来描述本发明所述的纯色花朵识别方法、装置及存储介质的实施例。本领域的普通技术人员可以认识到,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式或其组合对所描述的实施例进行修正。因此,附图和描述在本质上是说明性的,而不是用于限制权利要求的保护范围。此外,在本说明书中,附图未按比例画出,并且相同的附图标记表示相同的部分。

图1示出本实施例中纯色花朵识别方法的流程图,下文仅以黄色番茄花为例来说明本实施例的纯色花朵识别方法,纯色花朵识别方法应用于电子装置,用以识别一种纯色花朵。输入多个rgb图像即可输出检测到的纯色花朵的列表,每个花由连接的组件及其在图像中的x和y位置描述,显示为二进制图像。该方法包括以下步骤:

步骤s1,拍摄包含花朵的rgb图像。在温室中获取了1350个图像,这些照片是使用智能手机的lg-g4相机和佳能powershot590is在不同的时间和照明条件下拍摄的。图像在rgb色彩空间中捕获,分辨率分别为5312*2988(lg-g4相机)和3264*1832(佳能powershot590is)。

步骤s2,将所述rgb图像转换为hsv图像。hsv色彩空间是根据颜色的直观特性的一种颜色空间模型,这个模型中颜色的参数分别是:色调(h),饱和度(s),明度(v)。色调(h)是图像场景的纯色的属性,其对于算法的基于颜色的分割是重要的,并且对于照明条件是相对不变的。

步骤s3,根据hsv图像的饱和度的中值和饱和度值的直方图的偏度将所述hsv图像区分出明亮图像和暗淡图像。由于s分量(饱和度)在较暗和较亮的图像之间具有容易区分的特性,因此选择饱和度的中值和饱和度值的直方图的偏度这两个指标来分割图像。饱和度像素值用于将非常明亮的部分分割出图像,因为s分量提供了有关图像中物体返回光量的有用信息。具体说,饱和度的中值较大和饱和度值的直方图的偏度较小时是明亮图像,通过这两个值来区分明亮图像和较暗图像。优选地,如果饱和度的中值大于0.5并且饱和度值的直方图的偏度小于0就估计为明亮图像,反之就是暗淡图像。

步骤s4,根据明亮图像和暗淡图像采用不同的色调分割阈值来分割前景和背景,其中,色调分割阈值是花朵颜色色调的上限和下限,从而利用hsv色彩空间来分割出hsv图像中的花朵颜色色调的上限和下限之间的区域。前景即是指颜色落在花朵颜色的色调分割阈值范围内的区域,按照花朵的颜色设定色调分割阈值,而背景是指hsv图像中花朵颜色色调的上限和下限以外的区域。例如,对于黄色番茄花,则色调分割阈值是黄色色调的上限和下限。将黄色色调上限和下限之间的颜色区域作为前景,其他区域作为背景。对于黄色番茄花来说,在明亮的hsv图像中的色调分割阈值优选的范围是0.12-0.18,在暗淡的hsv图像中色调分割阈值是0.11-0.17,需要说明的是,此处所说的色调分割阈值范围是以归一化的rgb图像被转换为[0,1]范围中的hsv图像来说的。

步骤s5,采用形态学操作处理前景,执行打开操作以消除噪声,执行关闭操作以移除亮斑。分割通常会在图像中留下小片噪声,并且由于光照条件和阴影的变化而在前景中留下亮斑。为了消除这些噪声和亮斑,采用形态学操作,形态学操作是与相邻像素形成的几何形状相关的非线性操作的集合。在该算法中,在完成分割之后执行打开和关闭操作。首先进行打开操作以消除噪声,然后进行关闭操作以移除亮斑。其中,先腐蚀后膨胀就是打开操作,开操作会平滑物体轮廓,断开较窄的狭颈(细长的白色线条),并消除细小的突出物。先膨胀后腐蚀就是关闭操作。闭操作会平滑物体轮廓,但与开操作相反,弥合较窄的间断和细长的沟壑,消除小的空洞,填补轮廓线的中的断裂。

步骤s6,获取前景中的所有连通域,计算每个连通域的面积,删除面积小于面积阈值的连通域。其中,所述面积阈值是指与花朵的面积相等的数值。

所述连通域是指二值化处理的图像往往包含多个区域,通过标记把这些区域分别提取出来。而这多个区域中就包含有花朵区域。计算连通域就是检查各像素与其相邻像素的连通性。二值化的图像的像素值为0或255,可以从左至右扫描一行,然后向下换行继续从左至右扫描,每扫描到一个像素,都检查像素位置的上、下、左、右的紧邻像素值,也可以是检查上、下、左、右、左上、右上、左下、右下的紧邻的像素值。

下面以上、下、左、右检查为例说明一下具体步骤:

假设当前位置的像素值为255,检查它左边和上边的两个邻接像素(这两个像素一定会在当前像素之前被扫描到)。这两个像素值和标记的组合有以下四种情况:

1)左边和上边的像素值都为0,则给当前位置的像素一个新的标记(表示一个新的连通域的开始);

2)左边和上边只有一个像素值为255,则当前位置的像素与像素值为255的像素的标记相同;

3)左边和上边的像素值都为255且标记相同,则当前位置的像素的标记与左边和上边的像素的标记相同;

4)左边和上边的像素值为255且标记不同,则将其中的较小的标记赋给当前位置的像素,然后从右至左回溯到区域的开始像素为止,每次回溯再分别执行上述4个步骤。

通过以上4个步骤就可以把前景划分为不同的连通区域。

步骤s7,对识别结果进行验证,即验证剩余的连通域中是否为花朵,并根据验证结果调整面积阈值,从而能够得到精确的识别结果。具体说,由于对于固定的角度和位置拍摄的图像中,花朵的面积是基本不变的。例如番茄花,在完全开花后其面积基本都是同样的大小。所以可以用花朵的面积来剔除非花朵的物体。

如果识别出的连通域包括包含有其他图像的连通域,例如,如图2所示,在图像中识别出5个连通域,4个是番茄花所形成的连通域100,一个是黄豆形成的连通域200,则说明面积阈值偏小,可以将面积阈值修改大一些。黄色的番茄花和黄豆比,显然番茄花所形成的连通域面积比黄豆形成的连通域面积大,所以增大面积阈值,再继续识别,可把黄豆形成的连通域200剔除掉。即可得到4个都是番茄花的连通域。不过前提是需要把面积大于番茄花面积的黄色物体先移除,再拍摄rgb图像。对于番茄花种植区域来说,要使得该区域没有其他较大的不可移除黄色物体在番茄花种植区域内是很容易做到的。

如果识别不到花朵,则说明面积阈值偏小,可以将面积阈值修改大一些。通过大量的识别训练,可以不断提高识别的精度。

在一个可选实施例中,采用照相机在3个不同角度拍摄以模拟无人机拍摄花朵的rgb图像,所述rgb图像包括顶视图、前视图、斜视图,其中,顶视图模拟位于无人机底部的摄像头,前视图模拟位于无人机一侧的摄像头,斜视图模拟位于无人机前部的摄像头,且采集时间分为早上、中午和下午,以创建照明条件的可变性。

进一步地,使用matlab的图像贴标机应用程序标记花朵,图像本身按其相机类型,采集角度和采集时间进行分类。以便于为后期的花朵识别提供训练和验证数据。

在一个可选实施例中,如果饱和度的中值大于0.5并且饱和度值的直方图的偏度小于0就认定为明亮图像,反之就认定为暗淡图像。

在一个可选实施例中,通过将rgb图像中每个点的像素值除以每个通道的位深度,将rgb图像的像素值归一化到[0,1]范围,然后,归一化的rgb图像被转换为[0,1]范围中的hsv图像。

在一个可选实施例中,步骤s60中,先将前景转换为二进制图像,然后使用matlab的bwconncomp函数从二进制图像中提取连接的组件,该函数将连接的组件作为对象向量返回,从而形成多个连通域,

bwconncomp函数形式如下:

bw=bwconncomp(a,4),

其中a是二进制图像;

4代表从上下左右四个方向查找连通域;

返回的bw包含四个值:连通、图像大小、找到的连通域数量、连通域序列号。

在一个可选实施例中,利用matlab的bwareaopen函数来删除面积小于面积阈值的对象,bwareaopen函数形式如下:

其中,p是面积阈值;

conn代表连通域;

bw2是获取的面积大于面积阈值的对象。

该函数的计算过程包括:

(1)计算连通域l,

l=bwconncomp(bw,conn);

(2)计算每个连通域的面积s,

s=regionprops(l,'area');

(3)删掉小面积对象,保留面积大于面积阈值p的对象

bw2=ismember(l,find([s.area]>=p))。

其中,面积阈值p可以通过实验取比较合理的值,达到较好的结果。具体说,可以先设定一个初始值,并以该初始值为面积阈值p来删除小面积对象,从而剩下黄色番茄花图像,并对识别结果进行验证。并根据验证结果调整面积阈值p的大小,从而能够得到精确的分类结果。

参阅图3所示,是本发明电子装置的实施例的硬件架构示意图。本实施例中,所述电子装置2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3所示,所述电子装置2至少包括,但不限于,可通过系统总线相互通信连接的存储器21、处理器22。其中:所述存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述电子装置2的内部存储单元,例如该电子装置2的硬盘或内存。在另一些实施例中,所述存储器21也可以是所述电子装置2的外部存储设备,例如该电子装置2上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器21还可以既包括所述电子装置2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述电子装置2的操作系统和各类应用软件,例如所述纯色花朵识别程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器22在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述电子装置2的总体操作,例如执行与所述电子装置2进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述的纯色花朵识别程序等。

可选地,该电子装置2还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)显示器等。显示器用于显示在电子装置2中处理的信息以及用于显示可视化的用户界面。

需要指出的是,图3仅示出了具有组件21-22的电子装置2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

包含可读存储介质的存储器21中可以包括操作系统、纯色花朵识别程序50等。处理器22执行存储器21中纯色花朵识别程序50时实现以上纯色花朵识别方法所述的步骤。在本实施例中,存储于存储器21中的所述纯色花朵识别程序可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并可由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。例如,图4示出了所述纯色花朵识别程序的程序模块示意图,该实施例中,所述纯色花朵识别程序50可以被分割为图像采集模块501、hsv转换模块502、明亮暗淡图像区分模块503、前景背景分割模块504、形态学处理模块505、连通域面积获取模块506、识别验证模块507。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述纯色花朵识别程序在所述电子装置2中的执行过程。以下描述将具体介绍所述程序模块的具体功能。

其中,图像采集模块501用于拍摄包含花朵的rgb图像。

其中,hsv转换模块502用于将所述rgb图像转换为hsv图像。

明亮暗淡图像区分模块503用于根据hsv图像的饱和度的中值和饱和度值的直方图的偏度将所述hsv图像区分出明亮图像和暗淡图像。如果饱和度的中值大于0.5并且饱和度值的直方图的偏度小于0就估计为明亮图像,反之就是暗淡图像。

前景背景分割模块504用于根据明亮图像和暗淡图像采用不同的色调分割阈值来分割前景和背景,其中,色调分割阈值是花朵颜色色调的上限和下限。对于黄色番茄花来说,在明亮的图像中的色调分割阈值优选的范围是0.12-0.18,在暗淡的图像中色调分割阈值是0.11-0.17。

形态学处理模块505采用形态学操作处理前景,执行打开操作以消除噪声,执行关闭操作以移除亮斑。在该算法中,在完成分割之后执行打开和关闭操作。首先进行打开操作以消除噪声,然后进行关闭操作以移除亮斑。其中,先腐蚀后膨胀就是打开操作,开操作会平滑物体轮廓,断开较窄的狭颈(细长的白色线条),并消除细小的突出物。先膨胀后腐蚀就是关闭操作。闭操作会平滑物体轮廓,但与开操作相反,弥合较窄的间断和细长的沟壑,消除小的空洞,填补轮廓线的中的断裂。

连通域面积获取模块506用于计算前景中的连通域,计算每个连通域的面积,删除面积小于面积阈值的对象,从而获取花朵的图像。

识别验证模块507用于对识别结果进行验证,并根据验证结果调整面积阈值,从而能够得到精确的识别结果。具体说,如果识别出的连通域包括非花朵的连通域,则说明面积阈值偏小,可以将面积阈值修改大一些。如果没有识别出花朵的连通域,则说明面积阈值偏大,可以将面积阈值修改小一些。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是硬盘、多媒体卡、sd卡、闪存卡、smc、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括纯色花朵识别程序等,所述纯色花朵识别程序50被处理器22执行时实现如下操作:

步骤s1,拍摄包含花朵的rgb图像。

步骤s2,将所述rgb图像转换为hsv图像。

步骤s3,根据hsv图像的饱和度的中值和饱和度值的直方图的偏度将所述hsv图像区分出明亮图像和暗淡图像。优选地,如果饱和度的中值大于0.5并且饱和度值的直方图的偏度小于0就估计为明亮图像,反之就是暗淡图像。

步骤s4,根据明亮图像和暗淡图像采用不同的色调分割阈值来分割前景和背景,其中,色调分割阈值是花朵颜色色调的上限和下限。从而利用hsv色彩空间来分割出hsv图像中的花朵。对于黄色番茄花来说,在明亮的图像中的色调分割阈值优选的范围是0.12-0.18,在暗淡的图像中色调分割阈值是0.11-0.17。

步骤s5,采用形态学操作处理前景,执行打开操作以消除噪声,执行关闭操作以移除亮斑。在该算法中,在完成分割之后执行打开和关闭操作。首先进行打开操作以消除噪声,然后进行关闭操作以移除亮斑。其中,先腐蚀后膨胀就是打开操作,开操作会平滑物体轮廓,断开较窄的狭颈(细长的白色线条),并消除细小的突出物。先膨胀后腐蚀就是关闭操作。闭操作会平滑物体轮廓,但与开操作相反,弥合较窄的间断和细长的沟壑,消除小的空洞,填补轮廓线的中的断裂。

步骤s6,计算前景中的连通域,计算每个连通域的面积,删除面积小于面积阈值的对象,从而获取花朵的图像。

步骤s7,对识别结果进行验证,并根据验证结果调整面积阈值,从而能够得到精确的识别结果。具体说,如果识别出的连通域包括非花朵的连通域,则说明面积阈值偏小,可以将面积阈值修改大一些。如果没有识别出花朵的连通域,则说明面积阈值偏大,可以将面积阈值修改小一些。

本发明之计算机可读存储介质的具体实施方式与上述纯色花朵识别方法以及电子装置2的具体实施方式大致相同,在此不再赘述。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1