AI_pytorch_SAM

分割

 不需要训练(training-free)的算法
 Few-shot learning指从少量标注样本中进行学习的一种思想
  根据样本量 的需求可以分为:传统监督式学习、Few-shot Learning、One-shot Learning、Zero-shot Learning
     海量数据 + 反复训练
	 Few-shot Learning(少样本学习)是Meta Learning(元学习)中的一个实例,
	 不同类别的样本只有一个,则成为One-shot learning.
 token embedding prompt	 

SAM

 from segment_anything import SamPredictor, sam_model_registry,SamAutomaticMaskGenerator

结构:三个大模块,image encoder,prompt encoder和mask decoder
  image encoder旨在映射待分割的图像 到图像特征空间
  prompt encoder则是负责映射输入的prompt到prompt的特征空间 sparse和dense两种prompt
      目标框或者是描述目标的text  对应的是mask类型的promp
  mask decoder	  
	整合 image encoder和prompt encoder分别输出的两个embedding, embedding的feature map解码出最终的分割mask  
流程:
    1.ViT的流程:feature—map patch_embedding positional_embedding
	
	2.prompt:
	 sparse prompt
	         prompt是point: 位置编码  pos点还是neg点
	         prompt是box  : 左上和右下两个点的位置编码 是一组一维向量用来描述这个点是“左上”还是“右下”
	 dense prompt
	        mask
     
	 prompt embedding(这一步改名叫prompt token)
 
	3.mask decoder
	      prompt embedding和image embedding
		output tokens: output tokens由两个部分构成	 一个是iou token  mask token

Personalize-SAM

说明:   
   对象和新测试图像上所有像素之间的特征相似度  位置先验

 from per_segment_anything import sam_model_registry, SamPredictor
输入:
  The user provides one example image + corresponding mask, 
输出 
    the PerSAM method allows to directly segment the target concept (like a dog) in new images. 


python persam.py --outdir  img

说明:
 Step 1: get target embedding
    SAM's vision backbone (called ref_feat
 Step 2: calculate cosine similarity
 
 01.准备路径-导入图片和对应的mask
 02.Load SAM
     sam = sam_model_registry[sam_type](checkpoint=sam_ckpt).cuda()
     predictor = SamPredictor(sam)
03.	 
   001.Image features encoding
   002.Target feature extraction
004.开始推理
   	001.导入测试数据
	002.# Image feature encoding
	003.# Cosine similarity
	004.# Positive-negative location prior
	005.  # Obtain the target guidance for cross-attention layers
	006.# First-step prediction
	007. # Cascaded Post-refinement-1
	008. # Cascaded Post-refinement-2

参考

https://github.com/facebookresearch/segment-anything
posted @ 2023-06-27 15:39  辰令  阅读(27)  评论(0编辑  收藏  举报