Skip to content

AL-UFO/Robot_Sensor_teamwork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robot Sensor Teamwork

一个以语音交互和视觉识别为核心的本地机器人原型项目。当前公开版本保留了两条主链路:

  • 语音链路:录音、预处理、ASR、云端问答、本地/云端 TTS、声纹识别
  • 视觉链路:摄像头接入、YOLO 目标检测、关键词触发视觉窗口

当前功能

语音模块

  • 支持本地 Vosk 识别
  • 支持云端 Qwen ASR 实时转写,失败时回退到本地识别
  • 支持云端 Qwen 大模型问答
  • 支持云端 Qwen Realtime TTS 或本地 Edge TTS
  • 支持声纹注册、识别和本地持久化
  • 支持音频预处理:DC 去除、高通、增益归一化、VAD、前卷/后挂
  • 支持空格键打断播报

视觉模块

  • 支持摄像头接入
  • 支持 YOLO 模型实时检测
  • 默认运行模型位于 Vision/models/best.pt
  • 当前主流程可通过语音关键词触发视觉模块启动

目录结构

.
├─ main.py                 # 主入口,串联语音与视觉模块
├─ log_utils.py            # 统一日志输出
├─ Sound/                  # 语音模块
│  ├─ cloud_asr.py         # 云端 ASR
│  ├─ llm_brain.py         # 云端大模型问答
│  ├─ Sound_output.py      # TTS 播报
│  ├─ model/               # 本地 Vosk 模型
│  └─ voiceprints/         # 本地声纹库(默认不上传)
└─ Vision/                 # 视觉模块
   ├─ vision_main.py       # 视觉入口
   ├─ yolo_detector.py     # YOLO 检测封装
   ├─ visual_output.py     # 可视化输出
   ├─ models/              # 当前运行时模型
   └─ training/            # 数据采集、标注、转换、训练整理脚本

运行环境

  • Windows
  • Python 3.11 / 3.12
  • 麦克风、扬声器
  • 摄像头(视觉模块需要)

依赖建议

请按你的环境自行安装,当前项目代码涉及的主要依赖包括:

pip install numpy sounddevice webrtcvad vosk keyboard openai dashscope edge-tts pygame ultralytics opencv-python

如果需要声纹识别,还需要:

pip install resemblyzer

环境变量

云端能力通过环境变量读取,不建议把密钥直接写入代码。

DASHSCOPE_API_KEY
DASHSCOPE_BASE_URL
DASHSCOPE_CHAT_MODEL
DASHSCOPE_ASR_MODEL
DASHSCOPE_TTS_MODEL
DASHSCOPE_TTS_VOICE

Windows PowerShell 临时设置示例:

$env:DASHSCOPE_API_KEY="你的密钥"
$env:DASHSCOPE_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
$env:DASHSCOPE_CHAT_MODEL="qwen-flash"
$env:DASHSCOPE_ASR_MODEL="qwen3-asr-flash-realtime"
$env:DASHSCOPE_TTS_MODEL="qwen3-tts-flash-realtime"
$env:DASHSCOPE_TTS_VOICE="Cherry"

启动方式

启动主程序

python main.py

单独启动视觉模块

python Vision/vision_main.py

训练相关工具

训练相关脚本已经整理到 Vision/training/,例如:

python Vision/training/collect_images.py
python Vision/training/simple_labeler.py 数据目录
python Vision/training/xml_to_yolo.py 数据目录
python Vision/training/prepare_dataset.py

模型说明

语音

  • Sound/model/:本地 Vosk 模型,用于离线识别回退

视觉

  • Vision/models/best.pt:当前视觉运行默认模型
  • runs/:训练与实验输出目录,默认不纳入版本控制

注意事项

  • Sound/voiceprints/ 存的是本地声纹数据,属于私有数据,不建议上传
  • 当前仓库默认忽略了 old/runs/、日志、缓存和本地声纹文件
  • 如果需要更换视觉模型,优先替换 Vision/models/best.pt
  • 如果没有配置云端密钥,程序会自动退回到本地兜底逻辑

后续可继续整理的方向

  • 补充 requirements.txt
  • 把更多运行参数从 main.py 中拆到配置文件
  • 为语音链路和视觉链路补充更细的模块说明
  • 增加公开仓库可直接复现的数据和模型下载说明

About

机器人传感技术小组作业

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages