micro-sam CLI命令完整参考:9个命令行工具快速搭建自动化标注与训练工作流
【免费下载链接】micro-samSegment Anything for Microscopy项目地址: https://gitcode.com/gh_mirrors/mi/micro-sam
micro-sam(μSAM)是面向显微镜图像的全自动分割与追踪框架,基于 Segment Anything 模型打造。它内置了9 个 CLI 命令行工具,覆盖从环境检查、特征预计算、交互式标注、模型微调、自动分割到定量评估的完整流程。本文以新手视角逐一讲解每个命令的用途与关键参数,帮你 10 分钟搭好自动化标注与训练工作流。
一键安装 micro-sam CLI 工具
所有命令行工具都随包自动注册,装好即可用,无需额外配置:
# 方式一:pip 安装 pip install micro_sam # 方式二:conda 安装(推荐新手使用独立环境) conda create -c conda-forge -n micro-sam micro_sam conda activate micro-sam💡 9 个命令均以
micro_sam.为前缀,例如micro_sam.info、micro_sam.train。注册入口定义在 setup.cfg,官方命令清单见 doc/cli_tools.md。
9 个 CLI 命令速览
| 命令 | 功能 | 适用场景 |
|---|---|---|
micro_sam.info | 查看环境与包信息 | 安装后自检、排错 |
micro_sam.precompute_embeddings | 预计算图像特征(embeddings) | 加速标注与自动分割 |
micro_sam.annotator_2d | 2D 交互式标注器 | 荧光/明场细胞分割 |
micro_sam.annotator_3d | 3D 交互式标注器 | 体积数据(如 EM 线粒体) |
micro_sam.annotator_tracking | 时序追踪标注器 | 活细胞动态追踪 |
micro_sam.image_series_annotator | 图像序列标注器 | 批量处理同一数据集 |
micro_sam.automatic_segmentation | 自动实例分割/追踪 | 无人值守批量分割 |
micro_sam.train | 微调 SAM 模型 | 用自有数据提升精度 |
micro_sam.evaluate | 定量评估分割结果 | 对比模型性能 |
环境自检:micro_sam.info
安装完成后第一件事——运行环境自检:
micro_sam.info它会以表格形式展示 Python 包版本、PyTorch 版本、GPU 可用性、CPU/内存占用等系统级信息,是排查"GPU 为何没生效"这类问题的首选工具。源码位于 micro_sam/util.py。
提速关键:micro_sam.precompute_embeddings
SAM 模型最耗时的一步是计算图像特征。micro-sam支持把特征缓存到磁盘,标注、微调、分割时直接复用:
micro_sam.precompute_embeddings \ -i /path/to/images \ -e /path/to/embeddings.zarr \ --pattern '*' \ -m unet_vit_b \ --ndim 2关键参数:
-i输入路径(支持 tif、png、hdf5、zarr 等);-e特征输出路径--pattern用通配符批量选择文件-m指定模型类型;--ndim指定图像空间维度(2D/3D),强烈建议显式设置- 内存不够时可加
--tile_shape/--halo启用分块计算
实现见 micro_sam/precompute_state.py。
交互式标注三连:annotator_2d / annotator_3d / annotator_tracking
2D 标注:micro_sam.annotator_2d
启动后打开 napari 图形界面,只需在目标细胞上"点几下"即可完成分割,点击负反馈点可修正过分割:
micro_sam.annotator_2d -i /path/to/image.tif -m unet_vit_b3D 标注:micro_sam.annotator_3d
用于体数据(volume),支持逐层分割并自动传播到相邻切片,适合电镜下的线粒体、核等结构:
micro_sam.annotator_3d -i /path/to/volume.ome.tif -m unet_vit_b --ndim 3时序追踪:micro_sam.annotator_tracking
在 2D 标注基础上增加时间轴管理,可交互式追踪活细胞轨迹,并导出追踪结果(CTC 格式):
micro_sam.annotator_tracking -i /path/to/timeseries -m unet_vit_b --ndim 3三者共享同一套模型选择器,可在界面里随时切换unet_vit_t/b/l、sam_vit_b/h、mobile_sam等预训练模型:
批量处理:micro_sam.image_series_annotator
当你的数据是"同一个实验产生的几十张图"时,逐张打开标注器很麻烦。图像序列标注器允许你在一个窗口内遍历整个目录,前一张标完一键跳到下一张,结果自动分别保存:
micro_sam.image_series_annotator -i /path/to/folder --pattern '*.tif' -m unet_vit_b无人值守分割:micro_sam.automatic_segmentation
把标注好的模型跑成全自动流水线,支持 2D/3D/时间序列数据,也支持自动追踪。三种模式由--mode控制:
# 自动实例分割(AIS,需微调过带实例解码器的模型) micro_sam.automatic_segmentation -i input.tif -o output/ \ -m unet_vit_b --mode ais --ndim 2 # 自动提示生成(APG)或通用掩码生成(AMG) micro_sam.automatic_segmentation -i input.tif -o output.tif \ -m unet_vit_b --mode apg --center_distance_threshold 10-i输入文件(可多个);-o输出路径(单图为 tif,多图为目录;追踪结果输出 CTC 格式)--mode amg/ais/apg:AMG 支持默认 SAM 与微调解;AIS/APG 需要带实例分割解码器的micro-sam模型- 不改参数时使用该模型的官方最优后处理参数;想精细调参可加
--pred_iou_thresh、--stability_score_thresh等
注意:3D 自动分割要求数据是真正的体积文件(如 ome-tiff),不支持简单堆叠的 png。实现见 micro_sam/automatic_segmentation.py。
用自有数据训练:micro_sam.train
这是搭建"专属模型"的核心命令——把你的标注数据喂给 SAM 做微调:
micro_sam.train \ --image_data /path/to/images \ --label_data /path/to/labels \ --val_image_data /path/to/val_images \ --val_label_data /path/to/val_labels \ -c instance_segmentation \ -d cuda \ -m unet_vit_b \ --checkpoint /path/to/checkpoint.pt \ -o /path/to/output--image_data/--label_data:训练图像与真值标签(文件或目录)--val_*:验证集-c训练配置(如instance_segmentation);-d设备(cuda/cpu/mps)-m基础模型;--checkpoint从已下载的微调 checkpoint 继续训练,精度更高--with_segmentation_decoder训练带实例分割解码器的模型(AIS/APG 模式所需)
参数细节见 micro_sam/training/training.py,更多微调策略参考 finetuning/README.md。
定量评估:micro_sam.evaluate
分割完成后的"交卷检查"——用真值标签对比预测结果,输出 Dice、F1、AP、AR、AF 等指标:
micro_sam.evaluate \ --labels /path/to/labels.tif \ --predictions /path/to/predictions.tif \ --ndim 2评估逻辑位于 micro_sam/evaluation/evaluation.py。
基准测试:micro_sam.benchmark_sam
想系统对比micro-sam与原版 SAM 在公开显微数据集上的表现?benchmark_sam一键跑完整基准测试,支持lucchi、mitoem、snemi等数据集:
micro_sam.benchmark_sam -d lucchi -m unet_vit_b源码见 micro_sam/evaluation/benchmark_datasets.py。
实战工作流:从标注到评估只需 6 步
把上面命令串起来,就是一条完整的自动化工作流:
- 自检:
micro_sam.info确认 GPU 与版本 - 预计算特征:
micro_sam.precompute_embeddings -i ... -e embed.zarr - 标注数据:
micro_sam.annotator_2d点击式分割,导出真值 - 微调模型:
micro_sam.train --image_data ... --label_data ... - 自动分割:
micro_sam.automatic_segmentation -i ... --mode ais - 定量评估:
micro_sam.evaluate --labels ... --predictions ...
📌 小贴士
- 每个命令加
-h即可查看完整参数说明,例如micro_sam.annotator_2d -h- 处理大图像/大体积时显式设置
--ndim,避免读入维度出错- 标注数据量大时,先预计算 embeddings 可把后续步骤提速数倍
掌握这 9 个 CLI 命令,你就能在终端里跑通micro-sam的"标注 → 训练 → 分割 → 评估"全流程,把交互式点击标注与无人值守批量处理无缝结合起来。更多细节可查阅 doc/cli_tools.md、doc/annotation_tools.md 与 doc/finetuned_models.md。
【免费下载链接】micro-samSegment Anything for Microscopy项目地址: https://gitcode.com/gh_mirrors/mi/micro-sam
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考