Skip to content

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

image

Action Bar

Consists of two parts, as shown below:

image-1

  • Workflow Name Area: Displays the current workflow name, supporting the following operations.

    FunctionOperationDetailed Description
    Rename WorkflowDouble-click the workflow name
    1. "Rename Workflow" dialog appears
    2. Enter a new name
    3. Click "OK"
    4. System checks for duplicate workflow names on the camera
    5. If duplicate, displays a warning and prevents saving
    View Workflow ListHover 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:

    IconNameOperation Description
    New Workflow1. "New Workflow" dialog appears
    2. Enter workflow name
    3. Click "OK" to create
    4. Main workflow is automatically created and enters editing
    Load Workflow from Local1. Triggers file selection dialog
    2. Select a .json format workflow file
    3. System automatically parses and loads the workflow onto the canvas
    Export Workflow to LocalExports the current workflow as a local .json file
    Save to CameraSaves the current workflow to the camera
    Generate ApplicationWhen 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 SettingsSee the "Global Camera" section for details
    Execute Current WorkflowCanvas 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.
    UndoWhen there are undoable history operations, undoes the last canvas operation
    RedoWhen there are undone operations, redoes the undone operation
    Clear CanvasClears all nodes and connections from the current workflow
    Delete from Camera1. "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
FunctionOperationDetailed Description
New WorkflowClick the `+` button at the far right of the tab bar
  1. "New Workflow" dialog appears
  2. Enter workflow name
  3. Click "OK" to create
  4. New workflow tab opens automatically

The current version only supports using the default main workflow. Creating additional workflows is not yet supported and will be available in a future version.

Switch WorkflowClick a workflow tab
  • Canvas switches to the corresponding workflow
  • Right-side image source and result panel refresh automatically
  • Each workflow independently remembers its image source selection state
Close WorkflowHover over the tab and click the `×` button on the rightOnly closes the tab; does not delete the workflow. Can be reopened by hovering over the workflow name.
Rename WorkflowDouble-click the workflow tab name
  1. "Rename Workflow" dialog appears
  2. Enter new name
  3. Click "OK" to complete renaming
  • Module Node Operations
FunctionOperationDetailed Description
Add Module NodeSelect a tool module and drag it to the canvas area
  1. Press and hold left mouse button on the node module
  2. Keep holding and move the mouse to the canvas
  3. Release the mouse at the target position
  4. Node is automatically generated at the release position

Each workflow can only have one acquisition node (Camera or Static Image). Adding another will prompt an error.

Single-Click Module NodeLeft-click the node
  • Node border highlights
  • Right display area automatically refreshes with the node's output results
  • Automatically requests the node's output result data
This operation automatically saves the workflow to the camera.
Double-Click Module NodeLeft double-click the nodeOpens the node configuration dialog; click "Execute" or "OK". This operation automatically saves the workflow to the camera.
Drag Module NodeHold and drag the node
  • Moves the node position in real-time
  • Connected edges automatically adjust to follow
Right-Click SelectRight-click the nodeNode is selected and highlighted with a dashed outline
Right-Click Multi-Select NodesRight-click multiple nodes in sequenceAll right-clicked nodes are selected
Delete NodeAfter right-click selecting a node, a delete panel automatically appearsDeletes all selected nodes
DeselectClick a blank area of the canvasDeselects all nodes; the delete panel automatically hides
Create Connection
  1. Hover over a node to reveal connection points
  2. Press and hold a connection point and drag
  3. Move to the target node's connection point
  4. Release the mouse to complete the connection
Delete ConnectionRight-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 .zip format). 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
ParameterRangeDescription
Saturation0 – 100Controls the vividness of image colors.
Contrast0 – 100Controls the contrast intensity of light and dark areas.
Sharpness0 – 100Controls 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 SourceDescriptionCable Color Reference
IO0Line4Opto-isolated Output 4+Green
IO1Line5Opto-isolated Output 5+Yellow
IO2Line3Opto-isolated Output 3+Black
IO3Line6Opto-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?
  1. Drag the Image Source node to the canvas (defaults to Camera node)

  2. Double-click the Image Source node to open the configuration dialog

  3. Select "Camera" or "Static Image" from the top dropdown

  4. The corresponding configuration form will be displayed below

How to delete a node?
  1. Right-click a node (it will be highlighted with a dashed border)

  2. You can continue right-clicking other nodes for multi-selection

  3. A delete operation panel appears automatically

  4. Click the delete button to delete all selected nodes

  5. 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?
  1. Double-click the Image Source node and select "Static Image" type

  2. The "Static Image List" panel appears on the right

  3. Click the "Local Upload" button to select images (multi-select supported)

  4. Click a thumbnail to switch the display

  5. Hover over an image and click the trash icon to delete a single image

  6. 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.