Skip to content

Release Notes

2.13.10

Feature

  • The SaigeAlignment module has been updated to 2.0.0-rc4. When performing alignment, the pixel coordinates (x1, y1, x2, y2) of the crop box applied to the Source image can now be retrieved alongside the aligned image.

API Addition

2.13.9

Bug Fix

  • Fixed an error occurring during SaigeAlignment module finalization.

Improvements

  • SaigeVisionDoctor - Fixed an issue where V1 license check was not working, and improved visibility.

2.13.8

Bug Fix

  • Fixed a crash (0xC0000409) caused by license thread join on application exit.

Improvements

  • Added dongle ID and expiration info query feature (SaigeVisionDiag).

2.13.7

Bug Fix

  • Fixed abnormal termination with error code -1073740791 in certain environments when the program exits without calling DestroyHandle after using the SDK.
  • Fixed an issue where error messages for other features could not be retrieved correctly when the ROD module is not present.

2.13.6

Hot Fix

  • Fixed an issue where the ROD optimization feature was not working.

2.13.5

Hot Fix

  • Fixed an issue where models trained with Developer 2.5.21 or later and SaigeOCR 2.2.4 or later, which include OCR Text formatting special character features, could not be inspected in the Runtime SDK.

2.13.4

Hot Fix

  • Fixed an issue where ImageResizeWidth and Height values could not be loaded when loading Object Detection models.

2.13.3

Hot Fix

  • The restriction on the optimization feature for OCR has been lifted.
  • Fixed an issue where ImageResizeWidth and Height values could not be loaded when loading Object Detection models.

2.13.2

API Addition

2.13.1

Bug Fix

  • Fixed bugs in Rotated Object Detection
    • Changed the order of the points in the detected SaigeRotatedBox from clockwise starting from Bottom-Top to clockwise starting from Top-Left, making it consistent with the Object Detection feature.
    • Fixed a bug where the Inference Option was not functioning correctly.
    • Resolved the issue where the license could not be recognized.

2.13.0

Feature

  • Added Rotated Object Detection project type, allowing the use of saigerod model files. This feature detects objects in rotated rectangles.

2.12.4

Feature

  • Network Type Extended is added to the Object Detection feature.

2.12.3

Improvements

  • Added project-specific examples to the user documentation: OCR, Image Enhancement, Batch Inspection, Multi-threading.

Bug Fix

  • Fixed an issue where some model files could not retrieve the stored InspectionSizeWidth and Height values.

2.12.2

Bug Fix

2.12.1

Bug Fix

  • Fixed memory error in ExampleClsMultipage.cpp example.
  • Resolved image path issue in ExampleSaigeUtils.cpp example.

2.12.0

Feature

2.11.2

API Addition

2.11.1

Improvements

  • Added a Project Type Examples menu to the user documentation, containing function-specific explanations and precautions for example code.
  • Added multilingual support (English, Chinese) to the user documentation.

Bug Fix

  • Fixed a memory leak issue in the SaigeSetInferenceOption function.
  • Corrected an error in the description of BoundingBox coordinate order in SaigeSegmentedObject, and fixed a bug where the 5th coordinate value was missing and always reported as 0.
  • Fixed an issue where the program would occasionally terminate when network problems occurred in environments using SAIGE VISION Enterprise's MLOps functionality.

2.11.0

Important Usage Changes

  • Starting from Runtime SDK version 2.11, it does not operate in environments installed with the existing SAIGE VISION installer versions below 2.3. An upgrade of the internal framework version for performance improvements has been implemented, so please use installer version 2.4 or higher to set up the environment.

Improvements

  • In the Object Detection feature, the 0th class is the system-reserved OK class. Therefore, the values of SaigeInferenceOption.objectAreaThresholdPerClass and SaigeInferenceOption.objectScoreThresholdPerClass options cannot be changed for the 0th class.
    • It has been improved to clearly display an error when attempting to change these option values and call the SaigeSetInferenceOption function in the Object Detection feature.
    • To ensure users are aware of the default values or usage of the SaigeInferenceOption structure, the pattern of receiving values from the handle via the SaigeGetInferenceOption function before passing the option structure to SaigeSetInferenceOption has been reflected in the example code.

2.10.1

API Additions

  • The SaigeSetResultMetadata API has been added to set metadata after inspection during data collection. For detailed usage, please refer to the Examples/ExampleClsRuntimeWithMetadata.cpp:277 example code.

Bug Fixes

  • Fixed an issue where the program would terminate due to a path error in the CLS + DET example.
  • Fixed an issue where the Python library was not linking on Linux.
  • Fixed an issue where API binding was not functioning when using C and other languages on Linux.

2.10.0

API Changes

  • The method of displaying network type information for OCR has been changed.
    • OCR consists of two networks: Detection and Recognition, and the type information of these two networks is now displayed separated by ,. This information is clearly distinguished by the strings DET and REC.
    • Previous: Industry, Accurate Short
    • Changed: DET(Industry), REC(Accurate Short)

API Additions

  • A new model information field for OCR functionality, targetTextShape, has been added.
  • The method of version display in header files has been improved. In addition to the previously provided string type macro SAIGEVISION_RUNTIME_VERSION, it is now also provided as numeric segments: SAIGEVISION_RUNTIME_VERSION_MAJOR, MINOR, PATCH.
    • This allows for the writing of preprocessor statements (#define, #if) according to the version of the SAIGEVISION RUNTIME SDK.

New Features

  • New types of trained model files for OCR are now available.
    • A new Recognition model type called Literal has been added. The existing Recognition model type is distinguished by the name Contextual.
    • You can read the targetTextShape information.
    • For more details, please refer to the SAIGE VISION Developer documentation.

Improvements

  • The ErrorMsg.exe program now supports positive error codes as input.
  • SaigeVisionDoctor.exe
    • Has been modified to check driver version without CUDA dependencies.
    • Works in environments installed with the Runtime installer.
    • Improved identification of Success/Fail in installation item tests and provides a summary.
  • The contents of the log provided through the SaigeVision\engine\log\svsdk.log file have been improved. If issues occur with the operation of the Runtime SDK, the logs now provide more information that can help identify the problem.
  • An example of multi-thread usage has been added to the Examples project.

Bug Fixes

  • Fixed an issue where handles were reloaded through changes in data collection options rather than model deployment when using model files deployed via the Enterprise Deploy feature while the handles were updated.
  • Fixed an issue in the OCR Example code where detected text boxes were not displayed when verbosity=4.

2.9.2

ROD functionality can now be used with licenses from other SAIGE VISION V2 features.

2.9.1

Bug Fix

  • Fixed an issue where inspection options were not displaying properly and setting functions had errors in the Rotated Object Detection feature.

2.9.0 (Temporary version outside regular products)

  • Added Rotated Object Detection functionality.
    • This feature detects rotated objects. Unlike Object Detection, it currently does not classify object classes.
    • Rotated object information follows the struct RotatedObject format as boundingBox in struct SaigeDetectedObject.
    • Inspection options support maxNumOfDetectedObject and objectScoreThreshold.
    • Util function SaigeCropWithRotatedBox returns an image cropped to its pre-rotation form using the original image and SaigeRotatedBox inspection result. Must be used in pair with [SaigeFreeCroppedImage][../SaigeVision/_saige_vision_util_8h/index.html#saigefreecroppedimage] function.
  • Support for V1 compatible header files is terminated.
  • As a temporary version, there are a few submarine patches unrelated to functionality.

2.8.0

  • Support for Linux (x86_64, aarch64) has been added.
  • Detailed inference results on Windows and Linux may differ on the same hardware.
  • The model information output script has been improved.
  • Error codes UNSUPPORTED_OPERATION, EXTERNAL_LIBRARY_ERROR, FAILED_TO_LOAD_GPU_INFO have been added.

2.7.13

  • The Image Enhancement inspection feature can now also use the legacy ISR-Server license.
  • The log format has been changed, and the configuration file has been changed to XML. For more details, please check the SaigeVision/engine/conf directory.

Bug Fix

  • Resolved an issue that caused abnormal termination of the SDK.
  • This occurred when using the inspection result monitoring feature linked with the SAIGE VISION Enterprise system, causing the Saige Vision Agent service on the inspection PC to terminate unexpectedly.
  • SaigeInferFromByteArrayWithProductId

2.7.12

  • Utility functions have been improved and usage methods added to the documentation.
  • Features for operations in SAIGE VISION Enterprise have been added.
  • SaigeSetHandleMetadata
  • SaigeSetInferenceMetadata
  • The Logger can now record the operation of the Runtime SDK, and the configuration file is located at SAIGE_HOME/SaigeVision/engine/conf/log.properties.
  • The license dongle is now checked upon handle creation, providing immediate notification of any licensing issues.

2.7.11

Bug Fix

  • Resolved an issue where the Text Formatting option number in OCR was not functioning properly.

2.7.10

  • A program to check the installed Runtime version, SAIGE_HOME/SaigeVision/engine/bin/get_versions.exe, is now distributed.

Important Usage Improvements

  • Both DLL files, SaigeVision.dll and SaigeVision_Impl.dll, are required in the execution environment.
    If SaigeVision.dll is not present in the execution path (DLL search path) but is explicitly called in the project (e.g., LoadLibrary() and GetProcAddress()), SaigeVision_Impl.dll may also not be in the DLL search path. In such cases, it will still be located from the SAIGE VISION installation path at SAIGE_HOME/SaigeVision/engine/bin.

API Behavior Changes

  • The SaigeStrError function can now be called independently to check messages related to error codes.
    (Previously, this was only possible after creating an inference handle.)
    See the example Examples/ExampleSaigeStrError.cpp for reference.
  • To facilitate this functionality, SAIGE_HOME/SaigeVision/engine/bin/ErrorMsg.exe has been distributed.

2.7.9

API Additions

2.7.8

Bug Fix

  • Fixed a bug where the calcScoremap option in the Anomaly Detection feature was affecting other inference results.
  • Resolved an issue where handle destruction was taking too long.

2.7.7

Bug Fix

  • Fixed a bug where the center coordinates of the bounding box were not displayed in the Object Detection feature.

2.7.6

Important Usage Changes

  • The default inference options in the runtime environment have been changed so that they are not saved in the model file when loaded for the first time, regardless of the user's intent. The following items are affected. (Values in parentheses are defaults)

    • (Common) calcTime(false), batchSize(1)
    • (CLS) calcClassActivationMap(false)
    • (DET) Not applicable
    • (SEG) calcScoremap(false), calcMask(false), calcObject(true), calcObjectAreaAndApplyThreshold(true), calcObjectScoreAndApplyThreshold(true)
    • (IAD) calcScoremap(false), calcMask(false), calcHeatmap(false), calcObject(true), calcObjectAreaAndApplyThreshold(true), calcObjectScoreAndApplyThreshold(true)
    • (OCR) oversizedImageHandling("do_not_inspect"), maxNumOfTextObjects(0)
    • (IEN) oversizedImageHandling("do_not_enhance")
  • Model files trained with SAIGE VISION Developer version 2.0.6 or higher are not compatible with previous versions. Therefore, the runtime environment %SAIGE_HOME%\SaigeVision\module also requires SAIGE VISION Developer 2.0.6 or higher. (This is independent of the C++ runtime version.)

API Changes

  • The SaigeModelInfo items have been added.
    • targetTextSize
    • targetImageQuality

2.7.5

Bug Fix

  • Fixed a bug where some model files could not be loaded.

2.7.4

Bug Fix

  • Fixed issues to ensure proper operation even without modules for unused features.

2.7.3

  • Modified the logic for loading internal modules to reduce errors.
  • Added the API SaigeGetInferenceResultProductId to retrieve the Product Id specified or created for the inspection result handle.
  • Added the API SR_ApplyADTestFrom8bitCharColorArrayWithProductId to specify the Product Id for monitoring MLOps in V1 compatible APIs.

2.7.2

  • Improved the stability of the license check method.

2.7.1

MLOps

  • Changed the logic for transmitting sample images of handles, reducing cases where sample images were not visible when retrieving handles from the Operations > Settings screen.
  • Modified MLOps logs to exclude image data.

API Changes

  • The recorded information during training has been added to the contents of SaigeModelInfo as follows.
    • description
    • usedGpuName
    • numOfIterations
    • numOfTrainImages
    • numOfValidationImages
    • trainingTimeStarted
    • trainingTimeCompleted
    • trainingTimeElapsed

2.7.0

  • All features Cls, Det, Seg, IAD, OCR, IEN are now available, and MLOps functionality has been integrated.

Bug Fix

  • Resolved memory errors when using MLOps logs in Debug mode.
  • Fixed issues with inaccurate monitoring information for segmentation yield calculation.

2.6.1

Bug Fix

  • Fixed a problem where the registered Inspector ID could not be retrieved during execution.
  • Resolved an issue where the sample image of the Inference Handle was not displayed correctly on the MLOps screen.

2.6.0

  • MLOps functionality is now available. (OCR functionality is not supported)
    • Available only in the two inspection APIs: SaigeInferFromByteArray, SaigeInferFromByteArrayWithProductId.
    • Currently supports only 8-bit images.

2.5.3

  • The Image Enhancement feature is now available.

2.5.2

  • Support for the OCR feature has been suspended due to stability issues with optimization features.

2.5.1

  • Changes related to the upgrade of the OCR functionality have been applied. Previously trained models are no longer usable.
  • Resolved issues where score values and score threshold values in the OCR functionality were not processed as percentages.

2.5.0

  • The OCR functionality is now available.

2.4.7

  • More explicit type casting methods have been added in some example codes. (e.g., size_t -> int)

Important API Changes

  • The saige_error.h header file has been added. You can check the names of error codes that may appear as return values in the C++ SDK.
  • The parameter of SaigeGetInferenceResultInspectionTime, which receives inspection time, has been changed from long (int32) to long long (int64).
  • The enum variable names in SaigeImageType have been changed to avoid generic names.

2.4.6

  • The format of the result structure for the V1 compatible IAD feature, SR_SimpleSegmentedObject, has been updated to match the final deployed version of the V1 SDK.

2.4.5

V1 Compatible API (Experimental, see SaigeVisionAPI_V1.h)

  • V1 compatible APIs are provided for using the IAD feature of SaigeVision V2.
  • Separate APIs in V1 style are provided for using the IAD features of V2.

2.4.4

  • V1 compatible APIs for some features are provided.

2.4.3

  • The SaigeModelInfo.classIsNg item has been newly added. It indicates whether the NG class was set during training for each class.

2.4.2

  • Changes to inference options for Segmentation
    • The option for calculating masks, calcMask, is now included in the Segmentation inference options.
    • To enhance the performance of SegmentedObject operations, calcScoremap and calcMask can be set to false.
    • To prevent meaningless inference results, calcScoremap, calcMask, and calcObject cannot all be set to false.

2.4.1

  • The internal structure of the Object Detection feature has changed, making it difficult to use previously trained model files directly. Please use models trained with the new version.

Bug Fix

  • Resolved an issue where runtime errors occurred with optimized models in the Object Detection feature for some image data.
  • Fixed an issue where the calcScoremap inference option was not saved correctly.
  • Resolved name duplication issues by including existing function extensions (e.g., .saigecls) in the names of temporary files for inference optimization.
  • Changed to return appropriate error codes through exception handling when loading values saved in model files.
  • The behavior that classIndex: 0 must be reserved as the "OK" class related to model information and inference options in the Object Detection feature was not applied correctly. The following corrections were made:
    • Appropriate values are displayed in SaigeModelInfo.classNames and classColors. If there is no "OK" class, the model was learned from an incorrect Developer version.
    • Therefore, the classIndex value of detected SaigeDetectedObject is always greater than 1.
    • The 0th value corresponding to the "OK" class in SaigeInferenceOption.objectAreaThresholdPerClass, objectScoreThresholdPerClass, and maxNumOfDetectedObjects is fixed at the default value of 0 and cannot be manipulated in the Set Option API.

2.3.6

Bug Fix

  • Fixed an error that prevented reading model names containing Korean characters.

2.3.5

  • The structure of the deep learning network used in the IAD feature has changed.
    • Models trained with the previous version (IAD Module Version 2.0.x) are still supported for inference but do not support inference optimization.

2.3.4

Bug Fix

  • Fixed a bug that caused handle creation to fail for models trained in No ROI mode.

2.3.3

  • Inference optimization for the Object Detection feature is now supported.
    • The accurate type does not generate cache files (.saigeoptim) during GPU optimization.
    • The accurate type cannot perform inference on CPU, hence optimization cannot be applied.

2.3.2

Bug Fix

  • Fixed a bug where only the Top-Left coordinates were stored in the boundingBox.points of SaigeDetectedObject derived from Object Detection inference results.

2.3.1

  • Error message handling during handle creation has been made more specific. (e.g., when a file is missing in the path)

2.3.0

  • The Object Detection feature is now available.
  • The method of handle inference optimization has been changed and is now applied to all functions.
    • The SaigeOptimizeInferenceHandle API has been deleted.
    • The optimization decision is made through a flag when calling SaigeCreateInferenceHandle.
    • The optimization level option has been removed.
  • The macro names for the oversizedImageHandling options have been changed.
  • The names of variables, constants, and macros that previously existed for the Object Detection feature have been changed.

2.2.0

  • The Classification feature is now available.

2.1.2

  • In case the SaigeCreateInferenceHandle API fails, the handle variable will now be initialized to nullptr.

Bug Fix

  • Resolved a problem that could cause model file corruption when incorrectly using the Project Type (e.g., IAD handle - SEG model).

2.1.1

  • Unnecessary definitions in the API headers have been removed.
  • modelInfo.modelVersion has been removed.
  • Pytorch 2.0 has been implemented.
  • An API for receiving inference results with isOversized has been added.

2.1.0

  • The Segmentation feature is now available.

2.0.5

  • IAD Module update (2.0.3)
    • Uses memory more efficiently.
  • Comments in header files such as SaigeVisionAPI.h have been detailed.
  • An API to check the internal module version used by the SDK has been added.

Bug Fix

  • Resolved issues where the last loop of Batch Inference was not executed properly.

2.0.4

  • The IAD feature is now available.