SAMC++TensorRT(实时图像分割)
- IT业界
- 2025-08-26 06:00:01

SPEED SAM C++ TENSORRT 🌐 1、概述
用于SAM(segment anything model分割一切模型)的TensorRT和CUDA优化的高表现C++实现,特别适用于实时图像分割任务。
📢 更新 模型转换:从ONNX模型构建TensorRT引擎以加速推理。点和边界框分割:通过选定的点或边界框轻松分割图像。FP16精度:在速度与精度之间进行选择,支持FP16和FP32。动态形状支持:利用优化配置文件高效处理可变输入大小。CUDA优化:利用CUDA进行预处理和有效的内存管理。 📢2、性能 2.1 推理时间 组件SpeedSAM图像编码器参数5M速度8ms掩码解码器参数3.876M速度4ms完整流程(编码+解码)参数9.66M速度12ms 2.2 结果 📂 3、项目结构 SPEED-SAM-CPP-TENSORRT/ ├── include │ ├── config.h # 模型配置和宏定义 │ ├── cuda_utils.h # CUDA工具宏 │ ├── engineTRT.h # TensorRT引擎管理 │ ├── logging.h # 日志实用工具 │ ├── macros.h # API导出/导入宏 │ ├── speedSam.h # SpeedSam类定义 │ └── utils.h # 图像处理实用函数 ├── src │ ├── engineTRT.cpp # TensorRT引擎实现 │ ├── main.cpp # 主入口点 │ └── speedSam.cpp # SpeedSam类实现 └── CMakeLists.txt # CMake配置 🚀 4、编译运行 准备工作 git clone github /hamdiboukamcha/SPEED-SAM-C-TENSORRT.git cd SPEED-SAM-CPP-TENSORRT # 创建构建目录并编译 mkdir build && cd build cmake .. make -j$(nproc)注意:根据需要更新CMakeLists.txt中的TensorRT和OpenCV正确路径。
📦 依赖项 CUDA:NVIDIA的并行计算平台TensorRT:高性能深度学习推理OpenCV:图像处理库C++17:编译所需的最低标准 🔍 代码概览 主要组件 SpeedSam 类 (speedSam.h):管理图像编码和掩码解码。EngineTRT 类 (engineTRT.h):TensorRT引擎创建和推理。CUDA 工具 (cuda_utils.h):CUDA错误处理宏。配置 (config.h):定义模型参数和精度设置。 关键函数 EngineTRT::build:从ONNX模型构建TensorRT引擎。EngineTRT::infer:对提供的输入数据运行推理。SpeedSam::predict:使用输入点或边界框分割图像。SAMC++TensorRT(实时图像分割)由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“SAMC++TensorRT(实时图像分割)”