The present application claims foreign priority based on Japanese Patent Application No. 2013-148062, filed Jul. 16, 2013, the contents of which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to a three-dimensional image processing apparatus, a three-dimensional image processing method, a three-dimensional image processing program, a computer-readable recording medium, and a recording device.
2. Description of Related Art
In a large number of production sites such as factories, there have been introduced image processing apparatuses that realize automatic and fast performance of inspections, which have relied on viewing of humans. The image processing apparatus captures an image of a workpiece that comes flowing through a production line such as a belt conveyor by use of a camera, and executes measurement processing such as edge detection and area calculation for a predetermined region by use of the obtained image data. Then, based on a processing result of the measurement processing, the apparatus performs inspections such as detection of a crack on the workpiece and positional detection of alignment marks, and outputs determination signals for determining the presence or absence of a crack on the workpiece and positional displacement. In such a manner, the image processing apparatus may be used as one of FA (Factory Automation) sensors.
An image which is taken as a measurement processing target by the image processing apparatus that is used as the FA sensor is principally a brightness image not including height information. For this reason, speaking of the foregoing detection of a crack on the workpiece, the apparatus is good at stably detecting a two-dimensional shape of a cracked portion, but having difficulties in stably detecting a three-dimensional shape of, for example, a depression of a flaw which is not apt to appear in a brightness image. For example, it is thought that a type or a direction of illumination that illuminates the workpiece during the inspection is devised and a shade caused by a depression of a flaw is detected to indirectly detect a three-dimensional shape, but a clear shade is not necessarily always detected in the brightness image. In order to prevent an erroneous determination which is to erroneously detect a defective product as a non-defective product at the time of an unclear shade being detected, for example, if a determination threshold is biased to the safe side, the apparatus might determine a large number of non-defective products as defective products, to cause deterioration in production yield.
Accordingly, there is considered a visual inspection which uses not only a brightness image that takes, as a pixel value, a shade value in accordance with a light reception amount of the camera but also a distance image that takes, as a pixel value, a shade value in accordance with a distance from the camera to the workpiece to two-dimensionally express a height (e.g. see Unexamined Japanese Patent Publication No. 2012-21909).
An example of the three-dimensional image processing apparatus is shown in a schematic view of
Here, the principle of triangulation will be described based on
Heights of all points on the surface of the workpiece are calculated applying the foregoing the measurement principle of triangulation, thereby to measure a three-dimensional shape of the workpiece. In a pattern projecting method, in order that all the points on the surface of the workpiece are irradiated with incident light, the incident light is emitted from the light projecting section 110 in accordance with a predetermined structured pattern, reflected light as the light reflected on the surface of the workpiece is received, and based on a plurality of received pattern images, the three-dimensional shape of the workpiece is efficiently measured.
As such a pattern projecting method, there are known a phase shift method, a spatial coding method, a multi-slit method and the like. By the three-dimensional measurement processing performed using the pattern projecting method, a projection pattern is changed to repeat image-capturing a plurality of times in the head section, and the images are transmitted to the controller section. In the controller section, computing is performed based on the pattern projected images transmitted from the head section, and a distance image having height information of the workpiece can be obtained.
On the other hand, in the existing image processing apparatus, there is principally used a brightness image that takes brightness as a pixel value. For example, there exists a system for capturing a shade image of a workpiece being conveyed on a production line by use of a monochromatic camera, to perform an inspection by image processing. In such circumstances, when a new three-dimensional measurement apparatus and a processing apparatus for performing processing on three-dimensional data (point cloud data) outputted from the measurement apparatus are intended to be introduced, it takes considerable cost.
Accordingly, when height information is expressed as a distance image that expresses it as a shade of an image, image data to be handled is itself equivalent to the existing brightness image, and hence the distance image can be handled in equipment of the image processing apparatus using the existing brightness image.
In this case, as for the conventional brightness image, an image with relatively a low number of tones has been used. For example, there have been often used images each expressing information per pixel by 8 tones. On the other hand, as for image data having height information, a large number of tones (e.g., 16 tones) are necessary for expressing the height information. For this reason, in order to allow the distance image to be processed by the image processing apparatus that handles the existing low-tone image, it is necessary to convert a multi-tone distance image to a relatively low-tone distance image. (Hereinafter, the image obtained by converting a multi-tone distance image to a relatively low-tone distance image is referred to as “low-tone distance image”, and the conventional shade image having brightness information is referred to as “brightness image”.)
As thus described, by using the tone-converted low-tone distance image on top of the conventionally used brightness image, not only image processing such as the conventional shape extraction but also processing such as height measurement performed using height information can be used in the three-dimensional image processing apparatus at the time of inspection for determining the normality or abnormality of the workpiece.
However, at the time of performing the tone conversion processing on a high-tone distance image into a low-tone distance image so as to be used in the existing three-dimensional image processing apparatus, when a distance image is simply converted to a low-tone distance image, the number of tones is lowered to reduce a dynamic range. As a result, height information is lost to cause deterioration in accuracy, and the necessary inspection accuracy cannot be obtained, which has been problematic. There have been cases where an image appropriate for an inspection cannot be obtained depending on a condition of the workpiece especially when the high-tone distance image is tone-converted with a fixed tone conversion parameter.
The present invention is for solving the conventional problems as described above. A principal object of the present invention is to provide a three-dimensional image processing apparatus, a three-dimensional image processing method, a three-dimensional image processing program, a computer-readable recording medium, and a recording device, each of which suppresses a lack of height information to suppress deterioration in accuracy at the time of converting a high-tone distance image to a low-tone distance image.
For achieving the above object, a three-dimensional image processing apparatus according to one embodiment of the present invention is a three-dimensional image processing apparatus, which is capable of acquiring a distance image that includes height information of an inspection target and also performing image processing based on the distance image, the apparatus being able to include: a light projecting part for projecting incident light as structured illumination of a predetermined projection pattern from an oblique direction with respect to an optical axis of a below-described image capturing part; the image capturing part for acquiring reflected light that is projected by the light projecting part and reflected on an inspection target, to capture a plurality of pattern projected images; a distance image generating part capable of generating a distance image based on the plurality of pattern projected images captured in the image capturing part; a tone conversion part for tone-converting the distance image generated in the distance image generating part to a low-tone distance image that has a lower number of tones than the number of tones of the distance image and is obtained by replacing height information in the distance image with a shade value of the image; and a tone conversion condition automatic setting part for automatically setting, based on the height information in the distance image, a tone conversion parameter for prescribing a tone conversion condition at the time of tone-converting the distance image to the low-tone distance image in the tone conversion part. With the above configuration, at the time of tone conversion to a low-tone image, it is possible to automatically set an appropriate tone conversion condition in accordance with a distance image, so as to avoid a situation where height information necessary for an inspection and the like is lost.
Further, a three-dimensional image processing apparatus according to another embodiment can further include: a display part for displaying the low-tone distance image tone-converted in the tone converting part; and an inspection executing part for executing predetermined inspection processing on the low-tone distance image displayed on the display part. With the above configuration, it is possible to visually adjust a tone conversion parameter in an appropriate and easy manner while confirming the low-tone distance image after tone-conversion.
Further, in a three-dimensional image processing apparatus according to another embodiment, there can be configured such that the tone-converted low-tone distance image is successively updated on the display part based on the tone conversion parameter set in the tone conversion condition automatic setting part. With the above configuration, by expressing the low-tone distance image after tone-conversion by a shade of the height and displaying it on the display part, it is possible to obtain an advantage of visually confirming whether or not the set tone conversion parameter is appropriate.
Further, in a three-dimensional image processing apparatus according to another embodiment, there can be configured such that, while the tone conversion condition automatic setting part prepares a plurality of different tone conversion parameter candidates, simple low-tone distance images that are tone-converted with the respective tone conversion parameter candidates are simply displayed on the display part, and the tone conversion part is configured to tone-convert the distance image to the low-tone distance image based on the simple low-tone distance image selected on the display part by taking as the tone conversion parameter the tone conversion parameter candidate set to the simple low-tone distance images. With the above configuration, it is possible to generate a tone conversion parameter candidate group without previously inspecting a distance image as a tone conversion target, so as to obtain an advantage of reducing a load of the processing.
Further, a three-dimensional image processing apparatus according to another embodiment can further include a tone conversion condition manual setting part capable of further manually adjusting the tone conversion parameter candidate set to the simple low-tone distance image selected on the display part.
Further, in a three-dimensional image processing apparatus according to another embodiment, the tone conversion condition automatic setting part can set the tone conversion parameter based on a distribution of height information included in the whole or some specified region of the distance image that is set as a tone conversion target.
Further, a three-dimensional image processing apparatus according to another embodiment can further include a tone conversion target region specifying part for specifying a region that is set as a reference for setting the tone conversion parameter in the tone conversion condition automatic setting part within a distance image that is set as a target to be tone-converted by the tone conversion part in a state where the distance image is displayed on the display part.
Further, a three-dimensional image processing apparatus according to another embodiment can include a head section and a controller section, the head section can be provided with the light projecting part and the image capturing part, and the controller section can be provided with the tone conversion condition automatic setting part.
Further, in a three-dimensional image processing apparatus according to another embodiment, the light projecting part can project structured illumination for obtaining the distance image by use of at least a phase shift method and a spatial coding method. With the above configurations, it is possible to obtain an advantage of being able to generate a distance image at high speed.
Further, in a three-dimensional image processing apparatus according to another embodiment, the tone conversion parameter can include an offset amount of the flat surface that is set as a reference for the tone conversion, and a tone width to be tone-converted.
Further, in a three-dimensional image processing apparatus according to another embodiment, the tone conversion part can perform the tone conversion based on shading correction or a difference from a reference image.
A three-dimensional image processing method according to another embodiment is a three-dimensional image processing method for acquiring a distance image that includes height information of an inspection target and also performing image processing based on the distance image, the method being able to include the steps of; projecting incident light as structured illumination of a predetermined projection pattern from an oblique direction with respect to an optical axis of an image capturing part; acquiring reflected light that is projected by the light projecting part and reflected on an inspection target, to capture a plurality of pattern projected images in the image capturing part; generating a distance image in a distance image generating part based on the plurality of pattern projected images captured in the image capturing part; previously preparing one or more tone conversion parameter candidates in a tone conversion condition automatic setting part as tone conversion parameters each prescribing a tone conversion condition for tone-converting the distance image generated in the distance image generating part to a low-tone distance image that has a lower number of tones than the number of tones of the distance image and is obtained by replacing height information in the distance image with a shade value of the image; displaying a low-tone distance image tone-converted from the distance image on a display part based on the tone conversion parameter candidate; prompting an adjustment of the tone conversion parameter candidate at the time of tone-converting the low-tone distance image in a state where the low-tone distance image is displayed on the display part; and tone-converting the distance image to the low-tone distance image in a tone conversion part by use of the tone conversion parameter adjusted from the tone conversion parameter candidate. Herewith, at the time of tone conversion to a low-tone image, it is possible to automatically set an appropriate condition in accordance with a distance image, so as to avoid a situation where height information necessary for an inspection and the like is lost.
Further, in a three-dimensional image processing method according to another embodiment, the step of preparing the tone conversion parameter candidate can previously adjust a value of a tone conversion parameter that is used for the tone conversion based on image information included in an inspection target region specified in the image including the inspection target.
Further, a three-dimensional image processing method according to another embodiment, the step of preparing the tone conversion parameter candidate can include the steps of: checking a distribution state of a plurality of inspection targets, to find a maximum value and a minimum value of heights among the inspection targets included in an inspection target region; and deciding a distance range based on a height difference as a difference between the height maximum value and the height minimum value, and also setting an average value of the heights, obtained from the distribution state of the plurality of inspection targets and included in the inspection target region, to a center of the distance range to decide a tone width to be tone-converted.
Further, in a three-dimensional image processing method according to another embodiment, the distance range can be decided by multiplying by predetermined times the height difference as the difference between the height maximum value and the height minimum value.
Further, in a three-dimensional image processing method according to another embodiment, the inspection target region can be the whole of an input image.
A three-dimensional image processing method according to another embodiment is a three-dimensional image processing method for acquiring a distance image that includes height information of an inspection target and also performing image processing based on the distance image, the method being able to include the steps of: projecting incident light as structured illumination of a predetermined projection pattern from an oblique direction with respect to an optical axis of an image capturing part; acquiring reflected light that is projected by the light projecting part and reflected on an inspection target, to capture a plurality of pattern projected images in the image capturing part; generating a distance image in a distance image generating part based on the plurality of pattern projected images captured in the image capturing part; previously preparing a plurality of different tone conversion parameter candidates in a tone conversion condition automatic setting part as tone conversion parameters each prescribing a tone conversion condition for tone-converting the distance image generated in the distance image generating part to a low-tone distance image that has a lower number of tones than the number of tones of the distance image and is obtained by replacing height information in the distance image with a shade value of the image; simply displaying each of simple low-tone distance images simply tone-converted from the distance image on a display part based on each of the tone conversion parameter candidates, to promote selection of any of the simple low-tone distance images; and based on any of the simple low-tone distance images selected on the display part, tone-converting the distance image to the low-tone distance image in a tone conversion part by use of the tone conversion parameter candidate that is set to the selected simple low-tone distance image, as a tone conversion parameter. Herewith, by selecting a simple low-tone distance image close to a desired image while confirming a simple low-tone distance images simply displayed on the display part, a user can select a tone conversion parameter candidate set to this simple low-tone distance image as a tone conversion parameter, so as to obtain an advantage of being able to instinctively set a tone conversion parameter based on an actually obtained image.
Further, in a three-dimensional image processing method according to another embodiment, the step of preparing the tone conversion parameter candidate can be to previously select as a reference plane a different height obtained by changing the height vertically by a predetermined width, centered at a center height prescribed based on image information included in an inspection target region specified in the image including the inspection target, and the step of promoting selection of the simple low-tone distance image can be to array and display, on the display part, simple low-tone distance images each obtained by tone-converting the distance image based on each reference plane. Herewith, by selecting a desired image in accordance with a targeted inspection and the like based on simple low-tone distance images obtained by the tone conversion while heights are made different at predetermined pitches, the user can obtain an advantage of being able to set an appropriate tone conversion condition, so as to visually perform a complicated tone conversion parameter setting operation based on an actual image.
A three-dimensional image processing program according to another embodiment is a three-dimensional image processing program, which is capable of acquiring a distance image that includes height information of an inspection target and also performing image processing based on the distance image, and the program can allow a computer to realize: a distance image generating function of generating a distance image based on a plurality of pattern projected images captured by projecting incident light as structured illumination of a predetermined projection pattern from an oblique direction with respect to an optical axis of an image capturing part and acquiring reflected light reflected on an inspection target; a tone conversion function of tone-converting the distance image generated in the distance image generating function to a low-tone distance image that has a lower number of tones than the number of tones of the distance image and is obtained by replacing height information in the distance image with a shade value of the image; a tone conversion condition automatic setting function of automatically setting, based on the height information in the distance image, a tone conversion parameter for prescribing a tone conversion condition at the time of tone-converting the distance image to the low-tone distance image in the tone conversion function; and an inspection executing function of executing predetermined inspection processing on the tone-converted low-tone distance image in accordance with the tone conversion condition adjusted by the tone conversion condition automatic adjusting function.
Herewith, by selecting a desired image in accordance with a targeted inspection and the like based on a simple low-tone distance images obtained by the tone conversion while heights are made different at predetermined pitches, the user can obtain an advantage of being able to set an appropriate tone conversion condition, so as to visually perform a complicated tone conversion parameter setting operation based on an actual image.
A computer-readable recording medium or a storage device according to another embodiment is one in which the three-dimensional image processing program is to be stored. The recording medium includes a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, and other program-storable medium, such as a CD-ROM, a CD-R, a CD-RW, a flexible disk, a magnetic tape, an MO, a DVD-ROM, a DVD-RAM, a DVD-R, a DVD+R, a DVD-RW, a DVD+RW, a Blu-ray (registered trademark), and an HD-DVD (AOD). Further, the program includes one in the form of being distributed by downloading through a network such as the Internet, in addition to one stored into the above recording medium and distributed. Moreover, the storage device includes general-purpose or a special-purpose device mounted with the program in the form of software, firmware or the like, in an executable state. Furthermore, each processing and each function included in the program may be executed by program software that is executable by the computer, and processing of each section may be realized by predetermined hardware such as a gate array (FPGA, ASIC) or in the form of program software being mixed with a partial hardware module that realizes some element of hardware.
Hereinafter, embodiments of the present invention will be described based on the drawings. However, the embodiments shown hereinafter are ones illustrating a three-dimensional image processing apparatus, a three-dimensional image processing method, a three-dimensional image processing program, a computer-readable recording medium and a recording device for the purpose of embodying technical ideas of the present invention, and the present invention does not specify, to the following, the three-dimensional image processing apparatus, the three-dimensional image processing method, the three-dimensional image processing program, the computer-readable recording medium and the recording device. Further, the present specification is not to specify members shown in the claims to members of the embodiments. Especially, sizes, materials, shapes, relative disposition and the like of constituent components described in the embodiments are not intended to restrict the scope of the present invention thereto, but are mere explanatory examples. It is to be noted that sizes, positional relations and the like of members shown in each drawing may be exaggerated for clarifying a description. Further, in the following description, the same name and symbol denote the same member or members of the same quality, and a detailed description thereof will be omitted as appropriate. Moreover, each element constituting the present invention may have a mode where a plurality of elements are configured of the same member and the one member may serve as the plurality of elements, or conversely, a function of one member can be shared and realized by a plurality of members.
Further, when a “distance image (height image) is referred to in the present specification, it is used in the meaning of being an image including height information, and for example, it is used in the meaning of including in the distance image a three-dimensional synthesized image obtained by pasting an optical brightness image to the distance image as texture information. Moreover, a displayed form of the distance image in the present specification is not restricted to one displayed in a two-dimensional form, but includes one displayed in a three-dimensional form.
On the other hand, the controller section 2 executes measurement processing such as edge detection and area calculation based on the captured image. Moreover, the controller section 2 can be detachably connected with a display part 4 such as a liquid crystal panel, an input part 3 such as a console for a user performing a variety of operations on the display part 4, a PLC (Programmable Logic Controller), and the like.
The above three-dimensional image processing apparatus 100 projects measurement light to the workpiece W by the light projecting part 20 of the head section 1, and reflected light which has been incident and reflected on the workpiece W is captured as a pattern projected image in the image capturing part 10. Further, a distance image is generated based on the pattern projected image, and this distance image is further converted to a low-tone distance image obtained by replacing height information in each pixel with brightness. The controller section 2 executes measurement processing such as edge detection and area calculation based on the converted low-tone distance image.
It is to be noted that the workpiece W as an inspection target is, for example, an article which is sequentially carried on a production line, and is moving or standing still. Further, the moving workpiece includes one that rotates, in addition to one that moves by means of, for example, a conveyor.
(Light Projecting Part 20)
The light projecting part 20 is used as illumination that illuminates the workpiece W for generating the distance image.
Therefore, the light projecting part 20 can, for example, be a light projector that projects linear laser light to the workpiece, a pattern projector for projecting a sinusoidal fringe pattern to the workpiece, or the like, in accordance with a light cutting method or a pattern projecting method for acquiring the distance image. Further, in addition to the light projecting part, a general illumination apparatus for performing bright field illumination or dark field illumination may be separately provided. Alternatively, it is also possible to allow the light projecting part 20 to have a function as the general illumination apparatus.
The controller section 2 executes image processing by use of distance image data acquired from the head section 1, and outputs a determination signal as a signal indicating a determination result for the defectiveness/non-defectiveness of the workpiece, or the like, to a control device such as an externally connected PLC 70.
The image capturing part 10 captures an image of the workpiece based on a control signal that is inputted from the PLC 70, such as an image capturing trigger signal that specifies timing for fetching image data from the image capturing part 10.
The display part 4 is a display apparatus for displaying image data obtained by capturing the image of the workpiece and a result of measurement processing by use of the image data. Generally, the user can confirm an operating state of the controller section 2 by viewing the display part 4. The input part 3 is an input apparatus for moving a focused position or selecting a menu item on the display part 4. It should be noted that in the case of using a touch panel for the display part 4, it can serve as both the display part and the input part.
Further, the controller section 2 can also be connected to a personal computer PC for generating a control program of the controller section 2. Moreover, the personal computer PC can be installed with a three-dimensional image processing program for performing a setting concerning three-dimensional image processing, to perform a variety of settings for processing that is performed in the controller section 2. Alternatively, by means of software that operates on this personal computer PC, it is possible to generate a processing sequence program for prescribing a processing sequence for image processing. In the controller section 2, each image processing is sequentially executed along the processing sequence. The personal computer PC and the controller section 2 are connected with each other via a communication network, and the processing sequence program generated on the personal computer PC is transferred to the controller section 2 along with, for example, layout information for prescribing a display mode of the display part 4, or the like. Further, in contrast, the processing sequence program, layout information and the like can be fetched from the controller section 2 and edited on the personal computer PC.
It is to be noted that this processing sequence program may be made generable not only on the personal computer PC but also in the controller section 2.
(Modified Example)
It is to be noted that, although the dedicated hardware is constructed as the controller section 2 in the above example, the present invention is not restricted to this configuration. For example, as in a three-dimensional image processing apparatus 100′ according to a modified example shown in
(Head-Side Communication Part 36)
Further, in accordance therewith, such an interface as to be connected to either the dedicated controller 2 or the personal computer that functions as the controller section 2 can also be provided as the head-side communication part 36 on the head section 1 side. For example, the head section 1 is provided with, as the head-side communication part 36, a controller connecting interface 36A for connecting with the controller section 2 as shown in
(PC Connection Mode)
Further, the three-dimensional image processing program can be provided with a PC connection mode for performing a setting in the case of using the personal computer as the controller section 2′ connected to the head section 1. That is, by changing settable items and setting contents depending on whether the controller section is dedicated hardware or the personal computer, it is possible in either case to appropriately perform a setting regarding three-dimensional image processing. Further, a viewer program provided with a purpose of confirming an operation of the head section 1 and with a simple measurement function may be installed into the personal computer that functions as the controller section 2′ so that an operation and a function of the connected head section can be confirmed.
It is to be noted that the “distance image” obtained by using the image capturing part 10 and the light projecting part 20 shown in
As a technique for generating the distance image, there are roughly divided two systems: one is a passive system (passive measurement system) for generating the distance image by use of an image captured on an illumination condition for obtaining a normal image; and the other one is an active system (active measurement system) for generating the distance image by actively performing irradiation with light for measurement in a height direction. A representative technique of the passive system is a stereo measurement method. In this technique, the distance image can be generated only by preparing two image capturing parts 10 and disposing these two cameras in a predetermined positional relation, and hence it is possible to generate the distance image through use of a general image processing system for generating a brightness image, so as to suppress system construction cost. However, in the stereo measurement method, it is necessary to decide which point in an image obtained by the one camera corresponds to a point in an image obtained by the other camera, thus causing a problem of taking time in so-called corresponding-point decision processing. Further, since a measured position is not for each of all pixels but only for the corresponding point, also in this respect, this method is not appropriate for acceleration of a visual inspection.
On the other hand, representative techniques of the active system are the light cutting method and the pattern projecting method. The light cutting method is that in the foregoing stereo measurement method, the one camera is replaced with a light projector, linear laser light is projected to the workpiece, and the three-dimensional shape of the workpiece is reproduced from a distorted condition of an image of the linear light in accordance with a shape of the object surface. In the light cutting method, deciding the corresponding point is unnecessary, thereby to allow stable measurement. However, since the measurement with respect to only one line is possible per one measurement, when measured values of all the pixels are intended to be obtained, the target or the camera needs scanning. As opposed to this, the pattern projecting method is that a shape, a phase or the like of a predetermined pattern projected to the workpiece is shifted to capture a plurality of images and the captured plurality of images are analyzed, to reproduce the three-dimensional shape of the workpiece. There are several sorts of pattern projecting methods, and representative ones among them include: a phase shift method in which a phase of a sinusoidal wave fringe pattern is shifted to capture a plurality of (at least three or more) images and a phase of a sinusoidal wave with respect to each pixel from the plurality of images is found, to find three-dimensional coordinates on the surface of the workpiece through use of the found phase; a moire topography method in which the three-dimensional shape is reproduced through use of a sort of waving phenomenon of a spatial frequency when two regular patterns are synthesized; a spatial coding method in which a pattern to be projected to the workpiece is itself made different in each image-capturing, for example, each of fringe patterns, whose fringe width with a monochrome duty ratio of 50% gets thinner to one-half, to one-quarter, to one-eighth, . . . of a screen, is sequentially projected, and a pattern projected image with each pattern is shot, to find an absolute phase of the height of the workpiece; and a multi-slit method in which a patterned illumination of a plurality of thin lines (multi-slit) is projected to the workpiece and the pattern is moved at a pitch narrower than a slit cycle, to perform a plurality of times of shooting.
In the three-dimensional image processing apparatus 100 according to the present embodiment, the distance image is generated by the phase shift method and the spatial coding method described above. This allows generation of the distance image without relatively moving the workpiece or the head. The present invention is not restricted to generating the distance image by the phase shift method and the spatial coding method, but the distance image may be generated by another method. Further, in addition to the foregoing methods, any technique may be adopted which can be thought of for generating the distance image, such as an optical radar method (time-of-flight), a focal point method, a confocal method or a white light interferometry.
A disposition layout of the image capturing part 10 and the light projecting part 20 in
However, the present invention is not restricted to this disposition example, and for example, as in a three-dimensional image processing apparatus 200 according to a second embodiment shown in
Further, one of or both the light projecting part and the image capturing part can be disposed in a plurality of number. For example, as in a three-dimensional image processing apparatus 300 shown in
The configuration has been described in the above example where the one image capturing part and the two light projecting parts are used, but in contrast, there can also be formed a configuration where two image capturing parts and one light projecting part are used.
On the other hand, there are differences in image-captured region, field of view, and the like between images of the same workpiece captured by the two image capturing parts from different angles, and hence it is necessary to perform an operation for making correspondence between positions of pixels of one image and those of another, which can lead to occurrence of an error. As opposed to this, according to the foregoing third embodiment, with the image capturing part made common, images with the same field of view can be captured when measurement light is projected from either light projecting part, thereby eliminating the need for such an integration operation as above, and it is possible to obtain an advantage of being able to avoid occurrence of an error associated with the integration operation, so as to simplify the processing.
It is to be noted that, although the embodiments have been described above where the image capturing part 10 and the light projecting part 20 are integrally configured in each head section, the present invention is not restricted to this configuration. For example, the head section can be one where the image capturing part 10 and the light projecting part 20 are made up of separate members. Further, it is also possible to provide the image capturing parts and the light projecting parts in number of three or more.
(Block Diagram)
Next,
(Head Section 1)
This head section 1 is provided with the light projecting part 20, the image capturing part 10, a head-side control section 30, a head-side computing section 31, a storage part 38, the head-side communication part 36, and the like. The light projecting part 20 includes a measurement light source 21, a pattern generating section 22 and a plurality of lenses 23, 24, 25. The image capturing part 10 includes a camera and a plurality of lenses, though not shown.
(Light Projecting Part 20)
The light projecting part 20 is a member for projecting incident light as structured illumination of a predetermined projection pattern from the oblique direction with respect to an optical axis of the image capturing part. A projector can be used as this light projecting part 20, and it includes a lens as an optical member, the pattern generating section 22, and the like. The light projecting part 20 is disposed obliquely above the position of the workpiece that stops or moves. It is to be noted that the head section 1 can include a plurality of light projecting parts 20. In the example of
As the measurement light source 21 of each of the first projector 20A and the second projector 20B, for example, a halogen lamp that emits white light, a white LED (light emitting diode) that emits white light, or the like can be used. Measurement light emitted from the measurement light source 21 is appropriately collected by the lens, and is then incident on the pattern generating section 22.
Further, on top of the light projecting part that emits the measurement light for acquiring the pattern projected image to generate the distance image, an observing illumination light source for capturing a normal optical image (brightness image) can also be provided. As the observing illumination light source, in addition to the LED, a semiconductor laser (LD), a halogen lamp, an HID (High Intensity Discharge), or the like can be used. Especially in the case of using an element capable of capturing a color image as the image capturing element, a white light source can be used as the observing illumination light source.
The measurement light emitted from the measurement light source 21 is appropriately collected by the lens 113, and is then incident on the pattern generating section 22. The pattern generating section 22 can realize illumination of an arbitrary pattern. For example, it can invert the pattern in accordance with colors of the workpiece and the background, such as black on a white background or white on a black background, so as to express an appropriate pattern easy to see or easy to measure. As such a pattern generating section 22, for example, a DMD (Digital Micro-mirror Device) can be used. The DMD can express an arbitrary pattern by switching on/off a minute mirror with respect to each pixel. This allows easy irradiation with the pattern with black and white inverted. Using the DMD as the pattern generating section 22 allows easy generation of the arbitrary pattern and eliminates the need for preparing a mechanical pattern mask and performing an operation for replacing the mask, thus leading to an advantage of being able to reduce the size of the apparatus and perform rapid measurement. Further, since the pattern generating section 22 configured with the DMD can be used in a similar manner to normal illumination by performing irradiation with a full-illumination pattern being turned on for all the pixels, it can also be used for capturing the brightness image. Moreover, the pattern generating section 22 can also be a LCD (Liquid Crystal Display), a LCOS (Liquid Crystal on Silicon: reflective liquid crystal display element), or a mask. The measurement light having been incident on the pattern generating section 22 is converted to light with a previously set pattern and a previously set intensity (brightness), and then emitted. The measurement light emitted from the pattern generating section 22 is converted to light having a larger diameter than an observable and measurable field of view of the image capturing part 10 by means of the plurality of lenses, and thereafter the workpiece is irradiated with the converted light.
(Image Capturing Part 10)
The image capturing part 10 is provided with a camera for acquiring reflected light that is projected by the light projecting part 20 and reflected on the workpiece WK, to capture a plurality of pattern projected images. As such a camera, a CCD, a CMOS or the like can be used. In this example, there is used a monochrome CCD camera that can obtain a high resolution. In addition, it goes without saying that a camera capable of capturing a color image can also be used. Further, the image capturing part can also capture a normal brightness image in addition to the pattern projected image.
The head-side control section 30 is a member for controlling the image capturing part 10, as well as the first projector 20A and the second projector 20B which are the light projecting part 20. The head-side control section 30, for example, creates a light projection pattern for the light projecting part 20 projecting the measurement light to the workpiece to obtain the pattern projected image. The head-side control section 30 makes the image capturing part 10 capture a phase shift image while making the light projecting part 20 project a projection pattern for phase shifting, and further, makes the image capturing part 10 capture a spatial code image while making the light projecting part 20 project a projection pattern for spatial coding. In such a manner, the head-side control section 30 functions as a light projection controlling part for controlling the light projecting part such that the phase shift image and the spatial code image can be captured in the image capturing part 10.
The head-side computing section 31 includes a filter processing section 34 and a distance image generating part 32. The distance image generating part 32 generates the distance image based on the plurality of pattern projected images captured in the image capturing part 10.
A head-side storage part 38 is a member for holding a variety of settings, images and the like, and a storage element such as a semiconductor memory or a hard disk can be used. For example, it includes a brightness image storage section 38b for holding the pattern projected image captured in the image capturing part 10, and a distance image storage section 38a for holding the distance image generated in the distance image generating part 32.
The head-side communication part 36 is a member for communicating with the controller section 2. Here, it is connected with a controller-side communication part 42 of the controller section 2. For example, the distance image generated in the distance image generating part 32 is transmitted to the controller section 2.
(Distance Image Generating Part 32)
The distance image generating part 32 is a part for generating the distance image where the shade value of each pixel changes in accordance with the distance from the image capturing part 10, which captures the image of the workpiece WK, to the workpiece WK. For example, in the case of generating the distance image by the phase shift method, the head-side control section 30 controls the light projecting part 20 so as to project a sinusoidal fringe pattern to the workpiece while shifting its phase, and the head-side control section 30 controls the image capturing part 10 so as to capture a plurality of images with the phase of the sinusoidal fringe pattern shifted in accordance with the above shifting. Then, the head-side control section 30 finds a sinusoidal phase with respect to each pixel from the plurality of images, to generate the distance image through use of the found phases.
Further, in the case of generating the distance image by use of the spatial coding method, a space that is irradiated with light is divided into a large number of small spaces each having a substantially fan-like cross section, and these small spaces are provided with a series of spatial code numbers. For this reason, even when the height of the workpiece is large, in other words, even when the height difference is large, the height can be computed from the spatial code numbers so long as the workpiece is within the space irradiated with light. Hence it is possible to measure the whole shape of even the workpiece having a large height.
Generating the distance image on the head section side and transmitting it to the controller section in such a manner can lead to reduction in amount of data to be transmitted from the head section to the controller section, thereby avoiding a delay in the processing which can occur due to transmission of a large amount of data.
It is to be noted that, although the distance image generating processing is to be performed on the head section 1 side in the present embodiment, for example, the distance image generating processing can be performed on the controller section 2 side. Further, the tone conversion from the distance image to the low-tone distance image can be performed not only in the controller section but also on the head section side. In this case, the head-side computing section 31 realizes a function of the tone conversion part.
(Controller Section 2)
Further, the controller section 2 is provided with the controller-side communication part 42, a controller-side control section, a controller-side computing section, a controller-side storage part, an inspection executing part 50, and a controller-side setting part 41. The controller-side communication part 42 is connected with the head-side communication part 36 of the head section 1 and performs data communication. The controller-side control section is a member for controlling each member. The controller-side computing section realizes a function of an image processing section 60. The image processing section 60 realizes functions of an image searching part 64, the tone converting part 46, and the like.
(Tone Converting Part)
Based on the distance image, the tone converting part 46 tone-converts the high-tone distance image to the low-tone distance image (its procedure will be detailed later). Herewith, the distance image having the height information generated in the head section is expressed as a two-dimensional shade image that can also be handled by existing equipment, and this can contribute to the measurement processing and the inspection processing. Further, there can also be obtained an advantage of being able to disperse a load by making the distance image generating processing and the tone conversion processing shared by the head section and the controller section. It is to be noted that in addition to the distance image, the low-tone distance image may also be generated on the head section side. Such processing can be performed in the head-side computing section. This can further alleviate the load on the controller section side, to allow an efficient operation.
Further, the tone converting part does not tone-convert the whole of the distance image, but preferably selects only a necessary portion thereof and tone-converts it. Specifically, it tone-converts only a portion corresponding to an inspection target region previously set by an inspection target region setting part (detailed later). In such a manner, the processing for converting the multi-tone distance image to the low-tone distance image is restricted only to the inspection target region, thereby allowing alleviation of the load necessary for the tone conversion. Moreover, this also contributes to reduction in processing time. That is, improving the reduction in processing time can lead to preferable use in an application with limited processing time, such as an inspection in a FA application, thereby to realize real-time processing.
The controller-side storage part is a member for holding a variety of settings and images, and the semiconductor storage element, the hard disk, or the like can be used.
The controller-side setting part 41 is a member for performing a variety of settings to the controller section, and accepts an operation from the user via the input part 3 such as a console connected to the controller section, to instruct a necessary condition and the like to the controller side. For example, it realizes functions of a tone conversion condition setting part 43, a reference plane setting part 44, a spatial coding switching part 45, an interval equalization processing setting part 47, a light projection switching part 48, a shutter speed setting part 49, and the like.
Based on the distance image received in the controller-side communication part 42, the reference plane setting part 44 sets a reference plane for performing the tone conversion to convert the distance image to the two-dimensional low-tone distance image as a tone conversion parameter for constituting a tone conversion condition at the time of performing the tone conversion. Taking the reference plane set in the reference plane setting part 44 as a reference, the tone converting part 46 tone-converts the distance image to a low-tone distance image that has a lower number of tones than the number of tones of the distance image and is obtained by replacing the height information with the shade value of the image.
The inspection executing part 50 executes predetermined inspection processing on the low-tone distance image tone-converted in the tone converting part 46.
(Hardware Configuration)
Next, a constitutional example of hardware of the controller section 2 is shown in a block diagram of
Further, the controller section 2 is provided with: a controller-side connection section 52 for connecting with the head section 1 that includes the image capturing part 10, the light projecting part 20 and the like, controlling the light projecting part 20 so as to project light with a sinusoidal fringe pattern to the workpiece while shifting its phase, and fetching image data obtained by the image capturing in the image capturing part 10; an operation inputting section 53 which is inputted with an operation signal from the input part 3; a display controlling section 54 configured of a display DSP that allows the display part 4, such as the liquid crystal panel, to display an image, and the like; a communication section 55 communicably connected to the external PLC 70, the personal computer PC and the like; a RAM 56 for holding temporary data; a controller-side storage part 57 for storing a setting content; an auxiliary storage part 58 for holding data set by means of the three-dimensional image processing program installed in the personal computer PC; an image processing section 60 configured of a computing DSP that executes the measurement processing such as the edge detection and the area calculation, and the like; an output section 59 for outputting a result of performing a predetermined inspection based on a result of the processing in the image processing section 60, or the like; and some other section. Each of the above hardware is communicably connected via an electric communication path (wiring) such as a bus.
In the program memory in the main control section 51, there is stored a control program for controlling each of the controller-side connection section 52, the operation inputting section 53, the display controlling section 54, the communication section 55 and the image processing section 60 by a command of the CPU, or the like. Further, the foregoing processing sequence program, namely the processing sequence program generated in the personal computer PC and transmitted from the personal computer PC, is stored into the program memory.
The communication section 55 functions as an interface (I/F) that receives an image capturing trigger signal from the PLC 70 at the time when a trigger is inputted in a sensor (photoelectronic sensor, etc.) connected to the external PLC 70. Further, it also functions as an interface (I/F) that receives the three-dimensional image processing program transmitted from the personal computer PC, layout information that prescribes a display mode of the display part 4, and the like.
When the CPU of the main control section 51 receives the image capturing trigger signal from the PLC 70 via the communication section 55, it transmits an image capturing command to the controller-side connection section 52. Further, based on the processing sequence program, it transmits to the image processing section 60 a command to instruct image processing to be executed. It should be noted that such a configuration can be formed where, as the apparatus for generating the image capturing trigger signal, not the PLC 70 but a trigger inputting sensor such as a photoelectronic sensor may be directly connected to the communication section 55.
The operation inputting section 53 functions as an interface (I/F) for receiving an operation signal from the input part 3 based on a user's operation. A content of the user's operation by use of the input part 3 is displayed on the display part 4. For example, in the case of using the console as the input part 3, each component such as a cross key for vertically and horizontally moving a cursor that is displayed on the display part 4, a decision button or a cancel button can be disposed. By operating each of these components, the user can, on the display part 4, create a flowchart that prescribes a processing sequence for image processing, edit a parameter value of each image processing, set a reference region, and edit a reference registered image.
The controller-side connection section 52 fetches image data. Specifically, for example, when receiving the image capturing command for the image capturing part 10 from the CPU, the controller-side connection section 52 transmits an image data fetching signal to the image capturing part 10. Then, after image capturing has been performed in the image capturing part 10, it fetches image data obtained by the image capturing. The fetched image data is once stored in a buffer (cache), and substituted in a previously prepared image variable. It should be noted that, differently from a normal variable dealing with a numerical value, the “image variable” refers to a variable allocated as an input image of a corresponding image processing unit, to be set as a reference destination of measurement processing or image display.
The image processing section 60 executes the measurement processing on the image data. Specifically, first, the controller-side connection section 52 reads the image data from a frame buffer while referring to the foregoing image variable, and internally transmits it to a memory in the image processing section 60. Then, the image processing section 60 reads the image data stored in the memory and executes the measurement processing. Further, the image processing section 60 includes the tone converting part 46, an abnormal point highlight part 62, the image searching part 64, and the like.
Based on a display command transmitted from the CPU, the display controlling section 54 transmits to the display part 4 a control signal for displaying a predetermined image (video). For example, it transmits the control signal to the display part 4 in order to display image data before or after the measurement processing. Further, the display controlling section 54 also transmits a control signal for allowing the content of the user's operation by use of the input part 3 to be displayed on the display part 4.
The head section 1 and the controller section 2 made up of such hardware as above are configured to be able to realize each part or function of
(Tone Conversion)
The above three-dimensional image processing apparatus acquires a distance image of the workpiece, performs image processing on this distance image, and inspects its result. The three-dimensional image processing apparatus according to the present embodiment can execute two sorts of inspections: image inspection processing for performing computing by use of information of an area, an edge or the like by means of existing hardware, on top of height inspection processing for performing computing by use of height information as it is as a pixel value of the distance image. Here, for sustaining the accuracy in height inspection processing, it is necessary to generate a multi-tone distance image. On the other hand, the image inspection processing cannot be executed on such a multi-tone distance image by means of the existing hardware. Therefore, in order to perform the image inspection processing by use of the existing hardware, the multi-tone distance image is subjected to the tone conversion, to generate a low-tone distance image.
However, when height information of the multi-tone distance image is converted as it is to the low-tone distance image, the accuracy of the height information is lost, which is problematic. Many of general images used in the FA application or the like are images each expressing a shade value by 8 tones in monochrome. As opposed to this, the high-tone image such as a 16-tone image is used as the distance image. For this reason, at the time of tone-converting the multi-tone distance image to the low-tone distance image, a considerable amount of height information is lost, which affects the accuracy in inspection. Having said that, increasing the number of tones of the image handled in the existing image processing for enhancing the accuracy results in a steep rise of introduction cost and an increased processing load, making its use more difficult.
Accordingly, at the time of the tone conversion as thus described, it is necessary to set such a condition for the tone conversion as to sustain necessary height information. Hereinafter, a method and a sequence therefor will be described in detail.
(Height Inspection or Image Inspection)
First, a description will be given of a processing operation of performing the height inspection processing by use of the three-dimensional image processing apparatus based on a flowchart of
First, a distance image is generated (Step S71). Specifically, the distance image generating part 32 generates the distance image by use of the image capturing part 10 and the light projecting part 20. Subsequently, desired calculation processing is selected (Step S72). Here, a tool necessary for the calculation processing is selected.
In the case of selecting the inspection processing tool, the processing goes to Step S73, and the tone conversion processing is performed on the high-tone distance image obtained in Step S71 above, to convert it to a low-tone distance image. This makes it possible for even an inspection processing tool in the existing image processing apparatus to handle a low-tone distance image. It is to be noted that the tone conversion processing is not performed in the whole region of the high-tone distance image, but is preferably performed only within an inspection target region having been set for the image inspection processing.
Meanwhile, in the case of selecting the height search tool, since height information in the multi-tone distance image is used as it is, the processing goes to Step S74 without performing the tone conversion.
Further, the inspection executing part 50 performs a variety of calculation processing (Step S74), and then determines whether or not the workpiece is a non-defective product based on a result of the calculation (Step S75). When it is determined by the inspection executing part 50 that the workpiece is a non-defective product (Step S75: YES), a determination signal outputting part 160 outputs an OK signal as a determination signal to the PLC 70 (Step S76), and when it is determined by the inspection executing part 50 that the workpiece is not a non-defective product, namely a defective product (Step S75: NO), the determination signal outputting part 160 outputs an NG signal as a determination signal to the PLC 70 (Step S77).
(Setting Mode)
Next, based on a flowchart of
Here, as a replacement image showing an input image that is successively inputted at the time of operation, an input image obtained by capturing the image of the workpiece is registered as the registered image. Further, a registered image having been previously registered may be called. In next Step S82, a tone converting method is selected. Here, the user is prompted to select either a static conversion or an active conversion. Next, in Step S83, a tone conversion parameter is adjusted. Here, when the static conversion is selected in Step S82, the tone conversion parameter is adjusted with respect to the image acquired in Step S81. A method for adjusting the tone conversion parameter will be described later. It should be noted that the above described procedure is one example, and a different procedure can also be applied. For example, the image may be acquired after selection of the tone converting method.
(Details of Setting Procedure)
Next, the procedure at the time of setting will be described in detail. In the three-dimensional image processing apparatus, a necessary setting is previously performed in the setting mode prior to an operation mode. A variety of setting parts for performing such a setting can, for example, be provided on the controller section 2 side. For example, in the example of
(Registration Process for Distance Image and Brightness Image)
First, the distance image and the brightness image are registered. Here, a setting for an “Image capturing” processing unit 263 is performed from an initial screen 260 of the three-dimensional image processing program shown in
(Three-Dimensional Image Processing Program)
In a GUI screen example of
In the image capturing setting menu 269 of
When a “Register” button 272 provided in a lower stage of the operation region is pressed after completion of the setting, as shown in
(Phase Shift Method)
Here, a description will be given of the phase shift method as one of the methods for measuring displacement and the three-dimensional shape of the workpiece in a contactless manner. The phase shift method is also referred to as a grating pattern projecting method, a fringe scanning method, and the like. In this method, a light beam, having a grating pattern obtained by varying an illumination intensity distribution in a sinusoidal form, is projected to the workpiece. Furthermore, light is projected with three or more grating patterns having different sinusoidal phases, and each brightness value at a height measurement point is captured with respect to each of the patterns from an angle different from the light beam projected direction, to calculate a phase value of the grating pattern by means of each of the brightness values. The light is projected to the measurement point in accordance with the height of the measurement point, to change the phase of the grating pattern, and there is observed a light beam with a different phase from a phase observed by a light beam reflected at a position set as a reference. Therefore, in this method, the phase of the light beam at the measurement point is calculated and substituted in a geometrical relation expression of an optical apparatus through use of the principle of triangulation, thereby to measure the height of the measurement point (thus, the object) and find the three-dimensional shape. According to the phase shift method, the height of the workpiece can be measured at high resolution by making a grating pattern cycle small, but it is possible to measure only a workpiece with a small height (workpiece with a small height difference) whose measurable height range is within 27c in a shift amount of the phase.
(Spatial Coding Method)
Therefore, the spatial coding method is also used. According to the spatial coding method, a space that is irradiated with light is divided into a large number of small spaces each having a substantially fan-like cross section, and these small spaces are provided with a series of spatial code numbers. For this reason, even when the height of the workpiece is large, namely, even when its height difference is large, the height can be computed from the spatial code number so long as the workpiece is within the space irradiated with light. Hence it is possible to measure the whole shape of even the workpiece having a large height. As thus described, according to the spatial coding method, it is possible to measure the whole shape of even a workpiece having a large height and a wide permissive-height range (dynamic range).
Next, a description will be given of a setting example for capturing the distance image in the image capturing part based on
Moreover, when a “Detail setting” button 282 provided in the operation region is pressed from the image capturing setting screen 280 of
(Real-Time Update Part)
Here, the real-time update part is provided which updates the setting for the image being displayed on the second image display region 121 to a setting after change in the case of the setting being changed in the operation region. The real-time update part can be switched on and off. In the screen example of
In the example of
(Shutter Speed Setting Part 49)
As one mode of the shutter speed setting part 49 for adjusting a shutter speed at the time of image capturing by the image capturing part, the shutter speed setting field 294 is provided in the example of
(Shade Range Setting Field 296)
In the shade range setting field 296, a dynamic range of the brightness image as the shade image is adjusted. Here, any one of “Low (−1)”, “Normal (0)” and “High (1)” is selected from a drop-down box, thereby to increase or decrease the dynamic range.
(Pre-Processing Setting Field 310)
In the pre-processing setting field 310, common filter processing, which is performed before generation of the distance image in the head section, is prescribed. As the common filter processing, for example, filters such as an averaging filter, a median filter and a Gaussian filter are possibly performed. Here, as filter processing on the pattern projected image, in the example of
(Non-Measurability Reference Setting Field 312)
In the non-measurability reference setting field 312, a noise component cutting level is set. That is, the height measurement is not performed only in an amount set in the non-measurability reference setting field 312. In the measurement of the three-dimensional height information by use of the pattern projected image, accurate height information cannot be measured without a certain light amount. On the other hand, in a case where multi-reflection has occurred or some other case, the light is too bright and its amount needs to be reduced. As thus described, a noise component cut amount is selected in accordance with the captured pattern projected image. Specifically, there is decided a threshold for taking data as ineffective data due to noise with respect to data for computing the height information of each pixel.
Here, as shown in
On the other hand, in the example shown in
On the other hand, it can also be confirmed from
(Equal Interval Processing Setting Field 314)
In the equal interval processing setting field 314, an error due to an angle of view is corrected. The equal interval processing setting field 314 functions as the interval equalization processing setting part 47. In the equal interval processing setting field 314, the on/off can be selected as shown in
It should be noted that the portion with its data disappeared after correction is taken as ineffective.
On the other hand, when the equal interval processing is switched off, the image becomes an image (Z-image) as viewed with eyes as shown in
(Spatial Code Setting Field 316)
In the spatial code setting field 316, whether or not to use the spatial coding method is selected. That is, the spatial code setting field 316 functions as the spatial coding switching part 45. In this three-dimensional image processing apparatus, the phase shift method is essential for generation of the distance image, and it is possible to select in the spatial code setting field 316 as to whether or not to apply the spatial coding method on top of the phase shift method. In the spatial code setting field 316, the on/off can be selected as shown in
On the other hand, as shown in
The example of
It is to be noted that, although the phase shift method is essential in this example, the on/off of the phase shift method may be made selectable.
(Projector Selection Setting Field 318)
The projector selection setting field 318 functions as the light projection switching part 48 for switching on/off the first projector and the second projector. Here, in the projector selection setting field 318, a light projecting part (projector) to be used is selected from the first projector and the second projector which are the two light projecting parts. In this example of the projector selection setting field 318, as shown in
In the case of “1” or “2” being selected in the projector selection setting field 318, namely in the case of one-side light projection which is light projection from either the first projector or the second projector, a portion that is shaded by the light projection is not subjected to the height measurement.
Specifically, as shown in
(“Display Image” Selection Field 322)
In the “Display image” selection field 322, the image to be displayed on the second image display region 121 is selected. For example, by selecting the display target in accordance with a use of the inspection, it is possible to visually confirm the appropriateness of each setting from the actually displayed image. Particularly, by switching on the foregoing real-time update part, the change in setting can be successively updated and the setting can be compared between before and after the change, thereby allowing the setting to be adjusted based on the image, so as to give an intended image in line with its use. Further, there can also be obtained such an advantage that even a beginner not familiar with a meaning of each setting parameter can perform the setting while viewing the image. In this example, as shown in
(Abnormal Point Highlight Part 62)
Moreover, the three-dimensional image processing apparatus is provided with the abnormal point highlight part 62 as shown in
It is to be noted that the colored color and its mode are not restricted to the above, and a variety of known modes, such as making a display with another color and making a blink display, can be used as appropriate. Further, by changing the colors for coloring the overexposed pixels and the underexposed pixels, it is possible to notify the user of the reason for deterioration in reliability of the measurement, so as to facilitate taking countermeasures. However, the overexposed pixels and the underexposed pixels may be colored with similar colors or be similarly highlighted.
“Fringe light projection—Projector 1” is a pattern projected image expressed by a shade and obtained by projecting a pattern only by means of the first projector. Further, “Fringe light projection—Projector 2” is a pattern projected image obtained only by means of the second projector.
While referring to the image displayed on the second image display region 121, the user confirms whether or not the shutter speed and the shade range are appropriate, and adjusts those to appropriate values. Specifically, in the state where the overexposed/underexposed image is displayed on the second image display region 121, the adjustment is performed while making a confirmation so as to reduce the clipped overexposed pixels and underexposed pixels. For example, the shutter speed is adjusted in the shutter speed setting field 294 so as to eliminate the underexposed pixels, namely the portion being short of a light amount and excessively dark. Further, the shade range is adjusted so as to eliminate the overexposed pixels, namely the excessively bright portion. In an example of
For example, when the shutter speed is switched to “ 1/15” as shown in
Further, when the shade range is switched to “Normal (0)” as shown in
In such a manner as above, after the desired image capturing conditions have been set, the distance image and the brightness image are registered as shown in
(Height Measurement Setting Procedure)
Next, based on
Specifically, as shown in
(Inspection Target Region Setting Screen 120)
Next, based on
In the “Measurement region” setting field 126, a previously prescribed region can be selected. Here, when the “Measurement region” setting field 126 is selected, as shown in
Further, in accordance with the shape selected in the “Measurement region” setting field 126, it is possible to perform a setting of a detailed size or the like. In the example of
When an “Edit” button 128 is pressed in this state, a measurement region edition screen 130 shown in
It is to be noted that the items settable in the measurement region edition screen 130 change in accordance with the shape selected in the “Measurement region” setting field 126. For example, when “Circumference” is selected, as shown in
(Second Measurement Display Region)
When the measurement region is set as thus described, the already set measurement region is displayed as superimposed on the workpiece as shown in
It should be noted that in the above example, one height measurement processing is performed by one “Height measurement” processing unit. That is, for performing a plurality of height measurement processing, it is of necessity to add a plurality of “Height measurement” processing units. However, it goes without saying that it is also possible to form a configuration where a plurality of pieces of height measurement processing are performed in one “Height measurement” processing unit.
(Measurement Processing)
When the setting for the measurement region is completed in such a manner, a processing for actually performing the measurement is added. Here, as shown in
(“Numerical Value Computing” Processing Unit)
In the “Numerical value computing” processing unit, a specific computing equation can be inputted. For example, as shown in
When the content of the numerical value computing processing is prescribed in such a manner, as shown in
(“Area” Processing Unit)
Furthermore, an “Area” processing unit is added under the “Numerical value computing” processing unit in the example of
(Height Extraction Setting Screen)
Next, a setting for the height extraction is performed. The setting for the height extraction is to set a tone conversion parameter at the time of performing the tone conversion. That is, when a “Height extraction” button 116 is pressed from the setting item button region 112 of
Here, the “Height extraction” button 116 functions as the tone conversion condition setting part 43 that sets the tone conversion parameter for tone-converting the distance image by the tone converting part. In particular, the tone conversion condition setting part 43 is displayed when the processing not requiring the height information of the image is selected in the inspection processing selecting part. In contrast, when the processing requiring the height information of the image is selected in the inspection processing selecting part, this tone conversion condition setting part is not displayed. Specifically, when the “Height measurement” processing unit 266 is selected as an inspection processing tool, the “Height extraction” button is not displayed in the flow display region 261. As for inspection processing tools other than this, such as the “Area” processing unit, a “Blob” processing unit 267, a “Color inspection” processing unit 267B, a “Shapetrax2” processing unit 264 and a “Position correction” processing unit 265, there is displayed the “Height extraction” button 116, to make the tone conversion condition settable. In such a manner, when the tone conversion is necessary, the tone conversion condition setting part 43 is displayed to prompt the user to perform a necessary setting, whereas, when the tone conversion is unnecessary, the part for setting the tone conversion condition itself is not displayed, thereby to avoid the user being confused by the unnecessary setting, and realize the usability of the user.
(Extraction Method Selecting Part 142)
In the extraction method selecting part 142, the tone converting method is specified. For example, the user is allowed to select either the static conversion or the active conversion. In the example of
(One-Point Specification Screen 150)
When “One-point specification” is selected from the extraction method selecting part 142 on the screen of
A position specified with this pointer 146 is registered as an intermediate height of a distance range.
Further, a range for finding heights around the point specified with the pointer 146 can be specified in an “Extraction region” specification field 145. In the “Extraction region” specification field 145, one side of the region for finding an average height is specified by means of the number of pixels. In the example of
Further, in a “Z-height” display field 152, height information of the specified portion is displayed as a numerical value (in the example of
(Simple Display Function)
When the distance range and the span are decided as the tone conversion parameters necessary for the tone conversion as described above, it is possible to tone-convert the high-tone distance image to the low-tone distance image. Further, as shown in
(Gain Adjusting Part)
Further, using a gain adjusting part, the user can perform a gain adjustment as one of tone conversion parameters. In the example of
Here, the reference plane is a plane found by means of the one-point specification, or a later-mentioned average height reference, the three-point specification, a flat surface reference, a free curved surface reference, or the like, and is a plane that is set as the reference at the time of tone conversion. For example, when a sectional profile of the 16-tone distance image (input image) before conversion has a shape as indicated with a solid line as shown in
Further, it is also possible to automatically compute a height per tone (reciprocal number of a gain value) in accordance with the foregoing gain value, and display the height as well. In the example of
(Setting of Extracted Height)
Further, the setting items for the emphasis method can include a setting for the extracted height in addition to the gain value. For example, on the screen of
Further, the emphasis method detail setting screen 160 of
(Noise Removal Setting Field 164)
In the noise removal setting field 164, as one of the tone conversion parameters, it is specified how many mm difference from the reference plane is removed as noise. For example, when the noise removal parameter is set to 0.080 mm, a difference of 0.080 mm from the reference plane is removed. Here, assuming that the height information before conversion has a resolution of 0.00025 mm per tone, the above operation is performed ignoring a difference of 0.080 [mm]÷0.00025 [mm]=320 [tones]. This situation will be described based on
Further, a profile of the low-tone distance image obtained by converting the tones of the distance image of
Further, effects of the gain adjustment and the noise removal will be described based on
As thus described, when the conditions necessary for executing the one-point specification are set, the input image is tone-converted from the high-tone distance image to the low-tone distance image in accordance with the specified tone conversion conditions, namely the reference height and the like, and the converted image is displayed on the first image display region 111 as shown in
Here, based on
(Three-Point Specification)
In the above, the description has been given of the method for setting the tone conversion condition by means of the one-point specification. Next, based on GUI screens of
The “Height extraction” button 116 is pressed on the GUI screen of the three-dimensional image processing program of
(Three-Point Specification Screen 170)
On the three-point specification screen 170, three points are specified on the second image display region 121, to set the reference plane to be the reference of the tone conversion. For this reason, a height extracting part is provided on the three-point specification screen 170 of
Moreover, as information of the reference plane, an angle of inclination can also be displayed. In the example of
Further, similarly to the one-point specification, the emphasis method can also be specified according to the need. For example, the gain is adjusted using the gain adjusting part, or a three-point specification detail setting screen 180 as shown in
As thus described, the distance image can be tone-converted taking as the reference plane the arbitrary flat surface prescribed by the specified three points. As a result, it becomes possible to perform not only the tone conversion with the horizontal surface taken as the reference like the foregoing one-point specification, but also the tone conversion with the inclined flat surface taken as the reference plane. For example, in the use of inspecting a flaw or a foreign substance on the inclined surface out of the surface of the workpiece, a distance range would be narrow if the inclined surface remains as it is, but by setting the reference plane along the inclined surface, it is possible to cancel the inclined surface, so as to efficiently inspect the flaw or the foreign substance. In such a manner, it is possible to realize the flexible tone conversion, making use of the height information in accordance with the workpiece or the inspection purpose.
Here, based on
Further, there is considered inspection processing for detecting a gentle depression when this depression is on the upper surface of a flat workpiece WK9 as shown in
It should be noted that in terms of the processing time, it is longer than in the case of the one-point specification, but the processing can be performed at relatively high speed.
In the above, the description has been given of the static conversion in which a tone conversion condition is previously set at the setting stage and the tone conversion is performed on the specified condition at the time of operation. In other words, in the static conversion, the tone conversion parameter is a fixed value regardless of the input image. Next, a description will be given of a specific example of the active conversion for adjusting the tone conversion condition in accordance with the input image as the inspection target. First, as specific methods for correcting the reference of height information which should remain at the time of tone-converting the distance image to the low-tone distance image, the active conversion includes: (B1) an average height reference where the tone conversion is performed taking as an average reference height an average height (average distance) within an average extraction region specified with respect to the input image; (B2) a flat surface reference where an estimated flat surface within a specified region of the input image is generated and the tone conversion is performed taking this flat surface as the reference plane; and (B3) a free curved surface reference where a free curved surface with a high-frequency component removed from the input image is generated and the tone conversion is performed taking this curved surface as the reference plane. Hereinafter, each of the methods will be sequentially described.
(B1; Average Height Reference)
The average height reference is a method where an average height within a specified average extraction region is computed with respect to each input image, and the tone conversion is performed taking this average height as an average reference height. An average extraction region for specifying an average reference height is previously set prior to the operation (Step S83 of
Next, in a “Calculation method” selection field 192 provided below the extraction method selecting part 142, the reference of the active conversion is specified. Here, as shown in
It should be noted that at the time of setting regarding the active conversion, it is necessary to set the average reference height or the like with respect to a different image from a distance image that is inputted at the time of actual operation. For this reason, an image corresponding to the workpiece at the time of operation is previously captured and stored as a registered image, and in the setting for the active conversion, the registered image is read and a variety of settings are performed in the form of substituting this registered image for the workpiece at the time of operation. Hence on the screens of
In the average height reference setting screen 210, a separately set inspection target region is used as it is, or an arbitrary average extraction region is specified according to the need. As for specification of the average extraction region, an arbitrary method can be used such as specification of a rectangular shape, four points, a circle obtained by specifying its center and radius, or a free curve. Further, only one point on the workpiece can be specified, or in contrast, the whole of the workpiece or the whole of the image displayed on the second image display region 121 can be taken as the average extraction region. Alternatively, the inspection target region having been separately specified as described above can be used as the average extraction region. In such a case, the operation for specifying the average extraction region by the height extracting part may be omitted.
(Mask Region)
Moreover, a mask region where an average height is not extracted may be specified with respect to the average extraction region. For example, when an “Extraction region” button 194 provided in the operation region 122 is pressed from the screen of
Further, the gain adjustment or the like can also be performed according to the need. For example, when a “Detail setting” button 196 provided in the lower right of the operation region 122 is pressed from the screen of
When the average extraction region is set in such a manner, the setting screen is completed. At the time of tone conversion, the tone conversion is performed taking as a reference height an average value (average reference height) of height information included in this average extraction region. For example, the tone conversion is performed such that the average reference height becomes a central value of a distance range (in the case of 28=256 tones, the central value is 128 which is a central value of a distance range from 0 to 255). Further, pieces of height information of all points included in the average extraction region need not necessarily be used, and the processing can be simplified by appropriately thinning out the points, averaging them, or some other way.
At the time of operation, the active conversion is performed in a sequence shown in
Here, based on
(Flat Surface Reference)
In the above, the description has been given of the example of performing the active conversion by means of the average height reference. Next, as another active conversion, a description will be given of the flat surface reference where a flat surface included within a reference plane estimation region previously specified with respect to the input image is estimated and the tone conversion is performed taking this estimated surface as the reference plane. In this method, for example in a case where the surface of the workpiece is inclined, or some other case, it is possible to cancel an inclination component and then perform the tone conversion, so as to obtain an advantage of being applicable in a similar manner to the three-point specification of the static conversion described above. In the following, a specific setting method for the flat surface reference will be described. Similarly to the foregoing average height reference, also in the flat surface reference, the reference plane estimation region for deciding the reference plane is previously set prior to the operation (Step S83 of
Similarly to the height extracting part on the height extraction selection screen 140 of
Further, it is similar to
When the reference plane estimation region is prescribed in such a manner, the setting screen is completed. At the time of tone conversion, the flat estimated surface is computed from height information included in this reference plane estimation region. For fitting the height information distributed within the reference plane estimation region, a known method such as the least squares method can be used as appropriate. In addition, it is as described above that pieces of height information of all points included in the reference plane estimation region need not necessarily be used for computing the estimated surface, and the processing can be simplified by appropriately thinning out the points, averaging them, or some other way.
When the estimated surface is decided in such a manner, the tone conversion is performed taking this estimated surface as the reference. For example, the tone conversion is performed such that the estimated surface becomes a central value of a distance range. Further, it is also possible to display information of the computed estimated surface. For example in the example shown in
Further, examples of the workpiece for which the method for specifying the reference plane by means of the flat surface reference is effective include
(B3: Free Curved Surface Reference)
Finally, a description will be given of the free curved surface reference where the free curved surface with a high-frequency component removed from a predetermined region (free curved surface target region) of the input image is generated and the tone conversion is performed taking this curved surface as the reference plane. For example, when approximation is difficult by use of the simple flat surface due to the workpiece having the curved surface or the like, it is difficult to accurately extract height information of a region to be inspected. Accordingly, an image simplified by removing a high-frequency component from the input image is generated and the surface shape (free curved surface) of this image is used as the reference plane, thereby allowing an inspection where an overall shape and a gentle change are ignored and only a portion making an abrupt change, namely a fine shape, is left.
Hereinafter, a specific method for setting the free curved surface reference will be described based on the GUIs of
Also on the free curved surface reference setting screen 250, although an arbitrary region can be specified as the free curved surface target region, the whole of an image displayed on the second image display region 121, or a separately specified inspection target region, is preferably used as it is as the free curved surface target region. A harmonic component is removed from the region specified as the free curved surface target region, to generate the free curved surface. Then, on the free curved surface target region displayed on the second image display region 121, a tone-converted image obtained by performing the tone conversion with the free curved surface taken as the reference plane is superimposed and displayed. Further, it is also similar to
(Extraction Size Adjusting Part)
Further, there is also provided an extraction size adjustment function of adjusting fineness (extraction size) of the extracted surface which is extracted by means of the free curved surface reference. Specifically, in
When the free curved surface target region is prescribed in such a manner, the setting screen is completed. At the time of tone conversion, the free curved surface is computed from height information of an image included in this free curved surface target region. For fitting the height information distributed within the free curved surface target region, there can be used a method for performing image reduction processing, filter processing and image enlargement processing in accordance with the set extraction size, to generate a free curved surface image. Alternatively, as described above, the known method such as the least squares method can be used as appropriate. In addition, it is as described above that pieces of height information of all points included in the free curved surface target region need not necessarily be used for computing the estimated surface, and the processing can be simplified by appropriately thinning out the points, averaging them, or some other way. When the free curved surface is decided in such a manner, the tone conversion is performed taking this free curved surface as the reference. For example, the tone conversion is performed such that the free curved surface becomes a central value of a distance range.
Here, based on
(Extraction Region Setting Dialog 148)
Further, at the time of performing the height extraction, a target region (extraction region) for calculating the reference plane from the input image can be made the same region as the inspection target region (measurement region) for performing the inspection processing, or can be set separately from the measurement region. As one example, in
(Mask Region Setting Field 330)
Further, a mask region for specifying a region not to be the extraction region can also be set from the extraction region setting dialog 148. In the example of
As thus described, the extraction region can also be set independently of the measurement region. Further, a setting content of the extraction region can be displayed using character information. For example, in the example of
(Pre-Processing)
Upon completion of the setting for the height extraction in the “Area” processing unit as described above, as shown in
(Determination Setting)
Further, in the “Area” processing unit, after the input image has been tone-converted to the low-tone distance image in accordance with the conditions such as the set region, the height extraction and the pre-processing, there are also prescribed conditions for performing determinations on the height inspection, the image inspection and the like with respect to this low-tone distance image. For example, from the screen of
(“Blob” Processing Unit 267)
In the above, the description has been given of the determination based on the height inspection by use of the height information, but the present invention is not restricted to this, and it is also possible to add determination processing based on the conventional image inspection with respect to a brightness image. Such an image inspection is called a blob. For example, as shown in
(“Color Inspection” Processing Unit 267B)
Moreover, in a case where a color optical image can be inputted such as a case where a color CCD camera is connected as the image capturing part, it is possible to combine color inspections. For example, as shown in
As thus described, after a variety of settings are performed in the setting mode, an image of the workpiece is actually captured in the operation mode to acquire an input image, and based on results of the height inspection and the image inspection, determination processing is performed. It is to be noted that in the above example, the configuration has been made where a determination result can be outputted also in the setting mode, thereby to facilitate the user recognizing an image of the determination result on the setting stage. However, it goes without saying that it is also possible to allow the determination result to be outputted only in the operation mode.
(Operation Mode)
Next, a description will be given of processing at the time of operation inside the head section and the controller section in the three-dimensional image processing apparatus shown in
(Flow of Processing According to Third Embodiment)
First, when a trigger is inputted from the outside (Step S11901), one light projection pattern is projected from the first projector 20A to the workpiece (Step S11902), and its image is captured in the image capturing part (Step S11903). Next, it is determined whether or not image capturing of every light projection pattern has been completed (Step S11904), and when it has not been completed, the light projection pattern is switched (Step S11905), to return the processing to Step S11902 and repeat the processing. Here, there are captured a total of 16 pattern projected images, which are 8 pattern projected images with light projection patterns by use of the phase shift method and 8 pattern projected images with light projection patterns by use of the spatial coding method.
On the other hand, when image capturing of every light projection pattern is completed in Step S11904, the processing is branched into Step S11906 and S11907. First, in Step S11906, the three-dimensional measurement computing is executed, to generate a distance image A.
On the other hand, in Step S11907, there is computed an average image A′ obtained by averaging a plurality of pattern projected images (pattern projected image group) captured by the phase shift method.
Steps S11902 to S11906 above are the three-dimensional measurement by means of pattern light projection from the first projector 20A. Next, the three-dimensional measurement by means of pattern light projection from the second projector 20B is performed. Here, similarly to Steps S11902 to S11905, in Step S11908 subsequent to Step S11906, a light projection pattern is projected from the second projector 20B to the workpiece (Step S11908), and its image is captured in the image capturing part (Step S11909). It is then determined whether or not image capturing of every light projection pattern has been completed (Step S11910). When it has not been completed, the light projection pattern is switched (Step S11911), to return the processing to Step S11902 and repeat the processing. On the other hand, when the image capturing of every light projection pattern has been completed, the processing is branched into Steps S11912 and S11913. In Step S11912, the three-dimensional measurement computing is executed, to generate a distance image B. On the other hand, in Step S11913, there is computed an average image B′ obtained by averaging a pattern projected image group captured by the phase shift method. When the three-dimensional distance images A, B are generated in such a manner, in Step S11914, the three-dimensional distance images A, B are synthesized to generate a distance image. Further, in Step S11915, a brightness image (average two-dimensional shade image) is generated which is obtained using the average images A′, B′ by synthesizing these images. In such a manner, a distance image having height information of the workpiece is acquired in the three-dimensional image processing apparatus of
(Flow of Processing According to Fourth Embodiment)
In the above, the description has been given of the flow of the processing of the head section in the three-dimensional image processing apparatus according to the third embodiment shown in
(Inspection Target Region Setting Part)
In an inspection at the time of actual operation, it is necessary to previously specify a region (inspection target region) that is set as a target where the inspection executing part 50 executes an inspection on the workpiece. Such a setting for the inspection target region is performed by the inspection target region setting part at a setting stage. The inspection target region setting part can be provided on the controller section 2 side as described above, or can also be realized by the three-dimensional image processing program. Specifically, as described above, when the “Set region” button 115 corresponding to the inspection target region setting part of the three-dimensional image processing program shown in
When the inspection target region is specified in such a manner, the three-dimensional image processing apparatus performs the image processing on this inspection target region and further executes the inspection. That is, as shown in a flowchart of
It is to be noted that the tone conversion processing is performed on the inspection target region set in the foregoing inspection target region setting part. That is, in this example, the inspection target region setting part is made common with a tone conversion target region specifying part for specifying a tone conversion target region. However, a region used for deciding a parameter for the tone conversion processing may be set independently of the inspection target region. For example, a tone conversion parameter creating region is set by the inspection target region setting part or a tone conversion parameter creating region specifying part which is prepared separately from the inspection target region setting part.
(Operation Flow of Controller Section at Time of the Operation)
Next, based on a flowchart of
(Image Capturing Step)
First, in Step S12201 of
As for the image data, the distance image is first transmitted from the head section to the controller section, and then the brightness image is also transmitted to the controller section. It is to be noted that, conversely, the brightness image may be transmitted and thereafter the distance image may be transmitted, or these images may be simultaneously transmitted.
(Search Step)
Further in Step S12202, a pattern search is performed in the controller section on an input image that is inputted at the time of operation. That is, a portion to be inspected is specified so as to follow movement of the workpiece included in the captured brightness image. In the example of
(Positional Correction Step)
Next, in Step S12203, the inspection target region is subjected to positional correction by use of a result of the pattern search. In the example of
(Inspection Processing Step)
Finally, in Step S12204, the inspection is executed using the distance image at the corrected position. In the example of
It should be noted that in the above procedure, the description has been given of the example of performing the positional correction by use of the brightness image and thereafter performing the inspection based on the distance image. However, the present invention is not restricted to this, and an image for performing the positional correction and an image for performing the inspection processing can be arbitrarily set. For example, in contrast to the above, it is possible to perform the positional correction by use of the distance image and thereafter perform the inspection processing by use of the brightness image. As one example, in an example where an accurate pattern search is difficult to perform by means of the brightness image as in a case where white workpiece is placed on a white background, a pattern search based on height information by use of the distance image is effective. Further, also in the inspection processing, the determination is performed not only by means of the determination processing based on height information, but also by means of an image processing result obtained by using the brightness image, for example by reading the character string printed on the workpiece by the OCR.
(Height Information Output Form)
The measured three-dimensional height information is found as a three-dimensional point cloud data having respective values of X, Y and Z. Further, as for how to output an actually found value, in addition to outputting it as the three-dimensional point cloud data, it can be converted to a Z-image or a Z-image with equal-pitched XY, for example.
(1. Z-Image)
The Z-image is height image data of only a Z-coordinate. For example, when the unevenness of the position of the workpiece whose image has been captured in the image capturing part is important and XY-coordinates need not be accurate, the XY-coordinates are unnecessary, and hence it would be sufficient if the Z-image as data of only the Z-coordinate is outputted. In this case, a data amount to be transmitted becomes small, thereby to allow reduction in transmission time. Further, as in the normal two-dimensional image capturing part, the data can also be used as an image, thus allowing the image processing to be performed using the existing image processing apparatus for two-dimensional image.
(2. Z-Image with Equal-Pitched XY)
The Z-image with equal-pitched XY is height image data obtained by equal-pitching XY-coordinates regardless of the height thereof. Specifically, a Z-coordinate at a position in the case of XY-coordinates being equal-pitched is subjected to interpolation computing from point cloud data therearound, to obtain a Z-image with equal-pitched XY.
Generally, when a lens of the image capturing part is not an objective telecentric lens, a position (XY-coordinates) at which the image capturing is performed in the image capturing part varies depending on the height position (Z-coordinate) of the workpiece being captured in the image.
For this reason, even in the case of ones taken at the same position on the capturing element, actual XY-coordinates positions of those vary depending on the heights thereof. For example, this is inconvenient in the case of wishing to inspect a three-dimensional difference such as a volume because a value becomes large when the workpiece is close to the camera and the value becomes small when the workpiece is distant from the camera. Accordingly, Z-data with equal-pitched XY is found from the point cloud data, thereby to give a Z-image having XY position not affected by the height.
(3: XYZ (Point Cloud Data))
Alternatively, the point cloud data can be outputted as it is as three-dimensional information. For example, this is applied to the case of wishing to treat the measured three-dimensional data as it is. In this case, an amount of the data is three times as large as in the case of only the Z-coordinate, but since it is raw data, it can be applied to the use of finding a three-dimensional difference from three-dimensional CAD data.
(Generation of Equal-Pitched Image)
Next,
(Equal Interval Processing)
As described above, after the three-dimensional data and the brightness image have been generated in the head section, the distance image such as the Z-image or the Z-image with equal-pitched XY is created. First, the distance image is transferred from the head section 1 to the controller section 2, and the tone conversion for converting phase information to height information is performed. Here, an X-image, a Y-image and a Z-image are respectively found from the phase information, and thereafter, these XY are equalized, to acquire a Z-image with equal-pitched XY and a Z-average image with equal-pitched XY on the XY-plane. Such equal interval processing is performed in the interval equalization processing setting part 47.
It should be noted that the example of combining the phase shift method and the spatial coding method in generation of the distance image has been described in the example of
On the other hand,
Moreover,
(Tone Converting Method)
Next, a description will be given of a procedure for the tone converting part 46 of the three-dimensional image processing apparatus automatically tone-converting a high-tone distance image to a low-tone distance image based on the distance image. Here, a description will be given of a procedure for tone-converting a plurality of input images in such a use where, in an inspection apparatus installed on the production line where a plurality of workpieces are carried, successively inputted distance images (input images) are tone-converted to low-tone distance images in real time. The tone conversion processing in this case can be broadly classified into two methods: (A) a method (static conversion) for previously deciding a tone conversion parameter; and (B) a method (active conversion) for deciding a tone conversion parameter in accordance with an input image. These will be described below.
(A. Static Conversion)
First, a description will be given of the static conversion in which the tone conversion parameter is previously decided. Here, a tone conversion parameter for tone-converting an input image or a previously registered image is adjusted at the time of setting. Then at the time of operation, the distance image is tone-converted with the tone conversion parameter set at the time of setting, and the inspection is executed on the low-tone distance image after tone-conversion. The procedure at the time of setting is as described based on the foregoing flowchart of
(Procedure at the Time of Operation)
When the tone conversion parameter is adjusted, with this tone conversion parameter, the input image inputted at the time of operation is tone-converted. Here, the procedure for the static conversion at the time of operation will be described based on a flowchart of
(B. Active Conversion)
Next, a description will be given of the active conversion in which the tone conversion parameter at the time of tone conversion is calculated based on the input image. First, a procedure at the time of setting is performed in accordance with the flowchart of
Here, based on the image acquired in Step S81, it is set on what condition the tone conversion parameter is computed or adjusted with respect to the input image inputted at the time of operation.
When the computing condition for the tone conversion parameter is set in such a manner, at the time of operation, the tone conversion parameter in accordance with the input image is separately computed in accordance with the set tone conversion parameter computing condition. Next, based on a flowchart of
For example, it is possible to perform the inspection even on the workpiece surface with height variations without deterioration in accuracy.
Here, as one example of the active conversion, based on
(1A. Method for Setting One Tone Conversion Parameter Set)
First, a description will be given of the method for actively setting one tone conversion parameter set. In this method, based on image information of a plurality of distance images as input images in a predetermined region, a value of a tone conversion parameter to be used for the tone conversion is adjusted, and using this adjusted tone conversion parameter, the tone converting part 46 executes the tone conversion processing on the distance image. Here, a description will be given of an example of tone-converting a 16-tone distance image (image before tone-conversion) to an 8-tone low-tone distance image (image after tone-conversion). Further, as for the workpiece as the inspection target, as shown in a perspective view of
First, a region to be inspected on the workpiece is previously specified by the inspection target region setting part as an inspection target region. In addition, other than specifying a part of the distance image as the input image, it is also possible to specify the whole of the distance image. In this case, the operation of specifying the inspection target region may be omitted.
First, an average distance of the inspection target region is found. Next, a difference (distance range) between the maximum distance and the minimum distance of the inspection target region is found. Moreover, a numerical value obtained by multiplying the distance range by 1.2 is taken as a distance range of an image after conversion. For example, in a distribution of the workpiece in
Furthermore, a span with respect to the distance image as the input image is found such that the range of 0.6 mm (±0.3 mm centered at the average distance) as the distance range of the image after tone-conversion has 256 tones. In addition, the span can also be a predetermined constant. Moreover, a distance image with an average distance being not longer than −0.3 mm can be set as 0, whereas a distance image with an average distance being not shorter than +0.3 mm can be set as 255.
As thus described, it is possible to set a range necessary for the inspection from a plurality of inputted distance images and appropriately set a tone conversion parameter such that height information of this range is maintained even in a low-tone distance image after tone-conversion. As a result, by use of the existing image processing apparatus, it is possible to appropriately inspect the presence or absence of a flaw, its position and the like on each of the workpieces that disperse in the height direction.
(1B. Method for Previously Preparing a Plurality of Tone Conversion Parameter Sets)
In the above example, the description has been given of the method for appropriately finding a tone conversion parameter set by use of height information of the acquired distance images such that height information necessary for detection of a flaw is not lost.
Meanwhile, a description will also be given of a method for previously preparing a plurality of tone conversion parameter sets. In this method, there are created images after tone-conversion obtained by tone-converting a plurality of distance images as input images with a plurality of previously set tone conversion parameters, and based on image information of a previously specified inspection target region of the distance image, an image after tone-conversion to be used for the inspection is selected.
A specific example of this will be described based on a schematic diagram of
The user is then allowed to select a desired image out of simple low-tone distance images as the obtained tone-converted images (Step S13603). The tone conversion parameter is adjusted according to the need, and the obtained low-tone distance image is subjected to the inspection (Step S13604).
(Details of Static Conversion and Active Conversion)
Next, details of the static conversion and the active conversion will be described. First, the static conversion will be described. As for the static conversion, as a specific method for correcting the reference of height information to be left at the time of tone-converting a distance image to a low-tone distance image, there can be used: (A1) one-point specification in which the correction is performed at a specified height (distance); and (A2) three-point specification in which the correction is performed on the flat surface.
(A1: One-Point Specification)
The one-point specification is a method for tone-converting a distance image to a low-tone distance image by taking as a reference a height (distance) of a point or a region specified by the user. The reference height is, for example, an intermediate height of a height range (distance range) in which the tone conversion to the low-tone distance image is performed, out of height information of the distance image. Alternatively, it can also be at the upper limit of the distance range (the highest position at which the tone conversion is performed) or the lower limit thereof (the lowest position at which the tone conversion is performed). A specific procedure for the one-point specification is as described based on
(A2: Three-Point Specification)
The three-point specification is a method for tone-converting a distance image to a low-tone distance image by taking as a reference plane the flat surface found by three points specified by the user. Similarly to the foregoing reference height of the one-point specification, it is assumed that the reference plane is, for example, at an intermediate height of a height range (distance range) in which tone conversion to a low-tone distance image is performed out of height information of the distance image. Alternatively, it can also be at the upper limit of the distance range (the highest position at which the tone conversion is performed) or the lower limit thereof (the lowest position at which the tone conversion is performed). A specific procedure for the three-point specification is as described based on the GUI screens of
Here, based on
Further,
(B. Specific Example of Active Conversion)
In the above, the description has been given of the static conversion in which a tone conversion condition is previously set at the setting stage and the tone conversion is performed on the specified condition at the time of operation. Next, a description will be given of a specific example of the active conversion for adjusting the tone conversion condition in accordance with the input image as the inspection target. First, as specific methods for correcting the reference of height information which should remain at the time of tone-converting a distance image to a low-tone distance image, the active conversion includes: (B1) an average height reference where the tone conversion is performed taking as an average reference height an average height (average distance) within an average extraction region specified with respect to the input image; (B2) a flat surface reference where an estimated flat surface within a specified region of the input image is generated and the tone conversion is performed taking this plane as the reference plane; and (B3) a free curved surface reference where a free curved surface with a high-frequency component removed from the input image is generated and the tone conversion is performed taking this curved surface as the reference plane.
An average extraction region for specifying an average reference height is previously set prior to the operation (Step S83 of
Next, similarly to the foregoing average height reference, also in the flat surface reference, the reference plane estimation region for deciding the reference plane is previously set prior to the operation (Step S83 of
Finally, a specific method for setting the free curved surface reference is as described above based on the GUIs of
Here, based on
Further,
Further,
(Automatic Adjustment of Tone Conversion Parameter)
In the above, the description has been given of the procedure for manually setting the tone conversion parameter based on the image after tone-conversion. On the other hand, in the case of manually setting the tone conversion parameter, when the tone conversion is performed using the first set tone conversion parameter, an image suitable for the inspection may not be obtained due to a change in workpiece, an environment, or the like. In such a case, without the user performing a fine adjustment with reference to the image, an image conversion suitable for the inspection can be performed by correcting the tone conversion parameter by use of data after tone-conversion and performing the conversion again. In this method, after an initial setting for the tone conversion has been performed, the tone conversion is first performed taking an arbitrary tone conversion parameter as an initial value, and thereafter, the tone conversion parameter is adjusted.
For example, the tone conversion condition automatic setting part is allowed to function as the tone conversion condition automatic setting part and the tone conversion condition manual setting part. That is, in the tone conversion condition automatic setting part, there is set a simple tone conversion condition at the time of the tone converting part tone-converting a distance image to a low-tone distance image. Further, in a state where the tone-converted simple low-tone distance image is displayed on the display part based on the simple tone conversion condition having been set in the tone conversion condition automatic setting part, the tone conversion condition manual setting part accepts a manual adjustment of the tone conversion condition. Herewith, the user is not suddenly prompted to set a tone conversion condition, but after a temporary simple tone conversion condition has been automatically set and the tone conversion has been performed, a desired tone conversion condition can be set with reference to one or more simple low-tone distance images being obtained. Therefore, even when the user is not familiar with meanings of tone conversion parameters or is not used to making settings for those, it is possible to make such a setting operation easy to perform by automating the operation to a certain extent.
A specific procedure will be described based on a flowchart of
It is to be noted that in the above method, whether or not the tone conversion parameter is appropriate is determined in Step S14203, but this procedure may be omitted.
Examples of the initial tone converting method include: a method for multiplying an input image by a conversion coefficient f(x, y, z); a method for applying a shift and a span to an input image, to compress the result into n-tones; a method for taking a difference between an input image and a reference plane with an arbitrary flat surface taken as the reference plane, and applying a shift and a span thereto, to compress the result into n-tones; and a method for taking a difference between an input image and a reference image, and applying a shift and a span thereto, to compress the result into n-tones.
Next, a description will be given of a specific example of automatically adjusting a tone conversion parameter after tone-conversion. As an automatic adjustment method for a tone conversion parameter, there can be considered: (C1) a method for using a median value of a histogram of a distance image data after tone-conversion; (C2) a method for using the maximum value and the minimum value of a histogram; (C3) a combination of C1 and C2; and the like.
(C1: Method for Using Median Value of Histogram)
First, the method for using a median value of a histogram will be described based on a flowchart of
(C2: Method for Using Maximum Value and Minimum Value of Histogram)
First, a histogram of a distance image data after conversion is calculated. Next, the maximum value and the minimum value of the histogram are found, and the tone conversion parameter is changed such that a width between the maximum value and the minimum value becomes a predetermined value. Then, with the changed tone conversion parameter, the tone conversion processing is executed again. Here, the maximum value and the minimum value may be average values of n values from the top and m values from the bottom, respectively. Further, the maximum value and the minimum value may be the maximum value and the minimum value after removing n values from the top and m values from the bottom, respectively.
(C3: Combination of C1 and C2)
C1 and C2 above may be combined. That is, after calculation of the histogram, based on the median value and the width between the maximum value and the minimum value, the tone conversion parameter is changed and the tone conversion is performed again.
In the above method, a low-pass filter may also be previously applied to the histogram. Further, the histogram may be found after the low-pass filter has been previously applied to the distance image after conversion.
By such a tone conversion, a distance image which includes height information and whose number of tones is high can be converted to a low-tone distance image. Since this low-tone distance image can be processed as a two-dimensional image, even an existing image processing apparatus corresponding to a two-dimensional image can handle the low-tone distance image.
For example, height information of each pixel included in a distance image, obtained by capturing an image of the workpiece for the purpose of inspecting the presence or absence of a flaw, is expressed as a shade value by a binary number of a hexadecimal number. Here, when a difference between the distance image and a reference distance image is calculated, defect information of a slight and small flaw that appears on the surface of the workpiece is integrated into lower 8 tones. Therefore, for example, deleting the higher 8 tones by the tone converting part makes it possible to greatly compress an information amount of the difference image while preventing deterioration in detection accuracy. As thus described, the tone converting part cuts the higher half of the tones at the time of expressing a shade value of each pixel in the difference image by means of tones, and hence it is possible to greatly compress the information amount of the difference image while preventing deterioration in detection accuracy.
(Partial Execution of Tone Conversion Processing)
Further, the tone conversion processing can be performed not on the whole of a distance image but only on a part thereof. Specifically, the tone converting part executes the tone conversion processing only on a specified inspection target region within the distance image. Herewith, the tone conversion processing is alleviated, to improve alleviation of a load of the processing and acceleration of the processing. As one example, there will be considered a case as shown in
(Inspection Processing Selecting Part)
The inspection processing selecting part is a part for selecting a plurality of inspection processing on the distance image to be executed in the inspection executing part. Here, as shown in
(Inspection Processing Setting Part)
On the other hand, the inspection processing setting part sets a detail of each inspection processing selected in the inspection processing selecting part. Here, as shown in
(Height Inspection Processing)
(Image Inspection Processing)
On the other hand, in the case of performing measurement (image inspection processing) not using the height information out of the inspection processing, the high-tone information is unnecessary, and a load is smaller when the processing is performed using a lower-tone distance image. For this reason, the high-tone distance image is tone-converted to obtain a low-tone distance image, and thereafter, the processing is performed. Here, it is not necessary to convert the whole of the distance image to a low-tone distance image, and the need is met when only a target that is subjected to the image inspection processing is tone-converted. That is, the tone conversion is directed to an inspection target region set for the image inspection processing without using the height information within one or more set inspection target regions. In an example shown in
In such a manner, whether or not to perform the tone conversion is selected in accordance with the inspection processing. For example, in the “Height measurement” processing unit and the second “Height measurement” processing unit out of the inspection processing displayed in the flow display region 261 of
(Display of Tone Conversion Condition Setting Part 43)
Further, regarding the image inspection processing that requires the tone conversion processing as thus described, a tone conversion condition for performing an appropriate tone conversion is set from the tone conversion condition setting part 43. At this time, in the tone conversion condition setting part 43, a tone conversion condition is made settable only when the tone conversion processing is necessary, and in contrast, a tone conversion condition is unsettable in inspection processing not requiring the tone conversion processing, such as the height inspection processing, whereby the user can smoothly set only a necessary item without being perplexed by an unnecessary setting operation. Accordingly, in the present embodiment, the tone conversion condition setting part 43 for setting a tone conversion parameter for tone-converting a distance image is displayed at the time of setting the inspection processing not requiring the height information of the image other than the height inspection processing, whereas the tone conversion condition setting part 43 is not displayed at the time of setting the height inspection processing.
A specific procedure at the time of setting will be described based on a flowchart of
For example, at the time of performing the image inspection processing on the workpiece of
It is to be noted that in the example of
Furthermore, in the example of
On the other hand, in the case of the inspection processing not requiring the tone conversion, the processing jumps to Step S14604 not via Step S14603. In this case, the tone conversion condition setting part is not displayed on the setting screen for the inspection processing. For example, in the case of performing the height inspection processing in the “Height measurement” processing unit, as shown in
Then, in Step S14604, a setting for the inspection processing is performed. Finally, in Step S14605, it is determined whether or not the settings for all the inspection processing have been completed. When the settings have not been completed, the processing returns to Step S14601, to repeat the processing from the selection of the inspection processing, and when the settings have been completed, then the processing is completed.
Meanwhile, a procedure at the time of operation will be described based on a flowchart of
Here, the execution of the inspection processing in Step S14903 will be described in detail. First, when the tone conversion is required in the inspection processing, as shown in a flowchart of
(Non-Display Function of Image Selection)
Further, at the time of setting, it is possible to apply limits on selection of an image as a target for performing a setting for the inspection processing in accordance with a type of inspection processing. That is, when the inspection processing selected in the inspection processing selecting part is executable on either a distance image or a brightness image, it is possible to call the distance image or the brightness image as a registered image. On the other hand, some pieces of the inspection processing are executable on the distance image, but unexecutable on the brightness image. For example, the height measurement processing is executed on a distance image having highly accurate height information. This cannot be performed on a normal brightness image not having height information. Accordingly, in such inspection processing as the height measurement processing, which is executable only on an image having height information, namely a distance image, at the time of calling a registered image in the setting, only a distance image is made selectable and in contrast, a brightness image is made unselectable. Herewith, it is possible to prohibit or eliminate a setting operation which is essentially impossible, such as an operation of erroneously performing a setting regarding the height measurement processing on a brightness image, so as to eliminate waste in the setting and improve the operability of the user.
Hereinafter, a procedure for setting the inspection processing condition will be described based on a flowchart of
For example, there will be considered the case of selecting the “Area” processing unit as the inspection processing as shown in
Further, according to the need, it is possible to sort and display image variables listed and displayed in the image variable selection screen 390, so as to facilitate the user selecting a desired image.
On the other hand, in the case of the inspection processing capable of specifying only a distance image, the processing goes to Step S15204, to select a distance image. That is, a brightness image is made unselectable. For example, as shown in
When an image is selected in such a manner, the processing goes to Step S15205, and an inspection processing condition is set with respect to the selected image. As thus described, using the fact that each inspection processing has been decided to be the inspection processing capable of specifying either a distance image or a brightness image or the inspection processing capable of specifying only a distance image, a type of a selectable image is prescribed with respect to each inspection processing, thereby avoiding a setting error and contributing the convenience of the user.
(Non-Display Function of Inspection Processing)
In the above, the description has been given of the example where the user is allowed to previously select inspection processing, and thereafter, limits are applied on selection of an image as a target for performing a setting for the inspection processing in accordance with the type of the selected inspection processing. In contrast, it is also possible that an image is allowed to be previously selected, and thereafter, limits are applied on the type of the inspection processing executable on this image. That is, when a distance image or a brightness image is first selected in the image selecting part and one or more pieces of inspection processing executed in the inspection executing part are then selected in the inspection processing selecting part, only inspection processing executable on each image is made selectable in accordance with whether the selected image is the distance image or the brightness image. With this configuration, it is possible to avoid a situation where unsettable inspection processing is erroneously selected and a situation where an inspection processing condition regarding this inspection processing is set for the selected image.
Hereinafter, a procedure for setting the inspection processing condition by this method will be described based on a flowchart of
For example, as shown in
Further, when the distance image is selected, as shown in
When the user selects desired inspection processing, the processing unit is confirmed, and a setting for an inspection processing condition necessary for this inspection processing is performed from the inspection processing condition setting part.
As thus described, associating the inspection processing tool with the image can physically eliminate an unselectable combination of an image and inspection processing and facilitate the user avoiding a setting error.
The three-dimensional image processing apparatus and the three-dimensional image processing method of the present invention can be applied to an inspection apparatus and the like using the principle of triangulation.
Number | Date | Country | Kind |
---|---|---|---|
2013-148062 | Jul 2013 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
6606788 | Morimoto | Aug 2003 | B1 |
20020131652 | Yoda | Sep 2002 | A1 |
20060034490 | Mihara | Feb 2006 | A1 |
20080204779 | Koyama | Aug 2008 | A1 |
20090027558 | Mantiuk | Jan 2009 | A1 |
20090087041 | Hasebe | Apr 2009 | A1 |
20100239124 | Hazeyama | Sep 2010 | A1 |
20110229022 | Yamada | Sep 2011 | A1 |
20120089364 | Takabayashi | Apr 2012 | A1 |
20130294683 | Yamashita | Nov 2013 | A1 |
20140348423 | Ishiga | Nov 2014 | A1 |
Number | Date | Country |
---|---|---|
2012-021909 | Feb 2012 | JP |
2012021909 | Feb 2012 | JP |
2012021909 | Feb 2012 | JP |
Number | Date | Country | |
---|---|---|---|
20150022637 A1 | Jan 2015 | US |