掌桥专利:专业的专利平台
掌桥专利
首页

用于数字病理学的眼睛跟踪的图像查看器

文献发布时间:2023-06-19 10:58:46


用于数字病理学的眼睛跟踪的图像查看器

本申请要求于2018年12月19日提交的美国临时专利申请No.62/782,191的优先权,该专利申请由此通过引用并入本文,如同全文阐述。

技术领域

本文中描述的实施例总体上涉及数字病理学,并且更具体地涉及在观看数字病理学切片图像期间使用眼睛跟踪。

背景技术

在数字病理学中,以很高的分辨率扫描显微镜切片以获取非常高分辨率的数字切片图像。病理学家通常在计算机显示器上观看数字切片图像。通常,病理学家使用键盘、鼠标、轨迹球、触摸板或其他触摸传感器或其他手动输入设备在显示器上的数字切片图像的各区域之间导航。另外,由于数字切片图像中的像素数通常比显示器中的像素数大得多(例如,图像中的千兆像素与显示器中的百万像素),因此可以一次以高分辨率(例如,本机分辨率)仅观看数字切片图像的特定区域。因此,病理学家还必须使用手动输入设备来放大、缩小和平移正在显示的数字切片图像,以便以高放大级别观看数字切片图像内的感兴趣区域。

使用鼠标作为手动输入设备的示例,病理学家可以在数字切片图像的区域上执行鼠标单击,然后使用鼠标滚动(例如,经由鼠标上的滚轮)从当前放大级别进行放大(增大放大级别)或缩小(减小放大级别)。为了平移到数字切片图像的新区域,病理学家可以执行鼠标拖动(例如,通过在移动鼠标的同时按住鼠标按钮)来使在数字切片图像的另一区域上的数字切片图像的视图居中。可能还需要病理学家使用其他鼠标操作,诸如在数字切片图像的缩略图上进行鼠标单击以将数字切片图像的视图从数字切片图像的一个区域移动到新区域,进行鼠标单击或鼠标拖动以操作输入(例如,按钮、滑块等)以改变数字切片图像的视图的放大级别(例如,放大或缩小,选择预设放大级别,等等)等。在某些情况下,病理学家还可以使用键盘快捷键来执行相同或相似的操作。

不管使用哪种特定的手动输入设备,观看数字切片图像所需要的手部活动量都很大。因此,病理学家以这种方式花费大量时间来检查数字切片图像。使用这种手动输入设备是繁琐、麻烦、费时的,并且可能导致重复性运动疼痛或损伤。

发明内容

因此,公开了用于利用眼睛跟踪设备来检查数字切片图像的系统、方法和非瞬态计算机可读介质。眼睛跟踪设备可以安装在计算机显示器上或集成到计算机显示器中,或者可以安装在用户佩戴的装备(例如,普通眼镜、智能眼镜、虚拟现实(VR)耳机等)上或集成到其中,并且可以被配置为实时检测用户在计算机显示器上的注视位置。有利地,可以基于眼睛跟踪设备的输出来执行功能,以替换当前由手动输入设备(例如,鼠标、键盘、触摸传感器等)执行的一个或多个(包括潜在所有的)与观看相关的功能,从而减少或消除在检查数字切片图像期间(例如,在数字病理学中)对手动输入设备的需求。

在一个实施例中,公开了一种方法,该方法包括:基于来自眼睛跟踪设备的输出来重复检测在图形用户界面上用户的注视位置,其中图形用户界面至少包括数字切片图像在宏视图内的一部分;以及在检测到用户的注视从图形用户界面上的第一位置到第二位置的变化之后,基于第二位置在宏视图内自动平移数字切片图像的视图,以便将数字切片图像上的与图形用户界面上的第二位置相对应的位置朝向宏视图的中心移动。自动平移可以响应于检测到第一位置与第二位置之间的距离大于阈值来执行。阈值可以大于零。该方法还可以包括使用至少一个硬件处理器来自动平移视图,直到数字切片图像上的与图形用户界面上的第二位置相对应的位置在宏视图的中心内。该方法还可以包括使用至少一个硬件处理器来自动平移视图,直到检测到的用户的注视位置在宏视图的中心内。该方法还可以包括使用至少一个硬件处理器以:基于来自眼睛跟踪设备的输出来检测用户头部的定向;以及基于检测到的用户头部的一个或多个定向来检测预定开始手势;其中自动平移是响应于检测到预定开始手势来执行的。该方法还可以包括使用至少一个硬件处理器以:基于检测到的用户头部的一个或多个定向来检测预定停止手势;以及响应于检测到预定停止手势,自动停止数字切片图像的视图在宏视图内的平移。图形用户界面可以包括数字切片图像的缩略图,并且该方法还可以包括使用至少一个硬件处理器以:确定检测到的用户的注视位置是否在缩略图内;以及响应于检测到用户的注视位置在缩略图内,确定数字切片图像上的与缩略图内的位置相对应的位置,以及更新宏视图使得数字切片图像上的所确定的位置在宏视图的中心内。更新宏视图可以包括自动平移数字切片图像的视图,以便将数字切片图像上的所确定的位置移动到宏视图的中心。该方法还可以包括使用至少一个硬件处理器来计算第一位置与第二位置之间的距离,其中自动平移的速度基于所计算的距离。

在一个实施例中,公开了一种方法,该方法包括使用至少一个硬件处理器以:基于来自眼睛跟踪设备的输出来重复检测在图形用户界面上用户的注视位置,其中图形用户界面至少包括一个或多个输入以及数字切片图像在宏视图内的一部分;以及当检测到用户的注视位置在该一个或多个输入中的一个输入内时,基于来自眼睛跟踪设备的输出从多个可能定向中检测用户头部的定向,标识存储器中的与该一个输入和检测到的定向相关联的功能,以及基于检测到与所标识的功能相关联的定向,启动功能。该功能可以包括改变数字切片图像在宏视图内的放大级别。该一个输入可以包括用于改变数字切片图像在宏视图内的放大级别的输入,其中多个可能定向包括第一定向和第二定向,其中第一定向与存储器中的增大放大级别的功能相关联,并且其中第二定向与存储器中的减小放大级别的功能相关联。第一定向可以包括在第一方向上的头部倾斜,并且第二定向可以包括在与第一方向相反的第二方向上的头部倾斜。该方法还可以包括:在启动功能之后,当检测到用户的注视位置不再在该一个输入内时,停止该功能。

在一个实施例中,公开了一种方法,该方法包括使用至少一个硬件处理器以:基于来自眼睛跟踪设备的输出来重复检测在图形用户界面上用户的注视位置,其中图形用户界面至少包括一个或多个输入以及数字切片图像在宏视图内的一部分;以及当检测到用户的注视位置在该一个或多个输入中的一个输入内时,基于来自眼睛跟踪设备的输出来检测用户头部的定向,基于检测到的用户头部的一个或多个定向来检测预定开始手势,以及基于检测到预定开始手势,启动与该一个输入相关联的功能。该功能可以包括改变数字切片图像在宏视图内的放大级别。该方法还可以包括:在启动功能之后,当检测到用户的注视位置不再在该一个输入内时,停止该功能。预定开始手势可以包括用户头部的重复运动。该一个或多个输入可以包括多个输入,多个输入各自与不同于多个输入中的任何其他输入的功能相关联,其中预定开始手势对于多个输入中的每个输入是相同的。

在一个实施例中,公开了一种方法,该方法包括使用至少一个硬件处理器以:对于一个或多个第一数字切片图像,基于来自眼睛跟踪设备的输出来重复检测在图形用户界面上用户的注视位置和头部定向,其中图形用户界面至少包括第一数字切片图像在宏视图内的一部分,以及存储观看历史,该观看历史包括与以下相关联的每个检测到的用户的注视位置和头部定向:在检测到用户的注视或头部定向时所观看的第一数字切片图像的一部分;基于针对该一个或多个第一数字切片图像所存储的观看历史,训练机器学习算法以预测待被用户观看的至少一个第二数字切片图像的下一部分;使用经训练的机器学习算法基于已被用户观看的至少一个第二数字切片图像的过去部分来预测待被用户观看的至少一个第二数字切片图像的下一部分;以及自动平移到通过经训练的机器学习算法而预测的待被观看的至少一个第二数字切片图像的下一部分,而无需用户干预。

任何公开的方法都可以体现在基于处理器的系统(诸如服务器)的可执行软件模块中,和/或体现在存储在非瞬态计算机可读介质中的可执行指令中。

附图说明

关于本发明的结构和操作的细节,可以通过研究附图来部分地获取,在附图中,相同的附图标记指代相同的部件,并且在附图中:

图1示出了根据实施例的示例处理系统,通过该示例处理系统可以执行本文中描述的一个或多个过程;

图2示出了根据实施例的具有数字切片图像的缩略图和宏视图的示例显示器;

图3A和3B示出了根据实施例的用于使用眼睛跟踪设备的输出来平移数字切片图像的示例过程;以及

图4A-4C示出了根据实施例的用于执行诸如缩放等图像观看功能的示例过程。

具体实施方式

在一个实施例中,公开了用于利用眼睛跟踪设备来检查数字切片图像的系统、方法和非瞬态计算机可读介质。在阅读本说明书之后,本领域技术人员将很清楚如何在各种备选实施例和备选应用中实现本发明。然而,尽管本文中将描述本发明的各种实施例,但是应当理解,这些实施例仅以示例和说明的方式而非限制的方式给出。这样,各种实施例的这种详细描述不应当被解释为限制如所附权利要求中阐述的本发明的范围或广度。

1.系统概述

1.1.示例处理设备

图1是示出可以结合本文中描述的各种实施例来使用的示例有线或无线系统100的框图。例如,系统100可以用作本文中描述的一个或多个功能、过程或方法(例如,以存储和/或执行应用或应用的一个或多个软件模块)或者与其相结合来使用。系统100可以是服务器、个人计算机、数字切片扫描装置、或能够进行有线或无线数据通信的任何其他使能处理器的设备。如本领域技术人员将清楚的,也可以使用其他计算机系统和/或架构。

系统100优选地包括一个或多个处理器,诸如处理器110,该处理器可以包括中央处理单元(CPU)。可以提供其他处理器,诸如图形处理单元(GPU)、用于管理输入/输出的辅助处理器、用于执行浮点数学运算的辅助处理器、具有适合于快速执行信号处理算法的架构的专用微处理器(例如,数字信号处理器)、从属于主处理系统的从处理器(例如,后端处理器)、用于双处理器系统或多个处理器系统的附加微处理器或控制器、和/或协处理器。这种辅助处理器可以是分立处理器,或者可以与处理器110集成在一起。可以与系统100一起使用的处理器的示例包括但不限于

处理器110优选地连接到通信总线105。通信总线105可以包括用于促进系统100的存储和其他外围组件之间的信息传输的数据信道。此外,通信总线105可以提供用于与处理器110的通信的一组信号,包括数据总线、地址总线和/或控制总线(未示出)。通信总线105可以包括任何标准或非标准总线架构,例如,符合工业标准架构(ISA)、扩展的工业标准架构(EISA)、微通道架构(MCA)、外围组件互连(PCI)本地总线、由电气和电子工程师协会(IEEE)颁布的标准(包括IEEE 488通用接口总线(GPIB)、IEEE 696/S-100等)的总线架构。

系统100优选地包括主存储器115,并且还可以包括辅存储器120。主存储器115针对在处理器110上执行的程序提供指令和数据的存储,诸如本文中讨论的一个或多个功能和/或模块。应当理解,存储在存储器中并且由处理器110执行的程序可以根据任何合适的语言来编写和/或编译,包括但不限于C/C++、Java、JavaScript、Perl、Visual Basic、.NET等。主存储器115通常是基于半导体的存储器,诸如动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)。其他基于半导体的存储器类型包括例如同步动态随机存取存储器(SDRAM)、Rambus动态随机存取存储器(RDRAM)、铁电随机存取存储器(FRAM)等,包括只读存储器(ROM)。

辅存储器120可以可选地包括内部介质125和/或可移动介质130。可移动介质130可以以任何公知方式被读取和/或写入。可移动存储介质130可以是例如磁带驱动器、光盘(CD)驱动器、数字多功能盘(DVD)驱动器、其他光盘驱动器、闪存驱动器等。

辅存储器120是其上存储有计算机可执行代码(例如,所公开的软件模块)和/或其他数据的非瞬态计算机可读介质。存储在辅存储器120上的计算机软件或数据被读入主存储器115中用于由处理器110执行。

在备选实施例中,辅存储器120可以包括用于允许将计算机程序或其他数据或指令加载到系统100中的其他类似装置。例如,这种装置可以包括允许将软件和数据从外部存储介质145传输到系统100的通信接口140。外部存储介质145的示例可以包括外部硬盘驱动器、外部光学驱动器、外部磁光驱动器等。辅存储器120的其他示例可以包括基于半导体的存储器,诸如可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除只读存储器(EEPROM)和闪存(面向块的存储器,类似于EEPROM)。

如上所述,系统100可以包括通信接口140。通信接口140允许在系统100与外部设备(例如,打印机)、网络或其他信息源之间传输软件和数据。例如,可以经由通信接口140将计算机软件或可执行代码从网络服务器传输到系统100。通信接口140的示例包括内置网络适配器、网络接口卡(NIC)、国际个人计算机存储卡协会(PCMCIA)网卡、卡总线网络适配器、无线网络适配器、通用串行总线(USB)网络适配器、调制解调器、无线数据卡、通信端口、红外接口、IEEE1394火线、以及能够将系统100与网络或另一计算设备接口连接的任何其他设备。通信接口140优选地实现工业发布的协议标准,诸如以太网IEEE 802标准、光纤通道、数字用户线(DSL)、异步数字用户线(ADSL)、帧中继、异步传输模式(ATM)、集成数字服务网络(ISDN)、个人通信服务(PCS)、传输控制协议/互联网协议(TCP/IP)、串行线路互联网协议/点对点协议(SLIP/PPP)等,但也可以实现定制或非标准接口协议。

经由通信接口140传输的软件和数据通常是电通信信号155的形式。这些信号155可以经由通信信道150被提供给通信接口140。在一个实施例中,通信信道150可以是有线或无线网络或任何其他各种通信链路。通信信道150承载信号155,并且可以使用各种有线或无线通信方式来实现,包括导线或电缆、光纤、常规电话线、蜂窝电话链路、无线数据通信链路、射频(“RF”)链路或红外链路,仅举几例。

计算机可执行代码(例如,计算机程序,诸如所公开的软件模块)存储在主存储器115和/或辅存储器120中。计算机程序也可以经由通信接口140接收并且存储在主存储器115和/或辅存储器120中。这种计算机程序在被执行时使得系统100能够执行如本文中其他地方所述的所公开的实施例的各种功能。

在本说明书中,术语“计算机可读介质”被用于指代用于向系统100或在系统100内提供计算机可执行代码和/或其他数据的任何非瞬态计算机可读存储介质。这种介质的示例包括主存储器115、辅存储器120(包括内部存储器125、可移动介质130和外部存储介质145)、以及与通信接口140通信耦合的任何外围设备(包括网络信息服务器或其他网络设备)。这些非瞬态计算机可读介质是用于向系统100提供可执行代码、编程指令、软件和/或其他数据的装置。

在使用软件实现的实施例中,软件可以存储在计算机可读介质上,并且通过可移动介质130、I/O接口135或通信接口140加载到系统100中。在这种实施例中,软件以电通信信号155的形式被加载到系统100中。在由处理器110执行时,该软件优选地引起处理器110执行本文中其他地方所述的一个或多个过程和功能。

在一个实施例中,I/O接口135提供系统100的一个或多个组件与一个或多个输入和/或输出设备之间的接口。示例输入设备包括但不限于眼睛跟踪设备、传感器、键盘、触摸屏或其他触敏设备、生物识别设备、计算机鼠标、轨迹球、基于笔的指示设备等。输出设备的示例包括但不限于其他处理设备、阴极射线管(CRT)、等离子显示器、发光二极管(LED)显示器、液晶显示器(LCD)、打印机、真空荧光显示器(VFD)、表面导电电子发射器显示器(SED)、场发射显示器(FED)、可穿戴设备(例如,智能眼镜、VR耳机等)等。在某些情况下,诸如在触摸面板显示器的情况下(例如,在智能手机、平板电脑或其他移动设备中),可以组合输入和输出设备。

在所示的实施例中,I/O接口135至少与显示器180和眼睛跟踪设备190接口,使得处理器110可以渲染在显示器180上待被显示的数据并且接收由眼睛跟踪设备190感测的数据。由眼睛跟踪设备190感测的数据可以指示显示器180上的系统100的用户眼睛当前指向的注视位置,并且可以由处理器110重复接收(例如,以规则间隔和/或每当注视位置发生变化时)。在一个实施例中,显示器180和眼睛跟踪设备190可以集成到单个设备中,诸如计算机监测器、智能眼镜、VR耳机等。

系统100还可以包括可选的促进通过语音网络和/或数据网络进行的无线通信的无线通信组件。无线通信组件包括天线系统170、无线电系统165和基带系统160。在系统100中,在无线电系统165的管理下,由天线系统170通过空中传输和接收射频(RF)信号。

在一个实施例中,天线系统170可以包括一个或多个天线以及一个或多个多路复用器(未示出)来执行切换功能,以向天线系统170提供传输和接收信号路径。在接收路径中,可以将所接收的RF信号从多路复用器耦合到低噪声放大器(未示出),该低噪声放大器放大所接收的RF信号并且将放大后的信号发送到无线电系统165。

在备选实施例中,无线电系统165可以包括被配置为通过各种频率通信的一个或多个无线电。在一个实施例中,无线电系统165可以在一个集成电路(IC)中组合解调器(未示出)和调制器(未示出)。解调器和调制器也可以是独立组件。在传入路径中,解调器滤掉RF载波信号,从而留下基带接收音频信号,该音频信号从无线电系统165被发送到基带系统160。

如果接收信号包含音频信息,则基带系统160解码该信号并且将其转换为模拟信号。然后,该信号被放大并且发送到扬声器。基带系统160还从麦克风接收模拟音频信号。这些模拟音频信号被转换为数字信号,并且由基带系统160进行编码。基带系统160还对数字信号编码以进行传输,并且生成基带传输音频信号,该信号被路由到无线电系统165的调制器部分。调制器将基带传输无线电信号与RF载波信号进行混频,以生成RF传输信号,该信号被路由到天线系统170并且可以经过功率放大器(未示出)。功率放大器放大RF传输信号并且将其路由到天线系统170,在天线系统170中,该信号被切换到天线端口以进行传输。

基带系统160还与处理器110通信耦合。处理器110可以访问数据存储区域115和120。处理器110优选地被配置为执行可以存储在主存储器115或辅存储器120中的指令(即,计算机程序,诸如所公开的应用或软件模块)。计算机程序也可以从基带处理器160接收并且存储在主存储器110或辅存储器120中,或者在接收时被执行。这种计算机程序在被执行时使系统100能够执行所公开的实施例的各种功能。

1.2.眼睛跟踪设备

如上所述,在一个实施例中,系统100包括眼睛跟踪设备190。眼睛跟踪设备190可以安装在显示器180上或集成到显示器180中。在一个实施例中,眼睛跟踪设备190和显示器180可以集成到单个设备中,诸如计算机显式器、智能眼镜、VR耳机等。备选地,眼睛跟踪设备190可以与显示器180分离。在任何情况下,眼睛跟踪设备190应当被安装或以其他方式定位以检测用户相对于显示器180的注视。

在一个实施例中,眼睛跟踪设备190可以专用于跟踪用户的注视。备选地,眼睛跟踪设备190可以包括相机(例如,安装在显示器180上或集成到其中),该相机也用于更常规的成像,诸如捕获系统100的用户的照片或视频(例如,用于社交媒体、网络摄像头、视频会议等)。

眼睛跟踪设备190可以包括任何消费级的、商用的现成的眼睛跟踪设备。一个非限制性示例是由总部位于瑞典的Tobii Group

软件开发套件(SDK)也可用于这种眼睛跟踪设备。这些SDK使得开发人员能够开发软件,该软件利用眼睛跟踪设备的输出来动态地检测用户在显示器上的注视点、显示器与用户的每只眼睛之间的距离、以及用户头部的位置或定向。这种信息可以由软件解译,以标识由用户执行的注视“手势”,并且对所标识的这些手势进行响应。另外,某些操作系统(例如,Windows

2.过程概述

现在将详细描述用于利用眼睛跟踪设备190观看数字切片图像的过程的实施例。应当理解,所描述的过程可以体现在由一个或多个硬件处理器(例如,处理器110)执行的一个或多个软件模块中。所描述的过程可以被实现为以源代码、目标代码和/或机器代码表示的指令。这些指令可以由硬件处理器110直接执行,或者可以由在目标代码与硬件处理器110之间操作的虚拟机来执行。

备选地,所描述的过程可以实现为硬件组件(例如,通用处理器、集成电路(IC)、专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、离散门或晶体管逻辑等)、硬件组件的组合、或硬件和软件组件的组合。为了清楚地说明硬件和软件的互换性,在本文中,各种说明性的组件、块、模块、电路和步骤在功能性方面总体上进行描述。将这种功能性实现为硬件还是软件取决于特定应用和施加在整个系统上的设计约束。技术人员可以针对每个特定应用以各种方式来实现所描述的功能,但是这种实现决不应当被解释为使其脱离本发明的范围。另外,组件、块、模块、电路或步骤内的功能分组是为了易于描述。在不脱离本发明的情况下,特定功能或步骤可以从一个组件、块、模块、电路或步骤移动到另一组件、块、模块、电路或步骤。

将参考图2中的示例显示器180来描述这些过程。图2示出了根据一个实施例的示例显示器180,显示器180具有数字切片图像的缩略图215和数字切片图像的宏视图220。作为整个数字切片图像的较小的低分辨率版本的缩略图215包括框215,该框215以较高放大级别突出显示了在宏视图220中的当前正被观看的感兴趣区域。在所示的实施例中,缩略图215覆盖在宏视图220上。但是,在备选实施例中,缩略图215可以位于宏视图220的一侧,或者可以完全省略。

显示器180中的图形用户界面可以包括除图2所示的之外的其他区域和组件。例如,显示器180还可以包括中间视图,该中间视图以高于缩略图215的放大级别但低于宏视图220的放大级别的中间放大级别来示出感兴趣区域和/或围绕感兴趣区域的区域。此外,图形用户界面可以包括用于管理视图的输入(例如,放大或缩小,向左、向右、向上、向下和/或沿对角线进行平移,根据用户的喜好定制视图,等等)、使用图像处理工具的输入(例如,分析数字切片图像的内容,诸如标识和/或计数对象等)等。

2.1.平移

图3A和3B示出了根据一个实施例的用于使用眼睛跟踪设备190的输出来平移数字切片图像的示例过程。尽管过程300A和300B中的每个被示出为具有特定步骤布置和顺序,但是每个过程300A和300B可以以更少、更多或不同步骤以及不同步骤布置和/或顺序来实现。另外,过程300A和300B两者可以实现在同一系统100中作为均可以由用户使用的一对备选功能。备选地,仅过程300A和300B中的一个可以在任何特定系统100中实现。在任何情况下,过程300A和300B可以由一个或多个处理器110执行。

在过程300A中,在步骤305A中,使用眼睛跟踪设备190重复检测用户在显示器180上的注视位置。具体地,处理器110可以以规则的时间间隔(例如,在毫秒量级)和/或每当眼睛跟踪设备190检测到用户注视的改变时重复接收眼睛跟踪设备190的输出。每当处理器110从眼睛跟踪设备190接收到该输出时,处理器110可以基于所接收的输出来确定用户相对于显示器180的注视位置。

在步骤310中,处理器110使在步骤305A中检测到的用户的注视位置与当前显示在显示器180上的图形用户界面内的位置相关。在利用缩略图210的实施例中,在步骤310中,处理器110确定当前图形用户界面内的用户的注视位置在缩略图210还是宏视图220内。如果用户的注视位置在宏视图220内(即,步骤310中的“宏视图”),则过程300A进行到步骤315。否则,如果用户的注视位置在缩略图210内(即,步骤310中的“缩略图”),则过程300A进行到步骤330。在图形用户界面包括多于一个的缩略图210和宏视图220的实施例中,用户的注视位置可以在缩略图210和宏视图220两者之外。在这种情况下(即,步骤310中为“都不”),过程300A返回到步骤305A。

在步骤315中,处理器110确定在步骤305A中检测到的用户的当前注视位置是否已从用户的先前注视位置改变。例如,处理器110可以将用户的一个或多个的过去注视位置存储在存储器(例如,主存储器115或辅存储器120)中,并且将用户的当前注视位置与用户的最近过去注视位置进行比较,以确定当前位置是否与最近过去位置不同。另外,处理器110可以计算当前位置与过去位置之间的距离,并且确定该距离是否大于阈值。该阈值可以是非零距离值,或者在一种实现中,可以简单地为零。如果阈值为零,则处理器110仅需要确定当前位置是否与过去位置不同。在任何情况下,如果位置变化大于阈值(即,步骤315中为“是”),则过程300A进行到步骤320。否则,如果位置变化不大于阈值(即,在步骤315中为“否”),则过程300A返回到步骤305A。换言之,直到用户的注视移动的距离大于预定阈值时,才会发生平移,并且只要用户的注视移动的距离大于预定阈值时,就会发生平移。如果预定阈值为零,则平移将在用户注视移动的任何时候发生。

在步骤315的备选实施例中,处理器110可以确定用户的当前注视位置是否在宏视图220内的区域225之外。区域225围绕小于宏视图220的整个区域的、包围宏视图220中心的区域。应当理解,区域225的位置相对于显示器180是固定的,使得即使在宏视图220内发生平移时,区域225的位置也不会改变。虽然被示出为矩形,但是区域225可以备选地是正方形、圆形(例如,由半径定义)或其他形状。如果在步骤305A中检测到的用户的注视位置在区域225内(例如,类似于步骤315中为“否”),则过程300A可以返回到步骤305A。否则,如果在步骤305A中检测到的用户的注视位置在区域225之外(例如,类似于步骤315中为“是”),则过程300A可以进行至步骤320。换言之,只要用户的注视保持在区域225内,就不会发生平移,而只要用户的注视移动到区域225之外,就会发生平移。

在步骤320中,处理器110使用户在显示器180上的当前注视位置与数字切片图像在宏视图220中的当前正被观看的部分上的位置相关。例如,处理器110可以使用户在显示器180上的当前注视位置与图形用户界面内的宏视图220上的位置相关,并且然后使宏视图220上的该位置与基础数字切片图像上的位置相关。

在步骤325中,处理器110平移基础数字切片图像,以使在步骤320中确定的数字切片图像上的位置在宏视图220内居中。换言之,宏视图220被更新为包括数字切片图像的感兴趣区域,其中在步骤320中确定的位置在宏视图220内居中。在更新宏图像220时,处理器110可以自动虚拟“滑动”数字切片图像以使新位置在宏视图220内重新居中。因此,当在步骤320中确定的数字切片图像上的位置移动到宏视图220的中心时,用户可以观看正被平移的数字切片图像。在一个实施例中,平移的速度可以是先前在宏视图220内居中的数字切片图像上的新位置与旧位置之间的距离(即,平移所需的距离)的函数。例如,每当在步骤325中执行平移时,处理器110就可以计算该平移距离,并且在宏视图220内将数字切片图像以较高速度平移较长距离,而以较低速度平移较短距离。一旦宏视图220已针对新位置重新居中,过程300A就返回到步骤305A。

在步骤330中,处理器110使用户在显示器180上的当前注视位置与缩略图210上的位置相关。此外,处理器110使缩略图210上的位置与基础数字切片图像在宏视图220中正被观看的位置相关。

在步骤335中,处理器110平移基础数字切片图像,以使在步骤330中确定的数字切片图像上的位置在宏视图220内居中。换言之,用户可以注视缩略图210上的某个位置以选择感兴趣区域,并且处理器110可以使宏视图220在该感兴趣区域上自动居中,使得用户可以以更高放大级别观看感兴趣区域。步骤335可以与上述步骤325相同或相似。一旦宏视图220已针对新位置重新居中,过程300A就返回到步骤305A。应当理解,每当以这种方式选择新的感兴趣区域时,处理器110就更新帧215以在缩略图210内突出显示新的感兴趣区域。

在过程300B中,使用眼睛跟踪设备190在步骤305B中重复检测用户在显示器180上的注视位置。步骤305B可以与上述步骤305A相同或相似。除了用户的注视,还可以在步骤305B中检测用户头部的定向。例如,用户头部的定向可以基于用户的注视方向来确定,如由用户在显示器180上的注视位置所确定的,或者通过其他方式确定的(例如,在用户的头部上的对象识别)。无论如何检测,处理器110都可以将用户头部的当前定向与用户头部的一个或多个过去定向进行比较,以标识基于头部的手势(例如,向上倾斜运动、向下倾斜运动、点头、摇头等)。

在步骤350中,处理器110确定是否已经检测到预定开始手势。预定开始手势可以包括已被预定义为用于开始在数字切片图像上平移的头部手势。作为示例,开始手势可以是点头(例如,头部向下运动、头部向上运动、或头部向下和向上运动至少预定义次数或预定义时间段)。但是,也可以构想其他开始手势(例如,摇头,例如,从一侧到另一侧)。不管所使用的特定开始手势如何,如果检测到开始手势(即,在步骤350中为“是”),则过程300B进行到步骤355,在步骤355中,检测到开始手势被用作在朝向用户的当前注视位置的方向上开始平移的指示。否则,如果未检测到特定开始手势(即,在步骤350中为“否”),则过程300B返回到步骤305B。

在步骤355中,处理器110确定从宏视图220的中心到用户在显示器180上的当前注视位置的方向。然后,在步骤360中,处理器110开始根据在步骤355中确定的方向来在宏视图220内平移数字切片图像。例如,如果用户的当前注视位置被确定为在宏视图220的中心右侧,则处理器110可以开始在相反方向上(即,向左)在宏视图220内移动数字切片图像,以便将用户的当前注视位置朝向宏视图220的中心移动。

在步骤365中,处理器110确定是否已检测到预定停止手势。预定停止手势可以包括已经被预定义为用于停止数字切片图像上的平移的头部手势。在一个实施例中,停止手势可以与在步骤350中检测到的开始手势相同(例如,点头)。备选地,停止手势可以与开始手势不同。如果检测到停止手势(即,在步骤365中为“是”),则过程300B进行到步骤370。否则,如果未检测到特定停止手势(即,在步骤365中为“否”),则过程300B返回到步骤355。

在一个实施例中,处理器110可以以与步骤305B中相同的方式在步骤355-365中继续监测用户在显示器180上的当前注视位置。此外,随着用户的当前注视位置发生变化,处理器110可以连续更新步骤355和360中的平移方向。因此,用户可以在任何方向上平移并且通过改变他或她的注视位置来实时改变平移方向。例如,如果确定用户的初始注视位置在宏视图220的中心右侧,则处理器110可以开始在相对方向上(即,向左)在宏视图220内移动数字切片图像,以便将用户的当前注视位置朝向宏视图220的中心移动。如果用户随后在宏视图220内向上移动其注视,使得用户的注视位置现在沿着穿过宏视图220的中心的对角线轴位于宏视图220的上方和右侧,则处理器110可以检测到注视位置的这种变化,并且以响应方式开始沿着对角线轴在相反方向上在宏视图220内移动数字切片图像,以便朝向宏视图220的中心移动用户的当前注视位置。应当理解,平移可以连续进行并且包括任何数目的方向变化,直到在步骤365中检测到停止手势。

在步骤370中,响应于在步骤365中检测到停止手势,处理器110停止宏视图220内的平移过程。换言之,数字切片图像停止在宏视图220内滚动,并且宏视图220返回静止。然后,过程300B返回到步骤305B。有利地,过程300B可以消除或减少在过程300A中可能发生的不想要的平移(例如,当用户暂时将他或她的注视转移到区域225之外的位置而无意平移到该位置时)。

2.2.缩放及其他功能

图4A-4C示出了根据一个实施例的用于执行诸如缩放等图像观看功能的示例过程。尽管过程400和450中的每个被示出为具有特定步骤布置和顺序,但是每个过程400和450可以以更少、更多或不同步骤以及不同步骤布置和/或顺序来实现。过程400和450可以由一个或多个处理器110执行。

在过程400中,在步骤405中,使用眼睛跟踪设备190重复检测用户在显示器180上的注视位置。步骤405可以与分别关于图3A和3B描述的步骤305A和305B相同或相似。

在步骤410中,处理器110确定在步骤405中检测到的用户的当前注视位置是否对应于显示器180上当前正被显示的图形用户界面内的输入的位置。例如,处理器110可以使用户在显示器180上的注视位置与图形用户界面上的位置相关,并且然后确定图形用户界面上的该位置是否在图形用户界面内的输入(例如,图标、按钮等)的边界内。如果用户的当前注视位置对应于输入(即,在步骤410中为“是”),则过程400进行到步骤420。否则,如果用户的当前注视位置与输入不对应(即,“在步骤410中为“否”),则过程400进行到步骤430。

在步骤420中,处理器110标识与用户的当前注视位置相对应的输入,并且针对该特定输入启动过程450(例如,过程450A或450B,具体取决于实施例或取决于输入)。例如,输入可以包括用于改变宏视图220的放大级别的缩放按钮。备选地,输入可以包括用于执行不同的二元函数(例如,改变宏视图220的亮度)或非二元函数的输入。

在步骤430中,处理器110停止在步骤420中针对特定输入先前已启动的任何过程450。如果当前没有正被执行的针对输入的过程450,则省略步骤430。在任何一种情况下,过程400返回到步骤405。

在过程450A中,处理器110在步骤455A中基于如使用眼动跟踪设备190检测到的用户的注视来检测用户头部的当前定向。例如,用户头部的定向可以包括向上倾斜、向下倾斜、向侧面倾斜等。

在步骤460中,处理器110确定用户头部的当前定向是否与第一定向匹配。例如,第一定向可以是向下倾斜。如果当前定向与第一定向匹配(即,在步骤460中为“是”),则过程450A进行到步骤465。在步骤465中,处理器110启动与第一定向相关联的第一功能。例如,在输入、第一定向和第一功能之间的关联可以存储在系统100的存储器中(例如,在主存储器115或辅存储器120中的表中)。另一方面,如果当前定向与第一定向不匹配(即,在步骤460中为“否”),则过程450A进行到步骤470。

在步骤470中,处理器110确定用户头部的当前定向是否与第二定向匹配。例如,第二定向可以是向上倾斜。如果当前定向与第二定向匹配(即,在步骤470中为“是”),则处理450A进行到步骤475。在步骤475中,处理器110启动与第二定向相关联的第二功能。例如,在输入、第二定向和第二功能之间的关联可以存储在系统100的存储器中(例如,在主存储器115或辅存储器120中的表中)。另一方面,如果当前定向与第二定向不匹配(即,在步骤470中为“否”),则过程450A进行到步骤480A。

在步骤480A中,处理器110停止在步骤465或步骤475中已启动的任何功能,并且返回到步骤455A。应当理解,可以为任何给定输入定义其他定向,并且可以将其他功能与这些定向和该输入相关联。例如,可以针对与第三功能相关联的第三定向(例如,向左倾斜)、与第四功能相关联的第四定向(例如,向右倾斜)等复制步骤460和465或步骤470和475。

作为过程450A的具体示例,第一定向可以包括用户头部的向下倾斜并且第一功能可以包括缩小(即,减小宏视图220的放大级别),并且第二定向可以包括用户头部的向上倾斜并且第二功能可以包括放大(即,增大宏视图220的放大级别)。因此,用户可以注视图形用户界面内的缩放输入,并且在注视缩放输入的同时,向下倾斜他或她的头部以减小宏视图220的放大级别,或者向上倾斜以增大宏视图220的放大级别。应当理解,在备选实施例中,第一功能可以包括放大,并且第二功能可以包括缩小。在任何一种情况下,用户都可以通过简单地不倾斜他或她的头部或注视在缩放输入之外来停止缩放功能。

在一个实施例中,处理器110可以基于用户头部的定向的角度的程度来确定执行功能的速度。使用上面的缩放示例,相较于较小的向下倾斜,较大的向下倾斜可以导致处理器110缩小速度更快,而相较于较小的向上倾斜,较大的向上倾斜可以导致处理器110放大速度更快。

在一个实施例中,至少一个输入可以仅与仅一个可能功能相关联。例如,图形用户界面可以包括用于在宏视图220内放大和缩小的单独输入、用于在宏视图220内向左、右、上或下平移的单独输入等。在这种情况下,可以使用过程450B代替处理器450A来进行输入。

在过程450B中,处理器110在步骤455B中基于如使用眼睛跟踪设备190检测到的用户的注视来检测用户头部的当前定向。步骤455B可以与步骤455A相同或相似。另外,处理器110可以将用户头部的当前定向与用户头部的一个或多个过去定向进行比较,以标识基于头部的手势(例如,向上倾斜、向下倾斜、点头、摇头等)。

在步骤490中,处理器110确定当用户注视在过程400的步骤410中所标识的输入时是否已经检测到预定手势。预定手势可以包括已经为该输入或总体上为所有输入预先定义的头部手势。作为示例,该手势可以是点头(例如,头部向下运动、头部向上运动、或头部向下和向上运动至少预定义次数或预定义时间段)。但是,也可以构想其他手势(例如,摇头)。不管所使用的特定手势如何,如果检测到手势(即,在步骤490中为“是”),则过程450B进行到步骤495。在步骤495中,处理器110启动与输入相关联的功能。另一方面,如果未检测到特定手势(即,在步骤490中为“否”),则处理450B进行到步骤480B。

在步骤480B中,处理器110停止在步骤495中已经开始的任何功能,并且返回到步骤455B。步骤480B可以与步骤480A相同或相似。

作为过程450B的具体示例,输入可以是与放大、缩小或选择预设放大级别的功能相关联的按钮,并且手势可以是点头。因此,用户可以注视图形用户界面内的按钮,并且在注视按钮的同时,点头以执行与该按钮相关联的功能。在该功能是放大的情况下,只要用户继续点头,处理器110就可以增加宏视图220的放大级别,而一旦用户停止点头,处理器110就可以停止放大。在该功能是缩小的情况下,只要用户继续点头,处理器110就可以减小宏视图220的放大级别,而一旦用户停止点头,处理器110就可以停止缩小。在该功能是选择预设放大级别的情况下,一旦检测到点头,处理器110就可以将宏视图220的放大级别改变为预设放大级别,而其他点头可能没有附加效果。

2.3.手势

本文中描述的很多过程利用由眼睛跟踪设备190检测到的基于用户的眼睛注视的手势检测。可以将多个手势定义为从眼睛跟踪设备190可获取的输出的独立组合。眼睛跟踪设备190可以被配置为检测并且输出沿着三个轴的头部定向的变化(例如,上下倾斜、左右倾斜和左右旋转)。值得注意的是,人可以独立于这三个角度注视数字切片图像中的同一点。因此,眼睛跟踪设备190可以能够检测并且输出与用户的注视位置无关的头部定向的变化。在一个实施例中,每个手势包括两个或多个简单且自然的运动的序列(例如,向上倾斜、向下倾斜、向左倾斜、向右倾斜、向左旋转、向右旋转等),该序列与定义其他手势的序列不混淆地相似。换言之,可以定义基本运动的多个唯一序列,该基本运动选自多个容易辨别的基本运动,其中每个唯一序列表示不同手势。

2.4.其他输入设备

应当理解,本文中描述的眼睛追踪功能可以在不包括其他输入装置的情况下使用,或者与其他输入装置结合使用。在其中眼睛跟踪功能与其他输入装置结合使用的实施例中,眼睛跟踪功能经由诸如鼠标和键盘等手动输入设备为传统输入提供备选。例如,除了使用眼睛跟踪设备190及其相关功能,用户还可以利用键盘快捷键和/或鼠标滚轮来放大和缩小。

因此,用户可以在按下键盘快捷键或滚动鼠标滚轮以放大或缩小显示器180上的特定点的同时注视该特定点。在这种情况下,处理器110可以基于来自眼睛跟踪设备190的输出来检测注视点的位置,并且基于来自键盘或鼠标的输出来检测将数字切片图像的放大级别增大或减小多少。以这种方式,用户利用眼睛跟踪设备190来代替手动输入设备的一些功能(例如,导航到或选择用于缩放的中心点),而不是手动输入设备的所有功能(例如,缩放)。

因此,每个特定用户可以决定利用或不利用由所公开的实施例实现的眼睛跟踪功能的程度。这使得用户可以根据其自己的需求和舒适度来调节其对眼动跟踪功能的使用。

2.5.分析

在一个实施例中,处理器110和/或外部系统(例如,远程服务器)可以收集和存储与每个用户(例如,病理学家)如何观看每个数字切片图像有关的统计数据。例如,每个系统100可以收集和存储从眼睛跟踪设备190获取的注视数据,并且通过一个或多个网络将该注视数据周期性地传输到远程服务器以进行聚合。远程服务器然后可以利用远程服务器的至少一个处理器来分析从多个系统100收集的所聚合的注视数据。

注视数据可以包括每个病理学家观看过的数字切片图像的区域、每个区域的停留时间(即,每个病理学家观看该区域的时间)、每个病理学家观看该区域的顺序等。在一个实施例中,所聚合的注视数据可以用于训练一个或多个机器学习算法以理解病理学家如何观看或“解析”数字切片图像。这些经训练的机器学习算法然后可以用于其他应用,诸如预测性观看。预测性观看可以包括基于病理学家正在观看的数字切片图像的当前区域和/或病理学家观看过的数字切片图像的过去区域,来预测病理学家接下来将观看的数字切片图像的区域。图像观看应用然后可以使用该信息自动检索预测的下一观看区域和/或将预测的下一观看区域加载到存储器中(例如,将用于预测的下一区域的图像数据从辅存储器120加载到主存储器115中以进行更快的检索),将数字切片图像的视图(例如,宏视图220)自动平移到预测的下一观看区域,等等。

如所公开的实施例所实现的,用于预测性观看的机器学习算法可以代替使用手势来观看数字切片图像。可以根据特定用户的观看习惯来训练机器学习算法,以便能够在观看数字切片图像时预测用户的意图。例如,训练数据集可以包括用户的眼睛跟踪数据的历史(包括用户的注视位置和/或头部定向)、以及在这些注视位置和/或头部定向处正被观看的像素数据。然后可以在该数据集上训练机器学习算法,以对用户的观看习惯进行建模,并且预测接下来在数字切片图像上平移和缩放的位置。因此,经训练的机器学习算法可以驱动显示器来管理用户的观看体验,从而代替对过程300、400和450的需求。例如,基于用户已经观看过的数字切片图像的过去部分,经训练的机器学习算法可以实时预测待被观看的数字切片图像的下一部分,并且处理器110可以自动平移到该下一部分(例如,没有任何有意识的手势)。备选地,处理器110可以建议待被观看的数字切片图像的下一部分,并且用户可以接受该建议,在这种情况下,处理器110将平移到该下一部分,或者拒绝该建议,在这种情况下,处理器110将不会平移到该下一部分。

提供对所公开的实施例的以上描述以使得本领域的任何技术人员能够实现或使用本发明。对这些实施例的各种修改对本领域技术人员而言将是很清楚的,并且在不脱离本发明的精神或范围的情况下,本文中描述的一般原理可以应用于其他实施例。因此,应当理解,本文中给出的描述和附图表示本发明的当前优选实施例,因此表示本发明广泛预期的主题。还应当理解,本发明的范围完全涵盖对于本领域技术人员而言将变得很清楚的其他实施例,并且因此本发明的范围不受限制。

诸如“A、B或C中的至少一个”、“A、B或C中的一个或多个”、“A、B和C中的至少一个”、“A、B和C中的一个或多个”和“A、B、C或其任何组合”等本文中描述的组合包括A、B和/或C的任何组合,并且可以包括多个A、多个B或多个C。具体地,诸如“A、B或C中的至少一个”、“A、B或C中的一个或多个”、“A、B和C中的至少一个”、“A、B和C中的一个或多个”和“A、B、C或其任何组合”等组合可以是仅A、仅B、仅C、A和B、A和C、B和C或A和B和C,并且任何这种组合都可以包含其成分A、B和/或C中的一个或多个成员。例如,A和B的组合可以包括一个A和多个B、多个A和一个B、或多个A和多个B。

相关技术
  • 用于数字病理学的眼睛跟踪的图像查看器
  • 操作眼睛跟踪装置的方法和提供主动照明控制用于改进的眼睛跟踪稳定性的眼睛跟踪装置
技术分类

06120112753009