通过显微术识别生物材料的方法与流程

文档序号:23590173发布日期:2021-01-08 14:26阅读:113来源:国知局
通过显微术识别生物材料的方法与流程

本发明总体上涉及基于计算机的图像识别的领域。更具体地,本发明涉及用于识别意见可选地定量生物来源的离散对象的方法和系统,所述生物来源为诸如细胞、细胞质结构、寄生虫、寄生虫卵等,它们典型地是显微分析的对象。



背景技术:

由于各种各样的原因,各种各样的生物材料通过光学显微术进行分析。显微术的一种这样的用途是用于医学、兽医学和植物学疾病的诊断。例如,显微术可以用于在其他宿主细胞中识别特定类型的宿主细胞,诸如正常细胞群体中的癌细胞。另一个示例是在样本中的其他生物或非生物材料中的传染性微生物的识别。又一个示例是粪便样本中寄生虫卵种类(ovumspecies)的识别和定量。除了任何诊断原因之外,在研究活动过程中,还对人、动物和植物材料进行微观分析。

显微术也用于工业环境中,以对生物材料进行识别和计数。细菌和酵母用于许多工业过程中,为了质量保证和质量控制,需要对发酵剂和过程样本进行仔细分析。

在正确识别样本中的生物材料过程中,常常会有一些困难。由于存在非目标材料,诸如细胞碎片、组织碎屑、土等,可能会出现困难。非目标材料的存在可能模糊目标材料,或者至少在试图识别潜在目标材料时产生不确定性或混乱。虽然在有人类显微镜学家介入的情况下会出现这些困难,但是在使用计算机实现的图像识别方法来识别目标材料时,这些问题更加显著。虽然近年来图像识别的准确度有所提高,但是样本中非目标材料的存在可能是导致算法输出不准确的混杂因素。

因此,为了可接受的准确度,许多图像识别方法需要在准备成像时将目标材料纯化或以其它方式处理。诸如离心和过滤的方法可以用于基本上分离目标材料,然而此类方法增加了材料和劳动力成本。

在纯化程序由不精通实验室技术的人员在现场执行的情况下,出错的可能性很高。完全有可能在纯化程序期间无意中丢失一些或全部目标材料,导致虚假的低计数,甚至假阴性结果。考虑到远程诊断系统的使用越来越多,消除了将样本物理运输到诊断实验室的需要,样本制备更多的时候由消费者负责。

本发明的一个方面是提供允许通过计算机实现的图像识别手段可靠地检测和识别生物材料的方法、系统和装置。另一个方面是提供一种用于检测和识别生物材料的现有技术的方法、系统和装置的替代方案。

文件、行为、材料、装置、制品等的讨论被包括在本说明书中,仅仅是为了提供本发明的上下文。没有暗示或表示任何或所有这些事项因为其在本申请的每个权利要求的优先权日之前就存在而形成了现有技术基础的一部分,或者是与本发明相关的领域中的公知常识。



技术实现要素:

在第一方面,但不一定是最广泛的方面,本发明提供了一种用于训练计算机实现的学习方法以识别样本中的目标生物材料的方法,该方法包括以下步骤:

访问多个训练图像,该训练图像通过包含目标生物材料和任选地非目标生物材料的一个或多个样本的光学显微术获得,

通过人类和/或计算机手段裁剪多个训练图像中的一个或多个,以便产生一个或多个裁剪图像,一个或多个裁剪图像中的每一个主要显示目标生物材料,

通过人类手段在有可能识别的一个或多个裁剪图像中的每一个中识别目标生物材料,

将识别标签与有可能识别的一个或多个裁剪图像中的每一个相关联,

将计算机实现的特征提取方法应用于每个标记的裁剪图像,

将计算机实现的学习方法应用于每个标记的裁剪图像,其中,计算机实现的学习方法被配置成将生物材料的一个或多个提取的特征与目标生物材料相关联。

在第一方面的一个实施例中,裁剪多个训练图像中的一个或多个包括:将目标生物材料与显微镜视野背景和/或非目标材料(如果存在)区分开;以及在目标生物材料周围裁剪,使得图像主要或基本上仅包括目标生物材料。

在第一方面的一个实施例中,将目标生物材料与非目标材料区分开至少部分地通过计算机手段来实现。

在第一方面的一个实施例中,通过人工辅助的计算机手段将目标生物材料与非目标材料区分开。

在第一方面的一个实施例中,人工辅助的计算机手段包括将训练图像分成一系列帧,

通过人类手段识别在该系列帧中的每一个中目标生物材料的存在或不存在,

将计算机实现的特征提取方法应用于该系列帧中的每一个,以及

将计算机实现的学习方法应用于该系列帧中的每一个,

其中,计算机实现的学习方法被配置成将一个或多个提取的特征与帧中目标生物材料的存在或不存在相关联。

在第一方面的一个实施例中,该关联用于识别在多个帧中目标生物材料的存在或不存在,这些帧没有在人类辅助的计算机手段中使用,并且在目标生物材料存在的情况下,在目标生物材料周围裁剪,使得图像主要或基本上仅包括目标生物材料。

在第一方面的一个实施例中,裁剪图像和/或从其提取的特征中的每一个被存储在与其相应的识别标签链接关联的数据库中。

在第一方面的一个实施例中,目标生物材料是离散对象。

在第一方面的一个实施例中,离散对象是细胞器、细胞、单细胞生物体、多细胞生物体的解剖部分、多细胞生物体或生殖结构。

在本发明的第二方面,提供了一种包括根据第一方面的任何实施例的方法产生的多个裁剪图像的数据库,每个裁剪图像与其识别标签链接关联。

在本发明的第三方面,提供了一种数据库,该数据库包括从训练图像中提取并根据第一方面的任何实施例的方法产生的一个或一组特征,该一个或一组特征与生物材料识别信息链接关联。

在本发明的第四方面,提供了一种识别样本中的目标生物材料的方法,该方法包括:

访问通过显微术获得的样本的测试图像,

将计算机实现的位置检测方法应用于测试图像,该计算机实现的位置检测方法被配置成识别测试图像中潜在目标生物材料的位置,

将计算机实现的特征提取方法应用于所识别的位置,以提供一个或一组提取的特征,

将一个或一组提取的特征与存储在数据库中的一个或一组特征相匹配,该数据库具有与生物材料身份信息链接关联的一个或一组特征。

在第四方面的一个实施例中,计算机实现的位置检测方法包括将测试图像分成一系列区域以用于分析。

在第四方面的一个实施例中,区域彼此重叠。

在第四方面的一个实施例中,计算机实现的位置检测方法包括目标生物材料的轮廓的考虑。

在第四方面的一个实施例中,轮廓的尺寸被测量或估计。

在第四方面的一个实施例中,计算机实现的位置检测方法包括使用近似于目标生物材料的形状的模板。

在第四方面的一个实施例中,目标生物材料是离散对象。

在第四方面的一个实施例中,离散对象是细胞器、细胞、单细胞生物体、多细胞生物体的解剖部分、多细胞生物体或生殖结构。

在第四方面的一个实施例中,该方法包括对由计算机实现的位置检测方法识别的两个或更多个离散对象进行计数的计算机实现的方法。

在第四方面的一个实施例中,该方法包括将级联或层级分类方法应用于测试图像,该级联或层级分类方法包括第一一般分类步骤,随后是一个或多个特定分类步骤。

在第五方面,本发明提供了一种用于识别样本中的目标生物材料的系统,该系统包括:

显微镜,其被配置成捕获样本的图像并将该图像作为电子图像文件输出,

与显微镜数据连通的处理器使能设备,该处理器使能设备被配置成

(i)执行第四方面的任何实施例的方法的一部分或全部,或

(ii)将电子图像文件或从电子图像文件提取的特征传输到远程处理器使能设备,该远程处理器使能设备被配置成执行第四方面的任何实施例的方法的一部分或全部。

在第五方面的一个实施例中,该系统包括配置成执行第四方面的任何实施例的方法的一部分或全部的远程处理器使能设备,该远程处理器使能设备与处理器使能设备数据连通,处理器使能设备与显微镜数据连通。

在第五方面的一个实施例中,与显微镜数据连通的处理器使能设备是移动设备。

在本发明的第六方面,提供了一种处理器使能设备或处理器使能设备的网络,其被配置成执行第四方面的任何实施例的方法。

附图说明

图1是用于分析来自动物的寄生虫卵的临床样本的本发明的优选实施例的示意图。第一模块是训练模块,通过该模块,机器学习系统由专家人类教授,以识别显微术图像中寄生虫卵位置,然后从图像中裁剪潜在的卵。一旦训练过识别卵位置,多个另外的卵位置就被自动识别,并且在识别的位置处的卵被裁剪。裁剪的图像被用作机器学习模型的输入,用于训练以识别每个裁剪帧内的卵种类。第二模块在需要测试寄生虫感染的临床样本上执行。该模块利用第一模块的训练,首先在显微镜视野中识别卵的位置,然后在卵位置被识别的情况下从图像中裁剪出卵。然后通过参考第一模块的卵种类训练来识别裁剪的图像。任何识别的卵都可以被进一步计数。

图2是图1的第一模块内的数据流的示意图。

图3是图1的第二模块内的数据流的示意图。

图4示出了临床样本的光学显微镜视野,显示了用于定位潜在卵的优选的基于滑动窗口的方法。潜在的卵显示在网格区域18中。碎屑显示分散在显微镜视野中。在该实施例中,一个窗口与其他窗口重叠。例如,1号窗口(以粗体显示)与2、6和7号窗口重叠。

图5示出了临床样本的光学显微镜视野,显示了用于定位潜在卵的优选的基于轮廓的方法。该方法识别每个卵的质心和取向。围绕卵的轮廓用箭头标出。

图6a示出了临床样本的光学显微镜视野,并且图6b示出了用于定位潜在卵的优选基于模板的方法的模板。这项技术成功地识别了每个卵的质心和取向。

图7是在仅使用通用分类器分析血矛线虫卵的假阴性率后优选的寄生虫卵分类过程的示意图。在图中,hc代表血矛线虫属,trich代表毛圆线虫属。

图8是优选的完整寄生虫卵分类过程的示意图。在图中,hc代表血矛线虫属(haemonchus),trich代表毛圆线虫属(trichostrongylus),nem代表细颈线虫属(nematodirus)。

具体实施方式

在考虑了该描述之后,对于本领域技术人员来说,如何在各种替代实施例和替代应用中实现本发明将是显而易见的。然而,尽管这里将描述本发明的各种实施例,但是应当理解,这些实施例仅作为示例而非限制地呈现。因此,对各种替代实施例的这种描述不应被理解为限制本发明的范围或广度。此外,优点或其他方面的陈述适用于特定的示例性实施例,并且不一定适用于权利要求书所覆盖的所有实施例。

在本说明书的整个描述和权利要求书中,词语“包括”和该词语的变体,诸如“包含”和“含有”,并不旨在排除其他添加剂、组分、整体或步骤。

贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,在本说明书中各处出现的短语“在一个实施例中”或“在实施例中”不一定都指同一实施例,但是可以指同一实施例。

在一个方面,本发明至少部分基于机器学习技术可以用于识别目标生物材料的存在或不存在以及在一些情况下辨别一般类别的生物材料的变体。此外,允许自动或半自动检测显微镜视野内的目标生物材料的位置的训练方法通过快速生成用于识别的生物材料的裁剪图像和由专业人员应用标签来有利于机器训练。这种用于定位生物材料的装置也应用于测试中的样本,并且识别算法(如在学习阶段建立的)可以应用于来自测试样本的显微镜视野的每个裁剪图像。

本文所述的许多公开内容和研究涉及动物寄生虫卵种类的识别,然而,应当理解,相同的原理对于通过显微术可见的其他生物材料将是有效的,包括但不限于完整的寄生虫(诸如原生动物、蠕虫和外寄生物)、宿主细胞(包括血细胞、组织细胞和配子)、细菌、真菌、酵母、霉菌、支原体等。因此,当术语“卵”或“卵细胞”在本文中使用时,应当理解,词语“结构”、“细胞”、“细胞器”、“生物体”、“解剖部分”或“生殖结构”可以被替换。

申请人已经应用了机器学习技术,以允许识别不同种类的寄生虫卵,并且不需要人类显微镜学家。更特别地,本发明使用基于机器的技术(特别是基于机器学习的技术)从测试样本中卵的显微图像中提取特征,并进一步基于数据集的监督训练来识别卵种类。卵种类的正确识别提供了关于可为有关宿主动物提供的治疗的信息。

概括地说,检测方法首先在放大视野的电子图像中定位寄生虫卵,然后提取每个定位的卵的形态特征。已经发现,提取的特征可能是某个寄生虫卵属的特点,并且在一些情况下可以用于以高准确度区分不同种类的卵。本方法还可以包括用于计数任何识别的卵的装置,以便估计动物的感染负荷。

在一个方面,本发明提供了一种用于训练计算机实现的学习方法以识别样本中的目标生物材料的方法,该方法包括以下步骤:

访问多个训练图像,该训练图像通过包含目标生物材料和任选地非目标生物材料的一个或多个样本的光学显微术获得,

通过人类和/或计算机手段裁剪多个训练图像中的一个或多个,以便产生一个或多个裁剪图像,一个或多个裁剪图像中的每一个主要显示目标生物材料,

通过人类手段在有可能识别的一个或多个裁剪图像中的每一个中识别目标生物材料,

将识别标签与有可能识别的一个或多个裁剪图像中的每一个相关联,

将计算机实现的特征提取方法应用于每个标记的裁剪图像,

将计算机实现的学习方法应用于每个标记的裁剪图像,

其中,计算机实现的学习方法被配置成将生物材料的一个或多个提取的特征与目标生物材料相关联。

如本文所用,术语“提取的特征”及其变体旨在表示可以从电子图像文件中提取的任何特征,其可以用于识别任何生物材料,或者用于区分一种生物材料与另一种生物材料,或者用于区分目标生物材料与非目标生物材料。

特征提取的核心是减少描述大量数据所需的资源。当执行复杂数据的分析时,一个主要问题源于所涉及的变量的数量。具有大量变量的分析通常需要大量的内存和处理能力,并且它可能导致分类算法过拟合训练样本和对新样本较差地泛化。

特征提取是构建变量的组合以避免这些问题,同时仍然以足够的准确度描述数据的方法的总称。

特征提取典型地从测量数据的初始集合开始,并建立旨在提供信息和非冗余的导出值(特征),从而有利于后续的学习和泛化步骤,并且在一些情况下导致更好的人类解释。特征提取与降维有关。

因此,当算法的输入数据太大而无法处理,并且被怀疑是冗余的(例如,作为像素呈现的图像的重复性)时,则可以将其转换成特征的简化集合(特征向量)。确定初始特征的子集称为特征选择。所选择的特征预期包含来自输入数据的相关信息,使得可以通过使用这种简化表示而不是完整的初始数据来执行期望的任务。

术语“裁剪”及其变体旨在表示图像区域与周围图像区域的任何实质隔离。裁剪的动作可以包括将图像区域提取到另一个图像文件,或者将图像区域复制到另一个文件。在这两种情况下,图像区域周围的图像被移除。替代地,裁剪的图像区域与周围图像保持在一起,但是在诸如特征提取的任何后续分析中,周围图像被忽略。

在一个实施例中,使用基于几何的方法从图像中提取特征,该方法依赖于对象的几何模型的生成。这种方法可以解释由于视点和照明变化引起的外观变化。三维对象的几何描述允许投影形状基于2d图像,从而便于使用边缘或边界信息进行识别。有用的方法可能依赖于对视点变化不变的几何图元(诸如线和圆)的提取。技术人员可能考虑的问题是,这种图元仅可以在照明、视点和遮挡的有限变化下可靠地提取。

其他提取方法依赖于基于外观的技术,该技术在跨不同视点识别一般对象和建模照明变化方面是有用的。判别式分类器,诸如径向基函数的神经网络、动态链接结构、fisher线性判别、支持向量机、winnow的稀疏网络和boosting算法已经被应用于从2d图像识别3d对象。

因此,使用基于特征的算法是另一种方法,通过该方法,对于由于尺度、照明和仿射变换导致的变化不变的兴趣点被识别。这种方法可以提取由于尺度和照明变化而不敏感的特征,并且因此可以在其中可以预期显微镜的光和放大率的变化的本发明的上下文中使用。

在该方法的一个实施例中,特征提取包括从电子图像文件中提取潜在地与识别相关的特征。在该方法的一个实施例中,与识别相关的特征是向量。

在该方法的一个实施例中,每个向量是高维域中的点。在该方法的一个实施例中,向量具有至少256、512、1024、2048或4096个数值。

在该方法的一个实施例中,从图像文件中提取潜在地与识别相关的特征的步骤包括使用尺度不变特征变换算法或其功能等同物或者加速鲁棒特征算法或其功能等同物。

现在参考图1,图1示出了高度优选的方案,用于(i)训练计算机裁剪包含训练图像中的卵的帧(“模块1”)和(ii)对已经裁剪的卵进行分类(“模块2”)。

在本发明的该示例性形式中,训练方法(模块1)是利用训练图像作为输入的学习过程,涉及应用计算机视觉技术、机器学习技术和人类监督的学习算法来从训练图像中裁剪出卵(由监督人员确认)。这些裁剪的帧随后被用于训练机器学习模型以识别卵种类。下文提供了训练方法的进一步细节。

在本发明的该示例性形式中,寄生虫卵种类分类和计数过程以及检测结果数据库(模块2)接受寄生虫卵图像和机器学习模型作为输入来识别卵种类。从寄生虫卵图像中识别潜在的卵,并且应用深度卷积神经网络来提取特征(并且优选地提取与识别相关的特征),然后通过参考参考数据库,使用这些特征来确定卵种类。检测结果随后被存储在数据库中,在该数据库中可以查询卵种类计数。

数据库可以是能够执行本文描述的功能的任何类型。通常,数据库是关系型的,并且可以是定制编码的数据库,或者是商业可用的数据库,诸如advantagedatabaseserver、altibase、apachederby、cubrid、datacom、db2、drizzle、empressembeddeddatabase、filemaker、firebird、hsqldb、h2、informixdynamicserver、ingres、interbase、luciddb、mariadb、maxdb、microsoftaccess、foxpro、microsoftsqlserver、monetdb/sql、msql、nexusdb、omnisstudio、openlinkvirtuoso、oracle、rdb、paradox、peoplesoft、pervasivepsql、polyhedradbms、postgresql、rdmembedded、rdmserver、sap、scimoredb、smallsql、sqlanywhere、sqlbase、sqlite、unidata和xeroundclouddatabase。

现在转到对识别寄生虫卵的机器学习方法的进一步描述,优选地使用大量的训练数据(即多个卵图像)。在使用的大量训练数据中,应进行考虑以确保使用足够多样的图像来提高该方法能够可靠地在感兴趣的寄生虫卵和诸如粪便样本中存在的花粉和碎屑的其他图像内容之间进行区分的可能性。考虑到计算机不会被教导来区分目标材料和非目标材料,使用高纯度材料的图像来进行训练是没有多大用处的。

训练数据典型地包括图像标记对,其中包含已知种类的卵的图像帧从显微镜捕获的图像中裁剪,并根据由人类专家决定的已知种类进行标记。裁剪过程是优选的步骤,因为图像可能典型地包含粪便样本中存在的多种非目标对象、图像噪声和其他伪影。这些图像标记的对然后被用于使用机器学习训练技术来训练卵分类方法。

虽然裁剪过程可以由人类专家手动执行,但是通过实施半自动过程以通过训练方法获得裁剪的帧,然后应用机器学习模型来自动区分寄生虫卵与非目标图像内容(诸如碎屑、花粉和图像噪声),可以获得更高的吞吐量。

用于获得裁剪图像的示例性方法在图2中示出,其中第一步骤定义如下。从该组训练图像中,寄生虫卵(图1中的模块1的输入)被识别,并且进行图像子集的随机选择(用于卵识别的训练和测试图像),并且应用监督学习来区分卵帧与噪声帧。对于每一个所选图像,监督人员(通常是专业的显微镜学家)手动识别并裁剪出包含寄生虫卵或噪声的帧。对于每一帧,应用预先训练的深度卷积神经网络来提取形态特征。该网络已经过预先训练,以对1000种不同的对象类别进行分类。该网络的倒数第二层被采用,其有效地表示图像的一组关键特征,从该组关键特征训练卵分类器。如前所述,训练样本应提供测试图像的预期噪声条件的充分覆盖。提取的特征用于训练机器学习模型,以区分卵与噪声。

参照图2所示的用于获得裁剪图像的示例性方法,第二步骤定义如下。对于剩余的卵图像,寄生虫卵帧裁剪过程首先从每个图像中识别并裁剪出潜在的卵帧。然后,每个潜在的卵帧被馈送到深度卷积神经网络,以提取对应的特征。然后使用区分卵与噪声的机器学习模型来确定对应的帧是否包含寄生虫卵。

参照图2所示的用于获得裁剪图像的示例性方法,第三步骤定义如下。裁剪结果被传输到数据存储中,在数据存储中,关于裁剪帧的信息,诸如对应的卵类型(诸如卵属或种类)及其原始寄生虫图像,以链接关联的方式被存储。然后,将数据存储中的裁剪帧根据它们相应的属或种类被手动组织成组。在此阶段,也可以由专业的人类监管员进行手动检查,以确保数据库中保存的信息的有效性。

参照图2所示的用于获得裁剪图像的示例性方法,第四步骤定义如下。裁剪的图像然后被用作监督学习以识别卵种类的过程的输入,以训练机器学习模型来识别卵种类。

上述四步方法的结果是快速准备裁剪的卵帧,该卵帧被用作卵类型分类的训练数据。

优选地,第一、第二、第三和第四步骤以该顺序进行。

现在转到模块2的寄生虫卵识别方法的进一步描述,参考图3。

参照图3所示的用于寄生虫卵识别的示例性方法,第一步骤定义如下。给定输入图像,使用潜在卵位置检测过程检测潜在的卵位置。该过程涉及使用基于滑动窗口、基于边界或基于模板匹配的技术,如下面更全面描述的。

参照图3所示的用于寄生虫卵识别的示例性方法,第二步骤定义如下。给定潜在的卵位置,从输入图像中裁剪出相应的帧,并使用特征提取过程提取该帧的相应特征。使用神经网络,更优选地使用卷积神经网络,并且还更优选地使用深度卷积神经网络来执行特征提取。

卷积神经网络是前馈网络,因为信息流从输入到输出是严格单向的。对于人工神经网络来说,卷积神经网络是模仿诸如大脑的视觉皮层的生物网络的。卷积神经网络架构通常由卷积层和池化(子采样)层组成,它们被分组为模块。标准前馈神经网络中的一个或多个全连接层遵循这些模块。模块典型地被堆叠以形成深度卷积神经网络。这些网络由多个计算层组成,输入图像依次通过这些层进行处理。每一层都涉及诸如卷积、池化等的不同计算操作,通过用标记图像进行训练,这些计算操作学习提取与这些对象的分类相关的特征,在每一层处的结果是包含图像特征的数值表示的向量。多层特征提取允许推断越来越复杂和抽象的特征(形态特征和非形态特征两者)。最终全连接层输出类别标签。尽管这是普通的基础架构,但是可以想到变化以提高卵分类的准确度。

特征提取过程可以通过使用本领域技术人员认为合适的卷积神经网络以任何合适的方式执行,并且其中许多是公开可用的。这种神经网络已经在包含跨1000个对象类别(包括通常遇到的对象,诸如动物、车辆、食品器皿、家具等)的超过100万幅图像的非常大的数据集上进行了预先训练和测试。示例性深度卷积神经网络包括alexnet(8层,前5层是卷积层,随后是全连接层)、vgg-16和inceptionv3。技术人员熟悉这种神经网络和将在本发明的上下文中找到用途的其他神经网络。

没有必要利用卷积神经网络的所有层。本方法可以利用在卷积神经网络的倒数第二层处的结果。该层提供包含4096个数值的特征向量,每个数值代表输入图像的特定特征。为了执行潜在寄生虫卵的最终分类,可以使用图像的这种神经网络提供的特征向量表示来训练支持向量机以识别感兴趣的卵。技术人员将会理解,由神经网络提取的特定特征是原始图像的抽象,并且不一定表示容易为人类检查可视化的特征。这些抽象是许多层的卷积处理的结果,跨图像和在多个尺度上连接图像组件之间的关系。

参照图3所示的用于寄生虫卵识别的示例性方法,第三步骤定义如下。卵分类和计数过程利用提取的特征和预先训练的机器学习模型来识别来自模块1的卵种类,以识别寄生虫卵的存在并确定卵类型。

参照图3所示的用于寄生虫卵识别的示例性方法,第四步骤定义如下。然后,分类和计数结果以及相关联的信息存储在检测结果数据库中。

优选地,第一、第二、第三和第四步骤以该顺序进行。

参考潜在卵位置识别方法,在其一个示例性形式中,在图像中识别潜在卵帧。帧的大小可以根据预期的卵大小预先确定。该帧可以进一步被配置成使得帧中心与预期寄生虫卵的质心或中心区域基本上重合。

关于模块1,识别潜在的卵帧,之后将其从输入图像中裁剪出来,并且然后用作机器学习模型的输入,以确定该帧是否包含实际的寄生虫卵。在模块2中,潜在的卵帧可以被裁剪出,以便可以根据应用的目的按照需要识别任何卵的种类。在本方法的一些应用中,在先前的分析已经识别出种类并且主要关注的是感染水平的情况下,识别步骤是不必要的。在这种情况下,可以对卵简单地计数。然而,典型地,该方法将包括识别寄生虫种的进一步步骤。

在该方法的一些实施例中,通过诸如基于滑动窗口的方法、基于边界的方法或基于模板匹配的方法来确定卵帧。这些帧识别方法中的每一种的输入图像都是潜在地包含寄生虫卵的图像,并且输出是(至少在卵实际位于其中的情况下)从输入图像中裁剪出的一个或一组潜在卵帧。

参考示例性的基于滑动窗口的方法,第一步骤定义如下。固定尺寸(宽度和高度)的窗口用于在整个输入图像中滑动。

参考示例性的基于滑动窗口的方法,第二步骤定义如下。在输入图像上窗口的每个位置处,对应于当前窗口的图像帧被裁剪出。

优选地,第一和第二步骤以该顺序进行。

为了改善结果,可能有必要优化基于滑动窗口的方法的一个或多个参数。窗口大小是可以优化的第一参数,并且可以单独优化或者与任何第二和/或第三参数结合优化。窗口大小可以根据预期寄生虫卵的大小来选择。考虑到用于不同深度学习网络的输入图像大小单独变化,帧典型地将在输入到预先训练的深度卷积神经网络之前被调整大小。窗口大小的选择可能会对卵检测结果产生一些影响。作为指南,窗口大小通常足够大,以合理地覆盖最大的预期卵类型,但不应该太大,以至于卵外观的细节(特别是对于小的卵种类)在帧被调整大小时丢失。

重叠率是可以优化的第二参数,并且可以单独优化或者与第一和/或第三参数结合优化。当滑动窗口的步幅长度小于窗口的宽度/高度时,则相邻的窗口将彼此重叠。重叠窗口可以改善仅部分地驻留在单个窗口内的卵的位置,并且因此从相应帧提取的卵特征将是不完整的。根据寄生虫卵种类的大小,可以优化重叠率,以降低寄生虫卵不完全驻留在任何窗口中的可能性。

合并阈值是可以优化的第三参数,并且可以单独优化或者与第一和/或第二参数结合优化。当寄生虫卵(部分或全部)驻留在两个或更多个相邻的重叠窗口中时,可以实施合并阈值以避免卵的重复计数。如果这些相邻窗口之间的重叠面积超过合并阈值,即使卵出现在多个相邻窗口中,也只计数一次。形式上,该条件可以表述如下:

合并阈值<=重叠面积/(各自面积之和)

参考图4,图4示出了示例性的基于滑动窗口的方法,其中重叠率为50%;这意味着相邻窗口可能重叠它们各自面积的50%。

现在转向用于图像场中卵定位的示例性的基于边界的方法,所使用的边界可以与卵的边缘或轮廓相关。

参考示例性的基于边界的方法,第一步骤定义如下。对于输入图像,图像中所有潜在卵的轮廓被识别。

参考示例性的基于轮廓的方法,第二步骤定义如下。对于每个轮廓,计算其质心。基于质心,构造具有预定宽度和高度的帧。帧的中心定位成与卵的质心重合。

参考示例性的基于轮廓的方法,第三步骤定义如下。构造的帧中的每一个被视为潜在的卵帧。

优选地,第一、第二和第三步骤以该顺序进行。

为了改善结果,可能有必要优化基于轮廓的方法的一个或多个参数。

轮廓大小是可以优化的第一参数,并且可以单独优化或者与第二、第三或第四参数中的任何一个或多个结合优化。

输入图像可以包括数字噪声伪像,和/或包含诸如花粉的碎屑,这些碎屑可以模拟或模糊寄生虫卵或其他目标生物材料。处理在图像中检测到的所有轮廓可能是耗时的,因此为了加快过程,可以执行过滤步骤。过滤步骤根据轮廓的大小选择轮廓以进行进一步处理。大小阈值(包括最大值和最小值)根据寄生虫卵种类的典型大小确定。

预定帧大小是可以优化的第二参数,并且可以单独优化或者与第一、第三、第四和第五参数中的任何一个或多个结合优化。给定来自输入图像的轮廓,其中心为轮廓的质心的帧被构造并被裁剪出。优化帧大小的过程类似于基于滑动窗口的方法中的窗口大小的优化过程,并且在说明书的这一点上参考该方法。

合并阈值是可以优化的第三参数,并且可以单独优化或者与第一、第二、第四和第五参数中的任何一个或多个结合优化。给定来自输入图像的轮廓,中心为轮廓的质心的帧被构造并被裁剪出。优化帧大小的过程类似于在基于滑动窗口的技术中优化窗口大小的过程。

直方图均衡化和图像锐化是可以优化的第四和第五参数,并且可以单独优化或者与第一、第二、第三参数中的任何一个或多个结合优化。此外,第一、第二、第三参数中的任何一个或多个可以独立于第四参数或第五参数进行优化。除了第一、第二和第三参数之外,第四参数可以或可以不与第五参数结合。

根据所使用的硬件,输入图像可能对比度低、模糊或在其它方面不达标。在低对比度和/或模糊图像上的轮廓检测可能具有低准确度,这反过来影响卵识别和计数过程。为了增强轮廓检测过程,在应用轮廓检测之前,可以使用直方图均衡化和/或反锐化掩模方法来增加对比度和锐化图像。

参考图5,其示出了在输入图像上应用轮廓检测的示例结果。卵圆形寄生虫卵清晰地显示在图的中央,并用计算机手段画出轮廓。碎屑物也被画出轮廓,但通过分析计算机确定为非目标材料。

参考用于卵定位的示例性的基于模板的方法,第一步骤定义如下。给定输入图像,计算图像中的所有边界。

参考用于卵定位的示例性的基于模板的方法,第二步骤定义如下。对于每个边界,构造二值图像,其中由边界覆盖的区域具有与其余区域不同的值。然后将距离变换应用于每个二值图像。距离变换通过将每个像素的值从最接近的零值改变到其相应的距离来修改图像。

参考用于卵定位的示例性的基于模板的方法,第三步骤定义如下。构造模板,其中也应用了距离变换。

参考用于卵定位的示例性的基于模板的方法,第四步骤定义如下。对于每个变换后的图像,根据基于滑动窗口的技术滑动通过模板。在图像上模板的每个位置处,计算对应于匹配级别的匹配度量。在每个位置处的匹配级别计算如下:

其中:

并且:

t是模板图像

wh分别是模板的宽度和高度。

i是输入图像

r(x,y)是在输入图像i的坐标(x,y)处的匹配级别

x、y表示在输入图像i中的位置的xy坐标

x、y表示在模板t中的位置的xy坐标

x’’、y’’表示在模板t中的位置的xy坐标

参考用于卵定位的示例性的基于模板的方法,第五步骤定义如下。使用阈值机制来找到匹配形状的轮廓。该轮廓用于确定潜在寄生虫卵定位的位置、其取向和估计的长度/宽度。

参考用于卵定位的示例性的基于模板的方法,第六步骤定义如下。对于每一个识别的轮廓,潜在的卵帧被裁剪出来用于进一步的处理。

为了改善结果,可能有必要优化基于模板的方法的一个或多个参数。

模板形状和/或大小是可以优化的第一参数,并且可以单独优化或者与第二和/或第三参数结合优化。寄生虫卵在大小和形状上可能显著地变化,选择模板的形状和大小可能影响识别准确度。优选地,该形状类似于目标寄生虫卵种类的形状。然而,随着卵形状变化,包括类椭圆形状、类矩形形状、类贝壳形状等,采用大体上圆形的形状来近似大多数对象,而不是聚焦于任何特定的形状。模板大小典型地被选择为近似卵大小。

轮廓大小是可以优化的第二参数,并且可以单独优化或者与第一和/或第三参数结合优化。处理图像中检测到的所有轮廓可能很耗时;为了加速该过程,基于轮廓大小的过滤步骤可以优选地如上述基于边界(轮廓)的方法那样进行。

潜在卵面积是可以优化的第三参数,并且可以单独优化或者与第一和/或第二参数结合优化。一旦知道了卵的位置,并估计了它的长度/宽度,包含卵的区域就被裁剪以供进一步分析。裁剪区域通过调查卵种类的典型大小来估计,并且因此可以根据某个阈值预先指定。

参考图6,其示出了将基于模板匹配的方法应用于临床样本输入图像的结果。

在考虑输入图像的以下性质的情况下,可以做出关于是否使用基于滑动窗口、基于边界或基于模板匹配的技术的决定:基于边界的方法通常是最快的,但是可能对噪声敏感。当噪声水平较高时,基于滑动窗口的方法通常优于基于边界的方法。

基于滑动窗口的方法和基于边界的方法两者在输入图像包括卵簇的情况下通常不太优选,特别是在卵以某种方式彼此接触或连接的情况下。在这些情况下,基于模板匹配的方法通常更有用。

卵识别过程可以进一步优化如下。由于输入图像可能包含数字噪声,而且在光学显微镜下不同的卵种类可能在外观上彼此非常相似,因此仅应用单个分类器可能不足以在相对于噪声识别卵种类方面达到可接受的准确度。为了提高分类准确度,可以使用级联的多个分类器。

在本发明的上下文中,级联过程可以被定义为包括两种或更多种分类方法并且还包括根据前一步骤的结果选择使用两种或更多种方法中的哪一种的至少一个决策点的过程。这种动态优化方法是基于对每个种类的分类误差的分析。

参考图7和图8。级联过程(也可以被认为是层级过程)通过将通用分类器应用于一组当前输入图像而开始。通用分类器是一种分类器,其被配置成至少在一定程度上潜在地区分所有预期种类,包括非卵对象。通常分类器可能误识别一些卵种类,并且因此可能输出给定种类的假阴性结果。

来自通用分类器的每个寄生虫卵种类的分类误差指导关于在该过程的分类系统中接下来应该执行哪个步骤的决定。对于每一个种类,分析该种类被误识别的比率。这些比率被认为是一个卵种类相对于其他种类的假阴性率。一种寄生虫卵类型相对于另一种寄生虫卵类型的假阴性率(如公式1所示)被定义为前者被误识别为后者的案例数占前者的假阴性案例总数的分数。

在上述公式中,术语“错误识别”被视为“误识别”的等价物。

在下文中,参考五个示例性寄生虫卵种类属的分类定义了一系列方法步骤:血矛线虫属、莫氏绦虫属、细颈线虫属、奥斯特线虫属和毛圆线虫属。

作为第一步骤,应用通用分类器。通用分类器被用作起点,因为在这个阶段,没有关于任何卵属的假阴性率的可用信息。

作为第二步骤,对于由通用分类器识别的每个寄生虫卵种类,相对于其他属计算其假阴性率。例如,在应用通用分类器后识别血矛线虫卵的结果的样本在下表1中示出。

表1显示了血矛线虫卵相对于其他卵类型的假阴性率。真血矛线虫卵的总数为65个;在这65个卵中,13个卵被误识别为毛圆线虫,对应于20%的假阴性率。

上表显示,20%的血矛线虫卵被误识别为毛圆线虫。

作为第二步骤,对于每一个寄生虫卵种类,选择相对于其具有最高假阴性率的卵种类。如果最高假阴性率小于可接受的阈值,则跳过当前卵属。否则,遵循以下例程:

(i)训练新的分类器,以区分当前卵类型与具有最高假阴性率的类型,以及

(ii)创建将任何分类器连接到新训练的分类器的分支,该分支(1)将最高假阴性率类型作为其输出之一,并且(2)不具有将最高假阴性率类型的输出与任何分类器关联的任何分支。

例如,如表1所示,血矛线虫卵相对于毛圆线虫卵具有最高的假阴性率。假设可接受的阈值为10%,使用本方法,需要训练血矛线虫对毛圆线虫的分类器(hc/trich分类器)。一旦分类器已经被训练,它将被连接到通用分类器,因为通用分类器(1)将毛圆线虫类型作为其输出之一,并且(2)不具有将毛圆线虫类型的输出与任何其他分类器关联的任何分支。该方法的图形轮廓在图7中示出。

作为第三方法步骤,将所有输入图像馈送到当前系统,再次从通用分类器开始,以获得一组新的分类结果。

重复第二和第三个方法步骤,直到所有卵种类的假阴性率低于可接受的阈值,或者无法实现进一步的显著改善。

关于通过参考数据库来识别目标生物材料,应当理解,参考数据库将包含与比较器链接关联的某种生物材料(卵)的标签(诸如已知的卵属),该比较器可以与测试生物材料(诸如未知属的测试卵)相匹配。比较器可以是从已知卵和测试卵提取的一组图像特征。该方法的一种替代方法是存储已知卵的标记裁剪图像的库,将测试卵的图像与库中的每个图像进行比较,以识别最接近的匹配。

基于特征的方法可以用于尝试将测试对象与参考图像进行匹配。

在搜索可行匹配时,可以使用解释树。在这样的实施例中,根节点代表空集,并且每个其他节点是父节点中的匹配和一个附加匹配的并集。“通配符”可以用于没有匹配的特征。当匹配的集合不可行时,节点被切割。

替代地,在对象与参考图像的比较中使用“假设与测试”方法。这种方法依赖于假设参考图像特征的集合和对象特征的集合之间的对应关系的一般方法,然后使用这种方法来生成关于从对象坐标系到库图像帧的投影的假设。该投影假设用于生成对象的渲染(称为“反向投影”)。然后进行将渲染与对象进行比较的步骤,并且如果两者足够相似,则接受假设。

位姿一致性方法可以用于对象与参考图像的比较。该方法也基于对准的形成,因为对象与参考图像对准。少量的对应关系产生对象位置,并且其他对应关系必须一致。其原理是假设一大组图像特征和一大组对象特征之间匹配,然后可以恢复丢失的参数,并且因此渲染对象的其余部分。假设是使用少量的对应关系产生的。其他模型特征被反向投影到图像中,并验证额外的对应关系。在该方法中,使用实现离散对象位姿所需的最小数量的对应关系。

在系统或方法的一个实施例中,在对象和参考图像的比较中使用位姿聚类方法。这种方法的原理是每个对象导致许多正确的对应关系集合,每个集合具有(近似)相同的位姿。使用代表每个对象的位姿空间的累加器数组来执行对位姿的投票。对于每个对象,建立表示位姿空间的累加器数组——累加器数组中的每个元素对应于位姿空间中的“桶”。然后,拍摄帧组中的每个图像,并且形成关于其与每个对象上的每个帧组之间的对应关系的假设。对于这些对应关系中的每一个,位姿参数被确定,并且在累加器数组中为处于位姿值的当前对象形成条目。在任何对象的累加器数组中有大量投票的情况下,这可以被解释为该对象在该位姿下存在的证据。可以使用验证方法来检查证据。

不变性方法可以用于对象与参考图像的比较。这种方法依赖于对相机变换不变的几何性质的存在,因此仅适用于某些情况。

可以使用几何散列方法。该方法利用依赖于几何不变量的算法来为对象假设进行投票。它类似于位姿聚类方法,所不同的是,对几何投票,而不是对位姿投票。

尺度不变特征变换(sift)方法可以用于测试对象和参考图像的比较。通过这种方法,首先将对象的关键点从参考图像中提取并存储在数据库中。通过逐个特征地单独比较对象和图像,并且基于它们的特征向量的欧几里德距离找到候选匹配特征。

将对象的sift关键点从数据库的参考图像中提取并存储在数据库中。从匹配的完整集合中,识别出与对象及其在新图像中的位置、尺度和取向一致的关键点的子集,以筛选出优质匹配。通过使用广义霍夫变换的有效哈希表实现,快速执行一致群集的确定。然后,对在对象及其位姿上一致的3个或更多个特征的每个群集进行进一步的详细模型验证,并随后丢弃异常值。最后,在给定拟合准确度和可能的错误匹配数量的情况下,计算一组特定特征指示物体的存在的概率。通过所有这些测试的对象匹配可以以高置信度识别为正确的。本文参考优选实施例找到将sift方法结合到本方法和系统中的进一步细节。

对于任何基于特征的方法(包括sift),从测试图像文件和参考图像文件中提取假定的比较相关特征(诸如向量)。向量可以是高维域中的点。

在该系统或方法的一个实施例中,加速鲁棒特征(surf)方法用于测试图像和参考图像的比较。该方法使用hessian斑点检测器的行列式的整数逼近,其可以利用积分图像(3次整数运算)快速计算。对于特征,它使用感兴趣点周围的哈尔小波响应的和。同样,这些可以借助于积分图像来计算。

在一个实施例中,向量元素的数量是可配置的,并且被设置为最小数量,并且优选地至少约为2、4、8、16、32、64、128、256、512、1024、2048或4096。向量的值的范围典型地在-1和1之间归一化。

应当理解,可以使用多于一种的比较方法来提高准确度。例如,sift和surf方法可以结合使用。

本文公开的任何方法可以由可在处理器使能设备的任何过去、现在或将来的操作系统上执行的应用软件来执行,所述操作系统是诸如androidtm、iostm、windowstm、linuxtm等。应当理解,任何软件都可以分布在多个设备上,或者以“软件即服务”的格式,或者以“平台即服务”的格式分布,由此参与者只需要一些基于计算机的装置来使用软件。如果能够在现场获得测试图像(例如,使用智能手机或平板电脑),则具有相关联的操作系统的移动设备是优选的。这样的设备易于操作,可连接到互联网,并且由电池供电。

用作输入图像的显微照片可以从移动设备本身获得,例如通过将放大镜和其他硬件附接到智能电话的嵌入式相机。这样的布置可以使用标准的、便宜的显微镜目镜和物镜;放大倍数和分辨率能够通过改变物镜来调整。例如,可以实现0.85na60xachromattm物镜和20x宽视野显微镜目镜,以提供约180µm直径的视野、约28x的相机面上的有效放大率和约1.2µm的空间分辨率。基于系统点扩展函数的半高全宽,通过这种布置可以提供约1.2µm的分辨率。

作为替代方案,提供了能够进行必要的放大(例如,至少约2x、5x、10x、20x、30x、40x、50x、100x或200x)并且还能够电子捕获放大的图像的单独的显微镜。可以使用诸如cmos传感器的图像捕获部件,其输出以图像格式(诸如jpg、gif或tiff)存储,并存储在ram模块中的板上。普通的廉价光学显微镜可以被改装以用数字目镜代替目镜。数字目镜捕获如将由人眼看到的图像,并经由有线或无线协议输出到处理器使能设备(诸如智能电话或平板电脑)。以这种方式,用户能够调节照明条件(诸如光源和光阑)并聚焦物镜,以便提供样本的清晰图像。一旦获得可接受的图像,可以在光路中替换数字目镜,以便提供用于分析的数字图像。

使用数字化显微镜有利于使用诸如明场、暗场、相衬和油浸显微镜的技术。

已经令人惊讶地发现,甚至具有基本光学器件的显微镜也能够提供用于机器学习和识别的具有足够质量的图像。

可以设想在本发明的上下文中有用的更先进的显微镜和复杂的显微术。例如,考虑到显微镜能够扫描透照样本的深度并且通过软件手段构建放大结构的3d表示,在本发明的上下文中,3d显微术是可能的。作为另一个示例,荧光显微术需要使用标记的探针(诸如抗体)和能够激发荧光标记的光源(诸如紫外线)。

标本的数字图像可以通过有线手段(诸如usb或lightningtm电缆)或无线手段(诸如bluetoothtm或anttm)传送到移动设备。设备随后可以经由蜂窝电话系统(诸如4g)将图像传输到云服务器。

在许多应用中,测试图像将在现场拍摄,然后经由互联网传送到云服务器,云服务器执行任何必要的特征提取。云服务器还可以包含参考标记图像的库或标记提取特征的库,并且还可以被配置成执行任何所需的特征/特征比较或图像/图像比较。

本发明的示例性应用是在远程位置(即远离任何已建立的样本分析装置,诸如微生物诊断实验室)拍摄图像,在该位置,在正常情况下,在获得诊断结果时会经历一些困难和延迟。例如,饲养有疑似寄生虫感染的动物的农民可以采集粪便样本,使用支持数字的显微镜捕获粪便样本的放大图像,然后使用智能电话将图像上传到云服务器,该云服务器被配置成分析图像并识别样本中的任何寄生虫卵的属和任选地种类。在所需的机器分析(可能只需要几秒钟或更短时间)之后,寄生虫种识别结果从云服务器传输到农民的智能电话。云服务器可以进一步被配置(通过算法手段)以识别能够杀死或抑制检测到的寄生虫的治疗剂和剂量方案,从而允许农民立即开始治疗动物。

这种由计算机实现的诊断不需要人工干预,并且因此可以在任何时间或夜晚或白天提供,或者在没有合格诊断医生的假日期间提供。此外,应当理解,可以避免诊断实验室的专业服务费。

正如在别处所强调的,本文公开的训练和识别方法在许多情况下都是有用的。作为另一个示例,血细胞可以彼此区分并计数,以便快速提供有价值的信息。不同的红细胞类型(包括大小变化:正常红细胞、小红细胞、大红细胞、大卵圆形红细胞、低色素大红细胞(hyochromicmacrocyte);血红蛋白的不同分布:低色素性(hyochromia)、多染性;形状变异:靶形红细胞、球形红细胞、卵形红细胞(ovalcyte)、口形红细胞(stomoatocyte)、镰状细胞、棘红细胞;显示内含物的细胞:帕彭海默小体、卡博环、点彩、豪周小体;凝集结构;和缗钱结构)可以彼此区分。白细胞也可以被区分:中性粒细胞、嗜酸性粒细胞、嗜碱性粒细胞、大淋巴细胞、小淋巴细胞和单核细胞。

作为另一个潜在的应用,本发明的训练和识别方法可以用于自动化精液分析,包括计数精子和评估精子形态,包括头部、颈部和尾部缺陷。

考虑到此类任务将在现场进行,并且通常由未接受过实验室方法培训的人员执行,样本制备优选地尽可能简化。例如,样本可以简单地通过添加液体稀释剂并在混合后以“湿片”方法放置在载玻片上来制备。

粪便样本可以涂抹在载玻片上,并在加入简单的卵染色方案(诸如卡宝品红/孔雀绿)之前晾干。

而各种染色剂和照明条件可以用于强调细胞或组织内部或周围的结构。通常情况下,训练图像和测试图像将在基本上相同的条件下制备和照明。

在诸如尿液和血液的生物流体中发现的胞外体也可以通过本发明的方法来识别。在生物液体中可以发现各种晶体、小体和沉积物,其中许多本质上是不连续的,并且具有独特的大小和形态,这可以通过机器学习系统学习,然后应用于测试样本。

通过特定的染色或标记技术,生物材料的结构或生物分子可以被突出显示,并且因此在捕获的图像上更明显。例如,可以使用优先结合蛋白质的染色剂。替代地,可以使用更特异的标签来结合特定的核酸、蛋白质或糖蛋白启动子。标签可以包括报告者,诸如荧光分子,其对于图像捕获装置将是可检测的。

本识别算法可以被增强以接收辅助信息,该辅助信息可以帮助识别过程。例如,在算法被配置成识别病原体的情况下,算法可以接受诸如既往症、任何现有病症或其他感染、地理位置、年龄、种族、种类、品种或可以用于提高识别精度的任何其他信息的信息。这种信息可以被算法使用,否则可能导致模棱两可的识别。例如,在算法已经识别了两种潜在病原体,但是患者的地理位置使得病原体更有可能是一种而不是另一种的情况下,可以导致提高的精度。任何合并感染也可能提供进一步的信息,诸如莫氏绦虫卵经常与细颈线虫共同分布。

也可以根据本发明的方法分析整个组织的切片,其中切片内的细胞类型在学习过程之后可识别。在这种应用中,细胞典型地将彼此紧密接触,并且因此围绕每个细胞裁剪通常将比涉及良好分离的离散对象的情况更精确。

技术人员应当理解,本文所述的计算机实现的训练和识别的方法和系统可以部分或全部通过一个或多个处理器来部署,其在处理器上执行计算机软件、程序代码和/或指令。处理器可以是服务器、客户端、网络基础设施、移动计算平台、固定计算平台或其他计算平台的一部分。处理器可以是能够执行程序指令、代码、二进制指令等的任何种类的计算或处理设备。处理器可以是或可以包括信号处理器、数字处理器、嵌入式处理器、微处理器或任何变体,诸如协处理器(数学协处理器、图形协处理器、通信协处理器等)等,其可以直接或间接地有利于存储在其上的程序代码或程序指令的执行。此外,处理器可以实现多个程序、线程和代码的执行。

线程可以被同时执行,以增强处理器的性能并有利于应用程序的同时操作。作为实施方式,本文描述的方法、程序代码、程序指令等可以在一个或多个线程中实现。该线程可以产生可能已经分配了与其相关联的优先级的其他线程;处理器可以基于优先级或基于程序代码中提供的指令的任何其他顺序来执行这些线程。处理器可以包括存储如这里和其他地方所述的方法、代码、指令和程序的存储器。

任何处理器或移动通信设备或服务器都可以通过接口访问存储介质,该存储介质可以存储这里和其他地方描述的方法、代码和指令。与处理器相关联的用于存储方法、程序、代码、程序指令或能够由计算或处理设备执行的其他类型的指令的存储介质可以包括但不限于cd-rom、dvd、存储器、硬盘、闪存驱动器、ram、rom、高速缓存等中的一个或多个。

处理器可以包括一个或多个核,这些核可以提高多处理器的速度和性能。在一些实施例中,该处理器可以是双核处理器、四核处理器、其他芯片级多处理器等,其结合了两个或更多个独立的核(称为管芯)。

本文描述的方法和系统可以部分地或全部地通过在服务器、客户端、防火墙、网关、集线器、路由器或其他这样的计算机和/或网络硬件上执行软件的一个或多个硬件部件来部署。软件程序可以与服务器相关联,该服务器可以包括文件服务器、打印服务器、域服务器、互联网服务器、内联网服务器和诸如辅助服务器、主机服务器、分布式服务器等的其他变体。服务器可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟)、通信设备和能够通过有线或无线介质访问其他服务器、客户端、计算机和设备的接口等中的一个或多个。这里和其他地方描述的方法、程序或代码可以由服务器执行。此外,执行本申请中描述的方法所需的其他设备可以被认为是与服务器相关联的基础设施的一部分。

服务器可以向其他设备提供接口,包括但不限于客户端、其他服务器、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等。另外,这种联接和/或连接可以有利于程序跨网络的远程执行。在不脱离本发明的范围的情况下,这些设备中的一些或全部的联网可以有利于在一个或多个位置并行处理程序或方法。此外,通过接口附接到服务器的任何设备可以包括能够存储方法、程序、代码和/或指令的至少一个存储介质。中央储存库可以提供要在不同设备上执行的程序指令。在该实施方式中,远程储存库可以充当程序代码、指令和程序的存储介质。

软件程序可以与客户端相关联,该客户端可以包括文件客户端、打印客户端、域客户端、互联网客户端、内联网客户端以及诸如辅助客户端、主机客户端、分布式客户端等的其他变体。客户端可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟)、通信设备和能够通过有线或无线介质访问其他客户端、服务器、计算机和设备的接口等中的一个或多个。这里和其他地方描述的方法、程序或代码可以由客户端执行。此外,执行本申请中描述的方法所需的其他设备可以被认为是与客户端相关联的基础设施的一部分。

客户端可以向其他设备提供接口,包括但不限于服务器、其他客户端、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等。另外,这种联接和/或连接可以有利于程序跨网络的远程执行。在不脱离本发明的范围的情况下,这些设备中的一些或全部的联网可以有利于在一个或多个位置并行处理程序或方法。此外,通过接口附接到客户端的任何设备可以包括能够存储方法、程序、应用、代码和/或指令的至少一个存储介质。中央储存库可以提供要在不同设备上执行的程序指令。在该实施方式中,远程储存库可以充当程序代码、指令和程序的存储介质。

本文描述的方法和系统可以部分地或全部地通过网络基础设施来部署。网络基础设施可以包括诸如计算设备、服务器、路由器、集线器、防火墙、客户端、个人计算机、通信设备、路由设备和本领域已知的其他主动和被动设备、模块和/或部件的元件。除了其他部件之外,与网络基础设施相关联的计算和/或非计算设备可以包括诸如闪存、缓冲器、堆栈、ram、rom等的存储介质。这里和其他地方描述的过程、方法、程序代码、指令可以由网络基础设施元件中的一个或多个执行。

本文描述的方法、程序代码、计算、算法和指令可以在具有多个小区的蜂窝网络上实现。蜂窝网络可以是频分多址(fdma)网络或码分多址(cdma)网络。蜂窝网络可以包括移动设备、小区站点、基站、中继器、天线、塔等等。小区网络可以是gsm、gprs、3g、4g、evdo、mesh或其他网络类型。

本文描述的方法、程序代码、计算、算法和指令可以在移动设备上或通过移动设备来实现。移动设备可以包括导航设备、蜂窝电话、移动电话、移动个人数字助理、膝上型电脑、掌上电脑、上网本、寻呼机、电子书阅读器、音乐播放器等。除了其他部件之外,这些设备可以包括诸如闪存、缓冲器、ram、rom的存储介质和一个或多个计算设备。可以使能与移动设备相关联的计算设备以执行存储在其上的程序代码、方法和指令。

替代地,移动设备可以被配置成与其他设备协作执行指令。移动设备可以与基站通信,基站与服务器交接并被配置成执行程序代码。移动设备可以在对等网络、网状网络或其他通信网络上通信。程序代码可以存储在与服务器相关联的存储介质上,并由嵌入在服务器内的计算设备执行。基站可以包括计算设备和存储介质。存储设备可以存储由与基站相关联的计算设备执行的程序代码和指令。

计算机软件、程序代码和/或指令可以在计算机可读介质上被存储和/或访问,该计算机可读介质可以包括:计算机部件、设备和记录介质,其将用于计算的数字数据保留一段时间间隔;被称为随机存取存储器(ram)的半导体存储;大容量存储,典型地用于更永久的存储,诸如光盘、各种形式的磁存储,例如硬盘、磁带、鼓、卡和其他类型;处理器寄存器、高速缓冲存储器、易失性存储器、非易失性存储器;光学存储,诸如cd、dvd;可移动介质,诸如闪存(如usb棒或钥匙)、软盘、磁带、纸带、穿孔卡、独立ram磁盘、可移动大容量存储、脱机等;其他计算机存储器,诸如动态存储器、静态存储器、读/写存储、可变存储、只读存储器、随机存取存储器、顺序存取存储器、位置可寻址存储器、文件可寻址存储器、内容可寻址存储器、网络附加存储、存储区域网络、条形码、磁性墨水等。

本文所述方法和系统可以将物理和/或无形项目从一种状态转换到另一种状态。本文所述方法和系统还可以将表示物理和/或无形项目的数据从一种状态转换到另一种状态。

本文描述和描绘的元素,包括在贯穿附图的流程图和框图中,暗示了元素之间的逻辑边界。然而,根据软件或硬件工程实践,所描绘的元素及其功能可以通过计算机可执行介质在计算机上实现,该计算机可执行介质具有能够执行存储在其上的程序指令的处理器,作为单片软件结构、作为独立软件模块、或者作为采用外部例程、代码、服务等的模块、或者这些的任意组合,并且所有这样的实施方式都可以在本公开的范围内。

此外,任何流程图或框图或任何其他逻辑部件中描绘的元素可以在能够执行程序指令的机器上实现。因此,虽然前述附图和描述阐述了所公开的系统的功能方面,但是除非明确陈述或者从上下文中清楚,否则不应从这些描述中推断出用于实现这些功能方面的软件的特定布置。类似地,应当理解,上面识别和描述的各种步骤可以变化,并且步骤的顺序可以适应于本文公开的技术的特定应用。所有这些变型和修改都旨在落入本公开的范围内。因此,各种步骤的顺序的描绘和/或描述不应被理解为要求这些步骤的特定执行顺序,除非被特定应用要求,或者明确陈述或从上下文中清楚。

上述方法和/或过程及其步骤可以用硬件、软件或适用于特定应用的硬件和软件的任意组合来实现。硬件可以包括通用计算机和/或专用计算设备或特定计算设备或特定计算设备的特定方面或部件。过程可以在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或其他可编程设备以及内部和/或外部存储器中实现。过程也可以或者替代地体现在专用集成电路、可编程门阵列、可编程阵列逻辑、或者可以被配置成处理电子信号的任何其他设备或者设备的组合中。还应当理解,一个或多个过程可以实现为能够在计算机可读介质上执行的计算机可执行代码。

应用软件可以使用诸如c的结构化编程语言、诸如c++的面向对象编程语言或任何其他高级或低级编程语言(包括汇编语言、硬件描述语言和数据库编程语言和技术)来创建,这些编程语言可以被存储、编译或解译以在上述设备以及处理器的异构组合、处理器体系结构、或不同硬件和软件的组合、或能够执行程序指令的任何其他机器中的一个上运行。

因此,在一个方面,上述每种方法及其组合可以体现在计算机可执行代码中,当在一个或多个计算设备上执行时,该计算机可执行代码执行方法的步骤。在另一方面,该方法可以体现在执行其步骤的系统中,并且可以以多种方式分布在各设备之间,或者所有功能可以集成到专用的独立设备或其他硬件中。在另一方面,用于执行与上述过程相关联的步骤的装置可以包括上述硬件和/或软件中的任一个。所有这些排列和组合都旨在落入本公开的范围内。

本发明可以体现在一个或多个计算机上可执行的程序指令集中。这种指令集可以包括以下指令类型中的任何一种或多种:

数据处理和存储器操作,其可以包括指令,该指令用于:将寄存器设置为固定常数值;或将数据从存储器位置复制到寄存器,反之亦然(机器指令常常被称为移动,然而,该术语具有误导性);存储寄存器的内容、计算的结果;或检索存储的数据以稍后对其执行计算;或从硬件设备读取和向其写入数据。

算术和逻辑运算,其可以包括指令,该指令用于:对两个寄存器的值进行加、减、乘或除,将结果放在寄存器中,可能地在状态寄存器中设置一个或多个条件代码;执行逐位运算,例如,对一对寄存器中的对应位进行合取和析取,对寄存器中的每个位进行求反;或者比较寄存器中的两个值(例如,查看一个值是否更小,或者它们是否相等)。

控制流操作,其可以包括指令,该指令用于:分支到程序中的另一个位置并在那里执行指令;如果某个条件成立,则有条件地分支到另一个位置;间接地分支到另一个位置;或调用另一个代码块,同时将下一个指令的位置保存为要返回的点。

协处理器指令,其可以包括向协处理器加载数据/从协处理器存储数据、或与cpu寄存器交换数据、或执行协处理器操作的指令。

本发明的系统的计算机的处理器可以包括在其指令集中的“复杂”指令。单个“复杂”指令执行的操作在其他计算机上可能需要许多指令来执行。这种指令典型地是采取多个步骤、控制多个功能单元的指令,或者以比由给定处理器实现的大量简单指令更大的规模出现的指令。“复杂”指令的一些示例包括:一次在堆栈上保存许多寄存器;移动大块的存储器;复杂的整数和浮点运算(正弦、余弦、平方根等);simd指令,对许多值并行执行运算的单个指令;执行原子测试和设置指令或其他读-修改-写原子指令,以及利用来自存储器而不是寄存器的操作数执行alu运算的指令。

指令可以根据其各部分来定义。根据更传统的体系结构,指令包括指定要执行的操作的操作码,诸如将存储器的内容添加到寄存器,以及零个或多个操作数说明符,其可以指定寄存器、存储器位置或文字数据。操作数说明符可以具有确定其含义的寻址模式,或者可以在固定字段中。在包括许多微码体系结构的超长指令字(vliw)体系结构中,多个同时的操作码和操作数在单个指令中被指定。

某些类型的指令集没有操作码字段(诸如,传输触发体系结构(tta)或forth虚拟机),只有操作数。其他不常见的“0操作数”指令集缺少任何操作数说明符字段,诸如包括nosc在内的一些堆栈机器。

条件指令通常具有谓词字段——对特定条件进行编码的几个位,以使操作得以执行而不是不执行。例如,条件分支指令将被执行,并且如果条件为真,则分支被采用,使得执行前进到程序的不同部分,并且不被执行,并且如果条件为假,则分支不被采用,使得执行顺序地继续。一些指令集也具有条件移动指令,使得如果条件为真,则移动将被执行,并且数据被存储在目标位置,如果条件为假,则不执行,并且目标位置不被修改。类似地,ibmz/体系结构具有条件存储指令。一些指令集在每个指令中都包括谓词字段;这被称为分支预测。

构成程序的指令很少使用其内部数字形式(机器代码)来指定;它们可以使用汇编语言来指定,或者更典型地,可以由编译器从编程语言中生成。

示例1:寄生虫卵的机器识别

使用包括根据本发明的寄生虫卵识别算法的计算机来识别寄生虫卵。由计算机分析了针对血矛线虫、莫氏绦虫、细颈线虫、奥斯特线虫和毛圆线虫中每一种的总共65个图像。精度和召回率的结果在下表2中示出:

可以设想,可以通过用更大数量的训练图像和/或更多样范围的训练图像进行训练来提高算法的性能。

示例2:识别过程中裁剪拟合方法和基于模板的方法的比较

针对血矛线虫(hc)、莫氏绦虫(mon)、细颈线虫(nem)、奥斯特线虫(oster)和毛圆线虫(trich)中每一种,评估了使用裁剪拟合方法与基于模板的方法的检测算法的性能。结果在下表3中示出:

要注意的是,裁剪拟合方法通常是优越的。

示例3:单个卵和卵群集的识别中裁剪拟合方法和基于模板的方法的比较

在卵接触或不接触的情况下,针对血矛线虫(hc)、莫氏绦虫(mon)、细颈线虫(nem)、奥斯特线虫(oster)和毛圆线虫(trich)中每一种,评估了使用裁剪拟合方法与基于模板的方法的检测算法的性能。结果在下表4中示出:

通常要注意的是,在涉及单个卵的情况下,裁剪拟合方法优于模板方法,而在卵接触的情况下,观察到相反情况。

虽然本发明已经结合详细示出和描述的优选实施例进行了公开,但是对本领域技术人员来说,各种修改和改进将变得显而易见。

因此,本发明的精神和范围不受前述示例的限制,而是在法律允许的最广泛的意义上被理解。

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