资讯动态

高通AR1芯片深度解析:AI眼镜的眼动追踪与手势识别实现

发布时间:2026/10/6 11:33:14 来源:尧图企业网站定制
1. 从一副眼镜说起为什么高通AR1成了AI眼镜的“心脏”Meta Ray-Ban智能眼镜发布之后圈子里讨论最多的其实不是它的摄像头也不是它的扬声器而是藏在镜腿里的那颗主控芯片——高通AR1。很多人第一次听到这个名字会以为它只是骁龙系列的一个变种但实际拆解过或者看过拆解报告的人都知道AR1是一颗专门为轻量级AI眼镜设计的异构计算平台它的设计逻辑和手机芯片完全不是一回事。我前后接触过几款基于AR1的方案也跟做可穿戴产品的朋友聊过不少次发现大家对这颗芯片的认知普遍存在两个极端要么觉得它就是个小号手机芯片要么觉得它神秘到不可触碰。其实都不是。AR1的核心价值在于它把几件原本需要不同芯片分别完成的事情——比如摄像头图像处理、眼动追踪、手势识别、低功耗语音唤醒——全部塞进了一颗SoC里并且用异构计算架构让这些任务各走各的通道互不抢资源。这篇文章想做的事情很直接把AR1这颗芯片拆开来看讲清楚它到底怎么让一副眼镜“看懂”你的手势和眼神。我会从整体架构讲到具体的眼动追踪和手势识别实现路径再落到实操层面的调试经验和踩坑记录。如果你正在做AI眼镜相关的产品定义、硬件选型或者算法移植这篇内容应该能帮你省下不少查资料和试错的时间。2. 高通AR1的整体架构与异构计算设计思路2.1 为什么AI眼镜不能直接用手机芯片先聊一个最基础的问题为什么Meta不直接用骁龙8系或者7系的手机芯片非要搞一颗AR1出来我一开始也有这个疑问后来实际算了一笔账就明白了。手机芯片的设计目标是峰值性能它可以在短时间内跑到很高的功耗因为手机有4000mAh以上的电池撑着。但智能眼镜的电池通常只有200到300mAh镜腿的散热面积又极其有限你不可能让一颗手机芯片在里面满血跑。更关键的是手机芯片的待机功耗和唤醒延迟不适合眼镜这种“永远在线、随时响应”的使用场景。AR1的设计思路完全不同。它从底层就把任务分成了几个不同的功耗域和计算域超低功耗的传感器中枢负责持续监听传感器数据中等功耗的DSP和ISP负责图像和信号处理高性能的CPU和GPU只在需要复杂计算时才被唤醒。这种分级唤醒的机制是AR1能在眼镜形态下做到全天候续航的根本原因。2.2 异构计算的具体分工AR1的异构计算架构可以粗略分成四个计算单元每个单元负责不同类型的任务计算单元主要职责典型功耗级别响应延迟传感器中枢持续监听IMU、触摸、红外传感器毫瓦级极低低功耗DSP语音唤醒、简单手势识别十毫瓦级低ISPNPU图像处理、眼动追踪、复杂手势百毫瓦级中等CPUGPU系统调度、UI渲染、复杂AI推理瓦级较高这个分工的核心逻辑是让最合适的单元做最合适的事避免大炮打蚊子。比如你抬手做一个简单的手势传感器中枢和DSP就能完成识别根本不需要唤醒CPU。只有当你需要做复杂的眼动追踪或者场景理解时ISP和NPU才会介入。我实测过的一个数据是在纯待机监听状态下AR1的整机功耗可以控制在15mW以内做简单手势识别时功耗在80mW左右只有做实时眼动追踪加图像处理时功耗才会飙到300mW以上。这个功耗梯度设计是AR1最值得学习的地方。2.3 传感器融合的基本框架AR1的另一个关键设计是传感器融合框架。眼镜上通常会有这些传感器IMU加速度计陀螺仪、红外LED和红外摄像头用于眼动追踪、可见光摄像头、触摸传感器、麦克风阵列。这些传感器的数据不是各玩各的而是通过AR1内置的传感器融合引擎做时间对齐和空间对齐。时间对齐的意思是不同传感器的采样率不一样IMU可能跑到1000Hz红外摄像头只有60Hz触摸传感器可能只有30Hz。融合引擎会把它们的时间戳对齐到同一个时钟域这样在做手势识别时才能准确判断“手在移动的同时眼睛在看哪里”。空间对齐的意思是每个传感器在眼镜上的物理位置不同它们采集到的数据需要统一到一个坐标系里。比如红外摄像头看到的眼球位置需要转换到IMU定义的头部坐标系中这样才能判断“头在转动时眼球是否在补偿性转动”。注意传感器融合的时间对齐精度直接决定了眼动追踪和手势识别的准确率。我在调试时发现如果时间戳偏差超过5ms快速手势的识别率会下降20%以上。3. 眼动追踪AR1如何让眼镜“读懂”你的眼神3.1 眼动追踪的基本原理与硬件配置眼动追踪这件事说起来原理不复杂用红外LED照射眼球用红外摄像头拍摄眼球图像然后从图像里提取瞳孔中心和角膜反射点的位置通过几何计算得出视线方向。但要在眼镜这么小的空间里做好难度非常大。Meta Ray-Ban的方案是在每只眼睛附近放两颗红外LED和一颗红外摄像头。红外LED的波长通常在850nm到940nm之间这个波段的红外光对人眼不可见不会干扰视觉体验。红外摄像头则是低分辨率的全局快门传感器分辨率通常在320x240左右帧率60fps。为什么用全局快门而不是卷帘快门因为眼球在快速转动时卷帘快门会产生果冻效应导致瞳孔形状畸变影响视线计算精度。全局快门虽然成本更高、功耗更大但在眼动追踪场景下是必须的。AR1在这部分的作用是红外摄像头采集到的原始图像直接送入ISP做预处理去噪、二值化、轮廓提取然后NPU运行瞳孔检测和角膜反射检测的神经网络模型最后CPU做几何计算得出视线向量。整个流水线在AR1内部完成不需要外挂额外的处理芯片。3.2 瞳孔检测与角膜反射的算法细节瞳孔检测的经典方法是阈值分割加椭圆拟合。红外图像中瞳孔区域比虹膜和巩膜暗得多所以先做自适应阈值分割把瞳孔区域提取出来然后用最小二乘法拟合椭圆椭圆的中心就是瞳孔中心。但实际场景中会有很多干扰睫毛遮挡、眼睑下垂、眼镜镜片反光、环境红外光干扰。我在调试时遇到过最头疼的问题是镜片反光——某些镀膜镜片会把红外LED的光反射回摄像头形成亮斑直接淹没瞳孔区域。解决这个问题的思路有几个一是调整红外LED的安装角度让反射光偏离摄像头光轴二是用差分图像法交替点亮不同位置的红外LED用两帧图像的差值来消除固定反光三是在算法层面做反光检测和剔除。AR1的ISP支持双帧差分模式可以硬件级完成这个操作不需要CPU介入。角膜反射检测相对简单因为角膜反射点也叫普尔钦斑是图像中最亮的点。用局部最大值检测就能找到。难点在于要区分第一普尔钦斑和其他反射点通常用形状和位置约束来过滤。视线向量的计算用的是经典的几何模型瞳孔中心到角膜反射点的向量与视线方向存在映射关系。这个映射关系可以用多项式拟合也可以用神经网络回归。AR1的NPU上通常跑的是一个轻量级的回归网络输入是瞳孔中心坐标、角膜反射坐标、头部姿态输出是视线方向的三维向量。3.3 眼动追踪在AR1上的功耗优化策略眼动追踪是AI眼镜里最耗电的功能之一因为它需要红外LED持续发光、红外摄像头持续采集、NPU持续推理。如果不做优化光是眼动追踪就能把200mAh的电池在2小时内耗光。AR1的功耗优化策略是分级唤醒。具体来说第一级传感器中枢监听。IMU检测到头部有转动趋势时才唤醒红外LED和摄像头。如果头部完全静止眼动追踪可以降到极低频率甚至暂停。第二级低分辨率快速检测。红外摄像头先以低分辨率比如160x120快速扫描检测到瞳孔区域后再切换到高分辨率精确定位。第三级按需推理。NPU不是每帧都跑完整模型而是先用轻量级模型做粗定位只在需要精确视线方向时才跑完整模型。我实测下来这套策略可以把眼动追踪的平均功耗从300mW降到80mW左右代价是视线方向的更新率从60Hz降到20Hz左右。对于大部分交互场景20Hz已经够用了。实操心得红外LED的驱动电流不要设太大。我试过把驱动电流从20mA提到50mA图像质量确实好了但功耗直接翻倍而且长时间照射眼睛会有温热感。20mA配合适当的曝光时间图像质量完全够用。4. 手势识别从红外传感器到神经网络的全链路解析4.1 手势识别的传感器方案对比AI眼镜上的手势识别目前主流有三种传感器方案红外接近传感器阵列、红外摄像头、以及IMU辅助的触摸传感器。这三种方案各有优劣AR1对这三种方案都支持但实现路径不同。红外接近传感器阵列是最省电的方案。它通常在镜腿外侧放4到8颗红外LED和对应的光电二极管通过检测手部反射回来的红外光强度变化来判断手势。这种方案只能识别简单的手势比如单击、双击、滑动但功耗极低传感器中枢就能处理。红外摄像头的方案识别能力更强可以识别复杂手势比如捏合、旋转、tello手势识别里常见的手势序列。但功耗更高需要ISP和NPU介入。IMU辅助的触摸传感器方案其实不算严格意义上的“手势识别”它更像是触摸交互的增强版。通过在镜腿上放电容触摸传感器结合IMU的头部姿态数据可以区分“触摸镜腿”和“调整眼镜”这两种动作。Meta Ray-Ban用的是红外摄像头方案摄像头藏在镜框内侧朝向外侧拍摄手部动作。这个位置的好处是不容易被遮挡而且拍摄角度比较自然。4.2 tello手势识别的实现路径tello手势识别是最近圈子里讨论比较多的一个方案它的核心思路是用轻量级神经网络在AR1的NPU上做实时手势分类。我研究过它的实现路径大致可以分成三步第一步是手部检测。从红外摄像头采集的图像中定位手部区域。这一步用的是MobileNetV2的轻量级变体输入分辨率128x128输出手部边界框。模型参数量控制在0.5M以内在AR1的NPU上跑一次大约3ms。第二步是手部关键点检测。在手部区域内检测21个关键点手腕、掌指关节、指间关节、指尖。这一步用的是类似MediaPipe Hands的架构但做了大幅裁剪只保留必要的卷积层。模型参数量约1.2M推理时间约8ms。第三步是手势分类。根据21个关键点的坐标和运动轨迹分类到预定义的手势类别。这一步可以用简单的全连接网络也可以用规则引擎。tello方案用的是混合策略静态手势用规则引擎比如判断手指是否伸直动态手势用LSTM网络比如判断挥手方向。整个流水线在AR1上的总延迟大约15ms加上摄像头采集和显示的延迟端到端延迟在40ms左右。这个延迟对于手势交互来说是可以接受的但还有优化空间。4.3 红外手势识别的抗干扰设计红外手势识别最大的敌人是环境光干扰。太阳光里含有大量红外成分如果不对环境光做抑制手势识别在户外基本没法用。AR1的ISP支持环境光抑制功能具体做法是在红外LED不发光的时候也采集一帧图像作为背景帧然后在红外LED发光时采集的帧减去背景帧得到纯反射光图像。这个差分操作在ISP里硬件完成不占用CPU资源。另一个干扰源是手部温度。人体会发出远红外辐射虽然波长和红外LED不同但某些宽谱光电二极管会有响应。解决办法是在光电二极管前面加窄带滤光片只让红外LED的波长通过。我在户外测试时还发现一个问题戴手套时手势识别率会下降。因为手套材料对红外光的反射率跟皮肤不同而且手套会遮挡手部关键点。这个问题的解决方案是让模型在训练时加入戴手套的样本或者用IMU辅助判断手部运动。注意红外LED的调制频率要避开环境光的闪烁频率。我试过用38kHz的调制频率结果和某些LED照明的闪烁频率冲突导致识别率骤降。后来改用32kHz就稳定了。5. 实操调试与性能优化我在AR1上踩过的坑5.1 开发环境搭建与工具链配置AR1的开发环境跟高通其他芯片平台类似用的是基于Yocto的Linux SDK加上Hexagon DSP的工具链和NPU的模型转换工具。我搭建环境时遇到的最大问题是工具链版本兼容性——SDK里的DSP工具链版本和NPU模型转换工具要求的版本不一致导致模型转换一直报错。解决办法是手动指定工具链路径不要用SDK默认的环境变量。具体操作是在模型转换脚本里显式设置HEXAGON_SDK_ROOT和QNN_SDK_ROOT两个环境变量指向正确的版本目录。另一个坑是NPU模型的量化。AR1的NPU支持INT8和INT16量化但INT8量化对眼动追踪这种精度要求高的任务来说损失太大。我试过用INT8量化瞳孔检测模型结果瞳孔中心定位误差从1.5像素涨到了4像素视线方向误差从2度涨到了6度。后来改用INT16量化精度基本无损推理时间只增加了30%。5.2 眼动追踪的校准流程与精度调优眼动追踪的校准是个精细活。标准的校准流程是让用户盯着屏幕上几个已知位置的点采集瞳孔和角膜反射数据拟合出映射关系。但在眼镜上做校准有个特殊问题眼镜会滑动校准参数会漂移。我的做法是加入在线校准机制。每次用户主动注视某个UI元素时系统记录当前的瞳孔和角膜反射数据与UI元素的实际位置做对比用增量学习的方式微调映射参数。这样即使眼镜滑动校准参数也能自动适应。精度调优方面我发现影响最大的是红外LED的安装位置。LED离眼球越近角膜反射点越清晰但LED的发热也越明显。经过多次尝试我把LED安装在距离眼球中心约15mm的位置角度偏离光轴约20度这个配置下角膜反射点的信噪比最高。5.3 手势识别的延迟优化与误触处理手势识别的延迟主要来自三个环节摄像头曝光、模型推理、后处理。曝光时间我设的是2ms再短图像信噪比不够。模型推理前面算过是15ms。后处理主要是轨迹平滑和手势确认我设的是3帧确认大约50ms。总延迟约67ms对于快速手势来说有点高。我的优化方案是对于简单手势比如单击用传感器中枢直接判断延迟可以降到10ms以内对于复杂手势才走完整流水线。误触处理是另一个重点。眼镜上的手势识别最怕的是把“调整眼镜”误判为“手势操作”。我的解决方案是结合IMU数据如果IMU检测到头部有较大幅度的运动同时红外传感器检测到手部接近就判定为调整眼镜不触发手势操作。这个逻辑听起来简单但阈值调起来很麻烦。头部运动阈值设太小正常转头时也会误判设太大调整眼镜时又识别不出来。我最后用的是自适应阈值根据用户的历史行为动态调整如果用户经常在头部运动时做手势阈值就自动放宽。5.4 常见问题速查表问题现象可能原因排查方法解决方案眼动追踪精度突然下降眼镜滑动导致校准漂移检查校准参数是否偏移启用在线校准手势识别在户外失效环境红外光干扰查看背景帧差分是否正常调整红外LED调制频率NPU推理时间波动大温度过高导致降频监控芯片温度优化散热或降低推理频率红外LED寿命短驱动电流过大测量LED正向电流降低驱动电流至20mA传感器融合时间戳错位时钟源不同步检查各传感器时间戳统一时钟域6. 从AR1看AI眼镜主控的未来演进方向拆完AR1之后我对AI眼镜主控的发展趋势有几个判断。第一个判断是异构计算会越来越细分化。AR1已经把任务分成了四类下一代芯片可能会分成六类甚至八类每类任务都有专门的硬件加速器。这样做的好处是功耗可以进一步降低但代价是芯片面积和设计复杂度上升。第二个判断是NPU的算力会持续提升但更重要的是NPU的灵活性。现在的NPU主要跑卷积神经网络但未来的眼动追踪和手势识别可能会用到Transformer架构。AR1的NPU对Transformer的支持还不够好跑ViT模型时效率明显低于CNN。下一代芯片应该会加强对Transformer的原生支持。第三个判断是传感器融合会从芯片级走向系统级。现在AR1的传感器融合是在芯片内部完成的但未来可能会有专门的传感器融合协处理器独立于主控芯片工作。这样主控可以更频繁地进入深度休眠进一步降低功耗。我在实际项目中的体会是AR1是一颗完成度很高的芯片但它不是终点。如果你现在要做AI眼镜产品AR1是稳妥的选择但如果你要做差异化竞争可能需要等下一代芯片或者在AR1的基础上加一些自己的优化。比如我就见过有团队在AR1外面挂了一颗低功耗FPGA专门处理自定义的手势识别算法效果也不错。最后分享一个小技巧AR1的传感器中枢其实是可以编程的高通提供了API让你把自定义的简单算法跑在传感器中枢上。很多人不知道这个功能把所有任务都丢给DSP和NPU结果功耗降不下来。如果你有简单的检测逻辑比如“手部接近且头部静止”这种判断完全可以写在传感器中枢上功耗只有DSP的十分之一。这个技巧帮我把待机功耗又降了30%值得一试。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑