WO2022244616A1 - 検査装置、コンピュータプログラム、および、検査方法 - Google Patents

検査装置、コンピュータプログラム、および、検査方法 Download PDF

Info

Publication number
WO2022244616A1
WO2022244616A1 PCT/JP2022/019288 JP2022019288W WO2022244616A1 WO 2022244616 A1 WO2022244616 A1 WO 2022244616A1 JP 2022019288 W JP2022019288 W JP 2022019288W WO 2022244616 A1 WO2022244616 A1 WO 2022244616A1
Authority
WO
WIPO (PCT)
Prior art keywords
captured image
label
dimension
component
data
Prior art date
Application number
PCT/JP2022/019288
Other languages
English (en)
French (fr)
Inventor
祥司 尾野藤
Original Assignee
ブラザー工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2022009941A external-priority patent/JP2022179314A/ja
Application filed by ブラザー工業株式会社 filed Critical ブラザー工業株式会社
Publication of WO2022244616A1 publication Critical patent/WO2022244616A1/ja
Priority to US18/504,328 priority Critical patent/US20240078658A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0006Industrial image inspection using a design-rule based approach
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G06T5/80
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/225Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/42Document-oriented image-based pattern recognition based on the type of document
    • G06V30/422Technical drawings; Geographical maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Definitions

  • the present specification relates to a technique for inspecting the arrangement position of a component that constitutes a part of an object using captured image data, for example, a technique for inspecting the affixed position of a label affixed to a product using captured image data. .
  • the application state inspection device disclosed in Patent Document 1 uses image data obtained by imaging the work with an imaging device to inspect the application state of a sealing material applied to the work.
  • the application state inspection device specifies the application area in the imaged image, and specifies the center line of the application area as the application trajectory.
  • the inspection device determines a reference point and a reference direction of the application trajectory based on the center of gravity of the application area, and corrects the positional deviation between the application trajectory and the reference application trajectory using the reference point and the reference direction. . After correcting the positional deviation, the inspection device compares the coating trajectory with the reference coating trajectory to determine whether the coating state is normal.
  • the object is to determine whether the shape of the application area itself is normal or not, and the correction of the positional deviation is performed to correct the deviation of the positional relationship between the imaging device and the workpiece. ing. For this reason, even if the above technique is applied to inspect the sticking position of the label stuck to the product, it cannot be said that the inspection of the sticking position of the label can be easily executed.
  • Such a problem is not limited to the case of inspecting the affixed position of a label affixed to a product, but is generally a common problem in the case of inspecting the arrangement position of a component that constitutes a part of an object. .
  • This specification discloses a technique for inspecting the arrangement position of a component that constitutes a part of an object, for example, a technique for easily inspecting the affixed position of a label affixed to a product.
  • An inspection device for inspecting the attachment position of a label affixed to a product, wherein a drawing of a portion including at least the label of the product with the label affixed to a specific affixing position is provided.
  • a drawing acquisition unit that acquires drawing data indicated by the drawing;
  • a drawing label identification unit that identifies the label in the drawing using the drawing data;
  • a reference part of the product in the drawing using the drawing data a reference position specifying unit for specifying a position, wherein the reference part is a reference part for specifying the specific pasting position of the label on the product; and the drawing data.
  • the dimension information is information that defines the positional relationship between the reference portion and the specific attachment position, and includes the tolerance of the specific attachment position, the dimension acquisition unit, and the product with the label attached.
  • the captured image indicated by the captured image data includes a portion of the product that includes at least the label.
  • the position of attaching the label in the captured image is determined. and a position determination unit that determines whether or not it is the specific sticking position defined by the dimension information.
  • the position of the reference part of the product in the drawing and the label in the drawing are specified using the drawing data, and the positional relationship between the reference part and the specific pasting position is defined using these identification results.
  • FIG. 2 An inspection apparatus for inspecting arrangement positions of constituent parts that constitute a part of an object, wherein at least the constituent parts of the object in which the constituent parts are arranged in specific arrangement positions are inspected.
  • a drawing acquisition unit that acquires drawing data indicating a drawing of a part that includes a drawing
  • a drawing configuration part specifying unit that specifies the configuration part in the drawing using the drawing data
  • a reference position specifying unit for specifying a position of a reference part of the object, wherein the reference part is a part that serves as a reference for specifying the specific arrangement position of the component with respect to the object
  • the dimension information is information that defines a positional relationship between the reference part and the specific arrangement position, and includes a tolerance of the specific arrangement position
  • a captured image acquisition unit configured to acquire captured image data obtained by capturing an image of the object in which the the captured image acquiring unit including the portion containing the a reference part specifying unit for specifying the reference part of the object, a result of specifying the component part in the captured image, a result of specifying the position of the reference part in the captured image, and the dimension information
  • a position determination unit that determines whether or not the arrangement position of the component in the captured image is the specific arrangement position defined by the dimension information.
  • the position of the reference part of the object in the drawing and the configuration part in the drawing are specified using the drawing data, and the positional relationship between the reference part and the specific arrangement position is determined using these identification results. Get the specified dimension information. Then, the captured image data is used to specify the component and the reference part in the captured image, and the result of the specification and the dimension information are used to determine whether or not the arrangement position of the component is the specific arrangement position. do. As a result, by using the drawing data and the captured image data, it is possible to easily inspect the arrangement positions of the components forming part of the object.
  • an inspection device an inspection method, a computer program for realizing these devices and methods, It can be realized in the form of a recording medium or the like.
  • FIG. 1 is a block diagram showing the configuration of an inspection system of this embodiment;
  • FIG. A perspective view of a workpiece.
  • the figure which shows an example of drawing. 4 is a flowchart of examination preparation processing;
  • FIG. 4 is a diagram showing an example of a captured image indicated by captured image data;
  • 8 is a flowchart of inspection processing in the second embodiment; Explanatory drawing of the inspection process of 2nd Example.
  • FIG. 1 is a block diagram showing the configuration of an inspection system 1000 of this embodiment.
  • the inspection system 1000 includes an inspection device 100 and an imaging device 400 .
  • the inspection device 100 and the imaging device 400 are communicably connected.
  • the inspection device 100 is, for example, a computer such as a personal computer.
  • the inspection apparatus 100 includes a CPU 110 as a controller of the inspection apparatus 100, a volatile storage device 120 such as a RAM, a nonvolatile storage device 130 such as a hard disk drive, an operation unit 150 such as a mouse and a keyboard, and a liquid crystal display.
  • a display unit 140 and a communication unit 170 are provided.
  • the communication unit 170 includes a wired or wireless interface for communicably connecting to an external device such as the imaging device 400 .
  • the volatile storage device 120 provides a buffer area for temporarily storing various intermediate data generated when the CPU 110 performs processing.
  • the nonvolatile storage device 130 stores a computer program PG for the inspection device.
  • the computer program PG is provided by the manufacturer of the inspection device 100, for example.
  • the computer program PG may be provided, for example, in the form of being downloaded from a server, or may be provided in the form of being stored in a DVD-ROM or the like.
  • the CPU 110 executes an inspection preparation process and an inspection process, which will be described later, by executing the computer program PG.
  • the imaging device 400 is a digital camera that generates image data representing a subject (also called captured image data) by optically capturing an image of the subject.
  • the imaging device 400 generates captured image data and transmits it to the inspection device 100 under the control of the inspection device 100 .
  • the imaging device 400 is used to capture an image of the product 300 to be inspected in the inspection process and generate captured image data representing the captured image including the appearance of the product 300 .
  • FIG. 2 is a perspective view of the product 300.
  • FIG. The product 300 is a printer having a substantially rectangular parallelepiped housing 30 in this embodiment.
  • rectangular labels L1 and L2 are attached to predetermined positions on the front surface 31 (the surface on the -Y side) and the right side surface 32 (the surface on the +X side) of the housing 30, respectively.
  • These labels L1 and L2 describe various information such as the brand logo of the manufacturer and the product, the model number, and the lot number, for example.
  • the non-volatile storage device 130 further stores drawing data DD1 and DD2.
  • Drawing data DD1 and DD2 are image data representing drawings DI1 and DI2, respectively.
  • the drawing data is bitmap data representing an image including a plurality of pixels, and more specifically, RGB image data representing the color of each pixel using RGB values.
  • the RGB values are tone values of three color components (hereinafter also referred to as component values), that is, color values in the RGB color system including R, G, and B values.
  • the R value, G value, and B value are, for example, gradation values of a predetermined number of gradations (eg, 256).
  • FIG. 3 is a diagram showing an example of a drawing.
  • Drawings DI1 and DI2 are drawings used for instructions for the process of attaching labels L1 and L2.
  • Drawing DI1 includes a diagram BP1 of the portion of front face 31 of housing 30 that includes label L1.
  • the label illustrated in the diagram BP1 is also called a label BL1 by adding "B" to the actual label L1.
  • the front surface of the housing illustrated in the diagram BP1 is also referred to as a front surface B31 by adding "B" to the reference numeral of the front surface 31 of the real thing.
  • Diagram BP1 further includes extension lines A11a, A12a, A11b, and A12b for defining the position of label L1 with respect to housing 30, dimension lines E1a and E1b, numerical values N1a and N1b, and arrows R1a and R1b. , contains
  • the extension line A11a is a straight line that touches the right end of the label BL1 and indicates the horizontal position of the right end of the label BL1.
  • the extension line A12a is a straight line drawn on the reference portion BS1a of the front surface B31 and indicates the horizontal position of the reference portion BS1a.
  • a reference portion BS1a of the diagram BP1 corresponds to the reference portion S1a of the housing 30 (FIG. 2).
  • the reference portion is a portion used as a reference for defining the label sticking position.
  • the reference part is a characteristic part that appears in the appearance of the housing 30, and for example, constitutes the boundary between a plurality of parts that constitute the housing 30, the design of the housing 30, and the outline of the housing 30.
  • the dimension line E1a is a straight line associated with the two extension lines A11a and A12a. Specifically, the dimension line E1a perpendicularly intersects the two extension lines A11a and A12a.
  • a pair of arrows R1a is added to the intersection of the dimension line E1a and the two extension lines A11a and A12a.
  • the arrow R1a is a kind of terminal symbol.
  • a numerical value N1a is a numerical value associated with the dimension line E1a and is located near the dimension line E1a.
  • the extension line A11b is a straight line that touches the lower end of the label BL1 and indicates the vertical position of the lower end of the label BL1.
  • the extension line A12b is a straight line drawn on the reference portion BS1b of the front surface B31 and indicates the vertical position of the reference portion BS1b.
  • the reference portion BS1b of the front surface B31 corresponds to the reference portion S1b of the housing 30 (FIG. 2).
  • the reference part S1b is a characteristic part appearing in the outer appearance of the housing 30, like the reference part S1a.
  • the two extension lines A11b and A12b extend horizontally and are parallel to each other.
  • the dimension line E1b is a straight line associated with the two extension lines A11b and A12b.
  • the dimension line E1b perpendicularly intersects the two extension lines A11b and A12b.
  • a pair of arrows R1b are added to the intersections of the dimension line E1b and the two extension lines A11b and A12b.
  • a numerical value N1b is a numerical value associated with the dimension line E1b, and is located near the dimension line E1b.
  • the drawing DI2 includes a diagram BP2 of the portion of the right side surface 32 of the housing 30 that includes the label L2.
  • the label illustrated in the diagram BP2 is also referred to as a label BL2 by adding "B" to the actual label L2.
  • the right side surface of the housing 30 illustrated in the diagram BP2 is also referred to as a right side surface B32 by adding "B" to the reference numeral of the actual right side surface 32.
  • Diagram BP2 further includes extension lines A21a, A22a, A21b, and A22b for defining the position of label L2 with respect to housing 30, dimension lines E2a and E2b, numerical values N2a and N2b, and arrows R2a and R2b. , contains
  • the extension line A21a is a straight line that touches the right end of the label BL2 and indicates the horizontal position of the right end of the label BL2.
  • the dimension extension line A22a is a straight line drawn on the reference portion BS2a of the right side surface B32 and indicates the horizontal position of the reference portion BS2a.
  • a reference portion BS2a of the drawing DI2 corresponds to the reference portion S2a of the housing 30 (FIG. 2).
  • the reference part S ⁇ b>2 a is a characteristic part that appears in the appearance of the housing 30 , and is, for example, a line forming the outline of the housing 30 .
  • the two extension lines A21a and A22a extend vertically and are parallel to each other.
  • the dimension line E2a is a straight line associated with the two extension lines A21a and A22a. Specifically, the dimension line E1a perpendicularly intersects the two extension lines A21a and A22a. A pair of arrows R2a is added to the intersection of the dimension line E2a and the two extension lines A21a and A22a.
  • a numerical value N2a is a numerical value associated with the dimension line E2a and is located near the dimension line E2a.
  • the extension line A21b is a straight line that touches the upper end of the label BL2 and indicates the vertical position of the upper end of the label BL2.
  • the dimension extension line A22b is a straight line drawn on the reference portion BS2b of the right side surface B32 and indicates the vertical position of the reference portion BS2b.
  • a reference portion BS2b of the drawing DI2 corresponds to the reference portion S2b of the housing 30 (FIG. 2).
  • the two extension lines A21b and A22b extend horizontally and are parallel to each other.
  • the dimension line E2b is a straight line associated with the two extension lines A21b and A22b. Specifically, the dimension line E2b perpendicularly intersects the two extension lines A21b and A22b.
  • a pair of arrows R2b are added to the intersections of the dimension line E2b and the two extension lines A21b and A22b.
  • a numerical value N2b is a numerical value associated with the dimension line E2b and is located near the dimension line E2b.
  • the inspection preparation process is a process of obtaining dimension information used in an inspection process, which will be described later, using the drawing data DD1 and DD2.
  • the inspection preparation process is executed prior to the inspection process.
  • FIG. 4 is a flowchart of inspection preparation processing.
  • the CPU 110 selects one drawing data of interest from the drawing data DD1 and DD2 stored in the nonvolatile storage device .
  • drawing data DD1 indicating the drawing DI1 in FIG.
  • the CPU 110 identifies the label in the drawing indicated by the drawing data of interest (also called drawing of interest). For example, if the drawing of interest is the drawing DI1 in FIG. 3A, the label BL1 in the drawing DI1 is identified. For example, the CPU 110 displays the drawing DI1 on the display unit 140. FIG. The operator uses a predetermined pointing device to specify the position of the label BL1 on the displayed drawing DI1. The CPU 110 analyzes the vicinity of the designated position in the drawing DI1 to identify a rectangle containing the designated position. A known closed figure search process is used as the identification method. Alternatively, a technique such as pattern matching or image recognition processing using a machine learning model may be used.
  • the CPU 110 identifies a dimension extension line in contact with the label identified in the drawing of interest. For example, if the drawing of interest is the drawing DI1 in FIG. 3A, extension lines A11a and A11b contacting the label L1 are identified. For example, the CPU 110 identifies the dimension extension line A11a extending in the vertical direction by searching for straight lines extending in the vertical direction near the left and right ends of the identified label L1. Furthermore, the CPU 110 identifies a horizontally extending extension line A11b by searching for a straight line extending horizontally near the upper and lower ends of the identified label L1.
  • the CPU 110 identifies a dimension extension line paired with the dimension extension line that touches the label of the drawing of interest. For example, if the drawing of interest is the drawing DI1 in FIG. 3A, a pair of extension lines is specified for each of the two extension lines A11a and A11b in contact with the label L1. Specifically, the CPU 110 searches for a straight line parallel to the dimension extension line A11a in a direction away from the label BL1 (to the right in FIG. 3A), starting from the position of the dimension extension line A11a that has already been specified. do. As a result, the dimension extension line A12a paired with the dimension extension line A11a is specified.
  • Specifying the extension line A12a is equivalent to specifying the horizontal position of the corresponding reference portion BS1a. Furthermore, the CPU 110 searches for a straight line parallel to the specified extension line A11b in a direction away from the label BL1 (downward in FIG. 3A), starting from the position of the extension line A11b that has already been specified. As a result, the dimension extension line A12b paired with the dimension extension line A11b is specified. Specifying the extension line A12b is equivalent to specifying the vertical position of the corresponding reference part BS1b.
  • the CPU 110 identifies an arrow associated with the dimension extension line that has already been identified in the drawing of interest. If the drawing of interest is the drawing DI1 in FIG. 3A, the arrows associated with the extension lines A11a, A12a, A11b, and A12b are specified. Specifically, the CPU 110 identifies a pair of arrows R1a by searching for arrows along each of the extension lines A11a and A12a. Furthermore, the CPU 110 identifies a pair of arrows R1b by searching for arrows along each of the extension lines A11b and A12b.
  • the CPU 110 identifies the dimension line associated with the identified arrow in the target drawing.
  • the drawing of interest is drawing DI1 in FIG. 3A
  • dimension lines E1a and E1b associated with arrows R1a and R1b are identified.
  • the CPU 110 identifies the dimension line E1a by searching for a straight line connecting the pair of arrows R1a.
  • the CPU 110 identifies the dimension line E1b by searching for a straight line connecting the pair of arrows R1b.
  • the CPU 110 identifies numerical values associated with the dimension lines that have already been identified in the drawing of interest.
  • the drawing of interest is the drawing DI1 in FIG. 3A
  • the CPU 110 specifies the numerical value N1a by searching for numerical values along the dimension line E1a.
  • the CPU 110 identifies the numerical value N1b by searching for numerical values along the dimension line E1b.
  • the CPU 110 acquires horizontal and vertical dimension information based on the specified numerical values. Get horizontal and vertical dimension information.
  • the horizontal dimension information indicates the design value and tolerance of the horizontal dimension between either the left or right edge of the label and the reference portion located on either the left or right side of the label.
  • the vertical dimension information indicates the design value and tolerance of the vertical dimension between one of the vertical edges of the label and one of the reference portions located above and below the label.
  • the drawing of interest is the drawing DI1 in FIG. to recognize the contents of the numerical values N1a and N1b.
  • Numerical values N1a and N1b are described, for example, according to a predetermined format of “design value ⁇ crossing (unit: mm)”.
  • the CPU 110 acquires the dimension information of the dimension d1a (FIG. 2) in the horizontal direction (X direction in FIG. 2) between the right end of the label L1 and the reference portion S1a.
  • the CPU 110 acquires dimension information of the dimension d1b (FIG. 2) in the vertical direction (Z direction in FIG. 2) between the lower end of the label L1 and the reference portion S1b.
  • the CPU 110 registers the acquired horizontal and vertical dimension information. For example, if the drawing of interest is the drawing DI1 in FIG. 3A, the horizontal and vertical dimension information is stored in the non-volatile storage device 130 in association with the drawing data DD1.
  • the CPU 110 determines whether or not all drawing data have been processed. When all the drawing data have been processed (S145: YES), the CPU 110 terminates the inspection preparation process. If there is unprocessed drawing data (S145: NO), the CPU 110 returns to S100.
  • the horizontal and vertical dimension information corresponding to the label L1 is registered with the drawing data DD1 as the processing target, as described above.
  • a similar process is performed on the drawing data DD2 to register the horizontal and vertical dimension information corresponding to the label L2.
  • the horizontal dimension information corresponding to the label L2 indicates the designed value and tolerance of the horizontal (Y direction in FIG. 2) dimension d2a (FIG. 2) between the right end of the label L2 and the reference portion S2a.
  • the vertical dimension information corresponding to the label L2 indicates the designed value and tolerance of the vertical dimension (Z direction in FIG. 2) d2b (FIG. 2) between the upper end of the label L2 and the reference portion S2b.
  • the inspection process is a process of inspecting whether or not the labels L1 and L2 attached to the product 300 are attached to specific attachment positions.
  • the specific sticking positions of the labels are the positions indicated by the instructions for the sticking process of the labels L1 and L2, that is, the positions shown in the above drawings DI1 and DI2.
  • FIG. 5 is a flowchart of inspection processing.
  • the inspection process is executed for each product, and is started, for example, in a state where the product is placed at a predetermined position that can be imaged using the imaging device 400 .
  • the CPU 110 selects one attention label from the labels L1 and L2 (FIG. 2) to be inspected.
  • L1 and L2 FOG. 2
  • the CPU 110 acquires captured image data representing a captured image including the attention label.
  • the imaging device 400 includes a first imaging device (not shown) that images a portion including the label L1 on the front surface 31 of the housing 30 in the imaging direction AR1 of FIG. and a second imaging device (not shown) that captures an image of the portion including the label L2 of the right side 32 of the .
  • the imaging direction AR1 is the +Y direction
  • the imaging direction AR2 is the -X direction.
  • the CPU 110 transmits an imaging instruction to the first imaging device and acquires captured image data from the first imaging device.
  • the captured image data is bitmap data representing an image including a plurality of pixels. Specifically, it is RGB image data representing the color of each pixel using RGB values.
  • the distortion correction processing includes, for example, trapezoidal distortion correction processing and lens distortion correction processing.
  • Keystone distortion correction processing is processing for correcting distortion of a subject in a captured image due to a shooting angle.
  • Trapezoidal distortion correction processing is performed using a known algorithm, for example, the projective transformation function of openCV.
  • Lens distortion correction processing is processing for correcting distortion that occurs in the subject of the captured image due to the lens of the imaging device.
  • the lens distortion correction process is performed using a known algorithm, for example, the distortion correction function of openCV.
  • FIG. 6 is a diagram showing an example of a captured image indicated by captured image data.
  • a captured image PI1 in FIG. 6A shows a portion of the front surface 31 of the housing 30 of the product 300 including the label L1.
  • the captured image PI1 includes an image showing the front surface 31 and an image showing the label L1.
  • the label illustrated in the captured image PI1 is referred to as a label PL1 by adding "P" to the actual label L1.
  • the front surface of the housing shown in the captured image PI1 is also referred to as a front surface P31, with a "P” appended to the reference numeral of the front surface 31 of the actual object.
  • the reference parts of the housing shown in the captured image PI1 are also referred to as reference parts PS1a and PS1b by adding "P” to the reference parts S1a and S1b (FIG. 2) of the real thing.
  • a captured image PI2 in FIG. 6(B) shows a portion of the right side surface 32 of the housing 30 of the product 300 including the label L2.
  • the captured image PI2 includes an image showing the right side surface 32 and an image showing the label L2.
  • the label illustrated in the captured image PI2 is referred to as a label PL2 by adding "P" to the actual label L2.
  • the right side surface of the housing shown in the captured image PI2 is also referred to as the right side surface P32 by adding “P” to the reference numeral of the actual right side surface 32 .
  • the reference parts of the housing shown in the captured image PI2 are also referred to as reference parts PS2a and PS2b by adding "P" to the reference parts S2a and S2b of the real thing.
  • the CPU 110 identifies the label PL1 within the captured image PI1. Identification of the label is performed, for example, using an object detection or semantic segmentation technique using a machine learning model. As machine learning models, for example, YOLO (You only Look Once), SSD (Single Shot Detector), U-net, and SegNet are used. Alternatively, label identification may be performed using other techniques such as pattern matching.
  • machine learning models for example, YOLO (You only Look Once), SSD (Single Shot Detector), U-net, and SegNet are used.
  • label identification may be performed using other techniques such as pattern matching.
  • the CPU 110 acquires the drawing data corresponding to the label of interest from the nonvolatile storage device 130.
  • FIG. For example, when the label of interest is the label L1 (FIG. 2), the drawing data DD1 representing the drawing DI1 (FIG. 3A) used as the instructions for the process of attaching the label L1 is obtained. If the label of interest is the label L2, the drawing data DD2 representing the drawing DI2 (FIG. 3B) is obtained.
  • the CPU 110 executes pattern matching between the captured image and the drawing.
  • the CPU 110 executes pattern matching in the captured image PI1 of FIG. 6A using the drawing DI1 of FIG. 3A as a template. Thereby, the positional relationship between the captured image PI1 and the drawing DI1 is specified.
  • the pattern matching of this step for example, the feature points P1, P2, and P3 of the drawing DI1 (FIG. 3A), the corresponding feature points P4, P5, and P6 of the captured image PI1 (FIG. 6A), is extracted by a known feature point extraction algorithm.
  • a drawing DI1 indicated by a dashed rectangle is arranged with respect to the captured image PI1 in a positional relationship specified by pattern matching.
  • a drawing DI2 indicated by a dashed rectangle is arranged with respect to the captured image PI2 in a positional relationship specified by pattern matching.
  • the CPU 110 identifies a reference portion in the captured image corresponding to the dimension extension line in the drawing.
  • dimension extension lines A11a, A11b, A12a, and A12b are shown in the drawing DI1 indicated by broken lines.
  • dimension extension lines A21a, A21b, A22a, and A22b are shown in the drawing DI2 indicated by broken lines.
  • the extension lines A12a, A12b, A22a, and A22b are lines corresponding to the reference parts of the housing, and the extension lines A11a, A11b, A21a, and A21b are labels is the line corresponding to the edge of
  • the positions in the captured image corresponding to these extension lines are specified by pattern matching in S215.
  • the label of interest is the label L1
  • the CPU 110 draws a linear edge parallel to the dimension extension lines A12a and A12b in the vicinity of the dimension extension lines A12a and A12b in the captured image PI1 of FIG. Search and identify the searched edge as a reference portion.
  • the reference parts PS1a and PS1b corresponding to the extension lines A12a and A12b are specified in the captured image PI1.
  • the attention label is the label L2
  • the reference parts PS2a and PS2b corresponding to the extension lines A22a and A22b are specified in the captured image PI2 in FIG. 6B.
  • the CPU 110 identifies the edge of the label in the captured image corresponding to the dimension extension line in the drawing. For example, the CPU 110 identifies the edge of the end located near the extension line among the edges of the label identified in S210.
  • the label of interest is the label L1
  • the right and bottom edges of the label PL1 corresponding to the extension lines A11a and A11b are specified in the captured image PI1.
  • the label of interest is the label L2
  • the right and top edges of the label PL2 corresponding to the extension lines A21a and A21b are identified in the captured image PI2.
  • the CPU 110 calculates the dimension between the reference portion and the edge of the label in the captured image. For example, the CPU 110 counts the number of pixels between the reference portion and the edge of the label, and calculates the dimension (eg, in mm) based on the number of pixels.
  • the internal parameters for example, the focal length and optical center
  • the external parameters for example, the arrangement position of the camera
  • the viewing angle of the imaging device 400 are known, and the positional relationship between the product 300 and the imaging device 400 is fixed. be.
  • the relationship between the number of pixels and the dimensions can be defined as a formula.
  • the CPU 110 can convert the number of pixels into dimensions based on these formulas.
  • the label of interest is the label L1
  • the horizontal dimension d1a between the reference part PS1a and the right edge of the label PL1 and the distance between the reference part PS1b and the lower edge of the label PL1 and the vertical dimension d1b of is the label L2
  • the horizontal dimension d2a between the reference part PS2a and the right edge of the label PL2 and the distance between the reference part PS2b and the upper edge of the label PL2 and the vertical dimension d2b of .
  • the CPU 110 determines whether the horizontal and vertical dimensions between the label and the reference portion are within the dimension range.
  • the dimension range is defined by the dimension information registered for each label in the inspection preparation process (FIG. 4) described above.
  • the horizontal dimension information to be registered is the design value "10” and the tolerance " ⁇ 3", and the vertical dimension information is the design value "8".
  • the tolerance is " ⁇ 2". Therefore, when the horizontal dimension d1a satisfies 7 ⁇ d1a ⁇ 13 and the vertical dimension d1b satisfies 6 ⁇ d1b ⁇ 10, it is determined that the horizontal and vertical dimensions are within the dimension range. be done. If the horizontal dimension d1a does not satisfy 7 ⁇ d1a ⁇ 13 or the vertical dimension d1b does not satisfy 6 ⁇ d1b ⁇ 10, then the horizontal and vertical dimensions are judged to be out of range. be.
  • the horizontal dimension information to be registered is the design value "16" and the tolerance " ⁇ 3”
  • the vertical dimension information is the design value "8" and the tolerance " ⁇ 2”. Therefore, when the horizontal dimension d2a satisfies 13 ⁇ d2a ⁇ 19 and the vertical dimension d2b satisfies 6 ⁇ d2b ⁇ 10, it is determined that the horizontal and vertical dimensions are within the dimension range. be done. If the horizontal dimension d2a does not satisfy 13 ⁇ d2a ⁇ 19 or the vertical dimension d2b does not satisfy 6 ⁇ d2b ⁇ 10, the horizontal and vertical dimensions are judged to be out of range. be.
  • the CPU 110 determines that the label-of-interest sticking position is the designed position.
  • the CPU 110 determines that the label-of-interest sticking position is not the designed position.
  • the CPU 110 determines whether or not all labels have been processed as labels of interest. If there is an unprocessed label (S250: NO), the CPU 110 returns to S200. When all labels have been processed (S250: YES), at S255, CPU 110 outputs the determination result. For example, the CPU 110 displays the determination result of each label on the display section 140. FIG. After the determination result is output, the inspection process is terminated.
  • the CPU 110 displays a diagram of a portion including at least the label L1 of the product 300 with the label L1 affixed to a specific affixing position (in this embodiment, a design affixing position).
  • Drawing data DD1 indicating DI1 is acquired (S100 in FIG. 4, S212 in FIG. 5).
  • the CPU 110 uses the drawing data DD1 to identify the label BL1 in the drawing DI1 (S105 in FIG. 4).
  • the CPU 110 specifies the positions of the reference parts BS1a and BS1b in the drawing DI1 by specifying the extension lines A12a and A12b in the drawing DI1 using the drawing data DD1 (S115 in FIG. 4).
  • the CPU 110 uses the drawing data DD1, the identification result of the label BL1 in the drawing DI1, and the identification result of the position of the reference part in the drawing DI1 (in this embodiment, the identification result of the extension lines A12a and A12b). , the dimensional information shown in the drawing DI1 is acquired (S120 to S135 in FIG. 4). Furthermore, the CPU 110 acquires captured image data obtained by capturing an image of the product 300 to which the label L1 is attached (S205 in FIG. 5). CPU 110 uses the captured image data to identify label PL1 in captured image PI1 (S210 in FIG. 5). The CPU 110 uses the captured image data to identify the reference parts PS1a and PS1b in the captured image PI1 (S220 in FIG. 5).
  • the CPU 110 uses the result of identifying the label PL1 in the captured image PI1, the result of identifying the reference parts PS1a and PS1b in the captured image PI1, and the dimension information to determine the size of the pasted position of the label PL1 in the captured image PI1. It is determined whether or not it is a specific sticking position (designed sticking position in this embodiment) defined by the information (S225 to S245 in FIG. 5). As a result, using the drawing data DD1, it is possible to easily inspect the sticking position of the label L1 stuck to the product 300 using the captured image data. For example, it is not necessary to create inspection logic for each label, and various labels can be inspected simply by preparing drawing data for each label. Further, in this embodiment, since the drawing data DD1 indicating the drawing DI1 (FIG. 3A) used as the instructions for the step of attaching the label L1 is used, preparation of the drawing data is easy.
  • the dimensional information includes design values and tolerances of the dimensions between the label L1 and the reference parts S1a and S1b (Fig. 3(A)).
  • the CPU 110 specifies the dimensions between the label PL1 in the captured image PI1 and the reference parts PS1a and PS1b in the captured image PI1 (S225 and S230 in FIG. 5), and the specified dimensions are based on the design values and tolerances.
  • the sticking position of the label PL1 in the captured image PI1 is a specific sticking position (S235 to S245 in FIG. 5).
  • the sticking position of the label L1 can be appropriately inspected based on the design values and tolerances.
  • the CPU 110 executes distortion correction processing for correcting distortion in the captured image PI1 on the captured image data (S208 in FIG. 5).
  • the CPU 110 uses the distortion-corrected captured image data to determine whether or not the label PL1 pasting position in the captured image PI1 is a specific pasting position (S210 to S245 in FIG. 5).
  • the captured image data that has undergone the distortion correction process it is possible to accurately determine whether the sticking position of the label L1 is a specific sticking position. For example, even if the front surface 31 of the housing 30 is not perpendicular to the imaging direction AR1 of the imaging device 400, but is tilted, it is possible to determine whether the label L1 is attached to a specific attachment position. It is possible to accurately determine whether or not
  • the labels to be inspected include the label L1 and the label L2, and the label L1 and the label L2 are each defined with respect to a different reference portion to be applied.
  • the CPU 110 acquires dimension information for each of the label L1 and the label L2 (S135, S145, etc. in FIG. 4).
  • CPU 110 executes S200 to S245 of the inspection process in FIG. 5 for each of label L1 and label L2. As a result, the sticking positions of the plurality of labels L1 and L2 can be properly inspected.
  • the label L1 is attached to the front surface 31 of the housing 30, and the label L2 is attached to the right side surface 32 of the housing 30 facing in a different direction from the front surface 31.
  • the drawing data used for the inspection preparation process and the inspection process are drawing data DD1 representing a two-dimensional drawing DI1 of a portion of the front surface 31 that includes at least the label L1, and drawing data DD1 of a portion of the right side surface 32 that includes at least the label L2. and drawing data DD2 representing the two-dimensional drawing DI2 (FIGS. 1, 3, etc.).
  • the captured image data used for the inspection process is captured image data representing a captured image PI1 of a portion of the front surface 31 that includes at least the label L1, and a captured image PI2 of a portion of the right side surface 32 that includes at least the label L2. and captured image data.
  • the affixed position of the label L1 and the affixed position of the label L2 can be properly inspected using different pairs of drawing data and captured image data.
  • a plurality of labels can be easily inspected simply by preparing drawing data for each label.
  • the CPU 110 analyzes the drawing data DD1, which is bitmap data, to determine the dimension extension lines A11a and A11b contacting the label L1 and the dimension extension lines A11a and A11b.
  • Dimension extension lines A12a and A12b that are parallel and separated from the label L1 are specified (FIG. 3A, S110 and S115 in FIG. 4).
  • the CPU 110 identifies the numerical values N1a and N1b associated with these dimension extension lines by analyzing the drawing data DD1 (S120 to S130 in FIG. 4), and acquires the dimension information based on the numerical values N1a and N1b. (S135 in FIG. 4).
  • the drawing data DD1 is bitmap data
  • the dimension information can be appropriately acquired by analyzing the drawing data DD1 and specifying the numerical values N1a and N1b associated with the dimension extension lines.
  • the CPU 110 identifies the dimension lines E1a and E1b associated with these extension lines and the arrows R1a and R1b that are terminal symbols of the dimension lines E1a and E1b (S120 and S125 in FIG. 4). . Then, the CPU 110 identifies the numerical values N1a and N1b by searching within the range based on the dimension lines E1a and E1b (S130 in FIG. 4). As a result, the dimension information can be reliably obtained by appropriately analyzing the drawing data DD1.
  • the drawing DI1 generally includes dimension extension lines, dimension lines, and end symbols such as arrows according to the rules defined by standards such as JIS. For example, if the drawing data DD1 is analyzed based on the rules, it is possible to reliably identify end symbols such as extension lines, dimension lines, and arrows, and by extension, numerical values indicating dimensions. can be done.
  • Second Embodiment A second embodiment differs from the first embodiment in the configuration of inspection processing. Other configurations of the second embodiment are the same as those of the first embodiment.
  • FIG. 7 is a flow chart of inspection processing of the second embodiment.
  • the CPU 110 executes pattern matching between the label PL1 in the captured image PI1 and the label BL1 in the drawing DI1. Specifically, the CPU 110 performs a size change process on the drawing DI1 so that the size of the label BL1 in the drawing DI1 and the size of the label PL1 in the captured image PI1 match.
  • Resize processing is processing for changing the size of an image, and is either enlargement processing or reduction processing.
  • the CPU 110 determines the position and angle of the drawing DI1 with respect to the captured image PI1 so that the label BL1 in the resized drawing DI1 matches the label PL1 in the captured image PI1.
  • a size change process may be performed on the captured image PI1 in pattern matching.
  • FIG. 8 is an explanatory diagram of the inspection process of the second embodiment.
  • FIG. 8A shows only the label BL1 and two extension lines A12a and A12b of the drawing DI1.
  • FIG. 8B the label BL1 and two extension lines A12a and A12b of FIG. The arranged state is illustrated.
  • the label PL1 in the captured image PI1 completely overlaps the label BL1 in the drawing DI1.
  • the CPU 110 identifies the reference parts PS1a and PS1b in the captured image corresponding to the extension lines A12a and A12b, as in S220 of FIG.
  • the reference part PS1a and the extension line A12a overlap. If the distance between the label BL1 and the reference part PS1a does not match the design value, the reference part PS1a and the extension line A12a do not overlap.
  • the reference portion PS1b and the extension line A12b may or may not overlap. In the example of FIG. 8B, the reference part PS1a and extension line A12a and the reference part PS1b and extension line A12b do not overlap.
  • the CPU 110 calculates the horizontal distance ⁇ da between the reference part PS1a in the captured image PI1 and the extension line A12a in the drawing DI1 in the state of FIG. 8(B). For example, the CCPU 110 calculates the distance dp (FIG. 8A) between the label BL1 and the extension line A12a in units of pixels. The CPU 110 determines the number of pixels based on the ratio between the distance dp in units of the number of pixels and the design value of the distance dp, that is, the design value (unit: mm) indicated by the numerical value N1a in FIG. Determine the factor to convert to millimeters (mm).
  • the coefficient is determined based on the ratio between the number of pixels of the width or height of the label BL1 and the pre-stored measured value (in mm) of the width or height of the label L1.
  • the design value indicated by the numerical value N1a is included in the dimension information registered in the inspection preparation process.
  • the CPU 110 converts the unit of the distance ⁇ da into millimeters using the coefficient described above.
  • the CPU 110 calculates the vertical distance ⁇ db between the reference part PS1b in the captured image PI1 and the extension line A12b in the drawing DI1 in the state of FIG. 8B.
  • the CPU 110 determines whether the horizontal and vertical distances ⁇ da and ⁇ db are within the tolerance.
  • the tolerance is included in the dimensional information registered in the inspection preparation process. If the horizontal and vertical distances .DELTA.da and .DELTA.db are within the tolerance (S235B: YES), in S240, the CPU 110 determines that the label-of-interest (for example, label L1) sticking position is the designed position. I judge. If at least one of ⁇ da and ⁇ db in the horizontal direction and the vertical direction is not within the tolerance (S235B: NO), in S245, the CPU 110 determines that the sticking position of the label of interest (eg, label L1) is not the design position. I judge.
  • the size change process is executed so that the size of the label LP1 in the captured image PI1 and the size of the label BL1 in the drawing DI1 match. is used to determine whether or not the sticking position of the label PL1 in the captured image PI1 is a specific sticking position. It can be considered that the size of the label hardly fluctuates due to manufacturing errors or the like.
  • the shape of the label is a simple shape such as a rectangle, the size change process can be performed easily and accurately. As a result, the horizontal and vertical distances .DELTA.da and .DELTA.db can be calculated with high accuracy, so that it is possible to accurately determine whether or not the label PL1 is attached to a specific attachment position.
  • the captured image PI1 in the state where the position and size of the label PL1 in the captured image PI1 and the position and size of the label BL1 in the drawing DI1 match (FIG. 8B). Differences (that is, distances ⁇ da, ⁇ db) between the positions of the reference sites PS1a, PS1b in the drawing DI1 and the positions of the reference sites BS1a, BS1b in the drawing DI1 are identified (S225B in FIG. 7). By determining whether or not these distances ⁇ da and ⁇ db are within the tolerance, it is determined whether or not the sticking position of the label PL1 in the captured image PI1 is a specific sticking position. As a result, it is possible to appropriately determine whether or not the label sticking position is a specific sticking position by a method different from the inspection process of the first embodiment.
  • the CPU 110 may acquire the dimension information by searching for numerical values in the vicinity of the label LB1 and the reference parts BS1a and BS1b in the drawing DI1.
  • the drawing data DD1 is bitmap data, but the drawing data is CAD data including vector data indicating diagrams and extension lines, and numerical data indicating design values and tolerances.
  • the CPU 110 identifies a dimension extension line for defining the positional relationship between the label and the housing from the dimension extension line data included in the drawing data, and determines the design associated with the dimension extension line. Numerical data indicating values and tolerances may be obtained.
  • Distortion correction processing (S208) is executed in the inspection processing of FIG. 5 of the above embodiment. Processing may be omitted.
  • two labels are inspected, but the number of labels to be inspected may be one or three or more.
  • one drawing data and one photographed image data are used for one label.
  • one piece of drawing data may be used for a plurality of labels, or a piece of photographed image data may be used for a plurality of labels.
  • one piece of drawing data or one piece of photographed image data including the plurality of labels may be used.
  • an arrow is identified as the terminal symbol of the dimension line (S120 in FIG. 4), and the dimension line associated with the arrow is identified (S125 in FIG. 4).
  • end symbols other than arrows, such as bullets or slashes, may be specified.
  • the dimension line may be specified by searching for a straight line in the vicinity of the dimension extension line without specifying the terminal symbol.
  • the shapes of the labels L1 and L2 are rectangles.
  • the shapes of the labels L1 and L2 may be polygons other than rectangles such as triangles and pentagons, and may be circles and ellipses.
  • the horizontal distance between the label and the reference portion and the vertical distance between the label and the reference portion are defined to define the position where the label is attached to the housing.
  • all or part of the distance between the label and the reference portion for defining the label sticking position with respect to the housing may include a diagonal distance that is parallel to neither the horizontal direction nor the vertical direction. . Even in this case, by obtaining the dimension information of the distance in the diagonal direction and determining whether the distance in the diagonal direction in the captured image is within the dimension range determined by the dimension information, the label is It is determined whether or not it is in the sticking position.
  • the inspection preparation process and the inspection process are executed by the inspection apparatus 100 of FIG.
  • the inspection preparation process and the inspection process may be performed by separate devices.
  • the dimension information registered by the inspection preparation process is stored in the storage device of the apparatus that executes the inspection process.
  • all or part of the inspection preparation process and inspection process may be executed by a plurality of computers (for example, a so-called cloud server) that can communicate with each other via a network.
  • the positions of the labels L1 and L2 attached to the product 300 are inspected.
  • a technique similar to that of the above embodiment can generally be employed when inspecting the arrangement position of a component that constitutes a part of an object. That is, in each of the above embodiments, the product 300 to which the labels L1 and L2 are attached (the labels L1 and L2 and the product 300 as a whole) is an example of the object, and the labels L1 and L2 are an example of the component.
  • the object is not limited to the product 300, but may be a part that constitutes the product 300, such as a print head used in a printer. Also, the object may be a combination of some parts constituting the product 300, for example, a print head used in a printer and a carriage on which the print head is assembled. The object may also be an unfinished intermediate product that is manufactured during the process of manufacturing product 300 .
  • the constituent part is not limited to a label attached to the object, but may be a forming part formed on the object, specifically, a screw hole, and a pattern or inscription expressed by unevenness (manufacturer or product brand logo). Also, the constituent part may be a painted part applied to the object.
  • drawing data indicating a drawing of a portion including at least the component is obtained.
  • the CPU 110 uses the acquired drawing data to identify the component in the drawing.
  • the CPU 110 uses the drawing data to specify a reference portion in the drawing, that is, a specific arrangement position of the component with respect to the object by specifying extension lines in the drawing. Identify the position of the site that serves as a reference for The CPU 110 acquires dimensional information shown in the drawing using the drawing data, the result of identifying the component in the drawing, and the result of identifying the position of the reference portion in the drawing.
  • the CPU 110 may acquire captured image data obtained by capturing an image of the object in which the component is arranged. Then, in S210 of FIG. 5, the CPU 110 uses the captured image data to identify the component in the captured image, and in S220 of FIG. identify. In S225 to S245 of FIG. 5, CPU 110 uses the identification result of the component in the captured image, the identification result of the reference part in the captured image, and the dimension information to determine the configuration in captured image 1. It is sufficient to determine whether or not the arrangement position of the part is a specific arrangement position defined by the dimension information. As a result, by using the drawing data DD1, it is possible to easily inspect the arrangement position of the constituent part that constitutes a part of the object by using the captured image data.
  • part of the configuration implemented by hardware may be replaced with software, or conversely, part or all of the configuration implemented by software may be replaced with hardware. You may do so.
  • all or part of the test preparation process and test process may be executed by a hardware circuit such as an ASIC (Application Specific Integrated Circuit).

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

物体の一部を構成する構成部の配置位置を容易に検査する。検査装置は、構成部を含む部分の図面を示す図面データを用いて、図面内の構成部を特定し、図面内の物体の基準部位の位置を特定し、図面データと、図面内の構成部の特定結果と、図面内の基準部位の位置の特定結果と、を用いて、図面内に示される寸法情報を取得する。検査装置は、物体のうち、少なくとも構成部を含む部分を含む撮像画像を示す撮像画像データを用いて、撮像画像内の構成部を特定し、撮像画像内の物体の基準部位を特定し、撮像画像内の構成部の特定結果と、撮像画像内の基準部位の特定結果と、寸法情報と、を用いて、撮像画像内の構成部の配置位置が寸法情報によって規定される特定の配置位置であるか否かを判定する。

Description

検査装置、コンピュータプログラム、および、検査方法
 本明細書は、撮像画像データを用いて物体の一部を構成する構成部の配置位置を検査する技術、例えば、撮像画像データを用いて製品に貼付されたラベルの貼付位置を検査する技術に関する。
 検査の対象物を撮像することによって得られる撮像画像データを用いて対象物の検査を行う技術が知られている。例えば、特許文献1に開示された塗布状態検査装置は、撮像装置によってワークを撮像した画像データを用いて、ワークに塗布されたシール材の塗布状態を検査する。塗布状態検査装置は、撮像された画像内の塗布領域を特定し、塗布領域の中心線を塗布軌跡として特定する。検査装置は、塗布領域の重心に基づいて塗布軌跡の基準点と基準方向とを決定し、該基準点と基準方向とを用いて、塗布軌跡と、基準塗布軌跡と、の位置ずれを補正する。位置ずれの補正後に、検査装置は、塗布軌跡と基準塗布軌跡とを比較して、塗布状態が正常であるか否かを判定する。
特開2014-83529号公報
 しかしながら、上記技術では、塗布領域自体の形状が正常であるか否かを判定することを目的としており、位置ずれの補正は、撮像装置とワークとの位置関係のずれを補正するために行われている。このために、上記技術を、製品に貼付されたラベルの貼付位置を検査するために適用しても、ラベルの貼付位置の検査を容易に実行できるとは言えなかった。このような課題は、製品に貼付されたラベルの貼付位置を検査する場合に限らず、一般的に、物体の一部を構成する構成部の配置位置を検査する場合に共通する課題であった。
 本明細書は、物体の一部を構成する構成部の配置位置を検査する技術、例えば、製品に貼付されたラベルの貼付位置を容易に検査する技術を開示する。
 本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
[適用例1]製品に貼付されたラベルの貼付位置を検査する検査装置であって、前記ラベルが特定の貼付位置に貼付された状態の前記製品のうち、少なくとも前記ラベルを含む部分の図面を示す図面データを取得する図面取得部と、前記図面データを用いて、前記図面内の前記ラベルを特定する図面ラベル特定部と、前記図面データを用いて、前記図面内の前記製品の基準部位の位置を特定する基準位置特定部であって、前記基準部位は、前記製品に対する前記ラベルの前記特定の貼付位置を規定するための基準となる部位である、前記基準位置特定部と、前記図面データと、前記図面内の前記ラベルの特定結果と、前記図面内の前記基準部位の位置の特定結果と、を用いて、前記図面内に示される寸法情報を取得する寸法取得部であって、前記寸法情報は、前記基準部位と前記特定の貼付位置との位置関係を規定する情報であり、前記特定の貼付位置の公差を含む、前記寸法取得部と、前記ラベルが貼付された状態の前記製品を撮像することによって得られる撮像画像データを取得する撮像画像取得部であって、前記撮像画像データによって示される撮像画像は、前記製品のうち、少なくとも前記ラベルを含む部分を含む、前記撮像画像取得部と、前記撮像画像データを用いて、前記撮像画像内の前記ラベルを特定する撮像ラベル特定部と、前記撮像画像データを用いて、前記撮像画像内の前記製品の前記基準部位を特定する基準部位特定部と、前記撮像画像内の前記ラベルの特定結果と、前記撮像画像内の前記基準部位の特定結果と、前記寸法情報と、を用いて、前記撮像画像内の前記ラベルの貼付位置が前記寸法情報によって規定される前記特定の貼付位置であるか否かを判定する位置判定部と、を備える、検査装置。
 上記構成によれば、図面データを用いて図面内の製品の基準部位の位置と図面内のラベルとを特定し、これらの特定結果を用いて基準部位と特定の貼付位置との位置関係を規定する寸法情報を取得する。そして、撮像画像データを用いて撮像画像内のラベルと基準部位とを特定し、これらの特定結果と寸法情報とを用いてラベルの貼付位置が特定の貼付位置であるか否かを判定する。この結果、図面データと、撮像画像データと、を用いて製品に貼付されたラベルの貼付位置を容易に検査することができる。
[適用例2]物体の一部を構成する構成部の配置位置を検査する検査装置であって、前記構成部が特定の配置位置に配置された状態の前記物体のうち、少なくとも前記構成部を含む部分の図面を示す図面データを取得する図面取得部と、前記図面データを用いて、前記図面内の前記構成部を特定する図面構成部特定部と、前記図面データを用いて、前記図面内の前記物体の基準部位の位置を特定する基準位置特定部であって、前記基準部位は、前記物体に対する前記構成部の前記特定の配置位置を規定するための基準となる部位である、前記基準位置特定部と、前記図面データと、前記図面内の前記構成部の特定結果と、前記図面内の前記基準部位の特定結果と、を用いて、前記図面内に示される寸法情報を取得する寸法取得部であって、前記寸法情報は、前記基準部位と前記特定の配置位置との位置関係を規定する情報であり、前記特定の配置位置の公差を含む、前記寸法取得部と、前記構成部が形成された状態の前記物体を撮像することによって得られる撮像画像データを取得する撮像画像取得部であって、前記撮像画像データによって示される撮像画像は、前記物体のうち、少なくとも前記構成部を含む部分を含む、前記撮像画像取得部と、前記撮像画像データを用いて、前記撮像画像内の前記構成部を特定する撮像構成部特定部と、前記撮像画像データを用いて、前記撮像画像内の前記物体の前記基準部位を特定する基準部位特定部と、前記撮像画像内の前記構成部の特定結果と、前記撮像画像内の前記基準部位の位置の特定結果と、前記寸法情報と、を用いて、前記撮像画像内の前記構成部の配置位置が前記寸法情報によって規定される前記特定の配置位置であるか否かを判定する位置判定部と、を備える、検査装置。
 上記構成によれば、図面データを用いて図面内の物体の基準部位の位置と図面内の構成部とを特定し、これらの特定結果を用いて基準部位と特定の配置位置との位置関係を規定する寸法情報を取得する。そして、撮像画像データを用いて撮像画像内の構成部と基準部位とを特定し、これらの特定結果と寸法情報とを用いて構成部の配置位置が特定の配置位置であるか否かを判定する。この結果、図面データと、撮像画像データと、を用いて物体の一部を構成する構成部の配置位置を容易に検査することができる。
 なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、検査装置、検査方法、これらの装置および方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
本実施例の検査システムの構成を示すブロック図。 ワークの斜視図。 図面の一例を示す図。 検査準備処理のフローチャート。 検査処理のフローチャート。 撮像画像データによって示される撮像画像の一例を示す図。 第2実施例の検査処理のフローチャート。 第2実施例の検査処理の説明図。
A.第1実施例
A-1.データ生成装置の構成
 次に、実施の形態を実施例に基づき説明する。図1は、本実施例の検査システム1000の構成を示すブロック図である。検査システム1000は、検査装置100と、撮像装置400と、を含んでいる。検査装置100と撮像装置400とは、通信可能に接続されている。
 検査装置100は、例えば、パーソナルコンピュータなどの計算機である。検査装置100は、検査装置100のコントローラとしてのCPU110と、RAMなどの揮発性記憶装置120と、ハードディスクドライブなどの不揮発性記憶装置130と、マウスやキーボードなどの操作部150と、液晶ディスプレイなどの表示部140と、通信部170と、を備えている。通信部170は、外部機器、例えば、撮像装置400と通信可能に接続するための有線または無線のインタフェースを含む。
 揮発性記憶装置120は、CPU110が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置130には、検査装置用のコンピュータプログラムPGが格納されている。
 コンピュータプログラムPGは、例えば、検査装置100の製造者によって提供される。コンピュータプログラムPGは、例えば、サーバからダウンロードされる形態で提供されても良く、DVD-ROMなどに格納される形態で提供されてもよい。CPU110は、コンピュータプログラムPGを実行することにより、後述する検査準備処理と検査処理とを実行する。
 撮像装置400は、光学的に被写体を撮像することによって被写体を表す画像データ(撮像画像データとも呼ぶ)を生成するデジタルカメラである。撮像装置400は、検査装置100の制御に従って、撮像画像データを生成し、検査装置100に送信する。本実施例では、撮像装置400は、検査処理の検査対象である製品300を撮像して、製品300の外観を含む撮像画像を示す撮像画像データを生成するために用いられる。
 図2は、製品300の斜視図である。製品300は、本実施例では、略直方体の筐体30を有するプリンタである。製造工程において、筐体30の前面31(-Y側の面)と、右側面32(+X側の面)と、には、それぞれ、矩形のラベルL1、L2が所定の位置に貼付される。これらのラベルL1、L2は、例えば、製造者や製品のブランドロゴ、型番、ロット番号等の各種の情報が記載されている。
 不揮発性記憶装置130には、さらに、図面データDD1、DD2が格納されている。図面データDD1、DD2は、それぞれ、図面DI1、DI2を示す画像データである。本実施例では、図面データは、複数個の画素を含む画像を示すビットマップデータであり、具体的には、RGB値によって画素ごとの色を表すRGB画像データである。RGB値は、3個の色成分の階調値(以下、成分値とも呼ぶ)、すなわち、R値、G値、B値を含むRGB表色系の色値である。R値、G値、B値は、例えば、所定の階調数(例えば、256)の階調値である。
 図3は、図面の一例を示す図である。図面DI1、DI2は、ラベルL1、L2の貼付工程の指示書に用いられる図面である。図面DI1は、筐体30の前面31のうち、ラベルL1を含む部分の線図BP1を含んでいる。以下では、線図BP1に図示されるラベルを、実物のラベルL1の符号に「B」を付してラベルBL1とも呼ぶ。線図BP1に図示される筐体の前面を、実物の前面31の符号に「B」を付して前面B31とも呼ぶ。
 線図BP1は、さらに、筐体30に対するラベルL1の位置を規定するための寸法補助線A11a、A12a、A11b、A12bと、寸法線E1a、E1bと、数値N1a、N1bと、矢印R1a、R1bと、を含んでいる。
 寸法補助線A11aは、ラベルBL1の右端に接する直線であり、ラベルBL1の右端の水平方向の位置を示す。寸法補助線A12aは、前面B31の基準部位BS1a上に付された直線であり、該基準部位BS1aの水平方向の位置を示す。線図BP1の基準部位BS1aは、筐体30の基準部位S1a(図2)に対応する。基準部位は、ラベルの貼付位置を規定するための基準として用いられる部位である。基準部位は、筐体30の外観に現れた特徴的な部位であり、例えば、筐体30を構成する複数個の部品の境界や筐体30の意匠(デザイン)や筐体30の輪郭を構成する線である。2本の寸法補助線A11a、A12aは、鉛直方向に延び、互いに平行である。寸法線E1aは、2本の寸法補助線A11a、A12aに対応付けられた直線である。具体的には、寸法線E1aは、2本の寸法補助線A11a、A12aと垂直に交差している。寸法線E1aと、2本の寸法補助線A11a、A12aと、の交点には、一対の矢印R1aが付加されている。矢印R1aは、端末記号の一種である。数値N1aは、寸法線E1aに対応付けられた数値であり、寸法線E1aの近傍に位置している。
 寸法補助線A11bは、ラベルBL1の下端に接する直線であり、ラベルBL1の下端の鉛直方向の位置を示す。寸法補助線A12bは、前面B31の基準部位BS1b上に付された直線であり、該基準部位BS1bの鉛直方向の位置を示す。前面B31の基準部位BS1bは、筐体30の基準部位S1b(図2)に対応する。基準部位S1bは、基準部位S1aと同様に、筐体30の外観に現れた特徴的な部位である。2本の寸法補助線A11b、A12bは、水平方向に延び、互いに平行である。寸法線E1bは、2本の寸法補助線A11b、A12bに対応付けられた直線である。具体的には、寸法線E1bは、2本の寸法補助線A11b、A12bと垂直に交差している。寸法線E1bと、2本の寸法補助線A11b、A12bと、の交点には、一対の矢印R1bが付加されている。数値N1bは、寸法線E1bに対応付けられた数値であり、寸法線E1bの近傍に位置している。
 図面DI2は、筐体30の右側面32のうち、ラベルL2を含む部分の線図BP2を含んでいる。以下では、線図BP2に図示されるラベルを、実物のラベルL2の符号に「B」を付してラベルBL2とも呼ぶ。線図BP2に図示される筐体30の右側面を、実物の右側面32の符号に「B」を付して右側面B32とも呼ぶ。
 線図BP2は、さらに、筐体30に対するラベルL2の位置を規定するための寸法補助線A21a、A22a、A21b、A22bと、寸法線E2a、E2bと、数値N2a、N2bと、矢印R2a、R2bと、を含んでいる。
 寸法補助線A21aは、ラベルBL2の右端に接する直線であり、ラベルBL2の右端の水平方向の位置を示す。寸法補助線A22aは、右側面B32の基準部位BS2a上に付された直線であり、該基準部位BS2aの水平方向の位置を示す。図面DI2の基準部位BS2aは、筐体30の基準部位S2a(図2)に対応する。基準部位S2aは、筐体30の外観に現れた特徴的な部位であり、例えば、筐体30の輪郭を構成する線である。2本の寸法補助線A21a、A22aは、鉛直方向に延び、互いに平行である。寸法線E2aは、2本の寸法補助線A21a、A22aに対応付けられた直線である。具体的には、寸法線E1aは、2本の寸法補助線A21a、A22aと垂直に交差している。寸法線E2aと、2本の寸法補助線A21a、A22aと、の交点には、一対の矢印R2aが付加されている。数値N2aは、寸法線E2aに対応付けられた数値であり、寸法線E2aの近傍に位置している。
 寸法補助線A21bは、ラベルBL2の上端に接する直線であり、ラベルBL2の上端の鉛直方向の位置を示す。寸法補助線A22bは、右側面B32の基準部位BS2b上に付された直線であり、該基準部位BS2bの鉛直方向の位置を示す。図面DI2の基準部位BS2bは、筐体30の基準部位S2b(図2)に対応する。2本の寸法補助線A21b、A22bは、水平方向に延び、互いに平行である。寸法線E2bは、2本の寸法補助線A21b、A22bに対応付けられた直線である。具体的には、寸法線E2bは、2本の寸法補助線A21b、A22bと垂直に交差している。寸法線E2bと、2本の寸法補助線A21b、A22bと、の交点には、一対の矢印R2bが付加されている。数値N2bは、寸法線E2bに対応付けられた数値であり、寸法線E2bの近傍に位置している。
A-2.検査準備処理
 検査準備処理は、図面データDD1、DD2を用いて、後述する検査処理において用いられる寸法情報を取得する処理である。検査準備処理は、検査処理に先立って実行される。図4は、検査準備処理のフローチャートである。
 S100では、CPU110は、不揮発性記憶装置130に格納された図面データDD1、DD2から1つの注目図面データを選択する。以下では、図3(A)の図面DI1を示す図面データDD1が注目図面データである場合を主な例として説明する。
 S105では、CPU110は、注目図面データによって示される図面(注目図面とも呼ぶ)内のラベルを特定する。例えば、注目図面が図3(A)の図面DI1である場合には、図面DI1内のラベルBL1が特定される。例えば、CPU110は、表示部140に図面DI1を表示する。作業者は、表示された図面DI1上において、所定のポインティングデバイスを用いてラベルBL1の位置を指定する。CPU110は、図面DI1内の指定された位置の近傍を解析して、指定された位置を含む矩形を特定する。特定方法には、公知の閉図形の探索処理が用いられる。これに代えて、パターンマッチングや機械学習モデルを用いた画像認識処理等の手法が用いられても良い。
 S110では、CPU110は、注目図面内にて特定されたラベルに接する寸法補助線を特定する。例えば、注目図面が図3(A)の図面DI1である場合には、ラベルL1に接する寸法補助線A11a、A11bが特定される。例えば、CPU110は、特定されたラベルL1の左右の端の近傍で鉛直方向に延びる直線を探索することによって、鉛直方向に延びる寸法補助線A11aを特定する。さらに、CPU110は、特定されたラベルL1の上下の端の近傍で水平方向に延びる直線を探索することによって、水平方向に延びる寸法補助線A11bを特定する。
 S115では、CPU110は、注目図面のラベルに接する寸法補助線とペアとなる寸法補助線を特定する。例えば、注目図面が図3(A)の図面DI1である場合には、ラベルL1に接する2本の寸法補助線A11a、A11bのそれぞれについて、ペアとなる寸法補助線が特定される。具体的には、CPU110は、特定済みの寸法補助線A11aの位置を始点として、ラベルBL1から離れる方向(図3(A)の右方向)に向かって、寸法補助線A11aと平行な直線を探索する。これによって、寸法補助線A11aとペアとなる寸法補助線A12aが特定される。寸法補助線A12aが特定されることは、対応する基準部位BS1aの水平方向の位置が特定されることに等しい。さらに、CPU110は、特定済みの寸法補助線A11bの位置を始点として、ラベルBL1から離れる方向(図3(A)の下方向)に向かって、寸法補助線A11bと平行な直線を探索する。これによって、寸法補助線A11bとペアとなる寸法補助線A12bが特定される。寸法補助線A12bが特定されることは、対応する基準部位BS1bの鉛直方向の位置が特定されることに等しい。
 S120では、CPU110は、注目図面にて特定済みの寸法補助線に対応付けられた矢印を特定する。注目図面が図3(A)の図面DI1である場合には、寸法補助線A11a、A12a、A11b、A12bのそれぞれに対応付けられた矢印を特定する。具体的には、CPU110は、寸法補助線A11a、A12aのそれぞれに沿って矢印を探索することによって、一対の矢印R1aを特定する。さらに、CPU110は、寸法補助線A11b、A12bのそれぞれに沿って矢印を探索することによって、一対の矢印R1bを特定する。
 S125では、CPU110は、注目図面にて特定済みの矢印に対応付けられた寸法線を特定する。注目図面が図3(A)の図面DI1である場合には、矢印R1a、R1bに対応付けられた寸法線E1a、E1bが特定される。具体的には、CPU110は、一対の矢印R1aを結ぶ直線を探索することによって、寸法線E1aを特定する。さらに、CPU110は、一対の矢印R1bを結ぶ直線を探索することによって、寸法線E1bを特定する。
 S130では、CPU110は、注目図面にて特定済みの寸法線に対応付けられた数値を特定する。注目図面が図3(A)の図面DI1である場合には、CPU110は、寸法線E1aに沿って数値を探索することによって、数値N1aを特定する。さらに、CPU110は、寸法線E1bに沿って数値を探索することによって、数値N1bを特定する。
 S135では、CPU110は、特定済みの数値に基づいて、水平方向および鉛直方向の寸法情報を取得する。水平方向および鉛直方向の寸法情報を取得する。水平方向の寸法情報は、ラベルの左右の端のいずれかと、ラベルの左右のいずれかに位置する基準部位と、の間の水平方向の寸法の設計値および公差を示す。鉛直方向の寸法情報は、ラベルの鉛直方向の端のいずれかと、ラベルの上下のいずれかに位置する基準部位と、の間の鉛直方向の寸法の設計値および公差を示す。
 具体的には、注目図面が図3(A)の図面DI1である場合には、CPU110は、数値N1a、N1bの領域に対して公知のOCR(Optical Character Recognition)技術で利用される文字認識処理を実行することによって、数値N1a、N1bの内容を認識する。数値N1a、N1bは、例えば、所定の形式「設計値±交差(単位はmm)」に従って記述されている。CPU110は、数値N1aに基づいて、ラベルL1の右端と基準部位S1aとの間の水平方向(図2のX方向)の寸法d1a(図2)の寸法情報を取得する。CPU110は、数値N1bに基づいて、ラベルL1の下端と基準部位S1bとの間の鉛直方向(図2のZ方向)の寸法d1b(図2)の寸法情報を取得する。
 S140では、CPU110は、取得された水平方向および鉛直方向の寸法情報を登録する。例えば、注目図面が図3(A)の図面DI1である場合には、水平方向および鉛直方向の寸法情報が図面データDD1と対応付けて不揮発性記憶装置130に保存される。
 S145では、CPU110は、全ての図面データを処理対象として処理したか否かを判断する。全ての図面データが処理された場合には(S145:YES)、CPU110は、検査準備処理を終了する。未処理の図面データがある場合には(S145:NO)、CPU110は、S100に戻る。
 以上の検査準備処理によって、上述したように、図面データDD1を処理対象として、ラベルL1に対応する水平方向および鉛直方向の寸法情報が登録される。また、同様の処理が、図面データDD2を処理対象として実行され、ラベルL2に対応する水平方向および鉛直方向の寸法情報が登録される。ラベルL2に対応する水平方向の寸法情報は、ラベルL2の右端と基準部位S2aとの間の水平方向(図2のY方向)の寸法d2a(図2)の設計値および公差を示す。ラベルL2に対応する鉛直方向の寸法情報は、ラベルL2の上端と基準部位S2bとの間の鉛直方向(図2のZ方向)の寸法d2b(図2)の設計値および公差を示す。
A-3.検査処理
 検査処理は、製品300に貼付されたラベルL1、L2が、特定の貼付位置に貼付されているか否かを検査する処理である。ラベルの特定の貼付位置は、ラベルL1、L2の貼付工程の指示書にて指示されている位置、すなわち、上述の図面DI1、DI2に示される位置である。
 図5は、検査処理のフローチャートである。検査処理は、製品ごとに実行され、例えば、製品が撮像装置400を用いて撮像可能な所定の位置に載置された状態で開始される。S200では、CPU110は、検査すべきラベルL1、L2(図2)から、1個の注目ラベルを選択する。以下では、ラベルL1が注目ラベルである場合を例として説明する。
 S205では、CPU110は、注目ラベルを含む撮像画像を示す撮像画像データを取得する。例えば、図2の例では、筐体30の互いに異なる面に配置された2個のラベルL1、L2が検査の対象である。このために、撮像装置400は、図2の撮像方向AR1にて筐体30の前面31のラベルL1を含む部分を撮像する第1撮像装置(図示省略)と、撮像方向AR2にて筐体30の右側面32のラベルL2を含む部分を撮像する第2撮像装置(図示省略)と、を含んでいる。撮像方向AR1は+Y方向であり、撮像方向AR2は-X方向である。注目ラベルがラベルL1である場合には、CPU110は、第1撮像装置に撮像指示を送信して、第1撮像装置から撮像画像データを取得する。撮像画像データは、図面データと同様に、複数個の画素を含む画像を示すビットマップデータであり、具体的には、RGB値によって画素ごとの色を表すRGB画像データである。
 S208では、取得された撮像画像データに対して歪み補正処理を実行する。歪み補正処理は、例えば、台形歪み補正処理と、レンズ歪み補正処理と、を含む。台形歪み補正処理は、撮影角度による撮像画像内の被写体のゆがみを補正する処理である。台形歪み補正処理は、公知のアルゴリズム、例えば、openCVの射影変換の関数を用いて実行される。レンズ歪み補正処理は、撮像装置のレンズに起因して撮像画像の被写体に生じる歪曲を補正する処理である。レンズ歪み補正処理は、公知のアルゴリズム、例えば、openCVの歪み補正の関数を用いて実行される。
 図6は、撮像画像データによって示される撮像画像の一例を示す図である。図6(A)の撮像画像PI1は、製品300の筐体30の前面31のラベルL1を含む部分を示す。撮像画像PI1は、前面31を示す画像と、ラベルL1を示す画像と、を含む。以下では、撮像画像PI1に図示されるラベルを、実物のラベルL1の符号に「P」を付し、ラベルPL1と呼ぶ。撮像画像PI1に示される筐体の前面を、実物の前面31の符号に「P」を付し、前面P31とも呼ぶ。同様に撮像画像PI1に示される筐体の基準部位を、実物の基準部位S1a、S1b(図2)の符号に「P」を付し、基準部位PS1a、PS1bとも呼ぶ。
 図6(B)の撮像画像PI2は、製品300の筐体30の右側面32のラベルL2を含む部分を示す。撮像画像PI2は、右側面32を示す画像と、ラベルL2を示す画像と、を含む。以下では、撮像画像PI2に図示されるラベルを、実物のラベルL2の符号に「P」を付し、ラベルPL2と呼ぶ。撮像画像PI2に示される筐体の右側面を、実物の右側面32の符号に「P」を付し、右側面P32とも呼ぶ。同様に撮像画像PI2に示される筐体の基準部位を、実物の基準部位S2a、S2bの符号に「P」を付し、基準部位PS2a、PS2bとも呼ぶ。
 S210では、CPU110は、撮像画像PI1内のラベルPL1を特定する。ラベルの特定は、例えば、機械学習モデルを用いた物体検出やセマンティックセグメンテーションの手法を用いて実行される。機械学習モデルとしては、例えば、YOLO(You only Look Once)、SSD(Single Shot Detector)、U-net、SegNetが用いられる。これに代えて、ラベルの特定は、パターンマッチングなどの他の手法を用いて実行されても良い。
 S212では、CPU110は、注目ラベルに対応する図面データを不揮発性記憶装置130から取得する。例えば、注目ラベルがラベルL1(図2)である場合には、ラベルL1の貼付工程の指示書として用いられる図面DI1(図3(A))を示す図面データDD1が取得される。注目ラベルがラベルL2である場合には、図面DI2(図3(B))を示す図面データDD2が取得される。
 S215では、CPU110は、撮像画像と図面とのパターンマッチングを実行する。例えば、CPU110は、図6(A)の撮像画像PI1内において、図3(A)の図面DI1をテンプレートとしてパターンマッチングを実行する。これによって、撮像画像PI1と図面DI1との位置関係が特定される。本ステップのパターンマッチングでは、例えば、図面DI1の特徴点P1、P2、P3(図3(A))と、撮像画像PI1の対応する特徴点P4、P5、P6(図6(A))と、が公知の特徴点抽出アルゴリズムによって抽出される。そして、撮像画像PI1の座標系において、図面DI1の拡大縮小処理、回転処理、および、並進処理が実行されて、図面DI1の特徴点P1、P2、P3と撮像画像PI1の対応する特徴点P4、P5、P6とが一致する位置関係が特定される。
 例えば、図6(A)において、破線の矩形で示す図面DI1は、パターンマッチングによって特定される位置関係で撮像画像PI1に対して配置されている。図6(B)において、破線の矩形で示す図面DI2は、パターンマッチングによって特定される位置関係で撮像画像PI2に対して配置されている。
 S220では、CPU110は、図面内の寸法補助線に対応する撮像画像内の基準部位を特定する。例えば、図6(A)には、破線で示す図面DI1内に、寸法補助線A11a、A11b、A12a、A12bが示されている。図6(B)には、破線で示す図面DI2内に、寸法補助線A21a、A21b、A22a、A22bが示されている。上述のように、これらの寸法補助線のうち、寸法補助線A12a、A12b、A22a、A22bは、筐体の基準部位に対応する線であり、寸法補助線A11a、A11b、A21a、A21bは、ラベルの端に対応する線である。S215のパターンマッチングによってこれらの寸法補助線に対応する撮像画像内の位置は特定されている。注目ラベルがラベルL1である場合には、CPU110は、図6(A)の撮像画像PI1において、寸法補助線A12a、A12bの近傍にて、寸法補助線A12a、A12bと平行な直線状のエッジを探索し、探索されたエッジを基準部位として特定する。これによって、撮像画像PI1において、寸法補助線A12a、A12bに対応する基準部位PS1a、PS1bが特定される。注目ラベルがラベルL2である場合には、図6(B)の撮像画像PI2において、寸法補助線A22a、A22bに対応する基準部位PS2a、PS2bが特定される。
 S225では、CPU110は、図面内の寸法補助線に対応する撮像画像内のラベルのエッジを特定する。例えば、CPU110は、S210にて特定済みのラベルの端のうち、寸法補助線の近傍に位置する端のエッジを特定する。これによって、注目ラベルがラベルL1である場合には、撮像画像PI1において、寸法補助線A11a、A11bに対応するラベルPL1の右端および下端のエッジが特定される。注目ラベルがラベルL2である場合には、撮像画像PI2において、寸法補助線A21a、A21bに対応するラベルPL2の右端および上端のエッジが特定される。
 S230では、CPU110は、撮像画像において、基準部位とラベルのエッジとの間の寸法を算出する。例えば、CPU110は、基準部位とラベルのエッジとの間の画素数をカウントし、該画素数に基づいて寸法(例えば、単位はmm)を算出する。本実施例では、撮像装置400の内部パラメータ(例えば焦点距離や光学中心)、外部パラメータ(例えばカメラの配置位置)、視野角が既知であり、製品300と撮像装置400との位置関係は固定である。このために、画素数と寸法との関係は、式として規定することができる。CPU110は、これらの式に基づいて画素数を寸法に換算することができる。
 注目ラベルがラベルL1である場合には、撮像画像PI1において、基準部位PS1aとラベルPL1の右端のエッジとの間の水平方向の寸法d1aと、基準部位PS1bとラベルPL1の下端のエッジとの間の鉛直方向の寸法d1bと、が算出される。注目ラベルがラベルL2である場合には、撮像画像PI2において、基準部位PS2aとラベルPL2の右端のエッジとの間の水平方向の寸法d2aと、基準部位PS2bとラベルPL2の上端のエッジとの間の鉛直方向の寸法d2bと、が算出される。
 S235では、CPU110は、ラベルと基準部位との間の水平方向および鉛直方向の寸法が寸法範囲内であるか否かを判断する。寸法範囲は、上述した検査準備処理(図4)において、ラベルごとに登録された寸法情報によって規定される範囲である。
 例えば、注目ラベルがラベルL1である場合には、登録される水平方向の寸法情報は、設計値「10」と公差「±3」であり、鉛直方向の寸法情報は、設計値「8」と公差「±2」である。したがって、水平方向の寸法d1aが7<d1a<13を満たし、かつ、鉛直方向の寸法d1bが6<d1b<10を満たす場合には、水平方向および鉛直方向の寸法は寸法範囲内であると判断される。水平方向の寸法d1aが7<d1a<13を満たさない、あるいは、鉛直方向の寸法d1bが6<d1b<10を満たさない場合には、水平方向および鉛直方向の寸法は寸法範囲内でないと判断される。
 注目ラベルがラベルL2である場合には、登録される水平方向の寸法情報は、設計値「16」と公差「±3」であり、鉛直方向の寸法情報は、設計値「8」と公差「±2」である。したがって、水平方向の寸法d2aが13<d2a<19を満たし、かつ、鉛直方向の寸法d2bが6<d2b<10を満たす場合には、水平方向および鉛直方向の寸法は寸法範囲内であると判断される。水平方向の寸法d2aが13<d2a<19を満たさない、あるいは、鉛直方向の寸法d2bが6<d2b<10を満たさない場合には、水平方向および鉛直方向の寸法は寸法範囲内でないと判断される。
 水平方向および鉛直方向の寸法が寸法範囲内である場合には(S235:YES)、S240にて、CPU110は、注目ラベルの貼付位置は、設計上の位置であると判定する。水平方向および鉛直方向の寸法の少なくとも一方が寸法範囲内でない場合には(S235:NO)、S245にて、CPU110は、注目ラベルの貼付位置は、設計上の位置でないと判定する。
 S250では、CPU110は、全てのラベルを注目ラベルとして処理したか否かを判断する。未処理のラベルがある場合には(S250:NO)、CPU110は、S200に戻る。全てのラベルが処理された場合には(S250:YES)、S255にて、CPU110は、判定結果を出力する。例えば、CPU110は、各ラベルの判定結果を表示部140に表示する。判定結果が出力されると、検査処理は終了される。
 以上説明した本実施例によれば、CPU110は、ラベルL1が特定の貼付位置(本実施例では設計上の貼付位置)に貼付された状態の製品300のうち、少なくともラベルL1を含む部分の図面DI1を示す図面データDD1を取得する(図4のS100、図5のS212)。CPU110は、図面データDD1を用いて、図面DI1内のラベルBL1を特定する(図4のS105)。CPU110は、図面データDD1を用いて、図面DI1内の寸法補助線A12a、A12bを特定する(図4のS115)ことによって図面DI1内の基準部位BS1a、BS1bの位置を特定する。CPU110は、図面データDD1と、図面DI1内のラベルBL1の特定結果と、図面DI1内の基準部位の位置の特定結果(本実施例では寸法補助線A12a、A12bの特定結果)と、を用いて、図面DI1内に示される寸法情報を取得する(図4のS120~S135)。さらに、CPU110は、ラベルL1が貼付された状態の製品300を撮像することによって得られる撮像画像データを取得する(図5のS205)。CPU110は、撮像画像データを用いて、撮像画像PI1内のラベルPL1を特定する(図5のS210)。CPU110は、撮像画像データを用いて、撮像画像PI1内の基準部位PS1a、PS1bを特定する(図5のS220)。CPU110は、撮像画像PI1内のラベルPL1の特定結果と、撮像画像PI1内の基準部位PS1a、PS1bの特定結果と、寸法情報と、を用いて、撮像画像PI1内のラベルPL1の貼付位置が寸法情報によって規定される特定の貼付位置(本実施例では設計上の貼付位置)であるか否かを判定する(図5のS225~S245)。この結果、図面データDD1を用いて、撮像画像データを用いて製品300に貼付されたラベルL1の貼付位置を容易に検査することができる。例えば、ラベルごとに検査のロジックを作成する必要がなく、ラベルごとに図面データを容易するだけで、様々なラベルの検査を実施できる。また、本実施例では、ラベルL1の貼付工程の指示書として用いられる図面DI1(図3(A))を示す図面データDD1が用いられるので、図面データの準備も容易である。
 さらに、本実施例によれば、寸法情報は、ラベルL1と基準部位S1a、S1bとの間の寸法の設計値と公差とを含む(図3(A))。CPU110は、撮像画像PI1内のラベルPL1と撮像画像PI1内の基準部位PS1a、PS1bとの間の寸法を特定し(図5のS225、S230)、特定された寸法が設計値と公差とに基づく寸法範囲内であるか否かを判定することによって、撮像画像PI1内のラベルPL1の貼付位置が特定の貼付位置であるか否かを判定する(図5のS235~S245)。この結果、設計値と公差とに基づいて、ラベルL1の貼付位置を適切に検査することができる。
 さらに、本実施例によれば、CPU110は、撮像画像データに対して、撮像画像PI1内の歪みを補正する歪み補正処理を実行する(図5のS208)。CPU110は、歪み補正処理済みの撮像画像データを用いて、撮像画像PI1内のラベルPL1の貼付位置が特定の貼付位置であるか否かを判定する(図5のS210~S245)。このように、歪み補正処理済みの撮像画像データが用いられることで、ラベルL1の貼付位置が特定の貼付位置であるか否かを精度良く判定することができる。例えば、筐体30の前面31が撮像装置400の撮像方向AR1に対して垂直な状態でなく、傾いた状態で撮像が行われた場合でも、ラベルL1の貼付位置が特定の貼付位置であるか否かを精度良く判定することができる。
 さらに、本実施例によれば、検査対象のラベルは、ラベルL1とラベルL2とを含み、ラベルL1とラベルL2とは、それぞれ、互いに異なる基準部位を基準として貼付されるべき貼付位置が規定されている(図3)。CPU110は、ラベルL1とラベルL2とのそれぞれについて寸法情報を取得する(図4のS135、S145等)。CPU110は、ラベルL1とラベルL2とのそれぞれについて、図5の検査処理のS200~S245を実行する。この結果、複数個のラベルL1、L2の貼付位置をそれぞれ適切に検査することができる。
 さらに、本実施例によれば、ラベルL1は筐体30の前面31に貼付され、ラベルL2は筐体30の前面31とは異なる方向を向いた右側面32に貼付される。検査準備処理および検査処理に用いられる図面データは、前面31のうち、少なくともラベルL1を含む部分の2次元の図面DI1を示す図面データDD1と、右側面32のうち、少なくともラベルL2を含む部分の2次元の図面DI2を示す図面データDD2と、を含む(図1、図3等)。検査処理に用いられる撮像画像データは、前面31のうち、少なくともラベルL1を含む部分の撮像画像PI1を示す撮像画像データと、右側面32のうち、少なくともラベルL2を含む部分の撮像画像PI2を示す撮像画像データと、を含む。この結果、ラベルL1の貼付位置とラベルL2の貼付位置とを、それぞれ、互いに異なる図面データと撮像画像データのペアを用いて適切に検査することができる。また、ラベルごとに図面データを準備するだけで、複数個のラベルを容易に検査することができる。
 さらに、上記実施例によれば、検査準備処理において、CPU110は、ビットマップデータである図面データDD1を解析することによって、ラベルL1に接する寸法補助線A11a、A11bと、寸法補助線A11a、A11bと平行でラベルL1から離れた寸法補助線A12a、A12bと、を特定する(図3(A)、図4のS110、S115)。CPU110は、図面データDD1を解析することによって、これらの寸法補助線に対応付けられた数値N1a、N1bを特定し(図4のS120~S130)、数値N1a、N1bに基づいて寸法情報を取得する(図4のS135)。この結果、図面データDD1がビットマップデータであっても、図面データDD1を解析して、寸法補助線に対応付けられた数値N1a、N1bを特定することで、寸法情報を適切に取得できる。
 より具体的には、CPU110は、これらの寸法補助線に対応付けられた寸法線E1a、E1bおよび寸法線E1a、E1bの端末記号である矢印R1a、R1bを特定する(図4のS120、S125)。そして、CPU110は、寸法線E1a、E1bに基づく範囲内を探索することによって、数値N1a、N1bを特定する(図4のS130)。この結果、図面データDD1を適切に解析することで、寸法情報を確実に取得することができる。図面DI1には、一般的にJISなどの規格で定められたルールに従って、寸法補助線、寸法線、矢印などの端末記号が記載されている。例えば、該ルールを踏まえて、図面データDD1を解析すれば、寸法補助線、寸法線、矢印などの端末記号は、確実に特定することができ、ひいては、寸法を示す数値も確実に特定することができる。
B.第2実施例
 第2実施例では、第1実施例と比較して、検査処理の構成が異なる。第2実施例の他の構成は、第1実施例と同一である。図7は、第2実施例の検査処理のフローチャートである。
 図7において、図5と同一の処理には、図5と同一の符号が付され、図5と異なる処理には、符号の末尾に「B」が付されている。図7の検査処理では、図5のS215に代えて、S215Bが実行され、図5のS225、S230、S235に代えて、S225B、S235Bが実行される。図7の検査処理の他の処理は、図5の処理と同一である。以下では、注目ラベルがラベルL1である場合を例として、図7の検査処理の図5と異なる部分について説明する。
 S215Bでは、CPU110は、撮像画像PI1内のラベルPL1と、図面DI1内のラベルBL1と、のパターンマッチングを実行する。具体的には、CPU110は、図面DI1内のラベルBL1のサイズと、撮像画像PI1内のラベルPL1のサイズと、が一致するように、図面DI1に対してサイズ変更処理を実行する。サイズ変更処理は、画像のサイズを変更する処理であり、拡大処理と縮小処理とのいずれかである。CPU110は、サイズ変更処理済みの図面DI1内のラベルBL1と、撮像画像PI1内のラベルPL1と、が一致するように、撮像画像PI1に対する図面DI1の位置と角度とを決定する。なお、変形例では、パターンマッチングにおいて、撮像画像PI1に対してサイズ変更処理が実行されても良い。
 図8は、第2実施例の検査処理の説明図である。図8(A)には、図面DI1のうち、ラベルBL1と2本の寸法補助線A12a、A12bだけが図示されている。図8(B)には、S215Bのパターンマッチングにて決定されたサイズおよび位置関係で、撮像画像PI1に対して、図8(A)のラベルBL1と2本の寸法補助線A12a、A12bとが配置された状態が図示されている。図8(B)では、撮像画像PI1内のラベルPL1と図面DI1内のラベルBL1とが完全に重なっている。
 S220では、図5のS220と同様に、CPU110は、寸法補助線A12a、A12bに対応する撮像画像内の基準部位PS1a、PS1bを特定する。図8(B)の状態において、ラベルBL1と基準部位PS1aとの距離が設計値と一致している場合には、基準部位PS1aと寸法補助線A12aとは重なる。ラベルBL1と基準部位PS1aとの距離が設計値と一致しない場合には、基準部位PS1aと寸法補助線A12aとは重ならない。同様に、基準部位PS1bと寸法補助線A12bとは重なる場合と重ならない場合とがある。図8(B)の例では、基準部位PS1aと寸法補助線A12a、および、基準部位PS1bと寸法補助線A12bは、重なっていない。
 S225Bでは、CPU110は、図8(B)の状態において、撮像画像PI1内の基準部位PS1aと、図面DI1の寸法補助線A12aと、の間の水平方向の距離Δdaを算出する。例えば、CCPU110は、ラベルBL1と寸法補助線A12aとの間の距離dp(図8(A))を、画素数を単位として算出する。CPU110は、画素数を単位とする距離dpと、距離dpの設計値、すなわち、図3(A)の数値N1aに示される設計値(単位はmm)と、の比率に基づいて、画素数をミリメートル(mm)に換算する係数を決定する。これに代えて、該係数は、ラベルBL1の幅または高さの画素数と、ラベルL1の幅または高さの予め記憶された実測値(単位はmm)と、の比率に基づいて、決定されても良い。数値N1aに示される設計値は、検査準備処理にて登録される寸法情報に含まれている。CPU110は、距離Δdaを、画素数を単位として算出した後に、上述した係数を用いて、距離Δdaの単位をミリメートルに換算する。CPU110は、同様の手法を用いて、図8(B)の状態において、撮像画像PI1内の基準部位PS1bと、図面DI1の寸法補助線A12bと、の間の鉛直方向の距離Δdbを算出する。
 S235Bでは、CPU110は、水平方向および鉛直方向の距離Δda、Δdbが公差内であるか否かを判断する。公差は、検査準備処理にて登録される寸法情報に含まれている。水平方向および鉛直方向の距離Δda、Δdbが公差内である場合には(S235B:YES)、S240にて、CPU110は、注目ラベル(例えば、ラベルL1)の貼付位置は、設計上の位置であると判定する。水平方向および鉛直方向のΔda、Δdbの少なくとも一方が公差内でない場合には(S235B:NO)、S245にて、CPU110は、注目ラベル(例えば、ラベルL1)の貼付位置は、設計上の位置でないと判定する。
 以上説明した第2実施例によれば、パターンマッチングにおいて、撮像画像PI1内のラベルLP1のサイズと図面DI1内のラベルBL1のサイズとが一致するようにサイズ変更処理が実行され、サイズ変更処理済みの図面データを用いて、撮像画像PI1内のラベルPL1の貼付位置が特定の貼付位置であるか否かが判定される。ラベルのサイズは、製造誤差などで変動することはほとんどないと考えて良い。また、ラベルの形状は、矩形等のシンプルな形状であるので、サイズ変更処理を容易に精度良く実行することができる。この結果、上述した水平方向および鉛直方向の距離Δda、Δdbを精度良く算出できるので、ラベルPL1の貼付位置が特定の貼付位置であるか否かを精度良く判定できる。
 さらに、第2実施例によれば、撮像画像PI1内のラベルPL1の位置およびサイズと図面DI1内のラベルBL1の位置およびサイズとが一致している状態(図8(B))における撮像画像PI1内の基準部位PS1a、PS1bの位置と図面DI1内の基準部位BS1a、BS1bの位置との差(すなわち、距離Δda、Δdb)が特定される(図7のS225B)。そして、これらの距離Δda、Δdbが公差内であるか否かを判定することによって、撮像画像PI1内のラベルPL1の貼付位置が特定の貼付位置であるか否かが判定される。この結果、第1実施例の検査処理とは異なる手法で、ラベルの貼付位置が特定の貼付位置であるか否かを適切に判定することができる。
C.変形例:
(1)上記実施例の図4の検査準備処理では、図4のS110、S115にて寸法補助線が特定され、S120~S130にて寸法補助線に対応付けられた数値が特定されることによって寸法情報が取得されているが、これに限られない。
 例えば、CPU110は、図4のS115にて寸法補助線A12a、A12bを特定することに代えて、パターンマッチング等の手法を用いて、図面DI1内の基準部位BS1a、BS1bそのものを特定することによって、基準部位BS1a、BS1bの位置を特定しても良い。そして、CPU110は、図面DI1において、ラベルLB1と基準部位BS1a、BS1bとの近傍において、数値を探索することによって、寸法情報を取得しても良い。
(2)上記実施例では、図面データDD1は、ビットマップデータであるが、図面データは、線図や寸法補助線等を示すベクトルデータおよび設計値や公差を示す数値データを含むCADデータであっても良い。この場合には、CPU110は、図面データに含まれる寸法補助線のデータからラベルと筐体との位置関係を規定するための寸法補助線を特定し、該寸法補助線と対応付けられている設計値や公差を示す数値データを取得しても良い。
(3)上記実施例の図5の検査処理では、歪み補正処理(S208)が実行されているが、例えば、撮像画像PI1の歪みが検査処理に影響が無い程度に小さい場合には、歪み補正処理は省略されても良い。
(4)上記実施例では、2個のラベルが検査の対象とされているが、検査の対象となるラベルの個数は、1個でも良く、3個以上であっても良い。また、上記実施例では、一つのラベルに対して一つの図面データと一つの撮影画像データが用いられている。これに代えて、複数個のラベルに対して一つの図面データが用いられても良いし、複数個のラベルに対して一つの撮影画像データが用いられても良い。例えば、前面31に複数個のラベルが貼付される場合には、該複数個のラベルを含む一つの図面データや一つの撮影画像データが用いられても良い。
(5)上記実施例の検査準備処理では、寸法線の端末記号として矢印が特定され(図4のS120)、該矢印に対応付けられた寸法線が特定されている(図4のS125)。これに代えて、矢印とは異なる端末記号、例えば、黒丸や斜線が特定されても良い。また、端末記号を特定することなく、寸法補助線の近傍で直線を探索することによって、寸法線が特定されても良い。
(6)上記実施例では、ラベルL1、L2の形状は、矩形である。これに代えて、ラベルL1、L2の形状は、三角形、五角形などの矩形以外の多角形であっても良く、円、楕円であっても良い。
(7)上記実施例では、ラベルと基準部位との水平方向の距離、および、ラベルと基準部位との鉛直方向の距離を規定することによって、ラベルの筐体に対する貼付位置が規定されている。これに代えて、ラベルの筐体に対する貼付位置を規定するためのラベルと基準部位との距離の全部または一部は、水平方向と鉛直方向とのいずれとも平行でない斜め方向の距離を含んでも良い。この場合であっても当該斜め方向の距離の寸法情報を取得し、撮像画像内の当該斜め方向の距離が、寸法情報によって定められる寸法範囲内であるか否かを判定することによって、ラベルが貼付位置にあるか否かが判定される。
(8)上記実施例では、検査準備処理と検査処理とは、図1の検査装置100によって実行されている。これに代えて、検査準備処理と検査処理とは、それぞれ、別の装置によって実行されても良い。この場合には、例えば、検査準備処理によって登録された寸法情報は、検査処理を実行する装置の記憶装置に格納される。また、検査準備処理と検査処理との全部または一部は、ネットワークを介して互いに通信可能な複数個の計算機(例えば、いわゆるクラウドサーバ)によって実行されても良い。
(9)上記実施例では、製品300に貼付されたラベルL1、L2の貼付位置の検査が行われている。これに限らず、上記実施例と同様の手法は、一般的に、物体の一部を構成する構成部の配置位置を検査する際に、採用することができる。すなわち、上記各実施例では、ラベルL1、L2が貼付された製品300(ラベルL1、L2と製品300との全体)が物体の一例であり、ラベルL1、L2が構成部の一例である。
 例えば、物体は、製品300に限らず、製品300を構成する部品、例えば、プリンタに用いられる印刷ヘッドであっても良い。また、物体は、製品300を構成する一部の部品の組み合わせ、例えば、プリンタに用いられる印刷ヘッドと印刷ヘッドが組み付けられたキャリッジであっても良い。また、物体は、製品300を製造する過程で製造される未完成の中間製造物であっても良い。
 例えば、構成部は、物体に貼付されたラベルに限らず、物体に形成された形成部、具体的には、ねじ穴であっても良く、凹凸で表現された模様や銘(製造者や製品のブランドロゴ)であっても良い。また、構成部は、物体に塗布された塗装部であっても良い。
 物体や構成部として上記に例示したいずれが採用される場合であっても、例えば、図4のS100にて、CPU110は、該構成部が特定の配置位置に配置された状態の該物体のうち、少なくとも該構成部を含む部分の図面を示す図面データを取得すれば良い。そして、図4のS105にて、CPU110は、取得された図面データを用いて、図面内の該構成部を特定する。図4のS115にて、CPU110は、図面データを用いて、図面内の寸法補助線等を特定することによって図面内の基準部位、すなわち、該物体に対する該構成部の特定の配置位置を規定するための基準となる部位の位置を特定する。CPU110は、図面データと、図面内の該構成部の特定結果と、図面内の基準部位の位置の特定結果と、を用いて、図面内に示される寸法情報を取得する。さらに、図5のS205にて、CPU110は、該構成部が配置された状態の該物体を撮像することによって得られる撮像画像データを取得すれば良い。そして、図5のS210にて、CPU110は、撮像画像データを用いて、撮像画像内の該構成部を特定し、図5のS220にて、撮像画像データを用いて、撮像画像内の基準部位を特定する。図5のS225~S245にて、CPU110は、撮像画像内の該構成部の特定結果と、撮像画像内の基準部位の特定結果と、寸法情報と、を用いて、撮像画像1内の該構成部の配置位置が寸法情報によって規定される特定の配置位置であるか否かを判定すれば良い。この結果、図面データDD1を用いて、撮像画像データを用いて該物体の一部を構成する該構成部の配置位置を容易に検査することができる。
(10)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、検査準備処理と検査処理との全部または一部は、ASIC(Application Specific Integrated Circuit)等のハードウェア回路によって実行されてよい。
 以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
 100…検査装置,1000…検査システム,110…CPU,120…揮発性記憶装置,130…不揮発性記憶装置,140…表示部,150…操作部,170…通信部,30…筐体,300…製品,31…前面,32…右側面,400…撮像装置,A11a,A11b,A12a,A12b,A21a,A21b,A22a,A22b…寸法補助線,DD1,DD2…図面データ,DI1,DI2…図面,E1a,E1b,E2a,E2b…寸法線,L1,L2…ラベル,PG…コンピュータプログラム,PI1,PI2…撮像画像,R1a,R1b,R2a,R2b…矢印,S1a,S1b,S2a,S2b…基準部位

Claims (20)

  1.  製品に貼付されたラベルの貼付位置を検査する検査装置であって、
     前記ラベルが特定の貼付位置に貼付された状態の前記製品のうち、少なくとも前記ラベルを含む部分の図面を示す図面データを取得する図面取得部と、
     前記図面データを用いて、前記図面内の前記ラベルを特定する図面ラベル特定部と、
     前記図面データを用いて、前記図面内の前記製品の基準部位の位置を特定する基準位置特定部であって、前記基準部位は、前記製品に対する前記ラベルの前記特定の貼付位置を規定するための基準となる部位である、前記基準位置特定部と、
     前記図面データと、前記図面内の前記ラベルの特定結果と、前記図面内の前記基準部位の特定結果と、を用いて、前記図面内に示される寸法情報を取得する寸法取得部であって、前記寸法情報は、前記基準部位と前記特定の貼付位置との位置関係を規定する情報であり、前記特定の貼付位置の公差を含む、前記寸法取得部と、
     前記ラベルが貼付された状態の前記製品を撮像することによって得られる撮像画像データを取得する撮像画像取得部であって、前記撮像画像データによって示される撮像画像は、前記製品のうち、少なくとも前記ラベルを含む部分を含む、前記撮像画像取得部と、
     前記撮像画像データを用いて、前記撮像画像内の前記ラベルを特定する撮像ラベル特定部と、
     前記撮像画像データを用いて、前記撮像画像内の前記製品の前記基準部位を特定する基準部位特定部と、
     前記撮像画像内の前記ラベルの特定結果と、前記撮像画像内の前記基準部位の位置の特定結果と、前記寸法情報と、を用いて、前記撮像画像内の前記ラベルの貼付位置が前記寸法情報によって規定される前記特定の貼付位置であるか否かを判定する位置判定部と、
     を備える、検査装置。
  2.  請求項1に記載の検査装置であって、
     前記寸法情報は、前記公差と、前記ラベルと基準部位との間の寸法の設計値と、を含み、
     前記位置判定部は、
      前記撮像画像内の前記ラベルと前記撮像画像内の前記基準部位との間の寸法を特定し、
      特定された寸法が前記設計値と前記公差とに基づく範囲内であるか否かを判定することによって、前記撮像画像内の前記ラベルの貼付位置が前記特定の貼付位置であるか否かを判定する、検査装置。
  3.  請求項1に記載の検査装置であって、
     前記位置判定部は、
     前記撮像画像内の前記ラベルの位置およびサイズと前記図面内の前記ラベルの位置およびサイズとが一致している状態における前記撮像画像内の前記基準部位の位置と前記図面内の前記基準部位の位置との差を特定し、
     前記撮像画像内の前記基準部位の位置と前記図面内の前記基準部位の位置との差が前記公差内であるか否かを判定することによって、前記撮像画像内の前記ラベルの貼付位置が前記特定の貼付位置であるか否かを判定する、検査装置。
  4.  請求項1~3のいずれかに記載の検査装置であって、さらに、
     前記撮像画像データに対して、前記撮像画像内の歪みを補正する歪み補正処理を実行する補正部を備え、
     前記位置判定部は、前記歪み補正処理済みの前記撮像画像データを用いて、前記撮像画像内の前記ラベルの貼付位置が前記特定の貼付位置であるか否かを判定する、検査装置。
  5.  請求項1~4のいずれかに記載の検査装置であって、さらに、
     前記撮像画像データと前記図面データとのうちの少なくとも一方の画像データに対して、前記撮像画像内の前記ラベルのサイズと前記図面内の前記ラベルのサイズとが一致するように画像のサイズを変更するサイズ変更処理を実行するサイズ変更部を備え、
     前記位置判定部は、前記サイズ変更処理済みの前記少なくとも一方の画像データを用いて、前記撮像画像内の前記ラベルの貼付位置が前記特定の貼付位置であるか否かを判定する、検査装置。
  6.  請求項1~5のいずれかに記載の検査装置であって、
     前記ラベルは、第1ラベルと第2ラベルとを含み、
     前記特定の貼付位置は、前記第1ラベルが貼付されるべき第1貼付位置と、前記第2ラベルが貼付されるべき第2貼付位置と、を含み、
     前記基準部位は、前記製品に対する前記第1貼付位置を規定するための基準となる第1基準部位と、前記製品に対する前記第2貼付位置を規定するための基準となる第2基準部位と、を含み、
     前記寸法情報は、前記第1基準部位と前記第1貼付位置との位置関係を規定する第1寸法情報と、前記第2基準部位と前記第2貼付位置との位置関係を規定する第2寸法情報と、を含み、
     前記図面ラベル特定部は、前記図面内の前記第1ラベルと前記第2ラベルとを特定し、
     前記基準位置特定部は、前記図面内の前記第1基準部位の位置と前記第2基準部位の位置とを特定し、
     前記寸法取得部は、前記図面内に示される前記第1寸法情報と前記第2寸法情報とを取得し、
     前記撮像ラベル特定部は、前記撮像画像内の前記第1ラベルと第2ラベルとを特定し、
     前記基準部位特定部は、前記撮像画像内の前記第1基準部位と前記第2基準部位とを特定し、
     前記位置判定部は、前記撮像画像内の前記第1ラベルの貼付位置が前記第1貼付位置であるか否かを判定し、前記撮像画像内の前記第2ラベルの貼付位置が前記第2貼付位置であるか否かを判定する、検査装置。
  7.  請求項6に記載の検査装置であって、
     前記第1ラベルは、前記製品の第1面に貼付され、前記第2ラベルは、前記製品の前記第1面とは異なる方向を向いた第2面に貼付され、
     前記図面データは、前記第1面のうち、少なくとも前記第1ラベルを含む部分の2次元の図面を示す第1図面データと、前記第2面のうち、少なくとも前記第2ラベルを含む部分の2次元の図面を示す第2図面データと、を含み、
     前記撮像画像データは、前記第1面のうち、少なくとも前記第1ラベルを含む部分の撮像画像を示す第1撮像画像データと、前記第2面のうち、少なくとも前記第2ラベルを含む部分の撮像画像を示す第2撮像画像データと、を含む、検査装置。
  8.  請求項1~7のいずれかに記載の検査装置であって、
     前記図面データは、ビットマップデータであり、
     前記基準位置特定部は、
      前記図面データを解析することによって、前記図面内の前記ラベルに接する第1寸法補助線を特定し、
      前記第1寸法補助線と平行で前記図面内の前記ラベルから離れた第2寸法補助線であって前記基準部位に付された前記第2寸法補助線を特定することによって、前記基準部位の位置を特定し、
     前記寸法取得部は、
      前記図面データを解析することによって、前記第1寸法補助線と前記第2寸法補助線とに対応付けられた数値を特定し、
      前記数値に基づいて前記寸法情報を取得する、検査装置。
  9.  請求項8に記載の検査装置であって、
     前記寸法取得部は、
      前記第1寸法補助線と前記第2寸法補助線とに対応付けられた寸法線および前記寸法線の端末記号のうちの少なくとも一方を特定し、
      前記寸法線および前記端末記号のうちの少なくとも一方に基づく範囲内を探索することによって、前記数値を特定する、検査装置。
  10.  製品に貼付されたラベルの貼付位置を検査するためのコンピュータプログラムであって、
     前記ラベルが特定の貼付位置に貼付された状態の前記製品のうち、少なくとも前記ラベルを含む部分の図面を示す図面データを取得する図面取得機能と、
     前記図面データを用いて、前記図面内の前記ラベルを特定する図面ラベル特定機能と、
     前記図面データを用いて、前記図面内の前記製品の基準部位の位置を特定する基準位置特定機能であって、前記基準部位は、前記製品に対する前記ラベルの前記特定の貼付位置を規定するための基準となる部位である、前記基準位置特定機能と、
     前記図面データと、前記図面内の前記ラベルの特定結果と、前記図面内の前記基準部位の特定結果と、を用いて、前記図面内に示される寸法情報を取得する寸法取得機能であって、前記寸法情報は、前記基準部位と前記特定の貼付位置との位置関係を規定する情報であり、前記特定の貼付位置の公差を含む、前記寸法取得機能と、
     前記ラベルが貼付された状態の前記製品を撮像することによって得られる撮像画像データを取得する撮像画像取得機能であって、前記撮像画像データによって示される撮像画像は、前記製品のうち、少なくとも前記ラベルを含む部分を含む、前記撮像画像取得機能と、
     前記撮像画像データを用いて、前記撮像画像内の前記ラベルを特定する撮像ラベル特定機能と、
     前記撮像画像データを用いて、前記撮像画像内の前記製品の前記基準部位を特定する基準部位特定機能と、
     前記撮像画像内の前記ラベルの特定結果と、前記撮像画像内の前記基準部位の特定結果と、前記寸法情報と、を用いて、前記撮像画像内の前記ラベルの貼付位置が前記寸法情報によって規定される前記特定の貼付位置であるか否かを判定する位置判定機能と、
     をコンピュータに実現させる、コンピュータプログラム。
  11.  製品に貼付されたラベルの貼付位置を検査する検査方法であって、
     前記ラベルが特定の貼付位置に貼付された状態の前記製品のうち、少なくとも前記ラベルを含む部分の図面を示す図面データを取得する図面取得工程と、
     前記図面データを用いて、前記図面内の前記ラベルを特定する図面ラベル特定工程と、
     前記図面データを用いて、前記図面内の前記製品の基準部位の位置を特定する基準位置特定工程であって、前記基準部位は、前記製品に対する前記ラベルの前記特定の貼付位置を規定するための基準となる部位である、前記基準位置特定工程と、
     前記図面データと、前記図面内の前記ラベルの特定結果と、前記図面内の前記基準部位の位置の特定結果と、を用いて、前記図面内に示される寸法情報を取得する寸法取得工程であって、前記寸法情報は、前記基準部位と前記特定の貼付位置との位置関係を規定する情報であり、前記特定の貼付位置の公差を含む、前記寸法取得工程と、
     前記ラベルが貼付された状態の前記製品を撮像することによって得られる撮像画像データを取得する撮像画像取得工程であって、前記撮像画像データによって示される撮像画像は、前記製品のうち、少なくとも前記ラベルを含む部分を含む、前記撮像画像取得工程と、
     前記撮像画像データを用いて、前記撮像画像内の前記ラベルを特定する撮像ラベル特定工程と、
     前記撮像画像データを用いて、前記撮像画像内の前記製品の前記基準部位を特定する基準部位特定工程と、
     前記撮像画像内の前記ラベルの特定結果と、前記撮像画像内の前記基準部位の特定結果と、前記寸法情報と、を用いて、前記撮像画像内の前記ラベルの貼付位置が前記寸法情報によって規定される前記特定の貼付位置であるか否かを判定する位置判定工程と、
     を備える、検査方法。
  12.  物体の一部を構成する構成部の配置位置を検査する検査装置であって、
     前記構成部が特定の配置位置に配置された状態の前記物体のうち、少なくとも前記構成部を含む部分の図面を示す図面データを取得する図面取得部と、
     前記図面データを用いて、前記図面内の前記構成部を特定する図面構成部特定部と、
     前記図面データを用いて、前記図面内の前記物体の基準部位の位置を特定する基準位置特定部であって、前記基準部位は、前記物体に対する前記構成部の前記特定の配置位置を規定するための基準となる部位である、前記基準位置特定部と、
     前記図面データと、前記図面内の前記構成部の特定結果と、前記図面内の前記基準部位の特定結果と、を用いて、前記図面内に示される寸法情報を取得する寸法取得部であって、前記寸法情報は、前記基準部位と前記特定の配置位置との位置関係を規定する情報であり、前記特定の配置位置の公差を含む、前記寸法取得部と、
     前記構成部が形成された状態の前記物体を撮像することによって得られる撮像画像データを取得する撮像画像取得部であって、前記撮像画像データによって示される撮像画像は、前記物体のうち、少なくとも前記構成部を含む部分を含む、前記撮像画像取得部と、
     前記撮像画像データを用いて、前記撮像画像内の前記構成部を特定する撮像構成部特定部と、
     前記撮像画像データを用いて、前記撮像画像内の前記物体の前記基準部位を特定する基準部位特定部と、
     前記撮像画像内の前記構成部の特定結果と、前記撮像画像内の前記基準部位の位置の特定結果と、前記寸法情報と、を用いて、前記撮像画像内の前記構成部の配置位置が前記寸法情報によって規定される前記特定の配置位置であるか否かを判定する位置判定部と、
     を備える、検査装置。
  13.  請求項12に記載の検査装置であって、
     前記寸法情報は、前記公差と、前記構成部と基準部位との間の寸法の設計値と、を含み、
     前記位置判定部は、
      前記撮像画像内の前記構成部と前記撮像画像内の前記基準部位との間の寸法を特定し、
      特定された寸法が前記設計値と前記公差とに基づく範囲内であるか否かを判定することによって、前記撮像画像内の前記構成部の配置位置が前記特定の配置位置であるか否かを判定する、検査装置。
  14.  請求項12に記載の検査装置であって、
     前記位置判定部は、
     前記撮像画像内の前記構成部の位置およびサイズと前記図面内の前記構成部の位置およびサイズとが一致している状態における前記撮像画像内の前記基準部位の位置と前記図面内の前記基準部位の位置との差を特定し、
     前記撮像画像内の前記基準部位の位置と前記図面内の前記基準部位の位置との差が前記公差内であるか否かを判定することによって、前記撮像画像内の前記構成部の配置位置が前記特定の配置位置であるか否かを判定する、検査装置。
  15.  請求項12~14のいずれかに記載の検査装置であって、さらに、
     前記撮像画像データに対して、前記撮像画像内の歪みを補正する歪み補正処理を実行する補正部を備え、
     前記位置判定部は、前記歪み補正処理済みの前記撮像画像データを用いて、前記撮像画像内の前記構成部の配置位置が前記特定の配置位置であるか否かを判定する、検査装置。
  16.  請求項12~15のいずれかに記載の検査装置であって、さらに、
     前記撮像画像データと前記図面データとのうちの少なくとも一方の画像データに対して、前記撮像画像内の前記構成部のサイズと前記図面内の前記構成部のサイズとが一致するように画像のサイズを変更するサイズ変更処理を実行するサイズ変更部を備え、
     前記位置判定部は、前記サイズ変更処理済みの前記少なくとも一方の画像データを用いて、前記撮像画像内の前記構成部の配置位置が前記特定の配置位置であるか否かを判定する、検査装置。
  17.  請求項12~16のいずれかに記載の検査装置であって、
     前記構成部は、第1構成部と第2構成部とを含み、
     前記特定の配置位置は、前記第1構成部が配置されるべき第1配置位置と、前記第2構成部が配置されるべき第2配置位置と、を含み、
     前記基準部位は、前記物体に対する前記第1配置位置を規定するための基準となる第1基準部位と、前記物体に対する前記第2配置位置を規定するための基準となる第2基準部位と、を含み、
     前記寸法情報は、前記第1基準部位と前記第1配置位置との位置関係を規定する第1寸法情報と、前記第2基準部位と前記第2配置位置との位置関係を規定する第2寸法情報と、を含み、
     前記図面構成部特定部は、前記図面内の前記第1構成部と前記第2構成部とを特定し、
     前記基準位置特定部は、前記図面内の前記第1基準部位の位置と前記第2基準部位の位置とを特定し、
     前記寸法取得部は、前記図面内に示される前記第1寸法情報と前記第2寸法情報とを取得し、
     前記撮像構成部特定部は、前記撮像画像内の前記第1構成部と第2構成部とを特定し、
     前記基準部位特定部は、前記撮像画像内の前記第1基準部位と前記第2基準部位とを特定し、
     前記位置判定部は、前記撮像画像内の前記第1構成部の配置位置が前記第1配置位置であるか否かを判定し、前記撮像画像内の前記第2構成部の配置位置が前記第2配置位置であるか否かを判定する、検査装置。
  18.  請求項17に記載の検査装置であって、
     前記第1構成部は、前記物体の第1面に配置され、前記第2構成部は、前記物体の前記第1面とは異なる方向を向いた第2面に配置され、
     前記図面データは、前記第1面のうち、少なくとも前記第1構成部を含む部分の2次元の図面を示す第1図面データと、前記第2面のうち、少なくとも前記第2構成部を含む部分の2次元の図面を示す第2図面データと、を含み、
     前記撮像画像データは、前記第1面のうち、少なくとも前記第1構成部を含む部分の撮像画像を示す第1撮像画像データと、前記第2面のうち、少なくとも前記第2構成部を含む部分の撮像画像を示す第2撮像画像データと、を含む、検査装置。
  19.  請求項12~18のいずれかに記載の検査装置であって、
     前記図面データは、ビットマップデータであり、
     前記基準位置特定部は、
      前記図面データを解析することによって、前記図面内の前記構成部に接する第1寸法補助線を特定し、
      前記第1寸法補助線と平行で前記図面内の前記構成部から離れた第2寸法補助線であって前記基準部位に付された前記第2寸法補助線を特定することによって、前記基準部位の位置を特定し、
     前記寸法取得部は、
      前記図面データを解析することによって、前記第1寸法補助線と前記第2寸法補助線とに対応付けられた数値を特定し、
      前記数値に基づいて前記寸法情報を取得する、検査装置。
  20.  請求項19に記載の検査装置であって、
     前記寸法取得部は、
      前記第1寸法補助線と前記第2寸法補助線とに対応付けられた寸法線および前記寸法線の端末記号のうちの少なくとも一方を特定し、
      前記寸法線および前記端末記号のうちの少なくとも一方に基づく範囲内を探索することによって、前記数値を特定する、検査装置。
PCT/JP2022/019288 2021-05-20 2022-04-28 検査装置、コンピュータプログラム、および、検査方法 WO2022244616A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/504,328 US20240078658A1 (en) 2021-05-20 2023-11-08 Inspection apparatus and storage medium storing computer program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2021-085710 2021-05-20
JP2021085710 2021-05-20
JP2022009941A JP2022179314A (ja) 2021-05-20 2022-01-26 検査装置、コンピュータプログラム、および、検査方法
JP2022-009941 2022-01-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/504,328 Continuation US20240078658A1 (en) 2021-05-20 2023-11-08 Inspection apparatus and storage medium storing computer program

Publications (1)

Publication Number Publication Date
WO2022244616A1 true WO2022244616A1 (ja) 2022-11-24

Family

ID=84140600

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/019288 WO2022244616A1 (ja) 2021-05-20 2022-04-28 検査装置、コンピュータプログラム、および、検査方法

Country Status (2)

Country Link
US (1) US20240078658A1 (ja)
WO (1) WO2022244616A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339459A (ja) * 1999-05-25 2000-12-08 Sharp Corp 画像処理装置
WO2013018615A1 (ja) * 2011-07-29 2013-02-07 日本電気株式会社 照合・検索システム、照合・検索サーバ、画像特徴抽出装置、照合・検索方法及びプログラム
JP2017073005A (ja) * 2015-10-07 2017-04-13 株式会社東洋レーベル ラベルシート検査機
JP2018116022A (ja) * 2017-01-20 2018-07-26 三菱重工機械システム株式会社 寸法計測システム、寸法計測システム用のサーバ及び寸法計測方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339459A (ja) * 1999-05-25 2000-12-08 Sharp Corp 画像処理装置
WO2013018615A1 (ja) * 2011-07-29 2013-02-07 日本電気株式会社 照合・検索システム、照合・検索サーバ、画像特徴抽出装置、照合・検索方法及びプログラム
JP2017073005A (ja) * 2015-10-07 2017-04-13 株式会社東洋レーベル ラベルシート検査機
JP2018116022A (ja) * 2017-01-20 2018-07-26 三菱重工機械システム株式会社 寸法計測システム、寸法計測システム用のサーバ及び寸法計測方法

Also Published As

Publication number Publication date
US20240078658A1 (en) 2024-03-07

Similar Documents

Publication Publication Date Title
CN111474184B (zh) 基于工业机器视觉的aoi字符缺陷检测方法和装置
US8457403B2 (en) Method of detecting and correcting digital images of books in the book spine area
JP6089722B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
TWI500925B (zh) Check the device, check the method and check the program
US20120243796A1 (en) Image processing apparatus, computer readable medium storing program, and image processing method
JP5387193B2 (ja) 画像処理システム、画像処理装置およびプログラム
JP6317725B2 (ja) 取得された画像内のクラッタを決定するためのシステム及び方法
JP2012510235A (ja) 曲線修正のためのイメージ処理
US11094082B2 (en) Information processing apparatus, information processing method, robot system, and non-transitory computer-readable storage medium
US8913852B2 (en) Band-based patch selection with a dynamic grid
US11216905B2 (en) Automatic detection, counting, and measurement of lumber boards using a handheld device
CN110288040B (zh) 一种基于拓扑验证的图像相似评判方法及设备
CN113688846B (zh) 物体尺寸识别方法、可读存储介质及物体尺寸识别系统
JP3661635B2 (ja) 画像処理方法およびその装置
JP2002140713A (ja) 画像処理方法およびその装置
WO2022244616A1 (ja) 検査装置、コンピュータプログラム、および、検査方法
WO2023188671A1 (ja) 点検支援システム、点検支援方法、及び、点検支援プログラム
JP7262927B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2022179314A (ja) 検査装置、コンピュータプログラム、および、検査方法
JPH1196372A (ja) 画像処理方法およびその装置、ならびに画像処理用の制御プログラムの記録媒体
US20230138821A1 (en) Inspection method for inspecting an object and machine vision system
JP6018802B2 (ja) 寸法測定装置、及びコンピュータープログラム
CN115984185A (zh) 纸巾包装缺陷检测方法、装置、系统和存储介质
JP2008269131A (ja) 画像処理装置及び画像処理プログラム
JP2009025992A (ja) 2次元コード

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22804530

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE