# gafa2025
**Repository Path**: limico/gafa2025
## Basic Information
- **Project Name**: gafa2025
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-06-16
- **Last Updated**: 2025-06-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# GAF字母检测与追踪系统——实时互动幕布设计
基于YOLOv8的实时G、A、F字母检测与追踪系统,集成OpenAI Vision功能和OSC通信。
## 安装与运行指南
### 1. 安装conda环境
Windows
1. 下载 [Miniconda](https://docs.conda.io/en/latest/miniconda.html) 或 [Anaconda](https://www.anaconda.com/products/distribution)
2. 安装好Miniconda或Anaconda后,找到安装目录
- 默认路径通常为 `C:\Users\<用户名>\Miniconda3` 或 `C:\Users\<用户名>\Anaconda3`
3. 运行安装程序,勾选“Add to PATH”选项
4. 下载[Gitbash](https://git-scm.com/downloads)
5. 在vscode中打开本项目的主文件夹,创建新的名为bashrc的文件:
```bash
code ~/.bashrc
```
6. 在bashrc文件中添加以下内容(二选一):
- 如果安装的是miniconda,添加以下内容:
```bash
# >>> miniconda manual setup for Git Bash >>>
export PATH="/c/Users/<用户名>/miniconda3/bin:/c/Users/<用户名>/miniconda3/Scripts:/c/Users/<用户名>/miniconda3/Library/bin:$PATH"
# <<< miniconda manual setup <<<
```
- 如果安装的是anaconda,添加以下内容:
```bash
# >>> Anaconda manual setup for Git Bash >>>
export PATH="/c/Users/<用户名>/Anaconda3/bin:/c/Users/<用户名>/Anaconda3/Scripts:/c/Users/<用户名>/Anaconda3/Library/bin:$PATH"
# <<< Anaconda manual setup <<<
```
注意:将 `<用户名>` 替换为你的Windows用户名。
7. 重新载入bashrc环境
```bash
source ~/.bashrc
```
8. 验证conda是否安装成功
```bash
conda --version
```
macOS
```bash
# 使用Homebrew安装Anaconda
brew install --cask anaconda
```
Linux
```bash
# 下载安装脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
# 执行安装
bash ~/miniconda.sh -b -p $HOME/miniconda
# 添加到PATH
echo 'export PATH="$HOME/miniconda/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
```
### 2. 运行项目
项目提供了便捷的`run_gafa.sh`脚本,它能自动检测conda安装、创建所需环境并运行程序:
```bash
# 添加执行权限(Linux、macOS需要执行,Windows可以直接运行脚本)
chmod +x run_gafa.sh
# 运行脚本
./run_gafa.sh
```
**脚本功能:**
- 自动检测conda安装路径
- 创建`py310` Python环境(如果不存在)
- 安装所需依赖
- 启动GAF字母检测系统
### 手动环境设置(可选)
如果需要手动管理环境,可以使用以下命令:
```bash
# 创建conda环境
conda env create -f environment.yml
# 或者手动创建环境
conda create -n py310 python=3.10
conda activate py310
pip install -r requirements.txt
# 启动程序
python main.py
```
### 环境导出与共享
为方便其他开发者复制完全相同的环境,项目提供了环境导出脚本:
```bash
# 添加执行权限
chmod +x export_env.sh
# 导出环境
./export_env.sh
```
该脚本会生成三个文件:
- `environment-exact.yml`: 完整环境配置,包含所有依赖包的精确版本
- `environment-simple.yml`: 简化环境配置,只包含直接安装的包
- `requirements.txt`: 标准pip格式的依赖列表
其他开发者可以使用以下命令重建环境:
```bash
# 方法1: 使用精确环境复制(推荐)
conda env create -f environment-exact.yml
# 方法2: 使用简化环境
conda env create -f environment-simple.yml
```
### 方法2: 使用pip安装依赖
```bash
pip install -r requirements.txt
```
## 功能特点
- **实时字母检测**: 基于YOLOv8模型检测G、A、F字母
- **目标追踪**: IoU based追踪器,支持ID持久化和稳定性判断
- **人物检测**: 检测画面中的人物
- **OpenAI Vision集成**: 大模型随机生成画面区域描述
- **OSC通信**: 通过OSC协议发送检测结果到TouchDesigner等软件
- **模块化架构**: 清晰的代码结构,易于维护和扩展
## 项目结构
```
gafa-1/
├─ main.py # 主程序入口
├─ modules/ # 模块化代码
├─ GAFA.pt # GAF字母检测模型(需要提供)
├─ run_gafa.sh # 一键运行脚本(自动设置环境并运行)
├─ export_env.sh # 导出环境配置脚本
├─ environment.yml # conda环境配置
└─ requirements.txt # 依赖包列表
```
## 使用方法
### 1. 配置参数
运行前编辑`modules/config.py`文件中的参数(仅列出关键项)(已默认配置好):
```python
# OpenAI API设置
OPENAI_API_KEY = "your-api-key" # 替换为您的API密钥
# OSC通信设置
OSC_IP = "127.0.0.1" # 接收OSC消息的设备IP
```
### 2. 必要的模型文件
- **GAFA.pt**: GAF字母检测模型(请将此文件放到项目根目录)
- **yolov8n.pt**: 人物检测模型(首次运行时自动下载)
### 3. 运行系统
```bash
# 直接使用一键运行脚本
./run_gafa.sh
```
### 4. 控制程序
- 按键盘`q`键优雅退出
- 或使用`Ctrl+C`强制退出
### 5. 使用OBS虚拟摄像头
1. 下载并安装OBS Studio:
- [Windows / macOS 下载链接](https://obsproject.com/download)
2. 设置OBS分辨率:
- 打开OBS -> 设置 -> 视频
- 基础分辨率设置为 `7680x1200`
- 输出分辨率根据电脑性能自行调节
3. 设置虚拟摄像头:
- 返回OBS主界面
- 添加视频源
- 点击底部控制面板中的 `启动虚拟摄像头` 按钮
4. 配置系统使用OBS虚拟摄像头:
- 修改 `modules/config.py` 中的摄像头设置:
```python
# 摄像头设置
CAMERA_ID = 1 # 修改为虚拟摄像头ID
```
5. 配置TouchDesigner:
- 打开main.toe文件
- 找到videodevin1节点并点击
- 在参数面板中,将Device修改为`OBS Virtual Camera`
6. 运行系统:
```bash
./run_gafa.sh
```
### 6. 可能遇到的问题及解决方案
1. **找不到conda命令**:
- 确保conda已正确安装
- 确认conda已添加到PATH环境变量
- 尝试重启终端或打开新的终端窗口
2. **conda环境创建失败**:
- 检查网络连接
- 确俞environment.yml文件存在且格式正确
3. **找不到摄像头**:
- 检查摄像头连接
- 确认是否有其他应用程序正在使用摄像头
4. **缺少GAFA.pt模型**:
```
# 字母检测结果
/letters [class_id, x, y, width, height] # 只输出稳定的目标
# 注意: x,y为中心点坐标,Y坐标已反转与人物检测一致
# 人物检测结果
/persons [id, x, y, width, height, confidence]
# Vision API结果 (区域描述)
/anything [x, y, width, height, description]
```
注意:坐标和尺寸均为标准化值(0-1范围),可乘以实际尺寸得到像素值。
### 6. 常见问题排除
| 问题 | 解决方法 |
|--------|----------|
| 无法找到conda命令 | 检查`.zshrc`中conda路径是否正确,运行`source ~/.zshrc` |
| 环境创建失败 | 手动删除已有环境`conda remove -n py310 --all` |
| 摄像头无法打开 | 修改`config.py`中的`CAMERA_ID`参数或检查摄像头权限 |
| GAFA.pt模型缺失 | 确认模型文件已放在项目根目录下 |
| OpenAI API错误 | 检查API密钥和网络连接、确认配额充足 |
| OSC消息不可见 | 确认目标应用(如TouchDesigner)正在该IP和端口监听 |
## 开发和扩展
系统采用模块化设计,便于扩展:
- 添加新的检测类别:修改`modules/config.py`中的类别定义
- 集成新的API:在`modules/vision_api/`中添加新的API封装
- 添加新的输出格式:在`modules/utils/osc_utils.py`中添加新的OSC函数
## 许可证
本项目遵循MIT许可证。
## 作者
Ho Alien ,Leonardo Li - 版本 2.0.0 - 2025-06-16