The present invention relates generally to image capture and detection systems, and more particularly to methods and arrangements for obtaining image data.
It is increasingly desirable to employ vehicle detection in traffic control systems. Detection of the presence and/or approach of vehicles allows for improved efficiency in traffic control. In a simplified example, a traffic signal may not change to green for a cross street for an indefinite time if there are no vehicles present on the cross street awaiting the signal. However, if a vehicle approaches the intersection on the cross street, the traffic signal may be changed responsive to the detection of such approach.
Historically, vehicle detection for traffic control has employed inductive sensors located under the road surface. The entrance of the automobile into a region near the inductive sensor changes the sensed magnetic field, thus enabling detection of the vehicle. A drawback of these systems is the need to implant the inductive sensors under or in the road surface pavement, which requires significant labor and traffic interruption. Because video cameras avoid the need to implant equipment below the road surface, camera-based vehicle detection systems are increasingly desirable.
Camera-based vehicle detection systems using video processing are known. One type of vehicle detection system performs vehicle detection on select areas of available video frames provided by a video camera. To this end, a video camera provides video frame information, typically in a format known as the Bayer format, to a processing system. The processing system converts the Bayer formatted video to (red-green-blue) RGB formatted video, which is (or is similar to) the format employed by most digital video systems.
The RGB formatted video is then provided to the detection subsystem and optionally to a viewing device, such as a remotely located laptop or portable computer. The detection subsystem then employs homographic mapping to isolate specific, select areas of the video frame for the actual detection algorithms. In particular, vehicle detection typically does not occur within an entire video frame, but rather in isolated areas such as portions of a road or near specific objects. The desired areas for detection are then converted into detection blocks that are standardized for the detection algorithms.
Thus, for example, a small trapezoidal area of interest in or near an intersection is converted into a rectangle of a size and orientation that is suitable for the detection algorithms.
Accordingly, the portion of the video image that is to be analyzed is stored as a detection block. The video data corresponding to the area of interest is transferred into the detection block via homographic mapping or warping. The detection block thus represents video data from the select area of interest.
The detection algorithms then operate with the detection blocks in order to identify whether moving objects are within the select area of interest. The detection operations include integration, autocorrelation, center of chromatic mass, background processing, among others to detect moving vehicles and/or any presence of vehicles.
Algorithmic detection of vehicles using the above techniques consumes a large amount of computational processing power. The processing engines that are commonly available in the wider temperature range are quite limited in the maximum processing speed available. Executing the necessary video processing for vehicle detection can cause such processors to run “too hot”.
There is a need therefore, for improved video processing that provides advanced detection needs within a limited processing power budget.
Disclosed are apparatus and methods that employ image processing and which at least in some embodiments address the above-mentioned drawbacks of the prior art.
A first embodiment is a method that includes steps of capturing an image and providing video frame data representative of the image in a first format. The video frame data in the first format includes a plurality of pixel data, the pixel data of each pixel containing single color data. The method also includes generating pixel data of a detection block representative of a subset of the video frame data using a homographic association of pixels of the detection block to the pixel data containing single color data, wherein the pixel data of each pixel of the detection block contains multiple color data. The method further contains providing the detection block to an image detection algorithm.
The features and advantages of the above-described embodiment, as well as others, will become more readily apparent to those of ordinary skill in the art by reference to the following detailed description and accompanying drawings.
The source of video frame data 102 is a device or set of devices that is configured to provide video frame data in a first format. The first format of video frame data includes a plurality of pixels, each pixel containing single color data. By way of example, the source of video frame data 102 is a digital camera or digital video camera that employs a high-speed CCD (Charge-Coupled Device) or CMOS (Complementary-Metal-Oxide-Semiconductor) light-sensitive imager arrays as an initial sensor. This array outputs data values corresponding to individual pixels (individual small picture elements) according to how much light intensity is measured at that particular pixel within the imager array. Such devices are well-known.
The first format of the video frame data may suitably comprise a mosaic formatted data. In particular, many video cameras are configured to generate mosaiced pixel data, sometimes referred to as Bayer-formatted data. Bayer format cameras typically includes a color mosaic lens positioned in front of an array of monochrome CCD detectors, and transmit the luminance value for each element instead of the individual color components.
Such a source effectively transmits only one color component value per pixel, and for each four pixels transferred, two are green pixels, one is a blue pixel, and one is a red pixel. As a result, green-spectrum video information is effectively subsampled at 50% resolution, while red and blue information is each effectively subsampled at 25% resolution. In any event, the frame data includes a plurality of pixels having only single-color information.
In the interest of further explanation of mosaic formatted data,
Implementation of the invention is not limited to the particular single color mosaic formats shown in
Returning again to
The video detection arrangement 104 includes data processing equipment and associated circuitry that is capable of performing image processing as described herein. The video detection arrangement 104 is configured to employ homographic mapping to generate a detection block from the video frame data. In this embodiment, the detection block is representative of a select subset of the video frame image, and typically includes a portion of the image that has been preselected as potentially containing vehicles to be detected. Homographic mapping (or warping) is employed to generate a re-aligned view, for example, a rectangle generated from a trapezoid, such that angled points of view are rectified into a normal (i.e perpendicular) point of view which aids the detection algorithms.
In an alternative application, a vehicle detection system may be used in a security system or other surveillance system that employs rotating cameras. In such a case, homographic mapping allows various points of view from a moving (e.g. rotating) camera to be compared and processed from the same point of view. In this alternative embodiment, the vehicle detection system may be connected to receive the video frame data from cameras used for general surveillance. General surveillance cameras often are configured to rotate to cover more area.
Referring again to
For example,
Referring again to
To this end, the vehicle detection system 104 associates each pixel of the detection block with the pixel data of multiple pixels from the video frame data. Each pixel of the detection block is associated with pixel data of multiple pixels with different color data, such that each pixel of the detection block has information representative of multiple colors. Referring to
In any event, the resulting detection block thus only contains information from a small subset of the original video frame, and contains pixels that have been converted or demosaiced to multiple color format.
Thus, the video detection arrangement 104 is configured to convert the single color format video data of a portion (and only a portion) of the original video frame data that corresponds to the detection block into multi-color formatted video data.
In contrast to the prior art, the video detection arrangement 104 only performs demosaicing of the portion of video frame data that corresponds to the select detection block, instead of the entire video frame. This saves computational power as the interpolation schemes used for demosaicing are computationally intensive.
Referring again generally to
As discussed above, the remote user interface 106 is also configured to received the video frame data in the first format. The remote user interface 106 may suitably be a general purpose or special purpose computing device. The remote user interface 106 is configured to perform demosaicing (conversion between single color pixel data of different colors to multiple color pixel data) on the entire image frame of the video frame data and display the frame data on video screen or display. Further detail regarding the demosaicing by the user interface 106 is provided below in connection with
Thus, the above described image processing system 100 provides data that may be used for both viewing (via the user interface 106) and vehicle detection (via the vehicle detection arrangement 104) while reducing the computational load in the vehicle detection processing circuitry.
In the embodiment of
The camera 130 is operably coupled to provide the video frame data in the first format to each of the video detection arrangement 104 and the remote user interface 106.
The video detection arrangement 104 includes processing circuitry 138 including at least one memory 136 and associated circuitry that is capable of carrying out the steps 140, 142, 144 and 146 as described herein. The processing circuitry 138 is configured to receive the video frame data in the first format and generate (step 140) pixel data of a detection block representative of a subset of the video frame data in which detection of images is to be performed. To generate the detection block, the processing circuitry 138 uses a look-up table 148 (stored in the memory 136) to associate pixel data of multiple pixels of the single color video frame data to each pixel of the detection block.
The generated detection block thus comprises pixel data representative of a select portion of the input video image data. The pixel data for each pixel of the generated detection block has multiple color components.
The processing circuitry 138 is further operable to perform image detection. In particular, in step 142, the processing circuitry performs vehicle detection algorithms on one or more detection blocks generated as described above. Vehicle detection in a video block may be accomplished using various techniques that are known in the art, such as integration, autocorrelation, center of chromatic mass, background processing and the like. Such detection techniques vary and would be known to those of ordinary skill in the art.
Thereafter, in step 144, the processing circuitry 138 performs control based on the image detection. By way of example, a traffic signal operation may be altered as a result of a detection of the presence of a vehicle in one or more of the detection blocks generated in step 140. In another example, the absence of movement in one or more monitored areas may result in alteration of the traffic signal operation. Various traffic control methods based on detected vehicle presence or movement are known.
In order to perform the above steps 140, 142 and 144, and particularly step 140, the look-up table 148 must be generated to map select user image portions to the detector block. In this embodiment, the processing circuitry 138 is operable to generate the look-up table 148 used for this detection block generation. In particular, the processing circuit 138 may suitably receive input identifying select portions of an image (e.g. image portions 206, 208 of
The processing circuit 138 then uses homographic mapping, among other things, to create a look-up table that associates each pixel of a detection block with multiple single color pixels of an input video frame that correspond to the user-selected image portion. The multiple single color pixels preferably include different color pixels of the input video frame such that each pixel of the detection block can have multiple color information.
Referring again to
As discussed above in connection with
Various demosaicing operations are known, including nearest-neighbor interpolation, as a linear interpolation, as a bilinear interpolation, as a cubic spline interpolation, or as a different type of spline interpolation, typically with better visual quality yielded by the more complex interpolations. In some embodiments, the computer 106 is configurable to select from a plurality of demosaicing operations, as well as frame rates so that the balance between frame rate, accuracy and complexity, and available computer processing power at the user interface/computer 106 can be selectively adjusted.
As discussed above, during normal operation of a configured system, the look-up tables 148 for one or more user-selected image portions have already been generated and stored in the memory 136. The normal operation consists of steps 140, 142 and 144 as described above.
With regard to step 140,
In step 502, the video frame data in the first format is received from the source of video frame data 102. As discussed above, the video frame data is in single color (mosaiced) format.
Steps 504 to 510 represent a for-next loop that indexes through each pixel of the detection block. Thus, in step 504, the next pixel of the detection block is indexed. This is referred to herebelow as the current pixel.
In step 506, the location of the current pixel within the detection block is indexed to the look-up table 148. As discussed above, the look-up table 148 associates each pixel of the detection block with a plurality of pixels within the video frame data. This plurality of pixels preferably includes at least one green pixel, at least one blue pixel and at least one red pixel of the mosaiced video frame data. In step 508, the pixel data of the pixels of the video frame data associated with the current pixel is obtained form the video frame data and stored as the pixel data for the current pixel of the detection block.
In step 510, it is determined whether there are additional pixels in the image block. If so, then the next pixel is identified in step 504 and the process is repeated accordingly. If not, then the entire detection block has been created, and step 512 is executed. In step 512, the detection block is stored in memory, not shown, for use by the image detection operations 142.
The above operations represent an improvement over the prior art in that the detection arrangement need not demosaic an entire video frame. Only a select portion of the video frame data is effective demosaiced. In this embodiment, a look-up table 148 is used to generate each pixel of the detection block from different colored pixels of the mosaiced video frame data. The look-up table 148 further accomplishes the homographic mapping because the selection of the location of pixels of the video frame data correspond to the pixels of the detection block are identified via homographic mapping. Thus, the development of a suitable look-up table is required to carry out the above-described operations.
Accordingly,
In step 602, the processing circuit 138 receives input defining a block of a video frame image that is to be mapped into a detection block. Such a block of video frame image constitutes a portion of the image field of the camera in which vehicle location or presence is to be detected and/or monitored. For example, the processing circuit 138 may receive from the user interface 106 information identifying image portions image portions 206 and/or 208 (see
It is noted that the user may define multiple image portions, such as the portions 206 and 208 of
As an initial step 604, homographic mapping equations are solved for the selected image portion and the detection block. Homographic mapping equations associate the detection block (e.g. the block 210), with a portion of an image frame (e.g. portion 206 of
The resulting homographic equations help provide a translation from a location in the detection block to a location in the video image data.
In steps 606 to 614, the look-up table 148 is populated on a pixel-by-pixel basis, using the homography solution from step 604.
In step 606, the next pixel in the detection block is indexed. This pixel is referred to below as the current pixel. In step 608, the processing circuitry 138 uses the homography solution from step 604 to associate the current pixel with a pixel of the video frame within the selected image portion. Thus, for example, if the current pixel is the upper left corner of the detection block, then homography solution 604 would likely associate the current pixel with the upper left hand corner of the selected image portion.
As a result, the homography solution is used in step 608 to identify a pixel of the video frame (within the selected image portion) that corresponds to the current pixel. This identified pixel is referred to as the corresponding pixel. The corresponding pixel in each set of video frame data will contain pixel data having single color information.
In step 610, the processing circuitry 138 identifies and selects neighboring pixels that are configured to have other single colors. For example, if the corresponding pixel is a red pixel, then the processor in step 610 identifies neighboring blue and green pixels. Thus, the corresponding pixel and the neighboring pixels should include information for all of the pixel colors of the output video image data format.
Preferably, the two neighboring pixels are selected such that they include at least one pixel from a different horizontal line such that the corresponding pixel and the two neighboring pixels form a cluster. For example, referring to
In step 612, the table entry for the current pixel is created. The table entry identifies the locations of the corresponding pixel determined in step 608 and the neighboring pixels determined in step 610. After step 612, the look-up table 148 has been populated for at least the current pixel. In this embodiment, the look-up table 148 identifies three single color pixels of the input video frame data that are used to form the current pixel of the detection block.
In step 614, the processor determines whether a table entry must be determined for any more pixels in the detection block. If so, then the processor returns to step 606 to process the next pixel of the detection block. If not, however, then the processor proceeds to step 616.
In step 616, the processor has completed the look-up table creation operation. The look-up table 148 now provides a translation from a mosaiced image block having a first set of dimensions to a demosaiced image block (the detection block) having a second set of dimensions, including a preferred square or rectangular shape.
Table I shows exemplary software code used for generating the look up table 148. Table II shows software code for generating a detection block using the look up table 148.
It will be understood that the above describe embodiments are merely exemplary, and that those of ordinary skill in the art may readily devise their own implementations and modifications that incorporate the principles of the present invention and fall within the spirit and scope thereof.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/948,069, filed Jul. 5, 2007, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60948069 | Jul 2007 | US |