FPGA-Based Architecture for Real-Time Edge and Corner Detection

AKASH PATIL
Image processing using FPGA
2 min readMar 31, 2021

FEATURE detection algorithms, such as edge and corner detection, are essential components of many computer vision applications. Like if we have to process the image then in most of the application first we have to do edge detection or corner detection on that particular image. So, in this blog we will be explaining about the edge and corner detection using FPGA and GPU.

This system has a new flexible architecture for image and video processing with reduced latency and memory requirements. System also supports different variable input resolution. The system is implemented on a GPU and FPGA and according to that there performance is compared. Harris corner detection and Canny edge detection these two feature detector are implemented on GPU and FPGA.

Both GPU and FPGA is having there own way of Image processing and according to that they carried out edge detection and corner detection algorithms.

GPU first loads the image from CPU to GPUs memory which makes it possible to apply GPU treatments on the copied image. then in next step it does the parallel processing. and after that result is displayed on the screen using two different methods which are OpenGL visualization and transfer of Result. Whereas in FPGA there are different steps for image processing. It has System controller which this will allow the user either to work on single image or the sequence of the image. another part is Neighborhood Extractor, The NE block provides a sliding window with a fixed to the subsequent processing block.

Following are the the steps which are carried out by the GPU and FPGA to perform Canny edge and Harris corner detection.

Steps for the Canny edge detection,

  1. Gradient Magnitude and direction computing.
  2. Non maximum suppression.
  3. Hysteresis Thresholding.

These steps are carried out on the GPU and FPGA for edge detection purpose.

Steps for Harris corner detection,

  1. Maximum Eigenvalue selection
  2. Removing small Eigenvalues
  3. Selection of best values
Canny edge detector results in an image
Harris corner detector results on an image

From the results it is observed that FPGA has more frequency of implementation in real time as compared to GPU. It also require less time for low resolution images but for high resolution images GPU requires less time. Overall performance of FPGA is good.

REFERENCES:

P. R. Possa, S. A. Mahmoudi, N. Harb, C. Valderrama and P. Manneback, “A Multi-Resolution FPGA-Based Architecture for Real-Time Edge and Corner Detection,” in IEEE Transactions on Computers, vol. 63, no. 10, pp. 2376–2388, Oct. 2014, doi: 10.1109/TC.2013.130.

--

--