Method used to achieve a virtual material-like appearance

By calculating and comparing the appearance signature of the appearance of virtual materials, the problem of difficulty in comparing and retrieving the appearance of similar virtual materials in the prior art is solved, and efficient and accurate appearance similarity recognition and database query of virtual materials are achieved.

CN111353213BActive Publication Date: 2025-02-21DASSAULT SYSTEMES SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201911374092.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-12-21
Filing Date
2019-12-23
Publication Date
2025-02-21
Estimated Expiration
2039-12-23

AI Technical Summary

Technical Problem

It is difficult for the prior art to effectively compare and retrieve virtual material appearances similar to the given virtual material appearance from a database, especially if the visual characteristics of the virtual material appearance are complex and the data model is inconsistent.

Method used

By calculating appearance signatures for virtual material appearance, these signatures are used for comparison to identify similar appearances. Appearance signatures are calculated based on the structural, reflective and color characteristics of the appearance of virtual materials and can be optimized by weighted and principal component analysis (PCA) to reduce the size of the signature and improve comparison efficiency.

Benefits of technology

Effective comparison and similarity recognition of virtual material appearance is realized, the efficiency and accuracy of retrieving similar virtual material appearance from the database is improved, and the problems of inconsistent appearance signatures and difficult comparison in the prior art are solved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111353213B_ABST
    Figure CN111353213B_ABST
Patent Text Reader

Abstract

The present invention relates in particular to a computer-implemented method for retrieving similar virtual material appearances from a database. The method comprises providing a database comprising virtual material appearances associated with appearance signatures, the appearance signatures being calculated from values ​​representing at least one of: structure, reflection, and color of the associated virtual material appearances. The method further comprises providing a first appearance signature associated with a first virtual material appearance. The method further comprises identifying one or more virtual material appearances similar to the first virtual material appearance by comparing the first appearance signature with appearance signatures respectively associated with virtual material appearances in the database. The method improves the retrieval of virtual material appearances.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer programs and systems, and more particularly, to a method, system and program for retrieving similar virtual material appearances from a database. Background Art

[0002] Many systems and programs for design, engineering and manufacturing of objects are available on the market. CAD is an abbreviation for computer-aided design, for example, it refers to software solutions for designing objects. CAE is an abbreviation for computer-aided engineering, for example, it refers to software solutions for simulating the physical behavior of future products. CAM is an abbreviation for computer-aided manufacturing, for example, it refers to software solutions for defining manufacturing processes and operations. In such computer-aided design systems, graphical user interfaces play an important role in terms of technical efficiency. These technologies can be embedded in product lifecycle management (PLM) systems. PLM refers to a business strategy that helps companies share product data, apply common processes, and leverage corporate knowledge to develop products from concept to end of life across the entire concept of the extended enterprise. The PLM solution provided by Dassault Systèmes (trademarks CATIA, ENOVIA and DELMIA) provides an engineering center (for organizing product engineering knowledge), a manufacturing center (for managing manufacturing engineering knowledge), and an enterprise center (for enabling enterprise integration and connection to both engineering and manufacturing centers). Together, the system provides an open object model that links products, processes, and resources together to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production, and service.

[0003] In computer vision, classifying materials based on appearance is an important discipline in the context of object recognition from images. Digital image synthesis techniques use virtual objects in combination with virtual materials to create accurate virtual representations of real objects. For example, a virtual object represents a real-world object, such as a part of a mechanical system, and the virtual material of the virtual object can represent the metal that the real-world object is made of. A virtual material is a dataset that represents the properties of an object in some way. These properties are related to different properties of the material, such as mechanical properties, chemical composition, and / or visual appearance. The appearance portion of the virtual material is a subset of data that parameterizes the interaction of light with the surface of the object. This includes how light reflects from, refracts from, or is scattered within / under the surface.

[0004] When creating an object, the user who is designing the object can retrieve from an existing database one or more virtual material appearances to be used when rendering the object. The user may also wish to test different virtual material appearances that have similar appearances, in other words, virtual materials that share visual characteristics. This allows the user to select the most appropriate virtual material appearance or the virtual material appearance that consumes the least amount of computing resources during rendering, for example.

[0005] Typically, users evaluate different virtual material appearances visually. The appearance of a rendered object will differ depending on the environment in which it is viewed. For example, an object rendered with a virtual material appearance such as shiny chrome reflects its environment. The appearance of an object with such a virtual material appearance will differ depending on its surroundings. In the extreme case of a white diffuse environment, the same rendered object will appear not shiny at all and will simply appear diffusely white. This dependence on external conditions makes it difficult to compare the appearance of different virtual materials between them.

[0006] Representations of virtual properties and features of materials cannot be separated as cleanly as they can be for physical materials. Physical materials can be sensed by touch and other human senses (other than vision), which helps disentangle appearance signatures, but this is not possible for virtual materials. As discussed by Adelson et al. in “On seeing stuff: the perception of materials by humans and machines”, 2001, it is complex to disentangle these factors from just a single 2D image. This complicates comparisons between the appearances of virtual materials.

[0007] Without a normalized appearance data model for virtual materials, it is difficult to retrieve different virtual material appearances. Different data models describe different aspects of appearance, and expressions are often not directly comparable. This further increases the difficulty when comparing the appearance of different virtual materials, let alone identifying similar virtual material appearances.

[0008] The concept of similarity is ubiquitous in science. In mathematics, geometric similarity is used to describe similarity relations between geometric shapes. Graph-theoretic similarity techniques are used in ontology semantic analysis in fields such as linguistics and information science. The ability to compute similarities of pairs of proteins is an important tool for DNA analysis in molecular biology. All of these similarity measures share a common feature: the input data is well-defined. By understanding the structure and semantics of the input data, it is possible to mathematically define so-called similarity spaces that can be used to represent objects in terms of their interesting features, and then extract similarities as simple geometric distances of their projected coordinates.

[0009] The concept of similarity plays an important role in artificial intelligence. Machine learning techniques are beginning to permeate all disciplines. In the era of cloud-based user platforms and big data, intelligent algorithms are essential to making sense of all the information. Establishing similarity relationships between objects helps these techniques understand complex, non-obvious data relationships.

[0010] Currently, there is no method that enables a user to retrieve a virtual material appearance similar to another virtual material appearance in a database. In this case, there is still a need for an improved method to compare virtual material appearances and retrieve virtual material appearances similar to virtual material appearances from a database. Summary of the invention

[0011] Therefore, there is provided a computer-implemented method for retrieving a virtual material appearance from a database, the method comprising:

[0012] - providing a database comprising virtual material appearances, each virtual material appearance being associated with an appearance signature, the appearance signature being calculated from values ​​representing at least one of structure, reflectance and color of the associated virtual material appearance;

[0013] - providing a first appearance signature associated with the first virtual material appearance;

[0014] - identifying in the database one or more virtual material appearances similar to the first virtual material appearance by comparing the first appearance signature with appearance signatures respectively associated with virtual material appearances in the database.

[0015] The method may include one or more of the following:

[0016] - said value represents at least one of a structure, a reflectance and a color of the associated virtual material appearance, and is calculated from a representation of said associated virtual material appearance;

[0017] – weighting the first appearance signature;

[0018] - weighting the first appearance signature comprises weighting a value representing at least one of a structure, a reflectance and a color of a virtual material appearance associated with the first appearance signature and each compared appearance signature.

[0019] Calculating the value of the color involves determining the value ΔE ab , is given by:

[0020]

[0021] in:

[0022] -1 and 2 correspond to indices relative to the two colors;

[0023] -L corresponds to brightness; and

[0024] -a and b correspond to the green-red color components and the blue-yellow color components respectively;

[0025] - calculating the value of the reflection by calculating the bidirectional reflectance distribution function (BRDF) from a representation of the associated virtual material appearance;

[0026] - computing the BRDF further comprises computing multiple angular evaluations of the BRDF on a representation of the associated virtual material appearance using illumination with spatially uniform neutral light in the parameterized space;

[0027] - the illumination further comprises frequency components;

[0028] -The value of the structure is calculated by:

[0029] - sampling a virtual measurement plane of a representation of the associated virtual material appearance with illumination having spatially uniform neutral light; and

[0030] - hemispherical integral of reflected light from each sample evaluated;

[0031] - calculating the appearance signature further comprises reducing the size of the appearance signature;

[0032] - Reducing the size of the exterior signature also includes:

[0033] - performing a principal component analysis (PCA) on the values ​​of at least one of structure, reflection and color respectively representing the associated virtual material appearance of the database;

[0034] - obtaining a number of basis vectors resulting from PCA; and

[0035] - using multiple basis vectors to reduce the number of values ​​calculated; and / or

[0036] - calculating a first appearance signature from a reduced number of values ​​representing at least one of structure, reflection and color of the first virtual material appearance.

[0037] A computer program comprising instructions for performing the method is also provided.

[0038] There is also provided a computer-readable storage medium having the computer program recorded thereon.

[0039] A database comprising virtual material appearances on which the method can be performed is also provided.

[0040] A system is also provided that includes a processor coupled to a memory having a computer program recorded thereon and to a graphical user interface. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Embodiments of the invention will now be described by way of non-limiting examples and with reference to the accompanying drawings, in which:

[0042] Figure 1 A flow chart showing an example of the method;

[0043] Figure 2 An example of a graphical user interface for the system is shown;

[0044] Figure 3 An example of a system is shown;

[0045] Figure 4 and Figure 5 An example of the BRDF measurement principle and two slice representations of two virtual material appearances known in the prior art is shown;

[0046] Figure 6 An example of a screenshot showing a fringe pattern in a black paint varnish used for illumination during reflectance measurements;

[0047] Figure 7 An example of a screenshot showing a representation of the structural value of a from a pale yellow leather virtual material appearance;

[0048] Figure 8 shows an example of a screenshot of the first five PCA basis vectors visualized as 2D slices after BRDF data reduction;

[0049] Fig. 9 is a flowchart illustrating an example of calculation of basis vectors.

[0050] Fig.10 Screen shot showing a graph plotting distances between corresponding pairs of BRDF values ​​for a set of virtual material appearances.

[0051] Fig.11 Screen shot showing a graph plotting distances between corresponding pairs of BRDF values ​​for a set of virtual material appearances and the associated cumulative distance distribution.

[0052] Fig.12 Screen shot of a graph showing distances plotted between corresponding pairs of BRDF values ​​for a set of virtual material appearances, the associated cumulative distance distribution, and a fit to the cumulative distance distribution.

[0053] Fig.13 A flow chart illustrating an exemplary implementation of the method is shown;

[0054] Fig.14 A flow chart showing an example of the calculation of an appearance signature.

[0055] Fig.15A flow chart showing an example of calculation of BRDF values.

[0056] Fig.16 A flow chart showing an example of calculation of a structure value.

[0057] Fig.17 A flow chart showing an example of calculation of a color value.

[0058] Fig.18 a screen shot showing the appearance of a virtual material retrieved from a database according to the method and presented as a pre-generated thumbnail; and

[0059] Fig.19 An example of application of this method is shown. DETAILED DESCRIPTION

[0060] Reference Figure 1 , a computer-implemented method for retrieving virtual material appearances from a database is presented. The method comprises providing a database comprising virtual material appearances. The virtual material appearances in the database are associated with appearance signatures. The term "associated with" means that the two objects are related and have a relationship in the database, i.e. they have a close connection, e.g. there is a mutual link between the two objects. Therefore, the appearance signature is also associated with the virtual material appearance, e.g. in the form of an attribute and / or through a pointer. Each appearance signature is calculated from a value representing at least one of a structure, a reflection and a color of a corresponding virtual material appearance associated with the corresponding appearance signature. The method further comprises providing a first appearance signature associated with a first virtual material appearance. The method further comprises identifying one or more virtual material appearances in the database that are similar to the first virtual appearance. The identification is performed by comparing the first appearance signature with other appearance signatures, each other appearance signature being associated with a virtual material appearance in the database.

[0061] Such a method improves the comparison of virtual material appearances and the retrieval of virtual material appearances similar to a given virtual material appearance from a database.

[0062] It is noteworthy that the appearance signature in the method enables a deterministic assessment of the similarity between two virtual material appearances. In other words, the appearance signature allows to give a similarity of the visual appearance provided by the virtual material appearance. In fact, the appearance signature includes a value representing at least one of the three important features characterizing the virtual material appearance (color, reflection and texture). Therefore, the appearance signature can be compared based on the numerical value between the two virtual material appearances. The method enables the identification of one or more virtual material appearances in the database that are similar to the first virtual material appearance. The identified one or more similar virtual material appearances can be returned to the user, for example, as a list and / or as a predefined thumbnail presented with one or more similar virtual material appearances. Therefore, the method promotes the use of virtual material appearances by assisting the user to identify alternative virtual material appearances that are similar to a known virtual material appearance.

[0063] In the example, a virtual material appearance is used when designing a scene. The user perceives objects in the scene in a way that depends on the scene. The object is a virtual object (e.g., a modeled object) because it is a representation of an object in a virtual scene. In the example, the objects in the scene represent real-world objects, so the appearance of the objects in the scene mimics the appearance of real-world objects. In other words, the color, texture, and light reflection of the objects in the scene (defined by the virtual material appearance of the objects in the scene) mimic the color, texture, and light reflection of the real objects. When designing a scene, the user may want to apply different virtual material appearances to objects in the scene that should be visually similar, for example, objects modeling metal parts of the same vehicle made of different types of wood or tables made of different metals. The method allows the user to quickly identify alternative virtual materials from a database, which removes the need to manually check many stored virtual material appearances, thereby improving user efficiency. In addition, the amount of computing resources involved in rendering a scene depends on the objects in the scene, while the amount of computing resources involved in rendering an object in the scene depends on the virtual material appearance of the object. Identifying similar virtual material appearances helps select one or more virtual material appearances that appear similar when rendered but require different amounts of computing resources.

[0064] In an example, a value representing at least one of structure, reflection, and color from which an appearance signature can be calculated is itself calculated from a representation of a virtual material appearance associated with the appearance signature. The virtual material appearance can be any provided virtual material appearance, including a first virtual material appearance and / or a virtual material appearance in a database. The calculation of the value representing at least one of structure, reflection, and color can include extracting the value from the representation of the virtual material appearance. The representation of the virtual material appearance can be calculated by the system and can be generated by at least a portion of the rendering. Therefore, the method is applicable to virtual material appearances with different appearance models. The method effectively allows the problem of fragmentation of the appearance data model to be circumvented and can be performed with different appearance models.

[0065] In an example, the computation of the representation of the virtual material appearance includes a light transport simulation. Thus, as desired, the simulated light transport may be altered to improve the accuracy of the computed value representing at least one of structure, reflection, and color.

[0066] In an example, the first appearance signature is weighted. For example, by adding weights to the first appearance signature, or by adding weights to parts of the first appearance signature. When the first appearance signature is compared to other appearance signatures, the comparison takes into account the weights of the first appearance signature. In an example, an independent weight is added to each part of the first appearance signature, the weight being calculated from values ​​representing the structure, reflection and / or color of the first virtual material appearance. The identified virtual material appearance depends on the weights sharing similarities with respect to the structure, reflection or color of the first virtual material appearance. Therefore, the recognition accuracy of similar virtual material appearances in the database is improved because it better reflects which type of virtual material appearance the user wants to recognize.

[0067] In an example, calculated values ​​representing at least one of structure, reflection, and color are compressed, for example by keeping only important values. The appearance signature calculated from the compressed values ​​has a size that takes up very little space in a memory. In an example, the appearance signature can have greater than 20 values ​​and less than 100 values, for example 40 values. The compression and / or data reduction processing of the values ​​representing at least one of structure, reflection, and color is configured to maintain a quality of similarity when comparing appearance signatures. Therefore, the appearance signature is suitable for fast and efficient computer operation because it is small in size and requires little computing resources to process.

[0068] The method is computer-implemented. This means that the steps (or substantially all steps) of the method are performed by at least one computer or any similar system. Therefore, the steps of the method can be performed by a computer, which may be fully automatic, or semi-automatic. In an example, the triggering of at least some steps of the method can be performed by user-computer interaction. The required level of user-computer interaction may depend on the foreseen level of automation and be balanced with the need to implement the user's wishes. In an example, the level can be user-defined and / or predefined.

[0069] A typical example of a computer implementation of a method is to perform the method using a system suitable for this purpose. The system may include a processor coupled to a memory and a graphical user interface (GUI), the memory having recorded thereon a computer program, the computer program including instructions for performing the method. The memory may also store a database. The memory is any hardware suitable for such storage, possibly including several physically distinct parts (e.g., one part for the program and possibly one part for the database).

[0070] In the case of this method, the database includes virtual material appearances. The database may further include appearance signatures. Each appearance signature is associated with a corresponding virtual material appearance in the database.

[0071] In an example, when a query is performed on the database, data about the first virtual material appearance may be included, for example, the associated appearance signature may be included in the query. The identified virtual material appearance may be returned to the user or application after the query. Therefore, performing the method by querying may fully utilize the database structure to optimize the identification of the virtual material appearance according to the method.

[0072] The method can be implemented in a system or a part of a system. The system can be a CAD system, a CAE system, a CAM system, a PDM system and / or a PLM system, or even a combination of two or more of these systems.

[0073] The method may be part of designing a scene or an object in a scene. The scene and the object may be three-dimensional. The object may be a modeled object, i.e. an object defined by data stored, for example, in a database.

[0074] In an example, the method may include providing a first modeled object, the first modeled object including a first virtual material appearance. The first virtual material appearance is identified by the system, in other words, an operation can be performed that takes the first virtual appearance as input. The method also includes identifying a first appearance signature associated with the first virtual material appearance. If no appearance signature is associated with the first virtual material appearance, the identification may include calculating the first virtual material appearance according to the method. The method also includes identifying one or more stored virtual material appearances similar to the first virtual material appearance in a database or non-volatile memory according to the method. The method may further include providing a list of the identified virtual material appearances. Alternatively or additionally, one or more representations of an object having the identified virtual material appearance may be provided to a user. Therefore, the method improves the design of modeled objects and / or scenes.

[0075] The design process can be performed in a CAD system. By CAD system, it is also meant any system that is at least suitable for designing a modeled object based on a graphical representation of the modeled object, such as CATIA. In this case, the data defining the modeled object includes data that allows the modeled object to be represented. The CAD system can, for example, use edges or lines (with faces or surfaces in some cases) to provide a representation of the CAD modeled object. Lines, edges or surfaces can be represented in various ways, such as non-uniform rational B-spline curves (NURBS). Specifically, a CAD file contains specifications from which geometric figures can be generated so that a representation can be generated. The specifications of the modeled object can be stored in a single CAD file or in multiple CAD files. The typical size of a file representing a modeled object in a CAD system is in the range of 1MB per part. And a modeled object can typically be an assembly of thousands of parts.

[0076] In the context of CAD, a modeled object may typically be a 3D modeled object, which for example represents a product, such as a part or an assembly of parts, or possibly an assembly of products. By "3D modeled object", it is meant any object that is modeled by data that allows its 3D representation. The 3D representation allows the part to be viewed from the corresponding angle. For example, when a 3D modeled object is represented in 3D, the 3D modeled objects can be manipulated and rotated around any of their axes or around any axis in the screen where the representation is displayed. In particular, this does not include 2D icons that are not 3D modeled. The display of a 3D representation facilitates design (i.e., increases the speed at which designers can statistically complete tasks). Since the design of a product is part of the manufacturing process, the industrial manufacturing process can be accelerated.

[0077] The 3D modeled object may represent a collection of graphics of a product that is manufactured in the real world after its virtual design has been completed using, for example, a CAD software solution or a CAD system, such as a (e.g., mechanical) part or an assembly of parts (or equivalently, an assembly of parts, because from the method's point of view, an assembly of parts can be considered as a part itself, or the method can be applied independently to each part of the assembly), or more generally, any rigid body assembly (e.g., a moving mechanism). CAD software solutions allow the design of products in a variety of and unlimited industrial fields, including: aerospace, architecture, construction, consumer products, high-tech equipment, industrial equipment, transportation, ships and / or offshore oil and gas production or transportation. Thus, the 3D modeled object designed by the method may represent an industrial product, which may be any mechanical part, such as a land vehicle (including, for example, automobile and light truck equipment, racing cars, motorcycles, etc.). parts of automobiles, trucks and motor equipment, trucks and buses, trains), parts of air vehicles (including, for example, fuselage equipment, aerospace equipment, propulsion equipment, defense products, aviation equipment, space equipment), parts of naval vehicles (including, for example, naval equipment, commercial ships, offshore equipment, yachts and workboats, parts of marine equipment), general mechanical parts (including, for example, industrial manufacturing machinery, heavy mobile machinery or equipment, installed equipment, industrial equipment products, metal products, tire manufacturing products), electromechanical or electronic parts (including, for example, consumer electronics, safety and / or control and / or instrumentation products, computing and communication equipment, semiconductors, medical devices and equipment), consumer products (including, for example, furniture, home and garden products, leisure products, fashion products, products of hard goods retailers, products of soft goods retailers), packaging (including, for example, food and beverage and tobacco, beauty and personal care, household product packaging).

[0078] CAD systems can be history-based. In this case, the modeled object is further defined by data including the history of geometric features. The modeled object can actually be designed by a physical person (i.e., a designer / user) using standard modeling features (e.g., extrusion, rotation, cutting and / or rotation) and / or standard surface features (e.g., sweeping, blending, throwing, filling, deformation and / or smoothing). Many CAD systems that support such modeling capabilities are history-based systems. This means that the creation history of the design features is usually saved through a non-cyclic data flow that links the geometric features together through input and output links. The history-based modeling paradigm has been well known since the early 1980s. Modeled objects are described by two persistent data representations: history and B-rep (i.e., boundary representation). B-rep is the result of the calculations defined in the history. When representing a modeled object, the shape of the part displayed on the computer screen is (e.g., tessellated) B-rep. The history of the part is the design intent. Basically, the history records collect information about the operations that the modeled object has undergone. B-rep can be saved with the history to make it easier to display complex parts. History can be saved with the B-rep to allow design changes to be made to the part based on design intent.

[0079] By PLM system, it also means any system suitable for managing modeled objects that represent physical manufactured products (or products to be manufactured). Therefore, in a PLM system, a modeled object is defined by data suitable for manufacturing a physical object. These can usually be dimensional values ​​and / or tolerance values. In order to manufacture an object correctly, it is indeed better to have such values.

[0080] By CAM solution it also means any solution, hardware-software suitable for managing the manufacturing data of a product. Manufacturing data typically includes data about the product to be manufactured, the manufacturing process and the resources required. CAM solutions are used to plan and optimize the entire manufacturing process of a product. For example, it can provide the CAM user with information about the feasibility, the duration of a manufacturing process or the number of resources (such as a specific robot) that can be used in a specific step of the manufacturing process; and therefore, allow decisions to be made about management or the investments required. CAM is a subsequent process after the CAD process and potentially the CAE process. Such CAM solutions are manufactured by Dassault Systèmes under the trademark CAM. supply.

[0081] By CAE solution it also means any solution, hardware or software suitable for analyzing the physical behavior of a modeled object. A well-known and widely used CAE technique is the Finite Element Method (FEM), which generally involves dividing the modeled object into elements whose physical behavior can be calculated and simulated by equations. Such CAE solutions are marketed by Dassault Systèmes under the trademark Another growing CAE technology involves the modeling and analysis of complex systems consisting of multiple components from different physical domains without CAD geometry data. CAE solutions allow simulations to optimize, improve and validate the products to be manufactured. Such CAE solutions are manufactured by Dassault Systèmes under the trademark supply.

[0082] PDM stands for Product Data Management. A PDM solution refers to any solution, hardware, software suitable for managing all types of data related to a specific product. PDM solutions can be used by all actors involved in the life cycle of a product: mainly engineers, but also project managers, finance personnel, sales personnel and buyers. PDM solutions are usually based on a product-oriented database. It allows actors to share consistent data about their products and, therefore, prevents actors from using different data. This type of PDM solution is provided by Dassault Systèmes under the name Trademark provided.

[0083] Figure 2 An example of a GUI for a system is shown, where the system is a CAD system.

[0084] GUI 2100 can be a typical CAD-like interface, with standard menu bars 2110, 2120, and bottom and side toolbars 2140, 2150. Such menu bars and toolbars contain a set of user-selectable icons, each icon being associated with one or more operations or functions as known in the art. Some of these icons are associated with software tools, suitable for editing and / or processing the 3D modeling object 2000 displayed in GUI 2100. Software tools can be grouped into workbenches. Each workbench contains a subset of software tools. In particular, one of the workbenches is a version workbench, suitable for editing geometric features of modeling product 2000. In operation, a designer can, for example, pre-select a portion of object 2000 and then initiate an operation (e.g., change size, color, etc.) or edit geometric constraints by selecting an appropriate icon. For example, a typical CAD operation is the modeling of punching or folding of a 3D modeling object displayed on the screen. GUI can, for example, display data 2500 related to the displayed product 2000. In the example of the figure, data 2500 displayed as a "feature tree" and its 3D representation 2000 relate to a brake assembly including a brake caliper and a disc. The GUI may also show various types of graphical tools 2130, 2070, 2080, such as for facilitating 3D orientation of an object, for triggering a simulation of an operation of the edited product, or for rendering various properties of the displayed product 2000. The cursor 2060 may be controlled by a haptic device to allow the user to interact with the graphical tools.

[0085] Figure 3 An example of the system is shown, where the system is a client computer system, such as a user's workstation.

[0086] The client computer of this example includes a central processing unit (CPU) 1010 connected to an internal communication bus 1000, a random access memory (RAM) 1070 also connected to the bus. The client computer is also provided with a graphics processing unit (GPU) 1110, which is associated with a video random access memory 1100 connected to the bus. The video RAM 1100 is also known in the art as a frame buffer. A mass storage device controller 1020 manages access to a mass storage device such as a hard disk drive 1030. Mass storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks 1040. Any of the foregoing may be supplemented by or incorporated into a specially designed ASIC (Application Specific Integrated Circuit). A network adapter 1050 manages access to a network 1060. The client computer may also include a tactile device 1090, such as a cursor control device, a keyboard, and the like. A cursor control device is used in the client computer to allow the user to selectively position the cursor at any desired location on the display 1080. In addition, the cursor control device allows the user to select various commands and input control signals. The cursor control device includes a plurality of signal generating devices for inputting control signals to the system. Typically, the cursor control device may be a mouse, the buttons of which are used to generate signals. Alternatively or additionally, the client computer system may include a sensitive pad and / or a sensitive screen.

[0087] The computer program may include instructions executable by a computer, the instructions including a unit for causing the above-mentioned system to perform the method. The program may be recorded on any data storage medium, including the memory of the system. The program may be implemented, for example, in a digital electronic circuit, or in computer hardware, firmware, software, or a combination thereof. The program may be implemented as a device, such as a product tangibly embodied in a machine-readable storage device for execution by a programmable processor. The method steps may be performed by a programmable processor executing an instruction program to perform the functions of the method by operating on input data and generating output. Therefore, the processor may be programmable and coupled to receive data and instructions from a data storage system, at least one input device, and at least one output device, and to send data and instructions to the data storage system, at least one input device, and at least one output device. If necessary, the application may be implemented in a high-level procedural or object-oriented programming language, or in an assembly language or a machine language. In any case, the language may be a compiled or interpreted language. The program may be a complete installer or an updater. In any case, the application of the program on the system generates instructions for executing the method.

[0088] The method may be included in a manufacturing process, which may include, after performing the method, producing a physical product corresponding to the modeled object. In any case, the modeled object designed by the method may represent a manufactured object. Thus, the modeled object may be a modeled entity (i.e., a modeled object representing an entity). The manufactured object may be a product, such as a part or a combination of parts. Because the method improves the design of the modeled object, the method also improves the manufacture of the product, thereby increasing the productivity of the manufacturing process.

[0089] Virtual materials are real-world materials modeled by data. Real-world materials (also called physical materials) are chemical substances or mixtures of substances that make up an object. Physical materials are produced by manufacturing processes. Real materials can be metal materials, composite materials, organic materials, mineral materials. In practice, real-world materials are used at least in the industries previously discussed about CAD systems. For example purposes only, real-world materials can be, but are not limited to, plastics, bio-based materials, carbon-based materials, cellulose fibers, cork, cross-laminated boards, hard stones, FDU materials, fibers, gemstones, glass microspheres, mixed wood, metals, latex, mesoporous materials, microporous materials, mineral wool, nanophase ceramics, paper, silicon nanowires, wood, etc. The data of virtual materials includes data describing the physical aspects of virtual materials and data describing the visual aspects of virtual materials. The data describing the physical aspects includes information describing how the material physically interacts with other objects. For example, the physical aspects can include roughness parameters, such as roughness, amplitude parameters, slopes, intervals, and count parameters, as known in the art. The data describing the visual aspects can include one or more data files, including data files describing the appearance of the virtual material. Appearance is an analytical representation of the reflective properties of a material, describing how light interacts with the material at the surface level. Thus, the appearance of a virtual material is data (e.g., in the form of a data file stored in a computer memory) that includes information about the appearance of the virtual material. The specific information in the virtual material appearance depends on the data model of the virtual material appearance. For example, the virtual material appearance exists in a data file that is separate from the modeled objects to which they can be applied.

[0090] In the example, the virtual material appearance does not include information about the physical aspects of the virtual material. When a modeled object with a virtual material appearance applied to it is rendered, the modeled object will interact with light and will have the physical properties defined by the virtual material appearance. For example, a rendered modeled object with a shiny chrome virtual material appearance applied to it will have a metallic sheen that simulates the appearance of polished chrome.

[0091] In the following, the term "virtual material appearance" excludes properties not related to appearance.

[0092] We will now discuss in more detail Figure 1 method.

[0093] The method is used to retrieve a virtual material appearance from a database. The database may be a relational database. Alternatively or additionally, the database may be a non-volatile memory storage device. The method includes providing (S10) a database including virtual material appearances (e.g., stored in the database). The virtual material appearances stored in the database are associated with appearance signatures. One appearance signature is associated with one virtual material appearance. The appearance signature is calculated from a value representing at least one of a structure, a reflection, and a color of the virtual material appearance associated with the appearance signature. The method also includes providing (S20) a first appearance signature associated with a first virtual material appearance. The first virtual material appearance may be a virtual material appearance stored in the database or stored in another location accessible to the system. The method also includes identifying one or more virtual material appearances in the database that are similar to the first virtual material appearance. The identification is performed by comparing the first appearance signature with appearance signatures respectively associated with virtual material appearances in the database.

[0094] Alternatively, the first material appearance may be provided at S20 instead of the first appearance signature. In this case, the method then further comprises identifying the first appearance signature associated with the first virtual material appearance. If no appearance signature is associated with the first virtual material appearance, the method further comprises calculating the first virtual material appearance signature associated with the first virtual material appearance. The provided first virtual material appearance may be stored in a non-volatile computer memory for future use.

[0095] Each virtual material appearance in the database is associated with an appearance signature. An appearance signature is a unique identifier for a given virtual material appearance and includes information about the characteristics of the virtual material appearance. The appearance signature can be used as an input to a database indexer. The appearance signature is calculated from values ​​representing at least one of appearance characteristics such as structure, reflection and color of the virtual material appearance. The values ​​representing the appearance characteristics can be values ​​that quantify the characteristics. These values ​​can be numerical values. These values ​​can be included in the appearance signature. The term "quantized" refers to information that can be deterministically ordered by scale, such as numerical values ​​ordered by numerical scale (for example, by means of an axis system). The values ​​of the quantified appearance characteristics can be ordered in corresponding feature spaces, which allows, for example, analytical evaluation of similarity based on the difference between the values ​​of each corresponding feature space. The combined value quantifies the different appearance signatures, thereby allowing analytical evaluation of the similarity between virtual material appearances. The appearance signature is calculated from values ​​representing at least one of structure, reflection and color, but can also be calculated from other characteristics related to the appearance of the virtual material appearance.

[0096] In an example, the appearance signature may be a vector including a concatenation of values ​​representing one or more features of the appearance of the virtual material. The values ​​representing the features may include numerical values ​​in the form of numbers, vectors, and / or matrices.

[0097] At S30, one or more virtual material appearances similar to the first virtual material appearance are identified in the database. The identified virtual material appearance has similarity to the first virtual material appearance for at least one feature quantified by the appearance signature. Thus, when comparing two appearance signatures (e.g., the first appearance signature and an appearance signature associated with a virtual material appearance in the database), such similarity can be deterministically evaluated.

[0098] The comparison between the two appearance signatures can be performed by using a metric to measure the distance between the two appearance signatures. The metric can be a Euclidean metric such as a scalar product. This allows the distance calculation to be simple and worked well during testing of the method. Alternatively, the measurement of the distance can be performed using a cosine distance metric or a Manhattan distance metric.

[0099] In an example, similarity is evaluated based on distances between virtual material appearances in a similarity space. The similarity space includes a set of axes for at least one of reflectance, structure, and color. In addition, the similarity space may also have other axes for other appearance features. The appearance signature allows virtual materials to be placed in the similarity space based on values ​​representing the features (e.g., in the form of coordinates of the feature axes). The similarity may then be measured using a metric.

[0100] In an example, the comparison between two virtual material appearances is performed via a similarity metric. The similarity metric can be defined as the inverse of the sum of features that quantify the distance between the values ​​of two compared appearance features of the same feature. This example is illustrated below using Formulas 1 and 2:

[0101] s(m1,m2)=1-∑ a δ a (m 1a , m 2a ) (1)

[0102] δ(x, y) = ‖xy‖2 (2)

[0103] in:

[0104] s(m1, m2) is the similarity measure between appearance signatures m1 and m2;

[0105] a is the value m 1a and m 2a Quantified appearance signature;

[0106] δ is the distance metric;

[0107] m 1a and m 2a is the value of feature a quantizing the appearance signatures m1 and m2; and

[0108] x and y are values.

[0109] The appearance signature takes into account the perception of the observed appearance to assess similarity. This is reflected by quantifying at least one appearance feature of the structure, reflection and color of the associated virtual material appearance. This allows comparison between appearance signatures to objectively quantify the degree of similarity of two virtual material appearances.

[0110] In an example, the appearance signature quantifies at least two characteristics of the structure, reflection and color of the virtual material appearance associated with the appearance signature. This allows for more accurate similarity comparisons between virtual material appearances considered by the method.

[0111] In an example, the appearance signature quantifies the structure, reflectance, and color of the appearance of the virtual material associated with the appearance signature, thereby providing a broad description of the virtual material appearance via the appearance signature.

[0112] In an example, one or more identified virtual material appearances may be presented to the user as a list. The list may be an ordered list, such as from the most similar virtual material appearance to the least similar virtual material appearance. In an example, the identified virtual material appearances may be returned to the user.

[0113] In an example, a representation of the identified virtual material appearance may be returned to the user, such as an image or modeled object on which the virtual material appearance is applied.

[0114] In an example, the number of identified virtual material appearances may be predetermined. Alternatively or additionally, a virtual material appearance may be identified only if the comparison between the appearance signatures is above a predetermined threshold, for example, if a similarity metric shows a similarity above 10% or 20%. This allows identification of a variety of similar virtual material appearances, for example, a designer looking for similar virtual material appearances may select one or more virtual appearance materials identified in the database. The list may also include other information about the similar virtual material appearances. The threshold may be configurable by the designer in order to increase or decrease the number of identified virtual appearances. In a use case, if the number of identified virtual appearances is too small, the threshold may be decreased. Conversely, if the number of identified virtual appearances is too large, the threshold may be increased.

[0115] The method may also include synthesizing the virtual material appearance to calculate values ​​representing one or more characteristics of the virtual material appearance. The calculated values ​​may be values ​​representing at least one of the structure, reflection, and color of the virtual material appearance. Synthesizing the virtual material appearance refers to calculating a representation of the virtual material appearance, which is stored in a computer memory (e.g., volatile and / or non-volatile memory). In an example, synthesizing the virtual material appearance includes fully rendering the virtual material appearance. Alternatively, synthesizing the virtual material appearance may include an incomplete rendering, in which certain rendering steps are performed without having to complete all steps of fully rendering the virtual material appearance. An incomplete rendering is also referred to as a virtual rendering.

[0116] The rendering of the virtual material appearance includes computing information describing the behavior of the virtual material in interaction with the light source. This computed information can be used for computing an appearance signature associated with the virtual material appearance. This allows bypassing model fragmentation of different virtual material appearances, in other words, incompatibilities caused by data differences of different virtual material appearances. In this way, the computational representation of the virtual material appearance allows to efficiently extract appearance features between two different rendered appearances created by different models in a consistent way in order to compare different virtual material appearances regardless of their appearance data models.

[0117] In an example, different representations of the appearance of a virtual material are synthesized to compute values ​​for each of structure, reflection, and color. For example, a first representation for computing a value representing reflection and a second representation for computing a value representing texture may be synthesized. This results in a more customized computation of values ​​representing features of the appearance of the virtual material, because each representation may be configured for computation of values ​​of a corresponding feature. Alternatively, values ​​representing one or more of structure, reflection, and color of the appearance of a virtual material corresponding to the one representation may be computed from one representation. This allows a representation to be reused without having to resynthesize it, thereby saving computational resources when performing the method.

[0118] In an example, synthesizing a representation of the appearance of a first virtual material includes performing one or more or all rendering steps using a physically based rendering engine. A representation synthesized by a physically based rendering engine is referred to as a physically based representation. Appearance data of the virtual material appearance is adapted as input to a physically based rendering system in order to produce an effective output. Physically based image synthesis is used in fields such as visual effects (VFX), industrial visualization, and games, and includes fast rendering techniques and highly realistic analytical material models. Physically based rendering engines use physics to render objects. The physical basis imposes a certain set of rules on the calculation of relevant data from the appearance model. These rules ensure that the calculation does not violate the laws of physics. For example, the appearance model should not reflect more energy (energy saving) when it is received. Such rules allow predictable and intuitive results. This is particularly useful for making assumptions about the validity of the results across renderers, because different renderers that follow the same rules are more likely to produce similar results. In addition, a performance optimized analytical version of this physically based appearance model is used. Such a model minimizes the computational workload while maximizing visual fidelity.

[0119] In an example, calculating the appearance signature may be performed after identifying that the corresponding virtual material appearance is not associated with the corresponding appearance signature.Alternatively, the calculation of the appearance signature may be triggered by a user.

[0120] In an example, the calculation of the appearance signature includes calculating a representation (e.g., a physically based representation) of the corresponding virtual material appearance. A set of values ​​for at least one of a structure, a reflectance, and a color of the corresponding virtual material appearance is calculated from the representation. The corresponding appearance signature is then calculated from the calculated values. In an example, the corresponding appearance signature is calculated by combining the calculated values, such as by concatenating the corresponding values ​​(e.g., forming a vector with the calculated values). Alternatively or additionally, further operations may be performed on the calculated values ​​before calculating the corresponding appearance signature. The calculated corresponding appearance signature is then associated with the corresponding virtual material appearance.

[0121] In an example, when providing a first virtual material appearance that is not associated with the first virtual material appearance, the calculation of the appearance signature may be automatically performed before the identification (S30) of one or more similar virtual material appearances. In an example, the calculation of the appearance signature may be performed for the virtual material appearance to be added to the database. This allows the identification of similar virtual material appearances to be independent of the virtual material appearance model.

[0122] The method may further include weighting the first appearance signature. The weighting includes an associated weight with the first appearance signature and may be performed prior to the comparison between the appearance signatures at step S30. The weight may be a value that enables one or more specific features of the appearance signature to be considered over other features when evaluating similarity. Thus, the user may better guide the identification of similar virtual material appearances in the database. In an example, the weight has an effect on both the first appearance signature and the appearance signatures involved in the comparison.

[0123] Weighting the first appearance signature may further include associating weight parameters with values ​​of quantized features such as structure, reflection, and color of the virtual material appearance associated with the appearance signature compared at S30. Each feature has an independent weight, so the identification at S30 can be more selective. This allows better retrieval because the identified material appearances are similar in specific features of interest to the user. In an example, the weights are set by the user before comparing the appearance signatures at S30.

[0124] In this example, it is denoted as S w The weighted similarity measure of is used to perform the comparison between appearance signatures, as shown in the following Equation 3:

[0125] S w (m1, m2) = 1 - ∑ a w a δ a (m 1a , m 2a ) (3)

[0126] where w a is the weight associated with feature a. The other parameters of Formula 3 are the same as those discussed with reference to Formulas 1 and 2.

[0127] In the example, the weight parameter can be applied directly to the quantized value. In this case, normalization (and optionally linearization) can be performed on different feature spaces based on the range in which the value varies on the corresponding feature space. These values ​​correspond to the values ​​of all appearance signatures associated with the virtual material appearance stored in the database. The proportions corresponding to the two feature spaces may be different. For example, the range between the maximum and minimum values ​​of all appearance signatures associated with the virtual material appearance in the database for color may be different for structure. The counts of the distance distribution between all appearances in the complete data set are the same. In the example, the structural weight can vary between 0 and 1, but most materials (e.g., 90%) are close in the structural feature space. In this case, most of the search result changes occur in a smaller range of values ​​(e.g., 10% of the total range, such as between 0 and 0.1). In this case, normalization and linearization of the feature space allow linear weights to spread between 0 and 1. Normalizing and linearizing the feature space can consider two features with the same value of weights equally when comparing appearance signatures. This facilitates the user's management of weights.

[0128] The method may further include determining a value ΔEab when calculating a value representing the color of the appearance of the virtual material. The value ΔEab is a distance metric for color difference. In an example, the distance metric from the color may be a distance metric introduced by the International Commission on Illumination (CIE), which is a metric for color differences in the context of human perception. This results in this particular metric being well suited for quantifying appearance. In its basic version, ΔEab is the Euclidean distance between two colors in the CIELAB color space, as shown in Formula 4:

[0129]

[0130] in:

[0131] -1 and 2 correspond to the indices of the two colors relative to the virtual material appearance;

[0132] -L corresponds to brightness; and

[0133] -a and b correspond to the green and red color components, and the blue and yellow color components respectively.

[0134] In an example, the value representing the color of the virtual material appearance is a three-component CIELAB average color of the virtual material appearance.

[0135] In the example, the color is calculated from a representation of the virtual material appearance. In the example, the calculation of the color is performed using uniform neutral ambient lighting.

[0136] The calculation of the value representing the reflectance of the virtual material appearance can be performed from the representation of the virtual material appearance by a bidirectional reflectance distribution function (BRDF). A BRDF is a 4-dimensional function that describes how much incident light at a specific location is reflected in a certain direction and produces a certain amount of reflected light in a certain direction, which is a ratio of the incident light from all hemisphere directions. The reflectance behavior of the virtual material appearance can be expressed using a BRDF, and describes non-trivial combinations of different behaviors, such as glossiness, color, highlight shape, and Fresnel behavior (also called Fresnel reflection).

[0137] BRDFs are particularly well suited to describing the reflective behavior of a surface, especially when the BRDF is calculated from a physically based representation.

[0138] In an example, the BRDF representation can be extended with spatially varying information to account for reflective behavior and surface variations across the surface, as described by McAllister et al. in “Efficient Rendering of Spatial Bi-directional Reflectance Distribution Functions” Computer, 2002.

[0139] The structure of BRDF datasets can range from full measured representations (such as Matusik et al. in "Efficient isotropic BRDF measurement" EGRW'03 Proceedings of the 14th Eurographics workshop on Rendering 2, 2003) to small and efficient parametric models (such as Ashikhmin et al. in "An Anisotropic Phong BRDF Model", Journal of Graphics Tools 5, 2000, or in Burley, B. and Walt Disney Animation Studios in "Physically-based shading at Disney", Acm Siggraph, 2012). This makes it difficult to compare available BRDF values ​​without knowing the BRDF used to calculate them. This method calculates BRDF values ​​directly from a representation of the virtual material appearance. This results in BRDF values ​​that are consistent between different virtual material appearances, thus allowing different appearance signatures to be compared to assess similarity.

[0140] The calculation of the value of the reflectance represented by the BRDF may include calculating multiple angular evaluations of the BRDF from a representation of the virtual material appearance. The calculation of the angular evaluations may be performed in a parameterized space covering a hemisphere of the BRDF using illumination with spatially uniform neutral light.

[0141] Angular evaluation is the measurement of the BRDF for a hemispherical angle. The BRDF is a function defined in the domain of incoming and outgoing directions oriented around the surface normal, such as Figure 4 As shown. The BRDF calculates how much of the incoming light is reflected to a certain outgoing direction. Usually, there is no need to apply a BRDF to the surface to be evaluated, as it does not depend on the position. Alternatively, the BRDF can depend on the position, however, changing the BRDF with position will change the visual structure of the observed appearance, which is covered by the "structural" feature.

[0142] The BRDF can depend on a set of parameters, such as angle parameters. Each angle evaluation can have a different set of parameter values, such as a different angle value. The set of parameters forms a parameterized space. The angle evaluation can explore the parameter space, such as by changing the angle value in the BRDF. In the example, the angle evaluation of the BRDF can be represented as a 2D image / slice (such as Figure 5 Alternatively or additionally, the angular evaluation of the BRDF may be stored in computer memory as a vector of values, in other words a reflectance characteristic vector.

[0143] BRDF evaluation values ​​may depend on the incident light, in other words, the illumination. Using spatially uniform neutral light results in BRDF values ​​that are independent of the lighting conditions. The term "spatial uniform" means that the neutral light arrives from all possible angles in the space representing the surroundings, which allows to exclude directional dependencies on the light. Neutral light is light that has the same value (e.g., value 1) for each RGB component and / or for each wavelength. This constant factor among the RGB components and / or wavelengths eliminates the dependency on the angular illumination.

[0144] The visual perception of a virtual material depends on more than just its appearance. The light sources in the virtual material's environment can change the user's visual perception. Therefore, a given virtual material appearance will be perceived differently in different environments. For example, a virtual material applied to a modeled object (representing a grey stone) will appear darker in an environment with little light than in a bright environment. This is not only valid for digital image synthesis; it is exactly the same in the real world. Spatially uniform neutral light allows the value of the representation reflection to be unaffected by the lighting environment.

[0145] Now refer to Figure 5. In the example, a rough virtual measurement is performed when calculating the evaluation of the BRDF. The virtual measurement is similar to the real-world measurement described by Matusik W.et al.in "Efficient isotropic BRDF measurement", 2003, EGRW'03 Proceedings of the 14th Eurographics workshop on Rendering. When performing the virtual measurement, all information related to the structure is ignored, such as all spatially varying information from the texture, such as color, normal or roughness. This produces a value that quantizes the reflection and is completely independent of the structure. In the example, only the spatially varying color is ignored and the color of the BRDF reflection is retained but ignored. In such an example, the BRDF color information can be used when no color texture is available. The parameterization for the measurement space is the Rusinkiewicz half-angle representation discussed by Rusinkiewiczin "A New Change of Variables for Efficient BRDF Representation", 198, Rendering Techniques'98, pp 11-22. In order to reduce the number of parameters to be evaluated, the The dimension is fixed to 90°. This results in a reduction in the amount of data to be processed, sacrificing anisotropic information, but is not a significant input when considering appearance ( The effect of fixing the size to 90° is minimal). A complete measurement of the BRDF involves physical angle measurements at a very fine resolution (e.g. 1 degree or less) to capture most of the angle variation in the apparent BRDF. This includes multiple angle evaluations, which can then be represented as 2D images / slices, as discussed in Burley, B. and Walt Disney Animation Studios in "Physically-based shading at Disney", AcmSiggraph, 2012, and as Figure 5 As shown. Different regions of the slice can be associated with certain visual BRDF features, such as specular peaks, Fresnel peaks, grazing backreflections, and diffuse reflectance. In other words, the visually important BRDF aspects are computed in a spatially separated way in a simple 2D data structure. This simple 2D data structure is independent of the underlying appearance data model. The similarity between BRDFs can then be reduced to a 2D image comparison problem. Figure 5 Two slices are shown, one representing the BRDF measurement of red plastic and the other representing the BRDF measurement of red specular plastic.

[0146] In an example, a logarithmic relative normalization scheme, such as that discussed in Nielsen, JBin "On Optimal, Minimal BRDF Sampling for Reflectance Acquisition", 2015, IEEE SignalProcessing and Signal Processing Education Workshop, can be used on 2D slices. 2D slices have a higher dynamic range. For example, the values ​​in the specular peak region may be several orders of magnitude higher than, for example, the diffuse region. The difference in magnitude may hide junctions with lower values ​​(e.g., values ​​in the diffuse region). Logarithmic normalization reduces the dynamic range to facilitate the interpretation of the slices. Logarithmic normalization does not affect the comparison of slices. Logarithmic normalization suppresses differences within a BRDF while preserving differences between BRDFs, and thus preserves the comparability of the BRDFs.

[0147] Reference now Figure 6 , the illumination may include frequency components. In an example, the uniform neutral light may be a pattern in which the intensity varies. In an example, when iterating the hemisphere in the longitudinal angle direction for incident light evaluation, intensity reduction is regularly applied to the neutral illumination information to produce a striped pattern. In this case, the pattern may be as follows Figure 6 Process fringe pattern shown. This allows differentiation between very diffuse virtual materials and very reflective virtual materials. For example, a perfectly specular and a perfectly diffuse material may produce the same uniform BRDF measurement slice for a uniform neutral lighting environment, and adding a fringe pattern to the lighting can make it different. This increases the precision of the similarity measurement.

[0148] Calculation of a value representing the structure of the virtual material appearance may include: sampling a virtual measurement plane representing the structure using illumination with spatially uniform neutral light; and evaluating the hemispherical integral of the reflected light of the illumination for each sample position on the plane. The structure is the result of the variation in reflection behavior across the surface. The sampling may be performed in discrete steps, and at each sampling point, the hemispherical integral of the reflected light may be evaluated to quantify structural features of the virtual material appearance. This results in the structure evaluation measuring spatially varying texture information in addition to spatially varying reflection behavior. In an example, the structure may be evaluated at a location such as Figure 7 The quantification of the structural feature is shown in the 2D image slice. Alternatively or additionally, the quantification of the structural feature may be stored in a computer memory as a vector of values, in other words, a structural feature vector.

[0149] In an example, the measurement result of the virtual measurement plane can be a 2D image / slice containing measurement information synthesized from the virtual material appearance. Additionally or alternatively, values ​​representing color features can also be calculated from the virtual measurements. This improves the performance of the method because one and the same representation can be involved in calculating the values ​​of structure and color without having to recalculate it each time.

[0150] In the example, the feature vector of the color is a three-component CIELAB average color calculated from the structure slice.

[0151] In this example, the scattering transform algorithm proposed by Sifre, L. and Mallat S. in “Combined scattering for rotation invariant texture analysis”, ESANN 2012 proceedings is used to extract rotation-invariant and deformation-stable structural feature representations from slices.

[0152] The calculation of the appearance signature may include reducing the size of the appearance signature.

[0153] An appearance signature that includes all values ​​of features quantifying the appearance of a virtual material associated with the appearance signature may be very large and therefore require a large amount of memory for processing and storage. The appearance signature may be reduced in size, for example, by reducing the number of values ​​of features representing the appearance of the virtual material while retaining at least one value for each feature. This facilitates the use of appearance signatures in a database, which may have a limited index size, for example between 50 and 200 values, or be limited to 100 values, while the reduced appearance signature includes between 10 and 100 values, for example 40 values.

[0154] Reducing the size of the appearance signature (reducing the size) may include performing a principal component analysis (PCA) on the values ​​of at least one of the structure, reflection, and color of the associated virtual material appearance of the database, respectively. In an example, the PCA may include a singular value decomposition (SVD). The PCA may be performed as a preprocessing step before providing the first appearance signature and / or before providing the database. After performing the PCA, a number of basis vectors are obtained. The number of basis vectors may be automatically obtained by a processor. The basis vectors may then be used to reduce the number of values ​​calculated for each feature of the virtual material appearance in the database. In an example, the feature vectors used to calculate the appearance signature may be projected into a space defined by the basis vectors, which effectively reduces the number of values ​​in the feature vectors. The basis vectors may be stored in a computer memory for future use. For example, in order to reduce the size of the appearance signature of a virtual material that is not stored in the database.

[0155] Reducing the number of values ​​calculated for the appearance signature makes the appearance signature smaller in terms of computer memory. In the example, the unreduced representation of the feature vector (e.g., a feature vector represented by a 2D image) may be too large, for example, the value of the texture feature vector is 26688, the value of the reflectance feature is 16384, and the value of the color is 3. The reduction of values ​​using PCA can reduce the number of these values, for example, to less than 100 total values ​​for all 3 features without losing much information. As a result, the appearance signature is easier to process in volatile computer memory and takes up less space in non-volatile computer memory, which can speed up comparisons between appearance signatures. It is worth noting that the appearance signature can be used as input for most database indexers that are limited to a specific input size.

[0156] It is worth noting that PCA is particularly suitable for reducing BRDF values. Applying principal component analysis (PCA) to a set of different material measurements produces a small set of basis vectors that isolate all the main visible BRDF features.

[0157] In an example, a matrix may be calculated from all values ​​representing one feature of a plurality of virtual material appearances in a database. PCA may then be performed on the calculated matrix. Alternatively, PCA may be performed on a 2D representation of the feature values ​​of a plurality of virtual material appearances in a database. The plurality of virtual material appearances in a database may be all virtual material appearances in a database or may be a representation of at least one set of virtual material appearances in a database. A representative set corresponds to a set of virtual material appearances that accurately reflects other virtual material appearances in the database (e.g., 85%, 95%, or 100% of the virtual material appearances in the database).

[0158] Reference now Figure 8 , during preprocessing, an example of basis vectors for reflectance features is computed by applying PCA decomposition to the slice representation of reflectance for all virtual material appearances in the database. Since color information is primarily determined by texture as part of the spatially varying properties of the appearance definition, the RGB color channels can be treated as separate grayscale PCA samples. The principal component vectors can be extracted by applying SVD to the mean-subtracted, normalized sample matrix:

[0159]

[0160] in:

[0161] X is a sample matrix with single-channel image slices and their rows;

[0162] is a matrix with the mean sample row vectors, m is the number of elements in the vector (e.g. 24300 for BRDF features), and p is the number of samples (e.g. number of BRDF slices);

[0163] is the conjugate transpose of V, whose columns represent the principal components of the sample data space;

[0164] is a mathematically defined term for the singular value decomposition whose diagonal values ​​contain the variance values ​​of the principal components, where k is the number of principal components desired (e.g., 5 for the characteristic BRDF).

[0165] U is the matrix of SVD known in the art.

[0166] matrix Can be used to convert each slice (or corresponding feature vector) Projection to k-dimensional feature space vector in:

[0167] The rows of Q are the k principal components with the highest eigenvalues;

[0168] S is the average grayscale version of the original slice;

[0169] The axis represents the BRDF features with the largest variation in the appearance of virtual materials in the database and verifies that:

[0170]

[0171] Figure 8 Shown are the first five PCA basis vectors visualized as 2D slices for reflection.

[0172] In the example, basis vectors for structural features are computed in a preprocessing process by applying PCA decomposition on the scattering coefficient representation of all virtual material appearances in the database.

[0173] Tests were performed for BRDF measurements. h and θ d Performing a 1° angular increment results in a 90x90 pixel image slice representing the BRDF measurement, which corresponds to 24300 floating point values ​​for one slice, taking into account the RGB measurements. After the size reduction, the number of values ​​is reduced to 5, while retaining a reliable representation of the reflective behavior, so comparisons can be made to identify similarities.

[0174] The tests also showed that for the scattering transform of structural features, the best parameter configuration with regard to performance / storage tradeoff included 26688 floating-point coefficients as feature vectors. Compared to high-dimensional compression, this number was reduced to around 30 values ​​after dimensionality reduction without much quality loss.

[0175] The first appearance signature may be calculated from a reduced number of values ​​representing at least one of structure, reflection, and color of the first virtual material appearance. Basis vectors calculated for different features during preprocessing may be used to reduce the number of values, as is the case with the appearance signatures of the virtual material appearances in the database. Since the basis vectors have been precomputed, size reduction of the first appearance signature is effectively performed.

[0176] The following is a discussion of an example (100) implementation of the method. A database is provided that includes virtual material appearances, each virtual material appearance in the database being associated with an appearance signature that includes values ​​quantifying structural, reflective, and color characteristics.

[0177] Reference Fig. 9 , preprocessing is performed to reduce the size of the appearance signatures in the database and the calculated basis vectors for the features are stored. The calculation of the basis vectors is started (110) and it is verified that the values ​​of the quantitative features have not yet been calculated for all virtual material appearances of the database (120). Next, the values ​​of the quantitative features are calculated from the synthetic representation of the virtual material appearances (130). These values ​​are then added to the sample matrix (140), for example in the form of columns or line vectors. This is repeated (150) until the sample matrix includes the values ​​of all virtual material appearances (160). Next, PCA is performed on the sample matrix (170) to obtain the basis vectors (180). This is performed for the structural and reflective features.

[0178] The basis vectors are used to reduce the size of the appearance signatures of the virtual material appearances in the database. The basis vectors can then be stored in memory for future use.

[0179] Referring now to 10, in order to facilitate managing the weights added to the appearance signature when performing similarity retrieval in a database, one or more normalization and one or more linearization factors are calculated.

[0180] The calculation of these factors involves defining the distance matrix D i =δ mn , where 1≤m,n≤N, where N is the number of materials in the database. The normalization term is:

[0181] ρ i =max(D i )

[0182] The distribution of distances of a feature in the normalized parameter space shows nonlinearity when compared to the distribution of distances in the normalized parameter space of another feature. Therefore, a linearization function is determined. Fig.10 The diagram in FIG. 5 shows the distribution of distances 500 of structural features between virtual material appearances in the database.

[0183] Reference now Fig.11 ,exist Fig.11 A cumulative distribution function (CDF) 510 for the distribution of the BRDF distance 500 is calculated in Fig.12 In , the logistic distribution 520 (fitted as a CDF) function is analytically approximated by fitting it to the cumulative distribution function. The resulting coefficients can be used to linearize the parameter space. When performing similarity retrieval, this allows weights that vary within a similar range to be associated with the values ​​of different features.

[0184] Reference now Fig.13 , after determining the basis vectors and linearization / normalization terms, a user or application inputs (or provides) a first virtual material appearance (310); data representing the first virtual material appearance may be used for further calculations performed by the system performing the method. A determination is performed (320) (e.g., by a processor) to verify whether the input first virtual material appearance is associated with a first appearance signature. This is performed as known in the art. If the first appearance signature is not identified, a first virtual material appearance is created (330).

[0185] refer to Fig.14 , discussing an example of creation of an appearance signature (330). Creation of an appearance signature (e.g., a first appearance signature) includes calculating / extracting feature vectors for reflectance (332), structure (334), and color (336). The calculation / extraction can be performed as discussed. The appearance signature is a concatenation of each extracted feature vector with corresponding normalization and linearization factors applied to the extracted feature vectors.

[0186] refer to Fig.15 , an example of calculating / extracting a eigenvector for reflectance is discussed. Extraction of the reflectance eigenvector includes synthesizing a representation of the appearance of a virtual material used as input (3322). Measurements (e.g., virtual measurements) including evaluation of the BRDF (3324) are performed to explore the parameters of the BRDF, such as by measuring θ h and θ d 1° angular increments are performed in order to measure the reflectance values ​​from the synthetic representation. The incident light parameters required for BRDF evaluation simulate spatially uniform white light. The resulting values ​​are projected (3326) according to the reflectance basis vectors. This results in the creation of a reflectance feature vector (3328) with a reduced number of values ​​that retains the most important features of the reflectance characteristics of the virtual material appearance used as input. The size of the reflectance feature vector is between 5 and 20 floating point values. In the example, 5 floating point values ​​may be the optimal size of the reflectance feature vector, as fewer values ​​will significantly deteriorate the quality of the result, while more values ​​will not significantly improve the quality of the result.

[0187] refer to Fig.16, an example of calculating / extracting a structural feature vector is discussed. The extraction of the structural feature vector includes synthesizing a representation of the appearance of a virtual material used as input (3342). Virtual measurements are calculated from the representation on the virtual. plane discretized into discrete sampling steps. At each sample location, the hemispherical integral of the reflected spatially uniform incident neutral light is evaluated (3344). Next, a feature analysis based on a scattering convolutional network is performed to extract structural features of the calculated slice (3345). For example, a feature analysis based on the paper "Invariant Scattering Convolution Networks" by Joan Brunaand Stephane Mallat can be performed. This technique has been shown to be reliable in identifying structural features that are independent of direction and size. The resulting values ​​are then projected (3346) according to basis vectors corresponding to the structure and calculated during preprocessing. This results in the creation of a structural feature vector (3348) with a reduced number of values ​​that retain the most important features of the structural features of the appearance of the virtual material used as input. The size of the structural feature vector can be, for example, between 30 and 60 floating point values.

[0188] Reference Fig.17 , an example of calculating / extracting a color feature vector is discussed. The extraction of the color feature vector is performed on a synthetic representation of the virtual material appearance used as input (3362). Measurements of CIELAB colors including extraction of three components for the representation are performed (3364). The average of the measurements for each component is calculated (3365), and the results form a color feature vector (3368).

[0189] Reference Fig.13After creating the first appearance signature and / or if the first appearance signature is identified, the user selects weights for adjusting the database query (340). The weights scale the search interest between features: reflectance (e.g., glossiness of the material), structure (e.g., structural patterns produced via color or normal changes), and color (the overall color of the appearance). The three weights (one for each feature) can be changed independently. Each weight varies within the same range, for example, from 0 to 1. The database is queried using the first appearance signature (350). The first appearance signature is compared to appearance signatures associated with virtual material appearances in the database using a similarity metric that gives a value for the similarity between virtual material appearances. Next, a list of similar virtual material appearances that are most similar to the first material appearance according to the search weights is returned (360). A similar virtual material appearance is a virtual appearance from which the similarity metric produces a value that is higher than the values ​​in other virtual material appearances (e.g., by applying the similarity metric on the associated appearance signature). The most similar virtual material appearance in the database is a virtual material appearance from which the similarity metric is derived that is the maximum of all virtual material appearances in the database (e.g., all virtual material appearances in the database).

[0190] The number of similar material appearances in the list may be a predetermined number and / or may be virtual material appearances according to which the value of the similarity measure is above a given threshold (e.g., above 0.5 or above 0.7). The list of similar virtual material appearances may include an image on which the virtual material appearance has been rendered, for example on an object. The list of similar virtual material appearances may further include a sub-list of similar virtual material appearances only regarding one feature. The list of similar virtual material appearances may include a 2D image / slice representation returning a feature vector associated with one or more listed similar virtual material appearances. The list may include only one similar virtual material appearance, alternatively may include multiple similar virtual material appearances. The list may include an image with a first virtual material appearance rendered.

[0191] In an example, the list may include at least a virtual material appearance that is most similar to the first virtual material appearance. Fig.18 is a screenshot of a graphical user interface (GUI) suitable for displaying the results of the method. In this example, a user performs a query in a database for an orange alcantara virtual material appearance used as input (e.g., the (first) orange alcantara virtual material appearance 1700 is selected in the database) when designing a product to be manufactured. In this example, each of the extracted BRDF feature vectors (332), structural feature vectors (334), and color feature vectors (336) have the same weight. In FIG. Fig.18, for each extracted feature obtained individually, the most similar virtual material appearance is retrieved from the database as shown in the left portion 1710, 1720, 1730 of the GUI. The right portion 1740 of the GUI displays representations of rendered virtual material appearances similar to the first according to equal search weights.

[0192] Reference now Fig.18 . In an example, a real-world image (e.g., a photograph) of a building wall is provided. The picture can be retrieved from the Internet or taken with a device (e.g., a phone). The picture is used as input for a similarity search of structural and color features (e.g., data extracted from the image). Next, a representation of the virtual material appearance in a database (e.g., a corresponding image) is returned based on the method. The virtual material appearance can then be used to texture a CAD object. Thus, a user can use the method described herein to query a virtual material appearance catalog using a photograph. In addition, the returned virtual material appearance may include indications of similarity between the same features of the retrieved virtual material appearance and the picture used as input. The indication may be a star system, e.g. Fig.19 shown.

Claims

1. A computer-implemented method for retrieving similar virtual material appearances from a database, the method comprising: - providing a database comprising virtual material appearances, each virtual material appearance being associated with an appearance signature, the appearance signature being calculated from at least one of: values ​​representing the structure, reflectance and color of the associated virtual material appearance; - providing a first appearance signature associated with the first virtual material appearance; - identifying in the database one or more virtual material appearances similar to the first virtual material appearance by comparing the first appearance signature with appearance signatures respectively associated with virtual material appearances in the database, Therein, the value representing the reflectance of the associated virtual material appearance is obtained by calculating a bidirectional reflectance distribution function (BRDF) from the representation of the associated virtual material appearance.

2. The computer-implemented method of claim 1 , wherein: The value representing at least one of a structure and a color of the associated virtual material appearance is calculated from a representation of the associated virtual material appearance. 3 . The computer-implemented method of claim 1 , further comprising weighting the first appearance signature.

4. The computer-implemented method of claim 3, wherein: Weighting the first appearance signature includes: - weighting values ​​representing at least one of: structure, reflection and color of the virtual material appearance associated with said first appearance signature and each compared appearance signature.

5. The computer-implemented method according to one of claims 2 to 4, wherein: Calculating the value of the color includes determining the value ΔE ab , which is given by: in: -1 and 2 correspond to indices relative to the two colors; -L corresponds to brightness; and -a and b correspond to the green and red color components, and the blue and yellow color components respectively.

6. The computer-implemented method of claim 1 , wherein: Computing the BRDF further includes computing a plurality of angular evaluations of the BRDF based on a representation of the associated virtual material appearance in a parameterized space of illumination with spatially uniform neutral light.

7. The computer-implemented method of claim 6, wherein: The illumination also includes frequency components.

8. The method according to any one of claims 2 to 4, further comprising calculating the value of the structure by the following steps: - sampling a virtual measurement plane of the representation of the associated virtual material appearance using a light source having spatially uniform neutral light; and - Evaluate the hemispherical integral of the light reflected from the light source through each sample.

9. The computer-implemented method of any one of claims 1 to 4, wherein: Computing the appearance signature also includes reducing the size of the appearance signature.

10. The computer-implemented method of claim 9, wherein: Reducing the size of the appearance signature also includes: - performing a principal component analysis (PCA) on the values ​​of at least one of structure, reflection and color respectively representing the appearance of the associated virtual material of the database; - obtaining a plurality of basis vectors obtained from said PCA; and - Using said plurality of basis vectors to reduce the number of calculated values.

11. The computer-implemented method of claim 10, wherein: The first appearance signature is selected from a reduced number of structures, reflections and colors representing the appearance of the first virtual material. Calculated from the value of at least one item.

12. A database comprising virtual material appearances according to any one of claims 1 to 11.

13. A computer program product comprising instructions for executing the method according to any one of claims 1 to 11.

14. A system comprising a database and a processor coupled to a memory having recorded thereon the instructions according to claim 13.