VR系统一般是通过追踪控制器的LED阵列来实现对控制器的追踪。对于内向外追踪,其由头显执行对控制器LED阵列的追踪;对于外向内追踪,其由外部传感器执行对控制器LED阵列的追踪。在名为“Event driven sensor (eds) tracking of light emitting diode (led) array”的专利申请中,索尼希望通过事件驱动传感器(Event Driven Sensor /EDS)来执行相关的追踪任务,涵盖头显追踪和/或外部传感器追踪。
具体来说,EDS利用一个或多个像素感测到的光强度变化作为指示。例如,如果像素感测到的光正在减少,则EDS的输出可能为-1;如果增加,EDS的输出可能为+1。
LED以阵列形式排列,一次短暂激活一个LED,例如数微秒。EDS事件阈值足够高,仅检测LED引起的“+”或“-”事件。由于一次只激活和停用一个LED,而且EDS提供了准确的事件时间戳,所以确定哪个事件对应哪个LED相对简单。
EDS仅检测强度变化,可以使用非常短的脉冲以非常高的频率一次追踪大量LED,例如,每秒对每个LED的检测超过1000次。
再一个实施例中,系统包括至少一个LED组件。系统同时包括至少一个EDS,其配置为输出表示响应于LED发射的照明强度变化的信号。系统同时包括至少一个处理器,其配置有至少部分基于来自EDS的信号生成SLAM信息的指令。
在示例实施例中,处理器可以配置指令来确定初始三角测量和姿势估计,并至少部分地通过从EDS接收至少第一和第二帧。然后,从第一和第二帧确定基本矩阵,从基本矩阵计算关键矩阵,并将关键矩阵分解为四个运动假设,基于没有异常值的第一运动假设选择四个运动假设中的第一个,以及使用第一运动假设通过使用第一运动假设作为参考来三角化新的LED位置来执行SLAM。
参考图1,示例性系统10可以包括音频视频设备(AVD)12,例如平板电脑或PC等。
在一个实施例中,AVD 12可以包括一个或多个摄像头32,例如热成像摄像头、数字摄像头(例如网络摄像头)。AVD 12可以包括蓝牙收发器34和其他近场通信(NFC)元件36,分别用于与使用蓝牙和/或NFC技术的其他设备通信。示例NFC元件可以是射频识别(RFID)元件。
另外,AVD 12可以包括向处理器24提供输入的一个或多个辅助传感器37,例如加速计、陀螺仪、周旋仪或磁传感器。
除了AVD 12之外,系统10同时可以包括一个或多个其他CE设备类型。如图所示,CE设备46可以配置为玩家47佩戴的头戴式显示器。
图2示出了单目SLAM布置200。具有传感像素204矩阵的EDS 202安装在平台206上,例如图1所示的头显46,其配置成检测由阵列208中的事件光源。光源可以是LED,并且阵列208可以安装在真实世界对象210之上或以其他方式与真实世界对象210接合。
通过这种布置,EDS的输出信号用于同时定位所有LED并追踪空间中的EDS姿势。
图4示出了一个EDS组件400,其中包含一个耦合到诸如头显6等平台的EDS。LED 404的阵列402固定地与不移动的对象接合,例如控制器。相比之下,在图5中,EDS 500安装在诸如墙壁或其他表面。
在一个实施例中,EDS连续监测每个单独的像素光强度。如果强度随时间的变化率高于阈值,EDS将生成与所述特定像素X,Y坐标相关的事件。可以在某个时间窗口内收集事件,并在此基础上生成人工“帧”。
在图7中,一次只打开或关闭一个LED 702。每个LED发射的时间和时间为已知。当LED激活时,EDS 703从每个脉冲700的前缘704检测到正事件,而当LED失活时,EDS从每个脉冲700的后缘706检测到负事件。如图所示,脉冲700的前沿在时间上晚于前一个脉冲的后缘。EDS阈值设置得足够高,以便仅检测这些LED瞬时强度变化。由于脉冲700的时间间隔,解析哪个事件对应于哪个LED变得相对简单。由于EDS速度非常高,可以快速追踪大量LED。
对于EDS检测到的每个事件,将获得事件检测时间以及与事件对应的EDS像素阵列中的x和y坐标。由于每个LED的开启/关闭时间已知,所以可以确定导致每个特定事件的LED。
图8说明了示例逻辑。从框800开始,EDS的事件检测阈值建立为足够高,以忽略相对较小的事件(即相对较小的光强度变化),同时足以检测由LED的激活和失活引起的相对较大的光强度变化。
对于任何特定的LED,移动到方框802。至少检测到一个且通常为两个事件(正和负),并且EDS相应地生成事件检测信号。对于每个事件,在框804处记录事件检测的时间和由EDS像素阵列感测的事件的x-y位置。
状态806和808仅表示重复所述过程,直到检测到整个事件“帧”,例如,直到检测到来自所有已知LED的一轮事件。如果没有,则在判定菱形806处检测到所有LED,方框808指示通过设置N=N+1,然后循环回方框802来监控下一个LED。
一旦检测到并记录了足够的事件,逻辑可移动到框810以输出事件的人工“帧”。事件可发送到框812处的处理器,以基于事件确定诸如头显46等对象和其他真实世界对象的姿势/追踪。换句话说,事件在所有LED闪烁一次的时间间隔内累积。EDS检测到的事件用于追踪。
图9和10用于单目SLAM初始三角测量和姿势估计。在框900处,使用来自及时关闭的不同LED的几个事件来生成几个连续的视频。移动到图9中的方框902,基于“帧”之间的LED对应关系计算基本矩阵1000(图10)。在这种情况下,不需要排除异常值,因为已知哪个LED是哪个LED。
继续到图9中的方框904,基本矩阵1000被转换为关键矩阵。关键矩阵分解为四个运动假设。这可以使用基本矩阵1002来实现。
使用四个假设中的每个组合1008对LED位置进行三角测量,并投影回图像平面。在四个假设1008中,只有一个没有异常值。在图9的框906处选择该帧,并在框908处将其用作两帧之间的初始相对姿势指示的真帧。在初始化之后,SLAM可以通过三角化新的LED位置以常规方式工作。
图11示出了结合使用IMU来改进追踪。IMU读数在帧之间集成,并用于优化真实世界物理对象的总体比例和当前速度。IMU用于确定相对于垂直方向的真实方向。加速度和角速度在连续帧之间进行积分。角速度积分表示方向变化的估计。
相关专利:Sony Patent | Event driven sensor (eds) tracking of light emitting diode (led) array
名为“Event driven sensor (eds) tracking of light emitting diode (led) array”的索尼专利申请最初在2021年11月提交,并在日前由美国专利商标局公布。