OBSS/SAHI项目CLI命令全解析:高效目标检测工具实战指南
前言
OBSS/SAHI是一个专为小目标检测优化的开源工具库,其核心功能是通过切片推理技术提升检测精度。本文将全面解析SAHI提供的命令行接口(CLI),帮助开发者快速掌握这个强大工具的使用方法。
核心预测命令:predict
predict
是SAHI最核心的命令,用于执行切片推理任务。基本使用格式如下:
sahi predict --source 图像/文件/文件夹 --model_path 模型路径 --model_config_path 配置文件路径
关键参数解析
-
输入源支持:
- 支持单张图片、图片文件夹或视频文件
- 视频处理时可添加
--view_video
实时查看结果 - 视频控制快捷键:
- D:前进100帧
- A:后退100帧
- G:前进20帧
- F:后退20帧
- Esc:退出
-
切片参数:
--slice_width
/--slice_height
:切片尺寸(默认512)--overlap_height_ratio
/--overlap_width_ratio
:切片重叠比例(默认0.1)
-
模型配置:
--model_type
:指定框架类型(mmdet或ultralytics)--model_confidence_threshold
:置信度阈值(默认0.25)
-
后处理选项:
--postprocess_type
:选择NMS或GREEDYNMM算法--postprocess_match_metric
:匹配度量标准(IOU或IOS)--postprocess_match_threshold
:匹配阈值(默认0.5)
-
输出控制:
--export_pickle
:导出预测结果为pickle文件--export_crop
:导出裁剪的预测区域--novisual
:不生成可视化结果
高级功能命令
COCO数据集处理
-
coco slice: 将COCO格式数据集切片处理,便于小目标检测训练
sahi coco slice --image_dir 图像目录 --dataset_json_path 标注文件
-
coco yolo: 将COCO格式转换为YOLO格式(Windows需管理员权限)
sahi coco yolo --image_dir 图像目录 --dataset_json_path 标注文件 --train_split 0.9
评估与分析
-
coco evaluate: 计算COCO标准评估指标
sahi coco evaluate --dataset_json_path 标注文件 --result_json_path 预测结果
-
coco analyse: 生成详细的错误分析图表
sahi coco analyse --dataset_json_path 标注文件 --result_json_path 预测结果
FiftyOne集成
-
predict-fiftyone: 直接在FiftyOne可视化界面中展示预测结果
sahi predict-fiftyone --image_dir 图像目录 --model_path 模型路径
-
coco fiftyone: 在FiftyOne中对比多个检测结果
sahi coco fiftyone --image_dir 图像目录 --dataset_json_path 标注文件 结果1.json 结果2.json
实用工具命令
-
env: 检查环境依赖版本
sahi env
-
version: 查看SAHI版本
sahi version
性能优化建议
- 对于大视频文件处理,添加
--frame_skip_interval
参数跳过部分帧 - 使用
--no_sliced_prediction
跳过切片推理可提升速度 - 调整切片重叠比例平衡精度与速度
- 合理设置置信度阈值减少后处理负担
结语
SAHI的CLI接口提供了从数据预处理、模型推理到结果分析的全流程工具链。通过合理组合这些命令,开发者可以快速构建高效的小目标检测流水线。建议从基础predict命令开始,逐步尝试其他高级功能,以充分发挥SAHI在小目标检测领域的优势。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考