Enhanced Visual Quality Assessment Using Holographic Interferometry

The holographic patterns of objects are acquired and superimposed by holographic interferometry, and the interference patterns are created to evaluate visual quality, which solves the problem of high computing resources in existing AI vision systems and achieves efficient visual quality evaluation.

CN114625529BActive Publication Date: 2025-06-13INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111420312.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-08
Filing Date
2021-11-26
Publication Date
2025-06-13
Estimated Expiration
2041-11-26

AI Technical Summary

Technical Problem

Existing systems based on artificial intelligence (AI) vision require a large amount of computing resources when performing visual quality assessments, resulting in inefficiency.

Method used

Using holographic interference measurement, an interference pattern is created to determine the difference between the two by obtaining the holographic patterns of the reference object and the test object and superimposing the test holographic patterns on the reference holographic patterns.

Benefits of technology

Significantly reduces the computing resources required to perform visual quality assessments and improves evaluation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114625529B_ABST
    Figure CN114625529B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to enhancing visual quality assessment using holographic interferometry. Methods, systems, and computer program products for performing visual quality assessment using holographic interferometry are provided. Aspects include obtaining a reference holographic pattern based on a reference object and obtaining a test holographic pattern based on a test object. Aspects also include creating an interference pattern by superimposing the test holographic pattern onto the reference holographic pattern. Aspects further include determining a difference between the reference object and the test object based on the interference pattern.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND OF THE INVENTION

[0001] The present invention generally relates to visual quality assessment, and more particularly, to enhancing visual quality assessment using holographic interferometry.

[0002] Manufacturers typically need to perform visual inspections on manufactured objects to ensure that the quality of the objects has the desired error tolerance. Currently, various artificial intelligence (AI)-based vision systems are used to perform these visual assessments. These tools use the training of visual models of neural networks to perform object detection and image classification operations on visual data (e.g., static photos and / or videos). Performing these operations on optical data requires a very large amount of computing resources, such as memory, CPU, and GPU cycles, etc. SUMMARY OF THE INVENTION

[0003] According to one embodiment, a system for performing visual quality assessment using holographic interferometry is provided. The system includes a memory having computer-readable computer instructions, and a processor for executing the computer-readable instructions. The computer-readable instructions include instructions for obtaining a reference holographic pattern based on a reference object and obtaining a test holographic pattern based on a test object. The method further includes creating an interference pattern by superimposing the test holographic pattern onto the reference holographic pattern. The method further includes determining a difference between the reference object and the test object based on the interference pattern.

[0004] According to another embodiment, a method for performing visual quality assessment using holographic interferometry is provided. The method includes obtaining a reference holographic pattern based on a reference object and obtaining a test holographic pattern based on a test object. The method further includes creating an interference pattern by superimposing the test holographic pattern onto the reference holographic pattern. The method further includes determining a difference between the reference object and the test object based on the interference pattern.

[0005] According to another embodiment, a computer program product is provided. The computer program product includes a computer-readable storage medium having program instructions embodied therewith. The computer-readable storage medium itself is not a transient signal. The program instructions are executable by a computer processor to cause the computer processor to perform a method. The method includes obtaining a reference holographic pattern based on a reference object and obtaining a test holographic pattern based on a test object. The method further includes creating an interference pattern by superimposing the test holographic pattern onto the reference holographic pattern. The method further includes determining a difference between the reference object and the test object based on the interference pattern.

[0006] Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the present invention described in detail herein are considered to be part of the claimed invention. To better understand the advantages and features of the present invention, reference is made to the specification and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the claims appended to the specification. The foregoing and other features and advantages of the present invention are apparent from the following detailed description taken in conjunction with the accompanying drawings, in which:

[0008] Figure 1 depicts a cloud computing environment in accordance with one or more embodiments of the present invention;

[0009] Figure 2 describes an abstract model layer in accordance with one or more embodiments of the present invention;

[0010] Figure 3 depicts an exemplary computer system capable of implementing one or more embodiments of the present invention;

[0011] Figure 4 depicts a schematic diagram of a system for capturing holographic patterns of an object in accordance with one or more embodiments of the present invention;

[0012] Figure 5 depicts illustrations of various interference patterns in accordance with one or more embodiments of the present invention; and

[0013] Figure 6 shows a flowchart of a method for performing visual quality assessment using holographic interferometry in accordance with one or more embodiments of the present invention. DETAILED DESCRIPTION

[0014] Various embodiments of the present invention are described herein with reference to the related drawings. Alternative embodiments of the present invention can be designed without departing from the scope of the present invention. Various connection and positional relationships (e.g., above, below, adjacent, etc.) are set forth between elements in the following description and the drawings. Unless otherwise specified, these connections and / or positional relationships can be direct or indirect, and the present invention is not limited in this regard by the schematic diagrams. Thus, the coupling of entities can refer to direct or indirect coupling, and the positional relationships between entities can be direct or indirect positional relationships. In addition, the various tasks and process steps described herein can be incorporated into a more comprehensive program or process having additional steps or functions not described in detail herein.

[0015] The following definitions and abbreviations are used to interpret the claims and the specification. As used herein, the terms "comprise", "comprising", "include", "including", "has", "having", "contain" or "containing" or any other variant thereof are intended to cover non-exclusive inclusion. For example, a composition, mixture, process, method, article or apparatus that includes a series of elements is not necessarily limited to those elements, but may include other elements not expressly listed or inherent to such composition, mixture, process, method, article or apparatus.

[0016] Additionally, the term "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms "at least one" and "one or more" can be understood to include any integer greater than or equal to one, i.e., one, two, three, four, etc. The term "plurality" can be understood to include any integer greater than or equal to two, i.e., two, three, four, five, etc. The term "connected" can include both indirect "connection" and direct "connection".

[0017] The terms "about", "substantially", "approximately" and their variants are intended to include the degree of error associated with the measurement of a specific quantity based on the equipment available at the time of filing this application. For example, "about" can include a range of ±8% or 5%, or 2% of a given value.

[0018] For the sake of brevity, conventional techniques related to various aspects of making and using the present invention may or may not be described in detail herein. Specifically, various aspects of the computing systems and specific computer programs for implementing the various technical features described herein are well known. Thus, for the sake of brevity, many conventional implementation details are only briefly mentioned herein, or are omitted entirely, without providing well-known system and / or process details.

[0019] It should be understood that although this disclosure includes a detailed description of cloud computing, the implementation of the teachings recited herein is not limited to a cloud computing environment. Rather, embodiments of the present invention are capable of being implemented in conjunction with any other type of computing environment now known or later developed.

[0020] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. The cloud model can include at least five characteristics, at least three service models, and at least four deployment models.

[0021] The characteristics are as follows:

[0022] On-demand self-service: Cloud consumers can unilaterally and automatically provision computing capabilities, such as server time and network storage, as needed, without human interaction with the service provider.

[0023] Broad network access: Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0024] Resource pooling: The provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically assigned and reassigned as needed. There is a sense of location independence in that consumers generally have no control or knowledge of the exact location of the provided resources, but can be able to specify location at a higher level of abstraction (e.g., country, state, or data center).

[0025] Rapid elasticity: Capabilities can be rapidly and elastically, and in some cases automatically, provisioned to quickly scale out and quickly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear unlimited and can be purchased in any quantity at any time.

[0026] Measured service: The cloud system automatically controls and optimizes resource use by leveraging metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource use can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.

[0027] The service models are as follows:

[0028] Software as a Service (SaaS): The capabilities provided to the consumer are to use the provider's applications running on the cloud infrastructure. The applications are accessible from different client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

[0029] Platform as a Service (PaaS): The capabilities provided to the consumer are to deploy the applications created or acquired by the consumer onto the cloud infrastructure, where the applications are created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including the network, servers, operating systems, or storage devices, but has control over the deployed applications and possibly the configuration of the application hosting environment.

[0030] Infrastructure as a Service (IaaS): The capabilities provided to the consumer are to supply processing, storage, networking, and other fundamental computing resources that the consumer can deploy and run any software that may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over the operating systems, storage devices, deployed applications, and possibly limited control over the selection of networking components (e.g., host firewalls).

[0031] The deployment models are as follows:

[0032] Private cloud: The cloud infrastructure is operated only for an organization. It can be managed by the organization or a third party and can exist on - premise or off - premise.

[0033] Community cloud: The cloud infrastructure is shared by several organizations and supports a specific community with shared concerns (e.g., mission, security requirements, policies, and compliance considerations). It can be managed by the organization or a third party and can exist on - site or off - site.

[0034] Public cloud: Makes the cloud infrastructure available to the general public or a large industry group and is owned by an organization that sells cloud services.

[0035] Hybrid cloud: The cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain distinct entities but are bound together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).

[0036] The cloud computing environment is service - oriented, focusing on statelessness, low coupling, modularity, and semantic interoperability. The core of cloud computing is the infrastructure that consists of a network of interconnected nodes.

[0037] Now refer to Figure 1, depicts an illustrative cloud computing environment 50. As shown, cloud computing environment 50 includes one or more cloud computing nodes 10, and local computing devices used by cloud consumers (such as, for example, a personal digital assistant (PDA) or mobile phone 54A, desktop computer 54B, laptop computer 54C, and / or in-vehicle computer system 54N) can communicate with cloud computing nodes 10. Nodes 10 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as the private cloud, community cloud, public cloud, or hybrid cloud or combinations thereof described above. This allows cloud computing environment 50 to provide infrastructure, platform, and / or software as a service for which cloud consumers do not need to maintain resources on local computing devices. It should be understood that Figure 1 the types of computing devices 54A-N shown are only intended to be illustrative, and computing nodes 10 and cloud computing environment 50 can communicate with any type of computerized device through any type of network and / or network addressable connection (e.g., using a web browser).

[0038] Now referring to Figure 2 , shows a set of functional abstraction layers provided by cloud computing environment 50 ( Figure 1 ). It should be understood in advance that Figure 2 the components, layers, and functions shown are only intended to be illustrative, and embodiments of the present invention are not limited thereto. As depicted, the following layers and corresponding functions are provided:

[0039] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include: mainframes 61; servers 62 based on RISC (Reduced Instruction Set Computer) architecture; servers 63; blade servers 64; storage devices 65; and network and networking components 66. In some embodiments, software components include web application server software 67 and database software 68.

[0040] The virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 71; virtual storage devices 72; virtual networks 73, including virtual private networks; virtual applications and operating systems 74; and virtual clients 75.

[0041] In one example, the management layer 80 can provide the functions described below. Resource provisioning 81 provides for the dynamic procurement of computing resources and other resources for performing tasks within a cloud computing environment. Metering and pricing 82 provides cost tracking when resources are utilized within the cloud computing environment and bills or invoices for the consumption of those resources. In one example, these resources can include software application licenses. Security provides authentication for cloud consumers and tasks, as well as protection for data and other resources. The user portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management such that the required service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides for the pre-arrangement and procurement of cloud computing resources based on the expected future requirements of the cloud computing resources according to the SLA.

[0042] The workload layer 90 provides examples of functionality for which a cloud computing environment can be utilized. Examples of workloads and functions that can be provided from this layer include: maps and navigation 91; software development and lifecycle management 92; virtual classroom education delivery 93; data analysis processing 94; transaction processing 95; and visual quality assessment using holographic interferometry 96.

[0043] Turning now to a more detailed description of aspects of the present invention, Figure 3 A high-level block diagram of an example of a computer-based system 300 that can be used to implement one or more embodiments of the present invention is shown. Although an exemplary computer system 300 is shown, the computer system 300 includes a communication path 326 that connects the computer system 300 to additional systems and can include one or more wide area networks (WANs) and / or local area networks (LANs), such as the Internet, an intranet and / or a wireless communication network(s). The computer system 300 and the additional systems communicate via the communication path 326 (e.g., to transfer data therebetween).

[0044] The computer system 300 includes one or more processors, such as processor 302. The processor 302 is connected to a communication infrastructure 304 (e.g., a communication bus, a cross-over bar, or a network). The computer system 300 may include a display interface 306 that forwards graphics, text, and other data from the communication infrastructure 304 (or from a frame buffer not shown) for display on a display unit 308. The computer system 300 also includes a main memory 310, preferably a random access memory (RAM), and may also include a secondary memory 312. The secondary memory 312 may include, for example, a hard disk drive 314 and / or a removable storage drive 316, which represents, for example, a floppy disk drive, a tape drive, or an optical disk drive. The removable storage drive 316 reads from and / or writes to a removable storage unit 318 in a manner well known to those of ordinary skill in the art. The removable storage unit 318 represents, for example, a floppy disk, a compact disk, a magnetic tape, or an optical disk that is read from and written to by the removable storage drive 316. As will be appreciated, the removable storage unit 318 includes a computer-readable medium having stored therein computer software and / or data.

[0045] In some alternative embodiments of the present invention, the secondary memory 312 may include other similar devices for allowing computer programs or other instructions to be loaded into the computer system. Such devices may include, for example, a removable storage unit 320 and an interface 322. Examples of such devices may include program packages and package interfaces (such as those found in video game devices), removable memory chips (such as EPROMs or PROMs) and associated sockets, and other removable storage units 320 and interfaces 322 that allow software and data to be transferred from the removable storage unit 320 to the computer system 300.

[0046] The computer system 300 may also include a communication interface 324. The communication interface 324 allows software and data to be transferred between the computer system and external devices. Examples of the communication interface 324 may include a modem, a network interface (such as an Ethernet card), a communication port, or a PCM-CIA slot and card, etc. The software and data transferred via the communication interface 324 are in the form of signals, which may be, for example, electrical, electromagnetic, optical, or other signals that can be received by the communication interface 324. These signals are provided to the communication interface 324 via a communication path (i.e., a channel) 326. The communication path 326 carries the signals and may be implemented using wires or cables, optical fibers, telephone lines, cellular phone links, RF links, and / or other communication channels.

[0047] In the present disclosure, the terms "computer program medium", "computer usable medium", and "computer readable medium" are used to generally refer to media such as main memory 310 and secondary memory 312, removable storage drive 316, and the hard disk installed in hard disk drive 314. A computer program (also referred to as computer control logic) is stored in main memory 310 and / or secondary memory 312. The computer program can also be received via communication interface 324. Such a computer program, when running, enables the computer system to perform the features of the present disclosure as discussed herein. Specifically, the computer program, when running, enables processor 302 to perform the features of the computer system. Thus, such a computer program represents the controller of the computer system.

[0048] Generally, holography is the process of recording the diffracted light field scattered from an object. The recorded diffracted light field from an object, also referred to herein as a holographic pattern, will be identical to the holographic pattern from the exact same object. However, if a small deformation or change is imposed on one of the objects, the relative phase of the two light fields will change, and the interference can be observed by superimposing the two holographic patterns. This technique is referred to herein as holographic interferometry.

[0049] In an exemplary embodiment, there are provided a method, a system, and a computer program product for performing visual quality assessment using holographic interferometry. In the exemplary embodiment, holographic interferometry is used to perform a visual quality assessment of a test object to compare the holographic pattern of the test object with the holographic pattern of a reference object. The holographic patterns are superimposed to create an interference pattern, and the interference pattern is analyzed to determine the differences between the reference object and the test object.

[0050] Turning now Figure 4 , a system 400 for capturing a holographic pattern of an object will now be described in accordance with an embodiment. Figure 4 The system 400 shown includes a light source 402 that emits a coherent light beam. The light source 402 can emit monochromatic or spread-spectrum light. The light beam impinges on a beam splitter 404 that divides the light beam into an illumination beam and a reference beam. The illumination beam is directed towards the object 408, and the reference beam is directed towards the mirror 406. The illumination light beam impinges on the object and generates an object beam that is directed to the recording device 410. The reference beam is also directed by the mirror 406 to the recording device 410. In an exemplary embodiment, the recording device 410 is one of a photographic plate and a digital sensor array. As will be understood by those of ordinary skill in the art, the system 400 depicts one system for capturing a holographic pattern of an object, and other systems can be used to capture a holographic pattern of an object.

[0051] In an exemplary embodiment, once the holographic patterns of the reference object and the test object are acquired, the holographic pattern of the reference object is superimposed on the holographic pattern of the test object to create an interference pattern.Figure 5 Illustrates diagrams of various interference patterns 502, 504, and 506 in accordance with one or more embodiments of the present invention. The first interference pattern 502 shows the superposition of holographic patterns of two identical objects. The second interference pattern 504 shows the superposition of holographic patterns of two objects with a high degree of difference between them. The third interference pattern 506 shows the superposition of holographic patterns of two objects with a moderate difference between them. In an exemplary embodiment, various techniques can be used to analyze the interference pattern to quantify the difference between the two objects used to create the interference pattern. In one embodiment, the difference between the two objects is negatively correlated with the amount of blank present in the interference pattern. For example, an interference pattern with 100% blank will represent identical objects, and as the amount of blank in the interference pattern decreases, the difference between the two objects increases.

[0052] Now turning to Figure 6 , a flowchart of a method 600 for performing visual quality assessment using holographic interferometry in accordance with an embodiment is shown. The method 600 begins at block 602 by obtaining a reference holographic pattern based on a reference object. In an exemplary embodiment, the reference holographic pattern is obtained by applying digital holography to the reference object. Next, as shown in block 604, the method 600 includes obtaining a test holographic pattern based on a test object. In an exemplary embodiment, the test holographic pattern is obtained by applying digital holography to the test object.

[0053] The method 600 also includes creating an interference pattern by superimposing the test holographic pattern onto the reference holographic pattern, as shown in block 606. Next, as shown in block 608, the method 600 includes determining the difference between the reference object and the test object based on the interference pattern. In one embodiment, determining the difference between the reference object and the test object includes performing a binomial detection of the presence of data in the interference pattern. In another embodiment, determining the difference between the reference object and the test object includes analyzing the interference pattern and assigning a score to the interference pattern based on the analysis, where a score of zero indicates the absence of data in the interference pattern. In one embodiment, the score is determined as one hundred minus the percentage of blank in the interference pattern. In some other embodiments, a trained neural network is used to determine the score.

[0054] In an exemplary embodiment, the method includes determining that the difference is less than an acceptable tolerance based on a score being lower than a first value. In other words, the method determines that the test object is similar enough to the reference object to fall within an acceptable tolerance level based on the score being lower than the first value. In an exemplary embodiment, the method includes determining that the difference is greater than an acceptable tolerance based on a score being higher than a second value. In other words, the method determines that the test object is too different from the reference object to fall within an acceptable tolerance level based on the score being higher than the first value. In an exemplary embodiment, if the score is higher than the first value and lower than the second value, the method includes flagging the test object for additional inspection. In other words, the method determines that the test object is not similar enough to the reference object to be within an acceptable tolerance range and not different enough to be disqualified from being within an acceptable tolerance range. In an exemplary embodiment, the additional inspection may employ more computationally intensive vision-based tools such as Visual Inspector (VI) and Power AI Vision (PAIV) manufactured by IBM.

[0055] In an exemplary embodiment, the interference pattern created by superimposing a test holographic pattern onto a reference holographic pattern is analyzed using a neural network configured to assign a score to the interference pattern. The neural network is trained based on a plurality of interference patterns representing the degree of non-conformance associated between the reference object and the control object.

[0056] In an exemplary embodiment, the method of performing visual quality assessment using holographic interferometry can be used to perform visual quality assessment on any object. These objects can include any high-precision object such as internal components of an engine, parts of a semiconductor, medical devices, etc.

[0057] In an exemplary embodiment, holographic interferometry is employed digitally by creating a digital holographic pattern from a reference object and superimposing the diffracted light from the test object onto the digital holographic pattern. If the test object is identical to the reference object, no interference pattern is observed. If the test object has an acceptable error tolerance relative to the reference object, the score assigned to the interference pattern will be less than a threshold. Similarly, if the test object does not have an acceptable error tolerance relative to the reference object, the score assigned to the interference pattern will be greater than the threshold. In one embodiment, the mere presence or absence of the interference pattern is a simple, fast, and inexpensive means of assessing the property of visual similarity between two objects (i.e., requires fewer computational resources than existing AI vision-based tools). Thus, in one embodiment, a simple binomial detection using the presence or absence of the interference pattern is used to determine the difference between the reference object and the test object.

[0058] Technical benefits include improved functionality of a computer system capable of performing visual quality assessment using holographic interferometry. In one embodiment, due to the use of holographic interferometry, significantly fewer computing resources are required to perform visual quality assessment compared to traditional artificial intelligence (AI) vision inspection systems.

[0059] The present invention may be a system, method, and / or computer program product. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to perform aspects of the present invention.

[0060] A computer-readable storage medium may be a tangible device that can retain and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer-readable storage medium includes the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanically encoded device such as a punch card or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium should not be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., an optical pulse through an optical fiber cable), or an electrical signal transmitted through a wire.

[0061] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or may be downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network may include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the corresponding computing / processing device.

[0062] The computer-readable program instructions for carrying out operations of the present invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state-setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, and conventional procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider). In some embodiments, an electronic circuit, including, for example, a programmable logic device, a field-programmable gate array (FPGA), or a programmable logic array (PLA), may execute the computer-readable program instructions by utilizing the state information of the computer-readable program instructions to personalize the electronic circuit device for performing aspects of the present invention.

[0063] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0064] These computer-readable program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions executed via the processor of the computer or other programmable data processing apparatus create a means for implementing the functions / acts specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer-readable storage medium having instructions stored therein comprises an article of manufacture including instructions for implementing aspects of the functions / acts specified in one or more blocks of the flowchart and / or block diagram.

[0065] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, such that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowchart and / or block diagram.

[0066] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of instructions, which includes one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

[0067] The description of the various embodiments of the present invention has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein have been chosen to best explain the principles of the embodiments, the practical application, or technical improvements found in the marketplace over the technologies described, or to enable those of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A method for performing visual quality assessment using holographic interferometry, comprising: obtaining, by a processor, a reference holographic pattern based on a reference object; obtaining, by the processor, a test holographic pattern based on a test object; creating, by the processor, an interference pattern by superimposing the test holographic pattern onto the reference holographic pattern; and determining, by the processor, a difference between the reference object and the test object by analyzing the interference pattern and assigning a score to the interference pattern based on the analysis, wherein the interference pattern is analyzed using a neural network configured to assign the score to the interference pattern, and wherein the neural network is trained based on a plurality of interference images representing a degree of inconsistency associated between the reference object and a control object.

2. The method according to claim 1, wherein the reference holographic pattern is obtained by digital holographic interferometry of the reference object.

3. The method according to claim 1, wherein the test holographic pattern is obtained by applying digital holographic interferometry to the test object.

4. The method according to claim 1, wherein determining the difference between the reference object and the test object includes performing a binomial detection of the presence of data in the interference pattern.

5. The method according to claim 1, wherein a score of zero indicates the absence of data in the interference pattern.

6. The method according to claim 5, further comprising determining that the difference is less than an acceptable tolerance based on the score being lower than a first value, and determining that the difference is greater than the acceptable tolerance based on the score being higher than a second value.

7. The method according to claim 6, further comprising marking the test object for additional inspection based on the score being higher than the first value and lower than the second value.

8. A system for performing visual quality assessment using holographic interferometry, comprising: a memory having computer-readable instructions; and a processor for executing the computer-readable instructions, the computer-readable instructions including instructions for performing the method according to any one of claims 1 to 7.

9. A computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by a computer processor to cause the computer processor to perform the method according to any one of claims 1 to 7.