一种基于图像处理技术的群集运动数据采集方法及系统与流程

文档序号:12068540阅读:446来源:国知局
一种基于图像处理技术的群集运动数据采集方法及系统与流程

本发明属于群集运动研究技术领域,更具体地,涉及一种群集运动数据采集方法及系统。



背景技术:

群集运动是一种普遍存在的自然现象,从到蚂蚁、细菌等的集体移动,到鸟群的成群飞翔、鱼群的结队巡游、蝗虫的集群迁徙,以及在现实生活中的人群都是群集运动的典型代表。这些由大量自主个体所组成的群体在飞行、巡游及移动过程中如何形成各种各样协调有序的集体运动模式,又如何就外部作用迅速地、几乎步调一致地改变当前运动状态,这种高度协调且极度有序的集体运动模式的产生机理和内在机制,长期以来一直是群集运动研究所探讨的核心问题。但是实验数据的缺乏严重制约了群集运动研究的进展,实验场地、数据采集以及数据处理分析的过程涉及的模块众多,因此有必要建立完整的数据采集处理方案,以供群集运动的分析和研究。



技术实现要素:

针对现有技术的问题和迫切技术需求,本发明提供一种通用的群集运动数据采集方法及系统,其目的在于,可以快速的获取群集运动实验数据,大大降低实验周期和数据处理周期。

一种群集运动实验数据采集方法,该方法包括以下步骤:

(1)在实验场景中采集群集运动目标的视频;

(2)从当前视频帧中提取目标运动区域;

(3)对目标运动区域滤除背景;

(4)将滤除背景的目标运动区域与目标灰度阈值进行比较,判定大于目标阈值的像素点为可疑目标像素点,将邻近的可疑目标像素点视为一个可疑目标;

(5)将可疑目标与预定目标长度、宽度和面积阈值进行比较,判定可疑目标为个体目标、多目标重合、非目标中的一种;

(6)若可疑目标为个体目标,则将可疑目标与当前视频帧的目标预测位置进行匹配,将匹配成功的目标ID赋值给可疑目标;

(7)若可疑目标为多个个体目标重叠,则进行可疑目标拆分操作,再将拆分得到的个体目标与当前视频帧的目标预测位置进行匹配,将匹配成功的目标ID赋值给个体目标;

(8)若可疑目标为非目标,则忽略。

进一步地,所述步骤(5)的具体实现过程为:

设可疑目标d的长为a,宽为b,面积为s;预订的长度边界上、下阈值为Amax,Amin,宽度边界上下阈值为Bmax,Bmin,面积的边界上下阈值为Smax,Smin,则:

如满足Amin<a<Amax,且Bmin<b<Bmax,且Smin<s<Smax,则d是个体目标;

如满足a<Amin,或b<Bmin,或s<Smin,则d是非目标;

如满足a>Amax,或b>Bmax,或s>Smaxs,则d为多目标重合。

进一步地,所述步骤(6)的具体实现过程为:依据前一帧定位的目标位置、方向、速度预测目标在当前帧中的位置,将可疑目标与当前视频帧的目标预测位置进行匹配,将匹配成功的目标ID赋值给可疑目标。

进一步地,所述步骤(7)可疑目标拆分操作的具体实现过程为:往当前帧的相邻前后几帧中,找寻可疑目标区域附近的目标,如果存在几个运动目标,则根据这几个目标的速度和方向,预测这几个目标在当前帧中的位置,若预测目标位置在可疑目标区域中,则在当前帧中将预测目标作为目标;若预测目标位置不在可疑目标区域中,则忽略该可疑目标。

进一步地,还包括步骤(9)后期修正,具体的实现过程为:

遍历所有视频帧,找到目标个体数量异常减少的视频帧,手动增加个体运动目标;

遍历所有视频帧,找到目标个体数量异常增加的视频帧,手动减少个体运动目标;

遍历所有视频帧,找到目标个体速度和方向异常突变的视频帧,将涉及异常的两个目标ID进行交换。

进一步地,所述目标灰度阈值

其中,threshold是目标灰度阈值,X(p)是像素点p的灰度值,u(p)是背景图像像素点p的值,σ(p)是像素点p的标准差。

一种群集运动数据采集系统,包括:实验图像采集单元和上位机处理单元。

实验图像采集单元包括摄像机、支撑架、可控光源、稳压源;其中,摄像机置于支撑架上,立于实验场地正上方,将整个实验场地完全覆盖拍摄;可控光源放置在实验场地的四周,提供均匀的柔性光照;稳压源用以控制补光灯的亮度;

上位机处理单元用于对采集的群集运动目标视频图像进行处理,获取运动目标的轨迹信息,包括:

视频帧提取子模块,用于提取群集运动目标的视频;

目标运动区域提取子模块,用于从当前视频帧中提取目标运动区域;

背景滤除子模块,用于对目标运动区域滤除背景;

可疑目标定位子模块,用于将滤除背景的目标运动区域与目标灰度阈值进行比较,判定大于目标阈值的像素点为可疑目标像素点,将邻近的可疑目标像素点视为一个可疑目标;

可疑目标识别子模块用于将可疑目标与预定目标长度、宽度和面积阈值进行比较,判定可疑目标为个体目标、多目标重合、非目标中的一种;

个体目标跟踪子模块用于若可疑目标为个体目标,则将可疑目标与当前视频帧的目标预测位置进行匹配,将匹配成功的目标ID赋值给可疑目标

多目标重叠跟踪子模块用于若可疑目标为多个个体目标重叠,则进行可疑目标拆分操作,再将拆分得到的个体目标与当前视频帧的目标预测位置进行匹配,将匹配成功的目标ID赋值给个体目标;

非目标跟踪子模块用于若可疑目标为非目标,则忽略。

进一步地,所述可疑目标识别子模块的具体实现过程为:

设可疑目标d的长为a,宽为b,面积为s;预订的长度边界上、下阈值为Amax,Amin,宽度边界上下阈值为Bmax,Bmin,面积的边界上下阈值为Smax,Smin,则:

如满足Amin<a<Amax,且Bmin<b<Bmax,且Smin<s<Smax,则d是个体目标;

如满足a<Amin,或b<Bmin,或s<Smin,则d是非目标;

如满足a>Amax,或b>Bmax,或s>Smaxs,则d为多目标重合;

所述个体目标跟踪子模块的具体实现过程为:依据前一帧定位的目标位置、方向、速度预测目标在当前帧中的位置,将可疑目标与当前视频帧的目标预测位置进行匹配,将匹配成功的目标ID赋值给可疑目标;

所述多目标重叠跟踪子模块的具体实现过程为:往当前帧的相邻前后几帧中,找寻可疑目标区域附近的目标,如果存在几个运动目标,则根据这几个目标的速度和方向,预测这几个目标在当前帧中的位置,若预测目标位置在可疑目标区域中,则在当前帧中将预测目标作为目标;若预测目标位置不在可疑目标区域中,则忽略该可疑目标。

进一步地,还包括后期修正子模块,用于:

遍历所有视频帧,找到目标个体数量异常减少的视频帧,手动增加个体运动目标;

遍历所有视频帧,找到目标个体数量异常增加的视频帧,手动减少个体运动目标;

遍历所有视频帧,找到目标个体速度和方向异常突变的视频帧,将涉及异常的两个目标ID进行交换。

进一步地,还包括后期修正子模块,所述目标灰度阈值其中,threshold是目标灰度阈值,X(p)是像素点p的灰度值,u(p)是背景图像像素点p的值,σ(p)是像素点p的标准差。

本发明的有益效果体现在:

本发明公开了一种基于图像处理技术的群集运动数据采集方法,根据视频数据进行目标跟踪得到轨迹,在跟踪过程中识别重合目标并拆分,提高了跟踪准确度,可实现各种大小群集目标的准确跟踪。进一步地,能对跟踪出现的异常,如目标个体的减少、增加和交换等情况进行后期手动修正。本发明可以方便的采集数据,并且基于软件处理系统的图像轨迹跟踪和后期人工修正,大大加快了实验数据的获取的速度和准确性。

附图说明

图1为本发明的实验平台实物结构示意图;

图2为本发明的方法流程图;

图3为本发明的图像处理获取运动目标轨迹的效果图。

具体实施方式

为了使本发明的目的、实施方案和优点更加清楚明白,下面结合采集鱼群数据的实验进行详细说明。但因为图像处理中运动目标的大小可自由设置,因此本发明并不局限于鱼群。

一、准备工作

(1)根据目标大小,制作群集运动目标的实验场地。实验场地是根据目标的大小和运动情况来选择,主要以规则的长方形和圆形为主。图1给出了一个实例,在实物示意图1中最下方的部件1,是一个边长为1米的正方形(或半径1米的圆形)塑料水池。目标是鱼群,种类为锦鲤,颜色为红色,大小为3-6厘米,高度为3-5厘米,每次实验的数量为3-20只不等。因此设置边长为1米的活动场地,并且塑料水池的颜色为白色,方便作为背景和鱼群区分。

(2)补光装置的安装。补光装置用于辅助图像采集,在实验场地四周提供均匀的补光,大大提高数据的精度。在活动场地的四周,安装大型的柔性LED灯,如图1中部件2,用铁质支架支撑,提供均匀的光照,消除环境光照(阳光)的不均匀带来的阴影。同时,图1中部件5所示的稳压电源,用来给LED灯提供稳定的直流电源。

(3)安装摄像头采集系统。摄像头装置如图1部件3所示,安装在白色水池的正上方,调整到合适的高度正好能将整个水池完全拍摄。需要注意的是,摄像头轻微的晃动对后期处理带来很大的影响,因此需要安装固定结实。此外,摄像头的数据需要实时导入到图1部件4所示的电脑中。

二、数据采集

在白色塑料水池中,加水到目标鱼群的相等高度,在此设置为5厘米,设置此值的原因是,需要使用摄像头进行轨迹跟踪,必须使得鱼群不能上下重合,否则图像处理将不能区分。选定目标鱼群数量为3-20只,放到水池中。开启补光装置和电脑,打开摄像头录制选项,持续录制20分钟左右后关闭系统,得到真实的视频数据。

三、处理工作

(1)截取合适的群集运动视频帧。

针对采集的数据,设定起始帧数和结束帧数,省略掉视频开始和结束有干扰的视频段。Fi1表示原始视频数据的起始帧数,Fj1表示原始视频数据的结束帧数,设置i2,j2,处理后留下i2到j2之间的视频数据帧数。

Fi1:Fj1→Fi2:Fj2(其中i2>i1,j2<j1)

(2)从当前视频帧中提取目标运动区域。

针对摄像头采集的数据区域会比实际的区域大,需要在视频中选择目标区域,如上所说的正方形、圆形。此处使用的原理是Hough变化,实现直线和圆形的自动检测,来得到正方形和圆形的目标区域。在Hough直线变换中,采用(r,theta)来表示一条直线。其中r为该直线到原点的距离,theta为该直线的垂线与x轴的夹角,思想就是:为每一个点假设n个方向的直线,通常n=180,此时检测的直线的角度精度为1°,分别计算这n条直线的(r,theta)坐标,得到n个坐标点。如果要判断的点共有N个,最终得到的(r,theta)坐标有N*n个。有关这N*n个(r,theta)坐标,其中theta是离散的角度,共有180个取值。如果多个点在一条直线上,那么必有这多个点在theta=某个值theta_i时,这多个点的r近似相等于r_i。也就是说这多个点都在直线(r_i,theta_i)上。

(3)使用背景差法进行运动轨迹跟踪需要获取背景图像。获取原理是,从整个数据段中,选取一定数量的图像的平均作为背景图像的估计。如下,T为视频数据的帧数,n为选取的背景帧数数量(一般是100,n<T),则采样间隔:

Δ=T/n

在处理中,假设每个像素点p都是满足高斯分布的,则得到背景图像p的高斯分布中心u(p)如下:

其中X(p)表示像素点p的第i次采样值,Δ为采样帧数间隔则均值绝对标准差σ(p)如下:

其中a为经验值,决定背景更新的快慢。虽然选取的图像中也存在着目标个体,但是由于选取间隔的帧数比较多,目标个体的位置变化很大,经过平均后,目标个体对背景图像的影响很小,可以得到比较准确的背景估计。这样目标检测就可利用,当前帧图像和背景图像相减,像素点的阈值大于某一值threshold时,则属于某一个目标个体,否则忽略。

(4)设定目标灰度阈值,来判断相减后的像素点是否是运动目标,此值需要动态调节达到最优。如果大于此值,则是运动目标像素点。阈值判断公式为:

其中,threshold是目标灰度阈值,X(p)是像素点p的灰度值,u(p)是背景图像像素点p的值,若调大threshold,检测目标数量少,会将低对比度的个体当成背景,但不易受环境(如光照、水波)影响。若调小threshold,检测目标数量多,会将环境的变化(如光照变化、水波波动)等识别成目标。因此,threshold大小对目标的检测有重要的作用,调节此值的目的是,让视频数据的大多数帧数中检测的目标个数尽量与实际的运动目标个数相等。

得到可疑目标像素点后,将相邻的像素点连接起来,看成一个可疑目标个体。

(5)将可疑目标与预定目标长度、宽度和面积阈值进行比较,判定可疑目标为个体目标、多个个体目标重叠、非目标中的一种

可能存在可疑目标和实际目标不匹配的情况。假定第i帧图像识别出来的可疑目标有n(i)个,实际目标恒为m个,则需要使得以下方程最小:

即在大多数帧数中,检测的可疑目标和实际目标数量相等。但是在此过程中,会出现以下两种情况导致识别可疑目标和实际目标相差很大。

1、将水波波动、光照阴影等识别成可疑目标;

2、多个运动目标重合,识别成一个目标;

针对问题1,水波波动和光照阴影导致的可疑目标,目标比较小,通过目标大小过滤模块,去除小目标。

针对问题2,多个目标重合,会导致可疑目标比较大,需要将此区域附件前后帧数中的目标进行位置预测,预测会出现在可疑目标的什么位置,这样就可以拆分可疑目标成为几个目标。因此设置目标长、宽、面积的最大值后,当超出此值,则进行可疑目标的拆分操作。

设检测目标d的长为a,宽为b,面积为s,设定的长度边界值为Amin,Amax,宽度边界值为Bmin,Bmax,面积的边界值Smin,Smax,则:

1、如满足Amin<a<Amax,且Bmin<b<Bmax,且Smin<s<Smax,则d是一个个体目标。

2、如满足a<Amin,或b<Bmin,或s<Smin,则d是干扰,会被忽略。

3、如满足a>Amax,或b>Bmax,或s>Smaxs,则d为多目标重合,会进行拆分操作。如果拆分操作不成功,则d会被忽略(这种情况只能通过后期修正处理)。

(6)若可疑目标为个体目标,则将可疑目标与当前视频帧的目标预测位置进行匹配,将匹配成功的目标ID赋值给可疑目标。

依据前一帧定位的目标位置和速度预测目标在当前帧中的位置。根据运动目标的方向和速度进行位置预测,采样的时间间隔为25帧/s即t=40ms,位置预测将前后两帧图片中的个体对应起来,相同的个体设置为同样的标号ID,这样遍历所有帧数,就可以得到所有个体的轨迹。

(7)若可疑目标为多个个体目标重叠,则进行可疑目标拆分操作,再将拆分得到的个体目标与当前视频帧的目标预测位置进行匹配,将匹配成功的目标ID赋值给个体目标

若可疑目标为多个个体目标重合,此时进行可疑目标拆分操作,具体步骤为:往前后几帧中,找寻可疑目标区域附近的目标,如果存在几个正常大小的目标,则根据这几个目标的速度和方向,预测这几个目标在当前帧中的位置,如果预测目标位置在可疑目标区域中,则将预测目标作为目标。否则,如果运动目标速度和方向急速变化,预测目标位置可能不在可疑目标区域中,不能拆分此可疑目标,则先忽略,最后通过后期修正处理。保存的数据格式为:ntarget(目标个数)、identity(目标标号),xpos(目标x坐标)、ypos(目标y坐标)。目标标号用来标识前后帧中的同一个运动个体,即identity相同的数据表示为同一个个体的轨迹。

(8)若可疑目标为非目标,则忽略。

(9)后期修正环节,后期修正算法主要是解决软件系统自动跟踪中存在的问题:目标个体的丢失(如多个个体聚集在一起),目标个体的增加(将环境变化识别成个体)。此模块,此算法自动找出可能出现异常的时刻点,具体原理为:1、遍历所有帧数,找到目标个体数量减少的情况,程序显示出前后两帧图像的处理结果;2、遍历所有帧数,找到目标个体数量增加的情况,程序显示出此时前后两帧图像的处理结果;3、遍历所有帧数,找到目标个体速度和方向突变较大的情况,程序显示出此时前后两帧图像的处理结果。然后人工判断是否异常,如果存在异常,则会出现修正的界面,供手动调整,大大增加了数据的准确性。

针对每种具体的异常问题,进行手动修正。对于识别个体的减少,可能原因是两个个体运动到一起,识别成一个,此时需要手动增加一个个体,将丢失的轨迹连起来。对于识别个体的增加,可能是个体运动导致的水波变化,并且水波大小和个体相似,被识别成了运动个体,需要手动将此轨迹删除。对于个体交换,会在重合时出现并且方向突变情况下,只需将后一帧图像中,两个个体标号ID进行交换。

经过以上步骤,可以快速的得到鱼群运动的位置变化数据,对于后续的群集动力学研究提供了重要支撑。应当注意,本发明不局限于鱼群了,比如蚁群、昆虫群等都可适用,只需要更改实验的活动场地即可。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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