单应性校正的制作方法

文档序号:10687993阅读:350来源:国知局
单应性校正的制作方法
【专利摘要】本公开提供了用于将畸变图像映射到校正图像的多阶段图像映射机制。例如,多阶段图像映射机制可以从畸变图像去除单应性以分两个阶段重构校正图像:(1)其中从畸变图像部分地去除畸变以生成中间图像的第一阶段,以及(2)其中从中间图像去除残余畸变以恢复校正图像的第二阶段。
【专利说明】
单应性校正
技术领域
[0001] 在本文中公开了涉及针对图像处理应用校正图像的单应投影的设备、系统以及方 法。
【背景技术】
[0002] 数字图像可以由许多装置形成并用于许多实际目的。装置包括具有对可见光或红 外光进行操作的图像传感器的相机,所述图像传感器诸如电耦合器件(CCD)图像传感器或 互补金属氧化物半导体(CMOS)图像传感器、行扫描传感器、飞点扫描仪、电子显微镜、包括 计算机断层成像(CT)扫描仪的X光线装置、磁共振成像器以及本领域的技术人员已知的其 它装置。在工业自动化、医疗诊断、用于多种军事、民用以及科学目的的卫星成像、摄影处 理、监控和交通监视、文档处理以及许多其它应用中有实际应用。
[0003] 为了服务于这些应用,可以用机器视觉系统来分析由各种装置形成的图像以提取 适当的信息。具有相当可观的实际重要性的一种分析是确定与成像装置的视场中的对象对 应的图像中的图案的位置、取向以及尺寸。图案检测方法在工业自动化中特别重要,在工业 自动化中其用于在半导体制造、电子装置组装、医药制品、食品加工、消费品制造等中引导 机器人和其它自动化装置。
[0004] 图案检测方法可以对已经受透视畸变的图像进行操作。然而,透视畸变趋向于增 加图案检测方法的计算复杂性和计算时间。因此,作为预处理步骤,可以对图像进行校正以 在执行图案检测方法之前去除透视畸变。

【发明内容】

[0005] 根据公开主题,提供了用于针对图像处理应用对图像的单应畸变进行校正的设 备、系统以及方法。
[0006] 某些实施例包括机器视觉系统。该系统可以包括被配置成运行在存储器中存储的 计算机程序的处理器。计算机程序可以被配置成使处理器接收畸变图像和与畸变图像相关 联的单应性矩阵,使用单应性分解模块来确定共同表示单应性矩阵的第一变换和第二变 换,其中,第一变换使畸变图像与中间图像相关,并且第二畸变使中间图像与已校正图像相 关,其中,第一变换被约束为将沿着中间图像的第一维度的像素映射到沿着畸变图像的第 一维度的位置,并且其中,沿着畸变图像的第一维度的位置与沿着畸变图像的第一维度的 相邻位置间隔开相同距离,使用单应性去除模块通过从畸变图像去除第一变换来生成中间 图像,并且使用单应性去除模块通过从中间图像去除第二变换来生成已校正图像。
[0007]在某些实施例中,第二变换被约束为将沿着已校正图像的第一维度的像素映射到 沿着中间图像的第一维度的位置,并且其中,沿着中间图像的第一维度的位置与沿着中间 图像的第一维度的相邻位置间隔开相同距离。
[0008]在某些实施例中,处理器还被配置成在从中间图像去除第二变换之前使用单应性 去除模块将中间图像转置。
[0009] 在某些实施例中,处理器还被配置成使用单应性去除模块来使直接存储器访问控 制器在从中间图像去除第二变换之前将中间图像转置。
[0010] 在某些实施例中,直接存储器访问控制器被配置成使用二维直接存储器访问来将 中间图像转置。
[0011] 在某些实施例中,处理器还被配置成使用单应性去除模块通过针对中间图像的第 一像素确定畸变图像中的对应第一位置并对围绕畸变图像中的对应第一位置的像素求卷 积以确定用于第一像素的图像值来从畸变图像去除第一变换。
[0012] 在某些实施例中,处理器还被配置成使用单应性去除模块通过在第一像素的坐标 上操作第一变换来确定对应第一位置。
[0013] 在某些实施例中,处理器被配置成使用单应性去除模块通过向第一维度上的对应 第一位置的坐标添加常数来针对在第二维度上具有与第一像素相同的坐标的中间图像的 第二像素确定畸变图像中的对应第二位置。
[0014] 在某些实施例中,处理器被配置成使用单应性去除模块来向图案检测系统提供已 校正图像,使得图案检测系统可以使用已校正图像来确定已校正图像是否包括特定图案。
[0015] 在某些实施例中,处理器被配置成从图案检测系统接收单应性矩阵,其中,该单应 性矩阵由图案检测系统基于与畸变图像相关联的单应性的假设来确定。
[0016] 在某些实施例中,处理器被配置成使用单应性去除模炔基于沿着畸变图像的第一 维度的位置中的一个的亚像素坐标来选择一组内核中的一个,并在所述位置中的一个处应 用所选内核。
[0017] 某些实施例包括一种用于操作所公开的系统或所公开的非临时计算机可读介质 的方法。该方法包括:在单应性分解模块处接收与畸变图像相关联的单应性矩阵;使用单应 性分解模块来确定共同表示单应性矩阵的第一变换和第二变换,其中,第一变换使畸变图 像与中间图像相关,并且第二畸变使中间图像与已校正图像相关,其中,第一变换被约束为 将沿着中间图像的第一维度的像素映射到沿着畸变图像的第一维度的位置,并且其中,沿 着畸变图像的第一维度的位置与沿着畸变图像的第一维度的相邻位置间隔开相同距离;使 用耦合到单应性分解模块的单应性去除模块通过从畸变图像去除第一变换而生成中间图 像;并且使用单应性去除模块通过从中间图像去除第二变换来生成已校正图像。
[0018] 在某些实施例中,该方法包括在从中间图像去除第二变换之前使用单应性去除模 块将中间图像转置。
[0019] 在某些实施例中,该方法包括在从中间图像去除第二变换之前使用单应性去除模 块使直接存储器访问控制器将中间图像转置。
[0020] 在某些实施例中,该方法针对中间图像的第一像素确定畸变图像中的对应第一位 置,并对围绕畸变图像中的对应位置的像素求卷积以确定用于第一像素的图像值。
[0021] 在某些实施例中,该方法包括通过向第一维度上的对应第一位置的坐标添加常数 来针对在第二维度上具有与第一像素相同的坐标的中间图像的第二像素确定畸变图像中 的对应第二位置。
[0022]在某些实施例中,该方法包括向图案检测系统提供已校正图像,使得图案检测系 统可以使用已校正图像来确定已校正图像是否包括特定图案。
[0023]在某些实施例中,该方法包括基于沿着畸变图像的第一维度的位置中的一个的亚 像素坐标来选择一组内核中的一个,并在所述位置中的一个处应用所选内核。
[0024] 某些实施例包括具有与单应性分解模块和单应性去除模块相关联的可执行指令 的非临时计算机可读介质。该模块可操作用于使机器视觉系统接收与畸变图像相关联的单 应性矩阵,确定共同表示单应性矩阵的第一变换和第二变换,其中,第一变换使畸变图像与 中间图像相关,并且第二畸变使中间图像与已校正图像相关,其中,第一变换被约束为将沿 着中间图像的第一维度的像素映射到沿着畸变图像的第一维度的位置,并且其中,沿着畸 变图像的第一维度的位置与沿着畸变图像的第一维度的相邻位置间隔开相同距离;通过从 畸变图像去除第一变换来生成中间图像,并且通过从中间图像去除第二变换来生成已校正 图像。
[0025] 本文所述的公开的设备、系统以及方法可以通过使用多阶段校正过程将畸变图像 映射到已校正图像来改善校正畸变图像中的单应畸变的效率。校正过程的每个阶段被设计 成减少计算并减少从存储器访问图像所需的时间量。
[0026] 某些实施例包括机器视觉系统。该系统可以包括被配置成运行在存储器中存储的 计算机程序的处理器。该计算机程序可以被配置成使处理器接收第一图像和与第一图像相 关联的第一变换,其中,第一变换使第一图像与第二图像相关,并且被约束为将沿着第二图 像的维度的多个像素映射到沿着第一图像的维度的多个位置,针对所述多个像素中的第一 像素确定第一图像中的对应第一位置的坐标,基于与第一位置的坐标相关联的亚像素阶段 来选择多个内核中的一个,其中,亚像素阶段指示第一位置与第一图像的像素网格相比的 亚像素偏移,并且通过部分地对围绕第一图像中的第一位置的至少一个像素应用所选内核 以确定用于第二图像中的第一像素的图像值来从第一图像生成第二图像。
[0027]在某些实施例中,处理器被配置成通过在第一像素的坐标上操作第一变换来确定 第一位置的坐标。
[0028]在某些实施例中,处理器被配置成通过向第一位置的坐标添加常数来针对所述多 个像素中的第二像素确定第一图像中的对应第二位置的坐标。
[0029]在某些实施例中,处理器被配置成基于与第二位置的坐标相关联的亚像素相位选 择所述多个内核中的第二个,并且通过部分地对围绕第一图像中的第一位置的至少一个像 素应用所述多个内核中的第二个以确定用于第二图像中的第一像素的图像值来从第一图 像生成第二图像。
[0030] 在某些实施例中,处理器被配置成接收与第二图像相关联的第二变换,其中,第二 变换将第二图像与第三图像相关,并被约束为将沿着第三图像的维度的多个像素映射到沿 着第二图像的维度的多个位置,针对第三图像的第一像素确定第三图像的对应第一位置的 坐标,基于与第三图像中的第一位置的坐标相关联的亚像素相位选择所述多个内核中的一 个,并且部分地通过对围绕第三图像的第一位置的至少一个像素应用所述多个内核中的一 个以确定用于第三图像的第一像素的图像值来从第二图像生成第三图像。
[0031] 某些实施例包括一种用于操作公开的系统或公开的非临时计算机可读介质的方 法。该方法包括:接收第一图像和与第一图像相关联的第一变换,其中,第一变换使第一图 像与第二图像相关,并且被约束为将沿着第二图像的维度的多个像素映射到沿着第一图像 的维度的多个位置,针对所述多个像素中的第一像素确定第一图像中的对应第一位置的坐 标,基于与第一位置的坐标相关联的亚像素相位来选择多个内核中的一个,其中,亚像素相 位指示第一位置与第一图像的像素网格相比的亚像素偏移,并且通过部分地对围绕第一图 像中的第一位置的至少一个像素应用所选内核以确定用于第二图像中的第一像素的图像 值来从第一图像生成第二图像。
[0032] 在某些实施例中,确定第一位置的坐标包括在第一像素的坐标上操作第一变换。
[0033] 在某些实施例中,该方法还包括通过向第一位置的坐标添加常数来针对所述多个 像素中的第二像素确定第一图像中的对应第二位置的坐标。
[0034]在某些实施例中,该方法还包括基于与第二位置的坐标相关联的亚像素相位选择 所述多个内核中的第二个,并且通过部分地对围绕第一图像中的第二位置的至少一个像素 应用所述多个内核中的第二个以确定用于第二图像中的第二像素的图像值来从第一图像 生成第二图像。
[0035] 在某些实施例中,该方法还包括接收与第二图像相关联的第二变换,其中,第二变 换将第二图像与第三图像相关,并被约束为将沿着第三图像的维度的多个像素映射到沿着 第二图像的维度的多个位置,针对第三图像的第一像素确定第三图像的对应第一位置的坐 标,基于与第三图像中的第一位置的坐标相关联的亚像素相位选择所述多个内核中的一 个,并且部分地通过对围绕第三图像的第一位置的至少一个像素应用所述多个内核中的一 个以确定用于第三图像的第一像素的图像值来从第二图像生成第三图像。
[0036] 某些实施例包括具有与单应性分解模块和单应性去除模块相关联的可执行指令 的非临时计算机可读介质。该模块可操作用于使机器视觉系统接收第一图像和与第一图像 相关联的第一变换,其中,第一变换使第一图像与第二图像相关,并且被约束为将沿着第二 图像的维度的多个像素映射到沿着第一图像的维度的多个位置,针对所述多个像素中的第 一像素确定第一图像中的对应第一位置的坐标,基于与第一位置的坐标相关联的亚像素相 位来选择多个内核中的一个,其中,亚像素相位指示第一位置与第一图像的像素网格相比 的亚像素偏移,并且通过部分地对围绕第一图像中的第一位置的至少一个像素应用所选内 核以确定用于第二图像中的第一像素的图像值来从第一图像生成第二图像。
[0037] 在某些实施例中,所述可执行指令还可操作用于使机器视觉系统通过向第一位置 的坐标添加常数来针对所述多个像素中的第二像素确定第一图像中的对应第二位置的坐 标。
[0038] 在某些实施例中,该多个内核与在多个子相位处采样的相同函数对应。
[0039] 在某些实施例中,第一变换和第二变换共同表示仿射变换。
[0040] 在某些实施例中,第一变换包括向下采样操作。
[0041] 在某些实施例中,第一变换包括第一变换矩阵。
[0042]本文所述的公开的设备、系统以及方法可以通过使用多阶段校正过程将畸变图像 映射到已校正图像来改善校正畸变图像中的单应畸变的效率。校正过程的每个阶段被设计 成减少计算并减少从存储器访问图像所需的时间量。
[0043]因此已相当宽泛地概括了公开的主题的特征,目的在于可更好地理解随后的其详 细描述,并且目的在于可更好地灵活对本领域的贡献。当然,存在下文中将描述且将形成所 附权利要求的主题的公开主题的附加特征。应理解的是本文所采用的措辞和术语是用于描 述的目的且不应被视为限制性的。
【附图说明】
[0044] 当结合以下附图来考虑时,参考公开的主题的以下详细描述,可以更全面地认识 到公开的主题的各种目的、特征以及优点,在所述附图中,相同的附图标记表示相同元件。
[0045] 图1示出了根据某些实施例的用于校正畸变图像的单应性的机器视觉系统。
[0046]图2示出根据某些实施例的用以使已校正图像畸变成中间图像的第二变换B的应 用和用以使中间图像畸变成畸变图像的第一变换A的应用。
[0047]图3示出根据某些实施例的两阶段图像映射过程。
[0048]图4示出根据某些实施例的已经经受透视畸变的畸变图像的示例。
[0049] 图5示出根据某些实施例的通过从图4的畸变图像去除第一变换A而生成的中间图 像的示例。
[0050] 图6示出根据某些实施例的通过从图5的中间图像去除第二变换B而生成的已校正 图像的示例。
【具体实施方式】
[0051 ]在以下描述中,阐述了关于公开的主题的系统和方法及此类系统和方法可在其中 操作的环境等的许多特定细节,以便提供公开的主题的透彻理解。仍然,对于本领域的技术 人员将显而易见的是可在没有这些特定细节的情况下实施公开的主题,并且未详细地描述 在本领域中众所周知的某些特征以避免公开的主题的复杂化。另外,将理解的是下面提供 的示例是示例性的,并且可设想存在在公开的主题的范围内的其它系统和方法。
[0052]图像可以包括二维函数,其值对应于对象的物理特性,诸如亮度(辐射能、反射 等)、色彩、温度、在参考平面之上的高度等,并且由图像形成装置测量,或者其值对应于对 象的模拟特性,并且由任何数据处理装置生成。可以将图像视为二维矩阵,其中,二维矩阵 中的每个仓(bin)(例如,像素)与一个值或一组值相关联。可以使用二维坐标(x,y)来识别 每个像素。在某些实施例中,可以用具有相同y坐标的一组像素来识别一行图像;并且可以 用具有相同X坐标的一组像素来识别一列图像。
[0053]畸变图像可以包括已例如由于透射效应而经受畸变的图像。可以将畸变图像设置 在图像平面上,并且其可以表示对象平面的透视图。因此,对象平面上的平行线可在图像平 面上会聚,在畸变图像内或者在畸变图像外面。
[0054]已校正图像可以包括通过从畸变图像去除畸变(例如,透视效应)而恢复的图像。 可以将校正图像设置在对象平面上,并且其可以表示对象平面的正视图。在校正图像中,对 象平面的没影线可以是无穷远线。
[0055]图像处理可以指代用以确定图像中所示的特征的特性的图像自动分析。其例如在 自动化制造生产线中使用,在那里分析各部分的图像以在组装之前确定放置和对准。其还 例如在其中分析封装的图像以保证产品标签、批号以及"新鲜"日期被适当地定位且易读的 质量保证中使用。
[0056]图像处理也具有非工业应用。例如,在生物技术研究中,其可以用来识别显微镜成 像样本的组分或培养基中的生长模式。在宏观规模,其可以在天文学研究中用来找到延时 图像中的对象。图像处理器的气象学、农艺和国防应用包括卫星图像中的对象的检测和分 析。
[0057]用于改善对象/图案/特征检测的准确度的一个图像处理技术是单应性校正。单应 性指代空间中的同一平面的两个图像之间的关系。单应性被应用于图像校正,其可以指代 用于在没影线在其上面变成无穷远线的公共图像平面上将畸变图像映射到校正图像的过 程。此变换过程可以称为单应性校正。在某种意义上,单应性校正去除由成像系统的透视性 质引入的畸变。
[0058]在单应性校正中,一旦已知了单应性(例如,畸变图像与校正图像之间的映射),图 像映射技术可以用于从畸变图像去除单应性以恢复校正图像。此去除操作可以包括一个或 多个图像处理操作,其可以包括缩放、平移、旋转、倾斜和/或其它图像变换操作中的一个或 多个。
[0059] 常规图像成像技术遗憾地对于大多数图像处理应用而言缓慢且过于计算密集。其 常规图像映射技术针对校正图像中的每个像素位置识别畸变图像中的对应像素位置,并且 畸变图像中的对应像素位置的值被拷贝到校正图像中的关联像素位置以完成映射。在简单 示例中,校正图像中的每个像素坐标位置直接地映射到源中的现有像素。因此,例如,校正 图像中的坐标(4,10)处的像素映射到畸变图像中的坐标(2,5);校正图像中的坐标(6,10) 处的像素映射到畸变图像中的坐标(3,5)等等。
[0060] 然而,校正图像中的像素很少直接地映射到畸变图像中的网格位置。因此,例如, 校正图像中的坐标(4,10)处的像素可映射到畸变图像中的与像素远离一个亚像素(例如, 坐标(2.5,5.33))的位置。这可能迫使需要内插和/或滤波来确定所确定位置处的适当图像 值。在上文提供的示例中,可能将用于校正图像中的坐标(4,10)处的像素的适当强度确定 为用于源像素位置(2,5)、(3,5)、(2,6)以及(3,6)的强度的加权平均值。在下文中,术语位 置用于指代平面中的坐标,其可位于像素网格上也可不这样。
[0061] 此类图像映射技术通常耗费计算且费时,因为必须针对校正图像中的每个像素独 立地识别畸变图像中的一个或者多个对应像素。
[0062] 此外,此类图像映射技术一般地在其存储器使用方面是低效的,因为其以存储在 存储器中的像素未被对准到存储器结构的方式(即,数据被存储在存储器中的方式)访问该 像素。例如,当图像映射技术使用畸变图像中的一个或多个像素来对用于校正图像中的像 素的图像值进行内插时,从存储器获取所述一个或多个像素。某些种类的存储器(诸如动态 随机访问存储器(DRAM))具有对连续存储器位置(例如,图像中的连续X个坐标)的访问一般 地比非连续访问快得多的性质。因此,从存储器访问一个或多个像素的顺序或者一个或多 个像素被写入到存储器的顺序对于快速存储器访问操作而言可能是关键的。遗憾的是,常 规图像映射技术并不保证获取一个或多个像素的顺序将适合于存储器。因为从存储器访问 一个或多个像素可能并不对应于存储器中的连续存储器位置,从存储器检索图像可能是费 时的。
[0063] 在3D Transformations of Images in Scanline Order(Catmull和Smith,1980) 中在一定程度上解决了与常规图像映射技术相关联的某些问题。Catmull展示出一种将图 像映射过程分解成多个阶段使得与校正图像中的像素(称为目的地像素)对应的畸变图像 上的像素(称为源像素)位于存储器中的连续位置上的方法。然而,Catmull的方法仍要求针 对每个目的地像素执行相当大的计算,特别是除法。Catmull看起来似乎已将其方法与特殊 化硬件组合以改善计算速度,但是其方法不易在通用处理器上高效地执行。
[0064] 在High-quality multi-pass image resampling(Szeliski等人,2010年)中也在 一定程度上解决了与常规图像映射技术相关联的某些问题。Szeliski公开了用于执行可论 证地具有某些期望性质的某些类别的图像映射的方法。然而,Szeliski'的方法并不适用于 单应/透视图像映射。事实上,Szeliski承认"它尚未完全开发最佳多遍透视算法的理论,因 为实现全计算效率是错综复杂的"。因此,需要改善用于单应/透视图像映射的计算和存储 器访问的效率。
[0065] 本公开提供了用于将畸变图像映射到校正图像的多阶段图像映射机制。例如,多 阶段图像映射机制可以从畸变图像去除单应性以分两个阶段重构校正图像:(1)其中从畸 变图像部分地去除畸变以生成中间图像的第一阶段,以及(2)其中从中间图像去除残余畸 变以恢复校正图像的第二阶段。多阶段机制可以是有利的,因为其可以允许每个阶段在(1) 识别两个图像中的像素之间的对应关系,(2)从存储器访问像素,以及(3)对像素进行滤波 以确定图像值方面是高效的。
[0066] 为此,多阶段图像映射机制将单应性变换H分解成两个单独的变换:第一变换A和 第二变换B。因此:
[0067] H=A* B
[0068] 根据此表示,第二变换B被设计成将对象平面(例如,与校正图像相关联的平面)的 坐标映射到中间图像平面(例如,与中间图像相关联的平面)的坐标,并且第一变换A被设计 成将中间图像平面的坐标映射到图像平面(例如,与畸变图像相关联的平面)的坐标。因此, 可以将多阶段图像映射机制的第一阶段视为从畸变图像去除第一变换A以生成中间图形, 并且可以将多阶段图像映射机制的第二阶段视为从中间图像去除第二变换B以生成校正图 像。
[0069] 在继续进行的描述中,源图像指代作为到单应性的分解变换中的一个(例如,第一 变换A或第二变换B)的输入而提供的图像,并且目的地图像指代作为来自单应性的分解变 换中的一个(例如,第一变换A或第二变换B)的输出而提供的图像。例如,针对第二变换B,源 图像是校正图像,并且目的地图像是中间图像;并且针对第一变换A,源图像是中间图像,并 且目的地图像是畸变图像。
[0070] 在某些实施例中,分解变换中的一个或多个(A和/或B)被设计成将具有特定y坐标 的源图像的所有像素映射到具有固定y坐标的目的地图像的像素。在一个示例中,第一变换 A被配置成将一行源图像映射到一行目的地图像。此特征允许使用于源图像和/或目的地图 像的大多数存储器访问与存储器结构对准,从而减少高速缓存未命中并减少用于访问外部 存储器的访问时间。
[0071 ]在某些实施例中,分解变换(A和/或B)中的一个或多个被配置成将特定一行源图 像中的像素映射到固定一行目的地图像中的与相邻位置等距离的位置。例如,可以将源图 像(例如,用于第一变换A的中间图像)中的像素(1, 7〇)、(2,7〇)、(3,7())映射到目的地图像 (例如,用于第一变换A的畸变图像)中的像素(2,7 1)、(4,71),(6,71)。如前所述,固定的一行 目的地图像可从像素网格偏离亚像素值。因此,坐标 yi可以是分数坐标值(例如,3.5)。
[0072]在某些实施例中,由于目的地图像中的位置之间的距离是恒定的(称为"采样常 数"),所以图像映射技术不需要独立地计算与特定一行源图像中的像素对应的目的地图像 中的位置。替代地,一旦图像映射技术识别到与源图像中的第一像素对应的目的地图像中 的第一位置,则图像映射技术可以使用该第一位置作为参考点来确定(例如,通过向第一位 置的X坐标简单地添加采样常数)对应于与原图像中的第一像素在同一行中的相邻像素的 第二位置。分解变换的此特性减少了识别目的图像中的与源图像中的像素对应的一个或多 个位置所需的计算量。
[0073]图1示出了根据某些实施例的用于校正畸变图像的单应性的机器视觉系统100。系 统100可以包括计算装置102,其包括处理器104、存储器106、单应性校正(HR)模块108、直接 存储器访问(DMA)控制器114以及接口 116。系统100还可以包括图像采集装置118,其可以生 成场景的图像。
[0074] 在某些实施例中,处理器104可以执行指令,并且一个或多个存储器装置106可以 存储指令和/或数据。存储器装置106可以是非临时计算机可读介质,诸如动态随机存取存 储器(DRAM)、静态随机存取存储器(SRAM)、闪存、磁盘驱动、光驱、可编程只读存储器 (PROM)、只读存储器(ROM)或任何其它存储器或存储器的组合。存储器装置106可以用于临 时地存储数据。存储器装置106还可以用于长期数据存储。可以用专用逻辑电路来补充处理 器104和存储器装置106和/或将其结合到专用逻辑电路中。
[0075] 在某些实施例中,HR模块108可以包括单应性分解模块110和单应性去除模块112。
[0076] 单应性分解模块110可以被配置成接收要从畸变图像去除的单应性的表示,并确 定与单应性对应的分解变换。分解变换可以包括例如要从畸变图像去除以生成中间图像的 第一变换A以及要从中间图像去除以生成校正图像的第二变换B。在某些实施例中,分解变 换可以包括可连续地从畸变图像去除以生成校正图像的超过两个变换,例如三个或四个变 换。
[0077] 单应性分解模块110可以约束分解变换中的一个或多个,使得特定一行源图像中 的所有像素被映射到目的地图像的固定y坐标。固定y坐标可以是整数,在这种情况下,特定 的一行源图像中的所有像素被映射到固定的一行目的地图像。并且,单应性分解模块110可 以约束分解变换中的一个或多个,使得特定一行源图像中的像素被映射到目的地图像的固 定y坐标中的相互等距离的位置。
[0078] 单应性去除模块110可以被配置成从畸变图像去除分解变换以恢复校正图像。例 如,单应性去除模块110可以从畸变图像去除第一变换A以生成中间图像,并且从中间图像 去除第二变换B以恢复校正图像。在某些实施例中,单应性去除模块110可以对一行目的地 图像进行向下采样以从目的地图像去除分解变换。在这种情况下,单应性去除模块110可以 以不同的采样率对每行目的地图像进行向下采样以虑及分解变换的投影畸变。
[0079] 在某些实施例中,单应性去除模块110可以被配置成对目的地图像进行向下采样 作为分解变换去除过程的一部分。这可以通过例如用向下采样率来适当地调整分解变换来 完成。
[0080] 在某些实施例中,直接存储器访问(DMA)控制器114被配置成允许某些硬件装置向 或从主存储器发送或接收数据,从而绕过处理器104以加速存储器操作。例如,DMA控制器 114可以在不涉及到处理器104的情况下允许单应性分解模块110访问存储器106。在某些实 施例中,DMA控制器114可以执行二维DMA。该二维DMA能够自动地跳过存储器中的并未与一 行图像对应的某些字节。
[0081] 在某些实施例中,可以用硬件来实现接口 116以在多种介质(诸如光学、铜和/或无 线接口)中以及在许多不同协议中(其中的某些可以是非暂时的)发送和接收信号。
[0082] 在某些实施例中,可以用软件来实现模块108、110、112中的一个或多个。软件可以 在能够执行计算机指令或计算机代码的处理器104上运行。处理器104是用硬件使用专用集 成电路(ASIC)、可编程逻辑阵列(PLA)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或 任何其它集成电路实现的。适合于执行计算机程序的处理器104举例来说包括通用微处理 器和专用微处理器、数字信号处理器以及任何种类的数字计算机的任何一个或多个处理 器。一般地,处理器104从只读存储器或随机存取存储器或两者接收指令和数据。
[0083] 可以用数字电子电路或用计算机硬件、固件、软件或者用其组合来实现模块108、 110、112。该实现可以是作为计算机程序产品,例如,在机器可读存储装置中有形地体现以 便由数据处理设备(例如,可编程处理器、计算机和/或多个计算机)执行或控制器操作的计 算机程序。可以用任何形式的计算机或编程语言来编写计算机程序,包括源代码、编译代 码、解释代码和/或机器代码,并且可以用任何形式来部署计算机程序,包括作为独立程序 或作为子例程、元件或者适合于在计算环境中使用的其它单元。可以将计算机程序部署在 一个或多个地点处的一个计算机上或多个计算机上执行。
[0084] 在某些实施例中,可以在同一集成电路(诸如ASIC、PLA、DSP或FPGA)上形成两个或 更多模块108、110、112,从而形成片上系统。子例程可以指代实现一个或多个功能的计算机 程序和/或处理器/特殊电路的各部分。
[0085] 计算装置102可以操作耦合到图像采集装置118。图像采集装置118可以经由接口 116来提供要校正的一个或多个图像。图像采集装置118可以包括电荷耦合器件(CCD)图像 传感器或互补金属氧化物半导体(CMOS)图像传感器、行扫描传感器、飞点扫描仪、电子显微 镜、包括计算机断层成像(CT)扫描仪的X光线装置、磁共振成像器和/或本领域的技术人员 已知的其它装置。
[0086] 计算装置102可以操作地耦合到外部装置(例如,工厂自动化或物流装置)或通信 网络(例如,工厂自动化或物流网络)以便从装置或网络接收指令和/或数据和/或向设备或 网络传输指令和/或数据。适合于体现计算机程序指令和数据的计算机可读存储装置包括 所有形式的易失性存储器和非易失性存储器,举例来说,包括半导体存储器装置,例如 DRAM、SRAM、EPROM、EEPROM以及闪存装置;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及 光盘,例如CD、DVD、HD-DVD以及蓝光磁盘。
[0087] 在某些实施例中,计算装置102可以包括用户设备。用户设备可以与一个或多个无 线电接入网和有线通信网通信。用户设备可以是蜂窝式电话。用户设备还可以是提供服务 的蜂窝电话,所述服务例如文字处理、网络浏览、玩游戏、电子书能力、操作系统以及整字键 盘。用户设备还可以是提供网络访问和由智能电话提供的大多数服务的平板计算机。用户 设备使用诸如Symbian 0S、iPhone 0S、RIM的黑莓、Windows Mobile、Linux、HP Web OS以及 安卓之类的操作系统进行操作。屏幕可能是用来向移动装置输入数据的触摸屏,在这种情 况下可以使用屏幕来代替整字键盘。用户设备还可以保持全球定位坐标、简档信息或其它 位置信息。
[0088] 在某些实施例中,计算装置102可以包括服务器。服务器可以使用操作系统(OS)软 件进行操作。在某些实施例中,OS软件是基于Linux软件内核,并在服务器中运行特定应用 程序,诸如监视任务和提供协议栈。OS软件允许分别地针对控制和数据路径分配服务器资 源。例如,某些分组加速卡和分组服务卡专用于执行路由或安全控制功能,而其它分组加速 卡/分组服务卡专用于处理用户会话业务。随着网络要求改变,在某些实施例中,可以动态 地部署硬件资源以满足要求。
[0089] 在某些实施例中,单应性去除模块112可以被配置成使用两阶段图像映射过程来 校正畸变图像以恢复校正图像。在两阶段图像映射过程的第一阶段中,单应性去除模块112 可以从畸变图像去除第一变换A以通过沿着畸变图像的X轴处理像素来生成中间图像,并且 在两阶段图像映射过程的第二阶段中,单应性去除模块112可以通过沿着中间图像的y轴处 理像素来去除第二变换B。
[0090] 在某些实施例中,单应性的一个或多个分解变换可以被设计成使得单应性去除模 块112优先地沿着源图像的X轴且沿着目的地图像的X轴访问像素。这是因为存储器一般地 与图像的X轴对准。换言之,存储器一般地通过(1)在沿着X轴保持像素顺序的同时存储具有 第一 y坐标的所有图像且然后(2)在沿着X轴保持像素顺序的同时存储具有第二y坐标(常常 邻近于第一 y坐标)的所有像素直至图像中的所有像素都被存储为止来存储图像。因此,通 过将一个或多个分解变换设计成优先地沿着图像的X轴访问像素,单应性去除模块112可以 使用直接存储器访问(例如使用直接存储器访问控制器)来减少高速缓存未命中和存储器 访问时间。
[0091] 在某些实施例中,单应性去除模块112可以被配置成在发起两阶段图像映射过程 的第二阶段之前将由两阶段图像映射过程的第一阶段生成的中间图像转置。通过这样做, 虽然两阶段图像映射过程的第二阶段被配置成沿着中间图像的y轴处理像素,但单应性去 除模块112仍可以在两阶段图像映射过程的第二阶段期间沿着转置中间图像的X轴(其实际 上是转置中间图像的y轴)访问像素以使存储器访问与存储器结构对准。
[0092] 如上文所讨论的,在某些实施例中,单应性分解模块110被配置成将单应性分解成 共同表示单应性的第一变换和第二变换。在某些情况下,一旦单应性分解模块110接收到预 定单应性,则单应性分解模块110可以使用单应性、第一变换与第二变换之间的预定关系来 确定分解。下面描述单应性、第一变换与第二变换之间的此预定关系。
[0093] 通常在齐次坐标(Xh,yh,Zh)中使用3X3单应性矩阵H来表示单应性,其中,下标h指 示变量与齐次坐标相关联。假设(x,y)是对象平面(例如,与校正图像相关联的平面)的坐标 系,且(x',y')是图像平面(例如,与畸变图像相关联的平面)的坐标系。根据齐次坐标的定 义,于是:
[0098] 可以如下表示一般透视操作:
[0094]
[0095]
[0096]
[0097]
[0099]
[0100]
[0101]
[0102] 在不失一般性的情况下,单应性分解模块110可以选择图像平面上的原点,并且将 该位置定义成也是对象平面的原点。这样,可以简化单应性矩阵H以去除平移:
[0103] h〇2 = hi2 = 0
[0104] 此外,如齐次坐标表示的情况所是,单应性分解模块110可以任意地设定单应性矩 阵H的总规模。在某些实施例中,单应性分解模块110可以通过设定h 22 = l来设定单应性矩阵 H的规模。
[0105] 用这些假设,定义对象平面与图像平面之间的单应性的单应性矩阵H具有六个参 数,并且可以写为:
[0106]
[0107] 单应性矩阵H的此表示允许校正任意量的旋转。
[0108] 在某些情况下,可以进一步约束单应性矩阵H以改善校正图像的质量。为此,单应 性分解模块112可以约束单应性矩阵H的旋转元素。关于单应性矩阵H的旋转元素的约束实 际上确定(例如,决定)与单应性矩阵H相关联的旋转量。
[0109] 在某些实施例中,单应性分解模块112被配置成通过设定hQ1 = h1Q来约束单应性矩 阵H的旋转分量。根据此约束,定义对象平面与图像平面之间的单应性的单应性矩阵H具有 五个参数,并且可以写为:
[0110]
[0111] 在某些情况下,与畸变图像相关联的实际旋转可以相当大地偏离与单应性矩阵H 相关联的旋转量。这可导致不期望的性能退化。在这种情况下,单应性分解模块112可以命 令单应性去除模块110以在多阶段校正过程的阶段1期间局部地向下采样,并且然后在多阶 段校正过程的阶段2期间局部地向上采样以减少性能退化。
[0112] 在某些实施例中,可以进一步约束单应性矩阵H以仅包括关于倾斜的两个自由度。 可以使用以下各项来将关于倾斜的两个自由度参数化:(1)倾斜方向τ(也称为方位角)和 (2)倾斜量α(也称为倾斜角或仅仅倾斜)。当倾斜约束与前述约束和惯例组合时,这足以计 算单应性矩阵H以矫正用〇和1指定的倾斜:
[0113]
[0114] 在某些实施例中,单应性分解模块112可以通过另一组参数来来约束单应性矩阵H 的旋转部件。这组参数化包括三个角参数,其执行(连续地):(1)围绕z轴的旋转,(2)围绕y 轴的旋转和(3)围绕X轴的旋转。这常常称为"横摇、纵摇以及平摇"表示。存在用以将"横摇、 纵摇以及平摇"表示参数化的至少两个不同方式。在第一示例中,纵摇和平遥表示先前旋转 之后的围绕"新"轴的旋转;并且在第二示例中,横摇、纵摇以及平摇中的每一个表示围绕不 移动"世界"轴的旋转。出于举例说明的目的,本公开使用"横摇、纵摇以及平摇"表示的第二 示例,其中,将围绕世界Z轴的旋转指示为γ ;将围绕世界y轴的旋转指示为β;并且将围绕X 轴的旋转指示为α。基于此表示,单应性矩阵H可以采取以下形式:
[0115]
[0116] 在某些实施例中,单应性分解模块112可以约束单应性矩阵H中的围绕ζ轴的旋转 (γ )。通忖熄V的佶約市为雪.可W熄里府忡钽陈H简仆成以下形式:
[0117]
[0118] 此参数化具有良好的特性,即hQ1和h1Q两者都具有小量值。
[0119] 本公开的其余部分基于单应性矩阵H的以下表示而提供实施例。
[0120]
[0121] 然而,本领域的技术人员可以使公开实施例适应于使用其它单应性矩阵表示。
[0122] 给定单应性矩阵H,单应性校正的目标是从图像平面^'!!^'!!^^上的畸变图像 去除此单应性H。
[0123] 在某些实施例中,单应性分解模块112被配置成将单应性矩阵H分解成第一变换A 和第二变换B,使得
[0124] H=A*B
[0125] it由指元并罟;云管箝"wrw加下写,屮,itk羊蒸.
[0126]
[0127] 在某种意义上,第一变换A将坐标系(x',y')所表示的图像平面上的畸变图像相关 到坐标系(Ay1)所表示的中间图像平面上的中间图像,并且第二变换B将坐标系(Ay 1)所 表示的中间图像平面上的中间图像相关到坐标系(x,y)所表示的对象平面上的校正图像。
[0128] 图2示出用以使校正图像(例如,对象平面的正视图,其为两阶段校正过程的期望 结果)畸变成中间图像的第二变换B的应用以及用以使中间图像畸变成畸变图像(例如,到 两阶段校正过程的输入图像)的第一变换A的应用。
[0129] 由于第一变换A使畸变图像与中间图像相关且第二变换B使中间图像与校正图像 相关,所以可以从畸变图像去除单应性H以通过(1)从畸变图像去除第一变换A以生成中间 图像和(2)从中间图像去除第二变换B以生成校正图像来恢复校正图像。
[0130] 在某些实施例中,可以将第二变换B表示为三个操作的串联:在保持z坐标原封不 动的同时将X和y坐标交换的转置操作T,转置的第二变换B yx,以及另一转置操作T:
[0131] B = T*Byx*T
[0132] 怎:由.可W加下耒沄鮮罟搵作T:
[0133]
[0134] 因此,可以如下表示单应性矩阵H:
[0135]
[0136] 下标"yx"用来指示转置的第二变换Byx对交换的X-y坐标进行操作。请注意,转置的第二变换B yx不仅仅是第二变换B的转置(例如,
)。可以通过基于X和y坐标被交换而z坐标保持相同的事实来重新布置B中 的各项而从第二变换B导出转置的第二变换Byx。
[0137] 在某些实施例中,可以将第一变换A和第二变换B约束为具有上文所讨论的性质: (1)特定一行源图像中的像素被映射到固定一行目的地图像中的等距离像素(例如,每对相 邻像素相隔相等的距离),在下文中称为第一约束,并且(2) -行源图像被映射到一行目的 地图像,在下文中称为第二约束。
[0138] 可以通过约育
宋向第一变换A中引入第一约束
:旨示X'(图像平面的X坐标) 相对于中间图像平面中的X坐标)的变化率。可以使用第一变换A的参数来直接地表示 X :
[0139]
[0140]
[0141]
[0142]
[0143] 如果此导数g仅仅取决于y1,则中间图像中的相邻像素之间的距离对于所有相 邻像素而言将是相等的。可以使得导:
-仅仅取决于y1。取决于X1的唯一一项在分母中。因 此,为了去除对X1的依赖性,可以将乘数a2Q设置成零。
[0144] 可以通过引入畸变图像的y坐标必须仅仅取决于中间图像的y坐标的约束来向第 一变换A中引入第二约束。通过如上所述地设置a 2Q = 0,已知分母zh'仅仅取决于y1。因此,如 果分子yh'仅仅取决于y 1,则y '(例如,畸变图像的y坐标)将仅仅取决于在中间图像的y坐标, 从而将该行中间图像映射到一行畸变图像。
[0145] 通过对中间图像坐标应用第一变换A,可以如下表示畸变图像的y坐标:
[0146] y7 H=Biox^aiiyl
[0147] 因此,为了使畸变图像的y坐标仅仅取决于y,可以将用于X1的系数设置成零:a10 = 0〇
[0148] 因此,总而言之,第一约束和第二约束要求第一变换A采取以下形式:
[0149] ,
[0150] 在某些实施例中,也应对第二变换B施加第一约束和第二约束。由于转置的第二变 換
生与A相同的条件下操作,所以Byx应具有与A相同的形式。因此, 按照第一约束b21 = 0且按照第二约束bQ1 = 0。因此,可以如下表示Byx:
[0151]
[0152] 可以如下将转置的第二变换Byx相关回到第二变换B:
[0153]
[0155]
[0154] 总而言之,可以如下表示单应件矩阵Η:
[0156]
[0157]
[0158] 可以使用单应性矩阵H的分解来以分析方式求解出H的系数、A的系数与B的系数之 间的关系。基于此分析计算,可以表明第一变换A和转置的第二变换B yx如下与H的系数相关:
[0159]
[0160]
[0161 ]因此,一旦单应性分解模块110接收到单应性矩阵H的系数,则单应性分解模块110 可使用上述关系来生成第一变换A和转置的第二变换Byx。
[0162] 在某些实施例中,第一变换A和/或第二变换B可以包括当恢复源图像时有效地对 目的地图像进行向下采样的比例因数。以下分解遵守第一约束和第二约束,如上所述,同时 允许用第一变换A中的向下采样速率进行向下采样:
[0163]
[0164] 其中,SAx和SAy分别地指代X维度和y维度上的采样因数。替换地,可以如下表示单 应性矩阵H:
[0166] 在某些实施例中,采样因数SAx和/或SAy可小于I以有效地在第一阶段对畸变图像 进行过采样。这样,可以保存畸变图像中的信息以便在第二阶段中处理。
[0167] 在某些实施例中,单应性去除模块112可以高效地从畸变图像去除第一变换A和转 置的第二变换Byx。两阶段校正过程的每个阶段中的单应性去除模块112的工作在于仅用四 个重要的系数去除有限的单应性(例如,第一变换A或转置的第二变换B yx):
[0168]
[0169] 因为第一变换A和转置的第二变换Byx具有相同结构,所以单应性去除模块112可以 实际上执行同一程序两次,一次针对第一变换A且一次针对转置的第二变换B yx。因此,两阶 段校正过程的第一阶段和第二阶段可以包括基本上相等的操作。
[0170] 图3示出根据某些实施例的两阶段图像映射过程。两阶段图像映射过程使用由单 应性分解模块110确定的单应性的分解来分两个阶段执行校正。在两阶段图像映射过程的 第一阶段(识别为步骤302-304)中,单应性去除模块112可以沿着X轴处理畸变图像的像 素,并且在两阶段图像映射过程的第二阶段(识别为步骤306-308)中,单应性去除模块112 可以沿着y轴处理中间图像的像素。由于在第一阶段与第二阶段之间发生的转置操作,值得 注意的是多阶段校正过程的第一阶段基本上类似于多阶段校正过程的第二阶段。
[0171] 在发起图3中的步骤之前,可以将单应性去除模块112配置成接收畸变图像,并且 将单应性表示为第一变换A和第二变换B (或转置的第二变换)的串联。单应性去除模块112 可以从单应性分解模块110接收单应性表示。图4示出已经经受透视畸变的畸变图像的示 例。透视畸变表现为将两个垂直的平行线402、404变换成两个不平行线并将两个水平的平 行线406、408变换成两个不平行线。
[0172] 在步骤302中,单应性去除模块112被配置成通过沿着X轴处理畸变图像而从畸变 图像去除第一变换,从而生成中间图像。在步骤302a中,单应性去除模块112可以可选地对 中间图像进行向下采样。在某些实施例中,可以同时执行步骤302和步骤302a。例如,第一变 换A可以结合向下采样因数,如上文所讨论的,使得通过从畸变图像去除第一变换A,单应性 去除模块112可以实际上还执行向下采样操作。
[0173] 在步骤302中,可以将单应性去除模块112配置成针对中间图像的每个像素配置成 畸变图像中的相应位置。例如,单应性去除模块112可以访问一行中间图像中的像素中的一 个,并且使用第一变换A来确定畸变图像中的哪个位置对应于中间图像中的像素中的一个。 在某些情况下,畸变图像内的此位置可以具有亚像素坐标值。例如,畸变图像内的位置可以 具有(2.24,3.1)的坐标。
[0174]因为第一变换A经受第一约束和第二约束,所以单应性去除模块112预先知道一行 中间图像中的像素始终对应于畸变图像的预定y坐标中的位置。因此,其中单应性去除模块 112应访问存储器106中的畸变图像的图案是可预测的且确定性的。因此,单应性去除模块 112可以使用标准乒乓双缓冲器系统和DMA控制器114来并行地读取和存储一行或各组的各 行图像。
[0175] -旦单应性去除模块112确定中间图像中的像素与畸变图像中的位置之间的对应 关系,则单应性去除模块112可以确定用于中间图像中的该像素的图像值。为了确定用于该 像素的图像值,单应性去除模块112可以使用畸变图像中的相应位置处的图像值。
[0176] 当相应位置落在畸变图像的像素网格上时,单应性去除模块112可以对畸变图像 中的对应位置周围的图像值进行滤波。在某些情况下,单应性去除模块112可以简单地拷贝 畸变图像中的对应位置的图像值。当对应位置并未落在畸变图像的网格上时,单应性去除 模块112可以通过对畸变图像中的对应位置周围的像素的图像值进行内插来确定中间图像 中的像素的图像值。
[0177] 例如,单应性去除模块112可以用内核(kerne 1)对畸变图像中的对应位置周围的 像素求卷积以对畸变图像中的对应位置周围的像素的图像值进行内插。在某些情况下,还 可以将内核设计成沿着一行畸变图像执行适当的平滑化(例如,以满足尼奎斯特采样约 束)。在某些实施例中,内核可以是截断同步函数;在其它实施例中,内核可以是截断高斯函 数。
[0178] 在某些实施例中,单应性去除模块112可以预定将用于从网格位置的预选亚像素 偏离的一组内核。当畸变图像中的对应位置远离X轴中的网格0.1像素时,然后单应性去除 模块112可以使用预定的一组内核中的第一个;当畸变图像中的对应位置远离X轴中的网格 0.3像素时,然后单应性去除模块112可以使用预定的一组内核中的第二个等。在某些实施 例中,该组内核中的每个内核具有相同的函数形式。
[0179] 例如,该组内核可以包括以下:
[0180]
[0181]这些内核K1-K8全部具有相同的函数形式,但是每个内核与不同的亚像素坐标(也 称为亚像素相位)相关联。
[0182] 当单应性去除模块112将对像素网格上的位置(例如,0亚像素相位)进行滤波时, 单应性去除模块112可以使用Kl对该位置周围的像素进行滤波。请注意,Kl围绕中心是对称 的。当单应性去除模块112对与像素网格分离1/8亚像素相位的位置进行滤波,然后单应性 去除模块112可以使用K2来对该位置周围的像素进行滤波。例如,单应性去除模块112可以 直接地将K2乘以四个图像像素的序列以便同时地执行亚像素内插和滤波。当单应性去除模 块112对与像素网格分离1/2亚像素相位的位置进行滤波,然后单应性去除模块112可以使 用K5来对该位置周围的像素进行滤波。由于1/2亚像素相位的偏移指的是识别两个相邻像 素的精确边界处的图像值,所以K5是对称的。请注意,分别对应于1/8和7/8的亚像素相位的 K2和K8具有相同的值但是彼此的镜像。这讲得通,因为1/8与-7/8相同且-1/8与7/8相同。对 于各对"1 /4,3/4"和"3/8,5/8"而言同样如此。
[0183] 在某些实施例中,当畸变图像上的位置不具有与该组中的内核中的一个的亚像素 相位精确地匹配的亚像素相位时,则单应性去除模块112可以使用与最接近于该位置的亚 像素相位相关联的内核。例如,当位置的亚像素相位是1/9时,单应性去除模块112可以使用 Kl来对该位置进行滤波,因为1/9比与内核相关联的任何其它亚像素相位更接近于1/8。
[0184] 在某些实施例中,单应性去除模块112可以使用单指令多数据(SIMD)处理单元来 执行卷积运算。特别地,可以使用可被SMD处理单元操作的SMD乘法和/或SHffi点积指令来 容易地执行卷积运算。
[0185] 在某些实施例中,卷积运算可以涉及到二维内核。当内核在空间轴(例如,X轴和y 轴)上可分离时,单应性去除模块112可以分两个单独步骤执行卷积:(1)沿着X轴(例如,一 行图像)求卷积,以及(2)沿着y轴(例如,一列图像)求卷积。
[0186] 相对于第一步骤,由于第一变换A经受第一约束,所以一行中间图像上的像素被映 射到与畸变图像的固定y坐标内的相邻位置等距离的位置。因此,单应性去除模块112可以 对畸变图像的固定y坐标内的所有对应位置应用单个核函数。由于畸变图像内的位置的亚 像素相位可相互不同,所以单应性去除模块112可以基于每个位置的亚像素相位选择对应 于该单个核函数的一组中的内核中的一个。这可以避免单应性去除模块112需要在沿着固 定一行畸变图像的求卷积期间生成内核。在某些实施例中,单应性去除模块121可以对不同 的行使用相同的核函数;在其它实施例中,单应性去除模块112可以对不同的行使用不同的 核函数。可以将沿着X轴的卷积运算的结果(也称为X卷积结果)存储在临时缓冲器中。
[0187] 当单应性去除模块112完成沿着X轴的卷积时,单应性去除模块112可以对在临时 缓冲器中存储的X卷积结果执行通过对y方向内核求卷积进行的沿着y轴的卷积。在某些实 施例中,临时缓冲器可以保持与X卷积结果相关联的预定数目的行。可以基于y方向内核的 尺寸来确定此预定数目的行。例如,当y方向内核具有5个像素的长度时,临时缓冲器可以保 持与X卷积结果相关联的5行。
[0188] 在某些实施例中,临时缓冲器可以是横摇缓冲器(例如,圆形缓冲器),其存储一行 X卷积结果直至不再需要计算y卷积为止。例如,当单应性去除模块112在具有」的 7坐标的像 素处计算y卷积且y方向内核具有五个像素时,则单应性去除模块112可以在临时缓冲器中 存储用y坐标:」+2、」+1、」、」-1、」-2识别的五行1卷积结果。当单应性去除模块112完成具有」 的y坐标的所有像素的y卷积时,单应性去除模块112可以将目标 y坐标增加一个像素,并计 算具有j+1的y坐标的所有像素的y卷积。在这种情况下,单应性去除模块112可以使用用y坐 标:」+3、」+2、」+1、」、」-1识别的五行1卷积结果。因此,临时缓冲器不再需要具有」-2的7坐标 的那行X卷积结果。在这种情况下,临时缓冲器去除具有j-2的y坐标的那行X卷积结果,并用 具有j+3的y坐标的那行X卷积结果将其替换。
[0189] 在某些实施例中,y方向内核对于沿着该行输出图像的每个像素而言是相同的。因 此,可以通过将X卷积行的每个像素乘以对应于该行的内核系数且然后沿着列求和来实现 此y方向卷积。可以使用SM)处理单元、例如SM)乘法和/或SMD加法指令来高效地实现此 操作。
[0190] 对第一变换A的约束不保证关于沿着7轴的像素采样的任何特殊特性。因此,每行 具有其自己的核函数,其可以例如通过(1)将对象平面中的对称核函数映射到图像平面中 的对应不一定对称核函数并且(2)将其积分到像素仓来计算。此类内核固有地允许在y轴中 的非整数位置上的正确采样,并且还在不损失性能的情况下允许任何两行之间的采样距离 是不同的。可选地,可以在训练阶段期间预先计算被用于沿着y轴的卷积的所有核函数。
[0191] 图5示出根据某些实施例的通过从图4的畸变图像去除第一变换A而生成的中间图 像的示例。请注意,两个垂直的平行线402、404现在在中间图像中是平行的。然而,第一阶段 尚未去除两个水平平行线406和408的畸变。
[0192] 如图5所示,中间图像可以具有倾斜梯形形状(例如,两个侧边是平行的;另外两个 侧边可能不是)。在某些情况下,可选地可以在训练步骤中预先计算畸变图像中的每行、X卷 积行以及中间图像中的每行中的相关起始点和行程长度。
[0193] 为了去除两个水平平行线406和408的畸变,单应性去除模块112可以移动至两阶 段图像处理过程的第二阶段上。然而,如上文所讨论的,在发起第二阶段之前,在步骤304 中,单应性去除模块112被配置成将中间图像转置。
[0194] 在某些实施例中,单应性去除模块112可以使用"垂直"缓冲器来执行转置操作。例 如,可以将y方向卷积的输出值(例如,中间图像)存储为固定长度、优选地拟合到接近芯片 存储器(例如用户控制层级2高速缓存器)的临时图像。这些输出值被按照列顺序而不是行 顺序写入到缓冲器和因此的该垂直缓冲器。由于缓冲器可以完全包含在接近芯片存储器 中,单应性去除模块112不需要存储或访问任何外部存储器设备,这改善了存储器访问时 间。实际上,本实施例以局部方式执行转置操作。
[0195] 在某些实施例中,单应性去除模块112可以以"乒乓"方式使到两个垂直缓冲器中 的一个的写入交替,使得在当前列被写入到第二垂直缓冲器的同时,被写入到第一垂直缓 冲器的前一列可以被写出到外部存储器。
[0196] 在某些实施例中,可以使用DMA控制器114将垂直缓冲器数据传输到外部存储器中 的区域。外部存储器中的该区域可以大到足以容纳全校正图像。
[0197] 在某些实施例中,DMA控制器114可以使用二维DMA将垂直缓冲器数据传输到外部 存储器。二维DM能够自动地跳过与图像的垂直区段不对应的外部存储器中的字节,其在概 念上与垂直缓冲器中的数据匹配。不同于局部垂直缓冲器,外部存储器并不存储连续存储 器位置中的结果图像的相邻区段(例如,区块),这可使读和/或写速度劣化。在这种情况下, 二维DMA可以以最小的附加成本高效地处理读/写操作(只要局部垂直缓冲器的宽度足够大 即可)。
[0198] 在步骤306中,一旦中间图像被转置,则单应性去除模块112被配置成通过处理转 置的中间图像的X轴(例如,中间图像的y轴)中的像素来从中间图像去除第二变换。随后,在 步骤306a中,单应性去除模块112可选地被配置成对步骤306的结果进行向下采样,并且在 步骤308中,单应性去除模块112被配置成将步骤306的结果(或步骤306a的结果,如果其被 执行的话)转置。在某些实施例中,在步骤306/306a中,单应性去除模块112可以使用与步骤 302/302a类似的操作,并且在步骤308中,单应性去除模块112可以使用与步骤304类似的过 程。
[0199] 图6示出根据某些实施例的通过从图5的中间图像去除第二变换B而生成的已校正 图像的示例。请注意,两个水平的平行线406、408以及两个垂直的平行线402、404在校正图 像中是平行的。因此,结果得到的校正图像的所有透视畸变都被校正,并且被以目标向下采 样率进行向下采样。
[0200] 如上文所讨论的,单应性去除模块112可以在单应性校正期间对畸变图像进行向 下采样,并且单应性去除模块112可以在多阶段校正过程的两个阶段中的一个或多个中执 行向下采样。在某些实施例中,当存在目标向下采样率时,在步骤302a中(例如,在第一阶段 中)尽可能多地进行向下采样可能是有利的,因为这可以加速第一阶段,并进一步加速多阶 段校正过程的第二阶段。在多阶段校正过程的每个阶段中,可以在X或y方向独立地对图像 进行向下采样。
[0201] 在某些实施例中,可以将校正图像提供给图案检测系统,使得图案检测系统可以 确定校正图像是否包括特定图案。由于图案检测系统一般地在源图像不包括非线性畸变时 更高效地操作,所以公开的单应性校正过程可以改善图案匹配的效率。在某些情况下,图案 检测系统可以使用简单的基于相关的图案匹配技术来确定校正图像是否包括特定图案。在 其它情况下,图案检测系统可以使用在2006年3月21日公布的题为"Method for fast, robust ,multi-dimensional pattern recognition" 的美国专利号7,016,539中公开的图 案检测技术的实施例,其通过引用方式并入本文中。
[0202] 在某些实施例中,当单应性并非预先已知时,可以使用多个假设单应性变换中的 一个来校正畸变图像,并且可以将校正图像提供给图案检测系统以确定在多个假设单应性 变换中的一个下存在特定图案。可以针对其它假设单应性变换重复此过程直至图案检测系 统从校正图像检测到特定图案为止。
[0203] 在某些实施例中,公开的多阶段校正过程可以用于仅仅执行仿射图像采样,而并 不实际上去除一般的单应透视畸变。例如,为了使单应性矩阵H局限于仿射变换,可以将参 数h 2Q和h21设置成零。在其它实施例中,公开的多阶段校正过程可以用于仅仅去除图像缩 放。例如,可以将公开多阶段校正过程配置成通过除h 2Q和h21之外还将单应性矩阵H的参数 h10和hQ1设置成零来去除图像缩放操作。
[0204] 即使当公开的多阶段校正过程用于仅仅去除仿射变换或图像缩放操作时,公开的 多阶段校正过程也可以在计算上比用于去除仿射变换或图像缩放操作的先前已知方法更 快。计算益处源自于对一行图像应用内核的方式。如上文所讨论的,单应性去除模块112被 配置成对一行图像应用单个核函数。单应性去除模块112可以保持对应于此核函数的一组 内核,其中,该组中的每个内核对应于特定亚像素相位。这样,当单应性去除模块112对一行 图像应用单个核函数时,在该行中的每个位置处,单应性去除模块112可以基于该位置的亚 像素相位来选择这些内核中的一个。由于对应于亚像素相位的该组内核是预定的,所以单 应性去除模块112可以通过应用这些内核中的所选的一个来去除仿射变换或图像缩放。当 位置的亚像素相位并非精确地对应于该组中的内核中的一个时,单应性去除模块112可以 选择与最接近于该位置的亚像素相位相关联的内核。这去除几乎所有内插操作,这往往是 计算昂贵的。
[0205]在单应性去除模块112被配置成仅去除图像缩放的情况下,单应性去除模块112可 以通过保持许多内核(每个内核适合于来自像素网格的更细亚像素变化(例如,亚像素相 位))来进一步改善准确度。当单应性去除模块112执行向下采样时,单应性去除模块112可 以针对校正图像中的每个像素确定畸变图像中的对应位置的亚像素相位,并且使用亚像素 变化来选择预定的一组内核中的一个。随后,单应性去除模块112可以对畸变图像中的对应 像素应用所选内核以去除图像缩放。
[0206] 在某些实施例中,当单应性去除模块112被配置成仅去除图像缩放时,单应性去除 模块112可以通过仅使用多阶段校正过程的第一阶段来执行操作。
[0207] 在某些实施例中,当校正图像与畸变图像之间的单应性变换H满足上述第一约束 和第二约束时,单应性去除模块112可使用多阶段校正过程中的阶段中的仅一个来从畸变 图像去除透视畸变。例如,畸变图像可经由从图像传感器围绕着图像传感器的X轴(例如,一 行图像传感器位蜂窝)的旋转得到的透视畸变。在这种情况下,可将图像传感器定位成使得 对象平面的顶部远离图像传感器倾斜,如同图像传感器围绕着平行于图像传感器轴中的一 个的轴旋转一样。可用实际上满足第一约束和第二约束的单应性变换H来表示图像传感器 平面与对象平面之间的此关系:(1)特定一行校正图像中的像素被映射到固定的一行畸变 图像中的等距离像素,(2)-行校正图像被映射到一行畸变图像。因此,在这种情况下,单应 性去除模块112可以被配置成通过仅使用多阶段校正过程的阶段中的一个来执行校正操 作。
[0208] 在某些实施例中,多阶段校正过程可以用于对准由多个相机采集的图像。在某些 情况下,机器视觉系统可以包括观看场景的不同部分的多个相机,但是大致上对准。换言 之,所述多个相机中的每一个被设计成具有相同的平面内旋转和与平面的距离。然而,由于 物理限制,在平面内旋转和与平面的距离方面可存在"小的"差异,其分别地表现为平面内 旋转和缩放。此外,来自每个相机的像素网格可以相互移位一定的亚像素值,因为由于物理 限制而难以使来自每个相机的像素精确地对准。
[0209] 可以对由多个相机采集的图像中的差异进行离线校准。因此,可以离线确定由多 个相机采集的图像之间的关系。可以将此关系表示为单应性矩阵。因此,公开的多阶段校正 过程可以用来对准由多个相机采集的图像。在某些情况下,公开的多阶段校正过程还可以 用来对采集的图像进行向下采样,使得如果一个或多个相机具有不同数目的像素或不同像 素尺寸,则公开的多阶段矫正过程可以对图像进行向下采样以虑及此类差异。
[0210] 应理解的是公开的主题在其应用方面不限于在以下描述中阐述或在图中示出的 部件的布置和构造的细节。公开的主题能够有其它实施例并以各种方式实施和执行。并且, 应理解的是本文所采用的措辞和术语是用于描述的目的且不应被视为限制性的。
[0211] 同样地,本领域的技术人员将认识到可容易地利用本公开所基于的概念作为用于 设计用于执行公开主题的多个目的的其它结构、方法以及装置的基础。因此,重要的是将权 利要求视为包括此类等价构造,只要其不脱离公开主题的精神和范围即可。例如,某些公开 实施例涉及一个或多个变量。可使用数学等式来表示此关系。然而,本领域的技术人员中的 一个还可通过对公开数学等式进行变换使用不同的数学等式来表示一个或多个变量之间 的相同关系。重要的是将权利要求视为包括一个或多个变量之间的此类等价关系。
[0212]虽然在前述示例性实施例中已描述并举例说明了公开的主题,但应理解的是本公 开仅仅是以示例的方式实现的,并且在不脱离公开主题的精神和范围的情况下可以实现公 开的主题的实施方式的细节方面的许多改变。
【主权项】
1. 一种机器视觉系统,包括: 处理器,其被配置成运行在存储器中存储的计算机程序,其被配置成使处理器: 接收畸变图像和与畸变图像相关联的单应性矩阵; 使用单应性分解模块来确定共同表示单应性矩阵的第一变换和第二变换, 其中,第一变换使畸变图像与中间图像相关,并且第二畸变使中间图像与已校正图像 相关, 其中,第一变换被约束为将沿着中间图像的第一维度的像素映射到沿着畸变图像的第 一维度的位置,并且其中,沿着畸变图像的第一维度的位置与沿着畸变图像的第一维度的 相邻位置间隔开相同距离; 使用单应性去除模块通过从畸变图像去除第一变换来生成中间图像;以及 使用单应性去除模块通过从中间图像去除第二变换来生成已校正图像。2. 权利要求1所述的机器视觉系统,其中,第二变换被约束为将沿着已校正图像的第一 维度的像素映射到沿着中间图像的第一维度的位置,并且其中,沿着中间图像的第一维度 的位置与沿着中间图像的第一维度的相邻位置间隔开相同距离。3. 权利要求1所述的机器视觉系统,其中,所述处理器还被配置成在从中间图像去除第 二变换之前使用单应性去除模块将中间图像转置。4. 权利要求3所述的机器视觉系统,其中,所述处理器还被配置成使用单应性去除模块 来使直接存储器访问控制器在从中间图像去除第二变换之前使用单应性去除模块将中间 图像转置。5. 权利要求4所述的机器视觉系统,其中,所述直接存储器访问控制器被配置成使用二 维直接存储器访问来将中间图像转置。6. 权利要求1所述的机器视觉系统,其中,所述处理器被配置成使用单应性去除模块通 过以下各项从畸变图像去除第一变换: 针对中间图像的第一像素确定畸变图像中的对应第一位置;且 对围绕畸变图像中的对应第一位置的像素求卷积以确定用于第一像素的图像值。7. 权利要求6所述的机器视觉系统,其中,所述处理器还被配置成使用单应性去除模块 通过在第一像素的坐标上操作第一变换来确定对应第一位置。8. 权利要求6所述的机器视觉系统,其中,所述处理器被配置成使用单应性去除模块针 对在第二维度上具有与第一像素相同的坐标的中间图像的第二像素通过向第一维度上的 对应第一位置的坐标添加常数来确定畸变图像中的对应第二位置。9. 权利要求1所述的机器视觉系统,其中,所述处理器被配置成使用单应性去除模块来 向图案检测系统提供已校正图像,使得图案检测系统能够使用已校正图像来确定已校正图 像是否包括特定图案。10. 权利要求9所述的机器视觉系统,其中,所述处理器被配置成从图案检测系统接收 单应性矩阵,其中,由所述图案检测系统基于与畸变图像相关联的单应性的假设来确定单 应性矩阵。11. 权利要求1所述的机器视觉系统,其中,所述处理器被配置成使用单应性去除模块 基于沿着畸变图像的第一维度的位置中的一个的亚像素坐标来选择一组内核中的一个,并 在所述位置中的一个处应用所选内核。12. -种计算机化方法,包括: 在单应性分解模块处接收与畸变图像相关联的单应性矩阵; 使用单应性分解模块来确定共同表示单应性矩阵的第一变换和第二变换, 其中,第一变换使畸变图像与中间图像相关,并且第二畸变使中间图像与已校正图像 相关,其中,第一变换被约束为将沿着中间图像的第一维度的像素映射到沿着畸变图像的 第一维度的位置,并且 其中,沿着畸变图像的第一维度的位置与沿着畸变图像的第一维度的相邻位置间隔开 相同距离; 使用耦合到单应性分解模块的单应性去除模块通过从畸变图像去除第一变换而生成 中间图像;以及 使用单应性去除模块通过从中间图像去除第二变换来生成已校正图像。13. 权利要求12所述的方法,其中,第二变换被约束为将沿着已校正图像的第一维度的 像素映射到沿着中间图像的第一维度的位置,并且其中,沿着中间图像的第一维度的位置 与沿着中间图像的第一维度的相邻位置间隔开相同距离。14. 权利要求12所述的方法,还包括:使用单应性去除模块在从中间图像去除第二变换 之前将中间图像转置。15. 权利要求14的方法,还包括:使用单应性去除模块使直接存储器访问控制器在从中 间图像去除第二变换之前将中间图像转置。16. 权利要求12的方法,其中,从畸变图像去除第一变换包括:针对中间图像的第一像 素确定畸变图像中的对应第一位置并对围绕畸变图像中的对应第一位置的像素求卷积以 确定用于第一像素的图像值。17. 权利要求16的方法,还包括:针对在第二维度上具有与第一像素相同的坐标的中间 图像的第二像素通过向第一维度上的对应第一位置的坐标添加常数来确定畸变图像中的 对应第二位置。18. 权利要求16的方法,还包括:向图案检测系统提供已校正图像,使得图案检测系统 能够使用已校正图像来确定已校正图像是否包括特定图案。19. 权利要求16的方法,还包括:基于沿着畸变图像的第一维度的位置中的一个的亚像 素坐标来选择一组内核中的一个,并在所述位置中的一个处应用所选内核。20. -种具有与单应性分解模块和单应性去除模块相关联的可执行指令的非临时计算 机可读介质,所述可执行指令可操作用于使机器视觉系统: 接收与畸变图像相关联的单应性矩阵; 确定共同表示单应性矩阵的第一变换和第二变换, 其中,第一变换使畸变图像与中间图像相关,并且第二畸变使中间图像与已校正图像 相关,其中,第一变换被约束为将沿着中间图像的第一维度的像素映射到沿着畸变图像的 第一维度的位置,并且 其中,沿着畸变图像的第一维度的位置与沿着畸变图像的第一维度的相邻位置间隔开 相同距离; 通过从畸变图像去除第一变换来生成中间图像;且 通过从中间图像去除第二变换来生成已校正图像。21. -种机器视觉系统,包括: 处理器,其被配置成运行在存储器中存储的计算机程序,其被配置成使处理器: 接收第一图像和与第一图像相关联的第一变换,其中;第一变换使第一图像与第二图 像相关;并且被约束为将沿着第二图像的维度的多个像素映射到沿着第一图像的维度的多 个位置; 针对所述多个像素中的第一像素确定第一图像中的对应第一位置的坐标; 基于与第一位置的坐标相关联的亚像素相位来选择多个内核中的一个, 其中,亚像素相位指示第一位置与第一图像的像素网格相比的亚像素偏移;且 通过部分地对围绕第一图像中的第一位置的至少一个像素应用所选内核以确定用于 第二图像中的第一像素的图像值来从第一图像生成第二图像。22. 权利要求21所述的机器视觉系统,其中,所述处理器被配置成通过在第一像素的坐 标上操作第一变换来确定第一位置的坐标。23. 权利要求21所述的机器视觉系统,其中,所述处理器被配置成针对所述多个像素中 的第二像素通过向第一位置的坐标添加常数来确定第一图像中的对应第二位置的坐标。24. 权利要求23所述的机器视觉系统,其中,所述处理器被配置成: 基于与第二位置的坐标相关联的亚像素相位选择所述多个内核中的第二个;以及 通过部分地对围绕第一图像中的第二位置的至少一个像素应用所述多个内核中的第 二个以确定用于第二图像中的第二像素的图像值来从第一图像生成第二图像。25. 权利要求21所述的机器视觉系统,其中,所述多个内核对应于在多个子相位处采用 的相同函数。26. 权利要求21所述的机器视觉系统,其中,所述处理器被配置成: 接收与第二图像相关联的第二变换,其中,第二变换将第二图像与第三图像相关,并被 约束为将沿着第三图像的维度的多个像素映射到沿着第二图像的维度的多个位置; 针对第三图像的第一像素确定第三图像的对应第一位置的坐标; 基于与第三图像中的第一位置的坐标相关联的亚像素相位选择所述多个内核中的一 个;且 部分地通过对围绕第三图像的第一位置的至少一个像素应用所述多个内核中的一个 以确定用于第三图像的第一像素的图像值来从第二图像生成第三图像。27. 权利要求26所述的机器视觉系统,其中,所述第一变换和第二变换共同表示仿射变 换。28. 权利要求21所述的机器视觉系统,其中,所述第一变换包括向下采样操作。29. 权利要求21所述的机器视觉系统,其中,所述第一变换包括第一变换矩阵。30. -种计算机化方法,包括: 接收第一图像和与第一图像相关联的第一变换,其中,第一变换使第一图像与第二图 像相关且被约束为将沿着第二图像的维度的多个像素映射到沿着第一图像的维度的多个 位置; 针对所述多个像素中的第一像素确定第一图像中的对应第一位置的坐标; 基于与第一位置的坐标相关联的亚像素相位来选择多个内核中的一个, 其中,亚像素相位指示第一位置与第一图像的像素网格相比的子像素偏移;且 通过部分地对围绕第一图像中的第一位置的至少一个像素应用所选内核以确定用于 第二图像中的第一像素的图像值来从第一图像生成第二图像。31. 权利要求30所述的计算机化方法,其中,确定第一位置的坐标包括:在第一像素的 坐标上操作第一变换。32. 权利要求30所述的计算机化方法,还包括:针对所述多个像素中的第二像素通过向 第一位置的坐标添加常数来确定第一图像中的对应第二位置的坐标。33. 权利要求32所述的计算机化方法,还包括: 基于与第二位置的坐标相关联的亚像素相位选择所述多个内核中的第二个;以及 通过部分地对围绕第一图像中的第二位置的至少一个像素应用所述多个内核中的第 二个以确定用于第二图像中的第二像素的图像值来从第一图像生成第二图像。34. 权利要求30所述的计算机化方法,还包括: 接收与第二图像相关联的第二变换,其中,第二变换将第二图像与第三图像相关,并被 约束为将沿着第三图像的维度的多个像素映射到沿着第二图像的维度的多个位置; 针对第三图像的第一像素确定第三图像的对应第一位置的坐标; 基于与第三图像中的第一位置的坐标相关联的亚像素相位选择所述多个内核中的一 个;以及 通过部分地对围绕第三图像的第一位置的至少一个像素应用所述多个内核中的一个 以确定用于第三图像的第一像素的图像值来从第二图像生成第三图像。35. 权利要求34所述的计算机化方法,其中,所述第一变换和第二变换共同表示仿射变 换。36. 权利要求30所述的计算机化方法,其中,所述第一变换包括向下采样操作。37. 权利要求30所述的计算机化方法,其中,所述第一变换包括第一变换矩阵。38. -种具有与单应性分解模块和单应性去除模块相关联的可执行指令的非临时计算 机可读介质,所述可执行指令可操作用于使机器视觉系统: 接收第一图像和与第一图像相关联的第一变换,其中,第一变换使第一图像与第二图 像相关且被约束为将沿着第二图像的维度的多个像素映射到沿着第一图像的维度的多个 位置; 针对所述多个像素中的第一像素确定第一图像中的对应第一位置的坐标; 基于与第一位置的坐标相关联的亚像素相位来选择多个内核中的一个,其中,亚像素 相位指示第一位置与第一图像的像素网格相比的亚像素偏移;以及 通过部分地对围绕第一图像中的第一位置的至少一个像素应用所选内核以确定用于 第二图像中的第一像素的图像值来从第一图像生成第二图像。39. 权利要求38所述的非临时计算机可读介质,其中,所述可执行指令还可操作用于使 机器视觉系统针对所述多个像素中的第二像素通过向第一位置的坐标添加常数来确定第 一图像中的对应第二位置的坐标。40. 权利要求38所述的非临时计算机可读介质,其中,所述多个内核对应于在多个子相 位处采用的相同函数。
【文档编号】G06T5/50GK106056560SQ201610207533
【公开日】2016年10月26日
【申请日】2016年4月5日 公开号201610207533.6, CN 106056560 A, CN 106056560A, CN 201610207533, CN-A-106056560, CN106056560 A, CN106056560A, CN201610207533, CN201610207533.6
【发明人】纳撒尼尔·博根
【申请人】康耐视公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1