The technical field generally relates to computer vision systems, and more particularly relates to methods and systems for recognizing colors in computer vision systems.
Computer vision systems are employed in a wide range of applications to acquire, process, and apply recognition techniques to images of objects within an environment. In an industrial manufacturing context, for example, computer vision systems are often used to identify components and assemblies (e.g., automotive components) as they move through the manufacturing process.
To assist the computer vision system in recognizing components, color markers may be painted or otherwise applied to small regions of the components. In such cases, however, the applied color markers might exhibit significant color variability caused, for example, by variations in paint thickness, background bleed-through, background color variations, extraneous surface coatings (oil, rust-inhibitors, etc.), surface oxidation and aging, camera white-balance variations, ambient light variation, and the like.
While conventional training and machine learning techniques may be applied to address this undesirable color variability, such methods—which often require one or more supervised training sessions—can be costly and time-consuming. Furthermore, such methods still may not adequately recognize and classify a desirable range of colors.
Accordingly, it is desirable to provide improved methods and systems for determining colors in computer vision systems. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.
A color recognition method in accordance with one embodiment includes determining a predefined set of colors within a color space and storing the predefined set of colors in a memory; determining a desired color selected from the predefined set of colors; receiving an image; filtering the image with a processor to produce a filtered image substantially comprising only the predefined set of colors; and determining whether the desired color is present within the image.
A color recognition system in accordance with one embodiment includes a camera module configured to produce an image; a classifier filter module configured to receive the image and apply a filter based on predefined set of colors stored in a memory to produce a filtered image; and an image recognition module configured to receive the filtered image and determine whether a desired color selected from the predefined set of colors is within filtered image.
The exemplary embodiments will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and wherein:
The subject matter described herein generally refers to an improved color recognition system. As will be discussed in further detail below, the described system is particularly advantageous in that it (1) substantially mimics the way in which humans perceive color, (2) fully covers the selected color space, (3) requires minimal training when utilized in connection with a new application, and (4) utilizes calculations having a relatively low complexity (e.g., multiplications, additions, and/or logical comparisons), such that real-time color recognition may be implemented in existing systems.
The following detailed description is merely exemplary in nature and is not intended to limit the application and use of its embodiments. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary or the following detailed description. As used herein, the term “module” refers to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and/or memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
Classifier filter module 102 includes any suitable combination of hardware and/or software configured to receive image 110 and apply a classifier algorithm to filter the image based on a predefined set of colors (e.g., “blue”, “green”, and the like) and thereby produce a filtered image 112. Thus, while original image 110 will typically include a wide range of colors of different hues, saturation, and values, filtered image 112 will include a reduced set of colors in accordance with the predefined set of colors. Example methods for performing classification and filtering will be described in further detail below.
Recognition module 103 includes any suitable combination of hardware and/or software configured to receive filtered image 112 as well as one or more desired colors 120 and determine whether those desired colors are present within filtered image 112. For example, a particular desired color 120 (which may be selected by an operator or provided automatically) might be “blue”, known to correspond to a particular type of component (e.g., a portion of an automotive powertrain). Based on whether recognition module 103 determines that the desired color “blue” is present within filtered image 112, recognition module 103 produces a result 113 (e.g., a Boolean value) indicative of whether the desired color is present.
Classifier module 202 includes any suitable combination of hardware and/or software configured to receive image 210, one or more desired colors 220 as defined above, and apply a classifier algorithm to filter the image based on a predefined set of colors and determine whether those desired colors are present within image 210. Classifier module 202 might also receive information regarding background colors 222 present within image 210 (e.g., gray, black, etc.). Such information may be used to subtract out the background colors 222 to assist in color recognition. Based on whether classifier module 202 determines that one or more of the desired colors 220 are present within image 210, recognition module 103 produces a result 212 (e.g., a Boolean value) indicative of whether the desired color 220 is present.
While the various modules of
The various filtering and categorization techniques described above may be performed in the context of a variety of “color modes” and “color spaces” as those terms are known in the art. The following description presents two such methods: one involving an RGB (red, green, blue) color space, and another involving an HSV (hue, saturation, value) color space. It will be appreciated, however, that the present embodiments are not so limited.
In general, then, a color recognition method in accordance with various embodiments comprises determining a predefined set of colors within a color space and storing the predefined set of colors in a memory. A desired color is then selected from the predefined set of colors. An image is then filtered with a processor to produce a filtered image substantially comprising only the predefined set of colors. The system then determines whether the desired color is present within the image. The predefined set of colors may comprise a look-up table including, for each of the predefined set of colors, a color identification and a corresponding geometrical region within the color space. The color space may, for example, be an HSV color space or an RGB color space.
The embodiments described herein are advantageous in a number of respects. For example, the disclosed color recognition scheme is easy to tune during development and exhibits a low computational complexity compared to prior art methods. Furthermore, the method more closely matches human perception in the sense that the regions of the color spaces may be defined by an individual making an intuitive evaluation of what “blue”, “green”, etc. actually look like to a human. In addition, the color space may be partitioned such that whole color space is used, without overlapping regions of defined colors. As will be appreciated, the exemplary color recognition methods depicted in
While at least one exemplary embodiment has been presented in the foregoing detailed description, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the disclosure in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing the exemplary embodiment or exemplary embodiments. It should be understood that various changes can be made in the function and arrangement of elements without departing from the scope of the disclosure as set forth in the appended claims and the legal equivalents thereof.
This application claims priority to U.S. Provisional Pat. App. No. 61/868,175, filed Aug. 21, 2013, the entire contents of which are hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
61868175 | Aug 2013 | US |