CN118251707A - 用于客户端设备的人类存在传感器 - Google Patents
用于客户端设备的人类存在传感器 Download PDFInfo
- Publication number
- CN118251707A CN118251707A CN202280075951.8A CN202280075951A CN118251707A CN 118251707 A CN118251707 A CN 118251707A CN 202280075951 A CN202280075951 A CN 202280075951A CN 118251707 A CN118251707 A CN 118251707A
- Authority
- CN
- China
- Prior art keywords
- computing device
- image
- module
- human presence
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 60
- 238000010801 machine learning Methods 0.000 claims abstract description 40
- 230000009471 action Effects 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 98
- 238000000034 method Methods 0.000 claims description 93
- 238000001514 detection method Methods 0.000 claims description 45
- 230000008569 process Effects 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 26
- 230000033001 locomotion Effects 0.000 claims description 18
- 230000001815 facial effect Effects 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 abstract description 11
- 238000004891 communication Methods 0.000 description 13
- 210000000887 face Anatomy 0.000 description 10
- 238000003384 imaging method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 241000282326 Felis catus Species 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 210000003128 head Anatomy 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 208000008035 Back Pain Diseases 0.000 description 1
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 241001456553 Chanodichthys dabryi Species 0.000 description 1
- 206010015958 Eye pain Diseases 0.000 description 1
- 208000010415 Low Vision Diseases 0.000 description 1
- 208000016285 Movement disease Diseases 0.000 description 1
- 206010028836 Neck pain Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 208000003464 asthenopia Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000981 bystander Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004303 low vision Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Abstract
该技术提供了具有人类存在传感器模块(228)的计算设备(200)。人类存在传感器模块的图像传感器(230)捕获影像,并且影像不从人类存在传感器模块传播出来到计算设备的另一部分(1502)。一个或多个机器学习模型从人类存在传感器模块内的存储器(234)被检索,每个机器学习模型被训练以识别一个或多个人在影像中是否存在(1502)。从图像传感器接收的影像使用一个或多个机器学习模型被处理,以确定一个或多个人在影像中是否存在(1506)。在检测到一个或多个人在影像中存在时,人类存在传感器模块向计算设备的操作系统发出信号,使得计算设备可以通过执行一个或多个动作来响应于该存在(1508)。
Description
相关申请的交叉引用
本申请要求于2022年11月11日提交的美国专利申请No.17/985,275和于2021年12月17日提交的美国临时专利申请No.63/290,768的优先权和申请日的权益,其全部公开内容通过引用明确地并入本文。
背景技术
人们在包括在家庭、学校、他们的办公室、咖啡店、机场等的各种设置中使用客户端计算设备,诸如膝上型电脑、平板电脑和上网本。在某些位置,用户可能希望隐私不被窥探,因此当其他人在场时,让屏幕自动变暗或隐藏某些私人信息可能有用。这需要知道人是否在他们的设备前,该人是否已经离开他们的设备,以及附近的另一人是否正在看用户的屏幕。在某些系统中,这可以涉及连续地使用客户端设备的相机并通过计算机的处理系统处理影像。然而,这可能消耗大量操作系统、存储器和其他处理资源,这是不期望的,尤其是当设备未耦合到外部电源时。此外,还可能不期望使设备的相机连续地捕获影像,因为这可能引起隐私问题。
发明内容
本技术涉及用于客户端设备的人类存在传感器,该人类存在传感器可以消除允许用户快速登录到其设备上或高效且有效地执行其他动作同时最小化设备资源使用的障碍。根据本技术的一个方面,专用的低功率低分辨率相机(例如,单色传感器)向使用一个或多个目标机器学习(ML)模型来处理影像的自包含处理模块提供影像。这些模型可以识别人是否在客户端设备的特定距离内,或者是否存在多个人。影像从不离开自包含处理模块,并且一旦使用模型处理,影像可以不被存储。
取决于模型的输出,可以将一个或多个信号发送到客户端设备的操作系统或其他组件,使得可以执行各种功能。因此,本文讨论的人类存在传感器在各种不同的情况下具有广泛的适用性以增强用户体验。例如,在一些情况下,它可以用于加速登录进程,以避免当人正在阅读长文档时使屏幕变暗,当附近的其他人也正在看屏幕时隐藏某些信息,或者当用户离开时锁定设备。知道图像未被存储并且不可由主处理器访问可以为用户提供安全性和内心的平静。另外,知道如何使用(或不使用)存在信息也可以提供透明度和安全感觉。
根据一个方面,一种计算设备包括:处理模块,其包括一个或多个处理器;存储器,其被配置为存储与计算设备的操作系统相关联的数据和指令;可选的用户接口模块,其被配置为从计算设备的用户接收输入;可选的显示模块,具有显示接口,显示模块被配置为向用户呈现信息;以及人类存在传感器模块。人类存在传感器模块包括:图像传感器,其被配置为捕获图像传感器的视场内的影像;本地(专用)存储器,其被配置为存储一个或多个机器学习模型,一个或多个机器学习模型中的每一个被训练以识别一个或多个人在影像中是否存在;以及本地处理,诸如包括至少一个处理设备的专用处理模块,该至少一个处理设备被配置为使用一个或多个机器学习模型来处理从图像传感器接收的影像,以确定一个或多个人在影像中是否存在。由人类存在传感器模块的图像传感器捕获的影像不传播出人类存在传感器模块外部。因此,这种捕获的影像限于人类存在传感器模块。响应于检测到一个或多个人在影像中存在,人类存在传感器模块被配置为向计算设备的处理模块发出信号,使得处理模块通过执行与计算设备的操作系统相关联的一个或多个指令来响应信号。
在一个示例中,人类存在传感器模块还包括被操作地耦合到图像传感器、专用存储器和专用处理模块的模块控制器。这里,模块控制器被配置为从专用处理模块接收关于在影像中存在一个或多个人的通知,并且向计算设备的处理模块发出信号。图像传感器还可以被配置为:在顺序图像之间检测运动;以及向模块控制器发出接近唤醒信号,以便使模块控制器能够使人类存在传感器模块的一个或多个部件从低功率模式唤醒。替代地或附加地,图像传感器还被配置为检测顺序图像之间的运动,并且专用处理模块被配置为响应于检测到运动而开始处理影像。
一个或多个机器学习模型可以包括被训练为检测影像中单个人的存在的第一机器学习模型,以及被训练为检测影像中至少两个人的存在的第二机器学习模型。机器学习模型还可以包括用于检测人脸的至少一部分的模型、用于检测人类躯干的模型、用于检测人类手臂的模型或用于检测人手的模型。
在一个示例中,到计算设备的处理模块的信号是中断,并且中断使计算设备的进程将计算设备从挂起模式或待机模式唤醒。在另一示例中,到计算设备的处理模块的信号是中断,并且中断使计算设备的进程使用除了由人类存在传感器模块的图像传感器获得的影像之外的影像来发起面部认证。在又一示例中,计算设备进一步包括具有显示接口的显示模块,该显示模块通信地耦合到处理模块并且被配置成向用户呈现信息。这里,到计算设备的处理模块的信号是中断,并且中断使计算设备的进程在显示模块上显示信息。
根据另一方面,提供了一种用于具有人类存在传感器模块的计算设备的计算机实现的方法。该方法包括:由人类存在传感器模块的图像传感器捕获图像传感器的视场内的影像,其中由人类存在传感器模块的图像传感器捕获的影像限于人类存在传感器模块(并且因此不传播到计算设备的另一部分);由人类存在传感器模块的至少一个处理设备从人类存在传感器模块的存储器检索一个或多个机器学习模型,该一个或多个机器学习模型中的每一个被训练以识别一个或多个人在影像中是否存在;由人类存在传感器模块的至少一个处理设备使用一个或多个机器学习模型处理从图像传感器接收的影像以确定一个或多个人在影像中是否存在;以及在检测到一个或多个人在影像中存在时,人类存在传感器模块向计算设备的处理模块发出信号,使计算设备可以通过执行一个或多个动作来响应该存在。
该方法还可以包括响应于检测到存在一个或多个人,使计算设备在图像传感器的视场内的人到达时唤醒。替代地或附加,该方法还可包括响应于检测到人离开图像传感器的视场,使计算设备锁定,使得需要认证来访问计算设备的一个或多个程序。替代地或附加地,该方法还可以包括以下中的至少一个:响应于检测到人离开图像传感器的视场,使计算设备的麦克风静音或关闭计算设备的相机,其中相机不是人类存在传感器模块的图像传感器。
该方法还可以包括响应于影像中至少两个人的存在的检测,执行以下中的至少一个:向计算设备的用户发出通知或阻止一个或多个通知被呈现给用户呈现。替代地或附加地,响应于影像中至少两个人的存在的检测,该方法还可以包括在计算设备的显示器上启用隐私过滤器。
所述方法可进一步包括响应于在影像中一个人的存在的检测,基于由人类存在传感器模块的图像传感器捕获的附加影像执行手势检测。替代地或附加地,响应于在影像中一个人的存在的检测,该方法还可以包括基于由人类存在传感器模块的图像传感器捕获的附加影像来执行注视跟踪。替代地或附加,响应于在影像中一个人的存在的检测,该方法还可包括基于由人类存在传感器模块的图像传感器捕获的附加影像来执行动态波束成形以消除背景噪声。
对于上面的任何示例,该方法还可以包括由图像传感器在所捕获的影像的顺序图像之间检测运动,并且响应于检测到该运动而使人类存在传感器模块的一个或多个组件从低功率模式唤醒。替代地或附加地,当到计算设备的处理模块的信号是中断时,中断可以使计算设备的进程使用除了由人类存在传感器模块的图像传感器获得的影像之外的影像来发起面部认证。
附图说明
图1A至图1D示出了根据本技术的各方面的涉及人类存在感测的示例。
图2示出了根据本技术的各方面的示例客户端设备的框图。
图3示出了根据本技术的各方面的示例客户端设备的功能图。
图4示出了根据本技术的各方面的由人类存在传感器模块进行的示例场景图像评估。
图5A至图5B示出了根据本技术的各方面的示例场景。
图6A至图6B示出了根据本技术的各方面的示例场景,并且图6C示出了根据该场景的工作流。
图7A至图7B示出了根据本技术的各方面的示例场景。
图8A至图8B示出了根据本技术的各方面的示例场景。
图9A至图9B示出了根据本技术的各方面的示例场景。
图10A至图10B示出了根据本技术的各方面的示例场景。
图11A至图11B示出了根据本技术的各方面的示例场景。
图12示出了根据本技术的各方面的示例场景。
图13示出了根据本技术的各方面的示例用户通知。
图14A至图14B示出了与本技术的各方面一起使用的系统。
图15示出了根据本技术的各方面的方法。
具体实施方式
概述
根据该技术,自包含式人类存在处理模块能够高效地检测人是在给定客户端设备处还是附近。这是使用与客户端设备的处理系统的其余部分分离的最小资源量来完成的。这允许由专用传感器捕获的影像由一个或多个ML模型评估,使得人类存在传感器可以向操作系统或客户端设备的其他部分发信号通知是否要执行一个或多个动作。由专用传感器捕获的影像不需要由处理模块本地保存,并且这样的影像不从处理模块传输到客户端设备的另一部分。这促进了安全性和隐私,同时使客户端设备能够使用最少量的系统资源来提供丰富的UX特征套件。
图1A图示了示出诸如膝上型计算机的客户端设备102的示例100。在该示例中,显示器104正在显示屏幕保护程序106,因为客户端设备未被主动使用。如图所示,客户端设备包括键盘108、一个或多个触控板或鼠标板110以及麦克风112作为不同的用户输入。集成网络摄像机114可以用于视频会议、交互式游戏等。每当使用集成网络摄像头时,诸如LED的指示器116可以被照亮以警告用户。客户端设备还包括作为人类存在传感器的一部分的相机或其他成像设备118。如图所示,成像设备118可以沿着客户端设备的顶部边框定位。在一些示例中,成像设备可以位于沿着客户端设备的不同位置。例如,如果是旨在在使用期间以不同取向旋转的平板电脑或其他设备,则成像设备可沿着外壳的一侧定位。这里,可以不存在与成像设备118相关联的指示符。
在该示例中,假设人120进入房间。当人进入成像设备118的检测范围内,例如,在设备的视场内并且在客户端设备的2-5米内,或者当人进入视野时,人类存在传感器根据由人类存在传感器的处理模块实现的一个或多个ML模型来评估由成像设备获得的一个或多个图像。然后,如图1B所示,在确定存在人时,人类存在传感器向客户端设备的操作系统发送信号,使从屏幕保护程序改变到登录屏幕122。
图1C图示了人152登录并使用客户端设备的另一示例150。这里,人152可以使用视频会议程序154来与一个或多个其他人交互,例如讨论如显示器上所示的电子表格上的增长投影。这里,集成网络摄像机用于捕获视频或静态影像以在节目中显示,如156处所示。然而,屏幕上显示的内容可能是敏感的或个人的(例如,某人的投资组合的增长投影)。因此,如图1D所示,当人类存在传感器将另一人158识别为在附近(并且可能看向屏幕)时,人类存在传感器向操作系统、视频会议程序或客户端设备的另一部分发送通知。作为示例,响应于通知,操作系统或程序可以使显示屏变暗,如160处所示。在一些情况下,所显示的特定信息(诸如电子表格、通知、图标或其他对象)可以在关于其他附近人的通知时被隐藏。替代地和/或附加地,系统可以向用户给出某人正在观看的指示(例如,在UI窗口中示出警报)。以这种方式,人类存在传感器可以帮助向用户提供关于正在显示的内容的安全感觉。
系统架构
图2图示了示例客户端设备200(诸如膝上型计算机、平板PC、上网本、家用设备(诸如智能显示器)等)的框图。如图所示,客户端设备包括具有一个或多个计算机处理器(诸如中央处理单元204和/或图形处理器206)的处理模块202,以及被配置为存储指令210和数据212的存储器模块208。处理器可以并行操作或可以不并行操作,并且可以包括ASIC、控制器和其他类型的硬件电路系统。处理器被配置为通过用户接口模块214从用户接收信息,并且在具有显示接口的显示模块216的一个或多个显示设备上向用户呈现信息。
用户接口模块214可以经由用户输入从用户接收命令并且转换它们以提交到给定处理器。用户界面模块可以链接到web浏览器(未示出)。用户输入可以包括触摸屏、小键盘、鼠标和/或触摸板、触笔、麦克风或其他类型的输入设备中的一个或多个。显示模块216可以包括用于驱动显示设备以向用户呈现图形和其他信息的适当电路系统。作为示例,图形信息可以由图形处理器206生成,而CPU 204管理客户端设备200的整体操作。图形信息可以在显示模块216上显示对用户查询的响应。例如,处理模块可以使用存储在存储器模块208中的指令和数据来运行浏览器应用或其他服务,并且经由显示模块216向用户呈现与浏览器应用或其他服务相关联的信息。存储器模块可以包括用于浏览器信息、位置信息等的数据库或其他存储。
存储器模块208可以被实施为一个或多个计算机可读介质、一个或多个易失性存储器单元或一个或多个非易失性存储器单元中的一或多个。存储器模块208可以包括例如闪存和/或NVRAM,并且可以体现为硬盘驱动器或存储卡。或者,存储器模块208还可以包括可移动介质(例如,DVD、CD-ROM或USB拇指驱动器)。存储器模块208的一个或多个区可以为可写入的,而其它区可以包括只读(或以其它方式受写入保护)存储器。在一个实施方式中,计算机程序产品有形地体现在信息载体中。尽管图2在功能上将客户端设备200的处理器、存储器模块和其他元件图示为在同一整体块内,但是这样的组件可以或可以不存储在同一物理外壳内。例如,指令和数据中的一些或全部可以存储在信息载体上,该信息载体是可移动存储介质(例如,光驱、高密度磁带驱动器或USB驱动器),而其他指令和数据可以存储在只读计算机芯片内。
处理器可以根据指令210检索、存储或修改数据212。例如,数据可以作为具有多个不同字段和记录、XML文档或平面文件的表存储在计算设备寄存器中、关系数据库中。数据也可以以任何计算设备可读格式格式化。
指令210可以是要由处理器直接(诸如机器代码)或间接(诸如脚本)执行的任何指令集。例如,指令可以作为计算设备代码存储在计算设备可读介质上。在这方面,术语“指令”和“程序”在本文中可以互换使用。指令可以以目标代码格式存储以供处理器直接处理,或者以包括根据需要解释或预先编译的独立源代码模块的脚本或集合的任何其他计算设备语言存储。
还如图2所示,客户端设备200包括用于与其他设备和系统(包括其他客户端设备、服务器和数据库)通信的通信模块218。通信模块218包括无线收发器;替代地,模块可以替代地或附加地包括有线收发器。客户端设备200可以使用各种配置和协议经由通信模块218与其他远程设备通信,各种配置和协议包括短距离通信协议,诸如近场通信(NFC)、蓝牙、蓝牙低功耗(BLE)或其他自组织网络、互联网、内联网、虚拟专用网络、广域网、本地网络、使用一个或多个公司专有的通信协议的专用网络、以太网、WiFi和HTTP以及前述的组合。
另外,如图所示的示例客户端设备200包括一个或多个位置和取向传感器220。位置和取向传感器220被配置为确定客户端计算设备200的一个或多个部分的位置和取向。例如,这些部件可以包括用于确定设备的纬度、经度和/或高度的GPS接收器以及加速度计、陀螺仪或诸如惯性测量单元(IMU)的另一方向/速度检测设备。客户端设备200还可以包括用于捕获静止图像和记录视频流的一个或多个相机222,诸如如上所述的集成网络摄像头、扬声器224和电源模块226。向用户提供触觉反馈或其他信息的致动器以及诸如防止篡改的具有BIOS或其他固件更新(未示出)的安全芯片也可以被并入到客户端设备200中。
除了这些组件之外,客户端设备还包括人类存在传感器模块228。如图所示,该模块包括图像传感器230、诸如专用处理模块232的本地处理、专用(本地)存储器234和模块控制器236。在一个示例中,图像传感器是专用低功率低分辨率相机,其可以提供具有320x240、300x300或类似尺寸(例如,+/-20%)的尺寸(以像素为单位)的灰度或彩色(例如,RGB)影像。在操作期间,可以每2-10秒(或更多或更少)拍摄一次影像。本地处理的专用处理模块可以包括能够使用一个或多个ML模型实时处理从图像传感器接收的影像的FPGA或其他处理设备。模型本身存储在专用本地存储器中。此存储器可以为闪存(例如,被配置以用于FPGA的效率的SPI闪存)。在一个示例中,闪存可以具有用于模型的若干兆字节的存储及用于使用模型执行影像处理的不超过1MB的机载RAM。因此,影像可以在处理期间限于专用存储器,而不传播到客户端设备的其他部分。
人类存在传感器模块228被配置为使用尽可能小的功率(例如,大约100mW或更小)来操作。可以以几种方式最小化功率使用,包括每当可能时将本地存储器置于低功率模式。能够使用本文讨论的方法更快速且更准确地使屏幕变暗可以节省额外的功率。在一个场景中,模块228可以在“接近唤醒”模式中使用5-10mW(诸如在图1A-B的示例中)。这可以通过关闭本地处理而不需要其使用来实现。这里,通过示例,模块228可以依赖于结合到图像传感器中的移动检测来唤醒本地处理,或者通过大约每1-15秒开始一次本地处理来检查是否需要本地处理。
在这些实施例中,由图像传感器获得的影像在处理之后不存储在本地存储器中。不管是否由人类存在传感器模块维护任何影像,它都不被传输到客户端设备的另一部分,并且将不被用作网络摄像头的影像。模块控制器可以是例如微控制器或其他处理单元,其被配置为管理人类存在传感器的操作并且与处理模块202或人类存在传感器外部的客户端设备的其他部分接涉。
图3图示了具有人类存在传感器模块228的客户端设备200的逻辑架构的示例300。
如图所示,模块控制器236可操作地连接到图像传感器230,由专用处理模块232和专用(本地)存储器234进行本地处理。模块控制器能够打开和关闭专用处理模块(本地处理)和本地存储器,并且可以根据需要更新本地存储器,诸如添加新的ML模型或更新现有模型。在这些实施例中,模块控制器经由I2C接口301耦合到图像传感器,而其经由SPI接口耦合到本地处理(和/或本地存储器)。在这些实施例中,当客户端设备处于安全模式时,模块控制器可以负责确保仅可信代码在人类存在传感器模块上运行,例如通过写入存储器的内容并验证它。模块控制器还可以负责管理功率状态并且从客户端设备操作系统且向客户端设备操作系统传送配置和状态。模块控制器可以采用守护进程,该守护进程负责在每次其通电时将人类存在传感器模块引导到已知良好状态。一旦被引导,守护进程可以配置本地处理的功能(例如,人检测、第二人检测等)。
图像传感器被配置为向本地处理输出影像,并且可以向模块控制器发送运动检测信息而不是影像。例如,该模块可以默认为非常低的功率状态,在该状态下它仅寻找运动。当图像传感器检测到运动时,其他部件可以通电以确定是否有人在视野中。如果是,则本地处理将开始进行人类存在检测以查看设备是否应当被完全唤醒。如果不是,则系统可以返回到低功率运动感测。当对接收到的影像运行一个或多个ML模型时,本地处理可以将数据临时存储在本地存储器中。模型可以被配置为例如紧凑模型,该紧凑模型被配置为与具有有限存储器的微控制器一起使用(例如,大约数百千字节的存储器或更少来运行模型)。一旦被处理,本地处理被配置为向模块控制器发送命令和/或数据。作为示例,发送到微控制器的命令可以包括:(1)检测到人;(2)没有检测到人;或(3)检测到第二(或附加)人等。这些命令可以以最少的附加处理转发到计算设备的操作系统。
如图所示,模块控制器可操作地耦合到客户端设备的操作系统302。例如,这可以使用I2C或SPI总线接口来完成,I2C或SPI总线接口可以穿过客户端设备的铰链(诸如在膝上型计算机上)。经由该接口,模块控制器可以经由总线307发出中断304或发送命令、结果或其他信号306,其可以由操作系统、特定app或程序(例如,登录app或视频会议程序)或客户端设备的其他部分使用,以在确定在人类存在传感器的成像设备的视野中存在一个或多个人时采取一些动作。作为示例,中断可以指示存在人或人类存在传感器模块可检测到的环境中的某个其他状况。中断可以用于将计算设备从挂起或待机模式唤醒,例如,以发起面部认证或显示诸如通知或天气的信息。因此,一种一般操作模式是人类存在传感器模块将由本地处理执行的一个或多个模型的推断的结果发送到操作系统,并且允许操作系统的一个或多个进程解释这些结果并相应地响应或以其他方式继续。
如图所示,操作系统可以逻辑地包括内核308、人类存在传感器守护进程310、固件312和一个或多个例程或其他进程314,诸如以控制对显示设备或其他设备的供电。人类存在传感器守护进程310是负责协调人类存在传感器模块228与进程314之间的通信的软件守护进程。内核可以经由诸如d总线的系统总线315与例程或其他进程通信,以用于进程间通信。与操作系统和人类存在传感器模块分开示出的是安全组件316,诸如安全芯片。在一个示例中,安全芯片向操作系统和人类存在传感器模块两者提供固件写入保护,并且为微控制器236和专用处理模块232提供更新和正确的固件。安全组件316可以经由总线307或其他链路与人类存在传感器模块通信。
存在模型
根据本技术的一方面,如上所述,本地处理可以采用存储在本地存储器中的一个或多个ML模型。作为示例,模型可以包括用于检测是否存在任何人的第一模型,以及用于检测附近是否存在任何其他人的第二模型,因为这可以指示针对在客户端设备上运行的特定程序或操作系统采取隐私相关动作的需要。如下面进一步讨论的并且如图1A图1B的示例所示,如果当客户端设备处于睡眠模式或其他低功率状态时经由第一模型检测到一个人,则存在检测可以触发系统以“接近唤醒”模式呈现密码或其他登录屏幕。或者,如果第一模型没有检测到存在任何人,则这可以触发系统使显示屏变暗以节省功率和/或锁定对客户端设备的访问。在第二模型检测到除了用户之外的其他人(例如,背景中的人,诸如“肩部冲浪”)的存在的情况下,这可以触发系统采取动作,诸如使屏幕变暗或模糊、不强调或以其他方式隐藏避免在屏幕上呈现的所选内容(例如,潜在敏感信息、关于电子邮件或其他消息的状态通知等)。在其他情况下,可能存在与用户交互的另一人,诸如在电子表格上协作或参与视频会议上。在这些类型的情况下,使屏幕变暗或类似动作可能不合适,尽管当存在其他(授权)人时,系统可以暂停或限制向用户显示个人通知。
在人类存在传感器模块中实现的模型被配置为检测图像中的人的人脸或其他部分。例如,头部可能主要在屏幕上方,但是人的躯干、手臂或他们身体的其他部分可能是可见的。因此,虽然猫或其他宠物可以接近客户端设备,但是模型被设计为使得系统不对该存在作出反应(例如,宠物锁定模式)。因为一个方面涉及有效地远离客户端设备的其他部分的自包含存在检测系统(而不将所获得的影像发送到那些其他部分),并且另一方面是将功率使用保持尽可能低的目标,所以图像处理受到严格约束界定。这可以包括用于存储的有限存储器(例如,ROM)和模型的使用(例如,缓冲器或RAM),以及对处理吞吐量的限制。模型还可以考虑以下中的一个或多个:用户相对于相机的位置、面部头发和/或不同的发型、面部表情、眼镜或配件是否被佩戴(例如,耳塞或耳机)、照明的变化、背景的变化(例如,办公室或教室设置、室内对室外等)。
鉴于此,以下是可以置于模型上的一些约束。在一个场景中,模型需要检测何时有人使用该设备而另一人潜在地看他们的屏幕。因此,可以考虑两种情况:(i)图像中的零个或一个人,以及(ii)图像中的两个或更多人。如上所述,这些情况可以通过单独的模型来解决,但是替代地,可以采用单个模型。例如,检测或计数图像中的面部数量的模型将是合适的。
在一种情况下,模型必须可靠地检测距离相机达约2-3米的具有约10像素面部宽度的面部。在该场景下,模型也将满足以下要求。首先,能够处理具有诸如320x240或300x300的纵横比的灰度(或彩色)图像。模型大小可以被约束为小于1MB。作为示例,每个模型可以采用卷积神经网络(CNN)、递归神经网络(RNN)、长短期记忆(LSTM)网络或其组合。在一个场景下,模型可以被格式化以便在具有有限存储器的微控制器上紧凑地运行(例如,大约几百千字节)。可能需要模型加上任何后处理以>5Hz运行。
ML模型能够将大量数据(例如,数千个像素的亮度值)减少为少量信息(例如,图片包含猫或人的概率)。广义地讲,这样的模型执行产生包含在数据中的信息的越来越多紧凑表示的操作序列。然而,在CNN或其他模型的前几层期间,它们通常扩展维度的数量,使得数据较不紧凑,并且因此在再次减少它们之前使用更多的RAM。
仅作为示例,操作序列可以将表示为76,800个8位整数值的输入160x160 RGB图像转换为表示为12,800个8位整数的40x40x8张量。在这样做时,该过程将扩展并减少通道数量(“深度”)图像两次,(i)首先通过将图像从3个通道扩展到16个通道,然后将其减少到8个通道,然后(ii)接下来通过将8个通道扩展到48个通道,然后再次将其减少到8个通道。这样的操作可能需要大量的存储器(例如,超过350KB),因为它们各自在80x80x8与80x80x48激活缓冲器之间转换。因此,期望在诸如本文中的人类存在传感器之类的受约束系统中修改处理,使得某些操作使用更少的存储器。这可以通过将那些操作重构为多个子操作来完成,每个子操作在缓冲器的一部分(也称为“图块”)上工作。可以通过输入行将输入数据分割成图块。这样的方法可以将存储器需求降低到低于250KB。
人类存在传感器模块可以被配置为当计算设备处于特定配置或取向时检查存在。例如,这可以在用于膝上型计算机的设备盖在翻盖模式下打开时或者在可转换设备处于“帐篷(tent)”模式时发生。相反,当盖关闭或设备处于平板模式时,系统可能不检查存在。
生成可以以存储器约束方式处理的合适模型可以以不同方式实现。例如,可以训练具有图块化架构的模型,确保适当地共享权重。或者,现有的经训练的模型可以被后处理以相应地图块化它们。另外,在训练期间,系统可以执行丢弃过程,其中随机忽略(例如,CNN的)层中的某个选定百分比(例如,5%-50%)的输出节点,因为这可以帮助防止模型的过度训练并且可以改善对不同类型的人脸的泛化。可以使用不同的数据集来训练模型。仅作为示例,可以如Chowdhery等人在2019年6月12日公布的“Visual Wake Words Dataset(视觉唤醒词数据集)”中所讨论的那样训练模型,其全部内容通过引用并入本文。
在一个场景中,模型训练可以包括一种或多种类型的图像增强以帮助生成鲁棒模型。这可以包括扩缩面部尺寸(例如,以帮助识别儿童和成人或识别某人是近还是远)、平移面部、剪切面部、合成多面部图像和/或模糊所选择的面部细节。在基线影像集中,在训练之前,可以丢弃没有面部的任何图像。然后根据一个示例,进行以下中的一个或两个:(i)选择图像集中的最大面部并对其进行扩缩,使得面部的高度达图像高度的110%,以及(ii)将面部移动到图像中的随机位置。在这种情况下,图像的至少60%-80%应当在屏幕上可见(在边缘处不被剪切)。如果由于平移而需要填充图像,则可以重复最后一行/列,或者反射要填充的图像(小心地不移除/反射其他面部)。训练还可以涉及添加“合成”第二个人。这里,选择包含面部的两个图像。然后将面部中的一个平滑地混合到另一图像中。这也可以结合包括身体的一部分的区域。混合应当看起来尽可能逼真,使得ML模型不能学习具有混合面部的图像总是第二个人。面部也可以被混合到图像中,而在其中没有任何面部,以有助于这一点。
以下是两个模型的示例:检测图像中是否有人的第一模型(例如,“Presence0”模型),以及检测图像中是否有两个或更多人的第二模型(例如,“Second0”模型)。Presence0模型可以被配置为输出[0,1]中的值的二元分类器,其中接近1的值指示图像中的人的高可能性。选择阈值(t1),其中任何值>=t1被分类为在图像中具有人。Second0模型可以被配置为输出[0,1]中的值的二元分类器,其中接近1的值指示图像中两个或更多人的高可能性。与上述类似,选择阈值(t2),其中任何值>=t2被分类为在图像中具有两个或更多的人。在一个示例中,t1=t2。在另一示例中,t1和t2可以不同。来自图像传感器的输入影像可以是320x240灰度图像或类似尺寸(例如,300x 300)的其他灰度图像。如上所述,还可以从图像传感器获得彩色图像。
图4图示了鉴于上文的由人类存在传感器模块进行的图像评估的示例场景400。在框402处,图像传感器捕获图像,该图像可以是灰度图像。图像可以具有例如320x 240或300x 300的大小,或中等或低分辨率的类似大小。接下来,在框404处,可以由图像传感器或由本地处理执行一个或多个预处理操作。例如,图像传感器或本地处理可以对图像曝光、增益(模拟和/或数字增益)或其他图像参数进行调整,裁剪图像,如果图像传感器生成彩色影像(例如,具有拜耳滤波器的图像传感器),则从彩色(例如,RGB)图像转换为灰度图像等。预处理可以附加地或替代地包括检测图像何时不可用(例如,全黑或完全饱和)。
图像预处理可以附加地或替代地包括图像传感器例如基于图像像素与紧接在当前图像之前拍摄的一个或多个图像的图像像素的比较来从图像提取运动信息。这里,提取的运动信息将从图像预处理块404发送到模块控制器,如向下虚线箭头405所示。注意,可以在初始设置(例如,每次打开人类存在传感器模块时或每次初始化图像传感器时)校准图像传感器参数,诸如考虑不同的照明条件,并且还可以在图像捕获之间进行调整。例如,在第一图像捕获期间,房间中可能没有人并且灯关闭。然而,当人进入房间并打开灯时,这可能需要调整曝光或其他参数。图像捕获过程本身可以每X毫秒——诸如每100-500毫秒(或更多或更少)——连续发生,只要人类存在传感器模块正在操作。这里,模块的操作可以涉及客户端设备的用户肯定地授予许可。
在框406处,本地处理将一个或多个ML模型应用于原始或预处理图像。模型被维护在本地存储器中,并且在处理期间,数据被临时存储在本地存储器的例如RAM中,从而确保图像的所有处理与客户端设备的其他组件分离。除了检测图像中一个或多个人的存在(或不存在)之外,还可以存在被配置为检测人的人脸或其他部分(诸如躯干、手臂、手、腿等)的一个或多个模型。另一模型可以被训练来检测戴面罩的人,或者脸部被部分遮挡的人(例如当人没有直接面对图像传感器时)。在一个场景中,面部的至少30%可能需要在图像的边缘处可见以检测人的存在。如框408所示,来自所应用的模型的输出可以是存在一个或多个人的指示。并且如箭头410所示,本地处理和/或模块控制器可以发出中断、命令、结果或其他信号,使得操作系统或客户端设备的其他部分可以响应于存在检测而执行一个或多个动作。
示例场景和应用
由防火墙模块生成的人类存在检测信息可以用于各种应用和场景中,如下面详细讨论的。
图1A至图1B中所示的一个场景涉及“到达时唤醒”,其中客户端设备唤醒并在检测到用户存在时显示密码或其他锁定屏幕。这里,当客户端设备睡着时,人类存在传感器模块(例如,图2中的228)将不断地运行。在一个示例中,如图5A所示,用户在他们的客户端设备(例如,膝上型计算机)处坐下以开始一天的工作。如图5B所示,人类存在传感器模块检测到用户的到达并且自动唤醒客户端设备并且使得锁定屏幕被显示以供用户登录而不需要人触摸客户端设备。
另一场景涉及“离开锁定”,其涉及当不再检测到人类存在时锁定客户端设备。例如,如图6A所示,用户可以离开他们的客户端设备以进行呼叫。响应于没有检测到它们的存在,系统使客户端设备锁定以获得安全性,并且可以变暗或关闭屏幕以节省功率,如图6B所示(或显示屏幕保护程序)。例如基于系统功率节省设置和/或用户偏好,系统等待多长时间来锁定计算机并变暗/关闭显示器可以变化。作为示例,屏幕可以在未检测到存在或某一限定时间(例如,1到30秒或更长)之后立即变暗。这里,计算机然后可以在变暗或某个其他时间量之后(例如,在1-5分钟或更多或更少之后)锁定。在锁定时,屏幕可以关闭(或显示屏幕保护程序)。
在一些实例中,有存在检测可能错误地识别人的存在或人不存在的概率。如果发生后一种情况,则系统可能错误地变暗或关闭屏幕,或者无意地锁定设备。在前一种情况下,系统可能无意中解锁设备。图6C图示了作为离开锁定评估的一部分的用于快速变暗过程(例如,由于不存在用户)的示例工作流600。在框602处,屏幕的当前状态可以存储在状态控制器中,该状态控制器可以是图2的人类存在传感器228的模块控制器236的一部分。根据专用处理模块232生成的结果,HPS服务信号可以更新当前状态。
基于在框604处评估屏幕当前是否变暗,变暗过程606或取消变暗过程608将开始。假设在框604处评估的当前状态是屏幕未变暗,则过程进行到框606。这里,在框610处进行关于自上次用户动作以来的持续时间是否大于第一阈值的评估。该阈值可以对应于屏幕变暗即将发生的时间。如果持续时间未超过第一阈值,则过程进行到框612。这里,如果自上次用户动作以来的持续时间超过第二阈值,则过程进行到框614,其中变暗开始。类似地,在框610处,当持续时间超过第一阈值时,过程也前进到框614,使得变暗可以开始。这种变暗可能是由于不活动,并且可能涉及屏幕在几秒或更长时间内逐渐变暗,或者立即变暗或完全关闭。如果持续时间未超过第二阈值,则过程将在框616处超时。然后,系统可以随后在框602处开始重新评估当前状态。
在当前状态是屏幕当前变暗时,则在不同条件下可能发生取消变暗。例如,在该场景中,框608内的取消变暗过程涉及首先在框618处评估是否存在任何最近的用户活动。如果已经检测到用户活动,则在框620处屏幕取消变暗。然而,如果没有检测到用户活动,则在框622处,系统评估自上次检测到的活动以来的持续时间是否小于第三阈值。作为示例,该阈值可以是几分钟或更长的量级,例如,至少3-6分钟。这里,如果持续时间较小,则在框624处,HPS模块可以对屏幕进行取消变暗。如果持续时间更大,则过程在框616处超时,并且评估可以在当前状态框602处再次开始。
该系统可以用快速锁定来实现快速变暗。例如,如果用户已经停止键入,则第一定时器可以开始(用于屏幕锁定)。这里,如果存在传感器检测到用户已经远离计算设备,则第二定时器(用于快速变暗)也可以开始。然后,在快速变暗定时器超过其阈值(例如,5-30秒)之后,则屏幕将由于用户的不存在而变暗。然后,当用户不活动的另一定时器超过其阈值(例如,3-10分钟)时,屏幕将被锁定。在替代实例中,在由于尚未根据第二定时器检测到用户的存在而已发生快速变暗过程之后,但在屏幕变为锁定之前,存在传感器检测到用户已返回。这里,只要尚未超过第一定时器阈值,屏幕将取消变暗(例如,根据框624)。
快速变暗过程的替代或补充选项是基于用户存在的延迟变暗。例如,如果自上次检测到的用户存在以来的持续时间大于快速变暗的阈值(例如,大约5-20秒),则可以发生快速变暗过程。然而,如果用户一直存在,但是没有相关活动(例如,用户没有与计算设备交互),则最终可能发生标准的变暗过程。在一个示例中,这种过程的阈值可以在10分钟至20分钟的量级,或者更多或更少。
“离开时静音”是又一场景。例如,在视频呼叫或游戏会话期间,当没有检测到存在时,存在信号(缺乏)将导致客户端设备的操作系统、app或其他元件使麦克风静音并关闭网络摄像头(同时存在模块的图像传感器保持活动)。图7A图示了用户离开客户端设备的情况,并且图7B图示了在视频会议app仍然活动时使麦克风静音并关闭网络摄像头。作为示例,在没有检测到存在之后或在某个有限的时间(例如,1-30秒)之后麦克风可以被静音并且立即关闭摄像头。该功能可以在锁定离开动作之前或以其他方式结合锁定离开动作发生。
图8A至图8B示出了“肩窥(shoulder-surf)”情况,其中系统在检测到另一人时通知客户端设备的用户。这里,这可能涉及指向显示屏的意外面部。在一个特定实施例中,人类存在传感器模块检测到存在指向屏幕的两个面部。这里,将不执行面部本身的辨别。然而,在另一实施例中,可以将中断或其它信号传递到设备的操作系统以便例如根据面部辨别过程验证用户。如图8A所示,当好奇的旁观者对工作感兴趣时,用户可能正在处理机密信息。基于来自存在模块的第二面部检测信号,如图8B所示,在该示例中显示告知用户他们的工作可能正在查看的通知(例如,“好像某人对你的工作感兴趣”)。在其他示例中,系统可以通过将图标插入到状态栏中来通知用户,其象征其他人正在看屏幕。波纹或其他动画可以围绕货架图标或GUI的其他部分示出以吸引用户的注意。当处于全屏模式时或如果货架自动隐藏或以其他方式不可见时,则GUI可以将货架升高3秒(或更多或更少),作为关于其他人的通知出现。或者,GUI可以示出背景通知,该背景通知解释检测并呈现用于触发变暗屏幕动作的按钮和/或将用户带到用于人类存在感测的设置的按钮。
在替代方案中,当其他人正在看屏幕时,系统可以使屏幕变暗或阻止某些通知或其他信息。例如,电子邮件消息、即时消息、日历事件、聊天框、视频或静止图像、音频和/或其他信息的内容可以被隐藏或以其他方式掩蔽。该掩蔽可以伴随有对应的通知。这里,可以给予用户批准或拒绝掩蔽的选项。在一个场景中,当检测到第二人时采取的基线动作可以是最小的,例如,仅通知用户的图标结合掩蔽用户的私人通知。系统可以提供用户可以在以下之间进行选择的不同选项,诸如1)仅在设置栏中获得小图标通知,2)掩蔽所有应用通知(不包括低电池警告或应用崩溃通知的系统),以及3)使屏幕变暗,这可以被认为是这三个选项的最侵入性干预。
图9A至图9B图示了涉及自动启用隐私过滤器的另一场景。可以在检测到相机或检测到多个人时应用隐私过滤器。例如,如图9A所示,路人可以决定拍摄用户正在工作的咖啡店的照片。这里,在检测到对应信号时,系统可以在屏幕的一些或全部上自动应用隐私过滤器。隐私过滤器可以包括任何视觉改变,如果人不直接在屏幕前面,则该视觉改变将使屏幕更难以阅读屏幕。在图9B中,示出了应用于显示器的左半部的隐私过滤器902。在这种情况下,可以采用ML模型来识别可能具有相机的不同类型的相机或移动设备(例如,移动电话、平板电脑、头戴式可穿戴计算机等)。
图10A至图10B图示了涉及“下一滑动手势”的情形。这里,如图10A所示,用户可以在特定方向(例如,从左到右或从右到左)上挥动手,以便使演示前进到下一幻灯片或返回幻灯片、滚动文档、网页、窗口、标签、工作空间或电子书等。另一手势用例涉及对音频内容的控制,如图10B所示。例如,当音乐经由app播放时,用户可以使用手势来开始和暂停歌曲、跳到下一首歌曲或重新开始歌曲。当收听特定主题上的播客或谈话时,手势可以用于快进或倒回,诸如一次向前或向后跳过例如10秒、20秒或30秒,移动到下一段等。手势也可以用于调高或调低音量。类似地,手势可以用于视频控制。这里,用户可以做手势以开始或暂停视频、倒回或快进、改变音量和/或以某种方式调整视频(例如,改变亮度水平或纵横比)。用户可以做手势以控制麦克风使其静音或取消静音,这可以避免在客户端设备上使用鼠标、触摸屏或物理键的必要性。当使用口述app时,可以采用手势来使app开始或停止转录人说的内容。类似地,系统可以用于将手语转换成app或其他程序中的字幕或文本字幕,或者以其他方式使用手语作为输入来控制app或计算系统的组件的操作。在视频会议或其他交互情况下,诸如举手的手势可以用于向其他参与者通知用户有贡献(即使当他们不能看到彼此时)。在另一情况下,用户可以做手势以扫开(swipe away)呈现在客户端设备上的通知,或者甚至打开通知或以其他方式对通知采取行动。可以使用收缩和缩放手势来放大或缩小所显示的内容和/或最大化/最小化窗口。还可以支持手势以用于UI中的虚拟桌子/选项卡之间的滑动。在一个场景中,系统可以支持可定制的手势,其使得用户能够设置某些手势以触发现有快捷方式,例如,对于他们的特定需求最常见的快捷方式。
在任何这些类型的情况下,基于运行的app的类型(例如,呈现、流服务或视频会议),可以调整人类存在传感器模块的图像传感器的图像捕获速率。替代地或附加地,其他设备上传感器(例如,RF手势检测器、声学传感器或网络摄像头或客户端设备的其他相机)可用于手势交互。
在又一种情况下,系统可以支持“基本面部认证”。这里,当检测到用户存在并且启用认证时,如果设备处于睡眠,当检测到用户存在并且启用面部认证时,存在传感器模块可以发送中断或其他信号,使得与操作系统相关联的进程可以开始尝试认证用户,诸如经由面部辨别。在接近唤醒进程中配对存在感测和辨别可能导致用户无触摸登录。
另一方面涉及注视跟踪,其中系统知道用户正在看哪里(例如,在网络摄像头处、在显示屏上的某处、在屏幕外、在屏幕的右侧/左侧、在屏幕后面或完全看过客户端设备等)。在一个方面,这可以支持一套辅助阅读特征,诸如在阅读时增加文本的字体大小、用户长时间观看所花费的单词的表面预测定义(例如,当用户的注视在单词或短语上停留至少X秒(诸如3-5秒或更长时间)时)、提供视觉提示——诸如线读取器或突出显示——以帮助他们聚焦、在阅读长文档时自动滚动、和/或自动掩蔽或以其他方式削弱文档或其他材料的完成部分以减少分心。当客户端设备具有多个显示器时,注视跟踪可以用于在显示器上呈现用户当前正在观看的所选内容。这可以包括呈现通知、启动器(例如,当搜索键被按下时)、任何快捷启动的窗口等。这有利于避免用户必须将头从一个显示器旋转到另一显示器。类似地,系统可以检测用户的注意力聚焦在何处,这可能朝向或可能不朝向显示器。这里,系统可以在用户移开时模糊显示器以保护隐私。检测用户何时不关注一个或多个屏幕使得系统能够节流到那些屏幕的显示模块的帧速率以节省功率。这里,在一个示例中,系统可以例如通过丢弃动画帧速率、限制CPU时钟频率、仅使用某些处理核心等来节流被认为“不感兴趣”的内容,因为用户在特定时间段(例如,至少15秒至20秒或更长时间)内没有查看它。替代地或附加地,如果系统检测到用户的注意力被分散(例如,用户不断地看他们的移动电话而不是看计算系统的显示器),则系统可以促使用户聚焦注意力。
如果系统检测到用户的注意力已经被转移(例如,如果他们在使用app时正在看屏幕,但是在仍然坐在客户端设备前方时已经扫视超过15-30秒),则系统可以轻推用户以聚焦。关于用户的注意力,系统可以估计注意力的强度,以便在确定用户的注意力超过阈值时递送重要的或优先化的消息(例如,以90%的置信度估计用户聚焦在显示器上,因此在该时间呈现关于紧急消息的通知)。注意力可以用于支持具有特定用例的app,诸如拍摄驾驶执照应用的照片或用作应用的化身。此外,注视检测可以是用于某些特征的有用输入特征,诸如手掌拒绝(例如,当用户的手掌无意地搁置在客户端设备的触控板上时)、智能变暗、触摸板自动校正等。另外,手势和注视检测的组合可以增强系统操作。作为示例,如果用户是运动受损的,具有脏的手或以其他方式不能触摸屏幕(例如,医护人员),则系统可以具有使用注视跟踪和手势两者来控制计算设备的模式。
图11A图示了系统能够检测用户的手姿势的情况。使用ML模型,系统可以跟踪手的特定部分,如点1100所示。作为示例,这可以在如图11B所示的指向外推中采用。例如,当用户指向他们的屏幕时,存在传感器可以检测他们的手/手指(或笔、触笔等)并在用户指向显示器的位置进行插值。基于该信息,OS或app然后可以突出显示或图示(例如,经由具有点的“激光点”线)显示器上被指向的对象。因此,当用户正在呈现时,或者当用户在与其他(远程)参与者交互期间评论幻灯片、文档或其他材料时,这可以提供虚拟指针。替代地或附加地,可以采用注视检测来将屏幕上的指针移动到用户正在看的任何显示器。
如上所述,存在检测器被配置为识别人是否在那里。在一个示例中,这可以包括例如使用一个或多个特定ML模型来识别猫、狗或其他家庭宠物(或甚至儿童)。在这种类型的检测时,系统可以使键盘或鼠标/触控板输入被禁用。然而,可以继续启用其他功能,诸如播放音频书或在客户端设备上示出视频/电影。
动态波束成形的示例在图12中示出。在一个方面,波束成形允许通过将麦克风输入的区域聚焦到特定位置来在呼叫时消除背景噪声。使用来自人类存在传感器模块的信息,客户端设备可以识别何时某人在其附近移动并且动态地更新波束被引导到哪里,使得他们将不在他们的说话中中断。例如,人类存在传感器模块将确定到用户的角度和距离。这可以涉及检测图像中的面部位置和面部大小。这里,具有一个或多个附加图像传感器可用于提供立体图像以用于用户相对于客户端设备的更稳健姿势确定。阵列或其他麦克风集合可以使用该位置信息来执行空间滤波,诸如以抑制不想要的背景噪声。
另一场景涉及向活动应用中的其他人呈现通知。例如,在呼叫(例如,音频呼叫或视频静音呼叫)时,如果人基于存在检测离开客户端设备,则该信息可以用于触发app中的响应,诸如对视频呼叫服务的指示,因此大型会议中的参与者可以知道不询问人问题。这在企业或教育环境中特别有用,尤其是如果教师或专业人员想要知道他们的学生存在于视频可能被关闭的低带宽环境中。该特征可以被启用为操作系统中的用户隐私选择或app本身中的特征,诸如当用户加入视频会议时。
存在信息可以被采用于将用户界面(包括屏幕保护程序)变成有用的“表面”,诸如通过提供康健和健康建议。这里,一个方面是检测房间中的人,并且然后将屏幕变成有用的屏幕保护程序。另一方面是在检测到人已经在其计算机上长时间时支持眼睛疲劳和健康特征。例如,用户界面可以向用户呈现提醒,以便以定时的间隔将他们的眼睛聚焦远离显示器、眨眼多次、关闭他们的眼睛或执行其他动作以休息他们的眼睛。这里,当用户休息他们的眼睛时,系统可以使屏幕变暗,或者只要人存在于设备前面并且与之接合就避免使屏幕变暗。这可以与如上所述的注视检测相关联,因为系统可以确定用户的眼睛聚焦在哪里(以及他们在特定任务期间已经聚焦了多长时间)。可以提供提醒用户站立并伸展或走离计算机达一分钟或两分钟。其他提醒可能涉及姿势信息(“你的肩膀不要驼背”)或其他以引起例程的短暂休息(“微笑!”)。
另一种场景涉及“3D窗口”,其中用户界面可以基于用户相对于客户端设备位于何处/如何定位来适应位置(例如,X/Y/Z)坐标。这样的信息可以被传递到游戏以用于视觉定向。除了图像传感器之外,可以采用客户端设备的其他传感器(例如,近距离雷达传感器、声学传感器、网络摄像头等)。
在另一场景中,存在检测信息用于触发带宽管理。因此,如果用户正在观看视频或使用可能消耗大量带宽(并且可能具有与之相关联的每月数据成本)的流服务,则系统可以在用户离开时自动降低质量,并且在存在一个或多个用户时切换回默认质量。替代地,当没有检测到用户的存在时,可以暂停视频或流服务。
其他场景涉及场境功率状态。例如,在一个示例中,用户可以坐在他们的桌子支付账单或其他活动,并且不直接与客户端设备交互,但是这并不意味着用户想要设备进入睡眠。这里,基于存在检测信息,系统将检测到用户仍然存在并且防止屏幕保护程序启动或使设备进入睡眠模式。这避免了用户需要移动光标以保持设备唤醒。
显示器亮度可以迅速降低电池寿命。在另一示例中,当用户离开客户端设备时,一旦用户接近,显示器可以变暗到最小水平并且恢复到先前状态。这也可以应用于在后台运行的可能影响电池寿命的其他服务。
在又一示例中,系统可以通过选择性地变暗某些显示区域来使用注视跟踪以节省电池寿命。作为示例,当存在单个用户时,可以采用注视跟踪来使注视方向外围的显示屏的区域变暗。
存在检测的另一有益场景涉及动态音量控制。这里,呼叫期间或游戏期间的音量可以根据用户离开客户端设备多远而增加或减少。距离估计可以通过本地处理来执行,具有或不具有来自其他机载传感器的补充信息(例如,声学或近距离雷达传感器或来自网络摄像头的影像)以帮助提供景深。人的大小可能影响距离估计,因此可以采用来自先前检测的信息(诸如当用户坐在设备前方时)来估计他们已经从其移动多远。
另外,低视觉用户通常物理地移动他们的身体以看屏幕(例如,将平板保持到他们的面部)。这可能导致眼睛、颈部和/或背部疼痛。检测面部何时确实靠近屏幕可以导致显现轻推以警告用户如何使用放大、字体大小调整或其他特征来使显示器更容易阅读而不使其过于靠近。
在又一场景中,存在检测可以用于让登录的用户知道任何人是否试图在他们远离计算机时触摸他们的计算机。这里,系统可以每当某人接近计算机时拍摄图片或视频,将其临时存储在本地存储器中,然后使用其通知授权用户。在一些实例中,这样的影像可以显示在显示屏上。影像可以以加密格式存储。在其他实例中,可以将影像传输(例如,经由电子邮件)给用户,或者可以经由文本消息、电话呼叫、聊天或其他即时消息来通知用户。在影像在设备外发送的情况下,这可能仅在用户授权时发生,具有或不具有传输影像的加密。
存在感测对于可访问性(例如,“a11y”)特征可以是非常有益的。例如,当检测到用户但尚未发生交互时,尤其是当呈现锁定屏幕或机器首先离开框时,存在信息可以触发系统以使得各种a11y特征能够查看他们是否取消锁定用户。作为示例,UI可以显示和/或提供陈述“We noticed you are trying to set up the computer,do you want to turn onvoice control?(我们注意到你正试图设置计算机,你想要打开语音控制?)”的音频。
类似地,系统可以启用语音控制特征以帮助具有运动障碍的用户用语音完全控制他们的设备。虽然有时总是使计算机收听可能是一个挑战,因为如果用户想要与房间中的其他人谈话,则用户可能必须关闭该特征。但是使用存在传感器技术,每当用户离开客户端设备时,操作系统或特定应用可以停止监听命令。
作为另一可访问性增强,视觉障碍用户可能需要使用相机来拍摄自拍或加入会议。存在感测信息可以提供提示以让用户知道他们是否在图像帧内居中,他们面向正面或面向侧面,他们的头部倾斜等。听觉、视觉和/或触觉反馈可以引导人们在框架中正确对齐自己。此外,系统可以使用存在检测信息来选择(或不选择)某些认证或验证输入。作为示例,如果没有人存在,则系统可以不显示验证码。
用户体验
根据这些实施例,在启用存在检测之前,存在检测技术可能需要用户授权。这可以包括提供关于技术的信息,包括可以如何使用或存储影像,以及在接收到授权时启用影像。图13图示了在启用存在检测之前可以呈现给用户的信息的一个示例。并且如上所述,可能不存在与成像设备相关联的指示器(否则当存在传感器操作时,该指示器将始终开启)。然而,可以在系统托盘中、在弹出窗口中、在UI桌面上等提供图标或其他指示符,以示出存在感测技术的状态。在一些情况下,当使用特定app或其他程序时(例如,当准备书本报告或术语文献时),或者在特定条件或情况下,用户可以选择关闭存在感测技术达特定时间帧(例如,5-10分钟、一小时、全天)。
除了上面的描述之外,可以向用户提供控件,该控件允许用户关于本文描述的系统、程序或特征是否和何时可以使得能够收集用户信息(例如,影像)以及是否从服务器发送内容或通信进行选择。此外,某些数据可以在其被存储或使用之前以一种或多种方式被处理,使得个人可识别信息被移除。例如,可以处理用户的身份,使得不能为用户确定个人可识别信息。因此,用户可以控制收集关于用户的什么信息、如何使用该信息以及向用户提供什么信息。
示例网络
如上所述,在一些情况下,关于用户是否存在于其客户端设备处的信息可以被传送到其他人,诸如视频会议或交互式游戏应用上的那些。如何生成和共享这样的信息可以取决于参与者如何彼此通信。图14A和图14B中示出了一个示例计算架构。具体地,图14A和图14B分别是包括经由网络连接的多个计算设备和数据库的示例系统1400的示意图和功能图。例如,计算设备1402可以是提供或以其他方式支持一个或多个应用、游戏或其他程序的基于云的服务器系统。数据库1404可以存储app/游戏数据、用户简档信息或其他信息。服务器系统可以经由网络1406访问数据库。客户端设备可以包括台式计算机1408、膝上型或平板PC 1410和诸如智能显示器1412的家用设备中的一个或多个。其他客户端设备可以包括个人通信设备(诸如移动电话或PDA 1414)或可穿戴设备1416(诸如智能手表等)。另一示例客户端设备是大屏幕显示器或交互式白板1418,诸如可以用在教室、会议室、礼堂或可能存在多个用户的其他协作聚集空间中。
在一个示例中,计算设备1402可以包括具有多个计算设备(例如,负载平衡的服务器场或云计算系统)的一个或多个服务器计算设备,这些计算设备与网络的不同节点交换信息以用于向其他计算设备接收、处理数据以及从其他计算设备发送数据的目的。例如,计算设备1402可以包括能够经由网络1406与任何计算设备1408-1418通信的一个或多个服务器计算设备。这可以作为托管一个或多个协作应用(例如,视频会议程序、交互式电子表格应用或多玩家游戏)或服务(例如,观看者可以提供评论或其他反馈的电影流服务或交互式游戏节目)的一部分来完成。
如图14B所示,计算设备1402和4108-1418中的每一个可以包括一个或多个处理器、存储器、数据和指令。存储器存储可由一个或多个处理器访问的信息,包括可由处理器执行或以其他方式使用的指令和数据。存储器可以是能够存储处理器可访问的信息的任何类型,包括计算设备可读介质。存储器是一种非暂时性介质,诸如硬盘驱动器、存储卡、光盘、固态硬盘等。系统可以包括前述的不同组合,由此指令和数据的不同部分存储在不同类型的介质上。指令可以是要由处理器直接(诸如机器代码)或间接(诸如脚本)执行的任何指令集。例如,指令可以作为计算设备代码存储在计算设备可读介质上。在这方面,术语“指令”、“模块”和“程序”在本文中可以互换使用。指令可以以目标代码格式存储以供处理器直接处理,或者以包括根据需要解释或预先编译的独立源代码模块的脚本或集合的任何其他计算设备语言存储。
处理器可以是任何常规处理器,诸如市售CPU。替代地,每个处理器可以是专用设备,诸如ASIC、图形处理单元(GPU)、张量处理单元(TPU)或其他基于硬件的处理器。尽管图4B在功能上将给定计算设备的处理器、存储器和其他元件示出为在同一框内,但是这样的设备实际上可以包括可以或可以不存储在同一物理外壳内的多个处理器、计算设备或存储器。类似地,存储器可以是位于不同于处理器的外壳中的硬盘驱动器或其他存储介质,例如在服务器1402的云计算系统中。因此,对处理器或计算设备的引用将被理解为包括对可以或可以不并行操作的处理器或计算设备或存储器的集合的引用。
计算设备可以包括通常结合计算设备使用的所有组件,诸如上述处理器和存储器,以及用于从用户接收输入并向用户呈现信息(例如,文本、影像和/或其他图形元素)的用户界面子系统。用户接口子系统可以包括一个或多个用户输入(例如,至少一个前置(用户)相机、鼠标、键盘、触摸屏和/或麦克风)以及可操作以显示信息(例如,文本、影像和/或其他图形元素)的一个或多个显示设备。诸如扬声器的其他输出设备也可以向用户提供信息。并且如上面关于图2-图3详细解释的,除了上述元件之外,每个客户端设备(例如,1408-1418中的任何或全部)还可以包括人类存在传感器模块。
用户相关计算设备(例如,1408-1418)可以经由一个或多个网络(诸如网络1406)与后端计算系统(诸如,服务器1402)通信。用户相关计算设备还可以彼此通信,而不与后端计算系统通信。网络1406和中间节点可以包括各种配置和协议,包括短距离通信协议,诸如蓝牙TM、蓝牙LETM、因特网、万维网、内联网、虚拟专用网络、广域网、本地网络、使用一个或多个公司专有的通信协议的专用网络、以太网、WiFi和HTTP以及前述的各种组合。这样的通信可以由能够向和从其他计算设备发送数据的任何设备——诸如调制解调器和无线接口——来促进。
示例性操作方法
图15图示了根据本技术的各方面的用于具有人类存在传感器模块的计算设备的方法1500。在框1502处,该方法包括由人类存在传感器模块的图像传感器捕获图像传感器的视场内的影像。根据本技术的一个方面,由人类存在传感器模块的图像传感器捕获的影像被限于人类存在传感器模块(例如,用于在处理期间临时存储),并且不传播出人类存在传感器模块外部到计算设备的另一部分。在框1504处,该方法包括由人类存在传感器模块的至少一个处理设备,从人类存在传感器模块的存储器中检索一个或多个机器学习模型。一个或多个机器学习模型中的每一个被训练以识别一个或多个人是否在影像中存在。在框1506处,该方法包括由人类存在传感器模块的至少一个处理设备使用一个或多个机器学习模型来处理从图像传感器接收的影像,以确定一个或多个人是否在影像中存在。并且在框1508处,该方法包括在检测到一个或多个人在影像中存在时,人类存在传感器模块向计算设备的操作系统发出信号,使得计算设备可以通过执行一个或多个动作来响应于该存在。
尽管已经参考特定实施例描述了本文的技术,但是应当理解,这些实施例仅说明本技术的原理和应用。因此,应当理解,可以对说明性实施例进行许多修改,并且可以在不脱离由所附权利要求限定的本技术的精神和范围的情况下设计其他布置。
Claims (20)
1.一种计算设备,包括:
处理模块,所述处理模块包括一个或多个处理器;
被通信地耦合到所述处理模块的存储器,所述存储器被配置为存储与所述计算设备的操作系统相关联的数据和指令;以及
人类存在传感器模块,所述人类存在传感器模块包括:
图像传感器,所述图像传感器被配置为捕获所述图像传感器的视场内的影像;
专用存储器,所述专用存储器被配置为存储一个或多个机器学习模型,所述一个或多个机器学习模型中的每一个被训练以识别一个或多个人是否在所述影像中存在;以及
包括至少一个处理设备的专用处理模块,所述至少一个处理设备被配置为使用所述一个或多个机器学习模型来处理从所述图像传感器接收的影像,以确定一个或多个人是否在所述影像中存在;
其中:
由所述人类存在传感器模块的所述图像传感器捕获的影像被限于所述人类存在传感器模块;以及
响应于检测到一个或多个人在所述影像中存在,所述人类存在传感器模块被配置为向所述计算设备的所述处理模块发出信号,使得所述计算设备通过执行与所述计算设备的所述操作系统相关联的一个或多个指令来响应于所述信号。
2.根据权利要求1所述的计算设备,其中:
所述人类存在传感器模块还包括模块控制器,所述模块控制器被操作地耦合到所述图像传感器、所述专用存储器和所述专用处理模块;以及
所述模块控制器被配置为从所述专用处理模块接收关于所述影像中一个或多个人的所述存在的通知,并且向所述计算设备的所述处理模块发出所述信号。
3.根据权利要求2所述的计算设备,其中,所述图像传感器还被配置为:
在顺序图像之间检测运动;以及
向所述模块控制器发出接近唤醒信号,以便使所述模块控制器能够使所述人类存在传感器模块的一个或多个部件从低功率模式唤醒。
4.根据权利要求2所述的计算设备,其中:
所述图像传感器还被配置为在顺序图像之间检测运动;以及
所述专用处理模块被配置为响应于运动的所述检测而开始处理所述影像。
5.根据权利要求1所述的计算设备,其中,所述一个或多个机器学习模型包括第一机器学习模型和第二机器学习模型,所述第一机器学习模型被训练为检测所述影像中的单个人的所述存在,所述第二机器学习模型被训练为检测所述影像中的至少两个人的所述存在。
6.根据权利要求5所述的计算设备,其中,所述机器学习模型还包括用于检测人脸的至少部分的模型、用于检测人类躯干的模型、用于检测人类手臂的模型或用于检测人手的模型。
7.根据权利要求1所述的计算设备,其中,到所述计算设备的所述处理模块的所述信号是中断,并且所述中断使所述计算设备的进程将所述计算设备从挂起模式或待机模式唤醒。
8.根据权利要求1所述的计算设备,其中,到所述计算设备的所述处理模块的所述信号是中断,并且所述中断使所述计算设备的进程使用除了由所述人类存在传感器模块的所述图像传感器获得的所述影像之外的影像来发起面部认证。
9.根据权利要求1所述的计算设备,还包括:
具有显示接口的显示模块,所述显示模块被通信地耦合到所述处理模块,所述显示模块被配置为向用户呈现信息;
其中,到所述计算设备的处理模块的所述信号是中断,并且所述中断使所述计算设备的进程在所述显示模块上显示信息。
10.一种用于具有人类存在传感器模块的计算设备的计算机实现的方法,所述方法包括:
由所述人类存在传感器模块的图像传感器,捕获所述图像传感器的视场内的影像,其中由所述人类存在传感器模块的所述图像传感器捕获的所述影像被限于所述人类存在传感器模块;
由所述人类存在传感器模块的至少一个处理设备,从所述人类存在传感器模块的存储器检索一个或多个机器学习模型,所述一个或多个机器学习模型中的每一个被训练以识别一个或多个人是否在所述影像中存在;
由所述人类存在传感器模块的所述至少一个处理设备,使用所述一个或多个机器学习模型处理从所述图像传感器接收的所述影像,以确定一个或多个人是否在所述影像中存在;以及
在检测到一个或多个人在所述影像中存在时,所述人类存在传感器模块向所述计算设备的处理模块发出信号,使得所述计算设备能够通过执行一个或多个动作来响应于所述存在。
11.根据权利要求10所述的方法,还包括:响应于所述一个或多个人的所述存在的检测,使所述计算设备在所述图像传感器的所述视场内的人到达时唤醒。
12.根据权利要求10所述的方法,还包括:响应于人离开所述图像传感器的所述视场的检测,使所述计算设备锁定,使得需要认证来访问所述计算设备的一个或多个程序。
13.根据权利要求10所述的方法,还包括以下中的至少一个:响应于人离开所述图像传感器的所述视场的检测,使所述计算设备的麦克风静音或关闭所述计算设备的相机,其中,所述相机不是所述人类存在传感器模块的所述图像传感器。
14.根据权利要求10所述的方法,还包括响应于所述影像中至少两个人的所述存在的检测,执行以下中的至少一个:向所述计算设备的用户发出通知或阻止一个或多个通知被呈现给所述用户。
15.根据权利要求10所述的方法,还包括:响应于所述影像中至少两个人的所述存在的检测,在所述计算设备的显示器上启用隐私过滤器。
16.根据权利要求10所述的方法,还包括:响应于所述影像中一个人的所述存在的检测,基于由所述人类存在传感器模块的所述图像传感器捕获的附加影像来执行手势检测。
17.根据权利要求10所述的方法,还包括:响应于所述影像中一个人的所述存在的检测,基于由所述人类存在传感器模块的所述图像传感器捕获的附加影像来执行注视跟踪。
18.根据权利要求10所述的方法,还包括:响应于所述影像中一个人的所述存在的检测,基于由所述人类存在传感器模块的所述图像传感器捕获的附加影像来执行动态波束成形以消除背景噪声。
19.根据权利要求10所述的方法,还包括:
由所述图像传感器在所捕获的影像的顺序图像之间检测运动;以及
响应于检测到所述运动,使所述人类存在传感器模块的一个或多个部件从低功率模式唤醒。
20.根据权利要求10所述的方法,其中,到所述计算设备的所述处理模块的所述信号是中断,并且所述中断使所述计算设备的进程使用除了由所述人类存在传感器模块的所述图像传感器获得的所述影像之外的影像来发起面部认证。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/290,768 | 2021-12-17 | ||
US17/985,275 | 2022-11-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118251707A true CN118251707A (zh) | 2024-06-25 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11849255B2 (en) | Multi-participant live communication user interface | |
US11212449B1 (en) | User interfaces for media capture and management | |
US11671697B2 (en) | User interfaces for wide angle video conference | |
US11330184B2 (en) | User interfaces for managing media | |
US11726324B2 (en) | Display system | |
US10416789B2 (en) | Automatic selection of a wireless connectivity protocol for an input device | |
US11350026B1 (en) | User interfaces for altering visual media | |
US20220286314A1 (en) | User interfaces for multi-participant live communication | |
Kane et al. | Bonfire: a nomadic system for hybrid laptop-tabletop interaction | |
DE202015006066U1 (de) | Kleinere Schnittstellen zur Handhabung von Benachrichtigungen | |
US20230262317A1 (en) | User interfaces for wide angle video conference | |
US10474324B2 (en) | Uninterruptable overlay on a display | |
CN114556270B (zh) | 放大用户界面的眼睛注视控制 | |
US20230319413A1 (en) | User interfaces for camera sharing | |
US20230196836A1 (en) | Human Presence Sensor for Client Devices | |
US20230368750A1 (en) | Low power display state | |
CN118251707A (zh) | 用于客户端设备的人类存在传感器 | |
WO2023113994A1 (en) | Human presence sensor for client devices | |
US20230305694A1 (en) | Computer Platform with Shared User Experience Interface | |
WO2023191855A1 (en) | Computer platform with shared user experience interface | |
US20230254448A1 (en) | Camera-less representation of users during communication sessions | |
US20240080543A1 (en) | User interfaces for camera management | |
KR20230113825A (ko) | 광각 화상 회의에 대한 사용자 인터페이스들 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |