映射和编码生物学特征的制作方法

文档序号:19582839发布日期:2019-12-31 20:12阅读:395来源:国知局
映射和编码生物学特征的制作方法



背景技术:

本发明一般涉及宝石学分析领域,并且更具体地涉及映射宝石学特征。

许多天然或人造石或矿物形成物可用作宝石。一些例子包括钻石、祖母绿或红宝石。宝石的典型特征包括在宝石中包含其他材料,例如杂质、瑕疵或缺陷。例如,钻石可以包含黑碳规格、祖母绿可以包含不同颜色的矿物的股线或规格,并且其他这样的杂质可以包括夹杂物。裂缝、边缘或角落的缺口、切口或刻面的厚度或薄度以及折射率的变化也是缺陷或夹杂物的示例。



技术实现要素:

本发明的实施例公开了用于在矿物晶体中映射一个或多个夹杂物的方法、计算机程序产品和系统。接收与矿物晶体相关的一组图像数据。分析接收的一组图像数据,其中分析接收的一组图像数据还包括通过机器学习参数分割该组图像数据。基于分析的图像数据识别与矿物晶体相关的一个或多个夹杂物,其中夹杂物是矿物晶体表面上的非线性隔离区域。将识别的一个或多个所述矿物晶体的夹杂物映射到表示矿物晶体表面的树状结构。将映射的一个或多个夹杂物编码为与矿物晶体相关的链码。计算矿物晶体的质心值与识别的一个或多个夹杂物的质心值之间的径向距离并生成矿物晶体指纹,其中矿物晶体指纹至少基于编码的一个或多个夹杂物和计算的径向距离。

附图说明

图1是根据本发明的实施例的用于说明分布式数据处理环境的功能框图;

图2示出了根据本发明实施例的用于说明分布式数据处理环境内的应用的组件的功能框图;

图3是根据本发明的实施例的用于说明在图1的数据处理环境内的服务器计算机上的映射应用的操作步骤的流程图;

图4示出了根据本发明的实施例的图像数据的分析、映射和编码的说明性方框流程图;

图5示出了根据本发明实施例的执行包含映射应用的服务器计算机的组件的框图。

具体实施方式

本发明的实施例涉及计算领域,并且更具体地涉及映射和编码宝石学特征。以下描述的示例性实施例提供了一种系统、方法和程序产品,其尤其映射了矿物晶体或钻石中的一个或多个夹杂物。因此,本实施例具有通过自动生成钻石数字指纹,以便例如对钻石进行评估或跟踪来改进钻石映射和编码技术领域的能力。为了有助于钻石的评估和跟踪,能够识别夹杂物并从各种视觉源生成夹杂物的数字地图可能是有利的。

本文公开了要求保护的结构和方法的详细实施例;然而,可以理解的是,所公开的实施例仅仅是对可以以各种形式体现的要求保护的结构和方法的说明。然而,本发明可以以许多不同的形式实施,并且不应该被解释为限于这里阐述的示例性实施例。相反,提供这些示例性实施例是为了使本公开彻底和完整,并且向本领域技术人员充分传达本发明的范围。在描述中,可以省略公知特征和技术的细节以避免不必要地模糊所呈现的实施例。

说明书中对“一个实施例”,“实施例”,“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以不必包括特定的特征、结构或特性。而且,这些短语不一定是指同一实施例。此外,当结合实施例描述特定特征、结构或特性时,可以认为,无论是否明确描述,结合其他实施例来影响这种特征、结构或特性均在本领域技术人员的知识范围内。

几乎所有的钻石在表面上都可见小的缺陷。当在极端压力和热量下形成钻石时,这些缺陷是自然产生的。钻石表面上可见的缺陷的大小和数量通常决定了宝石的整体等级和货币价值。这种分级程序通常是一个手动过程,人类分级员在显微镜和其他工具的帮助下检查和映射钻石的缺陷,并将其贡献到整体质量等级。特定宝石(例如钻石)的透明度等级主要取决于夹杂物的大小和质量。最典型的是,宝石根据清晰度标度分配等级:无瑕疵(fl),内部无瑕(if),非常非常轻微包含(vvs1vvs2),非常轻微包含(vs1vs2),轻微包含(si1si2),包含(i1i2i3)。作为分级过程的一部分,夹杂物通常映射到钻石图,钻石图是钻石表面的图形表示,用于记录每个裂缝或夹杂物的类型和位置。当前,检查、绘制和映射钻石缺陷是一个需要人类宝石专家的手动过程。

当在显微镜下观察时,夹杂物可能在钻石图像上显示为亮点或暗点。通常,微透镜体制可用于捕获钻石的高分辨率数字图像,包括任何亮点或暗点。应注意,典型的检查和分级是用具有预定标准放大率(例如10倍)的显微镜进行的。此外,任何一颗钻石都可能具有在标准检查和分级过程中可能看不到的夹杂物或缺陷。因此,检查和分级过程限于那些在标准检查过程中可见或可识别的缺陷或夹杂物。

具有能够从以下输入中的一个或多个输入创建宝石(例如钻石)的三维计算机生成模型的系统可能是有利的:一组二维图像、包括冠部角度的度量、亭子角度、桌尺寸、饼尺寸、星形长度、下绕带长度、绕带厚度、绕带刻面、相机指标、照明指标和其他生成模型所需的确定信息。计算机生成的三维模型可以模拟真实的照明条件。可以使用图像数据的机器学习分析来生成计算机渲染模型,并且可以通过分析图像数据输入来确定夹杂物的位置。在本发明的各种实施例中,可以在机器学习训练期间生成手动夹杂物映射。夹杂物可以被映射在生成的模型上并显示给用户。

本发明一般涉及宝石学分析领域,更具体地涉及映射宝石学特征。映射宝石学特征的一种方法可以包括图像数据分析,以便确定宝石中夹杂物的位置。下面通过参考附图1-图4详细描述分析图像数据以确定宝石中夹杂物的位置的实施例。尽管本发明的实施例一般涉及宝石的宝石学特征的映射,仅出于示例的目的,以下描述涉及具体地映射和编码钻石的宝石学特征。图1示出根据本发明一个实施例的用于说明分布式数据处理环境(通常标记为100)的功能框图。分布式数据处理环境100可以包括全部经由网络140连接的服务器110、用户设备120、成像系统130。

服务器110和用户设备120可以是膝上型计算机、平板计算机、上网本计算机、个人计算机(pc)、台式计算机、智能电话或者能够经由网络140与分布式数据处理环境100中的各种组件和设备(例如,服务器110、用户设备120和成像系统130)通信的任何可编程电子设备。在各种实施例中,服务器110可以是单独的服务器或一系列服务器、数据库或用户设备120和成像系统130之内或者之外的其他数据存储装置。

在各种实施例中,用户设备120通常可以用于托管能够在图形用户界面中显示或通过网络(例如网络140)经由网络浏览器进行通信的应用。在本发明的各种实施例中,用户设备120可以与分布式数据处理环境100内的其他计算设备通信。用户设备120可以通过网络140传送请求,例如,请求数字指纹或矿物晶体、或者钻石的识别、由服务器110基于服务器110从成像系统130接收的图像数据生成的指纹。

成像系统130可以是基于镜头的系统、视频系统或能够生成图像数据并且将生成的图像数据通过网络140传送到其他设备(例如,服务器110和用户设备120)的任何系统。

在各种实施例中,如下面参考图2更详细描述的,服务器110包括夹杂物映射应用111。夹杂物映射应用111通常可以用于例如经由服务器110从成像系统130接收一组图像数据。夹杂物映射应用111可以分析所接收的钻石图像数据,并利用计算机视觉算法和机器学习参数来基于所接收的图像数据导出夹杂物或缺陷的位置。夹杂物映射应用111可以映射钻石的表面并基于包括所识别的夹杂物的图像数据生成钻石的3d模型。

在本发明的备选实施例中,成像系统130可以包括在数据存储设备中的夹杂物映射应用111,并且下面呈现的本发明可以在成像系统130内进行。

另外,在本发明的备选实施例中,用户设备120可以包括用于捕获图像数据的透镜系统和包括夹杂物映射应用111的数据存储库,以便执行服务器110和成像系统130的功能。

图2示出了根据本发明实施例的在分布式数据处理环境100内的服务器110上的夹杂物映射应用111的组件的功能框图。夹杂物映射应用111包括接收模块200、夹杂物识别模块210,映射模块220,编码模块230和指纹生成模块240。

参考图1和图2,接收模块200可以例如分别从用户设备120和成像系统130接收对钻石数字指纹和图像数据集的请求。接收模块200可以识别与接收图像数据相关联的任何元数据,以便确定图像数据的分辨率和放大因子。在各种实施例中,由成像系统130捕获的分辨率和放大率值可以是预定的,例如,由成像系统130捕获的图像数据可以具有1920×1080像素的分辨率和10倍的放大系数。接收模块200可以将接收的图像数据和相关联的元数据传送到夹杂物识别模块210。图像数据可以表示从相关的矿物晶体或钻石的表面反射的可见光的测量值。应当理解,反射的可见光是指波长为400nm至700nm的电磁辐射。

夹杂物识别模块210可以从接收模块200接收图像数据。夹杂物识别模块210可以分析所接收的图像数据,以便基于图像数据识别钻石中的夹杂物或缺陷。夹杂物识别模块210可以使用机器学习或计算机视觉分割,以便将接收的图像数据划分成多个片段。在各种实施例中,分割使用接收图像上的网格层并且允许识别图像内具有边界的对象。夹杂物识别模块210可以确定所识别的对象或边界表示钻石内的夹杂物。

在各种实施例中,夹杂物识别模块210可以基于所接收的图像数据使用光栅化生成三维模型。光栅化是以矢量图形格式描述图像并将其转换为光栅图像以在视频显示器或打印机上输出,例如,在用户设备120上的显示器。在各种实施例中,光栅图像可以作为所接收图像数据的三维渲染被实时生成。光线跟踪可以用于接收的静止图像数据渲染。光线跟踪是一种渲染技术,用于通过将光线路径跟踪为图像平面中的像素并模拟其与虚拟对象相遇的效果来生成图像。使用对钻石图像的光线跟踪可能是有利的,因为光线跟踪能够模拟反射和折射、散射和色散现象,例如色差。

该模型可以包括通过基于接收的图像数据将光栅化或光线跟踪应用于模型的照明条件。可以使用分割分析将钻石表面和内部夹杂物包括在模型中,并将夹杂物识别为钻石表面上的非线性隔离区域。在各种实施例中,夹杂物识别模块210可将模型数据传送到映射模块220。

映射模块220可以从夹杂物识别模块210接收包括表面数据和夹杂物数据的钻石模型数据。映射模块220可以将夹杂物识别模块210识别的夹杂物以可配置的放大率映射到表示钻石的二维表面的树结构上。

编码模块230可从映射模块220接收映射的夹杂物,并使用freeman的链码算法对夹杂物进行编码。该算法可以从所选择的起始点或参考矢量开始,通过在一个方向上或者方向矢量(例如,逆时针)上跟踪而计算夹杂物的轮廓,来计算与映射的夹杂物相关联的径向距离,并且计算并存储每个轮廓步长。特别地,从参考矢量开始,以限定的角度步长测量质心和轮廓之间的距离,并绘制为极角的函数。与基于人类在显微镜下的宝石观察的夹杂物的二维轮廓的当前可用近似草图相比,从实施例以这种方式生成的三维缺陷的三维精确编码可以提供更高的定义钻石中的夹杂物的效率。

下面,在表1中,是freeman的链码的示例(左)和链编码的示例(右)。表1中的示例性轮廓是逆时针跟踪的,从顶行中的线阴影点开始,并且存储每个后续轮廓步骤的方向。

表1

链码和径向距离算法。链码是单色图像的无损压缩算法。链码的基本原理是分别对图像中的每个连通分量或识别出的夹杂物进行编码。对于每个这样的区域,选择边界上的点并传送其坐标。编码模块230可以沿着区域的边界移动,并且在每个步骤中,传送该移动的方向。与基于人类在显微镜下的宝石观察的缺陷的二维轮廓的当前可用的近似草图相比,从实施例以这种方式生成的三维缺陷的三维精确编码可以改善确定钻石中缺陷的界定。

指纹生成模块240可以基于接收的图像数据、映射的夹杂物和编码的夹杂物生成数字指纹。生成的指纹可以包括将指纹与在图像数据中捕获的矿物晶体或钻石相关联的元数据标签。

图3示出了根据本发明的实施例的在图1的数据处理环境100内的服务器110上的夹杂物映射应用111的操作步骤的流程图。

接收模块200例如经由服务器110从成像系统130接收一组图像数据(框300)。在各种实施例中,接收模块200从用户设备120接收具有相关矿物晶体指纹请求的图像数据。接收模块200将接收的图像数据传送到夹杂物识别模块210。

夹杂物识别模块210分析所接收的图像数据(框310)。夹杂物识别模块210通过分割接收的图像数据来分析图像数据。在各种实施例中,夹杂物识别模块210基于接收的二维图像数据生成与图像相关联的钻石的三维模型。夹杂物识别模块210旋转该组图像数据的每个图像,使得每个图像的表面垂直于观察平面。夹杂物识别模块210将二维图像的表面投影到观察平面上,生成图像的二维渲染。夹杂物识别模块210基于投影的二维渲染组生成钻石表面的三维模型。

夹杂物识别模块210基于分析的图像数据识别夹杂物(框320)。在各种实施例中,夹杂物识别模块210将夹杂物识别为在钻石模型的生成表面上的非线性隔离区域。夹杂物识别模块210将识别的夹杂物传送到映射模块220。

映射模块220从夹杂物识别模块210接收识别的夹杂物,并将识别的夹杂物映射到树结构(框330)。由映射模块220生成的映射树结构表示在钻石表面上识别的夹杂物,其中放大率可配置用于最佳编码。映射模块220将映射的夹杂物和放大率传送到编码模块230。

编码模块230将所接收的映射的夹杂物编码(框340)作为与钻石相关联的链代码。编码模块230在夹杂物的边界的方向(例如,逆时针方向)上计算所映射的夹杂物的径向距离(框350)作为描绘的轮廓。轮廓以选定的起点开始,并计算和存储每个轮廓步长。在各种实施例中,编码模块230从参考方向开始,并计算钻石的质心与映射的夹杂物的质心之间的距离,其中轮廓以限定的角度步长测量并作为极角函数绘制。编码模块230将映射的夹杂物和编码的夹杂物传送到指纹生成模块240。

指纹生成模块240基于所接收的图像数据、映射的夹杂物和编码的夹杂物生成与由图像数据捕获的钻石相关联的指纹(框360)。

钻石中称为夹杂物的缺陷主要决定了它们的分级。它们在钻石显微镜图像中看起来像亮点或暗点。如下所述,这些缺陷的一些例子如图4所示。微透镜体制,例如成像系统130可用于获得钻石及其夹杂物的高分辨率图像。

图4示出了根据本发明的实施例的图像数据的分析、映射和编码的说明性方框流程图。参考图1、图2和图4,接收模块200可以接收与钻石相关联的一组图像数据。可以将该组图像中的图像(框400)传送到夹杂物识别模块210以进行分析。

在各种实施例中,夹杂物识别模块210对接收的图像数据进行分段(框410),并且扩大分段(框420)以用于夹杂物识别。可以使用机器学习参数或计算机视觉技术来实现图像分割。图像分割是将数字图像分割成多个片段(像素组,也称为超像素)的过程。分割的目标是简化和/或改变图像的表示以便更有效地分析。在各种实施例中,可以使用卷积神经网络来执行图像分割,其中使用机器学习分类器对夹杂物类型进行分类。图像分割可以允许基于来自多个分段输入图像的3d重建来确定夹杂物的3d位置。图像分割通常用于定位图像中的对象和边界(线,曲线等)。更确切地说,图像分割是将标签分配给图像中的每个像素以使得具有相同标签的像素共享某些特征的过程。图像分割的结果是一组共同覆盖整个图像的片段,或从图像中提取的一组轮廓。区域中的每个像素在某种特征或计算属性方面是相似的,例如颜色、强度或纹理。相邻区域在(多个)相同特征方面显著不同。

在各种实施例中,识别非线性隔离区域,并使用链码来映射和编码所识别的夹杂物区域(框430)。在各种实施例中,分析分割图像的每个片段并且识别、映射和编码夹杂物。指纹生成模块240可以基于图像数据以及识别的、映射的和编码的夹杂物来生成钻石指纹(框440)。

图5示出了根据本发明实施例的服务器110和图1的分布式数据处理环境100的其他组件(例如,用户设备120)的组件的框图。应当理解,图5仅提供了一个实现的说明,并不暗示关于可以实现不同实施例的环境的任何限制。可以对所描绘的环境进行许多修改。

服务器110可以包括一个或多个处理器502、一个或多个计算机可读ram504、一个或多个计算机可读rom506、一个或多个计算机可读存储介质508、设备驱动器512、读/写驱动器或接口514、网络适配器或接口516,其全部通过通信结构518互连。通信结构518可以用设计用于在处理器(例如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统中的任何其他硬件组件之间传递数据和/或控制信息的任何体系结构来实现。

一个或多个操作系统510和一个或多个应用511(例如,夹杂物映射应用111)被存储在计算机可读存储介质508中的一个或多个上,以由一个或多个处理器502经由一个或多个相应的ram504(其通常包括高速缓冲存储器)执行。在所示实施例中,计算机可读存储介质508中的每一个可以是内部硬盘驱动器、cd-rom、dvd,记忆棒,磁带、磁盘、光盘、诸如ram、rom、eprom、闪存的半导体存储设备或可以存储计算机程序和数字信息的任何其他计算机可读有形存储设备。

服务器110还可以包括r/w驱动器或接口514,以从一个或多个便携式计算机可读存储介质526读取和写入。服务器110上的应用511可以被存储在便携式计算机可读的存储介质526的一个或多个上,经由相应的r/w驱动器或接口514读取并加载到相应的计算机可读存储介质508中。

服务器110还可以包括网络适配器或接口516,例如tcp/ip适配器卡或无线通信适配器(诸如使用ofdma技术的4g无线通信适配器),用于连接到网络517。可以经由网络(例如,因特网、局域网或其他广域网或无线网络)和网络适配器或接口516从外部计算机或外部存储设备下载服务器110上的应用程序511。从网络适配器或接口516,程序可以被加载到计算机可读存储介质508上。网络可以包括铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。

服务器110还可以包括显示屏520、键盘或小键盘522、以及计算机鼠标或触摸板524。设备驱动器512接口连接到显示屏520以用于成像,连接到键盘或小键盘522,连接到计算机鼠标或触摸板524,和/或连接到显示屏幕520以用于压力感测字母数字字符输入和用户选择。设备驱动器512、r/w驱动器或接口514和网络适配器或接口516可以包括硬件和软件(存储在计算机可读存储介质508和/或rom506上)。

在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质(或多个计算机可读存储介质),其上载有用于使处理器实施本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬态信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者经由网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,以便执行本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现(多个)规定的逻辑功能的可执行指令。在一些备选实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现

基于在本发明的特定实施例中实现的应用来识别本文描述的程序。然而,应当理解,本文中的任何特定程序术语仅仅是为了方便而使用,因此本发明不应限于仅用于由这种术语识别和/或暗示的任何特定应用。基于前述内容,已经公开了计算机系统、方法和计算机程序产品。然而,在不脱离本发明的范围的情况下,可以进行许多修改和替换。因此,已经通过示例而非限制的方式公开了本发明。

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