ไธไธช้ขๅ่ง้ไบบๅฃซ็ๆบ่ฝๅฏผ่ชไธ่พ ๅฉ็ณป็ป๏ผ้ๆไบ็ฒ้ๅฏผ่ชใ่ฟ้ฉฌ่ทฏ่พ ๅฉใ็ฉๅ่ฏๅซใๅฎๆถ่ฏญ้ณไบคไบ็ญๅ่ฝใ ๆฌ้กน็ฎไป ไธบไบคๆตๅญฆไน ไฝฟ็จ๏ผ่ฏทๅฟ็ดๆฅ็ป่ง้ไบบ็พคไฝฟ็จใๆฌ้กน็ฎๅ ไป ๅ ๅซไปฃ็ ๏ผๆจกๅๅฐๅ๏ผhttps://www.modelscope.cn/models/archifancy/AIGlasses_for_navigation ใไธ่ฝฝๅๅญๆพๅจ/model ๆไปถๅคน
ๅ่ฝ็นๆง โข ๅฟซ้ๅผๅง โข ็ณป็ปๆถๆ โข ไฝฟ็จ่ฏดๆ โข ๅผๅๆๆกฃ
- ๅฎๆถ็ฒ้ๆฃๆต๏ผๅบไบ YOLO ๅๅฒๆจกๅๅฎๆถ่ฏๅซ็ฒ้
- ๆบ่ฝ่ฏญ้ณๅผๅฏผ๏ผๆไพ็ฒพๅ็ๆนๅๆๅผ๏ผๅทฆ่ฝฌใๅณ่ฝฌใ็ด่ก็ญ๏ผ
- ้็ข็ฉๆฃๆตไธ้ฟ้๏ผ่ชๅจ่ฏๅซๅๆน้็ข็ฉๅนถ่งๅ้ฟ้่ทฏ็บฟ
- ่ฝฌๅผฏๆฃๆต๏ผ่ชๅจ่ฏๅซๆฅ่ฝฌๅผฏๅนถๆๅๆ้
- ๅ ๆต็จณๅฎ๏ผไฝฟ็จ Lucas-Kanade ๅ ๆต็ฎๆณ็จณๅฎๆฉ็ ๏ผๅๅฐๆๅจ
- ๆ้ฉฌ็บฟ่ฏๅซ๏ผๅฎๆถๆฃๆตๆ้ฉฌ็บฟไฝ็ฝฎๅๆนๅ
- ็บข็ปฟ็ฏ่ฏๅซ๏ผๅบไบ้ข่ฒๅๅฝข็ถ็็บข็ปฟ็ฏ็ถๆๆฃๆต
- ๅฏน้ฝๅผๅฏผ๏ผๅผๅฏผ็จๆทๅฏนๅๆ้ฉฌ็บฟไธญๅฟ
- ๅฎๅ จๆ้๏ผ็ปฟ็ฏๆถ่ฏญ้ณๆ็คบๅฏไปฅ้่ก
- ๆบ่ฝ็ฉๅๆ็ดข๏ผ่ฏญ้ณๆไปคๆฅๆพ็ฉๅ๏ผๅฆ"ๅธฎๆๆพไธไธ็บข็"๏ผ
- ๅฎๆถ็ฎๆ ่ฟฝ่ธช๏ผไฝฟ็จ YOLO-E ๅผๆพ่ฏๆฑๆฃๆต + ByteTrack ่ฟฝ่ธช
- ๆ้จๅผๅฏผ๏ผ็ปๅ MediaPipe ๆ้จๆฃๆต๏ผๅผๅฏผ็จๆทๆ้จ้ ่ฟ็ฉๅ
- ๆๅๆฃๆต๏ผๆฃๆตๆ้จๆกๆๅจไฝ๏ผ็กฎ่ฎค็ฉๅๅทฒๆฟๅฐ
- ๅคๆจกๆๅ้ฆ๏ผ่ง่งๆ ๆณจ + ่ฏญ้ณๅผๅฏผ + ๅฑ ไธญๆ็คบ
- ่ฏญ้ณ่ฏๅซ๏ผASR๏ผ๏ผๅบไบ้ฟ้ไบ DashScope Paraformer ๅฎๆถ่ฏญ้ณ่ฏๅซ
- ๅคๆจกๆๅฏน่ฏ๏ผQwen-Omni-Turbo ๆฏๆๅพๅ+ๆๆฌ่พๅ ฅ๏ผ่ฏญ้ณ่พๅบ
- ๆบ่ฝๆไปค่งฃๆ๏ผ่ชๅจ่ฏๅซๅฏผ่ชใๆฅๆพใๅฏน่ฏ็ญไธๅ็ฑปๅๆไปค
- ไธไธๆๆ็ฅ๏ผๅจไธๅๆจกๅผไธๆบ่ฝ่ฟๆปคๆ ๅ ณๆไปค
- ๅฎๆถ่ง้ขๆต๏ผWebSocket ๆจๆต๏ผๆฏๆๅคๅฎขๆท็ซฏๅๆถ่ง็
- ้ณ่ง้ขๅๆญฅๅฝๅถ๏ผ่ชๅจไฟๅญๅธฆๆถ้ดๆณ็ๅฝๅๅ้ณ้ขๆไปถ
- IMU ๆฐๆฎ่ๅ๏ผๆฅๆถ ESP32 ็ IMU ๆฐๆฎ๏ผๆฏๆๅงฟๆไผฐ่ฎก
- ๅค่ทฏ้ณ้ขๆทท้ณ๏ผๆฏๆ็ณป็ป่ฏญ้ณใAI ๅๅคใ็ฏๅข้ณๅๆถๆญๆพ
- Web ๅฎๆถ็ๆง๏ผๆต่งๅจ็ซฏๅฎๆถๆฅ็ๅค็ๅ็่ง้ขๆต
- IMU 3D ๅฏ่งๅ๏ผThree.js ๅฎๆถๆธฒๆ่ฎพๅคๅงฟๆ
- ็ถๆ้ขๆฟ๏ผๆพ็คบๅฏผ่ช็ถๆใๆฃๆตไฟกๆฏใFPS ็ญ
- ไธญๆๅๅฅฝ๏ผๆๆ็้ขๅ่ฏญ้ณไฝฟ็จไธญๆ๏ผๆฏๆ่ชๅฎไนๅญไฝ
-
ๅผๅ/ๆๅกๅจ็ซฏ๏ผ
- CPU: Intel i5 ๆไปฅไธ๏ผๆจ่ i7/i9๏ผ
- GPU: NVIDIA GPU๏ผๆฏๆ CUDA 11.8+๏ผๆจ่ RTX 3060 ๆไปฅไธ๏ผ
- ๅ ๅญ: 8GB RAM๏ผๆจ่ 16GB๏ผ
- ๅญๅจ: 10GB ๅฏ็จ็ฉบ้ด
-
ๅฎขๆท็ซฏ่ฎพๅค๏ผๅฏ้๏ผ๏ผ
- ESP32-CAM ๆๅ ถไปๆฏๆ WebSocket ็ๆๅๅคด
- ้บฆๅ ้ฃ๏ผ็จไบ่ฏญ้ณ่พๅ ฅ๏ผ
- ๆฌๅฃฐๅจ/่ณๆบ๏ผ็จไบ่ฏญ้ณ่พๅบ๏ผ
- ๆไฝ็ณป็ป: Windows 10/11, Linux (Ubuntu 20.04+), macOS 10.15+
- Python: 3.9 - 3.11
- CUDA: 11.8 ๆๆด้ซ็ๆฌ๏ผGPU ๅ ้ๅฟ ้๏ผ
- ๆต่งๅจ: Chrome 90+, Firefox 88+, Edge 90+๏ผ็จไบ Web ็ๆง๏ผ
- ้ฟ้ไบ DashScope API Key๏ผๅฟ
้๏ผ๏ผ
- ็จไบ่ฏญ้ณ่ฏๅซ๏ผASR๏ผๅ Qwen-Omni ๅฏน่ฏ
- ็ณ่ฏทๅฐๅ๏ผhttps://dashscope.console.aliyun.com/
git clone https://github.com/yourusername/aiglass.git
cd aiglass/rebuild1002python -m venv venv
# Windows
venv\Scripts\activate
# Linux/macOS
source venv/bin/activatepip install -r requirements.txt่ฏทๅ่ NVIDIA CUDA Toolkit ๅฎ่ฃ ๆๅ
ๅฐไปฅไธๆจกๅๆไปถๆพๅ
ฅ model/ ็ฎๅฝ๏ผ
| ๆจกๅๆไปถ | ็จ้ | ๅคงๅฐ | ไธ่ฝฝ้พๆฅ |
|---|---|---|---|
yolo-seg.pt |
็ฒ้ๅๅฒ | ~50MB | [ๅพ ่กฅๅ ] |
yoloe-11l-seg.pt |
ๅผๆพ่ฏๆฑๆฃๆต | ~80MB | [ๅพ ่กฅๅ ] |
shoppingbest5.pt |
็ฉๅ่ฏๅซ | ~30MB | [ๅพ ่กฅๅ ] |
trafficlight.pt |
็บข็ปฟ็ฏๆฃๆต | ~20MB | [ๅพ ่กฅๅ ] |
hand_landmarker.task |
ๆ้จๆฃๆต | ~15MB | MediaPipe Models |
ๅๅปบ .env ๆไปถ๏ผ
# .env
DASHSCOPE_API_KEY=your_api_key_hereๆๅจไปฃ็ ไธญ็ดๆฅไฟฎๆน๏ผไธๆจ่๏ผ๏ผ
# app_main.py, line 50
API_KEY = "your_api_key_here"python app_main.py็ณป็ปๅฐๅจ http://0.0.0.0:8081 ๅฏๅจ๏ผๆๅผๆต่งๅจ่ฎฟ้ฎๅณๅฏ็ๅฐๅฎๆถ็ๆง็้ขใ
ๅฆๆไฝฟ็จ ESP32-CAM๏ผ่ฏท๏ผ
- ็งๅฝ
compile/compile.inoๅฐ ESP32 - ไฟฎๆน WiFi ้ ็ฝฎ๏ผ่ฟๆฅๅฐๅไธ็ฝ็ป
- ESP32 ่ชๅจ่ฟๆฅๅฐ WebSocket ็ซฏ็น
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅฎขๆท็ซฏๅฑ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ ESP32-CAM โ โ ๆต่งๅจ โ โ ็งปๅจ็ซฏ โ โ
โ โ (่ง้ข/้ณ้ข) โ โ (็ๆง็้ข) โ โ (่ฏญ้ณๆงๅถ) โ โ
โ โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ โ
โโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโ
โ WebSocket โ HTTP/WS โ WebSocket
โโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโ
โ โ โ โ โ
โ โโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโ โ
โ โ FastAPI ไธปๆๅก (app_main.py) โ โ
โ โ - WebSocket ่ทฏ็ฑ็ฎก็ โ โ
โ โ - ้ณ่ง้ขๆตๅๅ โ โ
โ โ - ็ถๆ็ฎก็ไธๅ่ฐ โ โ
โ โโโโโโฌโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโ โ
โ โ โ โ โ
โ โโโโโโโโผโโโโโโโ โโโโโโโโผโโโโโโโ โโโโโโโโผโโโโโโโ โ
โ โ ASR ๆจกๅ โ โ Omni ๅฏน่ฏ โ โ ้ณ้ขๆญๆพ โ โ
โ โ (asr_core) โ โ(omni_client)โ โ(audio_player)โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ
โ ๅบ็จๅฑ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโ
โ ๅฏผ่ช็ป้ขๅฑ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ NavigationMaster (navigation_master.py) โ โ
โ โ - ็ถๆๆบ๏ผIDLE/CHAT/BLINDPATH_NAV/ โ โ
โ โ CROSSING/TRAFFIC_LIGHT/ITEM_SEARCH โ โ
โ โ - ๆจกๅผๅๆขไธๅ่ฐ โ โ
โ โโโโโฌโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโฌโโโโ โ
โ โ โ โ โ
โ โโโโโโผโโโโโโโโโ โโโโโโโโโโผโโโโโโโโโ โโโโโโโผโโโโโโโ โ
โ โ ็ฒ้ๅฏผ่ช โ โ ่ฟ้ฉฌ่ทฏๅฏผ่ช โ โ ็ฉๅๆฅๆพ โ โ
โ โ(blindpath) โ โ (crossstreet) โ โ(yolomedia) โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโ
โ ๆจกๅๆจ็ๅฑ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ YOLO ๅๅฒ โ โ YOLO-E ๆฃๆต โ โ MediaPipe โ โ
โ โ (็ฒ้/ๆ้ฉฌ็บฟ) โ โ (ๅผๆพ่ฏๆฑ) โ โ (ๆ้จๆฃๆต) โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ ็บข็ปฟ็ฏๆฃๆต โ โ ๅ
ๆต็จณๅฎ โ โ
โ โ(HSV+YOLO) โ โ(Lucas-Kanade)โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅค้จๆๅกๅฑ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ้ฟ้ไบ DashScope API โ โ
โ โ - Paraformer ASR (ๅฎๆถ่ฏญ้ณ่ฏๅซ) โ โ
โ โ - Qwen-Omni-Turbo (ๅคๆจกๆๅฏน่ฏ) โ โ
โ โ - Qwen-Turbo (ๆ ็ญพๆๅ) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| ๆจกๅ | ๆไปถ | ๅ่ฝ |
|---|---|---|
| ไธปๅบ็จ | app_main.py |
FastAPI ๆๅกใWebSocket ็ฎก็ใ็ถๆๅ่ฐ |
| ๅฏผ่ช็ป้ข | navigation_master.py |
็ถๆๆบ็ฎก็ใๆจกๅผๅๆขใ่ฏญ้ณ่ๆต |
| ็ฒ้ๅฏผ่ช | workflow_blindpath.py |
็ฒ้ๆฃๆตใ้ฟ้ใ่ฝฌๅผฏๅผๅฏผ |
| ่ฟ้ฉฌ่ทฏๅฏผ่ช | workflow_crossstreet.py |
ๆ้ฉฌ็บฟๆฃๆตใ็บข็ปฟ็ฏ่ฏๅซใๅฏน้ฝๅผๅฏผ |
| ็ฉๅๆฅๆพ | yolomedia.py |
็ฉๅๆฃๆตใๆ้จๅผๅฏผใๆๅ็กฎ่ฎค |
| ่ฏญ้ณ่ฏๅซ | asr_core.py |
ๅฎๆถ ASRใVADใๆไปค่งฃๆ |
| ่ฏญ้ณๅๆ | omni_client.py |
Qwen-Omni ๆตๅผ่ฏญ้ณ็ๆ |
| ้ณ้ขๆญๆพ | audio_player.py |
ๅค่ทฏๆทท้ณใTTS ๆญๆพใ้ณ้ๆงๅถ |
| ่ง้ขๅฝๅถ | sync_recorder.py |
้ณ่ง้ขๅๆญฅๅฝๅถ |
| ๆกฅๆฅ IO | bridge_io.py |
็บฟ็จๅฎๅ จ็ๅธง็ผๅฒไธๅๅ |
็ณป็ปๆฏๆไปฅไธ่ฏญ้ณๆไปค๏ผ่ฏด่ฏๆถๆ ้ๅค้่ฏ๏ผ๏ผ
"ๅผๅงๅฏผ่ช" / "็ฒ้ๅฏผ่ช" โ ๅฏๅจ็ฒ้ๅฏผ่ช
"ๅๆญขๅฏผ่ช" / "็ปๆๅฏผ่ช" โ ๅๆญข็ฒ้ๅฏผ่ช
"ๅผๅง่ฟ้ฉฌ่ทฏ" / "ๅธฎๆ่ฟ้ฉฌ่ทฏ" โ ๅฏๅจ่ฟ้ฉฌ่ทฏๆจกๅผ
"่ฟ้ฉฌ่ทฏ็ปๆ" / "็ปๆ่ฟ้ฉฌ่ทฏ" โ ๅๆญข่ฟ้ฉฌ่ทฏๆจกๅผ
"ๆฃๆต็บข็ปฟ็ฏ" / "็็บข็ปฟ็ฏ" โ ๅฏๅจ็บข็ปฟ็ฏๆฃๆต
"ๅๆญขๆฃๆต" / "ๅๆญข็บข็ปฟ็ฏ" โ ๅๆญขๆฃๆต
"ๅธฎๆๆพไธไธ [็ฉๅๅ]" โ ๅฏๅจ็ฉๅๆ็ดข
็คบไพ๏ผ
- "ๅธฎๆๆพไธไธ็บข็"
- "ๆพไธไธAD้ๅฅถ"
- "ๅธฎๆๆพ็ฟๆณๆฐด"
"ๆพๅฐไบ" / "ๆฟๅฐไบ" โ ็กฎ่ฎคๆพๅฐ็ฉๅ
"ๅธฎๆ็็่ฟๆฏไปไน" โ ๆ็
ง่ฏๅซ
"่ฟไธชไธ่ฅฟ่ฝๅๅ" โ ็ฉๅๅจ่ฏข
ไปปไฝๅ
ถไป้ฎ้ข โ AI ๅฏน่ฏ
็ณป็ปๅ ๅซไปฅไธไธป่ฆ็ถๆ๏ผ่ชๅจๅๆข๏ผ๏ผ
-
IDLE - ็ฉบ้ฒ็ถๆ
- ็ญๅพ ็จๆทๆไปค
- ๆพ็คบๅๅง่ง้ขๆต
-
CHAT - ๅฏน่ฏๆจกๅผ
- ไธ AI ่ฟ่กๅคๆจกๆๅฏน่ฏ
- ๆๅๅฏผ่ชๅ่ฝ
-
BLINDPATH_NAV - ็ฒ้ๅฏผ่ช
- ONBOARDING: ไธ็ฒ้ๅผๅฏผ
- ROTATION: ๆ่ฝฌๅฏนๅ็ฒ้
- TRANSLATION: ๅนณ็งป่ณ็ฒ้ไธญๅฟ
- NAVIGATING: ๆฒฟ็ฒ้่ก่ตฐ
- ๅฎๆถๆนๅไฟฎๆญฃ
- ้็ข็ฉๆฃๆต
- MANEUVERING_TURN: ่ฝฌๅผฏๅค็
- AVOIDING_OBSTACLE: ้ฟ้
- ONBOARDING: ไธ็ฒ้ๅผๅฏผ
-
CROSSING - ่ฟ้ฉฌ่ทฏๆจกๅผ
- SEEKING_CROSSWALK: ๅฏปๆพๆ้ฉฌ็บฟ
- WAIT_TRAFFIC_LIGHT: ็ญๅพ ็ปฟ็ฏ
- CROSSING: ่ฟ้ฉฌ่ทฏไธญ
- SEEKING_NEXT_BLINDPATH: ๅฏปๆพๅฏน้ข็ฒ้
-
ITEM_SEARCH - ็ฉๅๆฅๆพ
- ๅฎๆถๆฃๆต็ฎๆ ็ฉๅ
- ๅผๅฏผๆ้จ้ ่ฟ
- ็กฎ่ฎคๆๅ
-
TRAFFIC_LIGHT_DETECTION - ็บข็ปฟ็ฏๆฃๆต
- ๅฎๆถๆฃๆต็บข็ปฟ็ฏ็ถๆ
- ่ฏญ้ณๆญๆฅ้ข่ฒๅๅ
ๆๅผๆต่งๅจ่ฎฟ้ฎ http://localhost:8081๏ผๅฏไปฅ็ๅฐ๏ผ
- ๅฎๆถ่ง้ขๆต๏ผๆพ็คบๅค็ๅ็่ง้ข๏ผๅ ๆฌๅฏผ่ชๆ ๆณจ
- ็ถๆ้ขๆฟ๏ผๅฝๅๆจกๅผใๆฃๆตไฟกๆฏใFPS
- IMU ๅฏ่งๅ๏ผ่ฎพๅคๅงฟๆ 3D ๅฎๆถๆธฒๆ
- ่ฏญ้ณ่ฏๅซ็ปๆ๏ผๆพ็คบ่ฏๅซ็ๆๅญๅ AI ๅๅค
| ็ซฏ็น | ็จ้ | ๆฐๆฎๆ ผๅผ |
|---|---|---|
/ws/camera |
ESP32 ็ธๆบๆจๆต | Binary (JPEG) |
/ws/viewer |
ๆต่งๅจ่ฎข้ ่ง้ข | Binary (JPEG) |
/ws_audio |
ESP32 ้ณ้ขไธไผ | Binary (PCM16) |
/ws_ui |
UI ็ถๆๆจ้ | JSON |
/ws |
IMU ๆฐๆฎๆฅๆถ | JSON |
/stream.wav |
้ณ้ขไธ่ฝฝๆต | Binary (WAV) |
ๅๅปบ .env ๆไปถ้
็ฝฎไปฅไธๅๆฐ๏ผ
# ้ฟ้ไบ API
DASHSCOPE_API_KEY=sk-xxxxx
# ๆจกๅ่ทฏๅพ๏ผๅฏ้๏ผไฝฟ็จ้ป่ฎค่ทฏๅพๅฏไธ้
็ฝฎ๏ผ
BLIND_PATH_MODEL=model/yolo-seg.pt
OBSTACLE_MODEL=model/yoloe-11l-seg.pt
YOLOE_MODEL_PATH=model/yoloe-11l-seg.pt
# ๅฏผ่ชๅๆฐ
AIGLASS_MASK_MIN_AREA=1500 # ๆๅฐๆฉ็ ้ข็งฏ
AIGLASS_MASK_MORPH=3 # ๅฝขๆๅญฆๆ ธๅคงๅฐ
AIGLASS_MASK_MISS_TTL=6 # ๆฉ็ ไธขๅคฑๅฎนๅฟๅธงๆฐ
AIGLASS_PANEL_SCALE=0.65 # ๆฐๆฎ้ขๆฟ็ผฉๆพ
# ้ณ้ข้
็ฝฎ
TTS_INTERVAL_SEC=1.0 # ่ฏญ้ณๆญๆฅ้ด้
ENABLE_TTS=true # ๅฏ็จ่ฏญ้ณๆญๆฅๅฆๆๆจกๅๆไปถไธๅจ้ป่ฎคไฝ็ฝฎ๏ผๅฏไปฅๅจ็ธๅบๆไปถไธญไฟฎๆน๏ผ
# workflow_blindpath.py
seg_model_path = "your/custom/path/yolo-seg.pt"
# yolomedia.py
YOLO_MODEL_PATH = "your/custom/path/shoppingbest5.pt"
HAND_TASK_PATH = "your/custom/path/hand_landmarker.task"ๆ นๆฎ็กฌไปถๆง่ฝ่ฐๆด๏ผ
# yolomedia.py
HAND_DOWNSCALE = 0.8 # ๆ้จๆฃๆต้้ๆ ท๏ผ่ถๅฐ่ถๅฟซ๏ผ็ฒพๅบฆ้ไฝ๏ผ
HAND_FPS_DIV = 1 # ๆ้จๆฃๆตๆฝๅธง๏ผ2=้ๅธง๏ผ3=ๆฏ3ๅธง๏ผ
# workflow_blindpath.py
FEATURE_PARAMS = dict(
maxCorners=600, # ๅ
ๆต็นๅพ็นๆฐ๏ผ่ถๅฐ่ถๅฟซ๏ผ
qualityLevel=0.001, # ็นๅพ็น่ดจ้
minDistance=5 # ็นๅพ็นๆๅฐ้ด่ท
)- ๅจ
app_main.py็start_ai_with_text_custom()ๅฝๆฐไธญๆทปๅ ๏ผ
# ๆฃๆฅๆฐๆไปค
if "ๆฐๆไปคๅ
ณ้ฎ่ฏ" in user_text:
# ๆง่ก่ชๅฎไน้ป่พ
print("[CUSTOM] ๆฐๆไปค่ขซ่งฆๅ")
await ui_broadcast_final("[็ณป็ป] ๆฐๅ่ฝๅทฒๅฏๅจ")
return- ๅฆ้ไฟฎๆนๆไปค่ฟๆปค่งๅ๏ผ
# ไฟฎๆน allowed_keywords ๅ่กจ
allowed_keywords = ["ๅธฎๆ็", "ๅธฎๆๆพ", "ไฝ ็ๆฐๅ
ณ้ฎ่ฏ"]- ๅจ
workflow_blindpath.pyๆทปๅ ๆฐ็ถๆ๏ผ
# ๅจ BlindPathNavigator.__init__() ไธญๅๅงๅ
self.your_new_state_var = False
# ๅจ process_frame() ไธญๅค็
def process_frame(self, image):
if self.your_new_state_var:
# ่ชๅฎไนๅค็้ป่พ
guidance_text = "ๆฐ็ถๆๅผๅฏผ"
# ...- ๅจ
navigation_master.pyๆทปๅ ็ถๆๆบ็ถๆ๏ผ
class NavigationMaster:
def start_your_new_mode(self):
self.state = "YOUR_NEW_MODE"
# ๅๅงๅ้ป่พ- ๅๅปบๆจกๅๅ ่ฃ ็ฑป๏ผ
# your_model_wrapper.py
class YourModelWrapper:
def __init__(self, model_path):
self.model = load_your_model(model_path)
def detect(self, image):
# ๆจ็้ป่พ
return results- ๅจ
app_main.pyไธญๅ ่ฝฝ๏ผ
your_model = YourModelWrapper("model/your_model.pt")- ๅจ็ธๅบ็ๅทฅไฝๆตไธญ่ฐ็จ๏ผ
results = your_model.detect(image)- ๅฏ็จ่ฏฆ็ปๆฅๅฟ๏ผ
# app_main.py ้กถ้จ
import logging
logging.basicConfig(level=logging.DEBUG)- ๆฅ็ๅธง็็ถ้ข๏ผ
# yolomedia.py
PERF_DEBUG = True # ๆๅฐๅค็ๆถ้ด- ๆต่ฏๅไธชๆจกๅ๏ผ
# ๆต่ฏ็ฒ้ๅฏผ่ช
python test_cross_street_blindpath.py
# ๆต่ฏ็บข็ปฟ็ฏๆฃๆต
python test_traffic_light.py
# ๆต่ฏๅฝๅถๅ่ฝ
python test_recorder.pyๆฌ้กน็ฎ้็จ MIT ่ฎธๅฏ่ฏ - ่ฏฆ่ง LICENSE ๆไปถ