Correlating a print coverage matrix with an object attribute matrix

文档序号:1651813 发布日期:2019-12-24 浏览:22次 中文

阅读说明:本技术 将打印覆盖矩阵与对象属性矩阵相关 (Correlating a print coverage matrix with an object attribute matrix ) 是由 P·莫罗维奇 J·莫罗维奇 M·M·戈特瓦尔斯 I·塔斯特尔 于 2017-04-21 设计创作,主要内容包括:在示例中,一种方法包括在处理器处接收第一矩阵和第二矩阵,所述第一矩阵包括打印覆盖向量集,每个打印覆盖向量指定用于使用增材制造的对象生成的打印材料,所述第二矩阵包括使用打印覆盖向量生成的对象的对应属性集。所述方法还包括由所述处理器确定与所述第一和第二矩阵相关的目标函数的解。(In an example, a method includes receiving, at a processor, a first matrix comprising a set of print overlay vectors, each print overlay vector specifying print material for generation of an object using additive manufacturing, and a second matrix comprising a corresponding set of attributes of the object generated using the print overlay vectors. The method also includes determining, by the processor, a solution to an objective function associated with the first and second matrices.)

1. A method, comprising:

receiving, at a processor, a first matrix comprising a set of print overlay vectors, each print overlay vector specifying print material for generation using an object of additive manufacturing, and a second matrix comprising a corresponding set of attributes of the object generated using the print overlay vectors; and

determining, by a processor, a solution to an objective function associated with the first and second matrices.

2. The method of claim 1, further comprising predicting a set of attributes of a new print coverage vector using the solution, wherein the new print coverage vector is not in the first matrix.

3. The method of claim 1, further comprising obtaining a new print overlay vector and an object property set of an object generated using the new print overlay vector; and

refining the solution based on the obtained new print coverage vector and the set of object properties.

4. The method of claim 1, wherein determining a solution comprises determining a mapping operator to apply to the first matrix.

5. The method of claim 1, wherein determining a solution comprises determining a function:

t, f () and g () in minT | | g (T f (M)) -g (P) |, where M is a first matrix and P is a second matrix, f () and g () are mapping operators and T is a transform matrix.

6. The method of claim 5, wherein the function to be minimized is the L2 norm.

7. The method of claim 1, wherein the solution comprises at least one cross product operator that relates a combination of print materials to an object property.

8. The method of claim 1, wherein the solution includes at least one scaling factor that relates the print material to an object property.

9. The method of claim 1, wherein the set of print coverage vectors is a set of volume coverage agent vectors that specify a combination of print agent and print agent at a voxel.

10. A processing apparatus, comprising:

a mapping module to estimate a solution to an objective function relating a set of print coverage vectors specifying print material for object generation to measured attributes of an object generated using each print coverage vector; and

a learning module to adapt the solution based on the new print coverage vector and the measurement attributes.

11. The processing apparatus of claim 10, further comprising:

an attribute prediction module to predict object attributes of a new print coverage vector using the objective function, wherein the new print coverage vector is not in the set of print coverage vectors.

12. The processing apparatus of claim 10, further comprising:

a print coverage vector generation module to generate a new print coverage vector using a solution to the objective function in response to an indication of an expected object property, wherein the new print coverage vector is not in the set of print coverage vectors.

13. The processing apparatus according to claim 10, wherein the mapping module is to determine at least one transformation matrix to be applied to a print coverage vector and at least one mapping operator.

14. A machine-readable medium storing instructions that, when executed by a processor, cause the processor to:

determining a transformation matrix and at least one operator that minimizes a function related to a first and a second matrix, wherein the first matrix comprises a set of print overlay vectors specifying print material for generation using an object for additive manufacturing, and the second matrix comprises a set of corresponding attributes of the object generated using the print overlay vectors; and

applying the transformation matrix and the operator to at least one of:

a new print coverage vector for estimating the attributes of an object generated using the new print coverage vector; and

a set of attributes for estimating a print coverage vector that is predicted to produce the attributes when used to generate the object.

15. The machine-readable medium of claim 14 storing instructions that, when executed by a processor, cause the processor to re-determine at least one of the transformation matrix and the operator upon receiving data that adds a print overlay vector to the first matrix and a set of attributes to the second matrix.

Background

Three-dimensional objects generated by an additive manufacturing process may be formed in a layer-by-layer manner. In one example of additive manufacturing, an object is generated by solidifying portions of a layer of build material. In examples, the build material may be in the form of a powder, liquid, or sheet. In some systems, desired solidification and/or physical properties may be achieved by printing agents onto the layer of build material. Energy may be applied to the layer, and the build material to which the agent has been applied may coalesce and solidify. In other examples, a chemical bonding agent may be used to bond the build material. In other examples, the three-dimensional object may be generated by using extruded plastic or spray material as the build material that solidifies to form the object.

Some printing processes that generate three-dimensional objects use data generated from models of the three-dimensional objects. For example, the data may specify the locations at which reagents are applied to the build material, or the locations at which the build material itself may be placed, and the amounts to be placed. Data may be generated from a three-dimensional representation of an object to be printed.

Drawings

Non-limiting examples will now be described with reference to the accompanying drawings, in which:

FIG. 1 is an example of a method of determining mapped resources;

FIG. 2 is an example of a method for predicting a set of attributes for a new print coverage vector;

FIGS. 3 and 4 are examples of processing circuits; and

FIG. 5 is a simplified schematic diagram of an example processor and an example machine-readable medium.

Detailed Description

Some examples described herein provide apparatus and methods for processing data relating to a three-dimensional object and/or for generating data that may be used, for example, by a three-dimensional printing system or in an object generation apparatus to produce a three-dimensional object. In some examples, data describing three-dimensional content with various specified object properties is processed. These object properties may include appearance properties (color, transparency, gloss, etc.), or functional properties (e.g., conductivity, density, porosity, strength, etc.), and different object portions may include different object properties.

In some examples herein, a three-dimensional object may be modeled in terms of "voxels," i.e., voxels, where each voxel occupies or represents a discrete volume. In modeling data for a three-dimensional object, a voxel at a given location may have at least one characteristic. For example, it may be empty, may have a particular color, and/or may represent a particular material or a particular object property, etc. The voxels representing the object may have the same shape (e.g., cube or tetrahedron), or may differ in shape and/or size. The voxels may correspond to regions of the three-dimensional object, which may be individually addressable volumes in additive manufacturing. In some examples, desired solidification and/or physical properties may be achieved, among other things, by printing agents onto layers of build material to form layers of objects. In some contexts, a voxel may be defined at a resolution that an object model, object, or object generation data is defined to.

In some examples, the print coverage vector defines print material data, for example detailing an amount of print material (such as an agent(s) to be deposited on the layer of build material, or in some examples, the build material itself), and combinations thereof, if applicable. In some examples, this may be specified as proportional volume coverage (e.g., X% of the area of the layer of build material should have reagent Y applied thereto). Such printing materials may be related to or selected to provide at least one object property such as, for example, color, transparency, flexibility, elasticity, rigidity, surface roughness, porosity, conductivity, interlayer strength, density, and the like.

An example of a print coverage vector is a print material volume coverage (Mvoc) vector. Such a vector may indicate that X% of a given area of three-dimensional space should have a particular "material vector" (Mvec) applied thereto, while other mvecs will be applied according to their own stated coverage proportions.

Mvec may include any print agent or combination of print agents. In other words, Mvoc may specify not only individual print agents as Mvec, but also combinations of print agents. For example, Mvoc may specify that a certain proportion of voxels may have a first agent applied to them, or a second agent, or a combination of first and second agents, with a probability associated with each Mvec selection. Thus, the Mvoc vector may have multiple values, where each value defines a proportion of a particular Mvec in the addressable locations for the three-dimensional object. For example, in an object generation apparatus with two available printing materials (e.g., agents) -M1 and M2, where each printing material may be independently deposited in addressable areas of a layer of a three-dimensional object, there may be 2 in a given Mvoc vector2(i.e., four) ratios: there is no first ratio of M2 for M1; no second ratio of M1 for M2; a third ratio for excess deposition (i.e., combination) of M1 and M2, e.g., M2 is deposited onto M1, or vice versa; and a fourth ratio for no both M1 and M2. In this case, the Mvoc vector may include 4 Mvec: [ M1, M2, M1M2, Z]Or have exemplary values [0.2, 0.2, 0.5, 0.1 ]]I.e. 20% of [ x, y ] over the area of the z-slice]Position received M1 without M2, 20% of [ x, y ]]Position received M2 without M1, 50% of [ x, y ]]The location receptions M1 and M2 and 10% are left empty. Because each value is a proportion and the set of values represents the available printing material combinations, the lumped sum of the values in each coverage vector is 1 or 100%.

This can be compared to another example of a print overlay vector, where proportional overlay is controlled but the "at voxel" selection is not: that is, the print coverage vector may specify X% received reagent M1 and Y% received reagent M2 for a region, but the overprint of the reagents is not explicitly defined (although the sum of X and Y may be greater than 100, thus possibly resulting in overprint). Such print coverage vectors may be referred to herein as print agent vectors.

For example, halftone techniques may be used to determine the actual locations where each printing material (e.g., drop of agent) should be applied. The print overlay representation may provide input for a halftoning process to generate control data that may be used by the object generation apparatus to generate the three-dimensional object. For example, it may be determined that 25% of a layer (or portion of a layer) of build material should have an agent or Mvec applied thereto in order to produce a specified object property. The halftone process determines where the reagent drop falls, for example by comparing each location to a threshold provided in a halftone threshold matrix, so as to provide 25% coverage.

FIG. 1 is an example of a method, which may be a computer-implemented method of determining mapped resources.

Block 102 includes receiving, at a processor, a first matrix comprising a set of print coverage vectors, each print coverage vector specifying print material for generation of an object using additive manufacturing, and a second matrix comprising a corresponding set of attributes of the print coverage vectors generated for the object. The rows of the matrices may correspond such that a first row of the first matrix includes a first print coverage vector, and a first row of the second matrix includes attributes associated with an object generated using the first print coverage vector, and so on. In other examples, the data may be organized in columns rather than rows.

In some examples, printing the coverage vector may include printing an agent vector. In some examples, the print coverage vector may include Mvoc, etc., where an explicit combination and/or amount of print reagents is specified. The properties may include any set of properties, including for example at least one appearance property such as colour and transparency, and/or mechanical and/or at least one functional property such as breaking strength, recovery force, flexibility, elasticity, rigidity, surface roughness, porosity, electrical conductivity, interlayer strength, density, etc.

In some examples, objects described by each print overlay vector in the set of print overlay vectors may be generated and analyzed to determine their attributes. Such objects may be generated using a particular print coverage vector, and thus different voxels may be generated using different print agents or Mvec.

In some examples, the attributes may include at least one "non-color" or "non-appearance" attribute, such as at least one functional attribute, such as conductivity, elasticity, strength, density, friction, and the like. In some examples, the attributes all include functional attributes.

Block 104 includes determining, by the processor, a solution to an objective function associated with the first and second matrices.

The solution to the objective function is an optimization of the relationship. For example, the solution to the objective function may be or include a mapping operator that maps between the first and second matrices with minimal error.

By determining a solution to the objective function, the function can be used to predict possible attributes of the new print coverage vector and/or predict the print coverage vector given the expected attributes. Such methods may be used instead of, for example, modeling or interpolation to predict properties, or instead of the manufacture of a large number of test objects to characterize useful properties.

As described above, in some examples, the set of print coverage vectors is a set of volume coverage agent vectors that specify print agent and print agent combinations at voxels, e.g., associated with probabilities of such state generation (i.e., Mvoc). Since the printing agent to be applied to the voxels is unambiguous, such vectors are more likely to perform as predicted and result in less variable attributes, which make them particularly suitable for prediction via an objective function.

Such a solution may be determined by the processing circuitry, for example, by a computer employing "supervised learning" techniques.

FIG. 2 is an example of a computer-implemented method for predicting a set of attributes for a new print coverage vector.

In this example, block 102 proceeds as in fig. 1. Block 202-204 is an example of how a solution to an objective function may be determined.

Block 202 includes determining a first mapping operator to apply to the first matrix and a second mapping operator to apply to the second matrix, and block 204 includes determining a solution that includes a transformation matrix.

For example, the objective function may be expressed as:

minTg (T < f (M)) -g (P)) |; where M is the first matrix and P is the second matrix, g () and f () are the mapping operators and T is the transformation matrix.

Determining a solution to the objective function may include determining T, f () and g (), for example by treating the function as an L2 norm, or another "L norm" (such as an L1 norm or an L3 norm), or as a fimbriae norm (Frobenius norm) or some other matrix norm.

The functions f () and g () allow minimizing the mapping between the input print coverage vector and the appropriately adjusted representation of both the output vectors characterizing the attributes. In view of the Mvoc example, f () may be configured to emphasize the effect of certain mvecs (e.g., introducing a scaling factor, such as by raising some probability associated with printed material or printed material combinations to a power), or may include a cross product operator to introduce cross products between mvecs (i.e., agents or agent combinations) mentioned in Mvoc or agents in a printed agent vector.

To consider a set of N Mvoc printing coverage vectors printed in a binary manner (i.e. with or without reagent application) using one powder and three reagents a1, a2, A3 in a simple system, with 2 for a single voxel3As 8 possible states: it can be left empty (B), have a single reagent applied to it (one of A1, A2, or A3), have a combination of 2 reagents (A1A2, A1A3, A2A3), or have all three reagents (A1A2 A3). f () can be configured to cause a signal such as A12Terms of (i.e., squaring) or a1 x a2 (cross product) may be introduced into the objective function.

In some examples, g () may be used to perform linearization of the raw property measurements. For example, CIE XYZ color measurements may be transformed to a more perceptually uniform domain (e.g., CIE LAB or CIECAM02) where errors are minimized. In some examples, g () may be 1. It may be noted that in the above example, the operator g () is applied to both the first and second matrices, but this need not be the case in all examples.

The end result is a momentThe matrix T, when applied to a print coverage vector transformed via a function f (), makes a prediction of the attribute P (also via a function-g () transform) such that the prediction minimizes a selected metric (e.g., min as set forth above)T||g(T*f(M))-g(P)||)。

Block 206 includes predicting a set of attributes of a new print coverage vector using an objective function, wherein the new print coverage vector is not in the first matrix. This therefore predicts new properties of the "untested" material combination. In other examples, the objective function may be used in the "other direction," i.e., to predict one or more print coverage vectors that may result in the desired attribute.

Block 208 includes obtaining a new print coverage vector and an object property set for the object generated using the new print coverage vector. The print coverage vector may be a new print coverage vector in the sense that it is not (or at least not previously) in the first matrix. This may include, for example, effectively adding rows or columns to the first and second matrices.

Block 210 includes refining the determination of a solution based on the obtained print coverage vector and the set of object properties.

In this way, the method may include a learning function. For example, this may be machine learning (e.g., supervised machine learning) and allow refinement of the solution as more information becomes known. This in turn allows the solution to improve over time, meaning that more accurate predictions of the properties of the new print coverage vector can be made.

In some examples, the solution to the objective function may be specific to a particular object generating device, or specific to a class or type of object generating device. In some examples, the solution to the objective function may be specific to a predetermined set of materials.

Fig. 3 is an example of a processing device 300 that includes a mapping module 302 and a learning module 304.

In use of the apparatus 300, the mapping module 302 estimates a solution to an objective function that relates a set of print coverage vectors specifying print material for object generation to a set of measured attributes or attributes of the object generated using each print coverage vector, and the learning module 304 adapts the solution based on the new print coverage vectors and measured attributes. For example, the mapping module 302 may determine at least one transformation matrix to apply to the print coverage vector and at least one mapping operator, e.g., as described above with respect to fig. 1 and 2. The objective function may relate the vector to the set of attributes. The learning module 304 may allow the solution to become more refined over time, such as when more data sets are available including print coverage vectors and attributes or attribute sets.

Fig. 4 is another example of a processing device 400 that includes, in addition to the mapping module 302 and the learning module 304 described above, an attribute prediction module 402 and a print coverage vector generation module 404.

In use of the apparatus 400, the attribute prediction module 402 can predict object attributes of a new print coverage vector using a solution to an objective function, where the new print coverage vector is not in a set of print coverage vectors. For example, attributes of an object to be generated using a particular print coverage vector or combination of print coverage vectors may be predicted.

In use of the apparatus 400, the print coverage vector generation module 404 can generate a new print coverage vector using a solution to the objective function in response to the indication of the expected object property, wherein the new print coverage vector is not in the set of print coverage vectors. In other words, the objective function may be used by the print coverage vector generation module 404 to generate a new print coverage vector that is predicted to have the expected object properties.

In one example, the indicated one or more object properties may include any one or any combination of specifications of color, flexibility, elasticity, rigidity, surface roughness, porosity, interlayer strength, density, conductivity, etc. of at least a portion of the object to be generated. In some examples, the one or more attributes may include at least one functional or mechanical attribute. The specification of the object attribute may be by way of at least one value of the attribute (e.g., a density of x grams per unit volume, or a color specified using values of a color space).

As described above, an objective function may be used to suggest one or more print coverage vectors that may result in a set of attributes. In some examples, the objective function may be to predict a set of attributes of a new print coverage vector, where the new print coverage vector is not in the first matrix. This therefore predicts new properties of the "untested" material combination. In some cases, this may be verified by printing the test object and/or such test object may be used to provide input to the learning module 304 and thereby adapt the solution.

Fig. 5 is an example of a machine-readable medium 502 associated with a processor 504. The machine-readable medium 502 stores instructions 506, which when executed by the processor 504, cause the processor 504 to perform processing tasks. In this example, the instructions 506 include instructions 508 that cause the processor 504 to determine at least one operator and a transformation matrix that minimizes a function related to a first and second matrix, where the first matrix includes a set of print overlay vectors specifying print material for generation using the additively manufactured object, and the second matrix includes a corresponding set of attributes of the object generated using the print overlay vectors.

The instructions 506 also include instructions 510 that cause the processor 504 to apply the transformation matrix and operators. For example, these may be applied to a new print coverage vector to estimate its attributes and/or to a set of attributes to estimate a print coverage vector that was predicted to produce the attributes when used to generate the object.

In some examples, the instructions 506 may also include instructions that cause the processor 504 to re-determine at least one of the transformation matrix and the operator upon receiving data that adds the print coverage vector to the first matrix and the set of attributes to the second matrix.

In some examples, the instructions 506 may be to cause a processor to perform any of the blocks of the flow diagrams herein, or to provide modules of the processing apparatus 300, 400.

Examples in this disclosure may be provided as methods, systems, or machine-readable instructions, such as any combination of software, hardware, firmware, or the like. Such machine-readable instructions may be embodied on a computer-readable storage medium (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-readable program code embodied therein or thereon.

The present disclosure is described with reference to flowchart illustrations and block diagrams of methods, apparatus, and systems according to examples of the disclosure. Although the flow diagrams depicted above show a particular order of administration, the order of administration may differ from that depicted. Blocks described with respect to one flowchart may be combined with those of another flowchart. It will be understood that at least some of the blocks of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by machine-readable instructions.

For example, the machine-readable instructions may be executed by a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to implement the functions described in the description and figures. In particular, a processor or processing device (such as processing device 300, 400 or modules 302, 304, 402, 404 thereof or processor 504 mentioned above) may execute machine-readable instructions. Thus, the functional modules 302, 304, 402, 404 of the apparatus and device may be implemented by a processor executing machine readable instructions stored in a memory or a processor operating according to instructions embedded in logic circuits. The term "processor" is to be broadly interpreted as including a CPU, processing unit, ASIC, logic unit, or programmable gate array, etc. The methods and functional modules may all be performed by a single processor or divided among several processors.

Such machine-readable instructions may also be stored in a computer-readable storage device (e.g., machine-readable 502 as described above) that can direct a computer or other programmable data processing apparatus to operate in a particular mode.

Such machine-readable instructions may also be loaded onto a computer or other programmable data processing apparatus to cause the computer or other programmable apparatus to perform a series of operations to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus implement the functions specified in the flowchart block or blocks and/or flowchart block or blocks.

Additionally, the teachings herein may be implemented in the form of a computer software product that is stored in a storage medium and that includes a plurality of instructions for causing a computer device to implement the methods recited in the examples of this disclosure.

Although the methods, apparatus and related aspects have been described with reference to certain examples, various modifications, changes, omissions, and substitutions can be made without departing from the spirit of the disclosure. Accordingly, it is intended that the method, apparatus and related aspects be limited only by the scope of the following claims and equivalents thereof. It should be noted that the above-mentioned examples illustrate rather than limit what is described herein, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. Features described with respect to one example may be combined with features of another example.

The word "comprising" does not exclude the presence of elements other than those listed in a claim, "a" or "an" does not exclude a plurality, and a single processor or other unit may fulfill the functions of several units recited in the claims.

Features of any dependent claim may be combined with features of any independent or other dependent claim.

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于打印生物材料的方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!