DOI QR코드

DOI QR Code

FPGA Implementation of SURF-based Feature extraction and Descriptor generation

SURF 기반 특징점 추출 및 서술자 생성의 FPGA 구현

  • 나은수 (광운대학교 전자통신공학과) ;
  • 정용진 (광운대학교 전자통신공학과)
  • Received : 2012.05.07
  • Accepted : 2013.02.12
  • Published : 2013.04.30

Abstract

SURF is an algorithm which extracts feature points and generates their descriptors from input images, and it is being used for many applications such as object recognition, tracking, and constructing panorama pictures. Although SURF is known to be robust to changes of scale, rotation, and view points, it is hard to implement it in real time due to its complex and repetitive computations. Using 3.3 GHz Pentium, in our experiment, it takes 240ms to extract feature points and create descriptors in a VGA image containing about 1,000 feature points, which means that software implementation cannot meet the real time requirement, especially in embedded systems. In this paper, we present a hardware architecture that can compute the SURF algorithm very fast while consuming minimum hardware resources. Two key concepts of our architecture are parallelism (for repetitive computations) and efficient line memory usage (obtained by analyzing memory access patterns). As a result of FPGA synthesis using Xilinx Virtex5LX330, it occupies 101,348 LUTs and 1,367 KB on-chip memory, giving performance of 30 frames per second at 100 MHz clock.

SURF는 영상의 특징점을 추출하고 서술자를 생성하는 알고리즘으로 객체인식 및 추적, 파노라마 이미지 생성 등 여러 영상처리 시스템에 응용되고 있다. SURF 알고리즘은 영상의 크기, 회전, 시점 등의 변화에 강인한 특징을 갖지만 복잡하고 반복적인 연산이 많아 실시간 처리가 어렵다. 실제 PC(Pentium, 3.3GHz) 환경에서 1000개 정도의 특징점이 추출되는 VGA($640{\times}480$) 해상도의 영상을 이용하여 실험한 결과 특징점 추출 및 서술자 생성에 총 240ms 이상이 걸려 약 4frame/sec로 실시간 처리가 불가능한 것을 확인하였다. 본 논문에서는 SURF 알고리즘의 메모리 접근 패턴을 분석하여 라인 메모리를 효율적으로 구성해 메모리 사용을 최소화하고 반복적으로 수행되는 연산을 병렬처리 하는 방법으로 하드웨어를 설계하였다. 하드웨어 설계 검증 결과 Xilinx사의 Virtex5LX330 FPGA를 타겟으로 합성 시 101,348LUTs(66%)와 1,367KB의 내부 메모리를 사용하고, 100MHz 동작 클록에서 30 frame/sec로 실시간 처리가 가능함을 볼 수 있었다.

Keywords

References

  1. D.G. Lowe, "Distinctive Image Features from Scale-Invariant Keypoints, Cascade Filtering Approach," IJCV, Vol. 60, No. 2, pp. 91-110, 2004. https://doi.org/10.1023/B:VISI.0000029664.99615.94
  2. J. Matas, O. Chum, M. Urban, and T. Pajdla, "Robust Wide Baseline Stereo from Maximally Stable Extremal Regions," BMVC, pp. 384-396, 2002.
  3. H. Bay, T. Tuytelaars and L. Van Gool. "Surf: Speeded up robust features," CVIU, Vol. 110, No. 3, pp. 346-359, 2006.
  4. 류재경, 이수현, 정용진 "SURF 알고리즘 기반 특징점 추출기의 FPGA 설계," 멀티미디어학회 논문지, 제14권, 제3호, pp. 368-377, 2011. https://doi.org/10.9717/kmms.2011.14.3.368
  5. K. Mikolajczyk and C. Schmid, "An Affine Invariant Interest Point Detector," ICCV, Vol. 1, pp. 525-531, 2001.
  6. Neubeck. A, "Efficient Non-Maxium Suppression," ICPR, Vol. 3, pp. 850-855, 2006.
  7. Crow. F, "Summed-Area Tables for Texture Mappint," Proc. of the 11th Annual Confrence on Computer Graphics and Interactive Techniques, pp. 207-212, 1984.
  8. Tony. Lindeberg, "Feature Detection with Automatic Scale Selection," IJCV, Vol. 30, No. 2, pp. 79-116, 1998. https://doi.org/10.1023/A:1008045108935
  9. 나은수, 강철호, 정용진 "SoC 하드웨어 설계를 위한 SURF 알고리즘의 고정 소수점 모델 구현 및 성능분석," 대한전자공학회 추계학술대회, pp. 249-252, 2011.
  10. Krystian. Mikolajczyk and Cordelia. Schmid, "A Performance Evaluation of Local Descriptors," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 27, No. 10, pp. 1615-1630, 2005. https://doi.org/10.1109/TPAMI.2005.188
  11. Jan. Svab, Tomas. Krajnnik, Jan. Faigl, and Libor Preucil. "FPGA Based Speeded Up Robust Features," IEEE International Conference on TePRA, pp. 35-41, 2009.
  12. Bouris. D, Nikitakis. A, and Papaefstathiou. I, "Fast and Efficient FPGA-based Feature Detection Employing the SURF Algorithm," FCCM, pp. 3-10, 2010.

Cited by

  1. A Fast Interest Point Detection Method in SURF Algorithm vol.10, pp.1, 2015, https://doi.org/10.14372/IEMEK.2015.10.1.49