
เมื่อภาพระบายสีมีชีวิต: เบื้องหลังระบบ Interactive Living Sketch ในค่ายดาราศาสตร์
Overview
ในงานค่ายดาราศาสตร์ที่ผ่านมา ผมต้องการสร้างกิจกรรมที่ทำให้เด็กๆ รู้สึกอินไปกับอวกาศมากกว่าแค่การมองผ่านกล้องโทรทรรศน์ จึงเกิดเป็นโปรเจค "Interactive Living Sketch" ระบบที่เปลี่ยนรูปวาดระบายสีบนกระดาษ ให้กลายเป็นวัตถุดิจิทัลที่ล่องลอยอยู่ในอวกาศจำลองบนหน้าจอโปรเจคเตอร์ขนาดใหญ่
The Architecture (How it works)
ระบบนี้ทำงานโดยการเชื่อมต่อระหว่างโลก Physical และ Digital ผ่าน 3 ขั้นตอนหลัก:
-
Image Capture & Processing (Python): ใช้ Python เป็นตัวจัดการหลังบ้าน เมื่อถ่ายรูปภาพระบายสีจากเด็กๆ ระบบจะทำการประมวลผลด้วย OpenCV เพื่อหาขอบเขต (Contour) และทำ Background Removal เพื่อดึงเอาเฉพาะตัวการ์ตูนที่เด็กๆ ระบายสีออกมาเป็นไฟล์โปร่งใส
-
The Digital Universe (Unity):
- ส่งภาพที่ประมวลผลแล้วเข้าไปยัง Unity Engine
- ตัวภาพจะถูก Instantiate ออกมาเป็น Game Object ในสภาพแวดล้อม 3D ที่เป็นอวกาศ
- มีการใส่ Physics และ Script ให้ภาพค่อยๆ เคลื่อนที่ล่องลอย (Floating Animation)
-
Real-time Projection:
- ส่งสัญญาณภาพจาก Unity ออกทาง Projector
- ตั้งค่า Lifespan ให้วัตถุ (เช่น ลอยอยู่ 30-60 วินาที) เพื่อหมุนเวียนให้ผลงานของเด็กคนอื่นๆ ได้ขึ้นมาแสดงผลอย่างทั่วถึง
Key Tech Stack
- Language: Python (Image Processing)
- Engine: Unity (Visual & Animation)
- Tools: OpenCV, Projector, กล้อง USB Camera สำหรับ Capture ภาพ
Experience & Result
กิจกรรมนี้จัดควบคู่ไปกับการส่องกล้องดู ดาวพฤหัสบดี (Jupiter) ผลลัพธ์ที่ได้น่าประทับใจมาก เด็กๆ ตื่นเต้นที่เห็น "ยานอวกาศ" หรือ "เอเลี่ยน" ที่ตัวเองตั้งใจระบายสีลงไปบินได้จริงบนหน้าจอ มันช่วยลดช่องว่างระหว่างเทคโนโลยีที่ซับซ้อนกับจินตนาการของเด็กได้อย่างสมบูรณ์แบบ
บันทึกทิ้งท้ายสำหรับชาว Dev
- Lesson Learned: แสงสว่างในพื้นที่จัดงานมีผลต่อการตัดฉากหลัง (Thresholding) ควรเตรียมระบบจัดการแสงหรือใช้การ Masking ที่ยืดหยุ่น
- Next Step: ในอนาคตอาจจะเพิ่มระบบ AI เพื่อวิเคราะห์ว่าสิ่งที่เด็กวาดคืออะไร เพื่อให้โปรแกรมเลือกท่าทางการเคลื่อนไหว (Animation) ได้เหมาะสมกับรูปนั้นๆ มากขึ้น