Skip to content

แผนการดำเนินงาน ระยะที่ 2: TaijiFlow AI

เป้าหมาย: พัฒนาระบบระบบบัญชีผู้ใช้ (User Account) และท่อส่งข้อมูลการฝึก (Data Pipeline) เพื่อสะสมฐานข้อมูล (Dataset) พิกัดสองมือ (8 ท่า) สำหรับเตรียมพร้อมฝึกสอน AI ด้วย Deep Learning / Machine Learning ในระยะที่ 3 โดยเน้นประสิทธิภาพของข้อมูล และยังคงรักษาระบบแจ้งเตือนแบบเรียลไทม์ (Real-time Feedback) ฝั่งเว็บไว้

Tech Stack:

  • Frontend: HTML/JS + MediaPipe (รัน Heuristics Engine v3.0 บน Client-side เพื่อการตอบสนองที่ไร้ความหน่วง)
  • Backend: Serverless (เชื่อมต่อตรงไปยัง Supabase Client SDK เพื่อความรวดเร็วและประหยัดค่าโฮสติ้ง)
  • Database & Storage: Supabase (PostgreSQL + Cloud Storage) พร้อมระบบ Row Level Security (RLS)


🏃‍♂️ Sprint 1: Supabase Setup & Authentication (สัปดาห์ที่ 1 - 2)

เป้าหมาย: ติดตั้งฐานข้อมูลระบบสมาชิกและความปลอดภัยในการเข้าถึงข้อมูล

รายการงาน (Tasks):

  • [x] 1.1 Supabase Database Setup & Security:
    • [x] สร้างโปรเจกต์ Supabase และเปิดใช้งาน Email/Password Auth
    • [x] ออกแบบ Database Schema รองรับการฝึกและการทำ Calibration:
      • users: id (UUID), display_name, height_cm, weight_kg, experience_level, role (trainee | expert | admin)
      • training_sessions: id, user_id, exercise_id (เช่น 2h_cw_cw), score, duration_seconds, coordinate_file_url, top_errors (JSONB), camera_angle (หน้าตรง/เฉียง), created_at
    • [x] ตั้งค่า Row Level Security (RLS) Policies บน Postgres และ Storage Bucket เพื่อให้ผู้ใช้สามารถเขียน/อ่านข้อมูลและไฟล์เฉพาะของตนเองได้เท่านั้น
  • [x] 1.2 Frontend Integration (Auth):
    • [x] สร้างหน้าจอ (UI) สำหรับ Login และ Register
    • [x] เชื่อมต่อ Supabase Client SDK เข้ากับ Frontend ในเว็บแอปพลิเคชัน
    • [x] สร้างหน้า Dashboard พื้นฐานสำหรับแสดงโปรไฟล์ผู้ใช้หลังล็อกอิน และตารางประวัติผลคะแนนย้อนหลัง

✅ สิ่งที่ส่งมอบ (Deliverable): ระบบสมาชิกที่สามารถสมัครและล็อกอินเข้าสู่ระบบได้จริง พร้อมฐานข้อมูลที่ปลอดภัยด้วยสิทธิ์ RLS


🏃‍♂️ Sprint 2: Data Pipeline & Data Optimization (สัปดาห์ที่ 3 - 4)

เป้าหมาย: สร้างระบบส่งออกข้อมูลดิบควบคู่ผลการตรวจจับที่ปรับปรุงขนาดให้เล็กและนำไปใช้ในโมเดล ML ได้ง่าย

รายการงาน (Tasks):

  • [x] 2.1 Coordinate Data Optimization (ใน data_exporter.js):
    • [x] ปรับแก้การจัดรูปแบบ JSON: จัดเก็บพิกัดดิบจาก MediaPipe และผลลัพธ์การประเมินรายเฟรม (Auto-Label)
    • [x] ปรับลดทศนิยมของพิกัดพอยต์ให้เหลือ 4 ตำแหน่ง เพื่อลดขนาดไฟล์ลงมากกว่า 50%
    • [x] เพิ่มการเก็บค่า t (Relative Timestamp ในหน่วยมิลลิวินาทีของแต่ละเฟรม) เพื่อแก้ปัญหา FPS ของอุปกรณ์ไม่เท่ากัน (สำหรับใช้ใน Time-series ML ในอนาคต)
    • [x] ทำระบบบันทึกค่าพิกัดท่ายืนเริ่มต้น (Calibration Pose) ไว้ใน Metadata ของไฟล์
  • [x] 2.2 Supabase Storage Integration (Direct Upload):
    • [x] เขียนฟังก์ชันอัปโหลดไฟล์พิกัด JSON บีบอัดตรงจากเบราว์เซอร์ขึ้นไปยัง Supabase Storage Bucket
    • [x] เมื่ออัปโหลดไฟล์สำเร็จ ให้ทำการเขียนบันทึกข้อมูลคะแนนและ URL ของไฟล์ลงในตาราง training_sessions

✅ สิ่งที่ส่งมอบ (Deliverable): ระบบท่อส่งข้อมูลที่บีบอัดและอัปโหลดพิกัดการรำจริงขึ้น Cloud Storage ทันทีหลังฝึกเสร็จ พร้อมตารางเก็บข้อมูลที่สะอาดเป็นระเบียบ


🏃‍♂️ Sprint 3: Two-Hand Heuristics & Annotation Tool (สัปดาห์ที่ 5 - 7)

เป้าหมาย: พัฒนากฎของท่า 2 มือ 8 ท่าฝั่งเบราว์เซอร์ และทำระบบช่วยตรวจสอบข้อมูล (Annotation Tool)

รายการงาน (Tasks):

  • [x] 3.1 Two-Hand Heuristics Rules (JS):
    • [x] เขียนตรรกะ Heuristics เพิ่มเติมใน heuristics_engine.js สำหรับความสัมพันธ์ของ 2 มือ (Symmetry, Hand-to-Hand Distance, และเวกเตอร์การเคลื่อนไหวของทั้งสองฝั่ง)
    • [x] สร้างและกำหนดค่ากฎสำหรับท่าม้วนไหม 2 มือ (8 ท่า)
    • [x] ปรับปรุงการคำนวณคะแนนภาพรวมใน scoring_manager.js
  • [x] 3.2 Skeletal Replay & Expert Labeling Tool:
    • [x] ต่อยอด replay_manager.js ให้แอดมินหรือครูผู้ฝึกสามารถคลิกเปิดรีเพลย์เส้นร่าง 3D จากข้อมูลพิกัด JSON บนหน้าเว็บย้อนหลังได้
    • [x] สร้าง UI สำหรับปุ่มให้คะแนนจริงจากผู้เชี่ยวชาญ (Human Annotation) เพื่อบันทึกทับฟิลด์คะแนนดั้งเดิม (สำหรับนำไปใช้เป็นตัวเทียบคู่ใน Phase 3)

✅ สิ่งที่ส่งมอบ (Deliverable): ฟังก์ชันแจ้งเตือนสดท่าม้วนไหม 2 มือ 8 ท่า พร้อมระบบให้ผู้เชี่ยวชาญตรวจสอบประเมินคุณภาพของ Dataset ผ่านการดูรีเพลย์


🏃‍♂️ Sprint 4: Data Gathering & Deployment (สัปดาห์ที่ 8)

เป้าหมาย: ทดสอบระบบ รวบรวม Dataset จากผู้ฝึกจริง และปล่อยขึ้นระบบออนไลน์

รายการงาน (Tasks):

  • [x] 4.1 System Testing & Data Validation:
    • [x] ทดสอบความเข้ากันได้ของการอัปโหลดไฟล์และสิทธิ์ RLS บนเครือข่ายความเร็วต่าง ๆ
    • [x] เขียนสคริปต์ Python ในฝั่ง AI สั้น ๆ เพื่อทดลองดึงไฟล์ JSON จาก Supabase มาแปลงเป็น NumPy Array / Pandas Dataframe เพื่อทดสอบว่าไม่มีโครงสร้างจุดใดพังและข้อมูลมีความสม่ำเสมอพร้อมใช้งาน
  • [x] 4.2 Deployment & Scaling:
    • [x] ดีพลอย Frontend ขึ้น Vercel
    • [x] เริ่มต้นกิจกรรมเก็บรวบรวมข้อมูลกับผู้ฝึกหลากหลายระดับเพื่อสะสม Dataset ในฐานข้อมูล

✅ สิ่งที่ส่งมอบ (Deliverable): เว็บแอปพลิเคชัน TaijiFlow AI ระยะที่ 2 พร้อมใช้เก็บข้อมูล Dataset ที่สมบูรณ์แบบเพื่อป้อนให้ทีมพัฒนา AI ในระยะที่ 3

TaijiFlow AI Research & Development Project (Chán Sī Jìng Biomechanics)