Embodiments are generally related to the field of vehicle identification, detection, and tracking. Embodiments are also related to traffic image-capturing units and systems thereof. Embodiments are additionally related to the detection and tracking of a vehicle with respect to a particular incident.
Many crimes are performed utilizing vehicles, which in some cases may be stolen or otherwise illegally obtained and operated. In other cases, the vehicles are legally owned, but the vehicle owner or people associated with the vehicle may perpetrate a crime such as a robbery abduction. The detection of such a vehicle can consume a great deal of law enforcement resources. The successful detection of a vehicle of interest can potentially reduce traffic-related injuries and deaths while providing preemptive curbing of illegal activities. The ultimate goal is to apprehend the person who is associated with the vehicle, i.e., the person who committed the crime.
The majority of conventional approaches to detecting a vehicle of interest involve the use of a license plate scanner that captures vehicle information along with location and time data. This information can be processed to address particular incidents such as solving crimes. Captured license plate images can be checked against a database of vehicles that are of potential interest. Such an approach, however, requires a great deal of processing and is time consuming since it relies on ad hoc data.
Based on the foregoing, it is believed that a need exists for an improved method and system for detecting a vehicle of interest utilizing a traffic image-capturing unit, as will be described in greater detail herein.
The following summary is provided to facilitate an understanding of some of the innovative features unique to the disclosed embodiments and is not intended to be a full description. A full appreciation of the various aspects of the embodiments disclosed herein can be gained by taking the entire specification, claims, drawings, and abstract as a whole.
It is, therefore, one aspect of the disclosed embodiments to provide for improved vehicle identification, detection, and tracking methods and systems.
It is another aspect of the disclosed embodiments to provide for an improved method and system for detecting and tracking a vehicle of interest with respect to a particular incident (e.g., a crime).
It is a further aspect of the disclosed embodiments to provide for the dynamic processing of traffic image-capturing unit images for the detection and tracking of vehicles of interest and to report their location in real time to appropriate authorities (e.g., police, homeland security, etc.).
The aforementioned aspects and other objectives and advantages can now be achieved as described herein. Methods and systems for detecting and tracking a vehicle of interest utilizing a traffic image-capturing unit and a centralized server are disclosed herein. A request from an authority to detect a vehicle with respect to an incident based on particular criteria can be verified. The image-capturing unit can be selected from a set of image-capturing units along with location information stored in a database in order to enable a search. A notification can then be sent to the appropriate authorities upon spotting the vehicle of interest by the image-capturing unit.
A radius or area of search based on an initial location, an elapse time, a probable vehicle speed, and a trajectory of the vehicle can be calculated by a dynamic search area module (e.g., which stores and/or processes instructions indicative of a dynamic search area algorithm) and a trajectory processor to alert another image-capturing unit for tracking. The data of interest can be transmitted back to an incident management module to dynamically update the details. Note that one of the advantages of such an approach is to keep the number of cameras looking for the vehicle few in number to avoid loading down the system. The search radius might start out large since the location of the vehicle is not known. Once it is spotted, the number of cameras involved can be kept at a minimum.
A request service management module accepts and verifies the request to detect the vehicle of interest utilizing the vehicle images from the image-capturing unit (e.g., license plate numbers, partial license plate numbers) along with other observable data (e.g., make, model, color, damage, decals or bumper stickers). The server downloads data with respect to the vehicle of interest and selectively chooses the image-capturing unit to enable search. An image-capturing unit controller transmits commands with respect to the search result to the selected image-capturing unit and processes feedback.
The database associated with an image-capturing unit clearing house includes a fixed position, in network image-capturing unit (e.g., traffic light image-capturing unit), a fixed position, out of network image-capturing unit (e.g., security image-capturing unit, parking lot image-capturing unit, etc.) or an in and out of network mobile image-capturing unit (e.g., image-capturing units located on vehicles, etc.). The image-capturing unit performs real time lookup as the number of vehicles for any image-capturing unit at any time is relatively small. The post processing can be executed to search the image files from the captured images. It is preferred that the actual camera does as much of the work as possible in identifying the vehicle for the sake of speed. Post processing can be used to extract further information that can be passed along as part of the incident such as the name of the vehicle owner once a satisfactory serial number or other identifying information has been detected.
The dynamic search area algorithm (e.g., implemented in the context of a module) can determine the radius of search based upon a sighting and a probable path with respect to the vehicle and calculates the trajectory of the vehicle and the data can be erased upon notifying to the authority. The data that is not of interest is not stored and data of interest can be transmitted back to the incident management module. The system rapidly processes the image in real time and alerts the authorities with higher crime solve rate and extends current transportation related services offered by ACS. The system also improves image-capturing unit resolution and processing speed and increases the speed of detection and alerting mechanism.
Such an approach provides the ability to dynamically process traffic camera images to search for vehicles of interest and report their location to authorities in real time. The data does not need to be stored at all and only specific vehicles are identified rather than collecting data regarding every vehicle photographed.
The accompanying figures, in which like reference numerals refer to identical or functionally-similar elements throughout the separate views and which are incorporated in and form a part of the specification, further illustrate the present invention and, together with the detailed description of the invention, serve to explain the principles of the present invention.
The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate at least one embodiment and are not intended to limit the scope thereof.
The embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which illustrative embodiments of the invention are shown. The embodiments disclosed herein can be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
As will be appreciated by one skilled in the art, embodiments can be implemented in the context of, for example, a method, data processing system, or a computer program product. Accordingly, embodiments may also take the form of an entire hardware embodiment, an entire software embodiment or an embodiment combining software and hardware aspects all generally referred to herein as a “system,” “circuit” or “module.” Furthermore, embodiments may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium. Any suitable computer readable medium may be utilized including hard disks, USB Flash Drives, DVDs, CD-ROMs, optical storage devices, magnetic storage devices, etc.
Computer program code for carrying out operations of the present invention may be written in an object oriented programming language (e.g., Java, C++, etc.). The computer program code, however, for carrying out operations of the present invention may also be written in conventional procedural programming languages such as the “C” programming language or in a visually oriented programming environment such as, for example, Visual Basic.
The program code may execute entirely in the camera system, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer. In the latter scenario, the remote computer may be connected to a user's computer through a local area network (LAN) or a wide area network (WAN), wireless data network e.g., WiFi, Wimax, 802.xx, and cellular network or the connection may be made to an external computer via most third party supported networks (for example, through the Internet using an Internet Service Provider).
The embodiments are described at least in part herein with reference to flowchart illustrations and/or block diagrams of methods, systems, and computer program products and data structures according to embodiments of the invention. It will be understood that each block of the illustrations, and combinations of blocks, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block or blocks.
As illustrated in
Note that in some embodiments, the image-capturing unit 108 may include its own CPU to run a software program. Processor 101 functions as such CPU. The camera or image-capturing unit 108 can be capable of receiving remote commands and other data to help match images to the vehicle of interest (e.g., white 1960 Chevy Impala). In this example, the image-capturing unit 108 shown in
Note that in some embodiments, the objective of the camera processor 101 can be to detect a vehicle of interest based on the details that the requestor provides. As an example, the requestor knew that the vehicle was a 2004 Volkswagen Passat, but only saw the first two digits of the license plate “D5”. If the unit 312, for example, captures an image of a 2004 Passat with license plate number D592W7, it will declare a hit and send back the data. The central processor 101 can verify the image data, check the license plate number, etc., and then augment the record. Likewise, if the requestor had the whole license plate and the camera only caught the first two digits and the correct make/model, it would still declare a hit and let the CPU or processor 101 determine if it is accurate. Regarding the number of passengers, this is not necessarily a requestor option. The camera images can sometimes show the number of occupants, but cameras can rarely capture that level of detail. Regarding speed and direction, if the camera can capture it, then it can be sent to the centralized unit for determining, for example, the search radius or area (e.g., not necessarily a circle).
The following discussion is intended to provide a brief, general description of suitable computing environments in which the system and method may be implemented. Although not required, the disclosed embodiments will be described in the general context of computer-executable instructions such as program modules being executed by a single computer. In most instances, a “module” constitutes a software application.
Generally, program modules include, but are not limited to, routines, subroutines, software applications, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types and instructions. Moreover, those skilled in the art will appreciate that the disclosed method and system may be practiced with other computer system configurations such as, for example, hand-held devices, multi-processor systems, data networks, microprocessor-based or programmable consumer electronics, networked PCs, minicomputers, mainframe computers, servers, and the like.
Note that the term module as utilized herein may refer to a collection of routines and data structures that perform a particular task or implements a particular abstract data type. Modules may be composed of two parts: an interface, which lists the constants, data types, variable, and routines that can be accessed by other modules or routines, and an implementation, which is typically private (accessible only to that module) and which includes source code that actually implements the routines in the module. The term module may also simply refer to an application such as a computer program designed to assist in the performance of a specific task such as word processing, accounting, inventory management, etc. The term module can also refer in some cases to a physical hardware component. The same holds true for the term unit utilized herein. That is, a unit may be a module (e.g., hardware module, software module) or a device such as a camera, etc.
The interface 153, which is preferably a graphical user interface (GUI), also serves to display results, whereupon the user may supply additional inputs or terminate the session. In an embodiment, operating system 151 and interface 153 can be implemented in the context of a “Windows” system. It can be appreciated, of course, that other types of systems are possible. For example, rather than a traditional “Windows” system, other operation systems such as, for example, Linux may also be employed with respect to operating system 151 and interface 153. The software application 154 can include a detection and tracking module 152 for detecting and tracking a vehicle of interest utilizing, for example, one or more traffic image-capturing units such as, for example, camera 108 shown in
In general, it should be noted that detection can be accomplished by a camera or image-capturing unit such as camera 108 shown in
The detection and tracking module 152 can further include a request service management module 322, an incident management module 332, an image-capturing unit clearing house 342, a dynamic search area module 352, an image-capturing unit controller 362, and a trajectory processor 372. For example, the image-capturing unit 312 (e.g., camera) associated with the centralized server 310 can capture an image of the vehicle 302 within an effective field of view. The detection and tracking module 152 can also be configured to include a facial and/or body detection module 343. That is, in some embodiments, the disclosed approach can be utilized for tracking people with facial recognition software and/or body recognition software. For example, such a module 343 can analyze image data captured of passengers in one or more of the vehicles 302, 303, 305, etc., for use in detecting and tracking individuals associated with one or more of the vehicles 302, 303, 305. License plate photo data contained in, for example, the image capturing unit clearing house 342 may be analyzed and compared against facial data collected by camera 312 with respect to one or more of the vehicles 302, 303, 305.
One or more vehicles 302, 303, and/or 305 may be, for example, automobiles, cars, trucks, vans, buses, motor homes, tankers, motorcycles, or other vehicles, etc., as well as trailers of all kinds in-tow. The image-capturing unit 312 can be operatively connected to the centralized server 310 via a network 314. Note that the image-capturing unit 312 described in greater detail herein are analogous or similar to the image-capturing unit 108 of the data-processing system 100, depicted in
Note that the network 314 may employ any network topology, transmission medium, or network protocol. The network 314 may include connections such as wire, wireless communication links, or fiber optic cables. Network 314 can also be an Internet representing a worldwide collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational, and other computer systems that route data and messages.
The request service management module 322 verifies a request from an authority 316 (e.g., a police dispatcher) to detect a vehicle such as vehicle 302, 303, and/or 305 based on several criteria with respect to an incident. The incident may be, for example, a crime carried out utilizing a vehicle. The incident management module 332 maintains and dynamically updates information with respect to the incident. The image-capturing unit clearing house 342 can be configured to include a database of a set of image-capturing units along with the location. The image-capturing unit 312 can be selected from the set of image-capturing units in order to enable a search.
The image-capturing unit controller 362 transmits commands with respect to the search result to the selected image-capturing unit 312 and processes feedback. The dynamic search area module 352 can calculate an area and/or radius of search 354 based on initial location, elapse time, probable vehicle speed, and the trajectory processor 372 alerts another image-capturing unit for tracking. The data of interest can be transmitted back to the incident management module 332 to dynamically update the details. A notification can be sent to the authority 316 upon spotting the vehicle of interest 302 by the image-capturing unit 312.
The incident management module 332 keeps track of requests and maintains details of the incident. A search algorithm invoke module 334 and an incident-updating module 336 can dynamically update details as more information is gathered. A requester can convey what he or she wants to be collected about a target of interest (e.g., full license plate, number of passengers, inferred vehicle speed, etc.). In one example scenario, if a requestor describes the make and model of the vehicle and the fact that it had a broken windshield and indicates the first two digits of the license plate, the vehicle can be detected based on this data and updated information generated such as, for example, a complete license plate number, known vehicle spotting information, image-capturing units enlisted in the search, etc. Note that the image capturing unit controller 362 in association with a camera or image-capturing unit (e.g., camera 312 shown in
The image-capturing unit clearing house 342 can function as a database that includes, for example, data indicative of all image-capturing units that are available and capable for the search and which have been engaged. Examples of information contained in the clearing house 342 include, for example, a fixed position in-network image-capturing unit(s) 344 (e.g., one or more traffic light image-capturing units), out of network imaging-capturing units 346 (e.g., security image-capturing unit, parking lot image-capturing unit, etc.) along with a current status and search list 348. In some embodiments, an in and out of network mobile image-capturing unit (not shown in
The clearing house 342 may also include or be associated with a certification module 345. That is, in some cases image-capturing units may possess certain characteristics which may come into play for selecting them for engagement. Thus, a certification process can be implemented via the certification module 345, which qualifies the device for having the minimum capabilities that an image-tracking unit should have in order to be used. Such a certification module 345 can also include instructions that define the minimum amount of commands that a certified unit can interpret and operate on.
Note that the image-capturing unit clearing house 342 can also include in some embodiments, security image-capturing units or image-capturing units located on public transportation, police or private transportation along with the location. A security image-capturing unit located on private vehicles and private mobile communication devices can also be employed for searching process. Of course, it can be appreciated that this may be an optional feature. For example, owners/operators of private cameras, whether they be for home security, mounted on, for example, an RV, or Google Glass, can be offered the ability to opt out in or out any time a request comes through to use their equipment. In general, the server 310 is capable of downloading data with respect to a vehicle of interest such as, for example, vehicles of interest 302, 303, 305 shown in
Once the image-capturing unit 312, for example, spots one of the vehicles, the authority 316 can be notified and the server 310 projects where the vehicle 302 might be going next and alerts another set of image-capturing units to look for the vehicle(s). The image-capturing units 312 can perform real time lookups since the number of vehicles for any image-capturing unit 312 at any time is relatively small. The image-capturing unit clearinghouse 342 further includes a current status and searching list 348 with respect to the detection of the vehicle of interest 302.
The dynamic search area module 352 can determine the image-capturing unit(s) 312 that needs to be engaged in the search at any one time. The dynamic search area module 352 can also calculate the area and/or radius of search 354 based on information such as, for example, the initial location, an elapsed time, and probable vehicle speeds (e.g., based on traffic conditions) while constantly monitoring results and sending data to the image-capturing unit controller 362. The trajectory processor 372 calculates the trajectory 314 of the vehicle. Once a notification goes out and module 352 calculates the trajectory 314 of the vehicle of interest, particular data can be then erased.
The image-capturing unit controller 362 can include, for example, a data transmitting receiving unit 364, a result-monitoring unit 366, and a notification unit 368. The data transmitting receiving unit 364 transmits commands to the selected image-capturing units 312 and processes feedback. The actual processing of images takes place on the image-capturing unit 312. Data that is not of interest is not stored. Data of interest is sent back to the incident management module 332 and images are not stored.
Initially, as indicated at block 410, a request from the authority 316 to detect specific vehicle 302 can be verified based on, for example, several criteria. Information with respect to the incident can be maintained and dynamically updated by an incident management module 332, as illustrated at block 420. The image-capturing unit 312 can be selected from a set of image-capturing units along with the location stored in a database in order to enable a search, as indicated at block 430. The image-capturing unit controller 362 transmits commands with respect to the search result to the selected image-capturing unit 312 and processes feedback, as shown at block 440.
A notification can be sent to the authority 316 upon spotting a vehicle of interest (e.g., vehicles 302, 303, 305) by the image-capturing unit 312, as depicted at block 450. The radius and/or area of search based on initial location, elapse time, and probable vehicle speed can be calculated by the dynamic search area module 352 and trajectory processor 372 to alert another image-capturing unit for tracking, as mentioned at block 460. The data of interest can be transmitted back to the incident management module 332 to dynamically update the details, as depicted at block 470.
The system 300 can include a network of image-capturing units, which can be dynamically instructed (or requested) to search for specific vehicles based on several criteria, not simply a license plate number. The dynamic search area module 352 can determine the radius or area of search 354 based upon data indicative of sightings and probable paths of the vehicle of interest. The system 300 performs immediate real time image processing at the image-capturing unit 312 rather than post processing at the server 310 and provides faster alerts to the authority 316. The searches can be performed for specific vehicles and the request can be verified. The system 300 provides higher crime solve rate, business relevance and opportunity, and extends the current transportation related services offered by ACS. The system 300 also improves image-capturing unit resolution and processing speed and increases the speed of detection and alerting mechanism.
It will be appreciated that variations of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also, that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.