版本说明¶
2.12.0¶
功能¶
- 新增了SaigeAlignment和多页面检查功能。
2.11.1¶
改进¶
- 在用户文档中添加了 项目类型示例 菜单,包含特定功能的示例代码说明和注意事项。
- 为用户文档添加了多语言支持(英语、中文)。
Bug 修复¶
- 修复了
SaigeSetInferenceOption函数中的内存泄漏问题。 - 更正了
SaigeSegmentedObject中关于 BoundingBox 坐标顺序的描述错误,并修复了第 5 个坐标值缺失且始终报告为 0 的问题。 - 修复了在使用 SAIGE VISION Enterprise 的 MLOps 功能的环境中出现网络问题时程序偶尔终止的问题。
2.11.0¶
重要使用变化¶
- 从运行时 SDK 版本 2.11 开始,它不再适用于使用现有 SAIGE VISION 安装程序版本 2.3 及以下安装的环境。已实施内部框架版本的升级以提高性能,因此请使用 2.4 版本或更高版本的安装程序来设置环境。
改进¶
- 在目标检测功能中,第 0 类是系统保留的
OK类。因此,SaigeInferenceOption.objectAreaThresholdPerClass和SaigeInferenceOption.objectScoreThresholdPerClass选项的值不能更改为 0 类。- 改进了在尝试更改这些选项值并调用目标检测功能中的
SaigeSetInferenceOption函数时清晰地显示错误的功能。 - 为确保用户了解
SaigeInferenceOption结构的默认值或使用方法,示例代码中反映了通过SaigeGetInferenceOption函数从句柄接收值的模式,然后将选项结构传递给SaigeSetInferenceOption。
- 改进了在尝试更改这些选项值并调用目标检测功能中的
2.10.1¶
API 新增¶
- 添加了 SaigeSetResultMetadata API,以在数据收集过程中检查后设置元数据。有关详细用法,请参阅 Examples/ExampleClsRuntimeWithMetadata.cpp:277 示例代码。
Bug 修复¶
- 修复了由于 CLS + DET 示例中的路径错误而导致程序终止的问题。
- 修复了在 Linux 上未能链接 Python 库的问题。
- 修复了在 Linux 上使用 C 和其他语言时 API 绑定无法正常工作的情况。
2.10.0¶
API 更改¶
- OCR 的网络类型信息显示方式已更改。
- OCR 由检测和识别两个网络组成,这两个网络的类型信息现在用
,分隔显示。该信息通过字符串 DET 和 REC 明确区分。 - 之前:
Industry, Accurate Short - 更改:
DET(Industry), REC(Accurate Short)
- OCR 由检测和识别两个网络组成,这两个网络的类型信息现在用
API 新增¶
- 为 OCR 功能添加了新的模型信息字段
targetTextShape。 - 改进了头文件中的版本显示方法。除了以前提供的字符串类型宏 SAIGEVISION_RUNTIME_VERSION 外,现在还以数字段的形式提供:
SAIGEVISION_RUNTIME_VERSION_MAJOR、MINOR、PATCH。- 这使得可以根据 SAIGEVISION RUNTIME SDK 的版本编写预处理语句 (#define, #if)。
新功能¶
- 现在可以使用用于 OCR 的新类型训练模型文件。
- 新的识别模型类型 Literal 已添加。现有的识别模型类型被命名为 Contextual。
- 您可以读取 targetTextShape 信息。
- 有关更多详细信息,请参阅 SAIGE VISION 开发者文档。
改进¶
- ErrorMsg.exe 程序现在支持正错误代码作为输入。
- SaigeVisionDoctor.exe
- 已修改为检查驱动程序版本,而无需 CUDA 依赖项。
- 在通过运行时安装程序安装的环境中工作。
- 改进了安装项目测试中的成功/失败识别,并提供摘要。
- 通过
SaigeVision\engine\log\svsdk.log文件提供的日志内容已改进。如果运行时 SDK 的操作出现问题,日志现在提供更多信息,有助于识别问题。 - 示例项目中添加了多线程使用的示例。
Bug 修复¶
- 修复了在更新句柄时通过数据收集选项的更改而不是模型部署来重新加载句柄的问题。
- 修复了 OCR 示例代码中的问题,当 verbosity=4 时,检测到的文本框未显示。
2.9.2¶
- ROD 功能现可通过其他 SAIGE VISION V2 功能的许可证使用。
2.9.1¶
Bug 修复¶
- 修复了旋转对象检测功能中检查选项显示不正常且设置函数出错的问题。
2.9.0 (常规产品外的临时版本)¶
- 添加了旋转对象检测功能。
- 此功能可检测旋转的对象。与对象检测不同,目前不对对象类别进行分类。
- 旋转对象信息遵循 struct SaigeDetectedObject 中 boundingBox 的 struct RotatedObject 格式。
- 检查选项支持 maxNumOfDetectedObject 和 objectScoreThreshold。
- 工具函数 SaigeCropWithRotatedBox 使用原始图像和 SaigeRotatedBox 检查结果返回裁剪至旋转前形态的图像。必须与 [SaigeFreeCroppedImage] 函数配对使用。
- 终止支持 V1 兼容头文件。
- 作为临时版本,包含一些与功能无关的潜在补丁。
2.8.0¶
- 增加了对 Linux (x86_64, aarch64) 的支持。
- Windows 和 Linux 上的详细推理结果可能在相同硬件上有所不同。
- 模型信息输出脚本已改进。
- 新增错误代码 UNSUPPORTED_OPERATION、EXTERNAL_LIBRARY_ERROR、FAILED_TO_LOAD_GPU_INFO。
2.7.13¶
- 图像增强检查功能现在也可以使用遗留的 ISR-Server 许可证。
- 日志格式已更改,配置文件已更改为 XML。有关更多详细信息,请检查 SaigeVision/engine/conf 目录。
Bug 修复¶
- 解决了导致 SDK 异常终止的问题。
- 该问题发生在使用与 SAIGE VISION Enterprise 系统链接的检查结果监控功能时,导致检查 PC 上的 Saige Vision Agent 服务意外终止。
- SaigeInferFromByteArrayWithProductId
2.7.12¶
- 实用函数已改进,并在文档中添加了使用方法。
- 添加了 SAIGE VISION Enterprise 的操作功能。
- SaigeSetHandleMetadata
- SaigeSetInferenceMetadata
- 日志记录器现在可以记录运行时 SDK 的操作,配置文件位于
SAIGE_HOME/SaigeVision/engine/conf/log.properties。 - 在创建句柄时现在会检查许可证加密狗,并及时通知任何许可问题。
2.7.11¶
Bug 修复¶
- 解决了 OCR 中文本格式选项数字未正常工作的的问题。
2.7.10¶
- 现在分发一个程序来检查已安装的运行时版本,
SAIGE_HOME/SaigeVision/engine/bin/get_versions.exe。
重要使用改进¶
- 在执行环境中需要两个 DLL 文件,SaigeVision.dll 和 SaigeVision_Impl.dll。
如果 SaigeVision.dll 不在执行路径中(DLL 搜索路径),但在项目中显式调用(例如LoadLibrary()和GetProcAddress()),则 SaigeVision_Impl.dll 也可能不在 DLL 搜索路径中。在这种情况下,它仍将从 SAIGE VISION 安装路径 SAIGE_HOME/SaigeVision/engine/bin 中找到。
API 行为变化¶
- 现在可以单独调用 SaigeStrError 函数以检查与错误代码相关的消息。
(以前,这只有在创建推理句柄后才能执行。)
请参见示例Examples/ExampleSaigeStrError.cpp以供参考。 - 为了方便此功能,已分发
SAIGE_HOME/SaigeVision/engine/bin/ErrorMsg.exe。
2.7.9¶
API 新增¶
- 在 (DET) 目标检测功能中,新增了关于训练模型的三条信息如下:
SaigeModelInfo.inputDataProcessingModeSaigeModelInfo.cropNumOfRowsSaigeModelInfo.cropNumOfCols
2.7.8¶
Bug 修复¶
- 修复了异常检测功能中的 calcScoremap 选项影响其他推理结果的问题。
- 解决了句柄销毁时间过长的问题。
2.7.7¶
Bug 修复¶
- 修复了目标检测功能中未显示边界框中心坐标的问题。
2.7.6¶
重要使用变化¶
-
运行时环境中的默认推理选项已更改,以便在首次加载模型文件时不会根据用户意图保存到模型文件中。以下项目受到影响。(括号内为默认值)
- (通用)
calcTime(false),batchSize(1) - (CLS)
calcClassActivationMap(false) - (DET) 不适用
- (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")
- (通用)
-
使用 SAIGE VISION Developer 版本 2.0.6 或更高版本训练的模型文件与以前的版本不兼容。因此,运行时环境
%SAIGE_HOME%\SaigeVision\module也要求 SAIGE VISION Developer 2.0.6 或更高版本。(这与 C++ 运行时版本无关。)
API 更改¶
- 添加了 SaigeModelInfo 项目。
targetTextSizetargetImageQuality
2.7.5¶
Bug 修复¶
- 修复了某些模型文件无法加载的问题。
2.7.4¶
Bug 修复¶
- 修复了即使没有未使用功能的模块也能正常运行的问题。
2.7.3¶
- 修改了加载内部模块的逻辑,以减少错误。
- 添加了 API
SaigeGetInferenceResultProductId,以检索指定或创建的检查结果句柄的产品 ID。 - 添加了 API
SR_ApplyADTestFrom8bitCharColorArrayWithProductId,以在 V1 兼容 API 中指定监控 MLOps 的产品 ID。
2.7.2¶
- 改进了许可证检查方法的稳定性。
2.7.1¶
MLOps¶
- 更改了传输句柄的示例图像的逻辑,减少了在从操作 > 设置屏幕检索句柄时未显示示例图像的情况。
- 修改了 MLOps 日志,以排除图像数据。
API 更改¶
- 训练期间记录的信息已添加到
SaigeModelInfo的内容中,如下所示。descriptionusedGpuNamenumOfIterationsnumOfTrainImagesnumOfValidationImagestrainingTimeStartedtrainingTimeCompletedtrainingTimeElapsed
2.7.0¶
- 所有功能 Cls、Det、Seg、IAD、OCR、IEN 现在均可用,并已集成 MLOps 功能。
Bug 修复¶
- 解决了在调试模式下使用 MLOps 日志时的内存错误。
- 修复了分割产量计算监控信息不准确的问题。
2.6.1¶
Bug 修复¶
- 修复了执行期间无法正确检索注册的检查器 ID 的问题。
- 解决了推理句柄的示例图像在 MLOps 屏幕上未正确显示的问题。
2.6.0¶
- MLOps 功能现已可用。(不支持 OCR 功能)
- 仅在两个检查 API 中可用:SaigeInferFromByteArray、SaigeInferFromByteArrayWithProductId。
- 目前仅支持 8 位图像。
2.5.3¶
- 图像增强功能现已可用。
2.5.2¶
- 由于优化功能的稳定性问题,已暂停对 OCR 功能的支持。
2.5.1¶
- 与 OCR 功能升级相关的更改已应用。以前训练的模型不再可用。
- 修复了 OCR 功能中分数值和阈值未按百分比处理的问题。
2.5.0¶
- OCR 功能现已可用。
2.4.7¶
- 在一些示例代码中,添加了更明确的类型转换方法。(例如,
size_t->int)
重要 API 更改¶
- 添加了 saige_error.h 头文件。您可以检查可能作为 C++ SDK 返回值出现的错误代码的名称。
- 接收检查时间的 SaigeGetInferenceResultInspectionTime 的参数已从
long(int32) 更改为long long(int64)。 - SaigeImageType 中的枚举变量名称已更改,以避免通用名称。
2.4.6¶
- 与 V1 兼容的 IAD 功能结果结构
SR_SimpleSegmentedObject的格式已更新,以匹配最终发布的 V1 SDK 版本。
2.4.5¶
V1 兼容 API(试验性,请参阅 SaigeVisionAPI_V1.h)¶
- 提供了用于使用 SaigeVision V2 的 IAD 功能的 V1 兼容 API。
- 提供了用于使用 V2 的 IAD 功能的 V1 风格的单独 API。
2.4.4¶
- 提供了一些功能的 V1 兼容 API。
2.4.3¶
- 新增了
SaigeModelInfo.classIsNg项。它表示在训练期间是否为每个类别设置了 NG 类。
2.4.2¶
- 分割的推理选项更改
- 计算掩码的选项
calcMask现在包含在分割推理选项中。 - 为提高分割对象操作的性能,可以将
calcScoremap和calcMask设置为false。 - 为防止无意义的推理结果,不能同时将
calcScoremap、calcMask和calcObject全部设置为false。
- 计算掩码的选项
2.4.1¶
- 目标检测功能的内部结构已更改,直接使用以前训练的模型文件变得困难。请使用新版本训练的模型。
Bug 修复¶
- 解决了在某些图像数据上发生运行时错误的问题,该错误与目标检测功能中的优化模型相关。
- 修复了
calcScoremap推理选项未正确保存的问题。 - 通过在推理优化的临时文件名称中包含现有功能扩展名(例如 .saigecls)解决了名称重复问题。
- 在加载保存于模型文件中的值时,通过异常处理返回适当的错误代码。
- 与目标检测功能中的模型信息和推理选项相关的
classIndex: 0必须保留为 "OK" 类 的行为未正确应用。进行了以下修正:- 在
SaigeModelInfo.classNames和classColors中显示适当的值。如果没有 "OK" 类,则该模型是从不正确的开发者版本中学习的。 - 因此,检测到的
SaigeDetectedObject的classIndex值始终大于 1。 SaigeInferenceOption.objectAreaThresholdPerClass、objectScoreThresholdPerClass和maxNumOfDetectedObjects中对应 "OK" 类的第 0 值固定为默认值 0,无法在设置选项 API 中操作。
- 在
2.3.6¶
Bug 修复¶
- 修复了无法读取类名中包含韩文的模型的错误。
2.3.5¶
- IAD 功能中使用的深度学习网络结构已更改。
- 仍然支持使用旧版本(IAD 模块版本 2.0.x)训练的模型进行推理,但不支持推理优化。
2.3.4¶
Bug 修复¶
- 修复了在 No ROI 模式下训练的模型的句柄创建失败的错误。
2.3.3¶
- 目标检测功能的推理优化现已支持。
- 在 GPU 优化期间,准确类型不生成缓存文件(
.saigeoptim)。 - 准确类型无法在 CPU 上执行推理,因此无法应用优化。
- 在 GPU 优化期间,准确类型不生成缓存文件(
2.3.2¶
Bug 修复¶
- 修复了从目标检测推理结果中派生的
SaigeDetectedObject的boundingBox.points仅存储左上坐标的错误。
2.3.1¶
- 在句柄创建期间,错误消息处理已更具体。(例如,当路径中缺少文件时)
2.3.0¶
- 目标检测功能现在可用。
- 句柄推理优化的方法已更改,并已应用于所有功能。
SaigeOptimizeInferenceHandleAPI 已删除。- 在调用
SaigeCreateInferenceHandle时,通过标志决定是否进行优化。 - 优化
level选项已删除。
oversizedImageHandling选项的宏名称已更改。- 与先前的目标检测功能相关的变量、常量和宏的名称已更改。
2.2.0¶
- 分类功能现在可用。
2.1.2¶
- 如果
SaigeCreateInferenceHandleAPI 失败,handle variable现在将初始化为nullptr。
Bug 修复¶
- 解决了在错误使用项目类型(例如 IAD 句柄 - SEG 模型)时可能导致模型文件损坏的问题。
2.1.1¶
- 已删除 API 头文件中的不必要定义。
- 已删除
modelInfo.modelVersion。 - 已实现 Pytorch 2.0。
- 新增 API 用于接收
isOversized的推理结果。
2.1.0¶
- 分割功能现在可用。
2.0.5¶
- IAD 模块更新(
2.0.3)- 更有效地使用内存。
- SaigeVisionAPI.h 等头文件中的注释已详细更改。
- 新增用于检查 SDK 使用的内部模块版本的 API。
Bug 修复¶
- 解决了批量推理的最后循环未正常执行的问题。
2.0.4¶
- IAD 功能现已可用。