Release Notes¶
2.12.0¶
Feature¶
- Added SaigeAlignment and Multipage inspection functionality.
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
SaigeSetInferenceOptionfunction. - 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
OKclass. Therefore, the values ofSaigeInferenceOption.objectAreaThresholdPerClassandSaigeInferenceOption.objectScoreThresholdPerClassoptions 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
SaigeSetInferenceOptionfunction in the Object Detection feature. - To ensure users are aware of the default values or usage of the
SaigeInferenceOptionstructure, the pattern of receiving values from the handle via theSaigeGetInferenceOptionfunction before passing the option structure toSaigeSetInferenceOptionhas been reflected in the example code.
- It has been improved to clearly display an error when attempting to change these option values and call the
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)
- OCR consists of two networks: Detection and Recognition, and the type information of these two networks is now displayed separated by
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.logfile 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.0 (Temporary version outside of regular products)¶
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()andGetProcAddress()), 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 exampleExamples/ExampleSaigeStrError.cppfor reference. - To facilitate this functionality,
SAIGE_HOME/SaigeVision/engine/bin/ErrorMsg.exehas been distributed.
2.7.9¶
API Additions¶
- Three new pieces of information about the trained model in the (DET) Object Detection feature have been added as follows.
SaigeModelInfo.inputDataProcessingModeSaigeModelInfo.cropNumOfRowsSaigeModelInfo.cropNumOfCols
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")
- (Common)
-
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\modulealso 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.
targetTextSizetargetImageQuality
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
SaigeGetInferenceResultProductIdto retrieve the Product Id specified or created for the inspection result handle. - Added the API
SR_ApplyADTestFrom8bitCharColorArrayWithProductIdto 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
SaigeModelInfoas follows.descriptionusedGpuNamenumOfIterationsnumOfTrainImagesnumOfValidationImagestrainingTimeStartedtrainingTimeCompletedtrainingTimeElapsed
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) tolong 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.classIsNgitem 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,
calcScoremapandcalcMaskcan be set tofalse. - To prevent meaningless inference results,
calcScoremap,calcMask, andcalcObjectcannot all be set tofalse.
- The option for calculating masks,
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
calcScoremapinference 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: 0must 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.classNamesandclassColors. If there is no "OK" class, the model was learned from an incorrect Developer version. - Therefore, the
classIndexvalue of detectedSaigeDetectedObjectis always greater than 1. - The 0th value corresponding to the "OK" class in
SaigeInferenceOption.objectAreaThresholdPerClass,objectScoreThresholdPerClass, andmaxNumOfDetectedObjectsis fixed at the default value of 0 and cannot be manipulated in the Set Option API.
- Appropriate values are displayed in
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.
- The accurate type does not generate cache files (
2.3.2¶
Bug Fix¶
- Fixed a bug where only the Top-Left coordinates were stored in the
boundingBox.pointsofSaigeDetectedObjectderived 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
SaigeOptimizeInferenceHandleAPI has been deleted. - The optimization decision is made through a flag when calling
SaigeCreateInferenceHandle. - The optimization
leveloption has been removed.
- The
- The macro names for the
oversizedImageHandlingoptions 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
SaigeCreateInferenceHandleAPI fails, thehandle variablewill now be initialized tonullptr.
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.modelVersionhas been removed.- Pytorch 2.0 has been implemented.
- An API for receiving inference results with
isOversizedhas 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.