Patent Description:
Conventionally, there is a lack of robust inspection of exterior surfaces of containers at these container production plants. A known process for container inspection is tasking an operator at the plant with periodically pulling containers from a conveyor for visual inspection. For instance, every so often (e.g., every <NUM> minutes), the operator may be tasked with pulling a small number of containers from the conveyor and visually inspecting the containers to ensure that the exterior surfaces of the containers are free of readily apparent defects (e.g., to ensure that proper colors are applied to the exterior surfaces of the containers, to ensure that the exterior surfaces of the containers are free of smears, etc.). Using this conventional approach, thousands of defective containers may be manufactured prior to the operator noticing a defect on the exterior surface of one or more of the sampled containers. In practice, these (completed) containers must be scrapped, resulting in significant cost to the container manufacturer.

Recently, automated systems have been developed and deployed in container production plants, wherein such systems are configured, through automated visual inspection, to detect defects on exterior surfaces of containers. These systems include multiple cameras that are positioned to capture images of exterior surfaces of a container when the container passes through an inspection region. In such systems, the images are captured while a container is illuminated by way of dark field illumination. Images of the sidewall of the container taken under dark field illumination are well-suited at depicting spatial defects, three-dimensional defects (e.g., dents, scuffs, contamination, etc.), and subtle color shifts in opaque inks on the container. A computing system analyzes the images captured by the cameras to determine whether the exterior surface of the container includes a defect. Systems that incorporate dark field illumination, however, are unable to accurately correlate measured color in the images to offline measurement systems and standards. Further, these systems are generally incapable of detecting, on containers that have been decorated with ink of dark colors, scratches or unintentional voids in decorations (where, for some reason, ink was not applied where it should have been applied). The document <CIT> discloses an inspection system for inspecting the surfaces of tableware and/or pieces of ceramic crockery by using one or more cameras and by using an inspection dome.

The following is a brief summary of subject matter that is described in greater detail herein. This summary is not intended to be limiting as to the scope of the claims.

Described herein is a container inspection system , as defined in claim <NUM>, that is configured to ascertain whether a container being transported on a conveyor includes a defect on an exterior surface of a sidewall of the container. The container inspection system can detect defects that may occur in a design or label on an exterior surface of the container, such as an improper color being printed on the exterior surface of the container (e.g., a color shade is incorrect), smearing, and so forth, such that the design or label does not appear as desired. The container inspection system can detect various defects on exterior surfaces of containers, including physical defects (e.g., scratches, dents, etc.) or voids in decorations (e.g., where a portion of a container should be covered by ink but instead is bare metal).

The container inspection system includes an inspection dome, wherein the container is located in the inspection dome when the container is inspected. The inspection dome limits an amount of light, external to the inspection dome, that can illuminate the container (and additionally prevents light used to illuminate the exterior surface of the container from exiting the inspection dome). Further, the container inspection system includes a light source that is configured to emit light within the inspection dome. In an example, the light source can include a light emitting diode (LED) or other suitable source of light. The light source diffusely emits light, resulting in a relatively uniform light field throughout the interior of the inspection dome (such that the container is illuminated by light field illumination, rather than dark field illumination). The container inspection system includes several cameras (positioned to surround the container under inspection) that are configured to simultaneously generate images of the exterior surface of the sidewall of the container while such surface is being illuminated in the inspection dome. More specifically, the light source is strobed, such that the aforementioned container surface is illuminated for a relatively short amount of time (e.g., on the order of tens of microseconds). The cameras capture respective images of the exterior surface of the sidewall of the container while such surface is being illuminated.

The container inspection system also includes a computing system that is in communication with the cameras, wherein the computing system is configured to, for each container passing through the inspection dome, receive images (generated by the cameras) of an external surface of a sidewall of the container. The computing system determines whether the exterior surface of the sidewall of the container includes a defect based upon the images. It can be ascertained that the inspection dome includes several apertures therein: two apertures for container transport (a first aperture where the container enters the inspection dome on the conveyor, and a second aperture where the container exits the inspection dome on the conveyor), and an aperture for each camera. Further, containers are close to one another on the conveyor. Hence, images of the exterior surface of the sidewall of the container may include reflections of the apertures, as well as reflections of adjacent containers on the conveyor.

In an example, several cameras simultaneously capture respective images of the exterior surface of the sidewall of the container while the container is in the inspection dome. When the container being inspected is cylindrical, the computing system can process each image, such that the portion of the exterior surface of the sidewall of the container captured in each image is "flattened". According to the claimed invention the computing system is configured too identify in a first image of the exterior surface of the sidewall of the container (where the first image is captured by a first camera), a first region that includes reflections (e.g., from the apertures or adjacent containers on the conveyor). The computing system is, according to the claimed invention, further configured to replace the first region in the first image with a second region in a second image of the exterior surface of the sidewall of the container (where the second image is captured by a second camera), where the first region and the second region map to a same physical region of the exterior surface of the sidewall of the container. It can be ascertained that the second region of the second image will not depict the reflections found in the first region of the first image, since the first and second images are captured by cameras at different positions relative to the container. Moreover, these regions in the images can be identified before the images are captured based upon known geometry of the container and positions of the cameras relative to the container when the images are captured.

Responsive to replacing the first region of the first image with the second region from the second image, the first image becomes a reflection-free image of the exterior surface of the sidewall of the container. The computing system performs this process for each image captured by each camera, thereby creating several reflection-free images. The computing system can optionally stitch the reflection-free images together, thereby creating an image of the container as if the container were unwrapped (referred to as an unwrapped image). The computing system can then align the unwrapped image to a statistical model that represents an unwrapped container that is free of defects.

Thereafter, the computing system compares the unwrapped image with the statistical model. When the computing system compares the unwrapped image with the statistical model and identifies a sufficient dissimilarity therebetween, the computing system can output a signal that indicates that the container is defective. Conversely, when there is sufficient similarity between the unwrapped image and the statistical model, the computing system can output a signal that indicates that the container is non-defective.

The above summary presents a simplified summary in order to provide a basic understanding of some aspects of the systems and/or methods discussed herein. This summary is not an extensive overview of the systems and/or methods discussed herein. It is not intended to identify key/critical elements or to delineate the scope of such systems and/or methods. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.

Various technologies pertaining to a container inspection system that incorporates light field illumination are now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing one or more aspects. Further, it is to be understood that functionality that is described as being carried out by certain system components may be performed by multiple components. Similarly, for instance, a component may be configured to perform functionality that is described as being carried out by multiple components.

Further, as used herein, the term "exemplary" is intended to mean serving as an illustration or example of something, and is not intended to indicate a preference.

Further, as used herein, the terms "component" and "system" are intended to encompass instructions stored in computer-readable data storage that are configured to cause certain functionality to be performed when executed by a processor. The computer-executable instructions may include a routine, a function, or the like. It is also to be understood that a component or system may be localized on a single device or distributed across several devices. Further, as used herein, the term "exemplary" is intended to mean serving as an illustration or example of something, and is not intended to indicate a preference.

Described herein are features pertaining to identifying defects in a sidewall of a container, wherein an exterior surface of the sidewall of the container is at least somewhat reflective. Further, when reference is made to detecting defects in the sidewall of the container, such action is also intended to encompass detecting defects in labels applied to the sidewall of the container (such as a shrink-wrap label or paper label). In an example, the container may be decorated with ink and/or comprise a highly reflective material (such as bare metal). In other examples, the container glass, plastic, or paper containers, and/or have plastic or paper labels applied thereto.

The container inspection system described herein, on contrast to conventional container inspection systems, uses light field illumination to illuminate a container under inspection (where conventional container inspection systems employ dark field illumination to illuminate a container under inspection). With respect to light-field illumination, a specular surface appears white in an image captured by a camera, because some of the illumination reflects directly back towards the image sensor of the camera that captures the image. With respect to dark-field illumination, a specular surface appears black in an image captured by the camera, because the illumination is directed such that light reflects away from the image sensor of the camera that captures the image. Due at least partially to the use of light field illumination to illuminate containers, the container inspection system is well-suited to accurately correlate measured colors of inspected containers to offline color measure standards. Further, the container inspection system is configured to identify, for instance, scratches or (unintentional) voids in decoration on exterior surfaces of containers decorated with dark colors (blue, purple, etc.).

Summarily, the container inspection system includes multiple cameras that simultaneously capture images of an exterior surface of a sidewall of a container that is under inspection. The cameras are positioned such the cameras surround the container when the images are captured. The container inspection system further includes a computing system that is configured to identify, in each of the images, at least one region that is known to include reflections. Thus, in a first image captured by a first camera, the computing system identifies a region that is known to include reflections (this region can be known based upon geometries of the container inspection system, such as size and shape of the container, positions of the cameras relative to the container, detected distance between the container and an adjacent container on a conveyor, etc.). The computing system can replace the region in the first image with a region from a second image (captured by a second camera), where the region from the second image and the region from the first image map to the same physical region on the exterior surface of the sidewall of the container. Thus, the computing system effectively causes the first image to be free of reflections. Upon the computing system performing such processing (for each image captured by the cameras), the computing system can employ conventional image processing techniques to determine whether the container is defective.

With reference now to <FIG>, an exemplary light field illumination container inspection system <NUM> is illustrated. For example, the system <NUM> can be configured to detect defects in metal containers (e.g., metal cans), plastic containers (e.g., bottles) and/or labels (paper or plastic) appended thereto. Further, the system <NUM> can be configured to detect defects in exterior surfaces of sidewalls of containers that comprise material (e.g., aluminum, steel, etc.) that reflects light in a specular manner. In other words, the system <NUM> is well-suited to detect defects in containers that are reflective. Additionally, the system <NUM> can be configured to detect defects in containers (e.g., metal cans) that have been decorated with ink, particularly translucent ink. Moreover, the system <NUM> can be configured to detect printing defects in labels applied to containers, wherein the labels are made of material that is somewhat reflective or painted with ink that is somewhat reflective. Further, while the containers depicted herein have a cylindrical sidewall, it is to be understood that the system can be configured to detect defects in sidewalls of varying shapes.

Also, the system <NUM> can be configured to detect defects in text or graphics printed on sidewalls of containers. The system <NUM> can also detect defects that may occur in a design or label on an exterior surface of the container, such as an improper color being printed on the exterior surface of the container (e.g., a color shade is incorrect), smearing, and so forth, such that the design or label does not appear as desired. For example, the system <NUM> can be configured to detect that a container has a design printed thereon that includes an insufficient amount of a color. Additionally, the system <NUM> can be configured to detect defects on exterior surfaces of containers, including physical defects (e.g., scratches, dents, etc.) or voids in decorations (e.g., on containers and/or labels that have been decorated with dark colors).

A conveyor <NUM> transports a plurality of containers <NUM>-<NUM> through an inspection dome <NUM>. The inspection dome <NUM> comprises an entry aperture <NUM> for the plurality of containers <NUM>-<NUM> to enter the inspection dome <NUM>. The inspection dome <NUM> further comprises an exit aperture <NUM> for the plurality of containers <NUM>-<NUM> to exit the inspection dome <NUM>. Additionally, the inspection dome <NUM> comprises a first color camera aperture <NUM> and a second color camera aperture <NUM>. The system <NUM> further comprises a first color camera <NUM> and a second color camera <NUM>, wherein the cameras <NUM> and <NUM> are positioned in the apertures <NUM> and <NUM>, respectively. Thus, the cameras <NUM> and <NUM> are positioned to capture images of the plurality of containers <NUM>-<NUM> as the plurality of containers <NUM>-<NUM> are transported through the inspection dome <NUM> by the conveyor <NUM>. Details regarding operation of the first color camera <NUM> and the second color camera <NUM> are set forth below.

The interior surface of the inspection dome <NUM> is formed of material (e.g., plastic) that prevents light, external to the inspection dome <NUM>, from illuminating containers when the containers are in the inspection dome <NUM>. Additionally, the inspection dome <NUM> prevents light from exiting the inspection dome <NUM>. Due to apertures in the inspection dome <NUM> (e.g., the entry aperture <NUM>, the first camera aperture <NUM>, etc.), a limited amount of light (that is external to the system <NUM>) from the apertures <NUM>-<NUM> can illuminate the containers within the inspection dome <NUM>. Further, the interior surface of the inspection dome <NUM> can be reflective. For instance, the interior surface of the inspection dome <NUM> can be white (e.g., painted white or formed of a white plastic).

The system <NUM> further comprises a sensor <NUM> that outputs a signal that is indicative of when a container (e.g., the first container <NUM>) has reached an inspection region in the inspection dome <NUM>. As will be described herein, the cameras <NUM> are configured to simultaneously capture images of the first container <NUM> when the first container <NUM> is in the inspection region. For example, and not by way of limitation, the sensor <NUM> may be a presence sensor that can detect when the first container <NUM> has passed a particular point (e.g., when the first container <NUM> has entered the inspection dome <NUM>). Additionally or alternatively, the sensor <NUM> may be a rotary sensor that is configured to output data based upon movement of the conveyor <NUM>. The output data, therefore, is indicative of a position of the first container <NUM> relative to a previous position of the first container <NUM> on the conveyor <NUM> and, thus, the position of the first container <NUM> relative to the inspection region in the inspection dome <NUM>.

The system further comprises a computing system <NUM> that receives the signal output by the sensor <NUM>. The computing system <NUM> can receive the signal from the sensor <NUM> by way of a wireless or wireline connection. The system further comprises a light source <NUM> that is configured to cause a sidewall of the first container <NUM> to be illuminated when it is within the inspection region of the inspection dome <NUM>. The light source <NUM> can include an array of light emitting diodes (LEDs), wherein each LED emits white light. More particularly, the light source <NUM> diffusely emits light, resulting in a relatively uniform light field throughout the interior of the inspection dome <NUM> (such that the first container <NUM> is illuminated by way of light field illumination, rather than dark field illumination). By way of example, as the light source <NUM> diffusely emits light, the light reflects off the reflective interior wall of the inspection dome <NUM>, resulting in a relatively uniform light field throughout the inspection dome <NUM> (e.g., light is incident upon the exterior surface of the sidewall of the first container <NUM> at various angles due to the light being diffusely emitted from the light source <NUM> and "bouncing around" in the inspection dome <NUM>). The computing system <NUM> controls the light source <NUM>, such that the light source <NUM> strobes responsive to the computing system <NUM> ascertaining that the first container <NUM> is in the inspection region in the inspection dome <NUM>.

Position and operation of the first color camera <NUM> and the second color camera <NUM> are now set forth in greater detail. The first camera <NUM> and the second camera <NUM> are placed external to the inspection dome <NUM> and directed radially inwards towards a central axis of the inspection dome <NUM> through the first camera aperture <NUM> and second camera aperture <NUM>, respectively. The first camera <NUM> and the second camera <NUM> are in communication with the computing system <NUM>. More specifically, the first camera <NUM> and the second camera <NUM> are controlled by the computing system <NUM>, such that the first camera <NUM> and second camera <NUM> (simultaneously) capture images of the exterior surface of the sidewall of the first container <NUM> when the central axis of the first container <NUM> is aligned with the central axis of the inspection dome <NUM>. Likewise, the computing system <NUM> causes the light source <NUM> to emit light when the central axis of the first container <NUM> is aligned with the central axis of the inspection dome <NUM>.

Since the light field is approximately uniform throughout the inspection dome <NUM> when the cameras <NUM> and <NUM> capture images of the exterior surface of the sidewall of the container <NUM>, the images are taken under light field illumination. Accordingly, (<NUM>) color in the images correlates to offline measurement systems and standards; and (<NUM>) scratches or voids in decorations on the first container <NUM> when the first container <NUM> is decorated using dark colors (blue, purple, etc.) are visible in the images. Because, however, the exterior surface of the sidewall of the first container <NUM> is at least partially reflective, unwanted reflections may appear in images captured by the cameras <NUM> and <NUM>. For example, an image of the exterior of the sidewall of the first container <NUM> captured by the camera <NUM> may include a reflection of the entry aperture <NUM> and a reflection of the camera aperture <NUM>. Additionally, while <FIG> depicts the first container <NUM> as being the only container in the inspection dome <NUM>, there may be multiple containers in the inspection dome <NUM> when the first container <NUM> is in the inspection region, and containers adjacent to the first container <NUM> on the conveyor <NUM> may be very close to the first container <NUM>. Therefore, for instance, the image of the exterior sidewall of the first container <NUM> captured by the first camera <NUM> may include an unwanted reflection of the second container <NUM>. As will be described below, the computing system <NUM> can be configured to process images captured by the cameras <NUM> and <NUM> to remove regions of the images that include unwanted reflections and replace such regions with regions of images captured by other cameras, where the replacement regions do not include unwanted reflections (and where the replacement regions map to the same physical locations on the exterior sidewall of the first container <NUM> as the replaced regions).

With reference to <FIG>, an overhead view of the exemplary light field illumination container inspection <NUM> is illustrated, wherein the first container <NUM> is in the inspection region of the inspection dome <NUM>. As depicted in <FIG>, due to the relative positions of the first camera <NUM>, the first container <NUM>, and the first camera aperture <NUM>, a first reflection <NUM> of the first camera aperture <NUM> is captured in an image of the exterior sidewall of the first container <NUM> taken by the first camera <NUM>. Similarly, due to the relative positions of the second camera <NUM>, the first container <NUM>, and the first camera aperture <NUM>, a second reflection <NUM> of the first camera aperture <NUM> is captured in an image of the exterior sidewall of the first container <NUM> taken by the second camera <NUM>. While not illustrated here, it is to be understood that other reflections may be captured in images taken by the cameras <NUM> and <NUM> (e.g., the image taken by the first camera <NUM> may include a reflection of the entry aperture <NUM> and a reflection of the second camera aperture <NUM>, while the image taken by the second camera <NUM> may include a reflection of the exit aperture <NUM> and a reflection of the second camera aperture <NUM>). As illustrated, the reflections <NUM> and <NUM>, in the different images, map to different physical locations on the exterior surface of the first container <NUM> (due to the cameras capturing the images of the first container <NUM> from different perspectives). Moreover, the reflections <NUM> and <NUM> appear at different locations in the images captured by the cameras <NUM> and <NUM>. It can also be ascertained that since relative positions between the cameras <NUM> and <NUM> and the apertures <NUM>-<NUM> (as well as adjacent containers, if any) are known, regions in images captured by the cameras <NUM>-<NUM> that include reflections can be known a priori.

Returning to <FIG>, the computing system <NUM> receives the image captured by the first camera <NUM> and the image captured by the second camera <NUM> and determines whether the exterior surface of the sidewall of the container <NUM> includes a defect based upon the images. As will be described in greater detail below, the computing system <NUM> can process each image, such that the portion of the exterior surface of the sidewall of the first container <NUM> captured in each image is "flattened". Subsequently, the computing system <NUM> can define, in a first image of the exterior surface of the sidewall of the first container <NUM> (captured by the first camera <NUM>), a first region that includes the first reflection <NUM> (and other regions that include other reflections that may be captured in the first image). The computing system <NUM> can replace the first region in the first image with a second region in a second image of the exterior surface of the sidewall of the first container (captured by the second camera <NUM>), where the first region and the second region map to a same physical region of the exterior surface of the sidewall of the first container <NUM>. It can be ascertained that the second region of the second image does not depict the reflections found in the first region of the first image, since the first and second images are captured by cameras at different positions relative to the first container <NUM>. This process can be repeated for every region in the first image that depict reflections, such that these regions are replaced with regions of other images that do not depict the reflections. Moreover, as noted above, these regions in the images can be identified before the images are captured based upon geometries of the container inspection system <NUM>. Finally, it can be ascertained that regions in the first image (captured by the first camera <NUM>) can be replaced with regions of several images captured by several different cameras (including the second camera <NUM>).

When the regions of the first image that include reflections have been replaced with regions of other images that do not include reflections, the first image becomes a reflection-free image of the sidewall of the first container <NUM>. The computing system <NUM> performs this process for each image captured by each camera, thereby creating several reflection-free images. The computing system <NUM> can optionally stitch the reflection-free images together, thereby creating an image of the first container <NUM> as if the first container <NUM> were unwrapped (referred to as an unwrapped image). The computing system <NUM>. can then align the unwrapped image of the first container <NUM> with a statistical model that represents a container that is free of defects. Subsequently, conventional approaches can be employed to ascertain whether the sidewall of the first container <NUM> includes defects (where, as noted above, a defect may include an improper color hue, a bare metal defect, etc.). Additionally, as the first container <NUM> has been illuminated by way of light field illumination when the cameras <NUM> and <NUM> captured images of the first container, colorimetric analysis can be undertaken on the resultant unwrapped image. Therefore, in addition to identifying physical defects, the computing system <NUM> can identify color-related defects on the exterior sidewall of the first container <NUM>. When the computing system <NUM> determines that the container is defective, the computing system <NUM> can output a signal that causes, for instance, the first container <NUM> to be removed from the conveyor <NUM>, such that the first container <NUM> is prevented from being populated with content and further prevented from being made available to a consumer.

While the inspection system <NUM> is depicted as including the first camera <NUM><NUM>, the second camera <NUM>, and the single light source <NUM>, it is to be understood that the inspection system <NUM> may include multiple cameras (and respective camera apertures in the inspection dome <NUM>) positioned around the inspection dome <NUM>. For example, the system <NUM> can include six cameras (and six respective camera apertures) directed radially inwards towards the center axis of the inspection dome <NUM>. The six cameras can be symmetrically arranged about the center axis. In an example, the six cameras each capture images of the first container <NUM> when the center axis of the first container <NUM> is aligned with the center axis of the inspection dome <NUM>, which is also when the first container <NUM> is illuminated by way of light field illumination. The captured images: <NUM>) each depict portions of the sidewall of the first container <NUM>; and <NUM>) may include reflections of conveyor apertures or camera apertures.

Further, the inspection system <NUM> can be configured to perform both light field and dark field inspection of containers. For instance, the inspection system <NUM> can include a second light source (not shown), where the second light source can be configured to direct collimated light towards the exterior surface of the sidewall of the first container <NUM> (at a steep angle relative to the exterior surface of the sidewall of the first container <NUM>). Thus, when the second light source is used to illuminate the exterior surface of the sidewall of the container <NUM>, the exterior surface of the sidewall of the container <NUM> is illuminated by way of dark field illumination. In such an embodiment, the cameras <NUM> and <NUM> can each capture two images: a first image when the exterior surface of the sidewall of the first container <NUM> is illuminated by way of light field illumination, and a second image when the exterior surface of the sidewall of the first container <NUM> is illuminated by way of dark field illumination. These images can be captured closely in time (within milliseconds), wherein the container <NUM> is in the inspection region of the inspection dome <NUM> for both images. In an alternative embodiment, separate sets of cameras can be used to capture images when the container is illuminated using light field illumination and dark field illumination, respectively (where, optionally, a set of cameras used with light field illumination includes more cameras than a set of cameras used with dark field illumination). As discussed above, images of the sidewall of the first container <NUM> taken under dark field illumination are well-suited for use when identifying spatial defects, three-dimensional defects (e.g., dents, scuffs, contamination, etc.), and subtle color shifts in opaque inks on the first container <NUM>. The computing system <NUM> can be further configured to identify these defects when the first container <NUM> is illuminated under dark field illumination using conventional approaches.

Referring briefly to <FIG>, an overhead view of an exemplary container inspection system <NUM> is illustrated. The container inspection system <NUM> comprises six cameras <NUM>-<NUM>, arranged around the exterior of the inspection dome <NUM>, and configured to simultaneously capture images of the container <NUM> when the container is illuminated in the inspection dome <NUM>. While not shown, it is understood that the inspection dome <NUM> in this example includes entry and exit apertures, as well as six camera apertures. While examples set forth herein refer to the inspection system including two cameras, it has been found to be beneficial for the inspection system to have six cameras to allow for sufficient overlap between regions of the container <NUM> captured in images generated by adjacent cameras in the inspection system <NUM>.

Turning now to <FIG>, exemplary images <NUM>-<NUM> captured, for instance, by the first camera <NUM> and the second camera <NUM> when the first container <NUM> is in the inspection region of the inspection dome <NUM> are illustrated. The first image <NUM>, captured by the first camera <NUM>, depicts a portion of the exterior surface of the sidewall of the first container <NUM>, where lines <NUM> and <NUM> depict boundaries of the first container <NUM> in the first image <NUM>. The first image <NUM> depicts the word "DESIGN" printed on the exterior surface of the sidewall of the first container <NUM>. The computing system <NUM> can identify a band <NUM> in the first image <NUM>, where the band <NUM> includes a reflection of the entry aperture <NUM> visible in the first image <NUM>. Similarly, the computing system <NUM> can identify bands <NUM> and <NUM> in the first image <NUM>, where the bands <NUM>-<NUM> include reflections of the first camera aperture <NUM> and the second camera aperture <NUM>, respectively, which are visible in the first image <NUM>.

The second image <NUM>, captured by the second camera <NUM>, depicts another portion of the exterior surface of the sidewall of the first container <NUM>, where lines <NUM>-<NUM> depict boundaries of the first container <NUM> in the second image <NUM>. The first image <NUM> includes a first region <NUM> that depicts a portion of the sidewall of the first container <NUM>, and the second image <NUM> includes a second region <NUM> that depicts the same portion of the sidewall of the first container <NUM>. Thus, the regions <NUM> and <NUM> map to a same physical region of the exterior sidewall of the first container <NUM> (due to the cameras <NUM> and <NUM> having overlapping fields of view). Due to geometries of the first camera <NUM> and the second camera <NUM> relative to the first container <NUM>, however, the reflections of the above-described apertures (and adjacent containers) appear at different locations on the exterior surface of the first container <NUM> in the images <NUM> and <NUM>.

The second image <NUM> includes a portion of the word "DESIGN". Similar to what has been described above with respect to the first image <NUM>, the computing system <NUM> can identify bands <NUM>-<NUM> in the second image <NUM>, where the bands <NUM>-<NUM> comprise reflections of exit aperture <NUM> and other camera apertures.

With reference now to <FIG>, replacement of the band <NUM> in the first image <NUM> with a band from the second image <NUM> is illustrated. With more specificity, the second image <NUM> can include a band <NUM>, wherein the band <NUM> is free of reflections. Further, the band <NUM> corresponds to the same physical region of the exterior sidewall of the first container <NUM> as the band <NUM> of the first image <NUM> (which depicts a reflection). The computing system <NUM> can be programmed to identify that the band <NUM> of the first image <NUM> can be replaced with the band <NUM> of the second image <NUM> based upon known geometries of the inspection system <NUM>, and can further be programmed to replace the band <NUM> in the first image <NUM> with the band <NUM> in the second image. The bands <NUM> and <NUM> in the first image can be replaced with bands from other images that are free of reflections, in a manner similar to what has been described above with respect to the band <NUM> from the second image <NUM> replacing the band <NUM> in the first image <NUM>.

While <FIG> is set forth to illustrate replacement of a band in one image with a band in another image, other approaches are contemplated. As indicated previously, the computing system <NUM> can have knowledge of locations of the bands <NUM>-<NUM> in the first image <NUM>. The computing system <NUM>, instead of replacing the bands <NUM>-<NUM>, can filter the bands <NUM>-<NUM> from the first image <NUM> when determining whether there is a defect in the sidewall of the first container <NUM>. More specifically, the computing system <NUM> can receive the first image <NUM> from the first camera <NUM>, perform image processing on the first image <NUM> to "flatten" the first container <NUM> in the first image <NUM> (such that the first image appears as shown in <FIG>), and then align the first image <NUM> with a corresponding portion of a statistical model of a non-defective container. When comparing the first image <NUM> with the statistical model, the computing system <NUM> can filter the bands <NUM>-<NUM> from the first image <NUM>, such that pixels in the bands <NUM>-<NUM> are not considered by the computing system <NUM> when determining whether the exterior surface of the sidewall of the first container <NUM> is defective. This process can be repeated for each image captured by cameras of the container inspection system <NUM>, thus, even though a band that includes a region of the exterior surface of the sidewall of the first container <NUM> is filtered in one of the images, due to the overlapping fields of view of the cameras of the system <NUM>, a portion of a second image that depicts a same region of the exterior sidewall of the first container <NUM> will be considered by the computing system <NUM> when determining whether the exterior sidewall of the first container <NUM> is defective.

Now referring to <FIG>, a functional block diagram of the computing system <NUM> is illustrated. The computing system <NUM> includes a processor <NUM> and memory <NUM>. The memory has images <NUM> (generated by the cameras of the inspection system <NUM>) loaded therein. For instance, the images <NUM> can comprise: <NUM>) the image <NUM> captured by the first camera <NUM>; and <NUM>) the image <NUM> captured by the second camera <NUM>, wherein the images are of the exterior surface of the sidewall of the first container <NUM> when illuminated by way of light field illumination.

Further, the memory has a statistical model <NUM> of a defect-free (and unwrapped) container loaded therein. For instance, the statistical model can comprise a plurality of pixels, and each pixel can have a distribution assigned thereto, where the distribution is indicative of values of the pixel that correspond to a non-defective container.

In an embodiment, the computing system <NUM> generates the statistical model <NUM> based upon images of a number of non-defective containers. The system <NUM>, prior to inspecting containers, processes a preselected number of non-defective containers. With more specificity, the first camera <NUM> and the second camera <NUM> capture images of non-defective containers as such containers pass through the inspection dome <NUM> of the system <NUM>. The computing system <NUM> forms unwrapped images of these containers as described above, and aligns the unwrapped images with one another. During alignment, the computing system <NUM> can perform any suitable image processing technique to create a pixel-by-pixel correspondence between unwrapped images, where each pixel has a value assigned thereto, with the value being indicative of color of the pixel. Using these pixel values, the computing system <NUM> can form the statistical model <NUM> of a container that is to be inspected, where the statistical model includes, for instance, a distribution of values for each pixel. In another embodiment, the computing system <NUM> can receive a template spectrophotometer measurement of a graphic and/or text that is on the exterior surface of the sidewall of the first container <NUM>. The computing system <NUM> can generate the statistical model <NUM> based upon the spectrophotometer measurement.

The memory <NUM> additionally has a defect detection application <NUM> loaded therein. The defect detection application <NUM> is generally configured to ascertain whether the exterior surface of the sidewall of the first container <NUM> has a defect therein based upon the images <NUM> and the statistical model <NUM>. As noted previously, the defect detection application <NUM> can be configured to identify color defects, scratches, or voids in decorations (particularly decorations with ink of dark colors). The defect detection application <NUM> comprises a replacer component <NUM>, which is configured to process each image, such that the portion of the exterior sidewall of the container captured in each image is "flattened". Further, the replacer component <NUM> is configured to identify, for each image in the images, bands that depict reflections in the exterior surface of the sidewall of the first container <NUM> and bands that do not depict reflections in the exterior surface of the sidewall of the first container <NUM> (but that can be used to replace "reflective" bands from other images). Since the geometries of the system <NUM> are static (with the possible exception of distance between containers being somewhat variable), the locations of the bands in images captured by cameras of the inspection system <NUM> are likewise static. Responsive to identifying these bands, the replacer component <NUM> replaces bands in images that depicts reflections with corresponding bands from other images (as illustrated in <FIG>), thereby forming several "reflection-free" images.

The defect detection application <NUM> additionally comprises a stitching/alignment component <NUM>. Responsive to the replacer component <NUM> generating the "reflection-free" images, the stitching/alignment component <NUM> is configured to stitch these images together, such that a reflection-free image of the unwrapped first container <NUM> is formed (which can be referred to as an unwrapped image). The stitching/alignment component <NUM> is further configured to align the unwrapped image with the statistical model <NUM>. While the description above indicates that the computing system <NUM> performs processing relating to reflection removal prior to processing relating to stitching, it is to be understood that the computing system <NUM> can alternatively be configured to stitch images together prior to replacing bands that include reflections with bands that are free of reflections. Moreover, as described above, stitching images is optional.

The defect detection application <NUM> additionally comprises a comparer component <NUM>. The comparer component <NUM> is configured to compare reflection-free images of a sidewall of a container (partial or complete) with the statistical model <NUM>. The comparer component <NUM> can compare the value of each pixel in the reflection-free image with the corresponding statistics in the statistical model, and can output signal as to whether the container <NUM> is defective based upon such comparison. For instance, if values of the pixels of the unwrapped image correspond to the statistics in the statistical model, the comparer component <NUM> can output an indication that the container <NUM> is not defective. Contrarily, if values of the pixels of the unwrapped image do not correspond to the statistics in the statistical model, the comparer component <NUM> can output a signal that the container <NUM> is defective.

<FIG> and <FIG> depict exemplary methodologies pertaining to inspection of containers. While the methodologies are shown and described as being a series of acts that are performed in a sequence, it is to be understood and appreciated that the methodologies are not limited by the order of the sequence. For example, some acts can occur in a different order than what is described herein. In addition, an act can occur concurrently with another act. Further, in some instances, not all acts may be required to implement a methodology described herein.

Turning solely to <FIG>, an exemplary methodology <NUM> for configuring a container inspection system that illuminates containers by way of light field illumination is illustrated. The exemplary methodology <NUM> starts at <NUM>, and at <NUM> a light source is positioned relative to an inspection dome, such that the light source causes an exterior surface of a sidewall of a container that passes through the inspection dome to be illuminated by light field illumination.

At <NUM>, a first camera is positioned relative to the inspection dome, such that a field of view of the first camera encompasses the exterior surface of the sidewall of the container when the external surface is illuminated by the light field illumination. The first camera is configured to capture an image of the exterior surface of the sidewall of the container when the container is being transported by a conveyor through the inspection dome of the container inspection system.

At <NUM>, a second camera is positioned relative to the inspection dome, such that a field of view of the second camera partially overlaps with the field of view of the first camera. The second camera is configured to capture an image of the exterior surface of the sidewall of the container when the container is being transported by a conveyor through the inspection dome of the container inspection system.

At <NUM>, the first camera and the second camera are configured to generate images of the exterior surface of the sidewall of the container when the exterior surface of the sidewall of the container is illuminated by light field illumination.

At <NUM>, a computing system is configured to: receive the images generated by the first and the second cameras; replace a band in the first image with a band from the second image; and generate an indication as to whether or not the container is defective based upon the band in the first image being replaced with the band from the second image. The methodology <NUM> completes at <NUM>.

Referring now to <FIG>, an exemplary methodology <NUM> that facilitates operating a light field illumination container inspection system is illustrated. The methodology <NUM> starts at <NUM>, and at <NUM>, a light source is caused to emit light such that exterior surface of a sidewall of the container is illuminated by light field illumination. As described previously, this is performed while the container is being transported at a relatively high rate of speed along a conveyor.

At <NUM>, an image of the exterior surface of the sidewall of the container is captured by a camera while the exterior surface of the sidewall of the container is illuminated by light field illumination. At <NUM>, a band of the image that comprises reflections is filtered from the image, thereby creating a filtered image. At <NUM>, the container is labeled as being either defective or non-defective based upon the filtered image. The methodology <NUM> completes at <NUM>.

Referring now to <FIG>, a high-level illustration of an exemplary computing device <NUM> that can be used in accordance with the systems and methodologies disclosed herein is illustrated. For instance, the computing device <NUM> may be used in a system that detects color defects in containers that have been decorated with ink. By way of another example, the computing device <NUM> can be used in a system that detects scratches or voids in decorations (particularly decorations with ink of dark colors) in containers. The computing device <NUM> includes at least one processor <NUM> that executes instructions that are stored in a memory <NUM>. The instructions may be, for instance, instructions for implementing functionality described as being carried out by one or more components discussed above or instructions for implementing one or more of the methods described above. The processor <NUM> may access the memory <NUM> by way of a system bus <NUM>. In addition to storing executable instructions, the memory <NUM> may also store images, defect signatures, etc..

The computing device <NUM> additionally includes a data store <NUM> that is accessible by the processor <NUM> by way of the system bus <NUM>. The data store <NUM> may include executable instructions, images, etc. The computing device <NUM> also includes an input interface <NUM> that allows external devices to communicate with the computing device <NUM>. For instance, the input interface <NUM> may be used to receive instructions from an external computer device, from a user, etc. The computing device <NUM> also includes an output interface <NUM> that interfaces the computing device <NUM> with one or more external devices. For example, the computing device <NUM> may display text, images, etc. by way of the output interface <NUM>.

It is contemplated that the external devices that communicate with the computing device <NUM> via the input interface <NUM> and the output interface <NUM> can be included in an environment that provides substantially any type of user interface with which a user can interact. Examples of user interface types include graphical user interfaces, natural user interfaces, and so forth. For instance, a graphical user interface may accept input from a user employing input device(s) such as a keyboard, mouse, remote control, or the like and provide output on an output device such as a display. Further, a natural user interface may enable a user to interact with the computing device <NUM> in a manner free from constraints imposed by input devices such as keyboards, mice, remote controls, and the like. Rather, a natural user interface can rely on speech recognition, touch and stylus recognition, gesture recognition both on screen and adjacent to the screen, air gestures, head and eye tracking, voice and speech, vision, touch, gestures, machine intelligence, and so forth.

Additionally, while illustrated as a single system, it is to be understood that the computing device <NUM> may be a distributed system. Thus, for instance, several devices may be in communication by way of a network connection and may collectively perform tasks described as being performed by the computing device <NUM>.

Various functions described herein can be implemented in hardware, software, or any combination thereof. If implemented in software, the functions can be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes computer-readable storage media. A computer-readable storage media can be any available storage media that can be accessed by a computer. By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc (BD), where disks usually reproduce data magnetically and discs usually reproduce data optically with lasers. Further, a propagated signal is not included within the scope of computer-readable storage media. Computer-readable media also includes communication media including any medium that facilitates transfer of a computer program from one place to another. A connection, for instance, can be a communication medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio and microwave are included in the definition of communication medium.

Alternatively, or in addition, the functionally described herein can be performed, at least in part, by one or more hardware logic components.

Claim 1:
A container inspection system (<NUM>) comprising:
an inspection dome (<NUM>), wherein an interior surface of the inspection dome is reflective, and further wherein the inspection dome comprises an entry aperture (<NUM>) and an exit aperture (<NUM>), wherein a conveyor (<NUM>) is configured to transport a container into the inspection dome through the entry aperture, and further wherein the conveyor is configured to transport the container out of the inspection dome through the exit aperture;
a light source (<NUM>) configured to diffusely emit light in the inspection dome, such that an exterior surface of a sidewall of the container is illuminated by light field illumination when the container is in the inspection dome;
a first camera configured to generate a first image of the exterior surface of the sidewall of the container when the exterior surface is illuminated by light field illumination;
a second camera configured to capture a second image of the exterior surface of the sidewall of the container when the exterior surface is illuminated by light field illumination; and
a computing system (<NUM>) in communication with the camera, wherein the computing system is configured to:
identify a first band of the first image based upon a position of the first camera relative to the container when the image of the container was generated by the first camera, wherein the first band depicts a reflection in the exterior surface of the sidewall of the container;
replace the first band of the first image with a second band from the second image, wherein the second image is generated simultaneously with the first image; and
output an indication as to whether the container is defective based upon the first band of the first image being replaced with the second band from the second image.