Exploring Computer Vision and Image Processing Algorithms in Teaching Parallel Programming
نویسنده
چکیده
Computer Vision (CV) is a rapidly growing field, intent on enabling computers to process, analyze, and understand the information of images to produce structured information and/or make decisions. In recent years, interest in computer vision has grown in part as a result of both cheaper and more capable cameras, but also largely because of affordable and increasing levels of computer processing power. Computer vision and image processing algorithms are involved with a range of applications: object detection, face detection & recognition, augmented reality, optical character recognition, navigation, and robotics. As the field of computer vision has matured, the resulting outcomes (face detection, object tracking, panoramic photo stitching, content search) have literally been placed in the hands of computer engineering and computer science students, in the form of their mobile phones and devices. Computer performance is still a primary barrier to seamless computer vision and thus represents an excellent target for teaching parallel programming techniques. In many ways such vision and image applications allow students to demonstrate their work to others by demonstrating easily understood outcomes. In the context of GPU programming, computer vision algorithms serve not only as an effective model for CUDA and OpenCL, but also in exploring computer organization bottlenecks. Lastly, computer vision applications give students a unique real-time requirement for which to explore optimization and parallel programming creativity since often solutions involve interesting heuristics applied within codes. The paper showcases several example computer vision algorithms used in teaching computer engineering concepts in computer programming, GPU programming, and computer architecture. All exercises and source codes of this paper will be made available for download and use by anyone in the community at the time of workshop presentation. Keywords-component; Computer vision, GPU programming,
منابع مشابه
High Performance Implementation of Fuzzy C-Means and Watershed Algorithms for MRI Segmentation
Image segmentation is one of the most common steps in digital image processing. The area many image segmentation algorithms (e.g., thresholding, edge detection, and region growing) employed for classifying a digital image into different segments. In this connection, finding a suitable algorithm for medical image segmentation is a challenging task due to mainly the noise, low contrast, and steep...
متن کاملHigh Performance Implementation of Fuzzy C-Means and Watershed Algorithms for MRI Segmentation
Image segmentation is one of the most common steps in digital image processing. The area many image segmentation algorithms (e.g., thresholding, edge detection, and region growing) employed for classifying a digital image into different segments. In this connection, finding a suitable algorithm for medical image segmentation is a challenging task due to mainly the noise, low contrast, and steep...
متن کاملSecond-Order Statistical Texture Representation of Asphalt Pavement Distress Images Based on Local Binary Pattern in Spatial and Wavelet Domain
Assessment of pavement distresses is one of the important parts of pavement management systems to adopt the most effective road maintenance strategy. In the last decade, extensive studies have been done to develop automated systems for pavement distress processing based on machine vision techniques. One of the most important structural components of computer vision is the feature extraction met...
متن کاملA Massively Parallel Programming Language and Its Application to Image Processing and Computer Vision
In this paper, we describe a massively parallel programming language V and its application to describe of parallel image processing algorithms. V is designed so as to be independent from target machine architectures as much as possible, and to provide a framework for programmers to describe a wide variety of parallel algorithms easily. V is based on a functional language framework and enhanced ...
متن کاملDesign, Development and Evaluation of an Orange Sorter Based on Machine Vision and Artificial Neural Network Techniques
ABSTRACT- The high production of orange fruit in Iran calls for quality sorting of this product as a requirement for entering global markets. This study was devoted to the development of an automatic fruit sorter based on size. The hardware consisted of two units. An image acquisition apparatus equipped with a camera, a robotic arm and controller circuits. The second unit consisted of a robotic...
متن کامل