一种面向实时目标识别的异构处理机并行协调处理方法与流程

文档序号:11931232阅读:193来源:国知局
一种面向实时目标识别的异构处理机并行协调处理方法与流程

本发明属于导航制导、图像识别和图像处理的交叉科学技术领域,更具体地,涉及一种实时目标识别的异构处理机并行协调处理方法。



背景技术:

运动目标检测、跟踪与识别是计算机视觉、目标检测与跟踪、导航制导等应用领域的重要研究问题。运动目标检测主要有静平台和动平台两种模式。静平台情况下的运动目标检测与识别技术已经比较成熟,动平台情况下的运动目标检测与识别技术还在发展之中。对于静平台运动目标检测任务,图像背景保持不变,背景模型通常已知,运动目标检测相对容易。动平台运动目标检测要比静平台运动目标检测复杂得多,平台的运动分为滚动、转动和平动。在平台滚动的情况下,序列图像会存在明显的旋转效果。因此必须对序列图像进行旋转预处理,消除平台滚动带来的问题。平台的转动和平动会导致图像背景的表观变化,同时待检测的目标也在运动,整幅图像的前景运动和平台运动产生的背景变化混合在一起,只有很好地把这两种运动分开,才能够准确的检测出运动目标并实现跟踪任务,这给背景的补偿问题提出了很大的挑战。

传统的实时目标检测与识别多采用DSP或者多DSP(也叫DSPs)来进行算法的处理,流程如图1所示。将图像的旋转、降采样及边缘检测、多级滤波、视觉非线性分割、连通区域标记、特征提取与匹配等一系列的算法均在一个DSP上顺序执行。这样不仅加大了程序的复杂度,由顺序执行带来的实时性差是无法避免的,同时由于DSP处理器的通用性有限,使得它在图像处理与目标检测识别算法优化方面存在瓶颈。因此,本领域亟需一种面向实时目标识别的异构处理机的并行协调处理方法。



技术实现要素:

针对现有技术的缺陷,本发明旨在提供一种解决同构结构处理系统存在的计算复杂、耗时长、功耗大等问题的处理方法。

为了实现上述目的,本发明提供了一种面向实时目标识别的异构处理机并行协调处理方法,包括如下步骤:

(1)序列图像输入到FPGA中缓存;图像采集装置采集目标图像的惯导信息并输入到DSP;

(2)DSP接收惯导信息,从中获取旋转角度参数;同时,DSP判断是否接收到后续处理步骤的出错反馈信号;若接收到出错反馈信号,DSP对FPGA进行复位,并跳到步骤(3);若没有接收到出错反馈信号,DSP根据图像的旋转角度参数来判断是否需要控制FPGA调用旋转ASIC芯片进行图像的旋转;若需要进行图像旋转则跳到步骤(3),若不需要旋转则跳到步骤(4);

(3)DSP调用FPGA调用旋转ASIC芯片,对图像进行旋转操作,并将旋转处理完成后的图像数据写往外部的DPRAM,同时FPGA读取DPRAM里面经过旋转处理后的图像,进行校验,若旋转结果正确,跳到步骤(4);当旋转芯片无法正常工作或旋转结果不正确时,跳到步骤(2)

(4)若旋转ASIC对图像进行旋转操作成功,FPGA对旋转处理后的图像进行预处理;若之前图像不需要旋转操作,FPGA对缓存的原始图像进行预处理;

(5)DSP调用FPGA调用多级滤波ASIC对步骤(4)中经过预处理之后的图像进行多级滤波处理;多级滤波ASIC处理完后的图像写往外部的DPRAM,同时FPGA读取DPRAM里面经过多级滤波处理后的图像,然后FPGA将经过多级滤波处理后的图像数据进行缓存并传送到DSP中;

(6)DSP对步骤(5)中经过多级滤波处理后的图像进行非线性分割处理;非线性分割处理后的图像由DSP调用FPGA进行形态学滤波处理;

(7)DSP调用FPGA,将步骤(6)中经非线性分割、形态学滤波处理后的图像传送到轮廓跟踪与标记ASIC芯片,进行轮廓跟踪与标记处理,标记完后的图像缓存到FPGA并传送给DSP;

(8)DSP获取标记完后的图像的处理结果及几何特征,并调用模式分类器进行后续目标分类;最后将处理完的图像传送到PAL视频输出进行显示,即目标的实时识别与跟踪结果。

进一步地,使用FPGA内部的FIFO资源以及DPRAM资源,还使用两个外部的DPRAM存储芯片,通过对数据的缓存使得在处理某一帧图片的某一步骤的同时,还能够并行处理其他帧的其他步骤。

进一步地,所述并行处理的方法如下:

当第一帧图像数据旋转完成,进行FPGA的图像预处理时,第二帧图像便进入到旋转芯片进行旋转;由于FPGA的处理速度较快,第一帧图像预处理完成时,第二帧图像还未旋转完成,此时对第一帧图像数据进行缓存,待第二帧图像旋转完成后再由FPGA进行第二帧图像的预处理;当FPGA进行第二帧图像的预处理时,FPGA同时读取第一帧图像的缓存数据进行下一步处理。

进一步地,FPGA的各个独立模块都是并行执行的。

进一步地,FPGA、DSP、各ASIC之间均通过FIFO构建的交换式网络进行数据传输,每个输入FIFO的选择端均用使能信号选择其中的一个三态门接通,以实现一个输出接口的数据同时传输到多个输入FIFO中。

与现有技术相比,本发明的效果如下:

(1)将复杂算法进行分解,由DSP作为主控芯片,合理的通过FPGA来调用专用集成芯片来实现某些特定的算法功能;同时DSP与FPGA之间的通信互联,可以及时的反馈各个芯片是否正常工作,DSP由此发出指令来终止或者继续系统的工作。这样一来,就可以避免由前一个芯片无法正常工作而导致的错误蔓延。

(2)本发明将完成图像目标识别所需要的复杂算法分解成一个个的基本计算模块,用旋转ASIC芯片来实现旋转算法、用多级滤波ASIC芯片来实现多级滤波算法、用FPGA预处理模块来实现形态学滤波、用标记ASIC来完成对分割后图像的标记等,最终的特征匹配算法由DSP来实现。这样合理的分工以及协调调度既保证了系统的实时性,又降低了系统的整体功耗,同时降低了对DSP和FPGA等处理芯片对运算能力的要求。

(3)流水线操作与并行操作相结合。由DSP作为主控芯片,合理的通过FPGA来调用专用集成芯片来实现某些特定的算法功能的关键就是适时调用各个模块,对图像的处理采用流水线操作,图像数据依次有序地经过各个处理单元处理,各处理单元协同工作,以保证每一个时刻都有多帧图像在流水线上被有序地处理。这种异构器件的流水线结合并行操作的特点,大大地提高了系统的实时性。

附图说明

图1是传统算法处理流程图;

图2是异构处理机处理流程图;

图3是数据的同步处理结构图;

图4是高带宽动态全互联结构图;

图5是并行处理流水图;

图6(a)是实施例中建筑物红外图像;

图6(b)是实施例中飞机红外图像;

图6(c)是实施例中舰船红外图像;

图6(d)是实施例中装甲车红外图像;

图7(a)是实施例中建筑物识别结果图;

图7(b)是实施例中飞机识别结果图;

图7(c)是实施例中舰船识别结果图;

图7(d)是实施例中装甲车识别结果图;

图8(a)是图像采集装置成像后的原始人手的红外图像;

图8(b)是图8(a)经过校正SOC后的图像;

图9(a)是图像采集装置成像后的原始建筑物的红外图像;

图9(b)是图9(a)经过旋转ASIC后的图像;

图10(a)是图像采集装置成像后的原始舰船的红外图像;

图10(b)是图10(a)经过多级滤波ASIC进行多级滤波后的图像。

具体实施方式

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

图2、3是用于本发明的方法的一款实时目标识别的异构处理机,主要是用于对红外图像进行实时地处理与识别。该异构处理机是基于“FPGA+DSPs+ASICs”的异构并行架构。整个信息处理机主要由处理板、嵌入式操作系统和数据库组成,具有模块化、标准化、体积小、功耗低的特点,能够满足实时处理的要求。同时,系统采用了三种ASIC,分别是旋转ASIC、多级滤波ASIC和轮廓跟踪与标记ASIC。它们分别代替DSP来实现非均匀性校正、图像旋转、图像多级滤波及轮廓跟踪与标记的算法,该系统处理流程图如图2所示,架构图如图3所示。

请参照图2,本发明的具体步骤如下:

(1)系统工作时,序列图像输入到处理板的FPGA中,FPGA将输入的图像数据转换格式并缓存。

(2)DSP作为主控器件,接收到图像采集装置的惯导信息,获取旋转角度参数。同时,DSP会判断是否接收到后续处理步骤的出错反馈信号。若检测到出错反馈信号,DSP会对整个FPGA处理板进行复位操作。根据图像的旋转角度参数来控制FPGA是否调用旋转ASIC芯片进行图像的旋转。若需要旋转则跳到步骤(3),若不需要旋转则跳到步骤(4)

(3)DSP调用FPGA调用旋转ASIC芯片,对图像进行旋转操作,并将经旋转处理完成后的图像数据写往外部的DPRAM,同时FPGA读取DPRAM里面经过旋转处理后的图像,并进行校验,若旋转结果正确,跳到步骤(4);当旋转芯片无法正常工作旋转结果不正确时,例如:旋转后的图像出现错帧、半帧或者图像有明显的错误信息等,此时FPGA就会向DSP发送一个出错反馈信号,跳到步骤(2)

(4)若旋转ASIC对图像进行旋转操作成功,此时FPGA对旋转处理后的图像进行预处理,例如进行降采样并边缘检测;若之前图像不需要旋转操作,此时FPGA对缓存的原始图像进行预处理。

(5)DSP调用FPGA调用多级滤波ASIC对步骤(4)中经过预处理之后的图像进行多级滤波处理。多级滤波ASIC处理完后的图像写往外部的DPRAM,同时FPGA读取DPRAM里面经过多级滤波处理后的图像,然后FPGA将经过多级滤波处理后的图像数据进行缓存并传送到DSP中,当图像数据过大时,可以将数据存储到DSP的存储芯片DDR2中。

(6)对于步骤(5)中经过多级滤波处理后的图像,根据不同的应用场景的需求,DSP执行不同的算法对图像进行非线性分割处理。非线性分割处理后的图像由DSP经过FPGA做形态学滤波处理。

(7)DSP调用FPGA,将步骤(6)中非线性分割、形态学滤波后的处理图像传送到轮廓跟踪与标记ASIC芯片,进行轮廓跟踪与标记处理,标记完后的图像缓存到FPGA并传送给DSP;

(8)DSP获取标记完后的图像的处理结果及几何特征,并调用模式分类器进行后续目标识别分类的处理。最后将处理完的图像经过图像显示单元传送到PAL视频输出进行显示。

为了保证数据的有效处理,保证流水线操作的有序执行。该处理系统使用了FPGA内部的FIFO资源以及DPRAM资源,还使用了两个外部的DPRAM存储芯片,通过对数据的缓存等处理主要解决了数据的同步问题。

例如:如图5所示,当第一帧图像数据旋转完成进行FPGA的图像预处理时,此时第二帧图像便进入到旋转芯片进行旋转,由于FPGA的处理速度较快,第一帧图像预处理完成时,第二帧图像还未旋转完成,此时就应当对图像数据进行缓存,待旋转完成后再进行FPGA的图像预处理。即不同帧的步骤(3)和步骤(4)可以并行,并且可以通过缓存的方式保证处理时间同步。因此,FIFO和DPRAM的使用在流水线的操作中起着至关重要的作用。同时,FPGA的各个独立模块都是并行执行的,例如:当第一帧图像进行多级滤波的时第二帧图像正在进行旋转。

此外,该系统采用FIFO构建的交换式网络构成形式如图4所示,其中在每个输入FIFO的选择端可用使能信号选择其中的一个三态门接通,即对每个输入FIFO来说可以选择数据来自哪个输出接口,避免冲突。同时,可实现一个输出接口的数据同时传输到多个输入FIFO中,实现数据的广播发送。这样的交换式网络减少了需要占用大量存储单元的FIFO存储器,但是同样实现了各处理部件间的全互联。可以实现在任务过程中,数据流根据算法的需要进行改变,重构算法的数据流。

最后,对处理结果图像序列进行人工标定,统计被正确识别目标的图像帧数n,设测试图像帧数为N,则正确识别概率η=n/N,结果如表1所示。

表1

基于以上测试方法,对建筑物、机场跑道上的飞机、舰船和装甲车辆等四类目标的序列图进行测试。它们的原始红外图像如图6(a)~(d),目标识别后的结果图如图7(a)~(d)所示。如图8所示,(a)是图像采集装置成像后的原始人手的红外图像,手掌轮廓模糊(b)是经过校正SOC后的图像;如图9所示,(a)是图像采集装置成像后的原始建筑物的红外图像,(b)是经过旋转ASIC后的图像;图10所示,(a)是图像采集装置成像后的原始舰船的红外图像,(b)是经过多级滤波ASIC后的图像。

本发明将某些特定的算法(例如:旋转算法、连通区域标记算法,小目标检测等)用专用集成芯片来实现,这样一来不仅减轻了DSP的算法复杂度,而且这些不同的异构器件能够协调并行工作,大大地提高了目标检测识别的实时性。

专用集成芯片(ASIC)具有处理效率高、功耗低的特点。专门针对图像处理算法应用而设计的ASIC可以在很低的功耗下,快速高效地完成相应的图像处理算法。在目标成像自动目标识别系统中采用专门的图像处理ASIC可以提高系统的实时性,并降低系统的功耗。

本发明的创新点体现在以下几个方面:

(1)将复杂算法进行分解,由DSP作为主控芯片,合理的通过FPGA来调用专用集成芯片来实现某些特定的算法功能;同时DSP与FPGA之间的通信互联,可以及时的反馈各个芯片是否正常工作,DSP由此发出指令来终止或者继续系统的工作。这样一来,就可以避免由前一个芯片无法正常工作而导致的错误蔓延。本发明将完成图像目标识别所需要的复杂算法分解成一个个的基本计算模块,例如:用旋转ASIC芯片来实现旋转算法、用多级滤波ASIC芯片来实现多级滤波算法、用FPGA预处理模块来实现形态学滤波、用标记ASIC来完成对分割后图像的标记等,最终的特征匹配算法由DSP来实现,如图2所示。这样合理的分工以及协调调度既保证了系统的实时性,又降低了系统的整体功耗,同时降低了对DSP和FPGA等处理芯片对运算能力的要求。

(2)高低速、多总线数据同步传输设计。本发明中,由DSP作为主控芯片的实时目标识别的异构处理系统中,由于FPGA、DSP、ASICs等器件具有不同的工作时钟,同时ASIC作为专用的处理器,输入输出接口和通用的处理器DSP和FPGA相比有很大的差异,不同ASIC之间输入输出、位宽等差异也很大。例如:旋转ASIC输入的是图像数据,输出是图处理后的像数据,图像数据的位宽8bit-14bit,而标记ASIC输入的是二值(多值)分割后的图像数据,输出是特征(如目标的轮廓信息和坐标等),图像数据的位宽3bit。此外,ASIC的输入输出接口缓存也存在着差异,例如:标记ASIC不需要外接存储芯片对数据进行存储,而旋转ASIC和多级滤波ASIC则需要外接存储芯片对数据进行存储。这些差异就导致不同ASIC之间通过FPGA进行互联以及不同ASIC与DSP以及FPGA之间的互联设计是一个设计的难点。

不同的处理器之间高效的互联,对提高整个系统的性能有着重要的意义。逻辑层与物理层之间进行分隔、逻辑层的动态互联结构是解决异构互联的一个有效方法。物理层和逻辑层根据需求不同选择不同的接口,例如:板间连接使用LVDS接口,采用串并转换后和逻辑层相连;板内连接使用同步存储器接口,如:FIFO、DPRAM等。缓存结构保证不同处理器之间处理速度差异造成的异步数据缓存问题。

(3)流水线操作与并行操作相结合。由DSP作为主控芯片,合理的通过FPGA来调用专用集成芯片来实现某些特定的算法功能的关键就是适时调用各个模块,对图像的处理采用流水线操作,图像数据依次有序地经过各个处理单元处理,各处理单元协同工作,以保证每一个时刻都有多帧图像在流水线上被有序地处理。这种异构器件的流水线结合并行操作的特点,大大地提高了系统的实时性。

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

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