rk3588 上运行smolvlm-realtime-webcam,将视频转为文字描述

smolvlm-realtime-webcam 是一个开源项目,结合了轻量级多模态模型 SmolVLM 和本地推理引擎 llama.cpp,能够在本地实时处理摄像头视频流,生成自然语言描述, 开源项目地址

https://github.com/ngxson/smolvlm-realtime-webcamhttps://github.com/ngxson/smolvlm-realtime-webcam需要依赖https://github.com/ggml-org/llama.cpp/releases/tag/b5581https://github.com/ggml-org/llama.cpp/releases/tag/b5581但是问题来了,如果直接下载现成的llama-b5581-bin-ubuntu-arm64.zip ,

下载命令资源后会提示
Illegal instruction

需要自己编译一下https://github.com/ggml-org/llama.cpp 才可以在rk3588上运行

Build llama.cpp locallyThe main product of this project is the llama library. Its C-style interface can be found in include/llama.h.The project also includes many example programs and tools using the llama library. The examples range from simple, minimal code snippets to sophisticated sub-projects such as an OpenAI-compatible HTTP server.To get the Code:git clone https://github.com/ggml-org/llama.cpp
cd llama.cppThe following sections describe how to build with different backends and options.
CPU BuildBuild llama.cpp using CMake:sudo apt install curl
sudo apt install libcurl4-openssl-dev
cmake -B build
cmake --build build --config Release

在rk3588上大约要编译个十来分钟,算是大工程了。最后生成的文件在

/build/bin中

运行试一下,要用代理下载哦

export http_proxy=http://你的代理IP:端口
export https_proxy=http://你的代理IP:端口
./llama-server -hf ggml-org/SmolVLM-500M-Instruct-GGUF

最后出现

 

就表示成功了,这时运行,https://github.com/ngxson/smolvlm-realtime-webcam.git 工程中的index.html就会打开摄像头

 另外这个缺省的模型对中文不太友好,可以换成 中文的,但是速度就不太行了,推荐在有gpu的情况下使用。

# Gemma 3
(tool_name) -hf ggml-org/gemma-3-4b-it-GGUF
(tool_name) -hf ggml-org/gemma-3-12b-it-GGUF
(tool_name) -hf ggml-org/gemma-3-27b-it-GGUF# SmolVLM
(tool_name) -hf ggml-org/SmolVLM-Instruct-GGUF
(tool_name) -hf ggml-org/SmolVLM-256M-Instruct-GGUF
(tool_name) -hf ggml-org/SmolVLM-500M-Instruct-GGUF
(tool_name) -hf ggml-org/SmolVLM2-2.2B-Instruct-GGUF
(tool_name) -hf ggml-org/SmolVLM2-256M-Video-Instruct-GGUF
(tool_name) -hf ggml-org/SmolVLM2-500M-Video-Instruct-GGUF# Pixtral 12B
(tool_name) -hf ggml-org/pixtral-12b-GGUF# Qwen 2 VL
(tool_name) -hf ggml-org/Qwen2-VL-2B-Instruct-GGUF
(tool_name) -hf ggml-org/Qwen2-VL-7B-Instruct-GGUF# Qwen 2.5 VL
(tool_name) -hf ggml-org/Qwen2.5-VL-3B-Instruct-GGUF
(tool_name) -hf ggml-org/Qwen2.5-VL-7B-Instruct-GGUF
(tool_name) -hf ggml-org/Qwen2.5-VL-32B-Instruct-GGUF
(tool_name) -hf ggml-org/Qwen2.5-VL-72B-Instruct-GGUF# Mistral Small 3.1 24B (IQ2_M quantization)
(tool_name) -hf ggml-org/Mistral-Small-3.1-24B-Instruct-2503-GGUF# InternVL 2.5 and 3
(tool_name) -hf ggml-org/InternVL2_5-1B-GGUF
(tool_name) -hf ggml-org/InternVL2_5-4B-GGUF
(tool_name) -hf ggml-org/InternVL3-1B-Instruct-GGUF
(tool_name) -hf ggml-org/InternVL3-2B-Instruct-GGUF
(tool_name) -hf ggml-org/InternVL3-8B-Instruct-GGUF
(tool_name) -hf ggml-org/InternVL3-14B-Instruct-GGUF# Llama 4 Scout
(tool_name) -hf ggml-org/Llama-4-Scout-17B-16E-Instruct-GGUF# Moondream2 20250414 version
(tool_name) -hf ggml-org/moondream2-20250414-GGUF

使用下面的模型就可以返回中文了 

 llama-server -hf ggml-org/Qwen2.5-VL-3B-Instruct-GGUF

smolvlm-realtime-webcam 是一个开源项目,结合了轻量级多模态模型 SmolVLM 和本地推理引擎 llama.cpp,能够在本地实时处理摄像头视频流,生成自然语言描述。 


🧠 项目概述

  • 实时图像理解:通过调用摄像头,项目将捕获的图像发送到本地运行的 llama.cpp 服务器,使用 SmolVLM 模型进行处理,返回对图像的自然语言描述。

  • 轻量级部署:SmolVLM 模型参数量在 256M 到 500M 之间,设计上优化了计算效率,适合在资源受限的设备上运行。

  • 本地运行,无需联网:所有处理均在本地完成,增强了隐私保护,降低了部署门槛 


🚀 实际用途

  1. 辅助视觉障碍者:为视力受限人士提供实时的环境描述,增强其独立性。

  2. 智能家居监控:识别家中异常情况,如宠物行为、火灾迹象等,提升家庭安全。

  3. 教育与学习:在教学中实时描述实验过程或自然现象,增强学习体验。

  4. 工业质量控制:在生产线上实时检测产品缺陷,提高生产效率。

  5. 机器人视觉系统:为机器人提供实时环境理解,提升其自主导航和操作能力。


🌈 创意扩展

  • 实时字幕生成:为视频或直播内容生成实时字幕,提升可访问性。

  • 个性化虚拟助手:结合语音识别和图像理解,创建更智能的个人助手。

  • 增强现实(AR)应用:在 AR 设备中实时识别和标注现实世界中的物体,增强用户体验。

  • 艺术创作工具:将实时图像描述转化为诗歌或故事,激发创作灵感。

  • 环境数据收集:在野外部署设备,实时记录和描述自然环境变化,用于科研。


🔧 快速上手

  1. 安装 llama.cpp:按照官方指南编译并运行 llama.cpp。

  2. 下载 SmolVLM 模型:获取适用于 llama.cpp 的 SmolVLM 模型文件。

  3. 运行服务器:启动 llama.cpp 服务器,并加载 SmolVLM 模型。

  4. 启动前端界面:打开项目中的 index.html 文件,连接摄像头,开始实时描述。


该项目展示了在本地设备上实现实时多模态 AI 应用的可能性,为边缘计算和隐私保护提供了新的解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/908430.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

原生js操作元素类名(classList,classList.add...)

1、classList classList属性是一个只读属性&#xff0c;返回元素的类名&#xff0c;作为一个DOMTokenList集合(用于在元素中添加&#xff0c;移除及切换css类) length:返回类列表中类的数量&#xff0c;该属性是只读的 <style> .lis { width: 200px; …

九.C++ 对引用的学习

一.基本概念 引用即内存的别名 int a 10; int& b a; 引用本身不占用内存&#xff0c;并非实体&#xff0c;对引用的所有操作都是在对目标内存进行操作 引用必须初始化&#xff0c;且不能更换对象 int c 5; b c; // 仅仅是在对引用的目标内存进行赋值 #include <ios…

7.2.1_顺序查找

知识总览&#xff1a; 顺序查找&#xff1a; 算法思想&#xff1a; 从头到脚挨个找或者从脚到头挨个找适用于线性表(顺序存储和链式存储都适用)&#xff0c;又叫线性查找 实现&#xff1a; 1个数组elem指向数组的起始位置&#xff0c;索引从0开始遍历数组直到找到目标值返回…

视觉SLAM基础补盲

3D Gaussian Splatting for Real-Time Radiance Field Rendering SOTA方法3DGS contribution传统重建基于点的渲染NeRF 基础知识补盲光栅化SFM三角化极线几何标准的双目立体视觉立体匹配理论与方法立体匹配的基本流程李群和李代数 李群和李代数的映射李代数的求导李代数解决求导…

如何利用 Redis 实现跨多个无状态服务实例的会话共享?

使用 Redis 实现跨多个无状态服务实例的会话共享是一种非常常见且有效的方案。无状态服务本身不存储会话信息&#xff0c;而是将用户的会话数据集中存储在外部存储中&#xff08;如 Redis&#xff09;&#xff0c;这样任何一个服务实例都可以通过查询外部存储来获取和更新用户的…

《chipyard》docker使用

一、启动/重启服务 二、登入/退出 容器对象查看 sudo docker ps -a # 查看容器列表 登入已例化的容器 sudo docker exec -it -u root 737ed3ddd5ff bash # 737ed3ddd5ff<容器名称/ID> 三、容器编辑 删除单个容器 sudo docker stop <容器ID> #停止容器 s…

浏览器工作原理06 [#]渲染流程(下):HTML、CSS和JavaScript是如何变成页面的

引用 浏览器工作原理与实践 简单回顾下上节前三个阶段的主要内容&#xff1a;在HTML页面内容被提交给渲染引擎之后&#xff0c;渲染引擎首先将HTML解析为浏览器可以理解的DOM&#xff1b;然后根据CSS样式表&#xff0c;计算出DOM树所有节点的样式&#xff1b;接着又计算每个元素…

AI书签管理工具开发全记录(十三):TUI基本框架搭建

文章目录 AI书签管理工具开发全记录&#xff08;十三&#xff09;&#xff1a;TUI基本框架搭建前言 &#x1f4dd;1.TUI介绍 &#x1f50d;2. 框架选择 ⚙️3. 功能梳理 &#x1f3af;4. 基础框架搭建⚙️4.1 安装4.2 参数设计4.3 绘制ui4.3.1 设计结构体4.3.2 创建头部4.3.3 创…

CC7利用链深度解析

CommonsCollections7&#xff08;CC7&#xff09;是CC反序列化利用链中的重要成员&#xff0c;由Matthias Kaiser在2016年发现。本文将从底层原理到实战利用&#xff0c;全面剖析这条独特而强大的利用链。 一、CC7链技术定位 1.1 核心价值 无第三方依赖&#xff1a;仅需JDK原…

openvino使用教程

OpenVINO使用教程 本专栏内容支持平台章节计划 本专栏内容 OpenVINO 是一款开源工具包&#xff0c;用于在云端、本地和边缘部署高性能 AI 解决方案。我们可以使用来自最热门模型框架的生成式和传统 AI 模型来开发应用程序。充分利用英特尔 硬件的潜力&#xff0c;使用openvino…

ESP8266(NodeMcu)+GPS模块+TFT屏幕实现GPS码表

前言 去年写过一篇关于使用esp8266(nodemcu)gps模块oled屏幕diy的gps定位器的文章.点击回顾 .无奈OLED屏幕太小了,最近刚好有时间又折腾使用TFT屏幕diy了一款gps码表 效果如图 材料准备 依旧是请出我们的两位老演员 nocdmcu一块. GPS定位模块(我买的大夏龙雀的DX-GP10-GP…

解决获取视频第一帧黑屏问题

文章目录 解决获取视频第一帧黑屏问题核心代码 解决获取视频第一帧黑屏问题 废话不多说&#xff0c;直接上代码&#xff1a; <script setup> const status ref(请点击“添加视频”按钮添加视频) const videoElement ref(document.createElement(video)) const curren…

通过BUG(prvIdleTask、pxTasksWaitingTerminatio不断跳转问题)了解空闲函数(prvIdleTask)和TCB

一、前言与问题 在基于 FreeRTOS 的嵌入式系统中&#xff0c;我使用 STM32F1 开发一个 MQTT 客户端应用&#xff0c;涉及两个主要任务&#xff1a; ATRecvParser&#xff1a;负责解析 Wi-Fi 模块的 AT 命令响应&#xff08;如 OK、ERROR 和 IPD 数据&#xff09;。MQTT_Clien…

继MySQL之后的技术-JDBC-从浅到深-02

目录 概念 编程六部曲 SQL注入和statement 工具类的封装 JDBC事务 模糊查询 批处理 数据库连接池 Apache-DBUtils BasicDao 概念 JDBC为访问不同的数据库提供了统一的接口&#xff0c;为使用者屏蔽了细节问题。 Java程序员使用JDBC&#xff0c;可以连接任何提供了JD…

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…

浅谈python如何做接口自动化

工具与环境准备 开发工具 PyCharm专业版&#xff1a;支持项目视图、代码导航、调试功能和主流框架开发官方资源&#xff1a;JetBrains PyCharm 数据库操作 使用mysqlclient库操作MySQL&#xff08;Django官方推荐&#xff09;安装命令&#xff1a;pip install mysqlclient1.3.…

知识图谱技术概述

一、概述 知识图谱&#xff08;Knowledge Graph&#xff09; 是一种基于图结构的语义网络&#xff0c;用于表示实体及其之间的关系&#xff0c;旨在实现更智能的知识表示和推理。它通过将现实世界中的各类信息抽象为 “实体-关系-实体” 的三元组结构&#xff0c;构建出复杂的知…

NodeJS Koa 后端用户会话管理,JWT, Session,长短Token,本文一次性讲明白

前言 前几天&#xff0c;我写了一篇文章&#xff0c;《我设计的一个安全的 web 系统用户密码管理流程》。其中着重点是讲的如何利用非对称加密进行安全的设计&#xff0c;并在讲述了原理之后&#xff0c;又写了 《node 后端和浏览器前端&#xff0c;有关 RSA 非对称加密的完整…

0.5S 级精度背后:DJSF1352-RN-6 如何让储能电站的每 1kWh 都「有迹可循」?

1、背景 在能源转型的时代洪流里&#xff0c;大型储能电站作为保障电网稳定运行、平衡能源供需的核心基础设施&#xff0c;其战略价值愈发凸显。而储能电站的高效运转&#xff0c;始终离不开精准的电能计量体系支撑。今日为您重点推介一款针对 1500V 储能系统研发的专业电能表…

Linux运维笔记:服务器安全加固

文章目录 背景加固措施1. 修改用户密码2. 使用公钥认证替代密码登录3. 强化系统安全4. 扫描与清理残留威胁5. 规范软件管理&#xff08;重点&#xff09; 注意事项总结 提示&#xff1a;本文总结了大学实验室 Linux 电脑感染挖矿病毒后的安全加固措施&#xff0c;重点介绍用户密…