This paper presents a comprehensive review and a comparative study of various hardware/FPGA implementations of Sobel edge detector and explored different architectures for Sobel gradient computation unit in order to show the various trade-offs involved in choosing one over another. The different architectures using pipelining and/or parallelism (key methodologies for improving the performance/frame rates) are explored for gradient computation unit in Sobel edge detector. How the different architectures affected performance (in terms of video frame rate and image size) and area (in terms of FPGA resources usages) has been demonstrated. By exploiting the trade-offs between video frame rate, image size, and FPGA resources a designer should be able to find an optimal architecture for a given application. 1. Introduction Edge detection, one of the fundamental and most important problems of lower level image processing, plays a very important role in the realization of a complete vision based understanding/monitoring system for automatic scene analysis/monitoring [1]. Edges provide significant and important information related to objects present in the scene. This information helps in achieving higher level objectives like segmentation, object recognition, scene analysis, and so forth. Edges in digital images are defined as the image positions/points where the intensity/brightness of two neighboring pixels is significantly different. Many robust and complex approaches for the edge detection have been proposed in scientific literature. These give different responses and details for same input images. Sobel operator based edge detection technique is very popular and intensively used in many applications due to its ability to counteract the noise sensitivity over simple gradient operators and its easier implementations [2]. Very different approaches have been used in the literature for Sobel operator based edge detection algorithm. These range from use of general purpose processors or special purpose digital signal processors or graphics processing units (GPUs) using compute unified device architecture (CUDA) to application specific integrated circuits (ASICs) or applications specific instruction set processors (ASIPs) or even programmable logic devices like field programmable gate arrays (FPGAs). FPGAs provide real-time performance, limit the extensive design work and time required for ASICs, and provide possibility to perform algorithmic changes in later stages of system development. These features make FPGAs a suitable choice for implementing image processing
References
[1]
M. B. Ahmad and T.-S. Choi, “Local threshold and boolean function based edge detection,” IEEE Transactions on Consumer Electronics, vol. 45, no. 3, pp. 674–679, 1999.
[2]
R. C. Gonzalez and R. E. Woods, Digital Image Processing, Pearson Education, New Delhi, India, 2009.
[3]
E. R. Davies, Machine Vision: Theory, Algorithms, Practicalities, Morgan Kaufmann, San Francisco, Calif, USA, 2004.
[4]
R. Jain, R. Kasturi, and B. G. Schunck, Machine Vision, McGraw-Hill, New York, NY, USA, 1995.
[5]
K. N. Ngan, A. A. Kassim, and H. S. Singh, “Parallel image-processing system based on the tms32010 digital signal processor,” IEE Proceedings E: Computers and Digital Techniques, vol. 134, no. 2, pp. 119–124, 1987.
[6]
N. Kanopoulos, N. Vasanthavada, and R. L. Baker, “Design of an image edge detection filter using the sobel operator,” IEEE Journal of Solid-State Circuits, vol. 23, no. 2, pp. 358–367, 1988.
[7]
C.-Y. Lee, F. V. M. Catthoor, and H. J. de Man, “Efficient ASIC architecture for real-time edge detection,” IEEE Transactions on Circuits and Systems, vol. 36, no. 10, pp. 1350–1359, 1989.
[8]
M. Boo, E. Antelo, and J. D. Bruguera, “VLSI implementation of an edge detector based on sobel operator,” in Proceedings of the 20th EUROMICRO Conference on System Architecture and Integration, pp. 506–512, 1994.
[9]
R. L. Rosas, A. de Luca, and F. B. Santillan, “SIMD architecture for image segmentation using sobel operators implemented in FPGA technology,” in Proceedings of the 2nd International Conference on Electrical and Electronics Engineering (CIE '05), pp. 77–80, September 2005.
[10]
T. A. Abbasi and M. U. Abbasi, “A novel FPGA-based architecture for Sobel edge detection operator,” International Journal of Electronics, vol. 94, no. 9, pp. 889–896, 2007.
[11]
C. Moore, H. Devos, and D. Stroobandt, “Optimizing the FPGA memory design for a Sobel edge detector,” in Proceedings of 20th Annual workshop on Circuits, Systems and Signal Processing, 2009.
[12]
Z. E. M. Osman, F. A. Hussin, and N. B. Z. Ali, “Optimization of processor architecture for image edge detection filter,” in Proceedings of the 12th UKSim International Conference on Modelling and Simulation (UKSim '10), pp. 648–652, March 2010.
[13]
V. Thomas, A. Emmanuel, A. Prabhakar, M. Thomas Mathew, S. John, and V. Kumar, Hardware Image Edge Detection Project on FPGA Using Sobel Operator, 2009.
[14]
Z. E. M. Osman, F. A. Hussin, and N. B. Z. Ali, “Hardware implementation of an optimized processor architecture for SOBEL image edge detection operator,” in Proceedings of the International Conference on Intelligent and Advanced Systems (ICIAS '10), pp. 1–4, June 2010.
[15]
I. Yasri, N. H. Hamid, and V. V. Yap, “Performance analysis of FPGA based Sobel edge detection operator,” in Proceedings of the International Conference on Electronic Design (ICED '08), pp. 1–4, December 2008.
[16]
V. Sanduja and R. Patial, “Sobel edge detection using parallel architecture based on FPGA,” International Journal of Applied Information Systems, vol. 3, no. 4, pp. 20–24, 2012.
[17]
Z. Guo, W. Xu, and Z. Chai, “Image edge detection based on FPGA,” in Proceedings of the 9th International Symposium on Distributed Computing and Applications to Business, Engineering and Science (DCABES '10), pp. 169–171, August 2010.
[18]
A. Nosrat and Y. S. Kavian, “Hardware description of multi-directional fast sobel edge detection processor by VHDL for implementing on FPGA,” International Journal of Computer Applications, vol. 47, no. 25, 2012.
[19]
A. R. Ibrahim, N. A. Wahed, N. Shinwari, and M. A. Nasser, “Hardware implementation of real time video edge detection with adjustable threshold level (edge sharpness) using Xilinx Spartan-3A FPGA,” Tech. Rep., 2011.
[20]
K. C. Sudeep and J. Majumdar, “A novel architecture for real time implementation of edge detectors on FPGA,” International Journal of Computer Science Issues, vol. 8, no. 1, pp. 193–202, 2011.
[21]
Y. Said, T. Saidani, F. Smach, M. Atri, and H. Snoussi, “Embedded real-time video processing system on FPGA,” in Proceedings of International Conference on Image and Signal Processing, pp. 85–92, Springer, 2012.
[22]
M. A. Nu?o-Maganda, M. Morales-Sandoval, and C. Torres-Huitzil, “A hardware coprocessor integrated with OpenCV for edge detection using cellular neural networks,” in Proceedings of International 6th International Conference on Image and Graphics (ICIG '11), pp. 957–962, August 2011.
[23]
Celoxica, “Handel-C Language Reference Manual,” 2003.
[24]
F. M. Vallina, C. Kohn, and P. Joshi, “Zynq all programmable SoC Sobel filter implementation using the Vivado HLS tool,” Application Note XAPP890, Xilinx, 2012.
[25]
A. M. Khidhir and N. Y. Abdullah, “FPGA based edge detection using modified sobel filter,” International Journal For Research and Development in Engineering, vol. 2, no. 1, pp. 22–32, 2013.
[26]
J. Wu, J. Sun, and W. Liu, “Design and implementation of video image edge detection system based on FPGA,” in Proceedings of the 3rd International Congress on Image and Signal Processing (CISP '10), pp. 472–476, October 2010.
[27]
N. Prathyusha and A. Balaji Nehru, “A high speed ASIC design for sobel edge detection using FPGA,” International Journal of New Trends in Electronics and Communication, vol. 1, no. 4, pp. 28–32, 2013.
[28]
K. Shah, “Performance analysis of sobel edge detection filter on GPU using CUDA & OpenGL,” International Journal For Research in Applied Sciences and Engineering Technology, vol. 1, no. 3, pp. 22–26, 2013.
[29]
S. Singh, A. K. Saini, R. Saini, A. S. Mandal, C. Shekhar, and A. Vohra, “Area optimized FPGA based implementation of sobel compass edge detector,” ISRN Machine Vision, vol. 2013, Article ID 820216, 6 pages, 2013.
[30]
S. Singh, A. K. Saini, R. Saini, A. S. Mandal, C. Shekhar, and A. Vohra, “A novel real-time resource efficient implementation of sobel operator based edge detection on FPGA,” International Journal of Electronics, 2014.