# Patent

## Title
Inspection apparatus, inspection method, and program

## Abstract

A photometric processing part calculates a normal vector of a surface of a workpiece from a plurality of luminance images acquired by a camera in accordance with the photometric stereo method, and performs synthesis processing of synthesizing at least two images out of an inclination image made up of pixel values based on the normal vector calculated from the plurality of luminance images and at least one reduced image of the inclination image, to generate an inspection image showing a surface shape of the inspection target. In particular, a characteristic size setting part sets a characteristic size which is a parameter for giving weight to a component of a reduced image at the time of performing the synthesis processing. The photometric processing part can generate a different inspection image in accordance with the set characteristic size.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a continuation of U.S. patent application Ser. No. 14/718,109, filed May 21, 2015, which claims foreign priority based on Japanese Patent Application No. 2014-119099, filed Jun. 9, 2014, the contents of which are incorporated herein by reference.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to an inspection apparatus, an inspection method, and a program.
2. Description of Related Art
In order to measure an accurate three-dimensional shape of a workpiece (inspection target product) by using a photometric stereo principle, there is required an illumination light source whose illumination light is incident on each surface of the workpiece with a uniform light amount. Further, an angle of incidence of the illumination light is required to be known. Moreover, since the angle of incidence of light should not change in accordance with a region of the workpiece, there is required an illumination light source having a size corresponding to the size of the workpiece to be inspected. Furthermore, scale information (actual dimension per pixel) of an image captured by a camera is also required. A visual inspection apparatus is often installed by a user, and it is difficult for the user to satisfy these strict installation conditions. Therefore, according to JP 2007-206797 A, a dedicated apparatus formed by integrating illumination and a camera is proposed, to thereby reduce a burden of installation of the user.
According to the invention described in JP 2007-206797 A, since the illumination and the camera are integrated, there is an advantage of reducing the burden of installation of the user. Nevertheless, a visual inspection apparatus using the photometric stereo principle has not prevailed in the market. There are several reasons for this. According to JP 2007-206797 A, a normal vector image (an image in which each pixel shows a normal vector of the surface of the workpiece) or a reflectance image (an image in which each pixel shows a reflectance of the surface of the workpiece), obtained by using the photometric stereo principle, is applied to image inspection. Accordingly, in the invention of JP 2007-206797 A, an applicable application is limited. For example, the reflectance image is useful for inspection of a workpiece having on its surface a number of glittering portions where luminance is saturated, and the like, but the reflectance image is not suitable for inspection of a fine uneven flaw on the surface of the workpiece or for OCR (optical character recognition) of an inscribed character. Meanwhile, in the inspection application such as the inspection of the fine uneven flaw on the surface of the workpiece or the OCR of the inscribed character, strict installation conditions are not required.
However, in such an inspection application, the user is required to adjust several image processing parameters at the time of generating an image for inspection from the normal vector image or the reflectance image. Hence, a burden of the user is desirably reduced also for this adjustment operation.
SUMMARY OF THE INVENTION
Therefore, an object of the present invention is to facilitate setting of a parameter at the time of generating an inspection image from an image acquired by using a photometric stereo principle.
According to the present invention, for example, there is provided an inspection apparatus including: an illumination section for illuminating an inspection target in accordance with a photometric stereo method; an imaging section for receiving reflective light from the illuminated inspection target to generate a luminance image in accordance with the photometric stereo method; a computing section for calculating a normal vector of a surface of the inspection target from a plurality of luminance images acquired by the imaging section, and performing accumulation computing of a pixel value of a pixel of interest by using a normal vector of a pixel adjacent to the pixel of interest with respect to an inclination image made up of pixel values based on the normal vector calculated from the plurality of luminance images and a reduced image of the inclination image, to generate an inspection image having the pixel value; and a determination section for determining defectiveness/non-defectiveness of the inspection target by using the inspection image, the inspection apparatus further including a setting section for setting a characteristic size which is a parameter for giving weight to a component of the reduced image used in the accumulation computing.
According to the present invention, by introducing the concept of a characteristic size, a parameter can be easily set at the time of generating an inspection image from an image acquired by using the photometric stereo principle.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a view showing an outline of an inspection apparatus;
FIGS. 2A to 2C provide a view for describing a photometric stereo principle;
FIG. 3 is a diagram for describing accumulation computing;
FIG. 4 is a diagram showing a method for deciding weight based on a characteristic size;
FIG. 5 is a view showing one example of inspection images with different characteristic sizes;
FIG. 6 is a view describing images related to generation of a shape image;
FIG. 7 is a view describing a method for generating a texture image;
FIG. 8 is a function block diagram of the inspection apparatus;
FIG. 9 is a flowchart showing a setting mode;
FIG. 10 is a view showing one example of a user interface;
FIG. 11 is a view showing one example of the user interface;
FIG. 12 is a view showing one example of the user interface;
FIG. 13 is a view showing one example of the user interface;
FIG. 14 is a view showing one example of the user interface;
FIG. 15 is a view showing one example of the user interface;
FIG. 16 is a view showing one example of the user interface;
FIG. 17 is a view showing one example of the user interface;
FIG. 18 is a view showing one example of the user interface;
FIG. 19 is a view showing one example of the user interface;
FIG. 20 is a flowchart showing an inspection mode;
FIG. 21 is a view showing one example of the user interface;
FIG. 22 is a view showing one example of the user interface;
FIG. 23 is a view showing one example of the user interface;
FIG. 24 is a view showing one example of the user interface;
FIG. 25 is a view showing one example of the user interface; and
FIG. 26 is a view showing one example of the user interface.



DETAILED DESCRIPTION OF PREFERRED EMBODIMENT
Hereinafter, one embodiment of the present invention is shown. An individual embodiment described below will be useful for understanding a variety of concepts such as a superordinate concept, an intermediate concept, and a subordinate concept of the present invention. Further, a technical range of the present invention is defined by the claims, and is not limited by the following individual embodiment.
FIG. 1 is a view showing one example of a visual inspection system. A line 1 is a conveyer belt for conveying a workpiece 2 which is an inspection target. An illumination apparatus 3 is one example of an illumination section for illuminating an inspection target in accordance with a photometric stereo method. A camera 4 is one example of an imaging section for receiving reflective light from the illuminated inspection target to generate a luminance image in accordance with the photometric stereo method. An image processing apparatus 5 is a visual inspection apparatus for calculating a normal vector of the surface of the workpiece 2 from a plurality of luminance images acquired by the camera 4, performing accumulation computing of a pixel value of a pixel of interest by using a normal vector of a pixel adjacent to the pixel of interest with respect to an inclination image made up of pixel values based on the normal vector calculated from the plurality of luminance images and a reduced image of the inclination image, and generating an inspection image having the pixel value, to determine defectiveness/non-defectiveness of the inspection target by using the inspection image. The inclination image may be referred to as a normal vector image. The image processing apparatus 5 may create a reflectance image (albedo image) from the luminance image. A display part 7 displays a user interface for setting a control parameter related to inspection, an inclination image, a reflectance image, an inspection image, and the like. An input part 6 is a console, a pointing device, and a keyboard, and is used for setting a control parameter.
<Photometric Stereo Principle>
In a general photometric stereo method, as shown in FIG. 2A, illumination light L1 to illumination light L4 are applied to the workpiece 2 from four directions while being switched, to generate four luminance images. The direction of the illumination light used at the time of capturing each luminance image is in only one direction. Note that a luminance image is made up of a plurality of pixels, and four pixels whose coordinates match in the four luminance images correspond to the same surface of the workpiece. Expression 1 shown in FIG. 2B is established among pixel values (luminance values) I1,I2,I3, I4 of the four pixels and the normal vector n. Here, ρ is a reflectance. L is a light amount of the illumination light from each direction, and is known. Here, the light amounts from the four directions are the same. S is an illumination-direction matrix, and is known. By solving this mathematical expression, the reflectance ρ and the normal vector n for each coordinates (surface of the workpiece) are obtained. As a result, a reflectance image and an inclination image are obtained.
In the present embodiment, further, a height component is extracted from the inclination image to create, as the inspection image, a shape image showing a shape of the workpiece. The inspection image is obtained by an accumulation computing equation which is Expression 2 shown in FIG. 2C. Here, zn is a result of n-th accumulation and shows the shape of the surface of the workpiece, x and y indicate coordinates of a pixel, and n shows how many times iteration calculation has been performed. Moreover, p shows an inclination component in a horizontal direction, q shows an inclination component in a vertical direction, p and q are obtained from the normal vector n, and w is weight. Further, a 1/1 -inclination image is used in first accumulation computing, a 1/2 -reduced inclination image is used in second accumulation computing, and a 1/4 -reduced inclination image is used in third accumulation computing. At the time of creating the reduced image, reduction processing may be performed after Gaussian processing is performed.
In the present embodiment, a parameter called a characteristic size is adopted in the accumulation computing. The characteristic size is a parameter for giving weight to a component of a reduced image to be used in the accumulation computing. The characteristic size is a parameter showing a size of a surface shape of the workpiece 2. For example, when the characteristic size is 1, weight with respect to four pixels adjacent to a pixel of interest in an x-y direction is set the largest and the accumulation computing is performed. When the characteristic size is 2, weight with respect to eight pixels adjacent to the pixel of interest in the x-y direction is set the largest and the accumulation computing is performed. However, since computing using the eight pixels causes an increase in computing amount, the foregoing reduced image is created and used for the computing. That is, in place of using the eight adjacent pixels, the inclination image is reduced into 1/2 and the computing is performed. Thereby, concerning a certain pixel of interest, four pixels in the reduced image may be considered for the computing. Also when the characteristic size is increased to 4, 8, 16, and 32, reduced images corresponding thereto are created, and weight with respect to the reduced image corresponding to the characteristic size is set the largest, whereby a similar effect of reduction in computing load can be obtained.
FIG. 3 shows one example of the accumulation computing. In this example, two inclination images (an image with a horizontal inclination component p and an image with a vertical inclination component q) obtained from the normal vector n are inputted. First, a whole shape is accumulated by an inclination image with a large reduction degree, and a fine shape is accumulated by an image with a smaller reduction degree. This allows restoration of the whole shape in a short period of time. According to FIG. 3, for example, with respect to the 1/32 -reduced image, z which is a parameter indicating the shape of the surface of the workpiece concerning the pixel of interest is calculated by Expression 2. The weight w is decided in accordance with the characteristic size. Each pixel constituting the reduced image is taken as a pixel of interest, and the accumulation computing is subjected to iteration (repetition processing). An initial value of z is zero. Then, z is calculated with respect to the 1/16-reduced image in accordance with Expression 2. Here, an inclination component of the 1/16-reduced image is accumulated on a result of the computing of 1/32. Similarly, the accumulation computing is performed from the 1/8-reduced image to the 1/1-image.
FIG. 4 shows one example of weight with respect to each characteristic size. A horizontal axis indicates a resolution level (reduction degree), and a vertical axis indicates weight. As can be seen from FIG. 4, in the characteristic size 1, weight is the largest at level 0 (1/1-image) with the smallest reduction degree. This allows accumulation of a finer shape. In the characteristic size 2, weight is the largest at level 1 (1/2-image). This allows further accumulation of a shape having a larger size. As thus described, each weight is decided such that a peak is generated at the level corresponding to the characteristic size.
As a method for restoring the shape image, other than the above accumulation computing, it is also possible to adopt known Fourier transform integration (“A Method for Enforcing Integrability in Shape from Shading Algorithms”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 10, No. 4 July 1988). Also in this method, it is possible to change a characteristic size to be extracted by generating a reduced image in a calculation process and adjusting a weighting component.
FIG. 5 shows one example of inspection images in accordance with differences in characteristic size. It can be seen that a fine shape is extracted in the characteristic size 4, a whole shape is extracted in the characteristic size 64, and a shape of an intermediate size therebetween is extracted in the characteristic size 16. In such a manner, a small characteristic size is useful for inspecting a fine flaw, a large characteristic size is suitable for discriminating the presence or absence of an object, and an intermediate characteristic size is suitable for OCR of an uneven character, and the like. That is, selecting a suitable characteristic size in accordance with the inspection tool can improve the inspection accuracy.
FIG. 6 is a view showing a step of creating an inspection image by the photometric stereo method. Luminance images 601 to 604 are luminance images acquired by illuminating the workpiece 2 with illumination light from respectively different illumination directions. Note that a luminance image 600 is a luminance image obtained by simultaneously illuminating the workpiece 2 from four directions. A normal vector of the surface of the workpiece is obtained by computing from the plurality of luminance images acquired by illuminating the workpiece 2 with the illumination light from the respectively different illumination directions. An inclination image 611 is an inclination image whose pixel value is an inclination component in an x-direction of the normal vector obtained from the luminance images 601 to 604. An inclination image 612 is an inclination image whose pixel value is an inclination component in a y-direction of the normal vector obtained from the luminance images 601 to 604. A reflectance image 610 is a reflectance image obtained by removing an amount of change in luminance value due to inclination of the surface of the workpiece from the normal vector obtained from the luminance images 601 to 604, to form an image with a reflectance of the surface of the workpiece. Inspection images 621 to 623 are images with respectively different characteristic sizes obtained from the inclination images 611, 612. Each of the inspection images 621 to 623 is also made up of pixels based on an inclination component, and is thus a type of the inclination image. In such a procedure, the inspection image of the workpiece 2 is generated. Note that the luminance image 600 or the reflectance image 610 as an all-directional illumination image may be adopted as the inspection image, depending on the inspection tool. The all-directional illumination image is a luminance image acquired by lighting all of a plurality of light sources provided in the illumination apparatus 3.
<Texture Information>
Texture information is information based on the reflectance ρ of the surface of the workpiece 2. The reflectance ρ is obtained by Expression 1, namely, one reflectance image is obtained from four luminance images. The reflectance image is an image having a pixel value proportional to the reflectance ρ of the surface of the workpiece. As shown in FIG. 7, a normal vector is calculated from four luminance images 701 to 704, and based on the calculated normal vector and a luminance value of a pixel corresponding to each of the plurality of luminance images, a pixel value proportional to a reflectance of each pixel is calculated, to obtain texture images 711, 712 which are reflectance images. Examples of this synthesis method includes a method of averaging pixels of the four luminance images to obtain a texture image, and a method of removing halation from the four luminance images and then averaging pixels to obtain a texture image. The texture image 711 is one example of the image obtained by averaging pixels, and the texture image 712 is one example of the image obtained by removing halation. In the four luminance images, four pixels whose coordinates match exist. It is possible to remove halation by removing a pixel with the largest pixel value out of the four pixels, or by removing pixels with the largest to N-th largest pixel values (N is a natural number not larger than 3). This is because halation appears as high luminance in the image. Both the texture images 711, 712 are made up of pixels based on the reflectance, and are thus types of the reflectance image.
<Function Block>
FIG. 8 is a block diagram of the inspection apparatus. In this example, the illumination apparatus 3, the camera 4, and the image processing apparatus 5 are respectively housed in separate housings, but this is merely an example, and the illumination apparatus 3, the camera 4, and the image processing apparatus 5 may be integrated as appropriate. The illumination apparatus 3 is one example of the illumination section for illuminating the inspection target in accordance with the photometric stereo method, and provided with a light source group 801 and an illumination controller 802 for controlling this light source group. One segment may be formed of a plurality of light-emitting elements, and the light source group 801 may be formed of a plurality of segments. The number of segments is generally four, but may be any number as long as it is not smaller than three. This is because an inspection image can be generated by the photometric stereo method if the workpiece 2 can be illuminated from three or more illumination directions. As shown in FIG. 1, an outer shape of the illumination apparatus 3 may be a ring shape. Further, the illumination apparatus 3 may be configured by a plurality of illumination units each separated from one another. For example, although illumination units that are used for capturing an image of the workpiece 2 exist in the market, these illumination units are not developed for photometric stereo. However, the illumination apparatus 3 may be configured by preparing a plurality of such illumination units and connecting an illumination controller for controlling these illumination units. The illumination controller 802 controls lighting timing and a lighting pattern of the light source group 801 in accordance with a control command from the image processing apparatus 5. Although a description will be given assuming that the illumination controller 802 is incorporated in the illumination apparatus 3, the illumination controller 802 may be incorporated in the camera 4 or in the image processing apparatus 5, or may be housed in a housing independent of these.
The camera 4 is one example of the imaging section for receiving reflective light from the illuminated inspection target to generate a luminance image in accordance with the photometric stereo method, and performs the imaging processing in accordance with a control command from the image processing apparatus 5. The camera 4 may create a luminance image of the workpiece 2 and transmit the luminance image to the image processing apparatus 5, or the camera 4 may transmit a luminance signal obtained from an imaging element to the image processing apparatus 5 and the image processing apparatus 5 may generate a luminance image. Since the luminance signal is a signal used for generating the luminance image, the luminance signal is also the luminance image in a broad sense.
The image processing apparatus 5 has a processor 810 such as a CPU and an ASIC, a storage device 820 such as a RAM, a ROM, and a portable storage medium, an image processing part 830 such as an ASIC, and a communication part 850 such as a network interface. The processor 810 serves to set an inspection tool and generate an inspection image. A photometric processing part 811 functions as a computing section for calculating the normal vector n of the surface of the workpiece 2 from a plurality of luminance images acquired by the camera 4, and performing accumulation computing of a pixel value of a pixel of interest by using the normal vector n of a pixel adjacent to the pixel of interest with respect to an inclination image having a pixel value based on the normal vector n calculated from the plurality of luminance images and a reduced image of the inclination image, to generate an inspection image having the pixel value. Note that, specifically, the inspection image is generated by using the foregoing mathematical expression or the like. An illumination control part 812 transmits a control command to the illumination controller 802 to control an illumination pattern, illumination switching timing, or the like. An imaging control part 813 controls the camera 4. A UI managing part 814 displays on the display part 7 a user interface (UI) for setting an inspection tool, a UI for setting a parameter required for generating an inspection image, and the like, and sets the inspection tool and the parameter in accordance with information inputted from the input part 6. In particular, a characteristic size setting part 815 functions as a setting section for setting a characteristic size which is a parameter for giving weight w to a component of a reduced image that is used in the accumulation computing. An image selection part 816 selects an image to be displayed or the like, out of a plurality of luminance images, a plurality of inspection images, a plurality of inclination images, and a plurality of reflectance images. The image selection part 816 may select an image, which is to be saved or outputted, out of the plurality of luminance images acquired by the camera 4 and the inspection image. An inspection tool setting part 817 sets an inspection tool for the inspection image selected by the image selection part 816. A reference image setting part 818 sets a reference image acquired from a non-defective product. The inspection tool setting part 817 may include the characteristic size setting part 815, the image selection part 816, the reference image setting part 818, and a condition setting part 819. The image processing part 830 functions as an inspection region setting section for executing a pattern search on an inspection image by using the reference image, to set an inspection region in the inspection image. The inspection region is, for example, a character recognition region. The condition setting part 819 sets a condition for outputting an image to an external device connected to the display part 7 or the communication part 850, or sets a condition for saving an image into a portable storage medium. A determination part 840 functions as a determination section for determining defectiveness/non-defectiveness of the workpiece 2 by using the inspection image. For example, the determination part 840 receives a result of the inspection executed in the image processing part 830 by using the inspection image and determines whether or not the inspection result satisfies a non-defective product condition (tolerance or the like).
The storage device 820 stores luminance image data 821 which is data of the luminance image acquired by the camera 4, and inclination image data 822 and reflectance image data 823 generated by the photometric processing part 811. Further, the storage device 820 also stores a variety of setting data, a program code for generating a user interface, and the like. The storage device 820 may store and hold inspection images with respectively different characteristic sizes. Further, in addition to the inspection image, the storage device 820 may also store inclination image data or reflectance image data used for generating the inspection image. When erroneous determination on the workpiece 2 is found, these pieces of data may be useful for specifying which of the inspection image, the inclination image, and the reflectance image has a problem and correcting its control parameter.
The image processing part 830 executes visual inspection by using the inspection image (the inclination image data 822, the reflectance image data 823) generated by the photometric processing part 811. A flaw inspection part 831 executes flaw inspection on a plurality of inspection images generated by using respectively different characteristic sizes. An OCR part 832 functions as a character recognition processing section for performing character recognition processing on a plurality of inspection images generated by using respectively different characteristic sizes. The flaw inspection part 831 and the OCR part 832 may read the inspection image (the inclination image data 822, the reflectance image data 823) stored in the storage device 820 and execute inspection, to write an inspection result into the storage device 820 or to pass the inspection result to the determination part 840. The determination part 840 determines defectiveness/non-defectiveness of the workpiece 2 based on this inspection result.
<Setting Mode>
The inspection system has a setting mode for setting an inspection tool and an inspection mode (operation mode) for executing a visual inspection of the workpiece 2 in accordance with the set inspection tool. Here, one example of the setting mode will be described.
FIG. 9 is a flowchart concerning the setting mode. When the start of the setting mode is designated through the input part 6, the UI managing part 814 of the processor 810 displays a UI for setting the inspection tool on the display part 7.
FIG. 10 shows one example of the UI. A UI 1000 displayed on the display part 7 by the UI managing part 814 is provided with a pull-down menu 1001 for designating a saving destination of an inspection result, and a text box 1002 for inputting a name of the inspection tool. When detecting pressing-down of a run button, the UI managing part 814 displays the next UI.
A UI 1100 shown in FIG. 11 has guidance 1101 for setting the inspection tool, a measurement run button 1102 for designating the camera 4 to perform imaging, a display region 1103 for displaying an image captured by the camera 4, and a camera setting button 1104 for designating the start of setting of the camera. An image selection part 1105 is a button for selecting an image to be displayed in the display region 1103 or an image to be used for the inspection. In this example, any one image out of a shape 1, a shape 2, a texture, and normal is optionally selected by the image selection part 1105. When the measurement run button 1102 is operated, the imaging control part designates the camera 4 to perform imaging. The UI managing part 814 renders a luminance image acquired by the camera 4 to the display region 1103. Note that, when another image is selected by the image selection part 1105, the UI managing part 814 renders the image selected by the image selection part 1105 to the display region 1103. As thus described, the user can switch an image displayed in the display region 1103 by operating the image selection part 1105 or designating switching of the image through the input part 6. When the, camera setting button 1104 is operated, the UI managing part 814 performs switching to the next UI.
In S901, the UI managing part 814 displays a UI for setting the camera 4 on the display part 7, to execute setting of the camera. FIG. 12 shows one example of a camera setting UI 1200. A camera setting tab 1201 has a pull-down menu 1202 for setting a model of a camera, a pull-down menu 1203 for setting an image size, a pull-down menu 1204 for setting a shutter speed, and a slider 1205 for setting the sensitivity of the camera. When the measurement run button 1102 is operated, the UI managing part 814 displays in the display region 1103 a luminance image acquired by the camera 4 in accordance with an imaging parameter set at that point. Hence, it is possible to determine whether or not the set parameter is suitable.
In S902, the UI managing part 814 displays a UI for setting photometric processing on the display part 7, to execute the setting. For example, when detecting that a photometric stereo setting tab 1210 provided in the camera setting UI 1200 is operated, the UI managing part 814 switches the photometric stereo setting tab 1210 to be enabled, as shown in FIG. 13. Switching the photometric stereo setting tab 1210 to be enabled means switching a display state of the photometric stereo setting tab 1210 to a user operable state. The photometric stereo setting tab 1210 includes a pull-down menu 1301 for selecting an image and a characteristic size setting part 1302. In this example, it is assumed that any of three inspection images (shape 1, shape 2, shape 3) with respectively different characteristic sizes can be selected. A characteristic size is set by the characteristic size setting part 1302 for each image selected by the pull-down menu 1301.
A selection part for selecting an illumination pattern may be arranged in the photometric stereo setting tab 1210. Further, a designation part for designating an amount of emission for one illumination may be provided.
In S903, the UI managing part 814 displays a UI for setting the inspection tool on the display part 7, to execute the setting. FIG. 14 is one example of a UI 1400 for setting the inspection tool. An image selection button 1401 is a button for selecting an inspection image to be used for inspection out of a plurality of inspection images. An inspection category selection button 1402 is a button for selecting a category of a tool to be added as the inspection tool out of a plurality of inspection categories. A recognition target setting button 1403 is a button for selecting one out of a plurality of recognition targets. In this example, “shape 1” is selected as the inspection image, “recognition” is selected as the category, and “character recognition” is selected as the recognition processing. When an addition button 1404 is operated, the UI managing part 814 performs switching to the next UI. FIG. 15 shows a reference image registration UI 1500. The reference image registration UI 1500 is provided with a registration button 1501 in addition to the measurement run button 1102 and the display region 1103 described above. When the registration button 1501 is operated, the UI managing part 814 registers as the reference image an image acquired by the measurement run button 1102 and displayed in the display region 1103. When the registration is completed, the UI managing part 814 performs switching to the next UI.
FIG. 16 shows a measurement region setting UI 1600. The display region 1103 of the measurement region setting UI 1600 is provided with a reference image 1601 and a frame 1602 showing a measurement region. The UI managing part 814 changes a position and a size of the frame 1602 in accordance with designation from the input part 6. The user adjusts the position and the size of the frame 1602 in accordance with a position and a size of a portion to be measured in the reference image 1601. The UI managing part 814 further executes character segmenting setting, or dictionary setting for registering a specific example (character image) of a character to be recognized, a character corresponding to the character image, and the like.
Next, a flaw inspection tool will be described. As shown in FIG. 17, when the flaw inspection is selected by the inspection category selection button 1402, the UI managing part 814 displays an inspection content selection button 1701. In this example, a tool for measuring a total area of a flaw has been selected by the inspection content selection button 1701. When the addition button 1404 is operated, the UI managing part 814 switches the UI.
FIG. 18 shows a measurement region setting UI 1800. The measurement region setting UI 1800 is provided with a frame 1802 for showing a measurement region. A shape of the frame 1802 is changeable, and for example, any shape out of a plurality of shapes is selected by a pull-down menu 1801 for selecting the shape. The UI managing part 814 renders the frame 1802 having the shape selected by the pull-down menu 1801 to the display region 1103. The UI managing part 814 changes a position and a size of the frame 1802 in accordance with designation from the input part 6.
FIG. 19 shows a setting UI 1900 for setting flaw detecting conditions. The setting UI 1900 is provided with a pull-down menu 1901 for selecting a flaw detecting direction, a box 1902 for designating a flaw segment size, and a slider 1903 for designating a flaw level. When the flaw inspection part 831 detects a flaw based on the flaw detecting conditions set by the setting UI 1900, the UI managing part 814 may display a flaw detection mark 1910 at a position of the flaw. This allows the user to judge whether or not the flaw detection conditions are suitable.
<Inspection Mode>
FIG. 20 is a flowchart showing the inspection mode. When the start of the inspection mode is designated through the input part 6, the processor 810 switches the operation mode to the inspection mode.
In S2001, the processor 810 captures and acquires an image of the workpiece 2 while switching the illumination direction in accordance with the set illumination pattern. Specifically, the illumination control part 812 specifies the illumination pattern with reference to the setting data held in the storage device 820, and transmits a command for designating the illumination pattern to the illumination controller 802. The imaging control part 813 specifies control parameters (shutter speed, sensitivity, and the like) concerning the camera 4 with reference to the setting data held in the storage device 820, and transmits a command for designating the control parameters to the camera 4. The photometric processing part 811 transmits a trigger signal for designating the start of illumination to the illumination controller 802, and in conjunction with this, the photometric processing part 811 transmits a trigger signal for designating the start of imaging to the camera 4. The illumination controller 802 switches the illumination direction in synchronization with the trigger signal. For example, in accordance with the illumination pattern designated by the command, the illumination controller 802 lights the corresponding light-emitting elements sequentially one by one with respect to the four illumination directions. The illumination controller 802 may hold the corresponding relation between the command and the illumination pattern in a memory or the like. Only one trigger signal may be issued at the start of illumination, or the trigger signal may be issued at switching timing. The camera 4 captures an image of the workpiece 2 in accordance with the control parameters, and transfers the luminance image to the image processing apparatus 5. In such a manner, for example, one luminance image is generated for one illumination direction.
In S2002, the processor 810 obtains the normal vector n and the reflectance ρ from the plurality of luminance images. As described above, the photometric processing part 811 applies Expression 1 to pixel values of the plurality of luminance images, to obtain the normal vector n and the reflectance ρ.
In S2003, the processor 810 generates an inspection image in accordance with the set characteristic size. As described above, the photometric processing part 811 decides the weight W corresponding to the characteristic size from a weight table or the like, and performs the accumulation computing by using Expression 2, to generate an inspection image (inclination image). As thus described, the photometric processing part 811 may generate an inclination image having a pixel value based on the normal vector n of the surface of the workpiece 2 from the plurality of luminance images. When a plurality of characteristic sizes with respectively different values are set, the photometric processing part 811 may generate an inspection image with respect to each of the plurality of characteristic sizes. Further, the photometric processing part 811 may generate a reflectance image or a texture image by the foregoing technique. For example, the photometric processing part 811 may calculate the reflectance ρ of the surface of the workpiece 2 along with the normal vector n of the surface of the workpiece 2 from the plurality of luminance images, to generate a reflectance image having a pixel value based on the reflectance ρ. Here, an image to be inspected is generated, and generation of an image not to be inspected may be omitted.
In S2004, the processor 810 displays the inspection image on the display part 7. The UI managing part 814 may simultaneously or selectively display on the display part 7 the luminance image, the inclination image, and the reflectance image along with the inspection image. When the images are selectively displayed, the UI managing part 814 may, for example, display the four luminance images by sequentially switching in accordance with switching designation from the input part 6. For example, out of the input part 6, a specific key provided in the console may be allocated as an image switching button.
In S2005, the processor 810 designates the image processing part 830 to execute the inspection. When the inspection is designated, the image processing part 830 activates a previously set inspection tool, to execute the inspection on the inspection image. For example, the flaw inspection part 831 discriminates a flaw level in accordance with the set measurement region and detection conditions, and transmits a result of the inspection (flaw level) to the determination part 840. Note that the flaw inspection part 831 may execute a pattern search by using the foregoing reference image and set an inspection region, to execute the inspection in the inspection region. Further, the OCR part 832 performs character recognition processing on the inspection image in accordance with a previously set character recognition setting, and transmits a result of the character recognition to the determination part 840. The OCR part 832 may also execute a pattern search by using the foregoing reference image and set an inspection region (character recognition region), to execute inspection in the inspection region.
In S2006, the determination part 840 of the processor 810 compares the inspection result and a determination threshold, to determine whether or not the workpiece 2 is a non-defective product. For example, in a case where a setting has been performed so as to execute both the flaw inspection and the OCR, the determination part 840 determines the workpiece 2 as a non-defective product when both of the result of the inspection by the flaw inspection part 831 and the result of the character recognition by the OCR part 832 are at passing levels.
<Image Saving Setting>
FIG. 21 shows one example of a UI 2100 for setting an inspection flow. The UI managing part 814 displays the UI 2100 on the display part 7, and sets a plurality of steps to be performed from the start to the end of the inspection flow in accordance with designation inputted from the input part 6. In this example, an imaging step, a pattern search step, a position correcting step and a flaw inspecting step are added to the inspection flow. For example, when the end of the inspection flow is designated through the input part 6, the UI managing part 814 may perform such a setting as to store an inspection history at the end. The inspection history is an inspection result, an image used in the inspection, and the like.
At the time of adding each step, the UI managing part 814 may accept selection of an image to be used in each step through the input part 6. For example, through the input part 6, the user may designate four luminance images with four different illumination directions, an inclination image, a reflectance image, or the like as an acquirement target for the imaging step. The user may designate any of luminance images (all-directional illumination image, etc.) as a search target for the pattern search step. The user may designate an inspection image generated from the inclination image as an inspection target for the flaw inspecting step. In the present embodiment, a plurality of shape images and a reflection image generated from the plurality of luminance images captured in the imaging step can be outputted in the later-stage inspection step, whereby the user can apply a plurality of inspection images generated from the common imaging step to a variety of inspections corresponding to characteristics of each image.
FIG. 22 shows one example of a UI 2200 for setting a condition for storing histories. A setting part 2201 for setting identification information for identifying the storage condition is a pull-down menu for selecting identification information to be set from a plurality of pieces of identification information. In this example, in the setting part 2201, a storage condition for identification information of “0:” is selected. Examples of the storage condition includes a condition that images are stored only when an inspection result shows that the workpiece is not a non-defective product, and a condition that images are constantly stored for each workpiece without depending on the inspection result. Here, the processor 810 activates the condition setting part 819 when detecting that a detail setting button or the like is pressed. The condition setting part 819 may, for example, set one of a mode for constantly saving or outputting an image, and a mode for saving or outputting an image when the determination part 840 determines that an inspection target is not a non-defective product. An image selection part 2202 selects an image that is saved when the storage condition is satisfied. Here, “all” or “designate” can be selected by the image selection part 2202. A saving destination selection part 2203 is a pull-down menu for selecting an image saving destination (e.g., a portable medium such as an internal memory or a memory card, or network storage such as an FTP server).
FIG. 23 shows one example of a UI 2300 that the UI managing part 814 displays on the display part 7 when “designate” is selected in the image selection part 2202. In this example, there is provided a check box 2301 for selecting an image to be actually saved out of all types of images handled in the inspection flow. “Shape 1” and “shape 2” are inspection images (inclination images) with different characteristic sizes. “Texture” is a reflectance image. “Normal” is an image acquired by all-directional illumination. Each of arrows in four directions indicates an image for each illumination direction. An image whose check box is checked is set as an image to be saved.
Incidentally, the processor 810 may be provided with a judgment section for judging whether or not a condition for saving or outputting an image is satisfied after the determination part 840 completes the determination. That is, in the end part of the inspection flow, the processor 810 may judge whether or not the storage condition or the output condition set by the condition setting part 819 is satisfied.
FIG. 24 shows an example of adding an image outputting step 2401 to the inspection flow. In the foregoing example, the setting has been performed so as to output an image at the end of the inspection flow, but in this example, the UI managing part 814 sets the image outputting step 2401 at an arbitrary position of the inspection flow in accordance with the user's designation inputted from the input part 6. In such a manner, the processor 810 may judge whether or not the condition for saving or outputting an image is satisfied in the image outputting step 2401 located before the determination part 840 completes the determination. The storage setting and the like related to the image outputting step 2401 may be similar to those described using FIGS. 21 to 23, or may be different.
FIG. 25 shows a different example of a UI related to the storage setting (output setting). In a state where the image outputting step 2401 has been selected by the input part 6, when designation to start a setting is further inputted by the input part 6, the UI managing part 814 displays a UI 2501. An image variable 2502 functions as an image selection part for selecting an image to be outputted, and in this example, an image to be outputted is designated by the image variable that is added to each step in the inspection flow. That is, the image to be outputted can be selected for each step. In the UI 2501, the number of outputted images, an image form, and the like may be set. An output destination selection part 2503 is a pull-down menu for selecting an image outputting destination (e.g., a portable storage medium such as an internal memory or a memory card, or network storage such as an FTP server).
FIG. 26 is one example of a UI 2600 for selecting an image. When a detail setting button is pressed down in the UI 2501, the UI managing part 814 displays a UI 2600. The UI 2600 is provided with a radio button for selecting whether to save all images or to individually designate the images, check boxes for individually selecting the images, and the like. In this example, since the individual setting is selected by the radio button, check boxes are enabled, and several images are selected by the check boxes. In such a manner, an image to be saved or outputted may be selected out of a plurality of luminance images, an inspection image, an all-directional illumination image, and a synthesized luminance image obtained by synthesizing the plurality of luminance images. Further, the UI 2600 may be configured so as to select an image, which is to be saved or outputted, out of a plurality of inspection images with respectively different characteristic sizes. Moreover, the UI 2600 may be configured such that an image to be saved or outputted can be selected out of a plurality of luminance images, an inspection image, and a reflectance image whose pixel value is a reflectance of the surface of the inspection target.
SUMMARY
According to the present embodiment, the photometric processing part 811 calculates a normal vector of the surface of the workpiece 2 from a plurality of luminance images acquired by the camera 4 in accordance with the photometric stereo method, and performs accumulation computing of a pixel value of a pixel of interest by using a normal vector of a pixel adjacent to the pixel of interest with respect to an inclination image made up of pixel values based on the normal vector calculated from the plurality of luminance images and a reduced image of the inclination image, to generate an inspection image having the pixel value. Further, the photometric processing part 811 may generate an inclination image and at least one reduced image of the inclination image, and perform synthesis processing of synthesizing at least two images out of the inclination image and at least one reduced image, to generate an inspection image showing a surface shape of the inspection target. In particular, according to the present embodiment, there is provided the characteristic size setting part 815 for setting a characteristic size which is a parameter for giving weight to a component of a reduced image that is used in the synthesis processing (e.g., accumulation computing). As thus described, by introducing the concept of the characteristic size, a parameter can be easily set at the time of generating an inspection image from an image acquired by using the photometric stereo principle. Note that the photometric processing part 811 can generate a different inspection image in accordance with a characteristic size set by the characteristic size setting part 815. The photometric processing part 811 may generate a plurality of reduced images with respectively different reduction ratios. Further, when the characteristic size is changed by the characteristic size setting part 815, the photometric processing part 811 may change the characteristic size with respect to the acquired inclination image without re-imaging, to update the inspection image. Since this eliminates the need for re-capturing an image, reproduction of an imaging environment at the time of setting is not required, and hence it is possible to perform an optimum setting while changing the setting for the characteristic size with respect to the image which has been captured and stored. The characteristic size setting part 815 may set different characteristic sizes in a stepwise manner corresponding to an inspection application. For example, it is considered that the characteristic size may be set in a stepwise manner corresponding to the application, e.g., the characteristic size is rather small in the flaw inspection mode and the characteristic size is rather large in the OCR recognition mode. For example, the characteristic size may be set in a stepwise manner corresponding to the application, e.g., the characteristic size is rather small in the flaw inspection mode and the characteristic size is rather large in the OCR recognition mode. This is useful when a suitable characteristic size is previously unknown.
The characteristic size setting part 815 may set a plurality of characteristic sizes with respectively different values. In this case, the photometric processing part 811 may generate an inspection image with respect to each of the plurality of characteristic sizes set by the characteristic size setting part 815. It is considered that a suitable characteristic size differs according to a type of the inspection tool. Therefore, generating inspection images in accordance with a plurality of characteristic sizes with respectively different values is advantageous in selecting a more suitable image corresponding to the inspection.
The flaw inspection part 831 may execute flaw inspection on a plurality of inspection images generated by using respectively different characteristic sizes, and the determination part 840 may determine defectiveness/non-defectiveness of the workpiece 2 by using a result of the inspection by the flaw inspection part 831. Executing the flaw inspection on the plurality of inspection images eliminates the need for previously selecting one inspection image, which will be convenient for the user. The OCR part 832 may perform character recognition processing on a plurality of inspection images generated by using respectively different characteristic sizes, and the determination part 840 may determine defectiveness/non-defectiveness of the workpiece 2 by using a result of the character recognition by the OCR part 832. Performing the character recognition processing on the plurality of inspection images eliminates the need for previously selecting one inspection image, which will be convenient for the user.
Originally, a height image showing a height of the workpiece 2 can be generated by the photometric stereo method. However, measuring the height of the surface of the workpiece 2 requires a considerably strict setting for a positional relation between the camera 4 and the illumination apparatus 3. Meanwhile, out of images obtained by the photometric stereo method, shape information or texture (design) information can be used without acquiring height information. For example, when the flaw inspection or the OCR is to be performed, a strict setting for the camera 4 and the illumination apparatus 3 is not required. As thus described, when the inspection tool does not require accurate height data, it is possible to alleviate the arrangement conditions for the camera 4 and the illumination apparatus 3. Note that the number of illumination directions may be three or more.
The photometric processing part 811 may calculate a reflectance of the surface of the workpiece 2 along with a normal vector of the surface of the workpiece 2 from the plurality of luminance images acquired by the camera 4, to generate a reflectance image made up of pixel values based on the reflectance, and the determination part 840 may determine defectiveness/non-defectiveness of the workpiece 2 by using the reflectance image. This is because there also exists an inspection tool in which a reflectance image is suitably used for the inspection. The photometric processing part 811 may generate an inclination image made up of pixel values based on a normal vector of the surface of the workpiece 2 from the plurality of luminance images acquired by the camera 4, and the determination part 840 may determine defectiveness/non-defectiveness of the workpiece 2 by using the inclination image. This is because there also exists an inspection tool in which an inclination image is suitably used for the inspection. The determination part 840 may determine defectiveness/non-defectiveness of the workpiece 2 by using a luminance image. This is because there also exists an inspection tool in which a luminance image before being processed into an inclination image or a reflectance image is suitably used for the inspection. The determination part 840 may determine defectiveness/non-defectiveness of the workpiece 2 by using at least one luminance image out of a plurality of luminance images with respectively different illumination directions. Since there exists a flaw or the like that becomes clear by differences in the illumination direction, a luminance image obtained by illuminating the workpiece 2 from a certain direction is suitable for detecting such a flaw.
The determination part 840 may simultaneously light all the light sources of the illumination apparatus 3 and determine defectiveness/non-defectiveness of the workpiece 2 by using a luminance image acquired by the camera 4. That is, by using a so-called all-directional illumination image, whether the workpiece 2 is defective or non-defective may be determined. For example, the all-directional illumination-image may be suitable for calculation of an area of a certain portion of the workpiece 2 or measurement of a length of a terminal.
The determination part 840 may synthesize a plurality of luminance images with respectively different illumination directions and determine defectiveness/non-defectiveness of the workpiece 2 by using the generated synthesized luminance image. The synthesized luminance image is an image similar to the all-directional illumination image. Therefore, by use of the synthesized luminance image in place of the all-directional illumination image, it is possible to execute the inspection without acquiring the all-directional illumination image. In the case where an all-directional illumination image is required, it is necessary to acquire four luminance images with respectively different illumination directions and one all-directional illumination image obtained by simultaneous illumination from four directions. That is, five times of illumination and five times of imaging are required. On the other hand, when the synthesized luminance image is used, four times of illumination and four times of imaging may be performed. In such a manner, adopting the synthesized luminance image can reduce a processing load of the processor 810 when a plurality of inspection images are required to be processed in a short period of time. Further, as the number of acquired images is increased, it becomes necessary to lower a conveying speed of the line 1. However, in the present embodiment, since the number of acquired images can be reduced, the conveying speed of the line 1 can be increased.
The storage device 820 may store and hold an inspection image. The determination part 840 or the image processing part 830 may read the inspection image from the storage device 820 and execute the inspection, to determine defectiveness/non-defectiveness of the workpiece 2 based on the inspection result. Note that the storage device 820 may be any of the internal memory, the portable type storage medium, and the network storage. For example, when an inspection image is stored into the portable type storage medium or the network storage, it is possible to perform inspection processing in an apparatus different from the apparatus that has generated the inspection image.
The storage device 820 may store a plurality of inspection images generated by applying characteristic sizes with respectively different values. In addition to the inspection image, the storage device 820 may store at least one of an inclination image and a reflectance image. The image selection part 816 may select one inspection image out of a plurality of inspection images. Further, the inspection tool setting part 817 may set an inspection tool for the inspection image selected by the image selection part 816. Among the plurality of inspection images generated by applying the characteristic sizes with respectively different values, an inspection image not required for the inspection may exist. Hence, the user may set an inspection image in accordance with an inspection tool.
As described using FIG. 15 and the like, the image processing part 830 may execute a pattern search by using a reference image acquired from a non-defective product, to set an inspection region. The determination part 840 may determine defectiveness/non-defectiveness of the workpiece 2 by using a result of the inspection executed in the inspection region. The inspection region is, for example, a character recognition region.
As described using FIG. 11 and FIGS. 21 to 26, the image selection part 816 may select an image, which is to be saved or outputted, out of a plurality of luminance images acquired by the camera 4 and an inspection image. Further, the image selection part 816 may select an image, which is to be saved or outputted, out of a plurality of luminance images, an inspection image, a luminance image acquired by lighting all of a plurality of light sources provided in the illumination apparatus 3, and a synthesized luminance image obtained by synthesizing the plurality of luminance images. Moreover, the image selection part 816 may select an image, which is to be saved or outputted, out of a plurality of inspection images with respectively different characteristic sizes. Furthermore, the image selection part 816 may select an image, which is to be to be saved or outputted, out of a plurality of luminance images, an inspection image, and a reflectance image whose pixel value is a reflectance of the surface of the workpiece 2. As thus described, allowing an image related to the inspection to be selected as appropriate will facilitate saving or outputting of a desired image.
The condition setting part 819 for setting a condition for saving or outputting an image may further be provided. For example, as described using FIGS. 22 and 26, the condition setting part 819 may, for example, set one of the mode for constantly saving or outputting an image, and the mode for saving or outputting an image when the determination part 840 determines that the workpiece 2 is not a non-defective product. As described using FIGS. 21 to 26, the processor 810 may judge whether or not the condition for saving or outputting an image is satisfied before or after the determination part 840 completes the determination. For example, whether or not an image is saved may be judged at the time point when the inspection is completed in the inspection flow, or whether or not an image is saved may be judged in any step of the inspection flow. In particular, in the latter case, it is also possible to save an intermediate image generated in the middle of the inspection flow. Such an intermediate image will be useful at the time of searching for a cause of failure in the inspection and adjusting a control parameter.

## Claims

1. An inspection apparatus comprising:
an illumination section for illuminating an inspection target in accordance with a photometric stereo method;
an imaging section for receiving reflective light from the illuminated inspection target to generate a luminance image in accordance with the photometric stereo method;
a computing section for calculating a normal vector of a surface of the inspection target from a plurality of luminance images acquired by the imaging section, generating an inclination image made up of pixel values based on the normal vector calculated from the plurality of luminance images and a plurality of reduced images of the inclination image with respectively different reduction ratios, and performing synthesis processing of synthesizing at least two reduced images, to generate an inspection image showing a surface shape of the inspection target;
a determination section for determining defectiveness/non-defectiveness of the inspection target by using the inspection image; and
wherein the computing section gives weight to a component of the reduced images at the time of performing the synthesis processing and generates a different inspection image in accordance with a characteristic size which is a parameter showing a size of a surface shape of the inspection target.

2. The inspection apparatus according to claim 1, further comprising
a flaw inspection section for executing flaw inspection on a plurality of inspection images generated by using respectively different characteristic sizes,
wherein the determination section determines defectiveness/non-defectiveness of the inspection target by using a result of the inspection by the flaw inspection section.

3. The inspection apparatus according to claim 1, further comprising
a character recognizing section for performing character recognition processing on a plurality of inspection images generated by using respectively different characteristic sizes,
wherein the determination section determines defectiveness/non-defectiveness of the inspection target by using a result of the character recognition by the character recognizing section.

4. The inspection apparatus according to claim 1, wherein
the computing section calculates a reflectance of the surface of the inspection target along with a normal vector of the surface of the inspection target from a plurality of luminance images acquired by the imaging section, to generate a reflectance image whose pixel value is the reflectance, and
the determination section determines defectiveness/non-defectiveness of the inspection target by using the reflectance image.

5. The inspection apparatus according to claim 1, wherein
the computing section generates an inclination image made up of pixel values based on a normal vector of the surface of the inspection target from a plurality of luminance images acquired by the imaging section, and
the determination section determines defectiveness/non-defectiveness of the inspection target by using the inclination image.

6. The inspection apparatus according to claim 1, further comprising
a storage section for storing the inspection image,
wherein the determination section reads the inspection image from the storage section and executes inspection, to determine defectiveness/non-defectiveness of the inspection target based on a result of the inspection.

7. The inspection apparatus according to claim 6, wherein the storage section stores a plurality of inspection images generated by applying characteristic sizes with respectively different values.

8. The inspection apparatus according to claim 1, further comprising:
a selection section for selecting one inspection image out of a plurality of inspection images; and
an inspection tool setting section for setting an inspection tool for the inspection image selected by the selection section.

9. The inspection apparatus according to claim 1, further comprising
an image selection section for selecting an image, which is to be saved or outputted, out of a plurality of luminance images acquired by the imaging section and the inspection image.

10. The inspection apparatus according to claim 9, wherein the image selection section selects an image, which is to be saved or outputted, out of the plurality of luminance images, the inspection image, a luminance image acquired by lighting all of the plurality of light sources provided in the illumination sections, and a synthesized luminance image obtained by synthesizing the plurality of luminance images.

11. The inspection apparatus according to claim 9, wherein the image selection section selects an image, which is to be saved or outputted, out of the plurality of inspection images with respectively different characteristic sizes.

12. The inspection apparatus according to claim 9, wherein the image selection section selects an image, which is to be saved or outputted, out of the plurality of luminance images, the inspection image, and a reflectance image whose pixel value is a reflectance of the surface of the inspection target.

13. The inspection apparatus according to claim 9, further comprising a condition setting section for setting a condition for saving or outputting an image.

14. The inspection apparatus according to claim 13, wherein the condition setting section sets one of a mode for constantly saving or outputting an image and a mode for saving or outputting an image when the determination section determines that the inspection target is not a non-defective product.