"You are not perfect..., that's why you are perfect."
Kinect Workaround
29 Nov 2010 22:11   [4747 views]

คงเห็นกันบ้างแล้วแหละมั้งว่าเราแอบไปซื้อ Kinect มาเล่น ก็ไม่มีอะไร แค่วันก่อนนั่งอ่านเรื่อง Kinect เล่นตอน 4 โมงเย็นแล้วตอน 6 โมงเย็นก็ออกไปซื้อทันที -*- รีบไปมะ ฮ่าๆๆ

หลักๆคือได้อ่านเรื่อง zcam เซ็นเซอร์วัดความลึกของวัตถุที่อยู่ในภาพสักปีสองปีที่แล้ว เห็นว่าจะออกขายให้ใช้งานกันอย่างโง้นอย่างงี้ แต่พอถึงเวลาก็ไม่มีข่าวออกมา กลับเป็นเงียบหายไปในที่สุด พอมาเจอ Kinect แล้วความฝันในวัยเยาว์ก็ปะทุขึ้นอีกครั้ง (สองปีที่แล้ว ถือว่าเยาว์ละกันนะ) ยิ่งได้เห็นราคาอันน่าหลงไหลเพียง 5,990 บาท ก็เลยตัดสินใจซื้อแบบไม่คิดชีวิต เอ้ย! แบบไม่คิดอะไรมาก (แต่ก็เยอะอยู่นะ ราวๆ 6,000 แค่เห็นว่ามันมีประเด็นที่ควรซื้อ)


ก็เป็นอันเรียบร้อย ไปซื้อที่ Digital Gateway ก่อนร้านปิดแป๊บนึง ระหว่างซื้อนี่เกือบหลวมตัวซื้อ XBox มายกชุดเลยทีเดียว ทำเกมสำหรับ Kinect มาได้เล่นมาก > < โชคดีที่จนก็เลยไม่มีตังค์ซื้อ รอดไป ๕๕๕ (ตกลงคือซื้อมาแค่ Kinect แต่ไม่มี XBOX ... ทุกคนหาว่าบ้า!! ไม่เป็นไร บ้านิดบ้าหน่อยกำลังงาม =P)


จากวันนั้นมาจนวันนี้เป็นเวลา 4-5 วันได้แล้วที่ได้ Kinect มา เราก็ซัดอะไรไปเยอะแล้วเหมือนกันเลยมาขอแชร์ให้อ่านกันสักนิดนึงละกัน ^_^


แกะกล่อง

ก็แกะกันให้ดูขำๆพอเป็นพิธี

เปิดมาก็มี Kinect ว่างอยู่ 1 เครื่องพร้อมสายพะรุงพะรังอันประกอบด้วยสายต่อ USB และ Adapter ต่อกล้อง (ใช่แล้ว ต้องต่อแหล่งจ่ายไฟภายนอกด้วย)

โอเค จบ ไปหัวข้อต่อไปเลย (ก็มันไม่มีอะไรนี่นา > <)


Kinect มีอะไรบ้าง

Kinect เป็นอุปกรณ์เล็กๆที่มีตาอยู่ 3 ดวงด้วยกันคือตาซ้ายเอาไว้ยิง Infrared ตาขวาเอาไว้รับ Infrared และตากลางเอาไว้ถ่ายภาพธรรมดา นอกจากนั้นก็มี LED ดวงเล็กๆที่ปรับสีได้หลายสีและปรับโหมดการแสดงผลเป็น ปิด/เปิดค้างหรือเปิดแบบกระพริบ ตัวฐานรองยังเป็นมอเตอร์ที่สามารถสั่งให้ก้มเงยได้ตามใจชอบ สุดท้ายเจ้า Kinect ยังมี Accelerometer ฝังเข้ามาด้วยเพื่อเอาไว้วัดความเอียงของตัว Kinect


Kinect ทำงานยังไง

เทคนิคของกล้องประเภท Depth Cam หลายวิธีด้วยกัน ของ Kinect (ซึ่งซื้อจาก PrimeSense) จะใช้วิธี "หว่านแห" หรือการยิง Infrared ออกไปเป็นแหด้วยตาอันซ้ายสุด หากไม่เห็นภาพลองดูเป็นอันนี้

และกล้องอันขวาสุดจะทำหน้าที่รับเอาจุดต่างๆที่ถูกยิงออกไปนั้นกลับมาประมวลผล ได้เป็นภาพความลึกออกมาเป็น 11-bits Bitmap

ดังนั้นข้อจำกัดอย่างแรกที่เตรียมตัวไว้คือ เราเอา Kinect ไปเล่นกลางแจ้งแบบแดดจัดๆไม่ได้เพราะ Infrared จะกวนจนตรวจจับอะไรไม่ได้เลย (ว่าแต่ใครจะเอา Kinect ไปเล่นกลางแดดหละเนี่ย)


จริงๆจะบอกว่าทั้งหมดของ Kinect มีแค่นี้แหละ!! ส่วนของการตรวจจับว่าหัวอยู่ตรงไหนมืออยู่ตรงไหนก็เป็นหน้าที่ของ Image Processing ใน Software ล้วนๆ ตัว Hardware ไม่ได้มีหน้าที่ตรงนั้น เพียงแต่ที่เห็นว่ามันมีประสิทธิภาพล้นเหลือก็เกิดจากการที่มีกล้องวัดความลึกนี่แหละ ทำให้สามารถตรวจหาตัวคนได้ง่ายขึ้นจากปกติที่วัดแค่สี ยกตัวอย่างเช่นภาพด้านบน ฝั่งซ้ายเป็นกล้องธรรมดา ฝั่งขวาเป็นกล้อง Depth จะพบว่าเสื้อเรากับผ้าที่พาดอยู่บนฝา MacBook สีมันไม่ได้ต่างกันเท่าไหร่นัก แต่ภาพที่ได้จากกล้อง Depth ทำให้เห็นได้ว่ามันคนละอันกัน

ก็คงจะพอเห็นภาพแล้ว ที่เหลือก็แล้วแต่จินตนาการของแต่ละคนเลยว่าอยากจะให้มันทำอะไรได้ จะใช้กล้อง Depth ในการคำนวณหาวัตถุแล้วดึงภาพไปใช้เล่นในเกม หรือจะใช้ภาพจากทั้งสองกล้องในการคำนวณร่วมกัน ฯลฯ แล้วแต่จะคิดเลย


การประสบความสำเร็จของ "งานวิจัย"

หากใครอยู่ในวงการหุ่นยนต์ก็คงจะรู้สึกเฉยๆกับเทคโนโลยีนี้เพราะมันมีอยู่ใน Research สักพักใหญ่ๆแล้ว แต่สำหรับชีวิตจริงแล้ว การ Research ก็เป็นแค่กระดาษถ้ามันนำมาใช้จริงไม่ได้ เพราะงานวิจัยหรูๆส่วนใหญ่จะไม่สามารถใช้งานได้จริงในระดับ Mass แต่ไมโครซอฟต์กลับขายเป็นล้านชิ้นโดยไม่มีรายงานถึงปัญหาเลย งานนี้ต้องขอปรบมือให้ PrimeSense และ Microsoft ที่จับเอาเทคโนโลยีตัวนี้มารวมกับเกมอย่างเหมาะสมที่สุด จนทำให้ยอดขายพุ่งถึง 1 ล้านชิ้นภายใน 10 วัน นอกจากนั้นทาง Microsoft ยังหวังว่าจะขายได้ 5 ล้านชิ้นก่อนคริสมาสต์ ต้องมาดูกันว่าเป็นยังไง ^_^


ข้อจำกัดของ Kinect

นอกจากข้อจำกัดในการใช้กลางแดดที่พูดถึงก่อนหน้านี้แล้ว ยังมีอีกหลายอย่างที่ Kinect มีข้อจำกัดอยู่ไม่ว่าจะเป็นการที่มันวัดความลึกได้แค่แบบหยาบๆและไม่สามารถตรวจสอบระนาบอื่นนอกจากระนาบที่ขนานกับตัว Kinect ได้ ทำให้เราไม่สามารถตรวจจับการหมุนของข้อใดๆได้เลย เช่นการเล่นเกมโบว์ลิ่ง เราจะไม่สามารถใช้ข้อมือหมุนเพื่อให้ลูกปั่นๆเหมือนที่ Wii ทำได้ ไม่เชื่อลองไปเล่นเกมโบว์ลิ่งใน XBox ดู จะรู้ว่ามันพุ่งตรงอย่างเดียว


อีกอย่างคือการที่มันใช้วิธี "ยิง" อินฟราเรดออกไปแบบหว่านแหแล้วรับกลับมา ทำให้เราไม่สามารถใช้ Kinect มากกว่า 1 อันในสถานที่เดียวกันได้ ดังนั้นคงหวังจะทำอะไรที่เป็นสามมิติจริงๆคงลำบากอยู่ นอกจากจะใช้งานร่วมกับอุปกรณ์อื่นเช่น WiiMote :) (และแน่นอน หลบแสง Infrared ให้ดีเพราะ WiiMote ก็ต้องรับ Infrared เช่นกัน)


Updated: ตกลงใช้ร่วมกันสองอันได้นะก๊ะ แต่ละตัวมีการใส่รหัสเข้าไปในแสง infrared ด้วย ทำให้มันแยกได้ว่าแหไหนเป็นของใคร เทพมาก -*-


การเชื่อมต่อ Kinect เข้ากับคอมพ์

ตอนนี้ที่เห็นก็มีอยู่สองตัวด้วยกันได้แก่ CL NUI (Windows 7) และ libfreenect (Windows, Linux, Mac OS X) วิธีใช้ก็แค่ลง Driver นิดหน่อย (จะมาพร้อมกับ CL NUI หรือ libfreenect) จากนั้นก็เปิด Example สักตัวซัดได้เล้ยยย :D


KinectProjects.com

พอดีช่วงนี้สนใจ Kinect เป็นพิเศษ ตอนนี้เปิดเว็บที่ขำที่สุดตั้งแต่เคยเปิดมาชื่อว่า http://kinectprojects.com เอาไว้จดโปรเจคที่ทำจาก Kinect ที่น่าสนใจ จริงๆตั้งใจจะจดไว้อ่านคนเดียวแหละ แต่ก็ไม่ได้หวง ใครว่างๆก็เปิดเข้าไปอ่านเล่นกันได้เน้อ ^_^


ส่งท้าย

รอชมโปรเจค Kinect ขำๆจากเราและบริษัทหัวลำโพงได้ที่นี่เร็วๆนี้... =P


Thanks:

http://www.enterakt.com/technology/kinect-disco-lights-night-vision-goggles-video/

บทความที่เกี่ยวข้อง

May 21, 2014, 21:19
24133 views
ทดลองทำ Hologram Illusion โดยใช้ Nokia Lumia 1520 ด้วยงบ 30 บาท
Jan 14, 2014, 16:28
3072 views
สวัสดีธีมเว็บใหม่ Clean + Responsive
0 Comment(s)
Loading