Method and apparatus for object detection and object color determination
By combining an anti-color filter array with an optical sensor pixel array, the problem of poor performance of low-power optical sensors in low-light conditions is solved, efficient object detection and color determination are achieved, and computational overhead is reduced.
Patent Information
- Application Number
- CN202180018987.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-19
- Filing Date
- 2021-03-18
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2041-03-18
AI Technical Summary
Existing low-power optical sensors perform poorly in low-light conditions, and existing color determination methods are computationally expensive, making it impossible to efficiently detect and determine the color of objects.
An anti-color filter array is combined with an optical sensor pixel array to suppress light in a specific wavelength range through the anti-color filter. The optical sensor pixel values are analyzed in conjunction with a control system to determine the color information of the object.
Improves the sensitivity of optical sensors in low-light environments, reduces computational overhead, and enables fast and accurate object detection and color determination.
Smart Images

Figure CN115210544B_ABST
Abstract
Description
[0001] Priority claim under 35 USC § 119
[0002] This patent application claims priority to non-provisional application No. 16 / 824,558, filed on March 19, 2020, entitled “Methods and Devices for Object Detection and Object Color Determination,” which is assigned to the assignee of the present application and is hereby expressly incorporated herein by reference. Technical Field
[0003] The present disclosure generally relates to optical sensors and related methods.
[0004] Related technical description
[0005] Low-power optical sensors, such as those provided by the assignee of the present application, offer both opportunities and challenges. Some low-power optical sensors provided by the assignee of the present application consume a few milliwatts of power, including the power used by the optical sensor and the power consumed by the associated processing. Some such optical sensor implementations are suitable for "always-on" use cases, as well as battery-powered, low-cost, low-power, ultra-low-power, and TinyML (a collaborative effort between the embedded ultra-low-power systems and machine learning communities) use cases. By comparison, camera modules in smartphones typically consume orders of magnitude higher power, for example, hundreds of milliwatts, or in some cases, several watts of power. Some security cameras can consume even more power.
[0006] In some instances, optical sensor pixel data from such low-power optical sensors can be used to detect image changes and / or identify objects. Low-power optical sensors previously deployed by the assignee of the present application are sensitive to all optical wavelengths in the visible range. Such "monochrome" or grayscale optical sensors are advantageous because they can be very sensitive and, therefore, can have very good performance in low-light conditions.
[0007] Overview
[0008] The systems, methods, and devices of the present disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.
[0009] One innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus or system. The apparatus or system can include an array of optical sensor pixels, an array of anti-color filters adjacent to the array of optical sensor pixels, and a control system configured for communication with the optical sensor. The array of anti-color filters can include at least a first plurality of first anti-color filters. Each first anti-color filter can be adjacent to a corresponding instance of a first plurality of optical sensor pixels. Each first anti-color filter can be configured to at least partially inhibit light transmission in a first optical wavelength range.
[0010] The control system can include one or more general purpose single- or multi-chip processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, or combinations thereof.
[0011] According to some examples, the control system can be configured for receiving optical sensor pixel values from the array of optical sensor pixels, for analyzing the optical sensor pixel values to detect at least a first object, and for determining first object color information. Determining first object color information can involve obtaining at least one first optical sensor value from at least one first optical sensor pixel corresponding to the first object. The at least one first optical sensor pixel can be at least one instance of the first plurality of optical sensor pixels. Determining first object color information can involve obtaining at least one second optical sensor value from at least one second optical sensor pixel corresponding to the first object. The at least one second optical sensor pixel can not be at least one instance of the first plurality of optical sensor pixels.
[0012] Determining first object color information can involve comparing the at least one first optical sensor value and the at least one second optical sensor value. In some examples, determining first object color information can involve aggregating optical sensor pixel values. In some instances, analyzing the optical sensor pixel values to detect at least a first object can involve comparing the optical sensor pixel values to a background model.
[0013] According to some implementations, the array of anti-color filters can include a second plurality of second anti-color filters. In some instances, each second anti-color filter can be adjacent to a corresponding instance of a second plurality of optical sensor pixels. In some examples, each second anti-color filter can be configured to at least partially inhibit light transmission in a second optical wavelength range. According to some examples, the at least one second optical sensor pixel can be at least one instance of the second plurality of optical sensor pixels. In some examples, the array of anti-color filters can include a plurality of transparent or substantially transparent regions.
[0014] In some examples, the array of anti-color filters can include a population of identical anti-color filter patterns. In some such examples, each identical anti-color filter pattern can include at least one instance of a first anti-color filter and at least one instance of a second anti-color filter.
[0015] According to some implementations, the array of anti-color filters can include a third plurality of third anti-color filters. In some such examples, each third anti-color filter can be adjacent to a corresponding instance of a third plurality of optical sensor pixels. In some examples, each third anti-color filter can be configured to at least partially inhibit light transmission in a third optical wavelength range. In some such examples, the control system can be configured to obtain at least one third optical sensor value from at least one third optical sensor pixel corresponding to the first object. The at least one third optical sensor pixel can be at least one instance of the third plurality of optical sensor pixels. Determining the first object color information can involve comparing the at least one third optical sensor value to the at least one first optical sensor value and the at least one second optical sensor value. In some examples, the array of anti-color filters can include a population of identical anti-color filter patterns. In some examples, each identical anti-color filter pattern can include at least one instance of a first anti-color filter, at least one instance of a second anti-color filter, and at least one instance of a third anti-color filter.
[0016] Other innovative aspects of the subject matter described in this disclosure can be implemented in a method. The method can involve receiving optical sensor pixel values from an array of optical sensor pixels, analyzing the optical sensor pixel values to detect at least a first object, and determining first object color information. Determining the first object color information can involve obtaining at least one first optical sensor value from at least one first optical sensor pixel corresponding to the first object. The at least one first optical sensor pixel can be at least one instance of a first plurality of optical sensor pixels. Determining the first object color information can involve obtaining at least one second optical sensor value from at least one second optical sensor pixel corresponding to the first object. The at least one second optical sensor pixel can not be at least one instance of the first plurality of optical sensor pixels.
[0017] Determining the first object color information can involve comparing the at least one first optical sensor value and the at least one second optical sensor value. In some examples, determining the first object color information can involve aggregating optical sensor pixel values. In some examples, analyzing the optical sensor pixel values to detect at least a first object can involve comparing the optical sensor pixel values to a background model.
[0018] In some examples, the at least one second optical sensor pixel can be at least one instance of a second plurality of optical sensor pixels that have received light that is suppressed in a second optical wavelength range. In some implementations, determining the first object color information can involve obtaining at least one third optical sensor value from at least one third optical sensor pixel corresponding to the first object. The at least one third optical sensor pixel can be at least one instance of a third plurality of optical sensor pixels that have received light that is suppressed in a third optical wavelength range. Determining the first object color information can involve comparing the at least one third optical sensor value to the at least one first optical sensor value and the at least one second optical sensor value. In some examples, determining the first object color information can involve aggregating optical sensor pixel values. According to some examples, analyzing the optical sensor pixel values to detect at least the first object can involve comparing the optical sensor pixel values to a background model.
[0019] Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus or system. The apparatus or system can include an array of optical sensor pixels, an array of anti-color filters adjacent to the array of optical sensor pixels, an interface system, and a control system. The array of anti-color filters can include at least a first plurality of first anti-color filters. Each first anti-color filter can be adjacent to a corresponding instance of a first plurality of optical sensor pixels. Each first anti-color filter can be configured to at least partially suppress transmissivity in a first optical wavelength range.
[0020] According to some implementations, the array of anti-color filters can include a second plurality of second anti-color regions. In some examples, each second anti-color region can be adjacent to a corresponding instance of a second plurality of optical sensor pixels. In some examples, at least some second anti-color regions are not configured to suppress transmissivity in the first optical wavelength range. In some examples, the array of anti-color filters can include a plurality of transparent or substantially transparent regions.
[0021] The control system can be configured to receive, via the interface system, a request from a device for optical sensor pixel values from the array of optical sensor pixels. The optical sensor pixel values can include first optical sensor pixel values corresponding to the first plurality of optical sensor pixels and second optical sensor pixel values corresponding to the second plurality of optical sensor pixels. The control system can be configured to obtain the optical sensor pixel values, and to transmit the optical sensor pixel values to the device via the interface system.
[0022] In some implementations, the second plurality of second anti-color regions can include a second plurality of second anti-color filters. In some such implementations, each second anti-color filter can be adjacent to a corresponding instance of the second plurality of optical sensor pixels. In some examples, each second anti-color filter can be configured to at least partially suppress transmissivity in a second optical wavelength range.
[0023] In some examples, the anti-color filter array can include a group of identical anti-color filter patterns. In some such examples, each identical anti-color filter pattern can include at least one instance of a first anti-color filter and at least one instance of a second anti-color filter. In some examples, the anti-color filter array can include at least one instance of a third anti-color filter.
[0024] According to some implementations, the anti-color filter array may include a third plurality of third anti-color filters. In some such examples, each third anti-color filter may be adjacent to a corresponding instance of the third plurality of optical sensor pixels. In some examples, each third anti-color filter may be configured to at least partially suppress light transmittance in a third optical wavelength range. In some such examples, the control system may be configured to obtain at least one third optical sensor value from at least one third optical sensor pixel corresponding to the first object. The at least one third optical sensor pixel may be at least one instance of the third plurality of optical sensor pixels.
[0025] Some or all of the methods described herein may be performed by one or more devices according to instructions (e.g., software) stored on one or more non-transitory media. Such non-transitory media may include memory devices such as those described herein, including but not limited to random access memory (RAM) devices, read-only memory (ROM) devices, etc. Accordingly, some innovative aspects of the subject matter described in this disclosure may be implemented in one or more non-transitory media having software stored thereon.
[0026] For example, the software may include instructions for controlling one or more devices to perform a method. The method may involve receiving optical sensor pixel values from an optical sensor pixel array, analyzing the optical sensor pixel values to detect at least a first object, and determining first object color information. In some implementations, determining the first object color information may involve obtaining at least one first optical sensor value from at least one first optical sensor pixel corresponding to the first object. The at least one first optical sensor pixel may be at least one instance of the first plurality of optical sensor pixels that has received light that is suppressed in a first optical wavelength range.
[0027] In some examples, determining the first object color information can involve obtaining at least one second optical sensor value from at least one second optical sensor pixel corresponding to the first object, the at least one second optical sensor pixel not being at least one instance of the first plurality of optical sensor pixels. In some implementations, determining the first object color information can involve comparing the at least one first optical sensor value and the at least one second optical sensor value. In some examples, the at least one second optical sensor pixel can be at least one instance of a second plurality of optical sensor pixels that have received light that is suppressed in a second optical wavelength range.
[0028] In some implementations, determining the first object color information can involve obtaining at least one third optical sensor value from at least one third optical sensor pixel corresponding to the first object. The at least one third optical sensor pixel can be at least one instance of a third plurality of optical sensor pixels that have received light that is suppressed in a third optical wavelength range. In some such implementations, determining the first object color information can involve comparing the at least one third optical sensor value with the at least one first optical sensor value and the at least one second optical sensor value. According to some examples, determining the first object color information can involve aggregating optical sensor pixel values. In some implementations, analyzing the optical sensor pixel values to detect at least the first object can involve comparing the optical sensor pixel values to a background model. SUMMARY
[0030] Details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims. Note that the relative dimensions of the following drawings can not be drawn to scale. Like reference numbers and names in the various drawings indicate like elements.
[0031] Figure 1 FIG. 1 is a block diagram showing example components of a device, in accordance with some implementations.
[0032] Figure 2 FIG. 2 is a flow diagram providing an example of operations in accordance with some disclosed methods.
[0033] Figure 3A 、 3B FIGS. 3A, 3B, and 3C are graphs showing examples of transmittance of an anti-color filter as a function of wavelength.
[0034] Figure 4A 、 4B FIGS. 4A, 4B, and 4C show examples of various arrangements of anti-color filter regions.
[0035] Figure 5 FIG. 5 shows an example of an exploded view of a device, in accordance with some implementations. FIG. 6 shows an example of a device, in accordance with some implementations.
[0036] DETAILED DESCRIPTION
[0037] The following description is aimed at certain implementations to describe the innovative aspects of the present disclosure. However, one of ordinary skill in the art will readily recognize that the teachings herein can be applied in a multitude of different ways. The described implementations can be implemented in any device, apparatus, or system that includes as disclosed herein, means for implementing all the steps and functionality described herein. Additionally, it is contemplated that the described implementations can be implemented in a variety of electronic devices, including but not limited to mobile telephones, internet enabled multimedia cellular telephones, mobile television receivers, wireless devices, smartphones, smart cards, wearable devices (such as a bracelet, armband, wristband, ring, headband, patch, etc.), gaming devices, media players, navigation devices, camera phones, so-called "smart" devices, such as smart watches, smart televisions, smart appliances, Internet of Things (IoT) devices, and so on. television monitors, flat panel displays, electronic reading devices (e.g., e-readers), mobile health devices, computer monitors, automobile displays (including instrument cluster and speedometer displays, etc.), cockpit controls and / or displays, camera view displays (such as displays of rear view cameras in vehicles), electronic photographs, electronic billboards or signs, projectors, architectural structures, microwaves, refrigerators, stereo systems, cassette recorders or players, DVD players, CD players, VCRs, radios, portable memory chips, laundry machines, dryers, laundry machine / dryers, parking meters, packaging (such as in electronic articles, including microelectronic mechanical system (MEMS) applications, and non-MEMS applications), aesthetic structures (such as image displays on a piece of jewelry or clothing), and various EMS devices. The teachings herein also can be used in applications such as, but not limited to, electronic switching devices, radio frequency filters, sensors, accelerometers, gyroscopes, motion sensing devices, magnetometers, inertial components for consumer electronics, parts of consumer electronics, steering wheels or other automobile components, varactors, liquid crystal devices, electrophoretic devices, driving schemes, manufacturing processes and electronic test equipment, etc. Thus, the teachings are not intended to be limited to the implementations depicted solely in the Figures, but rather have wide applicability as will be readily apparent to one having ordinary skill in the art.
[0038] Various implementations disclosed herein can include an apparatus having an anti-color filter array proximate to an array of optical sensor pixels. The anti-color filter array can include first anti-color filters. Each first anti-color filter can be located proximate to a corresponding instance (or group of instances) of a first plurality of optical sensor pixels. Each first anti-color filter can be configured to at least partially inhibit light transmissivity in a first optical wavelength range. According to some examples, the first anti-color filters can be notch filters. In some examples, the first optical wavelength range can correspond to a first color. In some instances, the anti-color filter array can include second anti-color filter regions. Each second anti-color filter region can be located proximate to a corresponding instance of a second plurality of optical sensor pixels. In some examples, each second anti-color filter region can not be configured to inhibit light transmissivity in the first optical wavelength range. In some such examples, each second anti-color filter region can be configured to at least partially inhibit light transmissivity in a second optical wavelength range. In some examples, the anti-color filter array can include additional anti-color filter regions.
[0039] A control system can be configured to receive optical sensor pixel values from the array of optical sensor pixels, to analyze the optical sensor pixel values to detect at least a first object, and to determine first object color information. Determining first object color information can involve obtaining at least one first optical sensor value from at least one instance of a first plurality of optical sensor pixels corresponding to the first object, and obtaining at least one second optical sensor value from at least one instance of a second plurality of optical sensor pixels corresponding to the first object, and comparing the first optical sensor value and the second optical sensor value. In some examples, the control system can be part of an apparatus including the array of anti-color filters and the array of optical sensor pixels, while in other examples, the control system can reside in another device configured to communicate with the apparatus.
[0040] Particular implementations of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. In some instances, it can be beneficial to determine both an object type (e.g., an apple) and object color information (e.g., whether the apple is more red than green, more green than red, etc.). Previous color determination methods are generally based on input from optical sensor pixels having associated color filters, such as a Bayer filter. Each color filter will pass a range of wavelengths (e.g., a range of wavelengths corresponding to red light, green light, or blue light) and inhibit other ranges of wavelengths. Thus, such color filters will generally block more light that might otherwise be received by the optical sensor pixels. Some disclosed anti-filtering methods and devices can provide relatively greater light sensitivity, and thus improved performance, particularly when the ambient light intensity is relatively low. When the ambient light intensity is low, the improved performance can include a relatively low exposure time and / or a relatively low gain.
[0041] The disclosed anti-filtering methods and apparatuses can be particularly beneficial when implemented with or in conjunction with low-power optical sensors and / or optical sensors having a relatively low bit-width. Associated processes to determine object color information can be performed without the computational overhead required, e.g., to produce a true color image, to remove artifacts that can be potentially caused by a color filter, etc. For many use cases, it can not be necessary to determine detailed object color information: it can be sufficient to know, e.g., whether an apple is more red than green, whether a car is red or blue, etc.
[0042] Figure 1 is a block diagram illustrating example components of an apparatus, in accordance with some implementations. In this example, the apparatus 100 includes an optical sensor pixel array 105, an anti-color filter array 107 adjacent to the optical sensor pixel array 105, and a control system 110 configured to communicate with the optical sensor pixel array 105. In this example, the apparatus 100 includes an interface system 112.
[0043] In some examples, the anti-color filter array 107 can include a first plurality of first anti-color filters. As used herein, the term “anti-color filter” generally refers to a light filter configured to at least partially inhibit light transmission in an optical wavelength range. In some instances, the optical wavelength range can correspond to or be within a color of the visible spectrum, such as violet (380-450 nm), blue (450-485 nm), cyan (485-500 nm), green (500-565 nm), yellow (565-590 nm), orange (590-625 nm), or red (625-740 nm). In some implementations, the optical wavelength range can correspond to a wavelength range that is shorter or longer than a wavelength range of the visible spectrum, such as an infrared or ultraviolet wavelength range.
[0044] According to some such examples, each first anti-color filter can be adjacent to a corresponding instance (or group of instances) of the first plurality of optical sensor pixels. In some such examples, each first anti-color filter can be configured to at least partially inhibit light transmission in a first optical wavelength range. Various examples are provided herein.
[0045] In some implementations, the anti-color filter array 107 can include a second plurality of second anti-color filter regions. In some such implementations, the second plurality of second anti-color filter regions can include a second plurality of second anti-color filters. Each second anti-color filter can be adjacent to a corresponding instance (or group of instances) of the second plurality of optical sensor pixels. In some such implementations, each second anti-color filter can be configured to at least partially inhibit light transmission in a second optical wavelength range. Alternatively or additionally, in some implementations, the second plurality of second anti-color filter regions can include one or more substantially transparent regions.
[0046] In some implementations, the array of anti-color filters 107 can include a third plurality of third anti-color filter regions. In some such implementations, the third plurality of third anti-color filter regions can include a third plurality of third anti-color filters. Each third anti-color filter can be adjacent to a corresponding instance (or group of instances) of the third plurality of optical sensor pixels. In some such implementations, each third anti-color filter can be configured to at least partially inhibit light transmissivity in a third optical wavelength range. Alternatively or additionally, in some implementations, the third plurality of third anti-color filter regions can include one or more substantially transparent regions.
[0047] Some implementations of the array of anti-color filters 107 can include more than three anti-color filter regions. Some such implementations can include one or more substantially transparent regions and / or an Nth plurality of Nth anti-color filters, where N is an integer greater than or equal to four. Each Nth anti-color filter can be configured to at least partially inhibit light transmissivity in an Nth optical wavelength range.
[0048] The control system 110 can be configured to communicate with the array of optical sensor pixels 105 via wired communication and / or wireless communication. As used herein, the term “coupled to” includes being physically coupled for wired communication as well as being configured for wireless communication.
[0049] According to some implementations, the apparatus 100 can be a single device, while in other implementations the apparatus 100 can include more than one device. Accordingly, the terms “apparatus” and “system” can be used interchangeably herein. In other examples, the apparatus 100 can be a component of another device. For example, in some implementations, at least a portion of the array of optical sensor pixels 105 and / or the control system 110 can be included in more than one apparatus. In some examples, a second device can include some or all of the control system 110, but can not include the array of optical sensor pixels 105. However, the control system 110 can still be configured to communicate with the array of optical sensor pixels 105.
[0050] The control system 110 can include one or more general purpose single- or multi-chip processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, or combinations thereof. The control system 110 can also include one or more memory devices (and / or be configured for communication with one or more memory devices), such as one or more random access memory (RAM) devices, read-only memory (ROM) devices, and / or other types of non-transitory media. Accordingly, the apparatus 100 can have a memory system including one or more memory devices, although the memory system is not shown in Figure 1
[0051] The control system 110 can be capable of at least partially performing the methods disclosed herein. In some examples, the control system 110 can be capable of performing some or all of the methods described herein according to instructions (e.g., software) stored on a non-transitory medium. For example, the control system 110 can be configured for controlling the optical sensor pixel array 105 and / or for receiving and processing data from at least a portion of the optical sensor pixel array 105, e.g., as described below.
[0052] In some examples, the optical sensor pixel array 105 can be part of an image sensor that includes one or more lenses. Although shown as a separate component in Figure 1 In some examples, the optical sensor pixel array 105 can include at least a portion of the control system 110, although in some examples the optical sensor pixel array 105 can not include the control system 110. For example, in some instances, the optical sensor pixel array 105 can include one or more processors. According to some implementations, the optical sensor pixel array 105 can include a complementary metal-oxide-semiconductor (CMOS) sensor. Some such implementations of the optical sensor pixel array 105 can include a processor configured to control exposure settings. The sensor and processor can or can not reside on the same die, depending on the particular implementation. In some examples, the optical sensor pixel array 105 can be or can include a Glance image sensor by High Tech Computer, Inc., one implementation of which has a 320 x 240 pixel array and is 8 bits wide, and consumes a few milliwatts of power, including power used by the optical sensor and power consumed by associated processing. By comparison, a camera module in a smartphone generally consumes hundreds of milliwatts of power, or in some cases, several watts of power.
[0053] In some examples, the interface system 112 can include a wireless interface system. In some implementations, the interface system 112 can include a network interface, an interface between the control system 110 and the optical sensor pixel array 105, an interface between the control system 110 and the memory system, and / or an interface between the control system 110 and an external device interface (e.g., a port or an application processor). In some examples, the interface system 112 can include one or more user interfaces, such as a display, a touchscreen, a microphone, etc.
[0054] Figure 2 is a flowchart providing an example of operations in accordance with some disclosed methods. Figure 2 The blocks of the flowchart of FIG. 1 (and those of other flowcharts provided herein) can be performed, for example, by the apparatus 100, by a similar apparatus, or by a system including one or more such devices. As with other methods disclosed herein, Figure 1 The apparatus 100 of FIG. 1, a similar apparatus, or a system including one or more such devices can perform the method of FIG. 1. As with other methods disclosed herein, Figure 2The methods outlined in the examples can include more or fewer blocks than are indicated. Additionally, the blocks in the methods disclosed herein do not have to be performed in the
[0055] In this example, block 205 involves receiving optical sensor pixel values from an optical sensor pixel array. According to some implementations, block 205 can involve a control system of a device receiving optical sensor pixel values from an optical sensor pixel array that resides in the same device. However, in other implementations, block 205 can involve a control system of a device receiving optical sensor pixel values from an optical sensor pixel array that resides in a different device.
[0056] According to this example, block 210 involves analyzing the optical sensor pixel values to detect at least a first object. In some examples, block 210 can involve a background subtraction process. Often, a region of interest (ROI) of an image is an object (such as a person, an animal, a car, etc.) in the image foreground. As mentioned above, background subtraction is a method for distinguishing background from a ROI. Background subtraction can be based at least in part on detected image changes between a current frame and a reference frame, which can be referred to as a "background model." Image change detection can be used to detect moving objects in a video stream, such as a video stream from a security camera, a video stream from a doorbell camera, a video stream from a baby monitor camera, a video stream from a camera associated with a voice control device, etc. (As used herein, the term "camera" can be used to refer to any one of a range of devices with different capabilities and complexity, including security cameras, simple optical sensors, etc.) For example, a current pixel (or a current group of pixels) can be considered to be part of the foreground if the difference between the current pixel (or the current group of pixels) and a corresponding portion of the background model is greater than or equal to a threshold value.
[0057] According to some examples, block 210 can involve applying one or more pattern recognition methods. Some pattern recognition methods can involve applying a feature selection process prior to applying a pattern matching algorithm. In some instances, some such pattern recognition methods can involve applying a classifier, such as a probabilistic classifier. In some examples, block 210 and / or block 215 can involve "binning" or otherwise aggregating optical sensor pixel values. Some examples are described below.
[0058] In some examples, it may be beneficial to both determine the first object type (e.g., determining that the detected first object is a car) and determine object color information (e.g., whether the car is green or blue, more green than blue, more blue than red, etc.). Accordingly, in this example, block 215 involves determining the first object color information. Here, block 215 involves obtaining at least one first optical sensor value from at least one first optical sensor pixel corresponding to the first object. In this example, the at least one first optical sensor pixel is at least one instance of a first plurality of optical sensor pixels that has received light that is suppressed in a first optical wavelength range. The at least one first optical sensor pixel may, for example, be adjacent to at least one corresponding first anti-color filter that is configured to at least partially suppress light transmittance in the first optical wavelength range. The at least one corresponding first anti-color filter may correspond to at least one first region of an anti-color filter array.
[0059] Depending on the implementation, block 215 involves obtaining at least one second optical sensor value from at least one second optical sensor pixel corresponding to the first object. In this example, the at least one second optical sensor pixel is not at least one instance of the first plurality of optical sensor pixels. Accordingly, the at least one second optical sensor pixel is at least one instance of the second plurality of optical sensor pixels that has received light that is not suppressed in the first optical wavelength range. The at least one second optical sensor pixel can, for example, be adjacent to at least one corresponding second anti-color filter configured to at least partially suppress light transmittance in the second optical wavelength range. However, in some examples, the at least one second optical sensor pixel can be adjacent to at least one substantially transparent region of the anti-color filter array.
[0060] According to this example, block 215 involves comparing the at least one first optical sensor value and the at least one second optical sensor value. For example, assume that both the first optical sensor pixel and the second optical sensor pixel receive light from the same object. Further assume that the first optical sensor pixel receives light filtered by a first anti-color filter that suppresses light transmission in a wavelength range corresponding to a first color. We also assume that the second optical sensor pixel receives light from a second region of the anti-color array that does not suppress light transmission in a wavelength range corresponding to the first color.
[0061] According to one such example, the second region of the anti-color array can be transparent or substantially transparent in a wavelength range that is visible to humans (approximately 380 nm to 740 nm). As used herein, "substantially transparent" can refer to near 100% light transmission in a particular wavelength range, such as the visible spectrum. "Near 100%" can refer to an average percent light transmission and / or a minimum percent light transmission, e.g., at least 99% transmission on average in a particular wavelength range, at least 98% transmission on average in the wavelength range, at least 97% transmission on average in the wavelength range, at least 96% transmission on average in the wavelength range, at least 95% transmission on average in the wavelength range, at least 94% transmission on average in the wavelength range, etc.
[0062] According to this example, if the first optical sensor value corresponding to the first optical sensor pixel is lower than the second optical sensor value corresponding to the second optical sensor pixel, then the color of the object is likely to be the first color. This is true because the two optical sensor values correspond to light received from the same object. Assuming that both optical sensor pixels are functioning properly, the reason that the first optical sensor value is lower should be that less light in the first wavelength range was received from the object.
[0063] For example, assume that both the first optical sensor pixel and the second optical sensor pixel receive light from an apple. Further assume that the first optical sensor pixel receives light filtered by a first anti-color filter that suppresses light transmission in a wavelength range corresponding to red (625-740 nm). Such an anti-color filter can be referred to herein as an "anti-red filter." According to this example, if the first optical sensor value is lower than the second optical sensor value, then the color of the object is likely to be red.
[0064] The extent to which an anti-color filter will affect a corresponding optical sensor pixel value can depend on various factors, including but not limited to the wavelength range for which the anti-color filter suppresses light transmission and the extent to which the anti-color filter suppresses light transmission in that wavelength range. Some examples are described below with reference to Figures 3A-3C
[0065] Accordingly, the change in optical sensor pixel values evaluated in block 215 can also depend, directly or indirectly, on these factors. In one simple example, assume that the first anti-color filter is an "anti-red filter" configured to suppress the total amount of light received from (and detected by the corresponding optical sensor pixel) a red object by about 10%. Also assume that the second optical sensor pixel receives light from a clear region of the anti-color array. In one such example, block 215 can involve determining whether the second optical sensor value exceeds the first optical sensor value by about 10%, or by at least a threshold that is less than 10% (e.g., a threshold of 5%, a threshold of 6%, a threshold of 7%, a threshold of 8%, a threshold of 9%, etc.). According to one such example, if the first optical sensor value is at least 5% lower than the second optical sensor value, then it can be determined in block 215 that the color of the object is red.
[0066] In some such examples, multiple instances of the first optical sensor value and multiple instances of the second optical sensor value can be summed or averaged prior to the comparison of block 215. Using multiple instances of the first and second optical sensor values can reduce potential errors caused by optical sensor pixel variability.
[0067] In another such example, the second region of the anti-color array can suppress transmissivity in a different wavelength range (e.g., a wavelength range corresponding to a second color). Such examples can be relatively more useful when the object is likely to be either the first color or the second color but not both. According to one such example, if the first optical sensor value corresponding to the first optical sensor pixel is lower than the second optical sensor value corresponding to the second optical sensor pixel, then the color of the object is likely to be the first color. However, if the first optical sensor value is higher than the second optical sensor value, then the color of the object is likely to be the second color. In some such examples, multiple instances of the first optical sensor value and multiple instances of the second optical sensor value can be summed or averaged prior to the comparison of block 215.
[0068] As mentioned elsewhere herein, in some implementations, the anti-color filter array 107 can include a third plurality of third anti-color filter regions. In some such implementations, the third plurality of third anti-color filter regions can include a third plurality of third anti-color filters. Each third anti-color filter can be adjacent to a corresponding instance (or group of instances) of a third plurality of optical sensor pixels. In some such implementations, the third plurality of third anti-color filter regions can include one or more transparent or substantially transparent regions. Alternatively or additionally, in some implementations, each third anti-color region can include a filter configured to at least partially suppress transmissivity in a third optical wavelength range.
[0069] In some such implementations, the method 200 can involve obtaining at least one third optical sensor value from at least one third optical sensor pixel corresponding to the first object. According to some such examples, the comparison of block 215 can involve comparing the at least one third optical sensor value to the at least one first optical sensor value and the at least one second optical sensor value.
[0070] For example, assume that the first optical sensor pixel, the second optical sensor pixel, and the third optical sensor pixel all receive light from the same object. Further assume that the first optical sensor pixel receives light filtered by a first anti-color filter that inhibits light transmission in a wavelength range corresponding to a first color. Assume also that the second optical sensor pixel receives light from a second region of the anti-color array that inhibits light transmission in a wavelength range corresponding to a second color, and that the third optical sensor pixel receives light from a third region of the anti-color array that is transparent or substantially transparent. If the third optical sensor value and the first optical sensor value are both greater than the second optical sensor value, then the object is likely to be the second color. If the third optical sensor value and the second optical sensor value are both greater than the first optical sensor value, then the object is likely to be the first color. If the third optical sensor value is greater than both the first optical sensor value and the second optical sensor value, then the object is likely to include both the first color and the second color.
[0071] In another example, assume that the first optical sensor pixel receives light filtered by a first anti-color filter that inhibits light transmission in a wavelength range corresponding to a first color, the second optical sensor pixel receives light from a second region of the anti-color array that inhibits light transmission in a wavelength range corresponding to a second color, and the third optical sensor pixel receives light from a third region of the anti-color array that inhibits light transmission in a wavelength range corresponding to a third color. If the third optical sensor value and the first optical sensor value are both greater than the second optical sensor value, then the object is likely to be the second color. If the third optical sensor value and the second optical sensor value are both greater than the first optical sensor value, then the object is likely to be the first color. If the third optical sensor value is less than both the first optical sensor value and the second optical sensor value, then the object is likely to be the third color.
[0072] As mentioned elsewhere herein, some implementations of the anti-color filter array 107 can include more than three anti-color filter regions. Some such implementations can include one or more substantially transparent regions and / or an Nth plurality of Nth anti-color filters, where N is an integer greater than or equal to 4. Each Nth anti-color filter can be configured to at least partially inhibit light transmission in an Nth optical wavelength range.
[0073] In some such implementations, the method 200 can involve obtaining at least first through Nth optical sensor values from at least first through Nth optical sensor pixels corresponding to the first object. In some such examples, the first through Nth optical sensor pixels can correspond to first through Nth regions of the anti-color filter array 107. According to some such examples, the comparison of block 215 can involve comparing each of the first through Nth optical sensor values to one another.
[0074] As mentioned elsewhere herein, the extent to which an anti-color filter will affect a corresponding optical sensor pixel value can depend on various factors. These factors can include, but are not limited to, the range of wavelengths for which the anti-color filter inhibits transmission of light and the extent to which the anti-color filter inhibits transmission of light within that range of wavelengths.
[0075] Figure 3A 3B And FIGS. 3A, 3B, and 3C are graphs showing examples of the transmission of an anti-color filter as a function of wavelength. The specifics of each graph, including the range of wavelengths between λ1and λ2for which transmission is outside of the minimum transmission region and the range of wavelengths between the minimum transmission region and the maximum transmission region, are given by way of example only. As mentioned elsewhere herein, the term “anti-color filter” as used in this disclosure generally refers to a filter configured to at least partially inhibit transmission of light in a range of wavelengths. In the examples shown, the range of wavelengths is between a wavelength λ1and a wavelength λ2. In some instances, the range of wavelengths between λ1and λ2may correspond to or be within a color of the visible spectrum, such as violet (380-450 nm), blue (450-485 nm), cyan (485-500 nm), green (500-565 nm), yellow (565-590 nm), orange (590-625 nm), or red (625-740 nm). Figures 3A-3C
[0076] Accordingly, the values of λ1and λ2may vary according to particular implementations. In one example of an “anti-color red filter,” λ1may be 600 nm and λ2may be 780 nm. In another example of an “anti-color red filter,” λ1may be 600 nm and λ2may be 800 nm. In another example of an “anti-color red filter,” λ1may be 620 nm and λ2may be 750 nm.
[0077] In some implementations, the relevant optical wavelength range can correspond to a range of wavelengths that is shorter or longer than the range of wavelengths of the visible spectrum, such as an infrared or ultraviolet wavelength range. The relevant optical wavelength range may, for example, correspond to a range of wavelengths that can be detected by the optical sensor pixels of the device 100.
[0078] Figure 3A An example is shown in which the transmittance of the reflective filter is close to 0% in some part of the wavelength range between λ1 and λ2. Outside this wavelength range, the transmittance of the reflective filter is generally between 90% and 100%.
[0079] Figure 3B An example is shown in which the light transmission of the reflective filter is reduced to approximately fifty percent in some portion of the wavelength range between λ1 and λ2. Outside this wavelength range, the light transmission of the reflective filter is generally between 90% and 100%.
[0080] Figure 3C An example is shown in which the transmittance of the reflective filter is reduced to approximately seventy-five percent in some portion of the wavelength range between λ1 and λ2. Outside this wavelength range, the transmittance of the reflective filter is generally between 90% and 100%.
[0081] Figure 4A 、 4B 4C show examples of various arrangements of inverted color filter regions. Each of these examples includes a group of identical inverted color filter patterns. As with the other appended drawings presented herein, Figure 1 Sample, Figure 4A 、 4B and 4C (and with reference to Figure 4A 、 4B 4C) are only non-limiting examples. In these examples, the inverse color filter array portions 400a, 400b, and 400c are only portions of the complete inverse color filter array 107.
[0082] Figure 4A An anti-color filter array portion 400a is shown. Depending on the implementation, the anti-color filter array portion 400a includes multiple instances of an anti-color filter pattern 401a. In this example, the anti-color filter pattern 401a includes a first anti-color filter region 405a (ACFR1) and a second anti-color filter region 405b (ACFR2). In some examples, each first anti-color filter region 405a may include a first anti-color filter that is configured to at least partially suppress transmittance in a first optical wavelength range, and each second anti-color filter region 405b may include a second anti-color filter that is configured to at least partially suppress transmittance in a second optical wavelength range. However, in other examples, the first anti-color filter region 405a or the second anti-color filter region 405b may be transparent, or substantially transparent.
[0083] Figure 4BA reverse color filter array portion 400b is shown. According to this implementation, the reverse color filter array portion 400b includes a plurality of instances of a reverse color filter pattern 401b. In this example, the reverse color filter pattern 401a includes a first reverse color filter region 405a, a second reverse color filter region 405b, a third reverse color filter region 405c, and a fourth reverse color filter region 405d. In some examples, each first reverse color filter region 405a can include a first reverse color filter configured to at least partially inhibit transmissivity in a first optical wavelength range, each second reverse color filter region 405b can include a second reverse color filter configured to at least partially inhibit transmissivity in a second optical wavelength range, each third reverse color filter region 405c can include a third reverse color filter configured to at least partially inhibit transmissivity in a third optical wavelength range, and each fourth reverse color filter region 405d can include a fourth reverse color filter configured to at least partially inhibit transmissivity in a fourth optical wavelength range.
[0084] However, in other examples, one or more of the first reverse color filter regions 405a, the second reverse color filter regions 405b, the third reverse color filter regions 405c, or the fourth reverse color filter regions 405d can be transparent, or substantially transparent. In one such example, each first reverse color filter region 405a includes a first reverse color filter configured to at least partially inhibit transmissivity in a first optical wavelength range, but the second reverse color filter regions 405b, the third reverse color filter regions 405c, and the fourth reverse color filter regions 405d are transparent, or substantially transparent.
[0085] In another example of the reverse color filter pattern 401b, one of the reverse color filter regions is configured to at least partially inhibit transmissivity in a first optical wavelength range, and another of the reverse color filter regions is configured to at least partially inhibit transmissivity in a second, third, or fourth optical wavelength range. However, in this example, the other two reverse color filter regions in the reverse color filter pattern 401b are transparent, or substantially transparent.
[0086] In an alternative example of the reverse color filter pattern 401b, one of the reverse color filter regions is configured to at least partially inhibit transmissivity in a first optical wavelength range, another of the reverse color filter regions is configured to at least partially inhibit transmissivity in a second optical wavelength range, and another of the reverse color filter regions is configured to at least partially inhibit transmissivity in a third optical wavelength range. However, in this example, the other reverse color filter region in the reverse color filter pattern 401b is transparent, or substantially transparent.
[0087] Figure 4CA reverse color filter array portion 400c is shown. According to this implementation, the reverse color filter array portion 400c includes a plurality of instances of a reverse color filter pattern 401c. In this example, the reverse color filter pattern 401c includes a first reverse color filter region 405a, a second reverse color filter region 405b, a third reverse color filter region 405c, a fourth reverse color filter region 405d, a fifth reverse color filter region 405e, and a sixth reverse color filter region 405f. In some examples, each first reverse color filter region 405a can include a first reverse color filter configured to at least partially inhibit transmissivity in a first optical wavelength range, each second reverse color filter region 405b can include a second reverse color filter configured to at least partially inhibit transmissivity in a second optical wavelength range, each third reverse color filter region 405c can include a third reverse color filter configured to at least partially inhibit transmissivity in a third optical wavelength range, each fourth reverse color filter region 405d can include a fourth reverse color filter configured to at least partially inhibit transmissivity in a fourth optical wavelength range, each fifth reverse color filter region 405e can include a fifth reverse color filter configured to at least partially inhibit transmissivity in a fifth optical wavelength range, and each sixth reverse color filter region 405f can include a sixth reverse color filter configured to at least partially inhibit transmissivity in a sixth optical wavelength range.
[0088] In other examples, however, one or more of the reverse color filter regions in the reverse color filter pattern 401c can be transparent, or substantially transparent. In one such example, each first reverse color filter region 405a includes a first reverse color filter configured to at least partially inhibit transmissivity in a first optical wavelength range, but all other reverse color filter regions are transparent, or substantially transparent.
[0089] In another example of the reverse color filter pattern 401c, one of the reverse color filter regions is configured to at least partially inhibit transmissivity in a first optical wavelength range, and another of the reverse color filter regions is configured to at least partially inhibit transmissivity in another optical wavelength range. In this example, however, another four of the reverse color filter regions in the reverse color filter pattern 401c are transparent, or substantially transparent.
[0090] In an alternative example of the reverse color filter pattern 401c, one of the reverse color filter regions is configured to at least partially inhibit transmissivity in a first optical wavelength range, another of the reverse color filter regions is configured to at least partially inhibit transmissivity in a second optical wavelength range, and another of the reverse color filter regions is configured to at least partially inhibit transmissivity in a third optical wavelength range. In this example, however, another three of the reverse color filter regions in the reverse color filter pattern 401c are transparent, or substantially transparent.
[0091] In an alternative example of the anti-color filter pattern 401c, one of the anti-color filter regions is configured to at least partially inhibit light transmissivity in the first optical wavelength range, another of the anti-color filter regions is configured to at least partially inhibit light transmissivity in the second optical wavelength range, another of the anti-color filter regions is configured to at least partially inhibit light transmissivity in the third optical wavelength range, another of the anti-color filter regions is configured to at least partially inhibit light transmissivity in the fourth optical wavelength range, and another of the anti-color filter regions is configured to at least partially inhibit light transmissivity in the fifth optical wavelength range. In this example, however, another of the anti-color filter regions in the anti-color filter pattern 401c is transparent, or substantially transparent.
[0092] In an alternative example of the anti-color filter pattern 401c, one of the anti-color filter regions is configured to at least partially inhibit light transmissivity in the first optical wavelength range, another of the anti-color filter regions is configured to at least partially inhibit light transmissivity in the second optical wavelength range, another of the anti-color filter regions is configured to at least partially inhibit light transmissivity in the third optical wavelength range, another of the anti-color filter regions is configured to at least partially inhibit light transmissivity in the fourth optical wavelength range, and another of the anti-color filter regions is configured to at least partially inhibit light transmissivity in the fifth optical wavelength range. In this example, however, another of the anti-color filter regions in the anti-color filter pattern 401c is transparent, or substantially transparent.
[0093] Figure 5 An example of an exploded view of a device according to some implementations is shown. According to some implementations, the device 100 can be a Figure 1 An example of the device 100 shown in FIG. 5 and described above. In this example, the device 100 includes an optical sensor pixel array 105, an anti-color filter array 107 adjacent to the optical sensor pixel array 105, and a cover layer 510 adjacent to the anti-color filter array 107. The cover layer 510 can be formed of any suitable transparent or substantially transparent material, such as glass, plastic, etc.
[0094] According to this implementation, there is a one-to-one correspondence between individual anti-color filter regions of the anti-color filter array 107 and individual optical sensor pixels of the optical sensor pixel array 105. For example, when the device 100 is configured for operation, the anti-color filter region 405a is adjacent to the optical sensor pixel 505a. In other implementations, however, there can not be a one-to-one correspondence between individual anti-color filter regions and optical sensor pixels. For example, in some implementations, multiple optical sensor pixels can correspond to a single anti-color filter region, or vice versa.
[0095] According to this implementation, the apparatus 100 includes an array of optical sensor pixel circuits 32 disposed on a substrate 34, which can also be referred to as a backplane. In this implementation, the outer substrate 24 is adjacent to this backplane. The outer substrate 24 can be formed of any suitable protective material, such as plastic, glass, metal, etc. In this example, each optical sensor pixel circuit 32 corresponds to and is electrically connected to a corresponding one of the optical sensor pixels of the optical sensor pixel array 105. In some implementations, each sensor pixel circuit 32 can include one or more TFT elements, electrical interconnect traces, and in some implementations one or more additional circuit elements such as diodes, capacitors, etc. According to this example, the apparatus 100 includes a control system 110 configured to communicate with the optical sensor pixel array 105 via the sensor pixel circuits 32 on the substrate 34.
[0096] The control system 110 can be configured to operate as disclosed herein, e.g., as described above with reference to the method 200. For example, the control system 106 can be configured to receive optical sensor pixel values from the optical sensor pixel array 105 (in this example, via the sensor pixel circuits 32), to analyze the optical sensor pixel values to detect at least a first object, and to determine first object color information.
[0097] As used herein, a phrase referring to “at least one of’ a list of items refers to any combination of those items, including single members. As an example, “at least one of a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c. Various illustrative logical blocks, modules, circuits, and algorithm processes described in connection with the implementations disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. The interchangeability of hardware and software has been described generally in terms of functionality, and with reference to various illustrative components, blocks, modules, circuits, and processes described above. Such functionality can be implemented in hardware or software, depending on the specific application and design constraints.
[0098] The hardware and data processing apparatus used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein can be implemented or performed with a general purpose single- or multi-chip processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field- programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor can be a microprocessor, or, any conventional processor, controller, microcontroller, or state machine. A processor also can be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some implementations, the particular processes and methods can be performed by circuitry that is specific to a given function.
[0099] In one or more aspects, the functions described can be implemented in hardware, digital electronic circuitry, computer software, firmware, including the structures disclosed in this specification and their structural equivalents, or in any combination thereof. Implementations of the subject matter described in this specification also can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a computer storage medium for execution by, or to control the operation of, data processing apparatus.
[0100] 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, such as a non-transitory medium. The processes of a method or algorithm disclosed herein can be implemented in a processor-executable software module which can reside on a computer-readable medium. Computer-readable media include both computer storage media and communication media including any medium that can be enabled to transfer a computer program from one place to another. Storage media can be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can include 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 store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection can be properly termed a computer-readable medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the methods or algorithms described herein can be a part of a computer program product that can be executed on a computer-readable medium.
[0101] Various modifications to the implementations described in this disclosure can be apparent to those of ordinary skill in the art, and the generic principles defined herein can be applied to other implementations without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the implementations shown herein but is to be accorded the widest scope consistent with the claims, the principles and the novel features disclosed herein. The word "exemplary" is used herein solely to mean "serving as an example, instance, or illustration." Any implementation described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other implementations.
[0102] While various features have been described in the context of separate implementations, other implementations can also combine some or all of the features described above in a single implementation. Conversely, various features have been described in the context of a single implementation, and other implementations can also provide fewer than all of the features described above. Accordingly, other implementations not explicitly described herein can also comprise one or more of the features described above.
[0103] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring such order nor that all illustrated operations be performed, in order to achieve desirable results. In some circumstances, multitasking and parallel processing can be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated in a single software product or packaged into multiple software products. Additionally, other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results.
[0104] It will be understood that, excepting where otherwise explicitly described or required by context, the features of the specific implementations described herein can be combined with each other in any combination. It will further be understood that the specific implementations described herein are illustrative only and not limiting, as the scope of the disclosure is to be afforded the broadest range of interpretive meanings as are apparent from the description provided above.
Claims
1. A system comprising: an optical sensor pixel array; an anti-color filter array adjacent to the optical sensor pixel array, the anti-color filter array comprising at least a first plurality of first anti-color filters, each first anti-color filter adjacent to a corresponding instance of the first plurality of optical sensor pixels, each first anti-color filter configured to at least partially suppress transmittance of light in a first optical wavelength range; as well as A control system configured to: receiving optical sensor pixel values from the optical sensor pixel array; analyzing the optical sensor pixel values to detect at least a first object; as well as Determining first object color information, wherein determining the first object color information includes: obtaining at least one first optical sensor value from at least one first optical sensor pixel corresponding to the first object, the at least one first optical sensor pixel being at least one instance of the first plurality of optical sensor pixels; obtaining at least one second optical sensor value from at least one second optical sensor pixel corresponding to the first object, the at least one second optical sensor pixel not being at least one instance of the first plurality of optical sensor pixels; and The at least one first optical sensor value and the at least one second optical sensor value are compared.
2. The system of claim 1 , wherein the anti-color filter array comprises a second plurality of second anti-color filters, each second anti-color filter being adjacent to a corresponding instance of a second plurality of optical sensor pixels, each second anti-color filter being configured to at least partially suppress transmittance of light in a second optical wavelength range.
3. The system of claim 2, wherein the at least one second optical sensor pixel is at least one instance of the second plurality of optical sensor pixels.
4. The system of claim 2, wherein the anti-color filter array comprises a group of identical anti-color filter patterns, each of the identical anti-color filter patterns comprising at least one instance of the first anti-color filter and at least one instance of the second anti-color filter.
5. The system of claim 2 , wherein the anti-color filter array comprises a third plurality of third anti-color filters, each of the third anti-color filters being adjacent to a corresponding instance of a third plurality of optical sensor pixels, each of the third anti-color filters being configured to at least partially suppress transmittance in a third optical wavelength range.
6. The system of claim 5, wherein the control system is configured to obtain at least one third optical sensor value from at least one third optical sensor pixel corresponding to the first object, the at least one third optical sensor pixel being at least one instance of the third plurality of optical sensor pixels. 7 . The system of claim 6 , wherein determining the first object color information comprises comparing the at least one third optical sensor value with the at least one first optical sensor value and the at least one second optical sensor value.
8. The system of claim 5, wherein the anti-color filter array comprises a group of identical anti-color filter patterns, each of the identical anti-color filter patterns comprising at least one instance of the first anti-color filter, at least one instance of the second anti-color filter, and at least one instance of the third anti-color filter.
9. The system of claim 1, wherein determining the first object color information involves aggregating optical sensor pixel values.
10. The system of claim 1, wherein analyzing the optical sensor pixel values to detect at least a first object involves comparing the optical sensor pixel values to a background model.
11. The system of claim 1 , wherein the inverse color filter array comprises a plurality of transparent or substantially transparent regions.
12. A method comprising: receiving optical sensor pixel values from an optical sensor pixel array; analyzing the optical sensor pixel values to detect at least a first object; as well as Determining first object color information, wherein determining the first object color information includes: obtaining at least one first optical sensor value from at least one first optical sensor pixel corresponding to the first object, the at least one first optical sensor pixel being at least one instance of the first plurality of optical sensor pixels that have received suppressed light in a first optical wavelength range; obtaining at least one second optical sensor value from at least one second optical sensor pixel corresponding to the first object, the at least one second optical sensor pixel not being at least one instance of the first plurality of optical sensor pixels; and The at least one first optical sensor value and the at least one second optical sensor value are compared. 13 . The method of claim 12 , wherein the at least one second optical sensor pixel is at least one instance of the second plurality of optical sensor pixels that has received suppressed light in the second optical wavelength range.
14. The method of claim 13 , wherein determining the first object color information further comprises obtaining at least one third optical sensor value from at least one third optical sensor pixel corresponding to the first object, the at least one third optical sensor pixel being at least one instance of a third plurality of optical sensor pixels that has received suppressed light in a third optical wavelength range. 15 . The method of claim 14 , wherein determining the first object color information comprises comparing the at least one third optical sensor value with the at least one first optical sensor value and the at least one second optical sensor value.
16. The method of claim 12, wherein determining the first object color information involves aggregating optical sensor pixel values.
17. The method of claim 12, wherein analyzing the optical sensor pixel values to detect at least a first object involves comparing the optical sensor pixel values to a background model.
18. An apparatus comprising: an optical sensor pixel array; an inverse color filter array adjacent to the optical sensor pixel array, the inverse color filter array comprising: a first plurality of first anti-color filters, each first anti-color filter being adjacent to a corresponding instance of the first plurality of optical sensor pixels, each first anti-color filter being configured to at least partially suppress light transmission in a first optical wavelength range; a second plurality of second anti-color filter regions, each second anti-color filter region being adjacent to a corresponding instance of a second plurality of optical sensor pixels, each second anti-color filter region not being configured to suppress light transmission in the first optical wavelength range; interface systems; and A control system configured to: receiving, from a device via the interface system, a request for optical sensor pixel values from the optical sensor pixel array, the optical sensor pixel values including first optical sensor pixel values corresponding to the first plurality of optical sensor pixels and second optical sensor pixel values corresponding to the second plurality of optical sensor pixels; Obtaining pixel values of the optical sensor; and The optical sensor pixel values are transmitted to the device via the interface system.
19. The apparatus of claim 18 , wherein the second plurality of second anti-color filter regions comprises a second plurality of second anti-color filters, each second anti-color filter being adjacent to a corresponding instance of the second plurality of optical sensor pixels, each second anti-color filter being configured to at least partially suppress transmittance in a second optical wavelength range.
20. The apparatus of claim 19, wherein the negative color filter array comprises a group of identical negative color filter patterns, each of the identical negative color filter patterns comprising at least one instance of the first negative color filter and at least one instance of the second negative color filter.
21. The apparatus of claim 19 , wherein the anti-color filter array comprises a third plurality of third anti-color filters, each of the third anti-color filters being adjacent to a corresponding instance of a third plurality of optical sensor pixels, each of the third anti-color filters being configured to at least partially suppress transmittance in a third optical wavelength range.
22. The apparatus of claim 21 , wherein the control system is configured to obtain at least one third optical sensor value from at least one third optical sensor pixel corresponding to the first object, the at least one third optical sensor pixel being at least one instance of the third plurality of optical sensor pixels.
23. The apparatus of claim 22, wherein the anti-color filter array comprises a group of identical anti-color filter patterns, each of the identical anti-color filter patterns comprising at least one instance of the first anti-color filter, at least one instance of the second anti-color filter, and at least one instance of the third anti-color filter.
24. The apparatus of claim 18, wherein analyzing the optical sensor pixel values to detect at least a first object involves comparing the optical sensor pixel values to a background model.
25. The device of claim 18, wherein the inverse color filter array comprises a plurality of transparent or substantially transparent regions.
26. One or more non-transitory media having stored thereon software, the software comprising instructions for controlling one or more devices to perform a method comprising: receiving optical sensor pixel values from an optical sensor pixel array; analyzing the optical sensor pixel values to detect at least a first object; as well as Determining first object color information, wherein determining the first object color information includes: obtaining at least one first optical sensor value from at least one first optical sensor pixel corresponding to the first object, the at least one first optical sensor pixel being at least one instance of the first plurality of optical sensor pixels that have received suppressed light in a first optical wavelength range; obtaining at least one second optical sensor value from at least one second optical sensor pixel corresponding to the first object, the at least one second optical sensor pixel not being at least one instance of the first plurality of optical sensor pixels; and The at least one first optical sensor value and the at least one second optical sensor value are compared.
27. The one or more non-transitory media of claim 26, wherein the at least one second optical sensor pixel is at least one instance of a second plurality of optical sensor pixels that has received light that is suppressed in a second optical wavelength range.
28. The one or more non-transitory media of claim 27, wherein determining the first object color information further comprises: obtaining at least one third optical sensor value from at least one third optical sensor pixel corresponding to the first object, the at least one third optical sensor pixel being at least one instance of a third plurality of optical sensor pixels that has received suppressed light in a third optical wavelength range; as well as The at least one third optical sensor value is compared with the at least one first optical sensor value and the at least one second optical sensor value.
29. The one or more non-transitory media of claim 26, wherein determining the first object color information involves aggregating optical sensor pixel values.
30. The one or more non-transitory media of claim 26, wherein analyzing the optical sensor pixel values to detect at least a first object involves comparing the optical sensor pixel values to a background model.
Citation Information
Patent Citations
Optical sensor and electronic device
CN109752088A