VIDEO TRACKING FOR VIDEO-BASED SPEED CONTROL
The multi-scale template matching method addresses inaccuracies in conventional vehicle tracking by dynamically adjusting templates based on camera data and vehicle speed, ensuring precise positional measurements for accurate speed enforcement.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2013-09-03
- Publication Date
- 2026-03-26
AI Technical Summary
Conventional vehicle tracking methods for traffic monitoring systems, particularly for speed enforcement, suffer from inaccuracies due to noise and camera interference, leading to unreliable positional measurements.
A method and system that utilize multi-scale template matching, dynamically generating and applying templates at different scales to track vehicle features across frames, incorporating camera calibration data and vehicle speed, to enhance positional accuracy and robustness against distortion.
Improves the accuracy of vehicle tracking by reducing the impact of camera distortion and noise, providing precise positional measurements for speed calculation, thereby enhancing the reliability of speed enforcement systems.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The present disclosure relates to a method and system for tracking a feature moving across a series of temporally related frames, and more precisely, the generation and dynamic application of multiple templates at different scales to update the position of the feature in each frame. The present disclosure is applicable to traffic monitoring. However, it is understood that the present embodiments can also be adapted for other similar applications.
[0002] Significant progress has been made in the development and use of video-based traffic monitoring and control systems. These systems are programmed to support various tasks. Primarily, they are used to manage traffic flow and to monitor vehicles' compliance with traffic laws, rules, and regulations.
[0003] A procedure 10, which is executed by a conventional system, is in Fig. Figure 1 illustrates this. In step 12, a camera records a video stream of a monitored area. The camera can transmit video data to a remote server device for further processing, starting in step 14, or perform some or all of the processing in an integrated manner. This processing can be based on a function of the system. In general, the processing can define a target area for vehicle detection. Using the processed information, the method 10 detects a vehicle in an initial single frame in step 16. In step 18, the method tracks the vehicle in successive single frames using its features.
[0004] The exemplary system is used for vehicle-based speed enforcement. Therefore, in a parallel process, the system performs camera calibration to convert the trajectory of the tracked vehicle from pixel coordinates to true coordinates in step 20. In step 22, the system calculates a vehicle speed using the distance traveled (i.e., by comparing the true coordinates between frames) and timing measurements (e.g., by relating the number of frames to the frame rate). The calculated speed is then used in step 24 to determine whether a violation has occurred for the purpose of issuing a ticket.
[0005] Since conventional systems are frequently used for toll collection and traffic control, the tracking data must provide accurate measurements. However, conventional tracking methods tend to produce inaccurate measurements.
[0006] One method for tracking vehicles, particularly for calculating speed, involves template matching, which focuses on searching in a single frame for one or more identical points that were present in a previous frame. However, the effects of noise and camera interference on the measurements mean that this method suffers from a degree of inaccuracy.
[0007] Another tracking method involves the mean-shift algorithm, which focuses on finding positions between frames that have identical and / or similar (statistical) characteristics. Although this method is more robust against noise and camera interference, it tends to provide less accurate results because the identified positions may not be correct. This method is also more computationally intensive.
[0008] Another method of object tracking can involve particle filtering. All of these conventional methods can be well-suited to providing tracking results when a function of the system does not require a calculation that uses the correct position of a tracked object.
[0009] US patent application US 20100322476 A1 describes a method for vehicle-based traffic monitoring in which vehicles are detected and tracked using image sequences, feature extraction, 3D coordinate estimation, and automatic camera calibration. European patent application EP 1 126 414 A2 discloses a general method for object tracking in videos, based on hierarchical, deformable templates that adapt to changes in the object's shape and movement.
[0010] However, for systems that require precise positional information to calculate an output, such as for the purpose of vehicle speed control, an improved tracking procedure is desirable.
[0011] A system and method are needed to improve the accuracy of tracking a feature position in individual images and to calculate the measurements in real time. A system that is more robust against camera projection distortion is desirable.
[0012] The present invention provides an improved method for tracking a moving vehicle according to claim 1 and an improved system for tracking a moving vehicle according to claim 7, which overcomes the aforementioned disadvantages.
[0013] One embodiment of the disclosure relates to a method for tracking a moving vehicle according to claim 1. The method comprises recognizing the vehicle by capturing a series of temporally related still images. In an initial still image, recognition comprises locating a reference feature representing the vehicle. The method further comprises setting up the reference feature as a full-size template and scaling the full-size template to generate at least one scaled template, each of the at least one scaled template being scaled by a predetermined amount. The method comprises tracking the vehicle by scanning a current still image for features corresponding to the full-size template and at least one scaled template. Tracking further comprises setting up the updated full-size template or the scaled template that best matches the feature.The procedure involves repeating the tracking process using the updated template for each subsequent frame in the sequence. The predetermined scaling amount is a dynamic value that utilizes at least one of the following: camera calibration data, the current position of the feature, the average vehicle speed of a current monitored traffic scene, and a scaling value from a previously tracked feature.
[0014] Another embodiment of the disclosure relates to a system for tracking a moving vehicle according to claim 1. The system comprises a vehicle tracking device including a vehicle detection module, a vehicle tracking module, and a processor suitable for implementing the modules. The vehicle detection module acquires a series of temporally contiguous still images. In an initial still image, the vehicle detection module locates a reference feature representing a moving object. The vehicle tracking module sets the reference feature as a full-size template.The vehicle tracking module further scans a current frame for the feature that corresponds to the full-size template and at least one scaled template, each of which is generated by scaling the full-size template by a predetermined amount. The predetermined scaling amount is a dynamic amount that uses at least one of the following: camera calibration data, the current position of the feature, the average vehicle speed of a current monitored traffic scene, and a scale value from a previously tracked feature. The vehicle tracking module sets up an updated template that best matches the feature, derived from the full-size template and the scaled template. The vehicle tracking module repeats the tracking process using the updated template for each subsequent frame in the sequence.
[0015] They show: Fig. 1. An overview of a state-of-the-art method for vehicle-based speed control. Fig. 2 an overview of a method for tracking vehicles using a template matching method according to the present embodiment. Fig. 3 A schematic representation of a traffic control system according to one aspect of the exemplary embodiment. Fig. 4 a flowchart illustrating an exemplary procedure for template matching according to another aspect of the embodiment. Fig. 5A and Fig. 5B improved still images that capture an exemplary scenario involving a selected part of a vehicle, the size of which decreases as the vehicle moves away from a camera.
[0016] The present disclosure relates to a method and system for tracking the position of a feature as it moves across a series of temporally related frames, using a multi-scale template matching method that includes generating and dynamically applying multiple templates at different scales for processing each frame. The method includes updating the templates between frames to perform an additional template matching on each frame using a scaled version of an original and / or previous template. In this way, the system can search for and identify closer matches between features in adjacent frames.
[0017] Fig. Section 2 provides an overview of Procedure 50. The procedure processes still images captured by a camera. This processing includes recognizing a reference feature, such as a vehicle or a specific part of a vehicle (e.g., the license plate), in an initial still image and establishing an area around the reference feature as the original template in step 52. Using the original template, a template match is performed on a current still image in step 54 to locate target features that correspond to the reference feature. A position and correlation are stored for the best-matching target feature. Using at least one scaled template, a further template match is performed on the current still image in step 56 to locate target features that correspond to the reference feature.For each scaled template, a position and correlation for the best-matching target feature are also stored. The system records the stored position that has the best correlation result among the matching features determined by the scaled and unscaled templates (step 58). The template is updated in step 60 using the image data from the current frame and the recorded position information. In step 62, the system determines whether tracking for the detected vehicle has ended at / after the current frame. This determination can be achieved in different ways. In one embodiment, tracking of a vehicle ends when the match result is lower than a predetermined threshold across multiple frames. This indicates that the vehicle has left the scene.In another embodiment, tracking of a vehicle ends when the current position of the tracked feature is outside a predetermined range. This indicates that the vehicle is about to leave the scene. In yet another embodiment, tracking of a vehicle ends when either of the two conditions above is met. Other methods commonly used to determine when tracking should end (e.g., when the object becomes too small, or when the vehicle has been tracked long enough to conclude that it is indeed speeding, etc.) are also applicable. If tracking is not considered complete for the current frame (NO in step 62), the method returns to step 54 to repeat tracking on the next frame. If tracking is considered complete for the current frame (YES in step 62), the method terminates.It should be noted that the disclosure, for the purpose of explanation, describes this process in terms of tracking a single vehicle. It is understood that in practice the system is configured to track multiple moving vehicles (i.e., several of the processes described above can be executed in parallel, sequentially, or both, depending on the actual traffic conditions).
[0018] Fig. Figure 3 is a functional diagram of a traffic control system 100 in an exemplary embodiment. The system 100 may comprise a system 102 for following a vehicle and determining its speed, hosted by a computer device 104, such as a server computer at the service provider's location, and a user device 106, hosted by a computer device at a customer's location, such as a server, together connected by communication links 108, referred to here as the network. These components are described in more detail below.
[0019] System 102 for tracking a vehicle and determining its speed, which is in Fig. Figure 3 shows a processor 110 which controls the entire operation of the system 102 for tracking a vehicle and determining its speed by executing processing instructions stored in the memory 112 connected to the processor 110.
[0020] The processes for detecting and tracking the vehicle disclosed herein are executed by the processor 110 according to the instructions stored in the memory 112. In particular, the memory 112 stores the image acquisition module 114, the vehicle detection module 116, the vehicle tracking module 118, and the speed calculation module 120.
[0021] The image acquisition module 114 shown captures a large number of temporally related individual images from a camera 122.
[0022] The vehicle recognition module 116 locates a reference feature that represents a moving object in an initial single image.
[0023] The vehicle tracking module 118 sets up a cropped area around the reference feature as a full-size template. Module 118 scales the full-size template by a predetermined amount to generate a scaled template. Module 118 scans a current frame for a feature that matches both the full-size and scaled templates. Module 118 then calculates correlation coefficients to determine the similarity between the feature and the full-size and scaled templates. Module 118 then sets up an updated template of the full-size and scaled templates that corresponds to the higher correlation coefficient. Module 118 repeats this process for each subsequent frame.
[0024] The speed calculation module 120 uses the reference and updated feature positions from the tracking module 118 to calculate the distance the feature travels between the initial and the last frame in which the detected vehicle is tracked in the sequence. Module 120 then calculates the vehicle's speed using this distance.
[0025] The system 102 for tracking a vehicle and determining its speed also includes one or more communication interfaces (I / O), such as network interfaces 124 for communicating with external devices, such as the user device 106. The various hardware components 110, 112, 124 of the system 102 for tracking a vehicle and determining its speed can all be connected via a bus 126.
[0026] Continuing with reference to Fig. 3 The system 102 for tracking a vehicle and determining its speed is communicatively connected to a user interface device (GUI) 128 via a wired and / or wireless connection. In various embodiments, the user interface device 128 may comprise one or more of the following: a display device to show information to users, such as a notification of a crossing vehicle for a human operator 129 to review; a user input device, such as a keyboard or a touch or writable screen, for entering instructions; and / or a cursor control device, such as a mouse, trackball, or the like, for communicating user input information and command selections to the processor 110.In particular, the user interface device 128 comprises at least one input device and one output device, both comprising hardware, and which are communicatively connected to the server 104 via one or more wired and / or wireless connections.
[0027] Continuing with reference to Fig. 3 The traffic control system 100 comprises a storage device 130, which is part of or connected to the system 102 for tracking a vehicle and determining its speed. In one embodiment, the system 102 for tracking a vehicle and determining its speed can be connected to a server (not shown) that hosts the storage device 130 to store at least one reference feature database 132, a full-size template database 134, and a scaled template database 136.
[0028] Although the computer device 104 can be connected to only one camera 122, it can generally be connected to a plurality of cameras. The camera 122 is not limited to a specific type of camera. Rather, cameras and video cameras are considered for monitoring a desired area. The camera 122 is suitable for capturing a plurality of still images and transmitting the image and / or video data to the system 102 for tracking a vehicle and determining its speed. In the embodiment under consideration, the camera 122 can be used for speed control applications, but the purpose of the system 100 is not limited to a specific application.
[0029] The memory 112, 130 can be any type of physical, computer-readable medium, such as main memory (RAM), ROM, a magnetic disk or tape, an optical disk, flash memory, or holographic memory. In one embodiment, the memory 112, 130 can each comprise a combination of main memory and ROM. The digital processor 110 can be configured in various ways, such as a single-core processor, a dual-core processor (or more generally, a multiple-core processor), a digital processor, an additional mathematical coprocessor, a digital controller, or the like. In addition to controlling the operation of the respective system 102 for tracking a vehicle and determining its speed, the digital processor 110 executes instructions stored in the memory 112, 130 to perform the parts of the method described below.
[0030] The software modules, as used here, are intended to include any collection or set of instructions that can be executed by System 102 to track a vehicle and determine its speed, to configure the computer or other digital systems to perform the task for which the software is intended. The term "software," as used here, is intended to include instructions stored in a memory medium, such as RAM, a hard disk, an optical disc, and so on, and is also intended to include so-called "firmware," which is software stored in ROM, and so on.This software can be structured in various ways and may include software components organized into program libraries, internet-based programs stored on a remote server, source code, interpreted code, object code, directly executable code, and so on. It is considered that the software may be able to call system-level code or other software located on the server or elsewhere to perform certain functions.
[0031] The communication interfaces 124 can include, for example, a modem, a router, a cable and / or an Ethernet port, etc.
[0032] It is understood that although two computer devices 104 and 106 are shown as examples, the system 100 can be hosted by a smaller or larger number of connected computer devices. Each computer device can, for example, include a server computer, a desktop computer, a laptop or tablet computer, a smartphone, or any other computer device capable of implementing the procedure described herein.
[0033] Fig. Figure 4 is a flowchart illustrating an exemplary method 400 for template matching. The method begins in step 402. The method begins when the image acquisition module 114 captures a series of temporally related individual images from the camera 122 in step 404. The individual images can be captured and processed at the camera 122. In another embodiment, the individual images can be transferred to the computer device 104 for processing. The individual images can be provided as a video stream recorded by a video camera, or they can comprise a series of still images captured sequentially by a camera.For clarification, the present description concerns individual images provided as video data from a video stream, and more specifically a video-based speed control system, although it is considered that the lessons provided here may be applied in other traffic control systems.
[0034] The system first detects a vehicle in the video data provided to System 100. As it processes the video data, the vehicle detection module 116 detects whether a new vehicle has entered the scene in step 406. Module 116 can perform the detection by applying a process known in the art, such as license plate recognition. No restriction is imposed here on the process used to detect a vehicle.
[0035] Module 116 determines whether the current frame is the first frame to capture a new vehicle (i.e., one not yet tracked in step 416) entering the scene in step 408. If the current frame is an initial frame encompassing the vehicle in the sequence (YES in step 408), module 116 sets the current frame as the initial frame of a new vehicle in step 410. In step 412, the vehicle identification module 116 locates a reference feature representing the vehicle in the initial frame. In one example, this feature might encompass part of a license plate. In another embodiment, multiple features can be identified. In the illustrated example, selected corners (such as an upper / lower, left / right corner) of a license plate can be identified. In step 414, module 116 sets the reference feature as a full-size template (e.g.,mxn). In one embodiment, the module 116 can crop an area around the feature and set up the cropped area as a full-size template. If multiple features are used, multiple templates can each be centered on the selected features. The module 116 can also store the reference feature in the reference feature database 132 and the full-size template in the same or a different database containing full-size templates 134.
[0036] If the current frame is not the first frame (NO in step 408), the vehicle recognition module 116 can transfer the reference feature information and / or the full-size template to the vehicle tracking module 118 to track the vehicle's position in step 416. In another embodiment, the module 118 can access this information in memory. Generally, the vehicle tracking module 118 initiates a matching process to track the vehicle until the vehicle leaves the scene or a violation determination is made.
[0037] Tracking (S416) involves performing a template matching method on a current frame. Using the full-size template, an updated position of the vehicle is determined as it moves across the scene between the reference frame and the current frame. In general, in step 418, the tracking module 118 scans the current frame for a feature that matches the full-size template. Module 118 calculates a correlation score to determine the similarity between the feature and the full-size template in step 420. The calculated correlation score and the best-matching position of the feature in the current frame are stored in step 422 for further processing.
[0038] In a parallel process, the vehicle tracking module 118 performs a dynamic template matching method by similarly searching the current frame for the feature using at least one scaled, full-size version of the template. In an illustrated example, a video-based speed control system can use a camera configuration that captures a scene similar to the one captured in the enhanced frames from Fig. 5A and Fig. 5B is shown. In the example scenario, a vehicle moves away from the camera as it crosses the scene, as indicated by its position in the lower left corner of Fig. 5A and the upper right corner of Fig. 5B is specified. As in Fig. As shown in Figures 5A-B, the size of the license plate decreases from frame to frame as the vehicle moves away from the camera. Accordingly, the present disclosure provides the dynamic template matching method, which searches the current frame for the feature using a scaled template (e.g., reduced by 5% here) that can provide a more accurate updated position of the vehicle as it moves relative to the camera.
[0039] Continue with Fig. In step 424, the vehicle tracking module 118 scales the full-size template by a predetermined amount to generate a scaled template. In one embodiment, a fixed scale can be applied to scale the full-size template by the predetermined amount. The predetermined amount can be a value less than 1 for embodiments that include a camera position capturing a vehicle moving away from the camera. However, embodiments are being considered to enlarge the template for tracking features approaching the camera. In the considered embodiment, for example, the predetermined amount can be in a range corresponding to approximately 95% and 105% of the full-size template.
[0040] In another embodiment, a more intelligent scaling profile can be calculated using data based on knowledge of the camera configuration. For example, scaling can be based on mapping image pixels to real coordinates, which are created, for instance, using a typical camera calibration procedure. A scaling profile based on prior knowledge of the monitored traffic scene is referred to in the present disclosure as an intelligent scaling profile. The objects selected for mapping can include and / or be derived from reference markers that are positioned on and / or near the intended area being monitored, such as a road and / or an indicator.In another embodiment under consideration, scaling can be calculated using characteristics of one or more tracked features, such as a current position of the identified feature, an average vehicle speed of a current traffic scene being monitored by the camera, a scaling value from a previously tracked feature, and a combination thereof.
[0041] An initial scale can be determined in step 416 before tracking. The scale can be refined after tracking a selected number of frames. The changed scaling amount can be based on predictive / adaptive scaling factors using knowledge of previous scaling factors.
[0042] One aspect of applying one or more predetermined scaling factors k to the full-size template is that the resulting scaled (dynamic) template(s) is / are used to locate the feature in each successive frame. The result of applying a scaled template to each frame with the same amount corresponds to scaling the strategy k. n from the single image n.
[0043] One aspect of scaling the full-size template in step 424 is that it allows for the provision of other potential matches based on the number of additional scales being examined. For each scaled template, an updated position of the vehicle is determined as it traverses the scene between the initial and current frames. In general, in step 426, the tracking module 118 scans the current frame for a feature that matches the scaled template. In step 428, module 118 calculates a correlation score to describe the similarity between the feature and the scaled template. The calculated correlation score and the feature's best-matching position in the current frame are stored for further processing in step 430.
[0044] Multiple scaled templates can be used in the considered embodiment. It is possible to select a few scales to sample only a few points instead of performing a sample that uses all possible scales. The latter method is equivalent to template matching according to a SIFT (scale-invariant feature transformation), where many scales are tried for each frame and the best match is selected. However, this method increases computational costs and fails to effectively account for factors unique to each camera installation. For the present method, which uses only a few scaled templates, each predefined using the intelligent scaling profile, the matching process is accurate enough to sample only a few points to determine the best match.
[0045] Continuing with reference to Fig. In step 4, the vehicle tracking module 118 compares the correlation values calculated when matching multiple templates in steps 420 and 428. Module 118 determines the highest correlation value in step 432. In step 434, module 118 sets up the updated template as one of the full-size and one of the scaled templates that corresponds to the highest correlation value. In this way, module 118 determines which of the full-size and one of the scaled templates best matches the feature in the current frame.
[0046] Although one embodiment considers using the same / original templates (i.e., the full-size template calculated in step 414 for the reference frame and the original scaled template generated from the full-size template determined in step 414) for processing each frame during tracking, a preferred embodiment generates and applies an updated template for processing each subsequent frame. The process of updating the templates between frames can provide more accurate measurements for the updated positions. The updated templates can reduce the inaccuracy caused by camera projection distortion, provided the distortion between adjacent frames remains within acceptable limits. Each updated template and position can be (temporarily) stored for use in calculations.
[0047] The template can be updated using the image data of the current frame and the updated position of the feature identified in the current frame that corresponds to the template with the highest correlation score. More precisely, the updated template is set up as a full-size updated template for processing the next frame in the sequence. In one embodiment, the tracking in step 416 is repeated for each frame until the vehicle (i.e., the tracked object) is no longer within the monitored target area. Determining whether the vehicle position is within the boundaries of the target area can be performed using any process known in the art.In particular, the updated position can be compared with the boundaries of the target area to determine whether the vehicle is inside or outside the defined target area. In another considered embodiment, tracking S416 can continue until module 118 determines that the vehicle has stopped. Module 118 can use any process known in the art to determine that the vehicle has stopped. One such process involves comparing the vehicle positions in the individual frames. For the calculated positions that are the same in a successive number N of frames (and more precisely, include differences that are not greater than a predetermined threshold, such as 1 foot), it is determined that the vehicle has stopped.
[0048] In step 436, the vehicle identification module 118 determines whether the current frame is the last frame containing the tracked vehicle within the defined target area, or whether a violation has occurred. If the current frame is not the last frame containing the tracked vehicle (NO in step 436), module 118 sets the next frame as the current frame in step 438 and repeats the tracking process in step 416. If the current frame is the last frame containing the tracked vehicle (YES in step 436), the vehicle identification module 118 transmits the tracking information to the speed calculation module 120.
[0049] Continuing with reference to Fig. In step 440, the velocity calculation module 120, or a similarly configured control module, calculates a distance traveled by the feature (i.e., the vehicle) between selected frames in the sequence. The selected frames can include the first and last frames in the sequence containing the detected vehicle. Alternatively, the selected frames can include any two frames, assuming the vehicle travels at the same or nearly the same speed in both frames. The distance can be calculated by comparing the identified positions of the feature in the two selected frames. More generally, the selected frames can be any subset (≥2) of frames from the first to the last.Additionally, and optionally, multiple speeds can be calculated from this large number of individual images. The statistics (such as the mean, minimum, maximum, and standard deviations, etc.) of the calculated speeds can be saved for later use, such as determining speeding violations and aggressive driving behavior. The position information corresponding to the selected individual images can be accessed in databases 132 to 136 or in a temporary memory. Using the calculated distance measurement, the speed calculation module 120 calculates a speed measurement in step 442.
[0050] In the case of a speed control application and any similar traffic control system, the disclosure considers the use of the (speed) information to determine whether the vehicle is in violation of traffic rules and / or regulations.
[0051] Accordingly, in step 444, the speed measurement in the illustrated example can be compared to a speed limit linked to the target area. For a calculated speed exceeding the speed limit (YES in step 444), the speed calculation module 120 can inform the user device 106 in step 446. The user device 106 can comprise a server and / or a computer device located at a local traffic control point to identify the vehicle and / or issue a warning and / or a ticket. Alternatively, the device can be a satellite device that transmits the signal to a driver of the vehicle as a reminder to slow down. No restrictions are imposed on the user device here.
[0052] Other embodiments are considered to compare the measured speed with a threshold, which may include a predetermined speed above the speed limit, such as approximately a range more than 5 or 10 mph above the speed limit. For a speed measurement equal to and / or below the speed limit (NO in step 444), the procedure ends in step 448.
[0053] Although the procedures in Fig. 2 and Fig. Since Figure 4 depicts and describes a series of activities or events, it is understood that the various procedures or processes of this disclosure are not limited by the depicted sequence of these activities or events. In this respect, unless specifically mentioned below, some activities or events may occur in a different sequence and / or concurrently with other activities or events than those depicted and described here. For example, in one considered embodiment, the processes for determining whether the vehicle speed exceeds a limit (such as S440 to S444) may be performed before determining whether the current frame is the last frame in which the vehicle is detected and / or whether an infringement is determined in step 436.It should also be noted that not all of the steps shown are necessary to implement a process or procedure according to this disclosure, and that one or more of these activities may be combined. The methods shown and other methods of the disclosure may be implemented as hardware, software, or combinations thereof to provide the control functionality described herein, and may be used in any system that, without limitation, includes the previously shown System 100, the disclosure being not limited to the specific applications and embodiments shown and described herein.
[0054] The procedure, which in Fig. 2 and Fig. The system shown in Figure 4 can be implemented in a computer program product that can be executed on a computer. The computer program product may include a non-temporary, computer-readable recording medium on which a control program is recorded (stored), such as a disk, drive, or the like. Common forms of non-temporary, computer-readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tape or any other magnetic storage medium, CD-ROM, DVD or any other optical medium, RAM, PROM, EPROM, FLASH EPROM or other memory chip or memory module, or any other physical medium that a computer can read and use.
[0055] Alternatively, the method can be implemented in temporary media, such as a transmissible carrier wave in which the control program is designed as a data signal, using transmission media such as sound or light waves, like those generated in radio and infrared data communications and the like.
[0056] The exemplary method can be implemented on one or more general-purpose computers, specialized computers, a programmed microprocessor or microcontroller and integrated peripheral circuit elements, an ASIC or other integrated circuit, a digital signal processor, a wired electronic or logic circuit such as a circuit made of discrete components, a programmable logic device such as a PLD, PLA, FPGA, graphics processing unit (GPU), or PAL, or the like. In general, any device capable of implementing a finite state machine, which in turn is capable of implementing the flowchart described in Fig. 2 and Fig. Figure 4 is shown and can be used to implement the procedure.
Claims
[1] Method for tracking a moving vehicle, the method comprising the following steps: - Vehicle detection, the detection of which includes the following steps: Capturing a series of temporally related individual images, and in an initial single image, locating a reference feature that represents a vehicle; Setting up the reference feature as a full-size template; Scaling the template to full size to generate at least one scaled template, with each of the at least one scaled template being scaled by a predetermined amount; - Tracking the vehicle, the tracking of which includes the following steps: Searching a current single image for a feature that matches the full-size original, Searching the current single image for a feature that matches at least one scaled template, Set up either the full-size template or the scaled template that best matches the reference feature as the updated template; and - Repeating the tracking process using the updated template for each subsequent frame in the sequence, wherein the predetermined scaling amount is a dynamic amount that uses at least one of camera calibration data, a current position of the feature, an average vehicle speed of a current monitored traffic scene, and a scaling value from a previously tracked feature. [2] The method of claim 1, further comprising the following steps: - using tracking, calculating a distance along which the feature moves between selected frames in the sequence, using a position of the feature in the selected frames; and - Calculating a speed using the distance. [3] Method according to claim 1, wherein the feature comprises at least a part of a license plate. [4] Method according to claim 1, wherein the search of the current single image for a feature corresponding to the full-size template comprises the following steps: - Calculating an initial correlation coefficient to describe a similarity between the feature and the full-size template; and - Storing the first correlation number and a position of the feature in the current single image; where searching the current single image for a feature that corresponds to at least one scaled template comprises the following steps: - Calculating a second correlation coefficient to describe a similarity between the feature and the scaled template; and - Storing the second correlation number and the position of the feature in the current single image. [5] Method according to claim 1, wherein setting up the updated template comprises the following steps: - Comparing the first and second correlation figures; - Determining a higher number than the first and second correlation coefficients; - Set up as an updated template of one of the full-size templates and the scaled template that corresponds to the higher correlation number. [6] The method of claim 1, further comprising: - Cropping an area around the feature; and - Setting up the cropped area as a full-size template. [7] System for tracking a moving vehicle, the system comprising: - a vehicle tracking device comprising the following: an image capture module suitable for capturing a series of temporally related individual images, a vehicle recognition module suitable for: in an initial single image, locating a reference feature that represents a moving object; a vehicle tracking module suitable for: Setting up the reference feature as a full-size template, Searching a current single image for a feature that matches the full-size original, Searching the current single image for a feature that corresponds to at least one scaled template, wherein each of the at least one scaled template was created by scaling the full-size template by a predetermined amount, Set up as an updated template of one of the full-size templates and the scaled template that best suits the feature, and Repeat the tracing process using the updated template for each subsequent frame in the sequence; and a processor suitable for implementing the modules, where the predetermined scaling amount is a dynamic amount that uses at least one of camera calibration data, a current position of the feature, an average vehicle speed of a current monitored traffic scene, and a scaling value from a previously tracked feature. [8] System according to claim 7, wherein the vehicle tracking module is further suitable for: - Calculating an initial correlation coefficient to describe a similarity between the feature and the full-size template; and - Calculating a second correlation coefficient to describe a similarity between the feature and the scaled template; and - Set up as an updated template of one of the full-size templates and the scaled template that corresponds to the higher correlation number.
Citation Information
Patent Citations
Video object tracking using a hierarchy of deformable templates
EP1126414A2
Vision based real time traffic monitoring
US20100322476A1