利用结构化的用户点击点对解剖结构智能描轮廓的制作方法

文档序号:16812968发布日期:2019-02-10 13:55阅读:209来源:国知局
利用结构化的用户点击点对解剖结构智能描轮廓的制作方法

本公开一般涉及用于使用由用户提供的点击点来生成围绕解剖结构的轮廓的方法、系统以及装置。可以将本文中所描述的技术应用到例如各种解剖器官的研究。



背景技术:

在医学图像的分析期间,对特定的器官或来自图像的其余部分的其他解剖结构进行分段常常是重要的。一种执行该分段的方式是通过生成围绕解剖结构的轮廓。如本文中使用的术语“轮廓”指代表示或界定解剖对象的形状或形态的外形。存在用于以手动或智能的方式执行图像的描轮廓(contouring)的传统技术。

手动描轮廓工具包括全部取决于不同用户输入的绘画、徒手绘曲线绘图、基于点击点的多边形绘图、轻推工具等。手动描轮廓工具允许用户生成围绕对象的精确描轮廓。然而,将手动工具用于精确描轮廓常常是乏味且耗时的。例如,传统的基于点击点的描轮廓技术常常要求用户做出围绕解剖结构的许多点击点以确保该轮廓被正确定义。

智能描轮廓(或智能编辑)尝试通过调用智能计算机算法来克服手动描轮廓的限制,该智能计算机算法利用图像信息以推断轮廓。提供用户输入以引导这种推断,以希望利用有限数目的用户输入进行的最终描轮廓收敛至目标。然而,某时甚至在大量的用户输入的情况下,智能编辑也未能收敛,从而导致编辑低效。智能描轮廓算法的示例包括智能剪刀、活线(livewire)、智能刷、随机游走以及交互式图形切割。



技术实现要素:

本发明的实施例通过提供涉及用于利用结构化用户点击点对解剖结构智能描轮廓的技术的方法、系统和装置,来解决并克服上面的缺点和缺陷中的一个或多个。结构化点击点的使用保证了有效率的收敛行为。

根据一些实施例,一种用于基于用户点击点来生成解剖结构的轮廓的计算机实现方法包括:计算机显示包括解剖结构的图像并接收解剖结构的朝外的边缘上的第一位置处的第一点击点的第一用户选择。计算机应用轮廓推断算法以基于第一位置来生成围绕朝外的边缘的推断轮廓。在生成推断轮廓之后,计算机接收图像上的第二位置处的第二点击点的第二用户选择。然后,计算机在第一位置与第二位置之间的推断轮廓的段上创建视觉指示器,作为指示用户对该段的准确性的确认。附加地,计算机可以使用具有要求该段保持未修改的约束的轮廓推断算法来更新推断轮廓。

在前述方法的一些实施例中,通过用户按下计算机的输入设备的按钮来提供第一用户选择,并且在用户按下按钮的同时生成推断轮廓。在用户按下按钮的同时,计算机可以检测由用户对第一点击点从第一位置的移动,并基于第一点击点的更新位置来更新围绕朝外的边缘的推断轮廓。类似地,在前述方法的一些实施例中,通过用户按下计算机的输入设备的按钮来提供第二用户选择,并且在用户释放按钮之后生成视觉指示器。

在前述方法中创建视觉指示器之后,计算机可以接收图像上的一个或多个附加位置处的一个或多个附加点击点的一个或多个附加用户选择。然后,计算机可以更新视觉指示器以覆盖包括第一位置、第二位置以及所述一个或多个附加位置的推断轮廓的新段,作为指示用户对新段的准确性的确认。

在一些实施例中,该方法进一步包括:计算机确定第二位置不处于推断轮廓上并向用户提供第二位置不处于推断轮廓上的视觉警报。例如,如上面所指出,可以通过用户按下计算机的输入设备的按钮来提供第二用户选择。在用户按下按钮的同时,计算机可以检测由用户对第二点击点从第二位置到更新位置的移动,并确定更新位置处于推断轮廓上。此时,计算机可以更新视觉指示器以覆盖第一位置与更新位置之间的推断轮廓的段。

根据本发明的另一方面,在一些实施例中,一种用于基于用户点击点来生成解剖结构的轮廓的第二计算机实现方法包括:计算机显示包括解剖结构的图像并接收解剖结构的朝外的边缘上的第一位置处的第一点击点的第一用户选择。计算机应用轮廓推断算法以基于第一位置来生成围绕朝外的边缘的推断轮廓,并识别推断轮廓中的一个或多个泄漏。计算机接收与所述一个或多个泄漏相对应的位置处的附加点击点的附加用户选择。然后,计算机在基于附加点击点而定义的推断轮廓的段上创建视觉指示器。在该方法的一些实施例中,使用机器学习模型来识别推断轮廓中的所述一个或多个泄漏,所述机器学习模型是使用下述各项来训练的:(a)解剖结构的多个先前生成的图像;以及(b)通过将轮廓推断算法应用到所述多个先前生成的图像而生成的多个推断轮廓。

根据本发明的其他实施例,一种用于基于用户点击点来生成解剖结构的轮廓的制造品包括非暂时性有形计算机可读介质,所述非暂时性有形计算机可读介质保持用于执行包括下述各项的方法的计算机可执行指令:生成显示包括解剖结构的图像的图形用户界面(gui);以及接收解剖结构的朝外的边缘上的第一位置处的第一点击点的第一用户选择。该方法进一步包括:应用轮廓推断算法以基于第一位置来生成围绕朝外的边缘的推断轮廓;以及在生成推断轮廓之后,接收图像上的第二位置处的第二点击点的第二用户选择。在gui中在第一位置与第二位置之间的推断轮廓的段上创建视觉指示器,作为指示用户对该段的准确性的确认。

将使本发明的附加特征和优势从参考附图而继续进行的对说明性实施例的以下详细描述中显而易见。

附图说明

当结合附图阅读时,从以下详细描述中最佳地理解本发明的前述和其他方面。出于图示本发明的目的,在附图中示出了目前优选的实施例,然而应当理解的是,本发明不限于所公开的具体手段。附图中所包括的是以下各图:

图1图示了根据一些实施例的用于基于用户点击点来生成解剖结构的轮廓的方法;

图2a提供了具有解剖结构的图像的示例;

图2b提供了围绕图2a中所示出的解剖结构的推断轮廓的示例;

图2c提供了围绕图2a中所示出的解剖结构的推断轮廓的示例;

图3a提供了围绕图2a中所示出的解剖结构的推断轮廓的示例,该推断轮廓具有指示轮廓的部分的正确性的用户定义的段;

图3b提供了围绕图2a中所示出的解剖结构的推断轮廓的示例,该推断轮廓具有指示轮廓的部分的正确性的用户定义的段;

图4a示出了骨骼的图像;

图4b示出了基于1个用户点击点、围绕图4a中所示出的骨骼而推断出的轮廓;

图4c示出了基于2个用户点击点、围绕图4a中所示出的骨骼而推断出的轮廓;

图4d示出了基于3个用户点击点、围绕图4a中所示出的骨骼而推断出的轮廓;

图4e示出了基于4个用户点击点、围绕图4a中所示出的骨骼而推断出的轮廓;

图4f示出了基于足以示出与手动点击可比较的结果的数目的点击点、围绕图4a中所示出的骨骼而推断出的轮廓;

图4g示出了基于手动点击而创建的、围绕图4a中所示出的骨骼而推断出的轮廓;

图5针对皮质骨解剖对象比较了本文中所描述的轮廓推断技术和手动点击技术;

图6针对骶骨解剖对象比较了本文中所描述的轮廓推断技术和手动点击技术;

图7针对膀胱解剖对象比较了本文中所描述的轮廓推断技术和手动点击技术;

图8a示出了多个解剖对象和示出泄漏的推断轮廓的图;

图8b示出了图8a中所示出的图像中的泄漏的第一校正;

图8c示出了图8a中所示出的图像中的泄漏的第二校正;

图8d示出了图8a中所示出的图像中的泄漏的第三校正;以及

图9提供了可以被利用以实现机器学习模型以及本文中所讨论的轮廓推断技术的其他方面的并行处理存储器平台的示例。

具体实施方式

本发明的实施例通过提供涉及用于利用结构化用户点击点对解剖结构智能描轮廓的技术的方法、系统和装置,来解决和克服上面的缺点和缺陷中的一个或多个。本文中所描述的技术使用具有基于用户供给的点击点的约束的轮廓推断算法。轮廓推断算法基于用户供给的点击点和底层图像中的特征来生成围绕解剖对象的轮廓。然而,围绕该对象而生成的轮廓随着点击点被添加而不断地改变。由此,如果点击点丢失,则对于点击点的集合而言准确的轮廓的段可能不是准确的。为了确保轮廓的收敛,本文中所描述的技术允许用户使用两个或更多个点击点将轮廓的段定义为准确的。定义段的点击点在本文中被称作“结构化”点击点。一旦由用户供给结构化点击点,这些段就是“固定的”,并且随着附加点击点被添加,固定的段保持不变,同时轮廓推断算法被应用到轮廓的其余部分。以该方式,可以利用由用户定义的约束来增强算法的总体准确性。

图1图示了根据一些实施例的用于基于用户点击点来生成解剖结构的轮廓的方法100。在步骤103处开始,在图形用户界面(gui)中向用户呈现包括解剖结构的图像。一般地,任何类型的显示器可以用于呈现该图像。例如,在其中方法100被实现在台式计算机上的实施例中,显示器可以是计算机的监视器。类似地,在方法100被实现在移动设备上的情况下,显示器可以是该设备的触摸屏。应当注意,可以本地实现或通过网络(例如,在基于云的环境中)实现方法100。对于基于网络的实现,可以例如使用交互式网页或流送交互式应用来实现步骤103。图2a提供了具有解剖结构的图像的示例。在以下描述中,该示例将被用于解释本发明的附加细节。

继续参考图1、步骤105,用户选择解剖结构的朝外的边缘上的第一位置处的第一点击点。然后向计算机提供该用户选择。在一些实施例中,当指针位于期望位置处时,通过用户确实点击鼠标或类似设备来创建“点击点”。在其他实施例中,“点击点”可以由更加专用于计算环境的其他技术来提供。例如,在利用缺少鼠标的触摸屏计算系统实现该方法的情况下,用户可以通过在期望位置处触摸屏幕来提供“点击点”。

在步骤110处,应用轮廓推断算法以基于第一位置来生成围绕朝外的边缘的推断轮廓。可以在步骤110处应用本领域中一般已知的各种轮廓推断算法。在文章“bilateralhermiteradialbasisfunctionsforcontour-basedvolumesegmentation.”computergraphicsforum,32(2pt1),123-132.doi:10.1111/cgf.12032中描述了轮廓推断算法的一个示例。图2b和2c示出了可围绕图2a中示出的解剖结构而生成的两个可能的推断轮廓。每个图中的点击点被示为具有通过中心的“x”的白色圆圈。在其他实施例中,(一个或多个)点击点在被呈现给用户时可以被以不同方式可视化。这些图中的推断轮廓被示为粗黑虚线。

在一些实施例中,在用户正在对点击点进行点击(或者在触摸屏实现的情况下,正在触摸)的同时,生成推断轮廓。也就是说,当用户按下按钮时,轮廓推断算法执行。如果在按钮被按下的同时用户移动点击点,则可以通过利用点击点的新位置重新执行该算法来实时更新推断轮廓。

在生成推断轮廓之后,在步骤115处,用户在图像上的第二位置处提供第二点击点。然后,向计算机提供该第二用户选择。如果第二位置不处于推断轮廓上,则可以向用户提供第二位置不处于推断轮廓上的警报。例如,可以向用户呈现诸如弹出之类的视觉警报。可替换地,视觉警报可以更微妙。例如,在一个实施例中,当被定位在推断轮廓上方时,指针以一种颜色(例如,白色)呈现在显示器上,并且当被定位在推断轮廓外时,指针以另一种颜色(例如,红色)呈现。一旦用户释放第二点击点,就在步骤120处,在第一位置与第二位置之间的推断轮廓的段上创建视觉指示器。该视觉指示意图指示用户对该段的准确性的确认。

图3a和3b图示了在步骤120之后图像可以如何被修改。推断轮廓仍被示为粗黑虚线,但是这里,段由两个点击点来定义。该段以粗黑实线示出。要注意的是,该示例中的两个点击点可以定义两个不同段,一个围绕解剖结构的顶部分(如图3a中所示)以及围绕该结构的内部分(如图3b中所示)。为了支持该功能,用户界面可以给用户提供在这两个选项之间交替的方式。例如,在一个实施例中,用户可以在第二点正在被按下的同时通过执行标签-切换(即,在用户的键盘上按压标签(tab))来在选项之间切换。应当注意,尽管图3a和3b将视觉指示器示为黑实线,但是本文中所描述的技术不限于此。在其他实施例中,可以以不同颜色呈现推断轮廓和用户定义的段。

返回至图1,在步骤125处,使用具有要求该段保持未修改的约束的轮廓推断算法来更新推断轮廓。如上面所指出,可以在生成推断轮廓时使用传统轮廓推断算法。在这种算法允许由用户供给约束的情况下,可以直接使用在步骤120处定义的段。然而,如果算法不允许明确地添加约束,则可以基于算法的操作特性来人工地添加约束。例如,考虑基于强度的算法,该算法基于强度值来生成推断轮廓。考虑到图2a中的图像,它可以使用点击点的强度值并使用基于邻居的算法以找到具有与点击点相比相同或类似的强度值的邻接像素。在该情形中,可以通过改变环绕该段的解剖结构的区的强度值来应用约束。例如,如果点击点具有高强度值(呈现为白色),则到算法的输入可以人工地降低围绕该段的解剖结构的区的强度,使得该区将被视为与解剖结构分离。

在步骤130处,用户选择图像上的一个或多个附加位置处的一个或多个附加点击点。然后,在步骤135处,再次更新视觉指示器以覆盖包括第一位置、第二位置以及该一个或多个附加位置的推断轮廓的新段。该视觉指示意图指示用户对新段的准确性的确认。

图4a-4g图示了与传统手动编辑技术相比利用各种数目的点击点的本文中所描述的轮廓推断技术。更具体地,图a示出了其中解剖结构为骨骼的原始图像。图b-e分别示出了利用1个、2个、3个和4个点而推断出的轮廓,并且图4f示出了使用本文中所描述的技术的最终轮廓。为了比较,图4g示出了通过手动点击32个点而产生的结果。如这些图中所示,利用4个点击点,用户能够对骨骼描轮廓,而纯手动描轮廓耗费多达32个点。这些图演示了:当图像具有良好的对比度时,推断算法进行良好的工作;否则,可能需要用户输入以通过(一个或多个)模糊区域。

图5比较了当编辑具有变化的几何复杂度和不同对比度水平的对象时的本文中所描述的轮廓推断技术和手动点击技术。对于像如图5中的最左边图像中所示的皮质骨之类的具有良好图像对比度的简单对象,单个点击可能是足够的,如中间图像中所示的那样。手动点击要求19个点,如图5中的最右边图像中所示的那样。

图6示出了针对骶骨的类似比较。如顶部图像中所示,骶骨是比皮质骨更复杂的对象,这是因为它具有变化的图像对比度。本文中所描述的轮廓推断技术要求24个点击点以准确地映射骶骨(如中间图像中所示);相反,手动点击要求43个点击点(如底部图像中所示)。

图7示出了针对膀胱的轮廓推断和手动点击的比较。在图7的顶部处示出的原始图像示出了与图5和6中示出的解剖对象相比膀胱具有极弱的对比度。然而,即使在该实例中,与针对手动轮廓识别而要求的21个点击点相比,轮廓推断仅要求12个点击点。

图8a-8d示出了使用本文中所描述的轮廓推断技术的轮廓泄漏的示例。简言之,通过点击包含泄漏的开始点和结束点来固定该泄漏。然后,可以在中间添加点击点以固定泄漏。在一些实施例中,在对图像和所提出的轮廓进行视觉检查的同时,由用户手动检测泄漏。在其他实施例中,可以使用在大量的图像和轮廓上训练的机器学习模型以自动识别泄漏。在使用自动识别的情况下,可以针对用户而指定所识别的泄漏,使得每一个泄漏可以由用户校正或忽略。在一些实施例中,可以进一步训练机器学习以提出针对每一个泄漏的校正,该校正然后可以由用户(直接地或在修改的情况下)使用。

图8a示出了在执行轮廓推断算法后的原始图像。这里,由于轮廓泄漏,两个解剖对象被单个轮廓所覆盖。在图8b中,用户添加三个点击点以创建段(利用虚线示出),以便校正这两个对象之间的特定泄漏。在图8c中,在图8b中的校正之后,示出泄漏的第二个对象的部分被校正(再次利用虚线示出)。图8d示出了对右边对象的右下角中的泄漏的更实质的校正。

本文中所描述的轮廓推断技术的一个优势是它的计算时间。一般地,该技术具有关于计算资源的适度要求,且可以使用本领域中一般已知的各种计算平台(例如服务器计算机、台式计算机等)而实现。附加地,轮廓推断技术容易地适用于2d或3d图像。对于后者,在并行处理架构上实现轮廓推断技术的部分可以是有利的。图9提供了并行处理存储器平台900的示例,并行处理存储器平台900可以被利用以实现机器学习模型以及本文中所讨论的轮廓推断技术的其他方面。利用这种平台的计算能力,可以针对各种复杂度和定义的图像来定义轮廓。此外,该计算能力还将允许通过在视频的每一帧上重复执行轮廓推断算法来在视频图像上执行轮廓推断。

可以在其中使用nvidiacuda™(或类似的并行计算平台)的本发明实施例中使用图9中所示的示例平台900。该架构包括经由总线915(例如,pcie总线)而连接的主机计算单元(“主机”)905和图形处理单元(gpu)设备(“设备”)910。主机905包括中央处理单元或“cpu”(在图9中未示出)以及对cpu来说可访问的主机存储器925。设备910包括图形处理单元(gpu)以及其关联的存储器920,在本文中被称作设备存储器。设备存储器920可以包括各种类型的存储器,每一种都针对不同存储器使用而优化。例如,在一些实施例中,设备存储器包括全局存储器、常量存储器以及纹理存储器。

可以在平台900上执行大数据平台和/或大仿真平台(见图9)的并行部分作为“设备内核”或者仅“内核”。内核包括被配置成执行特定功能的参数化代码。并行计算平台被配置成基于由用户提供的参数、设置和其他选择来跨平台900以最优的方式执行这些内核。附加地,在一些实施例中,并行计算平台可以包括附加功能以允许利用由用户提供的最小输入以最优的方式自动处理内核。

由线程块的网格(下面更详细地描述)执行针对每一个内核而要求的处理。使用同时内核执行、流以及与轻量级事件的同步,图9的平台900(或类似的架构)可以用于对在训练或执行本文中所讨论的轮廓推断算法时执行的基于机器模型的操作的部分进行并行化。附加地,同时执行可以被用于在视频图像上的轮廓推断期间跟踪从帧到帧的段定位。

设备910包括表示设备910的计算单元的一个或多个线程块930。术语线程块指代一组线程,其可以经由共享存储器来协作并同步它们的执行以协调存储器访问。例如,在图9中,线程940、945和950在线程块930中操作并访问共享存储器935。取决于所使用的并行计算平台,可以在网格结构中组织线程块。计算或一系列计算然后可以被映射到该网格上。例如,在利用cuda的实施例中,计算可以被映射在一维、二维或三维网格上。每一个网格包含多个线程块,并且每一个线程块包含多个线程。例如,在图9中,在具有m+1个行和n+1个列的二维网格结构中组织线程块930。一般地,相同网格的不同线程块中的线程不可以彼此进行通信或同步。然而,相同网格中的线程块可以同时在gpu内的相同多处理器上运行。每一个线程块中的线程数目可以由硬件或软件约束来限制。

继续参考图9,寄存器955、960和965表示可用于线程块930的快速存储器。每一个寄存器仅可由单个线程访问。因此,例如,寄存器955可以仅由线程940访问。相反,共享存储器是每线程块分配的,因此,该块中的所有线程可访问相同共享存储器。因此,共享存储器935被设计成由线程块930中的每一个线程940、945和950并行访问。线程可以访问由相同线程块(例如,线程块930)内的其他线程从设备存储器920加载的共享存储器935中的数据。设备存储器920由网格的所有块访问,且可以使用例如动态随机存取存储器(dram)而实现。

每一个线程可以具有一个或多个存储器访问级别。例如,在图9的平台900中,每一个线程可以具有三个存储器访问级别。第一,每一个线程940、945、950可以读取和写入到其对应的寄存器955、960和965。寄存器提供了到线程的最快存储器访问,这是因为不存在同步问题并且寄存器一般是接近于执行线程的多处理器定位的。第二,线程块930中的每一个线程940、945、950可以读取和写入数据到与该块930相对应的共享存储器935。一般地,由于在线程块中的所有线程之间对访问进行同步的需要,线程访问共享存储器所需的时间超过寄存器访问的时间。然而,像线程块中的寄存器那样,共享存储器典型地是接近于执行线程的多处理器定位的。第三存储器访问级别允许设备910上的所有线程读取和/或写入到设备存储器。设备存储器要求最长时间以进行访问,这是因为必须跨在设备上操作的线程块对访问进行同步。因此,在一些实施例中,可以使用本领域中一般已知的数据局部性(locality)技术来将图像划分成区段。然后,可以使用寄存器存储器来并行地处理图像的每一个区段,其中仅如对结果进行组合以提供针对最终数据集的结果所必需的那样使用共享和设备存储器。

可以利用硬件和软件的任何组合来实现本公开的实施例。例如,除图9中所呈现的并行处理架构之外,标准计算平台(例如服务器、台式计算机等)可以特殊地被配置成执行本文中所讨论的技术。附加地,本公开的实施例可以被包括在具有例如计算机可读非暂时性介质的制造品(例如,一个或多个计算机程序产品)中。该介质在其中可能已经体现了用于提供并促进本公开的实施例的机制的计算机可读程序代码。该制造品可以作为计算机系统的一部分而被包括或者可以被分离地销售。

尽管本文中已经公开了各种方面和实施例,但是其他方面和实施例对本领域技术人员来说将是显而易见的。本文中所公开的各种方面和实施例出于说明的目的,且不意图进行限制,其中真实的范围和精神由所附权利要求指示。

如本文中所使用的可执行应用包括用于调节处理器以实现诸如操作系统、情境数据获取系统或其他信息处理系统的功能之类的预定功能(例如,响应于用户命令或输入)的代码或机器可读指令。可执行过程是用于执行一个或多个特定过程的代码或机器可读指令的段、子例程、或者代码或可执行应用部分的其他不同区段。这些过程可以包括接收输入数据和/或参数、在所接收到的输入数据上执行操作和/或响应于所接收到的输入参数而执行功能、以及提供所得的输出数据和/或参数。

如本文中所使用的图形用户界面(gui)包括一个或多个显示图像,该一个或多个显示图像由显示处理器生成且实现与处理器或其他设备的用户交互以及关联的数据获取和处理功能。gui还包括可执行过程或可执行应用。可执行过程或可执行应用调节显示处理器以生成表示gui显示图像的信号。这些信号被供给到显示设备,该显示设备显示图像以供用户观看。在可执行过程或可执行应用的控制下,处理器响应于从输入设备接收到的信号而操纵gui显示图像。以该方式,用户可以使用输入设备来与显示图像进行交互,从而实现与处理器或其他设备的用户交互。

可以自动地或者完全或部分地响应于用户命令而执行本文中的功能和过程步骤。自动执行的活动(包括步骤)是在用户不直接发起该活动的情况下响应于一个或多个可执行指令或设备操作而执行的。

各图的系统和过程不是排他的。可以根据本发明的原理来导出其他系统、过程和菜单以实现相同目的。尽管已经参考特定实施例描述了本发明,但是要理解的是,本文中示出和描述的实施例和变型仅出于说明目的。在不脱离本发明的范围的情况下,对当前设计的修改可以由本领域技术人员实现。如本文中所描述的那样,可以使用硬件组件、软件组件和/或其组合来实现各种系统、子系统、代理、管理器和过程。不应在35u.s.c.112第六款的规定下理解本文中的权利要求要素,除非使用短语“用于……的装置”明确地记载该要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1