大模型——MobileSAM的Onnxruntime cpp部署

这篇具有很好参考价值的文章主要介绍了大模型——MobileSAM的Onnxruntime cpp部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍

该项目旨在为Segment Anything和MobileSAM创建一个纯 C++ 推理 api ,在运行时不依赖于 Python。代码存储库包含一个带有测试程序的 C++ 库,以便于将接口轻松集成到其他项目中。

模型加载大约需要 10 或 1 秒,单次推理大约需要 20 毫秒,使用 Intel Xeon W-2145 CPU(16 线程)获得。在运行时,如果在 CPU 上运行,该接口可能消耗大约 6GB 或 1GB 内存,如果在 CUDA 上运行,则可能消耗 16GB 或 1GB 内存。这里的“或”表示“Segment Anything”或“MobileSAM”的值。

环境

  • Ubuntu 18.04
  • Opencv4.6
  • Onnxruntime-gpu 1.12.1

ONNX模型准备

mobile_sam.onnx参考此处
mobile_sam_preprocess.onnx参考此处

修改CMakeLists.txt

添加ONNXRUNTIME的根目录

cmake_minimum_required(VERSION 3.21)
set(CMAKE_CXX_STANDARD 17)

project(SamCPP)

find_package(OpenCV CONFIG REQUIRED)
find_package(gflags CONFIG REQUIRED)
set(ONNXRUNTIME_ROOT_DIR /home/yp/lib/onnxruntime/onnxruntime-linux-x64-gpu-1.12.1)

add_library(sam_cpp_lib SHARED sam.h sam.cpp)
set(onnxruntime_lib ${ONNXRUNTIME_ROOT_DIR}/lib/libonnxruntime.so)
target_include_directories(sam_cpp_lib PRIVATE ${ONNXRUNTIME_ROOT_DIR}/include)
target_link_libraries(sam_cpp_lib PRIVATE
  ${onnxruntime_lib}
  ${OpenCV_LIBS}
)

add_executable(sam_cpp_test test.cpp)
target_link_libraries(sam_cpp_test PRIVATE
  sam_cpp_lib
  ${OpenCV_LIBS}
  gflags
)

编译

mkdir build
cd build
cmake ..
make -j8

使用

./sam_cpp_test -pre_model="models/mobile_sam_preprocess.onnx" -sam_model="models/mobile_sam.onnx" -image="images/input2.jpg" -sam_device="cuda:0"

运行结果

在3080显卡上,可以达到每张图片20ms的处理速度。
大模型——MobileSAM的Onnxruntime cpp部署,图像处理Demo,人工智能

源码

https://github.com/dinglufe/segment-anything-cpp-wrapper文章来源地址https://www.toymoban.com/news/detail-707409.html

到了这里,关于大模型——MobileSAM的Onnxruntime cpp部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 上位机图像处理和嵌入式模块部署(开篇)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         图像处理是现实生活当中很实用的一门技术。工业上一般采用的是机器视觉,以传统算法和光源控制为主,部分采用了深度学习技术。而生活当中,则主要以二维码识别、人脸识别、

    2024年01月22日
    浏览(52)
  • MATLAB算法实战应用案例精讲-【图像处理】图像分类模型GoogLeNet&DarkNet

    目录 GoogLeNet 模型介绍 模型结构 模型实现 模型特色 模型指标 DarkNet

    2024年02月12日
    浏览(50)
  • 探索文档图像大模型,提升智能文档处理性能

    自 ChatGPT 于 2022 年 11 月发布以来,大模型的相关研究在全世界的学术界和工业界都引起了广泛的关注,大模型技术也为智能文档处理领域带来了新的机遇。通过在智能文档处理领域训练和应用大规模深度学习模型,能够提供更准确、全面的文档理解与分析,改善文档图像识别

    2024年02月03日
    浏览(37)
  • MATLAB算法实战应用案例精讲-【图像处理】图像分类模型-LeNet&AlexNet&VGG

    目录 LeNet  模型介绍 模型结构 模型实现 模型特点 模型指标  Ale

    2024年02月13日
    浏览(57)
  • 上位机图像处理和嵌入式模块部署(自定义算法)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         我们在使用opencv的时候,虽然大部分算法都不需要我们自己重头开始编写,但是总有一些关于我们自己产品的know-how,是之前库里本来就不存在的。所以,这个时候,我们还是希望

    2024年01月24日
    浏览(47)
  • CCIG 2023 从视觉-语言模型到智能文档图像处理

    前言 一、视觉-语言模型是什么? 二、视觉-语言模型可以用来做什么? 三、视觉-语言 预训练模型 3.1、模型架构 3.2、训练目标 3.2.1、图像-文本匹配损失(ITM) 3.2.2、掩码语言建模损失(MLM) 3.2.3、掩码视觉建模损失(MVM) 3.3、SOTA模型 四、视觉到语言的数字化转型——智

    2024年02月05日
    浏览(57)
  • 上位机图像处理和嵌入式模块部署(windows & opencv)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         opencv可以运行在多个平台上面,当然windows平台也不意外。目前来说,opencv使用已经非常方便了,如果不想自己编译,可以直接使用官方编译好的版本,直接下载接好。配置好include和

    2024年01月24日
    浏览(44)
  • 图像处理与计算机视觉:AI大模型的崛起

    在过去的几年里,人工智能(AI)技术的发展取得了巨大的进步,尤其是在图像处理和计算机视觉领域。随着深度学习和大型模型的兴起,我们已经看到了一系列令人印象深刻的成果,例如图像识别、自动驾驶、语音助手等。本文将涵盖图像处理与计算机视觉领域的核心概念、算

    2024年02月19日
    浏览(42)
  • BIT 变化检测模型复现 深度学习学习笔记 基于transformer结构的图像处理模型

    BIT 是用 transformer 结构进行变化检测的一个孪生网络,它的 backbone 用的是 Resnet 结构,具体结构分析可以参考这个链接的作者写的,非常清楚, http://t.csdn.cn/rA9sH。 下面就是来讲我自己的实现过程,比较简单。 首先,在官网找到相应的代码,下载解压到自己的本地。github上面的

    2024年02月10日
    浏览(42)
  • 上位机图像处理和嵌入式模块部署(qmacvisual缺失的光源控制)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         有些场景下面,是不需要光源和光源控制的,比如说利用摄像头识别对应区域的库位,这部分直接利用红外光采集对应的图像就可以了。但是还有一些场景,是需要进行光源控制的,

    2024年04月16日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包