发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、检测成本低、检测精度及效率高、抗干扰性及环境适应性强的基于机器视觉的无人机自动检测与跟踪方法。
为解决上述技术问题,本发明提出的技术方案为:
一种基于机器视觉的无人机自动检测与跟踪方法,步骤包括:
S1.图像采集:实时采集被监控区域的图像数据;
S2.静态背景状态目标检测:获取静止背景状态的图像数据,提取前景图中的所有连通区域块,根据提取的所有所述连通区域块建立运动目标的轨迹模型,得到无人机目标位置,并根据得到的所述无人机目标位置确定图像中所需检测的局部检测区域;
S3.动态背景状态目标跟踪:获取动态背景图像数据中所述局部检测区域的图像数据进行目标检测,并根据检测结果更新所述局部检测区域以跟踪无人机目标。
作为本发明的进一步改进,所述步骤S2中建立运动目标的轨迹模型的具体步骤为:建立运动目标的航迹管理模块,通过所述航迹管理模块循环遍历每帧图像数据的所述连通区域块,将每个所述连通区域块添加至所属的轨迹,并在判断到目标连通区域相比于所属的轨迹为超时状态时将当前所属轨迹删除,直至存在元素个数达到指定阈值的目标轨迹,由目标轨迹建立得到运动目标的轨迹模型。
作为本发明的进一步改进,所述超时状态的判断步骤为:将目标连通区域与所属轨迹中最新连通区域的时间进行比较,如果比较结果超过预设阈值,则判定为处于超时状态,将当前所属轨迹删除。
作为本发明的进一步改进,所述航迹管理模块的具体执行步骤为:
S21.定义轨迹集合并初始化为空;
S22.循环遍历每帧产生的所述连通区域块;
S23.判断当前轨迹集合是否为空,如果是则为当前连通区域块Bi创建对应的轨迹Ti,并加入到所述轨迹集合中;否则分别计算当前连通区域块Bi与所述轨迹集合中各轨迹之间的距离,若存在当前连通区域块Bi与目标轨迹Ti之间的距离在指定范围内,则将当前连通区域块Bi添加到目标轨迹Ti中,转入执行步骤S24,否则为当前连通区域块Bi新建一条轨迹 Tj,转入执行步骤S24;
S24.对当前连通区域块Bi进行超时判断,将当前连通区域块Bi与所属目标轨迹T中最新连通区域块Bi’的时间进行比较,如果超过了设定的阈值,将所属目标轨迹T从所述轨迹集合中删除,否则转入执行步骤S25;
S25.判断当前连通区域块Bi对应的所属目标轨迹T中元素个数是否累计达到指定阈值,如果是,则判定所属目标轨迹T为有效的目标轨迹,由目标轨迹检测得到无人机目标,得到所述无人机目标位置;否则,返回执行步骤S22。
作为本发明的进一步改进,所述步骤S2得到无人机目标位置后,还包括根据所述无人机目标位置调整图像采集设备的采集方向以跟踪无人机的步骤,具体步骤为:根据所述无人机目标位置确定当前无人机目标的中心,并计算所述无人机目标的中心相比于图像中心的偏移方向,按照计算得到的所述偏移方法控制所述图像采集设备调整采集方向。
作为本发明的进一步改进,所述步骤S2中具体以所述无人机目标位置为中心、指定范围内区域作为所述局部检测区域。
作为本发明的进一步改进,所述步骤S3的具体步骤为:
S31.根据所述步骤S2确定的无人机目标位置调整图像采集设备的方向后,将所述步骤 S2确定的所述局部检测区域作为当前局部检测区域,转入执行步骤S32;
S32.获取一帧图像数据,取获取的图像中当前局部检测区域内对应的图像数据进行目标检测,确定得到无人机目标;
S33.根据所述步骤S32得到的无人机目标的位置更新所述局部检测区域,将更新后所述局部检测区域作为当前局部检测区域,并根据所述步骤S32得到的无人机目标位置与图像中心位置之间的偏差值调整图像采集设备的采集方向,返回执行步骤S32,直至完成跟踪控制。
作为本发明的进一步改进,所述步骤S32中目标检测的具体步骤为:通过边缘检测获取目标的轮廓信息,得到边缘图像;对所述边缘图像进行处理以使得连通区域完整,获取处理后的连通区域块集合;对所述处理后的连通区域块集合计算几何特征进行特征匹配,确定得到被测无人机目标;所述几何特征包括长宽比、占空比以及散度中一种或多种,所述长宽比为所述连通区域块对应的外接矩形的长宽比,所述占空比为所述连通区域块的区域面积、与对应的外接矩形面积的比值,所述散度为所述连通区域块的轮廓周长的平方与面积的比值。
作为本发明的进一步改进,所述步骤S32还包括使用图像元方差分类器确定得到被测无人机目标步骤,具体步骤为:分别计算上一帧检测到的无人机目标图像数据、所述局部检测区域的图像的像素灰度值方差,若计算到的对应所述无人机目标图像数据的方差与对应所述局部检测区域的方差之间的差值大于指定阈值,则判定当前区域内的所述连通区域块为非无人机目标。
作为本发明的进一步改进,所述步骤S3中根据检测结果更新所述局部检测区域的具体步骤为:判断当前确定得到的无人机目标是否处于图像的中心区域,如果是,则使用图像的中心区域更新为所述局部检测区域,否则使用当前得到的无人机所处位置为中心的指定区域更新为所述局部检测区域。
与现有技术相比,本发明的优点在于:
1)本发明通过实时采集被监控区域的图像数据,依次进行静态背景状态目标检测、动态背景状态跟踪,能够基于机器视觉实现对无人机进行自动检测与跟踪,且静态目标检测时,通过建立运动目标的轨迹模型,实现对各运动目标的航迹管理,通过对检测到的目标建立航迹跟踪可以过滤大部分的干扰物,有效的提高了无人机检测的精度及环境适应性,同时进行动态背景状态目标跟踪时,结合通过轨迹模型得到的无人机目标位置确定局部检测区域,由局部检测区域来确定无人机目标,可以实现快速、精确的无人机检测,通过实时更新的动态局部检测区域即可实现无人机的准确跟踪;
2)本发明通过利用无人机飞行连续性的特点,对所有检测到的目标建立航迹管理模块,实现方法简单,可以有效过滤过滤绝大多数由飞鸟、云朵、光照变化等引起的误报,从而提高检测的精度及环境适应性;
3)本发明确定得到的局部检测区域后,下一帧图像数据进行无人机检测时,只需要对当前确定的局部检测区域位置内的图像进行无人机检测,同时利用实时局部检测区域的动态更新来实现无人机跟踪,实现方法简单且计算量小,相比于传统的动态背景下目标跟踪方法能够大大降低计算复杂度,且目标跟踪效果好,能够满足实时性要求高的应用场景的需求;
4)本发明进一步结合静态背景状态的目标检测方法初始化局部检测区域,并根据无人机的位置与图像中心位置的方向偏差来调整图像采集的方向,采集当前位置的图像数据后,获取该图像当前局部检测区域内的图像数据来确定是否存在无人机目标,使得由实时的检测结果动态调整图像采集,有效提高图像采集精度,从而提高无人机目标检测与跟踪精度。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本实施例基于机器视觉的无人机自动检测与跟踪方法,步骤包括:
S1.图像采集:实时采集被监控区域的图像数据;
S2.静态背景状态目标检测:获取静止背景状态的图像数据,提取前景图中的所有连通区域块,根据提取的所有连通区域块建立运动目标的轨迹模型,得到无人机目标位置,并根据得到的无人机目标位置确定图像中所需检测的局部检测区域;
S3.动态背景状态目标跟踪:获取动态背景图像数据中局部检测区域的图像数据进行目标检测,并根据检测结果更新局部检测区域以跟踪无人机目标。
本实施例通过实时采集被监控区域的图像数据后,依次进行静态背景状态目标检测、动态背景状态目标跟踪,能够基于机器视觉实现对无人机进行自动检测与跟踪,且静态背景状态目标检测时,通过建立运动目标的轨迹模型,实现对各运动目标的航迹管理,通过对检测到的目标建立航迹跟踪可以过滤大部分的干扰物,有效的提高了无人机检测的精度及环境适应性,同时动态背景状态目标跟踪时,结合通过轨迹模型得到的无人机目标位置确定局部检测区域,由局部检测区域来确定无人机目标,可以实现快速、精确的无人机检测,通过实时更新的动态局部检测区域即可实现无人机的准确跟踪。
本实施例中,步骤S2中建立运动目标的轨迹模型的具体步骤为:建立运动目标的航迹管理模块,通过航迹管理模块循环遍历每帧图像数据的连通区域块,将每个连通区域块添加至所属的轨迹,并在判断到目标连通区域相比于所属的轨迹为超时状态时将当前所属轨迹删除,直至存在元素个数达到指定阈值的目标轨迹,由目标轨迹建立得到运动目标的轨迹模型。通过利用无人机飞行连续性的特点,对所有检测到的目标建立航迹管理模块,实现方法简单,可以有效过滤过滤绝大多数由飞鸟、云朵、光照变化等引起的误报,从而提高检测的精度及环境适应性。
本实施例中,将每个连通区域块Blob添加至所属的轨迹具体步骤为:判断目标连通区域与目标轨迹之间的距离是否在指定范围内,如果是,判定目标连通区域属于目标轨迹,将目标连通区域添加至目标轨迹中。
本实施例中,步骤S3中判断超时状态的具体步骤为:将目标连通区域与所属轨迹中最新连通区域的时间进行比较,如果比较结果超过预设阈值,则判定为处于超时状态,将当前所属轨迹删除。
如图2所示,本实施例中航迹管理模块的具体执行步骤为:
S21.定义轨迹集合并初始化为空;
S22.循环遍历每帧产生的连通区域块;
S23.判断当前轨迹集合是否为空,如果是则为当前连通区域块Bi创建对应的轨迹Ti,并加入到轨迹集合中;否则分别计算当前连通区域块Bi与轨迹集合中各轨迹之间的距离,若存在当前连通区域块Bi与目标轨迹Ti之间的距离在指定范围内,则将当前连通区域块Bi添加到目标轨迹Ti中,转入执行步骤S24,否则为当前连通区域块Bi新建一条轨迹Tj,转入执行步骤S24;
S24.对当前连通区域块Bi进行超时判断,将当前连通区域块Bi与所属目标轨迹T中最新连通区域块Bi’的时间进行比较,如果超过了设定的阈值,将所属目标轨迹T从轨迹集合中删除,否则转入执行步骤S25;
S25.判断当前连通区域块Bi对应的所属目标轨迹T中元素个数是否累计达到指定阈值,如果是,则判定所属目标轨迹T为有效的目标轨迹,由目标轨迹检测得到无人机目标,得到无人机目标位置;否则,返回执行步骤S22。
通过上述步骤,能够实现有效的航迹管理,建立得到精确的目标航迹模型,从而有效过滤掉绝大多数如飞鸟、云朵等的干扰物。
本实施例中,步骤S2得到无人机目标位置后还包括根据无人机目标位置调整图像采集设备的采集方向的步骤,具体步骤为:根据无人机目标位置确定当前无人机目标的中心,并计算无人机目标的中心相比于图像中心的偏移方向,按照计算得到的偏移方法控制图像采集设备调整采集方向,如控制调整云台PTZ的运动,使得由实时的检测结果动态调整云台方向,可以有效提高图像采集的精度,从而提高无人机目标检测与跟踪精度。
本实例通过结合静态背景状态的目标检测方法初始化局部检测区域,并根据无人机的位置与图像中心位置的方向偏差来调整图像采集的方向,采集当前位置的图像数据后,获取该图像当前局部检测区域内的图像数据来确定是否存在无人机目标,使得由实时的检测结果动态调整图像采集,有效提高图像采集精度,从而提高无人机目标检测与跟踪精度。
本实施例中,步骤S2中具体以无人机目标位置为中心、指定范围内区域作为局部检测区域,由局部检测区域来确定所需进行目标检测的图像区域,局部检测区域即为局部目标锁定区域Rect_lock,以锁定局部需要检测的区域,使得无需对整个图像区域均进行目标检测,减少所需处理的数据量,提高目标检测的效率及精度。
如图2所示,在具体应用实施例中,步骤S2的具体步骤为:
(1)在采集到图像数据后,为每一个像素点建立自适应的混合高斯模型,经过连续N 帧计算,将当前图像中的背景与前景分离;
(2)获取前景图中的所有连通区域块Blob;
获取前景图中的所有连通区域块Blob的具体步骤为:以前景图中第一个非零像素点作为起点,不断向周围扩展以查找联通的非零点,具体可按照上下左右的扩展方式,查找到非零点后将前景图中对应值清零,直到没有联通的点,完成一个连通区域块Blob的搜索,根据预设条件(如最大最小像素点条件)将搜索到的连通区域块Blob保留或删除;查找下一个连通区域块Blob的非零像素点并作为起点,返回执行,直至完成整幅前景图的全像素扫描,得到所有的连通区域块Blob。
(3)邻近通区域块Blob合并;
由于通过混合高斯背景建模的过程中,可能由于环境中光线强弱、前景目标与背景区域颜色相似性等问题,导致本该是前景目标的区域被当作背景,这样就可能存在一个前景目标被分割成多个临近的Blob块。本实施例获得所有连通区域块Blob后还包括邻近通区域块合并步骤,具体步骤为:遍历得到的所有连通区域块Blob,查找是否存在两个相邻目标连通区域块Blob之间的像素点距离D小于预设阈值T1,如果存在,判定该两个目标连通区域块Blob 相互邻近,并将该两个目标连通区域块Blob连接成一个完整的Blob。
(4)建立运动目标的航迹管理模块;
在具体应用实施例中,建立运动目标的航迹管理模块时,首先为轨迹设定三种状态:“新建”、“有效”、“失效”,且轨迹Trajectory是由Blob组成,轨迹中的元素满足以下三个条件:①同一条轨迹在每帧数据中最多存在一个Blob;②同一条轨迹内,相邻两个元素的时间间隔不能超过N帧(N通常取5~8),即当最新的Blob(表示为Blobnew)与轨迹内最新的Blob(表示为Blobnew T)进行比较,如果两者时间间隔在N帧以内,则将Blob_new作为该轨迹的最新元素;③连续累计M个元素,则该轨迹的状态由“新建”变成“有效”;
定义首次获取Blob的图像数据帧时,将该帧下所有Blob都各自新建其对应的轨迹,且轨迹状态设定为新建;
按照上述定义循环处理每一帧,定义Blob属于某条轨迹元素的方法具体步骤为:
i将该Blob与已存在的所有轨迹集合进行循环比较;
ⅱ根据按照上述条件②对新的Blobnew与某轨迹内最新的Blobnew T进行超时判断;
ⅲ如果没有超时,则计算Blobnew T与Blobnew之间的距离Dis,并与设定的阈值T2进行比较:如果Dis小于阈值T2,则认为Blobnew属于该轨迹Tra,同时根据上条件③判断该轨迹的状态是否为“有效”;否则,继续将Blobnew与下一条轨迹的Blobnew Tnext进行比较判断,直到与所有轨迹都进行比较,判断Blobnew不属于已有的所有轨迹集合,则可以将该Blobnew建立新的一条轨迹;如果超时,则该轨迹的状态变为“失效”,同时从轨迹集合中删除。
(5)获取有效的局部检测区域;
由轨迹管理模块输出的“有效”目标,经过特征过滤后即可得到静止背景条件下无人机所在的位置,得到无人机目标位置后,以得到的无人机目标中心点为局部检测区域的中心、指定范围内的区域作为局部检测区域,即为得到初始的局部检测区域以用于后续进行无人机检测与跟踪。上述指定范围具体可取矩形区域大小,矩形区域的宽和高根据实际需求设定,如具体将矩形中心区域的宽和高设定为200像素点和100像素点。
(6)球机方向调整;
获取有效的局部检测区域后,计算当前无人机目标的中心相比于图像中心的偏移方向,根据计算得到的偏移方向控制球机水平或俯仰运动,以提高图像采集的有效性。
本实施例中,步骤S3的具体步骤为:
S31.根据步骤S2确定的无人机目标位置调整图像采集设备的方向后,将步骤S2确定的局部检测区域作为当前局部检测区域,转入执行步骤S32;
S32.获取一帧图像数据,取获取的图像中当前局部检测区域内对应的图像数据进行目标检测,确定得到无人机目标;
S33.根据步骤S32得到的无人机目标的位置更新所述局部检测区域,将更新后局部检测区域作为当前局部检测区域,并根据步骤S32得到的无人机目标位置与图像中心位置之间的偏差值调整图像采集设备的采集方向,返回执行步骤S32,直至完成跟踪控制。
采用上述步骤,确定得到的局部检测区域后,下一帧图像数据进行无人机检测时,只需要对当前确定的局部检测区域位置内的图像进行无人机检测,同时利用实时局部检测区域的动态更新来实现无人机跟踪,实现方法简单且计算量小,相比于传统的动态背景下目标跟踪方法能够大大降低计算复杂度,且目标跟踪效果好,能够满足实时性要求高的应用场景的需求。
本实施例具体在通过步骤S2检测到静止背景条件下无人机所在的位置后,以该位置为中心,指定范围内的区域设定为局部检测区域,通过对连续的图像序列中每帧数据下局部检测区域进行无人机检测,同时根据检测结果控制云台PTZ的运动,并不断更新局部检测区域,以此实现动态背景条件下的无人机跟踪。
本实施例中,步骤S32中目标检测的具体步骤为:通过边缘检测获取目标的轮廓信息,得到边缘图像;对边缘图像进行处理以使得连通区域完整,获取处理后的连通区域块集合;对处理后的连通区域块集合计算几何特征进行特征匹配,确定得到被测无人机目标;几何特征包括长宽比、占空比以及散度中一种或多种,长宽比为连通区域块对应的外接矩形Rect的长宽比,该值的取值范围为[1.0,2.5];占空比为连通区域块的区域面积Areablob、与对应的外接矩形Rect面积AreaRect的比值,该值的取值范围具体为[0.3,0.95];散度为连通区域块的轮廓周长的平方与面积的比值,该值的取值范围具体为[8.0,∞]。通过在确定的局部检测区域内采用边缘检测的方法定位目标,定位实现简单且精度高,结合实时更新动态的局部检测区域,能够实时、高效的实现无人机检测与跟踪。
本实施例中,步骤S32还包括使用图像元方差分类器确定得到被测无人机目标步骤,具体步骤为:分别计算上一帧检测到的无人机目标图像数据Imagedrone、局部检测区域的图像 Imagerect的像素灰度值方差,若计算到的对应无人机目标图像数据Imagedrone的方差与对应局部检测区域的图像Imagerect的方差之间的差值大于指定阈值,则判定当前区域内的连通区域块不为无人机目标,具体设定为如果Imagerect的方差小于Imagedrone的方差的一半,则判定当前区域内的连通区域块不属于无人机目标。通过结合长宽比、占空比、散度的几何特征以及图像元方差分类器来共同实现无人机目标的确定,可以有效区分无人机与其他干扰物,方法简单有效,能够进一步提高无人机检测的精度及环境适应性。
本实施例中,步骤S3中根据检测结果更新局部检测区域的具体步骤为:判断当前确定得到的无人机目标是否处于图像的中心区域,如果是,则使用图像的中心区域更新为局部检测区域,否则使用当前得到的无人机所处位置为中心的指定区域更新为局部检测区域。
如图4所示,在具体实施例中,基于边缘检测进行目标检测的具体步骤为:
i获取局部检测区域对应的原始图像,通过图像灰度化,将彩色图转化为灰度图;
ⅱ对灰度图进行去噪处理,采用3*3的内核对灰度图进行平滑降噪;
ⅲ采用边缘检测提取降噪后图像的边缘,同时对边缘图像进行形态学闭操作,进一步剔除边缘的部分毛刺,弥合狭窄的间断,填充小孔洞,使得轮廓更光滑;
ⅳ对边缘图像进行填充、合并操作,获得Blob连通区域集合;
ⅴ筛选所有Blob,通过计算包括占空比、长宽比、散度的几何特征和图像元方差分类器来过滤云层、飞鸟等其他目标的干扰,确认无人机目标:
ⅵ通过步骤ⅴ得到无人机目标后,判定该无人机是否进入图像的中心区域Rectcenter,中心区域Rectcenter即为以图像中心为中心点的指定范围内区域(具体可设定为宽和高为200像素点和100像素点的矩形区域),如果无人机进入中心区域Rectcenter,则局部检测区域更新为中心区域Rectcenter,否则由当前无人机为中心的指定区域更新为局部检测区域。
通过上述步骤,通过边缘检测获取目标的轮廓信息,进行轮廓填充、连接、删除、平滑过滤等步骤后,能够获取较为完整的连通区域,再结合对该连通区域计算几何特征和图像元方差分类器进行干扰过滤,能够有效过滤各种干扰物,从而精确的确认得到无人机目标,结合检测到的无人机位置实时更新局部检测区域,实现对飞行无人机的实时跟踪。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。