CN114913345A - 基于fpga的sift算法的简化图像特征提取方法 - Google Patents
基于fpga的sift算法的简化图像特征提取方法 Download PDFInfo
- Publication number
- CN114913345A CN114913345A CN202210484116.1A CN202210484116A CN114913345A CN 114913345 A CN114913345 A CN 114913345A CN 202210484116 A CN202210484116 A CN 202210484116A CN 114913345 A CN114913345 A CN 114913345A
- Authority
- CN
- China
- Prior art keywords
- feature
- gaussian
- image data
- points
- fpga
- 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.)
- Granted
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims abstract description 71
- 239000013598 vector Substances 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 23
- 239000011159 matrix material Substances 0.000 claims abstract description 19
- 230000000694 effects Effects 0.000 claims abstract description 12
- 238000001914 filtration Methods 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 3
- 238000011895 specific detection Methods 0.000 abstract description 2
- 238000001514 detection method Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 230000007547 defect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 238000007667 floating Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000012512 characterization method Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000004438 eyesight Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 239000005341 toughened glass Substances 0.000 description 3
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 2
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 101150046378 RAM1 gene Proteins 0.000 description 2
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于FPGA的SIFT算法的简化图像特征提取方法,所述方法包括:通过控制时钟使能,得到并行的DOG尺度空间的图像数据流,得到每个尺度空间5×5的高斯卷积核,利用海森矩阵筛选滤除边缘效应,得到有效极值点并标记特征点,根据特征点划分对应的邻域空间,分配FIFO与RAM的计算资源作为图像数据流的计算缓存区,得到16维的SIFT特征描述向量。本发明对SIFT算法的特征描述方式进行了简化,针对特定的检测场景的特征需要,减少了SIFT算法的计算维度,避免了三角函数的计算,减少了对FPGA的硬件资源消耗,并且通过设计RAM、FIFO与状态机结合的结构简化了特征描述所需要的计算。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于FPGA的SIFT算法的简化图像特征提取方法。
背景技术
目前,尺度不变特征变换(SIFT,Scale Invariant Feature Transform)算法因其较高鲁棒性,在视觉领域中得到广泛应用。但又因其存在着计算的高复杂度以及占用计算资源多的冗余设计,难以形成实时的快速检测系统。为此,因硬件资源的限制,在低端设备中使用时会有较大的延时,在实际应用中,不得不采用加大成本的高端设备来构建系统进行缺陷检测,造成资源浪费的情况。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提出一种基于FPGA的SIFT算法的简化图像特征提取方法,旨在解决如何减少硬件资源消耗的技术问题。
为实现上述目的,本发明提供一种基于FPGA的SIFT算法的简化图像特征提取方法,所述基于FPGA的SIFT算法的简化图像特征提取方法包括:
通过控制时钟使能的方式对初始图像数据进行下采样,得到并行的DOG 尺度空间的图像数据流;
根据图像数据流构建尺度空间,并行4个5×5的高斯卷积核,得到高斯滤波后的4层高斯图像;
根据4层高斯图像得到高斯差分金字塔;
基于高斯差分金字塔中的图像数据,利用海森矩阵筛选滤除边缘效应,得到有效极值点并标记特征点;
根据特征点划分对应的邻域空间,并分配FIFO与RAM的计算资源作为图像数据流的计算缓存区;
根据邻域空间进行梯度直方图统计,得到直方图数据;
根据直方图数据生成16维的SIFT特征描述向量。
可选地,所述根据直方图数据确定滤波后的邻域像素值,包括:
将高斯权重计算公式转化为向量计算,得到向量计算公式;
根据向量计算公式将矩阵的点乘转化为两次向量计算;
在FIFO输入时通过状态机进行第一次向量计算,累加不同RAM中的直方图数据,并将计算得到的数据输入FIFO中;
在FIFO输出时通过状态机进行第二次向量计算,得到滤波后的邻域像素值。
可选地,所述根据邻域空间进行梯度直方图统计,得到直方图数据,包括:
根据第2层高斯金字塔中的图像数据计算梯度信息;
根据梯度信息确定邻域空间内各点的梯度方向和梯度幅值;
根据梯度方向和梯度幅值进行邻域空间对应的梯度直方图统计,得到直方图数据。
可选地,所述根据直方图数据生成16维的SIFT特征描述向量,包括:
根据直方图数据确定滤波后的邻域像素值;
根据邻域像素值生成16维的SIFT特征描述向量。
可选地,所述根据特征点划分对应的邻域空间,包括:
根据初始图像数据的图像尺寸划分出8×8的待选空间,并将梯度方向划分16个方向;
基于初始图像数据构建坐标系;
获取坐标系下各特征点对应的特征点坐标,以及各待选空间对应的坐标范围;
根据特征点坐标和坐标范围确定与特征点对应的邻域空间。
可选地,所述基于高斯差分金字塔中的图像数据,利用海森矩阵筛选滤除边缘效应,得到有效极值点并标记特征点,包括:
基于高斯拆分金字塔中的图像数据得到候选特征点;
检测候选特征点中x,y方向的曲率差别;
判定曲率差别大于预设值的候选特征点具有边缘效应,并将曲率差别大于预设值的候选特征点进行滤除,得到有效极值点;
根据有效极值点标记特征点。
可选地,所述根据直方图数据生成16维的SIFT特征描述向量之后,还包括:
根据特征点主方向旋转特征描述向量,得到特征描述符。
本发明提出的基于FPGA的SIFT算法的简化图像特征提取方法中,通过控制时钟使能的方式对初始图像数据进行下采样,得到并行的高斯差分 (DOG,Difference ofGaussian)尺度空间的图像数据流;根据图像数据流构建尺度空间,并行4个5×5的高斯卷积核,得到高斯滤波后的4层高斯图像;根据4层高斯图像得到高斯差分金字塔;基于高斯差分金字塔中的图像数据,利用海森矩阵筛选滤除边缘效应,得到有效极值点并标记特征点;根据特征点划分对应的邻域空间,并分配数据先进先出(FIFO,First-InFirst-Out)与 RAM的计算资源作为图像数据流的计算缓存区;根据邻域空间进行梯度直方图统计,得到直方图数据;根据直方图数据生成16维的SIFT特征描述向量。本发明对SIFT算法的特征描述方式进行简化,针对特定的检测场景的特征需要,减少了SIFT算法的计算维度,避免了三角函数的计算,减少了现场可编程门阵列(FPGA,Field Programmable Gate Array)的硬件资源消耗,并且设计了RAM、FIFO与状态机结合的结构简化了特征描述所需要的计算。
附图说明
图1为本发明基于FPGA的SIFT算法的简化图像特征提取方法第一实施例的流程示意图;
图2为本发明基于FPGA的SIFT算法的简化图像特征提取方法一实施例的 SIFT优化加速硬件结构分布示意图;
图3为本发明基于FPGA的SIFT算法的简化图像特征提取方法一实施例的子区域划分示意图;
图4为本发明基于FPGA的SIFT算法的简化图像特征提取方法一实施例的特征描述的RAM与FIFO资源分配的硬件布局结构示意图;
图5为本发明基于FPGA的SIFT算法的简化图像特征提取方法一实施例的SIFT部分的硬件系统框架示意图;
图6为本发明基于FPGA的SIFT算法的简化图像特征提取方法一实施例的梯度幅值计算与特征描述提取模块结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明基于FPGA的SIFT算法的简化图像特征提取方法第一实施例的流程示意图。
在第一实施例中,所述基于FPGA的SIFT算法的简化图像特征提取方法包括:
步骤S10,通过控制时钟使能的方式对初始图像数据进行下采样,得到并行的DOG尺度空间的图像数据流。
需要说明的是,本实施例的执行主体可为图像提取设备,该图像提取设备可为具有数据处理功能的计算机设备,还可为其他可实现相同或相似功能的设备,本实施例对此不作限制,在本实施例中,以图像提取设备为计算机设备为例进行说明。
应当理解的是,在计算机视觉算法常用于目标识别、人脸识别、图像拼接等场景,其中特征检测与特征描述是两个重要的阶段。在计算机视觉邻域, SIFT特征提取算法具有优良的鲁棒性,因此而广泛应用。虽然目前SIFT算法是研究最多应用最广的特征提取与匹配的算法之一,但SIFT特征提取算法有着较高的复杂度,目前改进的方法有向量维度简化和硬件加速SIFT算法。
应当理解的是,近年来,FPGA在AI的硬件加速邻域开始大量使用,由于FPGA具有逻辑资源高度并行可重构的优点可以在不影响模型准确性的前提下,充分发挥SIFT算法的并行性,优化数据传输路径,进而加快算法的计算速度,提高算法运算效率。近年来许多研究者利用FPGA对个另类算法进行加速并应用于各类场景。
应当理解的是,表面缺陷检测常见于各工业生产质检过程中,基于视觉感知的表面缺陷检测,在很多行业内得到了应用。众所周知,钢化玻璃普遍应用在具有显示性能和触摸性能的各种电子产品上,比如触摸屏手机、钢化膜和电脑等。钢化玻璃表面缺陷快速检测和实时监测,主要涉及缺陷特征提取和识别分类的问题。
基于上述技术,本方案重点研究了针对透明钢化玻璃缺陷的图像特征,简化SIFT算法在FPGA上的硬件映射,重点对特征描述符的有用信息提取与 SIFT结构部分进行优化。由于透明件缺陷检测中待检测特征更需要在意图像细节信息,以及待检测图像的背景底纹特征比较单一的性质,减少了SIFT算法中高斯差分的层数与特征描述向量维度。
需要说明的是,SIFT算法构成主要包含高斯差分金字塔、局部极值检测 (常用海森矩阵筛选特征方案)、关键点方向分配(基于梯度直方图得到特征描述向量的办法)三大模块。本设计中主要是利用海森矩阵筛选高斯差分金字塔中稳定的特征点,然后计算特征点的方向分配向量表,再根据特征点主方向旋转特征向量,最终得到特征点描述符。该算法主要包括如下步骤:特征点检测,首先对输入图像进行预处理,包含高斯卷积和下采样,利用不同的高斯卷积核,建立高斯差分金字塔。差分金字塔中的极值点处包含特征信息的概率较大。下采样的图像中也同要需要高斯卷积差分,由此而得到更为宏观的特征信息,这一环节输出的特征既包含宏观的轮廓信息,也包含微观的特征信息;提取特征点,利用二阶的海森矩阵的特征值,可以判别图像特征点中x,y方向的曲率差别,曲率差别越大海森矩阵的特征值λ1与λ2的比值越大。当曲率差别太大时,该特征点具有边缘效应,应该被滤除;特征点描述,针对提取出的特征点,划分特征点的邻域空间,计算空间内各点的梯度方向与梯度幅值。加上高斯权重后进行特征点邻域内的方向幅值的直方图统计,为了让特征点描述的数据具有缩放旋转不变性,根据特征点主方向,旋转特征向量,计算特征向量表。
步骤S20,根据图像数据流构建尺度空间,并行4个5×5的高斯卷积核,得到高斯滤波后的4层高斯图像。
需要说明的是,特征点检测模块硬件优化如下所示:特征点提取的结构中主要包含,建立高斯差分金字塔、寻找极值点与建立海森矩阵。该三大模块结构分布如图2所示,图2为SIFT优化加速硬件结构分布示意图。由于FPGA擅长对于数据流进行处理,根据图2结构可知,由于下采样部分,可以直接控制时钟使能的方式,得到采样后的数据,因此DOG差分金字塔中的每层金字塔的差分数据都可以同时输出。特征点检测中的并行结构,可以做到计算与图像搬运同时进行。
由图2描述,其中U1与U2同为DOG计算,为了提高运算效率,避免浮点运算,需要将计算卷积核的浮点运算转换为整数乘法与移位运算。将公式(1)中计算转化为公式(2),其中G1与G2计算如公式(3)所示计算结果取整型,由于卷积开窗为5×5,则公式(3)中的积分范围取(-2,2),公式(1)中Gauss1与Gauss2均为浮点型,最后需要校验。这样既保证了整形的计算,卷积后图像亮度不变。
D(x,y,σ)=I(x,y)*[Gauss1-Gauss2] 公式(1)
D(x,y,σ)=I(x,y)*[G1-G2]》16 公式(2)
因此,可以通过公式(1)-(3)得到每个尺度空间5×5的图像数据流。
步骤S30,根据4层高斯图像得到高斯差分金字塔。
应当理解的是,根据4层高斯图像构建高斯金字塔;基于高斯金字塔对相邻层的高斯图像进行相减处理,得到高斯差分金字塔。
步骤S40,基于高斯差分金字塔中的图像数据,利用海森矩阵筛选滤除边缘效应,得到有效极值点并标记特征点。
应当理解的是,基于高斯拆分金字塔中的图像数据得到候选特征点;检测候选特征点中x,y方向的曲率差别;判定曲率差别大于预设值的候选特征点具有边缘效应,并将曲率差别大于预设值的候选特征点进行滤除,得到有效极值点;根据有效极值点标记特征点。
步骤S50,根据特征点划分对应的邻域空间,并分配FIFO与RAM的计算资源作为图像数据流的计算缓存区。
应当理解的是,可以根据初始图像数据的图像尺寸划分出8×8的待选空间,并将梯度方向划分16个方向;基于初始图像数据构建坐标系;获取坐标系下各特征点对应的特征点坐标,以及各待选空间对应的坐标范围;根据特征点坐标和坐标范围确定与特征点对应的邻域空间。
在具体实现中,特征点描述模块硬件优化如下所示:特征点描述的结构中,由于采集的图像数据对细节的观察需求较高且减少了DOG金字塔的结构,在特征点描述的部分中,更想要得到细节的描述,因此,提出了本方案中的特征描述的子区域划分结构。根据数据的特点,更改后的子区域划分如图3所示,图3为子区域划分示意图,其中相同颜色的点表示了特征点的坐标与区域的划分情况,将子区域划分更改后,需要给梯度直方图统计数据划分RAM资源;给特征描述计算FIFO区域,对应的特征描述的RAM与FIFO 资源分配的硬件布局结构如图4所示,仅需要两块RAM与一个FIFO结构。按照图3所示划分子区域结构的方式,不论特征点落于任何区间,都较容易获取特征点梯度直方图的3×3个统计的信息,这里的计算缓存结构设计方案与卷积窗口的选择相似,因此3×3的卷积窗口仅需要两块RAM资源。按照图4的资源分配结构,每个子区域小窗中的直方图统计均含有16个方向,根据图像大小计算需要占用RAM资源为(640/8)*16=1280,因此RAM大小选取2048的长度保证梯度直方图的正常统计,当得到了特征点的坐标时可以更迅速的得到直方图统计的分布信息。如图3为了对应的特征点与特征向量表,需要按照时序的顺序,按照坐标的顺序依次塞入FIFO中,其帧格式的表达为 (x,y,data1,data2……data48)。其中,48个数据的表出代表着区域划分中的特征点邻域的3个小窗直方图数据信息,本实施例对此不作限制。
需要说明的是,可以将高斯权重计算公式转化为向量计算,得到向量计算公式;根据向量计算公式将矩阵的点乘转化为两次向量计算;在FIFO输入时通过状态机进行第一次向量计算,累加不同RAM中的直方图数据,并将计算得到的数据输入FIFO中;在FIFO输出时通过状态机进行第二次向量计算,得到滤波后的邻域像素值。从而可以将卷积的矩阵运算分解为两次向量计算,为分解的步骤设计对应的状态机,减少了流水线结构中的数据缓存空间。
应当理解的是,本实施例中的高斯权重计算公式可为下述公式(4),向量计算公式可为下述公式(5)。按照上述帧格式,后续的计算为了简化计算的数据缓存结构,每次存入FIFO中的数据为3×3窗口中的一行,特征描述中的高斯权重计算原本应为公式(4)中方式计算(R1表示RAM1中的直方图数据,坐标代表3×3窗口的参考坐标)。由于特征描述的最终目标是为了得到公式(7)中的R值,因此可以将公式(4)中计算转化为公式(5)中的向量计算,可以将矩阵的点乘转化为两次向量计算如式公式(6)所示,将计算转化后才可以保证图3中仅使用一个FIFO可以成立,公式(6)中的第一次计算有仅需要累加不同RAM中的数据塞入FIFO中即可,在存入FIFO前计算一次,在FIFO输出的时候进行第二次计算,将计算分解节约了资源的占用。
由于本文使用的FPGA为低成本产品,内部资源有限,因此特征描述的部分,为了避免三角函数与浮点计算。因此在梯度直方图的统计中,可以将0-360度按照10度分割为36组,特征点描述时采用了4×4×8的形式形成了 128维的向量表出的形式。也就是说在梯度直方图统计的时候,采用了36个方向特征的直方图统计,但计算结果将36维的向量压缩为了8维的有效向量,该方案对比直方图统计的时候只划分8个方向的直方图,在特征旋转的过程中会有不同,若更改方案,变为3×3×16的形式,由于更改了子区域划分的结构由上述公式可知最终的描述符表出精简为了16维的向量。便可省略旋转过程中的三角函数、浮点计算的过程,根据主方向特征信息这一过程,仅仅需要旋转向量。由上述分析可知,在数据计算的部分,将数据展开,加速了数据的计算也节约了硬件资源的占用。
可以理解的是,特征描述具体计算步骤可如下:根据图片尺寸划分8×8 的小空间,将梯度方向划分为16个方向。在高斯金字塔的第二层,根据特征点坐标,对邻域空间的3×3窗口的特征描述直方图统计的高斯加权。直接使用滤波后的领域像素值构成16维的特征描述向量。
步骤S60,根据邻域空间进行梯度直方图统计,得到直方图数据。
应当理解的是,可以根据第2层高斯金字塔中的图像数据计算梯度信息;根据梯度信息确定邻域空间内各点的梯度方向和梯度幅值;根据梯度方向和梯度幅值进行邻域空间对应的梯度直方图统计,得到直方图数据。
步骤S70,根据直方图数据生成16维的SIFT特征描述向量。
应当理解的是,可以根据直方图数据确定滤波后的邻域像素值;根据邻域像素值生成16维的SIFT特征描述向量。
应当理解的是,根据特征点主方向旋转特征描述向量,得到特征描述符。
需要说明的是,本文提出的SIFT部分的硬件系统框架如图5所示,系统主要包含图像预处理,尺度空间的构建(建立高斯金字塔和差分金字塔),特征点检测、梯度信息计算和主方向直方图统计与特征描述提取物等部分。
在预处理部分,原图像数据既可以直接来源于摄像头也可以来源于 SDRAM,若图像数据直接来源于摄像头时,摄像头的一帧数据的时钟频率较低,让图像数据在低频的时钟主频下计算损失了较多性能,将数据处理模块设计在SDRAM模块之后SDRAM的主频较高处理速度与效率会相应提升。预处理操作中的下采样部分,仅需要计算坐标与时钟的关系,生成下采样的时钟使能,形成下采样的图像数据形成初始图像G0。使用G0构建尺度空间,并行四个5×5的高斯卷积核,得到高斯滤波后G1-G4的4层高斯图像构建高斯金字塔,通过相邻层的高斯图像对应相减得到高斯差分金字塔,分别为 D1-D3。特征点检测部分使用了海森矩阵计算特征值的比值,仅需要在卷积窗口的基础在差分计算后增加并行的计算模块。梯度信息计算模块采用的第二层高斯金字塔中的图像数据计算梯度信息。
需要说明的是,梯度幅值计算与特征描述提取模块结构如图6所示。该结构的功能为,按照时序结构统计特征点邻域3×3范围内子区域的梯度幅值与方向。该模块使用状态机的结构,其中1状态为特征点坐标记录状态,将 xy坐标按照帧格式顺序存入FIFO结构中,当特征坐标刷新时特征点有效。图6中2状态取特征信息的过程,是由RAM中把特征的方向数据由RAM中搬入FIFO中。3状态等待有效特征,遇到下一个有效特征点便回到状态1记录特征点,若子区域划分中的一行的扫描结束,子区域换行后梯度幅值直方图统计数据存放于当前RAM中,另一RAM中存放上一行子区域中的统计数据,两片RAM处于一种交替存放的状态。而数据的计算仅需要当前行数据与上一行数据即可。计算的中间变量在FIFO中存放。4状态即为记录特征点,读取FIFO中的坐标数据,判别特征点计算进度,依据判别结果在状态5中选择相应的高斯计算方式,按照(6)中计算方式R1(a,b)中1表示RAM1,a,b 为邻域空间围绕特征点的相对坐标a,b∈[1,3]。
在本实施例中,通过控制时钟使能的方式对初始图像数据进行下采样,得到并行的DOG尺度空间的图像数据流;根据图像数据流构建尺度空间,并行4个5×5的高斯卷积核,得到高斯滤波后的4层高斯图像;根据4层高斯图像得到高斯差分金字塔;基于高斯差分金字塔中的图像数据,利用海森矩阵筛选滤除边缘效应,得到有效极值点并标记特征点;根据特征点划分对应的邻域空间,并分配FIFO与RAM的计算资源作为图像数据流的计算缓存区;根据邻域空间进行梯度直方图统计,得到直方图数据;根据直方图数据生成 16维的SIFT特征描述向量。本方案对SIFT算法的特征描述方式进行简化,针对特定的检测场景的特征需要,减少了SIFT算法的计算维度,避免了三角函数的计算,减少了FPGA的硬件资源消耗,并且设计了RAM、FIFO与状态机结合的结构简化了特征描述所需要的计算。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种基于FPGA的SIFT算法的简化图像特征提取方法,其特征在于,所述基于FPGA的SIFT算法的简化图像特征提取方法包括:
通过控制时钟使能的方式对初始图像数据进行下采样,得到并行的DOG尺度空间的图像数据流;
根据图像数据流构建尺度空间,并行4个5×5的高斯卷积核,得到高斯滤波后的4层高斯图像;
根据4层高斯图像得到高斯差分金字塔;
基于高斯差分金字塔中的图像数据,利用海森矩阵筛选滤除边缘效应,得到有效极值点并标记特征点;
根据特征点划分对应的邻域空间,并分配FIFO与RAM的计算资源作为图像数据流的计算缓存区;
根据邻域空间进行梯度直方图统计,得到直方图数据;
根据直方图数据生成16维的SIFT特征描述向量。
2.如权利要求1所述的基于FPGA的SIFT算法的简化图像特征提取方法,其特征在于,所述根据邻域空间进行梯度直方图统计,得到直方图数据,包括:
根据第2层高斯金字塔中的图像数据计算梯度信息;
根据梯度信息确定邻域空间内各点的梯度方向和梯度幅值;
根据梯度方向和梯度幅值进行邻域空间对应的梯度直方图统计,得到直方图数据。
3.如权利要求1所述的基于FPGA的SIFT算法的简化图像特征提取方法,其特征在于,所述根据直方图数据生成16维SIFT特征描述向量,包括:
根据直方图数据确定滤波后的邻域像素值;
根据邻域像素值生成16维的SIFT特征描述向量。
4.如权利要求3所述的基于FPGA的SIFT算法的简化图像特征提取方法,其特征在于,所述根据直方图数据确定滤波后的邻域像素值,包括:
将高斯权重计算公式转化为向量计算,得到向量计算公式;
根据向量计算公式将矩阵的点乘转化为两次向量计算;
在FIFO输入时通过状态机进行第一次向量计算,累加不同RAM中的直方图数据,并将计算得到的数据输入FIFO中;
在FIFO输出时通过状态机进行第二次向量计算,得到滤波后的邻域像素值。
5.如权利要求1所述的基于FPGA的SIFT算法的简化图像特征提取方法,其特征在于,所述根据特征点划分对应的邻域空间,包括:
根据初始图像数据的图像尺寸划分出8×8的待选空间,并将梯度方向划分16个方向;
基于初始图像数据构建坐标系;
获取坐标系下各特征点对应的特征点坐标,以及各待选空间对应的坐标范围;
根据特征点坐标和坐标范围确定与特征点对应的邻域空间。
6.如权利要求1所述的基于FPGA的SIFT算法的简化图像特征提取方法,其特征在于,所述基于高斯差分金字塔中的图像数据,利用海森矩阵筛选滤除边缘效应,得到有效极值点并标记特征点,包括:
基于高斯拆分金字塔中的图像数据得到候选特征点;
检测候选特征点中x,y方向的曲率差别;
判定曲率差别大于预设值的候选特征点具有边缘效应,并将曲率差别大于预设值的候选特征点进行滤除,得到有效极值点;
根据有效极值点标记特征点。
7.如权利要求1所述的基于FPGA的SIFT算法的简化图像特征提取方法,其特征在于,所述根据直方图数据生成16维的SIFT特征描述向量之后,还包括:
根据特征点主方向旋转特征描述向量,得到特征描述符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210484116.1A CN114913345B (zh) | 2022-05-06 | 2022-05-06 | 基于fpga的sift算法的简化图像特征提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210484116.1A CN114913345B (zh) | 2022-05-06 | 2022-05-06 | 基于fpga的sift算法的简化图像特征提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114913345A true CN114913345A (zh) | 2022-08-16 |
CN114913345B CN114913345B (zh) | 2024-08-09 |
Family
ID=82767405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210484116.1A Active CN114913345B (zh) | 2022-05-06 | 2022-05-06 | 基于fpga的sift算法的简化图像特征提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114913345B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116567166A (zh) * | 2023-07-07 | 2023-08-08 | 广东省电信规划设计院有限公司 | 一种视频融合方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169576A1 (en) * | 2008-12-31 | 2010-07-01 | Yurong Chen | System and method for sift implementation and optimization |
WO2019042232A1 (zh) * | 2017-08-31 | 2019-03-07 | 西南交通大学 | 一种快速鲁棒的多模态遥感影像匹配方法和系统 |
CN109522906A (zh) * | 2018-10-23 | 2019-03-26 | 天津大学 | 基于fpga的低复杂度快速sift特征提取方法 |
WO2019134327A1 (zh) * | 2018-01-03 | 2019-07-11 | 东北大学 | 一种基于边缘检测与sift的人脸表情识别特征提取方法 |
-
2022
- 2022-05-06 CN CN202210484116.1A patent/CN114913345B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169576A1 (en) * | 2008-12-31 | 2010-07-01 | Yurong Chen | System and method for sift implementation and optimization |
WO2019042232A1 (zh) * | 2017-08-31 | 2019-03-07 | 西南交通大学 | 一种快速鲁棒的多模态遥感影像匹配方法和系统 |
WO2019134327A1 (zh) * | 2018-01-03 | 2019-07-11 | 东北大学 | 一种基于边缘检测与sift的人脸表情识别特征提取方法 |
CN109522906A (zh) * | 2018-10-23 | 2019-03-26 | 天津大学 | 基于fpga的低复杂度快速sift特征提取方法 |
Non-Patent Citations (1)
Title |
---|
姜晓明;刘强;: "基于FPGA的低复杂度快速SIFT特征提取", 北京航空航天大学学报, no. 04, 12 November 2018 (2018-11-12) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116567166A (zh) * | 2023-07-07 | 2023-08-08 | 广东省电信规划设计院有限公司 | 一种视频融合方法、装置、电子设备及存储介质 |
CN116567166B (zh) * | 2023-07-07 | 2023-10-17 | 广东省电信规划设计院有限公司 | 一种视频融合方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114913345B (zh) | 2024-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108898610B (zh) | 一种基于mask-RCNN的物体轮廓提取方法 | |
CN113052210B (zh) | 一种基于卷积神经网络的快速低光照目标检测方法 | |
CN111753828B (zh) | 一种基于深度卷积神经网络的自然场景水平文字检测方法 | |
CN110334762B (zh) | 一种基于四叉树结合orb和sift的特征匹配方法 | |
WO2018145470A1 (zh) | 一种图像检测方法和装置 | |
CN107358260B (zh) | 一种基于表面波cnn的多光谱图像分类方法 | |
CN110610509B (zh) | 可指定类别的优化抠图方法及系统 | |
CN111401293B (zh) | 一种基于Head轻量化Mask Scoring R-CNN的手势识别方法 | |
CN110751154A (zh) | 一种基于像素级分割的复杂环境多形状文本检测方法 | |
Dürre et al. | A HOG-based real-time and multi-scale pedestrian detector demonstration system on FPGA | |
CN103353941A (zh) | 基于视角分类的自然标志物注册方法 | |
CN115761773A (zh) | 基于深度学习的图像内表格识别方法及系统 | |
CN110246201B (zh) | 一种基于线程级并行的铅笔画生成方法 | |
CN114913345B (zh) | 基于fpga的sift算法的简化图像特征提取方法 | |
WO2024174726A1 (zh) | 基于深度学习的手写及打印文本检测方法和装置 | |
CN114882494A (zh) | 一种基于多模态注意力驱动的三维点云特征提取方法 | |
CN112989919B (zh) | 一种从影像中提取目标对象的方法及系统 | |
Zihao et al. | Printed Surface Defect Detection Model Based on Positive Samples. | |
CN104751470A (zh) | 一种图像快速匹配方法 | |
CN116469172A (zh) | 一种多时间尺度下的骨骼行为识别视频帧提取方法及系统 | |
CN116246064A (zh) | 一种多尺度空间特征增强方法及装置 | |
CN113095185B (zh) | 人脸表情识别方法、装置、设备及存储介质 | |
CN114373078A (zh) | 目标检测方法、装置、终端设备及存储介质 | |
Anilkumar et al. | A survey on semantic segmentation of aerial images using deep learning techniques | |
CN113469286A (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 |