Abstract:
A vehicle detection system for providing data characteristic of traffic conditions includes a camera overlooking a roadway section for providing video signals representative of the field (traffic scene), and a digitizer for digitizing these signals and providing successive arrays of pixels (picture elements) characteristic of the field at successive points in space and time. A video monitor coupled to the camera provides a visual image of the field of view. Through use of a terminal and in conjunction with the monitor, an operator controls a formatter so as to select a subarray of pixels corresponding to specific sections in the field of view. A microprocessor then processes the intensity values representative of the selected portion of the field of view in accordance with spatial and/or temporal processing methods to generate data characteristic of the presence and passage of vehicles. This data can be utilized for real-time traffic surveillance and control, or stored in memory for subsequent processing and evaluation of traffic flow conditions.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates generally to traffic detection and monitoring equipment. In particular, the present invention is a vehicle detection system in which infrared or visible images of highway/street scenes are processed by digital computing means to determine vehicle presence, passage, measure various traffic parameters and facilitate traffic surveillance and control. The system also can be used as a vehicle counter/classifier, and other traffic engineering applications such as incident detection, safety analysis, measurement of traffic parameters, etc. 
     2. Description of the Prior Art 
     Traffic signals are extensively used to regulate the flow of traffic at both high volume urban intersections, and rural or suburban low volume intersections where safety rather than capacity and efficiency is the major concern. The timing of traffic control signals (i.e., the cycle time and amount of green provided to each movement) is either fixed through the use of historical data, or variable and based upon real-time sensed data. Timing sequences of pretimed traffic control signals are derived from historical information concerning the demand patterns, while real-time traffic control decisions are derived from actual traffic flow information. This information can be processed locally, or remotely-transmitted to a central computer where decisions about signal settings are made. Real-time traffic control signals have the ability to respond to rapid demand fluctuations and are in principle more desirable and efficient than pretimed signals. 
     Currently used equipment for real-time control of traffic signals is expensive and often inaccurate. Effective traffic sensing for surveillance and control of freeways and arterial streets requires vehicle detection, counting, classifying and other traffic parameter measurements. The overwhelming majority of such detectors are of the inductive loop type, which consist of wire loops placed in the pavement to sense the presence of vehicles through magnetic induction. Since the information extracted from such detectors is very limited, installation of a number of such detectors is often required to obtain requisite data for sophisticated traffic control and surveillance systems. For example, measurements of traffic volume by lane require at least one detector per lane, while measurement of speed requires at least two detectors. A problem with existing systems is reliability and maintenance. In major cities 25%-30% of inductive loops are not operational. In addition, inductive loops are expensive to install. 
     Electro-optical vehicle detection systems which utilize visible or infrared sensors have been suggested as a replacement for wire loop detectors. The sensor of such systems, such as an electronic camera, is focused upon a field of traffic and generates images at predetermined frame rates (such as standard television). Under computer control, frame data with traffic images is captured, digitized, and stored in computer memory. The computer then processes the stored data. Vehicle detection can be accomplished by comparing the image of each selected window with a background image of the window in the absence of vehicles. If the intensity of the instantaneous image is greater than that of the background, vehicle detection is made. After detection, the vehicle&#39;s velocity and signature can be extracted. From this, traffic data can be extracted and used for traffic control and surveillance. 
     In order for electro-optical vehicle detection systems of this type to be cost effective, a single camera must be positioned in such a manner that it covers a large field of traffic so that all necessary information can be derived from the captured image. In other words, one camera must be capable of providing images of all strategic points of an intersection approach or of a roadway section from which it is desired to extract information. The time required by the computer to process frames of these images is very critical to real-time applications. Furthermore, currently used methods for processing the data representative of the images are not very effective. 
     It is evident that there is a continuing need for improved traffic control and surveillance systems. To be commercially viable, the system must be reliable, cost-effective, accurate and perform multiple functions. There is a growing need for controlling traffic at congested street networks and freeways. This can only be accomplished through real time detection and surveillance devices. Such a machine-vision device is proposed here. The ultimate objective is to replace human observers with machine-only vision for traffic surveillance and control. Finally, the proposed device increases reliability and reduces maintenance since it does not require placement of wires to the pavement. 
     SUMMARY OF THE INVENTION 
     A vehicle detection system in accordance with one embodiment of the present invention includes sensor means for sensing the field of traffic and for providing successive arrays of pixels characteristic of the field. Formatter means coupled to the sensor means select a subarray of pixels characteristic of a portion of the field of traffic. Processor means process the selected subarray of pixels and provide data representative of vehicle presence and/or passage within the portion of the field represented by the subarray. 
     In one embodiment, the processor means spatially processes the pixel arrays to generate data characteristic of vehicle presence and/or passage. In another embodiment, the processor means temporally processes the pixel arrays to generate data characteristic of the vehicle presence and/or passage within the field. In still another embodiment, the processor means logically combines the spatially processed data and temporally processed data to generate data characteristic of vehicle presence and/or passage within the field. 
     The vehicle detection system of the present invention is both effective and cost efficient. Use of the formatter permits specific sections or portions of images produced by the camera to be selected and processed. A single camera can therefore be effectively used for multiple detection, i.e. detection of many points along the roadway. Portions of the image which are not required to be processed are not used, thereby saving computer time. Furthermore, the temporal and spatial data processing methods can quickly process data and produce accurate results. Accurate real-time traffic control can thereby be implemented. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram representation of a vehicle detection and traffic control system in accordance with the present invention. 
     FIG. 2 is a graphic representation of a digitized frame of an image captured by the camera shown in FIG. 1. 
     FIG. 3 is a graphic representation illustrating the operation of the formatter shown in FIG. 1. 
     FIG. 4 is a block diagram representation of a spatial data processing method which can be performed by the system shown in FIG. 1. 
     FIG. 5 is a graphic representation of the spatial averaging step performed by the spatial data processing method illustrated in FIG. 4. 
     FIG. 6 is a block diagram representation of a temporal data processing method which can be performed by the system shown in FIG. 1. 
     FIG. 7 is a graphic representation of an image displayed by the monitor of FIG. 1 and illustrating the operation of the terminal and formatter. 
     FIG. 8 is a graphic representation of the logic processing step illustrated in FIG. 8. 
     FIG. 9 is a block diagram representation of another processing method which can be implemented by the system shown in FIG. 1. 
     FIG. 10 is a graphic representation illustrating a velocity determination processing method. 
     FIG. 11 describes equations 1-15 which are implemented by the system shown in FIG. 1. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     A vehicle detection and traffic control system 10 in accordance with the present invention is illustrated generally in FIG. 1. As shown, vehicle detection system 10 includes a sensor such as camera 12, monitor 13, digitizer 14, formatter 16, computer means such as microprocessor 18, associated random access memory or RAM 17 and read only memory or ROM 19, terminal 20, traffic signal control 22, and recorder 24. Camera 12 can be positioned at a height of twenty-five to forty feet on a streetlight pole, stoplight pole, building or other support structure (not shown) and is focused upon a desired field of traffic on a roadway 26 such as that shown in FIG. 1. Camera 12 can be any of a wide variety of commercially available devices which sense visible energy reflected by vehicles 28 traveling along roadway 26 within the camera&#39;s field of view. Camera 12 can operate in a conventional manner using standard television frame rates. 
     As illustrated in FIG. 2, each successive frame 29 (only one is shown) captures an image 30 of the field of traffic at an instant in time. Camera 12 provides analog video signals characterizing image 30 as a sequence of scan lines 32. Each scan line lasts for approximately 65 microseconds for a frame comprised of 484 scan lines and represents the intensity of energy reflected from a zone of the scene covered by the field of view of the camera. Although camera 12 has been described as one operating in the visible portion of the spectrum, other types of sensors including infrared (IR) sensors which sense infrared energy radiated from a scene can be used as well. 
     Analog video signals produced by camera 12 are digitized by digitizer 14. Digitizer 14 includes a digital-to-analog converter which converts the analog signals of the scan lines into pixels I ij   n  representative of the intensity, I, of image 30 at discrete locations in the ith row jth column of the nth frame as illustrated in FIG. 2. As shown, digitizer 14 breaks image 30 into an i by j frame or array of pixels. Although I=J=twenty-two in the example illustrated in FIG. 2, larger arrays will typically be used. 
     Depending upon the position and orientation of camera 12 with respect to roadway 26 (FIG. 1), image 30 can be of a rather large field of traffic. However, to extract various types of information from image 30, (e.g., queue length in the leftmost lane, presence of vehicles in an intersection, or velocity of vehicles in the right lane), it is typically necessary to process only certain portions of image 30. 
     As illustrated in FIG. 1, monitor 13 is connected to receive the video signals from camera 12, and can thereby provide a real-time display of image 30. FIG. 7 is a graphic representation of an image 30, corresponding to that of FIGS. 2 and 3, being displayed on monitor 13. Using terminal 20, an operator can select a desired portion or window of image 30 for further processing. In one embodiment, the operator uses terminal 20 to position an indicator such as curser 15 (FIG. 7) at locations on monitor 13 which define the desired window. Through terminal 20, the operator can cause formatter 16 to select from digitizer 14 the pixels I ij   n  which represent the portion of image 30 within the window. The selected pixels I ij   n  are then transferred to microprocessor 18 and stored in RAM 17. 
     The above procedure can be described in greater detail with reference to FIGS. 3 and 7. If, for example, it is desired to process data within window 40 in the upper portion of the leftmost lane, the operator can position curser 15 at locations representing the upper left and lower right corners of this window. In response, formatter 16 will select pixels I ij   n  for 4≦i≦10 and 5≦j≦8 which represent the portion of image 30 within window 40. The pixels will then be transferred through microprocessor 18 to RAM 17. This procedure is repeated for successive frames 29. In a similar manner pixels I ij   n  for i=19 9≦j≦13 representing window 41, or I ij   n  for 8≦i≦14 j=12 representing window 43, can be selected. 
     Once selected and stored, pixels I ij   n  representative of successive frames of the windowed portion of image 30 can be processed by microprocessor 18 in accordance with various temporal, spatial and/or other statistical methods to determine the presence, passage, velocity, or other characteristics of the vehicles 28 within the selected window of roadway 26. This data can then be utilized by traffic signal control 22 in known manners to optimize the flow of traffic along roadway 26 in response to currently existing traffic conditions. Alternatively, the data can be recorded by recorder 24 for subsequent processing and/or evaluation. 
     A spatial data processing method implemented by microprocessor 18 to determine the presence, passage and/or other characteristics of vehicles 28 is described with reference to FIG. 4. The spatial data processing steps illustrated in FIG. 4 enable system 10 to make a determination of the characteristics of vehicles 28 from a single &#34;look&#34; at the field of traffic at one instant of time. This determination is based upon a comparison of measures extracted from an instantaneous image with corresponding measures which are characteristic of background data in the image. The determination of vehicle presence and/or passage is therefore based upon characteristics of an intensity profile of the selected window of image 30 represented by its pixels I ij   n . The underlying assumption for the processing approach is that the signature of instantaneous intensity profile of the selected portion of image 30 is significantly altered when a vehicle 28 is present in the field of view. 
     Pixels I ij   n  for the nth frame (latest) of a window such as 43 are first time averaged by microprocessor 18 with corresponding pixels of the previous N frames as indicated at step 50. N is a parameter stored in RAM 17 or ROM 19. In one embodiment, microprocessor 18 processes pixels I ij   n  in accordance with the recursive formula defined by equations 1-3 to produce time averaged arrays I ij   n . Pixels I ij   n  are representative of the average background intensity of window 43 over the N frames. 
     Time averaged pixels I ij   n  are then subtracted from the current array pixels I ij   n  as indicated at summation step 52 to generate an array of background adjusted pixels I ij   n . This operation can be mathematically performed by microprocessor 18 in accordance with equation 4. Utilizing the background adjusted pixels I ij   n  allows compensation for any natural variations in road surface such as those resulting from transitions between bituminous and concrete, railroad crossings, or markings on road surfaces. 
     Having computed the background adjusted pixels I ij   n , microprocessor 18 generates a spatially averaged array A ij   n  according to Equations 5 or 6. The size of the averaging window is chosen to be representative of the size of a vehicle 28, and will therefore vary depending upon the position and orientation of camera 12 with respect to roadway 26 (FIG. 1). 
     Microprocessor 18 can compute spatially averaged pixels A ij   n  for a 1 by J horizontal window such as 41 using a 1 by L averaging window in accordance with equation 5. In a similar manner, equation 6 can be used to compute spatially averaged pixels A ij   n  for a I by 1 vertical window such as 43 using an M by 1 averaging window. Using equation 7 microprocessor 18 can generate spatially averaged pixels A ij   n  for a two-dimensional window such as 40 using an M by L averaging window. 
     FIG. 5 illustrates an example in which spatially averaged pixels A ij   n  are generated for a one by thirty horizontal window 44 using a one by six (L=six) averaging window 46. Thus, Equation 5 becomes Equation 8 for L=6. In so doing, microprocessor 18 will average sequential groups of six background adjusted intensity values I ij   n  throughout the window 44. A first group of background adjusted pixels, I i   n  .sub.(1≦j≦6) is first averaged. Next, a second group of background adjusted pixels I i   n  .sub.(2≦j≦7) is averaged in a similar manner. This process is repeated by microprocessor 18 until background adjusted pixels I i  (25≦j≦30) are averaged. The result is a spatially averaged array A ij   n . 
     As indicated by step 56, microprocessor 18 next computes spatial variance V ij   n  as a function of the background adjusted pixels I ij   n  and spatially averaged pixels A ij   n . This is done for all values I ij   n  and A ij   n  within the selected window such as 43 of the nth frame. Variance values V ij   n  provide a measure of how much the background adjusted values I ij   n  vary from the spatially averaged values A ij   n  within the variance window. The variance window, like the spatial average window, is sized so as to represent a vehicle such as 28. Microprocessor 18 can, for example, compute spatial variance values V ij   n  over a one by L variance window using the formula of equation 9. 
     The variance  A  V ij   n  in the absence of a vehicle is estimated using Equation 9 with feedback from logic 58. If logic 58 decided that there is a vehicle in the window of interest the nth frame  A  V ij   n  is not updated, that is  A  V ij   n  = A  V ij   n-1 . If logic decided that there is no vehicle present in the window then  A  V ij   n  is updated per Equation 9. 
     Logic 58 operates either on the background adjusted intensity I ij   n  or on the variance V ij   n . If I ij   n  kf( A  V ij   n ) or V ij   n  &gt;k A  V ij   n  where l≦k≦4 then, potentially, there is a vehicle present at the (ij) location and this is denoted by 
     
         P.sub.ij =1 
    
     Logic 58 accumulates Pij values over a window of length six. Using majority rule, if ##EQU1## anywhere over the l×K (K=30) window, a decision is made that a vehicle is present. 
     Passage is determined by vehicle detection at the first pixel of presence detection. 
     These procedures are illustrated with reference to FIG. 8 which shows a vehicle 28 present within a one by J horizontal window 70. Pixels P i (6≦j≦11) will have been set to &#34;1&#34; by microprocessor 18 per Equation 10, since vehicle 28 was present at the portion of the image covered by these pixels. Remaining pixels P i  1≦j≦5 and P i  12≦j≦J will be set to &#34;0&#34; since they do not represent portions of the image containing a vehicle. Detection window 72 is a one by six window in this example. The sum of the pixel values encompassed by detection window 72 (i.e. P i  5≦j≦10) is compared to a constant X=4 as described by equation 11. In this case the sum will be equal to six so microprocessor 18 will generate a presence signal. If, for example, window 72 were encompassing pixels P i  13≦j≦18, the sum would be equal to zero and microprocessor would generate a signal representative of vehicle absence. 
     Microprocessor 18 can also implement other statistical decision criteria such as Bayes for vehicle presence decision. Data representative of vehicle passage (e.g., of a signal switching logic state upon entry into the window of interest) can be determined in a similar manner. All of the above-described steps are successively repeated for each new frame. 
     A temporal data processing method which is implemented by microprocessor 18 to determine presence, passage and other vehicle characteristics such as velocity is illustrated generally in FIG. 6. The temporal approach estimates the background intensity of the road surface in the absence of vehicles. This is compared to the instantaneous (current frame) intensity and if the latter is greater statistically then a vehicle presence decision is made. 
     For temporal processing microprocessor 18 first time averages the intensity values to produce a time averaged array of pixels I ij   n  as indicated at step 60. Time averaged pixels I ij   n  are computed similarly to the spatial processing in accordance with Equations 1-3. Microprocessor 18 then generates a background adjusted array of pixels I ij   n  for the nth frame by subtracting the time average I ij   n  from the instantaneous pixels I ij   n  per step 62 and Equation 4. 
     Utilizing the background adjusted intensity pixels, microprocessor 18 next generates time variance values Q ij   n  for the nth frame over R preceding frames as indicated by step 64. Time variance values Q ij   n  are generated as a function of background adjusted pixels I ij   n  of the previous R frames, and a mean or average intensity M ij  at the corresponding pixel over N previous frames. Microprocessor 18 computes the time variance and mean values in accordance with Equations 12 and 13. In one embodiment, R and N are equal to twenty frames. 
     Microcomputer 18 also computes, as part of time variance step 64, background variance  A  Q ij   n   in the absence of vehicles, in a manner similar to that described with reference to spatial variance processing step 56 illustrated in FIG. 4. The background variance  A  Q ij   n  is computed as a function of a running average (Equations 12, 13). If the logic 68 decides that there is no vehicle present the variance is updated according to Equations 12, 13. If there is a vehicle present, according to logic 68, then  A  Q n   ij  = A  Q n-1   ij . The comparator operates as follows. The background adjusted instantaneous intensity I ij   n  is compared to a function of the background variance per Equation 14. The function f( A  Q ij   n ) can, for example, be an absolute value or square root of background variance values  A  Q ij   n . Constant k will typically be between one and four. If the instantaneous background adjusted intensity is greater than the functional relationship of the background variance, a decision is made by the comparator that a vehicle is present in pixel ij. This is denoted by P ij  =1, otherwise P ij  =0 (no vehicle). 
     P ij  pixels with values zero or one are inputs to logic 68 where they are processed to determine presence and passage of vehicles. The logical processing at step 68 is performed similarly to that described with reference to step 58 of the spatial processing method illustrated in FIG. 4, and described by equation 11. All of the above-described steps are successively repeated for each new frame or array of pixels I ij . 
     Although the spatial data processing method described with reference to FIG. 4 and the temporal data processing method described with reference to FIG. 6 provide accurate data relative to vehicle detection, the performance of system 10 can be improved through simultaneous use of these methods. As illustrated in FIG. 9, pixel intensity values I ij   n  for selected windows of an nth frame can be simultaneously processed by microcomputer 18 in accordance with both the spatial and temporal processing methods (steps 76 and 78, respectively). The results from these two processing methods (e.g., data characteristic of presence, passage, or other characteristics) are then logically processed or combined as indicated at step 88 to produce signals or data characteristic of presence, passage or other characteristics. In one embodiment, microprocessor 18 implements a logical &#34;AND&#34; operation on the outputs of spatial and temporal processing steps 76 and 78, respectively, and generates presence or passage data only if presence or passage data was generated by both the spatial processing method and temporal processing method. 
     Presence and/or passage data generated by microprocessor 18 through implementation of either the spatial processing technique shown in FIG. 4 or the temporal processing technique shown in FIG. 6 can be further processed by microprocessor 18 to produce vehicle velocity data. This processing method is described with reference to FIG. 10. The velocity data is computed by monitoring the logic state assigned to two gates such as P i  12 and P i  16 over several (N) frames. The spatial distance between pixels P i  12 and P i  16  corresponds to an actual distance D in the field of traffic based on the geometry and sensor parameter. Microprocessor 18 will monitor the number of elapsed frames N between the frame at which the logic state of pixel P i  12 switches from a logic &#34;0&#34; to a logic &#34;1&#34;, and the frame at which the logic state represented by pixel P i  16 switches from logic &#34;0&#34; to a logic &#34;1&#34;. The number of frames N separating these two events corresponds to the time Δt. Microprocessor 18 can thereby compute velocity using Equation 15. The accuracy of this determination can be improved through computations involving several pairs. 
     Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.