WO2021192371A1 - 画像処理システムおよびコンピュータプログラム - Google Patents

画像処理システムおよびコンピュータプログラム Download PDF

Info

Publication number
WO2021192371A1
WO2021192371A1 PCT/JP2020/037633 JP2020037633W WO2021192371A1 WO 2021192371 A1 WO2021192371 A1 WO 2021192371A1 JP 2020037633 W JP2020037633 W JP 2020037633W WO 2021192371 A1 WO2021192371 A1 WO 2021192371A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
pixel
value
differential
defective
Prior art date
Application number
PCT/JP2020/037633
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
Application filed by 日本電産株式会社 filed Critical 日本電産株式会社
Priority to CN202080098821.7A priority Critical patent/CN115335688A/zh
Publication of WO2021192371A1 publication Critical patent/WO2021192371A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination

Definitions

  • the present disclosure relates to image processing systems and computer programs.
  • a visual inspection is performed to determine whether or not a defect is present in the inspected object, that is, whether or not the inspected object is a non-defective product, using an image obtained by photographing the inspected object. There is. Twice
  • Japanese Patent Application Laid-Open No. 2000-132684 discloses an appearance inspection method capable of detecting defects generated on the surface of an object to be inspected having a striped pattern separately from the striped pattern.
  • a striped edge is detected by differential processing of an image, and the presence or absence of a defect is determined by paying attention to the disorder of the detected edge. Twice
  • Japanese Unexamined Patent Publication No. 2000-329538 discloses a method for determining a defect by subjecting an image to differential processing and further binarizing the image using a binarization threshold value.
  • Japanese Patent Application Laid-Open No. 2000-329538 further improves the performance of extracting defects uniformly in the entire captured image by calculating the binarization threshold value for each predetermined region even if there is image non-uniformity. be able to. Twice
  • Japanese Unexamined Patent Publication No. 2005-265661 discloses a method of determining a good or bad product by defining a good product range for each pixel from a plurality of good product image groups.
  • Japanese Unexamined Patent Publication No. 2000-132864 Japanese Unexamined Patent Publication No. 2000-329538 Japanese Unexamined Patent Publication No. 2005-265661
  • the defect may be determined to be small, or the defect may be divided into a plurality of defects to be determined. Twice
  • Embodiments of the present disclosure provide novel image processing systems and computer programs that can be used for visual inspection.
  • the image processing system includes a processor, a memory for storing a program that controls the operation of the processor, and at least one image generated from at least one non-defective image obtained by photographing a non-defective product.
  • a storage device for storing the data of the non-defective differential image of the product is provided, and according to the program, the processor acquires the data of the inspection image obtained by photographing the object to be inspected, and the acquired differential image of the inspection image. And the process of calculating the difference or ratio between the pixel value of the generated differential image and the pixel value of the non-defective differential image for each pixel at the same position of the good product differential image and the generated differential image.
  • the computer program according to the present disclosure is, in an exemplary embodiment, a computer program executed by a computer of an image processing system, wherein the image processing system is a processor that is the computer and a program that controls the operation of the processor.
  • the computer program has a memory for storing the data of at least one non-defective product differential image generated from at least one non-defective product image obtained by photographing the non-defective product, and the computer program in the processor.
  • the process of calculating the difference or ratio between the pixel value of the generated differential image and the pixel value of the non-defective differential image, and the difference or the ratio when the difference or the ratio is larger than a predetermined threshold value is executed.
  • candidate defects can be appropriately detected.
  • FIG. 1 is a diagram showing a configuration example of the appearance inspection system 1000 of the present disclosure having the image processing system 100.
  • FIG. 2 is a diagram schematically showing a configuration example of an image processing system 100.
  • FIG. 3 is a diagram for explaining the flow of image processing when detecting a thin scratch (line scratch) according to the first example.
  • FIG. 4 is a diagram for explaining the flow of image processing when detecting a thin scratch (line scratch) according to the second example.
  • FIG. 5 is a diagram showing a comparison between the original image and the detection result after the scratch detection process is performed.
  • FIG. 6 is a diagram schematically showing a change in the pixel value of a line scratch.
  • FIG. 7A is a diagram for explaining the generation process of the differential image according to the first example.
  • FIG. 7A is a diagram for explaining the generation process of the differential image according to the first example.
  • FIG. 7B is a diagram for explaining the generation process of the differential image according to the second example.
  • FIG. 8 is a flowchart showing a procedure of processing performed in the image processing system 100 according to the present embodiment.
  • FIG. 9 is a diagram for explaining the detection result according to the present embodiment.
  • FIG. 10 is a diagram for explaining the detection result according to the present embodiment when the non-defective product image has a gentle gradient of pixel values.
  • FIG. 11 is a diagram for explaining the detection result according to the present embodiment when the non-defective image has a steep gradient and a gentle gradient of pixel values.
  • FIG. 12 is a diagram for explaining still another method for suppressing over-detection.
  • the image processing system according to the present disclosure can be suitably used for preprocessing of an appearance inspection system for articles or parts at a manufacturing site such as a factory.
  • a manufacturing site such as a factory.
  • the configuration of the image processing system will be described based on the relationship with the visual inspection system. Twice
  • FIG. 1 is a diagram showing a configuration example of the appearance inspection system 1000 of the present disclosure having the image processing system 100.
  • FIG. 2 is a diagram schematically showing a configuration example of an image processing system 100. Twice
  • the visual inspection system 1000 includes an image pickup apparatus 30, an image processing system 100, and a monitor 130.
  • the image processing system 100, the input device 120 and the monitor 130 can be realized by a general-purpose digital computer system such as a PC. Further, the image pickup device 30 can be a digital still camera.
  • the image pickup apparatus 30 is communicably connected to the image processing system 100 by a wired communication cable or a wireless communication line (not shown).
  • the monitor 130 is communicably connected to the image processing system 100 by a wired communication cable (not shown). Twice
  • the image pickup apparatus 30 takes an image of the object to be inspected and sends the image data acquired by the image pickup to the image processing system 100.
  • the image processing system 100 performs "preprocessing" for defect detection on the image data received from the image pickup apparatus 30 according to the procedure described later. By the preprocessing, it is determined whether or not each pixel constituting the image data can be a pixel candidate (defect pixel candidate) including an image of a defect of the object to be inspected.
  • the "pre-processing" is the main processing of the image processing system 100 according to the present embodiment. Twice
  • Defects are later extracted from the image data using all the defect pixel candidates.
  • the visual inspection system 1000 it is determined whether or not a defect exists according to the size and / or range of the defect pixel candidates that exist continuously. All processes are collectively called "visual inspection".
  • the image processing system 100 may perform defect presence / absence determination processing after detecting all defect pixel candidates. Twice
  • the procedure of the visual inspection of the object to be inspected performed in the visual inspection system 1000 will be described with reference to FIG.
  • the object to be inspected is various articles such as various products or parts that are subject to visual inspection.
  • the object to be inspected may be referred to as a "work”. Twice
  • the work 70 is placed on the transfer table 62 and fixed to the transfer table 62 by the gripping mechanism.
  • the work 70 is, for example, a finished product of a hard disk drive, a housing of a hard disk drive in which a motor is incorporated, or the like. Twice
  • the transfer table 62 can be moved in the horizontal direction by the transfer stage 64 with the work 70 on it.
  • the image pickup apparatus 30 is supported by a support member 60 above the transfer stage 64 so as to include the transfer stage 64 in the field of view.
  • the image pickup apparatus 30 images the work 70 in the field of view.
  • the work 70 may be gripped by the robot arm and placed in the imaging position.
  • a light source (not shown) may illuminate the work 70 during imaging. Twice
  • the image data acquired by imaging is sent from the imaging device 30 to the image processing system 100.
  • An example of the size of the image acquired by one imaging is a horizontal 1600 pixel and a vertical 1200 image, and another example is a horizontal 800 pixel and a vertical 600 image. Twice
  • the image processing system 100 includes an arithmetic circuit 10, a memory 12, a storage device 14, and an image processing circuit 16. The components are connected to each other so as to be able to communicate with each other by the bus 18. Further, the image processing system 100 includes an interface device 22a that communicates with the image pickup device 30, an interface device 22b that communicates with the input device 120, and an interface device 22c that outputs video data to the monitor 130.
  • An example of the interface device 22a is a video input terminal or an Ethernet terminal.
  • An example of the interface device 22b is a USB terminal.
  • An example of the interface device 22c is an HDMI® terminal. Instead of these examples, other terminals may be used as the interface devices 22a to 22c.
  • the interface devices 22a to 22c may be wireless communication circuits for performing wireless communication.
  • a wireless communication circuit compliant with the Wi-Fi (registered trademark) standard that performs wireless communication using frequencies such as 2.4 GHz / 5.2 GHz / 5.3 GHz / 5.6 GHz. It has been known. Twice
  • the arithmetic circuit 10 can be, for example, an integrated circuit (IC) chip such as a central processing unit (CPU) or a digital signal processor.
  • the memory 12 stores a computer program 12p that controls the operation of the arithmetic circuit 10. Twice
  • the memory 12 does not have to be a single recording medium, but may be a set of a plurality of recording media.
  • the memory 12 may include, for example, a semiconductor volatile memory such as RAM and a semiconductor non-volatile memory such as flash ROM. At least a portion of the memory 12 may be a removable recording medium. Twice
  • the storage device 14 stores data of at least one non-defective differential image.
  • the “non-defective product differential image” is a differential image generated from at least one non-defective product image (an image obtained by photographing a non-defective product).
  • Each pixel value of the differential image is, for example, a difference value of the pixel values of at least two pixels of the non-defective image. Twice
  • the image processing circuit 16 may be an integrated circuit (IC) chip, also called a GPU (Graphics Processing Unit).
  • IC integrated circuit
  • GPU Graphics Processing Unit
  • the differential image of the inspection image obtained by photographing the inspected object and the non-defective differential image stored in advance in the storage device 14 are used to determine the defect of the inspected object for each pixel of the inspection image. It is determined whether or not it is a candidate for a pixel containing an image. The method of deriving the differential image will be described later.
  • the image pickup device 30 is a device that outputs an image signal for generating image data of the object to be inspected.
  • the image signal is sent to the arithmetic circuit 10 by wire or wirelessly.
  • a typical example of the image pickup apparatus 30 is a camera including an area sensor such as a CMOS image sensor or a CCD image sensor in which a large number of photodiodes are arranged in a matrix.
  • the image pickup apparatus 30 generates data of a color image or a monochrome image of the object to be inspected.
  • Various cameras for visual inspection can be used for the image pickup apparatus 30. Twice
  • the input device 120 is an input device that receives an input from a user including a threshold value designation described later and gives it to the arithmetic circuit 10.
  • An example of the input device 120 is a touch panel, mouse and / or keyboard. Twice
  • the monitor 130 is a device that displays the result of the determination executed by the image processing device 100, the appearance inspection result of the appearance inspection system 1000, and the like.
  • the monitor 130 can also display the image acquired by the image pickup apparatus 30. Twice
  • the monitor 130 and the input device 120 need not always be connected to the arithmetic circuit 10 by wire, but may be connected to the arithmetic circuit 10 only when necessary wirelessly or by wire via a communication interface.
  • the combination of the monitor 130 and the input device 120 may be realized by a terminal device or a smartphone carried by the user. Twice
  • the arithmetic circuit 10 executes image processing.
  • the image processing may be executed by either the arithmetic circuit 10 or the image processing circuit 16.
  • the arithmetic circuit 10 and the image processing circuit 16 may be collectively referred to as a "processor".
  • FIG. 3 is a diagram for explaining the flow of image processing when detecting a thin scratch (line scratch) according to the first example.
  • the processing is sequentially performed from the upper left image (first image), and the lower right image (sixth image) is obtained.
  • the upper left image (first image) is the original image acquired by the imaging device.
  • an image (second image) obtained by applying an edge enhancement filter to the original image is obtained.
  • the scratch detection process (third sheet), the expansion process and the contraction process (fourth sheet), the labeling process (fifth sheet), and the line connection process (sixth sheet) are performed in this order. Twice
  • the line scratch is composed of a set of nine line segments (labels). This state is described as "number of labels: 9". Twice
  • the line scratch is generally composed of a set of five labels (number of labels: 5).
  • number of labels 5
  • each line segment is numbered.
  • the process of assigning numbers is called "labeling process”. Twice
  • the three labels are concatenated and integrated into one label.
  • This process is called "line connection process".
  • each label is compared, and when it is determined that a plurality of labels constitute one line scratch (line defect), the plurality of labels are combined into one label. That is, it is determined that the sixth image has three labels.
  • the figure shows that the length of the longest label is 9.43 mm and the area of the label is 1.66 mm2. Each value of the length and the area is calculated by the arithmetic circuit 10 of the image processing system 100. Twice
  • the arithmetic circuit 10 determines that the detected label is a line defect. That is, it is determined that the original image contains line scratches. Twice
  • FIG. 4 is a diagram for explaining the flow of image processing when detecting a thin scratch (line scratch) according to the second example. The description conforms to the example of FIG. Twice
  • FIG. 5 shows a comparison between the original image and the detection result after the scratch detection process is performed. Compared with the original image in the upper row, which appears to be continuous, it seems that a large number of discontinuous scratches are present in the image after the scratch detection process in the lower row. Therefore, if the length of the scratch is determined by the lower image, there is no long scratch that can be identified as a defect. With reference to FIG. 6, the line scratches at this time will be described from the viewpoint of the pixel value. Twice
  • FIG. 6 schematically shows a change in the pixel value of a line scratch.
  • the horizontal axis represents the length of the line scratch along the direction of the line scratch by the number of pixels, and the vertical axis represents the pixel value of each pixel in a gray scale of 256 steps. Twice
  • Pixel values larger than the upper limit value (UL) and pixel values smaller than the lower limit value (LL) are surrounded by solid lines. These are candidates for defects that have been certified on a pixel-by-pixel basis. As described above, the conventional visual inspection does not recognize a single defect as a whole because the defect candidates exist discretely at a distance. Twice
  • the present inventor appropriately recognizes the existence of a line scratch by detecting a part of the pixel group in the non-defective range surrounded by a broken line, which is not originally a candidate for a defect, as a line scratch using a differential image. We have come to develop the process to obtain. Twice
  • FIG. 7A is a diagram for explaining the generation process of the differential image according to the first example.
  • the upper part of FIG. 7A shows the image I, and the lower part shows the differential image I'.
  • the left-to-right direction of the image is the positive direction of the X coordinate, and the top-down direction of the image is the positive direction of the Y coordinate.
  • Image I is typically the original image. Twice
  • P represents an arbitrary position in the image.
  • the "pixel value” is expressed in, for example, 256 gray scales.
  • the differential value I x (x, y) in the X direction is the difference between the pixel value of the pixel at position Q and the pixel value of the pixel at position P.
  • the differential value I y (x, y) in the Y direction is the difference between the pixel value of the pixel at position R and the pixel value of the pixel at position P.
  • the differential value in the X direction can be used to detect the contour of the image I in the Y direction. Further, the differential value in the Y direction can be used to detect the contour in the X direction.
  • a differential image I' can be generated by obtaining all the pixel values I'(x, y) using the above equation 2.
  • the number of pixels in the horizontal direction (X direction) and the number of pixels in the vertical direction (Y direction) of the images I and I' are the same.
  • a pixel having a pixel value of 0 is added to the outermost side of the differential image I'. Twice
  • FIG. 7B is a diagram for explaining the generation process of the differential image according to the second example.
  • the upper part of FIG. 7B shows the image I and the kernel K, and the lower part shows the differential image I'.
  • the left-to-right direction of the image is the positive direction of the X coordinate, and the top-down direction of the image is the positive direction of the Y coordinate.
  • Image I is typically the original image. Twice
  • the convolution operation is performed using the input image I and the kernel K.
  • a "kernel” is a set of coefficients used in a convolution operation, a so-called filter.
  • the convolution operation is performed on a region L including a pixel at a certain position P and a plurality of (eg, 8) adjacent pixels surrounding the pixel. Such an operation is also called spatial filtering. Twice
  • Equation 3 The (2, 2) element of the input image I shown in Equation 3 corresponds to the pixel at the position P.
  • the pixel value of the pixel at the position P of the differential image I' is obtained as follows.
  • I'(x, y) (k1 ⁇ a) + (k2 ⁇ b) + (k3 ⁇ c) + (k4 ⁇ d) + (k5 ⁇ e) + (k6 ⁇ f) + (k7) ⁇ G) + (k8 ⁇ h) +) + (k9 ⁇ i)
  • the kernel K is applied to the pixel values of the pixel at the position P and the pixel values of the eight pixels surrounding the pixel. Twice
  • a so-called differential filter is adopted as the kernel K.
  • the differential value I x (x, y) in the X direction at the coordinates (x, y) of the image I and the differential value I y (x, y) in the Y direction at the coordinates (x, y) of the image I. y) is calculated. Therefore, the kernel K also uses the kernel Kx for obtaining the differential value in the X direction and the kernel Ky for obtaining the differential value in the Y direction. Equation 5 shows the kernels Kx and Ky of the Prewitt filter as an example, respectively.
  • kernel Ky is a transpose of kernel Kx.
  • the Previt filter is a well-known filter that applies a smoothing process to a first-order differential filter. Therefore, the explanation of the significance of the processing of each row or each column is omitted.
  • the Previt filter is just an example.
  • Other differential filters, such as Sobel filters, can also be employed. Twice
  • the differential values I x (x, y) in the X direction at the coordinates (x, y) of the image I and the image I The differential value I y (x, y) in the Y direction at the coordinates (x, y) can be obtained.
  • the differential image I' can be generated by obtaining all the pixel values I'(x, y) using the above equation 2.
  • the number of pixels in the horizontal direction (X direction) and the number of pixels in the vertical direction (Y direction) of the images I and I' are the same.
  • a pixel having a pixel value of 0 is added to the outermost side of the differential image I'.
  • the arithmetic circuit 12 When the arithmetic circuit 12 generates the differential image I'by the method of the first example or the second example, the arithmetic circuit 12 executes the process of the present embodiment described below. Twice
  • FIG. 8 is a flowchart showing a procedure of processing performed in the image processing system 100 according to the present embodiment. This process is executed by the arithmetic circuit 10. Prior to the execution of the process, at least one differential image (hereinafter referred to as "non-defective differential image”) is generated from at least one non-defective image obtained by photographing the non-defective product, and the data of the generated non-defective differential image is stored. It is stored in the device 14. When a plurality of non-defective product images are used, an average image thereof may be generated from the plurality of non-defective product images, and a differential image of the average image may be obtained.
  • non-defective differential image At least one differential image (hereinafter referred to as "non-defective differential image”) is generated from at least one non-defective image obtained by photographing the non-defective product, and the data of the generated non-defective differential image is stored. It is stored in the device 14.
  • an average image thereof may
  • a differential image may be generated from each of the plurality of non-defective images, and each of the obtained plurality of differential images may be subjected to the processing described later.
  • the non-defective product image may include one non-defective product or may include a plurality of non-defective products. Whether it is a non-defective product can be determined by a person or the visual inspection system 1000.
  • the non-defective differential image can be created by the arithmetic circuit 10, the image processing circuit 16, or a computer (not shown), for example, by the first example or the second example described above. Twice
  • step S2 the arithmetic circuit 10 acquires the data of the inspection image obtained by photographing the object to be inspected.
  • the arithmetic circuit 10 can directly receive the inspection image taken by the image pickup device 30 from the image pickup device 30 via the interface device 22a.
  • the arithmetic circuit 10 may read the inspection image transmitted from the imaging device 30 and once stored in the storage device 14 from the storage device 14.
  • the arithmetic circuit 10 may acquire an inspection image stored in a storage device (not shown) on the network from the image pickup device 30 via the network. Twice
  • step S4 the arithmetic circuit 10 generates a differential image of the acquired inspection image.
  • a method for creating a differential image for example, the method of the first example or the second example described above can be used. Twice
  • step S6 the arithmetic circuit 10 calculates the difference or ratio between the pixel value of the generated differential image and the pixel value of the non-defective differential image for each pixel at the same position of the non-defective product differential image and the generated differential image.
  • the significance of this processing is to quantify how much the differential image of the non-defective product and the differential image of the inspection image deviate from each other for each pixel. The closer the difference is to 0 or the closer the ratio is to 1, the more the pixels of the non-defective differential image and the pixels of the differential image of the inspection image existing at the same position have pixel values having similar degrees of change. means. Twice
  • step S8 when the calculated difference or ratio is larger than a predetermined threshold value, the calculation circuit 10 uses the pixels of the inspection image to which the difference or ratio is given as the pixels including the image of the defect of the object to be inspected. Detect as a candidate for.
  • the pixel of the inspection image is detected as a candidate pixel including the image of the defect. Twice
  • the scratch detection process of FIGS. 3 and 4 is performed by calculating the difference or ratio for all the pixels of the differential image of the inspection image and all the pixels of the non-defective differential image and detecting the pixel candidates including the defect image.
  • the processing up to the third sheet) is completed.
  • the arithmetic circuit 10 may perform the remaining processing of FIGS. 3 and 4, for example, expansion processing and contraction processing (fourth sheet), labeling processing (fifth sheet), and line connection processing (sixth sheet). Twice
  • FIG. 9 is a diagram for explaining the detection result according to the present embodiment.
  • A shows the change in the pixel value of the inspection image along the direction of the line scratch.
  • B shows the magnitude of the change in the pixel value of the differential image of the inspection image along the direction of the line scratch. Since “change” includes positive change and negative change, it is expressed using "magnitude of change” which means the absolute value of change. Twice
  • the change in the pixel value of the non-defective image is limited to the change within the “non-defective range” shown in FIG. 9A, that is, the change between the upper limit value (UL) and the lower limit value (LL).
  • the change in the pixel value of the non-defective differential image is also gradual.
  • the pixel values of the non-defective image are shown by broken lines under the assumption that the pixel values of the non-defective image match the average value of the non-defective range.
  • FIG. 9B since the pixel value of the non-defective differential image is 0 under the above assumption, the pixel value indicated by the alternate long and short dash line coincides with the horizontal axis. Twice
  • the results of the conventional detection method are shown in the uppermost part of FIG.
  • the pixel group surrounded by the broken line 50 in FIG. 9B was not detected as a candidate pixel including the image of the defect.
  • the pixel groups 50a, 50b and 50c are detected as defect candidates.
  • a pixel group having a pixel value larger than the upper limit value (UL), and a pixel group having a pixel value smaller than the lower limit value (LL) as defect candidates it is conventionally detected as a defect.
  • the relatively short line scratches that did not exist will be detected as relatively long line scratches.
  • line scratches that should be detected as defects can be appropriately detected.
  • the range 52 of a series of pixel groups constituting the line scratch is shown. Twice
  • the arithmetic circuit 10 holds a predetermined upper limit value (UL) and lower limit value (LL).
  • UL upper limit value
  • LL lower limit value
  • the upper limit value and the lower limit value are variable according to the position of the pixel and can be determined according to the pixel value of the non-defective image. Two specific examples are given below. Twice
  • a first upper limit value and the first lower limit value are set for each pixel position.
  • the upper limit value is determined by (pixel value of the pixel) + (predetermined value).
  • the lower limit value is determined by (pixel value of the pixel)-(predetermined value). Twice
  • the upper limit value is determined by (average pixel of the pixel) + (k ⁇ ⁇ ) for each pixel position, and the lower limit value is (average of the pixel).
  • K is a predetermined value, for example, 3.
  • is the standard deviation of the pixel value calculated for each pixel position.
  • FIG. 10 is a diagram for explaining the detection result according to the present embodiment when the non-defective product image has a gentle gradient of pixel values.
  • the broken line in FIG. 10A represents the pixel value of the non-defective image, and it is confirmed that a gradient exists in a part thereof. Twice
  • the pixel value of the image of the object to be inspected has a larger gradient.
  • the gradient is represented as a relatively large pixel value of the differential image.
  • the pixel value of the non-defective differential image at this time is smaller as shown by the alternate long and short dash line.
  • the pixel group 50d is detected as a defect candidate by setting a threshold value capable of distinguishing between the pixel value of the non-defective differential image at the position where the gradient exists and the pixel value of the differential image of the inspection image.
  • Pixel group 50c corresponding to the portion having a gradient is also detected as a defect candidate. This makes it possible to appropriately detect line scratches that should be detected as defects.
  • the range 52 of a series of pixel groups constituting the line scratch is shown. Twice
  • FIG. 11 is a diagram for explaining the detection result according to the present embodiment when the non-defective image has a steep gradient and a gentle gradient of pixel values.
  • the gentle gradient is as described with reference to FIG. Twice
  • the pixel values of the non-defective image and the inspection image change sharply at the position S. Since the steep change at the position S is known in advance, the lower limit (LL) and the average value (A) of the non-defective image are set in advance up to the position S from the left end to the right side of the horizontal axis of FIG. 11 (a). It is set to zero. Then, after passing the position S, it is changed to a given value larger than zero. Twice
  • the pixel value of the inspection image changes in the same manner as the pixel value of the non-defective image. Then, the pixel value of the non-defective differential image and the pixel value of the differential image of the inspection image are substantially the same. Therefore, when the difference or ratio is calculated for the pixel of the differential image of the inspection image and the pixel of the non-defective differential image in the vicinity of the position S, the difference is almost zero or the ratio is almost 1. If only the pixel value of the differential image of the inspection image is viewed, it will be detected as a defect candidate. That is, over-detection can occur. However, according to the method of the present embodiment, since defect candidates are detected in relation to the non-defective differential image, over-detection can be suppressed. Twice
  • defect candidates are appropriately detected for each pixel from the inspection image regardless of whether the non-defective image has a gentle gradient or a steep one. be able to. Twice
  • FIG. 12 is a diagram for explaining still another method for suppressing over-detection. Twice
  • non-defective range narrower than the conventional non-defective range defined by the upper limit value and the lower limit value (“narrowed non-defective range” in FIG. 12). That is, the upper limit value that defines the conventional non-defective product range is called the "first upper limit value”, and the lower limit value is called the “first lower limit value”.
  • the arithmetic circuit 10 holds a second upper limit value smaller than the first upper limit value and a second lower limit value larger than the first lower limit value.
  • the arithmetic circuit 10 further increases the pixel value for each pixel of the inspection image to which such a difference or ratio is given.
  • the pixel value is smaller than the second lower limit value, and whether or not the pixel value is larger than the second upper limit value is determined. Then, when the pixel value is smaller than the second lower limit value or the pixel value is larger than the second upper limit value, the pixel of the inspection image is detected as a candidate of the pixel including the image of the defect.
  • the process according to the present embodiment may be applied within the pixel range of m around the pixels detected by the non-defective product learning. As a result, it is possible to eliminate the influence of small scratches or the like that suddenly exist at a distant position. Twice
  • the line scratch is exemplified as a defect, but other defects other than the line scratch, such as dirt and foreign matter, may also exist. Further, in FIGS. 6 and 9 to 11, the process is described by using the change of the pixel value along the line scratch, but for example, the change of the pixel value along the X direction may be used.
  • the image processing system and computer program according to the present disclosure can be suitably used in a visual inspection system for an article or part in a manufacturing site such as a factory.

Landscapes

  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Biochemistry (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Image Analysis (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)

Abstract

画像処理システムは、プロセッサと、メモリと、良品を撮影した少なくとも1枚の良品画像から生成された、少なくとも1枚の良品微分画像のデータを格納する記憶装置とを有する。プログラムに従って、プロセッサは、被検査物を撮影した検査用画像のデータを取得する処理と、取得した検査用画像の微分画像を生成する処理と、良品微分画像および生成した微分画像の同じ位置の画素ごとに、生成した微分画像の画素値および良品微分画像の画素値の差または比を算出する処理と、差または比が予め定められたよりも大きい場合には、差または比を与えた検査用画像の画素を、被検査物の欠陥の像を含む画素の候補として検出する処理とを実行する。

Description

画像処理システムおよびコンピュータプログラム
本開示は、画像処理システムおよびコンピュータプログラムに関する。
従来、被検査物を撮影して取得した画像を利用して、被検査物に欠陥が存在するか否か、すなわち被検査物が良品であるか否か、を判定する外観検査が行われている。 
例えば特開2000-132684号公報は、縞模様を有する被検査物の表面に発生する欠陥を、縞模様とは区別して検出できる外観検査方法を開示する。特開2000-132684号公報では、画像の微分処理により縞模のエッジが検知され、検知されたエッジの乱れに着目して、欠陥の有無が判定される。 
特開2000-329538号公報は、画像に微分処理を施し、更に2値化閾値を用いて2値化し、欠陥を判定する方法を開示する。特開2000-329538号公報ではさらに、画像の不均一性があっても、所定の領域毎に2値化閾値を算出することで、撮像画像全体において欠陥を抽出する性能を均一的に高くすることができる。 
特開2005-265661号公報は、複数の良品画像群から画素毎に良品範囲を定めて、良否判定を行う方法を開示する。
特開2000-132684号公報 特開2000-329538号公報 特開2005-265661号公報
上述のいずれの技術によっても、欠陥全体を検出できずに微分値が低い画素ないしは良品範囲内の画素を検出することができない。その結果、欠陥を小さく判定したり、あるいは複数の欠陥に分裂して判定したりしてしまうおそれがある。 
本開示の実施形態は、外観検査に用いられ得る新規な画像処理システムおよびコンピュータプログラムを提供する。
本開示による画像処理システムは、例示的な実施形態において、プロセッサと、前記プロセッサの動作を制御するプログラムを記憶するメモリと、良品を撮影した少なくとも1枚の良品画像から生成された、少なくとも1枚の良品微分画像のデータを格納する記憶装置とを備え、前記プログラムに従って、前記プロセッサは、前記被検査物を撮影した検査用画像のデータを取得する処理と、取得した前記検査用画像の微分画像を生成する処理と、前記良品微分画像および生成した前記微分画像の同じ位置の画素ごとに、生成した前記微分画像の画素値および前記良品微分画像の画素値の差または比を算出する処理と、前記差または前記比が予め定められたよりも大きい場合には、前記差または前記比を与えた前記検査用画像の画素を、前記被検査物の欠陥の像を含む画素の候補として検出する処理とを実行する、画像処理システム。
本開示によるコンピュータプログラムは、例示的な実施形態において、画像処理システムのコンピュータによって実行されるコンピュータプログラムであって、前記画像処理システムは、前記コンピュータであるプロセッサと、前記プロセッサの動作を制御するプログラムを記憶するメモリと、良品を撮影した少なくとも1枚の良品画像から生成された、少なくとも1枚の良品微分画像のデータを格納する記憶装置とを有しており、前記コンピュータプログラムは、前記プロセッサに、前記被検査物を撮影した検査用画像のデータを取得する処理と、取得した前記検査用画像の微分画像を生成する処理と、前記良品微分画像および生成した前記微分画像の同じ位置の画素ごとに、生成した前記微分画像の画素値および前記良品微分画像の画素値の差または比を算出する処理と、前記差または前記比が予め定められた閾値よりも大きい場合には、前記差または前記比を与えた前記検査用画像の画素を、前記被検査物の欠陥の像を含む画素の候補として検出する処理とを実行させる。
本開示にかかる例示的な実施形態によれば、欠陥の候補を適切に検出することができる。
図1は、画像処理システム100を有する、本開示の外観検査システム1000の構成例を示す図である。 図2は、主として画像処理システム100の構成例を模式的に示す図である。 図3は、第1の例による、薄いスクラッチ(線傷)を検出する際の画像処理の流れを説明するための図である。 図4は、第2の例による、薄いスクラッチ(線傷)を検出する際の画像処理の流れを説明するための図である。 図5は、原画像と、傷の検出処理を行った後の検出結果を対比して示す図である。 図6は、線傷の画素値の変化を模式的に示す図である。 図7Aは、第1の例による微分画像の生成処理を説明するための図である。 図7Bは、第2の例による微分画像の生成処理を説明するための図である。 図8は、本実施形態による画像処理システム100において行われる処理の手順を示すフローチャートである。 図9は、本実施形態による検出結果を説明するための図である。 図10は、良品画像が画素値のなだらかな勾配を有する場合の、本実施形態による検出結果を説明するための図である。 図11は、良品画像が画素値の急峻な勾配およびなだらかな勾配を有する場合の、本実施形態による検出結果を説明するための図である。 図12は、過検出を抑制するための更に他の手法を説明するための図である。
以下、添付の図面を参照しながら、本開示にかかる外観検査システムの実施形態を説明する。本明細書では、必要以上に詳細な説明は省略する場合がある。たとえば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、本発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図しない。以下の説明においては、同一または類似する構成要素には、同一の参照符号を付している。 
本開示にかかる画像処理システムは、例えば、工場などの製造現場における物品または部品の外観検査システムの前処理のために好適に利用され得る。以下、外観検査システムとの関係を踏まえながら、画像処理システムの構成を説明する。 
図1は、画像処理システム100を有する、本開示の外観検査システム1000の構成例を示す図である。図2は、主として画像処理システム100の構成例を模式的に示す図である。 
図示されている例において、外観検査システム1000は、撮像装置30と、画像処理システム100と、モニタ130とを有している。画像処理システム100、入力装置120およびモニタ130は、汎用的なデジタルコンピュータシステム、例えばPCによって実現され得る。また撮像装置30は、デジタルスチルカメラであり得る。撮像装置30は、図示されない有線の通信ケーブルまたは無線通信回線で画像処理システム100と通信可能に接続されている。モニタ130は、図示されない有線の通信ケーブルで画像処理システム100と通信可能に接続されている。 
撮像装置30は被検査物を撮像し、撮像によって取得した画像データを画像処理システム100に送る。画像処理システム100は、後述の手順にしたがって、撮像装置30から受け取った画像データに対し欠陥検出のための「前処理」を行う。前処理により、画像データを構成する各画素が、被検査物の欠陥の像を含む画素の候補(欠陥画素候補)になり得るかどうかが判定される。当該「前処理」が、本実施形態にかかる画像処理システム100の主要な処理である。 
全ての欠陥画素候補を利用して、後に画像データから欠陥が抽出される。外観検査システム1000では、連続して存在する欠陥画素候補の大きさ、および/または、範囲に応じて、欠陥が存在するか否かが判定される。全ての処理を包括して「外観検査」と呼ぶ。なお、本実施形態にかかる画像処理システム100は、全ての欠陥画素候補を検出した後の欠陥の存否判定処理を行ってもよい。 
図1を参照しながら、外観検査システム1000において行われる被検査物の外観検査の手順を説明する。被検査物は、外観検査の対象となるさまざまな製品または部品などの各種の物品である。以下、被検査物を「ワーク」と称する場合がある。 
ワーク70は、移送台62に乗せられ、把持機構によって移送台62に固定される。ワーク70は、例えば、ハードディスクドライブの完成品、モータが組み込まれたハードディスクドライブの筐体等である。 
移送台62は、ワーク70を乗せたまま、搬送ステージ64によって水平方向に移動可能である。撮像装置30は搬送ステージ64を視野に含むよう、搬送ステージ64の上方でサポート部材60によって支持されている。撮像装置30は、視野内のワーク70の撮像を行う。ワーク70は、ロボットアームに把持されて撮像ポジションに置かれてもよい。なお、撮像にあたっては光源(図示せず)がワーク70を照らしてもよい。 
撮像によって取得された画像データは、撮像装置30から画像処理システム100に送られる。1回の撮像によって取得される画像のサイズの一例は横1600画素、縦1200画像であり、他の一例は横800画素、縦600画像である。 
次に、図2を参照する。 
画像処理システム100は、演算回路10と、メモリ12と、記憶装置14と、画像処理回路16とを有している。構成要素同士はバス18で通信可能に接続されている。また画像処理システム100は、撮像装置30との通信を行うインタフェース装置22aと、入力装置120との通信を行うインタフェース装置22bと、モニタ130に映像データを出力するインタフェース装置22cとを有する。インタフェース装置22aの一例は、映像入力端子またはイーサネット端子である。インタフェース装置22bの一例は、USB端子である。インタフェース装置22cの一例は、HDMI(登録商標)端子である。これらの例に代えて、他の端子をインタフェース装置22a~22cとして利用してもよい。なお、インタフェース装置22a~22cは、無線通信を行うための無線通信回路であってもよい。そのような無線通信回路として、例えば2.4GHz/5.2GHz/5.3GHz/5.6GHz等の周波数を利用して無線通信を行う、Wi-Fi(登録商標)規格に準拠した無線通信回路が知られている。 
演算回路10は、例えば中央演算処理装置(CPU)またはデジタル信号処理プロセッサなどの集積回路(IC)チップであり得る。メモリ12は、演算回路10の動作を制御するコンピュータプログラム12pを格納する。 
メモリ12は、単一の記録媒体である必要はなく、複数の記録媒体の集合であり得る。メモリ12は、例えばRAMなどの半導体揮発性メモリおよびフラッシュROMなどの半導体不揮発性メモリを含み得る。メモリ12の少なくとも一部は、取り外し可能な記録媒体であってもよい。 
記憶装置14は、少なくとも1枚の良品微分画像のデータを格納している。「良品微分画像」とは、少なくとも1枚の良品画像(良品を撮影した画像)から生成された微分画像である。微分画像の各画素値は、例えば、良品画像の少なくとも2つの画素の画素値の差分値である。 
画像処理回路16は、GPU(Graphics Processing Unit)とも呼ばれる集積回路(IC)チップであり得る。画像処理回路16は、モニタ130に表示させるための画像データを生成する。 
本実施形態では、被検査物を撮影した検査用画像の微分画像と、記憶装置14に予め格納された良品微分画像とを
利用して、検査用画像の画素ごとに、被検査物の欠陥の像を含む画素の候補であるか否かを判定する。なお、微分画像の導出方法は後述する。 
撮像装置30は、被検査対物の画像のデータを生成するための画像信号を出力する装置である。画像信号は、有線または無線により、演算回路10に送られる。撮像装置30の典型例は、多数のフォトダイオードが行列状に配列されたCMOSイメージセンサまたはCCDイメージセンサなどのエリアセンサを備えるカメラである。撮像装置30は、被検査物のカラー画像またはモノクローム画像のデータを生成する。撮像装置30には、外観検査用の各種カメラを使用することができる。 
入力装置120は、後述の閾値の指定を含むユーザからの入力を受け取り、演算回路10に与える入力デバイスである。入力装置120の一例は、タッチパネル、マウスおよび/またはキーボードである。 
モニタ130は、画像処理装置100が実行した判別の結果、外観検査システム1000の外観検査結果等を表示する装置である。モニタ130は、撮像装置30によって取得された画像を表示することもできる。 
モニタ130および入力装置120は、演算回路10に有線によって常に接続されている必要はなく、通信インタフェースを介して無線または有線によって必要なときだけ接続されていてもよい。モニタ130および入力装置120の組み合わせは、ユーザが携帯する端末装置またはスマートフォンによって実現されてもよい。 
本開示の例示的な実施形態の説明では、主として演算回路10が画像処理を実行するとして説明する。しかしながら、当該画像処理は、演算回路10および画像処理回路16のいずれが実行してもよい。本明細書では、演算回路10および画像処理回路16を包括的に「プロセッサ」と呼ぶことがある。
次に、図3から図6を参照しながら、従来の外観検査における具体的な問題点と、例示的な画像処理システム100が開発された目的を説明する。 
図3は、第1の例による、薄いスクラッチ(線傷)を検出する際の画像処理の流れを説明するための図である。矢印の順序に従って、左上の画像(1枚目)から順次処理が行われ、右下の画像(6枚目)が得られる。左上の画像(1枚目)は、撮像装置によって取得された原画像である。次に、原画像にエッジ強調フィルタをかけた画像(2枚目)が得られる。以下、順に、傷の検出処理(3枚目)、膨張処理および収縮処理(4枚目)、ラベリング処理(5枚目)、線連結処理(6枚目)が行われる。 
人の目では1本の細長い線傷に見えるが、画像上では実際には一続きではない。3枚目の画像では、線傷は概ね9本の線分(ラベル)の集合で構成されている。この状態を「ラベル数:9」と記載する。 
4枚目の画像では、線傷は概ね5本のラベルの集合で構成されている(ラベル数:5)。5枚目の画像では、各線分に番号が振られている。番号を振る処理を「ラベリング処理」という。 
6枚目の画像では、3つのラベルが連結され1本のラベルに統合される。この処理を「線連結処理」という。線連結処理では、各ラベルが比較され、複数のラベルが1つの線傷(線欠陥)を構成すると判定される場合には複数のラベルが1つのラベルに結合される。つまり、6枚目の画像には3本のラベルが存在すると判定される。図には、最も長いラベルの長さが9.43mmであり、ラベルの面積が1.66平方ミリメートルであることが示されている。長さおよび面積の各値は、画像処理システム100の演算回路10によって算出される。 
ラベルの長さおよび/または面積が予め定められた閾値を超えている場合、演算回路10は、検出されたラベルが線欠陥であると判定する。つまり、原画像には線傷が含まれていると判定する。 
なお、上述のエッジ強調フィルタ、傷の検出処理、膨張処理および収縮処理、ラベリング処理および線連結処理のこれ以上の具体的な内容およびその説明は省略する。 
図4は、第2の例による、薄いスクラッチ(線傷)を検出する際の画像処理の流れを説明するための図である。記載は図3の例に準ずる。 
図3に関する第1の例と同様の処理が行われた結果、例えば5枚目のラベリング処理では無数の線分が存在すると判定され、非常に多くの番号が振られる。その結果、6枚目の画像には、長さが相対的に短く面積が相対的に小さい線傷が多数存在するものの、欠陥は存在しないと判定される。したがって、図4の元画像には欠陥が含まれていないと判定されてしまう。 
本発明者は、原画像(1枚目)から傷の検出処理(3枚目)までの処理の結果が最終的な欠陥の有無の判定に大きな影響を与えると考えた。図5は、原画像と、傷の検出処理を行った後の検出結果を対比して示している。改めて、一続きに見える上段の原画像と比較すると、下段の傷の検出処理後の画像では不連続な多数の傷が存在しているように見える。そのため、下段の画像によって傷の長さを認定すると、欠陥が認定されるような長い傷は存在しないことになる。図6を参照しながら、このときの線傷を画素値の観点で説明する。 
図6は、線傷の画素値の変化を模式的に示している。横軸は線傷の方向に沿った線傷の長さを画素数で表し、縦軸は各画素の画素値を256段階のグレースケールで表している。 
上限値(UL)より大きい画素値、および、下限値(LL)より小さい画素値を実線で囲っている。これらは画素単位で認定された欠陥の候補である。欠陥の候補が距離を開けて離散的に存在しているため、上述のとおり、従来の外観検査では全体として1本の欠陥とは認識されない。 
本発明者は、本来は欠陥の候補とされない、破線で囲まれた良品範囲の画素群の一部を、微分画像を用いて線傷として検出することにより、線傷の存在を適切に認識し得る処理を開発するに至った。 
以下ではまず、微分画像を生成する処理を説明し、その後、微分画像を利用した処理を説明する。 
図7Aは、第1の例による微分画像の生成処理を説明するための図である。図7Aの上段は画像Iを示し、下段は微分画像I’を示している。画像の左から右方向をX座標の正方向とし、画像の上から下方向をY座標の正方向とする。画像Iは、典型的には原画像である。 
以下に、本願明細書で使用する表現を示す。「位置P」は画像の任意の位置を表す。「画素値」は、例えば256段階のグレースケールで表現される。 P(x,y):画像内の位置Pの座標 I(x,y):画像Iの座標(x,y)の画素の画素値 I’(x,y):微分画像I’の座標(x,y)の画素の画素値 I(x,y):画像Iの座標(x,y)におけるX方向の微分値 I(x,y):画像Iの座標(x,y)におけるY方向の微分値 
図7Aの上段に示すように、位置Pと、+X方向の隣接する位置の画素Qと、+Y方向の隣接する位置の画素Rとに注目する。Qの座標は(x+1,y)であり、Rの座標は(x,y+1)である。第1の例において、位置PにおけるX方向およびY方向の各微分値は以下のように定義される。 (数1) I(x,y)=I(x+1,y)-I(x,y) I(x,y)=I(x,y+1)-I(x,y) 
つまり、X方向の微分値I(x,y)は、位置Qの画素の画素値と、位置Pの画素の画素値との差分である。Y方向の微分値I(x,y)は、位置Rの画素の画素値と、位置Pの画素の画素値との差分である。なお、X方向の微分値は画像IのY方向の輪郭の検出に利用可能である。またY方向の微分値はX方向の輪郭の検出に利用可能である。 
数1によって各方向の微分値が得られると、微分画像I’の位置(x,y)の画素値I’(x,y)は数2によって得られる。 
Figure JPOXMLDOC01-appb-M000001
上述の数2を用いて全ての画素値I’(x,y)を求めることにより、微分画像I’を生成することができる。なお、本例では、画像IおよびI’の横方向(X方向)の画素数および縦方向(Y方向)の画素数は同じであるとする。画像IおよびI’の画素数を一致させるため、微分画像I’の最も外側には一周に亘って、例えば画素値が0の画素が追加されている。 
図7Bは、第2の例による微分画像の生成処理を説明するための図である。図7Bの上段は画像IおよびカーネルKを示し、下段は微分画像I’を示している。画像の左から右方向をX座標の正方向とし、画像の上から下方向をY座標の正方向とする。画像Iは、典型的には原画像である。 
第2の例では、入力画像IとカーネルKとを用いて畳み込み演算を行う。「カーネル」とは畳み込み演算に用いられる係数の集合であり、いわゆるフィルタである。畳み込み演算は、ある位置Pの画素とその画素を囲む複数個(例:8個)の隣接画素とを含む領域Lを対象として行われる。このような演算は空間フィルタリングとも呼ばれる。 
説明の簡単化のため、入力画像Iの領域L内の画素の画素値とカーネルKとを以下のように与えるとする。 
Figure JPOXMLDOC01-appb-M000002
数3に示す入力画像Iの(2,2)要素が、位置Pの画素に対応する。このとき、微分画像I’の位置Pの画素の画素値は以下のように求められる。(数4) I’(x,y)=(k1・a)+(k2・b)+(k3・c)+(k4・d)+(k5・e)+(k6・f)+(k7・g)+(k8・h)+)+(k9・i) 
入力画像Iの要素数がより多い場合には、位置Pの画素の画素値と、当該画素を取り囲む8個の画素の画素値とにカーネルKが適用される。 
本実施形態において、カーネルKとしていわゆる微分フィルタを採用する。本実施形態では、画像Iの座標(x,y)におけるX方向の微分値I(x,y)、および、画像Iの座標(x,y)におけるY方向の微分値I(x,y)を求める。そのため、カーネルKもまた、X方向の微分値を求めるためのカーネルKxと、Y方向の微分値を求めるためのカーネルKyとを使用する。数5は、それぞれ一例としてプレヴィット(Prewitt)フィルタのカーネルKxおよびKyを示している。 
Figure JPOXMLDOC01-appb-M000003
数5から明らかなように、カーネルKyはカーネルKxの転置である。プレヴィットフィルタは一次微分フィルタに平滑化処理を加えるフィルタであり周知である。したがって各行または各列の処理の意義の説明は省略する。なお、プレヴィットフィルタは一例に過ぎない。ソーベル(Sobel)フィルタ等の他の微分フィルタを採用することもできる。 
数3のカーネルKとして、それぞれ数5に示すカーネルKxおよびKyを採用することにより、画像Iの座標(x,y)におけるX方向の微分値I(x,y)、および、画像Iの座標(x,y)におけるY方向の微分値I(x,y)を求めることができる。そして、第1の例と同様、上述の数2を用いて全ての画素値I’(x,y)を求めることにより、微分画像
I’を生成することができる。なお、本例でも、画像IおよびI’の横方向(X方向)の画素数および縦方向(Y方向)の画素数は同じであるとする。画像IおよびI’の画素数を一致させるため、微分画像I’の最も外側には一周に亘って、例えば画素値が0の画素が追加されている。 
演算回路12は、第1の例または第2の例などの方法により、微分画像I’を生成すると、以下に説明する本実施形態の処理を実行する。 
図8は、本実施形態による画像処理システム100において行われる処理の手順を示すフローチャートである。この処理は演算回路10によって実行される。処理の実行に先立って、良品を撮影した少なくとも1枚の良品画像から、少なくとも1枚の微分画像(以下「良品微分画像」と呼ぶ。)が生成され、生成された良品微分画像のデータが記憶装置14に格納されている。複数の良品画像を利用する場合、複数の良品画像から、それらの平均画像を生成し、平均画像の微分画像を求めればよい。あるいは、複数の良品画像の各々から微分画像を生成し、得られた複数の微分画像の各々と後述の処理を行ってもよい。良品画像は1つの良品を含んでもよいし、複数の良品を含んでもよい。良品であるかどうかは、人または外観検査システム1000によって判断され得る。良品微分画像は、演算回路10、画像処理回路16または不図示のコンピュータによって、例えば上述した第1の例または第2の例によって作成され得る。 
ステップS2において演算回路10は、被検査物を撮影した検査用画像のデータを取得する。演算回路10は、撮像装置30によって撮影された検査用画像を撮像装置30からインタフェース装置22aを介して直接受け取ることができる。または、演算回路10は、撮像装置30から送信され、一旦記憶装置14に格納された検査用画像を記憶装置14から読み出してもよい。あるいは演算回路10は、撮像装置30からネットワーク上の記憶装置(図示せず)に格納された検査用画像を、当該ネットワークを介して取得してもよい。 
ステップS4において演算回路10は、取得した検査用画像の微分画像を生成する。微分画像の作成方法は、例えば上述した第1の例または第2の例の方法を利用し得る。 
ステップS6において演算回路10は、良品微分画像および生成した微分画像の同じ位置の画素ごとに、生成した微分画像の画素値および良品微分画像の画素値の差または比を算出する。この処理の意義は、良品微分画像と検査用画像の微分画像とがどの程度乖離しているかを、画素ごとに数値化することにある。差が0に近いほど、または比が1に近いほど、同じ位置に存在する良品微分画像の画素と検査用画像の微分画像の画素とは、変化の程度が似ている画素値を有することを意味する。 
ステップS8において演算回路10は、算出した差または比が、予め定められた閾値よりも大きい場合には、差または比を与えた検査用画像の画素を、被検査物の欠陥の像を含む画素の候補として検出する。この処理では、上述の差または比が閾値よりも大きい場合には、両者の乖離が大きい、つまり画素値の変化が大きいことを意味する。そこで検査用画像の当該画素を、欠陥の像を含む画素の候補として検出する。 
検査用画像の微分画像の全画素および良品微分画像の全画素について、差または比を算出し、欠陥の像を含む画素の候補を検出することにより、図3および図4の傷の検出処理(3枚目)までの処理が完了する。その後は演算回路10は、図3および図4の残りの処理、例えば膨張処理および収縮処理(4枚目)、ラベリング処理(5枚目)、線連結処理(6枚目)を行えばよい。 
図9は、本実施形態による検出結果を説明するための図である。(a)は線傷の方向に沿った検査用画像の画素値の変化を示している。(b)は線傷の方向に沿った検査用画像の微分画像の画素値の変化の大きさを示している。なお、「変化」には正の変化と負の変化とが含まれるため、変化の絶対値を意味する「変化の大きさ」を用いて表している。 
良品画像の画素値の変化は、図9の(a)に示す「良品範囲」内の変化、つまり上限値(UL)および下限値(LL)の間で変化するにとどまる。一般に、良品画像の画素値の変化は緩やかであり、「良品範囲」内で急峻に変化しないと仮定することができる。そのため、良品微分画像の画素値の変化もまた緩やかである。説明の簡単化のため、図9の(a)では、良品画像の画素値が良品範囲の平均値に一致するという仮定のもと、良品画像の画素値が破線で示されている。また図9の(b)では、上述の仮定のもとでは、良品微分画像の画素値は0であるから、一点鎖線で示す画素値は横軸と一致する。 
図9の最上段には従来の検出方法の結果が示されている。従来の処理では、図9の(b)における破線50で囲まれた画素群は、欠陥の像を含む画素の候補として検出されなかった。しかしながら上述の図8に示す処理によれば、画素群50a、50bおよび50cは欠陥の候補として検出される。その結果と、上限値(UL)より大きい画素値を有する画素群、および、下限値(LL)より小さい画素値を有する画素群とを欠陥の候補として検出することにより、従来は欠陥として検出されなかった相対的に短い線傷が相対的に長い線傷として検出されるようになる。その結果、欠陥として検出されるべき線傷を適切に検出できるようになる。(b)には線傷を構成する一連の画素群の範囲52が示されている。 
なお、演算回路10は、予め定められた上限値(UL)および下限値(LL)を保持している。上限値および下限値は画素の位置に応じて可変であり、良品画像の画素値に応じて決定され得る。以下に、具体例を2つ挙げる。 
第1の具体例として、1枚の良品画像を使用する場合、画素の位置毎に、第1上限値および前記第1下限値を定めている。上限値は、(その画素の画素値)+(予め定めた値)で決定される。下限値は、(その画素の画素値)-(予め定めた値)で決定される。 
第2の具体例として、複数の良品画像を使用する場合、画素の位置毎に、上限値は(その画素の平均画素)+(k×σ)で決定され、下限値は(その画素の平均画素)-(k×σ)で決定される。「k」は予め定めた値であり、例えば3である。「σ」は画素の位置毎に算出したその画素値の標準偏差である。このような処理は、例えば特開平7-113758号公報、特開2013-224833号公報に記載されている。 
製品によっては、良品であっても、形状、照明光の当て方等によって画素値が変化する領域が存在することはあり得る。画素値の変化はなだらかな場合もあれば、急峻な場合もあり得る。しかしながら上述の方法によれば、良品画像の画素値の変化の仕方の如何によらず、検査用画像に存在する欠陥の候補を適切に検出できる。 
図10は、良品画像が画素値のなだらかな勾配を有する場合の、本実施形態による検出結果を説明するための図である。図10の(a)の破線は良品画像の画素値を表しており、一部に勾配が存在していることが確認される。 
一方、被検査物の画像の画素値はより大きい勾配を有している。図10の(b)に示されるように、検査用画像の微分画像では、勾配が微分画像の比較的大きい画素値として表される。このときの良品微分画像の画素値は、一点鎖線で示されているようにより小さい。勾配が存在する位置の良品微分画像の画素値と検査用画像の微分画像の画素値との間を峻別可能な閾値を設けることにより、画素群50dは欠陥の候補として検出される。併せて勾配を有する部分に対応する画素群50cもまた、欠陥の候補として検出される。これにより、欠陥として検出されるべき線傷を適切に検出できるようになる。(b)には線傷を構成する一連の画素群の範囲52が示されている。 
図11は、良品画像が画素値の急峻な勾配およびなだらかな勾配を有する場合の、本実施形態による検出結果を説明するための図である。なだらかな勾配については図10を参照しながら説明したとおりである。 
一方、良品画像および検査用画像の画素値は位置Sにおいて急峻に変化している。位置Sでの急峻な変化は予めわかっているため、図11の(a)の横軸の左端から右側に向かって、下限(LL)および良品画像の平均値(A)は位置Sまでは予めゼロに設定されている。その後、位置Sを経過した後はゼロよりも大きい所与の値に変更される。 
位置Sにおいて良品画像の画素値が急峻に変化するため、その位置において良品微分画像の画素値も大きく変化する(図11の(b)の一点鎖線)。 
位置Sにおいて検査用画像には欠陥が存在しない場合、検査用画像の画素値も良品画像の画素値と同様に変化する。すると、良品微分画像の画素値と検査用画像の微分画像の画素値とは概ね同じ値を取る。よって、位置S近傍の検査用画像の微分画像の画素および良品微分画像の画素について、差または比を算出すると、差がほぼゼロ、または比がほぼ1になる。単に検査用画像の微分画像の画素値だけを見ると欠陥候補として検出してしまう。つまり過検出が発生し得る。しかしながら、本実施形態の方法によれば、良品微分画像との関係で欠陥候補を検出するため、過検出を抑制できる。 
以上説明したとおり、本実施形態の方法によれば、良品画像になだらかな勾配が存在していても、急峻な存在がしていても、検査用画像から適切に画素ごとに欠陥候補を検出することができる。 
図12は、過検出を抑制するための更に他の手法を説明するための図である。 
上限値と下限値とによって規定される従来の良品範囲に対し、その範囲よりも狭い良品範囲を設定することができる(図12における「狭めた良品範囲」)。すなわち、従来の良品範囲を規定する上限値を「第1上限値」と呼び、下限値を「第1下限値」と呼ぶ。演算回路10は、第1上限値よりも小さい第2上限値、および、第1下限値よりも大きい第2下限値を保持しておく。演算回路10は、図8のステップS6において算出した差または比が予め定められた閾値よりも大きい場合には、そのような差または比を与えた検査用画像の画素ごとに、さらに、画素値が第2下限値より小さいか否か、および、画素値が第2上限値より大きいか否かを判定する。そして、画素値が第2下限値より小さい場合、または、画素値が第2上限値より大きい場合には、検査用画像の当該画素を、欠陥の像を含む画素の候補として検出する。良品範囲を狭めることにより、良品であると判定される精度が高くなり、過検出が抑制される。 
また、良品学習によって検出した画素の周囲m個の画素範囲内に本実施形態にかかる処理を適用してもよい。これにより、離れた位置に突発的に存在する小さな傷等の影響を排除することができる。 
上述の実施形態の説明では、欠陥として線傷を例示したが、線傷以外の他の欠陥、例えば汚れや異物、も存在し得る。また、図6、図9から図11においては線傷に沿った画素値の変化を利用して処理を説明したが、例えばX方向に沿った画素値の変化を利用してもよい。
本開示による画像処理システムおよびコンピュータプログラムは、工場などの製造現場における物品または部品の外観検査システムにおいて好適に利用され得る。
10・・・演算回路,12・・・メモリ,14・・・記憶装置,16・・・画像処理回路,30・・・撮像装置,100・・・画像処理システム,1000・・・外観検査システム1000

Claims (8)

  1. プロセッサと、



     前記プロセッサの動作を制御するプログラムを記憶するメモリと、



     良品を撮影した少なくとも1枚の良品画像から生成された、少なくとも1枚の良品微分画像のデータを格納する記憶装置と



     を備え、



     前記プログラムに従って、前記プロセッサは、



      前記被検査物を撮影した検査用画像のデータを取得する処理と、



      取得した前記検査用画像の微分画像を生成する処理と、



      前記良品微分画像および生成した前記微分画像の同じ位置の画素ごとに、生成した前記微分画像の画素値および前記良品微分画像の画素値の差または比を算出する処理と、



      前記差または前記比が予め定められたよりも大きい場合には、前記差または前記比を与えた前記検査用画像の画素を、前記被検査物の欠陥の像を含む画素の候補として検出する処理と



     を実行する、画像処理システム。
  2. 前記微分画像を生成する前記処理は、前記検査用画像の互いに隣接する少なくとも2つの画素の画素値の微分値を前記微分画像の各画素値として算出することにより、前記検査用画像の微分画像を生成し、 検出する前記処理は、前記差または前記比が前記予め定められた閾値よりも大きい場合には、前記差または前記比を与えた前記検査用画像の前記少なくとも2つの画素の1つを、前記候補として検出する、請求項1に記載の画像処理システム。
  3. 算出する前記処理は、画素ごとに、前記微分画像の画素値から前記良品微分画像の画素値の差を算出する、請求項2に記載の画像処理システム。
  4. 算出する前記処理は、画素ごとに、前記良品微分画像の画素値に対する前記微分画像の画素値の比を算出する、請求項2に記載の画像処理システム。
  5. 前記プロセッサは、



      予め定められた画素値の第1上限値および第1下限値を保持しており、



      前記検査用画像の画素ごとに、画素値が前記第1下限値より小さいか否か、および、画素値が前記第1上限値より大きいか否かを判定し、



      前記画素値が前記第1下限値より小さい場合、または、前記画素値が前記第1上限値より大きい場合には、前記画素値を有する前記検査用画像の画素を、前記被検査物の欠陥の像を含む画素の候補として検出する、請求項1から4のいずれかに記載の画像処理システム。
  6. 前記第1上限値および前記第1下限値は画素の位置に応じて可変であり、前記少なくとも1枚の良品画像の画素値に応じて決定される、請求項5に記載の画像処理システム。
  7. 前記プロセッサは、



      前記第1上限値よりも小さい第2上限値、および、前記第1下限値よりも大きい第2下限値を保持しており、



     検出する前記処理において、前記差または前記比が前記予め定められた閾値よりも大きい場合には、前記差または前記比を与えた前記検査用画像の画素ごとに、画素値が前記第2下限値より小さいか否か、および、画素値が前記第2上限値より大きいか否かを判定し、



      前記画素値が前記第2下限値より小さい場合、または、前記画素値が前記第2上限値より大きい場合には、前記画素値を有する前記検査用画像の画素を、前記被検査物の欠陥の像を含む画素の候補として検出する、請求項5または6に記載の画像処理システム。
  8. 画像処理システムのコンピュータによって実行されるコンピュータプログラムであって、



     前記画像処理システムは、前記コンピュータであるプロセッサと、前記プロセッサの動作を制御するプログラムを記憶するメモリと、良品を撮影した少なくとも1枚の良品画像から生成された、少なくとも1枚の良品微分画像のデータを格納する記憶装置とを有しており、



     前記コンピュータプログラムは、前記プロセッサに、



      前記被検査物を撮影した検査用画像のデータを取得する処理と、



      取得した前記検査用画像の微分画像を生成する処理と、



      前記良品微分画像および生成した前記微分画像の同じ位置の画素ごとに、生成した前記微分画像の画素値および前記良品微分画像の画素値の差または比を算出する処理と、



     前記差または前記比が予め定められた閾値よりも大きい場合には、前記差または前記比を与えた前記検査用画像の画素を、前記被検査物の欠陥の像を含む画素の候補として検出する処理と



     を実行させる、コンピュータプログラム。
PCT/JP2020/037633 2020-03-27 2020-10-02 画像処理システムおよびコンピュータプログラム WO2021192371A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202080098821.7A CN115335688A (zh) 2020-03-27 2020-10-02 图像处理系统和计算机程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-057979 2020-03-27
JP2020057979 2020-03-27

Publications (1)

Publication Number Publication Date
WO2021192371A1 true WO2021192371A1 (ja) 2021-09-30

Family

ID=77890224

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/037633 WO2021192371A1 (ja) 2020-03-27 2020-10-02 画像処理システムおよびコンピュータプログラム

Country Status (2)

Country Link
CN (1) CN115335688A (ja)
WO (1) WO2021192371A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006058024A (ja) * 2004-08-17 2006-03-02 Optex Fa Co Ltd 画像の一致度判定方法および装置
JP2006208196A (ja) * 2005-01-28 2006-08-10 Dainippon Printing Co Ltd 被膜検査装置および方法
JP2006284471A (ja) * 2005-04-04 2006-10-19 Mitsubishi Electric Corp パターン検査方法及びパターン検査装置並びにパターン検査用プログラム
JP2007519922A (ja) * 2004-01-27 2007-07-19 ハイネケン・サプライ・チェ−ン・ベスロ−テン・フエンノ−トシャップ 容器の汚染を検出する装置および方法
JP2014132230A (ja) * 2013-01-04 2014-07-17 Fujitsu Advanced Engineering Ltd 検査装置及び検査方法
JP2017227621A (ja) * 2016-06-15 2017-12-28 株式会社Screenホールディングス 外観検査装置、表面処理システム、外観検査方法、プログラム、および投射材交換判断方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519922A (ja) * 2004-01-27 2007-07-19 ハイネケン・サプライ・チェ−ン・ベスロ−テン・フエンノ−トシャップ 容器の汚染を検出する装置および方法
JP2006058024A (ja) * 2004-08-17 2006-03-02 Optex Fa Co Ltd 画像の一致度判定方法および装置
JP2006208196A (ja) * 2005-01-28 2006-08-10 Dainippon Printing Co Ltd 被膜検査装置および方法
JP2006284471A (ja) * 2005-04-04 2006-10-19 Mitsubishi Electric Corp パターン検査方法及びパターン検査装置並びにパターン検査用プログラム
JP2014132230A (ja) * 2013-01-04 2014-07-17 Fujitsu Advanced Engineering Ltd 検査装置及び検査方法
JP2017227621A (ja) * 2016-06-15 2017-12-28 株式会社Screenホールディングス 外観検査装置、表面処理システム、外観検査方法、プログラム、および投射材交換判断方法

Also Published As

Publication number Publication date
CN115335688A (zh) 2022-11-11

Similar Documents

Publication Publication Date Title
CN111340752B (zh) 屏幕的检测方法、装置、电子设备及计算机可读存储介质
TWI787296B (zh) 光學檢測方法、光學檢測裝置及光學檢測系統
US10043090B2 (en) Information processing device, information processing method, computer-readable recording medium, and inspection system
JP4160258B2 (ja) 勾配ベースの局部輪郭線検出のための新しい知覚的しきい値決定
JP6794737B2 (ja) 情報処理装置、情報処理方法、プログラムおよび検査システム
TWI238366B (en) Image processing method for appearance inspection
JP6576059B2 (ja) 情報処理、情報処理方法、プログラム
US11386549B2 (en) Abnormality inspection device and abnormality inspection method
KR102301437B1 (ko) 비전 검사 장치 및 이의 얼룩 검출 방법
JP2007285754A (ja) 欠陥検出方法および欠陥検出装置
WO2021192376A1 (ja) 外観検査システムおよびコンピュータプログラム
JP2013224833A (ja) 外観検査装置、外観検査方法及びコンピュータプログラム
KR20190051395A (ko) 피검사 장치의 검사 시스템 및 방법
JP5088165B2 (ja) 欠陥検出方法および欠陥検出装置
US11748856B2 (en) Computer apparatus and method for detecting defects in near-eye display
WO2021192371A1 (ja) 画像処理システムおよびコンピュータプログラム
WO2019176614A1 (ja) 画像処理装置、画像処理方法、およびコンピュータプログラム
CN115131355B (zh) 利用电子设备数据检测防水布异常的智能方法
CN111583225A (zh) 缺陷检测方法、装置及存储介质
JP2008070242A (ja) ノイズ除去方法および装置、ムラ欠陥検査方法および装置
JP2020134424A (ja) 分光検査方法、画像処理装置、及びロボットシステム
JP6948547B2 (ja) プログラム、情報処理システム、及び情報処理方法
JP7198438B2 (ja) オブジェクト検出方法、オブジェクト検出装置及びコンピュータプログラム
JP2014135007A (ja) フラットパネルディスプレイの自動ムラ検出装置および自動ムラ検出方法
JP2011153874A (ja) 外観検査装置、外観検査システムおよび外観検査方法

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: 20926746

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20926746

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP