On-Board Detection and Matching of Feature Points
Abstract
:1. Introduction
2. Detection and Matching Algorithm
2.1. PC-Based Detection and Matching Algorithm
2.1.1. SURF Detector
2.1.2. BRIEF Descriptor
2.1.3. Matching
2.2. FPGA-Based Detection and Matching Algorithm
2.2.1. Modification of Integral Image
2.2.2. Modification of Hessian Matrix Responses
3. FPGA-Based Implementation
3.1. The Whole FPGA Architecture
3.2. Implementation of DDR3 Write-Read Control
- (1)
- “app_cmd”. When “app_cmd” = 3’b000, the write signal is active-high. When “app_cmd” = 3’b001, the read signal is active-high;
- (2)
- “app_addr”. This input indicates the address for the current request;
- (3)
- “app_en”. This is the active-high strobe for the “app_cmd”, “add_addr” et al.;
- (4)
- “app_wdf_data”. This provides the gray image data for write commands;
- (5)
- “app_wdf_wren”. This is the active-high strobe for “app_wdf_data”;
- (6)
- “app_wdf_end”. This signal equals to “app_wdf_wren”.
3.3. FPGA Implementation of Integral Image
3.4. FPGA Implementation of Hessian Matrix Responses
3.5. FPGA Implementation of 3D Non-Maximal Suppression
3.6. FPGA Implementation of BRIEF Descriptor
3.7. FPGA Implementation of Matching
4. Experiments and Discussion
4.1. Hardware Environment and Data Set
4.2. Experiment Results
4.3. Performance Evaluation
4.3.1. Accuracy Analysis
- (1)
- Only two octaves are used to extract the feature points on FPGA implementation, which will inevitably lead to performance degradation;
- (2)
- Some divisions of the algorithm are implemented on FPGA by right shift operation which may cause some error. Additionally, fix points are adopted in the whole system. Some calculation error may propagate and accumulate which finally lead to some false matching points;
- (3)
- Because of the different land coverages, the descriptors generated by these image pairs with artificial features (such as buildings and roads) are more robust than these generated by the image pairs with natural features (such as woods).
4.3.2. Speed Comparison
- (1)
- In detection phase, the SURF detector is more time-consuming than FAST detector;
- (2)
- The image column in this paper is larger than the image column of [39]. The larger column will take more time in operation on FPGA.
4.3.3. FPGA Resources Utilization Analysis
4.4. Discussion
5. Conclusions
Acknowledgments
Author Contributions
Conflicts of Interest
References
- Mair, E.; Hager, G.D.; Burschka, D.; Suppa, M.; Hirzinger, G. Adaptive and generic corner detection based on the accelerated segment test. In Proceedings of the 11th European Conference on Computer Vision, Crete, Greece, 5 September 2010; Springer: Berlin/Heidelberg, Germany, 2010; pp. 183–196. [Google Scholar]
- Zhou, G.Q.; Baysal, O.; Kaye, J.; Habib, S.; Wang, C. Concept design of future intelligent earth observing satellites. Int. J. Remote Sens. 2004, 25, 2667–2685. [Google Scholar] [CrossRef]
- Zhang, B. Intelligent remote sensing satellite system. J. Remote Sens. 2011, 15, 415–431. [Google Scholar]
- Pingree, P. Chapter 5: Advancing NASA’s on-board processing capabilities with reconfigurable FPGA Technologies. In Aerospace Technologies Advancements; InTech: Rijeka, Croatia, 2010; pp. 69–86. [Google Scholar]
- Dawood, A.S.; Visser, S.J.; Williams, J.A. Reconfigurable FPGAs for real time image processing in space. In Proceedings of the 14th International Conference on Digital Signal Processing, Santorini, Greece, 1–3 July 2002; Volume 2, pp. 845–848. [Google Scholar]
- Mueller, R.; Teubner, J.; Alonso, G. Data processing on FPGAs. Proc. VLDB Endow. 2009, 2, 910–921. [Google Scholar] [CrossRef]
- Ball, J. The nios II family of configurable soft-core processors. In Proceedings of the 2005 IEEE Hot Chips XVII Symposium (HCS), Stanford, CA, USA, 14–16 August 2005; pp. 1–40. [Google Scholar]
- González, D.; Botella, G.; García, C.; Prieto, M.; Tirado, F. Acceleration of block-matching algorithms using a custom instruction-based paradigm on a Nios II microprocessor. EURASIP J. Adv. Signal Process. 2013, 2013, 1–20. [Google Scholar] [CrossRef]
- González, D.; Botella, G.; García, C.; Bäse, M.; Bäse, U.M.; Prieto-Matías, M. Customized Nios II multi-cycle instructions to accelerate block-matching techniques. In Proceedings of the SPIE/IS&T Electronic Imaging. International Society for Optics and Photonics, San Francisco, CA, USA, 8–12 February 2015; pp. 940002-1–940002-14. [Google Scholar]
- González, D.; Botella, G.; Meyer-Baese, U.; García, C.; Sanz, C.; Prieto-Matías, M.; Tirado, F. A Low cost matching motion estimation sensor based on the NIOS II microprocessor. Sensors 2012, 12, 13126–13149. [Google Scholar] [CrossRef] [PubMed]
- Meyer-Bäse, U.; Botella, G.; Castillo, E.; García, A. Nios II hardware acceleration of the epsilon quadratic sieve algorithm. In Proceedings of the SPIE Defense, Security, and Sensing, Orlando, FL, USA, 5–9 April 2010; pp. 77030M-1–77030M-10. [Google Scholar]
- Rublee, E.; Rabaud, V.; Konolige, K.; Bradski, G. ORB: An efficient alternative to SIFT or SURF. In Proceedings of the 2011 IEEE International Conference on Computer Vision (ICCV), Barcelona, Spain, 6–13 November 2011; pp. 2564–2571. [Google Scholar]
- Yao, L.; Feng, H.; Zhu, Y.; Jiang, Z.; Zhao, D. An architecture of optimised SIFT feature detection for an FPGA implementation of an image matcher. In Proceedings of the International Conference on Field-Programmable Technology, Sydney, Australia, 9–11 Decenmber 2009; pp. 30–37. [Google Scholar]
- Svab, J.; Krajnik, T.; Faigl, J.; Preucil, L. FPGA based speeded up robust features. In Proceedings of the IEEE International Conference on Technologies for Practical Robot Applications, Woburn, MA, USA, 9–10 November 2009; pp. 35–41. [Google Scholar]
- Schaeferling, M.; Kiefer, G. Flex-SURF: A flexible architecture for FPGA-based robust feature extraction for optical tracking systems. In Proceedings of the 2010 International Conference on Reconfigurable Computing and FPGAs, Cancun, Mexico, 13–15 December 2010; pp. 458–463. [Google Scholar]
- Lentaris, G.; Stamoulias, I.; Diamantopoulos, D.; Siozios, K.; Soudris, D. An FPGA implementation of the SURF algorithm for the ExoMars programme. Proceecdings of the 7th HiPEAC Workshop on Reconfigurable Computing (WRC2013), Berlin, Germany, 21–23 January 2013. [Google Scholar]
- Schaeferling, M.; Kiefer, G. Object recognition on a chip: A complete SURF-based system on a single FPGA. In Proceedings of the 2011 International Conference on Reconfigurable Computing and FPGAs, Cancun, Mexico, 30 November–2 December 2011; pp. 49–54. [Google Scholar]
- Sledevič, T.; Serackis, A. SURF algorithm implementation on FPGA. In Proceedings of the 2012 13th Biennial Baltic Electronics Conference, Tallinn, Estonia, 3–5 October 2012; pp. 291–294. [Google Scholar]
- Battezzati, N.; Colazzo, S.; Maffione, M.; Senepa, L. SURF algorithm in FPGA: A novel architecture for high demanding industrial applications. In Proceedings of the Conference on Design, Automation and Test in Europe, Dresden, Germany, 12–16 March 2012; pp. 161–162. [Google Scholar]
- Zhao, J.; Zhu, S.; Huang, X. Real-time traffic sign detection using SURF features on FPGA. In Proceedings of the 2013 IEEE High Performance Extreme Computing Conference (HPEC), Waltham, MA, USA, 10–12 September 2013; pp. 1–6. [Google Scholar]
- Evans, C. Notes on the Opensurf Library; Tech. Rep. CSTR-09-001; University of Bristol: Bristol, UK, 2009. [Google Scholar]
- Fan, X.; Wu, C.; Cao, W.; Zhou, X.; Wang, S.; Wang, L. Implementation of high performance hardware architecture of OpenSURF algorithm on FPGA. In Proceedings of the 2013 International Conference on Field-Programmable Technology, Kyoto, Japan, 9–11 December 2013; pp. 152–159. [Google Scholar]
- Krajnik, T.; Svab, J.; Pedre, S.; Cizek, P.; Preucil, L. FPGA-based module for SURF extraction. Mach. Vis. Appl. 2014, 25, 787–800. [Google Scholar] [CrossRef]
- Chen, C.; Yong, H.; Zhong, S.; Yan, L. A real-time FPGA-based architecture for OpenSURF. In Proceedings of the MIPPR 2015: Pattern Recognition and Computer Vision, Enshi, China, 31 October 2015; pp. 1–8. [Google Scholar]
- Gonzalez, C.; Bernabe, S.; Mozos, D.; Plaza, A. FPGA implementation of an algorithm for automatically detecting targets in remotely sensed hyperspectral images. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. 2016, 9, 4334–4343. [Google Scholar] [CrossRef]
- Weberruss, J.; Kleeman, L.; Drummond, T. ORB feature extraction and matching in hardware. In Proceedings of the Australasian Conference on Robotics and Automation, the Australian National University, Canberra, Australia, 2–4 December 2015; pp. 1–10. [Google Scholar]
- Calonder, M.; Lepetit, V.; Strecha, C.; Fua, P. Brief: Binary robust independent elementary features. In Proceedings of the 11th European Conference on Computer Vision, Crete, Greece, 5 September 2010; Springer: Berlin/Heidelberg, Germany, 2010; pp. 778–792. [Google Scholar]
- Bay, H.; Tuytelaars, T.; Gool, L.V. SURF: Speeded up robust features. In Proceedings of the 9th European Conference on Computer Vision, Graz, Austria, 7–13 May 2006; Springer: Berlin/Heidelberg, Germany; pp. 404–417. [Google Scholar]
- Ma, X.; Borbon, J.R.; Najjar, W.; Roy-Chowdhury, A.K. Optimizing hardware design for Human Action Recognition. In Proceedings of the 2016 26th International Conference on Field Programmable Logic and Applications (FPL), Lausanne, Switzerland, 29 August–2 September 2016; pp. 1–11. [Google Scholar]
- Ma, X.; Najjar, W.; Chowdhury, A.R. High-Throughput Fixed-Point Object Detection on FPGAs. In Proceedings of the 2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), Boston, MA, USA, 11–13 May 2014; p. 107. [Google Scholar]
- Ma, X.; Najjar, A.; Roy-Chowdhury, A.K. Evaluation and Acceleration of High-Throughput Fixed-Point Object Detection on FPGAs. IEEE Trans. Circuits Syst. Video Technol. 2015, 25, 1051–1062. [Google Scholar]
- Sousa, R.; Tanase, A.; Hannig, F.; Teich, J. Accuracy and performance analysis of Harris Corner computation on tightly-coupled processor arrays. In Proceedings of the 2013 Conference on Design and Architectures for Signal and Image Processing (DASIP), Cagliari, Italy, 8–10 October 2013; pp. 88–95. [Google Scholar]
- Belt, H.J. Word length reduction for the integral image. In Proceedings of the 15th IEEE International Conference on Image Processing, San Diego, CA, USA, 12–15 October 2008; pp. 805–808. [Google Scholar]
- Xilinx. 7 Series FPGAs Memory Interface Solutions. Available online: http://www.xilinx.com/support/documentation/ip_documentation/ug586_7Series_MIS.pdf (accessed on 1 March 2011).
- Cornelis, N.; Gool, L.V. Fast scale invariant feature detection and matching on programmable graphics hardware. In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition Work-Shops, Anchorage, AK, USA, 23–28 June 2008; pp. 1–8. [Google Scholar]
- Mikolajczyk, K.; Schmid, C. A performance evaluation of local descriptors. IEEE Trans. Pattern Anal. Mach. Intell. 2005, 27, 1615–1630. [Google Scholar] [CrossRef] [PubMed]
- Ikonos Data Set—High-Resolution Satellite Data. Available online: http://www.isprs.org/data/ikonos/default.aspx (accessed on 12 June 2017).
- OpenCV library. Available online: http://opencv.org/ (accessed on 12 June 2017).
- Fularz, M.; Kraft, M.; Schmidt, A.; Kasinski, A. A high-performance FPGA-based image feature detector and matcher based on the fast and brief algorithms. Int. J. Adv. Robot. Syst. 2015, 12, 1–15. [Google Scholar] [CrossRef]
Descriptor 1 | Descriptor 2 | XOR Operation | Hamming Distance | Result |
---|---|---|---|---|
110011 | 110011 | 000000 | 0 | Matched |
110011 | 110000 | 000011 | 2 | Matched |
110011 | 110100 | 000111 | 3 | Unmatched |
110011 | 001100 | 111111 | 6 | Unmatched |
Octave | 1 | 2 | ||||||
---|---|---|---|---|---|---|---|---|
Size of box filter | 9 | 15 | 21 | 27 | 15 | 27 | 39 | 51 |
scale | 1.2 | 2 | 2.8 | 3.6 | 2 | 3.6 | 5.2 | 6.8 |
© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Huang, J.; Zhou, G. On-Board Detection and Matching of Feature Points. Remote Sens. 2017, 9, 601. https://doi.org/10.3390/rs9060601
Huang J, Zhou G. On-Board Detection and Matching of Feature Points. Remote Sensing. 2017; 9(6):601. https://doi.org/10.3390/rs9060601
Chicago/Turabian StyleHuang, Jingjin, and Guoqing Zhou. 2017. "On-Board Detection and Matching of Feature Points" Remote Sensing 9, no. 6: 601. https://doi.org/10.3390/rs9060601