CN111754550B - 一种农机运动状态下动态障碍物检测方法及装置 - Google Patents
一种农机运动状态下动态障碍物检测方法及装置 Download PDFInfo
- Publication number
- CN111754550B CN111754550B CN202010537164.3A CN202010537164A CN111754550B CN 111754550 B CN111754550 B CN 111754550B CN 202010537164 A CN202010537164 A CN 202010537164A CN 111754550 B CN111754550 B CN 111754550B
- Authority
- CN
- China
- Prior art keywords
- optical flow
- background
- flow
- length
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A40/00—Adaptation technologies in agriculture, forestry, livestock or agroalimentary production
- Y02A40/10—Adaptation technologies in agriculture, forestry, livestock or agroalimentary production in agriculture
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明实施例提供一种农机运动状态下动态障碍物检测方法及装置,所述方法包括:针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值;确定所述光流为背景光流,并滤除所述背景光流,滤除团簇中的噪声光流;根据各分割团簇使用外接矩形框选取前景运动目标,结合各分割团簇的光流主方向,以及团簇之间的距离,判断是否为同一前景运动目标,框选完整的前景运动目标。本发明实施例能够准确有效地实现农机运动状态下的基于全景视觉的运动障碍物检测,提高运动障碍物检测的可靠性和农机自动驾驶的安全性。
Description
技术领域
本发明涉及精细农业智能农业装备信息获取技术领域,具体涉及一种农机运动状态下动态障碍物检测方法及装置。
背景技术
农业机械的自动导航技术是提高农业生产效率,实现农业生产规模化的关键技术之一,有着广泛的应用。使用全球导航卫星***等定位设备,能够实现农业机械的自动驾驶,降低了劳动成本,提高了作业精度。但在自动驾驶农机田间作业时,往往会有多种运动的障碍物,比如在农田中行走的行人、其他作业机械等,此时,仅使用全球导航卫星***等定位技术进行自动驾驶的农业机械,无法对身边的障碍物进行检测,从而影响自身的作业安全。
机器视觉作为一种设备价格低廉、处理算法成熟的技术,在农业自动导航中有着广泛的应用,而其中的全景视觉以其视野范围大的优势,是国内外研究的热点,对实现全景避障、大大提高农机自动驾驶的安全等有着重要的影响。
现有技术中关于基于全景视觉在自动导航动态障碍物检测方面的研究,大多针对静态背景,对于动态背景的研究较少,同时,针对农业农机领域该方面的研究较少,且大多处于实验室阶段,并未实现农机运动作业时稳定可靠的动态障碍物的检测。
因此,如何实现农机运动状态下动态障碍物检测方法,提升动态障碍物检测的可靠性,成为亟待解决的问题。
发明内容
针对现有技术中的缺陷,本发明实施例提供一种农机运动状态下动态障碍物检测方法及装置。
第一方面,本发明实施例提供一种农机运动状态下动态障碍物检测方法,包括:
获取农机直行状态时的全景图像;
确定所述农机直行状态时的全景图像的检测区域,基于Shi-Tomasi法检测所述检测区域的角点,并基于图像金字塔的Lucas-Kanade光流法对所述角点进行跟踪检测,生成光流图像;
针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值;
若所述角度偏差值小于角度偏差阈值,且所述长度幅值偏差值小于长度幅值偏差阈值,则确定所述光流为背景光流,并滤除所述背景光流,得到滤除背景光流后的全景图像;
基于K-means聚类分割算法对所述滤除背景光流后的全景图像进行聚类分割,得到滤除背景光流后的全景图像的各个团簇;
针对滤除背景光流后的全景图像的每个团簇,滤除所述团簇中的噪声光流;
若任意两滤除噪声光流后的团簇中的聚类中心坐标的欧氏距离小于像素阈值,且对应光流方向的均值之差的绝对值小于1时,将两滤除噪声光流后的团簇划分为一类并提取运动目标,否则,对每个滤除噪声光流后的团簇直接提取运动目标。
可选地,所述方法还包括:
建立动态背景光流模型;
所述建立动态背景光流模型,具体包括:
获取动态背景的全景图像;
基于Lucas-Kanade光流法检测所述动态背景的全景图像,生成背景光流图像;
针对所述背景光流图像中每个背景光流,根据背景光流坐标和背景光流方向的关系,确定如下光流方向角度值函数:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,θ为光流对应的角度值,单位为rad;
对所述背景光流方向存在突变错误的光流点和动态背景的全景图像底部农机产生的光流进行滤除;将所述背景光流的角度值和对应的水平方向坐标进行二项式拟合,得到光流方向与水平方向坐标关系函数;
针对所述背景光流图像中每个背景光流,根据背景光流水平方向坐标和背景光流竖直方向坐标的关系,确定如下光流长度幅值函数:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,length为光流对应的长度幅值,单位为像素;
针对所述背景光流图像中每个背景光流,对所述背景光流对应的长度幅值和当前帧背景光流竖直方向坐标,采用如下长度幅值与竖直方向坐标关系函数进行二项式拟合,确定斜率和截距:
length=kY2+b
其中,length为光流对应的长度幅值,单位为像素,Y2为当前帧背景光流竖直方向坐标,k为拟合后函数的斜率,b为拟合后函数的截距,单位为像素;
分别统计各组背景光流对应的斜率、截距和当前帧背景光流水平方向坐标,建立斜率与水平方向坐标关系函数,以及截距与水平方向坐标关系函数。
可选地,所述针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值,具体包括:
针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型中的光流方向角度值函数和光流长度幅值函数分别确定所述光流对应的角度值和长度幅值;
基于所述动态背景光流模型中的光流方向与水平方向坐标关系函数计算得到光流统计方向,根据所述光流统计方向和所述角度值计算角度偏差值;
基于所述动态背景光流模型中的长度幅值与竖直方向坐标关系函数计算得到光流统计长度,根据所述光流统计长度和所述长度幅值计算长度幅值偏差值。
可选地,所述基于长度幅值与竖直方向坐标关系函数计算得到光流统计长度,根据所述光流统计长度和所述长度幅值计算长度幅值偏差值,具体包括:
根据所述光流中当前帧的光流点的水平方向坐标和所述斜率与水平方向坐标关系函数,确定所述光流对应的斜率;
根据所述光流中当前帧的光流点的水平方向坐标和所述截距与水平方向坐标关系函数,确定所述光流对应的截距;
根据所述光流对应的斜率、所述光流对应的截距、所述光流中当前帧的光流点的竖直方向坐标和所述长度幅值与竖直方向坐标关系函数,确定光流统计长度;
根据所述光流统计长度和所述长度幅值计算长度幅值偏差值。
可选地,所述针对滤除背景光流后的全景图像的每个团簇,滤除所述团簇中的噪声光流,具体包括:
针对滤除背景光流后的全景图像的每个团簇,统计所述团簇中光流的数量以及聚类中心坐标,并计算所述团簇中光流的方向方差和长度方差;
若所述团簇中光流的数量为1,和/或,所述方向方差大于方差阈值且长度方差大于长度阈值,则确定所述团簇中光流为噪声光流,并进行滤除。
第二方面,本发明实施例提供一种农机运动状态下动态障碍物检测装置,包括:
获取模块,用于获取农机直行状态时的全景图像;
第一处理模块,用于确定所述农机直行状态时的全景图像的检测区域,基于Shi-Tomasi法检测所述检测区域的角点,并基于图像金字塔的Lucas-Kanade光流法对所述角点进行跟踪检测,生成光流图像;
第二处理模块,用于针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值;
第一判断模块,用于若所述角度偏差值小于角度偏差阈值,且所述长度幅值偏差值小于长度幅值偏差阈值,则确定所述光流为背景光流,并滤除所述背景光流,得到滤除背景光流后的全景图像;
第三处理模块,用于基于K-means聚类分割算法对所述滤除背景光流后的全景图像进行聚类分割,得到滤除背景光流后的全景图像的各个团簇;
第四处理模块,用于针对滤除背景光流后的全景图像的每个团簇,滤除所述团簇中的噪声光流;
第二判断模块,用于若任意两滤除噪声光流后的团簇中的聚类中心坐标的欧氏距离小于像素阈值,且对应光流方向的均值之差的绝对值小于1时,将两滤除噪声光流后的团簇划分为一类并提取运动目标,否则,对每个滤除噪声光流后的团簇直接提取运动目标。
可选地,所述装置还包括:
模型建立模块,用于建立动态背景光流模型;
所述模型建立模块具体用于:
获取动态背景的全景图像;
基于Lucas-Kanade光流法检测所述动态背景的全景图像,生成背景光流图像;
针对所述背景光流图像中每个背景光流,根据背景光流坐标和背景光流方向的关系,确定如下角度值函数:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,θ为光流对应的角度值,单位为rad;
基于RANSAC算法,对所述背景光流方向存在突变错误的光流点和动态背景的全景图像底部农机产生的光流进行滤除;将所述背景光流的角度值和对应的水平方向坐标进行二项式拟合,得到光流方向与水平方向坐标关系函数;
针对所述背景光流图像中每个背景光流,根据背景光流水平方向坐标和背景光流竖直方向坐标的关系,确定如下长度幅值函数:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,length为光流对应的长度幅值,单位为像素;
针对所述背景光流图像中每个背景光流,对所述背景光流对应的长度幅值和当前帧背景光流竖直方向坐标,采用如下长度幅值与竖直方向坐标关系函数进行二项式拟合,确定斜率和截距:
length=kY2+b
其中,length为光流对应的长度幅值,单位为像素,Y2为当前帧背景光流竖直方向坐标,k为拟合后函数的斜率,b为拟合后函数的截距,单位为像素;
分别统计各组背景光流对应的斜率、截距和当前帧背景光流水平方向坐标,建立斜率与水平方向坐标关系函数,以及截距与水平方向坐标关系函数。
可选地,所述第二处理模块具体用于:
针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型中的光流方向角度值函数和光流长度幅值函数分别确定所述光流对应的角度值和长度幅值;
基于所述动态背景光流模型中的光流方向与水平方向坐标关系函数计算得到光流统计方向,根据所述光流统计方向和所述角度值计算角度偏差值;
基于所述动态背景光流模型中的长度幅值与竖直方向坐标关系函数计算得到光流统计长度,根据所述光流统计长度和所述长度幅值计算长度幅值偏差值。
第三方面本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上第一方面任一项所述的农机运动状态下动态障碍物检测方法的步骤。
第四方面本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以上第一方面任一项所述的农机运动状态下动态障碍物检测方法的步骤。
本发明实施例提供了农机运动状态下动态障碍物检测方法,该方法中,通过使用Lucas-Kanade光流法对全景图像中的运动障碍物进行检测,并根据实际农田作业情况建立动态背景光流模型滤除背景光流,通过K-means算法聚类分割并滤除噪声光流,最后根据各分割团簇使用外接矩形框选取前景运动目标,结合各分割团簇的光流主方向,以及团簇之间的距离,判断是否为同一前景运动目标,进行相应的结合处理,框选完整的前景运动目标,能够准确有效地实现农机运动状态下的基于全景视觉的运动障碍物检测,提高运动障碍物检测的可靠性和农机自动驾驶的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种农机运动状态下动态障碍物检测方法的流程示意图;
图2为本发明实施例提供的计算光流方向的示意图;
图3为本发明实施例提供的农机运动状态下动态障碍物检测装置的结构示意图;
图4是本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种农机运动状态下动态障碍物检测方法的流程示意图,如图1所示,所述方法包括:
S101:获取农机直行状态时的全景图像。
具体地,获取农机直行状态时的全景图像,考虑到多目相机拼接式设备具有图像畸变小,分辨率高等优点,例如可以选取PointGrey公司生产的Ladybug 5全景相机,作为获取全景视觉的设备。该全景相机由6个不同方向的SONY镜头组成,分别为侧面5个,顶部1个,镜头拍摄范围之间互有重叠,共同拼接组成一幅能够覆盖90%球体范围的全景图像。由于农机障碍物检测范围的问题,可以不使用位于顶部的镜头获取的图像。例如在设置全景图像的像素大小为2048×2448时,能够以10fps的速率进行获取,具有很好的实时性,能够满足田间作业的需求。如选择雷沃欧豹M904-D型号拖拉机作为障碍物检测的平台,进行了相应的改装,在拖拉机顶部安装支架,同时考虑到设备安装的稳定性,设计了全景相机的支架,并进行了搭载,使全景相机获取的全景图像,能够覆盖农机周围360°的范围。
S102:确定所述农机直行状态时的全景图像的检测区域,基于Shi-Tomasi法检测所述检测区域的角点,并基于图像金字塔的Lucas-Kanade光流法对所述角点进行跟踪检测,生成光流图像。
其中,所述光流图像为利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系的图像。
具体地,确定所述农机直行状态时的全景图像的检测区域,距离农机较远的障碍物并不具备威胁性,可以忽略对其的检测,选取全景图像的下半部分为光流法检测区域,如图像竖直方向上650像素以下的部分,具体的区域像素大小为2048×574,对基于Shi-Tomasi法检测所述检测区域的角点,并基于图像金字塔的Lucas-Kanade光流法对所述角点进行跟踪检测,生成光流图像,例如通过Ladybug 5全景相机获取像素大小为2048×1224的全景图像,同时考虑到处理的实时性以及在进行避障时的实际情况,生成为未经光流法检测的原始图像和经过光流法检测的全景图像,以红色箭头线条表示检测生成的光流,前一帧的光流点为末端,当前帧的光流点为箭头端。
S103:针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值。
在使用动态背景的全景图像成功建立背景光流模型后,在每次进行障碍物检测时将不再重新建立,而是以此模型对农机直行状态时的全景图像进行处理,滤除背景光流,针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值。
S104:若所述角度偏差值小于角度偏差阈值,且所述长度幅值偏差值小于长度幅值偏差阈值,则确定所述光流为背景光流,并滤除所述背景光流,得到滤除背景光流后的全景图像。
若所述角度偏差值小于角度偏差阈值,且所述长度幅值偏差值小于长度幅值偏差阈值,认为该光流符合背景光流的方向和长度幅值特点,则确定所述光流为背景光流,并滤除所述背景光流,否则,则认定为前景光流,进行保留,得到滤除背景光流后的全景图像,剩余前景运动目标的光流,以及杂草晃动等产生的噪声光流,便于进行下一步的滤除。
S105:基于K-means聚类分割算法对所述滤除背景光流后的全景图像进行聚类分割,得到滤除背景光流后的全景图像的各个团簇。
使用K-means聚类分割算法,对滤除背景光流后的全景图像进行检测,考虑到实际作业情况,例如设置聚类的数量为7,并以各光流之间的欧氏距离作为聚类分割的依据,得到滤除背景光流后的全景图像的各个团簇。
S106:针对滤除背景光流后的全景图像的每个团簇,滤除所述团簇中的噪声光流。
在将动态背景光流滤除后,由于农机在进行实际作业时,农田背景常常会发生一些变化,比如会出现杂草晃动,还有部分障碍物,比如人等位置没有发生变化,形状发生变化等所引起的光流,可认为其为噪声光流,在滤除背景光流后,仍会剩余部分噪声光流无法被滤除,而此类情况往往会对我们产生误导,将其错误地确定为运动障碍物,影响我们的检测效果,产生不必要的麻烦,所以必须针对滤除背景光流后的全景图像的每个团簇,滤除所述团簇中的噪声光流。
S107:若任意两滤除噪声光流后的团簇中的聚类中心坐标的欧氏距离小于像素阈值,且对应光流方向的均值之差的绝对值小于1时,将两滤除噪声光流后的团簇划分为一类并提取运动目标,否则,对每个滤除噪声光流后的团簇直接提取运动目标。
由于K-means算法无法自适应确定聚类分割的数量,如预先设定的数量为7,能够适应绝大多数实际农田作业场景,但若遇到障碍物数量较少的情况,则会在将同一个障碍物分割为多个不同的聚类,影响障碍物检测的效果,根据S106最终确定的各前景目标聚类,获取各聚类的中心坐标(Xc,Yc),以及光流的方向均值μd,作为该聚类团簇的光流主方向。当且仅当两聚类中心点坐标的欧式距离≤像素阈值时,如像素阈值可设置为100像素,且两聚类光流方向的均值的差的绝对值≤1时,认为两聚类为同一运动目标上的不同部分,故将二者划分为一类并框选完整的前景运动目标,否则认为是两个不同的运动目标,每个滤除噪声光流后的团簇直接框选运动目标。直至完成对所有聚类的判断。
本发明实施例提供了农机运动状态下动态障碍物检测方法,该方法中,通过使用Lucas-Kanade光流法对全景图像中的运动障碍物进行检测,并根据实际农田作业情况建立动态背景光流模型滤除背景光流,通过K-means算法聚类分割并滤除噪声光流,最后根据各分割团簇使用外接矩形框选取前景运动目标,结合各分割团簇的光流主方向,以及团簇之间的距离,判断是否为同一前景运动目标,进行相应的结合处理,框选完整的前景运动目标,能够准确有效地实现农机运动状态下的基于全景视觉的运动障碍物检测,提高运动障碍物检测的可靠性和农机自动驾驶的安全性。
进一步地,在上述发明实施例的基础上,所述方法还包括:
建立动态背景光流模型;
所述建立动态背景光流模型,具体包括:
获取动态背景的全景图像;
基于Lucas-Kanade光流法检测所述动态背景的全景图像,生成背景光流图像;
针对所述背景光流图像中每个背景光流,根据背景光流坐标和背景光流方向的关系,确定如下光流方向角度值函数:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,θ为光流对应的角度值,单位为rad;
对所述背景光流方向存在突变错误的光流点和动态背景的全景图像底部农机产生的光流进行滤除;将所述背景光流的角度值和对应的水平方向坐标进行二项式拟合,得到光流方向与水平方向坐标关系函数;
针对所述背景光流图像中每个背景光流,根据背景光流水平方向坐标和背景光流竖直方向坐标的关系,确定如下光流长度幅值函数:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,length为光流对应的长度幅值,单位为像素;
针对所述背景光流图像中每个背景光流,对所述背景光流对应的长度幅值和当前帧背景光流竖直方向坐标,采用如下长度幅值与竖直方向坐标关系函数进行二项式拟合,确定斜率和截距:
length=kY2+b
其中,length为光流对应的长度幅值,单位为像素,Y2为当前帧背景光流竖直方向坐标,k为拟合后函数的斜率,b为拟合后函数的截距,单位为像素;
分别统计各组背景光流对应的斜率、截距和当前帧背景光流水平方向坐标,建立斜率与水平方向坐标关系函数,以及截距与水平方向坐标关系函数。
具体地,目前农机在进行自动导航时,往往以设置AB线的形式,沿多条平行线直行作业,对于地头等进行转弯时,往往以人工驾驶为主,所以仅考虑建立农机直行时的背景光流模型,对背景光流进行滤除。建立动态背景光流模型的流程如下:
Step 1、获取动态背景的全景图像,此时的仅农机进行直行,无其他运动物体,即在全景图像中仅有动态背景,无运动前景,所述动态背景的全景图像为用于建立背景模型时所预先采集的纯背景运动图像。
Step 2、使用Lucas-Kanade光流法检测该全景图像,生成背景光流。
光流的方向是区分前景光流与背景光流的一个重要因素,首先对每束背景光流的水平方向坐标,以及相应的光流方向进行统计。图2为本发明实施例提供的计算光流方向的示意图,如图2所示,以竖直向上为起始,将从起始顺时针转至光流时所经过的角度,记录为光流的方向θ,其单位为rad。
光流方向可能存在不同的象限中,若直接计算角度会出现错误。所以划分象限并进行如下公式(1)计算,最终获得光流方向的角度值θ:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,θ为光流对应的角度值,单位为rad。
例如对2006帧全景图像的背景光流方向进行统计。选取了多组竖直方向的直线,即像素坐标X2=32,64,96,……2016的直线,并统计了其左右10像素范围内的光流方向,经过像素坐标Y2与光流方向θ拟合后,可发现,拟合的函数斜率极小,可以忽略,证明在竖直方向上,光流方向θ变化不大,可认为是同一方向。而通过选取多组水平方向的直线,即像素坐标Y2=660,680,700,……1200的直线,并统计其上下10像素范围内的光流方向,经过像素坐标X2与光流方向θ拟合后,可发现,二者拟合的函数有着明显的变化规律,即农机在直行运动状态时,全景图像上的背景光流方向,仅随着光流的水平方向坐标变化而发生变化,与光流竖直方向的变化无关,且在不同车速的状态下,仍然存在此规律,本发明实施例以光流水平方向坐标与光流方向的关系建立模型。
基于RANSAC算法,对所述背景光流方向存在突变错误的光流点和动态背景的全景图像底部农机产生的光流进行滤除;将所述背景光流的角度值和对应的水平方向坐标进行二项式拟合,得到光流方向与水平方向坐标关系函数。例如按照以上方法处理了60帧全景图像,对所拟合后的函数参数计算平均值,最终作为光流方向θ与水平方向坐标X2之间的关系模型参数。最终关系模型如下式(2)所示:
θ=-0.002828X2+6.244 (2)
θ为光流方向,单位为rad,X2为当前帧光流点的水平像素坐标,单位为像素。
Step 3、检测生成的光流,其长度幅值能够在一定程度上代表图像中物体运动的速度,这对于动态障碍物的检测,以及如何进行避障具有重要的意义,本发明实施例针对所述背景光流图像中每个背景光流,根据背景光流水平方向坐标和背景光流竖直方向坐标的关系,确定如下光流长度幅值函数(3):
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,length为光流对应的长度幅值,单位为像素。
针对所述背景光流图像中每个背景光流,对所述背景光流对应的长度幅值和当前帧背景光流竖直方向坐标,采用如下长度幅值与竖直方向坐标关系函数(4)进行二项式拟合,确定斜率和截距:
length=kY2+b (4)
其中,length为光流对应的长度幅值,单位为像素,Y2为当前帧背景光流竖直方向坐标,k为拟合后函数的斜率,b为拟合后函数的截距,单位为像素。
例如,对1976帧全景图像进行处理,每束光流矢量的长度幅值以及对应的当前帧光流点的像素坐标(X2,Y2)进行统计,选取了多组竖直方向的直线,即像素坐标X2=32,64,96,……2016的直线,共取得63条竖直直线,考虑到全景图像水平宽度为2048像素,水平宽度较大,故选择以每条竖直直线左右10像素为范围,选取其中的光流,统计其长度幅值,故总共获取63组光流长度幅值数据,对每组数据分别进行二项式拟合,确定斜率和截距。由于背景光流在检测时仍存在一些错误,所以使用RANSAC算法对每组数据进行迭代优化,剔除明显的错误光流点,同时,由于图像底部为农机,其检测产生的光流亦不准确,所以手动进行了剔除,以拟合获得的函数来代表该组中所选取的竖直直线上的光流长度幅值随Y2坐标变化的规律。
所构建的多组数据中,光流长度幅值length与Y2坐标有着一定的变化规律,进一步,length与Y2所拟合的一次二项函数的k值与b值也具有一定的变化规律,分别统计各组函数的k值、b值以及每组竖直直线的X2像素坐标,以X2像素坐标分别对k值和b值进行建模,建立斜率与水平方向坐标关系函数,以及截距与水平方向坐标关系函数。例如,对1976帧全景图像进行处理,k值相对于X2值的变化规律大致以X2=1024像素直线为对称轴,且在X2=192、768、1024、1280、1856像素直线处,有着明显的分段规律,将图像水平轴在192、768、1024、1280、1856像素处划分为多段,并且建立以X2=1024像素直线为对称轴的多段对称关系模型,按照同样的方式对60帧全景图像进行了处理,对各参数值求取了平均值,最终所建立的k值与X2的关系模型如下式(5)所示:
式中,k值为length与Y2拟合函数的斜率,X2为当前帧光流点的水平像素坐标,单位为像素。
在成功建立k值与X2的变化规律模型后,还需要确定b值与X2的变化规律模型,才能够完整的建立光流像素点坐标(X2,Y2)与光流长度幅值length的变化关系模型。例如对1976帧全景图像进行处理,b值的变化规律也以X2=1024像素为对称轴,在X2=192、768、1024、1280、1856像素处有着明显的分段规律,所以以此建立b值相对于X2的分段函数模型。分别在像素坐标X2为1024至1280、1856至2048、1280至1856时,b值与像素坐标X2进行拟合,按照同样的方式处理60帧全景图像,对获得的各参数求取平均值,作为最终建立的b值与X2的关系模型如下式(6)所示:
式中,b值为length与Y2拟合函数的截距,X2为当前帧光流点的水平像素坐标,单位为像素。
本发明实施例提供了农机运动状态下动态障碍物检测方法,该方法中,通过动态背景光流模型的建立,能够基于动态背景光流模型进一步准确滤除背景的光流,提高运动障碍物检测的可靠性。
进一步地,在上述发明实施例的基础上,所述针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值,具体包括:
针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型中的光流方向角度值函数和光流长度幅值函数分别确定所述光流对应的角度值和长度幅值;
基于所述动态背景光流模型中的光流方向与水平方向坐标关系函数计算得到光流统计方向,根据所述光流统计方向和所述角度值计算角度偏差值;
基于所述动态背景光流模型中的长度幅值与竖直方向坐标关系函数计算得到光流统计长度,根据所述光流统计长度和所述长度幅值计算长度幅值偏差值。
具体地,针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并分别代入预先建立的动态背景光流模型中的光流方向角度值函数(1)和光流长度幅值函数(3)分别确定所述光流对应的角度值θ和长度幅值length;将所述光流中当前帧的光流点的水平方向坐标代入所述动态背景光流模型中的光流方向与水平方向坐标关系函数计算得到光流统计方向θ’,根据公式d1=|θ-θ’|计算所述光流统计方向和所述角度值计算角度偏差值d1。
将所述光流中当前帧的光流点的竖直方向坐标代入所述动态背景光流模型中的长度幅值与竖直方向坐标关系函数(4)计算得到光流统计长度length’,根据公式d2=|length-length’|计算所述光流统计长度和所述长度幅值计算长度幅值偏差值d2。
本发明实施例提供了农机运动状态下动态障碍物检测方法,该方法中,通过动态背景光流模型的光流方向角度值函数、光流长度幅值函数、光流方向与水平方向坐标关系函数和长度幅值与竖直方向坐标关系函数能够准确计算出角度偏差值和长度幅值偏差值,再进一步准确滤除背景的光流,提高运动障碍物检测的可靠性。
进一步地,在上述发明实施例的基础上,所述基于长度幅值与竖直方向坐标关系函数计算得到光流统计长度,根据所述光流统计长度和所述长度幅值计算长度幅值偏差值,具体包括:
根据所述光流中当前帧的光流点的水平方向坐标和所述斜率与水平方向坐标关系函数,确定所述光流对应的斜率;
根据所述光流中当前帧的光流点的水平方向坐标和所述截距与水平方向坐标关系函数,确定所述光流对应的截距;
根据所述光流对应的斜率、所述光流对应的截距、所述光流中当前帧的光流点的竖直方向坐标和所述长度幅值与竖直方向坐标关系函数,确定光流统计长度;
根据所述光流统计长度和所述长度幅值计算长度幅值偏差值。
具体地,将所述光流中当前帧的光流点的水平方向坐标代入所述动态背景光流模型中的斜率与水平方向坐标关系函数,确定所述光流对应的斜率,将所述光流中当前帧的光流点的水平方向坐标代入所述动态背景光流模型中的截距与水平方向坐标关系函数,确定所述光流对应的截距,再将所述光流对应的斜率、所述光流对应的截距和所述光流中当前帧的光流点的竖直方向坐标代入所述动态背景光流模型中的长度幅值与竖直方向坐标关系函数(4),确定光流统计长度length’,根据公式d2=|length-length’|计算所述光流统计长度和所述长度幅值计算长度幅值偏差值d2,其中,length为根据动态背景光流模型中光流长度幅值函数确定所述光流对应的长度幅值length。
本发明实施例提供了农机运动状态下动态障碍物检测方法,该方法中,通过动态背景光流模型的斜率与水平方向坐标关系函数和截距与水平方向坐标关系函数准确确定所述光流对应的斜率和截距,再进一步准确确定长度幅值偏差值,准确滤除背景的光流,提高运动障碍物检测的可靠性。
进一步地,在上述发明实施例的基础上,所述针对滤除背景光流后的全景图像的每个团簇,滤除所述团簇中的噪声光流,具体包括:
针对滤除背景光流后的全景图像的每个团簇,统计所述团簇中光流的数量以及聚类中心坐标,并计算所述团簇中光流的方向方差和长度方差;
若所述团簇中光流的数量为1,和/或,所述方向方差大于方差阈值且长度方差大于长度阈值,则确定所述团簇中光流为噪声光流,并进行滤除。
具体地,综合多次试验数据的处理,可以归纳出杂草晃动等产生的噪声光流具有集群分布,方向差异大等特点,明显区别于前景运动障碍目标,所以本发明实施例采用K-means聚类分割算法、计算比较光流方向方差与光流长度方差相结合的方法,对杂草晃动等产生的噪声光流进行滤除。
在进行聚类分割后,根据所分成的团簇,统计光流数量以及聚类中心坐标(Xc,Yc),若团簇内光流数量为1,则直接认为是噪声光流,进行滤除;计算每个团簇内光流的方向均值μd与方差σd,同时计算光流的长度均值μl与方差σl;预先设定好方差阈值γd和长度阈值γl,当且仅当σd≤γd且σl≤γl时,认为该团簇符合前景运动目标的特点,进行保留,否则则认为是噪声光流,进行滤除。其中,方差阈值γd和长度阈值γl经过实验测试确定,如方差阈值γd选择为1,长度阈值γl选择为2,能够具有较好的效果。
本发明实施例提供了农机运动状态下动态障碍物检测方法,该方法中,K-means聚类分割算法、计算比较光流方向方差与光流长度方差相结合的方法,对杂草晃动等产生的噪声光流进行滤除,能够准确滤除噪声光流,提高运动障碍物检测的可靠性。
图3为本发明实施例提供的农机运动状态下动态障碍物检测装置的结构示意图,如图3所示,所述装置包括:
灰度图像获取模块301,用于获取农机直行状态时的全景图像;
获取模块301,用于将所述灰度图像划分为至少一个图像区域;
第一处理模块302,用于确定所述农机直行状态时的全景图像的检测区域,基于Shi-Tomasi法检测所述检测区域的角点,并基于图像金字塔的Lucas-Kanade光流法对所述角点进行跟踪检测,生成光流图像;
第二处理模块303,用于针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值;
第一判断模块304,用于若所述角度偏差值小于角度偏差阈值,且所述长度幅值偏差值小于长度幅值偏差阈值,则确定所述光流为背景光流,并滤除所述背景光流,得到滤除背景光流后的全景图像;
第三处理模块305,用于基于K-means聚类分割算法对所述滤除背景光流后的全景图像进行聚类分割,得到滤除背景光流后的全景图像的各个团簇;
第四处理模块306,用于针对滤除背景光流后的全景图像的每个团簇,滤除所述团簇中的噪声光流;
第二判断模块307,用于若任意两滤除噪声光流后的团簇中的聚类中心坐标的欧氏距离小于像素阈值,且对应光流方向的均值之差的绝对值小于1时,将两滤除噪声光流后的团簇划分为一类并提取运动目标,否则,对每个滤除噪声光流后的团簇直接提取运动目标。
该农机运动状态下动态障碍物检测装置用于实现前述各方法实施例提供的农机运动状态下动态障碍物检测方法。因此,在前述各方法实施例中的描述和定义,可以用于本发明实施例提供的农机运动状态下动态障碍物检测装置中各个执行模块的理解,在此不再赘述。
本发明实施例提供了农机运动状态下动态障碍物检测装置,该装置中,通过使用Lucas-Kanade光流法对全景图像中的运动障碍物进行检测,并根据实际农田作业情况建立动态背景光流模型滤除背景光流,通过K-means算法聚类分割并滤除噪声光流,最后根据各分割团簇使用外接矩形框选取前景运动目标,结合各分割团簇的光流主方向,以及团簇之间的距离,判断是否为同一前景运动目标,进行相应的结合处理,框选完整的前景运动目标,能够准确有效地实现农机运动状态下的基于全景视觉的运动障碍物检测,提高运动障碍物检测的可靠性和农机自动驾驶的安全性。
进一步地,在上述发明实施例的基础上,所述图像分割模块具体包括:
轮廓线提取单元,基于预设分割阈值确定所述灰度图像的轮廓线信息;
分割单元,基于分水岭算法,并根据所述灰度图像的轮廓线信息将所述灰度图像划分为至少一个图像区域。
进一步地,在上述发明实施例的基础上,模型建立模块,用于建立动态背景光流模型;
所述模型建立模块具体用于:
获取动态背景的全景图像;
基于Lucas-Kanade光流法检测所述动态背景的全景图像,生成背景光流图像;
针对所述背景光流图像中每个背景光流,根据背景光流坐标和背景光流方向的关系,确定如下角度值函数:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,θ为光流对应的角度值,单位为rad;
基于RANSAC算法,对所述背景光流方向存在突变错误的光流点和动态背景的全景图像底部农机产生的光流进行滤除;将所述背景光流的角度值和对应的水平方向坐标进行二项式拟合,得到光流方向与水平方向坐标关系函数;
针对所述背景光流图像中每个背景光流,根据背景光流水平方向坐标和背景光流竖直方向坐标的关系,确定如下长度幅值函数:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,length为光流对应的长度幅值,单位为像素;
针对所述背景光流图像中每个背景光流,对所述背景光流对应的长度幅值和当前帧背景光流竖直方向坐标,采用如下长度幅值与竖直方向坐标关系函数进行二项式拟合,确定斜率和截距:
length=kY2+b
其中,length为光流对应的长度幅值,单位为像素,Y2为当前帧背景光流竖直方向坐标,k为拟合后函数的斜率,b为拟合后函数的截距,单位为像素;
分别统计各组背景光流对应的斜率、截距和当前帧背景光流水平方向坐标,建立斜率与水平方向坐标关系函数,以及截距与水平方向坐标关系函数。
进一步地,在上述发明实施例的基础上,所述第二处理模块具体用于:
针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型中的光流方向角度值函数和光流长度幅值函数分别确定所述光流对应的角度值和长度幅值;
基于所述动态背景光流模型中的光流方向与水平方向坐标关系函数计算得到光流统计方向,根据所述光流统计方向和所述角度值计算角度偏差值;
基于所述动态背景光流模型中的长度幅值与竖直方向坐标关系函数计算得到光流统计长度,根据所述光流统计长度和所述长度幅值计算长度幅值偏差值。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(Processor)401、存储器(Memory)402、通信接口(Communications Interface)403和通信总线404,其中,处理器401,存储器402,通信接口403通过通信总线404完成相互间的通信。处理器401可以调用存储器402中的逻辑指令,以执行上述各方法实施例所提供的方法,例如包括:获取农机直行状态时的全景图像;确定所述农机直行状态时的全景图像的检测区域,基于Shi-Tomasi法检测所述检测区域的角点,并基于图像金字塔的Lucas-Kanade光流法对所述角点进行跟踪检测,生成光流图像;针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值;若所述角度偏差值小于角度偏差阈值,且所述长度幅值偏差值小于长度幅值偏差阈值,则确定所述光流为背景光流,并滤除所述背景光流,得到滤除背景光流后的全景图像;基于K-means聚类分割算法对所述滤除背景光流后的全景图像进行聚类分割,得到滤除背景光流后的全景图像的各个团簇;针对滤除背景光流后的全景图像的每个团簇,滤除所述团簇中的噪声光流;若任意两滤除噪声光流后的团簇中的聚类中心坐标的欧氏距离小于像素阈值,且对应光流方向的均值之差的绝对值小于1时,将两滤除噪声光流后的团簇划分为一类并提取运动目标,否则,对每个滤除噪声光流后的团簇直接提取运动目标。
此外,上述的存储器402中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法实施例所提供的方法,例如包括:获取农机直行状态时的全景图像;确定所述农机直行状态时的全景图像的检测区域,基于Shi-Tomasi法检测所述检测区域的角点,并基于图像金字塔的Lucas-Kanade光流法对所述角点进行跟踪检测,生成光流图像;针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值;若所述角度偏差值小于角度偏差阈值,且所述长度幅值偏差值小于长度幅值偏差阈值,则确定所述光流为背景光流,并滤除所述背景光流,得到滤除背景光流后的全景图像;基于K-means聚类分割算法对所述滤除背景光流后的全景图像进行聚类分割,得到滤除背景光流后的全景图像的各个团簇;针对滤除背景光流后的全景图像的每个团簇,滤除所述团簇中的噪声光流;若任意两滤除噪声光流后的团簇中的聚类中心坐标的欧氏距离小于像素阈值,且对应光流方向的均值之差的绝对值小于1时,将两滤除噪声光流后的团簇划分为一类并提取运动目标,否则,对每个滤除噪声光流后的团簇直接提取运动目标。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种农机运动状态下动态障碍物检测方法,其特征在于,包括:
获取农机直行状态时的全景图像;
确定所述农机直行状态时的全景图像的检测区域,基于Shi-Tomasi法检测所述检测区域的角点,并基于图像金字塔的Lucas-Kanade光流法对所述角点进行跟踪检测,生成光流图像;
针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值;
若所述角度偏差值小于角度偏差阈值,且所述长度幅值偏差值小于长度幅值偏差阈值,则确定所述光流为背景光流,并滤除所述背景光流,得到滤除背景光流后的全景图像;
基于K-means聚类分割算法对所述滤除背景光流后的全景图像进行聚类分割,得到滤除背景光流后的全景图像的各个团簇;
针对滤除背景光流后的全景图像的每个团簇,滤除所述团簇中的噪声光流;
若任意两滤除噪声光流后的团簇中的聚类中心坐标的欧氏距离小于像素阈值,且对应光流方向的均值之差的绝对值小于1时,将两滤除噪声光流后的团簇划分为一类并提取运动目标,否则,对每个滤除噪声光流后的团簇直接提取运动目标;
其中,所述方法还包括:
建立动态背景光流模型;
所述建立动态背景光流模型,具体包括:
获取动态背景的全景图像;
基于Lucas-Kanade光流法检测所述动态背景的全景图像,生成背景光流图像;
针对所述背景光流图像中每个背景光流,根据背景光流坐标和背景光流方向的关系,确定如下光流方向角度值函数:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,θ为光流对应的角度值,单位为rad;
基于RANSAC算法,对所述背景光流方向存在突变错误的光流点和动态背景的全景图像底部农机产生的光流进行滤除;将所述背景光流的角度值和对应的水平方向坐标进行二项式拟合,得到光流方向与水平方向坐标关系函数;
其中,所述光流方向与水平方向坐标关系函数为:
θ=-0.002828X2+6.244
θ为光流方向,单位为rad,X2为当前帧光流点的水平像素坐标,单位为像素;
针对所述背景光流图像中每个背景光流,根据背景光流水平方向坐标和背景光流竖直方向坐标的关系,确定如下光流长度幅值函数:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,length为光流对应的长度幅值,单位为像素;
针对所述背景光流图像中每个背景光流,对所述背景光流对应的长度幅值和当前帧背景光流竖直方向坐标,采用如下长度幅值与竖直方向坐标关系函数进行二项式拟合,确定斜率和截距:
length=kY2+b
其中,length为光流对应的长度幅值,单位为像素,Y2为当前帧背景光流竖直方向坐标,k为拟合后函数的斜率,b为拟合后函数的截距,单位为像素;
分别统计各组背景光流对应的斜率、截距和当前帧背景光流水平方向坐标,建立斜率与水平方向坐标关系函数,以及截距与水平方向坐标关系函数;
其中,所述针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值,具体包括:
针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型中的光流方向角度值函数和光流长度幅值函数分别确定所述光流对应的角度值和长度幅值;
基于所述动态背景光流模型中的光流方向与水平方向坐标关系函数计算得到光流统计方向,根据所述光流统计方向和所述角度值计算角度偏差值;
基于所述动态背景光流模型中的长度幅值与竖直方向坐标关系函数计算得到光流统计长度,根据所述光流统计长度和所述长度幅值计算长度幅值偏差值。
2.根据权利要求1所述的农机运动状态下动态障碍物检测方法,其特征在于,所述基于所述动态背景光流模型中的长度幅值与竖直方向坐标关系函数计算得到光流统计长度,根据所述光流统计长度和所述长度幅值计算长度幅值偏差值,具体包括:
根据所述光流中当前帧的光流点的水平方向坐标和所述斜率与水平方向坐标关系函数,确定所述光流对应的斜率;
根据所述光流中当前帧的光流点的水平方向坐标和所述截距与水平方向坐标关系函数,确定所述光流对应的截距;
根据所述光流对应的斜率、所述光流对应的截距、所述光流中当前帧的光流点的竖直方向坐标和所述长度幅值与竖直方向坐标关系函数,确定光流统计长度;
根据所述光流统计长度和所述长度幅值计算长度幅值偏差值。
3.根据权利要求1所述的农机运动状态下动态障碍物检测方法,其特征在于,所述针对滤除背景光流后的全景图像的每个团簇,滤除所述团簇中的噪声光流,具体包括:
针对滤除背景光流后的全景图像的每个团簇,统计所述团簇中光流的数量以及聚类中心坐标,并计算所述团簇中光流的方向方差和长度方差;
若所述团簇中光流的数量为1,和/或,所述方向方差大于方差阈值且长度方差大于长度阈值,则确定所述团簇中光流为噪声光流,并进行滤除。
4.一种农机运动状态下动态障碍物检测装置,其特征在于,包括:
获取模块,用于获取农机直行状态时的全景图像;
第一处理模块,用于确定所述农机直行状态时的全景图像的检测区域,基于Shi-Tomasi法检测所述检测区域的角点,并基于图像金字塔的Lucas-Kanade光流法对所述角点进行跟踪检测,生成光流图像;
第二处理模块,用于针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型计算角度偏差值和长度幅值偏差值;
第一判断模块,用于若所述角度偏差值小于角度偏差阈值,且所述长度幅值偏差值小于长度幅值偏差阈值,则确定所述光流为背景光流,并滤除所述背景光流,得到滤除背景光流后的全景图像;
第三处理模块,用于基于K-means聚类分割算法对所述滤除背景光流后的全景图像进行聚类分割,得到滤除背景光流后的全景图像的各个团簇;
第四处理模块,用于针对滤除背景光流后的全景图像的每个团簇,滤除所述团簇中的噪声光流;
第二判断模块,用于若任意两滤除噪声光流后的团簇中的聚类中心坐标的欧氏距离小于像素阈值,且对应光流方向的均值之差的绝对值小于1时,将两滤除噪声光流后的团簇划分为一类并提取运动目标,否则,对每个滤除噪声光流后的团簇直接提取运动目标;
其中,所述装置还包括:
模型建立模块,用于建立动态背景光流模型;
所述模型建立模块具体用于:
获取动态背景的全景图像;
基于Lucas-Kanade光流法检测所述动态背景的全景图像,生成背景光流图像;
针对所述背景光流图像中每个背景光流,根据背景光流坐标和背景光流方向的关系,确定如下角度值函数:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,θ为光流对应的角度值,单位为rad;
基于RANSAC算法,对所述背景光流方向存在突变错误的光流点和动态背景的全景图像底部农机产生的光流进行滤除;将所述背景光流的角度值和对应的水平方向坐标进行二项式拟合,得到光流方向与水平方向坐标关系函数;
其中,所述光流方向与水平方向坐标关系函数为:
θ=-0.002828X2+6.244
θ为光流方向,单位为rad,X2为当前帧光流点的水平像素坐标,单位为像素;
针对所述背景光流图像中每个背景光流,根据背景光流水平方向坐标和背景光流竖直方向坐标的关系,确定如下长度幅值函数:
其中,(X1,Y1)为背景光流起点的像素坐标,即上一帧图像检测出的光流点,单位为像素,(X2,Y2)为背景光流终点的像素坐标,即当前帧图像检测出的光流点,单位为像素,二者共同组成一个光流矢量,length为光流对应的长度幅值,单位为像素;
针对所述背景光流图像中每个背景光流,对所述背景光流对应的长度幅值和当前帧背景光流竖直方向坐标,采用如下长度幅值与竖直方向坐标关系函数进行二项式拟合,确定斜率和截距:
length=kY2+b
其中,length为光流对应的长度幅值,单位为像素,Y2为当前帧背景光流竖直方向坐标,k为拟合后函数的斜率,b为拟合后函数的截距,单位为像素;
分别统计各组背景光流对应的斜率、截距和当前帧背景光流水平方向坐标,建立斜率与水平方向坐标关系函数,以及截距与水平方向坐标关系函数;
其中,所述第二处理模块具体用于:
针对所述光流图像中每束光流,统计检测所述光流中当前帧的光流点的水平方向坐标和竖直方向坐标,并根据预先建立的动态背景光流模型中的光流方向角度值函数和光流长度幅值函数分别确定所述光流对应的角度值和长度幅值;
基于所述动态背景光流模型中的光流方向与水平方向坐标关系函数计算得到光流统计方向,根据所述光流统计方向和所述角度值计算角度偏差值;
基于所述动态背景光流模型中的长度幅值与竖直方向坐标关系函数计算得到光流统计长度,根据所述光流统计长度和所述长度幅值计算长度幅值偏差值。
5.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述的农机运动状态下动态障碍物检测方法的步骤。
6.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至3任一项所述的农机运动状态下动态障碍物检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010537164.3A CN111754550B (zh) | 2020-06-12 | 2020-06-12 | 一种农机运动状态下动态障碍物检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010537164.3A CN111754550B (zh) | 2020-06-12 | 2020-06-12 | 一种农机运动状态下动态障碍物检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111754550A CN111754550A (zh) | 2020-10-09 |
CN111754550B true CN111754550B (zh) | 2023-08-11 |
Family
ID=72676045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010537164.3A Active CN111754550B (zh) | 2020-06-12 | 2020-06-12 | 一种农机运动状态下动态障碍物检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111754550B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113570546B (zh) * | 2021-06-16 | 2023-12-05 | 北京农业信息技术研究中心 | 一种风机运行状态检测方法及装置 |
CN114815821B (zh) * | 2022-04-19 | 2022-12-09 | 山东亚历山大智能科技有限公司 | 基于多线激光雷达的室内自适应全景避障方法及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010021633A (ja) * | 2008-07-08 | 2010-01-28 | Nissan Motor Co Ltd | 移動体検出装置及び移動体検出方法 |
US8977037B1 (en) * | 2012-08-31 | 2015-03-10 | Google Inc. | Methods and systems of creating a stereoscopic image |
CN106875424A (zh) * | 2017-01-16 | 2017-06-20 | 西北工业大学 | 一种基于机器视觉的城市环境行驶车辆行为识别方法 |
CN108520526A (zh) * | 2017-02-23 | 2018-09-11 | 南宁市富久信息技术有限公司 | 一种车前方动态障碍物检测方法 |
CN108596045A (zh) * | 2018-04-02 | 2018-09-28 | 四川大学 | 一种基于空中监控平台的群体异常行为检测方法 |
CN109035293A (zh) * | 2018-05-22 | 2018-12-18 | 安徽大学 | 适用于视频图像中显著人体实例分割的方法 |
CN109636835A (zh) * | 2018-12-14 | 2019-04-16 | 中通服公众信息产业股份有限公司 | 基于模板光流的前景目标检测方法 |
-
2020
- 2020-06-12 CN CN202010537164.3A patent/CN111754550B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010021633A (ja) * | 2008-07-08 | 2010-01-28 | Nissan Motor Co Ltd | 移動体検出装置及び移動体検出方法 |
US8977037B1 (en) * | 2012-08-31 | 2015-03-10 | Google Inc. | Methods and systems of creating a stereoscopic image |
CN106875424A (zh) * | 2017-01-16 | 2017-06-20 | 西北工业大学 | 一种基于机器视觉的城市环境行驶车辆行为识别方法 |
CN108520526A (zh) * | 2017-02-23 | 2018-09-11 | 南宁市富久信息技术有限公司 | 一种车前方动态障碍物检测方法 |
CN108596045A (zh) * | 2018-04-02 | 2018-09-28 | 四川大学 | 一种基于空中监控平台的群体异常行为检测方法 |
CN109035293A (zh) * | 2018-05-22 | 2018-12-18 | 安徽大学 | 适用于视频图像中显著人体实例分割的方法 |
CN109636835A (zh) * | 2018-12-14 | 2019-04-16 | 中通服公众信息产业股份有限公司 | 基于模板光流的前景目标检测方法 |
Non-Patent Citations (1)
Title |
---|
基于光流法的篮球图像运动块差异自主检测方法;马明兵 等;《科学技术与工程》;第19卷(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111754550A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105096269B (zh) | 基于畸变直线结构检测的图像径向畸变矫正的方法及*** | |
US11205284B2 (en) | Vehicle-mounted camera pose estimation method, apparatus, and system, and electronic device | |
CN105718872B (zh) | 两侧车道快速定位及检测车辆偏转角度的辅助方法及*** | |
CN111754550B (zh) | 一种农机运动状态下动态障碍物检测方法及装置 | |
JP5105481B2 (ja) | 車線検出装置、車線検出方法、及び車線検出プログラム | |
CN103093198B (zh) | 一种人群密度监测方法及装置 | |
WO2022252380A1 (zh) | 静态障碍物接地轮廓线多帧融合方法、装置及介质 | |
TWI636428B (zh) | 影像分析方法、攝影機及其攝影系統 | |
CN105488501A (zh) | 基于旋转投影的车牌倾斜矫正的方法 | |
CN110930411B (zh) | 一种基于深度相机的人体分割方法及*** | |
CN110414308B (zh) | 一种针对输电线路上动态异物的目标识别方法 | |
US11430226B2 (en) | Lane line recognition method, lane line recognition device and non-volatile storage medium | |
CN109325913B (zh) | 无人机图像拼接方法及装置 | |
CN109544635B (zh) | 一种基于枚举试探的相机自动标定方法 | |
CN113516853B (zh) | 一种针对复杂监控场景的多车道车流量检测方法 | |
CN110458858A (zh) | 一种十字靶标的检测方法、***及存储介质 | |
Xu et al. | Dynamic obstacle detection based on panoramic vision in the moving state of agricultural machineries | |
CN106022268A (zh) | 一种限速标识的识别方法和装置 | |
CN114719873B (zh) | 一种低成本精细地图自动生成方法、装置及可读介质 | |
CN113191221B (zh) | 基于全景相机的车辆检测方法、装置以及计算机存储介质 | |
CN109886120B (zh) | 一种斑马线检测方法及*** | |
CN103077391B (zh) | 车标的定位方法及装置 | |
CN111339945A (zh) | 基于视频的人群聚散检查方法与*** | |
CN111260709A (zh) | 一种面向动态环境的地面辅助的视觉里程计方法 | |
CN117315274B (zh) | 一种基于自适应特征提取的视觉slam方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |