瞳孔里藏着的 0.5 毫米 右边是眼镜内侧红外摄像头拍到的眼睛,瞳孔被一圈虚线椭圆框住,标着直径 3.42 mm;左边是一副眼镜,鼻梁处的摄像头朝眼睛发出红外光,下面一条瞳孔直径曲线:开灯时猛地缩小,想事时只鼓起 0.5 mm 的小包。 瞳孔里藏着的 0.5 毫米 红外摄像头 光一亮:猛地缩小 想事:+0.5 mm 3.42 mm eye cam · IR · 200 Hz pupil diameter left [mm]

下面是一个 CSV 文件的表头,来自 Pupil Labs 的眼动眼镜 Neon1:

timestamp [ns], pupil diameter left [mm], pupil diameter right [mm],
eye ball center left x [mm], ..., eyelid aperture left [mm], eyelid aperture right [mm]

戴上它走一圈,导出的 3d_eye_states.csv 里每秒有 200 行,每一行都有左右两只眼的瞳孔直径,单位是毫米。

这让人有点意外。一副眼镜上的摄像头离眼睛只有两三厘米,还是从镜框边上斜着拍的,它怎么量得出毫米?我们平时说的“智能眼镜”,比如能拍照、能和 AI 说话的 Ray-Ban Meta,也能做到吗?就算量出来了,走在街上忽明忽暗,这个数又能说明什么?

上一篇讲注意力的文章最后提到,想像 HRV 一样戴着就测注意力,瞳孔是最好的候选,只是光照干扰让它离日常使用还远(见《心跳越不规律越健康,那注意力呢》)。这一次我们就拿着这副眼镜,看看“远”到底远在哪里。

先交代几个后文反复用到的词。瞳孔是虹膜(眼睛里有颜色的那一圈)中间的圆孔,光从这里进入眼睛;它的大小由两块肌肉控制,一块收缩、一块扩张,都不受意识支配。眼动追踪是用摄像头算出眼睛在看哪里,瞳孔测量(pupillometry)则是量瞳孔有多大。两件事用的是同一套摄像头,但难度不一样。

一、眼镜怎样看见瞳孔

现象:大多数智能眼镜根本没有看眼睛的摄像头

先回答最直接的问题。Ray-Ban Meta 这一类 AI 眼镜,摄像头都朝外,用来拍照和让 AI “看见”你面前的东西。2025 年发布的 Meta Ray-Ban Display 加了一块单眼显示屏,公开的规格里仍然只有一颗朝外的 1200 万像素摄像头,操控靠手腕上读肌电的 Neural Band,而不是眼睛2。没有朝内的摄像头,就谈不上看瞳孔。

能看瞳孔的,是另一类设备:研究用的眼动眼镜(Pupil Labs Neon、Tobii Pro Glasses 3、Meta 的 Aria Gen 2),以及带眼动追踪的头显(Apple Vision Pro、HTC Vive Pro Eye)。它们的共同点是,镜框或镜片周围装着朝内的红外摄像头和红外 LED。

原理:在红外图像里找最暗的一块

为什么用红外?一是人眼看不见红外光,LED 一直亮着也不晃眼,暗处也能拍;二是在红外下,虹膜不管是什么颜色都比较亮,而瞳孔是一个通往眼底的洞,光照进去几乎不反射出来,于是成了整张图里最暗的一块。算法要做的,就是把这块暗区分割出来,沿边缘拟合一个椭圆。图像里另外还有一两个小亮点,那是 LED 在角膜表面的反光,追踪视线时会用到。

以 Neon 为例,每只眼一个红外摄像头,分辨率只有 192×192 像素,每秒 200 帧,每只眼配一个红外 LED3。

眼镜上的眼摄像头怎样拍到瞳孔 左边是侧面示意:眼摄像头和红外 LED 装在镜框下沿,LED 照亮眼睛,摄像头从下方斜着往上拍。右边是摄像头拍到的一帧 192×192 像素的红外图像,瞳孔是其中最暗的椭圆;下面列出 Neon 每只眼的摄像头参数和输出的瞳孔直径字段。 侧面 · 镜框下沿的眼摄像头 摄像头拍到的一帧 眼球 瞳孔 镜片 眼摄像头 红外 LED 摄像头在下方斜着往上拍, 平视时拍到的瞳孔也是椭圆 192 × 192 像素 · 红外 最暗的一块是瞳孔, 虚线是拟合的椭圆 Neon 眼摄像头 每只眼一套 分辨率 · 帧率192×192 px · 200 Hz 照明红外 LED × 1 输出字段pupil diameter left [mm]
图 1 · 眼镜看瞳孔靠的是朝内的红外摄像头:瞳孔在红外图像里是最暗的一块,先拟合出椭圆,再换算成毫米

注意摄像头的位置:它装在镜框下沿,从下往上斜着拍。眼镜不可能把摄像头放在眼睛正前方,否则会挡住视线。所以即使我们平视前方,摄像头拍到的瞳孔也不是正圆,而是一个椭圆。

拍到的是一个几十像素宽的椭圆,那它是怎么变成“4.6 毫米”的?

二、从像素到毫米

现象:瞳孔没变,图像里的大小却变了

最直觉的办法是数像素:椭圆越大,瞳孔越大。可是同一个瞳孔,在图像里的大小会因为跟瞳孔无关的原因而变化。

  • 眼球一转,瞳孔这个圆片相对摄像头倾斜,投影出来的椭圆变扁。只按几何算,视线偏离摄像头轴 40° 时,短轴缩到 cos 40° ≈ 0.77 倍。
  • 眼镜一滑,摄像头离眼睛远了一点,整个瞳孔看上去就小了一圈。Neon 白皮书里,镜架沿视线方向移开 5 毫米,按像素算的瞳孔大小就下降了一成以上3。
  • 角膜是一块透镜。我们从外面看到的瞳孔,其实是隔着角膜看到的放大像,放大多少又跟观察角度有关。

这几种效应合称瞳孔投影缩短(pupil foreshortening)。它在桌面眼动仪上就已经很明显4,在眼镜上更麻烦:摄像头离眼睛近、角度斜,人又在走动,眼镜会顺着鼻梁慢慢往下滑。白皮书举了一个例子:做一个持续几小时的疲劳实验,眼镜慢慢滑下去,表观瞳孔跟着变小,很容易被误读成“人疲劳了”3。

同一个瞳孔在眼摄像头里的三种样子 三栏都是直径 4.6 毫米的同一个瞳孔。视线正对摄像头时拍到正圆;视线偏离摄像头轴 40 度时,短轴缩到约 0.77 倍,变成椭圆;镜架沿视线方向外移 5 毫米时,整体缩小一成以上。 视线正对摄像头 拍到的瞳孔 真实直径4.6 mm 形状圆 表观大小基准 视线偏离摄像头 40° 拍到的瞳孔 真实直径4.6 mm 形状椭圆 表观大小短轴 ≈ 0.77 倍 镜架往外滑 5 mm 拍到的瞳孔 真实直径4.6 mm 形状小一圈的圆 表观大小缩小一成以上 虚线圈是视线正对摄像头时的大小。瞳孔本身没变,变的是它投到图像上的影子。
图 2 · 眼球一转、眼镜一滑,同一个瞳孔在图像里就变了样;第二栏是按几何算的,第三栏取自 Neon 白皮书的实测

第一次尝试:量椭圆的长轴

既然眼球转动只会把圆压扁,那么取椭圆的长轴,不就绕开了吗?圆片倾斜时,和转轴平行的那条直径长度不变。

可惜这只在没有角膜、摄像头离得很远的理想情况下成立。Pupil Labs 的 Petersch 和 Dierkes 用光线追踪模拟了头戴式眼动仪的成像:视线偏离到约 50° 时,长轴法会把瞳孔低估最多 7.5%5。

第二次尝试:先重建眼球,再求瞳孔

更进一步的办法是3D 眼球模型。眼球在转,但眼球中心在眼眶里基本不动;从一段视频里的许多个椭圆,可以反推出眼球中心的位置,再把每一帧的椭圆还原成三维空间里一个真实的圆,它的直径就是瞳孔大小。这是 Świrski 提出的方法,开源的 Pupil Core 一直在用。

但它忽略了角膜折射,结果反而高估,视角越大高估越多。把角膜折射也算进去(用标准眼模型的四个参数:眼球半径、虹膜半径、角膜曲率半径和折射率),人群平均的误差能压到 ±1%;落到具体某个人身上,仍然有 2.5%–4% 的偏差,因为每个人的眼睛和“标准眼”不完全一样5。

三种算法在视角变大时的偏差(头戴式眼动仪,光线追踪仿真)
算法怎么算视线偏到约 50° 时
椭圆长轴直接取图像里椭圆的长轴低估,最多 7.5%
3D 眼球模型从多帧椭圆反推眼球中心,再还原成三维的圆高估,个体 3%–7.5%
3D 模型 + 角膜折射再用标准眼的四个参数修正折射人群平均 ±1%,个体仍差 2.5%–4%

数据来自 Petersch 与 Dierkes 2022,视角用瞳孔椭圆的圆度 0.4 换算。

图 3 · 不把角膜折射算进去,瞳孔大小会随视线方向系统性地偏

解决:让网络直接学一个“个人化”的眼球

Neon 在这条路上又走了一步:用一个叫 NeonNet 的神经网络直接从眼图估计三维眼球状态,并约束它和一个个人化的、带光学参数的眼球模型一致,不需要用户先校准3。按白皮书的测试,水平方向 ±40° 内,人群平均的视角误差小于 5%;垂直方向 ±15° 内也小于 5%;镜架移开 5 毫米,几乎没有影响。

这也解释了为什么上一代产品 Pupil Invisible 干脆不输出瞳孔大小。它的摄像头装在镜腿根部,角度更斜,Pupil Labs 的工作人员在社区里的答复是:“因为摄像头角度,2D 瞳孔检测不够稳定,建不出好的 3D 眼模型”6。同一家公司、同样是眼镜,测视线可以,测瞳孔不行,难点就在这一步。

需要说明的是,Neon 的数字来自厂商自己的白皮书,没有经过同行评审。Tobii Pro Glasses 3 也说自己报告的是瞳孔的物理大小(毫米),而不是从外面看到的表观大小7,但没有公开同样细的误差数据。

误差压到 5% 以内,对 4.6 毫米的瞳孔来说约是 0.2 毫米。这够不够用?要看我们想测的那个变化有多大。

三、瞳孔为什么会变

光照:瞳孔最主要的工作

瞳孔首先是一个光圈。它的直径大约在 2 到 8 毫米之间变化,进光量相差十几倍8。从暗处走到太阳下,瞳孔会在一秒左右缩到很小,这叫瞳孔光反射。光照能带来的变化最大约 6 毫米9。

除此之外还有两种跟“想事”无关的变化。一是近反射:看近处时,双眼向内聚、晶状体变凸,瞳孔也会跟着缩小,让近处的东西看得更清楚。二是自发波动:即使光照不变、人不动,瞳孔也在一直轻微地变,其中有一个约每 3–5 秒一次的节律,叫瞳孔震颤(hippus)。

想事:小,但很稳定

在光照不变的条件下,瞳孔还会随“心里的事”变化。Kahneman 在 1973 年的《注意与努力》里就拿瞳孔扩张当作“心理努力”的主要指标:记的数字越多,瞳孔越大10。上一篇文章里讲过,这背后是脑干里的蓝斑:它释放去甲肾上腺素调节警觉程度,瞳孔大小和它的活动同步。

但这个变化很小。做心算这类费脑的任务时,瞳孔最多扩张约 0.5 毫米9。把几种变化放在同一把尺子上,就能看出问题在哪:

瞳孔直径几种变化的量级 同一把毫米尺上:瞳孔能在 2 到 8 毫米之间变化;光照最多能让它变约 6 毫米;想事带来的扩张最多约 0.5 毫米;测量误差按 5% 算约 0.2 毫米。 瞳孔直径的几种变化 · 同一把毫米尺 0 1 2 3 4 5 6 7 8 毫米 瞳孔能变的范围 2–8 mm 光照最多带来 约 6 mm 想事最多带来 约 0.5 mm 测量误差 5% 约 0.2 mm 暗室里光照不变,0.5 mm 比误差大一倍; 走到室外,光照带来的变化是它的十几倍。 虚线框:Neon 白皮书测得的视角误差上限
图 4 · 想事让瞳孔变的那一点,比测量误差大,却远小于光照带来的变化

暗室里,眼镜已经测得出来

所以第二节的问题有了答案:在光照不变的暗室里,约 0.2 毫米的误差比 0.5 毫米的信号小,眼镜够用。Neon 白皮书在暗室里复现了三个经典结果:瞳孔震颤的频率在 0.18–0.26 Hz 之间;屏幕闪亮后约 0.22–0.27 秒瞳孔开始收缩;做 n-back 记忆任务(看一串字母,判断当前字母是否和 N 个之前的相同,N 越大越费脑)时,8 名受试者全都在最难的 2-back 时瞳孔最大3。

可是,一旦走出暗室,光照的变化就是这个信号的十几倍。走过一片树荫、抬头看一眼窗外、手机屏幕亮一下,都足以淹没“想事”带来的那一点扩张。

那能不能把光照的那一部分算出来,从测得的瞳孔里减掉?

四、扣除光照的影响

第一次尝试:只在光照稳定时用

最简单的办法是绕开问题:只在光照不变的时候看瞳孔。实验室就是这么做的,暗室、固定屏幕亮度、下巴托。可如果只能在暗室里用,眼镜就失去了“戴着就测”的意义。

第二次尝试:先预测光照该让瞳孔多大

更积极的思路是:既然光照对瞳孔的影响有规律,就先根据看到的亮度预测一个瞳孔大小,再看实际测得的比它大了多少。

预测的公式早就有人总结过。Watson 和 Yellott 2012 年综合了七个旧公式,给出一个统一公式,输入亮度、视野里亮区的大小、年龄、单眼还是双眼受光,输出瞳孔直径11。问题在于眼镜上怎么知道“看到的亮度”。

  • 用场景摄像头和亮度传感器。 挪威的 Pignoni 等人在眼动仪上加了一个头戴亮度传感器,结合第一视角视频和注视点,估计“光照下应有的瞳孔”,把它当作认知负荷的基线12。这套方法在实验室的受控画面里验证过,后来被同一团队用在直升机驾驶和舰船航行演练中。
  • 用渲染出来的画面。 在 VR 头显里,画面每个像素有多亮是已知的。Eckert 等人在 VR 里给每个人做一条“亮度→瞳孔”的个人曲线:先用 6 秒一档、顺序打乱的灰屏校准,再用注视区和背景的加权亮度去查这条曲线,效果最好13。

把这些拼起来,就是眼镜上扣除光照的大致流程:

从测得的瞳孔里扣掉光照 左边是眼镜上的传感器:场景摄像头和环境光传感器估出注视点的亮度,再经过每个人校准过的亮度到瞳孔的映射,得到光照该有的直径;眼摄像头经过 3D 眼模型得到实际测得的直径。两者相减的残差,才留给认知、唤醒和困倦。看近处带来的瞳孔收缩要靠双眼辐辏估出距离再修正,这一路在眼镜上还没有验证。 眼镜上的传感器 估算 结果 场景摄像头 30 Hz 环境光传感器 眼摄像头 ×2 200 Hz 注视点亮度 注视区 + 背景加权 亮度→瞳孔映射 每人校准一次 3D 眼模型 带角膜折射 注视距离 双眼辐辏 光照该有的 d_light 实际测得 d_meas d_meas − d_light 留给认知、唤醒、困倦 虚线:看近处瞳孔也会缩小,要先估出 看多远再修正,这一路还没人在眼镜上验证
图 5 · 想从瞳孔读出“心里的事”,先要算出光照本该让它多大,再看测得的比它大了多少

眼镜上难在哪里

这条流程在 VR 里比在眼镜上容易,原因是 VR 的光源完全由程序控制。换到眼镜上,至少有三处麻烦(下面三条是根据上述研究推断的,没有找到专门的验证):

  1. 场景摄像头不是测光表。 它会自动调曝光,拍出来的明暗不等于真实亮度;要么锁定曝光、做亮度标定,要么另加一个校准过的环境光传感器。Aria Gen 2 就带了这样一个传感器,还能用紫外通道分辨室内和室外14。
  2. 瞳孔看的是注视点附近。 同一个场景,盯着窗户和盯着桌面,进眼的光差得很远,所以必须用眼动追踪的注视点去取亮度,而不是整张画面的平均值。
  3. 看远近也要扣。 近反射会让瞳孔缩小,需要用两只眼的视线交点(辐辏点)估出注视距离再修正。Aria Gen 2 的眼动输出里正好有辐辏点14,但还没见到有人把它用于瞳孔校正。

所以这个问题目前只有一个保守的答案:技术路线是清楚的,从暗室走到真实街道的那一步,目前还停在实验室和 VR 里。

就算这些都能做,为什么我们手上的眼镜还是拿不到这个数?

五、手上的眼镜为什么拿不到这个数

把前面提到的设备排在一起,答案分成两类:要么没有看眼睛的摄像头,要么有,但数据不给你。

几类设备能不能给出瞳孔直径
设备朝内的眼摄像头瞳孔直径谁能拿到
消费级 AI 眼镜
Ray-Ban Meta、Meta Ray-Ban Display没有无从谈起
研究用眼动眼镜
Pupil Labs Neon每只眼 1 个,200 Hz毫米买设备的研究者
Pupil Labs Invisible有,角度很斜不输出—
Tobii Pro Glasses 3有毫米买设备的研究者
Meta Aria Gen 2有输出申请通过的研究者
头显
HTC Vive Pro Eye有毫米开发者(SDK 接口)
Apple Vision Pro有系统内部使用不给 App

Ray-Ban 两款按公开规格整理,规格里只有朝外的摄像头。

图 6 · 能测瞳孔的设备都在研究者手里,消费级产品要么没装摄像头,要么不开放数据

为什么消费级眼镜不装? 公开资料里没有厂商的解释,以下是推断。一副要整天戴的眼镜,重量、续航和外观都很紧张;朝内的摄像头和 LED 要一直工作,还要实时跑眼模型,耗电不小。对这类眼镜现在的主要用途(拍照、听歌、问 AI),看视线和瞳孔的收益不足以抵消这些成本。

为什么装了也不给? Vision Pro 有一整套 LED 和红外摄像头盯着眼睛,但 Apple 的隐私说明写得很直白:“你的眼睛输入不会分享给 App、网站或 Apple”15,App 只知道你最后用手指捏合选中了什么。这和本文讲的瞳孔直接相关:如果瞳孔能反映认知负荷和唤醒程度,那么一个能实时读瞳孔的广告或应用,就能知道你看到什么时心里一动。反过来,Vive Pro Eye 这类面向开发者的头显,SDK 里直接有返回瞳孔直径的接口16。

六、回到注意力

现在可以回答上一篇留下的那个“远”了。想用眼镜像 HRV 一样被动地看注意力,要过三关:

  • 有没有摄像头。 消费级 AI 眼镜现在没有,研究用眼镜有。
  • 量不量得准。 带角膜折射的 3D 眼模型已经能把误差压到 5% 以内,暗室里足以测出 n-back 级别的认知负荷。这一关基本过了。
  • 能不能扣掉光照。 这是真正的距离。光照带来的变化是认知信号的十几倍,扣除的方法在 VR 和受控实验里可行,在真实街道上还没有被验证。

一个折中的想法是,像 HRV 的晨测一样,不追求全天连续,而是每天在同一个光照稳定的场景(比如固定的书桌前)测几分钟,比较自己不同日子、不同时段的变化。上一篇提到的瞳孔困倦测试就是这样做的:暗室里盯着看 11 分钟,困了以后瞳孔会出现缓慢的大幅波动。这只是推断,还没有见到有人用眼镜这样做。

小结

  1. 智能眼镜能看到瞳孔吗? 要有朝内的红外摄像头。研究用眼动眼镜和部分头显有,Ray-Ban Meta 这类消费级 AI 眼镜没有。
  2. 斜着拍的像素怎么变毫米? 眼球转动、眼镜滑动和角膜折射都会改变图像里的瞳孔大小。量长轴、3D 眼球模型都不够,要把角膜折射算进去,人群平均误差才压到约 ±1%,Neon 在真实佩戴下做到 5% 以内。
  3. 瞳孔为什么会变? 主要是光照(最多约 6 mm),还有看远近和自发波动;想事带来的扩张最多约 0.5 mm。暗室里误差比它小,眼镜已经测得出来。
  4. 街上能不能扣掉光照? 思路是先按注视点亮度预测光照该有的瞳孔,再看残差。VR 和实验室里可行,眼镜上还缺测光、注视点取亮度和近反射修正的验证。
  5. 为什么拿不到? 消费级眼镜因为重量、续航没装;装了的头显出于隐私不开放;能拿到数据的设备都在研究者手里。

参考资料

Footnotes

  1. Neon Data FormatPupil Labs Docs收藏docs.pupil-labs.com3d_eye_states.csv 的字段:瞳孔直径、眼球中心、光轴方向、眼睑开度https://docs.pupil-labs.com/neon/data-collection/data-format/ ↩

  2. Meta's new smart glasses come with a screen and AIPaulo Montenegro · Ubergizmo · 2025-09-18收藏ubergizmo.comMeta Ray-Ban Display:单眼显示、一颗朝外的 12MP 摄像头、Neural Band 腕带操控https://www.ubergizmo.com/2025/09/meta-smart-glasses-screen-ai ↩

  3. Neon Pupillometry Test Report: an evaluation of Neon's pupillometry featurePfeffer T, Dierkes K · Pupil Labs · Zenodo · 2024-06-05收藏zenodo.org厂商白皮书,未经同行评审。每只眼 192×192 像素、200 Hz 红外摄像头;视角依赖 <5%,镜架位移 5 mm 几乎无影响https://zenodo.org/records/10057185 ↩ ↩2 ↩3 ↩4 ↩5

  4. Mapping and correcting the influence of gaze position on pupil size measurementsHayes TR, Petrov AA · Behavior Research Methods 48(2) · 2016收藏pmc.ncbi.nlm.nih.gov桌面眼动仪 + 人造眼:注视位置带来的瞳孔大小误差,用余弦几何模型修正https://pmc.ncbi.nlm.nih.gov/articles/PMC4637269/ ↩

  5. Gaze-angle dependency of pupil-size measurements in head-mounted eye trackingPetersch B, Dierkes K · Behavior Research Methods 54(2) · 2022收藏pmc.ncbi.nlm.nih.gov长轴法、Świrski 3D 模型、带角膜折射的 3D 模型三种算法的视角误差对比https://pmc.ncbi.nlm.nih.gov/articles/PMC9046372/ ↩ ↩2

  6. Pupil Labs community chat: #invisible, September 2022Pupil Labs · 2022-09-01收藏chat-archive.pupil-labs.com工作人员答复:Pupil Invisible 不输出瞳孔数据,因为摄像头角度太斜,2D 瞳孔检测不够稳定https://chat-archive.pupil-labs.com/logs/invisible/2022/09/ ↩

  7. Pupil diameterTobii Pro Developer收藏developer.tobiipro.comTobii 报告的是瞳孔的物理大小(毫米),不是从外面看到的表观大小https://developer.tobiipro.com/commonconcepts/pupildiameter.html ↩

  8. Pupillometry: psychology, physiology, and functionMathôt S · Journal of Cognition 1(1) · 2018收藏journalofcognition.orghttps://journalofcognition.org/articles/10.5334/joc.18 ↩

  9. Workload assessment for mental arithmetic tasks using the task-evoked pupillary responseMarquart G, de Winter J · PeerJ Computer Science 1 · 2015收藏peerj.com引言:认知任务让瞳孔扩张最多约 0.5 mm,光照引起的最大变化约 6 mm(引自 Beatty & Lucero-Wagoner 2000)https://peerj.com/articles/cs-16/ ↩ ↩2

  10. Attention and EffortKahneman D · Prentice-Hall · 1973 ↩

  11. A unified formula for light-adapted pupil sizeWatson AB, Yellott JI · Journal of Vision 12(10):12 · 2012综合七个旧公式,输入亮度、视场大小、年龄、单眼或双眼 ↩

  12. Accounting for effects of variation in luminance in pupillometry for field measurements of cognitive workloadPignoni G, Komandur S, Volden F · IEEE Sensors Journal · 2020场景视频 + 头戴亮度传感器 + 注视点,预测光照下的瞳孔,作为认知负荷的基线 ↩

  13. Pupillary light reflex correction for robust pupillometry in virtual realityEckert M, Robotham T, Habets E, Rummukainen OS · Proceedings of the ACM on Computer Graphics and Interactive Techniques 5(2) · 2022VR 里的个人亮度→瞳孔映射;注视区与背景加权最好,6 秒一档的校准序列最稳 ↩

  14. Inside Aria Gen 2: explore the cutting-edge tech behind the deviceMeta · 2025-06-04收藏meta.comhttps://www.meta.com/blog/aria-gen-2-research-glasses-under-the-hood-reality-labs/ ↩ ↩2

  15. Eyes, Hands & PrivacyApple收藏apple.comhttps://www.apple.com/legal/privacy/data/en/eyes-hands/ ↩

  16. Vizard reference: Vive ProWorldViz收藏docs.worldviz.comVive Pro Eye 的 getPupilDiameter() 返回每只眼的瞳孔直径(毫米)https://docs.worldviz.com/vizard/latest/VivePro.htm ↩