Efficient Implementations of Machine Vision Algorithms Using a Dynamically Typed Programming Language

Efficient Implementations of Machine Vision Algorithms Using a Dynamically Typed Programming Language
Author: Jan Wedekind
Publisher:
Total Pages:
Release: 2012
Genre:
ISBN:

Current machine vision systems (or at least their performance critical parts) are predominantly implemented using statically typed programming languages such as C, C++, or Java. Statically typed languages however are unsuitable for development and maintenance of large scale systems. When choosing a programming language, dynamically typed languages are usually not considered due to their lack of support for high-performance array operations. This thesis presents efficient implementations of machine vision algorithms with the (dynamically typed) Ruby programming language. The Ruby programming language was used, because it has the best support for meta-programming among the currently popular programming languages. Although the Ruby programming language was used, the approach presented in this thesis could be applied to any programming language which has equal or stronger support for meta-programming (e.g. Racket (former PLT Scheme)). A Ruby library for performing I/O and array operations was developed as part of this thesis. It is demonstrated how the library facilitates concise implementations of machine vision algorithms commonly used in industrial automation. I.e. this thesis is about a different way of implementing machine vision systems. The work could be applied to prototype and in some cases implement machine vision systems in industrial automation and robotics. The development of real-time machine vision software is facilitated as follows 1. A JIT compiler is used to achieve real-time performance. It is demonstrated that the Ruby syntax is sufficient to integrate the JIT compiler transparently. 2. Various I/O devices are integrated for seamless acquisition, display, and storage of video and audio data. In combination these two developments preserve the expressiveness of the Ruby programming language while providing good run-time performance of the resulting implementation. To validate this approach, the performance of different operations is compared with the performance of equivalent C/C++ programs.

Making Computer Vision Computationally Efficient

Making Computer Vision Computationally Efficient
Author: Narayanan Sundaram
Publisher:
Total Pages: 318
Release: 2012
Genre:
ISBN:

Computational requirements for computer vision algorithms have been increasing dramatically at a rate of several orders of magnitude per decade. In fact, the growth in the size of datasets and computational demands for computer vision algorithms are outpacing Moore's law scaling. Meanwhile, parallelism has become the major driver of improvements in hardware performance. Even in such a scenario, there has been a lack of interest in parallelizing computer vision applications from vision domain experts whose main concern has been productivity. We believe that ignoring parallelism is no longer an option. Numerical optimization and parallelization are essential for current and future generation of vision applications to run on efficiently on parallel hardware. In this thesis, we describe the computational characteristics of computer vision workloads using patterns. We show examples of how careful numerical optimization has led to increased speedups on many computer vision and machine learning algorithms including support vector machines, optical flow, point tracking, image contour detection and video segmentation. Together, these application kernels appear in about 50\% of computer vision applications, making them excellent targets for focusing our attention. We focus our efforts on GPUs, as they are the most parallel commodity hardware available today. GPUs also have high memory bandwidth which is useful as most computer vision algorithms are bandwidth bound. In conjunction with the advantages of GPUs for parallel processing, our optimizations (both numeric and low-level) have made the above mentioned algorithms practical to run on large data sets. We will also describe how these optimizations have enabled new, more accurate algorithms that previously would have been considered impractical. In addition to implementing computer vision algorithms on parallel platforms (GPUs and multicore CPUs), we propose tools to optimize the movement of data between the CPU and GPU. We have achieved speedups of 4-76x for support vector machine training, 4-372x for SVM classification, 37x for large displacement optical flow and 130x for image contour detection compared to serial implementations. A significant portion of the speedups in each case was obtained from algorithmic changes and numerical optimization. Better algorithms have improved performance not only on manycore platforms like GPUs, but also on multicore CPUs. In addition to achieving speedups on existing applications, our tool for helping manage data movement between CPU and GPU has reduced runtime by a factor of 1.7-7.8x and the amount of data transferred by over 100x. Taken together, these tools and techniques serve as important guidelines for analyzing and parallelizing computer vision algorithms.

Machine Vision Algorithms and Applications

Machine Vision Algorithms and Applications
Author: Carsten Steger
Publisher: John Wiley & Sons
Total Pages: 280
Release: 2017-11-07
Genre: Science
ISBN: 3527812903

The second edition of this successful machine vision textbook is completely updated, revised and expanded by 35% to reflect the developments of recent years in the fields of image acquisition, machine vision algorithms and applications. The new content includes, but is not limited to, a discussion of new camera and image acquisition interfaces, 3D sensors and technologies, 3D reconstruction, 3D object recognition and state-of-the-art classification algorithms. The authors retain their balanced approach with sufficient coverage of the theory and a strong focus on applications. All examples are based on the latest version of the machine vision software HALCON 13.

Essentials of Data Science and Analytics

Essentials of Data Science and Analytics
Author: Amar Sahay
Publisher: Business Expert Press
Total Pages: 440
Release: 2021-07-06
Genre: Business & Economics
ISBN: 1631573462

Data science and analytics have emerged as the most desired fields in driving business decisions. Using the techniques and methods of data science, decision makers can uncover hidden patterns in their data, develop algorithms and models that help improve processes and make key business decisions. Data science is a data driven decision making approach that uses several different areas and disciplines with a purpose of extracting insights and knowledge from structured and unstructured data. The algorithms and models of data science along with machine learning and predictive modeling are widely used in solving business problems and predicting future outcomes. This book combines the key concepts of data science and analytics to help you gain a practical understanding of these fields. The four different sections of the book are divided into chapters that explain the core of data science. Given the booming interest in data science, this book is timely and informative.

Artificial Intelligence

Artificial Intelligence
Author: Lavanya Sharma
Publisher: CRC Press
Total Pages: 265
Release: 2021-10-28
Genre: Computers
ISBN: 1000462676

Artificial Intelligence: Technologies, Applications, and Challenges is an invaluable resource for readers to explore the utilization of Artificial Intelligence, applications, challenges, and its underlying technologies in different applications areas. Using a series of present and future applications, such as indoor-outdoor securities, graphic signal processing, robotic surgery, image processing, character recognition, augmented reality, object detection and tracking, intelligent traffic monitoring, emergency department medical imaging, and many more, this publication will support readers to get deeper knowledge and implementing the tools of Artificial Intelligence. The book offers comprehensive coverage of the most essential topics, including: Rise of the machines and communications to IoT (3G, 5G). Tools and Technologies of Artificial Intelligence Real-time applications of artificial intelligence using machine learning and deep learning. Challenging Issues and Novel Solutions for realistic applications Mining and tracking of motion based object data image processing and analysis into the unified framework to understand both IoT and Artificial Intelligence-based applications. This book will be an ideal resource for IT professionals, researchers, under or post-graduate students, practitioners, and technology developers who are interested in gaining insight to the Artificial Intelligence with deep learning, IoT and machine learning, critical applications domains, technologies, and solutions to handle relevant challenges.

Intelligent Machine Vision

Intelligent Machine Vision
Author: Bruce Batchelor
Publisher: Springer
Total Pages: 456
Release: 2001-08-07
Genre: Computers
ISBN:

A number of important aspects of intelligent machine vision in one volume, describing the state of the art and current developments in the field, including: fundamentals of 'intelligent'image processing for machine vision systems; algorithm optimisation; implementation in high-speed electronic digital hardware; implementation in an integrated high-level software environment and applications for industrial product quality and process control. Backed by numerous illustrations, created using the authors IP software, this book will be of interest to researchers in the field of machine vision wishing to understand the discipline and develop new techniques. Also useful for under- and postgraduates.

Algorithms with JULIA

Algorithms with JULIA
Author: Clemens Heitzinger
Publisher: Springer Nature
Total Pages: 447
Release: 2022-12-12
Genre: Mathematics
ISBN: 3031165608

This book provides an introduction to modern topics in scientific computing and machine learning, using JULIA to illustrate the efficient implementation of algorithms. In addition to covering fundamental topics, such as optimization and solving systems of equations, it adds to the usual canon of computational science by including more advanced topics of practical importance. In particular, there is a focus on partial differential equations and systems thereof, which form the basis of many engineering applications. Several chapters also include material on machine learning (artificial neural networks and Bayesian estimation). JULIA is a relatively new programming language which has been developed with scientific and technical computing in mind. Its syntax is similar to other languages in this area, but it has been designed to embrace modern programming concepts. It is open source, and it comes with a compiler and an easy-to-use package system. Aimed at students of applied mathematics, computer science, engineering and bioinformatics, the book assumes only a basic knowledge of linear algebra and programming.

Computer Vision Systems

Computer Vision Systems
Author: James Crowley
Publisher: Springer Science & Business Media
Total Pages: 558
Release: 2003-03-24
Genre: Computers
ISBN: 3540009213

This book constitutes the refereed proceedings of the Third International Conference on Computer Vision Systems, ICVS 2003, held in Graz, Austria, in April 2003. The 51 revised full papers presented were carefully reviewed and selected from 109 submissions. The papers are organized in topical sections on cognitive vision, philosophical issues in cognitive vision, cognitive vision and applications, computer vision architectures, performance evaluation, implementation methods, architecture and classical computer vision, and video annotation.

Implementations and Applications of Machine Learning

Implementations and Applications of Machine Learning
Author: Saad Subair
Publisher: Springer Nature
Total Pages: 288
Release: 2020-04-23
Genre: Technology & Engineering
ISBN: 3030378306

This book provides step-by-step explanations of successful implementations and practical applications of machine learning. The book’s GitHub page contains software codes to assist readers in adapting materials and methods for their own use. A wide variety of applications are discussed, including wireless mesh network and power systems optimization; computer vision; image and facial recognition; protein prediction; data mining; and data discovery. Numerous state-of-the-art machine learning techniques are employed (with detailed explanations), including biologically-inspired optimization (genetic and other evolutionary algorithms, swarm intelligence); Viola Jones face detection; Gaussian mixture modeling; support vector machines; deep convolutional neural networks with performance enhancement techniques (including network design, learning rate optimization, data augmentation, transfer learning); spiking neural networks and timing dependent plasticity; frequent itemset mining; binary classification; and dynamic programming. This book provides valuable information on effective, cutting-edge techniques, and approaches for students, researchers, practitioners, and teachers in the field of machine learning.