- โฟเวีย (fovea) ซึ่งเป็นจุดโฟกัสการมองเห็นตรงกลาง ถูกตรวจจับด้วย โค้ดเอฟเฟกต์ภาพบนฐาน ShaderToy
- ใช้ GPU shader เพื่อ แสดงภาพพื้นที่ที่สายตามนุษย์เพ่งความสนใจแบบเรียลไทม์
- นำเสนอความสัมพันธ์ระหว่าง เอฟเฟกต์การเรนเดอร์กับพื้นที่ความสนใจทางสายตา ในเชิงทดลอง
- สามารถ รันและปรับแต่งได้โดยตรงบนเว็บเบราว์เซอร์ ผ่านแพลตฟอร์ม ShaderToy
- เป็น ตัวอย่างการสำรวจกลไกการโฟกัสของการมองเห็นมนุษย์ด้วยกราฟิกโปรแกรมมิง
ภาพรวม Human Fovea Detector
- เป็น โค้ดเชดเดอร์สำหรับการทดลองด้านภาพ ที่เผยแพร่บน ShaderToy โดยจำลองการตรวจจับโฟเวียซึ่งเป็นจุดศูนย์กลางการมองเห็นของมนุษย์
- ทำงานด้วยวิธี เน้นแสดงพื้นที่ที่สายตาจดจ่อ ผ่านเชดเดอร์ที่ทำงานบน GPU
- ต้องเปิดใช้งาน JavaScript และ WebGL ในสภาพแวดล้อมเบราว์เซอร์จึงจะสามารถรันได้
ฟังก์ชันและการทำงาน
- ตรวจจับจุดโฟกัสทางสายตาในบางพื้นที่ของหน้าจอผ่าน การเรนเดอร์แบบเรียลไทม์
- ใช้ เอนจินเอฟเฟกต์ภาพแบบอินเทอร์แอ็กทีฟ ของ ShaderToy เพื่อแสดงการเปลี่ยนแปลงของจุดศูนย์กลางการมองเห็น
- เมื่อรันโค้ด จะมีการสร้าง เอฟเฟกต์ที่จุดศูนย์กลางการมองเห็นเคลื่อนที่ ตามอินพุตของผู้ใช้หรือการเคลื่อนไหวของเมาส์
คุณลักษณะทางเทคนิค
- พัฒนาบนพื้นฐานของ GPU shader programming และทำการคำนวณภาพในระดับพิกเซล
- สำหรับ การรันภายในเบราว์เซอร์ จำเป็นต้องเปิดใช้งาน JavaScript และอนุญาตคุกกี้
- เป็นรูปแบบที่เขียนด้วย โค้ด GLSL ตามโครงสร้างมาตรฐานของแพลตฟอร์ม ShaderToy
ความเป็นไปได้ในการใช้งาน
- สามารถใช้เป็น เครื่องมือวิจัยสำหรับการทำภาพให้เห็นหรือวิเคราะห์การเคลื่อนย้ายจุดโฟกัสของการมองเห็นมนุษย์
- ประยุกต์ใช้ได้ในหลายด้าน เช่น อินเทอร์เฟซติดตามสายตา การวิเคราะห์ความสนใจทางสายตา และการทดลองด้านกราฟิกดีไซน์
เงื่อนไขการรัน
- เมื่อเข้าเว็บไซต์จะมี ขั้นตอนยืนยันความปลอดภัยและข้อกำหนดให้เปิดใช้งานสคริปต์
- ต้องอนุญาต JavaScript และคุกกี้เพื่อให้โค้ดเชดเดอร์เรนเดอร์ได้อย่างถูกต้อง
- ในหน้าต้นฉบับ หลังข้อความ “กำลังตรวจสอบว่าเป็นมนุษย์หรือไม่” ระบบจะ เปลี่ยนไปยังหน้าจอเรนเดอร์ของ ShaderToy
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ดวงตา ไม่สามารถเคลื่อนไหวอย่างนุ่มนวลได้ เว้นแต่จะกำลังติดตามวัตถุที่เคลื่อนที่อยู่
ดวงตาจะทำ การกระตุกของตา (saccade) ที่รวดเร็วและไม่ต่อเนื่องอยู่เสมอ
แต่ถ้ามองวงกลมสีแดงที่เคลื่อนที่อย่างนุ่มนวลเหมือนในตัวอย่าง Shadertoy นี้ ก็จะสามารถกลอกตาตามและเคลื่อนไหวได้อย่างลื่นไหล
ระหว่างดูสิ่งนี้ก็ได้เจอกับ ภาพลวงตา Maxwell’s Spot
ถ้ามองภาพสีน้ำเงิน/เขียวที่กะพริบนี้ จะเห็นจุดมืดตรงกลางที่สายตากำลังจ้องอยู่
น่าสนใจที่ผลลัพธ์ต่างกันไปอย่างสิ้นเชิงตามประเภทของแว่น
ฉันมี สายตายาว และถ้าถอดแว่นออกจะมีอาการตาเขเล็กน้อย ทำให้โฟกัสไม่ได้และเห็นการเคลื่อนไหวเป็นรูปเลข 8
ถ้าใส่แว่นปกติ เอฟเฟกต์นี้จะลดลง แต่แทบไม่เห็นการเคลื่อนไหวนอกบริเวณกึ่งกลางเลย
ในทางกลับกัน ถ้าใส่ แว่นอ่านหนังสือ (สำหรับสายตาสั้น) จะเห็นเป็นวงกลมสมบูรณ์ และยังรับรู้การเคลื่อนไหวในภาพรอบนอกได้เหมือนเฟรมเรตต่ำ
ยิ่งค่าสายตาสูง ภาพก็ยิ่งเล็กลง ดังนั้นช่วงที่รับรู้การเคลื่อนไหวได้จึงแคบลงมาอยู่ใกล้จุดโฟกัส
เมื่อก่อน Shadertoy นี้เคยดังมากจนเซิร์ฟเวอร์ล่มมาแล้ว
ตอนนั้นถึงกับมีแบนเนอร์แบบกำหนดเองขึ้นว่า “ขอเวลาสักครู่” และพอเห็นมันกลับขึ้นหน้าแรกของ HN อีกครั้งก็รู้สึกดีใจ
ลิงก์ archive ตอนนั้น
พอเปิดหน้าเว็บปุ๊บก็เกิด ไมเกรน หนักทันทีเลยปิดเลย
น่าจะต้องตรวจสอบว่าสิ่งกระตุ้นทางสายตาแบบนี้ สามารถกระตุ้นอาการชักหรือปวดหัวได้หรือไม่
ตอนแรกก็ดูน่าสนุก แต่พอผ่านไปประมาณ 1 นาที ภาพติดตาก็เริ่มค้างอยู่ในสายตา และเริ่มได้ยิน เสียงหึ่งในหู
ผ่านไป 10 นาทีก็ยังไม่หาย เลยรีบถอยออกจากคอมพิวเตอร์ทันที
แต่พอรู้ว่างานวิจัยที่เกี่ยวข้องยังมีน้อย ก็ขอแก้ไขความเข้าใจนั้น
เพราะนอกจากบริเวณตรงกลางแล้ว ยัง รู้สึกได้ทางประสาทสัมผัส ว่ามีบางอย่างกำลังเคลื่อนไหวอยู่ เลยคิดว่าถ้าดูนาน ๆ น่าจะปวดหัว
ถ้าลองดูว่ามีอาการไม่สบายแบบคล้ายกันหรือไม่ ก็น่าจะช่วยตีวงสาเหตุให้แคบลงได้
ไม้กางเขนทั้งหมดกำลังหมุนจริง ๆ ดังนั้นการทดลองนี้แสดงให้เห็นว่าส่วนไหนของลานสายตาที่เปราะบางต่อ ภาวะไม่รับรู้การเปลี่ยนแปลง (change blindness)
กล่าวคือ 99% ของลานสายตาไม่สามารถรับรู้การเปลี่ยนแปลงได้
เพราะคอมเมนต์ของฉันจึงมีโพสต์ใหม่ตามมา
ตอนแรกฉันคิดว่าการหมุนนี้เป็น ภาพลวงตา
นึกถึงบทความที่เกี่ยวข้องของ National Geographic แต่ในกรณีนี้มันหมุนจริง
เพียงแต่ว่าจะเห็นการหมุนนั้นได้อย่างชัดเจนเฉพาะในบริเวณกึ่งกลางของการมองเห็น (fovea) เท่านั้น
คิดว่าน่าจะขยายการทดลองนี้ให้เป็นเวอร์ชัน psychometric ได้
ถ้าปรับพารามิเตอร์สเกล ก็จะทำให้มองเห็นการเคลื่อนไหวได้แม้ในภาพรอบนอก และให้ผู้เข้าทดลองรายงานว่าบริเวณเฉพาะจุด (เช่น ตำแหน่งที่วงกลมสีแดงชี้ไว้) มีการเคลื่อนไหวจริงหรือไม่ก็ได้
เพราะ receptive field ของการมองเห็นรอบนอกมีขนาดใหญ่กว่า ดังนั้นเซลล์ในบริเวณนั้นจึงต้องการสิ่งเร้าทางสายตาที่ใหญ่กว่าจึงจะตรวจจับการเคลื่อนไหวได้
ฉันหาพบได้ค่อนข้างเร็วว่ามี บริเวณคลุมเครือ ที่มองเห็นการหมุนได้ชัดในส่วนกึ่งกลาง
ถ้าปล่อยโฟกัสให้หลวมลง ก็จะเห็นภาพรอบนอกทั้งหมดเคลื่อนไหวแบบพร่ามัว
นี่แหละคือพื้นฐานทางทฤษฎีของ foveated rendering/streaming