Model Configuration Reference
This page is a detailed reference for the Models Configuration dialog.
If you want a shorter walkthrough, see Model Configuration.
How to use this reference
- Use the section that matches the tab you are editing
- Fields only appear when they are relevant for the current model type
Configuration tab
General
| Setting | What it means | When to change it |
|---|
Name | The model name shown throughout the project. | Use a clear name that matches the job of the model. |
Primary | Makes this the main model used as the project entry point. | Turn this on for the main model users should start from. |
Input width | Width of the images fed into the model. | Change only if you know you need a different input size. |
Input height | Height of the images fed into the model. | Change only if you know you need a different input size. |
Description | Short explanation of what the model is meant to do. | Use this to keep several models easy to understand. |
Base
| Setting | What it means | Notes |
|---|
Purpose | Chooses whether the model is for locating, classifying, or identifying. | This choice affects which other tabs and options appear. |
Accuracy | Simple speed-versus-quality control. | Higher settings usually favor a slower, more accurate setup. |
Bounding boxes | Lets the model return object locations. | Not available for Identify models. |
Key points | Lets the model return landmarks. | Not available for Identify models. |
Multiple categories | Lets the model work with more than one class. | Only available for Classify models. |
Based on | Starting point for training. | COCO 2017 can preload categories and key points. |
Purpose options
| Purpose | Best used for |
|---|
Locate | Finding where objects are in an image |
Classify | Assigning classes, optionally with boxes or key points |
Identify | Matching previously found objects to identities |
Inference tab
Use this tab to control how the model behaves when it is run on images.
Accuracy Thresholds
| Setting | What it means | Practical guidance |
|---|
Base Accuracy (%) | The model's default accuracy point. | This is the center point used before the global find-accuracy slider shifts the threshold. |
Lower Limit (%) | Lowest accuracy the model can use when the global find-accuracy slider moves downward. | Keep this lower than the base value. |
Upper Limit (%) | Highest accuracy the model can use when the global find-accuracy slider moves upward. | Keep this higher than the base value. |
These three values work together with the global find-accuracy slider in the Engine tab of the menu. From a user perspective, the model config sets the allowed range, and the global slider moves within that range at runtime.
Limits
| Setting | What it means | Notes |
|---|
Maximum Detections | Caps how many detections are returned. | Only useful when the model can return multiple categories or multiple detections. |
Inference and Non-Max Suppression
These settings are relevant for models that use bounding boxes.
NMS stands for Non-Maximum Suppression. It removes duplicate overlapping detections by keeping the strongest result and suppressing weaker boxes that likely refer to the same object.
| Setting | What it means | Practical guidance |
|---|
Use NMS | Turns duplicate cleanup on or off. When enabled, overlapping detections are compared and weaker duplicates are removed. | Turn this on when the model often returns several boxes for the same object. |
Pre NMS Top K | Number of candidate detections kept before NMS runs. | Raise it when crowded images need more candidates to survive until cleanup. |
NMS IoU Threshold | Controls how much overlap is allowed before one detection suppresses another. IoU means Intersection over Union, a measure of box overlap. | Lower values remove overlaps more aggressively, higher values keep more overlapping boxes. |
Class-Agnostic NMS | Lets detections suppress each other across different categories instead of only within the same category. | Use it when different classes are close alternatives and should compete with each other. |
NMS Overlap Groups | Lets you define specific groups of categories that should suppress each other when class-agnostic NMS is off. | Useful when only certain categories should compete, such as similar object types. |
NMS Overlap Groups
| Setting | What it means |
|---|
Group name | Name used when assigning categories to a group |
IoU Threshold | Overlap threshold used for that group |
Categories tab
Use this tab to define the classes the model can detect.
Per-category fields
| Setting | What it means | Notes |
|---|
Value | Numeric id for the category. | Keep values stable once you have labeled data. |
Name | Display name of the category. | Use short, consistent names. |
Show ROI | Controls whether the category’s boxes or key points are shown. | Only relevant when the model uses boxes or key points. |
Per-category accuracy | Lets this category use its own accuracy range instead of the model-wide default. | Useful when one class needs stricter or looser filtering with the global find-accuracy slider. |
Base / Lower / Upper | Category-specific accuracy values. | These appear after enabling per-category accuracy. |
NMS IoU Threshold | Per-category overlap threshold. | Available when NMS is in use. |
NMS Groups | Assigns the category to one or more overlap groups. | Available when overlap groups exist. |
Weight | Per-category training weight for CenterNet heatmap loss. | Available when per-class weighting is enabled in training. |
Observation count | Shows how many labeled observations exist for the category. | Useful when checking class balance. |
When per-class weighting is enabled in the Training tab, the Categories tab also shows:
| Setting | What it means |
|---|
Method | Chooses how the app computes class weights from the current category frequencies |
Compute | Fills the category weights automatically |
Use this when some categories have much less training data than others.
Key points tab
This tab appears when key points are enabled.
Categories that detect key points
Only shown for Classify models.
| Setting | What it means |
|---|
Category list | Chooses which categories produce key points |
List of key points
| Setting | What it means | Notes |
|---|
Key point labels | Ordered list of the landmarks the model predicts | The order matters and should stay stable once data is labeled. |
Meshes
Meshes define visual or structural connections between key points.
| Setting | What it means |
|---|
Path | Treats the selected points as a connected path |
Triangles | Treats the selected points as a triangle-based mesh |
Key points in mesh | Chooses which key points belong to the mesh |
Attributes tab
Attributes let you compute extra information from the model output.
Shared vs per-category attributes
| Section | What it means |
|---|
Shared | Attributes used across the whole model |
Per-category | Attributes used only for specific categories |
Common fields
| Setting | What it means |
|---|
Attribute type | Chooses how the attribute value is produced |
Name | Label for the attribute |
Skip frames | Cadence control: sets how many frames to skip between calculations. 0 means every frame. 4 means calculated every 5th frame. Use this to reduce the cost of attributes that do not need to update every frame. |
Requires categories | Multi-select that restricts when this attribute runs. When one or more categories are selected, the attribute is only calculated when at least one of those categories is also detected in the same image or frame. Leave empty to run the attribute unconditionally. Only available when the model has Multiple categories enabled and at least one category defined. For category-specific attributes, the owning category is excluded from the list. |
Attribute types
| Type | What it does | Extra fields |
|---|
Color | Extracts one or more dominant colors | Number of colors, Max colors |
Another model | Uses another model to calculate the value | model selection, optional clip/alignment |
Identification | Uses an identification model to assign identity | model selection, optional clip/alignment |
Border width calculator | Measures the pixel width of a circular bright border by sampling 360 radial profiles. Outputs a sections array; each section contains minWidthPx, maxWidthPx, validRatio, startDegrees, endDegrees, minDegrees, maxDegrees, startWidthPx, and endWidthPx. Result is omitted when the border cannot be measured reliably. | Min valid profile ratio, optional clip/alignment |
Angle | Calculates face or object angle from 4 key points | key point selection |
Bearing | Calculates direction from 5 key points | key point selection |
Adjacent angle | Calculates the angle between two lines defined by key points | key point selection |
Clip and alignment options
These are available for model-based attributes, Border width calculator, and for training-time crops.
| Setting | What it means | Requirements |
|---|
Clip | Crops to the bounding box before running the next step | The source model must provide boxes |
Align with key points | Rotates or aligns the crop using selected key points | The source model must provide key points |
Align points | Chooses the points used for alignment | Only relevant when alignment is enabled |
Margin | Adds extra space around the crop | Only relevant when clipping is enabled |
Training tab
The Training tab is split into several sections.
Training tab: Data preparation
| Setting | What it means | Practical guidance |
|---|
Prepare data | Rebuilds the train/validation split | Use this when you want a fresh split. |
Percentage training data | Percentage used for training rather than validation | Keep enough validation data to judge training quality. |
Level categories | Tries to balance categories during data preparation | Useful when some classes have much less data. |
Training tab: Clip settings
| Setting | What it means |
|---|
Clip | Crop training samples to the object box |
Align with key points | Rotate training samples using key points |
Align points | Which key points to use for alignment |
Margin | Extra crop padding around the box |
Training tab: Data augmentation
| Setting | What it means |
|---|
Rotate | Random rotation augmentation |
Rotation | Maximum rotation amount |
Scale | Random resizing augmentation |
Range for scale | Maximum scale change |
Flip Horizontal | Horizontal mirroring |
Flip Vertical | Vertical mirroring |
Translate X | Horizontal movement augmentation |
Translate Y | Vertical movement augmentation |
Brightness | Brightness variation |
Contrast | Contrast variation |
Saturation | Saturation variation |
Hue | Hue variation |
Nr of combinations | Number of augmentations combined on a single image |
Training tab: Core training settings
| Setting | What it means | Practical guidance |
|---|
Batch size | Number of samples per training step | Larger values are faster if your hardware can handle them. |
Epochs | Minimum number of passes through the training data | Start moderate, then review results. |
Max epochs | Hard upper limit for training | Mostly relevant when patience is greater than 0. |
Optimizer | Training optimizer | Adam is a common default. |
Momentum | Extra momentum used by SGD | Only relevant for SGD. |
Patience | Stops training after enough non-improving evaluations | Lower values stop sooner. |
Weight decay | Regularization strength for AdamW | Only relevant for AdamW. |
Clip norm | Gradient clipping limit | Leave empty unless you are dealing with unstable training. |
Fine tune | Trains more of the model instead of only the final layer | Usually best left on when boxes or key points are involved. |
Validation metric | Metric used for early stopping and best checkpoint selection. Single-label ResNet models always use accuracy. Multi-label models support accuracy, exactmatch, precision, recall, and f1. | Classify models with Multiple categories only. Defaults to accuracy for single-label and f1 for multi-label. |
Multi-label threshold | Confidence threshold applied to sigmoid scores when computing multi-label training and validation metrics. Does not affect the loss function, only the reported numbers. | Classify models with Multiple categories only. Default 0.5. |
Training tab: Learning rate
| Setting | What it means | Notes |
|---|
Learning rate decay | Overall schedule used during training | Cosine is the simplest default. |
Initial learning rate | Starting learning rate | Disabled when differential learning rates are enabled. |
Decay steps | How long the cosine schedule runs before reaching its minimum | Mainly relevant for cosine schedules. |
Differential learning rates | Uses different learning rates for the head and backbone | Advanced tuning option. |
Head learning rate | Learning rate for the prediction head | Usually higher than the backbone rate. |
Backbone learning rate | Learning rate for the backbone | Usually lower than the head rate. |
Warmup epochs | Gradually ramps the learning rate at the start | Useful for smoother starts. |
Restart mode | How the first cosine restart cycle is defined | Only appears for cosine restart schedules. |
First decay steps | Absolute first-cycle length | Cosine restart mode only. |
Restart every epochs | Defines restart timing in epochs | Cosine restart mode only. |
Warmup each restart | Adds warmup at each restart | Cosine restart mode only. |
Cycle multiplier | Changes cycle length over time | Cosine restart mode only. |
Decay | Changes how much each restart peak drops | Cosine restart mode only. |
Minimum | Minimum learning-rate fraction | Cosine restart mode only. |
Training tab: Advanced training parameters
These are the advanced fields shown in the Training parameters card.
Backbone fine-tuning
| Setting | What it means |
|---|
Freeze backbone epochs | Keeps the backbone frozen for the first part of training |
Unfreeze stages/interval | How many backbone stages are opened each time |
Unfreeze interval | Number of epochs between unfreeze steps |
Stop unfreezing at stage | Limits how far unfreezing goes |
Train backbone BatchNorm | Allows backbone batch norm layers to update |
BN unfreeze epoch | Delays when backbone batch norm starts updating |
Detection and key point loss settings
These fields appear only when the model uses boxes or key points.
| Setting | What it means |
|---|
Object center loss w | Weight for the object-center heatmap loss |
Size loss weight | Weight for bounding-box size regression |
Box loss weight | Weight for box offset regression |
Keypoint loss weight | Weight for the key point heatmap loss |
Offset loss weight | Weight for per-keypoint sub-cell offset regression |
Center-to-joint loss w | Weight for the center-to-joint regression term. Only active when Keypoint head mode is center_to_joint. |
Direction pair vector loss w | Weight for the direction-pair vector regression term. Only active when Keypoint head mode is direction_pairs. |
Center accuracy threshold | Threshold used when checking center prediction quality during training metrics |
Focal alpha | Focal-loss alpha parameter |
Focal beta | Focal-loss beta parameter |
Heatmap bias | Initial bias for heatmap output |
Gaussian radius | Fixed radius used for box heatmap targets when size-based Gaussians is off |
Keypoint Gaussian radius | Fixed radius used for key point heatmap targets |
Gaussian min overlap | Minimum IoU overlap used by the size-based Gaussian radius heuristic. Only active when Size-based Gaussians is on. |
CenterNet debug images | Saves debug images during training |
Size-based Gaussians | Adapts Gaussian size to object size using a CenterNet IoU heuristic instead of a fixed radius |
Box upsample filters | Advanced CenterNet FPN decoder channel configuration |
Box head mode | Selects the box prediction contract: center is the standard mode, center_radius_xy predicts half-extents, extreme_points predicts top/bottom/left/right point heatmaps, center_rotated predicts an angle so tilted objects get tight, rotated boxes. |
Keypoint head mode | Selects how key points are predicted: offset is the direct per-keypoint path, center_to_joint conditions each joint on the decoded object center, direction_pairs predicts pair-center vectors. Only meaningful when key points are enabled. |
Keypoint decode radius | Local search radius used when refining center_to_joint predictions from the heatmap. Only active when Keypoint head mode is center_to_joint. |
Keypoint augmentation
These settings appear when the model uses key points.
| Setting | What it means |
|---|
Horizontal flip pairs | Pairs of key point indices swapped during horizontal flip augmentation. Configure this whenever left/right semantics matter, such as body joints or facial landmarks with side-specific labels. |
Vertical flip pairs | Pairs of key point indices swapped during vertical flip augmentation. Configure this whenever top/bottom semantics matter, such as ordered endpoints or vertically paired landmarks. |
Synthetic boxes
These settings appear when the model uses key points and no box labels are supplied. Synthetic boxes are generated from the visible keypoint bounds so the box head receives supervision even when no explicit boxes exist in the training data.
| Setting | What it means |
|---|
Synthetic boxes | Enables generating box targets from visible keypoint bounds when a sample has keypoints but no box label. |
Box padding ratio | Relative padding added around the keypoint envelope. 0.05 is the default. |
Box padding pixels | Minimum absolute padding in pixels added around the envelope. |
Box min size pixels | Minimum generated box height and width before padding is applied. |
Regularization
| Setting | What it means |
|---|
Dropout | Amount of dropout used during training |
Label smoothing | Softens target labels to reduce overconfidence |
Label smoothing is only available for basic ResNet classification without multiple categories, boxes, or key points.
Training tab: CenterNet per-class weighting
This section appears for models that use boxes or key points.
| Setting | What it means |
|---|
Enable per-class weights | Turns on class-based weighting for the heatmap loss |
Normalize to mean 1.0 | Keeps the average weight centered around 1 |
Clip weights | Limits extreme weights |
Warmup epochs | Gradually applies class weights over the first epochs |
Clip min | Lowest allowed class weight when clipping is enabled |
Clip max | Highest allowed class weight when clipping is enabled |
Training tab: Genetic optimization
| Setting | What it means |
|---|
Use genetic optimization | Enables automatic search over selected training values |
Max search time (s) | Maximum time spent searching |
Consecutive worse limit | Stops the search after enough non-improving attempts |
Field | Training field to optimize |
Min | Lowest value to try |
Max | Highest value to try |
Step | Increment used while searching |
Parameter dependencies
Some settings only take effect when another setting has a specific value. The most important dependencies are listed below.
Inference
| Setting | Requires |
|---|
Base Accuracy, Lower Limit, Upper Limit, Accuracy Delta, per-category accuracy ranges | Threshold must not be set. When Threshold is present all accuracy-range fields are inactive. |
Training
| Setting | Requires |
|---|
Multi-label threshold, Validation metric (exactmatch / precision / recall / f1) | Multiple categories = on |
Label smoothing | Multiple categories = off — rejected when multiple categories is enabled |
Head learning rate, Backbone learning rate | Differential learning rates = on |
Weight decay | Optimizer = AdamW — silently unused for Adam and SGD |
Momentum | Optimizer = SGD — silently unused for Adam and AdamW |
Warmup each restart | Learning rate decay = cosine_restarts and Warmup epochs > 0 |
First decay steps, Restart every epochs, Warmup each restart, Cycle multiplier, Decay, Minimum | Learning rate decay = cosine_restarts |
Freeze backbone epochs, Unfreeze stages/interval, Unfreeze interval, Stop unfreezing at stage | Fine tune = on |
BN unfreeze epoch | Train backbone BatchNorm = off — when BatchNorm is always trainable an unfreeze epoch has no effect |
Keypoint head mode, Keypoint Gaussian radius, Keypoint decode radius, Center-to-joint loss w, Direction pair vector loss w, Offset loss weight, keypoint flip pairs, synthetic boxes | Key points must be enabled (nrKeyPoints > 0) |
Center-to-joint loss w, Keypoint decode radius | Keypoint head mode = center_to_joint |
Direction pair vector loss w | Keypoint head mode = direction_pairs |
Gaussian min overlap | Size-based Gaussians = on |
Box padding ratio, Box padding pixels, Box min size pixels | Synthetic boxes = on |
Class weights, Normalize to mean 1.0, Clip weights, Warmup epochs (class weights), Clip min, Clip max | Enable per-class weights = on |
Clip min, Clip max | Clip weights = on and Enable per-class weights = on |
Attributes
| Setting | Requires |
|---|
Requires categories | Multiple categories = on and at least one category defined |
Mutually exclusive pairs
| Settings | Note |
|---|
Threshold vs accuracy range fields | Presence of Threshold makes all accuracy-range fields inactive in both CenterNet and ResNet Classify |
Label smoothing vs Multiple categories | Label smoothing is rejected when Multiple categories is enabled |
First decay steps vs Restart every epochs | Both control the first cosine-restart cycle length; First decay steps wins when both are set |