CN105872346A - 一种基于fpga的电子稳像*** - Google Patents
一种基于fpga的电子稳像*** Download PDFInfo
- Publication number
- CN105872346A CN105872346A CN201510028849.4A CN201510028849A CN105872346A CN 105872346 A CN105872346 A CN 105872346A CN 201510028849 A CN201510028849 A CN 201510028849A CN 105872346 A CN105872346 A CN 105872346A
- Authority
- CN
- China
- Prior art keywords
- submodule
- frame
- module
- characteristic
- point
- 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.)
- Pending
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明一种基于FPGA的电子稳像***,包括由FPGA和外部帧存储器构建的底层数据流水架构和稳像处理子***两部分组成;底层数据流水架构,用于对视频数据进行解码提取有效的图像数据并缓存,采用乒乓操作控制整个***的图像数据流,并向稳像处理子***提供所缓存的图像数据,利用稳像处理子***处理得到的参数构造运动补偿帧输出;稳像处理子***,计算输入图像数据的当前帧的运动补偿参数,并将其传输给底层数据流水架构。基于本发明设计,可以利用FPGA实现基于特征匹配的电子稳像,达到实时性要求。
Description
技术领域
本发明属于图像处理技术领域,具体涉及一种基于FPGA的电子稳像***。
背景技术
电子稳像技术作为一种重要的视频增强技术,可以有效地从视频序列中去除因摄像平台不稳定而引入的图像扰动,从而提高视频的稳定性和清晰度,已经被广泛应用到军事领域和民用设备中。
常用的电子稳像方法按照运动估计方法的不同可以分为基于图像特征的电子稳像方法和基于灰度信息的电子稳像方法。其中,基于图像特征的稳像方法通过提取帧内特征点,并对相邻帧的特征点进行匹配来估计摄像机的运动参数,进而对图像进行运动补偿。该方法精度较高,可以有效去除视频中的平移和旋转抖动,进而被广泛采用,但由于计算过程相对复杂,难以硬件实时实现。
利用FPGA进行视频图像处理,可以充分发挥并行和流水线计算的优势,解决复杂的计算密集型运算,为实时视频处理提供一种有效的解决方案。
发明内容
本发明是为了解决现有基于特征匹配的稳像算法难以硬件实时实现的问题,而提出一种基于FPGA的电子稳像***。
实现本发明的技术方案如下:
一种基于FPGA的电子稳像***,包括由FPGA和外部帧存储器构建的底层数据流水架构和稳像处理子***两部分组成;
底层数据流水架构,用于对视频数据进行解码提取有效的图像数据并缓存,采用乒乓操作控制整个***的图像数据流,并向稳像处理子***提供所缓存的图像数据,利用稳像处理子***处理得到的参数构造运动补偿帧输出;
稳像处理子***,计算输入图像数据的当前帧的运动补偿参数,并将其传输给底层数据流水架构。
本发明具有如下有益效果:
1)基于本发明设计,可以利用FPGA实现基于特征匹配的电子稳像,达到实时性要求。
2)利用FPGA及少量***器件,可以完成构建低功耗的小型化实时稳像***,应用前景广泛。
3)特征提取,特征匹配和运动参数估计三个模块以流水线模式运行,充分发挥FPGA并行处理的优势,保证处理的实时性。
附图说明
图1为基于FPGA的电子稳像***的示意图;
图2为底层数据流水架构框图;
图3为特征提取模块框图;
图4为特征匹配模块框图;
图5为运动参数估计模块框图;
图6为运动参数累积及滤波模块框图。
具体实施方式
下面结合附图和具体实例对本发明进行详细说明。
如图1所示,本发明一种基于FPGA的电子稳像***,包括由FPGA和外部帧存储器构建的底层数据流水架构和稳像处理子***。
底层数据流水架构,用于对视频数据进行解码提取有效的图像数据并缓存,采用乒乓操作控制整个***的图像数据流,并向稳像处理子***提供所缓存的图像数据,利用稳像处理子***处理得到的参数构造运动补偿帧输出。
稳像处理子***,计算输入图像数据的当前帧的运动补偿参数,并将其传输给底层数据流水架构。
如图2所示,本发明所述底层数据流水架构主要由视频解码子模块、输入视频写入子模块、输入帧读出子模块、当前帧写入子模块、地址产生子模块、补偿帧读出子模块、输出帧写入子模块、输出视频读出子模块、视频编码子模块、外部存储控制器、外部存储总线仲裁子模块、输入缓存、输出缓存、参考帧缓存及当前帧缓存组成;输入缓存、输出缓存、参考帧缓存及当前帧缓存由外部帧存储器实现;其利用外部帧存储器进行图像存储,采用乒乓操作进行输入输出缓存,并向稳像处理模块提供有效的图像数据进行处理,然后利用处理结果构造运动补偿帧输出。具体为:
视频解码子模块,对输入的视频数据进行解码,提取有效的图像数据作为输入帧通过输入视频写入子模块写入到输入缓存中。
输入帧读出子模块,从输入缓存中读取缓存好的输入帧,并将其传输给稳像处理子***,同时,通过当前帧写入子模块将参考帧图像写入参考帧缓存中,通过当前帧写入子模块将其余帧图像写入当前帧缓存中;其中参考帧为从输入帧中选定的其中一帧。
地址产生子模块,根据稳像处理子***输出的运动补偿参数构造运动补偿帧,并计算运动补偿帧内各点的数据存储地址,产生一个地址队列。
补偿帧读出子模块,根据所述地址队列读出运动补偿帧的各点数据作为输出帧,并通过输出帧写入子模块写入到输出缓存中。
输出视频读出子模块,将缓存好的输出帧送到视频编码子模块进行视频编码输出。
外部存储总线仲裁子模块,利用各子模块的存取优先级进行外部帧存储器的总线分配,生成读写指令。
外部存储控制器,根据外部总线仲裁子模块的读写指令,按照外部帧存储器的时序要求产生读写信号,进行数据存取。
本发明所述稳像处理子***由FPGA实现,包括特征提取模块、特征匹配模块、运动参数估计模块和运动参数累积及滤波模块;特征提取,特征匹配,运动参数估计模块以流水线模式运行,充分发挥FPGA的并行处理优势,保证处理的实时性。具体为:
特征提取模块,用于提取当前帧图像的特征点,并针对提取的特征点生成相应的特征向量传输给特征匹配模块。
特征匹配模块,用于对当前帧的特征向量和前一帧的进行匹配,获取匹配点对并传输给运动参数估计模块。
运动参数估计模块,用于根据匹配点对,生成多个变换模型,选取内点数最多的变换模型的参数作为帧间运动参数,然后将其传输给运动参数累积及滤波模块。
运动参数累积及滤波模块,用于对帧间运动参数进行累积,并滤除所述累积运动变换参数中的高频分量,计算当前帧的运动补偿参数,然后将所述运动补偿参数传输给底层数据流水架构。
(1)特征提取模块
如图3所示,本发明所述特征提取模块主要由数据分配子模块,特征点检测子模块,特征点描述子模块及合成子模块组成;负责从当前帧提取特征点并生成特征向量。
数据分配子模块,对输入图像数据进行区域缓存,并将当前点的邻域数据信息并行分配给特征点检测子模块和特征点描述子模块;计算当前点的坐标将其传输给合成子模块。
特征点检测子模块,根据当前点的邻域数据信息判断当前点是否为特征点,根据判断的结果生成特征点标志传输给特征匹配模块。
特征点描述子模块,根据当前点的邻域数据信息生成相应的特征描述,并传输给合成子模块。
合成子模块,根据接收的特征描述和坐标合成当前点的特征向量传输给特征匹配模块。
(2)特征匹配模块
如图4所示,本发明所述特征匹配模块主要由特征向量存储子模块,匹配控制器和匹配器组成;负责将当前帧的特征向量与前一帧的进行匹配,生成匹配点对坐标。
特征向量存储子模块由参考特征向量存储和当前帧特征向量存储构成,用于接收特征提取模块传输过来的特征向量和特征点标志,根据所述特征点标志判断是否对特征向量进行存储,并存储前一帧的特征向量集合。
匹配控制器,用于将特征向量存储子模块中存储的、当前帧尚未进行匹配的特征向量读出,将所读出的特征向量送到匹配器。
匹配器主要由特征向量距离计算子模块和匹配判别子模块组成;负责为输入的待匹配特征向量在前一帧的特征向量集合中找出最佳匹配。
特征向量距离计算子模块,存储输入的待匹配的特征向量,从特征向量存储子模块依次读取前一帧的所有特征向量,并计算待匹配的特征向量与前一帧的所有特征向量之间的距离,记录距离的最小和次小值及最小距离所对应的匹配点对的空间信息。
匹配判别子模块,根据所述距离的最小和次小值以及最小距离所对应的匹配点对的空间信息,判断最小距离所对应的匹配点对是否为正确匹配点对,生成匹配标志和匹配点对坐标给运动参数估计模块。
本实施例中匹配判别子模块的判断为:将最小与次小距离的比值与预设阈值进行比较,判断所述比值是否小于预设阈值。
同时,针对空间信息中包含的空间坐标(X,Y)和(X’,Y’),方向角R和R’,设立以下两种判别条件:
第一:
第二:|R-R′|<Threshold2
其中,Threshold1表示坐标阈值,Threshold2表示角度阈值;
若以上条件均满足,则认为最小距离所对应的匹配点对为正确匹配,生成表示匹配成功的匹配标志位。
(3)运动参数估计模块
如图5所示,本发明所述运动参数估计模块主要由匹配点对存储子模块,变换模型生成子模块和最佳变换模型选取模块组成;负责从匹配点对集合中逐次估计变换模型并进行内点数统计,选取内点最多的变换模型参数作为帧间运动参数的最佳估计。
匹配点对存储子模块,用于接收特征匹配模块传输过来的匹配点对坐标和匹配标志,并根据所述匹配标志对匹配点对坐标进行存储。
变换模型生成子模块,用于从存储于匹配点对存储子模块中的匹配点对坐标集合中进行n次随机选取匹配点对,利用n次选取的匹配点对坐标生成n个变换模型并进行存储。
最佳变换模型选取模块主要由n+1个变换模型寄存子模块、n+1个内点判别和统计子模块及最佳变换模型选取子模块组成;其中n+1个内点判别和统计子模块分别与n+1个变换模型寄存子模块一一对应。
变换模型寄存子模块,用于从变换模型生成子模块中读取生成的n个变换模型并存储到n个变换模型寄存子模块中,与第n+1个变换模型寄存子模块中存储的上一次估计的最佳变换模型一起组成本次估计的n+1个候选变换模型。
内点判别和统计子模块,判断匹配点对存储子模块中的每一个匹配点对是否为与其对应的候选变换模型的内点,统计出每一候选变换模型的内点数量。
最佳变换模型选取子模块,选出内点最多的候选变换模型作为本次估计的最佳变换模型;在当前帧匹配过程结束,将当前获得的最佳变换模型的参数作为最佳运动参数估计并传输给运动参数累积及滤波模块。
(4)运动参数累积及滤波模块
如图6所示,本发明运动参数累积及滤波模块主要由运动参数累积子模块和滤波子模块组成。
运动参数累积子模块,对接收的最佳运动参数进行累积,计算当前帧相对于参考帧的累积变换参数。
滤波子模块,用于滤除累积变换参数中的高频分量,计算当前帧的运动补偿参数并输出。
综上所述,利用本发明的一种基于FPGA的电子稳像***,可以实时实现基于特征匹配的电子稳像,基于FPGA和少量***器件,可以完成构建低功耗的小型化实时稳像***,应用范围广泛。
Claims (7)
1.一种基于FPGA的电子稳像***,其特征在于,包括由FPGA和外部帧存储器构建的底层数据流水架构和稳像处理子***两部分组成;
底层数据流水架构,用于对视频数据进行解码提取有效的图像数据并缓存,采用乒乓操作控制整个***的图像数据流,并向稳像处理子***提供所缓存的图像数据,利用稳像处理子***处理得到的参数构造运动补偿帧输出;
稳像处理子***,计算输入图像数据的当前帧的运动补偿参数,并将其传输给底层数据流水架构。
2.根据权利要求1所述一种基于FPGA的电子稳像***,其特征在于,所述稳像处理子***由FPGA实现,包括特征提取模块、特征匹配模块、运动参数估计模块和运动参数累积及滤波模块;
特征提取模块,用于提取当前帧图像的特征点,并针对提取的特征点生成相应的特征向量传输给特征匹配模块;
特征匹配模块,用于对当前帧的特征向量和前一帧的进行匹配,获取匹配点对并传输给运动参数估计模块;
运动参数估计模块,用于根据匹配点对,生成多个变换模型,选取内点数最多的变换模型的参数作为帧间运动参数,然后将其传输给运动参数累积及滤波模块;
运动参数累积及滤波模块,用于对帧间运动参数进行累积,并滤除所述累积运动变换参数中的高频分量,计算当前帧的运动补偿参数,然后将所述运动补偿参数传输给底层数据流水架构。
3.根据权利要求1所述一种基于FPGA的电子稳像***,其特征在于,所述底层数据流水架构主要由视频解码子模块、输入视频写入子模块、输入帧读出子模块、当前帧写入子模块、地址产生子模块、补偿帧读出子模块、输出帧写入子模块、输出视频读出子模块、视频编码子模块、外部存储控制器、外部存储总线仲裁子模块、输入缓存、输出缓存、参考帧缓存及当前帧缓存组成;输入缓存、输出缓存、参考帧缓存及当前帧缓存由外部帧存储器实现;
视频解码子模块,对输入的视频数据进行解码,提取有效的图像数据作为输入帧通过输入视频写入子模块写入到输入缓存中;
输入帧读出子模块,从输入缓存中读取缓存好的输入帧,并将其传输给稳像处理子***,通过当前帧写入子模块将参考帧图像写入参考帧缓存中,通过当前帧写入子模块将其余帧图像写入当前帧缓存中;
地址产生子模块,根据稳像处理子***输出的运动补偿参数构造运动补偿帧,并计算运动补偿帧内各点的数据存储地址,产生一个地址队列;
补偿帧读出子模块,根据所述地址队列读出运动补偿帧的各点数据作为输出帧,并通过输出帧写入子模块写入到输出缓存中;
输出视频读出子模块,将缓存好的输出帧送到视频编码子模块进行视频编码输出;
外部存储总线仲裁子模块,利用各子模块的存取优先级进行外部帧存储器的总线分配,生成读写指令;
外部存储控制器,根据外部总线仲裁子模块的读写指令,按照外部帧存储器的时序要求产生读写信号,进行数据存取。
4.根据权利要求2所述一种基于FPGA的电子稳像***,其特征在于,所述特征提取模块主要由数据分配子模块,特征点检测子模块,特征点描述子模块及合成子模块组成;
数据分配子模块,用于对输入图像数据进行区域缓存,并将当前点的邻域数据信息并行分配给特征点检测子模块和特征点描述子模块;计算当前点的坐标将其传输给合成子模块;
特征点检测子模块,根据当前点的邻域数据信息判断当前点是否为特征点,根据判断的结果生成特征点标志传输给特征匹配模块;
特征点描述子模块,根据当前点的邻域数据信息生成相应的特征描述,并传输给合成子模块;
合成子模块,根据接收的特征描述和坐标合成当前点的特征向量传输给特征匹配模块。
5.根据权利要求2所述一种基于FPGA的电子稳像***,其特征在于,所述特征匹配模块主要由特征向量存储子模块,匹配控制器和匹配器组成;
特征向量存储子模块,用于接收特征提取模块传输过来的特征向量和特征点标志,根据所述特征点标志判断是否对特征向量进行存储,并存储前一帧的特征向量集合;
匹配控制器,用于将特征向量存储子模块中存储的、当前帧尚未进行匹配的特征向量读出,将所读出的特征向量送到匹配器;
匹配器主要由特征向量距离计算子模块和匹配判别子模块组成;
特征向量距离计算子模块,存储输入的待匹配的特征向量,从特征向量存储子模块依次读取前一帧的所有特征向量,并计算待匹配的特征向量与前一帧的所有特征向量之间的距离,记录距离的最小和次小值及最小距离所对应的匹配点对的空间信息;
匹配判别子模块,根据所述距离的最小和次小值以及最小距离所对应的匹配点对的空间信息,判断最小距离所对应的匹配点对是否为正确匹配点对,生成匹配标志和匹配点对坐标给运动参数估计模块。
6.根据权利要求2所述一种基于FPGA的电子稳像***,其特征在于,所述运动参数估计模块主要由匹配点对存储子模块,变换模型生成子模块和最佳变换模型选取模块组成;
匹配点对存储子模块,用于接收特征匹配模块传输过来的匹配点对坐标和匹配标志,并根据所述匹配标志对匹配点对坐标进行存储;
变换模型生成子模块,用于从存储的匹配点对坐标集合中进行n次随机选取匹配点对,利用n次选取的匹配点对坐标生成n个变换模型并进行存储;
最佳变换模型选取模块主要由n+1个变换模型寄存子模块、n+1个内点判别和统计子模块及最佳变换模型选取子模块组成;其中n+1个内点判别和统计子模块分别与n+1个变换模型寄存子模块一一对应;
变换模型寄存子模块,用于读取n个变换模型并存储到n个变换模型寄存子模块中,与第n+1个变换模型寄存子模块中存储的上一次估计的最佳变换模型一起组成本次估计的n+1个候选变换模型;
内点判别和统计子模块,判断匹配点对存储子模块中的每一个匹配点对是否为与其对应的候选变换模型的内点,统计出每一候选变换模型的内点数量;
最佳变换模型选取子模块,选出内点最多的候选变换模型作为本次估计的最佳变换模型;在当前帧匹配过程结束,将当前获得的最佳变换模型的参数作为最佳运动参数估计并传输给运动参数累积及滤波模块。
7.根据权利要求2所述一种基于FPGA的电子稳像***,其特征在于,所述运动参数累积及滤波模块主要由运动参数累积子模块和滤波子模块组成;
运动参数累积子模块,对接收的最佳运动参数进行累积,计算当前帧相对于参考帧的累积变换参数并输出;
滤波子模块,用于滤除累积变换参数中的高频分量,计算当前帧的运动补偿参数并输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510028849.4A CN105872346A (zh) | 2015-01-20 | 2015-01-20 | 一种基于fpga的电子稳像*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510028849.4A CN105872346A (zh) | 2015-01-20 | 2015-01-20 | 一种基于fpga的电子稳像*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105872346A true CN105872346A (zh) | 2016-08-17 |
Family
ID=56623292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510028849.4A Pending CN105872346A (zh) | 2015-01-20 | 2015-01-20 | 一种基于fpga的电子稳像*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105872346A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182042A (zh) * | 2020-10-12 | 2021-01-05 | 上海扬灵能源科技有限公司 | 基于fpga的点云特征匹配方法、***和路径规划*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729763A (zh) * | 2009-12-15 | 2010-06-09 | 中国科学院长春光学精密机械与物理研究所 | 数字视频电子稳像方法 |
CN104144282A (zh) * | 2014-07-17 | 2014-11-12 | 西北工业大学 | 一种适用于空间机器人视觉***的快速数字稳像方法 |
-
2015
- 2015-01-20 CN CN201510028849.4A patent/CN105872346A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729763A (zh) * | 2009-12-15 | 2010-06-09 | 中国科学院长春光学精密机械与物理研究所 | 数字视频电子稳像方法 |
CN104144282A (zh) * | 2014-07-17 | 2014-11-12 | 西北工业大学 | 一种适用于空间机器人视觉***的快速数字稳像方法 |
Non-Patent Citations (5)
Title |
---|
李俊: "基于FPGA电子稳像技术的研究", 《中国优秀硕士学位论文全文数据库》 * |
李刚: "基于FPGA的实时电子稳像", 《仪器仪表学报》 * |
杨亚飞: "基于FPGA的电子稳像***设计", 《中国优秀硕士学位论文全文数据库》 * |
蔡耀仪: "基于FPGA的嵌入式稳像***设计", 《湖南人文科技学院学报》 * |
许宏科等: "基于改进ORB的图像特征点匹配", 《科学技术与工程》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182042A (zh) * | 2020-10-12 | 2021-01-05 | 上海扬灵能源科技有限公司 | 基于fpga的点云特征匹配方法、***和路径规划*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tulyakov et al. | Time lens++: Event-based frame interpolation with parametric non-linear flow and multi-scale fusion | |
Deng et al. | Restricted deformable convolution-based road scene semantic segmentation using surround view cameras | |
CN111105352B (zh) | 超分辨率图像重构方法、***、计算机设备及存储介质 | |
CN109087243B (zh) | 一种基于深度卷积生成对抗网络的视频超分辨率生成方法 | |
CN105872345A (zh) | 基于特征匹配的全帧电子稳像方法 | |
TW201146011A (en) | Bi-directional, local and global motion estimation based frame rate conversion | |
Seong et al. | A novel hardware architecture of the Lucas–Kanade optical flow for reduced frame memory access | |
Park et al. | Real-time stereo vision FPGA chip with low error rate | |
Schumacher et al. | Matching cost computation algorithm and high speed fpga architecture for high quality real-time semi global matching stereo vision for road scenes | |
Kim et al. | Event-based video frame interpolation with cross-modal asymmetric bidirectional motion fields | |
Dutta et al. | Efficient space-time video super resolution using low-resolution flow and mask upsampling | |
Lee et al. | Bi-directional trajectory tracking with variable block-size motion estimation for frame rate up-convertor | |
Min et al. | Dadu-eye: A 5.3 TOPS/W, 30 fps/1080p high accuracy stereo vision accelerator | |
Huang et al. | Algorithm and architecture design of multirate frame rate up-conversion for ultra-HD LCD systems | |
Chen et al. | Pixstabnet: Fast multi-scale deep online video stabilization with pixel-based warping | |
Hou et al. | Joint learning of image deblurring and depth estimation through adversarial multi-task network | |
Liu et al. | Jnmr: Joint non-linear motion regression for video frame interpolation | |
Guo et al. | Frame rate up-conversion using linear quadratic motion estimation and trilateral filtering motion smoothing | |
CN105872346A (zh) | 一种基于fpga的电子稳像*** | |
Zhu et al. | MFNet: Real-time motion focus network for video frame interpolation | |
CN112766120B (zh) | 基于深度点云的三维人体姿态估计方法与*** | |
CN105872348A (zh) | 一种基于fpga的稳像处理模块 | |
Wang et al. | A 4K $\times $ 2K@ 60fps Multifunctional Video Display Processor for High Perceptual Image Quality | |
CN102665033A (zh) | 基于分层块匹配的实时数字视频稳像方法 | |
Ni et al. | Deformable Convolution Alignment and Dynamic Scale-Aware Network for Continuous-Scale Satellite Video Super-Resolution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160817 |
|
RJ01 | Rejection of invention patent application after publication |