The present invention relates generally to information processing systems and more particularly to a methodology and implementation for processing information obtained by one or more on-board vehicle video systems.
Today's crowded, high speed driving conditions call for a system to aid driver safety. Some currently available systems are operable to inform a driver of roadway and/or routing conditions on a given day along a selected route but there are no currently available systems directed to obtaining and saving a real-time record of, and alerting a driver concerning, dynamic safety conditions that may affect a driver of a specific vehicle.
Thus there is a need for an improved methodology and implementing system which provides more personalized safety condition information to a user regarding current safety conditions relevant to a specific driver in a specific vehicle at a given point in time, and also, saving a record of such conditions for subsequent availability.
A method, program product and implementing computer system are provided in which one or more a vehicle mounted cameras provide a video feed of the areas surrounding a camera-equipped (CE) vehicle to an on-board computer system for analysis and processing. The computer system determines which if any nearby vehicles pose an increased risk to the driver of the camera-equipped vehicle by analyzing image information obtained by the CE vehicle to determine unsafe driving patterns and/or an unsafe rate of closure of the nearby vehicle relative to said CE vehicle. The CE vehicle is also operable for accessing vehicle information contained in remote computer databases using a detected license plate number of nearby vehicles and informs the driver if the database record of the nearby vehicle indicates a possible current threat to the camera-equipped vehicle. CE vehicle performance data may also be acquired at times when CE vehicle images are taken, and such data may be associated with corresponding images and sent along with the images to be saved at remote computer systems for current and/or subsequent access and analysis.
A better understanding of the present invention can be obtained when the following detailed description of an exemplary embodiment is considered in conjunction with the following drawings, in which:
Various aspects are now described with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more aspects. It may be evident, however, that the various aspects may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing these aspects. As used in this application, the terms “component”, “module”, “system”, and the like are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
The word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs.
Furthermore, the one or more versions may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed aspects. The term “article of manufacture” (or alternatively, “computer program product”) as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips, optical disks (e.g., compact disk (CD), digital versatile disk (DVD), smart cards, and flash memory devices (e.g., card, stick). Additionally it should be appreciated that a carrier wave can be employed to carry computer-readable electronic data such as those used in transmitting and receiving electronic mail or in accessing a network such as the Internet or a local area network (LAN). Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope of the disclosed aspects.
Various aspects will be presented in terms of systems that may include a number of components, modules, and the like. It is to be understood and appreciated that the various systems may include additional components, modules, etc. and/or may not include all of the components, modules, etc. discussed in connection with the figures. A combination of these approaches may also be used. The various aspects disclosed herein can be performed on electrical devices including devices that utilize touch screen display technologies and/or mouse-and-keyboard type interfaces. Examples of such devices include computers (desktop and mobile), smart phones, personal digital assistants (PDAs), and other electronic devices both wired and wireless.
The various methods discussed herein may be implemented within a typical computer system which includes processing means, memory, updateable storage, input means and display means, in combination with a global positioning system (GPS) and communication means for communicating information between individual user systems and a central server system accessible by users of the system. Since the individual components of a computer system which may be used to implement the computer functions used in practicing the present invention are generally known in the art and composed of electronic components and circuits which are also generally known to those skilled in the art, circuit details beyond those shown are not specified to any greater extent than that considered necessary as illustrated, for the understanding and appreciation of the underlying concepts of the present invention and in order not to obfuscate or distract from the teachings of the present invention.
The on-board computer can, inter alia, identify two or more types of threats from other nearby vehicles. For example, the disclosed system is enabled to identify immediate threats posed by the other driver's current driving behavior (i.e. speed differential, frequent lane changing, swerving, etc.). The disclosed system is also enabled to determine a statistical threat determined from past vehicle history (i.e. number of accidents involved in, traffic tickets associated with nearby vehicles.
For immediate threats, the on-board computer can analyze the video for vehicle positional information in conjunction with the drivers known speed, looking for behaviors that could pose a danger. If such vehicles are found, the computer informs the driver to be on the lookout for an immediate threat. This could be via audible alarms, synthetic voice alarms, heads-up display, or physically such as via seat vibration. Camera(s) can identify vehicles in proximity to CE vehicle and track their position and size within images over time to determine, for example, the rate of closure with CE vehicle. Vehicles will appear larger as they approach the CE vehicle. The change of size over time allows calculation of closure rate. High closure rates are potentially dangerous. Further, aggressive driving behavior can be associated with vehicles making very quick or multiple lane changes over a short time. Such driving behavior can be detected as an indication of an unsafe driving pattern and provide a basis for an alarm to be activated in the CE vehicle. DUI behavior may be indicated by the detection of a vehicle swerving within a lane or frequently crossing over lane markings. These indicators are sometimes subtle and are not noticed by drivers not trained to look for them. A computer visual system is ideally suited to monitor for this type of driving behavior.
For statistical threat information, the on-board computer can recognize license plates within the video and determine the license plate number (using existing image analysis technology.) The license plate numbers are wirelessly sent to a server which accesses department of motor vehicles or other available public and/or private insurance industry databases to collect information about the vehicle's accident and traffic ticket history. If a vehicle is found to have a significantly elevated risk, the computer informs the driver using a relatively less urgent mechanism that there is an elevated risk by being near the subject vehicle, perhaps via an in-dash warning indicator. In one example, a driver is enabled to input to a preference screen (not shown) on a display device in the vehicle to associate a relative urgency level to predetermined types of vehicle incidents which may be identified in a license plate search.
CE vehicle performance data may also be acquired at times when CE vehicle images are taken, and such data may be associated with corresponding images and sent along with the images to be saved at remote computer systems for current and/or subsequent access and analysis.
Warning indicators which may be implemented in connection with the disclosed system include but are not limited to audible, visual and vibrating seat alarms of varying intensities, and various combinations of such alarms for different situations. In one example, the user may be presented with an input screen on an in-vehicle display such that the user may select which alarms are activated for which driving situations. For example a driver may wish to have a vibrating seat alarm and an audio and visual alarm activated concurrently when erratic driving behavior is detected for a nearby vehicle while, at the same time, the driver may wish to have only a softer audio alarm or voice alarm sounded when it is determined that an identified nearby vehicle has had several moving vehicle violations in the recent past. The driver may also input if certain kinds of driver violations are to be treated more seriously than others. For example, DUI violations associated with a nearby vehicle may be treated as more of a present threat to a driver than parking violations and a violation occurring within the most recent six months for example may be processed as more of a current threat, and therefore result in a more pronounced alarm, than violations which occurred more than six months ago. The precise algorithm and associated alarms may be input to an onboard alarm and processing system by a driver before a trip or determined ahead of time by the driver or a third party such as an automobile manufacturer. The alarm system may also be selectively de-sensitized or even inactivated by a driver for example when the driver will be driving in a low speed limit and/or crowded driving environment, and does not want to be notified.
In
The on-board processing system also includes a communication device for selectively communicating 111 with servers 115 and 117 for example through an interconnection network 113. Servers 115 and 117 may be public and/or private servers which include vehicle information databases accessible by the CE vehicle 103 to return accident-related information in which an identified vehicle has been involved. The vehicle databases may include, for example, the color, make, model and year of a vehicle and also the State of Registration and inspection status for the vehicle. Other retrievable information would include the type of and the number of vehicle incidents by date in which a searched-for or “subject” vehicle has been involved during a predetermined past period of time leading up to and including real-time or current information. The vehicle information databases may also be arranged to selectively provide images from various perspective views of a subject vehicle which may be downloaded to and displayed upon a display device of a CE vehicle in response to a license plate input from the CE vehicle to one or more vehicle information databases. It is noted that all of the vehicle information requested by a CE vehicle may not be stored at only one of the databases and therefore the system is designed to access one or more vehicle information databases to acquire all of the vehicle information required by a specific vehicle information accessing application.
In
For example, as shown in
It is noted that alarm criteria may be predetermined by driver input to an alarm criteria preference screen (not shown) on the display system 211 or input to the system by other entities such as the vehicle manufacturer or other public safety or other organization. As an example, a driver may select alarm criteria as including any speeding violation within the previous six months, any DUI incidents involving the vehicle being searched at anytime within the last year, any hit-and-run or collision incident in which the searched vehicle was involved within the last year, or other similar criteria. The driver of the CE vehicle may also select to associate certain incidents with related alarm types and/or intensities. For example, any DUI incident involving the vehicle being searched at the vehicle information servers may invoke a high alarm condition with a relatively loud audio in combination with an attention-getting video display and a relatively active vibrating seat, while a less severe incident such as a minor accident involving the searched vehicle which occurred more than a year ago, would invoke only a moderate audio alarm.
The alarm process 601 as shown in
In another exemplary embodiment, the actual images captured by one or more cameras of the CE vehicle are automatically and immediately sent to a remote computer system outside of the CE vehicle where the images are saved for subsequent access. As noted earlier, the images may be captured, i.e. pictures taken, automatically at a predetermined frequency and the frequency of image acquisition may be set by a user and/or other authorized entity to provide a record of events occurring nearby a CE vehicle over a period of time. It is also noted that related vehicle performance and/or other CE vehicle-related information such as time-of-day, date, mileage, speed, etc., may also be associated with the images at a time the images are obtained and saved along with the images at a remote server or other remote computer system for subsequent access by authorized entities.
The flowchart and block diagrams illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It is understood that the specific example presented herein is not intended to be limiting since the functional combinations disclosed herein may be implemented in many different environments and applications including, for example, applications involving the visualization of business processes and movement of emails, task lists, task list items and other system data components within an overall system data containment environment or application.
The method, system and apparatus of the present invention has been described in connection with an exemplary embodiment as disclosed herein. The disclosed methodology may be implemented in a wide range of sequences, menus and screen designs to accomplish the desired results as herein illustrated. Although an embodiment of the present invention has been shown and described in detail herein, along with certain variants thereof, many other varied embodiments that incorporate the teachings of the invention may be easily constructed by those skilled in the art, and even included or integrated into a processor or CPU or other larger system integrated circuit or chip. The disclosed methodology may also be implemented solely or partially in program code stored on a computer program product comprising one or more computer-readable, tangible storage device(s) and computer-readable program instructions stored on the computer-readable, tangible storage device(s) in any portable or fixed, volatile or non-volatile memory device, including CDs, RAM and “Flash” memory, or other semiconductor, optical, magnetic or other memory device capable of storing code. The disclosed methodology may also be implemented using any available input and/or display systems including touch-sensitive screens and optically-sensitive input pads. Accordingly, the present invention is not intended to be limited to the specific form set forth herein, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents, as can be reasonably included within the spirit and scope of the invention.