Abstract:
An apparatus is provided for locating features of an object using varied lighting. The apparatus includes an image processor which is configured to send a plurality of commands to a digital camera which is used to obtain a plurality of digital images of an object without moving a location of the digital camera and the object. The image processor is arranged to receive the digital images of the object from the digital camera and the image processor is configured to control a level of illumination from at least one light source for illuminating the object. The image processor includes an illumination changer, a subtracter, an analyzer, and a controller to control and coordinate the illumination changer, the subtracter, and the analyzer. The illumination changer changes a level of illumination of any of the at least one lighting source before the image processor sends a command to the digital camera to obtain a next digital image. The subtracter subtracts at least a second digital image of the object from a first digital image of the object to produce a difference image of the object. The analyzer analyzes the difference image and locates at least one feature of the object based on the difference image.

Description:
This application claims priority to U.S. provisional application No. 60/136,172, filed in the U.S. Patent and Trademark Office on May 27, 1999, the content of which is hereby incorporated by reference herein in its entirety. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     Aspects of the present invention relate to a machine vision apparatus for locating features on an object using varied illumination. 
     2. Description of Background Information 
     A vision tool exists that measures the area and location of solder paste printed on circuit boards for the purpose of inspecting the prints made for solder paste screen print machines. An apparatus compares a pre-print image of a circuit board at a given inspection site with a post-print image of the circuit board at the given inspection site to determine which pixels in the post-print image represent solder paste. The identified pixels are then grouped into regions and measured by a “blob” tool. 
     A main limitation of the above apparatus is that two images of each inspection site of each circuit board must be acquired—a before printing image and an after printing image. Moving the camera from inspection site to inspection site and visiting each site twice takes time and reduces the throughput of the apparatus. 
     SUMMARY 
     In an embodiment of the invention, an apparatus is provided for locating features of an object using varied lighting. The apparatus includes an image processor which is configured to send a plurality of commands to a digital camera which is used to obtain a plurality of digital images of an object without moving a location of the digital camera and the object. The image processor is arranged to receive the digital images of the object from the digital camera and the image processor is configured to control a level of illumination from at least one light source for illuminating the object. The image processor includes an illumination changer, a subtracter, an analyzer, and a controller to control and coordinate the illumination changer, the subtracter, and the analyzer. The illumination changer changes a level of illumination of any of the at least one lighting source before the image processor sends a command to the digital camera to obtain a next digital image. The subtracter subtracts at least a second digital image of the object from a first digital image of the object to produce a difference image of the object. The analyzer analyzes the difference image and locates at least one feature of the object based on the difference image. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The above and other objects, features, and advantages of the present invention are further described in the Detailed Description which follows, with reference to the drawings by way of non-limiting exemplary embodiments of the invention, wherein: 
     FIG. 1 is a diagram which illustrates the functional elements in an embodiment of the invention; 
     FIG. 2 is a chart showing a difference in light reflectivity properties of a printed circuit board, solder paste and background; 
     FIG. 3 is a flow chart showing the processing in a first embodiment of the invention; 
     FIG. 4 is a flow chart showing the processing in a second embodiment of the invention; 
     FIG. 5 is a flow chart showing the processing in a third embodiment of the invention; 
     FIG. 6 is a flow chart showing the processing in a fourth embodiment of the invention; 
     FIG. 7 shows an embodiment of the invention having an artifacts remover; 
     FIG. 8 illustrates light being reflected from a pad surface  702 . 
     FIG. 9 illustrates light being reflected from a solder paste surface; 
     FIG. 10 is another view illustrating off-axis light being scattered due to a texture of the solder paste surface; and 
     FIG. 11 shows an embodiment of the invention having a hard drive. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 illustrates a first embodiment of the invention. FIG. 1 shows a digital camera connected to an image processor  102 . The digital camera  100  is arranged to acquire a digital image of object  104 . The digital image is received by image processor  102  and stored in storage  106 , which can be, for example, a computer memory. 
     A subtracter  108  receives a copy of the digital image from storage  106  and subtracts one of a copy of a digital image just received and a previously received digital image from another of the copy of the digital image just received with the previously received digital image to produce a difference image which is stored in storage  106 . Analyzer  110  analyzes the difference image to locate at least one feature of the object based on the difference image. 
     Illumination changer  112  controls a level of illumination of at least one lighting source, for example, an on-axis illumination source  114  and an off-axis illumination source  116 . The image processor adjusts a level of illumination of at least one of the illumination sources prior to sending commands to the digital camera to cause a digital image of the object to be acquired. 
     Controller  118  coordinates and controls the operation of the subtracter  108 , the analyzer  110 , and illumination changer  112 . The controller  118  is, for example, a computer or a general purpose processor. 
     FIG. 2 illustrates how different regions on a printed circuit board respond differently to lighting changes. In particular, light reflects differently from a surface of solder paste than light reflecting from a surface of a circuit board or pads. Values one through  8  on a horizontal axis of FIG. 2 depict a lighting response of pads, paste, and boards to continually increasing on-axis illumination while holding off-axis illumination to zero. Values  9  through  16  on the horizontal axis of FIG. 2 depict a lighting response of pads, paste and boards to continually increasing off-axis illumination while holding the on-axis lighting at zero. The vertical axis represents the grey values of the pads, paste, or boards, where  9  is dark and  250  is light. Using these lighting conditions, the graph shows the light response of 300 random sample points taken from the same locations in different regions on three different circuit boards samples. For each type of material there are different trends of behavior for increasing illumination on-axis as opposed to increasing illumination off-axis. 
     For example, the pads change under both lighting conditions (increasing on-axis light and increasing off-axis light) with a tendency to be brighter with on-axis lighting when observed from a vantage point of a camera. This occurs because pads are reflective, like mirrors, and will reflect on-axis light back into the camera. Off-axis light will be reflected at an incident angle away from the camera. 
     Similar to pads, the board reflects light less from increasing off-axis lighting than from on-axis lighting, such that the measured grey level of the board exposed to off-axis light is less than the measured grey level of the board exposed to similar intensity on-axis light. This occurs because the board has a flat surface like the pads. The surface is, however, less mirror-like and will reflect less light in general. 
     Lastly, the paste reflects light more from increasing off-axis lighting than increasing on-axis lighting. Among the board, pad and paste, only paste exhibits this behavior. This behavior occurs because of the texture quality of the paste which scatters light in all directions, such that some off-axis light is reflected into the camera. The different response of paste can be identified and used to detect paste on boards. 
     FIG. 8 illustrates light being reflected from a pad surface  702  As can be seen, most on-axis light  704  is reflected back into a camera  700 . Off-axis light  706  is reflected elsewhere. 
     FIG. 9 illustrates light being reflected from a solder paste surface  800 . On-axis light  704 ′ is scattered due to the rough texture of the solder paste surface  800 . 
     FIG. 10 illustrates off-axis light  902  being scattered due to the texture of the solder paste surface  800 ; however, off-axis light is illuminated from multiple sides, thus reflecting more light into the camera. 
     The above-mentioned behavior can be used to detect at least one feature of an object. For example, two or more images can be acquired, wherein each of the images have different off-axis and/or on-axis lighting. The two or more images are subtracted from one another to produce a difference image. Any locations in the difference image having a particular value, for example, a positive value, are deemed to represent paste. Any regions where the difference of two pixels as another particular value, for example, a negative value, are deemed to not represent paste. For instance, using an image of light illumination three and an image of lighting illumination  13 , subtracting them, and evaluating the sign of the pixels in the difference image identifies paste from the remainder of the image. 
     Optionally, an embodiment of the invention recognizes and uses an additional trend of behavior for increasing illumination for each type of material—that is, the analyzer  110  analyzes a rate at which reflectivity increases. 
     As shown in FIG. 2, the paste has a steep slope in a region of continuously increasing off-axis illumination. That is, light reflecting from the paste due to off-axis lighting saturates the image quickly. The slope of the off-axis response is not only significant, it is also significantly greater than a rate of change of the reflectivity response of the paste in a region of increasing on-axis lighting. The board unlike the paste, has a small slope in a region of continuously increasing off-axis lighting. That is, off-axis lighting reflected from the board does not saturate the digital image quickly. The slope of the off-axis response is not only insignificant, it is also less than the slope of the reflectivity response of the board in the region of increasing on-axis lighting. 
     Unlike paste or boards, the pads have less of a differentiation between these slope of the off-axis lighting response when compared against the on-axis lighting response. 
     This recognized different rate of response of paste can be identified and used to detect paste on boards. 
     In yet another embodiment of the invention, the analyzer  110  examines a rate of change of a single pixel value from a number of images, where each of the different images has a different lighting level changed by the illumination changer  112  prior to the acquiring of each of the different images. 
     For example, to differentiate paste from board, a rate of change of a pixel representing paste from an image taken under illumination  11  and an image taken under illumination  13 , for example, is higher than a rate of change of a pixel representing board from an image taken under illumination  11  and an image acquired under illumination  13 . In this example, it is easy to distinguish paste from board. 
     Differentiating paste from pad can require more than comparing the rate of changes of the images acquired under image illumination  11  and image illumination  13 . In an embodiment, after identifying the two pixel positions, (one for paste and one for pad in this example) exhibiting a high rate of change in the off-axis region, the rate of change for the same pixels in the on-axis region is determined. For example, the intensity of the pixels from two different images, such as an image under illumination  3  and a image under illumination  6 , are compared. If the rate of change in the on-axis region is approximately the same as the rate of change in the off-axis region, the pixel at that position is deemed to be pad. If, however, the rate of change in the on-axis region is substantially less than the rate of change in the off-axis region, the analyzer deems the pixel at that position to be paste. In an alternate embodiment, it is not necessary to compute a rate of change of a second set of images. Instead, the rate of change between two images under illumination  11  and  13 , respectfully is combined with the above-mentioned subtraction method. For example, a pixel is deemed to represent paste if a magnitude in an off-axis region of one or more images is significantly greater than a magnitude of a corresponding pixel in a on-axis region. Corresponding pixels are deemed to represent pad if the associated magnitudes, between the two images are approximately equal. 
     This extension of the subtraction technique can be used to discriminate between regions with more precision and can be used in cases where simple subtraction may be ambiguous. 
     It should be apparent that one or more reflectivity behaviors can be used for a given application. It should further be apparent that either one of the reflectivity behaviors can overrule the other for indeterminate cases, where the decision depends on the application. 
     It should be apparent that lighting states can be any combination of off-axis and on-axis lighting in each image. Zero against an increasing intensity was used herein, as an example. 
     Improvements to the apparatus include an artifacts remover  600 , shown in FIG. 7, for removing artifacts that are caused by 3D relief of pad edges and circuit traces. An output of a difference image can be used to classify pixels as representing paste and as not representing paste. Thus, making the image primarily a binary image. The artifacts above can appear as single pixel chains and can be falsely detected as paste in the above image. Image processing, namely grey scale or binary morphology can be used to remove these artifacts. This technique is well-known in the art. 
     FIG. 3 is a flow chart which explains the processing in an embodiment of the invention. At P 200 , an object, for example a circuit board, is illuminated with at least one of on-axis lighting  114  and off-axis lighting  116 . 
     At P 202 , a first digital image of the object  104  is obtained by digital camera  100  and stored in storage  106 . 
     At P 204 , the controller  118  instructs the illuminator changer  112  to vary the lighting by changing an intensity of at least one of the on-axis lighting  114  and off-axis lighting  116 . 
     At P 206 , a second digital image of the object is acquired by the digital camera  100  and stored in storage  106  without moving a digital camera  100  or the object  104  from a position used to obtain the previous digital image. 
     At P 208 , the controller  118  instructs the subtracter  108  to produce a difference image by subtracting one of the digital images from another and storing the difference image in storage  106 . 
     At P 210 , the controller  118  instructs the analyzer  110  to locate at least one feature, for example, solder paste, based on respective signs of grey levels of respective pixels in the difference image. 
     FIG. 4 shows a flowchart which describes the processing in another embodiment of the invention. 
     At P 300 , the controller  118  instructs the illumination changer  112  to illuminate an object  104  with at least one of on-axis lighting  114  and off-axis lighting  116 . 
     At P 302 , a first digital image of the object  104  is obtained by the digital camera  100  and stored in the storage  106 . 
     At P 304 , the controller  112  instructs the analyzer  110  to measure a grey level of a first pixel in a portion of the first digital image. 
     At P 306 , the controller  118  instructs the illumination changer  112  to vary at least one of the on-axis  114  and the off-axis illumination  116 . 
     At P 308 , a second digital image of the object  104  is obtained by the digital camera  100  and stored in the storage  106  without moving a position of a digital camera and the object from a position in which they resided during the obtaining of the first digital image. 
     At P 310 , the controller  118  instructs the analyzer  110  to measure a grey level of a second pixel in a portion of the second digital image. 
     At P 312 , the controller  118  instructs the analyzer  110  to locate at least one feature, for example, solder paste, based on respective measured grey levels between the first and the second pixels. 
     FIG. 5 shows a flow chart illustrating processing in another embodiment of the invention. 
     At P 400 , the controller  118  instructs the illumination changer  112  to illuminate the object  104  with at least one of on-axis lighting  114  and off-axis lighting  116 . 
     P 402 , shows processes P 404  through P 408  being repeated at least two times. 
     At P 404 , the digital camera  100  acquires a respective digital image of the object  104  and stores the digital image in the storage  106 . 
     At P 406 , the controller  118  instructs the illumination changer to measure a grey level of a first pixel of the respective digital image. 
     At P 408 , the controller instructs the illumination changer  112  to vary at least one of the on-axis  114  and off-axis lighting  116  if more repetitions of processes  404  through  408  are to be performed. 
     At P 410 , the controller  118  instructs the analyzer  110  to locate at least one feature, for example, solder paste, based on a rate of change of the grey levels of respective pixels and respective portions of the obtained digital images. 
     FIG. 6 shows the processing in yet another embodiment of the invention. 
     At P 500 , the controller instructs the illumination changer  112  to illuminate the object  104  with at least one of on-axis  114  and off-axis lighting  116 . 
     At P 502 , a first digital image of the object is obtained by digital camera  100  and the digital image is stored in storage  106 . 
     At P 504 , the controller  118  instructs the illumination changer  112  to vary an intensity of at least one of the on-axis lighting  114  and the off-axis lighting  116 . 
     At P 506 , a second digital image of the object  104  is obtained by the digital camera  100  and stored on the storage  106 . 
     At P 508 , the controller  118  instructs the subtracter  108  to produce a difference image by subtracting one of the first and the second digital image from another of the first and the second digital image. The difference image is stored in the storage  106 . 
     At P 510 , the controller  118  instructs the analyzer  110  to locate at least one feature, for example, solder paste, based on magnitudes of grey levels of respective pixels in the difference image, such that a difference in magnitude is at least a specific amount. 
     Each of the just-discussed embodiments can be improved by using an artifact remover  600  during post-processing, shown in FIG.  7 . The artifacts remover  600  removes artifacts caused by 3D relief of pad edges, after obtaining each of the digital images in the previous embodiments as shown in FIGS. 3-6. Artifacts remover  600  can remove artifacts, for example, by using morphology. 
     It should be apparent that the reflectivity properties of other components could be used for identification using the teachings disclosed herein. 
     The above-mentioned embodiments may be implemented using software, firmware, hardware or any combination of hardware, firmware and software. In addition, software for implementing an embodiment of the invention may be stored on, for example, hard drive  1100 , as shown in FIG. 11, floppy disk, CD ROM, DVD, or any other medium capable of storing machine-readable information. 
     It will be appreciated that although embodiments of the invention described in herein affect inspection of solder paste applied to printed circuit boards, it can be similarly implemented in processes to affect inspection of other materials such as screen printed adhesives, conductive adhesives or the like, applied on substrates other than printed circuit boards. Furthermore, the invention can be implemented and/or the inventive concepts herein modified to be used to inspect solder paste or adhesives applied in-line or applied in other ways. The invention extends to all equivalent structures, mechanisms, acts, and uses, such as are within the scope of the appended claims.