CN112991382B - 一种基于pynq框架的异构视觉目标跟踪系统及方法 - Google Patents
一种基于pynq框架的异构视觉目标跟踪系统及方法 Download PDFInfo
- Publication number
- CN112991382B CN112991382B CN201911213093.5A CN201911213093A CN112991382B CN 112991382 B CN112991382 B CN 112991382B CN 201911213093 A CN201911213093 A CN 201911213093A CN 112991382 B CN112991382 B CN 112991382B
- Authority
- CN
- China
- Prior art keywords
- target tracking
- target
- feature extraction
- subunit
- acceleration module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000000007 visual effect Effects 0.000 title claims abstract description 13
- 230000001133 acceleration Effects 0.000 claims abstract description 46
- 238000000605 extraction Methods 0.000 claims abstract description 45
- 238000004364 calculation method Methods 0.000 claims abstract description 34
- 230000004044 response Effects 0.000 claims abstract description 14
- 238000010586 diagram Methods 0.000 claims abstract description 10
- 230000003993 interaction Effects 0.000 claims abstract description 9
- 238000004891 communication Methods 0.000 claims abstract description 6
- 230000002452 interceptive effect Effects 0.000 claims abstract description 4
- 239000000872 buffer Substances 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 9
- 241001442055 Vipera berus Species 0.000 claims description 8
- 238000011176 pooling Methods 0.000 claims description 8
- 238000013500 data storage Methods 0.000 claims description 7
- 230000003139 buffering effect Effects 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 4
- 238000003491 array Methods 0.000 claims description 4
- 238000006073 displacement reaction Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 abstract description 6
- 239000010410 layer Substances 0.000 description 11
- 238000013461 design Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/168—Segmentation; Edge detection involving transform domain methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于PYNQ框架的异构视觉目标跟踪系统及方法,所述系统包括设置在PS上的目标跟踪主控模块和设置在PL上的特征提取运算加速模块;PS和PL之间采用AXI接口和DMA通道实现控制流与数据流的交互通路;目标跟踪主控模块,用于系统初始化配置、视频图像序列载入,对所述特征提取运算加速模块的调用与通信、响应图的显示和目标位置的输出;特征提取运算加速模块,用于对目标进行深度卷积特征提取,然后将特征图在频域内与目标模型进行互相关计算,进而计算最大响应,通过数据交互通路将计算结果回传至所述目标跟踪主控模块。本发明将融合深度卷积特征的相关滤波目标跟踪算法,部署在基于PYNQ框架的ZYNQ异构加速平台,达到稳健性与实时性的平衡。
Description
技术领域
本发明属于计算机视觉目标跟踪领域,涉及一种基于PYNQ框架的异构视觉目标跟踪系统及方法。
背景技术
目标跟踪是一个融合特征提取、运动信息识别定位的交叉课题,是计算机视觉领域的重要研究方向。在图像处理分析技术、芯片技术、计算机技术快速发展的推动下,开始广泛应用于军事侦查、航天航空、公共安全等各个领域。
基于相关滤波框架的目标跟踪算法以优异的速度成为研究的热点,但由于使用HOG、CN等颜色等手工特征,对目标形变遮挡、背景复杂等场景表现不够稳健。基于深度学习的目标跟踪算法精度较高,但由于通过预训练卷积神经网络提取的深度特征,结构复杂计算量巨大,直接影响算法的实时性。
在实际研究与应用场合中,对硬件的性能资源以及软件的算法优化提出了更高的要求。传统的目标跟踪方案很难适应复杂多变场景的视频图像序列目标跟踪任务。相关滤波类算法精度较低,而深度学习类算法速度较慢,需要达到稳健性与实时性的平衡。
发明内容
本发明的目的在于克服上述技术缺陷,提出了一种基于PYNQ框架的异构视觉目标跟踪系统及方法,融合深度卷积特征的相关滤波目标跟踪算法,部署在基于PYNQ框架的ZYNQ异构加速平台,达到稳健性与实时性的平衡。
为了实现上述目的,本发明提出了一种基于PYNQ框架的异构视觉目标跟踪系统,所述系统包括设置在PS上的目标跟踪主控模块和设置在PL上的特征提取运算加速模块;PS和PL之间采用AXI接口和DMA通道实现控制流与数据流的交互通路;
所述目标跟踪主控模块,用于系统初始化配置、视频图像序列载入,对所述特征提取运算加速模块的调用与通信、响应图的显示和目标位置的输出;
所述特征提取运算加速模块,用于对目标进行特征提取,然后将特征图在频域内与目标模型进行互相关计算,进而计算最大响应,通过数据交互通路将计算结果回传至所述目标跟踪主控模块。
作为上述系统的一种改进,所述目标跟踪主控模块的具体实现过程为:
进行系统初始化配置,设定相关参数,载入视频图像序列以及第一帧目标位置,建立高斯回归标签,通过汉宁窗去除边界效应;
加载深度卷积网络预训练模型VGG-Net-19,将视频图像序列输入所述特征提取运算加速模块,提取多层深度卷积特征;
若为第一帧,频域进行核自相关计算,进而得到岭回归分类参数,进行快速训练,同时对目标模型进行更新;
若为后续帧,根据前一帧目标区域提取图像区域特征,然后将特征在频域内与目标模型进行互相关计算,进而计算最大响应;
根据所述特征提取运算加速模块返回的运算结果,通过傅里叶反变换求出当前帧相对于前一帧目标的位移,输出目标位置;
根据训练结果,计算三个置信度评估指标,根据结果判断是否有遮挡,如有遮挡,将当前模板备份,对目标位置进行自适应更新,对目标模型进行更新。
作为上述系统的一种改进,所述特征提取运算加速模块包括:一个控制单元、一组输入缓冲区、一组输出缓冲区、一组特征图缓冲区以及一组由多个处理单元构成的运算阵列;
所述控制单元,用于从外部获取指令并对其进行解码、计算前配置、记录、分发正确的信息以及运算过程各单元的信息交互;
所述输入缓冲区包括:图像缓冲、权值缓冲和偏置缓冲,用于将从外部存储器中载入的图像、权值、偏置数据缓存到片上再送至运算阵列中;
所述输出缓冲区,用于将中间结果和最终运算结果传输保存到外部存储器中,供PS访问获取;
所述特征图缓冲区,用于缓存若干行图像数据;
所述运算阵列,用于实现卷积运算。
作为上述系统的一种改进,所述控制单元包括:核心配置子单元、权重地址配置子单元、偏置地址配置子单元、特征图地址配置子单元;
所述核心配置子单元,用于控制权重地址配置子单元、偏置地址配置子单元、特征图地址配置子单元之间的协同工作;
所述权重地址配置子单元,用于向所述特征提取运算加速模块发送、存储所需权重数据存放地址;
所述偏置地址配置子单元,用于向所述特征提取运算加速模块发送、存储所需偏置数据存放地址;
所述特征图地址配置子单元,用于向所述特征提取运算加速模块发送、存储所需特征图中间计算数据存放地址。
作为上述系统的一种改进,所述运算阵列由8×8个并行运算的处理单元组成,每个处理单元完成尺寸为3×3的卷积运算。
作为上述系统的一种改进,所述处理单元包括:卷积计算器组、加法器树、非线性子单元和最大池化子单元;
所述卷积计算器组,用于进行多个并行卷积计算;
所述加法器树,用于对所有的卷积结果进行求和;
所述非线性子单元,用于将非线性激活函数应用于输入数据流;
所述最大池化子单元,使用行缓冲区相同结构,用于以特定窗口输入数据流并输出最大值;
本发明还提出一种基于PYNQ框架的异构视觉目标跟踪方法,基于上述的系统实现,所述方法包括以下步骤:
所述PS使用Python调用Overlay函数完成PL的比特流动态加载与配置;
所述PS使用Python调用Xlnk函数,进行片外存储器DDR4中物理地址连续的空间锁定、图像数据、权值参数存储操作;
所述目标跟踪主控模块进行系统初始化配置,载入视频图像序列,调用所述特征提取运算加速模块;
所述特征提取运算加速模块对载入的视频图像序列进行特征提取,然后将特征图在频域内与目标模型进行互相关计算,进而计算最大响应,通过数据交互通路将计算结果回传至所述目标跟踪主控模块;
所述目标跟踪主控模块根据计算结果,通过最大响应计算出目标当前位置。
本发明的优点在于:
1、本发明的系统具有通用性强、执行效率高,便于开发与移植;
2、本发明融合深度卷积特征的相关滤波目标跟踪算法,部署在基于PYNQ框架的ZYNQ异构加速平台,达到稳健性与实时性的平衡。
附图说明
图1是本发明异构目标跟踪系统总体设计框图;
图2是本发明异构目标跟踪系统算法流程图;
图3是本发明特征提取运算加速模块的结构框图;
图4是本发明特征提取运算加速模块中运算阵列中的处理单元结构图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明。
为实现上述目的,本发明基于软硬件协同设计的思想,算法部分主要采用C/C++语言、硬件加速部分采用Verilog/VHDL语言,属于电子信息行业软硬件的实质设计标准。系统实现采用异构架构平台,在ZYNQ子系统PS部分基于PYNQ框架以软件形式运行目标跟踪算法的主体软件,在ZYNQ子系统PL部分搭建加速片上系统,执行运算密集的深度卷积特征提取环节,通过AXI总线完成控制流与数据流的交互。
本发明提出了一种基于PYNQ框架的异构视觉目标跟踪系统,该系统包括Jupyter子系统和ZYNQ子系统以及USB接口、以太网接口、Micro SD卡等若干外设。
Jupyter子系统实现网络搭建、Jupyter笔记本的运行、顶层Python程序调用。
ZYNQ子系统集成了处理器部分PS和可编程逻辑部分PL,二者之间采用AXI接口和DMA通道实现控制流与数据流的交互通路,完成目标跟踪算法的实现。PL部分包括特征提取运算加速模块。特征提取运算加速模块包括:一个控制单元、一组输入缓冲区、一组输出缓冲区、一组特征图缓冲区以及一组由多个处理单元构成的运算阵列。USB接口实现ZYNQ比特文件的加载。以太网接口通过与Jupyter子系统的连接,完成片上系统的远程访问与显示以及数据传输。Micro SD卡加载PYNQ镜像文件,引导Linux系统正常启动,同时提供数据存储空间。在PS上设置目标跟踪主控模块,用于系统初始化配置、视频图像序列载入,对所述特征提取运算加速模块的调用与通信、响应图的显示和目标位置的输出。
PYNQ是一种开源开发框架,提供标准的可以约束芯片I/O引脚的“Overlay”比特流,利用Python对FPGA进行编程开发。本发明提出一种融合深度卷积特征的相关滤波目标跟踪算法,部署在基于PYNQ框架的ZYNQ异构加速平台。
图1为本发明的系统总体设计框图,该系统的工作流程包括以下步骤:
S01:通过Micro SD卡中的PYNQ镜像引导Linux系统启动,打开Web浏览器通过Jupyter远程登录板卡,初始化外设驱动程序;
S02:使用Python调用Overlay函数完成比特流的动态加载,配置PL结构;
S03:使用Python调用Xlnk函数在PS外搭的DDR4中锁定物理地址连续的空间来存储数据将图像数据、权值参数;
S04:PS内的目标跟踪主控模块收到图像后进行相关操作,调用PL的特征提取运算加速模块进行并行计算;
S05:PL进行并行加速运算,完毕后,将结果通过AXI返回至PS进行后续算法环节的运算;
S06:PS运行软件算法,直至跟踪结束,在Jupyter笔记本中显示系统运行的代码及其生成的图形。
图2为S04中相关的算法流程图,包括以下步骤:
S04-1)初始化:开始进行初始化配置,设定相关参数。载入视频图像序列,建立高斯回归标签,通过汉宁窗去除边界效应;
S04-2)特征提取:加载深度卷积网络预训练模型VGG-Net-19,将视频图像序列输入,提取Conv3_4、Conv4_4和Conv5_4的多层深度卷积特征;
S04-3)训练:频域进行核自相关计算,进而得到岭回归分类参数,快速训练。若为第一帧,则提供岭回归参数与特征矩阵作为目标模型。训练过程进行自相关运算生成跟踪模板;
S04-4)检测:根据前一帧目标区域提取图像区域特征,然后将特征在频域内与目标模型进行互相关计算,进而计算最大响应,通过傅里叶反变换求出当前帧相对于前一帧目标的位移,输出目标位置。检测过程则进行互相关计算完成模板匹配;
S04-5)模型更新:根据训练结果,计算三个置信度评估指标,根据结果判断是否有遮挡,如有遮挡,将当前模板备份,对目标的位置进行自适应更新对目标模型进行在线更新。
特征提取运算加速模块的设计
由于深度特征提取涉及的网络结构庞大、参数占用空间大、计算重复性高、耗时多,为了对异构跟踪系统进行加速,使算法更高效地映射到硬件架构,需要针对影响实时因素的瓶颈进行优化,对算法实现的架构与细节反复修改、调整,最终达到与软件算法的数据结构相当的硬件电路实现结构,提取出信息丰富的多层深度卷积特征图,层次化地构造目标外观模型。
1总体设计
针对目标跟踪算法的特征提取运算加速模块主要通过PL部分实现计算,整体设计如图3所示,主要包括一个控制单元(Controller)、一组输入缓冲区(InputBuffers)、一组输出缓冲区(Output Buffers)、一组特征图缓冲区(Feature map Buffers)以及一组由多个处理单元(Processing Element)构成的运算阵列。
控制单元包括核心配置子单元、权重地址配置子单元、偏置地址配置子单元、特征图地址配置子单元。负责从外部获取指令并对其进行解码、计算前配置、记录、分发正确的信息以及运算过程中模块间的交互。
输入缓冲区包括图像、权值、偏置缓冲。由于片上资源的限制,数据从外部存储器中载入,缓存到片上缓存器再送至运算阵列中。输出缓冲区将中间结果和最终运算结果传输保存到外部存储中,供PS端访问获取。
特征图缓冲区利用FPGA能进行流水线运算的特点,使用片上BRam缓存若干行图像数据。
处理单元构成的运算阵列是整个硬件架构的核心,实现卷积运算、池化运算。为满足数据并行性设置8×8个并行PE阵列单元以及特征图缓冲区组成,单个PE完成尺寸为3×3的卷积运算。PE使能设置一些PE单元处于闲置状态,节省资源占用。
2并行模式分析
卷积计算过程需要大量的计算资源,其本质为乘累加运算。设每层的特征图维度为Min×Nin×Din,在进行卷积层计算时,转化成Din路Min×Nin尺寸的特征图输入,先对每一路输入特征图取出对应位置的窗口包含的数据,窗口大小则与卷积核尺寸3×3相同,然后将卷积核与其做卷积操作求出单路输入单窗口的中间结果。对Din路的输入做同样的过程,并将这些中间结果累加求出相应输出点。反复计算Mout×Nout次,输出每路输出通道上的一张输出特征图。输出通道为Dout,需再重复进行Dout,完成一层卷积运算的计算量为:
MAC=K2×Mout×Nout×Din×Dout
单层的权重参数个数为:
NWeight=K2×Din×Dout
MAC的计算量繁重,权重参数以及特征图的占用空间巨大,因此需将网络拆分依次循环优化映射至FPGA实现。
由于卷积神经网络的相关性决定层与层之间存在数据依赖,底层的输出结果是上层的输入数据,这使得层间并行的开发难度大大增加,一般主要从整体架构实现上提高运算性能。而卷积层内主要有以下几种并行特征:
1、特征图释放窗口内部并行计算:选定卷积核C1,特征图I1释放一个与卷积核同样尺寸的窗口W1,则C1与W1进行卷积运算,相应的乘法计算可以并行执行;
2、特征图释放窗口之间并行计算:选定卷积核C1,特征图I1释放若干个与卷积核同样尺寸的窗口如W1、W2等,则C1与W1、W2之间的卷积运算可以并行执行;
3、卷积核之间并行计算:选定卷积核C1、C2,特征图I1释放一个与卷积核同样尺寸的窗口W1,则C1、C2与W1之间的卷积运算可以并行执行;
4、原始输入图像或者特征图之间的并行计算:选定卷积核C1、C2,特征图I1、I2,则C1与W1、C2与W2之间的卷积运算可以并行执行;
本发明采取卷积核内并行、卷积核间并行以及特征图间并行的方案,利用VGG-Net中运算相似度高的特点,将硬件资源同时实现单层卷积网络的运算,反复调用实现整个卷积模型的运算。并针对反复读取数据降低运算速度的弊端以及分布不均浪费资源的问题,提出优化方案。
3运算阵列设计
运算阵列是整个特征提取运算加速模块的核心部分,每个PE功能独立,结构相同。处理单元结构如图4,包括卷积计算器、加法器树、非线性子单元、最大池化子单元。
卷积计算器使用经典的行缓冲器结构。行缓冲区在输入图像上释放一个窗口选择函数,然后是乘法器和加法器树,每个周期计算一次卷积结果。
乘法操作通过DSP单元进行快速的实现,具体由定点乘法器模块DSP48E2在一个时钟周期内完成一个乘法累加算法。行缓冲处理延时固定,例如3×3进行处理,结果延时是两行图像的时间。
加法器树对所有的卷积结果进行求和。非线性子单元将非线性激活函数应用于输入数据流。最大池化子单元使用行缓冲区相同结构,以特定窗口输入数据流并输出最大值。
具体实现如下:
首先接收输入缓冲区分发的特征图、权重、参数等数据;
接着在各个处理单元内部以卷积计算器组进行特征图释放窗口内部、特征图释放窗口之间、卷积核之间、原始输入图像或者特征图之间的卷积操作;
然后通过加法器树对相应的卷积结果进行求和;
最后输入非线性子单元进行非线性激活,经由最大池化子单元输出最大值。
4计算精度优化
在FPGA上使用浮点数格式的数据参与运算会严重影响速度,需要对网络的数据进行数据量化,在保持较高的精度的前提下,可以降低模型参数文件在内存中的占用空间,同时可以优化计算资源,从而提高运行速度、降低功耗。在FPGA中一般通过三个DSP单元完成算法中权值为32浮点数的一次乘加操作。研究发现16位浮点数并未损耗权值信息,但极大地提升了网络运算速度。因此本发明硬件设计中采用16比特进行数据量化,减少位宽。
系统工作流程
异构目标跟踪系统部署在ZYNQ实现,从总体层面将系统拆分为控制与运算两大部分。控制部分涵盖配置、寻址、通信等较为复杂的操作,可以通过以ARM为核心的片内SoC(Processing System,PS)实现;而运算部分涉及数据庞大,重复性高的简单计算,可以通过并行度高的FPGA(Programmable Logic,PL)实现。二者之间采用AXI接口和DMA通道实现控制流与数据流的交互通路。
PL的主体部分为特征提取运算加速模块IP核。为了支持特征提取运算加速模块IP核的工作,需要进行片上系统的搭建。首先配置PS运行所需的硬件设备及参数;其次为IP核提供工作时钟、控制指令信号、数据输入接口等;然后实现PS-PL间高效稳定协同工作的AXI总线通信;最后完成片上系统的搭建之后,导出硬件配置文件,进行PYNQ框架应用层开发与硬件协处理器调用。
生成特征提取运算加速模块IP核后,创建比特流文件,将其集成到PYNQ架构,形成硬件协处理器。通过API提取硬件详细信息,在Jupyter中通过Python编程直接调用PL中的特征提取运算加速模块IP核,实现并行计算加速等功能。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种基于PYNQ框架的异构视觉目标跟踪系统,其特征在于,所述系统包括设置在PS上的目标跟踪主控模块和设置在PL上的特征提取运算加速模块;PS和PL之间采用AXI接口和DMA通道实现控制流与数据流的交互通路;
所述目标跟踪主控模块,用于系统初始化配置、视频图像序列载入,对所述特征提取运算加速模块的调用与通信、响应图的显示和目标位置的输出;
所述特征提取运算加速模块,用于对目标进行特征提取,然后将特征图在频域内与目标模型进行互相关计算,进而计算最大响应,通过数据交互通路将计算结果回传至所述目标跟踪主控模块;
所述目标跟踪主控模块的具体实现过程为:
进行系统初始化配置,设定相关参数,载入视频图像序列以及第一帧目标位置,建立高斯回归标签,通过汉宁窗去除边界效应;
加载深度卷积网络预训练模型VGG-Net-19,将视频图像序列输入所述特征提取运算加速模块,提取多层深度卷积特征;
若为第一帧,频域进行核自相关计算,进而得到岭回归分类参数,进行快速训练,同时对目标模型进行更新;
若为后续帧,根据前一帧目标区域提取图像区域特征,然后将特征在频域内与目标模型进行互相关计算,进而在频域内计算最大响应;
根据所述特征提取运算加速模块返回的运算结果,通过傅里叶反变换求出当前帧相对于前一帧目标的位移,输出目标位置;
根据训练结果,计算三个置信度评估指标,根据结果判断是否有遮挡,如有遮挡,将当前模板备份,对目标位置进行自适应更新,对目标模型进行更新。
2.根据权利要求1所述的基于PYNQ框架的异构视觉目标跟踪系统,其特征在于,所述特征提取运算加速模块包括:一个控制单元、一组输入缓冲区、一组输出缓冲区、一组特征图缓冲区以及一组由多个处理单元构成的运算阵列;
所述控制单元,用于从外部获取指令并对其进行解码、计算前配置、记录、分发正确的信息以及运算过程各单元的信息交互;
所述输入缓冲区包括:图像缓冲、权值缓冲和偏置缓冲,用于将从外部存储器中载入的图像、权值、偏置数据缓存到片上再送至运算阵列中;
所述输出缓冲区,用于将中间结果和最终运算结果传输保存到外部存储器中,供PS访问获取;
所述特征图缓冲区,用于缓存若干行图像数据;
所述运算阵列,用于实现卷积运算。
3.根据权利要求2所述的基于PYNQ框架的异构视觉目标跟踪系统,其特征在于,所述控制单元包括:核心配置子单元、权重地址配置子单元、偏置地址配置子单元、特征图地址配置子单元;
所述核心配置子单元,用于控制权重地址配置子单元、偏置地址配置子单元、特征图地址配置子单元之间的协同工作;
所述权重地址配置子单元,用于向所述特征提取运算加速模块发送、存储所需权重数据存放地址;
所述偏置地址配置子单元,用于向所述特征提取运算加速模块发送、存储所需偏置数据存放地址;
所述特征图地址配置子单元,用于向所述特征提取运算加速模块发送、存储所需特征图中间计算数据存放地址。
4.根据权利要求2所述的基于PYNQ框架的异构视觉目标跟踪系统,其特征在于,所述运算阵列由8×8个并行运算的处理单元组成,每个处理单元完成尺寸为3×3的卷积运算。
5.根据权利要求4所述的基于PYNQ框架的异构视觉目标跟踪系统,其特征在于,所述处理单元包括:卷积计算器组、加法器树、非线性子单元和最大池化子单元;
所述卷积计算器组,用于进行多个并行卷积计算;
所述加法器树,用于对所有的卷积结果进行求和;
所述非线性子单元,用于将非线性激活函数应用于输入数据流;
所述最大池化子单元,使用行缓冲区相同结构,用于以设定的窗口输入数据流并输出最大值。
6.一种基于PYNQ框架的异构视觉目标跟踪方法,基于权利要求1-5之一所述的系统实现,所述方法包括以下步骤:
所述PS使用Python调用Overlay函数完成PL的比特流动态加载与配置;
所述PS使用Python调用Xlnk函数,进行片外存储器DDR4中物理地址连续的空间锁定、图像数据、权值参数存储操作;
所述目标跟踪主控模块进行系统初始化配置,载入视频图像序列,调用所述特征提取运算加速模块;
所述特征提取运算加速模块对载入的视频图像序列进行特征提取,然后将特征图在频域内与目标模型进行互相关计算,进而计算最大响应,通过数据交互通路将计算结果回传至所述目标跟踪主控模块;
所述目标跟踪主控模块根据计算结果,通过最大响应计算出目标当前位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911213093.5A CN112991382B (zh) | 2019-12-02 | 2019-12-02 | 一种基于pynq框架的异构视觉目标跟踪系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911213093.5A CN112991382B (zh) | 2019-12-02 | 2019-12-02 | 一种基于pynq框架的异构视觉目标跟踪系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112991382A CN112991382A (zh) | 2021-06-18 |
CN112991382B true CN112991382B (zh) | 2024-04-09 |
Family
ID=76331260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911213093.5A Active CN112991382B (zh) | 2019-12-02 | 2019-12-02 | 一种基于pynq框架的异构视觉目标跟踪系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112991382B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113744220B (zh) * | 2021-08-25 | 2024-03-26 | 中国科学院国家空间科学中心 | 一种基于pynq的无预选框检测系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008008046A1 (en) * | 2006-07-11 | 2008-01-17 | Agency For Science, Technology And Research | Method and system for multi-object tracking |
CN105046681A (zh) * | 2015-05-14 | 2015-11-11 | 江南大学 | 一种基于SoC的图像显著性区域检测方法 |
CN105631798A (zh) * | 2016-03-04 | 2016-06-01 | 北京理工大学 | 低功耗便携式实时图像目标检测与跟踪系统及方法 |
CN105847766A (zh) * | 2016-05-30 | 2016-08-10 | 福州大学 | 一种基于Zynq-7000的运动目标检测与跟踪系统 |
CN107705322A (zh) * | 2017-09-27 | 2018-02-16 | 中北大学 | 运动目标识别跟踪方法和系统 |
CN107977988A (zh) * | 2017-11-21 | 2018-05-01 | 北京航宇创通技术有限公司 | 视频目标跟踪系统、方法、所述系统的控制板 |
CN108038447A (zh) * | 2017-12-12 | 2018-05-15 | 广西师范大学 | 一种基于Zynq-7000的行人检测系统 |
CN108346159A (zh) * | 2018-01-28 | 2018-07-31 | 北京工业大学 | 一种基于跟踪-学习-检测的视觉目标跟踪方法 |
CN109255304A (zh) * | 2018-08-17 | 2019-01-22 | 西安电子科技大学 | 基于分布场特征的目标跟踪方法 |
CN109389617A (zh) * | 2018-08-27 | 2019-02-26 | 深圳大学 | 一种基于片上异构系统的运动目标识别与追踪方法及系统 |
CN109871813A (zh) * | 2019-02-25 | 2019-06-11 | 沈阳上博智像科技有限公司 | 一种实时图像跟踪方法及系统 |
CN110414401A (zh) * | 2019-07-22 | 2019-11-05 | 杭州电子科技大学 | 一种基于pynq的智能监控系统及监控方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753846A (zh) * | 2017-11-03 | 2019-05-14 | 北京深鉴智能科技有限公司 | 目标跟踪硬件实现系统和方法 |
US10902615B2 (en) * | 2017-11-13 | 2021-01-26 | Qualcomm Incorporated | Hybrid and self-aware long-term object tracking |
-
2019
- 2019-12-02 CN CN201911213093.5A patent/CN112991382B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008008046A1 (en) * | 2006-07-11 | 2008-01-17 | Agency For Science, Technology And Research | Method and system for multi-object tracking |
CN105046681A (zh) * | 2015-05-14 | 2015-11-11 | 江南大学 | 一种基于SoC的图像显著性区域检测方法 |
CN105631798A (zh) * | 2016-03-04 | 2016-06-01 | 北京理工大学 | 低功耗便携式实时图像目标检测与跟踪系统及方法 |
CN105847766A (zh) * | 2016-05-30 | 2016-08-10 | 福州大学 | 一种基于Zynq-7000的运动目标检测与跟踪系统 |
CN107705322A (zh) * | 2017-09-27 | 2018-02-16 | 中北大学 | 运动目标识别跟踪方法和系统 |
CN107977988A (zh) * | 2017-11-21 | 2018-05-01 | 北京航宇创通技术有限公司 | 视频目标跟踪系统、方法、所述系统的控制板 |
CN108038447A (zh) * | 2017-12-12 | 2018-05-15 | 广西师范大学 | 一种基于Zynq-7000的行人检测系统 |
CN108346159A (zh) * | 2018-01-28 | 2018-07-31 | 北京工业大学 | 一种基于跟踪-学习-检测的视觉目标跟踪方法 |
CN109255304A (zh) * | 2018-08-17 | 2019-01-22 | 西安电子科技大学 | 基于分布场特征的目标跟踪方法 |
CN109389617A (zh) * | 2018-08-27 | 2019-02-26 | 深圳大学 | 一种基于片上异构系统的运动目标识别与追踪方法及系统 |
CN109871813A (zh) * | 2019-02-25 | 2019-06-11 | 沈阳上博智像科技有限公司 | 一种实时图像跟踪方法及系统 |
CN110414401A (zh) * | 2019-07-22 | 2019-11-05 | 杭州电子科技大学 | 一种基于pynq的智能监控系统及监控方法 |
Non-Patent Citations (4)
Title |
---|
A fast and energy efficient FPGA-based system for real-time object tracking;Xiaobai Chen;2017 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference (APSIPA ASC);全文 * |
双边界限定下的运动目标跟踪方法;邓豪;刘桂华;杨康;包川;邓磊;;传感器与微系统;20181220(01);全文 * |
基于KCF的弹载目标跟踪方法研究;陈栋;刘桢;石胜斌;王昱翔;;电子测量技术(21);全文 * |
基于多层深度卷积特征的抗遮挡实时跟踪算法;崔洲涓;光学学报;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112991382A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3627397B1 (en) | Processing method and apparatus | |
CN109740534B (zh) | 图像处理方法、装置及处理设备 | |
CN106991477B (zh) | 一种人工神经网络压缩编码装置和方法 | |
WO2020073211A1 (zh) | 运算加速器、处理方法及相关设备 | |
CN109902548A (zh) | 一种对象属性识别方法、装置、计算设备及系统 | |
CN112541159A (zh) | 一种模型训练方法及相关设备 | |
CN112580720B (zh) | 一种模型训练方法及装置 | |
CN111738403B (zh) | 一种神经网络的优化方法及相关设备 | |
CN114925320B (zh) | 一种数据处理方法及相关装置 | |
CN111767986A (zh) | 一种基于神经网络的运算方法及装置 | |
CN111368668B (zh) | 三维手部识别方法、装置、电子设备及存储介质 | |
CN113627422A (zh) | 一种图像分类方法及其相关设备 | |
WO2024213099A1 (zh) | 一种数据处理方法及其装置 | |
CN111767947A (zh) | 目标检测模型、应用方法及相关装置 | |
CN112991382B (zh) | 一种基于pynq框架的异构视觉目标跟踪系统及方法 | |
CN116312489A (zh) | 一种模型训练方法及其相关设备 | |
CN116310677A (zh) | 一种图像处理方法及其相关设备 | |
CN116309226A (zh) | 一种图像处理方法及其相关设备 | |
CN116343004A (zh) | 一种图像处理方法及其相关设备 | |
Tsai et al. | Hardware Architecture Design for Hand Gesture Recognition System on FPGA | |
CN115623242A (zh) | 一种视频处理方法及其相关设备 | |
CN117746047A (zh) | 一种图像处理方法及其相关设备 | |
CN110991229B (zh) | 基于dsp芯片与量化模型的三维物体识别方法 | |
CN113065638A (zh) | 一种神经网络压缩方法及其相关设备 | |
CN112329544A (zh) | 基于深度信息的手势识别机器学习方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |