首页
/ 【亲测免费】 EdgeSAM开源项目教程

【亲测免费】 EdgeSAM开源项目教程

2026-01-23 06:17:02作者:殷蕙予

1. 项目介绍

EdgeSAM是一个针对边缘设备优化的Segment Anything Model (SAM)加速变体。它通过将原始的ViT-based SAM图像编码器蒸馏为纯CNN架构,实现了在边缘设备上的高效执行,同时保持了较高的性能。EdgeSAM在边缘设备上的运行速度比原始SAM快40倍,比MobileSAM快14倍,并且在COCO和LVIS数据集上的mIoU分别提升了2.3和3.2。此外,EdgeSAM是首个能在iPhone 14上以超过30 FPS运行的SAM变体。

2. 项目快速启动

环境准备

确保您的系统中已安装Python 3.8或更高版本,并安装以下依赖:

pip install torch==2.0.0 torchvision==0.15.1

克隆仓库

git clone https://github.com/chongzhou96/EdgeSAM.git
cd EdgeSAM

安装依赖

pip install -r requirements.txt
pip install -e .

下载预训练模型

mkdir weights
wget -P weights/ https://huggingface.co/spaces/chongzhou/EdgeSAM/resolve/main/weights/edge_sam.pth
wget -P weights/ https://huggingface.co/spaces/chongzhou/EdgeSAM/resolve/main/weights/edge_sam_3x.pth

使用EdgeSAM

以下是一个简单的Python代码示例,展示如何使用EdgeSAM进行预测:

from edge_sam import SamPredictor, sam_model_registry

# 加载模型
sam = sam_model_registry["edge_sam"](checkpoint="<path/to/checkpoint>")
predictor = SamPredictor(sam)

# 设置图像
predictor.set_image(<your_image>)

# 进行预测
masks, _, _ = predictor.predict(<input_prompts>)

3. 应用案例和最佳实践

案例1:图像分割

EdgeSAM可以用于图像分割任务,例如在自动驾驶中对道路场景进行分割,或在医疗影像分析中对器官进行分割。

案例2:目标检测

结合目标检测模型,EdgeSAM可以提供更精确的目标掩码,提升检测效果。

最佳实践

  • 数据预处理:确保输入图像的分辨率和格式符合模型要求。
  • 模型选择:根据任务需求选择合适的预训练模型(如EdgeSAM-3x或EdgeSAM-10x)。
  • 性能优化:在边缘设备上部署时,考虑使用ONNX或CoreML格式进行模型优化。

4. 典型生态项目

Grounded-Segment-Anything

该项目结合了Grounding DINO和EdgeSAM,实现了基于文本描述的图像分割。

X-AnyLabeling

EdgeSAM已被集成到X-AnyLabeling项目中,用于提供高效的图像标注工具。

ISAT

EdgeSAM在ISAT(一个分割标注工具)中得到支持,提升了标注效率和准确性。

通过以上教程,您应该能够快速上手EdgeSAM项目,并在实际应用中发挥其强大的图像分割能力。

登录后查看全文
热门项目推荐
相关项目推荐