当前位置: 首页 > news >正文

图像分割 3D-Box-Segment-Anything(5)如何加速 - MKT

 

1算法

 

目前有多个针对速度优化的SAM变体版本,以下是主流的快速版SAM模型:

1. ​​MobileSAM​​ ⭐ 最推荐

  • ​​特点​​:将SAM的ViT-H图像编码器替换为更轻量的TinyViT
  • ​​速度提升​​:比原始SAM快4-5倍
  • ​​模型大小​​:从原始SAM的2.4GB降至40MB
  • ​​精度保持​​:在多数任务上保持相近性能

 

2. ​​EfficientSAM​​ ⭐ 轻量高效

  • ​​特点​​:专为效率设计,采用SAMI预训练方法
  • ​​速度优势​​:比SAM快20倍,比MobileSAM快4倍
  • ​​模型大小​​:仅10-50MB
  • ​​适用场景​​:移动端和边缘设备

 

2. ​​EfficientSAM​​ ⭐ 轻量高效

  • ​​特点​​:专为效率设计,采用SAMI预训练方法
  • ​​速度优势​​:比SAM快20倍,比MobileSAM快4倍
  • ​​模型大小​​:仅10-50MB
  • ​​适用场景​​:移动端和边缘设备

 

目前有多个针对速度优化的SAM变体版本,以下是主流的快速版SAM模型:

1. ​​MobileSAM​​ ⭐ 最推荐

  • ​​特点​​:将SAM的ViT-H图像编码器替换为更轻量的TinyViT
  • ​​速度提升​​:比原始SAM快4-5倍
  • ​​模型大小​​:从原始SAM的2.4GB降至40MB
  • ​​精度保持​​:在多数任务上保持相近性能
 
from mobile_sam import SamPredictor, sam_model_registry mobile_sam = sam_model_registry["vit_t"](checkpoint="./weights/mobile_sam.pt") predictor = SamPredictor(mobile_sam)
 
 

2. ​​EfficientSAM​​ ⭐ 轻量高效

  • ​​特点​​:专为效率设计,采用SAMI预训练方法
  • ​​速度优势​​:比SAM快20倍,比MobileSAM快4倍
  • ​​模型大小​​:仅10-50MB
  • ​​适用场景​​:移动端和边缘设备
 
from efficient_sam import build_efficient_sam efficient_sam = build_efficient_sam() efficient_sam.predict(image, points) # 极快推理
 
 

3. ​​EdgeSAM​​ ⭐ 边缘设备优化

  • ​​优势​​:专门为边缘计算优化,支持ONNX、TensorRT
  • ​​部署友好​​:提供完整的移动端部署方案
  • ​​性能​​:在移动设备上可达实时推理

4. ​​FastSAM​​ ⭐ 实时检测导向

  • ​​方法创新​​:用YOLO式检测替代原版分割思路
  • ​​速度表现​​:比SAM快50倍以上
  • ​​特点​​:更适合框提示的场景检测
  • ​​局限性​​:分割精度略有下降
 
from fastsam import FastSAM, FastSAMPrompt model = FastSAM('./weights/FastSAM.pt') results = model(image, device='cuda', imgsz=1024)
 
 

5. ​​Light-HQSAM​​ ⭐ 精度与速度平衡

  • ​​特点​​:在SAM基础上引入轻量化设计
  • ​​优势​​:更好的精度-速度权衡
  • ​​适用​​:需要较高精度的实时应用

6. ​​SAM 2.0 官方优化版本​​

Meta官方也提供了不同规模的版本:

  • ​​SAM2-ViT-B​​:基础版,速度提升2-3倍
  • ​​SAM2-ViT-S​​:小模型,适合移动端
  • ​​SAM2-ViT-T​​:极小模型,最大速度优化

image

 

 

2 策略

 2-0 模型轻量化与优化

  • ​​使用轻量级版本​​:优先选择 SAM2 的 mobile_sam或 tiny_vitbackbone 版本
  • ​​调整编码器​​:将默认的 ViT-H 替换为更小的 ViT-B 或 ViT-T
  • ​​自定义模型尺寸​​:通过减少 Transformer 层数和注意力头数来裁剪模型

 

2-1分辨率和尺度自适应处理​​

  • 根据无人机飞行高度动态调整处理分辨率
  • 高空:低分辨率快速扫描
  • 低空:高精度分割关键区域

分辨率调整策略​​

  • 将输入图像分辨率从 1024x1024 降至 512x512 或 768x768
  • 采用渐进式编码:先低分辨率快速检测,感兴趣区域再高精度分割
  • 对无人机视频流使用帧采样(如每3帧处理1帧)

2-2 目标框检测 然后精细化分割

 

ROI聚焦技术​​

  • 先用轻量级检测器(YOLO等)定位地标大致区域
  • 只对候选区域运行 SAM2 精细分割
  • 减少需要处理的像素数量
def cascade_detection_pipeline(frame):# 1. 先用FastSAM/YOLO快速定位地标bboxes = fast_detector(frame)# 2. 对候选区域用MobileSAM精细分割for bbox in bboxes:roi = extract_roi(frame, bbox)mask = mobile_sam.segment(roi)return results

  

 

http://www.hskmm.com/?act=detail&tid=36233

相关文章:

  • 静态方法(`@staticmethod`)和类方法(`@classmethod`)的应用场景及选择原则
  • 数据集 - MKT
  • 专门针对无人机分割的预训练模型​ - MKT
  • 为什么一般教材在讲解python的多态概念时,不用抽象基类及其相关内容讲解呢?
  • [Bash] bash scripting common pitfalls
  • [Bash]让人头晕的if条件
  • 鸭子类型(Duck Typing)中的“类型”,指的是什么的类型?为什么很多人认为“Python 没有真正实现多态”?多态的核心目的是什么?鸭子类型如何实现多态?
  • tryhackme-预安全-windows基础-windows 基础知识1-16
  • YOLO11深度学习的遥感视角地面房屋建筑检测分割与分析系统 - MKT
  • 鸭子类型(Duck Typing)中的“类型”,指的是什么的类型?为什么很多人认为“Python 没有真正实现多态”
  • OAK-D-SR近红外相机 - MKT
  • 图像分割 Segment Anything(1-2)第二代 - MKT
  • 对比c++中的多态和python的多态
  • 结对项目-自动生成小学四则运算题目命令行程序
  • tryhackme-预安全-linux 基础-Linux 基础知识(第二部分)-14
  • tryhackme-预安全-linux 基础-Linux 基础知识(第一部分)-13
  • 我测试了七个主流后端框架的性能-结果让我重新思考了技术选型
  • tryhackme-预安全-网络如何工作-总结-12
  • 目标检测 Grounding DINO 用语言指定要检测的目标 - MKT
  • 图像分割 Segment Anything(3)分割2D到3D点云分割 rgb-d相机 - MKT
  • 图像分割 3D-Box-Segment-Anything(3)分割2D到3D点云分割 rgb相机 - MKT
  • 图像分割 Segment Anything(3)分割2D到3D点云分割 rgb相机 - MKT
  • Python 包管理工具推荐:uv
  • 3D框预测 VoxelNeXt - MKT
  • 【神器】如何查看api域名内容
  • 高级程序语言第二次作业
  • 【ESP32-LLM项目】计算音频信号RMS值的函数
  • Linux消息队列如何查看与排查问题?
  • CF2007B Index and Maximum Value
  • 2022 ICPC Jinan DG and 2022 ICPC Nanjing