IDENTIFICATION OF DEVIATIONS IN THE ASSEMBLY OF COMPONENTS

The system addresses unauthorized tampering in product assemblies by generating and comparing component representations to detect deviations, ensuring product integrity and functionality.

DE102022108381B4Active Publication Date: 2026-03-26HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-04-07
Publication Date
2026-03-26

AI Technical Summary

Technical Problem

Products are vulnerable to unauthorized tampering during transportation and handling, leading to deviations from their intended design or composition, which can compromise functionality and authenticity.

Method used

A system and method for generating and comparing representations of component assemblies from multiple information sources to detect deviations, using cameras, image composition, and comparison engines to identify discrepancies in component placement, source, and type.

Benefits of technology

Effectively detects and identifies unauthorized manipulations in product assemblies, ensuring authenticity and functionality by comparing image and reference representations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A non-transitory, machine-readable storage medium (300, 504) containing instructions which, when executed, cause a system (500) to: to receive image data captured by one or more cameras (106, 110) of an assembly with components; to derive a first representation of the assembly based on the image data, wherein the first representation has a format that differs from an image format of the image data, and wherein the first representation includes geometric profiles of the components in the assembly, and geometric information includes coordinates of the geometric profiles, wherein the geometric profiles represent different shapes of the components, the different shapes including a rectangle for a first component and a circle for a second component, and the geometric information for the geometric profile representing the circle for the second component includes a radius of the circle and coordinates of a center point of the circle; to derive a second representation of the assembly based on layout information (210) that represents a layout of components, component placement information (214) that specifies where the components are to be placed in the assembly, and production information that specifies whether an optional section of the assembly is to be populated with components, according to a make-to-order production of the assembly, wherein the second representation includes placement location information and geometric profiles of the components in the assembly; to compare the first representation with the second representation in order to identify a deviation between the first representation and the second representation, the deviation corresponding to a change in the arrangement of the components; and to initiate a measure to eliminate the identified deviation.
Need to check novelty before this filing date? Find Prior Art

Description

background

[0001] Products consist of assemblies of components. Examples of products include electronic devices such as computers, storage media, communication nodes, vehicles, household appliances, and other types of products, whether electronic or non-electronic. US 2017 / 0 256 466 A1 describes an automated optical inspection (AOI) method for semiconductor wafers. DE 10 2016 121 088 A1 describes a system for precisely triggering the image acquisition of an object moving on a conveyor belt. US 2012 / 0 141 011 A1 describes a method for precisely aligning a captured defect image with corresponding design data (CAD layout data). An object of the invention is to propose a non-transient, machine-readable storage medium, a method, and a system for detecting deviations in an assembly of components.This problem is solved by a non-transitory, machine-readable storage medium according to claim 1, a method according to claim 11 and a system according to claim 18 according to the invention. Brief description of the drawings

[0002] Some embodiments of the present disclosure are described with reference to the following figures. Fig. Figure 1 is a block diagram of an exemplary arrangement for comparing representations of an assembly of components in order to identify variations, in accordance with some examples. Fig. Figure 2 is a block diagram for identifying deviations based on a comparison of vector representations generated from different information sources, according to some examples. Fig. Figure 3 is a block diagram of a storage medium that stores machine-readable instructions according to some examples. Fig. Figure 4 is a flowchart of a procedure according to some examples. Fig. Figure 5 is a block diagram of a system according to some examples.

[0003] In the drawings, identical reference numbers denote similar, but not necessarily identical, elements. The illustrations are not necessarily to scale, and the size of some parts may be exaggerated to make the example shown clearer. Furthermore, the drawings contain examples and / or embodiments that correspond to the description; however, the description is not limited to the examples and / or embodiments shown in the drawings. Detailed description

[0004] In this disclosure, the use of the term "a," "an," or "the" includes the plural forms unless the context clearly indicates otherwise. Similarly, the terms "includes," "including," "comprises," "have," or "have," when used in this disclosure, specify the presence of the elements indicated but do not exclude the presence or addition of other elements.

[0005] Supply chains for products can span large geographical regions. In some cases, products may be manufactured in one country and then shipped to another, sometimes crossing a third country (or several) to be transported to customers, retailers, distributors, etc.

[0006] During transport, a product may be outside the direct control of the manufacturer or other entity responsible for it for a relatively long period. In some cases, the manufacturer or other entity may be a contractor for a seller of products, meaning the seller has no direct control over the contractor's facilities. As a result, there can be many opportunities for unauthorized personnel to tamper with the products. In some cases, even employees of the manufacturer or other entity may tamper with the products. Furthermore, products returned to the manufacturer or other entity may have been tampered with.

[0007] Examples of manipulations that can be performed on a product include physical manipulations such as replacing one component with another, removing a component, adding a component, changing the placement of a component, changing electrical conductors (e.g., electrically conductive traces on a circuit board, electrical wires, etc.), cutting electrical conductors, adding an electrical bridge, etc.

[0008] In electronic devices with printed circuit boards (PCBs), manipulating a design associated with the PCB can result in a PCB being built that deviates from its expected design. Other examples of manipulation include altering a bill of materials (BOM) or other document specifying suppliers, components, etc.

[0009] According to some embodiments of the present disclosure, different representations of an assembly of components are derived from different types of information sources, wherein a representation may include any or a combination of an indication of a component's source (e.g., vendor name, serial or other identification number, etc.) of the assembly of components, or placement information of a packaged component (e.g., a component packaged in an encapsulation material) within the assembly. A vendor name may be the name of a company, a person, or other source of the component. The serial number of a component may be a unique sequence of numbers that identifies the component. More generally, the identification information may include any sequence of characters or symbols that enables the unique identification of the component.Placement information can be in the form of geometric coordinates (e.g., in two-dimensional (2D) or three-dimensional (3D) space). If the assembly includes a printed circuit board (PCB), the placement information can include geometric coordinates of the location where the component is placed on the PCB. The different representations are compared to determine any discrepancies between the first and second representations, with the discrepancy representing a change in the assembly.

[0010] Fig. Figure 1 is a block diagram of an example arrangement for generating representations of an assembly of components for comparison in order to identify a deviation in the assembly. A "deviation" in the assembly of components can refer to any aspect of the assembly that differs from a target aspect. An "aspect" of an assembly of components can refer to the presence or absence of a component or group of components, a source or type of a component or group of components, a placement of a component or group of components, a dimension, color, or other property of a component or group of components, etc.

[0011] Examples of deviations include adding a non-compliant component to the assembly, removing an existing component, replacing an existing component with a non-compliant component, adding, removing, or modifying an electrical conductor, and so on. Each of the aforementioned actions constitutes a tampering that could allow an attacker to alter a function of the assembly, gain access to information stored in the assembly, pass off a counterfeit product as a genuine product, etc.

[0012] Fig. Figure 1 shows an example of an arrangement that can be used to detect a deviation in an assembly of components. In the examples according to Fig. 1. The assembly consists of components in the form of a printed circuit board 102, on which various electronic components 104 are mounted. Electrical conductors 105 can also electrically connect the electronic components 104 to one another. The electrical conductors 105 can, for example, be in the form of electrically conductive traces in the printed circuit board 102 and / or electrical wires. The electrical conductors 105 can connect the electronic components 104 to each other or to other components.

[0013] Examples of the electronic components 104 can be any or a combination of the following: a processor, a memory device, a storage device, an input / output device, and so on. Other components may also be present on the printed circuit board 102, including electrically conductive pads, passive components such as resistors, capacitors, inductors, etc.

[0014] In other examples, an assembly of components may differ from a printed circuit board and be part of electronic or non-electronic products.

[0015] A collection of cameras 106 at location 1 can be used to capture images of the circuit board 102. A "collection of cameras" can refer to a single camera or multiple cameras. A "camera" can refer to any image sensor that can be used to capture an image of a target. An image sensor can capture an image in a visible color space or in a color space that is not visible to the human eye, such as an infrared image, an ultraviolet image, an X-ray image, etc. An image sensor can also include a depth sensor that is capable of capturing depth information about a target. Other types of image sensors can also be used in other examples.

[0016] The collection of cameras 106 can accommodate a collection of image tiles 108, each image tile 108 representing a different part of the circuit board 102. Note that the collection of image tiles 108 can refer to a single image tile representing all (or almost all) of the relevant part of the circuit board 102, or to multiple image tiles representing different sections of the relevant part of the circuit board 102. The "relevant part" of the circuit board 102 is the part where an unauthorized modification could allow an attacker to alter the functionality of the assembly, gain access to the information stored in the assembly, pass off a counterfeit product as a genuine product, etc.

[0017] In the examples according to Fig. At location 2, another set of cameras 110 can be used to capture an image of a printed circuit board 102'. Note that locations 1 and 2 can refer to different geographical locations or different parts of a particular facility. For example, location 1 can refer to a manufacturing site where the printed circuit board 102 was assembled. Location 2 can refer to a different location, such as a destination after the printed circuit board 102 has been transported following its manufacture at location 1. The printed circuit board 102' at location 2 can be identical to the printed circuit board 102 or it can be modified. The modification can be the result of manipulation of the printed circuit board 102 at various locations, such as location 1, location 2, or somewhere else between locations 1 and 2.

[0018] Another example: Location 1 could be the location of a manufacturer, distributor, or retailer who delivered a product, including circuit board 102, to a customer. Location 2 could be a return location where the customer returned the product, for example, for maintenance or due to dissatisfaction. Before returning the product, the customer may have tampered with it, which can be detected using techniques or mechanisms as shown in some examples.

[0019] Pages 1 and 2 may refer to other example locations in other examples.

[0020] The collection of cameras 110 at location 2 can similarly generate a collection of image tiles 112.

[0021] In other examples, there may be multiple locations where a collection of cameras can be used to obtain images of assemblies of components, or a collection of cameras at only one location can be used to obtain images of assemblies of components.

[0022] An image composition machine 114 receives the collection of image tiles 108 and creates a composite image 116 based on the combination of the collection of image tiles 108 (by assembling the image tiles 108 of the collection).

[0023] As used here, an “engine” can refer to a hardware processing circuit, which may include any or a combination of a microprocessor, a core of a multi-core microprocessor, a microcontroller, a programmable integrated circuit, a programmable gate array, or other hardware processing circuitry. Alternatively, an “engine” can refer to a combination of a hardware processing circuit and machine-readable instructions (software and / or firmware) that are executable on the hardware processing circuit.

[0024] The image composition machine 114 can apply various types of image composition methods that are able to combine multiple images based on the identification of overlapping areas between different images to create a complete image.

[0025] In examples where the collection of cameras 106 generates an image of the entire relevant part of the circuit board 102, the image composition machine 114 can be omitted.

[0026] The composite image 116 is fed to an image representation generation machine 118, which generates an image representation 1 based on the composite image 116. In some examples, the image representation 1 generated by the image representation generation machine 118 may be a representation in a format other than a standard image format. For example, the image representation 1 may be in the form of a geometric representation, a vector representation, or a voxel representation (voxels representing points of elements in a three-dimensional (3D) space). In such examples, the image representation generation machine 118 converts the composite image 116 into the different format of the image representation 1.

[0027] A geometric representation can identify the geometries of various components of the printed circuit board 102, including electronic components, electrical conductors, and other components. For example, outer profiles of the various components can be created; e.g., rectangles can represent electronic components, lines can represent electrical conductors, etc.

[0028] A vector representation comprises vectors that represent the coordinates of various components on the printed circuit board 102. For example, each vector can indicate that a component has a certain shape (e.g., a triangle, a circle, a rectangle, a line, etc.) and the coordinate (e.g., an XY coordinate) of that component.

[0029] In other examples, the composite image 116 can be provided as image representation 1 without any conversion by the image representation generation engine 118.

[0030] Similarly, the collection of image tiles 112 generated at location 2 can be processed by an image composition machine 120 to generate a composite image 122. The composite image 122 can be processed by an image representation generator 124 to generate an image representation 2, which may have a similar format to image representation 1 (e.g., a geometric representation, a vector representation, or a picture).

[0031] In some examples, the image composition machine 120 may be identical to or different from the image composition machine 114, and the image display generator 124 may be identical to or different from the image display generation machine 118.

[0032] It should be noted that in some examples, the image composition machines 114, 120 and the image display generators 118, 124 can be deployed at locations remote from sites 1 and 2. For example, machines 114, 120, 118, and 124 can be implemented using a collection of servers (a single server or multiple servers), such as web servers, cloud servers, and so on.

[0033] In other examples, the image composition machine 114 and / or the image display generation machine 118 may be located at location 1, and the image composition machine 120 and / or the image display generator 124 may be located at location 2.

[0034] A comparison machine 126 can display different representations of an assembly of components (e.g., the printed circuit board 102 in Fig. 1) Compare to determine if a deviation has occurred in the printed circuit board 102. In some examples, the comparator 126 can compare image representation 1 and image representation 2. In examples where image representation 1 and image representation 2 are the composite images 116 and 122, respectively, the comparator 126 compares two images. The comparator 126 attempts to find any differences between the images to determine if a deviation exists.

[0035] In further examples, the compared image representations 1 and 2 can be geometric representations, vector representations, or other representations.

[0036] In some examples, the comparison machine 126 can compare an image representation (1 and / or 2) with a reference representation 128 generated by a composite representation machine 130, instead of or in addition to comparing image representation 1 and image representation 2. The composite representation machine 130 can obtain information from various sources, including design information 132, production information 134, and customer information 136.

[0037] The composite representation machine 130 can use any or a combination of the different information sources (132, 134 and 138) to generate the reference representation 128, which is to be used by the comparison machine 126 for comparison with image representation 1 and / or image representation 2.

[0038] The design information 132 can contain various types of design information, such as layout information relating to the layout of different components on the printed circuit board 102, schematic information defining a schematic arrangement of the components (e.g., a schematic diagram of the components and connections between the components, etc.), component placement information indicating where different components should be placed on the printed circuit board 102, drilling information indicating where through holes should be drilled on the printed circuit board 102, and a bill of materials listing the various components (e.g., reference identifiers, part numbers, manufacturer identifiers, etc.).) lists the various components to be placed on the printed circuit board 102, information about the supplier, identifying authorized and / or unauthorized suppliers of various components to be placed on the printed circuit board 102, and so on.

[0039] The production information 134 can contain manufacturing information that records batch numbers, date codes, and part identifiers of specific components according to their position on the printed circuit board 102. The manufacturing information can also include information about any approved rework on the printed circuit board, where "rework" refers to any modification of the printed circuit board components that has been approved, for example, to correct bugs, defects, etc.

[0040] Furthermore, production information 134 can indicate whether an optional section (or sections) of the printed circuit board 102 is (or are) populated. An optional section of the printed circuit board 102 is a section where the component placement in that section depends on the configuration of a product being manufactured. For example, one customer might order a product with a first set of features, while a second customer might order a product with a different second set of features. To support the second set of features, an optional section of the printed circuit board 102 can be populated with components, whereas for the first set of features, the optional section does not need to be populated with components. This is an example of a make-to-order production approach.

[0041] The production information 134 may also contain test information, including results of tests performed on the printed circuit board 102. The tests may include operational tests, electrical tests, and / or any other type of test.

[0042] Customer Information 136 contains information about the product requested by the customer. For example, a customer might place an order listing various features they require, such as the type of processor, the number of processors, the storage capacity, etc.

[0043] The machine for generating composite representations 130 generates the reference representation 128 based on any one or a combination of the aforementioned information sources. The reference representation 128 can, for example, be a geometric representation or a vector representation that can be compared with a geometric representation or vector representation in image representation 1 and / or image representation 2.

[0044] In some examples, the machine 130 can generate a geometric representation of the printed circuit board 102 using layout information, schematic information, and component placement information. The layout information, schematic information, and component placement information can be used to determine the positions where the components of the printed circuit board 102 are to be placed, as well as the geometric profiles of the components. Additionally or alternatively, the production information 134 can be used by the machine 130 to generate a geometric representation of the printed circuit board 102. A bill of materials and / or supplier information in the design information 132 can be used to identify the source (e.g., a supplier name, serial number, or other identification information, etc.).to determine the origin of a component (or multiple components) on the printed circuit board 102. Manufacturing information, which records batch numbers, date codes, and part identifiers of specific components according to their positions on the printed circuit board 102 in the production information 134, can also be used to determine the source of a component (or multiple components) on the printed circuit board 102. Furthermore, the customer information 136 from the machine 130 for generating composite representations can be used to determine the origin of a component (or multiple components) on the printed circuit board 102. The reference representation 128 generated by the machine for generating composite representations 130 can contain information that identifies the source of the component(s) on the printed circuit board 102.

[0045] Once a geometric representation of circuit board 102 has been created, a vector representation of circuit board 102 can easily be generated based on this geometric representation. The vector representation contains vectors that correspond to the geometries included in the geometric representation. In other examples, a voxel representation of circuit board 102 can also be generated based on the geometric representation.

[0046] An image (e.g., 116 or 122) generated from the output of a collection of cameras (e.g., 106 or 110) can capture marks on components on the printed circuit board 102, where a mark may contain identification information for a component on the printed circuit board 102 and / or identification information for a supplier who manufactured or supplied the component. These marks captured by a respective collection of cameras (106 or 110) are examples of information that identifies the source(s) of the component(s) on the printed circuit board 102 and can be included in the respective image display 1 or 2. Optical character recognition (OCR) can be applied to the marks captured in the images to derive text that identifies a manufacturer or a component on the printed circuit board 102.

[0047] As described above, the reference representation 128 can also contain information that identifies the sources of various components on the printed circuit board 102. When comparing image representation 1 and / or 2 with the reference representation 128, the comparison machine 126 can identify any discrepancies between the source information of the component(s) in image representation 1 and / or 2 and the reference representation 128.

[0048] Furthermore, image 1 and / or image 2 can contain information about the positions of various components on the printed circuit board 102. The reference image 128 can also identify the positions of various components, e.g., based on one or more combinations of the design information 132 and the production information 134.

[0049] The comparison engine 126 can detect various types of deviations and include information for identifying the deviations in a comparison output 140. For example, the position of a particular component in the image representation (1 or 2) may differ from the position of the corresponding component in the reference representation 128, which may indicate that the component has been moved or changed due to manipulation. As another example, a marker in the image representation that identifies a source of the component(s) may differ from the corresponding source information of the component(s) in the reference representation 128.For example, the marking in the image representation for a specific component on the printed circuit board 102 may identify a first manufacturer or contain initial identification information for that specific component, while the reference representation 128 may identify a different second manufacturer or contain different second identification information for that specific component. This may indicate that the component has been replaced from an authorized component to an unauthorized component.

[0050] Furthermore, the reference representation 128 can contain information on authorized and / or unauthorized suppliers, e.g., based on the supplier information from the design information 132. The comparison engine 126 can use the information on authorized and / or unauthorized manufacturers to determine whether the manufacturers identified in image representation 1 and / or 2 are authorized or unauthorized. If a component on the printed circuit board 102 is from an unauthorized manufacturer, the comparison module 126 can indicate that tampering has occurred.

[0051] As another example, the image representation (1 and / or 2) can indicate the presence of a specific component, such as the number of processors or the number of memory devices. This quantity shown in the image representation may differ from a quantity shown in the reference representation 128. For example, the layout information, schematic information, component placement information, bill of materials, manufacturing information, and customer information may show an initial quantity of a component, while the image representation, due to manipulation, may show a different quantity. As another example, the test information in the production information 134 may show that two processors are present, while the image representation may show that only one processor is present or that more than two processors are present, which may indicate that a processor has been removed or added.

[0052] In other examples, instead of comparing an image representation with the reference representation 128, the reference representation 128 can be compared with a different type of representation. For example, the composite representation generating machine 130 can generate the reference representation 128 based on the design information 132 and / or the production information 134. The composite representation generating machine 130 can generate a different representation based on a different source of information, such as test information, etc. These two representations can be compared by the comparison machine 126 to determine whether a deviation has occurred. For example, the design information 132 may specify a particular design for the printed circuit board 102, but the production information 134 may indicate that the printed circuit board 102 actually built deviates from the target design.

[0053] In further examples, the comparison machine 126 can compare three or more representations that come from different sources of information, e.g., an image representation, a representation based on the design information 132, a representation based on the production information 134, etc.

[0054] Fig. Figure 2 is a block diagram of an example where vector representations are created and compared from two different types of source information. A collection of image tiles 202, captured by a collection of cameras, are combined into a composite image 204. The composite image 204 is subjected to image analysis to identify the outer contours of each component (e.g., components on a printed circuit board represented in the composite image 204). The image analysis can generate geometric shapes to represent the identified outer contours of the components. From the identified geometric shapes (e.g., rectangles, circles, lines, etc.) representing the respective components on the printed circuit board, a geometric representation 206 of the printed circuit board is created. Once the geometric representation 206 is created, vectorization can be applied to convert the geometric shapes (e.g.,to describe rectangles, circles, lines, etc.) in a vector representation 208. Furthermore, the positions of each geometric shape can be identified, and geometric coordinates representing these positions can be added to the vector representation 208. For example, the vector representation 208 can contain a list of vectors, where each vector can specify a geometric shape (e.g., a rectangle, a circle, a line, etc.) representing a component and geometric information about the geometric shape. For a rectangle, the geometric information can specify the coordinates of the four corners of the rectangle. For a circle, the geometric information can specify the coordinates of the circle's center and a radius of the circle. For a line, the geometric information can specify the coordinates of the line's two endpoints.

[0055] The vector representation 208 is a first vector representation. Further vector representations can be created from various information sources, such as layout information 210, drill information 212, and component placement information 214. The layout information 210 specifies a layout of various components on the printed circuit board (PCB). For example, the layout information 210 may contain a digital representation that defines the geometric structures of the various components on the PCB. The drill information 212 indicates where through-holes are to be drilled on the PCB. The component placement information 214 indicates where the various components are to be placed. Any or a combination of the aforementioned information (or other information in other examples) can be used to generate a geometric representation 216 of the PCB.Since the layout information 210, the drill information 212, and the component placement information 214 contain information specifying geometric structures and component positions, the geometric representation 216 can be easily created. The geometric representation 216 can then be vectorized to generate a vector representation 218, which can be compared by the comparison machine 126 with the vector representation 208 to determine any deviation between the vector representations 208 and 218, where the deviation corresponds to a change in the printed circuit board.

[0056] Fig. Figure 3 is a block diagram of a non-transitory machine-readable or computer-readable storage medium 300 according to some examples. The storage medium 300 stores machine-readable instructions which, when executed, cause a system (e.g., a computer or multiple computers) to perform various tasks.

[0057] The machine-readable instructions contain instructions for deriving the first representation 302, in order to derive a first representation of an assembly of components based on a first source of information. The first representation may include a picture representation (e.g., picture representation 1 or 2 in Fig. 1) or be a representation generated by the machine 130 to produce composite representations based on information 132, 134 and 136.

[0058] The machine-readable instructions contain instructions for deriving the second representation 304 to generate a second representation of the assembly of components based on a second information source that is of a different type than the first information source. It should be noted that the first and second representations can have the same format, but they can also have different formats. The second representation contains any or a combination of information about the source of a particular component (e.g., identification information of a supplier or component) of the assembly of components, or location information of a component within the assembly.

[0059] The machine-readable instructions contain comparison instructions 306 to compare the first representation with the second representation in order to identify any discrepancy between the first representation and the second representation, the discrepancy being a change in the assembly of components.

[0060] The machine-readable instructions contain instructions for initiating Action 308 to take corrective action for the detected deviation. The action may include, for example, notifying an administrator or other party, triggering a review, disabling a component assembly operation, interrupting further assembly, etc.

[0061] In some examples, the second source of information (e.g., a bill of materials, supplier information, shop information, lot numbers, date codes, part identifiers, etc.) includes any or a combination of an identifier of a supplier of a component or an identifier relating to a component (e.g., a serial number or other component identification information).

[0062] In some examples, the second source of information (e.g., information about component placement, drilling information, lot numbers, date codes, part identifiers, etc.) identifies the positions of the components in the assembly.

[0063] In some examples, the first representation corresponds to a first stage (e.g., design stage) of the assembly of components, and the second representation corresponds to another second stage (e.g., production stage) of the assembly of components.

[0064] In some examples, the machine-readable instructions can derive a third representation of the assembly of components based on test data relating to testing the assembly of components, and compare the first representation with the third representation to identify any discrepancy between the first and third representations, where the discrepancy between the first and third representations corresponds to a change in the assembly of components.

[0065] Fig. Figure 4 is a flowchart of a Process 400 according to some examples. Process 400 involves the derivation (in Figure 402) (for example, by a system with a hardware processor) of an initial representation of an assembly of components based on an initial information source. The initial representation may, for example, include an image.

[0066] Process 400 involves deriving (at 404) a second representation of the assembly of components (e.g., by the system) based on a second information source that is of a different type than the first information source, where the second information source contains test data related to the inspection of the assembly of components. In some examples, the test data indicates the presence or absence of a particular component, and the first representation contains information that does not match the information in the test data.

[0067] Process 400 involves comparing (at 406) (e.g. by the system) the first representation with the second representation to identify any deviation between the first representation and the second representation, where the deviation corresponds to a change in the arrangement of the components.

[0068] Process 400 includes the initiation (at 408) of an action (e.g. by the system) to correct the identified deviation.

[0069] Fig. Figure 5 is a block diagram of a System 500 containing a hardware processor 502 (or multiple hardware processors). A hardware processor can include a microprocessor, a core of a multi-core microprocessor, a microcontroller, a programmable integrated circuit, a programmable gate array, or other hardware processing circuitry.

[0070] The System 500 includes a storage medium 404 on which machine-readable instructions are stored that can be executed on the hardware processor 502 to perform various tasks. Machine-readable instructions executable on a hardware processor can refer to instructions that can be executed on a single hardware processor or on multiple hardware processors.

[0071] The machine-readable instructions in the storage medium 504 contain initial instructions for deriving a representation 506 to derive an initial representation of an assembly of components based on an initial information source, wherein the initial information source contains a collection of images of the assembly of components and the collection of images contains a marker on a particular component of the assembly of components.

[0072] The machine-readable instructions in the storage medium 504 contain instructions for deriving a second representation 508 to derive a second representation of the assembly of components based on a second source of information of a different type than the first source of information, wherein the second representation contains a specification of a source of the given component of the assembly of components.

[0073] The machine-readable instructions in the storage medium 504 contain representation comparison instructions 510 to compare the first representation with the second representation in order to identify a discrepancy between the mark and the specification, the discrepancy corresponding to a change in the assembly of components.

[0074] The machine-readable instructions on the storage medium 504 contain instructions for initiating measures 512 to take action to correct the detected deviation.

[0075] A storage medium (e.g., 500 in Fig. 3 or Fig. 504 in Fig.5) may include any or a combination of the following: a semiconductor storage device such as dynamic or static random-access memory (DRAM or SRAM), erasable and programmable read-only memory (EPROM), electrically erasable and programmable read-only memory (EEPROM), and flash memory; a magnetic disk such as a hard disk, floppy disk, and removable disk; another magnetic medium, including tape; an optical medium such as a compact disc (CD) or digital video disc (DVD); or another type of storage device. It should be noted that the instructions described above may be provided on a single computer- or machine-readable storage medium or, alternatively, on multiple computer- or machine-readable storage media distributed throughout a large system, possibly with multiple nodes.Such a computer-readable or machine-readable storage medium or media are considered part of an article (or a manufactured item). An article or manufactured item may refer to any single manufactured component or to multiple components. The storage medium or media may be located either in the machine on which the machine-readable instructions are executed or at a remote location from which machine-readable instructions can be downloaded for execution over a network.

[0076] The foregoing description includes numerous details to provide an understanding of the subject matter disclosed herein. However, implementations may be practiced without some of these details. Other implementations may include modifications and deviations from the details described above. It is intended that the accompanying claims cover such modifications and variations. Reference symbol list: 102, 102' circuit board 104 electronic components 105 electrical conductors 106, 110 Collection of cameras 108, 112, 202 Collection of image tiles 114 Image Composition Machine 116, 122, 204 composite image 118 Machine for generating image representations 120 Image Composition Machine 124 Image Display Generator 126 comparison machine 128 Reference representation 130 Machine for generating composite representations 132 construction information 134 Production Information 136 customer information 140 comparative edition 206 geometric representation 208, 218 Vector representation 210 Layout information 212 Drilling Information 214 Component Placement Information 216 geometric representation 300, 504 storage medium 302 Instructions for deriving the first representation 304 Instructions for deriving the second representation 306 Comparison Instructions 308 Instructions for initiating measures 402 Derivation of a first representation of an assembly of components based on a first source of information 404 Deriving a second representation of the assembly of components based on a second source of information 406 Comparing the first representation with the second representation to identify any discrepancy between the first representation and the second representation 408 Initiating a measure to correct the identified deviation 500 System 502 Hardware processor 506 First instructions for deriving a representation 508 Instructions for deriving a second representation 510 Display comparison instructions

Claims

[1] A non-transitory, machine-readable storage medium (300, 504) containing instructions which, when executed, cause a system (500) to: to receive image data captured by one or more cameras (106, 110) of an assembly with components; to derive a first representation of the assembly based on the image data, wherein the first representation has a format that differs from an image format of the image data, and wherein the first representation includes geometric profiles of the components in the assembly, and geometric information includes coordinates of the geometric profiles, wherein the geometric profiles represent different shapes of the components, the different shapes including a rectangle for a first component and a circle for a second component, and the geometric information for the geometric profile representing the circle for the second component includes a radius of the circle and coordinates of a center point of the circle; to derive a second representation of the assembly based on layout information (210) that represents a layout of components, component placement information (214) that specifies where the components are to be placed in the assembly, and production information that specifies whether an optional section of the assembly is to be populated with components, according to a make-to-order production of the assembly, wherein the second representation includes placement location information and geometric profiles of the components in the assembly; to compare the first representation with the second representation in order to identify a deviation between the first representation and the second representation, the deviation corresponding to a change in the arrangement of the components; and to initiate a measure to eliminate the identified deviation. [2] Non-transitory, machine-readable storage medium (300, 504) according to claim 1, wherein the second representation is further derived on the basis of schematic information that defines a schematic arrangement of the components in the assembly. [3] Non-transitory, machine-readable storage medium (300, 504) according to claim 1, wherein the second representation is further derived on the basis of information that identifies rework including an approved change of the components in the assembly. [4] Non-transient, machine-readable storage medium (300, 504) according to claim 1, wherein the second representation is further derived on the basis of drilling information (212) indicating where holes are drilled into a printed circuit board (102, 102') of the assembly. [5] Non-transient, machine-readable storage medium (300, 504) according to claim 1, wherein the image data comprises composite image data generated by combining a plurality of image tiles (108, 112, 202) taken by respective cameras (106, 110) of different parts of the arrangement. [6] Non-transitory, machine-readable storage medium (300, 504) according to claim 1, wherein the first representation corresponds to a first stage of the assembly and the instructions during execution cause the system (500) to: to derive a third representation corresponding to another second stage of the assembly, wherein the third representation is based on further image data acquired by one or more cameras (106, 110) of the second stage, and to compare the first representation and the third representation in order to identify any discrepancies between the first representation and the third representation. [7] Non-transitory, machine-readable storage medium (300, 504) according to claim 1, wherein the first representation and the second representation comprise different vector representations (208, 218) of the assembly. [8] Non-transitory, machine-readable storage medium (300, 504) according to claim 1, wherein the first representation comprises a plurality of vectors, each vector of the plurality of vectors specifying a respective geometric profile of the geometric profiles and geometric information of the respective geometric profile. [9] Non-transitory, machine-readable storage medium (300, 504) according to claim 1, wherein the first representation comprises a mark on a given component in the assembly, wherein the mark is provided in the image data and indicates a vendor of the given component, wherein the second representation comprises identifiers of sources of the components in the assembly, wherein the identifiers are derived on the basis of vendor information that identifies vendors of the components in the assembly, and wherein the comparison comprises comparing the mark with the identifiers of the sources of the components included in the second representation. [10] Non-transitory, machine-readable storage medium (300, 504) according to claim 1, wherein the second representation is further derived on the basis of test data relating to testing the components in the assembly, and the second representation contains a set of a given component type in the assembly which is determined on the basis of the test data, wherein the comparison is further based on the set of the given component type in the assembly which is determined on the basis of the test data. [11] A procedure comprising the following: Receiving image data of an assembly, captured by one or more cameras (106, 110) of an assembly with components, by a system (500) with a hardware processor (502); Deriving a first representation of the assembly by the image data-based system (500), wherein the first representation has a format different from an image format of the image data, and the first representation includes geometric profiles of the components in the assembly and geometric information including coordinates of the geometric profiles, wherein the geometric profiles represent different shapes of the components, the different shapes including a rectangle for a first component and a circle for a second component, and the geometric information for the geometric profile including the circle for the second component including a radius of the circle and coordinates of a center point of the circle; Deriving a second representation of the assembly by the system (500) based on layout information (210) representing a layout of components and component placement information (214) indicating where the components are to be placed in the assembly, wherein the second representation includes placement location information and geometric profiles of the components in the assembly, wherein the first representation and the second representation include different vector representations (208, 218) of the assembly and the first representation includes a plurality of vectors, and wherein each vector of the plurality of vectors includes a respective geometric profile of the geometric profiles in the first representation and geometric information of the respective geometric profile; Comparing the first representation with the second representation by the system (500) to identify a deviation between the first representation and the second representation, the deviation corresponding to a change in the arrangement; and Initiate a measure to correct the detected deviation by the system (500). [12] Method according to claim 11, wherein the second representation is further derived on the basis of test data indicating the presence or absence of a particular component, and the first representation contains information that does not correspond to the indication of the presence or absence of the given component by the test data, and wherein the test data relates to testing the components in the assembly. [13] Method according to claim 11, wherein the second representation is further derived on the basis of schematic information that defines a schematic arrangement of the components in the assembly. [14] Method according to claim 11, wherein the second representation is further derived on the basis of information that identifies rework including an approved modification of the components in the assembly. [15] The method according to claim 11, wherein the second representation is further derived on the basis of drilling information (212) indicating where holes are drilled in a printed circuit board (102, 102') of the assembly. [16] Method according to claim 15, wherein the image data comprises composite image data generated by combining a plurality of image tiles (108, 112, 202) taken by respective cameras (106, 110) of different parts of the arrangement. [17] The method according to claim 11, wherein the second representation is further derived on the basis of production information indicating whether an optional section of the assembly is fitted with components according to a make-to-order production of the assembly. [18] A system (500) comprising the following: a hardware processor (502); and a non-transient storage medium (300, 504) that stores instructions that can be executed on the hardware processor (502), for: Receiving image data acquired by one or more cameras (106, 110) of a printed circuit board (102, 102') with components; deriving a first representation of the printed circuit board (102, 102') based on the image data, wherein the first representation has a format different from an image format of the image data, and wherein the first representation includes geometric profiles of the components in the printed circuit board (102, 102'), and geometric information includes coordinates of the geometric profiles, wherein the geometric profiles represent different shapes of the components, the different shapes including a rectangle for a first component and a circle for a second component, and the geometric information for the geometric profile representing the circle for the second component includes a radius of the circle and coordinates of a center point of the circle; Deriving a second representation of the printed circuit board (102, 102') based on layout information (210) representing a layout of components, component placement information (214) indicating where the components are to be placed in the printed circuit board (102, 102'), wherein the second representation includes information on the placement location and geometric profiles of the components on the printed circuit board (102, 102'), wherein the first representation and the second representation include different vector representations (208, 218) of the printed circuit board (102, 102') and the first representation includes a plurality of vectors, and wherein each vector of the plurality of vectors indicates a respective geometric profile of the geometric profiles in the first representation and geometric information of the respective geometric profile; Comparing the first representation with the second representation to determine a deviation between the first representation and the second representation, wherein the deviation corresponds to a change in the printed circuit board (102, 102'); and Initiate a measure to eliminate the identified deviation. [19] System (500) according to claim 18, wherein the second representation is further derived on the basis of schematic information defining a schematic arrangement of the components on the printed circuit board (102, 102') and drilling information (212) indicating where holes are drilled into the printed circuit board (102, 102'). [20] System (500) according to claim 18, wherein the second representation is further derived on the basis of production information indicating whether an optional section of the printed circuit board (102, 102') is populated with components according to a made-to-order production of the printed circuit board (102, 102').

Citation Information

Patent Citations

  • systems and methods with predictive motion control

    DE102016121088A1

  • Testing for coating faults, comprises heating the coated component, allowing it to cool, taking a thermal image and comparing the image with a known fault-free coating image

    DE10202792A1

  • Methods and apparatus to detect anomalies of a monitored system

    US10802942B2

  • Drill hole inspection method for printed circuit board fabrication

    US20050190959A1

  • Defect image processing apparatus, defect image processing method, semiconductor defect classifying apparatus, and semiconductor defect classifying method

    US20120141011A1