[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-AI-FanGe--OpenAIglasses_for_Navigation":3,"tool-AI-FanGe--OpenAIglasses_for_Navigation":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160015,2,"2026-04-18T11:30:52",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":74,"owner_company":74,"owner_location":74,"owner_email":74,"owner_twitter":74,"owner_website":74,"owner_url":76,"languages":77,"stars":112,"forks":113,"last_commit_at":114,"license":115,"difficulty_score":116,"env_os":117,"env_gpu":118,"env_ram":119,"env_deps":120,"category_tags":131,"github_topics":74,"view_count":32,"oss_zip_url":74,"oss_zip_packed_at":74,"status":17,"created_at":134,"updated_at":135,"faqs":136,"releases":166},9126,"AI-FanGe\u002FOpenAIglasses_for_Navigation","OpenAIglasses_for_Navigation","a open framework for blind navigation based on esp32","OpenAIglasses_for_Navigation 是一个基于 ESP32 硬件构建的开源智能导航框架，旨在为视障人士提供全方位的出行辅助。它通过集成计算机视觉与多模态大模型技术，有效解决了盲人在独立行走时面临的盲道偏离、过马路安全判断以及日常物品查找困难等核心痛点。\n\n该系统具备强大的实时感知能力：不仅能精准识别盲道并规划避障路线，还能在过马路时自动检测斑马线与红绿灯状态并提供语音引导；在物品寻找场景下，支持用户通过语音指令（如“帮我找红牛”）触发视觉搜索，并结合手部动作检测引导用户完成抓取。此外，系统融合了阿里云通义千问（Qwen-Omni）大模型，实现了自然的图文语音交互体验。\n\n技术亮点方面，项目创新性地采用了\"ESP32 端侧采集 + 服务器端高性能推理”的架构，利用 YOLO 系列模型进行实时目标分割与追踪，结合 Lucas-Kanade 光流算法稳定画面，并通过 WebSocket 实现低延迟的视频流推送与 Web 端可视化监控。\n\n鉴于目前项目主要处于技术交流阶段且对硬件部署有一定要求，它非常适合人工智能开发者、嵌入式工程师及助残技术研究人员使用。开发者可以借此深","OpenAIglasses_for_Navigation 是一个基于 ESP32 硬件构建的开源智能导航框架，旨在为视障人士提供全方位的出行辅助。它通过集成计算机视觉与多模态大模型技术，有效解决了盲人在独立行走时面临的盲道偏离、过马路安全判断以及日常物品查找困难等核心痛点。\n\n该系统具备强大的实时感知能力：不仅能精准识别盲道并规划避障路线，还能在过马路时自动检测斑马线与红绿灯状态并提供语音引导；在物品寻找场景下，支持用户通过语音指令（如“帮我找红牛”）触发视觉搜索，并结合手部动作检测引导用户完成抓取。此外，系统融合了阿里云通义千问（Qwen-Omni）大模型，实现了自然的图文语音交互体验。\n\n技术亮点方面，项目创新性地采用了\"ESP32 端侧采集 + 服务器端高性能推理”的架构，利用 YOLO 系列模型进行实时目标分割与追踪，结合 Lucas-Kanade 光流算法稳定画面，并通过 WebSocket 实现低延迟的视频流推送与 Web 端可视化监控。\n\n鉴于目前项目主要处于技术交流阶段且对硬件部署有一定要求，它非常适合人工智能开发者、嵌入式工程师及助残技术研究人员使用。开发者可以借此深入探索边缘计算与大模型在无障碍领域的落地应用，共同推动辅助技术的进步。请注意，当前版本仅供学习研究，尚未达到直接供视障人群独立使用的安全标准。","# AI 智能盲人眼镜系统 🤖👓\n\n\u003Cdiv align=\"center\">\n\n一个面向视障人士的智能导航与辅助系统，集成了盲道导航、过马路辅助、物品识别、实时语音交互等功能。  本项目仅为交流学习使用，请勿直接给视障人群使用。本项目内仅包含代码，模型地址：https:\u002F\u002Fwww.modelscope.cn\u002Fmodels\u002Farchifancy\u002FAIGlasses_for_navigation  。下载后存放在\u002Fmodel 文件夹\n\n[功能特性](#功能特性) • [快速开始](#快速开始) • [系统架构](#系统架构) • [使用说明](#使用说明) • [开发文档](#开发文档)\n\n\u003C\u002Fdiv>\n\n---\n\u003Cimg width=\"2481\" height=\"3508\" alt=\"1\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI-FanGe_OpenAIglasses_for_Navigation_readme_5b7b36ddbf3e.png\" \u002F>\n\u003Cimg width=\"2480\" height=\"3508\" alt=\"2\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI-FanGe_OpenAIglasses_for_Navigation_readme_c30fa7848da5.png\" \u002F>\n\u003Cimg width=\"2481\" height=\"3508\" alt=\"4\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI-FanGe_OpenAIglasses_for_Navigation_readme_4779d4184cf6.png\" \u002F>\n\n## 📋 目录\n\n- [功能特性](#功能特性)\n- [系统要求](#系统要求)\n- [快速开始](#快速开始)\n- [系统架构](#系统架构)\n- [使用说明](#使用说明)\n- [配置说明](#配置说明)\n- [开发文档](#开发文档)\n\n## ✨ 功能特性\n\n### 🚶 盲道导航系统\n- **实时盲道检测**：基于 YOLO 分割模型实时识别盲道\n- **智能语音引导**：提供精准的方向指引（左转、右转、直行等）\n- **障碍物检测与避障**：自动识别前方障碍物并规划避障路线\n- **转弯检测**：自动识别急转弯并提前提醒\n- **光流稳定**：使用 Lucas-Kanade 光流算法稳定掩码，减少抖动\n\n### 🚦 过马路辅助\n- **斑马线识别**：实时检测斑马线位置和方向\n- **红绿灯识别**：基于颜色和形状的红绿灯状态检测\n- **对齐引导**：引导用户对准斑马线中心\n- **安全提醒**：绿灯时语音提示可以通行\n\n### 🔍 物品识别与查找\n- **智能物品搜索**：语音指令查找物品（如\"帮我找一下红牛\"）\n- **实时目标追踪**：使用 YOLO-E 开放词汇检测 + ByteTrack 追踪\n- **手部引导**：结合 MediaPipe 手部检测，引导用户手部靠近物品\n- **抓取检测**：检测手部握持动作，确认物品已拿到\n- **多模态反馈**：视觉标注 + 语音引导 + 居中提示\n\n### 🎙️ 实时语音交互\n- **语音识别（ASR）**：基于阿里云 DashScope Paraformer 实时语音识别\n- **多模态对话**：Qwen-Omni-Turbo 支持图像+文本输入，语音输出\n- **智能指令解析**：自动识别导航、查找、对话等不同类型指令\n- **上下文感知**：在不同模式下智能过滤无关指令\n\n### 📹 视频与音频处理\n- **实时视频流**：WebSocket 推流，支持多客户端同时观看\n- **音视频同步录制**：自动保存带时间戳的录像和音频文件\n- **IMU 数据融合**：接收 ESP32 的 IMU 数据，支持姿态估计\n- **多路音频混音**：支持系统语音、AI 回复、环境音同时播放\n\n### 🎨 可视化与交互\n- **Web 实时监控**：浏览器端实时查看处理后的视频流\n- **IMU 3D 可视化**：Three.js 实时渲染设备姿态\n- **状态面板**：显示导航状态、检测信息、FPS 等\n- **中文友好**：所有界面和语音使用中文，支持自定义字体\n\n## 💻 系统要求\n\n### 硬件要求\n- **开发\u002F服务器端**：\n  - CPU: Intel i5 或以上（推荐 i7\u002Fi9）\n  - GPU: NVIDIA GPU（支持 CUDA 11.8+，推荐 RTX 3060 或以上）\n  - 内存: 8GB RAM（推荐 16GB）\n  - 存储: 10GB 可用空间\n\n- **客户端设备**（可选）：\n  - ESP32-CAM 或其他支持 WebSocket 的摄像头\n  - 麦克风（用于语音输入）\n  - 扬声器\u002F耳机（用于语音输出）\n\n### 软件要求\n- **操作系统**: Windows 10\u002F11, Linux (Ubuntu 20.04+), macOS 10.15+\n- **Python**: 3.9 - 3.11\n- **CUDA**: 11.8 或更高版本（GPU 加速必需）\n- **浏览器**: Chrome 90+, Firefox 88+, Edge 90+（用于 Web 监控）\n\n### API 密钥\n- **阿里云 DashScope API Key**（必需）：\n  - 用于语音识别（ASR）和 Qwen-Omni 对话\n  - 申请地址：https:\u002F\u002Fdashscope.console.aliyun.com\u002F\n\n## 🚀 快速开始\n\n### 1. 克隆项目\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyourusername\u002Faiglass.git\ncd aiglass\u002Frebuild1002\n```\n\n### 2. 安装依赖\n\n#### 创建虚拟环境（推荐）\n```bash\npython -m venv venv\n# Windows\nvenv\\Scripts\\activate\n# Linux\u002FmacOS\nsource venv\u002Fbin\u002Factivate\n```\n\n#### 安装 Python 包\n```bash\npip install -r requirements.txt\n```\n\n#### 安装 CUDA 和 cuDNN（GPU 加速）\n请参考 [NVIDIA CUDA Toolkit 安装指南](https:\u002F\u002Fdeveloper.nvidia.com\u002Fcuda-downloads)\n\n### 3. 下载模型文件\n\n将以下模型文件放入 `model\u002F` 目录：\n\n| 模型文件 | 用途 | 大小 | 下载链接 |\n|---------|------|------|---------|\n| `yolo-seg.pt` | 盲道分割 | ~50MB | [待补充] |\n| `yoloe-11l-seg.pt` | 开放词汇检测 | ~80MB | [待补充] |\n| `shoppingbest5.pt` | 物品识别 | ~30MB | [待补充] |\n| `trafficlight.pt` | 红绿灯检测 | ~20MB | [待补充] |\n| `hand_landmarker.task` | 手部检测 | ~15MB | [MediaPipe Models](https:\u002F\u002Fdevelopers.google.com\u002Fmediapipe\u002Fsolutions\u002Fvision\u002Fhand_landmarker#models) |\n\n### 4. 配置 API 密钥\n\n创建 `.env` 文件：\n\n```bash\n# .env\nDASHSCOPE_API_KEY=your_api_key_here\n```\n\n或在代码中直接修改（不推荐）：\n```python\n# app_main.py, line 50\nAPI_KEY = \"your_api_key_here\"\n```\n\n### 5. 启动系统\n\n```bash\npython app_main.py\n```\n\n系统将在 `http:\u002F\u002F0.0.0.0:8081` 启动，打开浏览器访问即可看到实时监控界面。\n\n### 6. 连接设备（可选）\n\n如果使用 ESP32-CAM，请：\n1. 烧录 `compile\u002Fcompile.ino` 到 ESP32\n2. 修改 WiFi 配置，连接到同一网络\n3. ESP32 自动连接到 WebSocket 端点\n\n## 🏗️ 系统架构\n\n### 整体架构\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                        客户端层                              │\n│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      │\n│  │  ESP32-CAM   │  │   浏览器      │  │   移动端      │      │\n│  │  (视频\u002F音频)  │  │  (监控界面)   │  │  (语音控制)   │      │\n│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘      │\n└─────────┼──────────────────┼──────────────────┼─────────────┘\n          │ WebSocket        │ HTTP\u002FWS          │ WebSocket\n┌─────────┼──────────────────┼──────────────────┼─────────────┐\n│         │                  │                  │              │\n│    ┌────▼──────────────────▼──────────────────▼────────┐    │\n│    │         FastAPI 主服务 (app_main.py)              │    │\n│    │  - WebSocket 路由管理                              │    │\n│    │  - 音视频流分发                                     │    │\n│    │  - 状态管理与协调                                   │    │\n│    └────┬────────────────┬────────────────┬─────────────┘    │\n│         │                │                │                  │\n│  ┌──────▼──────┐  ┌──────▼──────┐  ┌──────▼──────┐         │\n│  │ ASR 模块     │  │ Omni 对话   │  │ 音频播放     │         │\n│  │ (asr_core)   │  │(omni_client)│  │(audio_player)│         │\n│  └──────────────┘  └──────────────┘  └──────────────┘         │\n│                                                               │\n│         应用层                                                │\n└───────────────────────────────────────────────────────────────┘\n          │                  │                  │\n┌─────────▼──────────────────▼──────────────────▼──────────────┐\n│                     导航统领层                                │\n│    ┌─────────────────────────────────────────────────┐       │\n│    │  NavigationMaster (navigation_master.py)         │       │\n│    │  - 状态机：IDLE\u002FCHAT\u002FBLINDPATH_NAV\u002F              │       │\n│    │            CROSSING\u002FTRAFFIC_LIGHT\u002FITEM_SEARCH    │       │\n│    │  - 模式切换与协调                                │       │\n│    └───┬─────────────────────┬───────────────────┬───┘       │\n│        │                     │                   │            │\n│   ┌────▼────────┐   ┌────────▼────────┐   ┌─────▼──────┐   │\n│   │ 盲道导航     │   │  过马路导航      │   │ 物品查找    │   │\n│   │(blindpath)   │   │ (crossstreet)   │   │(yolomedia)  │   │\n│   └──────────────┘   └──────────────────┘   └─────────────┘   │\n└───────────────────────────────────────────────────────────────┘\n          │                  │                  │\n┌─────────▼──────────────────▼──────────────────▼──────────────┐\n│                       模型推理层                              │\n│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐       │\n│  │ YOLO 分割     │  │  YOLO-E 检测 │  │ MediaPipe    │       │\n│  │ (盲道\u002F斑马线) │  │ (开放词汇)   │  │  (手部检测)   │       │\n│  └──────────────┘  └──────────────┘  └──────────────┘       │\n│  ┌──────────────┐  ┌──────────────┐                         │\n│  │ 红绿灯检测    │  │ 光流稳定      │                         │\n│  │(HSV+YOLO)     │  │(Lucas-Kanade)│                         │\n│  └──────────────┘  └──────────────┘                         │\n└───────────────────────────────────────────────────────────────┘\n          │\n┌─────────▼─────────────────────────────────────────────────────┐\n│                    外部服务层                                  │\n│  ┌──────────────────────────────────────────────┐            │\n│  │  阿里云 DashScope API                         │            │\n│  │  - Paraformer ASR (实时语音识别)              │            │\n│  │  - Qwen-Omni-Turbo (多模态对话)               │            │\n│  │  - Qwen-Turbo (标签提取)                      │            │\n│  └──────────────────────────────────────────────┘            │\n└───────────────────────────────────────────────────────────────┘\n```\n\n### 核心模块说明\n\n| 模块 | 文件 | 功能 |\n|------|------|------|\n| **主应用** | `app_main.py` | FastAPI 服务、WebSocket 管理、状态协调 |\n| **导航统领** | `navigation_master.py` | 状态机管理、模式切换、语音节流 |\n| **盲道导航** | `workflow_blindpath.py` | 盲道检测、避障、转弯引导 |\n| **过马路导航** | `workflow_crossstreet.py` | 斑马线检测、红绿灯识别、对齐引导 |\n| **物品查找** | `yolomedia.py` | 物品检测、手部引导、抓取确认 |\n| **语音识别** | `asr_core.py` | 实时 ASR、VAD、指令解析 |\n| **语音合成** | `omni_client.py` | Qwen-Omni 流式语音生成 |\n| **音频播放** | `audio_player.py` | 多路混音、TTS 播放、音量控制 |\n| **视频录制** | `sync_recorder.py` | 音视频同步录制 |\n| **桥接 IO** | `bridge_io.py` | 线程安全的帧缓冲与分发 |\n\n## 📖 使用说明\n\n### 语音指令\n\n系统支持以下语音指令（说话时无需唤醒词）：\n\n#### 导航控制\n```\n\"开始导航\" \u002F \"盲道导航\"     → 启动盲道导航\n\"停止导航\" \u002F \"结束导航\"     → 停止盲道导航\n\"开始过马路\" \u002F \"帮我过马路\"  → 启动过马路模式\n\"过马路结束\" \u002F \"结束过马路\"  → 停止过马路模式\n```\n\n#### 红绿灯检测\n```\n\"检测红绿灯\" \u002F \"看红绿灯\"   → 启动红绿灯检测\n\"停止检测\" \u002F \"停止红绿灯\"   → 停止检测\n```\n\n#### 物品查找\n```\n\"帮我找一下 [物品名]\"       → 启动物品搜索\n  示例：\n  - \"帮我找一下红牛\"\n  - \"找一下AD钙奶\"\n  - \"帮我找矿泉水\"\n\"找到了\" \u002F \"拿到了\"         → 确认找到物品\n```\n\n#### 智能对话\n```\n\"帮我看看这是什么\"          → 拍照识别\n\"这个东西能吃吗\"            → 物品咨询\n任何其他问题                 → AI 对话\n```\n\n### 导航状态说明\n\n系统包含以下主要状态（自动切换）：\n\n1. **IDLE** - 空闲状态\n   - 等待用户指令\n   - 显示原始视频流\n\n2. **CHAT** - 对话模式\n   - 与 AI 进行多模态对话\n   - 暂停导航功能\n\n3. **BLINDPATH_NAV** - 盲道导航\n   - **ONBOARDING**: 上盲道引导\n     - ROTATION: 旋转对准盲道\n     - TRANSLATION: 平移至盲道中心\n   - **NAVIGATING**: 沿盲道行走\n     - 实时方向修正\n     - 障碍物检测\n   - **MANEUVERING_TURN**: 转弯处理\n   - **AVOIDING_OBSTACLE**: 避障\n\n4. **CROSSING** - 过马路模式\n   - **SEEKING_CROSSWALK**: 寻找斑马线\n   - **WAIT_TRAFFIC_LIGHT**: 等待绿灯\n   - **CROSSING**: 过马路中\n   - **SEEKING_NEXT_BLINDPATH**: 寻找对面盲道\n\n5. **ITEM_SEARCH** - 物品查找\n   - 实时检测目标物品\n   - 引导手部靠近\n   - 确认抓取\n\n6. **TRAFFIC_LIGHT_DETECTION** - 红绿灯检测\n   - 实时检测红绿灯状态\n   - 语音播报颜色变化\n\n### Web 监控界面\n\n打开浏览器访问 `http:\u002F\u002Flocalhost:8081`，可以看到：\n\n- **实时视频流**：显示处理后的视频，包括导航标注\n- **状态面板**：当前模式、检测信息、FPS\n- **IMU 可视化**：设备姿态 3D 实时渲染\n- **语音识别结果**：显示识别的文字和 AI 回复\n\n### WebSocket 端点\n\n| 端点 | 用途 | 数据格式 |\n|------|------|---------|\n| `\u002Fws\u002Fcamera` | ESP32 相机推流 | Binary (JPEG) |\n| `\u002Fws\u002Fviewer` | 浏览器订阅视频 | Binary (JPEG) |\n| `\u002Fws_audio` | ESP32 音频上传 | Binary (PCM16) |\n| `\u002Fws_ui` | UI 状态推送 | JSON |\n| `\u002Fws` | IMU 数据接收 | JSON |\n| `\u002Fstream.wav` | 音频下载流 | Binary (WAV) |\n\n## ⚙️ 配置说明\n\n### 环境变量\n\n创建 `.env` 文件配置以下参数：\n\n```bash\n# 阿里云 API\nDASHSCOPE_API_KEY=sk-xxxxx\n\n# 模型路径（可选，使用默认路径可不配置）\nBLIND_PATH_MODEL=model\u002Fyolo-seg.pt\nOBSTACLE_MODEL=model\u002Fyoloe-11l-seg.pt\nYOLOE_MODEL_PATH=model\u002Fyoloe-11l-seg.pt\n\n# 导航参数\nAIGLASS_MASK_MIN_AREA=1500      # 最小掩码面积\nAIGLASS_MASK_MORPH=3            # 形态学核大小\nAIGLASS_MASK_MISS_TTL=6         # 掩码丢失容忍帧数\nAIGLASS_PANEL_SCALE=0.65        # 数据面板缩放\n\n# 音频配置\nTTS_INTERVAL_SEC=1.0            # 语音播报间隔\nENABLE_TTS=true                 # 启用语音播报\n```\n\n### 修改模型路径\n\n如果模型文件不在默认位置，可以在相应文件中修改：\n\n```python\n# workflow_blindpath.py\nseg_model_path = \"your\u002Fcustom\u002Fpath\u002Fyolo-seg.pt\"\n\n# yolomedia.py\nYOLO_MODEL_PATH = \"your\u002Fcustom\u002Fpath\u002Fshoppingbest5.pt\"\nHAND_TASK_PATH = \"your\u002Fcustom\u002Fpath\u002Fhand_landmarker.task\"\n```\n\n### 调整性能参数\n\n根据硬件性能调整：\n\n```python\n# yolomedia.py\nHAND_DOWNSCALE = 0.8    # 手部检测降采样（越小越快，精度降低）\nHAND_FPS_DIV = 1        # 手部检测抽帧（2=隔帧，3=每3帧）\n\n# workflow_blindpath.py  \nFEATURE_PARAMS = dict(\n    maxCorners=600,      # 光流特征点数（越少越快）\n    qualityLevel=0.001,  # 特征点质量\n    minDistance=5        # 特征点最小间距\n)\n```\n\n## 🛠️ 开发文档\n\n### 添加新的语音指令\n\n1. 在 `app_main.py` 的 `start_ai_with_text_custom()` 函数中添加：\n\n```python\n# 检查新指令\nif \"新指令关键词\" in user_text:\n    # 执行自定义逻辑\n    print(\"[CUSTOM] 新指令被触发\")\n    await ui_broadcast_final(\"[系统] 新功能已启动\")\n    return\n```\n\n2. 如需修改指令过滤规则：\n\n```python\n# 修改 allowed_keywords 列表\nallowed_keywords = [\"帮我看\", \"帮我找\", \"你的新关键词\"]\n```\n\n### 扩展导航功能\n\n1. 在 `workflow_blindpath.py` 添加新状态：\n\n```python\n# 在 BlindPathNavigator.__init__() 中初始化\nself.your_new_state_var = False\n\n# 在 process_frame() 中处理\ndef process_frame(self, image):\n    if self.your_new_state_var:\n        # 自定义处理逻辑\n        guidance_text = \"新状态引导\"\n    # ...\n```\n\n2. 在 `navigation_master.py` 添加状态机状态：\n\n```python\nclass NavigationMaster:\n    def start_your_new_mode(self):\n        self.state = \"YOUR_NEW_MODE\"\n        # 初始化逻辑\n```\n\n### 集成新模型\n\n1. 创建模型包装类：\n\n```python\n# your_model_wrapper.py\nclass YourModelWrapper:\n    def __init__(self, model_path):\n        self.model = load_your_model(model_path)\n    \n    def detect(self, image):\n        # 推理逻辑\n        return results\n```\n\n2. 在 `app_main.py` 中加载：\n\n```python\nyour_model = YourModelWrapper(\"model\u002Fyour_model.pt\")\n```\n\n3. 在相应的工作流中调用：\n\n```python\nresults = your_model.detect(image)\n```\n\n### 调试技巧\n\n1. **启用详细日志**：\n\n```python\n# app_main.py 顶部\nimport logging\nlogging.basicConfig(level=logging.DEBUG)\n```\n\n2. **查看帧率瓶颈**：\n\n```python\n# yolomedia.py\nPERF_DEBUG = True  # 打印处理时间\n```\n\n3. **测试单个模块**：\n\n```bash\n# 测试盲道导航\npython test_cross_street_blindpath.py\n\n# 测试红绿灯检测\npython test_traffic_light.py\n\n# 测试录制功能\npython test_recorder.py\n```\n\n\n\n\n\n## 📄 许可证\n\n本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件\n\n\n","# AI 智能盲人眼镜系统 🤖👓\n\n\u003Cdiv align=\"center\">\n\n一个面向视障人士的智能导航与辅助系统，集成了盲道导航、过马路辅助、物品识别、实时语音交互等功能。  本项目仅为交流学习使用，请勿直接给视障人群使用。本项目内仅包含代码，模型地址：https:\u002F\u002Fwww.modelscope.cn\u002Fmodels\u002Farchifancy\u002FAIGlasses_for_navigation  。下载后存放在\u002Fmodel 文件夹\n\n[功能特性](#功能特性) • [快速开始](#快速开始) • [系统架构](#系统架构) • [使用说明](#使用说明) • [开发文档](#开发文档)\n\n\u003C\u002Fdiv>\n\n---\n\u003Cimg width=\"2481\" height=\"3508\" alt=\"1\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI-FanGe_OpenAIglasses_for_Navigation_readme_5b7b36ddbf3e.png\" \u002F>\n\u003Cimg width=\"2480\" height=\"3508\" alt=\"2\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI-FanGe_OpenAIglasses_for_Navigation_readme_c30fa7848da5.png\" \u002F>\n\u003Cimg width=\"2481\" height=\"3508\" alt=\"4\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI-FanGe_OpenAIglasses_for_Navigation_readme_4779d4184cf6.png\" \u002F>\n\n## 📋 目录\n\n- [功能特性](#功能特性)\n- [系统要求](#系统要求)\n- [快速开始](#快速开始)\n- [系统架构](#系统架构)\n- [使用说明](#使用说明)\n- [配置说明](#配置说明)\n- [开发文档](#开发文档)\n\n## ✨ 功能特性\n\n### 🚶 盲道导航系统\n- **实时盲道检测**：基于 YOLO 分割模型实时识别盲道\n- **智能语音引导**：提供精准的方向指引（左转、右转、直行等）\n- **障碍物检测与避障**：自动识别前方障碍物并规划避障路线\n- **转弯检测**：自动识别急转弯并提前提醒\n- **光流稳定**：使用 Lucas-Kanade 光流算法稳定掩码，减少抖动\n\n### 🚦 过马路辅助\n- **斑马线识别**：实时检测斑马线位置和方向\n- **红绿灯识别**：基于颜色和形状的红绿灯状态检测\n- **对齐引导**：引导用户对准斑马线中心\n- **安全提醒**：绿灯时语音提示可以通行\n\n### 🔍 物品识别与查找\n- **智能物品搜索**：语音指令查找物品（如\"帮我找一下红牛\"）\n- **实时目标追踪**：使用 YOLO-E 开放词汇检测 + ByteTrack 追踪\n- **手部引导**：结合 MediaPipe 手部检测，引导用户手部靠近物品\n- **抓取检测**：检测手部握持动作，确认物品已拿到\n- **多模态反馈**：视觉标注 + 语音引导 + 居中提示\n\n### 🎙️ 实时语音交互\n- **语音识别（ASR）**：基于阿里云 DashScope Paraformer 实时语音识别\n- **多模态对话**：Qwen-Omni-Turbo 支持图像+文本输入，语音输出\n- **智能指令解析**：自动识别导航、查找、对话等不同类型指令\n- **上下文感知**：在不同模式下智能过滤无关指令\n\n### 📹 视频与音频处理\n- **实时视频流**：WebSocket 推流，支持多客户端同时观看\n- **音视频同步录制**：自动保存带时间戳的录像和音频文件\n- **IMU 数据融合**：接收 ESP32 的 IMU 数据，支持姿态估计\n- **多路音频混音**：支持系统语音、AI 回复、环境音同时播放\n\n### 🎨 可视化与交互\n- **Web 实时监控**：浏览器端实时查看处理后的视频流\n- **IMU 3D 可视化**：Three.js 实时渲染设备姿态\n- **状态面板**：显示导航状态、检测信息、FPS 等\n- **中文友好**：所有界面和语音使用中文，支持自定义字体\n\n## 💻 系统要求\n\n### 硬件要求\n- **开发\u002F服务器端**：\n  - CPU: Intel i5 或以上（推荐 i7\u002Fi9）\n  - GPU: NVIDIA GPU（支持 CUDA 11.8+，推荐 RTX 3060 或以上）\n  - 内存: 8GB RAM（推荐 16GB）\n  - 存储: 10GB 可用空间\n\n- **客户端设备**（可选）：\n  - ESP32-CAM 或其他支持 WebSocket 的摄像头\n  - 麦克风（用于语音输入）\n  - 扬声器\u002F耳机（用于语音输出）\n\n### 软件要求\n- **操作系统**: Windows 10\u002F11, Linux (Ubuntu 20.04+), macOS 10.15+\n- **Python**: 3.9 - 3.11\n- **CUDA**: 11.8 或更高版本（GPU 加速必需）\n- **浏览器**: Chrome 90+, Firefox 88+, Edge 90+（用于 Web 监控）\n\n### API 密钥\n- **阿里云 DashScope API Key**（必需）：\n  - 用于语音识别（ASR）和 Qwen-Omni 对话\n  - 申请地址：https:\u002F\u002Fdashscope.console.aliyun.com\u002F\n\n## 🚀 快速开始\n\n### 1. 克隆项目\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyourusername\u002Faiglass.git\ncd aiglass\u002Frebuild1002\n```\n\n### 2. 安装依赖\n\n#### 创建虚拟环境（推荐）\n```bash\npython -m venv venv\n# Windows\nvenv\\Scripts\\activate\n# Linux\u002FmacOS\nsource venv\u002Fbin\u002Factivate\n```\n\n#### 安装 Python 包\n```bash\npip install -r requirements.txt\n```\n\n#### 安装 CUDA 和 cuDNN（GPU 加速）\n请参考 [NVIDIA CUDA Toolkit 安装指南](https:\u002F\u002Fdeveloper.nvidia.com\u002Fcuda-downloads)\n\n### 3. 下载模型文件\n\n将以下模型文件放入 `model\u002F` 目录：\n\n| 模型文件 | 用途 | 大小 | 下载链接 |\n|---------|------|------|---------|\n| `yolo-seg.pt` | 盲道分割 | ~50MB | [待补充] |\n| `yoloe-11l-seg.pt` | 开放词汇检测 | ~80MB | [待补充] |\n| `shoppingbest5.pt` | 物品识别 | ~30MB | [待补充] |\n| `trafficlight.pt` | 红绿灯检测 | ~20MB | [待补充] |\n| `hand_landmarker.task` | 手部检测 | ~15MB | [MediaPipe Models](https:\u002F\u002Fdevelopers.google.com\u002Fmediapipe\u002Fsolutions\u002Fvision\u002Fhand_landmarker#models) |\n\n### 4. 配置 API 密钥\n\n创建 `.env` 文件：\n\n```bash\n# .env\nDASHSCOPE_API_KEY=your_api_key_here\n```\n\n或在代码中直接修改（不推荐）：\n```python\n# app_main.py, line 50\nAPI_KEY = \"your_api_key_here\"\n```\n\n### 5. 启动系统\n\n```bash\npython app_main.py\n```\n\n系统将在 `http:\u002F\u002F0.0.0.0:8081` 启动，打开浏览器访问即可看到实时监控界面。\n\n### 6. 连接设备（可选）\n\n如果使用 ESP32-CAM，请：\n1. 烧录 `compile\u002Fcompile.ino` 到 ESP32\n2. 修改 WiFi 配置，连接到同一网络\n3. ESP32 自动连接到 WebSocket 端点\n\n## 🏗️ 系统架构\n\n### 整体架构\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                        客户端层                              │\n│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      │\n│  │  ESP32-CAM   │  │   浏览器      │  │   移动端      │      │\n│  │  (视频\u002F音频)  │  │  (监控界面)   │  │  (语音控制)   │      │\n│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘      │\n└─────────┼──────────────────┼──────────────────┼─────────────┘\n          │ WebSocket        │ HTTP\u002FWS          │ WebSocket\n┌─────────┼──────────────────┼──────────────────┼─────────────┐\n│         │                  │                  │              │\n│    ┌────▼──────────────────▼──────────────────▼────────┐    │\n│    │         FastAPI 主服务 (app_main.py)              │    │\n│    │  - WebSocket 路由管理                              │    │\n│    │  - 音视频流分发                                     │    │\n│    │  - 状态管理与协调                                   │    │\n│    └────┬────────────────┬────────────────┬─────────────┘    │\n│         │                │                │                  │\n│  ┌──────▼──────┐  ┌──────▼──────┐  ┌──────▼──────┐         │\n│  │ ASR 模块     │  │ Omni 对话   │  │ 音频播放     │         │\n│  │ (asr_core)   │  │(omni_client)│  │(audio_player)│         │\n│  └──────────────┘  └──────────────┘  └──────────────┘         │\n│                                                               │\n│         应用层                                                │\n└───────────────────────────────────────────────────────────────┘\n          │                  │                  │\n┌─────────▼──────────────────▼──────────────────▼──────────────┐\n│                     导航统领层                                │\n│    ┌─────────────────────────────────────────────────┐       │\n│    │  NavigationMaster (navigation_master.py)         │       │\n│    │  - 状态机：IDLE\u002FCHAT\u002FBLINDPATH_NAV\u002F              │       │\n│    │            CROSSING\u002FTRAFFIC_LIGHT\u002FITEM_SEARCH    │       │\n│    │  - 模式切换与协调                                │       │\n│    └───┬─────────────────────┬───────────────────┬───┘       │\n│        │                     │                   │            │\n│   ┌────▼────────┐   ┌────────▼────────┐   ┌─────▼──────┐   │\n│   │ 盲道导航     │   │  过马路导航      │   │ 物品查找    │   │\n│   │(blindpath)   │   │ (crossstreet)   │   │(yolomedia)  │   │\n│   └──────────────┘   └──────────────────┘   └─────────────┘   │\n└───────────────────────────────────────────────────────────────┘\n          │                  │                  │\n┌─────────▼──────────────────▼──────────────────▼──────────────┐\n│                       模型推理层                              │\n│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐       │\n│  │ YOLO 分割     │  │  YOLO-E 检测 │  │ MediaPipe    │       │\n│  │ (盲道\u002F斑马线) │  │ (开放词汇)   │  │  (手部检测)   │       │\n│  └──────────────┘  └──────────────┘  └──────────────┘       │\n│  ┌──────────────┐  ┌──────────────┐                         │\n│  │ 红绿灯检测    │  │ 光流稳定      │                         │\n│  │(HSV+YOLO)     │  │(Lucas-Kanade)│                         │\n│  └──────────────┘  └──────────────┘                         │\n└───────────────────────────────────────────────────────────────┘\n          │\n┌─────────▼─────────────────────────────────────────────────────┐\n│                    外部服务层                                  │\n│  ┌──────────────────────────────────────────────┐            │\n│  │  阿里云 DashScope API                         │            │\n│  │  - Paraformer ASR (实时语音识别)              │            │\n│  │  - Qwen-Omni-Turbo (多模态对话)               │            │\n│  │  - Qwen-Turbo (标签提取)                      │            │\n│  └──────────────────────────────────────────────┘            │\n└───────────────────────────────────────────────────────────────┘\n```\n\n### 核心模块说明\n\n| 模块 | 文件 | 功能 |\n|------|------|------|\n| **主应用** | `app_main.py` | FastAPI 服务、WebSocket 管理、状态协调 |\n| **导航统领** | `navigation_master.py` | 状态机管理、模式切换、语音节流 |\n| **盲道导航** | `workflow_blindpath.py` | 盲道检测、避障、转弯引导 |\n| **过马路导航** | `workflow_crossstreet.py` | 斑马线检测、红绿灯识别、对齐引导 |\n| **物品查找** | `yolomedia.py` | 物品检测、手部引导、抓取确认 |\n| **语音识别** | `asr_core.py` | 实时 ASR、VAD、指令解析 |\n| **语音合成** | `omni_client.py` | Qwen-Omni 流式语音生成 |\n| **音频播放** | `audio_player.py` | 多路混音、TTS 播放、音量控制 |\n| **视频录制** | `sync_recorder.py` | 音视频同步录制 |\n| **桥接 IO** | `bridge_io.py` | 线程安全的帧缓冲与分发 |\n\n## 📖 使用说明\n\n### 语音指令\n\n系统支持以下语音指令（说话时无需唤醒词）：\n\n#### 导航控制\n```\n\"开始导航\" \u002F \"盲道导航\"     → 启动盲道导航\n\"停止导航\" \u002F \"结束导航\"     → 停止盲道导航\n\"开始过马路\" \u002F \"帮我过马路\"  → 启动过马路模式\n\"过马路结束\" \u002F \"结束过马路\"  → 停止过马路模式\n```\n\n#### 红绿灯检测\n```\n\"检测红绿灯\" \u002F \"看红绿灯\"   → 启动红绿灯检测\n\"停止检测\" \u002F \"停止红绿灯\"   → 停止检测\n```\n\n#### 物品查找\n```\n\"帮我找一下 [物品名]\"       → 启动物品搜索\n  示例：\n  - \"帮我找一下红牛\"\n  - \"找一下AD钙奶\"\n  - \"帮我找矿泉水\"\n\"找到了\" \u002F \"拿到了\"         → 确认找到物品\n```\n\n#### 智能对话\n```\n\"帮我看看这是什么\"          → 拍照识别\n\"这个东西能吃吗\"            → 物品咨询\n任何其他问题                 → AI 对话\n```\n\n### 导航状态说明\n\n系统包含以下主要状态（自动切换）：\n\n1. **IDLE** - 空闲状态\n   - 等待用户指令\n   - 显示原始视频流\n\n2. **CHAT** - 对话模式\n   - 与 AI 进行多模态对话\n   - 暂停导航功能\n\n3. **BLINDPATH_NAV** - 盲道导航\n   - **ONBOARDING**: 上盲道引导\n     - ROTATION: 旋转对准盲道\n     - TRANSLATION: 平移至盲道中心\n   - **NAVIGATING**: 沿盲道行走\n     - 实时方向修正\n     - 障碍物检测\n   - **MANEUVERING_TURN**: 转弯处理\n   - **AVOIDING_OBSTACLE**: 避障\n\n4. **CROSSING** - 过马路模式\n   - **SEEKING_CROSSWALK**: 寻找斑马线\n   - **WAIT_TRAFFIC_LIGHT**: 等待绿灯\n   - **CROSSING**: 过马路中\n   - **SEEKING_NEXT_BLINDPATH**: 寻找对面盲道\n\n5. **ITEM_SEARCH** - 物品查找\n   - 实时检测目标物品\n   - 引导手部靠近\n   - 确认抓取\n\n6. **TRAFFIC_LIGHT_DETECTION** - 红绿灯检测\n   - 实时检测红绿灯状态\n   - 语音播报颜色变化\n\n### Web 监控界面\n\n打开浏览器访问 `http:\u002F\u002Flocalhost:8081`，可以看到：\n\n- **实时视频流**：显示处理后的视频，包括导航标注\n- **状态面板**：当前模式、检测信息、FPS\n- **IMU 可视化**：设备姿态 3D 实时渲染\n- **语音识别结果**：显示识别的文字和 AI 回复\n\n### WebSocket 端点\n\n| 端点 | 用途 | 数据格式 |\n|------|------|---------|\n| `\u002Fws\u002Fcamera` | ESP32 相机推流 | Binary (JPEG) |\n| `\u002Fws\u002Fviewer` | 浏览器订阅视频 | Binary (JPEG) |\n| `\u002Fws_audio` | ESP32 音频上传 | Binary (PCM16) |\n| `\u002Fws_ui` | UI 状态推送 | JSON |\n| `\u002Fws` | IMU 数据接收 | JSON |\n| `\u002Fstream.wav` | 音频下载流 | Binary (WAV) |\n\n## ⚙️ 配置说明\n\n### 环境变量\n\n创建 `.env` 文件配置以下参数：\n\n```bash\n# 阿里云 API\nDASHSCOPE_API_KEY=sk-xxxxx\n\n# 模型路径（可选，使用默认路径可不配置）\nBLIND_PATH_MODEL=model\u002Fyolo-seg.pt\nOBSTACLE_MODEL=model\u002Fyoloe-11l-seg.pt\nYOLOE_MODEL_PATH=model\u002Fyoloe-11l-seg.pt\n\n# 导航参数\nAIGLASS_MASK_MIN_AREA=1500      # 最小掩码面积\nAIGLASS_MASK_MORPH=3            # 形态学核大小\nAIGLASS_MASK_MISS_TTL=6         # 掩码丢失容忍帧数\nAIGLASS_PANEL_SCALE=0.65        # 数据面板缩放\n\n# 音频配置\nTTS_INTERVAL_SEC=1.0            # 语音播报间隔\nENABLE_TTS=true                 # 启用语音播报\n```\n\n### 修改模型路径\n\n如果模型文件不在默认位置，可以在相应文件中修改：\n\n```python\n# workflow_blindpath.py\nseg_model_path = \"your\u002Fcustom\u002Fpath\u002Fyolo-seg.pt\"\n\n# yolomedia.py\nYOLO_MODEL_PATH = \"your\u002Fcustom\u002Fpath\u002Fshoppingbest5.pt\"\nHAND_TASK_PATH = \"your\u002Fcustom\u002Fpath\u002Fhand_landmarker.task\"\n```\n\n### 调整性能参数\n\n根据硬件性能调整：\n\n```python\n# yolomedia.py\nHAND_DOWNSCALE = 0.8    # 手部检测降采样（越小越快，精度降低）\nHAND_FPS_DIV = 1        # 手部检测抽帧（2=隔帧，3=每3帧）\n\n# workflow_blindpath.py  \nFEATURE_PARAMS = dict(\n    maxCorners=600,      # 光流特征点数（越少越快）\n    qualityLevel=0.001,  # 特征点质量\n    minDistance=5        # 特征点最小间距\n)\n```\n\n## 🛠️ 开发文档\n\n### 添加新的语音指令\n\n1. 在 `app_main.py` 的 `start_ai_with_text_custom()` 函数中添加：\n\n```python\n# 检查新指令\nif \"新指令关键词\" in user_text:\n    # 执行自定义逻辑\n    print(\"[CUSTOM] 新指令被触发\")\n    await ui_broadcast_final(\"[系统] 新功能已启动\")\n    return\n```\n\n2. 如需修改指令过滤规则：\n\n```python\n# 修改 allowed_keywords 列表\nallowed_keywords = [\"帮我看\", \"帮我找\", \"你的新关键词\"]\n```\n\n### 扩展导航功能\n\n1. 在 `workflow_blindpath.py` 添加新状态：\n\n```python\n# 在 BlindPathNavigator.__init__() 中初始化\nself.your_new_state_var = False\n\n# 在 process_frame() 中处理\ndef process_frame(self, image):\n    if self.your_new_state_var:\n        # 自定义处理逻辑\n        guidance_text = \"新状态引导\"\n    # ...\n```\n\n2. 在 `navigation_master.py` 添加状态机状态：\n\n```python\nclass NavigationMaster:\n    def start_your_new_mode(self):\n        self.state = \"YOUR_NEW_MODE\"\n        # 初始化逻辑\n```\n\n### 集成新模型\n\n1. 创建模型包装类：\n\n```python\n# your_model_wrapper.py\nclass YourModelWrapper:\n    def __init__(self, model_path):\n        self.model = load_your_model(model_path)\n    \n    def detect(self, image):\n        # 推理逻辑\n        return results\n```\n\n2. 在 `app_main.py` 中加载：\n\n```python\nyour_model = YourModelWrapper(\"model\u002Fyour_model.pt\")\n```\n\n3. 在相应的工作流中调用：\n\n```python\nresults = your_model.detect(image)\n```\n\n### 调试技巧\n\n1. **启用详细日志**：\n\n```python\n# app_main.py 顶部\nimport logging\nlogging.basicConfig(level=logging.DEBUG)\n```\n\n2. **查看帧率瓶颈**：\n\n```python\n# yolomedia.py\nPERF_DEBUG = True  # 打印处理时间\n```\n\n3. **测试单个模块**：\n\n```bash\n# 测试盲道导航\npython test_cross_street_blindpath.py\n\n# 测试红绿灯检测\npython test_traffic_light.py\n\n# 测试录制功能\npython test_recorder.py\n```\n\n\n\n\n\n## 📄 许可证\n\n本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件","# OpenAIglasses_for_Navigation 快速上手指南\n\n本项目是一个面向视障人士的智能导航与辅助系统原型，集成了盲道导航、过马路辅助、物品识别及实时语音交互功能。**注意：本项目仅用于技术交流与学习，请勿直接提供给视障人群实际使用。**\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Windows 10\u002F11, Linux (Ubuntu 20.04+), 或 macOS 10.15+\n- **Python 版本**: 3.9 - 3.11\n- **GPU 加速 (推荐)**: NVIDIA GPU (支持 CUDA 11.8+)，显存建议 6GB 以上 (如 RTX 3060)\n- **内存**: 至少 8GB (推荐 16GB)\n- **存储**: 预留 10GB 可用空间\n\n### 前置依赖\n- **CUDA Toolkit**: 若需 GPU 加速，请安装 CUDA 11.8 或更高版本。\n- **API 密钥**: 需申请阿里云 DashScope API Key (用于语音识别 ASR 和多模态对话)。\n  - 申请地址：[阿里云 DashScope 控制台](https:\u002F\u002Fdashscope.console.aliyun.com\u002F)\n\n## 2. 安装步骤\n\n### 第一步：克隆项目\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyourusername\u002Faiglass.git\ncd aiglass\u002Frebuild1002\n```\n\n### 第二步：创建并激活虚拟环境\n```bash\npython -m venv venv\n\n# Windows 系统\nvenv\\Scripts\\activate\n\n# Linux\u002FmacOS 系统\nsource venv\u002Fbin\u002Factivate\n```\n\n### 第三步：安装 Python 依赖\n建议使用国内镜像源加速安装：\n```bash\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 第四步：下载并部署模型\n本项目不包含模型文件，需手动下载并存放至 `model\u002F` 目录。\n\n1. **下载地址**: [ModelScope 模型库](https:\u002F\u002Fwww.modelscope.cn\u002Fmodels\u002Farchifancy\u002FAIGlasses_for_navigation)\n2. **文件列表**:\n   | 文件名 | 用途 |\n   | :--- | :--- |\n   | `yolo-seg.pt` | 盲道分割 |\n   | `yoloe-11l-seg.pt` | 开放词汇检测 |\n   | `shoppingbest5.pt` | 物品识别 |\n   | `trafficlight.pt` | 红绿灯检测 |\n   | `hand_landmarker.task` | 手部检测 (可从 MediaPipe 官网下载) |\n\n3. **放置文件**:\n   确保下载后的文件位于项目根目录下的 `model\u002F` 文件夹内。\n\n### 第五步：配置 API 密钥\n在项目根目录创建 `.env` 文件，填入你的阿里云 API Key：\n```bash\n# .env\nDASHSCOPE_API_KEY=sk-你的实际_api_key_这里\n```\n\n## 3. 基本使用\n\n### 启动系统\n在激活的虚拟环境中运行主程序：\n```bash\npython app_main.py\n```\n\n### 访问监控界面\n服务启动后，打开浏览器访问：\n```text\nhttp:\u002F\u002F0.0.0.0:8081\n```\n你将看到实时监控画面、导航状态面板及 IMU 姿态可视化界面。\n\n### 语音指令示例\n系统默认开启语音交互（无需唤醒词），对着麦克风说出以下指令即可测试功能：\n\n- **盲道导航**: \"开始导航\" 或 \"盲道导航\"\n- **过马路辅助**: \"帮我过马路\"\n- **物品查找**: \"帮我找一下红牛\"\n- **智能问答**: \"帮我看看这是什么\" 或 \"这个东西能吃吗\"\n- **停止操作**: \"停止导航\" 或 \"结束过马路\"\n\n### 连接硬件设备 (可选)\n若使用 ESP32-CAM 作为前端采集设备：\n1. 将 `compile\u002Fcompile.ino` 烧录至 ESP32。\n2. 修改代码中的 WiFi 账号密码，确保与服务器在同一局域网。\n3. 设备上电后将自动通过 WebSocket 推送视频流。","视障人士李先生独自前往陌生的超市购买特定品牌的饮料，并在结束后安全返回。\n\n### 没有 OpenAIglasses_for_Navigation 时\n- **寻物如大海捞针**：在货架前只能依靠触摸或大声询问店员，难以精准定位“红牛”等特定商品，效率极低且容易尴尬。\n- **过马路心惊胆战**：面对复杂的十字路口，无法独立判断红绿灯状态和斑马线位置，必须等待路人协助，存在严重安全隐患。\n- **盲道行走易偏离**：缺乏实时方向指引，容易因盲道中断或被占用而迷失方向，甚至碰撞到突发障碍物。\n- **交互依赖他人**：遇到突发状况或需要确认环境信息时，完全依赖身边是否有好心人，缺乏自主获取信息的能力。\n\n### 使用 OpenAIglasses_for_Navigation 后\n- **语音指令精准找物**：李先生只需说“帮我找一下红牛”，系统通过 YOLO-E 开放词汇检测实时追踪目标，并引导手部精准抓取，实现独立购物。\n- **智能辅助安全过街**：系统自动识别斑马线与红绿灯状态，在绿灯亮起时语音提示“可以通行”，并引导对齐路线，让过马路变得从容安全。\n- **实时盲道导航避障**：基于分割模型实时检测盲道走向，提前预警急转弯和前方障碍物，提供“左转、直行”等精准语音指引，确保路径顺畅。\n- **多模态自主交互**：通过 Qwen-Omni 大模型，李先生可随时询问周围环境细节（如“前面是什么店”），获得像与人对话般的自然反馈，重获出行自信。\n\nOpenAIglasses_for_Navigation 将视觉感知转化为听觉指引，不仅解决了视障人士出行的安全痛点，更赋予了他们独立探索世界的尊严与自由。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI-FanGe_OpenAIglasses_for_Navigation_5b7b36dd.png","AI-FanGe",null,"https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FAI-FanGe_c0ab9b2c.jpg","https:\u002F\u002Fgithub.com\u002FAI-FanGe",[78,82,86,90,94,98,102,105,109],{"name":79,"color":80,"percentage":81},"Python","#3572A5",79.4,{"name":83,"color":84,"percentage":85},"JavaScript","#f1e05a",11,{"name":87,"color":88,"percentage":89},"C++","#f34b7d",5.7,{"name":91,"color":92,"percentage":93},"HTML","#e34c26",1.5,{"name":95,"color":96,"percentage":97},"Shell","#89e051",0.8,{"name":99,"color":100,"percentage":101},"Batchfile","#C1F12E",0.6,{"name":103,"color":104,"percentage":101},"CSS","#663399",{"name":106,"color":107,"percentage":108},"C","#555555",0.2,{"name":110,"color":111,"percentage":108},"Dockerfile","#384d54",1230,373,"2026-04-18T09:24:17","MIT",4,"Windows 10\u002F11, Linux (Ubuntu 20.04+), macOS 10.15+","必需，NVIDIA GPU (支持 CUDA 11.8+)，推荐 RTX 3060 或以上","最低 8GB，推荐 16GB",{"notes":121,"python":122,"dependencies":123},"需手动下载模型文件至\u002Fmodel 目录（含盲道分割、开放词汇检测、手部检测等模型）；必须配置阿里云 DashScope API Key 用于语音识别和多模态对话；客户端可选配 ESP32-CAM 进行视频推流和 IMU 数据传输；建议使用虚拟环境安装依赖。","3.9 - 3.11",[124,125,126,127,128,129,130],"FastAPI","YOLO (Segmentation\u002FDetection)","MediaPipe","OpenCV","DashScope SDK","WebSocket","Three.js (前端)",[35,15,132,133],"音频","其他","2026-03-27T02:49:30.150509","2026-04-18T22:31:45.649879",[137,142,147,152,156,161],{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},40963,"项目有交流群可以加入吗？","有的，欢迎加入社区群组一起交流。具体的入群方式请参考项目中的相关讨论帖（如 Issue #11）。","https:\u002F\u002Fgithub.com\u002FAI-FanGe\u002FOpenAIglasses_for_Navigation\u002Fissues\u002F10",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},40961,"安装时提示 ultralytics 缺少 YOLOE 包怎么办？","这是因为版本不匹配导致的。请卸载当前版本并直接安装特定版本：pip install ultralytics==8.3.200。该版本包含所需的 YOLOE 包，安装后模型即可正常加载。","https:\u002F\u002Fgithub.com\u002FAI-FanGe\u002FOpenAIglasses_for_Navigation\u002Fissues\u002F5",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},40960,"如何获取详细的硬件清单以便自行 3D 打印和组装？","可以直接参考项目中的硬件示意图，在淘宝搜索对应的硬件组件即可，大部分通用。3D 打印的源文件可以在 ModelScope 的项目文件中找到（链接：https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002Farchifancy\u002FAIGlasses_for_navigation\u002Ffiles）。","https:\u002F\u002Fgithub.com\u002FAI-FanGe\u002FOpenAIglasses_for_Navigation\u002Fissues\u002F2",{"id":153,"question_zh":154,"answer_zh":155,"source_url":141},40962,"眼镜架是哪里买的还是自己制作的？","眼镜架是通过 3D 打印制作的，并非直接购买成品。你可以下载项目提供的 3D 打印源文件进行复刻。",{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},40964,"除了已提供的模型文件，其他模型文件去哪里获取？","目前主要依赖项目中提供的核心模型文件。如果需要更多模型或更新，建议关注项目的 ModelScope 页面或后续发布的资源链接，通常维护者会在有更新时补充相关文件。","https:\u002F\u002Fgithub.com\u002FAI-FanGe\u002FOpenAIglasses_for_Navigation\u002Fissues\u002F15",{"id":162,"question_zh":163,"answer_zh":164,"source_url":165},40965,"运行 setup.sh 时提示缺少 .env.example 文件如何解决？","该文件通常用于配置环境变量。如果仓库中缺失，可以尝试手动创建一个 .env 文件，参照项目文档或代码中需要的变量名（如 API_KEY 等）填入对应值。若仍无法解决，建议在评论区等待维护者补充该示例文件或查看最新提交的代码库。","https:\u002F\u002Fgithub.com\u002FAI-FanGe\u002FOpenAIglasses_for_Navigation\u002Fissues\u002F19",[]]