三维扫描中的运动补偿

申请号 CN201380057601.X 申请日 2013-10-25 公开(公告)号 CN104837436B 公开(公告)日 2017-03-08
申请人 阿莱恩技术有限公司; 发明人 阿迪·莱文;
摘要 本公开提供了一种计算装置实施方法、计算装置可读介质和用于 三维扫描 中的 运动补偿 的系统。运动补偿能够包括:接收齿列的三维(3D)扫描、估计从一次扫描到另一次扫描的运动轨迹、和通过补偿运动轨迹来计算纠正的扫描。估计运动轨迹能够包括下面的一个以上:将扫描注册到另一个扫描,并且确定扫描之间的移动量是否在注册 阈值 内;基于在扫描期间采集的连续的二维(2D)图像之间的局部运动确定光流,利用光流估计并且改善扫描中的点的运动轨迹;以及基于 位置 追踪装置的输入估计扫描期间的3D 扫描仪 的移动量作为刚体变换。
权利要求

1.一种系统,包括:
扫描模,该扫描模块包括口内三维(3D)扫描仪;和
处理模块,该处理模块结合到所述扫描模块,从而
接收齿列的多个三维(3D)扫描;
估计从多个所述扫描中的特定扫描到随后的扫描的运动轨迹,其中,所述估计包括下面中的一个以上:
将所述特定扫描注册到先前的扫描和所述随后的扫描中的至少一个扫描,确定所述先前的扫描、所述特定扫描和所述随后的扫描之间的移动量是否在注册阈值内,并且基于所述注册来估计所述运动轨迹;
使用在所述齿列的所述特定扫描期间采集的所述齿列的多个二维(2D)图像的数据,基于所述多个2D图像中的连续图像之间的局部运动确定光流,估计所述特定扫描中的点的运动轨迹,并且利用所述光流改善所估计的所述运动轨迹,以对估计的运动轨迹的正确性进行估计;以及
基于来自连接到所述3D扫描仪的至少一个位置追踪装置的输入,估计在所述特定扫描期间的所述3D扫描仪的移动量,作为刚体变换;以及
通过补偿所述运动轨迹来计算纠正的扫描。
2.根据权利要求1所述的系统,其中,所述处理模块结合到所述扫描模块,从而将所述先前的扫描相对于所述特定扫描对齐;
基于所述对齐来确定所述先前的扫描相对于所述特定扫描的重叠部分;以及基于所述重叠部分和/或非重叠部分确定所述先前的扫描与所述特定扫描之间的移动量,以将所述特定扫描注册到所述先前的扫描和所述随后的扫描中的至少一个扫描。
3.根据权利要求1所述的系统,其中,所述系统包括结合到所述3D扫描仪的2D成像器,并且其中,所述处理模块结合到所述扫描模块,以基于来自至少一个所述位置追踪装置的输入估计所述3D扫描仪的速度,并且响应于表示所述3D扫描仪不移动的来自所述2D成像器的输入,将估计的所述速度重新设定为零。
4.根据权利要求3所述的系统,其中,所述处理模块结合到所述扫描模块,以响应于表示所述3D扫描仪不移动的、来自包括多个2D图像的所述2D成像器的输入,将估计的所述速度在六自由度上重新设定为零。
5.根据权利要求1所述的系统,其中,所述3D扫描仪处于第一参考系,并且其中,所述扫描模块包括处于第二参考系中的2D成像器,所述第二参考系相对于所述第一参考系固定;
并且
其中,所述处理模块结合到所述扫描模块,从而
接收在所述齿列的特定扫描期间由2D成像器采集的所述齿列的多个2D图像的数据,其中,所述多个2D图像中的每个图像都与所述特定扫描中的各个时间相关联;并且利用改善的所述估计的运动轨迹来补偿所述扫描期间的运动。
6.根据权利要求5所述的系统,其中,所述处理模块结合到所述扫描模块,从而将所述点从所述扫描的坐标系映射到所述图像的坐标系,以生成所述点的2D轨迹;
对生成的所述2D轨迹求微分,以确定所述点的多个速度元素;
将所述2D轨迹和所述多个速度元素应用到所述光流;以及
对在所述扫描中的参考时间与所述扫描中的点的记录时间之间的、具有应用的所述2D轨迹和所述多个速度元素的所述光流求平方和,以对估计的运动轨迹的正确性进行估计。
7.根据权利要求6的系统,其中,所述处理模块结合到所述扫描模块,从而基于具有应用的所述2D轨迹和所述多个速度元素的所述光流,使处置所述扫描中的各个点处的不精确轨迹的目标函数最小化,以改善所述估计的运动轨迹;并且调整所述2D轨迹,以处置不精确轨迹。
8.一种计算机实施的方法,包括:
接收来自由三维(3D)扫描仪采集的齿列的3D扫描的第一参考系中的第一数据;
接收来自由二维(2D)成像器在所述齿列的扫描期间采集的所述齿列的多个2D图像的第二参考系中的第二数据,该第二参考系相对于所述第一参考系固定,其中,所述多个2D图像中的每个图像均与所述扫描中的各个时间相关联;
基于所述多个2D图像中的连续的图像之间的局部运动确定光流;
估计所述扫描中的点的运动轨迹;
利用所述光流改善所述估计的运动轨迹,以对估计的运动轨迹的正确性进行估计;和利用改善的所述估计的运动轨迹对所述扫描期间的运动进行补偿;
其中,该方法由计算机执行。
9.根据权利要求8所述的方法,其中,确定所述光流包括:基于两个连续的图像之间的点的位置的变化并且基于所述两个连续的图像之间的时间的变化,计算所述两个连续的图像之间的局部运动。
10.根据权利要求9所述的方法,其中,计算所述局部运动包括基于所述点的位置的变化计算2D运动向量。
11.根据权利要求8所述的方法,其中,估计所述扫描中的所述点的运动轨迹包括使用依据所述扫描中的时间的点的刚体变换。
12.根据权利要求11所述的方法,其中,所述方法包括:限定所述刚体变换,使得将所述刚体变换应用到所述点,而将所述点从所述扫描中的参考时间的坐标系映射到所述扫描中的所述点的记录时间的坐标系。
13.根据权利要求12所述的方法,其中,补偿所述扫描期间的运动包括:将逆刚体变换应用到所述扫描中的点,以将所述点从所述扫描中的所述点的记录时间映射到所述扫描中的所述参考时间。
14.根据权利要求13所述的方法,其中,所述参考时间是所述扫描的中间时间。
15.根据权利要求8所述的方法,其中,对估计的运动轨迹的正确性进行估计包括:
将所述点从所述扫描的坐标系映射到所述2D扫描的坐标系,以生成所述点的2D轨迹,对生成的所述2D轨迹求微分,以确定所述点的多个速度元素;
将所述2D轨迹和所述多个速度元素应用到所述光流;以及
对在所述扫描中的参考时间与所述扫描中的所述点的记录时间之间的、具有应用的所述2D轨迹和所述多个速度元素的所述光流求平方和。
16.根据权利要求15所述的方法,其中,改善所述估计的运动轨迹包括:基于具有应用的所述2D轨迹和所述多个速度元素的所述光流,使处置所述扫描中的各个点处的不精确轨迹的目标函数最小化。
17.根据权利要求15所述的方法,其中,所述方法包括:调整所述2D轨迹,以处置不精确轨迹。
18.根据权利要求8所述的方法,其中,估计所述运动轨迹包括:
仅基于所述光流估计总体速度向量;和
将所述总体运动向量映射到包括所述估计的运动轨迹的横向运动轨迹。
19.根据权利要求8所述的方法,其中,所述方法包括:在确定所述光流之前,使用确定所述扫描中的哪些点在所述多个2D图像中的特定图像中可见的启发法。
20.一种系统,包括:
扫描模块,该扫描模块包括:
口内三维(3D)扫描仪;和
结合到所述3D扫描仪的至少一个位置追踪装置,和
处理模块,该处理模块结合到所述扫描模块,从而
基于来自至少一个所述位置追踪装置的输入,估计在扫描期间的所述3D扫描仪的移动量,作为刚体变换;和
通过将逆刚体变换应用到包括所述扫描的多个点,补偿移动量,
其中,所述扫描模块包括结合到所述3D扫描仪的二维(2D)成像器;并且
所述处理模块结合到所述扫描模块,以仅基于所述至少一个位置追踪装置的输入和所述2D成像器的输入来追踪所述3D扫描仪的运动。
21.根据权利要求20所述的系统,其中,所述至少一个位置追踪装置包括测量所述3D扫描仪的速度的陀螺仪
22.根据权利要求20所述的系统,其中,所述至少一个位置追踪装置包括测量所述3D扫描仪的加速度的加速计。
23.根据权利要求20所述的系统,其中
所述扫描模块包括结合到所述3D扫描仪并且相对于所述3D扫描仪固定的二维(2D)成像器;并且
所述处理模块结合到所述扫描模块,以基于所述至少一个位置追踪装置的输入估计所述3D扫描仪的速度,并且响应于表示所述3D扫描仪不移动的所述2D成像器的输入,将估计的速度重新设定为零。
24.根据权利要求23所述的系统,其中,所述处理模块结合到所述扫描模块,以响应于表示所述3D扫描仪不移动的包括多个2D图像的所述2D成像器的输入,将所述估计的速度在六自由度上重新设定为零。

说明书全文

三维扫描中的运动补偿

背景技术

[0001] 本公开通常涉及牙科治疗领域。更具体地,本公开涉及用于三维扫描的运动补偿的方法、装置和系统。
[0002] 牙科治疗可能包括,例如,恢复性和/或矫正过程。恢复性过程可以设计成将义齿(例如,牙冠、桥镶嵌物、高嵌体贴面等)种入病人的口中。矫正过程可以包括将错位的牙齿重新定位和改变咬合构造,以改善外观和/或牙齿功能。例如,能够通过在一定时期内将控制应用到一个以上的牙齿来完成矫正重新定位。
[0003] 作为一个实例,可以通过使用用于重新对齐牙齿的定位装置的牙科过程来提供矫正重新定位。这样的装置可以采用称为“调整器”的具有弹性特性的材料的薄壳,其通常与病人的牙齿一致但是与当前的牙齿构造稍微不对齐。
[0004] 将这样的装置放置在牙齿上可以在特定位置提供控制力,以逐渐使牙齿移入新的构造。利用渐进的构造的连续装置重复该过程能够使牙齿通过一系列的中间布置移动到最终期望的布置。
[0005] 这样的系统通常采用重量轻和/或透明的材料,以提供作为能够连续使用的一组装置,使得随着牙齿移动,能够采用新的装置以进一步移动牙齿。
[0006] 可以使用扫描系统以获得表示病人的处于其当前(即,扫描时)位置的牙齿的数字数据,在这里将考虑该数据作为表示初始的牙齿布置的初始数字数据组(IDDS)。该IDDS可以以各种方式得到。这能够用于牙科记录或治疗的目的。
[0007] 例如,可以直接或间接(例如,通过使用模型或印模)对病人的牙齿成像,从而使用直接和/或间接的结构光、X射线、三维X射线、激光、有损扫描、计算装置辅助的层析图像或数据组、磁共振图像、口内扫描技术、摄影重建和/或其它成像技术来获得数字数据。该IDDS能够包括整体口腔牙齿布置、一些牙齿但不是口腔中的所有牙齿,和/或该IDDS可以包括单个牙齿。附图说明
[0008] 图1A-1B图示出根据本公开的一些实施例的口内扫描仪的选择性透视图。
[0009] 图2是图示出根据本公开的一些实施例的扫描仪相对于扫描对象的运动的图。
[0010] 图3是图示出根据本公开的一些实施例的扫描仪的图。
[0011] 图4是图示出根据本公开的一些实施例的使用3D和2D数据的运动补偿的方法的流程图
[0012] 图5是图示出根据本公开的一些实施例的使用3D数据的运动补偿的方法的流程图。
[0013] 图6图示出根据本公开的一些实施例的3D扫描中的运动补偿的系统。

具体实施方式

[0014] 例如,可以使用X光、激光扫描仪、有损扫描仪、结构光和/或其它范围采集系统扫描病人的单个牙齿或多个牙齿的正模型和/或负印模,以产生IDDS。由范围采集系统产生的数据组可以转换为其它格式,以与用于操控数据组内的图像的软件兼容,如在这里所述。
[0015] 是否直接扫描病人的齿列、或扫描病人的齿列的模型或印模,期望地在使扫描仪相对于牙齿移动的同时支持扫描。这样的支持能够对视频扫描(例如,连续序列的图像)和点和拍摄扫描(例如,一些离散的图像)都有益。
[0016] 利用点和拍摄扫描,使用者可以触发扫描。在触发扫描之后,快速扫描能够有益于降低扫描时的在慢速扫描期间(例如,在扫描开始和完成之间的时间期间)可能产生的可能由于扫描仪的运动而引起的失真。因为使用者试图使扫描仪保持稳定,所以合理的是:假设与点和拍摄扫描相关的运动比较小(例如,与视频扫描期间的运动相比)(例如,与视频扫描期间的运动相反)。
[0017] 在扫描期间,慢速扫描能够导致扫描仪相对于对象的大移动,这将导致扫描结果的运动(运动模糊)。作为在这里使用的,慢速扫描不是指扫描期间的长曝光。而是,慢速扫描可以表示:相对长的时间段用于在单个3D扫描期间采集多个单个图像。从而,其需要相对长的时间(例如,250-400毫秒(msec))来获取3D扫描。每个图像自身都可能或不可能遭受运动模糊。然而,在包括3D扫描的扫描过程中的运动的影响可以是原始图像之间的相对位置未知,从而引起几何失真(例如,由于原始图像的说明,这可以假设图像之间的特定相对位置)。然而,快速扫描仪更难以完成(例如,可能要求更昂贵和/或高级的硬件、并且要求相对于慢速扫描仪的更多和/或更快的计算能力)。除非另外说明,否则将在这里使用的术语扫描认为是视频扫描以及点和拍摄扫描中的任一者或两者。
[0018] 利用连续扫描,扫描仪能够在特定量的时间内自动进行特定数量的扫描(例如,每秒x数量的扫描)。合理的是:假设扫描仪速度是大致每秒(sec)五毫米。然而,即使利用50msec的快速扫描,这仍能够包括在一些实施中的250微米的扫描仪偏移。从而,即使对于快速扫描的视频扫描,运动补偿也是有益的。
[0019] 作为在这里使用的,运动检测是指确定扫描仪是否相对于物体显著移动。在一些实施例中,能够拒绝带有检测的运动的扫描。作为在这里使用的,运动补偿是指纠正由于扫描仪的运动而引起的扫描中的失真。运动补偿的实例能够包括:估计扫描仪的空间轨迹(例如,扫描仪在空间中如何移动),作为在每个单个扫描持续时间中的时间的函数(例如,作为每个扫描的时间的功能)。这样的信息能够用于补偿扫描中的失真。在一些实施例中,3D扫描的结果能够是表示扫描对象(例如,病人的齿列)的点。运动补偿能够应用于点云,以纠正的扫描时产生的失真。
[0020] 在运动补偿时可能产生的一些困难包括复杂运动(例如,扫描仪可能以六自由度和/或不稳定的速度移动)。这对于手持扫描仪来说尤其真实,手持扫描仪可能接触病人的牙齿,其中摩擦和/或碰撞能够引起突然加速。其他困难包括在扫描期间病人的颌移动。本公开的一些实施例包括扫描仪中的位置跟踪装置(例如,加速计和/或陀螺仪、以及其他的惯性装置、无线装置、或其它装置)的使用,以帮助扫描仪的测量移动,但是这样的装置不能处理病人的颌的移动。另一个困难可以包括病人的软组织(例如,舌头、嘴唇、面颊)的运动,这可能使用于计算扫描仪相对于牙齿的运动的一些光学方法混乱。
[0021] 本公开提供了计算装置实施方法、计算装置可读介质和用于三维扫描的运动补偿的系统。运动补偿能够包括:接收齿列的三维(3D)扫描、估计从一次扫描到另一次扫描的运动轨迹、和通过补偿运动轨迹而计算纠正的扫描。估计运动轨迹可以包括以下的一个以上:注册(registering)一次扫描到另一次扫描,并且确定扫描之间的移动量是否在注册阈值内;基于在扫描期间采集的连续的二维(2D)图像之间的局部运动来确定光流,使用光流估计并且改善扫描中的点的运动轨迹,并且基于位置追踪装置的输入估计扫描期间的3D扫描仪的移动量作为刚体变换。
[0022] 在一些实施例中,运动补偿能够包括:接收利用3D扫描仪采集的齿列的3D扫描的在第一参考系中的第一数据、和接收在齿列的3D扫描期间利用2D成像器采集的齿列的二维(2D)图像的在第二参考系中的第二数据,第二参考系相对于第一参考系固定,各个2D图像与3D扫描中的各个时间相关联。运动补偿能够包括:基于2D图像中的连续图像之间的局部运动确定光流、估计3D扫描中的点的运动轨迹、并且使用光流来改善估计的运动轨迹以评估估计的运动轨迹的正确性。可以使用改善的估计的运动轨迹补偿3D扫描期间的运动。
[0023] 在一些实施例中,运动补偿的系统能够包括:扫描模,该扫描模块包括口内3D扫描仪和结合到3D扫描仪的至少一个位置追踪装置。该系统还可以包括处理模块,该处理模块结合到扫描模块以基于至少一个位置追踪装置的输入来估计3D扫描期间的3D扫描仪的移动量作为刚体变换,并且通过将逆刚体变换应用到包括3D扫描的多个点来补偿移动量。
[0024] 在本公开的详细描述中,参考了附图,附图形成本公开的一部分并且通过图示出如何实施本公开的一个以上的实施例而示出附图。充分地详细描述了这些实施例,以使得本领域的普通技术人员能够实现实施本公开的实施例,并且需要理解的是:可以采用其它实施例,并且可以在不背离本公开的范围的情况下进行过程、电气和/或结构的改变。作为在这里使用的,特别相对于图中的参考标号的标识“N”表示能够包括如此指定的特定特征的数量。作为在这里使用的,“一些的”特定事物可以指一个以上的这样的事物(例如,一些牙齿可以指一个以上的牙齿)。
[0025] 这里的附图遵循第一数字或数字对应于附图标号并且其余的数字代表图中的元件或部件的标号规则。可以使用相似的数字来识别不同附图之间的相似的元件或部件。例如,104可以表示图1中的元件“04”,并且可以将图2中的相似元件表示为“204”。能理解的是:能够增加、交换和/或消除在各个实施例中示出的元件,从而提供本公开的一些的额外实施例。另外,能理解的是:图中的元件的比例和相对尺度旨在图示出本发明的特定实施例,并且不应该受到限制。
[0026] 图1A-1B图示出根据本公开的一些实施例的口内扫描仪的选择性透视图。示出了口腔中的扫描仪106相对于齿列104的空间关系。示出其它的期望有利点(视)处的关系的多个图像可以提供在显示器上。
[0027] 在显示器上呈现给使用者的图像能够在扫描仪106的帮助下创建并且储存在存储器(例如,参见图6)中的齿列104的虚拟模型的合成。这些虚拟模型能够由使用者和/或计算装置操控,以提供在虚拟空间中的正确的空间关系,并且可以显示为2D或3D图像。可选择地,扫描仪106的位置和扫描轴(例如,z轴)的方向可以相对于齿列104显示。扫描轴(例如,z轴)能够限定为垂直于扫描仪106的扫描面108,但是可以根据扫描仪106的其它适当的几何图形或其它参数来限定。齿列104的图像能够显示为具有3D属性,并且能够通过例如几何形态(例如,表示牙的简单的楔形、表示犬齿的锥形和表示臼齿的圆柱)来呈现实际的牙齿形态和/或各个牙齿表面。
[0028] 可以自定义修改虚拟模型,以示出在将要发现真正准备的各个对应牙齿位置处的虚拟准备。可以从模型中移除在实际的口腔中没有发现的虚拟牙齿(例如,在获得IDDS之后实际的牙齿已经移除)。这些特征可以进一步有助于识别扫描仪106相对于齿列104的位置和朝向。
[0029] 图2是图示出根据本公开的一些实施例的扫描仪206相对于被扫描的物体的运动的图。扫描结果(例如,在被扫描的数据的一些处理之后)是点(x,y,z、t)的集合,其中,t是焦点的时间,并且x,y,z是在时间t相对于扫描仪206的坐标系的3D坐标。可能由扫描仪206捕捉的数据可能由于在扫描期间的扫描仪206的运动漂移而丢失。例如,特定角度上方的壁可能对于扫描仪206不可见,并且/或者垂直壁附近的区域可能不可见。
[0030] 假定扫描仪206的恒定横向速度(v)并且假设扫描的恒定速度, 其中,α是漂移角度(例如,度),Δz是扫描仪206与物体之间的距离(例如,mm),v是扫描仪206的速度(例如,mm/sec),并且Δt是扫描的持续时间(例如,msec)。下面的表格包括Δz=15mm的漂移角度的一些实例。
[0031] 表格1
[0032]
[0033] 丢失的数据(例如,由于如上所述的漂移角度导致的)可以限定为其中,Δx是丢失部分的宽度(例如,微米),并且Δh是丢失部的高度(例如,mm)。下面的表格包括Δz=15mm并且Δh=10mm的丢失的数据的量的一些实例。
[0034] 表格2
[0035]
[0036] 因为扫描技术的缺陷和假设一般射线几何,所以扫描不具有远心特性(例如,具有与z轴平行地进入扫描仪106的射线),焦面不需要是平面(例如,平面可以出现弯曲、并且/或者在图像中呈现作为焦面的不平物体可能不在平面中呈现),并且扫描可能包括任意的扫描图形(例如,在扫描期间,z轴可能不关于物体一致,即,在扫描期间,扫描仪206可能不一致地直接指向物体)。这能导致出现不应该的弓形和/或弯曲的失真图形,以及其它的失真。例如,矩形可能显示为平行四边形,可能具有曲边。
[0037] 根据本公开的各种实施例,运动估计能够包括以下的任意一种或任意组合:基于注册结果的近似、利用光流的图像处理、扫描仪206的位置追踪装置的使用、扫描仪206与多个无线发射器之间的不同信号、和/或其它运动估计/位置追踪技术的使用。注册结果的使用能够测量相对于牙齿的运动,相对容易地计算,并且通常不由于软组织而混乱,但是可能由于简化的运动轨迹的假设而具有不精确性并且可能具有基于扫描速度而限制的性能。使用利用光流的图像处理能够测量相对于牙齿的运动,并且能够具有相对高的精确性,但是可能计算量大并且可能由于软组织而混乱。位置追踪装置的使用相对容易计算,但是可能由于重力而混乱并且可能不考虑病人的移动。
[0038] 图3是图示出根据本公开的一些实施例的扫描仪306的图。例如,扫描仪306能够是手持口内扫描仪。扫描仪306能够包括3D扫描仪312。举例来说,本领域的普通技术人员能理解,3D扫描仪312能够通过光束阵列的共焦聚焦而确定3D结构。扫描仪306能够仅包括3D扫描仪312、或与一个以上的2D成像器314以及一些位置追踪装置320-1、…、320-N组合的3D扫描仪312。除了其它的之外,位置追踪装置320-1、…、320-N能够包括例如加速计(例如,测量扫描仪306的加速度)和陀螺仪(例如,测量扫描仪306的角速度)。虽然没有特别示出,但是扫描仪306能够包括计算装置或结合到计算装置(例如,包括处理器和存储器,如图6所示)。
[0039] 2D成像314可以类似于数字照相机。2D成像器314能够构造成在3D扫描仪312扫描所述对象的同时连续地获取所述对象的离散图像。2D成像器314能够相对于3D扫描仪312固定,使得扫描仪306的任意运动都相同地影响2D成像器314和3D扫描仪312(例如,2D成像器314的参考系可以相对于3D扫描仪的参考系固定)。此外,2D成像器314能够相对于3D扫描仪
312不同心(例如,提高沿着z轴的运动的敏感性)。
[0040] 如图3所示,因为扫描仪306在扫描期间是移动的,所以来自3D扫描仪312的单束光318的焦点位置不垂直。扫描仪306能够沿着轨迹322移动,使得在3D扫描的捕捉期间(例如,Δt),焦面能够移动特殊的距离(例如,Δz)。3D扫描的结果(例如,在扫描数据的一些处理之后)可以是点的集合316。在一些距离中,轨迹322的重建可以限于恒定速度的轨迹。
[0041] 在一些实施例中,可以仅基于位置追踪装置320-1、…、320-N的输入和2D成像器314的输入(例如,在不使用3D扫描仪312的输入的情况下)追踪3D扫描仪312的运动。这样的运动追踪可以基于病人的颌不改变其朝向的假设。位置追踪装置320-1、…、320-N可以提供表示3D扫描仪312的朝向的变化(例如,三自由度)的信息。2D图像的分析可以提供表示在其它三个自由度的朝向的变化的信息。
[0042] 在各种实施例中,可以基于位置追踪装置320-1、…、320-N的输入来估计3D扫描仪312的速度。可以响应于表示3D扫描仪312不移动的2D成像器314的输入将估计的速度重新设定为零。例如,可以响应于表示3D扫描仪312不移动的包括多个2D图像的2D成像器314的输入,将估计的速度在六自由度上重新设定为零。这样的实施例有益于避免大的错误漂移。
如果使用者不时地使扫描仪306保持稳定,则可以使用2D图像来确定是否扫描仪306处于稳定位置。
[0043] 图4是图示出根据本公开的一些实施例的使用3D和2D数据的运动补偿的方法的流程图。可以启动扫描424。图像处理算法的第一输入可以是来自3D扫描仪428的在第一参考系中利用3D扫描仪采集的齿列的数据(例如,作为由3D扫描仪收集的数据的一些初始处理结果的高度图)。在一些实施例中,3D数据可以由z方向的共焦扫描得到。
[0044] 图像处理算法的第二输入可以是在齿列的3D扫描期间在第二参考系中由2D成像器(例如,副照相机)采集的齿列的多个2D图像246(例如,视频序列),第二参考系相对于第一参考系固定。在一些实施例中,2D成像器可以具有高的景深,这有助于贯穿整个扫描的深度地提供相同或几乎相同的质量的运动估计。在一些实施例中,第二参考系可以是不远心的,以提高沿着z轴的运动的敏感性。各个2D图像可以与3D扫描中的各个时间相关联(例如,能够在3D扫描的持续期间中捕捉各个2D图像,并对其进行时间标记)。
[0045] 在一些实施例中,可以使用启发法确定3D扫描中的哪些点在多个2D图像中的特定一个图像中可见(例如,在确定光流之前)。如果3D点在特定时间闭塞,然后沿着其路径检查光流可能导致不精确的结果。因此,能够从分析中将闭塞和/或在各个2D图像中的视野之外的3D点滤除。
[0046] 3D扫描430的结果(例如,在扫描数据的一些处理之后)可以是点(x,y,z,t)的集合,其中,其中,t是焦点的时间,并且x,y,z是在时间t相对于3D扫描仪的坐标系的3D坐标。2D图像可以包括坐标为(i、j、t)的一些像素,其中,i和j是像素在2D成像器的传感器上的坐标,并且t对应于3D扫描中的采集2D图像的时间。可以从i和j是扫描仪的传感器上的像素的标志的(i、j、t)计算坐标x、y和z。在一些实施例中,考虑到恒定的几何失真但是假设扫描仪不移动,从(i、j、t)到(x,y,z)的映射(map)可以是从3D到3D的恒定映射。3D扫描仪的坐标系中的点(x,y,z)可以映射到2D成像器的像素坐标(i、j)。时间(t)不必要像共焦系统中一样与z成比例。例如,可以通过使x轴缓慢移动来进行扫描,并且然后t将与x成比例。然而,在使用共焦成像的一些实施例中,t可以与z成比例。
[0047] 可以基于连续的2D图像之间的局部运动来确定光流。该光流是序列中的两个连续图像之间的图像的各个区域处的局部运动的观察。可以通过基于两个连续的图像中的点的位置的变化和两个连续的图像之间的时间的变化来计算两个连续的图像之间的局部运动来确定该光流。在一些实施例中,可以基于点的位置的变化将该局部运动计算为2D运动向量。
[0048] 例如,考虑连续时间的两个图像,l(t)和l(t+dt),dx和dy可以建立成使得l(i,j,t)=l(i+dx,j+dy,t+dt)。其中,vx和vy是2D速度的分量,并且其中,dx=dt*vx,dy=dt*vy,然后l(i,j,t)=l(i+dx*vx,j+dy*vy,t+dt)。因为2D运动向量可以越过图像变化并且随着时间变化,所以分量vx和vy可以取决于i、j和t。使用泰勒展开式:l(i+dt*vx,j+dt*vy,t+dt)=l(i,j,t)+dt*vx*dl/dx+dt*vy*dl/dy+dt*dl/dt=l(x,y,t)。因此,光流方程式可以是O(vx,vy,i,j,t)=vx*dl/dx+vy*dl/dy+dl/dt=0。
[0049] 可以估计3D扫描中的点的运动轨迹432。例如,算法可以找到最好地说明考虑3D数据的视频序列的光流的运动轨迹。估计运动轨迹可以包括:使用基于3D扫描中的时间的点的刚体变换。例如,可以限定刚体变换,从而将刚体变换应用于点使点从3D扫描中的参考时间的坐标系映射到3D扫描中的点的记录时间(例如,时间t)的坐标系。参考时间的不受限制的实例可以包括:扫描期间的除了其它时间之外的时间0(例如,扫描的初始时间)、扫描的终止时间、和扫描的中间时间。扫描仪的坐标系沿着轨迹T(t)移动,其中,T(t)是将扫描中的记录时间(例如,时间t)的(x,y,z)映射到扫描中的参考时间(例如,时间0,初始时间)的(x,y,z)的刚体变换。即,时间t的扫描仪的坐标系中的点(x,y,z)可以表示为时间t=0的扫描仪的坐标系中的点T(t)*(x,y,z)。通过逆应用(T(t0))*T(t1),可以将点(x1,y1,z1,t1)映射到时间t0的坐标系中。运动补偿的目标可以是大致T(t)。可以通过将T(t)应用于点(x,y,z,和t)来进行运动补偿434。
[0050] 作为初始猜测,估计运动轨迹可以包括:仅基于光流(例如,不考虑扫描数据)估计2D成像器的各个连续的图像l(t)、l(t+dt)的总体速度向量(例如,(vx,vy)),并且将总体速度向量映射到横向运动轨迹(例如,T(t)),其中,横向运动轨迹是估计的运动轨迹。在一些实施例中,可以将位置追踪装置(例如,加速计)用作附加输入源以提供信息,从而提高初始猜测。在一些实施例中,可以对2D成像器假设被动和/或均匀的照明,并且/或者可以相对于高度图的坐标校准2D成像器。
[0051] 可以使用光流改善估计的运动轨迹,以评估所估计的运动轨迹的正确性。对于扫描数据中的各个点(x1,y1,z1,t1),运动轨迹能够用于发现其在时间t(x(t),y(t),z(t),t)的扫描仪的坐标系中的位置。例如,可以根据视频序列中的光流限定评估给定的运动轨迹的正确性的目标函数。3D数据可以用于将点映射到视频序列中的2D路径。在一些实施例中,作为初始猜测,可以做出不存在运动或可以使用简单的运动轨迹的假设。
[0052] 在一些实施例中,评估所估计的运动轨迹的正确性可以包括:将点从3D扫描的坐标系映射到2D扫描的坐标系以得到点的2D轨迹。可以对得到的2D轨迹(例如,(i(t),j(t),t))微分,以确定点的多个速度元素(例如,vx(t),vy(t))。2D轨迹和多个速度元素可以应用于光流(例如,对于所有的t,O(vx(t),vy(t),i(t),j(t),t)=0)。可以基于具有应用的2D轨迹和多个速度元素的光流,通过最小化处置(penalize)不精确轨迹(例如,在3D扫描中的各个点处)的目标函数来改善估计的运动轨迹。可以在3D扫描中的参考时间与3D扫描中的点的记录时间之间计算具有应用的2D轨迹和多个速度元素的光流的平方和(例如,遍及所有的点(x1,y1,z1,t1)和所有的时间t的O(vx(t),vy(t),i(t),j(t),t))。可以使具有应用的2D轨迹和多个速度元素的光流的平方和最小化,以改善估计的运动轨迹(例如,使遍及所有的点(x1,y1,z1,t1)和所有的时间t的Sum(O(vx(t),vy(t),i(t),j(t),t)^2)最小化)。
[0053] 在一些实施例中,可以调整2D轨迹,以处置诸如意外的运动形态、突然的跳跃、和/或不连续这样的不精确的轨迹,并且使数字过程稳定。可以调整2D轨迹,以限制特定的速度范围内的多个速度元素。这样的范围可以基于关于将其限制到合理范围内、处理连续的变换T(t)与T(t+dt)之间的突然“跳跃”、和/或提高数字过程的稳定性的运动轨迹的先前知识。例如,调整可以是:使遍及所有t的扫描数据中的所有的点(x1,y1,z1,t1)的Regularizaton_Term(T(j))+Sum(O(vx(t),vy(t),i(t),j(t),t)^2)最小化。
[0054] 可以使用改善的估计的运动轨迹来补偿3D扫描期间的运动。例如,补偿3D扫描期间的运动可以包括:将逆刚体变换应用到3D扫描中的点,以将点从3D扫描中的点的记录时间映射到3D扫描(例如,时间t)中的参考时间(例如,时间0,初始时间)。即,考虑时间T(t),可以通过将T(t)应用到各个点(x,y,z,t)以使各个点(x,y,z,t)从时间t的扫描仪的坐标系到时间0的扫描仪的坐标系来纠正3D扫描数据。
[0055] 在各种实施例中,可以仅使用2D成像器(例如,3D扫描仪不运转)来测试运动补偿功能。可以准备特定测试对象,以利用可见的基准标记扫描,并且利用标记数字化。可以矫正2D成像器以寻找(x,y,z)坐标与一些坐标系中的图像坐标(i、j)之间的关系。可以在使照相机手动越过物体移动的同时捕捉一系列的图像。通过对于序列中的各个图像检测图像中的标记、并且基于照相机矫正计算照相机相对于物体的位置,来从序列中计算运动轨迹。根据运动轨迹,假设z轴上的扫描的特定形态,可以计算高度图。由此,可以将高度图和图像的序列输入预先描述的算法中,并且针对计算的运动轨迹检测结果。
[0056] 图5是图示出根据本公开的一些实施例的使用3D数据的运动补偿的方法的流程图。多个连续的3D扫描可以用于运动补偿。可以采取一系列的3D扫描536(例如,以至少每秒十次3D扫描的速度)。例如,3D扫描可以是病人的齿列的3D口内扫描。3D扫描可以存储538,并且失真扫描540(例如,S(n))可以注册542到先前扫描(例如,紧接着的之前的扫描S(n-1))和/或随后扫描(例如,紧接着的随后的扫描S(n+1))。在一些实施例中,可以将失真扫描注册到多个先前的3D扫描和/或注册到多个随后的3D扫描。在一些实施例中,可能存在多个失真扫描(例如,每次扫描)。从而,相对于使用注册结果的描述的术语“失真扫描”仅仅鉴别连同用于运动补偿的先前的扫描或随后的扫描使用的特定扫描。在各种实施例中,随后或先前的扫描可能不失真,这能够通过将失真扫描注册到不失真扫描来提高其正确性。
[0057] 在一些实施例中,注册可以包括:将先前扫描相对于失真扫描对齐和/或将随后扫描相对于失真扫描对齐,并且基于各个对齐确定先前的扫描相对于失真扫描的重叠部分和/或确定随后的扫描相对于失真扫描的重叠部分。基于表面之间的比较确定的重叠的精确性可以取决于扫描对象的形状。例如,第一和第二扫描共用的增大数量的z高度可以改善至少部分基于扫描面的比较计算的运动估计。
[0058] 将两个不同的扫描对齐可以包括:对先前的扫描(例如,S(n-1))使用刚体变换(例如,R(n-1:n)),以将其与失真扫描(例如,S(n))对齐,和/或对随后的扫描(例如,S(n+1))使用刚体变换(例如,R(n+1:n)),以将其与失真扫描(例如,S(n))对齐。刚体变换是六自由度变换。可以基于各个重叠部分和/或基于各个非重叠部分确定先前的扫描与失真扫描之间的移动量和/或失真扫描与随后扫描之间的移动量。
[0059] (例如,基于各个重叠部分和/或基于各个非重叠部分)可以对先前的扫描、失真扫描和随后的扫描之间的移动量是否处于注册阈值内进行确定544。如果移动量不处于阈值内(例如,如果在扫描期间扫描仪移动太多)则可以拒绝失真扫描546。如果移动量处于注册阈值内,则可以基于从S(n-1)到S(n+1)的注册(例如,T(n-1:n+1))从先前的扫描到随后的扫描估计第一运动轨迹548。可以使用注册以提供先前的扫描、失真扫描和随后的扫描期间的相对位置的知识。
[0060] 注册结果可以表示在有限数量的时间(t…i)的轨迹T(t…i)的快照,并且可以利用插值法根据这些快照计算运动轨迹。点(t…i)和插值的数量可以改变。在一些实施例中,第一运动轨迹可以是跨越多个3D扫描的整体运动轨迹的快照。可以基于与多个3D扫描中的注册的一个有关的多个快照的每个计算整体运动轨迹。
[0061] 可以在失真扫描的扫描时间期间估计第二运动轨迹550。第二运动轨迹可以是S(n)期间的第一运动轨迹(例如,T(n-1:n+1))的一段。可以响应于处于注册阈值内的移动量来估计第二运动轨迹。
[0062] 在一些实施例中,注册可以包括:使位于先前的扫描的扫描时间的中间的时间轴上的第一点与使先前的扫描与失真扫描对齐的先前的扫描的刚体变换相关。随后的扫描的扫描时间的中间的时间轴上的第二点可以与使随后的扫描与失真扫描对齐的随后的扫描的刚体变换相关。估计第一运动轨迹可以包括在第一刚体变换与第二刚体变换之间差值。估计第二运动轨迹可以包括整理第一运动轨迹,从而仅包括失真扫描的扫描时间期间的运动轨迹。
[0063] 可以通过补偿失真扫描的扫描时间期间的运动轨迹对失真扫描计算纠正的扫描552(例如,S*(n))。可以响应于在注册阈值内的移动量纠正扫描。从而,在一些实施例中,使用注册,可以在不使用用于运动轨迹的额外数据(例如,位置追踪装置和/或2D成像器)的情况下进行运动补偿。然而,可以包括这样的额外数据,以进一步改善这里描述的运动补偿。
在各种实施例中,可以反复地重复失真扫描的注册、第一运动轨迹的估计、第二运动轨迹的估计和纠正的扫描的计算,以提高纠正的扫描的精确性。在纠正失真之后,注册自身可以变得更精确,这能够改善接下来的反复纠正。例如,反复重复可以持续到结果收敛。
[0064] 图6图示出根据本公开的一些实施例的用于3D扫描中的运动补偿的系统。图6所示的该系统可以包括计算装置680,该计算装置具有结合到其的一些部件。计算装置680可以包括处理模块681(例如,一个以上的处理器)和存储器682。存储器682可以包括包括数据683的各种类型的信息和可执行的指令684,如在这里讨论的。存储器682可以是有形的非临时的计算机可读介质,其具有指令684能够由处理模块681执行以使计算装置680进行在这里描述的各种功能。
[0065] 在一些实施例中,存储器682和/或处理模块681可以位于计算装置680上或与装置脱离。如此,如图6的实施例所示,系统可以包括网络接口685。这样的接口能够允许对其它联网的计算装置进行处理或者可以使用这样的装置以得到关于病人或可执行指令的信息,以供在这里提供的各种实施例使用。
[0066] 如图6的实施例所示,系统可以包括一个以上的输入和/或输出接口686。这样的接口可以用于将计算装置680与一个以上的输入或输出装置连接。
[0067] 例如,在图6所示的实施例中,该系统包括与扫描模块606(例如,包括在这里描述的3D扫描仪、2D成像器和/或一些位置追踪装置中的一个以上的口内扫描仪)的连接、照相机底座688、输入装置689(例如,键盘鼠标等)、显示装置690(例如,监视器)、和打印机691。输入/输出接口686可以接收数据、可以储存在数据存储装置(例如,存储器682)中、表示3D和/或2D数据,尤其是对应于病人的齿列的数据。虽然在一些实施例中将扫描模块606图示为与计算装置680分开的部件,但是扫描模块606(例如,口内扫描仪)可以相对于计算装置
680包括在这里描述的部件和/或功能(例如,扫描模块606可以进行运动检测和/或运动补偿)。
[0068] 在一些实施例中,扫描模块606可以构造成扫描病人的上颌的物理模型和病人的下颌的物理模型。在一个以上的实施例中,扫描模块606可以构造成直接(例如,口内地)扫描病人的上颌和/或下颌。
[0069] 照相机底座688可以接收扫描模块606上的诸如数字照相机这样的成像装置(例如,2D成像装置)或与任意2D成像装置分开的打印照片扫描仪的输入。来自成像装置的输入可以储存在数据存储装置682中。
[0070] 处理模块681可以构造成在显示器690上提供虚拟的牙齿模型的可见表示(例如,在处理模块681上运行的GUI并且在显示器690上可见)。处理模块681可以进一步构造成(例如,经由存储在有形的非临时的计算机可读介质中的计算机可执行的指令)执行在这里描述的各种方法、算法和/或功能。与数据存储装置682相关的处理模块681可以与数据和/或应用模块692相关。与数据存储模块682相关的处理模块681可以存储和/或采用数据并且/或者执行指令,以在3D扫描中提供用于补偿的一些应用模块。
[0071] 这样的连接可以使得输入和/或输出除了其他类型的信息之外的虚拟的牙齿模型信息或指令(例如,经由键盘的输入)。虽然一些实施例可能分布在一个以上的网络内的各种计算装置之中,但是图6所示的这样的系统能够有益于允许在这里讨论的捕捉、计算和/或信息的分析。
[0072] 用于运动补偿的系统可以包括扫描模块606和处理模块681。扫描模块606可以包括口内3D扫描仪,并且在一些实施例中包括结合到3D扫描仪的至少一个位置追踪装置。除了别的之外,位置追踪装置可以包括一个以上的加速计(例如,测量3D扫描仪的加速度)、陀螺仪(例如,测量3D扫描仪的角速度)。其它位置追踪装置可以包括三角测量、三边测量、或多点定位的使用,以利用Wi-Fi、蓝牙或其它无线系统来确定位置。
[0073] 处理模块681可以(例如,经由应用模块692)接收齿列的多个3D扫描并且根据从多个扫描中的一个特定扫描到随后的扫描来估计运动轨迹。所述估计可以包括下述中的一个以上:将特定扫描注册到至少一个的先前扫描和随后扫描,确定先前的扫描、特定扫描和随后的扫描之间的移动量是否在注册阈值的范围内,和基于注册估计运动轨迹,使用在齿列的特定扫描期间采集的齿列的多个二维(2D)图像的数据,基于多个2D图像中的连续的图像之间的局部运动来确定光流,估计特定扫描中的点的运动轨迹,使用光流改善估计的运动轨迹以评估所估计的运动轨迹的正确性,和基于至少一个位置追踪装置的输入估计654在3D扫描期间的3D扫描仪的移动量,作为刚体变换。处理模块681可以(例如,经由应用模块
692)根据在这描述的任意技术通过补偿运动轨迹而计算纠正的扫描。
[0074] 处理模块681可以响应于注册阈值内的移动量来估计运动轨迹并且计算纠正的扫描,并且响应于处于注册阈值外的移动量而拒绝特定扫描。处理模块681可以将特定扫描注册于多个先前的扫描和多个随后的扫描。
[0075] 处理模块681可以将先前的扫描相对于特定扫描对齐,基于对齐确定先前的扫描与特定扫描之间的重叠部分,并且基于重叠部分和/或非重叠部分来确定先前的扫描与特定扫描之间的移动量,以将特定扫描注册到先前的扫描和随后的扫描中的至少一个扫描。运动轨迹可以是多个扫描的整体运动轨迹的快照,并且可以通过处理器执行指令,以基于与多个扫描中的各个注册的扫描相关的多个快照的每个来计算整体运动轨迹。
[0076] 至少一个位置追踪装置可以结合到3D扫描仪,并且处理模块681可以构造成通过对包括特定扫描的多个点的进行逆刚体变换来对于估计的移动量补偿656。2D成像器可以结合到3D扫描仪,并且处理模块681可以基于至少一个位置追踪装置的输入来估计3D扫描仪的速度,并且响应于表示3D扫描仪不移动的来自2D成像器的输入重新设定估计的速度为零。处理模块681可以响应于表示3D扫描仪不移动的包括多个2D图像的来自2D成像器的输入将估计的速度在六自由度上重新设定为零。
[0077] 3D扫描仪可以是第一参考系,并且扫描模块606可以包括相对于第一参考系固定的第二参考系中的2D成像器。处理模块681可以接收在齿列的特定扫描期间由2D成像器采集的齿列的多个2D图像的数据,其中多个2D图像中的各个图像均与特定扫描中的各个时间相关。处理模块681可以使用改善的估计的运动轨迹补偿扫描期间的运动。
[0078] 处理模块681可以基于两个连续的图像中的点的位置的改变并且基于两个连续的图像之间的时间的变化来计算两个连续的图像之间的局部运动,以确定光流。处理模块681可以仅基于光流来估计总体速度向量。处理模块可以将总体速度向量映射到包括估计的运动轨迹的横向运动轨迹。
[0079] 处理模块681可以将点从扫描的坐标系中映射到图像的坐标系,以得到点的2D轨迹。处理模块681可以对得到的2D轨迹求微分,以确定点的多个速度元素。处理模块681可以将2D轨迹和多个速度元素应用到光流。处理模块可以对扫描中的参考时间与扫描中的点的记录时间之间的具有应用的2D轨迹和多个速度元素的光流求平方和,以评估估计的运动轨迹的正确性。
[0080] 处理模块681可以基于具有应用的2D轨迹和多个速度元素的光流,来使处置扫描中的各个点处的不精确轨迹的目标函数最小化,以改善估计的运动轨迹。处理模块681可以调整2D轨迹,以处置不精确的轨迹。
[0081] 虽然在这里已经图示出并且描述了特定实施例,但是本领域的普通技术人员能够理解的是:可以对示出的特定实施例替换计算以实现相同技术的任意布置。本公开旨在覆盖本公开的各种实施例的适用或变化。
[0082] 需要理解的是:术语“一个以上”、“一些”或“至少一个”的使用全部都解释为存在一个以上的物品。另外,需要理解的是:已经以说明方式进行了上述描述,并且不是受限制的一个。对于查看了上述描述的本领域技术人员来说,上述实施例的结合和未在这里特别描述的其它实施例是明显的。
[0083] 需要理解的是:当将元件称为在另一个元件“上”、“连接到”另一个元件或与另一个元件“结合”时,可以是直接在另一个元件上,连接到另一个元件或与另一个元件结合,或者可以存在中间元件。相比之下,当将元件称为“直接在”另一个元件上,“直接连接到”另一个元件或与另一个元件“直接结合”时,不存在中间元件或中间层。作为在这里使用的,术语“和/或”包括一个以上的相关条目的任意一个和全部结合。
[0084] 需要理解的是:虽然可以在这里使用术语第一、第二来描述各种元件,但是这些元件不应该被这些术语限制。这些术语仅用于区分一个元件与另一个元件。从而,可以在不背离本公开的教导的情况下将第一元件称为第二元件。
[0085] 本公开的各种实施例的范围可以包括使用上述结构和方法的其它应用。因此,应该参考附加的权利要求连同这样的权利要求所赋予的等同的全部范围要求来确定本公开的各种实施例的范围。
[0086] 在前述的详细描述中,为了组织本公开的而将各种特征分组到单个实施例中。本公开的该方法不应该被解释为反映本公开的实施例的要求比在各个权利要求中清楚地记载的更多的特征的意思。
[0087] 而是,随着下面的权利要求反映,创造性的主题比单个公开的实施例的全部特征少。从而,在各个权利要求坚持其自身作为独立实施例的情况下,下面的权利要求以此方式并入详细描述中。
QQ群二维码
意见反馈