作物行识别方法及装置与流程

文档序号:16579615发布日期:2019-01-14 17:50阅读:254来源:国知局
作物行识别方法及装置与流程

本发明实施例涉及机器视觉领域,尤其涉及一种作物行识别方法及装置。



背景技术:

近几十年来,农业环境问题越来越受到重视。过量的化肥、农药的施用对环境造成不利影响,同时增加了投入。如果化肥、农药被施加在作物行特定的位置可以减少化肥、农药的使用,为了实现化肥、农药的精准定位施用及不伤苗的作业要求,识别作物行尤为重要。由于实际生产种植中,许多农作物通常是整齐地按直线、彼此间平行的方式种植,因此在精准农业中,一个研究热点即是从图形中识别出作物行,检测出作物线,为农药定位喷洒机械的控制参数提供依据。快速、准确地采集和获取并识别出作物行,是开展农药定位喷洒的重要基础和前提。

随着机器视觉和控制技术的快速发展,越来越多的利用视觉技术自主识别作物行,以测量农机相对作物行的当前位置。目前存在的作物行识别方法都是在透视图像中进行识别,不能利用作物行的平行性添加约束。安装在中耕除草机架上的摄像头倾斜向下,其光轴不垂直地面,所拍摄作物行在画面中会有一定的几何失真现象,只通过拍摄的图像不能判断中耕除草机与作物行的相对几何关系。

现有直接在作物行透视二值化图像上检测像素跳变的方法,由于噪声点、杂草、作物自身形状原因,易产生误判,不利于不同作物行的分割。



技术实现要素:

为了克服上述技术缺陷,本发明实施例提出一种作物行识别方法及装置。

第一方面,本发明实施例提供一种作物行识别方法,包括:

通过逆透视变换矩阵将作物行透视图转换为作物行鸟瞰图,所述作物行透视图是根据与路面成仰俯角的摄像头拍摄得到;

获取所述作物行透视图中预定区域的垂直投影图像的作物行边缘点,并获取所述作物行鸟瞰图的所有作物行的骨架线交点集;

根据所述作物行边缘点的坐标对所述所有作物行的骨架线交点集进行划分,得到对应的每个作物行的骨架线交点集;

分别对所述对应的每个作物行的骨架线交点集进行直线拟合,得到对应的作物行。

第二方面,本发明实施例提供一种作物行识别装置,包括:

转换模块,用于通过逆透视变换矩阵将作物行透视图转换为作物行鸟瞰图,所述作物行透视图是根据与路面成仰俯角的摄像头拍摄得到;

获取模块,用于获取所述作物行透视图中预定区域的垂直投影图像的作物行边缘点,并获取所述作物行鸟瞰图的所有作物行的骨架线交点集;

划分模块,用于根据所述作物行边缘点的坐标对所述所有作物行的骨架线交点集进行划分,得到对应的每个作物行的骨架线交点集;

拟合模块,用于分别对所述对应的每个作物行的骨架线交点集进行直线拟合,得到对应的作物行。

第三方面,本发明实施例提供一种作物行识别设备,包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面所述的方法。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述作物行识别方法。

本发明实施例提供的作物行识别方法及装置,利用逆透视变换消除了图像的几何失真,引入了田间作物行的结构性约束,把摄像机与路面成夹角拍摄的透视图像,变为与路面垂直的鸟瞰图像,在鸟瞰图像中保留了作物行的平行性信息,从而将对作物行的检测在逆透视变换后的鸟瞰图上进行,解决了透视图像中带来的误差,避免了干扰因素的误判,提高了方法的鲁棒性。

附图说明

图1为本发明实施例作物行识别方法的流程示意图;

图2为本发明实施例作物行识别方法的作物行透视图;

图3为本发明实施例作物行识别方法的作物行透视图预定区域;

图4为本发明实施例作物行识别方法作物行垂直投影图;

图5为本发明实施例作物行识别方法的作物行鸟瞰图;

图6为本发明实施例作物行识别方法的作物识别图;

图7为本发明实施例作物行识别方法的鸟瞰图作物区域;

图8为本发明实施例作物行识别方法作物区域骨架图;

图9为本发明实施例作物行识别方法骨架线交点图;

图10为本发明实施例作物行识别方法的算法流程示意图;

图11为本发明实施例作物行识别方法的效果示意图,

图12为本发明实施例作物行识别装置的结构示意图;

图13为本发明实施例作物行识别设备的实体结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例作物行识别方法的流程示意图,如图1所示,包括:

步骤11,通过逆透视变换矩阵将作物行透视图转换为作物行鸟瞰图,所述作物行透视图是根据与路面成仰俯角的摄像头拍摄得到;

步骤12,获取所述作物行透视图中预定区域的垂直投影图像的作物行边缘点,并获取所述作物行鸟瞰图的所有作物行的骨架线交点集;

步骤13,根据所述作物行边缘点的坐标对所述所有作物行的骨架线交点集进行划分,得到对应的每个作物行的骨架线交点集;

步骤14,分别对所述对应的每个作物行的骨架线交点集进行直线拟合,得到对应的作物行。

在进行作物行识别之前,需要利用摄像头对作物行进行拍照,得到的图像即为作物行透视图。安装在中耕除草机架上的摄像头倾斜向下,与路面成仰俯角,其光轴不垂直地面,所拍摄的作物行在画面中会有一定的几何失真现象,因此只通过拍摄的图像不能判断中耕除草机与作物行的相对几何关系。故需要通过逆透视变换矩阵,实现作物行图像由透视图向鸟瞰图的转换。

在作物行透视图中,选择预定区域,将其进行一定的处理后得到该预定区域的垂直投影图像,然后对该垂直投影图像进行扫描,得到垂直投影图像的作物行边缘点。由于垂直投影图像是二值化后的图像,故该图像中白色像素段为作物,黑色像素段为背景。由于透视图中可能有多个作物行,因此在垂直投影图像中进行行扫描时,可能会扫描到多个白色像素段,此时记下这些白色像素段的左右边缘点的坐标。

对于作物行鸟瞰图,首先进行作物识别,并对作物区域进行骨化,得到对应的骨架图,再对骨架图中的骨架线交点进行提取,得到作物行鸟瞰图的所有作物行的骨架线交点集。

得到所有作物行的骨架线交点集后,需要对其进行划分。由于在之前已经得到了每个作物行左右边缘点的坐标,故可根据骨架线交点集的坐标将其进行划分,在同一个白色像素段的左右边缘点的坐标范围内的骨架线交点归于一类,根据此方法对所有作物行的骨架线交点集进行划分,得到对应的每个作物行的骨架线交点集。

得到对应的每个作物行的骨架线交点集之后,对于每一个作物行的骨架线交点集,先获取到每个交点的坐标,然后再根据这些坐标进行直线拟合,得到一条直线,该直线则为识别出来的作物行。依次对每一个作物行进行同样的操作,得到所有识别的作物行。

例如,图2为本发明实施例作物行识别方法的作物行透视图,是根据与路面成仰俯角的摄像头拍摄得到,用虚线将图2分为两个部分,分别为区域21和区域22,其中区域21的高度是整个图2高度的7/8,区域22的高度是整个图2高度的1/8。如图2所示,在底端作物行排列较稀疏,而在顶端排列较密集,这是由于摄像头的光轴不垂直于地面造成的几何失真现象。

选取图2中的预定区域,优选的,该预定区域为图2中的底端部分。这是由于图2中越靠上的区域,作物行之间的间距越窄,由于杂草等影响,较窄的作物行透视图像顶端易形成不同作物行的连通区域,不利于不同作物行的分割。图3为本发明实施例作物行识别方法的作物行透视图预定区域,如图3所示,获取到图2的高度和宽度之后,本发明实施例中选择的预定区域是图2底端往上,高度为图2中1/8的高度,宽度与图2中一样的区域,即图2中的区域22,得到图3。

将图3进行处理,得到二值化的垂直投影图像。图4为本发明实施例作物行识别方法作物行垂直投影图,如图4所示,白色的为作物,黑色的为背景。得到垂直投影图后,获取到每个作物行的左右边缘点的坐标。

图5为本发明实施例作物行识别方法的作物行鸟瞰图,是通过逆透视变换矩阵将图2转换得到。可以看到,在图5中,作物行是平行排列。对作物行进行作物识别,并利用骨化算法对骨架线交点进行提取,得到所有作物行的骨架线交点集,此时能获知所有骨架线交点的坐标值。

再根据每个作物行的左右边缘点的坐标将所有作物行的骨架线交点集进行划分,划分后,对每一个作物行的骨架线交点集进行直线拟合,得到识别后的作物行。

本发明实施例提供的作物行识别方法,利用逆透视变换消除了图像的几何失真,引入了田间作物行的结构性约束,把摄像机与路面成夹角拍摄的透视图像,变为与路面垂直的鸟瞰图像,在鸟瞰图像中保留了作物行的平行性信息,从而将对作物行的检测在逆透视变换后的鸟瞰图上进行,解决了透视图像中带来的误差,避免了干扰因素的误判,提高了方法的鲁棒性。

在上述实施例的基础上,在所述通过逆透视变换矩阵将作物行透视图转换为作物行鸟瞰图之前,所述方法还包括:

获取所述摄像头的畸变参数和内参数;

根据所述畸变参数和内参数获取所述作物行透视图中的像素点从像平面坐标系到世界坐标系的逆透视变换矩阵。

相机标定在图像处理中是必不可少的,相机标定的目的是:

求相机的内外参数以及畸变参数;

畸变参数进行畸变矫正,生成校正后的图像;

内外参数一般进行图像三维场景重构;

相机标定涉及四个坐标系:世界坐标系、相机坐标系、图像物理坐标系、图像像素坐标系。

内参数:由于相机坐标系使用的是毫米制的单位,而图像平面使用的像素为单位。内参数的作用就是在这两个坐标系之间进行线性的变化。对于从相机坐标系到像平面坐标系的变换,像平面坐标系是用像素单位来表示的,而相机坐标系则是以毫米为单位来表示,因此,要完成改变换过程就需要先得到像平面的像素单位与毫米单位之间的线性关系。

相机内的方位元素和镜头光学畸变系数,包括共线性、径向畸变、偏心畸变、像平面内仿射性畸变等参数对成像点有影响。根据畸变参数和内参数,能够求得像素段从像平面坐标系到世界坐标系的逆透视变换矩阵,从而可以根据该逆透视变换矩阵将作物行透视图转换为作物行鸟瞰图。

本发明实施例提供的作物行识别方法,通过获取摄像头的畸变参数和内参数,求得像素段从像平面坐标系到世界坐标系的逆透视变换矩阵,从而能够将作物行透视图转换为作物行鸟瞰图,为下一步的作物行鸟瞰图的骨架线交点集的获取做好铺垫。

在上述实施例的基础上,所述作物行透视图预定区域为所述作物行透视图底端往上预定百分比的区域。

如图2所示,由于摄像头光轴与地面不垂直,得到的作物行透视图中,图的下方作物行排列较稀疏,能够较清楚的分辨出各个作物行,而越往作物行透视图上方,作物行的排列越密集,加上会有杂草等因素的干扰,使得较窄的作物行透视图像顶端易形成不同作物行的连通区域,不利于不同作物行的分割。故本发明实施例中选择的预定区域为作物行透视图底端往上预定百分比的区域。

例如,如图3所示,获取到图2的高度和宽度之后,本发明实施例中选择的预定区域是图2底端往上,高度为图2中1/8的高度,宽度与图2中一样的区域,即图2中的区域22,得到图3。在图3中,可以明显的分辨出各个作物行,减小了其他干扰因素的影响。

本发明实施例提供的作物行识别方法,在选择作物行透视图预定区域时,选择图中底端往上预定百分比的区域,能够有效的减少其他因素干扰,减小误判几率,提高方法的鲁棒性。

在上述实施例的基础上,所述获取所述作物行透视图中预定区域的垂直投影图像的作物行边缘点,具体包括:

将所述作物行透视图中预定区域进行作物识别,得到作物识别后的图像;

对所述作物识别后的图像进行灰度处理,得到灰度图;

对所述灰度图进行灰度垂直投影,得到二值化的垂直投影图像;

对所述二值化的垂直投影图像进行扫描,得到所述作物行透视图预定区域的垂直投影图像的作物行边缘点。

在选取作物行透视图中的预定区域后,首先要对该预定区域进行作物识别,得到作物识别后的图像。作物识别的方法可采用颜色特征因子法,颜色特征是在图像检索中应用最为广泛的视觉特征,主要原因在于颜色往往和图像中所包含的物体或场景十分相关。此外,与其他的视觉特征相比,颜色特征对图像本身的尺寸、方向、视角的依赖性较小,从而具有较高的鲁棒性。对预定区域图像的像素点进行颜色特征因子来进行判断,若像素点的像素满足一定的规则,判断该像素为作物,若像素点的像素不满足该规则,判断该像素为背景。根据这样的方法,可以得到作物识别后的图像。

然后对作物识别后的图像进行灰度处理,得到灰度图。在rgb模型中,如果r=g=b时,则彩色表示一种灰度颜色,其中r=g=b的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有r、g、b三个分量决定,而每个分量有255种值可取,而灰度图像是r、g、b三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。

得到灰度图后,对灰度图进行灰度垂直投影,得到二值化的垂直投影图像,图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,最常用的方法就是设定一个阈值t,用t将图像的数据分成两部分:大于t的像素群和小于t的像素群。这是研究灰度变换的最特殊的方法,称为图像的二值化。

得到的二值化投影图像里,白色的是作物,黑色的是背景。然后再对该二值化投影图像进行由上到下的行扫描,得到作物行的左右边缘点的坐标。

例如,将图2的预定区域图像用颜色特征因子法来进行作物识别,具体操作方法为:

对于预定区域图像中的某一像素点,若该像素点的像素满足2g-r-b>15,判断该像素为作物,否则为背景。图6为本发明实施例作物行识别方法的作物识别图,如图6所示,将图6进行灰度处理得到灰度图,再将灰度图进行灰度垂直投影,得到二值化的垂直投影图像,即图4。

得到图4后,需要对图4进行由上到下的扫描,获取作物行边缘点的坐标。具体操作是,对二值化的的垂直投影图像进行由上向下行扫描,记录由第k行向k+1行扫描时新增的连续的白色像素段,该白色像素段即为作物。当新增像素段像素个数大于设定阈值δ,用数组形式保存,记为mn[xi,xj],其中i和j均为像素点的编号,xi表示该新增像素段最左边的像素点,xj表示该新增像素段最右边的像素点。当新增行mn[xi,xj]的个数大于等于2时,则将该行像素段保存,并停止扫描,否则清空新增行mn[xi,xj]并继续扫描。由于预定区域的作物行有3行,但是为避免出现扫描到某一行时,该行刚好没有作物的情况,故将个数设置为2进行比较,得到的结果比较准确。可以知道,当还在对图像进行扫描时,表明之前扫描的所有行均未出现新增行mn[xi,xj]的个数大于等于2的情况,故在扫描某一行时,前面所有扫描过的行都会被清空。一旦出现新增行mn[xi,xj]的个数大于等于2,则立即保存该行像素段,并停止扫描,然后获取该行像素段的各个作物行的左右边缘点的坐标。

在上述实施例的基础上,所述并获取所述作物行鸟瞰图的所有作物行的骨架线交点集,具体包括:

将所述作物行鸟瞰图进行作物识别,得到鸟瞰图作物区域;

根据骨化算法对所述鸟瞰图作物区域进行作物区骨化,得到作物区域骨架图;

对所述作物区域骨架图的骨架线交点进行提取,得到所述作物行鸟瞰图的所有作物行的骨架线交点集。

首先仍然对作物行鸟瞰图进行作物识别,得到鸟瞰图作物区域,识别方法可采用颜色特征因子法,具体方式参见上述实施例,此处不再赘述。

作物识别后得到鸟瞰图作物区域,利用骨化算法对所述鸟瞰图作物区域进行作物区骨化,得到作物区域骨架图。骨化算法是一种重要的简化方法,将一个平面区域的结构形状简化为图形,得到该区域的骨架来实现。

得到骨架图后,提取该骨架图的骨架线交点,得到作物行鸟瞰图的所有作物行的骨架线交点集。

例如,对图5进行作物识别,得到对应的鸟瞰图作物区域。图7为本发明实施例作物行识别方法的鸟瞰图作物区域,如图7所示,表示的即是图5经过作物识别后的图像。

图8为本发明实施例作物行识别方法作物区域骨架图,如图8所示,将鸟瞰图作物区域(即图7)进行作物区骨化,即可得到图8所示的作物区域骨架图,图8中的交点即为骨架线交点。对图8中的骨架线交点进行提取,即可得到作物行鸟瞰图的所有作物行的骨架线交点集。图9为本发明实施例作物行识别方法骨架线交点图,如图9所示,对骨架线交点提取后就可得到骨架线交点图。

本发明实施例提供的作物行识别方法,通过骨化算法对作物识别后的作物行鸟瞰图进行处理,得到骨架线交点集,便于后续的拟合。

在上述实施例的基础上,所述根据所述作物行边缘点的坐标对所述所有作物行的骨架线交点集划分,得到对应的每个作物行的骨架线交点集,具体包括:

根据所述逆透视变换矩阵,将所述作物行边缘点的坐标进行逆透视变换,得到作物行鸟瞰图中相应的作物行边缘点的坐标;

根据所述作物行鸟瞰图中相应的作物行边缘点的坐标将所述骨架线交点集划分,得到对应的每个作物行的骨架线交点集。

得到所有作物行的骨架线交点集后,需要根据作物行边缘点的坐标对骨架线交点集进行划分。首先获取二值化垂直投影图像中的左右边缘点的坐标,由于二值化垂直投影图像是在作物行透视图中操作得到的,而骨架线交点集是在作物行鸟瞰图中操作得到的,所以需要根据逆透视变换矩阵先将二值化垂直投影图像中的左右边缘点的坐标转换,得到作物行鸟瞰图中相应的作物行边缘点的坐标。

然后再根据左右边缘点坐标来对骨架线交点集进行分类,得到对应的每个作物行的骨架线交点集。

例如,若a为第一个作物行的左边缘点,b为第一个作物行的右边缘点,c为第二个作物行的左边缘点,d为第二个作物行的右边缘点,e为第三个作物行的左边缘点,f为第三个作物行的右边缘点,且各个点的坐标设为a(a1,a2),b(b1,b2),c(c1,c2),d(d1,d2),e(e1,e2),f(f1,f2)。将a、b、c、d、e和f的坐标分别都转换为作物行鸟瞰图中的坐标,得到各个点的坐标为a(a3,a4),b(b3,b4),c(c3,c4),d(d3,d4),e(e3,e4),f(f3,f4)。

设某一骨架线交点为o(x,y),若a3≤x≤b3,则点o属于第一作物行;若c3≤x≤d3,则点o属于第二作物行;若e3≤x≤f3,则点o属于第三作物行。若x不在上述任一范围内,则可将该点舍弃。经过该规则对所有作物行骨架线交点集划分后,可得到三组作物行骨架线交点集。

本发明实施例提供的作物行识别方法,通过作物行边缘点的坐标来对所有作物行的骨架线交点集划分,能够得到对应的每个作物行的骨架线交点集,有助于下一步的直线拟合。

在上述实施例的基础上,所述分别对所述对应的每个作物行的骨架线交点集进行直线拟合,得到对应的作物行具体包括:

对所述对应的每个作物行的骨架线交点集进行基于最小二乘法的直线拟合,得到对应的作物行。

最小二乘法是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。

用最小二乘法拟合直线处理数据时,得到的斜率和截距是唯一的,不会受人的因素影响,比常见的作图法直线拟合的准确性更高,也避免了随意性。

图10为本发明实施例作物行识别方法的算法流程示意图,如图10所示,包括:

步骤101,利用摄像头拍摄得到作物行透视图像;

步骤102,选取作物行透视图中的底部预定区域;

步骤103,对预定区域进行作物识别得到作物识别后的图像;

步骤104,对作物识别后的图像进行灰度化,得到灰度图;

步骤105,对灰度图进行灰度垂直投影处理,得到二值化的垂直投影图像;

步骤106,对二值化的垂直投影图像行扫描,获取边缘点坐标;

步骤107,通过逆透视变换将作物行透视图转换为作物行鸟瞰图;

步骤108,利用骨化算法将作物识别后的作物行鸟瞰图骨化,获取骨架线;

步骤109,求取骨架线交点集;

步骤110,根据边缘点坐标对骨架线交点集进行分割,得到每个作物行的骨架线交点集;

步骤111,对于每一个作物行骨架线交点集,进行直线拟合,得到作物行。

图11为本发明实施例作物行识别方法的效果示意图,如图11所示,首先选取作物行透视图底端高度为总高度1/8的区域作为预定区域,处理后得到二值化的垂直投影图像,然后对该二值化的垂直投影图像进行行扫描,记录由第k行向k+1行扫描时新增的连续的白色像素段,该白色像素段即为作物。当新增像素段像素个数大于设定阈值δ,用数组形式保存,记为m[xi,xj],其中i和j均为像素点的编号,xi表示该新增像素段最左边的像素点,xj表示该新增像素段最右边的像素点。当新增行m[xi,xj]的个数大于等于2时,则将该行像素段保存,并停止扫描,否则清空新增行mn[xi,xj]并继续扫描。图11中扫描到某行时,新增白色像素段有3个,此时三个白色像素段的左右边缘点坐标分别如下:

第一个白色像素段的左边缘点为m1(xl),右边缘点为m1(xr);

第二个白色像素段的左边缘点为m2(xl),右边缘点为m2(xr);

第三个白色像素段的左边缘点为m3(xl),右边缘点为m3(xr);

然后根据逆透视变换矩阵将三个作物行左右边缘点的坐标转换到作物行鸟瞰图中,根据鸟瞰图中对应的三个作物行的左右边缘点坐标对所有作物行骨架线交点集进行分类,得到每个作物行的骨架线交点集,再对每个作物行的骨架线交点集进行基于最小二乘法的直线拟合,得到识别后的作物行的拟合直线,如图11中所示。

本发明实施例提供的作物行识别方法,利用逆透视变换消除了图像的几何失真,引入了田间作物行的结构性约束,把摄像机与路面成夹角拍摄的透视图像,变为与路面垂直的鸟瞰图像,在鸟瞰图像中保留了作物行的平行性信息,从而将对作物行的检测在逆透视变换后的鸟瞰图上进行,解决了透视图像中带来的误差,避免了干扰因素的误判,提高了方法的鲁棒性。

图12为本发明实施例作物行识别装置的结构示意图,如图12所示,包括转换模块121、获取模块122、划分模块123和拟合模块124,其中,转换模块121用于通过逆透视变换矩阵将作物行透视图转换为作物行鸟瞰图,所述作物行透视图是根据与路面成仰俯角的摄像头拍摄得到;获取模块122用于获取所述作物行透视图中预定区域的垂直投影图像的作物行边缘点,并获取所述作物行鸟瞰图的所有作物行的骨架线交点集;划分模块123用于根据所述作物行边缘点的坐标对所述所有作物行的骨架线交点集进行划分,得到对应的每个作物行的骨架线交点集;拟合模块124用于分别对所述对应的每个作物行的骨架线交点集进行直线拟合,得到对应的作物行。

在进行作物行识别之前,需要利用摄像头对作物行进行拍照,得到的图像即为作物行透视图。安装在中耕除草机架上的摄像头倾斜向下,与路面成仰俯角,其光轴不垂直地面,所拍摄的作物行在画面中会有一定的几何失真现象,因此只通过拍摄的图像不能判断中耕除草机与作物行的相对几何关系。故需要通过逆透视变换矩阵,利用转换模块121实现作物行图像由透视图向鸟瞰图的转换。

在作物行透视图中,选择预定区域,将其进行一定的处理后得到该预定区域的垂直投影图像,然后获取模块122对该垂直投影图像进行扫描,得到垂直投影图像的作物行边缘点。由于垂直投影图像是二值化后的图像,故该图像中白色像素段为作物,黑色像素段为背景。由于透视图中可能有多个作物行,因此在垂直投影图像中进行行扫描时,可能会扫描到多个白色像素段,此时记下这些白色像素段的左右边缘点的坐标。

对于作物行鸟瞰图,获取模块122首先进行作物识别,并对作物区域进行骨化,得到对应的骨架图,再对骨架图中的骨架线交点进行提取,得到作物行鸟瞰图的所有作物行的骨架线交点集。

得到所有作物行的骨架线交点集后,需要对其进行划分。由于在之前已经得到了每个作物行左右边缘点的坐标,故划分模块123可根据骨架线交点集的坐标将其进行划分,在同一个白色像素段的左右边缘点的坐标范围内的骨架线交点归于一类,根据此方法对所有作物行的骨架线交点集进行划分,得到对应的每个作物行的骨架线交点集。

拟合模块124得到对应的每个作物行的骨架线交点集之后,对于每一个作物行的骨架线交点集,先获取到每个交点的坐标,然后再根据这些坐标进行直线拟合,得到一条直线,该直线则为识别出来的作物行。依次对每一个作物行进行同样的操作,得到所有识别的作物行。本发明实施例提供的装置可以用于执行如图1所示的上述各方法实施例的,具体的流程和详细介绍请参见上述各方法实施例,此处不再赘述。

本发明实施例提供的作物行识别装置,利用逆透视变换消除了图像的几何失真,引入了田间作物行的结构性约束,解决了透视图像中带来的误差,避免了干扰因素的误判,提高了方法的鲁棒性。

图13示例了一种作物行识别设备的实体结构示意图,如图11所示,该电子设备可以包括:处理器(processor)131、通信接口(communicationsinterface)132、存储器(memory)133和总线134,其中,处理器131,通信接口132,存储器133通过总线134完成相互间的通信。总线134可以用于电子设备与传感器之间的信息传输。处理器131可以调用存储器133中的逻辑指令,以执行如下方法:通过逆透视变换矩阵将作物行透视图转换为作物行鸟瞰图,所述作物行透视图是根据与路面成仰俯角的摄像头拍摄得到;获取所述作物行透视图中预定区域的垂直投影图像的作物行边缘点,并获取所述作物行鸟瞰图的所有作物行的骨架线交点集;根据所述作物行边缘点的坐标对所述所有作物行的骨架线交点集进行划分,得到对应的每个作物行的骨架线交点集;分别对所述对应的每个作物行的骨架线交点集进行直线拟合,得到对应的作物行。

此外,上述的存储器133中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述实施例所提供的伪基站定位方法,例如包括:通过逆透视变换矩阵将作物行透视图转换为作物行鸟瞰图,所述作物行透视图是根据与路面成仰俯角的摄像头拍摄得到;获取所述作物行透视图中预定区域的垂直投影图像的作物行边缘点,并获取所述作物行鸟瞰图的所有作物行的骨架线交点集;根据所述作物行边缘点的坐标对所述所有作物行的骨架线交点集进行划分,得到对应的每个作物行的骨架线交点集;分别对所述对应的每个作物行的骨架线交点集进行直线拟合,得到对应的作物行。

以上所述仅为本发明的优选实施例,并不用于限制本发明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充,但并不会偏离本发明的精神或者超越所附权利要求书定义的范围。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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