3 điểm bởi GN⁺ 2025-11-14 | 1 bình luận | Chia sẻ qua WhatsApp
  • Mã hiệu ứng thị giác dựa trên ShaderToy phát hiện tiêu điểm thị giác ở vùng trung tâm thị trường nhìn (fovea)
  • Cấu trúc sử dụng GPU shader để trực quan hóa theo thời gian thực khu vực nơi ánh nhìn của con người tập trung
  • Thể hiện theo hướng thử nghiệm mối quan hệ giữa hiệu ứng kết xuất và vùng chú ý thị giác
  • Có thể chạy và điều chỉnh trực tiếp trên trình duyệt web thông qua nền tảng ShaderToy
  • Một ví dụ khám phá cơ chế lấy nét của thị giác con người bằng lập trình đồ họa

Tổng quan về Human Fovea Detector

  • mã shader phục vụ thí nghiệm thị giác được đăng trên ShaderToy, mô phỏng việc phát hiện vùng trung tâm thị trường nhìn của con người (fovea)
  • Hoạt động bằng cách sử dụng shader nền tảng GPU để làm nổi bật khu vực tập trung ánh nhìn
  • Cần bật JavaScript và WebGL trong môi trường trình duyệt để có thể chạy

Tính năng và cách triển khai

  • Phát hiện tiêu điểm thị giác của một vùng cụ thể trên màn hình thông qua kết xuất thời gian thực
  • Sử dụng công cụ hiệu ứng thị giác tương tác của ShaderToy để thể hiện sự thay đổi của vùng trung tâm thị giác
  • Khi chạy mã, triển khai hiệu ứng vùng trung tâm thị giác di chuyển theo đầu vào của người dùng hoặc chuyển động chuột

Đặc điểm kỹ thuật

  • Dựa trên lập trình GPU shader, thực hiện các phép tính thị giác ở cấp độ pixel
  • Để chạy trong trình duyệt, cần cho phép JavaScript và cookie
  • Tuân theo cấu trúc chuẩn của nền tảng ShaderToy và được viết bằng mã GLSL

Khả năng ứng dụng

  • Có thể được dùng làm công cụ nghiên cứu để trực quan hóa hoặc phân tích sự dịch chuyển tiêu điểm trong thị giác con người
  • Có thể ứng dụng trong nhiều lĩnh vực như giao diện theo dõi ánh nhìn, phân tích chú ý thị giác, thử nghiệm thiết kế đồ họa

Điều kiện chạy

  • Khi truy cập trang có bước xác minh bảo mật và yêu cầu kích hoạt script
  • Cần cho phép JavaScript và cookie để mã shader được kết xuất bình thường
  • Trên trang gốc, sau thông báo “đang xác minh bạn là con người”, trang sẽ chuyển sang màn hình kết xuất của ShaderToy

1 bình luận

 
GN⁺ 2025-11-14
Ý kiến trên Hacker News
  • Không thể di chuyển mắt một cách mượt mà trừ khi đang theo dõi một vật thể chuyển động
    Mắt luôn thực hiện các chuyển động giật saccade nhanh và rời rạc
    Nhưng khi nhìn vào vòng tròn đỏ di chuyển mượt như trong ví dụ Shadertoy này, bạn có thể đưa mắt theo nó và khiến chuyển động của mắt trở nên trơn tru

  • Khi xem cái này, tôi đã phát hiện ra ảo giác Maxwell’s Spot
    Khi nhìn vào ảnh xanh lam/xanh lục nhấp nháy này, sẽ thấy một chấm tối ở giữa nơi ánh nhìn đang tập trung

  • Thật thú vị vì kết quả thay đổi hoàn toàn tùy theo loại kính
    Tôi bị viễn thị, và khi bỏ kính ra thì có chút lác nhẹ nên không thể lấy nét, khiến tôi thấy chuyển động theo hình số 8
    Khi đeo kính thường, hiệu ứng này giảm đi nhưng gần như không còn thấy chuyển động ngoài vùng trung tâm
    Ngược lại, khi đeo kính đọc sách (dành cho cận thị), tôi thấy một vòng tròn hoàn hảo và còn có thể nhận ra chuyển động ở vùng ngoại vi như một khung hình có tốc độ thấp

    • Lý do là độ kính làm thay đổi kích thước hình ảnh hội tụ trên võng mạc
      Độ càng cao thì hình ảnh càng nhỏ, vì thế phạm vi nhận biết chuyển động bị thu hẹp lại quanh điểm lấy nét
  • Trước đây Shadertoy này từng nổi tiếng đến mức làm sập máy chủ
    Khi đó còn có cả một banner tùy chỉnh kiểu “xin chờ một chút”, nên giờ thấy nó lại lên trang chủ HN cảm giác khá vui
    Liên kết lưu trữ lúc đó

    • Tôi thấy điều đó dễ thương. IQ là một người tuyệt vời vì đã không thương mại hóa Shadertoy suốt 12 năm và vẫn duy trì miễn phí
  • Vừa mở trang ra là tôi bị đau nửa đầu dữ dội nên đóng lại ngay
    Cần kiểm tra xem những kích thích thị giác kiểu này có thể gây co giật hoặc đau đầu hay không

    • Bình thường tôi không bị đau nửa đầu, nhưng đôi khi có aura thị giác
      Ban đầu thấy khá thú vị, nhưng sau khoảng 1 phút thì bắt đầu có ảnh lưu trên tầm nhìn và tai tôi bắt đầu nghe ù tai
      Sau 10 phút mà vẫn còn nên tôi lập tức rời khỏi máy tính
    • Có thể sẽ có người hỏi “kiểm tra chuyện đó bằng cách nào”, nhưng thực tế là không có phương pháp xác minh rõ ràng
    • Ban đầu tôi nghĩ đây là một thí nghiệm cho thấy nguyên lý bán kính lấy nét của mắt giảm dần theo tuổi tác
      Nhưng sau đó tôi biết rằng chưa có đủ nghiên cứu liên quan nên xin đính chính
    • Tôi cũng cảm thấy kỳ lạ và khó chịu ngay khi vừa nhìn thấy nó
      Vì có thể cảm nhận bằng trực giác rằng có thứ gì đó đang chuyển động cả ngoài vùng trung tâm, nên nếu nhìn lâu chắc sẽ đau đầu
    • Tôi tự hỏi liệu bạn đã từng dùng kính thực tế ảo VR chưa
      Nếu kiểm tra xem có xuất hiện cảm giác khó chịu tương tự hay không, có lẽ sẽ thu hẹp được nguyên nhân
  • Tất cả các dấu thập thực sự đều đang xoay, nên thí nghiệm này cho thấy phần nào trong thị trường là nơi dễ bị mù thay đổi (change blindness)
    Nói cách khác, 99% thị trường không nhận ra sự thay đổi

  • Nhờ bình luận của tôi mà một bài viết mới đã được đăng lên

    • Đúng vậy :)
  • Ban đầu tôi tưởng chuyển động quay này là một ảo giác thị giác
    Tôi nhớ đến bài viết liên quan của National Geographic, nhưng trong trường hợp này thì nó thật sự đang quay
    Chỉ là chỉ có thể nhìn rõ chuyển động quay đó ở vùng trung tâm (fovea)

  • Có lẽ có thể mở rộng thí nghiệm này thành một phiên bản đo tâm lý học (psychometric)
    Nếu điều chỉnh tham số tỉ lệ thì có thể nhìn thấy chuyển động cả ở vùng ngoại vi, và chỉ cần để người tham gia báo lại xem một vùng nhất định nào đó (ví dụ nơi được đánh dấu bằng vòng tròn đỏ) có thật sự đang chuyển động hay không
    trường tiếp nhận (receptive field) của thị giác ngoại vi lớn hơn, nên các tế bào ở đó cần kích thích thị giác lớn hơn mới có thể phát hiện chuyển động

  • Tôi nhanh chóng tìm ra được một vùng mờ nơi có thể nhìn rất rõ chuyển động quay ở trung tâm
    Khi thả lỏng tiêu điểm, tôi có thể thấy cả vùng ngoại vi chuyển động mờ mờ
    Đây chính là nền tảng lý thuyết của foveated rendering/streaming