当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]SAM和SAM2模型是革命性的,因为它们可以对“任何东西”进行分割,甚至不需要事先进行特定于应用程序的训练。这些模型已经成为非常流行的自动标记图像和视频的模型。

几年来,我一直试图在视频中追踪登山者。

我的动机是双重的:

在我热衷的主题(运动攀岩)上探索算法

分析两名攀岩者之间的攀岩技术

在探索过程中,我偶然发现了一个名为“SAMURAI”的算法,这对于我的特定用例来说确实是一个突破。

该项目将为SAMURAI提供入门指南,特别是针对AMD gpu。

SAMURAI概述

SAMURAI建立在分段任何模型2.1 (SAM2.1)之上,并改进了其跟踪能力。

SAM和SAM2模型是革命性的,因为它们可以对“任何东西”进行分割,甚至不需要事先进行特定于应用程序的训练。这些模型已经成为非常流行的自动标记图像和视频的模型。

除此之外,它们还可以“跟踪”视频内容中识别的对象。

还有其他的解决方案提供了类似的跟踪改进,其中一些声称更好的跟踪,即使是相同的对象(如:干扰)。其中一个解决方案是用于SAM 2.1的干扰感知内存,或DAM4SAM。

DAM4SAM声称比SAMURAI有更好的跟踪能力,特别是在有干扰的情况下。相同的对象):

我已经评估了这两种解决方案,看看哪种解决方案更适合我的特定用例:跟踪感兴趣的攀登者(CoI)。我邀请您对您的特定用例执行类似的比较。

SAMURAI vs DAM4SAM

本实验的主要结论如下:

•SAMURAI比DAM4SAM快6倍(使用AMD Radeon Pro W7900 GPU)

•DAM4SAM失去了攀登者(跟踪任务失败),而SAMURAI成功了

设置硬件

我的设置包括AMD Radeon Pro W7900 GPU,但这些指令预计将与使用AMD ROCm软件堆栈的任何AMD GPU一起工作。

有关如何设置AMD GPU的更多信息,包括升级电源和添加前机箱风扇,请参考以下项目:

介绍AMD Radeon Pro W7900 GPU

我们应该首先验证AMD GPU的驱动程序是否安装,如下所示:

在撰写本文时,ROCm的最新版本是6.2.4。

为AMD gpu安装SAMURAI

SAMURAI提供了出色的安装说明,但仅适用于NVIDIA gpu。

为了这个项目的目的,我将参考下面的repo,它有一个特定版本的SAMURAI存储库链接为gitmodule:

“samurai”子目录包含原始存储库的特定版本,可以按照以下方式安装:

在安装过程中,我们可以注意到,除其他外,以下软件包已默认安装支持NVIDIA CUDA:

torch> = 2.3.1

torchvision > = 0.18.1

因此,我们需要安装与这些包等价的ROCm,如下所述:

我们也可以通过PyTorch验证AMD GPU的支持,如下面的python会话:

我们还可以使用“nvtop”来监控GPU的使用情况:

下面的屏幕截图显示了nvtop的输出。在我的系统中,我有一个AMD Radeon Pro W7900 GPU (48GB),以及一个较小的NVIDIA T400 GPU (4GB)。

启动演示

演示脚本可以从samurai目录启动,如下所示:

下面的可选参数指定了要使用的模型:

•Model_path:要使用的模型(默认= sam2/检查点/sam2.1 .1_hiera_base_plus.pt)

该模型的其他变体有:tiny、small、base_plus(默认值)和large。

我只试验了默认的base_plus模型。

演示脚本有以下参数指定输入:

•Video_path:视频文件(仅支持mp4)或图像目录(仅支持jpg)的路径

•Txt_path:包含要跟踪对象的初始边界框(x, y, w, h)的文本文件

演示脚本也有以下可选输出参数:

•Save_to_video: Boolean,表示是否保存输出的视频文件

•Video_output_path:视频文件输出路径

我已经基于原始的demo.py实现了自己的脚本,将在下面几节中描述。

•samurai_step01.py

•samurai_step02.py

CPU内存限制

SAMURAI模型使用<2GB的VRAM(即使是大型模型),因此应该与任何GPU一起工作。

然而,主循环将所有输入图像(来自图像文件的视频)加载到内存中,这可能需要大量的CPU内存。

下面的屏幕截图说明了SAMURAI如何为一个包含3000张1920x1080大小的图像的用例分配64GB CPU内存的60%。

根据我的计算,这个用例应该只需要我64GB内存的30%,因为3000 * (1920*1080*3)= 17.38GB。因此,我们可以得出结论,SAMURAI执行所需的内存是输入图像的两倍。

这将限制您可以提供给SAMURAI算法的输入图像的数量。

为了超越这个限制,可以运行几次,将前一次迭代的最后一个掩码的边界框作为下一次迭代的边界框。

指定输入

演示脚本允许将输入指定为视频文件或输入图像。

使用默认的“demo.py”脚本,我没有成功地使视频文件输入工作,导致分割错误。

出于这个原因,我创建了自己的预处理脚本,将输入视频转换为输出图像。我还将以下功能集成到我的脚本中:

•跳过帧:通过参数指定,允许减少生成的图像数量

•开始帧选择:由用户用‘s’键指定

•结束帧选择:由用户用‘e’键指定

•ROI选择:由用户用鼠标指定

“samurai_step01.py”脚本可用于从输入视频中提取图像。它的用法如下:

该脚本将启动两个窗口:

•samurai_step01 -控制

•samurai_step01

“samurai_step01 - Controls”窗口允许你调整视频内容的大小(scaleFactor),并在视频中导航(frameNum)。

第一步是导航到一个帧,它将成为提取图像的开始帧,用‘s’键选择它,然后使用鼠标选择要跟踪的对象的ROI。在我的用例中,这是一个攀爬器,但您可以选择任何对象。

脚本将生成详细的“[INFO]…”来确认您与GUI的交互。

下一步是导航到结束帧,用“e”键选择它,然后按“w”键提取图像。

该脚本将在指定的工作目录下生成以下内容:

生成输出掩码

使用从视频中提取的图像,我们现在可以运行SAMURAI算法,使用“samurai_step02.py”脚本:

该脚本将在指定的工作目录下生成以下内容:

三个输出视频(mp4)可用于查看SAMURAI算法的输出与蒙版和/或边界框。

请注意,生成这些视频会降低SAMURAI的帧率。如果您想加快一些速度,可以随意注释掉生成这些视频的代码。

我用AMD Radeon Pro W7900 GPU看到了高达6fps的性能。

总结和后续步骤

使用之前的脚本,我能够在这些具有挑战性的视频中成功执行单对象跟踪(SOT)。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭