跳转至

📝 更新日志

🚀 SAHI v0.12.6 发布说明

此补丁版本包含一项性能修复。NMM 后处理不再随着合并组变大而变慢,而拥挤场景正好会产生这种形状的合并组。

⚡ 性能

  • NMM 不再重复扫描已经填好的合并列表 (#1422)。此前每个候选框都要先在已合并到当前保留框的 Python 列表中查找一遍,然后才去检查 merge_to_keep 数组。这次查找的开销与组内已有边界框的数量成正比,而拥挤场景最终只会形成少数几个非常大的组,因此几乎每个候选框都要付出这份开销。边界框被追加到合并列表和被记录进 merge_to_keep 是同一步完成的,所以仅凭数组查找就已经能得出结论,列表查找只是重复了一遍。移除它不会改变任何一个分组,并把合并记账的复杂度从与组大小成二次关系降为线性。稠密路径、存储对路径和流式路径共用这段记账逻辑,因此三者都会受益,numba 后端也通过稠密路径继承了该改动。

拥挤场景下 NMM 合并耗时的优化前后对比

在密集布局上使用 IOS / 0.3 运行 NMM:

边界框数量 优化前 优化后 加速比
2000 324 ms 199 ms 1.6x
5000 2132 ms 896 ms 2.4x
10000 13303 ms 3531 ms 3.8x
20000 80153 ms 14625 ms 5.5x
33337 297170 ms 48926 ms 6.1x

📚 文档

  • 中文文档已覆盖 0.12.5 (#1423)。

🚀 SAHI v0.12.5 发布说明

此补丁版本完成了从 0.12.2 开始的后处理内存优化工作。此前的优化后来被发现只在边界框 较为分散时有效;本版本还修复了测试过程中发现的两个正确性问题。

🐛 修复

  • 后处理内存占用不再受边界框密集程度影响 (#1417)。通过为每对相交的边界框存储一条记录来避免 N x N 重叠矩阵,只能在边界框较为分散时节省内存。当边界框大量重叠时,几乎每个边界框都与 其他边界框相交,相交对数量会接近 N^2,所存列表的开销也会接近它所取代的矩阵;而这恰好是 切片推理在拥挤场景和小目标图像中产生的布局。合并循环每次只读取一行匹配项,NMS 和 greedy NMM 也只会读取保留下来的边界框所对应的行,因此现在会按需从 STRtree 查询这些行。无论边界框如何布局, 峰值内存都限制在 O(N + max_degree)。NMM 会为每个边界框而不只是保留框读取一行,因此在预计 相交对列表不会过大时仍会保留该列表。
  • 非正数 match_threshold 不再构建度量矩阵 (#1417)。两种度量值都非负,因此每一对边界框都满足 metric >= 0,邻接关系就是完全图。稠密路径此前仍会计算所有重叠度来得出这一结果,导致这个本来 不需要任何重叠计算的配置反而开销最大,并在 25000 个边界框时重现了 #1374 中的内存不足问题。现在仅根据分数顺序即可得出结果。
  • NMM 不再将保留框合并到自身 (#1416)。 此前通过让保留框的 merge_to_keep 条目保持为 -1 来标记它,但 -1 同时也用于标记尚未被认领的 边界框,因此稍后处理的边界框可能会认领一个保留框,并将其加入合并列表。当重复框的分数相同时, 这会使保留框出现在自身的合并列表中,同一个索引既能作为保留框访问,又能作为被合并框访问。 现在保留框会指向自身,使其无法再被认领,同时不改变其他结果。
  • 零面积边界框不再触发除零警告 (#1416)。 此前度量计算会对每一对边界框执行 inter / denom,之后才丢弃无效条目,因此退化边界框会产生 RuntimeWarning。现在会屏蔽除法运算,而不是事后屏蔽结果。

⚡ 性能

在密集和分散布局上使用 IOS / 0.3 进行后处理:

布局 边界框数量 NMS 优化前 NMS 优化后 优化前峰值内存 优化后峰值内存
密集 33337 47180 ms 135 ms 3416 MB 4 MB
密集 20000 15931 ms 57 ms 1232 MB 2 MB
密集 10000 2717 ms 25 ms 311 MB 1 MB
分散 33336 539 ms 188 ms 65 MB 4 MB
  • numba 后端根据边界框密度选择执行路径 (#1418)。其 NMS 和 greedy NMM 循环此前无论输入如何, 都会执行穷举式成对扫描。如果只按预测结果数量选择路径,会使拥挤场景的性能倒退,因为 JIT 循环会 跳过已抑制的候选框,即使输入规模很大也仍有竞争力。因此现在根据邻居数量进行选择,并通过对边界框 采样来估算该数量。此外,分数排序此前使用本身具有二次复杂度的插入排序,现在改为与其他后端相同的 lexsort,包括分数相同时也能生成完全一致的顺序。
每个边界框的平均邻居数(20000 个边界框) NMS 优化前 NMS 优化后 greedy NMM 优化前 greedy NMM 优化后
0.0 909 ms 43 ms 842 ms 89 ms
0.8 781 ms 52 ms 757 ms 84 ms
5.1 495 ms 118 ms 479 ms 151 ms
20.1 241 ms 146 ms 236 ms 148 ms
78.9 141 ms 73 ms 143 ms 71 ms

🚀 SAHI v0.12.4 发布说明

此补丁版本修复了 sahi 命令行界面的问题:在没有预先安装 matplotlib 的环境中,该界面此前 无法使用。

🐛 修复

  • matplotlib 现已声明为依赖项 (#1414)。 sahi.cli 会导入 sahi.scripts.coco_error_analysis,后者又会在模块级导入 matplotlib, 但 [project].dependencies 和所有可选依赖中此前都没有列出 matplotlib。由于采用立即导入, 在全新环境中所有 sahi 命令都会失败,包括 sahi version 等与绘图无关的命令。这个问题一直 没有被发现,是因为典型环境通常会随其他软件包一同安装 matplotlib

🚀 SAHI v0.12.3 发布说明

此补丁版本启用了 Apple Silicon GPU、增加了土耳其语文档,并清理了自 0.12.2 以来积累的 CI 维护事项。

🐛 修复

  • 设备选择和后处理现在可以检测 Apple MPS (#1408)。select_device() 此前只检测 CUDA, 因此即使 Metal 后端可用,macOS 用户也会回退到 CPU。自动选择顺序现在为 CUDA → MPS → CPU; 当任一 GPU 可用时,都会选择 torchvision 后处理后端。检测通过 torch.backends.mps.is_available() 完成;所有受支持的 torch 版本都提供该方法,并且在非 Apple 构建上会返回 False
  • threading.currentThread() 替换为 current_thread() (#1392),消除了较新 Python 版本中的 DeprecationWarning

📚 文档

  • 新增文档的土耳其语翻译,并提供与其匹配的构建步骤和 zensical 配置 (#1401#1402#1404)。
  • 修正多语言子路径链接 (#1403)。
  • 后端文档现在同时列出 MPS 和 CUDA (#1410)。

🧹 维护与 CI

  • 新增设备选择和后处理后端解析测试 (#1409)。
  • astral-sh/setup-uv 从 8.3.2 升级到 9.0.0 (#1399),将 actions/setup-python 从 6.3.0 升级到 7.0.0 (#1400),并将 actions/checkout 从 7.0.0 升级到 7.0.1 (#1398)。
  • twine 的版本要求放宽到 >=5.1.1,<8.0.0 (#1406)。

⚡ 性能

在 Apple M2 Pro 上使用 IOU 度量进行 NMS,取 5 次运行中的最佳成绩:

边界框数量 numpy numba torchvision (MPS)
100 0.14 ms 0.02 ms 1.44 ms
500 1.53 ms 0.36 ms 1.42 ms
1000 5.46 ms 1.40 ms 1.45 ms
5000 81.37 ms 34.16 ms 4.05 ms
20000 1237.70 ms 462.56 ms 11.75 ms

当边界框数量少于约 500 个时,numba 仍然更快,但此时差异仅约为一毫秒。

完整更新日志https://github.com/obss/sahi/compare/0.12.2...0.12.3

🚀 SAHI v0.12.2 发布说明

此补丁版本修复了对大量预测结果进行后处理时的内存不足和严重性能下降问题,同时包含自 0.12.1 以来积累的模型、打包和文档修复。

🐛 修复

  • 后处理不再为大型输入分配 N x N 矩阵 (#1395)。v0.11 使用 shapely STRtree,只比较 相邻的边界框;v0.12 将其替换为稠密矩阵,无论边界框如何布局,时间和空间复杂度都是 O(N^2)。 TorchVision 后端没有输入规模保护,会在 GPU 上构建七个 N x N 张量,因此最先耗尽内存。 greedy 循环只会使用 matrix >= match_threshold 的结果,而不会使用度量值本身,因此现在会根据 STRtree 报告的相交对直接构建经过阈值过滤的邻接关系,并以 CSR 格式存储。修复 #1374
  • 支持按类名加载本地 RF-DETR 模型,并修正 Roboflow 文档 (#1394)。
  • MMDetection 的 has_mask 现在可以处理 RepeatDataset (#1387)。
  • import_utils 中强制执行依赖项和最低版本检查 (#1377)。
  • 所有 OpenCV 发行包保持相同版本,避免安装相互冲突的软件包 (#1393)。

📚 文档

  • 更新并补全中文翻译 (#1371)。
  • 文档默认使用 YOLO26,并链接至 Ultralytics YOLO26 页面 (#1386);CLI 模型列表中也加入了 YOLO26 (#1378)。

🧹 维护与 CI

  • astral-sh/setup-uv 从 8.2.0 升级到 8.3.2 (#1389),并更新 actions/checkout / actions/cache (#1385)。
  • build 的版本要求放宽到 >=0.10,<1.6 (#1382)。

⚡ 性能

33337 个边界框,使用 IOS 度量,阈值为 0.3。优化前后的输出相同 (greedy_nmm 生成 6571 个预测结果,nmm 生成 4639 个预测结果)。

CPU(Intel Core i7-13850HX):

后端 greedy_nmm 优化前 优化后 nmm 优化前 优化后
numpy 15.88s 0.18s 27.06s 0.21s
torchvision 6.22s 0.18s 17.34s 0.21s
numba 1.53s 1.55s 18.56s 0.22s

CUDA(RTX 4000 Ada Laptop,12 GB):

后端 greedy_nmm 优化前 优化后 nmm 优化前 优化后
numpy 15.93s 0.26s 27.00s 0.21s
torchvision OOM,4.14 GiB 0.17s OOM,4.14 GiB 0.23s
numba 1.09s 1.09s 18.82s 0.22s

少于 2000 个边界框的输入以及任何非正数阈值仍使用速度更快的稠密路径。

完整更新日志https://github.com/obss/sahi/compare/0.12.1...0.12.2

🚀 SAHI v0.12.0 发布说明

这是 SAHI 迄今为止规模最大的版本之一。自 0.11.34 以来共包含 95 个提交 (同时纳入了 0.11.35/0.11.36 热修复版本),带来了重新设计的后处理引擎、 真正的批量推理、无 PyTorch 核心、新增的开放词汇和分割模型,以及全面重构的文档。

🚀 关键更新

⚡ 批量推理、无 PyTorch 核心与加速后处理后端

  • 批量推理:端到端批量处理切片,大幅提升 GPU 吞吐量 (#1336)。
  • 无 PyTorch 核心:核心切片和后处理流程不再硬依赖 PyTorch;只需安装所用后端需要的依赖 (#1336)。
  • 可插拔后处理后端:NMS/NMM 可以在以下后端运行: NumPy(无重型依赖)、Numba(JIT 加速 CPU)或 TorchVision(GPU);系统会根据当前环境自动选择 (#1336)。

🧠 新增模型支持

  • GroundingDINO (HuggingFace):通过 SAHI 的切片流程进行零样本、文本提示驱动的开放词汇检测, 并提供专用的演示 notebook (#1361)。
  • HuggingFace 通用分割 (#1360)。
  • RF-DETR-Seg 分割模型 (#1315)。
  • YOLOE 检测模型 (#1268)。
  • YOLO-World 开放词汇检测 (#1267)。
  • 在 Ultralytics 后端、CLI、文档和 notebooks 中支持 YOLO26 (#1321, #1322, #1356)。

🎚️ 更精细的切片与后处理控制

  • get_sliced_prediction 中新增 force_postprocess_type (#1346)。
  • 所有预测 API 均支持在每次调用时覆盖 confidence_threshold (#1352)。
  • Python API 和 CLI 中的 get_sliced_prediction 均支持进度条和进度回调 (#1255)。

📚 文档

  • 文档迁移至 Zensical,并全面清理代码类型标注和格式 (#1344)。
  • 新增中文 (zh) 翻译并保持同步 (#1253, #1332, #1347)。
  • 新增 API 参考、后处理后端指南、安全政策和行为准则 (#1257, #1272, #1349)。

✨ 性能与改进

  • 显著加速后处理:NMS、NMM 和 GREEDYNMM 现使用 shapely STRtree 空间索引, 大幅加速包含大量切片或检测结果的图像合并 (#1248)。
  • 加速 read_image_as_pil,提高切片吞吐量 (#1353)。
  • 改进预测和切片过程中的性能与资源管理 (#1263)。
  • 提升 nms 性能,并正确处理空预测结果 (#1288)。
  • 使用轻量级内置函数 yolo_bbox_to_voc_bbox 替代 pybboxes (#1320),并移除 pybboxes 和 固定版本的 opencv-python 约束 (#1325)。

🐞 Bug 修复

  • 修复空 shapely_annotation.multipolygon 导致边界框为空的问题 (#1140)。
  • 修复 Detectron2 模型的无效分割掩码 (#1262)。
  • 修正 BoundingBox 中的边距计算 (#1286)。
  • 修复 read_image_as_pil 对 CHW 格式图像的处理 (#1287)。
  • 校验 get_slice_bboxes 中的重叠率(必须小于 1.0) (#1285)。
  • 修正 RTDetrDetectionModel 中模型路径无效时的错误消息 (#1266)。
  • 修复后处理模块中不正确的类型标注 (#1327)。
  • Ultralytics 模型支持更多格式,并改进任务处理 (#1321)。
  • 新增 pywinpty,提升 Windows 开发兼容性 (#1319)。

🧹 维护与 CI

  • 将所有 GitHub Actions 固定到提交 SHA,提升供应链安全性 (#1351)。
  • 新增多操作系统 CI 矩阵,并使用更清晰的工作流名称 (#1334)。
  • CI 和文档升级至 Python 3.12/3.13 (#1259, #1260)。
  • 移除已弃用的 YOLOv5 辅助函数、旧版 requirements.txt、MMDet 工作流和未使用的 Netlify 配置 (#1326, #1342, #1341, #1335)。
  • 将依赖更新至 numpy<3.0torchvision 0.23.0,并纳入大量 Dependabot 依赖更新 (现在也覆盖 pip)。

🙌 新贡献者

  • @vinnik-dmitry07 在 #1140 中首次贡献
  • @nikvo1 在 #1248 中首次贡献
  • Christopher Field (@volks73) 在 #1262 中首次贡献
  • Haotian Gong (@ZephyrKeXiner) 在 #1253 中首次贡献
  • Yogendra Singh (@yogendrasinghx) 在 #1326 中首次贡献
  • Ivan Buldakov (@ibuldakov) 在 #1315 中首次贡献
  • Vignesh Suresh (@srikrishnavignesh) 在 #1360 中首次贡献
  • Ömer Günaydın (@siromermer) 在 #1361 中首次贡献

完整更新日志https://github.com/obss/sahi/compare/0.11.34...0.12.0

🚀 SAHI v0.11.31 发布说明

我们很高兴地宣布 SAHI v0.11.31 版本,包含重要的 Bug 修复和改进!

🆕 更新内容

🙌 新贡献者

完整更新日志https://github.com/obss/sahi/compare/0.11.30...0.11.31

🚀 SAHI v0.11.30 发布说明

我们很高兴地宣布 SAHI v0.11.30 版本,改进了性能追踪、增强了测试基础设施,并提升了开发者体验!

📈 里程碑

  • 引用 SAHI 的学术论文达到 400 篇! (#1168)

🚀 关键更新

⚡️ 性能与监控

  • 修复了 get_sliced_prediction 中的后处理耗时追踪:现在可以正确分离切片、预测和后处理的耗时,实现准确的性能监控 (#1201) - 感谢 @Toprak2!

🧩 框架更新

  • 重构 Ultralytics 支持,增加 ONNX 模型支持和更好的兼容性 (#1184)
  • 更新 TorchVision 支持至最新 API (#1182)
  • 改进 Detectron2 支持,优化配置处理以防止 KeyError 问题 (#1116) - 感谢 @Arnesh1411!
  • 新增 Roboflow 框架支持,用于 Roboflow Universe 的 RF-DETR 模型 (#1161) - 感谢 @nok!
  • 移除 deepsparse 集成,该框架已停止维护 (#1164)

🧪 测试基础设施

  • 测试套件迁移至 pytest (#1187)
    • 通过更好的并行执行加速测试
    • 扩展 Python 版本覆盖(3.8、3.9、3.10、3.11、3.12)
    • 更新至更新的 PyTorch 版本以实现更好的兼容性测试
    • 改进测试组织和可维护性
  • 重构 MMDetection 测试以提高可靠性 (#1185)

💻 开发者体验

  • 新增 Context7 MCP 集成,用于 AI 辅助开发 (#1198)
    • SAHI 的文档现已在 Context7 MCP 中建立索引
    • 为 AI 编码助手提供最新的、版本特定的代码示例
    • 包含 llms.txt 文件,用于 AI 可读文档
    • 查看 Context7 MCP 安装指南 将 SAHI 文档集成到您的 AI 工作流程中

🛠️ 改进

🧹 代码质量与安全性

  • 不可变边界框,用于线程安全操作 (#1194, #1191) - 感谢 @gboeer!
  • 增强类型提示和文档字符串 (#1195) - 感谢 @gboeer!
  • 预测分数运算符重载,支持直观的分数比较 (#1190) - 感谢 @gboeer!
  • PyTorch 现为软依赖,提高灵活性 (#1162) - 感谢 @ducviet00!

🏗️ 基础设施与稳定性

  • 改进依赖管理和文档 (#1183)
  • 增强 pyproject.toml 配置,实现更好的包管理 (#1181)
  • 优化 CI/CD 工作流,用于 MMDetection 测试 (#1186)

🐛 Bug 修复

  • 修复 CUDA 设备选择,支持 cuda:0 以外的设备 (#1158) - 感谢 @0xf21!
  • 修正参数命名,将 'confidence' 改为 'threshold' 以保持一致性 (#1180) - 感谢 @nok!
  • 修复设备选择函数中的正则表达式格式 (#1165)
  • 解决未安装 PyTorch 时的 torch 导入错误 (#1172) - 感谢 @ducviet00!
  • 修复 AutoDetectionModel.from_pretrained 的模型实例化问题 (#1158)

📦 依赖项

  • 将 OpenCV 包从 4.10.0.84 更新至 4.11.0.86 (#1171) - 感谢 @ducviet00-h2!
  • 移除已停止维护的 matplotlib-stubs 依赖 (#1169)
  • 清理未使用的配置文件 (#1199)

📚 文档

  • 新增 context7.json 以改进 AI 工具集成 (#1200)
  • 更新 README 中的贡献者信息 (#1175, #1179)
  • 新增 Roboflow+SAHI Colab 教程链接 (#1177)

🙏 致谢

特别感谢所有让此版本成为可能的贡献者:@nok、@gboeer、@Toprak2、@Arnesh1411、@0xf21、@ducviet00、@ducviet00-h2、@p-constant 和 @fcakyon!


完整更新日志https://github.com/obss/sahi/compare/0.11.24...0.11.30

🚀 SAHI v0.11.29 发布说明

🆕 更新内容

完整更新日志https://github.com/obss/sahi/compare/0.11.28...0.11.29

🚀 SAHI v0.11.28 发布说明

🆕 更新内容

🙌 新贡献者

完整更新日志https://github.com/obss/sahi/compare/0.11.27...0.11.28

🚀 SAHI v0.11.27 发布说明

🆕 更新内容

完整更新日志https://github.com/obss/sahi/compare/0.11.26...0.11.27

🚀 SAHI v0.11.26 发布说明

🆕 更新内容

🙌 新贡献者

完整更新日志https://github.com/obss/sahi/compare/0.11.25...0.11.26

🚀 SAHI v0.11.25 发布说明

🆕 更新内容

完整更新日志https://github.com/obss/sahi/compare/0.11.24...0.11.25

🚀 SAHI v0.11.24 发布说明

🆕 更新内容

🙌 新贡献者

完整更新日志https://github.com/obss/sahi/compare/0.11.23...0.11.24

🚀 SAHI v0.11.23 发布说明

🆕 更新内容

🙌 新贡献者

完整更新日志https://github.com/obss/sahi/compare/0.11.22...0.11.23

🚀 SAHI v0.11.22 发布说明

🆕 更新内容

完整更新日志https://github.com/obss/sahi/compare/0.11.21...0.11.22

📚 核心文档文件

📦 预测工具

  • 执行目标检测推理的详细指南
  • 标准和切片推理示例
  • 批量预测用法
  • 推理时的类别排除
  • 可视化参数和导出格式
  • 各模型集成的交互式示例(YOLOv8、MMDetection 等)

✂️ 切片工具

  • 大图像和数据集切片指南
  • 图像切片示例
  • COCO 数据集切片示例
  • 交互式示例 notebook 参考

🐒 COCO 工具

  • 处理 COCO 格式数据集的全面指南
  • 数据集创建和操作
  • COCO 数据集切片
  • 数据集拆分(训练集/验证集)
  • 类别筛选和更新
  • 基于面积的筛选
  • 数据集合并
  • 格式转换(COCO ↔ YOLO)
  • 数据集采样工具
  • 统计计算
  • 结果验证

💻 CLI 命令

  • SAHI 命令行界面完整参考
  • 预测命令
  • FiftyOne 集成
  • COCO 数据集操作
  • 环境信息
  • 版本检查
  • 自定义脚本用法

👁️ FiftyOne 集成

  • 使用 FiftyOne 可视化和分析预测的指南
  • 数据集可视化
  • 结果探索
  • 交互式分析

📓 交互式示例

所有文档文件都配有 demo 目录 中的交互式 Jupyter notebook:

  • slicing.ipynb - 切片操作演示
  • inference_for_ultralytics.ipynb - YOLOv8/YOLO11/YOLO26 集成
  • inference_for_ultralytics_yoloe.ipynb - YOLOE 集成
  • inference_for_yolov5.ipynb - YOLOv5 集成
  • inference_for_mmdetection.ipynb - MMDetection 集成
  • inference_for_detectron2.ipynb - Detectron2 集成
  • inference_for_huggingface.ipynb - HuggingFace 模型集成
  • inference_for_groundingdino.ipynb - GroundingDINO 零样本检测
  • inference_for_torchvision.ipynb - TorchVision 模型集成
  • inference_for_rtdetr.ipynb - RT-DETR 集成
  • inference_for_roboflow.ipynb - Roboflow RF-DETR 集成

🚦 快速上手

如果您是 SAHI 新用户:

  1. 预测工具开始,了解基本推理
  2. 探索切片工具,学习处理大图像
  3. 查看 CLI 命令,了解命令行用法
  4. 深入 COCO 工具,学习数据集操作
  5. 尝试 demo 目录 中的交互式 notebook,获取实践经验

🚀 SAHI v0.11.21 发布说明

🆕 更新内容

🙌 新贡献者

完整更新日志https://github.com/obss/sahi/compare/0.11.20...0.11.21

🚀 SAHI v0.11.20 发布说明

🆕 更新内容

完整更新日志https://github.com/obss/sahi/compare/0.11.19...0.11.20

🚀 SAHI v0.11.19 发布说明

🆕 更新内容

🙌 新贡献者

完整更新日志https://github.com/obss/sahi/compare/0.11.18...0.11.19

🚀 SAHI v0.11.18 发布说明

🆕 更新内容

🙌 新贡献者

完整更新日志https://github.com/obss/sahi/compare/0.11.16...0.11.18

🚀 SAHI v0.11.16 发布说明

🚀 SAHI v0.11.15 发布说明

🚀 SAHI v0.11.14 发布说明

🆕 更新内容

🙌 新贡献者

完整更新日志https://github.com/obss/sahi/compare/0.11.13...0.11.14

🚀 SAHI v0.11.13 发布说明

🚀 SAHI v0.11.12 发布说明

🚀 SAHI v0.11.11 发布说明

🚀 SAHI v0.11.10 发布说明

🚀 SAHI v0.11.9 发布说明

🚀 SAHI v0.11.8 发布说明

🚀 SAHI v0.11.7 发布说明

🚀 SAHI v0.11.6 发布说明

🚀 SAHI v0.11.5 发布说明

🚀 SAHI v0.11.4 发布说明

🚀 SAHI v0.11.3 发布说明

🚀 SAHI v0.11.2 发布说明

🚀 SAHI v0.11.1 发布说明