In this talk, zebra expert, Jarek Bogalecki will guide you through a live demo showcasing the Zebra Aurora Vision Studio 5.3 and its new features such as direct support for Zebra handheld scanners, Zebra Image Kit code-reading algorithms, and a new tool that enables searching for lines of text within images (DL_LocateText).
Are you looking for a new way to create OCR solutions? Zebra Aurora Vision™ can help! In this talk, we how Zebra Aurora Vision™ can help you to create OCR solutions, using our Deep Learning Technology. Learn how easy it is to use the Zebra Aurora Vision™ platform without using a single line of code.
With a suite of graphical software, our expanded OEM portfolio helps users easily create custom machine vision applications.
In this tutorial will take a quick look at Zebra Aurora Vision Studio™ interface to help you navigate in the environment and start building your machine vision applications.
In this tutorial we will learn how to acquire images in Zebra Aurora Vision Studio™ from files, folder as well as from a webcam.
In this tutorial we will learn how to acquire images in Zebra Aurora Vision Studio™ from GigE Vision & GenICam devices as well as set basic camera parameters.
In this tutorial we will learn the basics of the Filmstrip & Offline Mode features. Both features are available in Zebra Aurora Vision Studio™ starting from version 5.2.
In this example, we will learn how to read Data Matrix codes in Zebra Aurora Vision Studio™.
In this example, we will learn how to count & classify mounts using image thresholding and blob classification in Zebra Aurora Vision Studio™.
In this example, we will learn how to count saw blade teeth using different machine vision tools in Zebra Aurora Vision Studio™, including circle detection, creating a path and scanning for stripes along this given path.
In this example, we will learn how to locate a part component using one of the template-matching tools available in Zebra Aurora Vision Studio™.
The book "Image Analysis Techniques for Industrial Vision Systems" explains the theory that lies behind the filters (tools) of Aurora Vision Studio.
When learning how to create programs in Aurora Vision Studio you will find the below 16 terms appearing in many places. These are important concepts that have specific meanings in our environment. Please, make sure that you clearly understand each of them.
Requirements & installation procedure
Main Window Overview
The user interface of Aurora Vision Studio has been carefully designed for optimal user experience, learn more about this here
Main Menu and Application Toolbar
The Application Toolbar contains buttons for most commonly used actions and settings.
Aurora Vision Studio is a customizable environment and all its settings can be adjusted in the Settings window, located in the Tools » Settings menu.
Introduction to Data Flow Programming
Aurora Vision Studio does not require the user to have any experience in low-level programming. Nevertheless, it is a highly specialized tool for professional engineers and a fully-fledged visual programming language.
Running and Analysing Programs
One of the best ways to learn Aurora Vision Studio quickly is to study the example projects that come with the application.
Aurora Vision Studio is not limited to any fixed number of image sources. Instead, image acquisition is a regular part of the library of filters (tools).
Preview and Data Presenting
Once you execute filters (tools) in the program it is possible to display their inputs and outputs on the Data Preview panel.
First Program: Simple Blob Analysis
This article demonstrates the basic workflow in Aurora Vision Studio with an example of simple blob analysis.
Aurora Vision Studio has three levels of feature complexity. At lower levels we hide advanced features and ones that may be confusing.
There are many hundreds of ready-for-use filters (tools) in Aurora Vision Studio implementing common image processing algorithms, planar geometry, specialized machine vision tools as well as things like basic arithmetics or operating system functions.
Connecting and Configuring Filters
After a filter is added to the program it has to be configured. This consists in setting its inputs to appropriate constant values in the Properties window or connecting them with outputs of other filters.
Macrofilters play an important role in developing bigger programs. They are subprograms providing a means to isolate sequences of filters and re-use them in other places of the program.
Creating Models for Template Matching
Template Matching tools are very often used as one of the first steps in industrial inspection applications.
Preparing Rectification Transform Map
If you want to perform camera calibration in Aurora Vision Studio, there two basic ways to do that.
Creating Text Segmentation Models
The graphical editor for text segmentation performs two operations:
Creating Golden Template Models
Golden template technique is the most powerful method for finding objects' defects.
Creating User Filters
A complete guide on creating user filters
Debugging User Filters
Learn how to debug user filters
Creating User Types
In Aurora Vision Studio it is possible for the user to create custom types of data. This can be especially useful when it is needed to pass multiple parameters conveniently throughout your application or when creating User Filters.
Although image analysis algorithms are the central part of any machine vision application, a human-machine interface (HMI, end user's graphical environment) is usually also very important.
Standard HMI Controls
There are several groups of UI components in the HMI Controls catalog:
Handling HMI Events
The HMI model in Aurora Vision Studio is based on the program loop. A macrofilter reads data from the HMI controls each time before its first filter is executed. Then, after all filters are executed, the macrofilter sends results to HMI.
Saving a State of HMI Applications
The function of saving HMI applications' state allows to save the configuration, which is currently chosen in respective application controls, and to bring it back at a later time.
Protecting HMI with a Password
It is possible to lock the whole HMI or certain parts of it with a password in order to make sure that only authorized users will be able to modify a running program in the production environment.
Creating User Controls
The HMI system of Aurora Vision Studio makes it possible to design user interfaces by composing it from ready-made components, which are called controls.
List of HMI Controls
In the following article you can find all HMI controls to make it easier to find their documentation on the page.
In Aurora Vision Studio types also play an important role in guiding program construction – the environment assures that only inputs and outputs of compatible types can be connected.
A structure is a type of data composed of several predefined elements which we call fields. Each field has a name and a type.
An array is a collection composed of zero, one or many elements of the same type. In Aurora Vision Studio for any type X there is a corresponding XArray type, including XArrayArray. For example, there are types: Point2D, Point2DArray, Point2DArrayArray and more.
In many applications several objects are analyzed on a single image. Most typically, in one of the first steps the objects are extracted (e.g. as an array of blobs, edges or occurrences of a template) and then some attributes are computed for all of them.
Some filters have optional inputs. An optional input can receive some value, but can also be left not set at all. Such an input is then said to have an automatic value.
In general, connections in a program can be created between inputs and outputs of compatible types. This does not mean, however, that the types must be exactly equal.
Conditional execution consists in executing a part of a program, or not, depending on whether some condition is met. There are two possible ways to achieve this in Aurora Vision Studio:
Types of Filters
Most filters are functional, i.e. their outputs depend solely on the input values. Some filters however can store information between consecutive iterations to compute aggregate results, communicate with external devices or generate a loop in the program.
Dealing with Domain Errors
Domain Errors stop the program execution when a precondition of a filter is not met. In general it is not possible to predict all possible Domain Errors automatically and this is responsibility of the user to assure that they will not appear in the final version of the program.
Programming Finite State Machines
Industrial applications often require the algorithm to work in several different modes. Two most typical examples are...
Images can be recorded to a disk with this simple program...
Sorting, Classifying and Choosing Objects
Sorting, classifying and choosing objects are three types of general programming tasks that are often an important part of machine vision inspections.
Optimizing Image Analysis for Speed
General rules for image analysis
Understanding OrNil Filter Variants
What are OrNil filter variants, Why were OrNil filter variants introduced, When should OrNil filter variants be used, etc...
Working with XML Trees
Extensible Markup Language (XML) is a markup language used for storing data in human readable text-format files. XML standard is very popular in exchanging data between two systems.
Using TCP/IP Communication
Aurora Vision Studio has a set of filters for communication over the TCP/IP protocol. They are located in the Program I\O category of the Toolbox.
Working with GigE Vision® Devices
Aurora Vision Studio has a built-in support for GigE Vision® compliant cameras with single video stream for continuous image streaming.
Working with Gen TL devices
Aurora Vision Studio allows to communicate with devices which use Gen TL.
Working with National Instruments devices
Aurora Vision Studio allows for communication with i/o devices from National Instruments. This is done by using filters from the Hardware Support :: National Instruments category.
There are two major goals of Image Processing techniques: To enhance an image for better human perception & To make the information it contains more salient or easier to extract
Blob Analysis is a fundamental technique of machine vision based on analysis of consistent image regions.
1D Edge Detection
1D Edge Detection (also called 1D Measurement) is a classic technique of machine vision where the information about image is extracted from one-dimensional profiles of image brightness.
1D Edge Detection – Subpixel Precision
One of the key strengths of the 1D Edge Detection tools is their ability do detect edges with precision higher than the pixel grid.
Shape Fitting is a machine vision technique that allows for precise detection of objects whose shapes and rough positions are known in advance. It is most often used in measurement applications for establishing line segments, circles, arcs and paths defining the shape that is to be measured.
Template Matching is a high-level machine vision technique that identifies the parts on an image that match a predefined template. Advanced template matching algorithms allow to find occurrences of the template regardless of their orientation and local brightness.
Using Local Coordinate Systems
Local coordinate systems provide a convenient means for inspecting objects that may appear at different positions on the input image.
Optical Character Recognition
Optical Character Recognition (OCR) is a machine vision task consisting in extracting textual information from images.