一种卫星序列图像中点目标实时检测与跟踪系统及方法与流程

文档序号:11677221阅读:407来源:国知局
一种卫星序列图像中点目标实时检测与跟踪系统及方法与流程

本发明属于计算机、航天技术与图像处理相结合的交叉科学技术领域,更具体地,涉及一种卫星序列图像中点目标实时检测与跟踪系统及方法。



背景技术:

二十世界末以来,卫星探测目标逐渐成为航空航天领域的重要发展方向。无论是在高科技产业,还是在经济领域都具有极高的战略意义,主要体现在探测洲际飞行器以及空天飞机等飞行器上具有重大作用。在卫星探测运动目标的过程中,扫描相机和凝视相机往往用来进行对目标进行跟踪。由于扫描相机成像面像素大,凝视成像频率快等特点,对此在处理图像数据中对有限的处理能力提出了更加严峻的挑战。

在工业实时软件操作系统中,系统的运行效率极为重要,因此在软件设计上必须做到尽可能的优化。传统的单线程技术系统无法进行多项任务同时运行,必须走完一道流程之后才会进行用户界面响应,造成用户界面不流畅,甚至有些原本可以并行处理的流程,却放到同一流程上运行,极大地增加了运行成本和内核资源浪费。因此,单线程程序框架,在实时操作系统中,很难满足数据的实时处理和用户界面的实时响应。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种卫星序列图像中点目标实时检测与跟踪系统及方法,保证了数据处理的完整性、实时性和可靠性。有效解决了高帧频传输图像数据系统中实时处理图像数据的难题。

为实现上述目的,按照本发明的一个方面,提供了一种卫星序列图像中点目标实时检测与跟踪系统,包括:图像数据接收模块、图像帧头检测模块、单帧图像目标检测模块、序列图像关联检测模块;

所述图像数据接收模块,每次从卫星红外图像生成系统接收预设n字节长度的数据包,并缓存到环形缓冲区中;

所述图像帧头检测模块,用于在环形缓冲区内对环形缓冲区中的数据进行帧头、帧尾检测,并在检测到帧头后,读取帧头后的数据缓存到图像缓存区中,直至缓存至帧尾位置;

所述单帧图像目标检测模块,用于处理图像缓存区中的帧图像数据,获取疑似目标点信息;

其中,所述图像缓存区包括第一图像缓存区与第二图像缓存区,且第一图像缓存区与第二图像缓存区被所述图像帧头检测模块与所述单帧图像目标检测模块交替使用,在所述单帧图像目标检测模块对其中一个图像缓存区中已经缓存的上一帧图像数据进行处理时,所述图像帧头检测模块向另一个图像缓存区中缓存当前帧图像数据;

所述序列图像关联检测模块,用于在所述单帧图像目标检测模块对多帧图像数据进行检测得到该多帧图像数据的疑似目标点后,对该多帧图像数据的疑似目标点在时空上进行关联得到初始轨迹,获取与该初始轨迹关联的下一帧图像的真实目标点信息。

优选地,所述环形缓冲区的大小不小于n字节,所述环形缓冲区包括数据的读指针、写指针、检测指针,其中,所述写指针用于从所述图像数据接收模块向所述环形缓冲区中写数据,所述检测指针位于所述写指针和所述读指针之间,用于对图像的帧头、帧尾进行检测,且在所述读指针与所述检测指针之间为已检数据,在所述检测指针与所述写指针之间为待检数据,所述读指针用于在所述检测指针检测到帧头后,移动至帧头位置,并将帧头后的数据从所述环形缓冲区中读出并写入所述图像缓存区中。

优选地,所述序列图像关联检测模块包括:

初始轨迹获取模块,用于缓存所述单帧图像目标检测模块对多帧图像数据进行检测得到的该多帧图像数据的疑似目标点,通过逻辑法关联得到目标初始轨迹;

第一计算模块,用于通过目标初始轨迹的末尾4个目标点pt-4,pt-3,pt-2,pt-1估算下一个目标点其中,在相面的移动距离为:在相面运动的角度偏移为:

第二计算模块,用于计算窗口阈值参数值和角度偏移阈值其中,定义第t帧图像中的目标点pt在相面的移动距离为pt在相面运动的角度偏移为

点迹匹配模块,用于获取当前第t帧图像中在窗口阈值范围内与目标初始轨迹匹配的目标点pt

第三计算模块,用于在当前第t帧图像中在窗口阈值范围内存在疑似目标点时,对每一个疑似目标点由公式计算为真实目标点的概率,其中,

第四计算模块,用于将p(li,θi)取最大值时对应的疑似目标点作为当前第t帧图像与目标初始轨迹匹配的真实目标点pt

第五计算模块,用于在当前第t帧图像中在窗口阈值范围内不存在疑似目标点时,将窗口阈值参数值dth1、dth2、cth扩大两倍,并转至所述点迹匹配模块检测下一帧图像中在扩大后的窗口阈值范围内是否存在关联匹配目标点;

第六计算模块,用于在连续3帧没有匹配上目标点时,则判定轨迹消失,重新返回所述初始轨迹获取模块。

优选地,在所述系统中包括三个线程,其中,第一线程用于为所述图像数据接收模块服务,第二线程用于为所述图像帧头检测模块服务,第三线程用于为所述单帧图像目标检测模块以及所述序列图像关联检测模块服务,所述第一线程与所述第二线程共享所述环形缓冲区,所述第二线程与所述第三线程共享第一图像缓存区与第二图像缓存区,利用等停-唤醒方式和交换指针的乒乓操作模式处理图像缓存区中的图像数据。

按照本发明的另一个方面,提供了一种卫星序列图像中点目标实时检测与跟踪方法,包括:

(1)每次从卫星红外图像生成系统接收预设n字节长度的数据包,并缓存到环形缓冲区中;

(2)在环形缓冲区内对环形缓冲区中的数据进行帧头、帧尾检测,并在检测到帧头后,读取帧头后的数据缓存到图像缓存区中,直至缓存至帧尾位置;

(3)处理图像缓存区中的帧图像数据,获取疑似目标点信息;

其中,所述图像缓存区包括第一图像缓存区与第二图像缓存区,且第一图像缓存区与第二图像缓存区交替使用,在对其中一个图像缓存区中已经缓存的上一帧图像数据进行处理时,向另一个图像缓存区中缓存当前帧图像数据;

(4)在对多帧图像数据进行检测得到该多帧图像数据的疑似目标点后,对该多帧图像数据的疑似目标点在时空上进行关联得到初始轨迹,获取与该初始轨迹关联的下一帧图像的真实目标点信息。

优选地,所述环形缓冲区的大小不小于n字节,所述环形缓冲区包括数据的读指针、写指针、检测指针,其中,所述写指针用于向所述环形缓冲区中写数据,所述检测指针位于所述写指针和所述读指针之间,用于对图像的帧头、帧尾进行检测,且在所述读指针与所述检测指针之间为已检数据,在所述检测指针与所述写指针之间为待检数据,所述读指针用于在所述检测指针检测到帧头后,移动至帧头位置,并将帧头后的数据从所述环形缓冲区中读出并写入所述图像缓存区中。

优选地,所述步骤(4)具体包括:

(4.1)缓存对多帧图像数据进行检测得到的该多帧图像数据的疑似目标点,通过逻辑法关联得到目标初始轨迹;

(4.2)通过目标初始轨迹的末尾4个目标点pt-4,pt-3,pt-2,pt-1估算下一个目标点其中,在相面的移动距离为:在相面运动的角度偏移为:

(4.3)计算窗口阈值参数值和角度偏移阈值其中,定义第t帧图像中的目标点pt在相面的移动距离为pt在相面运动的角度偏移为

(4.4)检测当前第t帧图像中在窗口阈值范围内是否存在关联匹配目标点若存在,则执行步骤(4.5),否则,执行步骤(4.7);

(4.5)对每一个疑似目标点由公式计算为真实目标点的概率,其中,

(4.6)将p(li,θi)取最大值时对应的疑似目标点作为当前第t帧图像与目标初始轨迹匹配的真实目标点pt

(4.7)将窗口阈值参数值dth1、dth2、cth扩大两倍,并转至步骤(4.4)检测下一帧帧图像中在扩大后的窗口阈值范围内是否存在关联匹配目标点;

(4.8)在连续3帧没有匹配上目标点时,则判定轨迹消失,返回步骤(4.1)。

优选地,在所述方法中包括三个线程,其中,第一线程用于从卫星红外图像生成系统接收数据包,第二线程用于在环形缓冲区内检测帧头、帧尾,并将检测的数据缓存至图像缓存区中,第三线程用于对图像缓存区中的数据进行处理得到真实目标点信息,所述第一线程与所述第二线程共享所述环形缓冲区,所述第二线程与所述第三线程共享第一图像缓存区与第二图像缓存区,利用等停-唤醒方式和交换指针的乒乓操作模式处理图像缓存区中的图像数据。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,主要有以下的技术优点:

(1)从整个软件体系架构上,在模块划分上分为图像数据接收模块、图像帧头检测模块、单帧图像目标检测模块、序列图像关联检测模块四大模块,用到多线程和多缓冲相结合的处理技术,在保证数据完整可靠的同时显著地提升了系统实时处理能力。

(2)本发明在图像帧头检测模块对帧图像数据提取和单帧图像目标检测模块对图像数据处理之间通过两个图像缓存区的交替使用,避免了图像数据的等待过程,大大提高了数据的处理速度。

(3)本发明在环形缓冲区中定义检测指针,直接在环形缓冲区中进行帧头检测,区分检测和未检测数据,加快了数据解析。

(4)本发明的轨迹关联算法,根据目标的运动模型,分别通过目标相面移动距离和偏移角度估计目标的出现位置,然后通过计算疑似目标点为实际目标的概率,获取轨迹关联目标点。同时根据当前帧是否发现目标并结合目标的运动规律调整近邻搜索窗口和角度阈值,有效解决因丢帧或当前未检测到目标关联不上目标的问题。

(5)本发明提出的实时目标检测与跟踪系统,能有效解决高帧频传输下处理大量图像数据的问题,并能实时检测与跟踪目标,不存在过多的计算复杂度,因而具有一定的可实施性及实用推广价值。

附图说明

图1是本发明实施例公开的一种卫星序列图像中点目标实时检测与跟踪系统的结构示意图;

图2是本发明实施例中的系统方法流程图;

图3是本发明实施例中的数据接收分流示意图;

图4是本发明实施例中的数据提取解析流程图;

图5是本发明实施例中的系统数据流向图;

图6是本发明实施例中的交替使用图像缓存示意图;

图7是本发明实施例中的数据帧头检测线程和数据处理线程进行数据交互流程示意图;

图8是本发明实施例中的轨迹查找算法流程示意图;

图9(a)是本发明实施例中的轨迹关联查找目标点流程示意图;

图9(b)是本发明实施例中的序列图像关联检测模块框图;

图10是本发明实施例中的软件程序结构图;

图11是本发明实施例提供的一种原始图像;

图12(a)是对原始图像进行处理之后的局部图像;

图12(b)是对原始图像进行局部单帧检测结果图;

图13(a)是多帧目标叠加效果图;

图13(b)是多帧检测结果图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明提供了一种高数据率卫星序列图像中点目标实时检测与跟踪系统,包括:图像数据接收模块、图像帧头检测模块、单帧图像目标检测模块、序列图像关联检测模块四大模块,其结构框架如图1所示,图2为系统数据处理流程。

图像数据接收模块,每次从卫星红外图像生成系统接收预设n字节长度的数据包,并缓存到环形缓冲区中;

图像帧头检测模块,用于在环形缓冲区内对环形缓冲区中的数据进行帧头、帧尾检测,并在检测到帧头后,读取帧头后的数据缓存到图像缓存区中,直至缓存至帧尾位置;

单帧图像目标检测模块,用于处理图像缓存区中的帧图像数据,获取疑似目标点信息;

其中,图像缓存区包括第一图像缓存区与第二图像缓存区,且第一图像缓存区与第二图像缓存区被图像帧头检测模块与单帧图像目标检测模块交替使用,在单帧图像目标检测模块对其中一个图像缓存区中已经缓存的上一帧图像数据进行处理时,图像帧头检测模块向另一个图像缓存区中缓存当前帧图像数据;

序列图像关联检测模块,用于在所述单帧图像目标检测模块对多帧图像数据进行检测得到该多帧图像数据的疑似目标点后,对该多帧图像数据的疑似目标点在时空上进行关联得到初始轨迹,获取与该初始轨迹关联的下一帧图像的真实目标点信息。

如图3所示,为本系统数据接收流程:本系统所接收的图像数据来源外部卫星红外图像生成系统,通过以太网线发送到该系统中。图像数据传输速率快,达50-60m/s,数据量大,每帧图像数据量接近145mb。为高效实时处理数据,开辟一个能容纳一帧图像大小的环形缓冲区,接收到的数据暂时缓存到环形缓冲区中,起到数据平稳作用。本系统的图像数据接收模块是通过开辟一个线程,循环访问网卡i/o接口,利用winpcap访问底层网络,在windows系统平台下抓捕数据包,当有数据包发来时,便可检测到数据包并抓获数据包,直接缓存到环形缓冲区中。环形缓冲区定义了数据的读指针、写指针、检测指针。其中检测指针位于写指针和读指针之间,用于对图像数据帧头标志检测,读指针与检测指针之间为已检数据,检测指针与写指针之间为待检数据,已检数据可以从读指针开始,直接写入到图像缓存区。

如图4所示,为本系统对图像数据进行帧头检测过程:图像数据帧头解析在环形缓冲区中进行,环形缓冲区中定义了检测指针,指向待检测数据的起始位置,将环形缓冲区的数据分为已检数据和待检数据,每次检测n字节。如果待检数据不足,图像帧头检测线程休眠,等待图像数据接收模块唤醒。检测到帧头则认为找到图像数据的起始位置,同时将读指针移动到帧头位置,切换图像缓存区,将数据读入图像缓存区中进行处理。

图像帧头检测使用了字符串快速匹配(knuth-morris-pratt,kmp)算法,与暴力字符串匹配相比,kmp算法在匹配速度上具有明显的优势。在数据帧头检测问题上,检测完n字节后要将检测指针回溯帧头长度个字节,主要考虑到帧头出现在末尾的情况。当检测到帧头之后,就可以读取后续数据进入图像缓存区中,当收完一帧数据后,就可以将此帧数据提交给图像处理线程,进行图像数据处理,然后继续收取下一帧数据,加载到另一个图像缓存区,两个图像缓存区交替使用,一个缓存区进行数据处理,另一个缓存区进行数据加载。由于数据加载和数据处理速度存在差异,因此图像帧头检测线程和图像处理线程之间会存在同步机制。图像处理线程要等待当前缓存区数据加载完成后才做处理。同样,图像帧头检测线程也会等待图像处理线程处理完当前数据后才加载当前缓存区,其中,图像处理线程为单帧图像目标检测模块以及序列图像关联检测模块服务。

如图5所示,在系统中图像数据接收流程和图像帧头检测流程之间通过环形缓冲区桥接,图像帧头检测流程和图像处理流程之间通过两个图像缓存区进行桥接,如此形成数据通路。每个处理流程单独放在一个线程中进行数据处理。当多个线程共享同一数据段时,必须要考虑线程同步问题。本系统使用了事件和互斥量两种同步机制。事件是通过将自身设置为有信号或无信号来通知其它线程,与线程相配合能对消息做出较快反应,适合于工控程序。互斥量适合用来协调多个线程对共享资源的同步访问。

在图像数据接收线程和图像帧头检测线程中,通过采用一个互斥量,当进行数据读和数据写入时,对数据进行加锁保护,防止读和写线程同时对数据进行访问,发生数据错误。

例如,互斥信号量为mutex,当进行写数据时:

mutex.lock();

//写数据

mutex.unlock();

同样,当对数据进行读时:

mutex.lock();

//读数据

mutex.unlock();

如图7所示为图像帧头检测线程与图像处理线程之间数据交互图。在图像帧头检测线程和图像处理线程中,通过两线程共享2个图像缓存区,交替使用,避免了收集完数据再进行数据处理。而是将图像数据收集和图像数据处理分开到不同线程进行处理,极大提高了数据流的处理速度。

图像帧头检测线程和图像处理线程之间共享2个图像缓存区,采用线程等待-唤醒方式与改变图像缓存指针指向的乒乓操作模式相结合方法,在接收当前帧数据的同时可以处理上一帧缓存数据,并且安全有效,减少不必要的等待时间,提高数据处理速度。其中一个图像缓存区存放待处理的图像数据,供图像处理线程处理,另一个图像缓存区用于写入新的图像数据,供图像帧头检测线程写入数据。例如,图像帧头检测线程写第i+1帧数据到第一图像缓存区中,此时图像处理线程可以处理保存在第二图像缓存区中的第i帧(上一帧)数据。当图像处理线程处理完数据时,如果图像帧头检测线程没有写完第i+1帧,则线程挂起,进入休眠等待状态。当图像帧头检测线程写完第i+1帧数据后,交换两个图像缓存区的逻辑指向,唤醒图像处理线程,这样两个图像缓存区可以在两个线程间交替使用,使得图像帧头检测和图像处理能够在大部分时间内同时运行,避免了先进行图像帧头检测收集完数据再进行图像数据处理的局面,极大提高了数据的处理速度。

图8和图9(a)、图9(b)所示为序列图像关联检测模块,用于将多帧图像检测的结果在时空上进行关联,剔除噪声点,获取比较真实的目标点信息。所述序列图像关联检测模块包括:

初始轨迹获取模块,用于缓存所述单帧图像目标检测模块对多帧图像数据进行检测得到的该多帧图像数据的疑似目标点,通过逻辑法关联得到目标初始轨迹,其流程如图8所示,其中,多帧图像不小于4帧图像;

第一计算模块,用于通过目标初始轨迹的末尾4个目标点pt-4,pt-3,pt-2,pt-1估算下一个目标点其中,在相面的移动距离为:在相面运动的角度偏移为:

定义第t帧图像中的目标点pt在相面的移动距离为pt在相面运动的角度偏移为同时规定pt在矢量方向的右侧时θt为正值,在左侧θt为负值。

第二计算模块,用于计算窗口阈值参数值和角度偏移阈值其中,

对于第t帧的实际目标点pt,目标在相面偏移距离为目标在相面的轨迹偏移角度为可以认为lt,θt的概率密度函数分别服从正太分布。

其中通过下式估算得到:

点迹匹配模块,用于获取当前第t帧图像中在窗口阈值范围内与轨迹匹配的目标点pt

第三计算模块,用于在当前第t帧图像中在窗口阈值范围内存在疑似目标点时,对每一个疑似目标点由公式计算pi为真实目标点的概率,其中,

第四计算模块,用于将p(li,θi)取最大值时对应的疑似目标点作为当前第t帧图像与目标轨迹匹配的真实目标点pt

第五计算模块,用于在当前第t帧图像中在窗口阈值范围内不存在疑似目标点pit时,将窗口阈值参数值dth1、dth2、cth扩大两倍,并转至所述点迹匹配模块中检测下一帧图像中在扩大后的窗口阈值范围内是否存在关联匹配目标点;

第六计算模块,用于在连续3帧没有匹配上目标点时,则判定轨迹消失,重新返回所述初始轨迹获取模块。

其中,如图11为本发明实施例提供的一种原始图像,如图12(a)是对原始图像进行处理之后的局部图像;图12(b)是对原始图像进行局部单帧检测结果图;如图13是关联检测结果。

如图10为整个系统软件的流程结构。本系统设计采用了人机交互线程,图像数据接收线程,图像帧头检测线程,图像处理线程。其中人机交互线程为主线程,属于用户界面线程,主要完成界面管理、功能控制、界面输入输出等。图像数据接收线程主要是从外界环境中通过以太网线接收图像数据包,将图像数据包存到相应的环形缓冲区中。图像帧头检测线程主要是将环形缓冲区中的数据取出,进行图像的帧头帧尾检测,将得到的图像数据送到待处理的图像缓存区中。图像处理线程处理图像缓存区中的图像数据,并将处理结果发布。系统运行后,图像数据接收线程一直处于运行状态,保证数据无损的收集,如果线程休眠,将会错过收取发来的数据包。图像数据接收线程功能比较单一,主要负责收取数据,除了与主线程存在信号沟通之外,还与图像帧头检测线程共享同一个环形缓冲区。在图像帧头检测线程和图像处理线程中,通过两线程共享2个图像缓存区,交替使用,避免了收集完数据再进行数据处理。而是将图像帧头检测和图像处理分开到不同线程进行处理,极大提高了数据流的处理速度。

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

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