当前位置: 首页 > 专利查询>内蒙古大学专利>正文

一种基于FPGA的实时田间机器人视觉导航方法与系统技术方案

技术编号:22020389 阅读:74 留言:0更新日期:2019-09-04 00:50
本发明专利技术属于机器视觉导航技术领域,公开了一种基于FPGA的实时田间机器人视觉导航方法与系统,将获取到的田间图像通过图像预处理分割出绿色作物;检测田间作物垄线图像中的垄线信息,垄线信息包括两条相邻垄线位置信息及其斜率;通过垄线信息计算提取机器人的导航信息,用于控制机器人行走;图像预处理模块、图像存储模块、田间垄线检测模块、导航参数提取模块。本发明专利技术相比于已有算法,优化后的算法平均准确率可达89.7%;与真值相比F‑score值为91.1%,用时仅16ms,占用2824个触发器、4625个查找表及4kb块寄存器(BRAM);导航参数提取模块仅占用372个触发器和1013个查找表。

A Real-time Field Robot Vision Navigation Method and System Based on FPGA

【技术实现步骤摘要】
一种基于FPGA的实时田间机器人视觉导航方法与系统
本专利技术属于机器视觉导航
,尤其涉及一种基于FPGA的实时田间机器人视觉导航方法与系统。
技术介绍
目前,最接近的现有技术:由于农作物与土壤、石头等非植物在颜色上有较为明显的差异,因此,大多数视觉系统利用可见光成像获取分割后的植物图像,提取机器人导航参数,如导航线和导航角等,然后通过它们控制机器人行走。基于机器视觉的导航系统有两个分支:1)利用单目相机获取图像,并结合图像处理方法得到导航参数的二维视觉导航系统;2)通过两个或多个相机同时获得多幅图像,使用立体匹配方法得到特征点并匹配得到导航信息的三维视觉导航系统。在田间机器人导航系统中,机器人能够根据检测到的田间垄线信息控制车辆行走,因此,为了能准确地控制机器人行走,快速地获得作物垄线位置信息是目前田间机器人导航算法中亟需解决的最重要问题。目前已有几种基于机器视觉的作物垄线行检测算法,这些算法虽然能较准确地实现对作物垄线行检测,但大多数算法都是离线、处理时间较长,使得无法实时控制田间机器人按照既定状态沿垄线行走。当车辆一直处于匀速状态,而指导机器人的导航信息需较长时间才计算到,这将导致对作物的碾压。其原因为田间图像相比于其他自然环境复杂,作物垄线可能存在弯曲、缺失等,系统需要进行复杂计算所造成的。有代表性的算法依据检测原理可分为以下几种:(1)基于霍夫变换的方法(Houghtransform,HT)。该方法是现今最常用的作物行检测方法,最早由Hough在1962年提出。之后,首先提出了基于霍夫变换的作物行检测方法,并总结了作物行检测方法的相关先验知识。基于该先验知识,该方法对于作物植株缺失和杂草识别等问题具有鲁棒性。提出了一种基于随机霍夫变换(RHT)的通过作物中心线确定作物行的检测方法。该方法在植物分布稀疏、一般和密集三种情况下进行测试。根据试验结果可知,此类方法比普通的霍夫变换更准确。(2)基于线性回归的方法。提出在杂草密集的情况下,通过图像分割、双阈值可实现对作物和杂草的分离,同时采用最小二乘线性回归方法计算、拟合得到图像中作物垄线。实验结果表明,该方法比霍夫变换得到的结果具有较高的准确性。首先使用颜色植被指数方法分割出粗略的二值图像,之后采用Theil-Sen方法矫正作物行。同时该方法具有更高的准确性。(3)基于绿色像素点统计的方法。通过图像分割,特征点提取,候选行估计,消失点检测等步骤实现对小麦行的检测。其中,候选行估计是通过统计当前直线上绿色像素点个数实现的。该方法可有效地检测早期生长阶段的小麦行,正确率可达90%。提出了一种新的有效的作物行检测方法。该方法使用动态规划技术将图像中几何结构和先验知识相结合,能够准确地检测出图像中弯曲的作物垄线。介绍了一种基于绿色像素点统计的既能检测直线也能检测弯曲垄线的检测方法。(4)基于区块和滤波的方法。该方法主要是将图像分割成多个区域,并对每个区域内的像素进行计算从而确定作物的垄线信息。通过灰度相似性标准对图像进行分组,计算并获得每个分组的角度和重心,从而确定作物行。提出一种基于多感兴趣区域(regionofinterest,简称ROI)的作物行检测算法。该方法通过构建多ROI并采用线性回归拟合求得作物行。在杂草率较高或植被覆盖较低的情况下均可有效地检测作物行,且最终检测正确率达93%。(5)基于双目立体视觉的方法。立体视觉技术已应用于多个农业领域,同时在垄线检测方面也有所涉及和应用。该方法主要是基于作物与杂草高度不同这一先验知识,而通过立体视觉技术可计算出图像中物体高度信息,进而分割作物与杂草。一种鲁棒的垄线检测方法,不受光照变化和杂草的影响。通过使用双目立体视觉技术确定场景中感兴趣对象(通常为农业作物)的三维(3D)位置,并求得当前作物图像的高程图以引导田间机器人沿垄线方向行走。开发了一种基于立体视觉的地面特征检测和跟踪田间机器人的行走误差方法。但在实际情况下,车辆会随着地形变化而变化,如相机旋转等情况会使得该方法失效。中国农业大学的李景彬针对自然环境下棉花播种作业图像,设计了基于HT方法的田间图像导航路线和田端检测算法。对于图像尺寸为640×480的情况下,平均处理时间为72.02ms。采用隔行统计采集图像中绿色分量的个数,计算得到垄线的候补点。然后采用HT方法拟合出玉米作物的导航线。试验结果表明该方法的平均检测时间为50.13ms/帧。中国科学技术大学的刘路提出了在狭窄的作物行间检测导航信息和控制机器人行走的方法。通过对秸秆图像进行主成分分析、形态学分割和相机的标定等步骤,最终定位图像中秸秆根部,并依据秸秆根部行走。该系统在图像尺寸为640×480的情况下平均耗时250ms。哈尔滨工程大学的徐璟雪提出使用基于概率的霍夫变换检测垄线,该方法能计算出作物垄线所在位置,且误差较小。对于像素尺寸为400×247的图像,处理时间为178.68ms。湖北工业大学马志艳等提出利用漫水法分割出茶叶作物的垄线,之后使用最小二乘法拟合出作物的垄线并用于导航。最终的试验结果表明,该方法能有效提取到导航线,对于640×480图像处理速度为150ms。内蒙古大学的赵帅领等提出使用扇形密度模型和垄线角度约束关系搜索垄线,并利用目标作物视差和坐标转换关系计算出高程图,最终生成对应图像的垄线置信密度图用于导航。同时,近年来大部分研究人员提出使用FPGA加速图像处理速度,并得到的相对较好的结果。典型的例子如:JensRettkowski等实现了基于FPGA的定向梯度直方图(HOG)算法并对该算法进行了优化,在全高清分辨率图像尺寸下,每秒可处理39.6帧。B.Johnson等提出基于FPGA的定点离散卡尔曼滤波器(DKF)算法,用于实时去除图像中的高斯白噪声。该方法实现在XilinxVirtex-6FPGA上,对于512×512尺寸的图像每秒可处理33帧。同时,HengLi等提出了一种快速综合计算加速双边滤波除雾(CABFD)方案,所提出的FPGA去雾架构可直接应用于实现1920×1080视频显示,处理速度可达到实时,仅用时约170ms。Puglia等实现了基于FPGA的DNA序列视差比对算法。该设计每秒能处理30帧1024x768图像,同时芯片功耗仅为0.17瓦。智慧农业即实现农业精细化、高效化与绿色化,保障农产品质量,提高农业竞争力和可持续发展。近几年来,我国农业发展水平已有较大的提高,但我国作为农业发展大国仍存在不少的困难和问题。作为智慧农业的重要组成部分,田间机器人自动导航算法和系统在近年来颇受关注。田间机器人导航系统主要广泛应用于农作物种植、除草和施肥等阶段。农业机器人代替传统的人力,有效地降低农民的劳动强度,降低了农业生产的成本,从而提高了农作物产品的品质。综上所述,国内外研究学者对于基于视觉的田间垄线检测算法研究较多,并且每种方法相对有效地计算得到田间作物垄线。然而,现有的算法大部分是实现在离线和低分辨率图像情况下,对于实时高分辨率的复杂自然环境下的垄线检测并不一定适用。截至目前,鲜有学者将FPGA加速方法与基于农业视觉图像处理方法或农业导航算法相结合。目前基于双目视觉的田间机器人导航算法的主要难点在于光照、作物形态等因素的影响导致田间环境较为本文档来自技高网...

【技术保护点】
1.一种基于FPGA的实时田间机器人视觉导航方法,其特征在于,所述基于FPGA的实时田间机器人视觉导航方法包括以下步骤:第一步,将获取到的田间图像通过图像预处理分割出绿色作物;第二步,检测田间作物垄线图像中的垄线信息,垄线信息包括两条垄线位置信息及两条垄线斜率;检测田间作物垄线信息中,使用田间垄线检测算法寻找最近的垄线,计算左、右边界垄线约束角度;当计算得到左右垄线边界线后,通过式计算出垄线宽度Lw:β‑10≤θ≤β+10;Lw=rightBL‑leftBL;选择垄线角度、垄线宽度作为第二条垄线检测特征,检测田间图像中第二条垄线位置;首先确定第一条垄线在图像中的相对位置,然后预估第二条垄线的位置;当垄线位于整幅图像左侧,则选择垄线的右边界加垄线宽度的一半为起点,向右查找大于平均阈值且最小的密度信息作为第二条垄线;否则,采用垄线左边界减垄线宽度一半为起点检测垄线,具体如下式所示:

【技术特征摘要】
1.一种基于FPGA的实时田间机器人视觉导航方法,其特征在于,所述基于FPGA的实时田间机器人视觉导航方法包括以下步骤:第一步,将获取到的田间图像通过图像预处理分割出绿色作物;第二步,检测田间作物垄线图像中的垄线信息,垄线信息包括两条垄线位置信息及两条垄线斜率;检测田间作物垄线信息中,使用田间垄线检测算法寻找最近的垄线,计算左、右边界垄线约束角度;当计算得到左右垄线边界线后,通过式计算出垄线宽度Lw:β-10≤θ≤β+10;Lw=rightBL-leftBL;选择垄线角度、垄线宽度作为第二条垄线检测特征,检测田间图像中第二条垄线位置;首先确定第一条垄线在图像中的相对位置,然后预估第二条垄线的位置;当垄线位于整幅图像左侧,则选择垄线的右边界加垄线宽度的一半为起点,向右查找大于平均阈值且最小的密度信息作为第二条垄线;否则,采用垄线左边界减垄线宽度一半为起点检测垄线,具体如下式所示:将第一条垄线及边界的角度和第一条垄线宽度作为第二条垄线检测判断条件,确定第二条垄线及垄线边界线的位置;第三步,通过垄线信息计算提取机器人的导航信息,用于控制机器人行走。2.如权利要求1所述的基于FPGA的实时田间机器人视觉导航方法,其特征在于,所述第一步的图像预处理包括:1)超绿指数,选择ExG指数进行绿度识别增强图像中绿色作物,使用原始图像中红、绿、蓝三个通道的像素值线性求和计算得到,同时将原始的彩色图像转换为灰度图像,具体的计算过程:2)采用最大类间方差法Otsu,将图像分割为两个区域,通过不断地迭代统计各个区域的直方图信息,求出前景和背景间最大类间方差,最大类间方差对应的灰度值为最合适的分割阈值T;算法通过不断地迭代t,范围0-255,针对每个t均有方差σ2(t)和当前小于灰度值t的像素点个数与整幅图像中像素点总个数的比值ω(t);其中,阈值最大化前景和背景之间的类间方差可通过计算得到,当像素点对应的灰度值大于该阈值T时,则设该像素点值为1,反之则设为0:3)选用中值滤波方法进行预处理,并设置中值滤波窗口大小为5×5,表示为下式;其中,fi-k,L,fi,L,fi+k为滤波窗口中的像素值,f为滤波窗口中所有像素的中值:f=med(fi-k,L,fi,L,fi+k)。3.如权利要求1所述的基于FPGA的实时田间机器人视觉导航方法,其特征在于,所述第二步检测田间作物垄线图像中的垄线信息使用的田间垄线检测算法包括密度计算,第一条垄线检测及寻找第二条垄线检测;通过计算图像基线上每个像素点的密度,确定垄线的位置;具体包括:1)密度计算,由两条角度约束线构成当前垄线对应的扇形区域,角度为θ时且过BL直线上的点(x,y)的直线为候选检测线,通过下面两式获得该直线同图像边缘的交点分别为(x0,y0)和(x1,y1);其中,width和height分别表示图像的长宽,θ为当前像素点对应的扇形角度,范围为[45°,135°];计算每个像素点在扇形区域的密度,其中Gi为过点(x,y)且角度为θ所构成的直线下非零像素点的个数,而Vi则是该直线上所有像素点个数:temp0=(1-y)/tanθ+x;temp1=(height-y)/tanθ+x;2)将计算得到的每个BL线上的所有点的密度进行比较,找到全局最大点;全局最大点即对应第一条垄线中心线;从中心线沿着BL线左侧逐像素点移动,在搜索过程中,逐点比较每个像素点在约束角度范围内的密度,计算约束角度γ2;计算左边界时约束角度;,而计算右边界时约束角度应满足公式式;式中(x0,y0)和(x1,y1)分别为当前角度所构成的直线与图像边界的交点;与搜索垄线中心线不同的是,这次选择不大于平均密度ρ的最小密度值所对应的位置作为左边界,其中,通过统计图像中非零绿色作物像素点个数与图像中所有像素点的比值计算整幅图像的平均密度ρ:max(π/4,γ2)y≤θ≤β;β≤θ≤min(3π/4,γ2);3)寻找最近的垄线,将计算左、右边界垄线约束角度;当计算得到左右垄线边界线后,通过式计算出垄线宽度Lw:β-10≤θ≤β+10;Lw=rightBL-leftBL;选择垄线角度、垄线宽度作为第二条垄线检测特征,检测田间图像中第二条垄线位置;首先确定第一条垄线在图像中的相对位置,预估第二条垄线的位置情况;当垄线位于整幅图像左侧,则选择垄线的右边界加垄线宽度的一半为起点,向右查找大于平均阈值且最小的密度信息作为第二条垄线;否则,采用垄线左边界减垄线宽度一半为起点检测垄线,具体如式所示:将第一条垄线及边界的角度和第一条垄线宽度作为第二条垄线检测判断条件,确定第二条垄线及垄线边界线的位置。4.如权利要求1所述的基于FPGA的实时田间机器人视觉导航方法,其特征在于,所述第三步通过垄线信息计算提取机器人的导航信息,用于控制机器人行走包括:O为图像平面的中心位置,L为图像中垄线所在位置,以O为坐标原点建立图像坐标系;其中,...

【专利技术属性】
技术研发人员:张志斌李杉
申请(专利权)人:内蒙古大学
类型:发明
国别省市:内蒙古,15

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1