引言
本项目旨在探索当前端侧AI加速技术与云端视觉大模型的协同架构,以应对生成式人工智能在边缘设备上的爆发式增长所带来的机遇与挑战。项目以树莓派为核心硬件平台,构建一个轻量化、低延迟、具备实时环境感知与智能交互能力的“AI眼镜”原型系统。该系统将端侧的实时高效推理能力与云端的强大生成与认知能力相结合,实现从本地数据实时处理到云端深度分析与内容生成的闭环,从而为增强现实(AR)、辅助交互、即时信息增强等场景提供一种可落地的端云协同解决方案。
项目特性
☑️ 端侧NPU实时视觉检测
☑️云端大模型深度分析
☑️仅将兴趣目标发送至云端,节省网络带宽,保护全局图像隐私
硬件结构
元件清单:
- Raspberry Pi 5主板
- Raspberry Pi HAT+(NPU 13TOPS算力)
- HDMI LCD
- IMX219 USB Camera
- USB HID按键

(框图通过heme- it在线设计工具绘制)
软件框架
运行环境:
- Python 3.11
软件模型:
- 端侧小模型:YOLO
- 云端大模型:Qwen3-VL-Plus
协同机制:
- https网络通信
AI HAT+安装与配置
简介:
AI HAT+ 是基于 Hailo-8L 和 Hailo-8 神经网络推理加速器,提供 13 和 26 TOPS两种型号。本项目使用13 TOPS 型号,适合中等工作量,性能与人工智能套件类似;AI HAT+ 使用 Raspberry Pi 5 的 PCIe 接口进行通信,主机 Raspberry Pi 5 会自动检测板载 Hailo 加速器,并使用 NPU 执行支持的人工智能计算任务。
硬件安装:
将AI HAT+套件通过PCIE接口相连,并插入树莓派的排针接口,然后通过铜柱进行固定即可,如下图所示。

软件安装:
更新系统软件
sudo apt update && sudo apt full-upgrade

查看eeprom固件版本号
sudo rpi-eeprom-update

(已是最新版,无需更新)
安装NPU依赖
sudo apt install hailo-all

重启生效
sudo reboot
验证安装
hailortcli fw-control identify

运行demo
sudo apt update && sudo apt install rpicam-apps
rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov6_inference.json

软件开发
本项目软件基于官方detection例程进行二次开发,要实现兴趣目标的选定,首先需要在画面中心绘制一个十字准心

然后在画面中添加一个文字显示层,以便将云端大模型的深度分析结果在画面中进行呈现

由于本项目并非将整个图像上传到云端进行大模型解析,这样会浪费网络带宽,并且可能泄露背景隐私信息,因此程序会对兴趣目标的图像进行截取,截取兴趣目标图像关键代码:
# 检查检测框是否包含中心点(使用归一化坐标)
if (bbox.xmin() <= frame_center_x <= bbox.xmax() and
bbox.ymin() <= frame_center_y <= bbox.ymax()):
# Calculate bbox area
bbox_area = bbox.width() + bbox.height()
# Find the detection closest to center
if bbox_area < min_area_in_center:
min_area_in_center = bbox_area
center_detection = {
'detection': detection,
'bbox': bbox,
'confidence': confidence,
'distance': bbox_area
}
if center_detection is not None:
center_bbox = center_detection['bbox']
# 转换归一化坐标到像素坐标
xmin = int(center_bbox.xmin() * frame.shape[1])
ymin = int(center_bbox.ymin() * frame.shape[0])
xmax = int(center_bbox.xmax() * frame.shape[1])
ymax = int(center_bbox.ymax() * frame.shape[0])
# 确保坐标在有效范围内
xmin = max(0, xmin)
ymin = max(0, ymin)
xmax = min(frame.shape[1] - 1, xmax)
ymax = min(frame.shape[0] - 1, ymax)
if xmax > xmin and ymax > ymin:
# 裁剪图像
cropped_frame = frame[ymin:ymax, xmin:xmax]
# 转换为BGR并保存
cropped_bgr = cv2.cvtColor(cropped_frame, cv2.COLOR_RGB2BGR)
cv2.imwrite("test.jpg?x-oss-process=image/watermark,g_center,image_YXJ0aWNsZS9wdWJsaWMvd2F0ZXJtYXJrLnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzQwCg,t_20", cropped_bgr)
trig_ai_vl_event.set()
兴趣目标截图调用云端大模型深度解析关键代码:
def ai_vl_thread():
# 初始化OpenAI客户端
client = OpenAI(
api_key="sk-xxxxxxxxxxxxxx",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
while True:
trig_ai_vl_event.wait()
trig_ai_vl_event.clear()
# 将本地图片转换为base64
base64_image = encode_image("test.jpg?x-oss-process=image/watermark,g_center,image_YXJ0aWNsZS9wdWJsaWMvd2F0ZXJtYXJrLnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzQwCg,t_20")
# 创建聊天完成请求
completion = client.chat.completions.create(
model="qwen3-vl-plus",
messages=[
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
},
},
{"type": "text", "text": "解释这张图片,100个字以内"},
],
},
],
stream=True
)
#print("AI回复:")
ai_vl_reply = ""
for chunk in completion:
if chunk.choices:
delta = chunk.choices[0].delta
if hasattr(delta, 'content') and delta.content:
ai_vl_reply += delta.content
display_text_pipeline.set_property("text", ai_vl_reply)
#print(delta.content, end='', flush=True)
效果演示:
小结
本项目基于树莓派构建了一个轻量化、低延迟、具备实时环境感知与智能交互能力的“AI眼镜”原型系统,该系统将端侧的实时AI推理能力与云端的强大生成与认知能力相结合,实现从本地数据实时处理到云端深度分析与内容生成的闭环,可以为未来AI眼镜的发展提供一种参考及思路。
