利索能及
我要发布
收藏
专利号: 2024106157429
申请人: 南京邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-09-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于邻近关系的目标重叠事件识别与轨迹重构方法,其特征在于:所述目标重叠事件识别与轨迹重构方法具体包括以下步骤:步骤1、获取目标集群中目标的所有子轨迹数据:以俯视图下区域Ω中的一点为原点构(i)

建平面直角坐标系,获取目标集群中目标的所有子轨迹数据l :

(i) (i)

其中i为子轨迹序号,i=1,2,…,I,I为子轨迹的总条数,a 、b 分别为第i条子轨迹的初始和终止帧数;

定义目标集群中目标m的完整轨迹为

其中M为目标集群内的目标总数,n为帧数序号,n=1,2,…,N,N为总帧数;

(i)

步骤2、设置所有轨迹数据的存储结构为单链表,存储获取到的所有子轨迹数据l 的(m)

逻辑结构为优先权队列PQ,存储目标集群中所有目标完整轨迹L 的逻辑结构为全轨迹数(i)

组Track,定义优先权队列PQ对子轨迹数据l 的两个基本操作:检查操作和提取操作;

步骤3、定义两目标中心之间的距离小于最小识别距离ε时,两目标之间存在邻近关系R,定义任意两个目标之间都存在邻近关系的目标的集合为一个邻近集群,定义邻近关系、邻近集群及邻近集群的合并与分裂;

步骤4、在第Frame帧下,基于邻近关系和邻近集群的分裂对优先权队列PQ中以Frame+1帧为起始帧数的子轨迹与全轨迹数组Track中的某一条轨迹进行匹配;定义前段轨迹数组Front和后段轨迹数组Back分别用于存放邻近集群中目标分裂时刻所需匹配的子轨迹的前段和后段,定义轨迹分布差异度函数Diversity,以minDiversity为目标函数找到唯一最优匹配方式;

步骤5、当第Frame帧下优先权队列PQ中堆顶元素对应的子轨迹不能与全轨迹数组Track中任意一条子轨迹匹配,此时逐一检查全轨迹数组Track中的目标m在第Frame+1帧下的轨迹是否缺失,其中,m=1,2,…,M;若缺失,依据邻近集群的合并情况创建结点,补偿目标的缺失轨迹;

步骤6、对每一帧均进行步骤4和步骤5以识别目标重叠事件,并对缺失轨迹进行补偿和匹配,直至目标集群中所有目标的完整轨迹均被重构;

(i)

其中,在所述步骤2中,优先权队列PQ对子轨迹数据l 的两个基本操作为检查操作和提取操作,具体为:(i)

步骤2.3.1、检查操作:获取优先权队列PQ中堆顶元素对应子轨迹的初始帧数a ,若初(i) (i)始帧数a 等于当前帧数的下一帧,定义当前帧数为Frame,初始化为0即a =Frame+1,则认为当前帧数下优先权队列PQ中堆顶元素对应的子轨迹与全轨迹数组Track中的某一条子轨迹匹配,检查操作的返回值为true,否则认为无法匹配,检查操作的返回值为false;

步骤2.3.2、提取操作:从优先权队列PQ中获取堆顶元素对应子轨迹的头结点和尾结点信息(head,tail),并把该堆顶元素从优先权队列PQ中删除,且每完成一次提取操作都以初(i)始帧数a 为关键字将优先权队列PQ重新调整为最小堆。

2.根据权利要求1所述的基于邻近关系的目标重叠事件识别与轨迹重构方法,其特征在于:所述步骤2具体包括以下步骤:步骤2.1、记所有轨迹数据的存储结构为单链表,其中每个结点为一个五元组(x,y,n,st,next),x、y分别为对应帧下目标所有可能位置的坐标向量,n为帧数序号,st表示结点类型,当st=0时该结点为确定结点,此时x、y的维数均为1,当st=1时该结点为待定结点,此时x、y的维数均大于1,next表示该轨迹在下一帧的存放位置;

(i)

步骤2.2、记获取到的所有子轨迹数据l 的逻辑结构为优先权队列PQ,优先权队列PQ(i)是一个以子轨迹的初始帧数a 为关键字的最小堆,其中每个元素为一个三元组(a,head,tail),head和tail分别为该条轨迹的头结点和尾结点,记存放目标集群中所有目标完整轨(m)迹L 的逻辑结构为全轨迹数组Track,其中第m个元素存放的是序号为m的目标在补偿和匹配过程中轨迹的头结点和尾结点,即Track[m]=(head,tail),m=1,2,…,M;

(i)

步骤2.3、依次将子轨迹l 添加到优先权队列PQ中,即在优先权队列PQ中添加新的三(i)元组(a,head,tail),且每完成一次添加操作都以子轨迹的初始帧数a 为关键字将优先权队列PQ重新调整为最小堆;

(i)

步骤2.4、重复步骤2.3,直至所有子轨迹l 都被加入优先权队列PQ。

3.根据权利要求1所述的基于邻近关系的目标重叠事件识别与轨迹重构方法,其特征在于:步骤4中,基于邻近关系和邻近集群的分裂对优先权队列PQ中以Frame+1帧为起始帧数的子轨迹与全轨迹数组Track中的某一条轨迹进行匹配,具体包括以下步骤:步骤4.1、依据步骤2.3.1对优先权队列PQ执行检查操作,若返回false,跳转至步骤

4.2;若返回true,说明当前帧下优先权队列PQ中堆顶元素对应的子轨迹能够与全轨迹数组Track中的某一条轨迹匹配,依据步骤2.3.2对优先权队列PQ执行提取操作,将获取到的堆顶元素对应子轨迹的头结点和尾结点信息(head,tail)存入临时存放单元Temp中,并重复步骤4.1;

步骤4.2、定义前段轨迹数组Front用于存放第Frame+1帧下发生分裂的邻近集群中所有目标分裂前在全轨迹数组Track中对应的元素(head,tail),后段轨迹数组Back用于存放发生分裂后这些目标对应的子轨迹,两数组均初始化为空;若临时存放单元Temp为空,直接跳转至步骤5;否则按照步骤4.2.1‑步骤4.2.3处理临时存放单元Temp中的元素(head,tail),具体包括以下步骤:步骤4.2.1、依据步骤3.3,判断元素(head,tail)是否为邻近集群分裂后产生的新轨迹,如果不是,则在全轨迹数组Track中寻找唯一α满足αFrameRβFrame+1,将β的头结点与α的尾结点相连,即Track[α].tail‑>next=head,Track[α].tail=tail,再将该元素从临时存放单元Temp中删除,并重复步骤4.2;如果是,进入步骤4.2.2;

步骤4.2.2、将元素(head,tail)移至后段轨迹数组Back,遍历临时存放单元Temp中的剩余元素,若存在元素(head′,tail′)也为邻近集群分裂后产生的新轨迹且(head′,tail′)与(head,tail)对应的目标在第Frame帧下属于同一个邻近集群,则将元素(head′,tail′)(j)移至后段轨迹数组Back中;将全轨迹数组Track中满足 RβFrame+1的所有目标α 在第Frame帧之前的轨迹添加至前段轨迹数组Front中,在第Frame+1帧之后的轨迹添加至后段轨迹数组Back中,并进入步骤4.2.3;

步骤4.2.3、将整个区域Ω划分为K个子区域Ωk,k=1,2,…,K,定义轨迹l=(head,tail)的分布向量P(l)=(p1,p2,…,pk,…,pK),其中pk为轨迹l在子区域Ωk内出现的帧数占该轨迹总帧数的比例;记前段轨迹数组Front和后段轨迹数组Back中元素总数分别为U和V,对于后段轨迹数组Back中的元素v,在前段轨迹数组Front中有且仅有唯一元素u与其对应,则匹配方式共有 种,v=1,2,…,V,u=1,2,…,U;定义轨迹分布向量P(Front[u])和P(Back[v])差的范数||P(Front[u])‑P(Back[v])||为轨迹Front[u]和Back[v]的分布差异度,定义一种匹配方式对应的轨迹分布差异度函数 以min Diversity为目标函数在 种匹配方式中找到唯一最优匹配方式,更新全轨迹数组Track中匹配成功的目标的头尾结点,依据邻近关系确定匹配成功的轨迹中待定结点的位置信息x、y,并清空前段轨迹数组Front和后段轨迹数组Back,重复步骤4.2。

4.根据权利要求1所述的基于邻近关系的目标重叠事件识别与轨迹重构方法,其特征在于:在所述步骤3中,定义邻近关系、邻近集群及邻近集群的合并与分裂,具体包括以下步骤:步骤3.1、定义邻近关系和邻近集群:定义当两目标刚好不能被计算机识别技术区分开时,两目标中心之间的距离为最小识别距离ε,当第n帧下的两目标αn,βn中心之间的距离小于ε时,认为两目标之间存在邻近关系R,记作αn Rβn,当第n帧下的目标αn与第n+1帧下的目标βn+1中心之间的距离小于ε时,认为两目标之间存在邻近关系R,记作αn Rβn+1,定义某一帧下任意两个目标之间都存在邻近关系的目标的集合为一个邻近集群,认为邻近集群中的所有目标具有相同的轨迹;

步骤3.2、定义邻近集群的合并:若全轨迹数组Track中存在两目标α,β在第Frame帧下满足如下条件:①α对应的结点为其轨迹的尾结点,即Track[α].tail‑>n=Frame,②β对应的结点不为其轨迹的尾结点,即Track[β].tail‑>n≠Frame,③Frame帧下的α与Frame+1帧下的β存在邻近关系R,即αFrameRβFrame+1,则认为此时发生了邻近集群的合并,即从Frame+1帧起α与β分别所在的邻近集群发生合并,α与β同属于一个邻近集群;

(j)

步骤3.3、定义邻近集群的分裂:若某邻近集群中存在J个目标α ,j=1,2,…,J,J≥2,(j)优先权队列PQ中存在元素pq,其对应目标为β,满足第Frame帧下的α 与Frame+1帧下的β均(j)存在邻近关系R,即 则认为此时α 所在的邻近集群发生了分裂。

5.根据权利要求4所述的基于邻近关系的目标重叠事件识别与轨迹重构方法,其特征在于:在所述步骤5中补偿目标的缺陷轨迹具体包括以下步骤:步骤5.1、逐一检查全轨迹数组Track中的目标m在第Frame+1帧下的轨迹是否缺失即在第Fram帧下检查目标m的轨迹对应的结点是否是尾结点,表示为Track[m].tail‑>n=Frame,若是尾结点,则认为轨迹缺失,进入步骤5.2,否则继续检查下一个目标;检查完所有目标后跳转至步骤6;

步骤5.2、创建一个结点node=(x,y,n,st,next)用于存储该目标在第Frame+1帧下的信息,即n=Frame+1,依据步骤3.2检查目标m所在邻近集群是否在第Frame+1帧下发生邻近集群的合并,若发生,跳转至步骤5.3;否则说明目标m的轨迹在此时发生瞬时缺失,则通过以下方式补偿:①设置结点node中x、y的数值与该目标在第Frame帧下的坐标位置相同,即x=Track[m].tail‑>x,y=Track[m].tail‑>y;②由于该结点的x、y能唯一确定,故设置结点类型st=0;③设置next=null,更新目标m的尾结点,即Track[m].tail‑>next=node,并重复步骤5.1检查下一个目标;

步骤5.3、当目标m所在邻近集群在第Frame+1帧下发生邻近集群的合并时,通过以下方式补偿:①基于邻近关系设置向量x、y存储该目标在第Frame+1帧下所有可能的位置;②若目标m所在邻近集群在第Frame+1帧下仅与唯一其他邻近集群发生合并,说明该结点的x、y能唯一确定,则设置结点类型st=0;否则该结点的x、y不能唯一确定,设置结点类型st=1;

③设置next=null,更新目标m的尾结点,即Track[m].tail‑>next=node,并重复步骤5.1检查下一个目标。

6.根据权利要求1所述的基于邻近关系的目标重叠事件识别与轨迹重构方法,其特征在于:所述步骤6具体为:检查当前帧数是否等于总帧数即Frame=N,若不相等,则Frame++,再重复步骤4和步骤5,当Frame=N时,全轨迹数组Track补偿与匹配成功,此时目标集群中所有目标的完整轨迹均被重构。

7.根据权利要求1所述的基于邻近关系的目标重叠事件识别与轨迹重构方法,其特征在于:所述目标重叠事件识别与轨迹重构方法通过目标重叠事件识别与轨迹重构系统实现,所述目标重叠事件识别与轨迹重构系统包括获取子轨迹数据模块、优先权队列PQ的创建与操作模块、判断邻近集群的合并与分裂模块、匹配子轨迹模块、补偿缺失轨迹模块,获取子轨迹数据模块:以俯视图下的一点为坐标原点,获取目标集群中目标的所有子轨迹数据和帧数信息,并用单链表存储所有轨迹数据;

优先权队列PQ的创建与操作模块:借助添加、检查、提取操作实现对存储子轨迹的优先权队列PQ的创建和后续对多条子轨迹的补偿与匹配;

判断邻近集群的合并与分裂模块:基于相邻帧下结点间邻近关系判断邻近集群的动态变化,确定是否发生了邻近集群的合并或分裂;

匹配子轨迹模块:将已有子轨迹基于邻近关系或借助轨迹差异度函数进行匹配,处理重叠和遮挡问题以确保轨迹的连续性和完整性;

补偿缺失轨迹模块:基于邻近关系和邻近集群的合并情况对缺失类型进行判断,并创建承载相应信息的结点对缺失轨迹进行补偿。