# Key ViDi Concepts and Terminology

ViDi Concept/Terminology | Definition
--- | ---
Feature | A feature is a visually distinguishable area in an image. Features typically represent something of interest for the application (a defect, an object, a particular component of an object).
Feature Size | The subjective size of the image features that you feel are most important for analyzing image content. The feature size determines the size of the image region used for sampling.
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.
Marking | Image markings are annotations produced by the ViDi 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.
Perturbation | Perturbation is the process of improving the trained network's tolerance of part and image variation by simulating the effect of specific types of variation.
Training Image Set | A collection of images of your specific application. A training image set should represent images of a specific part or process acquired in a consistent way using the lighting, optical, and mechanical characteristics of your runtime system. The training image set should include images that represent the expected range of image appearances that you expect to see in normal operation.
Validation | The process of gauging the performance of the tool against images that were labeled but were not used to train the tool.
Epoch Count | Deep learning tools are trained by repeatedly supplying sampled image data as input to the network, processing the data, comparing the results with the expected ground truth, and then adjusting the network weights and trying again. The epoch count is the number of times that each input sample is processed through the network.
Overfitting | Neural network training involves iteratively adjusting the weights of nodes in the network until the overall network generates answers from the image training set that match the ground truth labeling for the image set. The more training epochs that are used for training, the more accurately the network will respond to the training set images. After a certain amount of training, however, the network's improved performance on the training set will be accompanied by poorer performance on novel images. This is overfitting.
Labeling Error | Labeling errors occur when the ground truth information that you supply is inaccurate. Typical examples include mis-labeling a character in OCR, failing to label all of the instances of a particular feature in all images, or inconsistently labeling the extent of defect regions. Labeling errors can dramatically worsen tool performance.
ROC | The Receiver Operating Characteristic (ROC) is a graphical tool that allows you to visualize and analyze the tradeoff between precision and recall exhibited by a particular set of training parameters when applied to a particular training image set.
F-score | The F-score (or F1 score) is a weighted average between the precision and recall scores, measuring a test's accuracy.
Precision | The percentage of detected features or classes that are correct (match the labeled class or feature).
Recall | The percentage of labeled features or classes that are correctly identified by the tool.
Training Fraction | The fraction (percentage) of the images in the image set that are used for training. Using only part of the image set for training allows you to validate the performance of the trained tool on images that have not been seen before.
Sampling Density | The amount by which the sampling point is moved in the image between samples, expressed in terms of the feature size. If the feature size is 100 and the sampling density is 1, the sampling location is advanced by 100 pixels between samples. A sampling density of 4 would advance the sampling location by 25 pixels between samples.
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.
Mask image | A two-dimensional array of pixels that has the same size as a view. The pixel values in the mask image determine whether or not the corresponding pixels in the view are used for training or run-time processing.
Model | A specific spatial arrangement of a set of features (Blue Locate and Blue Read tools only.) During a post-processing step, the Blue Locate and Blue Read tools can fit all of the features detected in an image to the models defined for the tool. The overall pose and identity of the model is then returned.