Method and system for change detection using AR overlay

An AR system aligns reference models with physical objects to enhance human detection of subtle defects in 3D printed products, offering cost-effective and accurate change detection.

JP7616891B2Active Publication Date: 2025-01-17PALO ALTO RESEARCH CENTER INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2021010668
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-02-19
Filing Date
2021-01-26
Publication Date
2025-01-17
Estimated Expiration
2041-01-26

AI Technical Summary

Technical Problem

Existing methods for detecting changes in manufactured products, such as those produced by 3D printing, are inefficient and costly, often requiring advanced machine vision or human inspection, which struggles with subtle defects due to 'change blindness'.

Method used

An augmented reality (AR) system aligns a reference model with a physical object, alternately displaying real-world and AR images to facilitate human detection of differences, and optionally includes automatic change detection to quantify defects.

Benefits of technology

Enhances human perception of subtle defects by rapidly switching AR and real-world views, improving detection accuracy and efficiency while reducing costs compared to traditional methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007616891000001
    Figure 0007616891000001
  • Figure 0007616891000002
    Figure 0007616891000002
  • Figure 0007616891000003
    Figure 0007616891000003
Patent Text Reader

Abstract

To provide a system for detecting a physical object and difference between the physical object and a corresponding reference model.SOLUTION: A system for detecting difference according to the present invention acquires a real world image of a physical object and projects a three-dimensional overlay generated from a reference model on the physical object in the real world image, thereby generating an augmented reality (AR) image. During the generation of the AR image, the system adjusts a posture of the reference model to a posture of the physical object. The system detects difference between the physical object and the reference model based on the generated AR image and the real world image.SELECTED DRAWING: Figure 6A
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] FIELD OF THE DISCLOSURE This disclosure relates generally to augmented reality (AR) and, more particularly, to systems and methods for implementing an AR overlay to detect changes between a design and a manufactured product. [Background technology]

[0002] In recent years, 3D printing, or additive manufacturing, has become a promising solution in industrial production due to rapid developments such as improvements in the accuracy, repeatability, and material range of 3D printing technology. 3D printing has found many practical applications beyond rapid prototyping, such as food manufacturing, fashion design, automotive manufacturing, agile tooling, and medical applications.

[0003] However, technological limitations may result in defects in manufactured products. Such defects may include over- or under-lamination of material, or structural collapse. Defects may be subtle, making detection of defects difficult or expensive for users. For example, a particular structure of a manufactured object may be slightly thicker or thinner than originally designed, or a surface that should be flat may be slightly curved. Some systems may require the use of advanced machine vision techniques and expensive imaging equipment (e.g., 3D laser scanners, computerized axial tomography (CT) machines, x-ray machines, etc.) to detect such imperfections and defects. Some systems require human inspection to determine if the manufactured object is the same as designed.

[0004] In addition to inspecting the quality of a 3D printed object, it may be necessary to detect slight changes in the structure and appearance of the object, which may be caused by various environmental factors such as weathering, wear, poor maintenance, etc. Detecting such changes may be important to ensure that the manufactured object meets design requirements or to allow equipment to be maintained in a timely manner. The ability to detect changes and / or the magnitude of changes may also facilitate repairs of the manufactured object, if such repairs are necessary. Summary of the Invention

[0005] An embodiment may provide a system for detecting differences between a physical object and a reference model corresponding to the physical object. During operation, the system generates an augmented reality (AR) image by acquiring a real-world image of the physical object and projecting a three-dimensional overlay generated from the reference model onto the physical object in the real-world image. During generation of the AR image, the system aligns the pose of the reference model to the pose of the physical object. The system may detect differences between the physical object and the reference model based on the generated AR image and the real-world image.

[0006] In a variation on this embodiment, aligning the pose of the reference model to the pose of the physical object may include identifying matching keypoints in the real-world image and in images generated from the reference model.

[0007] In a variation of this embodiment, the system may alternately display the real-world image and the AR image to the user, facilitating the user to add annotations to the real-world image or the AR image to indicate the location and / or magnitude of the detected differences.

[0008] In a variation of this embodiment, the system may automatically calculate one or more differences between the AR image and the real-world image and automatically generate annotations indicating the location and / or magnitude of the calculated differences.

[0009] In further variations, the differences between the AR image and the real world image may include color differences, texture differences, or structural differences.

[0010] In a further variation, calculating the color difference may include calculating a difference in color values ​​between the AR image and the real world image at a pixel level and generating a difference mask by binarizing the difference in color values.

[0011] In a further variation, calculating the color difference may further include determining a color calibration difference between the AR image and the real world image.

[0012] In a further variation, calculating the structural disparity may include generating an edge map of the AR image and an edge map of the real world image, and subtracting the edge maps from each other.

[0013] In a variation of this embodiment, the system may train a recognition engine to recognize physical objects and poses of physical objects in real-world images.

[0014] In a further variation, the system may access a model database to obtain a reference model based on the recognized physical object, the model database including one or more of a plurality of computer-aided design (CAD) models, a plurality of 3D meshes, and an image of the reference object.

[0015] In a variation of this embodiment, the system may output a difference file that includes the location, magnitude, or type of detected differences between the physical object and the reference model. [Brief description of the drawings]

[0016] [Figure 1] 1 illustrates an exemplary usage scenario of the novel change detection system, according to one embodiment.

[0017] [Figure 2A] 1 illustrates an example of change detection according to one embodiment.

[0018] [Figure 2B] 4 illustrates changes detected at different viewing angles according to one embodiment.

[0019] [Diagram 3] 1 illustrates an exemplary change detection system according to one embodiment.

[0020] [Figure 4] 1 illustrates an exemplary alignment between a computer-generated model and a physical object, according to one embodiment.

[0021] [Figure 5A] 1 illustrates a method for calculating image difference according to one embodiment. [Figure 5B] 1 illustrates a method for calculating image difference according to one embodiment. [Figure 5C] 1 illustrates a method for calculating image difference according to one embodiment. [Figure 5D] 1 illustrates a method for calculating image difference according to one embodiment.

[0022] [Figure 6A] 1 shows a flow diagram illustrating an exemplary AR-based change detection process, according to one embodiment.

[0023] [Figure 6B] 1 shows a flow diagram illustrating an exemplary AR-based change detection process, according to one embodiment.

[0024] [Figure 7] 1 illustrates an exemplary computer system that facilitates a change detection system, according to one embodiment.

[0025] In the drawings, like reference numbers refer to like graphical elements. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0026] The following description is presented to enable any person skilled in the art to make and use the embodiments, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein. overview

[0027] The embodiments described herein solve the technical problem of detecting changes between a manufactured product design and the product itself. In some embodiments, an intelligent change detection system can capture the human perception ability to detect differences between two images that are overlapping each other. More specifically, the system can use AR technology to project and align a reference model (e.g., a 3D computer-aided design (CAD) model) of the product under inspection to the physical product. By quickly switching the projected image on and off, non-augmented and augmented views of the product are alternately displayed to a human user of the AR equipment (e.g., a user wearing AR-enabled goggles). Thus, the human user can identify differences between the 3D reference model and the physical product and then label such changes in the AR application. Alternatively, an automatic change detection module can be used to detect changes or differences between the physical product and the reference model. The AR application may also generate an output (such as a file or a set of parameters) that can quantify the detected differences, usable by other applications (e.g., applications for correcting defects in manufactured goods). AR-based change detection system

[0028] As mentioned above, defects or imperfections in manufactured objects can be difficult to detect. The defects or imperfections can be the result of less than ideal manufacturing conditions (e.g., from the perspective of the object being 3D printed) or various environmental conditions (e.g., weathering, wear, poor maintenance, etc.). Compared to advanced machine vision techniques, which can be expensive and difficult to implement, human inspection can be low cost and provide flexibility. However, the human perceptual system is known to have difficulty visually observing subtle changes in the environment, known as "change blindness." This change blindness phenomenon makes it difficult for inspectors to detect differences between a manufactured object (which is a physical object) and a reference model (which is often in the form of a computer-generated image or images).

[0029] One way to help humans detect subtle changes between two images is to align the two images (e.g., one over the other) and display the two images in rapid succession. The changes, even if subtle, can be very obvious to the human eye by disrupting the temporal persistence of various pixels in the images. In some embodiments, the novel change detection system can use AR technology to align and project an image or images of a reference model onto a physical product while the inspector visually inspects the physical product to facilitate the inspector detecting changes between a manufactured product and its original design. The novel change detection system allows the inspector to view the model image and the physical product in rapid succession by quickly switching the projected image on and off. As a result, the inspector can easily recognize the differences between the reference model and the physical product and identify defects.

[0030] FIG. 1 illustrates an exemplary usage scenario of the novel change detection system according to one embodiment. In the example illustrated in FIG. 1, an inspector or user 102 is equipped with a piece of augmented reality (AR) equipment 104, which may include a personal computer (PC), a handheld computer, a head-mounted computer (HMC), or smart glasses, and is inspecting a manufactured article or real-world object 106. In the example illustrated in FIG. 1, the AR equipment 104 may include a handheld computer (e.g., a tablet computer or a smartphone). In general, the AR equipment 104 may include any computing device having a camera and a display for displaying an image captured by the camera. The manufactured article 106 may be a piece of machinery (e.g., a printer, a car, or an airplane engine) or a tool (e.g., a pair of pliers or a wrench).

[0031] The AR device 104 can capture and display images of real-world or physical objects in a real-world environment or scene. The AR device 104 can build a model of the real-world environment using a variety of sensors (e.g., sensors 112), including both two-dimensional (2D) and three-dimensional (3D) sensors. In some embodiments, the AR device 104 can build a model of the real-world environment using a RGB-D (color + depth) camera as well as a simultaneous localization and mapping (SLAM) style algorithm. Such information can then be used to align and overlay computer-generated objects (e.g., design models) onto real-world objects in the real-world scene.

[0032] In some embodiments, the AR device 104 may optionally transmit an image of the real-world object 106 to the server 108 over the network 110. The server 108 may include a recognition engine 122 that performs various image recognition operations, such as feature extraction and tracking. The recognition engine 122 in the server 108 may identify the real-world object 106 based on the extracted and tracked features and determine its pose (e.g., distance and orientation) relative to the camera of the AR device 104. For example, the recognition engine 122 in the server 108 may identify the real-world object 106 as a particular model printer and may determine that the printer faces forward relative to the camera of the tablet computer 104. Alternatively, a user may provide identification information associated with the real-world object 106 as input to the recognition engine 122. For example, the user may provide a name, model number, part number, or any identification information that can be used to identify the real-world object 106. Furthermore, once the real-world object 106 is identified and its pose is determined, the server 108 may transmit a reference model corresponding to the identified real-world object 106 and its determined pose so that the AR device (e.g., tablet computer 104) can project or overlay an image of the design model onto the captured image of the real-world object (e.g., turbine) 106, and the pose of the reference model is aligned with the pose of the real-world object 106. More specifically, the server 108 may select a reference model corresponding to the real-world object 106 from the model database 124 and adjust the pose of the reference model so that the pose of the reference model matches the pose of the real-world object 106. In other words, the shape and size of the reference model viewed by the user 102 using the AR device 104 may be substantially the same as the shape and size of the real-world object 106. As a result, the image of the reference model may substantially overlap with the captured image of the real-world object 106. Such an image of the reference model may also be referred to as a 3D overlay, meaning that it is an overlay image in the AR image.In an alternative embodiment, the AR device or tablet computer 104 itself may include a recognition engine 114 for performing image recognition operations and a model database 116 for providing a reference model, eliminating the need to transmit images of the real-world object 106 to a remote server.

[0033] The AR device 104 can be configured to alternate between displaying captured images of the real-world object 106 and pose-aligned images of a reference model (i.e., a 3D overlay). For example, each image may be displayed for a duration ranging from a few hundred milliseconds to a few seconds. In some embodiments, the user 102 can configure the AR device 104 for the duration of each image. Additionally, the user 102 can set the number of times each image is displayed. For example, the user 102 can configure the AR device 104 such that each image (including the captured image and the projected image) is displayed by the display of the AR device 104 ten times, for one second each time.

[0034] The AR device 104 may also include an annotation module 118 that allows the user 102 to add annotations to the captured image to mark the location of the detected change or defect on the real-world object 106. For example, the user 102 may use a specific drawing tool to mark the location of the detected change or defect. Alternatively, the user 102 may add annotations to the image of a reference model (e.g., a CAD model), and such annotations may be used to generate an updated design model. For example, annotations may be added to specific components in the CAD model in such a way that the specific components are highlighted when the CAD model is displayed to the user, indicating that the corresponding components of the real-world object 106 are different from the CAD model. In some embodiments, the server 108 may include an annotation module 126 capable of generating annotations on the reference model. Such annotations may be generated based on detected differences between the real-world object 106 and the reference model.

[0035] FIG. 2A illustrates an example of change detection according to one embodiment. The leftmost image in FIG. 2A is a non-augmented image of a physical environment showing turbine 202. The center image is an augmented reality image of the same physical environment with a computer-generated image of turbine CAD model 204 projected onto turbine 202. The pose of CAD model 204 is matched to the pose of turbine 202 such that the computer-generated image overlays the image of turbine 202. The rightmost image in FIG. 2A is an annotated image of turbine 202. More specifically, the rightmost image in FIG. 2A includes annotations 206 and 208, each of which indicates (e.g., with an arrow) the location on turbine 202 of a change or difference between turbine 202 and turbine CAD model 204. More specifically, the area of ​​difference is circled or otherwise highlighted. In some embodiments, the annotations (e.g., annotation 208) may further indicate the magnitude of the change. For example, the annotation 208 may indicate that the offset between the edge of the turbine 202 and the turbine CAD model 204 is 1 mm.

[0036] It should be noted that in the example shown in FIG. 2A, the physical object is viewed from a fixed angle. In reality, the physical object needs to be inspected from various viewing angles to capture all the differences between the physical object and its reference model. To adjust the viewing angle, a user equipped with an AR device (e.g., smart glasses or a tablet computer) may adjust the viewing angle of the camera of the AR device, or the user may adjust the orientation of the physical object. Such adjustments may be made manually or using automatic control. For example, a user holding a tablet computer may walk around a large object (e.g., a printer) so that images of the object can be captured by the camera on the tablet computer from various angles. Alternatively, a smaller object (e.g., a printer part) may be placed on a rotating stage so that images of the smaller object can be captured from various viewing angles without moving the camera. The rotating stage may be controlled manually or automatically. FIG. 2B illustrates changes detected at different viewing angles, according to one embodiment. It should be noted that as the viewing angle changes, changes or differences that were previously undetectable may be detected.

[0037] 3 illustrates an exemplary change detection system according to one embodiment. The change detection system 300 can include an imaging module 302, a display module 304, a recognition module 306, a model database 308, a registration module 310, an image difference module 312, a visualization module 314, and an annotation module 316.

[0038] The imaging module 302 may be responsible for capturing images of the physical world. More specifically, the imaging module 302 may capture images of physical objects, such as products manufactured using 3D printing or equipment undergoing maintenance. In some embodiments, the imaging module 302 may include a 2D or 3D camera capable of capturing still images and video. The display module 304 may be responsible for displaying images captured by the imaging module 302 as well as enhanced versions of such images.

[0039] The recognition module 306 may analyze images captured by the imaging module 302. More specifically, the recognition module 306 may use various machine learning techniques, such as supervised learning, to recognize objects and their poses in the captured images. In some embodiments, the recognition module 306 may be trained using a 3D design model (e.g., a 3D CAD model) or information obtained by performing a 3D scan of the target object. The 3D design model or the 3D scan results may be manipulated during training so that various poses of the object can be recorded. The trained recognition module 306 may then identify the poses of the object in the captured image or video stream.

[0040] The model database 308 may include design files (e.g., 3D CAD files) of multiple objects. For example, the model database 308 may include design files for different models of printers or design files for different parts of printers. The system may access the design files corresponding to the identified objects based on the output of the recognition module 306. In one embodiment, if the recognition module 306 identifies an object in the captured scene as a particular model of printer, the CAD file for such printer stored in the model database 308 may be extracted.

[0041] The registration module 310 may be responsible for aligning or matching the pose of a reference model to the pose of a physical object in a captured image. More specifically, the registration module 310 may output an image from a reference model (e.g., a CAD model). The output image may include a CAD model of the physical object in a pose that substantially matches the pose of the physical object in the captured image. In some embodiments, the registration module 310 may use a feature detector (e.g., a speeded up robust Features (SURF) detector) to find matching keypoints in the captured image and the computer-generated image. For example, corner points in the captured image may be matched to corner points in the computer-generated image. These matching keypoint pairs may then be used to define an affine transformation matrix to map one image to the same coordinate space of the other image. More specifically, a CAD image of an object may be mapped to the same coordinate space of a captured image of that object. It is noted that the registration module 310 only needs to perform the alignment once. Once aligned, the position and / or orientation of the physical object in the captured image can be changed without affecting the alignment between the physical object and its reference model, in other words, the pose of the reference model is locked to the pose of the physical object and can change according to the pose changes of the physical object.

[0042] FIG. 4 illustrates an exemplary alignment between a computer-generated model and a physical object, according to one embodiment. The diagram on the left shows a captured image of a turbine side-by-side with a computer-generated image of a turbine CAD model. FIG. 4 also shows lines, each connecting a point (marked with a circle) in the physical turbine model to a point (marked with a cross) in the turbine CAD model. These connected points are matching keypoints used by the alignment module 310 to register the images. The alignment module 310 may then align the two images by overlaying and blending the two images such that a set of keypoints from one image is located directly over a corresponding set of matching keypoints.

[0043] In some embodiments, instead of finding matching keypoints, the registration module 310 may directly manipulate the CAD model by outputting a CAD image that is perfectly aligned to the physical object in the captured image. More specifically, the registration module 310 may identify specific keypoints (e.g., edges or corners) in the captured image and infer the pose of the physical object based on the relative positions of the identified keypoints. Since the reference model (e.g., CAD model) typically records the position information of every point, the registration module 310 can easily output a model image according to the inferred pose of the physical object and overlay the model image on the captured image.

[0044] Returning to Figure 3, the image differencing module 312 may detect changes between an unaugmented image (e.g., the leftmost image in Figures 2A and 2B) and an augmented image in which a computer-generated model is overlaid on a physical object (e.g., the center image in Figures 2A and 2B). In some embodiments, the image differencing module 312 may generate a difference mask by computing differences in grayscale or color intensity values ​​(e.g., at the pixel level) and binarizing the difference values.

[0045] The color, texture, or shade of a pixel in the captured image may differ from the corresponding pixel in the computer-generated model image due to variations in imaging conditions (e.g., lighting conditions). Furthermore, differences in color calibration between the camera and the CAD model may result in color differences between the two images. However, such color differences are artifacts and do not reflect changes. To prevent the system from treating such artifacts as real changes, in some embodiments, the image differencing module 312 takes into account differences in lighting or color calibration when comparing colors. More specifically, the image differencing module 312 may generate color histograms for each of the non-augmented and augmented images and use such generated color histograms to compare the frequency of pixels of various colors between the two images. The image differencing module 312 may further match colors between the two images based on counting. Using FIG. 2A as an example, the blue color in the CAD model shown in the center image (referred to as blue_reference) differs from the blue color in the captured image of the turbine (referred to as blue_physical). However, the number of pixels having corresponding blue colors in each image should be approximately the same. Thus, by matching color histograms, the image difference module 312 can match a color in one image with a corresponding color in another image even if the values ​​(e.g., RGB or grayscale values) of the two colors are different. The image difference module 312 may also obtain a value difference between the two colors, where such a value difference is the expected difference. Furthermore, when comparing colors between two images (i.e., the non-augmented image and the augmented image), the image difference module 312 can calculate the color difference at each pixel location, and if the color difference at a particular pixel location is greater than the expected difference by a certain threshold, the image difference module 312 can record this pixel location as a location where a color change occurs.

[0046] It should be noted that the texture differences between the real-world image and the computer-generated model image may be true differences, but may also be artifacts due to lighting conditions. To distinguish between true differences and artifacts, the system may vary the lighting conditions (e.g., lighting angle or intensity) and check whether the texture differences remain the same. If the texture differences are true differences, then changing the lighting conditions will only change the magnitude of the detected texture differences, not their position.

[0047] In addition to being able to capture color differences, the image difference module 312 can also capture structural changes between the non-augmented and augmented images. In some embodiments, the image difference module 312 may first compute an edge map for each image and apply a series of morphological operators to each edge image to capture structural changes. In one embodiment, a disk operator with a radius of 10 may be used to dilate the edge maps generated from each image. The image difference module 312 may further compute logical differences between the edge maps (e.g., by using an "and" operator or an "or" operator) and output a difference file, which may be a binary pixel map where a logical "1" indicates a difference and a logical "0" indicates no difference. Additionally, the image difference module 312 may use another series of morphological operators to remove irrelevant edge differences. In one embodiment, an erosion morphological operator with a radius of 11 may be used.

[0048] 5A-5D illustrate an image difference calculation method according to one embodiment. In these examples, the physical object may be a printer and the reference model may be a CAD model of the printer. More specifically, FIG. 5A illustrates a calculated edge map of the printer CAD model and FIG. 5B illustrates a calculated edge map of the physical printer. FIG. 5C illustrates the difference between the two edge maps. FIG. 5D illustrates the detected difference by highlighting the locations on the CAD model where changes were detected.

[0049] Returning to FIG. 3, the visualization module 314 may serve to facilitate the user's visualization of the detected changes. In some embodiments, the visualization module 314 may present the detected changes by highlighting the corresponding pixels in either the augmented image (as shown in FIG. 5D) or the non-augmented image. The visualization results may then be displayed to the user by the display module 304. The visualized changes may assist the user in verifying and correcting the change detection results. For example, the visualized changes may draw the user's attention to a particular area, allowing the user to examine more closely and determine whether such differences are true differences or artifacts. To examine such changes closely, the user may actively toggle the augmented view on and off to see the differences between the augmented and non-augmented images. For example, in FIG. 5D, the area 502 is highlighted to show the changes detected by the image difference detection module 312. However, upon closer inspection, the user may discover that such changes or differences are caused by light reflections on the physical printer and can be ignored. Additionally, a user may adjust the viewing angle of the system so that changes can be detected from different viewing angles. In some embodiments, the visualization module 314 may be optional. Instead of displaying changes to the user using an image, the changes may be automatically recorded in an output file that records the location and / or magnitude of the detected changes. For example, the output file may show that there is 3 mm of over-deposited material in the right corner of the 3D printed object.

[0050] In FIG. 3, the annotation module 316 allows the user to add annotations to a single or multiple images once the user has located the actual changes between the two images (i.e., the non-augmented image and the augmented image). The user can add annotations to either the non-augmented image (as shown by the right-most image in FIG. 2A and FIG. 2B) or the augmented image (similar to FIG. 5D). In the embodiment shown in FIG. 2A and FIG. 2B, the user can use an image editing tool to hand-draw the boundary of the change area, and the annotation module 316 may highlight the boundary area. On the other hand, when the annotation is made in the augmented image, the user may be able to indicate the changes detected in the component or sub-component by selecting and highlighting a particular component or sub-component in the CAD model through the editing functions built into the CAD tool. In the scenario where the annotation is automatically generated by the system based on the output of the image difference detection module 314, the user can decide to accept or reject the annotation generated by the system. For example, if an annotation generated by the system relates to an artifact (such as color differences due to different lighting conditions), the user may choose to reject the annotation so that it does not become part of the system output.

[0051] FIG. 6A illustrates a flow diagram illustrating an exemplary AR-based change detection process, according to one embodiment. Before detecting changes, the system trains an AR alignment module (also referred to as an AR "trigger") using one or more 3D design files (operation 602). Such 3D design files may be obtained from an original design model (e.g., a 3D model) or may be extracted by performing a 3D scan of the target object. For example, a 3D mesh file may be generated by the 3D scan of a physical object. The trained AR trigger may be used by the system to restore accurate alignment of the design file or mesh file from a stored or live video capture. More specifically, the trained AR trigger may identify an object under inspection (e.g., an object in the field of view of the camera) and extract its alignment information.

[0052] During operation, the system acquires images of the physical object under inspection (operation 604). The images may be captured locally in real time, streamed remotely, or retrieved from a storage device. In one scenario, a user may operate a camera in the same location as the physical object to capture images of the physical object. In another scenario, a user may simply access a video file of the physical object.

[0053] The system then uses the trained AR triggers to recognize a physical object and its pose in the image (operation 606) and accesses a model database to obtain a reference model (e.g., a CAD model) corresponding to the physical object (operation 608). The system can further align the reference model of the physical object according to the recognized pose of the physical object in the captured image (operation 610) and generate an AR image by overlaying the aligned reference model on the physical object in the original image (operation 612). In the augmented image, the pose of the reference model matches the pose of the physical object in the image, so that the reference model substantially overlaps with the physical object without interfering with the surrounding environment.

[0054] The system may then display the non-augmented and augmented images to the user (operation 614). For example, the system may allow the user to view the non-augmented and augmented images in quick succession by quickly toggling the AR overlay on and off.

[0055] A user may manually add annotations to one or both of the images based on the displayed non-augmented and augmented images (operation 616). For example, the user may use a highlighting tool to highlight areas on the physical object that differ from the reference model. The system may then generate output based on the user annotations (operation 618).

[0056] 6B shows a flow diagram illustrating an exemplary AR-based change detection process, according to one embodiment. Operations 622-632 may be similar to operations 602-612 shown in FIG. 6A.

[0057] After generating the AR image, the system may input the original non-augmented image and the augmented image into a change detection module (operation 634). The change detection module may automatically calculate the differences between the augmented and non-augmented images (operation 636). The differences may include surface texture differences, color differences, and structural differences (such as height or width differences). The system may then automatically generate annotations marking the location of the color differences, texture differences, or structural differences (operation 638). In some embodiments, the annotations generated by the system may indicate the magnitude of one or more differences in addition to their location. The system may present the annotations generated by the system to the user (operation 640). Various visualization techniques may be used to mark the location of the differences. In some embodiments, pixels where differences are detected may be highlighted. The difference location marking may be performed on either the augmented or non-augmented image and presented to the user.

[0058] The system suggests possible changes to the user by marking the locations of the detected differences and presenting such markings to the user. It should be noted that differences between the augmented and non-augmented images detected using image analysis algorithms do not necessarily reflect deviations from the design of the product. In some cases, such differences may be artifacts caused by lighting conditions when the images are captured. Sometimes, such differences do not affect the quality of the product and can be ignored. In some embodiments, the user may perform further inspection at the marked locations (operation 642). For example, the user may manipulate the camera to zoom in on the marked locations to further inspect the area to determine whether a true change exists at such locations. Alternatively, the user may change the viewing angle of the camera to get a better view of the marked locations. The system may automatically obtain a new alignment of the physical object relative to the camera each time the camera changes its pose, and may also adjust the pose of the reference model so that the reference model is properly projected onto the physical object. The user may choose to reject, refine, or accept the proposed change locations while performing further inspection.

[0059] The user may modify the annotations generated by the system following the manual inspection (operation 644). The system may then generate an output (which may be a file or a set of parameters) based on the user's modification of the annotations generated by the system (operation 646). The output file may map and quantify all the changes detected by the system and the changes manually marked by the user. In some embodiments, the output file may include metrics such as confidence, type of change, and magnitude of change. The output file may provide valuable information that can be used to improve the manufacturing process by allowing the user to quantify defects in the manufactured item (e.g., a 3D printed product). In some embodiments, the output file may be in the form of an annotated image similar to that shown in FIGS. 2A and 2B. In another embodiment, the output file may be in the form of a CAD file with embedded annotations, and the annotations to the components may include the aforementioned change metrics (e.g., pixel location, confidence, type of change, magnitude of change, etc.). The output may further include a modified reference model that can be used to guide subsequent manufacturing of the product. For example, a 3D printed object may be compared to its design model to detect possible manufacturing deviations from the design. Such deviations may be compensated for by fine-tuning the model parameters.

[0060] In some embodiments, the user may adjust the camera's viewing angle to acquire new images of the physical object before the output is generated, and the entire change detection process may be repeated to allow the user to identify changes that occurred at locations that were originally outside the camera's field of view. As previously described, correcting the camera's field of view may cause the 3D model to be aligned at a different position to match the pose of the physical object in the corrected camera field of view. Such a process may be repeated multiple times until each and every portion of the physical object has been inspected by the user. Exemplary Computer and Communication Systems

[0061] 7 illustrates an exemplary computer system facilitating a change detection system, according to one embodiment. The computer system 700 includes a processor 702, a memory 704, and a storage device 706. The computer system 700 may be coupled to a display device 710, a keyboard 712, a pointing device 714, a camera 716, and may also be coupled to a network 708 via one or more network interfaces. The storage device 706 may store an operating system 718 and a change detection system 720.

[0062] The change detection system 720 may include instructions that, when executed by the computer system 700, cause the computer system 700 to perform the methods and / or processes described in this disclosure. The change detection system 720 includes instructions for recognizing physical objects and their poses in an image (recognition module 722), instructions for aligning a 3D model (which may be obtained from a model database 740) based on the pose of the physical object (alignment module 724), instructions for overlaying the pose-aligned 3D model on the physical object to generate an AR image (AR image generation module 726), instructions for detecting differences between the AR image and the original image (image difference detection module 728), instructions for presenting a visual representation of the detected differences to the user (visualization module 730), instructions for alternating between displaying the AR image and the original image to the user by switching the AR overlay on and off (AR switching module 732), instructions for allowing the user to add annotations to the image based on manual inspection (annotation module 734), and an output module for generating and outputting an output file (output module 736) mapping and quantifying all of the changes detected by the system and those manually marked by the user.

[0063] In general, embodiments of the present invention provide a solution for detecting changes or differences between a physical object and its pre-worn reference model or standard, which may be its original state. More specifically, an AR overlay can be generated based on a reference model (which may include a design model or a 3D mesh file) and placed on a real-world image of the physical object. The reference model can have substantially the same pose as the physical object such that in the AR image, the reference model overlaps with the physical object while not changing the environment. The AR overlay can be quickly switched on and off when presented to the user, which helps the user to recognize the difference between the reference model and the physical object. Furthermore, the system can also include an automatic change detection module that can detect differences between the AR image and the original image. The changes detected by the system require the user to confirm whether they are real changes or artifacts. The system can mark the location of the differences in the image and present the markings to the user, who can then pay attention to the marked locations and determine whether the differences in the two images reflect real changes between the physical object and its reference model. Involving an inspector in the process of detecting changes significantly improves the accuracy and flexibility of the system in the change detection process. For example, the inspector can change the camera's viewing angle and zoom distance as needed. In addition, the difference in the image may not reflect the actual change due to different lighting conditions, so the inspector needs to check. On the other hand, compared to approaches that rely only on human inspection, the disclosed system can improve the speed and accuracy of detecting changes. Some changes may be too subtle for the inspector to notice. However, the system enhances the inspector's perception by switching the AR overlay on and off in quick succession. In addition, the change detection module, which can automatically calculate the difference between the AR image containing the 3D model and the original image containing the physical object, can significantly increase the inspection efficiency by effectively directing the inspector's attention to potential locations where changes may occur.

[0064] In some embodiments, the AR overlay may be applied locally or remotely to images captured in real time. Alternatively, the AR overlay may be applied to archived images. In other words, a user may remotely inspect a product by streaming a live video of the product, or the user may inspect a product by accessing a previously captured and stored video file. This allows both online and offline inspection of manufactured items.

[0065] The methods and processes described in the Detailed Description section may be embodied as code and / or data that may be stored in a computer-readable storage medium as discussed above. When a computer system reads and executes the code and / or data stored on a computer-readable storage medium, the computer system performs the methods and processes embodied as data structures and code stored in the computer-readable storage medium.

[0066] Additionally, the methods and processes described above may be included in hardware modules or devices, which may include, but are not limited to, application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), dedicated or shared processors that execute specific software modules or codes at specific times, and other programmable logic devices, now known or later developed. When the hardware modules or devices are activated, the methods and processes contained therein are executed.

[0067] The embodiments described herein have been presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Accordingly, many modifications and variations will be apparent to those skilled in the art. Additionally, the above disclosure is not intended to limit the invention. The scope of the invention is defined by the appended claims.

Claims

1. 1. A computer-implemented method for detecting differences between a physical object and a reference model corresponding to the physical object, comprising: acquiring a real world image of the physical object; generating an augmented reality (AR) image by projecting a three-dimensional (3D) overlay generated from the reference model onto the physical object in the real-world image, wherein generating the AR image includes aligning a pose of the reference model to a pose of the physical object; detecting the difference between the physical object and the reference model based on the generated AR image and the real world image; displaying the real world image and the AR image to a user to facilitate the user adding annotations to the real world image or the AR image to indicate a location or a magnitude of the detected difference; A method comprising:

2. The method of claim 1 , wherein aligning the pose of the reference model to the pose of the physical object comprises identifying matching keypoints in the real-world image and in the image generated from the reference model.

3. The method of claim 1 , wherein the real world image and the AR image are alternately displayed to the user.

4. The method of claim 1 , wherein the one or more differences between the AR image and the real world image include color differences, texture differences, or structural differences.

5. Calculating the color difference comprises: calculating a difference in color values ​​between the AR image and the real world image at a pixel level; generating a difference mask by binarizing the differences in the color values; The method of claim 4 , comprising:

6. The method of claim 5 , wherein calculating the color difference further comprises determining a color calibration difference between the AR image and the real world image.

7. Calculating the structural difference comprises: generating an edge map of the AR image and an edge map of the real world image; subtracting the edge maps from each other; The method of claim 4 , comprising:

8. training a recognition engine to recognize the physical objects and the poses of the physical objects in the real world images. The method of claim 1.

9. accessing a model database to obtain a reference model based on the recognized physical object, the model database including one or more of a plurality of computer-aided design (CAD) models, a plurality of 3D meshes, and an image of a reference object; Further including: The method according to claim 8.

10. The method of claim 1 , further comprising outputting a difference file that includes a location, a magnitude, or a type of the detected difference between the physical object and the reference model.

11. 1. A computer system for detecting differences between a physical object and a reference model corresponding to the physical object, comprising: A processor; A storage device coupled to the processor and storing instructions that, when executed by the processor, cause the processor to perform a method, the method comprising: acquiring a real world image of the physical object; generating an augmented reality (AR) image by projecting a 3D overlay generated from the reference model onto the physical object in the real world image, wherein generating the AR image includes aligning a pose of the reference model to a pose of the physical object; detecting the difference between the physical object and the reference model based on the generated AR image and the real world image; displaying the real world image and the AR image to a user to facilitate the user adding annotations to the real world image or the AR image to indicate a location or a magnitude of the detected difference; A storage device including: A computer system comprising:

12. 12. The computer system of claim 11, wherein aligning the pose of the reference model to the pose of the physical object comprises identifying matching keypoints in the real-world image and in the image generated from the reference model.

13. The computer system of claim 11 , wherein the real world image and the AR image are alternately displayed to the user.

14. The computer system of claim 11 , wherein the differences between the AR image and the real world image include color differences, texture differences, or structural differences.

15. Calculating the color difference comprises: calculating a difference in color values ​​between the AR image and the real world image at a pixel level; generating a difference mask by binarizing the differences in the color values; 15. The computer system of claim 14, comprising:

16. The computer system of claim 15 , wherein calculating the color difference further comprises determining a color calibration difference between the AR image and the real world image.

17. Calculating the structural difference comprises: generating an edge map of the AR image and an edge map of the real world image; subtracting the edge maps from each other; 15. The computer system of claim 14, comprising:

18. The method comprises: training a recognition engine to recognize the physical objects and the poses of the physical objects in the real world images.

12. The computer system of claim 11.

19. The method comprises: and accessing a model database to obtain a reference model based on the recognized physical object, the model database including one or more of a plurality of computer-aided design (CAD) models, a plurality of 3D meshes, and an image of a reference object.

20. The computer system of claim 18.

20. The computer system of claim 11 , wherein the method further comprises outputting a difference file that includes a location, a magnitude, or a type of the detected difference between the physical object and the reference model.

Citation Information

Patent Citations

  • Superimposed display method, superimposed display device, and superimposed display program

    JP2017091078A

  • Structure inspection system and inspection method

    JP2019191927A

  • Display control method, information processing device and display control program

    JP2020003995A

  • Method and system for design rule checking for an SiP device

    US20070124709A1

  • Three dimensional image scan for vehicle

    US9824453B1