CN109522906A - 基于fpga的低复杂度快速sift特征提取方法 - Google Patents

基于fpga的低复杂度快速sift特征提取方法 Download PDF

Info

Publication number
CN109522906A
CN109522906A CN201811238694.7A CN201811238694A CN109522906A CN 109522906 A CN109522906 A CN 109522906A CN 201811238694 A CN201811238694 A CN 201811238694A CN 109522906 A CN109522906 A CN 109522906A
Authority
CN
China
Prior art keywords
gaussian
image
fpga
characteristic point
quick
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
Application number
CN201811238694.7A
Other languages
English (en)
Inventor
姜晓明
刘强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN201811238694.7A priority Critical patent/CN109522906A/zh
Publication of CN109522906A publication Critical patent/CN109522906A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及计算机视觉领域,为对SIFT算法的特征描述符提取部分进行优化,提高该部分的硬件执行速度,保持特征描述符的稳定性,降低FPGA硬件资源消耗。为了实现上述目的,本发明采取的技术方案是:基于FPGA的低复杂度快速SIFT特征提取方法,利用上采样模块采集图像数据至初始二维高斯滤波模块G0产生基准高斯图像,之后再利用4个并行的二维高斯滤波器G1~G4产生4层高斯图像,构成高斯金字塔;相邻的两层高斯图像相减得到的高斯差分图像D1~D3,构成高斯差分金字塔。本发明主要应用于图像特征提取场合。

Description

基于FPGA的低复杂度快速SIFT特征提取方法
技术领域
本发明涉及计算机视觉领域,涉及一种基于FPGA(现场可编程门阵列)的实时目标识别***,特别地涉及一种基于FPGA的快速SIFT特征提取技术。
背景技术
在计算机视觉领域,尺度不变特征变换(SIFT)算法应用广泛。SIFT算法的主要思想是首先检测图像中稳定的特征点,然后提取特征点邻域的局部特征描述符,主要步骤如下所述。
(1)对输入图像进行包括上采样和初始高斯滤波的预处理,然后构建高斯金字塔和高斯差分金字塔。
(2)在高斯差分金字塔中检测特征点。
(3)计算特征点主方向。
(4)根据特征点主方向对特征点邻域进行旋转,然后提取特征点的特征描述符。
SIFT特征提取算法具有较高的计算复杂度实时性较低。实验发现,对于分辨率为480x320的图像,提取713个特征描述符的时间消耗约为2s(CPU I5 2.6GHz,Vs2010,Opencv2.4.11)。一些研究者利用GPU并行运算或多核***对SIFT算法进行加速,可以取得较好的加速效果。但是,这两种加速方式都存在功耗高的缺点,无法在嵌入式***中应用。
由于现场可编程门阵列(FPGA)具有速度高功耗低的特点,许多研究者利用FPGA对SIFT算法进行加速,使得提取特征点所需时钟周期数越来越接近于图像像素的数量,特征描述符提取部分逐渐成为限制硬件执行时间的瓶颈。因此,在保持特征描述符稳定性的技术上,对特征描述符提取部分进行适合于硬件执行的优化变得越来越重要。
发明内容
本发明的目的是在相关研究的基础上,对SIFT算法的特征描述符提取部分进行优化,提高该部分的硬件执行速度,保持特征描述符的稳定性,降低FPGA硬件资源消耗。为了实现上述目的,本发明采取的技术方案是:基于FPGA的低复杂度快速SIFT特征提取方法,利用上采样模块采集图像数据至初始二维高斯滤波模块G0产生基准高斯图像,之后再利用4个并行的二维高斯滤波器G1~G4产生4层高斯图像,构成高斯金字塔;相邻的两层高斯图像相减得到的高斯差分图像D1~D3,构成高斯差分金字塔;在高斯差分金字塔中进行特征点的检测,所检测到的特征点的坐标通过DMA的方式传输到双倍速率同步动态随机存储器DDR,中进行存储;在进行特征点检测的同时,G2的输出进入像素梯度信息计算模块,所求解的像素梯度信息通过DMA的方式传输到DDR中进行存储;特征点检测与梯度信息计算结束后,利用DMA读取特征点所需的邻域像素点的梯度信息,利用2个16x16的寄存器阵列组成流水线结构进行特征点主方向计算和特征描述符提取。
进行特征点主方向计算和特征描述符提取时,提前计算每个像素点的高斯权重并固化到只读存储器ROM中,硬件执行时直接读取。
利用硬件求解梯度信息时,直接将梯度方向转变为6比特梯度方向类别。
对于采用三线性插值算法构建提取特征描述符的梯度幅值直方图时,将三线性插值中水平方向的双线性插值系数以及梯度幅值直方图索引固化到ROM中,硬件执行时直接进行读取。
本发明的特点及有益效果是:
由于本发明利用FPGA对SIFT算法进行加速,并优化了进行特征点主方向计算和特征描述符提取的方式,因而:
(1)与软件相比,可以获得约200倍的加速。
(2)图像尺度变化后正确匹配点对的数量较多,特征描述符稳定性高。
(3)旋转变换后提取的特征描述符具有较高的匹配率。
(4)硬件资源消耗较低。
(5)硬件执行速度提升。
附图说明:
图1SIFT硬件架构图。
图2尺度变化特征匹配结果。
图3SIFT特征描述符提取流水线架构。
具体实施方式
提出的SIFT硬件架构如图1所示。***主要包括预处理、尺度空间构建(高斯金字塔构建和高斯差分金字塔构建)、梯度信息计算、特征点检测、特征点主方向计算和特征描述符提取等部分。
在预处理模块,原始图像灰度像素通过DMA(直接存储器访问)传输到上采样模块。上采样模块的输出至初始二维高斯滤波模块G0产生基准高斯图像,之后再利用4个并行的二维高斯滤波器G1~G4产生4层高斯图像,构成高斯金字塔。相邻的2层高斯图像相减得到的高斯差分图像D1~D3,构成高斯差分金字塔。特征点的检测在高斯差分金字塔中进行。所检测到的特征点的坐标通过DMA的方式传输到DDR(双倍速率同步动态随机存储器,可作为FPGA片外存储资源)中进行存储。在进行特征点检测的同时,G2的输出进入像素梯度信息计算模块,所求解的像素梯度信息通过DMA的方式传输到DDR中进行存储。
特征点检测与梯度信息计算结束后,***利用DMA读取特征点所需的邻域像素点的梯度信息,利用2个16x16的寄存器阵列组成流水线结构进行特征点主方向计算和特征描述符提取。
表1特征描述符提取伪代码
表1为特征描述符提取部分的伪代码(opencv2.4.11),涉及指数、三角函数和乘除法等不适合利用硬件实现的复杂数学运算。本发明采用以下3种技术对特征描述符提取部分进行适合于硬件设计的优化。
表1中高斯权重系数w的计算在邻域旋转之后进行,计算公式如式(1)(2)(3)所示。旋转前、后像素点的位置分别为(r,c)、(r_rot,c_rot),θ表示特征点主方向,d为常数4。由于公式(1)(2)(3)包含指数、三角函数以及乘除法等数学运算,计算复杂度高,不易于硬件实现。
c_rot=c*cosθ-r*sinθ (1)
r_rot=c*sinθ+r*cosθ (2)
但是,将公式(1)和(2)代入公式(3)可以看出,高斯权重系数与坐标旋转无关,只与邻域像素点和特征点之间的相对位置有关。因此,可以提前计算每个像素点的高斯权重并固化到ROM中,硬件执行时直接读取,可以避免指数、三角函数和乘除法等数学计算,降低硬件复杂度,提高处理速度。
利用硬件求解梯度信息(梯度幅值和梯度方向)时,梯度方向一般用16比特表示。当利用流水线结构计算特征点主方向和提取特征描述符时,需要构造2个16x16的存储像素梯度信息的寄存器阵列,会消耗大量硬件资源。本发明增加了一个梯度方向分类模块,直接将梯度方向转变为6比特梯度方向类别,明显降低了后续特征点主方向计算模块和特征描述符提取模块的硬件资源消耗。
此外,对于采用三线性插值算法构建提取特征描述符的梯度幅值直方图时,将三线性插值中水平方向的双线性插值系数以及梯度幅值直方图索引固化到ROM中,硬件执行时直接进行读取。
本发明使用FPGA对SIFT算法进行加速,以实现对图像局部特征描述符的实时提取,其:
(1)提取776个特征描述符的时间约为10ms,与软件相比,可以获得约200倍的加速。
(2)图像尺度变化后正确匹配点对的数量较多,特征描述符稳定性高,匹配结果如图2所示。
(3)旋转变换后提取的特征描述符具有较高的匹配率,匹配率定义为正确匹配点的对数与匹配的点对的总量之比,如表2所示。
表2旋转变化特征描述符稳定性检测
(4)硬件资源消耗对比如表3所示,本发明所需需片上存储资源与Jiang[1]相比降低了85%,与Qasaimeh[2]相比降低了50%;与Jiang[1]、Qasaimeh[2]相比所需查找表(LUTs)资源和乘法器(DSP)资源较低,但是消耗了较多的寄存器(Registers)资源;而Chiu[3]消耗了大量的LUTs与Registers资源。
表3硬件资源消耗对比
(5)硬件执行速度对比如表4所示,与完整SIFT硬件架构Qasaimeh[2]相比,本发明在增加上采样模块后仍然可以获得3倍的速度提升。N表示特征点的数量。
表4硬件执行速度对比
下面结合附图,就本发明的上述技术做进一步地说明。
SIFT特征描述符提取的硬件执行流水线结构如图3所示。SIFT特征描述符的提取主要包括T0、T1、T2、T3 4个时刻。在T0时刻,高斯权重化梯度幅值产生magw与特征点邻域旋转两个任务并行进行。特征点邻域旋转是指将邻域像素的梯度方向类别(Grc)与特征点主方向类别(Orc)相减得到相对梯度方向类别(ROrc)。在T1时刻,确定邻域像素点梯度幅值在r、c平面对周围4个种子点的贡献rcbinmagw;同时,分别取ROrc的高4位和低2位得到ROrc_4和ROrc_2,其中ROrc_4用于确定最终梯度幅值直方图索引,ROrc_2用于确定在o方向的插值系数。在T2时刻,根据Orc_4确定最终梯度幅值直方图索引;同时,根据ROrc_2在o方向上对rcbinmagw进行插值得到rcobinmagw。T3时刻,根据梯度幅值直方图索引,将三线性插值结果rcobinmagw加到对应的梯度幅值直方图中。当处理完特征点邻域内所有像素后开始输出提取的特征描述符。输出完毕后,继续提取下一个特征点的特征描述符。
相关文献:
[1]Jiang J,Li X,Zhang G.SIFT hardware implementation for real-timeimage feature extraction.IEEE Transactions on Circuits and Systems for VideoTechnology,2014,24(7):1209
[2]Qasaimeh M,Sagahyroon A,Shanableh T.FPGA-based parallel hardwarearchitecture for real-time image classification.IEEE Transactions onComputational Imaging,2015,1(1):56
[3]Vourvoulakis J,Kalomiros J,Lygouras J.Fully pipelined FPGA-basedarchitecture for real-time SIFT extraction.Microprocessors and Microsystems,2016,40(C):53。

Claims (4)

1.一种基于FPGA的低复杂度快速SIFT特征提取方法,其特征是,利用上采样模块采集图像数据至初始二维高斯滤波模块G0产生基准高斯图像,之后再利用4个并行的二维高斯滤波器G1~G4产生4层高斯图像,构成高斯金字塔;相邻的两层高斯图像相减得到的高斯差分图像D1~D3,构成高斯差分金字塔;在高斯差分金字塔中进行特征点的检测,所检测到的特征点的坐标通过DMA的方式传输到双倍速率同步动态随机存储器DDR,中进行存储;在进行特征点检测的同时,G2的输出进入像素梯度信息计算模块,所求解的像素梯度信息通过DMA的方式传输到DDR中进行存储;特征点检测与梯度信息计算结束后,利用DMA读取特征点所需的邻域像素点的梯度信息,利用2个16x16的寄存器阵列组成流水线结构进行特征点主方向计算和特征描述符提取。
2.如权利要求1所述的基于FPGA的低复杂度快速SIFT特征提取方法,其特征是,进行特征点主方向计算和特征描述符提取时,提前计算每个像素点的高斯权重并固化到只读存储器ROM中,硬件执行时直接读取。
3.如权利要求1所述的基于FPGA的低复杂度快速SIFT特征提取方法,其特征是,利用硬件求解梯度信息时,直接将梯度方向转变为6比特梯度方向类别。
4.如权利要求1所述的基于FPGA的低复杂度快速SIFT特征提取方法,其特征是,对于采用三线性插值算法构建提取特征描述符的梯度幅值直方图时,将三线性插值中水平方向的双线性插值系数以及梯度幅值直方图索引固化到ROM中,硬件执行时直接进行读取。
CN201811238694.7A 2018-10-23 2018-10-23 基于fpga的低复杂度快速sift特征提取方法 Pending CN109522906A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811238694.7A CN109522906A (zh) 2018-10-23 2018-10-23 基于fpga的低复杂度快速sift特征提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811238694.7A CN109522906A (zh) 2018-10-23 2018-10-23 基于fpga的低复杂度快速sift特征提取方法

Publications (1)

Publication Number Publication Date
CN109522906A true CN109522906A (zh) 2019-03-26

Family

ID=65772451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811238694.7A Pending CN109522906A (zh) 2018-10-23 2018-10-23 基于fpga的低复杂度快速sift特征提取方法

Country Status (1)

Country Link
CN (1) CN109522906A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111009004A (zh) * 2019-11-24 2020-04-14 华南理工大学 一种加速图像匹配的硬件优化方法
CN111583093A (zh) * 2020-04-27 2020-08-25 西安交通大学 一种实时性好的orb特征点提取的硬件实现方法
CN112348032A (zh) * 2019-08-09 2021-02-09 珠海市一微半导体有限公司 一种基于硬件电路的sift算法关键点检测方法
WO2024077729A1 (zh) * 2022-10-13 2024-04-18 上海科技大学 一种高能效fpga实现的点云特征提取方法及其应用

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593850A (zh) * 2013-11-26 2014-02-19 北京航空航天大学深圳研究院 一种在cuda平台上基于递归高斯滤波的sift并行化***及方法
CN104978749A (zh) * 2014-04-08 2015-10-14 南京理工大学 一种基于fpga的sift图像特征提取***
CN107909094A (zh) * 2017-10-31 2018-04-13 天津大学 一种自适应阈值多目标sift匹配算法实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593850A (zh) * 2013-11-26 2014-02-19 北京航空航天大学深圳研究院 一种在cuda平台上基于递归高斯滤波的sift并行化***及方法
CN104978749A (zh) * 2014-04-08 2015-10-14 南京理工大学 一种基于fpga的sift图像特征提取***
CN107909094A (zh) * 2017-10-31 2018-04-13 天津大学 一种自适应阈值多目标sift匹配算法实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIE JIANG等: "SIFT Hardware Implementation for Real-Time Image Feature Extraction", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 *
JOHN VOURVOULAKIS等: "Fully pipelined FPGA-based architecture for real-time SIFT extraction", 《MICROPROCESSORS AND MICROSYSTEMS》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112348032A (zh) * 2019-08-09 2021-02-09 珠海市一微半导体有限公司 一种基于硬件电路的sift算法关键点检测方法
CN112348032B (zh) * 2019-08-09 2022-10-14 珠海一微半导体股份有限公司 一种基于硬件电路的sift算法关键点检测方法
CN111009004A (zh) * 2019-11-24 2020-04-14 华南理工大学 一种加速图像匹配的硬件优化方法
CN111009004B (zh) * 2019-11-24 2023-05-23 华南理工大学 一种加速图像匹配的硬件优化方法
CN111583093A (zh) * 2020-04-27 2020-08-25 西安交通大学 一种实时性好的orb特征点提取的硬件实现方法
WO2024077729A1 (zh) * 2022-10-13 2024-04-18 上海科技大学 一种高能效fpga实现的点云特征提取方法及其应用

Similar Documents

Publication Publication Date Title
CN109522906A (zh) 基于fpga的低复杂度快速sift特征提取方法
Li et al. Nested network with two-stream pyramid for salient object detection in optical remote sensing images
Zheng et al. Hyperspectral image classification using mixed convolutions and covariance pooling
Fang et al. FPGA-based ORB feature extraction for real-time visual SLAM
Pauwels et al. A comparison of FPGA and GPU for real-time phase-based optical flow, stereo, and local image features
Ma et al. Evaluation and acceleration of high-throughput fixed-point object detection on FPGAs
Lu et al. A resource-efficient pipelined architecture for real-time semi-global stereo matching
CN103345382A (zh) 一种cpu+gpu群核超算***及sift特征匹配并行计算方法
Shan et al. DenseNet-based land cover classification network with deep fusion
Sun et al. A flexible and efficient real-time orb-based full-hd image feature extraction accelerator
Hegde et al. PIG-Net: Inception based deep learning architecture for 3D point cloud segmentation
CN104978749A (zh) 一种基于fpga的sift图像特征提取***
CN109255301A (zh) 一种基于fpga的红外遥感图像舰船检测虚警剔除方法
Chen et al. A refined single-stage detector with feature enhancement and alignment for oriented objects
Kang et al. RCS-YOLO: A fast and high-accuracy object detector for brain tumor detection
CN108648213A (zh) 一种kcf跟踪算法在tms320c6657上的实现方法
Poostchi et al. Efficient GPU implementation of the integral histogram
Gao et al. AMIO-Net: An attention-based multiscale input–output network for building change detection in high-resolution remote sensing images
Palaniappan et al. Parallel flux tensor analysis for efficient moving object detection
Wu et al. A lightweight network for vehicle detection based on embedded system
Pei et al. Fast normalized cross-correlation image matching based on multiscale edge information
Fu et al. HmsU-Net: A hybrid multi-scale U-net based on a CNN and transformer for medical image segmentation
Shi et al. Image feature point matching method based on improved BRISK
Yin et al. A feature points extraction algorithm based on adaptive information entropy
Yang et al. Multi-level contour combination features for shape recognition

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190326

RJ01 Rejection of invention patent application after publication