Abstract:
A system and method for processing images includes a plurality of image providers configured to transmit images. A plurality of destination processors receives the transmitted images and transforms the transmitted images to internally useable image data. A plurality of feature object engines find and identify in the internally useable image data a plurality of objects. A plurality of object classifier engines index and classify the plurality of objects found by the feature object engines.

Description:
This application claims priority from U.S. Provisional Patent Application Ser. No. 60/864,840 entitled “System and Method for Processing Images From a Large Number of Disparate Cameras” filed Nov. 8, 2006, which is incorporated herein by reference in its entirety. 
    
    
     BACKGROUND 
     There are numerous applications where video images are taken and recorded. Some of these applications involve the recording of video while a transaction is taking place, e.g., at an ATM or at a bank counter. The use of video recording is anticipated to increase significantly in the immediate future, such as in shopping centers, aboard buses and trains, and the like. Digital recording of video takes enormous amounts of recording space despite compression techniques such as MPEG, the use of slow video acquired at several frames per second rather than at a full 30 frames-per-second, and reductions in resolution. As a result, the recording times of digital recorders with multiple video inputs are still limited despite the use of large Giga and Terra Byte storage devices. 
     For some time now, there have been market available machine vision cameras and systems that can be programmed to detect certain geometrical objects. In general these objects have a very simple geometry such as nuts, bolts, engine parts, etc. In the case of face finding and processing the current state of the art is a slow process that requires massive computing power and hardware, often resulting in a system too complex to be reliable and manageable. Such a system, since requiring many components to be feasible, is difficult to deploy and scale. 
     A real-time processing system built with the current state-of-the-art would be cost prohibitive; as a compromise, system architects of these systems often trade-off complexity for performance. This typically results in small systems processing recorded images. Such systems are slow and incapable of processing images in real time. An improved system for image recognition is highly desirable. 
     SUMMARY OF THE INVENTION 
     In one embodiment, the invention provides a system for processing images, the system including a plurality of image providers configured to transmit images. A plurality of destination processors receives the transmitted images and transforms the transmitted images to internally useable image data. A plurality of feature object engines finds and identifies in the internally useable image data a plurality of objects. A plurality of object classifier engines index and classify the plurality of objects found by the feature object engines. 
     In another embodiment, the invention is a method for processing images. Images are transmitted to a destination processor. The received images are transformed to internally usable data. A plurality of objects is identified in the internally useable image data. 
     In yet another embodiment, the invention is an image source comprising an image provider configured to transmit an image to an image enhancement device and an image enhancement device configured to add additional information to the image and to retransmit the image. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a high level block diagram of one embodiment of a system for processing images from at least one of a plurality of image providers and transmitting the results to at least one of a plurality of destination processors. 
         FIG. 2  is a detailed block diagram of one embodiment of a system for processing images from at least one of a plurality of image providers and transmitting the results to at least one of a plurality of destination processors. 
         FIG. 3  is a diagram illustrating some of the types of image providers that may provide images to at least one embodiment of the disclosed system and method. 
         FIG. 4  is a diagram illustrating some of the types of destination processors that may receive processing results from at least one embodiment of the disclosed system and method. 
     
    
    
     DETAILED DESCRIPTION 
     In one embodiment, the invention is directed to a system for processing multiple image sources in real time as static data or streams, multiple recorded images as static data or streams, media files, or any combination of the above. The system may classify multiple objects in the image concurrently based on their features and generate feature based indexing results. The system may classify and index the found objects in the images based on their closeness to the feature set used to search. The system may search for multiple, uncorrelated patterns or supersets of features concurrently. For example, the system may be provided with the capability to search concurrently for multiple patterns in the same image at the same time by distributing the processing load among its processing units such that specific units are searching for specific patterns at a given time. 
     The system may be implemented such that it is capable of changing its behavior on the fly by field reconfiguration while in operation, by switching in real time to search for a new pattern as soon as the new pattern is available to its engines through the downloading process. The system may be redundant and hot swappable, providing no single point of failure. This functionality may be obtained by duplicating the processing paths, sharing and redistribution of processing loads and load balancing, while also providing hot spares capable of taking over the work of faulty units in the system. Every single unit in the system may be provided with hot swap capability. 
     The system may provide various outputs consisting of both image and textual data. The system may be implemented such that it is capable of using specific image patterns as trigger events. This means that once specific patterns have been found in the images, those events can trigger the generation and output, in standardized formats, of, for example: video streams starting from a user-specified point in time relative to the trigger event; static images at user-specified times relative to the trigger event; metadata related to the triggering event such as input image source identification, timestamps and physical location and orientation of the image source, type, position, and size of the found patterns in the image, and other comprehensive standardized tags that facilitate database indexing of the event and its accompanying data. 
     Referring first to  FIG. 1 , in one embodiment, the invention is directed to a system  100  for processing images from at least one of a plurality of image providers  200  and transmitting the processing results to at least one of a plurality of destination processors  300 . Referring next to  FIG. 2 , the image processing system  100  connects to image providers  200  through real-time data stream acquisition interfaces  101  and real-time static data acquisition interfaces  102 , transforms the provided data, using at least one of a plurality of image formatter engines  110 , into internally useable image data formats, specifies, through a feature object engine  121 , at least one of a plurality of specific, uncorrelated and complex feature-based objects types to be found and identified in the image data. 
     In one embodiment, the system finds and identifies in the image data, using at least one of a plurality of object finder engines  120 , multiple objects of the required type specified by the feature object engine  121 , indexes and classifies, using at least one of a plurality of object classifier engines  122 , the plurality of objects found by the object finder engine  120 , stores image data, using at least one of a plurality of data storage engines  130 , related to pre- and post-object finding, and generates alerts. The system may additionally provide a system management engine  150 , to the entire system which performs operations such as status report generation, on the fly reconfigurability, code updates, upgrades, and so forth. 
     Referring next to  FIG. 3 , in one embodiment, any one of the plurality of the image providers  200  may provide any type of real-time or recorded, dynamic or static image data streams or files such as: any type of video capture devices  201  such as analog or digital video cameras; any type of video storage devices  202  such as analog or digital video recorders; any type of static image acquisition devices  203  such as digital photo cameras and scanners; any type of static image storage devices  204  such as digital computer files; or any combination of the above such as other image acquisition systems  205 . 
     Referring next to  FIG. 4 , in one embodiment, any one of the plurality of the destination processors  300  may be: any computer-based client application  301  such as software applications; any type of visual transducers  302  such as visual displays; any type of video transducers  303  such as video displays; any type of audio transducers  304  such as telephones; or any combination of the above  305 , for example, a field dispatch system. 
     In one embodiment, the system may be used for face recognition. The output may be user definable and comprise one or more of the following: a standardized format video stream starting from a user specified point in time relatively to a trigger event; or a static image of standardized format such as a normalized ICAO International Civil Aviation Organization Type 2 and/or Type 3 image. This implies processing and improving the quality of an image in such a way to provide an optimum face image to a face recognition system that is internationally recognized and used for biometric face recognition and travel document other standardized image formats. 
     Metadata related to the triggering event may be: input image source identification file or camera; timestamps and physical location and orientation of the image source in the case of a camera it refers to its deployment location—GPS coordinates for outdoor camera—and its orientation—direction of where camera is looking—compass coordinates; position and size of faces found in the image together with primary landmarks, position of eyes and optional secondary landmarks positions of tip of the nose, corners of mouth, chin, etc., orientation of the face pitch, roll, and yaw angles, quality of the face image blur factor, brightness/contrast factors, etc. 
     In one embodiment, the system may be based on embedded processor architecture which provides a number of advantages: reduced footprint; reduced power consumption; reduced heat dissipation; automatic, fast system booting; easy and user friendly deployment practically deployable anywhere; modular deployment configuration tailored to user&#39;s needs; and scalable and tailored to user&#39;s needs (i.e. single to large enterprise camera source.) 
     One image source disclosed herein is hereinafter referred to as a “Camera Passport.” A Camera Passport is a small low power device that when attached to deployed cameras provides both preprogrammed and real time camera information data embedded in the video data signal or stream. For example, in the case of the analog cameras, the Camera Passport device is attached as a pass-through on the video data signal path embedding the camera information on the Vertical Blanking Interval, similar to close captioning systems. In fact, the embedded data is compatible with the close captioning format facilitating the visualization of the camera information on any closed-captioning-enabled display set. 
     The information data embedded in the video signal relates to, but is not limited to: unique identification number that is user or factory programmable for the camera; optional programmable name and location; optional GPS location data; optional compass orientation data; optional manual and user alerts. Any or all of these embedded data can be used for video routing and/or modification of system behavior. Video routing commands can be as simple as making a video feed the highest priority and display it on the alerts monitors at the monitoring station. 
     The video routing commands may respond to alerts, which may be related to, for example, an officer in distress. An officer in vicinity of a camera can issue an encoded radio distress information signal which is received by the Camera Passport device and forwarded via the video cable to the monitoring station. In the case of a stolen car where cars are quipped with antitheft devices, the device may emit a distress signal which will cause the image from a particular camera, and any subsequent camera that receives that distress signal, to be displayed on the alerts monitors at the monitoring station. 
     Fire/smoke in the surveillance area (such as fire/smoke/explosion patterns, which when found will be treated as trigger events) may generate an alert. Motion, for example, in the case of surveillance areas where no motion is allowed at specific periods of time, may also generate an alert. The system may also process more complex objects, such as human faces or moving military vehicles, which have many different and dissimilar appearances. In the case of face finding most of the applications will center on the capture of facial images and only sometimes will require the capture of the “scene”, i.e. the full field of view of the camera. The system may also capture full video that might be useful, as in the case of a hold-ups, altercations of some kind, etc. where additional motion-containing information may be of benefit. 
     The use of face-finding algorithms together with the use of image analysis software to determine the best pose, best quality facial image, facial feature points, eye locations may enable the saving of huge amounts of recording space when only a single, good quality, image is recorded per transaction/incident. Additionally, image processing software to correct images such as de-tilting, color saturation and balance, exposure and sizing as example may save computer processing time and eliminate the need for external processors. 
     Even though the above sections refer to facial detection and associated image quality analysis it should be realized that such are only examples of pattern recognition of one kind or another. Note that noise may also be a trigger event, for example, in the case of surveillance areas where no noise is allowed at specific periods of time, when noise is detected it will be treated as a trigger event. 
     The invention as taught and described herein may be used in combination with the systems and methods described in U.S. patent application Ser. No. 11/929,429 entitled “Computerized Biometric Passenger Identification System and Method” filed Oct. 30, 2007, the entire disclosure of which is incorporated herein by reference. 
     While the invention has been particularly shown and described with reference to a preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention.