# SIFT Hardware Implementation on FPGA **Repository Path**: lwjxp/sift-hardware-implementation-on-fpga ## Basic Information - **Project Name**: SIFT Hardware Implementation on FPGA - **Description**: Scale-invariant feature transform (SIFT) algorithm implementation on Hercules P1 FPGA, a menial piece of work 2022 CreateIC contest. - **Primary Language**: Verilog - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/wangtao0811 - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-07-11 - **Last Updated**: 2023-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SIFT算法在FPGA上的硬件实现 ### **0. 写在前面** 本设计是基于李晓阳学长在2014年发表的学术成果[**SIFT Hardware Implementation for Real-Time Image Feature Extraction**](https://ieeexplore.ieee.org/document/6727570),经过实验室导师授权同意,在国产FPGA器件上进行修改并移植的算法验证和实现。本作品获得了“华为杯”第五届中国研究生创芯大赛二等奖以及京微齐力企业专项奖二等奖,在此非常感谢实验室的帮助和学长的成果支持。 由于成果保护原因,源代码非开源,感兴趣的同学可以联系本人进行交流。 ### **1. 原理介绍** **SIFT**,即尺度不变特征变换(Scale-invariant feature transform,SIFT),是图像处理领域中的一种局部特征描述算法。该算法具有尺度不变性,可在图像中检测出**特征点**,并且利用特征点信息产生128维的特征向量用于描述局部特征。鉴于其优秀的稳定性和抗干扰性,且信息量丰富、产生的特征点数量多,被广泛地运用于**特征提取、图像对准等场景**。 在实际场合下,SIFT算法计算量大,处理实时性不高的缺点一直制约着它的广泛应用,因此分析算法中耗时过程,并且针对性地使用FPGA进行硬件加速是非常有必要的。本作品设计了一种基于京微齐力P1器件的SIFT算法硬件加速方案,在FPGA上采用了大量并行设计提高处理速度与数据吞吐量,完成了SIFT算法中的```特征点提取```,以及后续生成描述向量所需要的```梯度和方向图像```。 ### **2. 模块构成**