Changelog#

v0.3.8-alpha (2023-06-20)#

Feat#

  • 更新使用模型进行推理的文档

  • 修复RawImageInfo相关接口问题,提供直接将图片添加到Sample中的简化接口。优化InputHelper实现。

Fix#

  • Unsuper: 修复非监督分割由于调整后处理参数而导致的结果错位问题

  • Segmentation: 修复当NG类超过一类时, 分割增量训练的数据集检查不通过, 导致无法训练的问题

v0.3.7-alpha (2023-06-20)#

Fix#

  • SampleRecommend: 修复SegmentSampleRecommend注册错误问题

  • Location: 修改错误代码

  • 更新中文翻译

v0.3.5-alpha (2023-06-19)#

Feat#

  • Project: 实现仅提供工具即可快速完成简单情况下的工具连接的功能

Fix#

  • AssemblyVerfication,Location: 取消学习率和lr_decay_rate的改动,取消减均值操作

  • 修正部分翻译问题,发布0.3.5版本

  • 修复硬件信息接口未编译到动态库中的问题

  • 修复分割样本推荐实现类未注册导致外部调用无结果问题

  • 修复参数中选项名称未翻译的问题

  • Detection: 修改加载的预训练模型版本,解决个别数据表现较差的问题。

  • UnsuperClassification: 非监督分类结果为OK时修改为不返回任何检测区域。

v0.3.3-alpha (2023-06-19)#

Feat#

  • Segmentation: 支持待标注样本集推荐功能

  • 重构全局配置管理,支持多语言切换,支持默认自动使用与操作系统相同的语言。

Fix#

  • 修复导入labelMe格式标注(正方形和多边形标注)出现面积负值和面积错误情况

  • Location,AssemblyVerification: 修复一些问题

  • 修复打开共享文件夹下的工程时抛异常的问题(GCC升级到v11,RocksDB升级到v8.1.1)

  • ocr: 修复预训练模型、额外数据包路径含中文时无法正确读取的问题; 更改OCR节点模板参数最大距离的默认值

  • 修复加载图像过程中其他库的异常逃逸导致数据库错误的问题

  • detection: 修复多通道图像训练推理bug,降低log打印等级

  • ocr: 调整日志输出等级。

  • 修复分类训练集推荐节点输入错误的问题。

Perf#

  • 优化分割、非监督分割推理速度

v0.3.2-alpha (2023-06-16)#

Feat#

  • compatible: 修正读取AIDI-2.4的定位标注的角度值方向定义

Fix#

  • 发布0.3.2版本,修复推理崩溃的紧急BUG。

  • Runtime: 修复Runtime因为虚拟算子OneOf导致的bug

Perf#

  • image_mean_conf: 优化均值计算为计算训练集View,优化训练准备速度。

v0.3.1-alpha (2023-06-16)#

Feat#

  • IOU: 区域匹配计算方式: COIU -> IOU, 阈值: 0.68 -> 0.33

  • RawImageInfo中添加保存和获取图像的通道数,位深等信息的功能。

  • 支持在bazel项目中直接引用发布包,详情查看文档Installing。

  • 提供获取显卡信息的接口

  • 添加图像扭曲相关及像素级增广实现

  • 添加图像像素增广方法实现,调整像素增广参数.

  • Project: 添加删除用户自定义数据的功能,修复复制工具时未同步复制绑定的用户自定义数据的问题。

Fix#

  • Runtime: 修复Runtime中Operator重复执行导致结果重复的问题。

  • 修复部分visionflow.dll创建软链接以后依赖的运行时文件路径解析错误的问题

  • 修复一些内存泄漏问题

  • InputHelper: 保证导入图像的ID按照给定路径的顺序排列

  • compatible: 修正2.4aqlabel对于Location角度不统一的问题

  • 规范文件系统错误信息日志输出。

  • Unsuper: 修复安装路径有中文时非监督无法训练的问题

  • ViewTagger: 提高ViewTagger的IOU阈值

  • Segmentation: 修复训练集全为OK图时崩溃的问题

  • 修复保存的用户数据未落盘的问题

  • 从训练数据增广参数中移除数据增强参数

  • 修复一些拼写错误,解决CI中API测试报告未上传的问题

  • AveragePrecision: 补充 ‘precision’ 和 ‘recall’ 的序列化与反序列化,修复精确率和召回率错误的问题。

  • 禁止使用打开与VisionFlow版本不匹配的工程。

  • 调整几何增广参数的默认值

Refactor#

  • Classification: 删除无用的lr_decay参数

  • ocr: 迁移OCR模板匹配功能至主工程

  • 修复部分文件中输出日志不正常的问题

v0.3.0-alpha (2023-06-11)#

Feat#

  • 实现类别均衡的训练推荐功能,目前支持分类工具

  • 发布0.3.0版本

  • AssembyVerification: 布局模板添加角度过滤功能

  • 完成综合判定工具判定脚本支持

  • AssemblyVerification: 新增预测角度和宽高功能

  • geometry: 几何库添加ISurface抽象类。

  • project: 增加存储用户自定义内容的功能。

Fix#

  • helper: 修复导入LabelMe和LabelImg头文件错误的问题,并将相关实现移动到helper目录下

  • AssemblyVerificdation,Location: 修复混合图模式下训练崩溃bug

  • Detection: 修复BatchSize大于1时,推理崩溃的问题。

  • Segmentation: 对齐2.4的分割检均值操作,并修复了自适应参数时错误的地方

  • ViewTransformer: 修复手动掩码坐标错误的问题;纠正拼写ViewTransFormParameter -> ViewTransformParameter。

  • ocr: 修复ocr模块当图像通道数与均值不对应时无法训练的问题

  • Classification: 限制训练迭代次数上限最大为20000次。

Refactor#

  • RuntimeStrategy: 将所有Strategy改为结构体,简化接口调用方式。

Perf#

  • test_api: 减少测试时间

  • 优化训练节点的实现

v0.2.25-alpha (2023-06-06)#

Fix#

  • 修复外部标注导入相关接口未导出的问题,增加导出库测试。

v0.2.24-alpha (2023-06-05)#

Feat#

  • 支持LabelMe/LabelImage格式标注转换。

  • detection: 检测工具添加PolygonsFilter区域过滤节点

  • InputHelper: 优化InputHelper接口; 1. 支持在批量导入图像时设置样本Tag; 2. 导入失败时返回的错误信息统一为json格式; 3. 图像重复时返回的错误信息中包含重复的样本ID; 4. 重命名参数:is_auto_deduplication -> auto_deduplication;

  • param-generator: 支持不同的参数组中为同一参数类型指定不同的默认值

  • param-generator: 优化枚举型参数文本显示,支持限定枚举型参数的选择范围

Fix#

  • 修复取随机值范围为0或为负值导致的崩溃问题

  • Unsuper: 修复原图为灰度图,设置通道为kRGB时无法训练的问题

  • Location,AssemblyVerificaiton: 修改抛出异常类型为visionflow默认类型

  • Location,AssemblyVerification: 修复节点模板bug

  • Segmentation: 模型自检阶段,加入比对分割情况下输入数据合法性(visual_size==2)的检查

  • AssemblyVerification: 修复局模板参数类型为整型导致无法表示比例值的问题。

  • 修复范围型参数左右端点值相等时崩溃的问题

  • Location, AssemblyVerification: 将定位模块、装配确认模块的角度范围与软件适配;修复装配检查混合图工程训练启动失败的问题。

  • 修复发布库中引用了不存在的头文件的错误

Refactor#

  • OCR: 重构OCR实现,支持训练的dry-run机制(通过only_check参数控制),以及修复一些BUG。

v0.2.23-alpha (2023-05-26)#

Feat#

  • RuntimeBuilder: 支持RuntimeBuilder构建多输入的runtime,支持构建包含综合判定工具的Runtime。

  • Project: 断开工具连接时支持同时指定连接工具和被连接工具,简化具有不定项输入的端口的连接和断连操作。并明确connect/disconnect接口定义,重构部分实现。

  • InputHelper支持通过参数自定义并行线程的数量。

  • helper: 增加InputHelper工具,仅需提供图片路径即可快速导入图片。

  • SampleSet: 修复SampleSet/PropertySet begin/find/end 函数会抛出异常的问题

Fix#

  • 修复部分注释及拼写错误

  • Segmentation, UnsuperSegmentation: 修复分割结果角度计算过程错误的问题,优化计算角度和分值的速度。

  • Segmentation: 修复分割增量无法进行的问题。

  • RuntimeBuilder: 修复inactive数据节点未被正确排除的错误。

  • geometry: 修复segment_sampling精度问题导致几何图形中存在与坐标轴平行的线段时会崩溃的问题。

  • UnsuperSegmentation: 修复最小缺陷大小相关的推理参数设置后不起作用的问题。

Refactor#

  • Unsuper: 非监督分割和非监督分类中的VFLOW:OK和VFLOW:NG改为OK和NG。

  • 重构流程图结构表达形式,修改图连接关系及处理逻辑

v0.2.22-alpha (2023-05-22)#

Feat#

  • FastDetection: 增加多分类功能,修改检测接口参数

Fix#

  • 发布0.2.22版本, 修复紧急bug

  • RuntimeBuilder: 修复Runtime包含虚拟算子是Oneof的情况时,入度计算出错的问题.

v0.2.21-alpha (2023-05-21)#

BREAKING CHANGE#

  • 非监督分割和非监督分类取消类别参数,默认使用类别名VFLOW:OKVFLOW:NG

Feat#

  • Segmentation: 改进获取区域分数的方式。

  • Location,AssemblyVerification: 针对少样本场景进行参数自动设置

  • 添加ConfigureRuntimeProjectFilterAdapter, 支持使用过滤后的数据集执行Configurator, 执行结果默认不会自动保存到工程中。

  • Classification,Segmentation: 实现分类增量训练功能;修复分割增量trainer中不正确的异常类型。

  • 支持设置工程的缩略图大小, 默认最大边长为512; 工程样例图尺寸调整为512.

  • RuntimeBuilder: 在创建Runtime之前的自动更新时阶段,使用cost评价OneOf路径的执行代价,选择代价最小的路径

  • 实现AP与mAP指标统计

Fix#

  • geometry: 修正Line对于平行坐标轴判断不正确的问题

  • geometry: 修正segment_sampling对于临界值的判断,使其能够正确处理平行轴直线的情况

  • Location,AssemblyVerification: 修复检测结果中polygon的点的顺序不符合定义导致部分错误的问题

  • location: 修复装配确认及定位bug;优化定位模板匹配参数名。

Refactor#

  • Unsuper: 非监督统一将OK和NG分别定义为VLOW:OK和VFLOW:NG,软件取热力图时需要进行适配。

  • Classification: 重构分类模块的训练流程

v0.2.20-alpha (2023-05-15)#

Feat#

  • Segmentation: 支持增量训练; 支持通过训练参数check_only控制训练器执行于dry-run模式,用于检查数据及参数与训练模式是否匹配.

  • 支持拥有不定项输入的工具的注册,支持添加综合判定工具(Integration), (暂不支持执行)

  • ocr: OCR工具支持节点模板按比例模式匹配

  • RuntimeBuilder: 添加对禁用的数据节点的支持,节点被禁用后创建Runtime时不再创建相应的节点.

  • RuntimeBuilder: 创建Runtime时,将config可以自动推理分为 依赖property和不依赖property两种情况,并提供RuntimeStrategyOptions选项进行设置

  • 更新项目Logo

  • props: RawImage增加保存图片指纹的字段

Fix#

  • param: 修复待标注样本集推荐参数内函数命名拼写错误

  • ocr: 修复OCR推理和模板匹配结果角度为0的问题

  • location: 节点模板按比例匹配的bug修复

Refactor#

  • RuntimeBuilder: 修改RuntimeStrategy接口, 隐藏runtime命名空间下不必要暴露的类和函数, 提高接口易用性.

  • UnsuperClassification: 非监督分类移出子模块,同时在visionflow/mods中进行注册(预测结果中Ok视图的name从空字符串改为VFLOW:OK,ng视图的name从NG改为VFLOW:NG).

v0.2.19-alpha (2023-05-08)#

Feat#

  • 发布项目预更名版本,项目名称由AIDI-SDK更改为VisionFlow, 代码中涉及的相关名称也一并修改.

  • Property: RawImageInfo增加缩略图属性.

  • OCR: 添加OCR增量训练功能.

  • 自动生成的参数支持指定特定特定的cpp数据类型, TrainingLog中时间相关类型修改为int64_t

  • 优化Timer工具类的使用流程及输出格式

  • 修改项目名称,具体名称映射表请见dev-docs/rename-map.md

  • Project: 添加activate/deactivate接口, 支持将工具的输出节点禁用.

  • OCR: 添加OCR通用识别模型

Fix#

  • RuntimeStrategy: 修复AllTools未注册导致无法使用的问题.

  • classification: 修复cls模块和visionflow命名空间冲突的问题

Refactor#

  • segmentation: 添加训练模式参数,重构训练流程结构

v0.2.18-alpha (2023-04-28)#

BREAKING CHANGE#

  • ProjectDescriptor 中时间相关信息类型修改未int64表示的时间戳.

Feat#

  • Project: 关闭工程时自动为工程添加样例图, 并添加通过ProjectDescriptor获取工程样例图的接口实现.

Fix#

  • 紧急修复BackupDescriptor符号未导出的问题及接口拼写错误.

v0.2.17-alpha (2023-04-27)#

Feat#

  • Project: 支持自动防止不同进程同时打开同一工程.

  • Project: 添加获取备份版本的时间的接口

  • 添加用于待标注样本集推荐的参数

  • Classification: 调整分类训练推理参数,与AIDI-2.4.3对齐

  • Runtime: Runtime添加AllTools策略支持全图推理。

  • 优化 ReadOnlyPropertySetView::exist_property_data 的实现效率

Fix#

  • AssemblyVerification: 修复在且混彩色和灰色图训练模式时训练失败的问题.

  • 发布临时修复版,修正Aqlabel未导出的问题;替换filesystem为string以支持c++11

  • 修复Location模板匹配角度错误的问题; 修复装配确认结果为空的问题。

v0.2.16-alpha (2023-04-24)#

BREAKING CHANGE#

  • 样本相关的接口参数及返回值发生修改,具体使用方法请查看LazySample接口说明。

Feat#

  • OCR: 支持圆环字符串识别;同时,几何库和图像库添加圆环形数据极坐标展开方法实现.

  • Segmentation: 增加自适应参数,并将分割模块参数调整至与aidi2.4.3一致。

  • compatible: 支持读取Aqlabel文件并转化为新的标注属性格式。此功能仅为兼容性功能.

  • PropertySet: 支持对属性集使用不同的过滤条件多次过滤

Refactor#

  • ToolInfo: ToolInfo支持工具间的MultiPort连接类型

  • Sample: 提供LazySample实现,通过懒加载机制优化样本读写效率

v0.2.15-alpha (2023-04-22)#

Feat#

  • Segmentation: 比对分割支持多类别.

  • ConfusionMatrix: 修复混淆矩阵精确率和召回率返回 nan 值的问题

  • 添加benchmark评估框架

  • 为Sample添加便于访问的接口

  • detection: 实现通用检测模型功能

  • Location: 定位模板匹配新增按比例模式

  • SubImage: 修复 raw_image 函数未正确使用传入的 image_size 作为输出 Image 的大小的问题

Fix#

  • 优化通过SampleSetAdapter访问样本的速度; 修复set_context保存失败的问题.

  • Segmentaion: 修复多roi时计算区域分数出现错误的情况

  • Segmentation: 修复分割部分模型效果差的问题

  • copy_tool: 修复复制工具时排序错误的问题

Refactor#

  • Param: 将非监督分割及分类的参数和aidi-2.4.3对齐

  • graph: 修改Project的Dot图表示,支持MultiPort类型节点; 工具注册增加连接变化相应函数.

Perf#

  • Storage: 优化小文件存储,小文件直接存储到数据库中,不再单独存储为文件

v0.2.14-alpha (2023-04-16)#

Feat#

  • Classification: 实现分类主动学习

  • IntegrationTool: proto文件添加kMultiVirtual类型的连接关系,允许DataNode拥有多个NodePort.

  • pybind: 规范pybind接口绑定

  • 实现分类,非监督分类指标统计

  • RuntimeAdapter添加直接根据ID获取样本的接口

  • assembly-verification: 完成装配确认主体实现

Fix#

  • Segmentation: 修复缺陷分数与缺陷区域不对应的情况

Refactor#

  • Unsuper: 迁移dataloader实现

  • Parameter: 移除分割以及非监督模块中的lr_decay,不再允许用户设置

  • 简化ConfigureRuntimeAdapter实现

v0.2.13-alpha (2023-04-09)#

Feat#

  • Unsuper: 分类和非监督分类支持不学习区域,OK图判断逻辑修改,非监督分类标签修改

  • 对于分割和非监督分割给出的每一个区域结果赋予一个分数

  • AssemblyVerification: 完成装配检查工具流程定义及相关的参数和属性定义

Fix#

  • python: 修复 Cpython 环境初始化问题

  • ViewTransformer: 修复ok视图的转换依赖View的未定义的实现细节的问题

v0.2.12-alpha (2023-04-04)#

Feat#

  • python: 完成props::ViewList的python接口绑定实现

  • 发布0.2.12版本, 临时提供视图的python接口绑定

  • python: 实现Tags, View, TaggedView的python接口绑定.

  • utils: 完善random实现,支持直接使用全局随机数生成器而无需创建生成器,及消除部分警告

Fix#

  • geometry: 修复Vector变换不正确的问题, 对向量的平移变换不会产生任何实际影响.

  • 修复数据处理流程中存在的随机性可能导致流程崩溃的问题

  • mod-location: 修复定位模板参数错误

v0.2.11-alpha (2023-04-02)#

BREAKING CHANGE#

  • 重构混淆矩阵类型结构

Feat#

  • Project: 添加复制工具及其中的数据的功能

  • 发布0.2.11版本

  • 添加定位,OCR模板匹配结果指标统计

  • Detection: 添加不学习区域实现

  • ocr: 为ocr节点模板关键点添加宽高参数

  • ModelEvaluationMetrics: 重构混淆矩阵参数结构

  • 添加Mapper包装器,用于将可调用对象指针包装为可调用对象

Fix#

  • Segmentation: 修复分割工具输出角度总是0的问题

  • geometry: 修复几何库中采样椭圆时旋转中心错误的问题

  • 修复数据集装饰器中错误访问begin方法导致的训练崩溃的问题

v0.2.10-alpha (2023-03-26)#

BREAKING CHANGE#

  • 修改了所有工具的流程图结构,并需要修改下游软件关于设置视图为训练集/测试集的相关逻辑。

Feat#

  • Segmentation: 添加比对分割功能

  • 发布v0.2.10版本

  • Location: 实现定位模板匹配功能(只包含节点模板匹配),优化算法实现.

  • Classification: 分类推理结果可视化实现

  • OCR: 添加OCR模板匹配功能

  • utils: 增加文件扫描工具实现

  • 优化日志输出格式

  • 重构标注时设置视图是否为训练集/测试集合的逻辑.

  • SampleSet: 添加直接获取样本描述信息的接口

  • geometry: 实现圆形和椭圆的等角度采样算法

Fix#

  • ViewFilter: 修复过滤参数set_enable含义不一致的问题

  • detection: 修复检测模块视图无掩膜训练崩溃的问题

  • mod-location: 修复角度预测bug

v0.2.1-alpha (2023-03-20)#

Feat#

  • SampleSet: 提供样本集和属性集的批量写入接口,提高批量写入速度

Fix#

  • 发布紧急修复版本v0.2.1.

  • Location: 解决定位模块训练崩溃问题及角度信息错误问题.

Refactor#

  • 去除分割工具的SubModule机制,合并入主仓库中管理。

v0.2.0-alpha (2023-03-19)#

Feat#

  • 发布0.2.0版本

  • Unsuper: 实现非监督分割以及非监督分类的训练和推理功能

  • Location: 实现定位主体算法

  • Classification: 提供分类算法实现

  • OCR: 实现OCR训练、推理及过滤功能

  • RegionMatchResultCounter: 修复数据集标注为空或预测结果为空时指标统计异常

Fix#

  • 临时修复测试用例中创建数据备份时关闭数据库导致的SampleSet对象悬空的问题

  • geometry: 修正Line2f构造函数实现

  • RuntimeBuilder: 修复创建SingleNode时仅包含单个虚拟算子时Runtime接口行为不正确的bug

  • segmentation: 修复分割模块只有在将阈值设置为0时才显示推理结果的问题

  • ocr: 更新测试数据读取方式

  • change nccl run container command

  • 修复转换图像为训练数据时自动适配alpha通道数错误的问题

v0.1.1-alpha (2023-03-13)#

BREAKING CHANGE#

  • 删除Ring与OpenCV中的点直接转换的接口.

Feat#

  • 发布0.1.1版本

  • 分割模块支持多图训练(原aqimg格式).

  • 添加外部预训练图片集读取测试用例, 修改测试时的数据文件目录映射方式

  • 添加非监督分割以及非监督分类的流程图以及相应的参数

  • Detection: 添加快速检测模型的训练和推理功能

  • 更新预训练数据集,添加无监督分割工具数据集

  • PolygonFiler/ViewFilter相关详细过滤参数组添加使能选项, 及修复推理后过滤未处理角度的问题

  • third_party: 更新zip库

  • ModelEvaluationMetrics: 修复 ConfusionMatrix 类未导出的 bug

  • 实现像素级混淆矩阵的统计, 及精确率召回率的快捷计算接口

Fix#

  • ViewTransformer: 修复视图转换器生成掩膜在按比例模式下不正确的问题

  • RuntimeBuilder: 修复查找自动更新参数策略时对于虚拟Configurator的处理方式

  • Classification: 规范训练参数名称

  • 优化min_area_rect()实现策略,明确得到矩形的策略. RotateRect类型添加norm方法.

Refactor#

  • 规范化所有自动生成的名称, 修复名称格式及长度引起的潜在问题

  • tools: 移除所有工具中标注对view的依赖

v0.1.0-alpha (2023-03-06)#

Feat#

  • 发布0.1.0版本

  • 实现指标统计功能(RegionMatchResultCounter), 支持统计区域级别的混淆矩阵及图像/视图的过检、漏检数量

  • 构建runtime时对于有多个可选生产者的图结构,支持自动选择可执行的子图.

  • props: 添加MultiNamesPolygonRegionList类型用于表示Classification的推理结果.

  • geometry: 添加vertical()接口用于获取点到直线的垂足

  • OCR: 标注输出和训练输入添加不学习区域属性.

  • Detection: 规范Detection工具的参数

Fix#

  • ViewTransformer: 移除变换后完全超出原图范围的视图; 修复视图过滤器对于保留参数中未添加的类型没有进行过滤的问题.

  • 修复静态注册算法模块中的宏错误

  • Location: 定位添加不学习区域功能

  • PythonAPI: 规范python接口绑定实现, 移除 std::list 相关接口

  • Location: add parameters

v0.0.18-alpha (2023-02-22)#

Feat#

  • 发布v0.0.18版本

  • OCR: 修改OCR工具的算法流程及标注和输出结果的类型

  • Segmentation: 实现区域比较算子(RegionsMatcher),用于计算各个样本及视图中的过检、漏检情况.

Fix#

  • 修复多GPU训练时跨线程回调导致的问题, 简化多卡训练代码流程.

  • 修复集成测试用例中不同测试用例读写文件冲突导致测试失败的问题

  • 修复部分接口中路径编码错误的问题

  • Buffer: 修复aidi::Buffer读取文件失败时未抛出异常的问题.

v0.0.17-alpha (2023-02-19)#

Feat#

  • 发布v0.0.17版本

  • 支持在训练时加载预训练模型

  • Segmentation: 支持多卡训练功能

  • 添加enumerate语法糖的库实现

  • 规范所有ProgressCallBack中进度信息的输出格式(统一使用json格式)。

  • SampleSet: 修复 remove_column 时未同步移除 bucket 中的相应文件

  • Environment: 重构节点工厂注册以支持注册时记录该类型算子运行的环境要求

  • ReadOnlySampleSetView: 完成 ReadOnlySampleSetView 的实现,支持过滤数据集

  • Segmentation: 支持训练时简要标注格式并打印警告信息

  • Project: 支持之间传入工程路径字符串来打开工程

  • 实现脚本通过脚本函数对PropertySet进行过滤的功能

Fix#

  • props: 导出RotateRectRegion类型及其头文件

  • RuntimeBuilder: 修复创建Runtime时错误检查Operator节点的输入属性的更新时间的问题.

  • Environment: 完成软件执行环境相关特性开发,支持根据执行环境决定Configurator或者Parameter是否满足当前执行环境要求

  • Segmentation: 修复子图到原图坐标系的变换逻辑

  • Segmentation: 修复ViewMask的处理模式, 每个视图的视图掩码仅作用于本视图

Refactor#

  • 重构插件机制,将所有插件静态链接,修复插件机制导致的链接库问题.

  • 合并所有脚本过滤实现中的’import modules’和’filter_function’参数为一个完整的’filter script’参数.

  • 规范命名空间(details -> detail, utils -> util)

v0.0.16-alpha (2023-01-31)#

Feat#

  • Task: 为配置任务添加立即中止和停止选项,立即中止不会尝试保存已得到的数据,停止会尝试保存任务状态和已经得到的有效数据

Fix#

  • 修复分割工具推理时未自动转换图像通道的问题;修复推理后属性数据包含推理前数据的问题; 修复创建Runtime时设置了禁止自动更新参数不生效的问题.

  • props: 修复 aidi::TaggedView 序列化和反序列化时未处理name,score字段的问题

  • Project: 修复输出工具图时非ascii字符被切断导致乱码的问题

v0.0.15-alpha (2023-01-16)#

Feat#

  • 发布紧急修复版本 0.0.15,修复创建Runtime存在的bug

  • setting: 增加AIDI-SDK全局配置读取/设置功能。

Fix#

  • Runtime: 修复Runtime执行判断算子是否可执行时,多个虚拟输入redirect_to同一个前序节点的情况无法正常创建的问题

v0.0.14-alpha (2023-01-15)#

Feat#

  • 0.0.14版本发布了

  • segmentation: 完成分割工具模型推理的基本功能开发

  • Project: 版本备份支持用户自定义用户名与备注

Fix#

  • ViewTransformer: 完成视图过滤功能开发(ViewTransformer Filter)

  • Runtime: 修复创建ConfigRuntime时忽略更新时间要求依然需要直接输入节点已更新的问题

  • mocks: 补充缺失的导出内容

  • 修复linux平台读取内存信息字段错误的问题

Refactor#

  • 简化ToolNodeId参数传递

v0.0.13-alpha (2023-01-09)#

Feat#

  • 发布紧急修复版本

Fix#

  • segmentation: 修复训练集有效标注为空时崩溃的问题

  • algorithm: 为分割工具训练功能添加数据检查

v0.0.12-alpha (2023-01-05)#

Feat#

  • Project: 修复 rename_tool 时未正确移除旧的静态属性信息

Fix#

  • param: 紧急修复LabelClasses符号未导出的问题.

  • tools: 重命名工具中的节点使节点名含义更清晰: global_mask -> view_mask

  • geometry: 注释未实现的接口,避免链接错误

  • geometry: 修正接口拼写错误导致的链接失败

  • geometry: 修正迭代器越界后失效的问题

Refactor#

  • image: 重命名Image::from/to_buf -> from/to_buffer, 确保总是复制Buffer中的数据, 并另行提供零拷贝的构造函数.

v0.0.11-alpha (2023-01-02)#

Feat#

  • 更新版本号:0.0.10 -> 0.0.11

  • props: 完成ViewFilter的临时实现(未进行任何实际过滤)

  • geometry: Rect2f添加浮点型几何对象转整型的类型转换

  • 修改各个工具的图结构,去除算法工具的中全局掩码参数,视图转换工具支持输出独立的视图掩码属性.

  • geometry: distance接口增加对Segment2f/i和Line2f/i的支持

Fix#

  • vscode: 更新失效配置

  • Project: 修复恢复备份版本后流程图未正确恢复的问题.

  • 修复拼写错误: expend -> expand

  • algorithm: 分割训练时改为异步加载数据; 补充部分文档

v0.0.10-alpha (2022-12-19)#

Feat#

  • 0.0.10版本发布了.

  • algorithm: 完成分割工具训练功能的基本功能开发

  • 删除重复的导出库

  • WorkSpace: 完善 workspace token/name 与 project name 命名规范

  • geometry: 移除Line2i类型及相关算法接口

  • Project: 新增 rename_tool接口,支持重命名工具.

  • geomtry: 添加对MultiPolygon类型的各种算法支持.

  • Runtime: 支持根据用户需要执行到的工具创建包含这些工具及所有它们的依赖节点的Runtime.

  • samples: 添加支持初始化线程环境的线程池实现,解决async_view在多轮迭代中会重复创建线程的及无法使用同一线程上下文的问题

  • geometry: 添加segments_sampling算法,用于将环或多边形采样为以平行于X轴方向的线段表示的线段集.

  • WorkSpace: 修复移动或拷贝 ws or project 至其子目录时会有未知异常的问题

  • common: 添加AIDI_CHECK宏,用于判断bool表达式并输出日志和抛出异常

Fix#

  • 修复发布包过大导致发布包上传失败的问题

  • Runtime: 修复RuntimeAdapter接口未正常链接到发布库的问题

  • param: 修复视图变换参数类型未导出的问题

v0.0.9-alpha (2022-11-30)#

BREAKING CHANGE#

  • Sample, SampleSet中所有关于属性ID的参数都改为使用ToolNodeId类型传递参数.

Feat#

  • 发布0.0.9版本

  • Project: 支持根据 Virtual-Input 节点ID快速查询实际的数据节点的ID

  • Project: 提供获取工程描述信息和修改工程备注信息的功能

  • SubImage: 修复 raw_image() 得到的原图不完整的问题

  • Project: 提供获取流程图的DOT语言描述的方法,便于可视化查看工程的详细图结构.

  • SampleSet: 新增 update(uint32_t id, const SampleDescriptor& sample_descriptor) 接口

  • WorkSpace: 修复使用系统目录作为 token 会发生异常

  • 所有关于Node的访问接口统一使用ToolNodeId,不再支持使用使用原生字符串访问.

Fix#

  • RuntimeStrategy: 支持创建Runtime时选择忽略节点更新时间关系;

  • WorkSpace: 单元测试完善

  • param: 修复参数的JsonSchema嵌套的属性丢失ui_type, title等描述信息的问题

Refactor#

  • cloud: 重构Cloud接口相关类型转换方法,简化接口调用方式

v0.0.8-alpha (2022-11-16)#

Feat#

  • 发布0.0.8版本,紧急修复依赖库缺失问题

Fix#

  • props: 修复Tags::contains()接口可能卡死的问题

  • 修复发布包中缺失python.dll依赖库的问题

  • opencv: 回退原依赖库,新依赖库通过版本号控制

v0.0.7-alpha (2022-11-15)#

BREAKING CHANGE#

  • CustomParam类型已被移除,所有使用CustomParam的位置均改为使用BinaryPacks

  • 修改InputTool工具流程及输出属性结构。

  • 修改geometry::Arc2f类型的初始化方法,删除Arc2i类型的定义.

  • 修改aidi::Image::to_buf()接口参数

  • 修改Workspace中创建、打开及删除Project的接口参数.

Feat#

  • 0.0.7 Alpha测试版发布了!

  • image: 添加aidi::Image::show()函数实现用于显示图像,当前仅支持Windows平台使用.

  • Runtime: 添加创建SingleTool时支持自动更新参数的功能

  • image: 支持绘制polygon到图像上

  • image: 图像透视变换支持选择不同插值方法

  • props: 拆分props::Image类型,将原始图像信息修改为独立的属性;并修改 InputTool图结构,在添加图像时也需要给出raw_image_info属性

  • tool: 添加视图工具参数及处理流程声明

  • image: 添加SubImage的基本结构及替换FeatureMap类型的表示方式

  • WorkSpace: 实现 ‘MoveWorkSpace and CopyWorkSpace’

  • image: 支持读取aqimg和bmp格式的图片文件

  • WorkSpace: 提供强制打开工程的接口实现

  • image: 添加从Image中查找Polygon的方法实现

  • geometry: 实现is_rect函数,用于判断Ring是否为矩形或旋转矩形.

  • Task: 添加Cofigurator执行结束时返回任务状态码, 进度回调支持传递控制信号.

  • view: 视图属性支持保存视图掩膜

  • Segmentation: 支持使用自定义python脚本对检测结果进行过滤

  • ConfigRuntimeBuilder: 构建Runtime时允许传入进度回调函数,若构建Runtime的时间较长则通过回调函数传递进度信息

Fix#

  • Runtime: 修复导出库没有注册任何类型的RuntimeStrategy导致创建Runtime失败的问题

  • model: 修复aidi::Model链接错误

  • image: 修复to_buf数据错误的问题及修正部分警告.

  • 修复多边形与opencv中的contour转换不等价导致的多边形不符合定义的问题

  • opencv: 修正临时文件无法删除的问题

  • Workspace: 修复create_project(ProjectDescriptor& proj_desc)接口未在该workspace下创建proj_desc.name命名的project的问题.

  • docs: 补充遗漏的类型文档,以及简化异常类型相关的文档实现

Refactor#

  • param: 使用BinaryPacks类型代替CustomParam参数类型.

  • geometry: 修改圆弧定义支持任意弧度(含超过360度)的圆弧的描述

v0.0.6-alpha (2022-10-28)#

Feat#

  • 0.0.6-alpha 版本发布了

  • WorkSpace: 新增创建、删除根工作区的接口及获取WorkSpace名称和重命名的接口.

  • tools: 添加检测工具流程和参数实现

  • Project: 修复 project 静态接口编码问题

  • tools: 添加分类模块的基本流程结构

  • Location: 添加定位工具流程及参数实现

  • Project: 工程异常关闭后支持强制打开(用户需要自行保证没有其他进程正在使用此工程)

  • Segmentation: 实现区域的参数过滤功能

  • model: 增加模型导入应用类, 支持从导出的模型中创建Runtime对象用于执行推理.

Fix#

  • param: 修复参数接口中使用宏隐藏虚函数引起虚函数错位导致的崩溃问题

v0.0.5-alpha (2022-10-14)#

BREAKING CHANGE#

  • 修改旋转矩形定义及构造函数.

  • transform_rotateget_rotate_transform接口定义发生变化

Feat#

  • Porject: 实现模型导出功能

  • 发布0.0.5-alpha版本

  • Ellipse2f: 实现椭圆类型及相关简单的算法接口

  • buffer: 为aidi::Buffer添加Base32编码、MD5计算、从UUID生成等小功能.

  • OCR: 添加OCR工具流程、参数及属性实现

  • utils: 添加辅助工具defer, 提供go语言中的defer关键字功能

  • Segmentation: 实现分割模块特征图过滤功能

Fix#

  • 修复license文件名称错误

  • 修复发布的库文件时间戳丢失的问题

  • param: 修复浮点型参数由于精度漂移而无法通过schema校验的问题

  • sampleset: 修复样本未按照样本ID排序的问

  • project: 修复关闭工程后再打开时先前保存的参数无法读取的问题.

  • 修复由系统接口编码未转换为utf8引起的打开工程时崩溃的问题

Refactor#

  • geometry: 修改旋转矩形的定义及实现

v0.0.4-alpha (2022-09-29)#

Feat#

  • 发布0.0.4版本(原计划版本号顺延),紧急修复分割模块过滤参数漏失按类别过滤的信息

  • geometry: 所有几何类型添加统一的基础类型

  • 补充Project::create_config_runtime接口实现及完善Configurator相关文档

  • Geometry: 为需要的算法函数提供直接返回值接口

  • Geometry: 完善算法对称,输入类型不同的二元运算,支持交换输入参数

  • docs: 添加各个工具的详细的流程图结构的文档说明

  • Geometry: 修复 doxygen 注释批量转换问题

Fix#

  • geometry: 修正前一次提交错误修改几何库函数名的问题

  • param: 修复多边形过滤参数遗漏按类别过滤功能的问题

  • param: 修复设置Map型参数中的单个值时意外抛出异常的问题.

  • Geometry: 修复 doc error

Perf#

  • geometry: 在头文件中显式定义圆周率PI和极小值Epsilon

v0.0.3-alpha (2022-09-21)#

BREAKING CHANGE#

  • 修改了ProperSet/SampleSet及其迭代器的访问数据相关接口

  • 修改PropertySetSampleSet所属命名空间到aidi::data子空间下。

  • PropertySetIterator/SampleSetIterator::operator*()()返回值修改为pair, 增加返回样本ID

Feat#

  • 0.0.3-alpha 版本发布了,此版本功能集尚不完善,但提供了完善的分割工具相关数据类型.

  • Geometry: 将模板接口改为直接列出所有支持的几何类型函数重载声明

  • WorkSpace: 修改 project_descriptors 接口定义及其实现为‘仅获取当前一级目录下的所有工程描述信息’

  • dataset/views: 添加折叠/展开视图及异步视图

  • tools: 添加rescomp用于将数据文件编译链接到DLL中

  • 添加获取主机内存信息的方法实现, 及完善view_cache.

  • sampleset: 添加属性集访问视图模板

  • 引入libzip

  • segmentation: 添加GlobalMask参数组

  • plugin: 算法插件支持与AIDI-SDK使用同一套日志系统

  • 添加Configurator测试框架

  • 为PropertySet添加抽象接口

  • docs: 添加Segmentation工具相关类型的文档

  • tools: 添加Segmentation工具

  • regions: 修改IRegion接口定义,添加polygon()接口

  • param: 支持翻译参数的json_schema中的titledescription字段的文本

  • Buffer: 内部支持idi::Buffer类型序列化

  • image: 修改图像算法命名空间及添加颜色空间变换方法

  • props: ViewList继承和实现IRegionList接口

  • 实现ConfigRuntimeProjectAdapter, 支持全自动执行训练或其他参数配置任务

  • ws: 重构WorkSpace,本地WorkSpace支持嵌套的WorkSpace

  • sample_set: 修改SampleSet/PropertySet迭代器接口,支持在在迭代过程中返回样本ID

  • property_set: type_cast支持将ReadOnlyPropertySet自动映射为与具体的Property类型相关的模板类

Fix#

  • samples/views: 修复异步视图概率性卡死的问题

  • Geometry: 修复 doc error

  • dataset/views: 为dataset/cache_view添加多线程并发访问支持

  • translation: 修复翻译文件内容缺失的问题。

  • Buffer: 修复aidi::Buffer::FromBase64()会错误截断部分数据的问题

  • bazel_clang_tidy: 更新第三库版本

Refactor#

  • sample_set: 修改PropertySet/SampleSet接口规范

  • tool_builder: 重构ToolBuilder接口以使工具的构建实现更简洁

Perf#

  • test: 优化单元测试执行速度

  • param: 支持将多组参数生成到同一CPP文件

v0.0.2-alpha (2022-08-05)#

BREAKING CHANGE#

  • 原有的 get_transform 函数已被重命名为 get_matrix

Feat#

  • 0.0.2-alpha版本发布

  • geometry: 修正方向描述以及相关接口, 添加Redian类型

  • 完成project导出库集成测试

  • props: 添加 RegionList接口及实现分割模块标注类型对应的PolygonRegionList

  • 实现RuntimeSampleSetAdapter

  • props: 视图添加Tag管理

  • Project 新增版本备份功能

  • image: 添加 aidi::transform()函数,支持通过props::Image和props::ViewList得到对应视窗子图

  • ProjectDir 支持创建和获取数据集备份目录

  • SampleSet: 新增版本备份功能的实现

  • OSE: 单元测试规范

  • tool: 部分实现InputTool所需节点.

  • ProjectInfo 提供 backup 功能的实现

  • graph: 根据StreamGraph 生成 Dot language 描述,以便于后续调试中可视化 StreamGraph

Fix#

  • docs: 修复切换分支时文档构建会失败的问题

  • 修复部分接口不支持utf-8文件路径的问题

  • 规范ProjectInfo异常类型, 增加 DatasetAlreadyExistsDatasetNotExists

  • tool: 修复全局变量初始化时序问题引起的工具注册错误

  • props_view_list: 修正几何库接口修改后没有及时更新的问题

  • README: 修复README中的一些错误

  • tools: 修复发布推送邮件链接错误及不同平台git-hash长度不一致问题

Refactor#

  • geometry: 重命名获取变换矩阵的函数以改善命名风格的统一性

v0.0.1-alpha (2022-07-11)#

Feat#

  • 0.0.1-alpha版本发布,此版本仅用于验证发布流程和部分接口预览

  • ci: 添加自动发布文档到Ucloud的流程

  • 添加第三方库Licnese规则,构建发布包时导出第三方库License文本.

  • docs: 在生成文档中添加根据git提交记录自动生成的Changelog.

  • docs: 在生成文档中添加根据git提交记录自动生成的Changlog推送发布邮件

  • DBKernal: 重构 使用 Bucket 替代 fse

  • test/helpers: 添加测试构造函数和赋值函数的模板函数.

  • global_mgr: 添加全局资源管理器

  • tool_node_id, facotry: 优化接口更便于使用

  • param-gen: 添加各种参数类型的类型Python类型声明及简单的使用示例

  • py_pytest: 添加python单元测试工具及示例

  • param_types: 完成json_schema生成及单元测试示例

  • param_types: 完善Group类型参数的schema

  • param_types: 添加对默认参数的检查逻辑

  • log: 支持翻译SPDLOG_*_AND_THROW中的字符串参数.

  • common: 支持在测试用例抛出未预期的异常时打印异常信息和调用堆栈

  • comments: 批量更新源文件注释

  • documents: 更新内容文档及文档设置

  • documents: 添加文档查看服务 //documents:server

  • documents: 重构文档生成规则

  • python: 引入pybind11, cpython 相关的库及在工程内调用测试通过

  • WorkSpace: 拆解细粒化单元测试,减少文件路径长度

  • tool: 完成 ToolBuilder, ToolFactory, Stream Graph Desc 的开发

  • project_info: 初始化时自动获取SDK版本号

  • README: 更新README, 将中文README职为主页,并添加部分开发说明.

  • build_dcos: 实现文档生成规则

  • WORKSPACE: 添加了网盘urls.

  • doxygen: 通过配置好的doxyfile生成xml.

  • doc: add xml to rst converter.

  • doc: 更新部分配置文件内容.

  • build_docs: 实现规则配置doxygen并生成对应xml.

  • build_docs: 实现配置doxyrest生成对应的rst.

  • build_docs: 实现配置sphinx生成对应html.

  • WORKSAPCE: 添加bazel实现sphinx安装规则.

  • run_input: 添加输入目录参数.

  • build_docs: 实现winrar压缩生成物.

  • build_docs: 实现linux下文档的生成.

  • README: 更新README, 将中文README职为主页,并添加部分开发说明.

  • project_info: 初始化时自动获取SDK版本号

  • tool: 完成 ToolBuilder, ToolFactory, Stream Graph Desc 的开发

  • sources: 去除了build_inputs,改为直接传入输入参数.

  • WORKSPACE: update rules_doxygen version.

  • WORKSPACE: update rules_doxyrest version.

  • WORKSPACE: update rules_winrar version.

  • sources: 移除了现有的sources内容.

  • build_docs: 完善了相关配置.

  • build_docs: 采用新主题,现在支持链接本地文档.

  • build_docs: 完善了linux下相关配置.

  • build_docs: 分离了构建配置工具与文档结构.

  • WorkSpace: 拆解细粒化单元测试,减少文件路径长度

  • python: 引入pybind11, cpython 相关的库及在工程内调用测试通过

  • WORKSPACE: 实现通过命令行生成doxyfile.

  • .vscode: 启动了括号对着色配置.

  • exception: 为异常自动添加对应code.

  • md5-to_hex: utils添加md5及to_hex接口

  • property: 添加Property基类接口、注册器及示例

  • serialization: 添加FileData和FileSet的实现

  • serialization: 添加 BufferStream 类型支持

  • version: 编译时自动生成版本及构建信息,并提供版本信息接口

  • git: 添加.gitattributes文件.(修复Git错误的调整换行符的问题)

  • internationlization: add fuction_(s) as tag msg that need to be translate, add init_locale function that load translation language package

  • commmon/buffer: 禁用Buffer的拷贝构造函数和赋值函数。

  • add-log-excepts: 添加日志模块和异常模块,并调整了一些细节:

  • add common-buffer: 添加通用的内存管理对象Buffer: 1. 支持内建内存区

Fix#

  • docs: 删除复制的静态文件,在python构建脚本中使用子进程消除python路径中的 UNC prefix

  • docs: 暂时修复Windows平台构建的文档缺失 js 和 css 文件问题

  • project: 修复分支合并导致的文件引用错误

  • OSE: 增加构造栈上的 OSE 对象,然后析构的测试

  • OSE: 移除析构函数 noexcept 的修饰

  • OSE: 前置声明RefCountDB, 类成员 unique_ptr 出现 incomplete type 的问题)

  • locale: 修复宏命名与第三方库冲突的问题.

  • OSE: 清理不规范的单元测试

  • ref_count_table: 修复引用计数表

  • paramtypes_test: 修复测试用例中错误及添加CI流程

  • issue_templates: 修复文件名拼写及语句错误

  • RuntimeBuilder: 移除RuntimeBuilder构造函数的逻辑处理

  • buffer_default: 添加分类内存错误时的更详细的报错信息

  • runtime: 删除冗余的执行检查

  • sample: 修复 Sample Pimpl未初始化导致使用移动构造函数引起崩溃问题

  • spdlog: 修复spdlog中wincolor_sink输出乱码问题

  • Dockerfile: 修复Linux环境下documents无法构建的问题:

  • dev-env: 修复VSCode 开发环境配置:

  • geometry: 在构建规则中隐藏不必要对外暴露的头文件

  • WorkSpace: 修复因路径长度超出 win 最大限制而引起的系列问题

  • path: 修改从 std::filesystem::path 转换为 string 的方法

  • run_docs.bat: 修正sphinx-build的配置错误.

  • build_docs: 修复调用sphinx错误的问题.

  • build_docs: 移除rules_sphinx相关使用.

  • path: 修改从 std::filesystem::path 转换为 string 的方法

  • WORKSPACE: update urls.

  • WORKSPACE: update urls.

  • build_dcos: 关系Linux沙箱.

  • docs.bat: remove data deps.

  • run_docs.bat: 修正原压缩包未删除时重复添加的问题.

  • build_docs: 统一win和linux下命令行参数配置.

  • build_docs: 统一shell脚本行为与bat脚本一致.

  • build_docs: 修复doxygen默认配置在linux不同导致sphinx链接失败的问题.

  • WorkSpace: 修复因路径长度超出 win 最大限制而引起的系列问题

  • geometry: 在构建规则中隐藏不必要对外暴露的头文件

  • dev-env: 修复VSCode 开发环境配置:

  • run_docs.bat: 排除打包内容的路径名称.

  • run_docs.sh: 排球打包内容的路径名称.

  • serialization: 补充Buffer::reserve()的测试用例

  • serialization: 修复BufferStream构造函数接口错误问题

  • third_party: 修复cereal头文件引用不完整问题

  • delete cmd python3, depends on python cmd only,

  • third_party: 修复第三方库RocksDB构建不完整的问题。

  • common/buffer: Buffer使用内建存储时,reszie保证前面部分数据不受resize影响

Refactor#

  • build_docs: 分离静态配置和动态配置,提升构建速度.

  • tools: 将文档配置移动到文档目录中.

Perf#

  • gitlab-ci: 优化gitlab-ci执行流程

  • ci: 简化Linux平台CI执行流程