SVS (SmartVision Studio)
SVS (SmartVision Studio)
Introduction
SmartVision Studio (hereinafter "SVS") is Aplux's self-developed vision algorithm development platform, consisting of image processing operators and an interactive visual function module system. The platform is feature-rich and easy to use, enabling developers to quickly build various vision solutions such as localization, measurement, defect detection, and information recognition through drag-and-drop connections.
Interface Layout
SmartVision Studio uses a 4-area layout:
Toolbar: Draggable node module library, divided into four categories: Acquisition, Image Processing, Deep Learning, and Communication
Action Bar: Workflow-level quick action buttons
Canvas Area: Main workspace for workflow design and node editing, supporting multi-workflow tab switching
Display Area: For viewing image output and module execution results

Action Bar
Consists of two parts, as shown below:

Workflow Name Area: Displays the current workflow name, supporting the following operations.
Function Operation Detailed Description Rename Workflow Double-click the workflow name - "Rename Workflow" dialog appears
- Enter a new name
- Click "OK"
- System checks for duplicate workflow names on the camera
- If duplicate, displays a warning and prevents saving
View Workflow List Hover over the workflow name - A workflow list popup appears
- Shows all workflow names (currently supports only 1 main workflow)
- Click a workflow name to reopen its tab
Common Function Buttons Area: Provides quick access to frequently used functions.
Each function button can be operated by single-click. Descriptions are as follows:
Icon Name Operation Description New Workflow 1. "New Workflow" dialog appears
2. Enter workflow name
3. Click "OK" to create
4. Main workflow is automatically created and enters editingLoad Workflow from Local 1. Triggers file selection dialog
2. Select a.jsonformat workflow file
3. System automatically parses and loads the workflow onto the canvasExport Workflow to Local Exports the current workflow as a local .jsonfileSave to Camera Saves the current workflow to the camera Generate Application When the canvas is non-empty and has a single complete workflow chain, exports the workflow as a standalone application. This operation automatically saves the workflow to the camera. Global Camera Settings See the "Global Camera" section for details Execute Current Workflow Canvas is non-empty with a single complete workflow chain.
1. Button shows spinning animation
2. Full-screen semi-transparent overlay with "Workflow Executing..." message
3. Overlay closes automatically after execution
4. Results displayed in the right result panel
This operation automatically saves the workflow to the camera.Undo When there are undoable history operations, undoes the last canvas operation Redo When there are undone operations, redoes the undone operation Clear Canvas Clears all nodes and connections from the current workflow Delete from Camera 1. "Delete from Camera" dialog appears
2. Lists all workflows on the camera
3. Click to select the workflow to delete
4. Click "Delete" button
5. Confirms deletion
Toolbar
Tool modules are divided into four categories by function. See the "Module Introduction" section for details:
Acquisition: Image source nodes (Camera, Static Image)
Image Processing: Crop, Contour Detection, Image Filtering, Morphological Processing, Binarization
Deep Learning: DL Localization, DL Segmentation, DL Model Set
Communication: IO Output
Canvas Area
The canvas area is the core zone for building, editing, and managing workflows. Users can build visual algorithm processing workflows by dragging module nodes, creating connections, and configuring node parameters.
- Workflow Tab Operations
| Function | Operation | Detailed Description |
|---|---|---|
| New Workflow | Click the `+` button at the far right of the tab bar |
|
| Switch Workflow | Click a workflow tab |
|
| Close Workflow | Hover over the tab and click the `×` button on the right | Only closes the tab; does not delete the workflow. Can be reopened by hovering over the workflow name. |
| Rename Workflow | Double-click the workflow tab name |
|
- Module Node Operations
| Function | Operation | Detailed Description |
|---|---|---|
| Add Module Node | Select a tool module and drag it to the canvas area |
|
| Single-Click Module Node | Left-click the node |
|
| Double-Click Module Node | Left double-click the node | Opens the node configuration dialog; click "Execute" or "OK". This operation automatically saves the workflow to the camera. |
| Drag Module Node | Hold and drag the node |
|
| Right-Click Select | Right-click the node | Node is selected and highlighted with a dashed outline |
| Right-Click Multi-Select Nodes | Right-click multiple nodes in sequence | All right-clicked nodes are selected |
| Delete Node | After right-click selecting a node, a delete panel automatically appears | Deletes all selected nodes |
| Deselect | Click a blank area of the canvas | Deselects all nodes; the delete panel automatically hides |
| Create Connection |
| |
| Delete Connection | Right-click the connection line and select "Delete" | Deletes the connection |
Display Area

Consists of two parts:
Image: Displays the output image of the currently selected module. After executing the entire workflow, output images from all modules involved in the workflow can be selected for viewing from a dropdown. The format is:
ModuleNodeName #ShortID.OutputImage (1/N), e.g.,DL Model Set #fbec.Output Image (1/2)means: DL Model Set module with ID #fbec, its module has 2 total output images, and currently displaying its 1st image.Module Results: Displays the output result data of the currently selected module. Different modules display different result data. See the "Module Introduction" section for details.
Supports filtering results by type
Supports expand/collapse all
Supports downloading images or exporting data
Image Output
When the "Image" tab is selected, the system displays image information for the current module and its upstream modules (if upstream modules have image output). Users can select which images to view via checkboxes, and the system will display the selected image content synchronously.
As shown below:

When the image source is "Static Image", the display area provides Static Image List Management functionality. See the "Image Source" module section for details.
Module Results
After a module finishes running, the system displays the module's execution results in the right-side Module Output Panel. The module results area consists of two main parts:
Top Area: Displays module execution information (e.g., status, elapsed time, etc.)
Main Content: Displays the corresponding computation output results for that module.
As shown below:

For most image-based modules (e.g., Image Source, Crop, Image Filtering, Morphological Processing, Binarization, etc.), output results are primarily images. The interface displays the following image information:
Image Dimensions: Shows the width and height of the image.
Image Format: Displays the current image encoding format (e.g., JPG, PNG, BMP, etc.).
Image Operations:
Download Image: Save the output image locally.
Zoom Preview: Supports fullscreen or partial zoom for detailed observation.
As shown below:

Other modules, in addition to image results, may output additional information. Refer to the Module Introduction section for details.
Scheme Composition Introduction
Workflow Management
A workflow is used to organize and execute visual processing and inference pipelines. Users can build algorithm solutions by dragging modules, creating connections, and configuring parameters according to inspection requirements.
Workspace Area
After creating a new workflow, select the required tool modules from the left toolbar and drag them into the main workflow workspace area to form a complete workflow.
The main workflow area supports various editing and view operations, including: connection type switching, zoom in/out, fit to view, lock modules, and more, allowing users to flexibly adjust workflow structure and layout.
As shown below:

Connection Type: Modify the connection style between modules. Supports three types: Smart Polyline, Straight Line, Curve, making it easy to choose the appropriate display based on workflow complexity.
Zoom In: Enlarge the current workspace area for viewing details or precise module operations.
Zoom Out: Shrink the workspace area, suitable for viewing the overall workflow structure.
Fit to View: Automatically adjust the view scale and module sizes to quickly locate the optimal display range for the current workflow.
Lock Modules: When locked, modules cannot be dragged or repositioned, preventing accidental operations.
Workflow Error Notification
During workflow construction, if certain module configurations are incomplete, models are missing, or upstream nodes are abnormal, the system will highlight error states in the main workflow area to help users quickly identify issues.
As shown below:

When a module encounters an error, the system marks the node with a red border and red icon, and displays detailed error information on mouse hover.
Module General Configuration
Basic Parameters
- Image Source: By default, subscribes to the output image of the preceding module.
Runtime Parameters
- Runtime Parameters: Configure algorithm parameters for visual inspection to achieve optimal detection results. Runtime parameters vary by module; refer to the actual module content for specifics.
Scheme Global Functions
Export App
The Export App function packages the current workflow into an independent deployable application.

This allows direct execution on other devices without re-editing the workflow. As shown below:

In the Export App interface, you need to fill in basic app information and export target:
App ID: Required. A unique identifier for the app, used to distinguish different apps. It is recommended to use English letters or alphanumeric combinations.
App Version: Required. App version number. Recommended format: major.minor.patch (e.g., 1.0.0). Used for version management and update tracking.
App Export
App Name: Required. The display name of the app, used for identification after export.
App Description: A brief description of the app's functionality, purpose, or algorithm workflow (max 200 characters) for easier maintenance and identification.
At the bottom of the interface, you can choose the Export Target to specify where the app is exported:
Local: Export the app to your local computer, generating an independent app package file (typically
.zipformat). Suitable for offline deployment, backup, or transfer to other devices.SVE Camera: Push the app directly to the local SVE camera device. The system will automatically transfer and deploy; once complete, the app can be run directly on the camera.
Global Camera
Global Camera Management is used for unified configuration, management, and debugging of all connected camera devices. By configuring camera parameters in this interface, you can ensure stable and consistent image acquisition results, thereby improving the accuracy and reliability of subsequent algorithm processing.

Users can view, select, and adjust basic and color parameters for each camera in this module to meet different algorithm task requirements.
As shown below:

Camera List
The left side of the interface displays all recognized camera devices, e.g., C0 Camera, C1 Camera, C2 Camera.
Tip: Camera numbers and cable/device interfaces should be marked correspondingly during field installation to avoid confusion during subsequent debugging.
Click any camera name to enter the corresponding parameter settings interface.
Basic Parameter Settings
The right area is the detailed parameter configuration area for the current camera, divided into Basic Parameter Settings and Color Parameter Settings.
Resolution (pixel): Set the output image resolution. Supports multiple standard resolution options (e.g., 3840×2160, 1920×1080, etc.).
Trigger Frame Rate (fps): Set the camera frame rate, i.e., frames captured per second. Higher frame rates provide smoother images but may increase system load. e.g., 60fps, 120fps.
Exposure Mode: Supports "Auto" and "Manual" modes.
Auto Mode: The system automatically adjusts exposure based on lighting conditions.
Manual Mode: Users can set exposure time, ISO, and exposure compensation for precise control.
Color Parameter Settings
Auto White Balance
Set the camera's white balance method. Supports:
Auto: The system automatically adjusts color temperature balance;
Manual: Users can customize white balance parameters.
Image Adjustment Parameters
| Parameter | Range | Description |
|---|---|---|
| Saturation | 0 – 100 | Controls the vividness of image colors. |
| Contrast | 0 – 100 | Controls the contrast intensity of light and dark areas. |
| Sharpness | 0 – 100 | Controls the clarity of image edges. |
Custom White Balance
When auto white balance is turned off, white balance parameters can be set manually, suitable for scenarios with fixed lighting conditions. Supports setting RGB gain and color temperature adjustment.
Module Introduction
Acquisition
Modules under the Acquisition category configure image input sources.
Image Source
The Image Source module provides image sources, with options for Local Image or Camera.

Parameter Configuration
When the image source is set to Camera, images are obtained from configured cameras. The following parameters need to be set:
- Select Camera: Select the associated camera. Click the "Execute" button to capture one frame from the corresponding camera and display it in the image area. For camera configuration, see the "Global Camera" section.
When the image source is set to Local Image, images are loaded from local storage. The following parameters need to be set:
- Capture Interval (ms): The time interval between loading adjacent images. Images can be uploaded locally via the right-side image display area.
Static Image Configuration
Click the "Local Upload" button to select and upload files from local storage to the platform.
The system supports mainstream image formats (e.g., JPG, PNG, BMP, etc.). After successful upload, images are displayed in the static image list.
Tip: Before uploading, confirm that the image dimensions and format meet the input requirements of the current module.

After uploading, all static images are displayed in the list. Users can perform the following operations:
Select Images: Check the images to use for workflow execution.
Delete Image: Remove the currently selected static image.
Delete All: Clear all current static image files.
Deletion is irreversible. Please proceed with caution.
When the workflow is executed and the node image source is set to "Static Image" mode, the system uses the checked images from the static image list for task processing.
The platform supports selecting up to 5 static images simultaneously. The workflow uses these images sequentially as input sources for execution.
Image Processing
Image Processing is the process of preprocessing target images. When images have significant interference or indistinct features, consider using image processing modules for preprocessing.
Crop
Cropping is the process of removing all unwanted areas from an image or highlighting a specific feature of the image.

Parameter Configuration
Input Source: Generally the output image of the Image Source module, or the output image of other image processing category modules.
Shape: Two types: Rectangle and Full Frame.
By default, the image-related parameters of the preceding module are displayed. You can directly draw a selection box in the image display area, and fine-tune using the up/down arrows of the input fields after selection. Click "Full Frame" to restore to the initial state. When the selection area meets requirements, click "Execute" to view the result.

Contour Detection
Contour Detection is used to extract object boundaries from images. Target objects meeting requirements are filtered based on configured Area and Length. Can be used for object recognition, shape analysis, target tracking, and other applications.

Basic Concepts
Contour: The boundary of an object in an image, composed of a series of points.
Contour Features: Contour area, perimeter, bounding rectangle, minimum bounding rectangle, minimum bounding circle, etc.
Parameter Settings
Area: Value range 0~74,649,600 px²
Length: Value range 0~36,000 px
Module Results
The output results of this module include the number of qualified contours, and the area, length, and center point coordinates for each contour.
As shown below:


Image Filtering
Filtering is a class of image processing algorithms. This module supports three filter types: Gaussian Filter, Mean Filter, and Median Filter.

Gaussian Filter
Gaussian filtering is a smoothing method based on the Gaussian function. Unlike mean filtering, Gaussian filtering assigns higher weights to center pixels and lower weights to edge pixels when calculating pixel averages. Gaussian filtering removes noise while better preserving image edge information.
Parameters: Filter kernel width and kernel height, value range 1~51. Larger values produce a more pronounced defocus effect, i.e., more blurred images.
Suitable Scenarios: Gaussian filtering is suitable for removing Gaussian noise from images and performs well at preserving edge information.
Mean Filter
Mean filtering is one of the simplest smoothing methods. The principle of mean filtering is to replace each pixel value in the image with the average of its surrounding pixels. Mean filtering effectively removes noise but may cause the image to become blurry.
Parameters: Filter kernel width and kernel height, value range 1~51. Larger values produce a more pronounced defocus effect, i.e., more blurred images.
Suitable Scenarios: Mean filtering is suitable for removing random noise from images but may blur image edges.
Median Filter
Median filtering is a non-linear smoothing method. Its principle is to replace each pixel value in the image with the median of its surrounding pixels. Median filtering is very effective at removing salt-and-pepper noise (random black and white dots in images).
Parameters: Filter kernel, value range 1~51. Larger values produce a more pronounced defocus effect, i.e., more blurred images.
Suitable Scenarios: Median filtering is suitable for removing salt-and-pepper noise from images and performs well at preserving edge information.
Morphological Processing
Through operations such as erosion, dilation, opening, and closing, effects like noise removal, object separation, and edge detection can be achieved. This module helps better process and analyze image data.

Morphological Types
Dilation
Dilation is the opposite of erosion — it is a process of expanding foreground objects in an image.
Dilation convolves a structuring element with the image; as long as the structuring element overlaps with any foreground pixel in the image, the center pixel is preserved.
Erosion
Erosion is a process of shrinking foreground objects in an image.
Erosion convolves a structuring element with the image; only when the structuring element completely covers the foreground pixels in the image is the center pixel preserved; otherwise, it is eroded away.
Opening
Opening is a combined operation of erosion followed by dilation.
Opening is mainly used to remove small noise from images or separate connected objects.
Closing
Closing is a combined operation of dilation followed by erosion.
Closing is mainly used to fill small holes in foreground objects or connect broken objects.
Shape
Refers to the shape of the filter kernel, including Rectangle, Ellipse, and Cross.
Iterations
Refers to the number of operations performed on the original image in one morphological processing pass. More iterations produce more pronounced effects. Value range: 1~10.
Kernel Width and Kernel Height
Value range 1~51. Increasing these values makes the morphological processing effect more pronounced.
Binarization
Image binarization converts the original image into an image containing only two grayscale values: 0 and 255. The purpose of image binarization is to simplify the image, highlight target contours, and facilitate subsequent image processing. Binarized images help algorithms more accurately identify edges and features in images.

Types
BINARY
Standard binarization: pixels greater than the threshold become the maximum value; pixels less than the threshold become 0.
BINARY_INV
Inverse binarization: pixels greater than the threshold become 0; pixels less than the threshold become the maximum value.
TRUNC
Truncation: pixels greater than the threshold become the threshold value; pixels less than the threshold remain unchanged.
TOZERO
Zeroing: pixels greater than the threshold remain unchanged; pixels less than the threshold become 0.
TOZERO_INV
Inverse zeroing: pixels greater than the threshold become 0; pixels less than the threshold remain unchanged.
Threshold
The threshold value used to segment image pixels.
Max Value
If a pixel value exceeds the threshold, it is set to this value (typically 255).
Deep Learning
Deep learning refers to using deep learning models similar to brain neural networks to enable computers to learn and understand complex information, completing difficult recognition tasks. Applicable to scenarios such as image localization and segmentation.
Modules in this category only need model file configuration. Model files are obtained from AIC (AI Creator) based on training with large amounts of sample data.

Model Configuration:
Local
Download the model trained by AIC to local storage, then upload it.
Camera
Since AIC supports deploying trained models directly to integrated cameras, modules in this category scan model files in the camera's specific directory
/var/opt/aic_models, supporting model type parsing and quick selection, eliminating download and upload steps — convenient and fast. As shown below:
Output Results:
Model Structure Information
Input Shape
Output Shape
Image Results
Display intermediate result images after model inference (e.g., feature maps, segmentation maps, etc.)
Each intermediate result can be individually viewed and exported
As shown below:


DL Localization
Precisely locates the inspection area, used to determine object position and mark bounding boxes. The image below shows results obtained through a localization model.

Original Image

Localization Result Image
As shown in the example steps below, use the localization model to quickly mark target areas with bounding boxes. Other deep learning modules operate similarly.
- Build the workflow: Image Source → DL Localization.

- Configure DL Localization: After selecting the corresponding model, detailed model information is displayed synchronously, including Model Name, Target Platform, Quantization Precision, and Version. Click "Execute".

- Complete target marking, as shown by the red box area below.

DL Segmentation
Pixel-level processing, commonly used to detect fine surface defects such as contamination, scratches, etc. The image below shows results obtained through a segmentation model.

Original Image

Segmentation Result Image
DL Model Set
When AIC deploys models directly to integrated cameras, it supports packaging multiple algorithm modules' corresponding models together for unified deployment. The module that supports serial processing of multiple models is the DL Model Set.
Currently, this module only supports selecting model sets combining "Localization" and "Segmentation" types. Support for other model types such as Classification, Object Detection, OCR, etc., will be added in future versions.
As shown below:

Communication
Modules under the Communication category primarily implement camera-to-external-device communication functionality.
IO Output
This module is mainly used for level control of output pins. Supports level control for 4 IO ports. The mapping is as follows:
| I/O Signal Source | Description | Cable Color Reference | |
|---|---|---|---|
| IO0 | Line4 | Opto-isolated Output 4+ | Green |
| IO1 | Line5 | Opto-isolated Output 5+ | Yellow |
| IO2 | Line3 | Opto-isolated Output 3+ | Black |
| IO3 | Line6 | Opto-isolated Output 6+ | Gray |
Parameter Configuration

Output Condition: You can subscribe to the output conditions for each IO output signal. Currently, only subscribing to the output results of preceding modules is supported. When the preceding module executes successfully, this output condition is triggered.
Duration (ms): When the duration is greater than 0, it means that after pulling the level high, it will automatically pull the level low after the corresponding duration. When set to 0, no level-low action is performed.
Output Results
The result panel displays the output status of each channel. 0 indicates the current level is low, as shown below:

FAQ
Which operations auto-save? Which require manual save?
Auto-save: Left-click node to execute, configure node via double-click then click Execute/OK, execute current workflow, export app
Manual save required: Drag nodes, delete nodes, create/delete connections, move nodes, create/delete/rename workflows, clear canvas, undo/redo — all canvas editing operations
Important: After editing the canvas, please click the "Save to Camera" button promptly!
Why does clicking New Workflow prompt that the feature is not yet available?
The current version only supports using the default main workflow. Creating additional workflows is not yet supported. Multi-workflow functionality will be available in a future version.
Why can't I drag a second image source node?
Each workflow can only have one image source node (Camera or Static Image). This is a system limitation. To switch the image source type, double-click the existing image source node and switch between "Camera" or "Static Image" in the configuration dialog.
How to choose between Camera and Static Image?
Drag the Image Source node to the canvas (defaults to Camera node)
Double-click the Image Source node to open the configuration dialog
Select "Camera" or "Static Image" from the top dropdown
The corresponding configuration form will be displayed below
How to delete a node?
Right-click a node (it will be highlighted with a dashed border)
You can continue right-clicking other nodes for multi-selection
A delete operation panel appears automatically
Click the delete button to delete all selected nodes
Click a blank area of the canvas to deselect
Do nodes have default parameters after being dragged onto the canvas?
Yes, nodes are automatically assigned default parameters when dragged onto the canvas (e.g., camera defaults to C0). They take effect without waiting for explicit configuration.
What is the format of options in the output image dropdown?
Camera node: `NodeName #ShortID .Output Image(C0 Camera) (1/1)`
Static Image node: `NodeName #ShortID .Output Image(Static Image) (1/1)`
Other processing nodes: `NodeName #ShortID .Output Image (1/1)`
The ShortID is the last 4 characters of the node's full ID, used to distinguish nodes of the same type.
How to upload and manage static images?
Double-click the Image Source node and select "Static Image" type
The "Static Image List" panel appears on the right
Click the "Local Upload" button to select images (multi-select supported)
Click a thumbnail to switch the display
Hover over an image and click the trash icon to delete a single image
Click the "Delete All" button to delete all images
How to avoid overwriting an existing app when exporting?
When exporting to SVE Camera, the system automatically checks for duplicate App ID and Version
If a duplicate exists, a confirmation dialog appears: "App already exists. Overwrite?"
Select "Cancel" to abort the export, modify the version number, and re-export
Exporting to Local does not check for duplicates and downloads the zip file directly
For more operation instructions, please refer to other sections or contact the development team.