Segment-and-Track-Anything运行复现

Segment-and-Track-Anything运行复现_第1张图片
Segment and Track Anything 是一个开源项目,专注于利用自动和交互式方法对视频中的任何对象进行分割和跟踪。 使用的主要算法包括 SAM (Segment Anything Models) 用于自动/交互式关键帧分割的 DeAOT (将对象与转换器关联的解耦特征) 和用于高效多对象跟踪和传播的 (NeurIPS2022)。 SAM-Track 管道支持 SAM 动态和自动检测和分割新对象,而 DeAOT 负责跟踪所有已识别的对象。
源码位置:https://github.com/z-x-yang/Segment-and-Track-Anything

一、下载代码

pip install git+https://github.com/z-x-yang/Segment-and-Track-Anything.git

二、安装

要求:python>=3.9 , pytorch>=1.10,torchvision>=0.11
1、安装依赖

bash script/install.sh

2、下载模型
新建ckpt文件夹,并把模型文件放入其中

https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth
https://drive.google.com/file/d/1QoChMkTVxdYZ_eBlZhK2acq9KMQZccPJ/view

下载默认权重

bash script/download_ckpt.sh

三、运行Demo

将待处理视频放入./assets文件夹中
用jupyter notebool运行 demo.ipynb
生成文件也在./assets文件夹中
SAM-Track、DeAOT 和 SAM 的参数可以在 model_args.py 中手动修改

或者web打开

python app.py

使用浏览器打开给出的网络链接
点击 input-video 上传视频
调整 SAM-Track 参数
点击 Seg and Track得到结果

参数:

  • aot_model :用于选择用于跟踪和传播的 DeAOT/AOT 版本。 sam_gap :用于控制 SAM
    以指定帧间隔添加新出现对象的频率。 增加以降低发现新目标的频率,但显着提高推理速度。
  • points_per_side :用于通过在图像上采样网格来控制用于生成掩码的每边点数。
    增加尺寸可以增强检测小物体的能力,但较大的目标可能会被分割成更细的粒度。
  • max_obj_num :用于限制 SAM-Track 可以检测和跟踪的最大对象数。 对象数量越多,内存利用率就越高,大约 16GB
    的内存最多可以处理 255 个对象。

你可能感兴趣的:(git,深度学习,python,人工智能)