# Workspace, Stream, Tool

Workspace, Stream, and Tool are the basis of VisionPro Deep Learning.

## VisionPro Deep Learning Workspace

A workspace contains all the sets of tools and image databases necessary to solve an application.

- A workspace is divided into a collection of streams.
- Each stream has it own database of training Training is the process that your tool, which is a neural network, is learning about the features (pixels) based on the labels you made. For example, a tool will learn the defect/normal pixels in each image based on the defect/normal labels you drew. The goal of the tool Training is learning enough to give the correct inspection results of whether an unseen image is defective or not. The key to training is to ensure that you include all possible variations within your training set, and that your images are accurately labeled. Training times vary by the application, tool setup and the GPU in the PC being used to train the network. images (different training sets), contains a collection of tools and operates separately

A workspace is the basic container which holds all the relevant information about a specific inspection application. More concretely, this includes all the components shown in the following diagram:

- Image

  An inspection application is defined around a set of images; first to parametrize and train the tools, then later for processing.

- Detection

  The images are processed by one or more Deep Learning tools. For a sequence of tools, the result of the previous tool is used to select and crop a specific rectangular view A view of an image is a region of pixels in an image. Tool processing is limited to the pixels within the view. You can manually specify a view, or you can use the results of an upstream tool to generate a view. in the image to be further processed by the subsequent tool.

- Database

  Since all Deep Learning tools are learning-based, they need a labeled training database of images. While all tools train on the same set of images, the regions of interests (Views), as well as the labeling Labeling is the process of annotating an image with "ground truth". Depending on the tool that you are using, labeling can take different forms. You label an image set for two reasons: to provide the information needed to train the tool and to allow you to measure and validate the performance of the trained tool against the ground truth., are tool specific.

- Result

  The result of the analysis performed by the different tools is a marking Image markings are annotations produced by the VisionPro Deep Learning tools. The markings produced by a tool are the "answers" that the tool obtained when it processed a specific image. You validate the performance of the tool by comparing the markings produced by the tool with the labels that you applied to the same image. As with labels, the specific markings produced depend on the tool., which can be shown as an overlay on the processed image/view.

### Runtime Workspace

A runtime workspace A runtime workspace is a configuration file that does not contain images or databases, containing only streams and tools, which makes it a smaller version of a full Workspace. This configuration file can be loaded in the library in order to perform some analysis. is a configuration file that does not contain images or databases, containing only streams and tools, which makes it a smaller version of a full Workspace. This configuration file can be loaded in the library in order to perform some analysis.

## VisionPro Deep Learning Stream

A stream within VisionPro Deep Learning is defined as a database of training images and a collection of Deep Learning tools that operate on that database of images. This allows you to have a single workspace for your application, and simply change the stream of data flowing into the workspace.

Every workspace holds at least one processing stream (the "default" stream) which can hold a sequence of tools. If a particular inspection application entails multiple but different views of the same object, requiring individual treatment, the concept of streams allows to group these different processing chains under the same workspace.

Note: Deep Learning tools can be chained together for more complex inspections. See Using Tool Chains for more information.

## VisionPro Deep Learning Tool

As Illustrated in , each VisionPro Deep Learning tool is a deep neural network. Each tool is a machine vision tool which tackle different hard to program challenges through the use of deep learning. You can create 1 or more instances of each tool, so you can create many neural networks and train them in a single project. For example, to catch defects from a set of images, you can create multiple Red Analyze tools, each assigned with different neural network parameter settings.

While the tools share a common engine, they differ in what they are looking for in images. More specifically, each tool has a different focus analyzing either single points, individual regions or complete images.