# Patent

## Title
System for surveillance by integrating radar with a panoramic staring sensor

## Abstract

Described is system for surveillance that integrates radar with a panoramic staring sensor. The system captures image frames of a field-of-view of a scene using a multi-camera panoramic staring sensor. The field-of-view is scanned with a radar sensor to detect an object of interest. A radar detection is received when the radar sensor detects the object of interest. A radar message indicating the presence of the object of interest is generated. Each image frame is marked with a timestamp. The image frames are stored in a frame storage database. The set of radar-based coordinates from the radar message is converted into a set of multi-camera panoramic sensor coordinates. A video clip comprising a sequence of image frames corresponding in time to the radar message is created. Finally, the video clip is displayed, showing the object of interest.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This is a Continuation-in-Part application of U.S. Non-Provisional application Ser. No. 13/743,742, filed in the United States on Jan. 7, 2013, entitled, “A Method and System for Fusion of Fast Surprise and Motion-Based Saliency for Finding Objects of Interest in Dynamic Scenes”, which is a Continuation-in-Part application of U.S. Non-Provisional application Ser. No. 12/982,713, filed on Dec. 30, 2010, entitled, “System for Identifying Regions of Interest in Visual Imagery”, now issued as U.S. Pat. No. 8,774,517, which is a Continuation-in-Part application of U.S. Non-Provisional application Ser. No. 12/214,259, filed on Jun. 16, 2008, entitled, “Visual Attention and Segmentation System,” now issued as U.S. Pat. No. 8,363,939. U.S. Non-Provisional application Ser. No. 13/743,742 is ALSO a Continuation-in-Part application of U.S. Non-Provisional application Ser. No. 13/669,269, filed on Nov. 5, 2012, entitled, “Motion-Seeded Object Based Attention for Dynamic Visual Imagery”, which is a Continuation-in-Part application of U.S. Non-Provisional application Ser. No. 12/214,259, filed on Jun. 16, 2008, entitled, “Visual Attention and Segmentation System”, now issued as U.S. Pat. No. 8,363,939, which is a Continuation-in-Part application of U.S. Non-Provisional application Ser. No. 11/973,161, filed on Oct. 4, 2007, entitled, “Visual Attention and Object Recognition System”, now issued as U.S. Pat. No. 8,165,407. U.S. Non-Provisional application Ser. No. 13/743,742 is ALSO a Non-Provisional patent application of U.S. Provisional Application No. 61/589,761, filed in the U.S. on Jan. 23, 2012, titled, “A Method and System for Fusion of Fast Surprise and Motion-Based Saliency for Finding Objects of Interest in Dynamic Scenes.”
This is ALSO a Continuation-in-Part application of U.S. Non-Provisional application Ser. No. 14/203,256, filed in the United States on Mar. 10, 2014, entitled, “Graphical Display and User-Interface for High-Speed Triage of Potential Items of Interest in Imagery”, which is a Non-Provisional application of U.S. Provisional Application No. 61/779,320, filed in the United States on Mar. 13, 2013, entitled, “Graphical Display and User-Interface for High-Speed Triage of Potential Items of Interest in Imagery.”
This is ALSO a Continuation-in-Part application of U.S. Non-Provisional application Ser. No. 13/669,269, filed in the United States on Nov. 5, 2012, entitled, “Motion-Seeded Object Based Attention for Dynamic Visual Imagery”, which is a Continuation-in-Part application of U.S. Non-Provisional application Ser. No. 12/214,259, filed in the United States on Jun. 16, 2008, entitled, “Visual Attention and Segmentation System”, now issued as U.S. Pat. No. 8,363,939.


GOVERNMENT LICENSE RIGHTS
This invention was made with government support under U.S. Government Contract Number W31P4Q-08-C-0264. The government has certain rights in the invention.


BACKGROUND OF THE INVENTION
(1) Field of Invention
The present invention relates to a system for surveillance and, more particularly, to a system for surveillance by integrating radar with a panoramic staring sensor.
(2) Description of Related Art
There are several existing surveillance systems that combine camera and radar which are designed for ground-level surveillance. Among them are (1) the Night Vision Labs Cerberus Scout manufactured by MTEQ located at 140 Technology Park Drive, Kilmarnock, Va.; (2) the Blighter Explorer manufactured by Blighter Surveillance Systems located at The Plextek Building, London Road, Great Chesterford, Essex, CB10 1NY, United Kingdom; (3) the Honeywell Radar Video Surveillance (RVS) system manufactured by Honeywell, which is located at 2700 Blankenbaker Pkwy, Suite 150, Louisville, Ky. 40299; and (4) the U.S. Army's COSFPS (a.k.a. the “Kraken”). While designed to be deployed in different situations, these systems all share the common base configuration of a small ground-scanning radar that scans for targets, a camera or cameras (e.g., electro-optical (EO) and infrared (IR)) that can mechanically slew and zoom to regions of interest (most likely as the result of a radar message), and an operator console that allows a human operator to either automatically slew to radar hits or examine other locations by manually controlling the camera.
Any system with a radar and single movable camera configuration will share the same limitations. The cameras in these systems are reactive, meaning that the operator slews the camera to the location of a possible target only after the system registers a radar hit. Because of this, there is an unavoidable delay between the triggering of an event in radar and the operator's examination of the event. At minimum, this delay is the time required to slew the camera to the new location, which might be enough time for the target to change positions, though a skilled operator might be able to “search” the regions surrounding the location of the radar hit and pick up the target. However, a more dangerous scenario is one in which multiple radar messages are received in quick succession of one another. In this case, the system operator must choose which targets to attend to first, quickly analyze the region, and then repeat with the subsequent radar hit locations. It is easy to imagine a scenario in which the operator is swamped by simultaneous radar hits and cannot examine them all in a timely manner. In this situation, targets will escape the vicinity of their radar location.
Thus, a continuing need exists for an advanced panoramic staring sensor that covers a wide field-of-view and continuously records the entire panorama in order to ensure that a radar target is never missed.
SUMMARY OF THE INVENTION
The present invention relates to a system for surveillance and, more particularly, to a system for surveillance by integrating radar with a panoramic staring sensor. The system comprises one or more processors and a memory having instructions such that when the instructions are executed, the one or more processors perform multiple operations. The system captures a set of image frames of a field-of-view of a scene using a multi-camera panoramic staring sensor. The field-of-view of the scene is scanned with a radar sensor to detect an object of interest. A radar detection is received when the radar sensor detects the object of interest. Based on the radar detection, a radar message indicating the presence of the object of interest is generated. Each image frame in the set of image frames is marked with a timestamp. The set of image frames is stored in a frame storage database. The set of radar-based coordinates from the radar message is converted into a set of multi-camera panoramic sensor coordinates. A video clip comprising a sequence of image frames in the set of image frames corresponding in time to the radar message is created. The video clip is displayed, wherein the video clip displays the object of interest.
In another aspect, each image frame in the set of image frames is compared to a background model with an active cognitive processor module. The active cognitive processor module detects at least one cognitive detection in an image frame, wherein the at least one cognitive detection corresponds to a region of the scene that deviates from the background model and represents the object of interest. The active cognitive processor module assigns a cognitive score and a bounding box to each cognitive detection to aid in user analysis. A higher cognitive score corresponds to a greater deviation from the background model, and the bounding box surrounds the object of interest. The cognitive detections having the highest cognitive scores are stored in the frame storage module.
In another aspect, the controller module manages cognitive detections according to the following. A list of cognitive detections having the highest cognitive scores is requested from the active cognitive processor module. For each cognitive detection in the list, a sequence of image frames comprising the image frame corresponding to the cognitive detection and a plurality of image frames before and after the image frame corresponding to the cognitive detection is requested from the capture and recording module. For each cognitive detection in the list, a video sequence corresponding to the time of the cognitive detection is constructed from the sequence of image frames. For each cognitive detection in the list, the video sequence is sent to the user interface for user analysis.
In another aspect, a cognitive score for a region of the field-of-view of the scene in which the radar message originated is retrieved from the active cognitive processor module.
In another aspect, objects of interest are detected, in parallel, with both the active cognitive processor module and the radar sensor independently.
In another aspect, the bounding box is used to perform a classification of the cognitive detection in a classification module using object recognition. A tracker is applied to the bounding box, and the bounding box is tracked across image frames using a tracking module. The tracker is used to switch between a radar message location of the object of interest to a current position of the object of interest in the field-of-view of the scene.
In another aspect, the controller module forwards the video clip to a reactive cognitive processor module, wherein the reactive cognitive processor module performs the following operations. The image frames in the video clip are compared to a background model. At least one cognitive detection is detected in at least one image frame in the video clip, wherein the cognitive detection corresponds to a region of the scene that deviates from the background model and represents the object of interest. A cognitive score and a bounding box are assigned to each cognitive detection to aid in user analysis, wherein a higher cognitive score corresponds to a greater deviation from the background model, and the bounding box surrounds the object of interest.
In another aspect, a plurality of multi-camera panoramic staring sensors is used to continuously capture the set of image frames of the field-of-view of the scene. A plurality of radar sensors are used to detect the object of interest to enable the system to scale up the field-of-view to any predetermined value up to a 360-degree field-of-view.
In another aspect, the present invention also comprises a method for causing a processor to perform the operations described herein.
Finally, in yet another aspect, the present invention also comprises a computer program product comprising computer-readable instructions stored on a non-transitory computer-readable medium that are executable by a computer having a processor for causing the processor to perform the operations described herein.



BRIEF DESCRIPTION OF THE DRAWINGS
The objects, features and advantages of the present invention will be apparent from the following detailed descriptions of the various aspects of the invention in conjunction with reference to the following drawings, where:
FIG. 1 is a flow diagram of a system for surveillance that integrates radar with a panoramic staring sensor according to the principles of the present invention;
FIG. 2A is an isometric-view illustration of a panoramic staring sensor according to the principles of the present invention;
FIG. 2B is a top-view illustration of a panoramic staring sensor according to the principles of the present invention;
FIG. 3 is an illustration of a panoramic staring sensor field-of-view according to the principles of the present invention;
FIG. 4 illustrates scalability of the system according to the principles of the present invention;
FIG. 5 is a table depicting detection results of the present invention according to the principles of the present invention;
FIG. 6 is an illustration of a data processing system according to the principles of the present invention; and
FIG. 7 is an illustration of a computer program product according to the principles of the present invention.



DETAILED DESCRIPTION
The present invention relates to a system for surveillance and, more particularly, to a system for surveillance by integrating radar with a panoramic staring sensor. The following description is presented to enable one of ordinary skill in the art to make and use the invention and to incorporate it in the context of particular applications. Various modifications, as well as a variety of uses, in different applications will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to a wide range of embodiments. Thus, the present invention is not intended to be limited to the embodiments presented, but is to be accorded with the widest scope consistent with the principles and novel features disclosed herein.
In the following detailed description, numerous specific details are set forth in order to provide a more thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without necessarily being limited to these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.
The reader's attention is directed to all papers and documents which are filed concurrently with this specification and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference. All the features disclosed in this specification, (including any accompanying claims, abstract, and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.
Furthermore, any element in a claim that does not explicitly state “means for” performing a specified function, or “step for” performing a specific function, is not to be interpreted as a “means” or “step” clause as specified in 35 U.S.C. Section 112, Paragraph 6. In particular, the use of “step of” or “act of” in the claims herein is not intended to invoke the provisions of 35 U.S.C. 112, Paragraph 6.
Please note, if used, the labels left, right, front, back, top, bottom, forward, reverse, clockwise and counter-clockwise have been used for convenience purposes only and are not intended to imply any particular fixed direction. Instead, they are used to reflect relative locations and/or directions between various portions of an object. As such, as the present invention is changed, the above labels may change their orientation.
Before describing the invention in detail, first a list of cited literature references used in the description is provided. Next, a description of various principal aspects of the present invention is provided. Subsequently, an introduction provides the reader with a general understanding of the present invention. Finally, specific details of the present invention are provided to give an understanding of the specific aspects.
(1) List of Incorporated Cited Literature References
The following references are cited throughout this application. For clarity and convenience, the references are listed herein as a central resource for the reader. The following references are hereby incorporated by reference as though fully included herein. The references are cited in the application by referring to the corresponding literature reference number, as follows:

    1. van den Broek, B.; Burghouts, G.; van den Broek, S.; Smith, A.; Hagen, R.; Anitori, L.; and van Rossum, W., “Automatic Detection of Hostile Behavior”, Proc SPIE vol 7480 74800R-1, 2009.
    2. Schwering, P. B. W.; Lensen, H. A.; van den Broek, S. P.; den Hollander, R. J. M.; van der Mark, W.; Bouma, H.; and Kemp, R. A. W., “Application of Heterogeneous Multiple Camera System with Panoramic Capabilities in a Harbor Environment”, Proc SPIE vol 7481 74810C-1, 2009.
    3. Kyungnam Kim, Thanarat H. Chalidabhongse, David Harwood, and Larry Davis, “Realtime foreground-background segmentation using codebook model,” Real-Time Imaging, Volume 11, Issue 3, June 2005.
    4. Feng, G.; Tian, W.; Huang, C.; Liu, T.; and Zhang, S., “Wide Field of View CCD Camera Based on Multi-Sensors Image Mosaics” Congress on Image and Signal Processing (CISP) 2: 432-435, 2008.
    5. Gerson, A. D.; Parra, L. C.; and Sajda, P. “Cortically Coupled Computer Vision for Rapid Image Search”. IEEE Transactions on Neural Systems and Rehabilitation Engineering, 14(2): 174-179, 2006.
    6. Huber, David J. and Khosla, Deepak. “Bio-Inspired Surprise for Real-Time Change Detection in Visual Imagery.” SPIE Defense, Security, and Sensing, Orlando, Fla., 2011.
    7. Huber, David J.; and Khosla, Deepak. “A Bio-Inspired Method and System for Visual Object-Based Attention and Segmentation.” SPIE Defense, Security, and Sensing, Orlando Fla., 2010.
    8. Boris Babenko, Ming-Hsuan Yang, Serge Belongie “Robust Object Tracking with Online Multiple Instance Learning” IEEE TPAMI, August 2011.
    9. Kim, Kyungnam; Chen, Yang; Honda, Alexander L.; Jeong, Changsoo S.; Cheng, Shinko Y.; Zhang, Lei; Khosla, Deepak; and Kubena, Randall L. “Bio-Inspired Algorithms for Target Detection and Classification in Airborne Videos.” AUVSI Unmanned Systems North America. Las Vegas, Nev., USA. 2012.
    10. Khosla, Deepak; Huber, David J.; Bhattacharyya, Rajan; Daily, Michael J. “Neurally-Inspired Rapid Detection of Sparse Objects in Videos.” SPIE Defense, Security, and Sensing, Orlando Fla., 2010.


(2) Principal Aspects
The present invention has three “principal” aspects. The first is a system for surveillance which integrates radar with a panoramic staring sensor. The system is typically in the form of a computer system, computer component, or computer network operating software or in the form of a “hard-coded” instruction set. This system may take a variety of forms with a variety of hardware devices and/or sensors and may include computer networks, handheld computing devices, cellular networks, satellite networks, and other communication devices. As can be appreciated by one skilled in the art, this system may be incorporated into a wide variety of devices that provide different functionalities. The second principal aspect is a method for surveillance which integrates radar with a panoramic staring sensor. The third principal aspect is a computer program product. The computer program product generally represents computer-readable instruction means (instructions) stored on a non-transitory computer-readable medium such as an optical storage device, e.g., a compact disc (CD) or digital versatile disc (DVD), or a magnetic storage device such as a floppy disk or magnetic tape. Other, non-limiting examples of computer-readable media include hard disks, read-only memory (ROM), and flash-type memories.
The term “instructions” as used with respect to this invention generally indicates a set of operations to be performed on a computer, and may represent pieces of a whole program or individual, separable, software modules. Non-limiting examples of “instructions” include computer program code (source or object code) and “hard-coded” electronics (i.e., computer operations coded into a computer chip). The “instructions” may be stored on any non-transitory computer-readable medium such as a floppy disk, a CD-ROM, a flash drive, and in the memory of a computer.
(3) Introduction
A wide field-of-view and rapid response to threats are critical components of any surveillance system. Field-of-view is normally implemented by articulating a camera: allowing it to swivel to pan and tilt, and actively zooming in on “interesting” locations. Since a single camera suffers from the “soda straw” problem, where only a small portion of the scene can be examined at any given time (leaving the rest of the scene unwatched), surveillance systems often employ a radar unit to direct the operator to likely targets. This provides direction to the search, but still poses a security risk, since potentially hazardous activities might be occurring in an unwatched portion of the field of view while the operator is investigating another incident (either coincidental or intentionally distracting). There are a number of security systems that combine camera and radar that are designed for ground-level surveillance.
Any system with a radar and single movable camera configuration will share the same limitations—the cameras in these systems are reactive, meaning that the operator slews the camera to the location of a possible target only after the system registers a radar hit. Because of this, there is an unavoidable delay between the triggering of an event in radar and the operator's examination of the event. At minimum, this delay is the time required to slew the camera to the new location, which might be enough time for the target to change positions, though a skilled operator might be able to “search” the regions surrounding the location of the radar hit and pick up the target. However, for radar targets that arrive while the operator is examining another target, this delay might be increased beyond the operator's ability to locate the target. Additionally, pan-tilt-zoom units can be troublesome, since moving parts can break down.
By implementing a panoramic staring sensor (that constantly monitors the entire wide field-of-view at maximum resolution) and advanced software modules to process, record, and present the surveillance footage, the system described herein can continuously monitor a wide field-of-view and detect many more potential targets than the state-of-the-art radar-assisted single-camera system.
(4) Specific Details
A flow diagram depicting the system according to the principles of the present invention is shown in FIG. 1. An aspect of this system comprises a multi-camera, panoramic visual sensor 100, a portable radar 102 sensor, and various software modules for control and analysis. In addition, there are a number of aspects that employ optional modules that dramatically improve the ability of the system to detect targets and maintain a low false alarm rate.
The flow of the system is as follows. The panoramic staring sensor 100 is set up to cover an expanded field-of-view (e.g., 120 degrees), and the radar 102 is configured to cover this same field-of-view. The radar 102 scans the field-of-view, and the sensor 100 captures video frames (one from each camera per time step). Video capture is asynchronous with the radar imaging. The frame data is passed into a capture and recording module 104 that exists either in processing hardware or software, where it is stamped with the time of capture and stored into buffer in memory (i.e., frame storage 106) for rapid retrieval.
Continuing with FIG. 1, in one aspect of the present invention, the frames are actively processed using a cognitive processor module 108. In the cognitive processor module 108, the frame is processed through a cognitive algorithm to detect anomalies, changes, and motion. Non-limiting examples of cognitive algorithms that could be used by the system according to the principles of the invention include those described in Literature Reference Nos. 6 and 7, and U.S. application Ser. No. 12/316,779, filed on Dec. 16, 2008, and entitled, Cognitive Neural Method for Image Analysis,” all of which are hereby incorporated by reference as though fully set forth herein.
Each of these “detections” is assigned a score and a bounding box in software. Detections with the highest scores are stored in memory and are made available to other modules for subsequent processing. All of this happens independently from the rest of the system. At certain fixed intervals, the system controller (i.e., the controller module 110) can poll the cognitive processor module 108 for its list of detections, collect video clips for these detections by accessing the frame storage 106 (produced by the capture and recording module 104), and display these video clips to the user 112 (operator) through a user interface 114 for analysis.
Radar messages are continuously monitored by a radar interpreter module 116. For the purposes of this application, a “radar detection” refers to when the radar has detected a target, and a “radar message” is a format term in which the radar detection has been packaged as a standard message format. When a radar message indicating the presence of a target has been received, the radar interpreter module 116 converts the radar-based coordinates from the message into coordinates relevant to the multi-camera, panoramic visual sensor 100. In one aspect of the present invention, an operator-defined region of interest (ROI) is employed. In this aspect, radar messages falling outside a pre-designated “listen area” may be ignored at this stage. After this processing has occurred, the radar interpreter module 116 notifies the system controller module 110 that action must be taken. The controller module 110 will then use the time data on the radar message to learn the proper frame number in the video, and then extract a video clip corresponding to this radar target. This clip is then immediately shown to the user 112 for analysis (via, for example, a display device).
Additional alternative aspects of the present invention include processing of video extracted for radar targets through a “reactive” cognitive processor module 118 to visually aid the user 112 in finding targets within the clip (i.e., placing detection boxes) and compute a confidence measure, or additional processing of cognitive and radar targets through algorithms intended to track or classify possible targets in a tracking module 120 or a classification module 122, respectively. Non-limiting examples of tracking and classification algorithms are described in Literature Reference Nos. 8 and 9, respectively. Another aspect of the present invention involves displaying cognitive and/or radar targets through a neural processor module 124 using, for instance, the rapid serial visual presentation (RSVP) paradigm. RSVP measures the electroencephalograph (EEG) of the user 112, allowing the system to reduce the false alarm rate by filtering out imagery that fails to register the sufficient desired neural response from the operator (e.g., the P300 waveform in EEG). RSVP is described in Literature Reference No. 10 and U.S. Pat. No. 8,285,052, entitled, “Image Ordering System Optimized Via User Feedback,” which is hereby incorporated by reference as though fully set forth herein.
(4.1) Panoramic Staring Sensor—Capture and Recording Module
A panoramic staring sensor 100 continuously monitors the expanded field-of-view and records all frames as they are captured by the system in the capturing and recording module 104. Although not limited thereto, the sensor 100 employed is similar to that discussed in Feng et al. (see Literature Reference No. 7).
As illustrated in FIGS. 2A and 2B, the sensor 100 is constructed from a series of identical fixed focal length cameras 200 that have been arranged to capture an extended field-of-view. FIG. 2A illustrates an isometric view of the sensor 100, while FIG. 2B illustrates a top view of the sensor 100. For simplicity, the individual cameras 200 within the sensor 100 are referred to as “cameras” and the entire panoramic staring sensor containing multiple cameras is referred to as the “sensor”.
FIG. 3 depicts a panoramic staring sensor field-of-view. In this instance, each of the six cameras 200 in the sensor 100 captures a portion 300 (numbered 1, 2, 3, 4, 5, and 6) of the entire field-of-view 302 with a marginal amount of overlap between cameras 200. The result is a panoramic capture of the entire field-of-view 302 at each time step, where each individual camera 200 covers a fixed portion 300 of the field-of-view 302. The individual cameras 200 exhibit a limited amount of overlap in their respective coverages to ensure that all blind spots are removed. Since the cameras 200 are incapable of zooming, each camera 200 has sufficiently high resolution that it can detect targets 304 at a desired distance (which should be at least the functional range of the radar so that radar targets can be verified). The sensor 100 is referred to as a “panoramic staring sensor” because it consists of smaller cameras 200 arranged to capture a panorama, and because it continuously records the entire field-of-view 302 at all times.
A capture and recording module (depicted as element 104 in FIG. 1) is assigned to each individual camera 200 in the panoramic staring sensor 100 array. Each of these modules operates completely independently of the others and captures frames from the designated sensor (i.e., camera 200), recording them in a circular buffer of predetermined length (e.g., 100 frames). The frames are marked with a timestamp and indexed in a way that allows for random access and retrieval by the other modules and for correlating with the reports from radar during image retrieval. To conserve communications bandwidth, the frames are stored uncompressed in their native format (i.e., Bayer formatted images are stored in Bayer format). The images are converted out of Bayer format in the other modules after they have been transmitted.
(4.4) Portable Radar and Radar Interpreter Module
Embodiments according to the principles of the present invention may employ a small Doppler radar (depicted as element 102 in FIG. 1) unit with a fixed scan sector that covers the entire field-of-view of the panoramic staring sensor (depicted as element 100 in FIG. 1). The radar (FIG. 1, 102) is assumed to contain software and/or hardware modules that are able to convert the physics of the radar signals and delays into a practical latitude-longitude-elevation format for use by the radar interpreter module (depicted as element 116 in FIG. 1). The objective of the radar interpreter module (FIG. 1, element 116) is to convert the coordinate information received from radar messages into the camera coordinate system, which allows extraction of video from the capture and recording module (depicted as element 104 in FIG. 1) for user/operator analysis. This is carried out through a complex process that involves calibration of the camera sensor (FIG. 1, 100) and radar (FIG. 1, 102) with regards to each other.
The radar system sends position reports of targets detected by the equipment. These reports include a position specified as latitude, longitude, and elevation above mean sea level, which is generated from a distance and heading measurement from a Doppler radar system. The radar system then computes the latitude and longitude of the target based on the position of the radar (FIG. 1, element 102) unit and its orientation. Elevation is determined, for example, by using digital terrain elevation map data (DTED). Accuracy of the position reports is affected by how carefully the radar operator sets the position and orientation of the radar unit in its software. The radar interpreter module 116 listens to the messages sent by other tactical systems to maintain a list of other active sensors and note any reported targets.
There are two main components to calibrating the relation between the sensor 100 and the real world. These are camera intrinsics and a mapping from the external world. There are two parts to calibration of the intrinsic camera parameters, consisting of the individual camera characteristics and the relative alignment between cameras. The individual camera characteristics are defined by the focal length of the lens, the spacing of pixels in the imaging hardware, and the pixel dimensions of the array. These features determine the angular position of each pixel in the image with respect to the center of the image in one camera. The alignment between cameras could either be adjusted to a specified alignment during manufacturing or measured after manufacturing by locating features that appear in the overlapping area of the coverage of adjacent cameras. In either case, the result is a table of the overlap and vertical offset between adjacent pairs of cameras that is used to generate a sensor-wide mapping between pixels and angular positions.
In the most general case, mapping the external world into camera coordinates requires establishing the roll, pitch, and yaw of the sensor 100. Because significant roll and pitch, especially in a wide field imaging system, result in tilted images, curved horizon lines, and messy trigonometric corrections, the sensor 100 is normally set up to be as level as possible. To accommodate corrections for residual amounts of pitch and roll and to determine yaw, world calibration is based on the latitude, longitude and elevation of three points. These points are for the imaging system itself and two landmarks within the field-of-view. In the case of the landmarks, the pixel position of the landmark in the camera array (i.e., sensor; FIG. 1, element 100) is also required. Using this information, a table giving the heading angle and elevation angle of the center of the field-of-view for each camera is created. For cameras containing landmarks, this is computed using the inverse of the calculation given below to determine the pixel position of a target. For other cameras, the central position is based on linear interpolation or extrapolation from the known centers with minor adjustments for the overlap and vertical misalignment measured during sensor intrinsic calibration.
To calculate the pixel position of a given target, standard formulas for great circles on a sphere are used to compute the heading measurement, H, and distance, dist, to target from latitude/longitude of imager and target. Difference in altitude and distance between imager and target is used to compute elevation angle to target, E, where elt and elc represent the elevation of the target and camera, respectively, and a tan denotes the arctangent function according to the following:




  E
  =
  
    
      
        a
        ⁢
        tan
      
      ⁡
      
        (
        
          
            
              el
              t
            
            -
            
              el
              c
            
          
          dist
        
        )
      
    
    .
  




Given the calculated heading and elevation angles, the system calculates a pixel position (pixx, pixy) for the target in each camera. Typically, only one camera will result in a pixel position within its array, although some targets will fall in an overlap between adjacent cameras and depending on radar coverage, other targets may fall outside all sensors. In the current system, when a target falls within the camera overlap region, the system returns the coordinate belonging to the camera on the right of the overlapping pair.
For each camera, i, the camera coordinate of a given target can be computed. In this case, CX and CY are tables of the heading and elevation of the center of view, respectively, and each camera is W pixels wide and Y pixels high, FL is the lens focal length in millimeters (mm), and P is the pixel pitch in mm. The camera coordinate is computed according to the following:




  
    pix
    x
  
  =
  
    
      W
      2
    
    +
    
      
        (
        
          FL
          P
        
        )
      
      ⁢
      
        tan
        ⁡
        
          (
          
            H
            -
            
              CX
              i
            
          
          )
        
      
    
  








  
    pix
    y
  
  =
  
    
      V
      2
    
    +
    
      
        (
        
          FL
          P
        
        )
      
      ⁢
      
        
          tan
          ⁡
          
            (
            
              E
              -
              
                CY
                i
              
            
            )
          
        
        .
      
    
  




These pixel positions may be adjusted slightly based on an estimate of sensor roll. However, in practice, other errors in the overall system, such as radar position, heading, radar range, and heading measurements, are likely to be as large. If the pixel position computed falls outside the camera sensor array, the target is not visible in that camera.

(4.5) Cognitive Processor
Referring to FIG. 1, the cognitive processor module 108 provides analysis of the video from the scene captured by the capturing and recording module 104 and detects anomalies in the video. These “cognitive detections” are regions of the scene that deviate from a background model 126 that the cognitive processor module 108 learns by analyzing the scene for a fixed number of frames. Each cognitive detection is described as a bounding box with a score that describes the magnitude of the deviation from a background model 126. The cognitive processor module 108 allows easy ranking of potential items of interest and can aid the user 112 in identification of threats. This module is not required, but generally improves the overall detection performance of the system.
In alternative aspects of the system, the system may have an “active” cognitive processor module (represented by element 108 in FIG. 1) or a “reactive” cognitive processor module (represented by element 118 in FIG. 1). Systems with both an “active” cognitive processor module 108 and a “reactive” cognitive processor module 118 are also possible. For either “active” or “reactive” types, the cognitive processor module (108 or 118) continuously analyzes the image data captured by the panoramic staring sensor 100 and executes anomaly and change detection algorithms on the data, looking for motion or other “salient” features that do not agree with that established in some background model 126. Descriptions of anomaly and change detection algorithms can be found in U.S. application Ser. No. 14/203,256, entitled, “Graphical Display and User-Interface for High-Speed Triage of Potential Items of interest in Imagery”; U.S. application Ser. No. 12/982,713, entitled, “System for Identifying Regions of Interest in Visual Imagery”; and U.S. application Ser. No. 13/669,269, entitled, “Motion-Seeded Object Based Attention for Dynamic Visual Imagery,” which are hereby incorporated by reference as though fully set forth herein.
At the start of a run, the “active” cognitive processor module 108 will monitor the scene for a fixed number of frames (e.g., 50 frames) and build a statistical model (i.e., background model 126) of the expected content of the scene. After this background model 126 is created, it is compared to each new incoming frame, which yields a set of “foreground” pixels that violate this background model 126 and represent an unexpected occurrence. These pixels are filtered and grouped by blob extraction algorithms, such as region-based image segmentation and connected-component labeling, and returned as a rectangular region that indicates the center, width, and height of the detection with a score that corresponds to how far from the background model 126 the detection has deviated.
In one aspect of the system, the panoramic staring sensor 100 may have an attached “active” cognitive processor module 108, which processes all frames and determines a set of “cognitive detections” independent of all other systems. In this aspect, the background model 126 must only be computed once at the start of processing or whenever the sensor 100 is moved. In the “active” configuration, the cognitive processor module 108 computes on all incoming frames and records the highest scores for each region in the image (e.g., quadrants) over a given time interval (e.g., 30 seconds). The cognitive detections are sent to the controller module 110 at these fixed intervals. The cognitive detections are treated like radar detections, with video extraction and reporting to the user 112 occurring at routine intervals. All cognitive detections are imprinted with a score and detection rectangle that can be displayed in the user interface 114 on top of the video clip, at the user's 112 discretion.
In another aspect of the system, the cognitive processor module may work in a “reactive” configuration (depicted as element 118 in FIG. 1). In this configuration, the cognitive processor module 118 is used to compute scores and target rectangles for radar detections, but does not independently produce new targets for the user 112 to analyze. The “reactive” cognitive processor module (FIG. 1, element 118) can be implemented in one of two ways: prior to the receipt of the radar target or as a response to the receipt of the radar message.
To implement the “reactive” cognitive processor module 118 prior to receipt of a radar message, each frame must be processed by the cognitive algorithm as with the active system (element 108). Scores are continuously computed for each region of the image. When a radar target is received, the system finds the score of the region that contains the camera coordinates of the radar target. This method has the benefit of not requiring extra processing after the radar target message has been received; however, this method cannot provide a bounding rectangle for the target.
To implement the “reactive” cognitive processor module 118 after the receipt of a radar message, frames are extracted for the time that the radar message was received and for several frames prior (e.g., thirty frames). These frames are passed through the “reactive” cognitive processor module 118. The detection algorithm trains on the first few frames and then processes the remaining frames for change. While this method requires nominal additional processing time, it has the benefit of providing the user 112 with both a score and a target bounding rectangle for each radar target. This provides the user 112 with extra information that he or she can use to determine the validity of a given target.
In a third aspect of the system, the system may contain both an “active” and “reactive” cognitive processor modules (represented by elements 108 and 118 in FIG. 1, respectively). In this case, the “active” cognitive processor module 108 functions exactly as it does in the first aforementioned aspect: processing all frames as they are captured and logging the strongest detections over a period of time for the controller module 110 to request. Likewise, the “reactive” cognitive processor module 118 works on frames that correspond to radar messages. The key difference in this aspect is that the “reactive” cognitive processor module 118 may be able to use the background model 126 computed by the “active” cognitive processor module 108, rather than computing a brand new background model for each radar detection. Since the background model 126 is built on a per-pixel basis, it is possible for the controller module 110 to request the background model 126 for each pixel from the “active” cognitive processor 108. This permits the “reactive” cognitive processor module 118 to run more efficiently and return more frames with detection boxes, since frames that contribute to background model training cannot yield detection rectangles.
(4.6) Controller Module
The controller module 110 drives the timing of the system and mediates communication between all of the other modules. In the baseline aspect of the system, the controller module 110 acts as a simple intermediary between the radar interpreter module 116, the frame storage 106, and the user interface 114. As each radar message is received, the controller module 110 places it into a queue that is continuously polled for entries that do not contain image data. Any type of scheduler may be employed for this process, but it is often adequate to employ a FIFO (first in, first out) queue in which the oldest radar target that does not yet have image data will be processed before newer radar targets. For each radar message in the queue, the controller module 110 performs a lookup on the proper frame number within the frame storage 106 database corresponding to the time of the radar message, and then requests a series of frames at and around the time of the radar message.
The frame window can be adjusted based on the type of surroundings and expected targets. For example, the controller module 110 may request thirty frames, where twenty of those frames may be from before the radar hit to give the operator the opportunity to see the events that led up to the radar message. The remaining ten frames can be obtained from after the radar message, centering the message somewhere in the middle. However, one must remember that obtaining frames after the radar message requires a wait before the user 112 can examine the video. After the video frames are obtained from the capture and recording module 104, the video clip is sent to the user interface 114 for user 112 analysis. In aspects of the system that include an “active” cognitive processor module 108 but not a “reactive” cognitive processor module 118, the controller module 110 will retrieve a cognitive score for the region in which the radar message originated. In this case, radar detection video clips are displayed to the user 112 immediately upon receipt of imagery and cognitive score.
In aspects of the system that employ an “active” cognitive processor module 108, the role of the controller module 110 is expanded to manage cognitive detections as well as radar detections. In this instance, the controller module 110 will monitor the frame count and request the top detections from the “active” cognitive processor module 108. For each cognitive detection in this list, the controller module 110 will request image information in the immediate vicinity of the cognitive detection at the appropriate frame number and construct a short video sequence of the scene at the time of the detection. The detection rectangle may be superimposed on this video for analysis by the user 112. Once the video clips for all cognitive detections have been fetched from the capture and recording module 104, the controller module 110 sends them to the user interface 114 for user 112 analysis.
In aspects of this system that employ a “reactive” cognitive processor module 118, the controller module 110 must forward the video clip for each radar detection to the “reactive” cognitive processor module 118. The controller module 110 sends the results from cognitive processing to the user interface 114 for user 112 analysis. In this aspect, radar detection video clips are displayed to the user 112 immediately upon completion of the cognitive processing.
The controller module 110 can also support additional modules to assist the user 112 in the task of analyzing detections. After the controller module 110 has requested video frames for either a cognitive or radar detection, further processing, such as the application of additional cognitive algorithms, tracking with the tracking module 120, or classification with the classification module 122, may be applied. These options are described below.
(4.7) Additional Processing
Alternative aspects of the present invention may be implemented through the addition of optional processing modules. The objective of this processing is to enhance the user's 112 experience with the system, aid in finding threats, and eliminate false alarms from radar and cognitive detections. Below is a description of potential optional subsystems that can be added to the controller module 110 of the baseline aspect of the system. Many of these subsystems rely on the processing result of other optional modules and, therefore, might not be feasible in all possible aspects of the system.
In aspects of the invention that include a cognitive processor (108 and/or 110) that computes a bounding box for each cognitive and radar detection, one can apply additional processing in the form of tracking and classification/recognition of the object within the detection. In the tracking module 120, tracking software can be implemented as part of the controller module 110 to automatically track the most likely threats from radar hits and the cognitive algorithm processing and present these results alongside the recorded results in the user interface 114. The objective of such a tracking system would be to allow the user 112 to switch seamlessly between the recorded footage of the target from the radar detection and the target's current location. If the target is deemed to be a threat, the current location is critical information.
An object recognition module can also be applied to the video data corresponding to each cognitive or radar detection. In aspects of the system where a detection is marked with a bounding box (i.e., when the cognitive processor (elements 108 and/or 118) is employed), the contents of this bounding box may be submitted to an object recognition/classification module 122 in order to apply a classification label to the detection. These labels might be utilized by the user 112 to rank or queue detections for analysis.
Another possible module that can be implemented in this system is a top-down biasing module that accepts user 112 input and modulates how the system responds to radar hits within certain regions, or how the cognitive processor module (elements 108 and/or 118) works with frame data. For example, the user 112 could choose to completely ignore cognitive and radar detections from certain portions of the scene. In this instance, the cognitive processor (elements 108 and/or 110) would be set to not process these regions of the scene, and all radar messages that originate from the ignored portion of the scene would not be presented to the user 112. An inhibition operation could be implemented in the same way. However, instead of removing regions of the scene from processing, the system would module the scores and queuing of cognitive and radar detections in inhibited regions to move them to a lower spot in the order of processing and user analysis.
To reduce the false alarm rate of video clips sent to the user 112, one aspect of the present invention could make use of a neural processor module (depicted as element 124 in FIG. 1). The neural processor module (FIG. 1, element 124) employs a “human-in-the-loop” approach that measures the operator's brain activity and uses this information to re-rank and filter out detections that are probable false alarms. An example of a method employed by the neural processor module (element 124) is described in Literature Reference 8. For simplicity, the present application only describes this process at a high level. Using this method, the video clips corresponding to cognitive and radar detections are displayed sequentially to the user 112 via a rapid serial visual presentation (RSVP) paradigm, and the user's electroencephalograph (EEG) is recorded and processed by an algorithm, which looks for the presence of the “P300” waveform in the EEG, which corresponds to a measure of surprise. The algorithm involves neural decoding that processes spatio-temporal EEG data to detect P300 and comes up with a score for presence and confidence in P300 (see Literature Reference No. 10, U.S. Pat. No. 8,285,052, and U.S. Pat. No. 8,214,309, which are hereby incorporated by reference as though fully set forth herein, for detailed descriptions of processing of the EEG signal). Each detection is given a score based on the EEG at the time of the presentation of the video, which can be used for queuing or ranking of the detections in the user interface (depicted as element 114 in FIG. 1). Cognitive or radar detections whose neural scores fall below some predetermined threshold may even be omitted from further user/operator analysis.
(4.8) User Interface
Once the radar has sent a message and video imagery has been procured by the controller software, the radar hit can be displayed by the user interface (depicted as element 114 in FIG. 1). In implementations of the system described herein, the “Threat Chip Display” (TCD) was employed to quickly display videos from cognitive and radar detections. Literature Reference No. 4 provides a description of the TCD. Additionally, this display shows a panoramic image of the entire field-of-view and a top-down map with the latitude-longitude location of the targets displayed. However, the user interface 114 is not necessarily limited to the TCD implementation. A valid implementation of a user interface 114 must be able to show cognitive and radar detections at full resolution and accept feedback from the user 112 in the form of, for instance, target designation and algorithm biasing. The display should also allow the user 112 to switch between the recorded footage and a “live” view of the region, as well as allow the user 112 to pan and zoom the field-of-view to simulate the operation of single-camera systems. Additionally, the display should show a small, full-resolution video for each target and its relative location in the entire field-of-view. Both of these displays are essential to the user's ability to identify and respond to possible threats in the field.
Radar detections can be added to the display as they are completed (i.e., asynchronously) or synchronously in bursts that occur at some fixed time interval (e.g., every thirty seconds). In aspects that include an “active” cognitive processor module (FIG. 1, element 108), the cognitive detections are usually updated at fixed time intervals (i.e., no asynchronous operation).
As described above, the user (FIG. 1, element 112) can also adjust the region of interest of the system using the user interface (FIG. 1, element 114). This is done by designating a region (or regions) in each sensor frame as “out of bounds”. In order to be able to designate a region (or regions) as out of bounds, the entire image is gridded into small regions (chips or rectangles), and the user can check on or off one or more regions via the user interface (FIG. 1, element 114). This controls whether they are in bound or out of bound (i.e., ignored for processing). This control is in addition to coarse region of interest selection via horizontal lines that span the full image.
A signal is then sent from the graphical user interface 114 to the controller module (FIG. 1, 110) that causes it to discard any radar detections that originate from these regions. This allows the system to filter out radar detections from regions that are known to have a high false alarm rate or regions that the user 112 has predetermined will not contain threats. The user 112 may also choose to mark detection videos as “inhibit” or “ignore”. Doing so affects the cognitive and radar processing of detections within the controller module 110.
(4.9) Scalability of the System
A key feature of the present invention is its ability to scale up from its default field-of-view to any arbitrary value, up to a full 360-degree field-of-view. As illustrated in FIG. 4, an alternate aspect of the invention involves implementing additional panoramic staring sensors 100 (and optionally, additional radars to decrease the scan time) to cover the expanded 360-degree field-of-view. As a non-limiting example, a 360-degree system can be made from the present invention by aligning three, 120-degree systems to cover the entire field-of-view. This non-limiting configuration employs a single radar 102 that scans in one direction and rotates clockwise (as illustrated by the arrows), although a second radar could be used to scan in both directions at once, reducing the scan time. Each 120-degree system has its own capture and recording module (CRM) 104 and “active” cognitive processor (CP) module 108 so that increasing the field-of-view does not affect processing speed or system response to targets. All systems can share the same controller module and user interface (not shown).
The implementation of additional panoramic staring sensors 100 does not affect the processing speed or detection effectiveness of the system; the only difference between the baseline system and the expanded 360-degree system shown in FIG. 4 is the number of detections presented to the operator/user. This is because the processing hardware and memory expands with the field-of-view. Each panoramic staring sensor 100 is assigned a corresponding capture and recording module (CRM) 104 and an “active” cognitive processor module (CPM) 108, which ensures that the processing of individual frames increases linearly with field-of-view width. The radar 102 must be configured to scan the entire 360-degree field-of-view, and additional radars may be implemented to increase the scan frequency of any given region within the field-of-view.
In operation, expanding the field-of-view results in more cognitive and radar detections. The processing of these detections is carried out exactly the same as in the baseline system. The controller module (depicted as element 110 in FIG. 1) will request multiple frames of video for detections resulting from radar detections (and cognitive detections if the “active” cognitive processor module (FIG. 1, element 108) is available). These videos will be passed through whatever additional processing is available and presented to the user (FIG. 1, 112) for inspection. Since the panoramic staring sensor (FIG. 1, element 100) can capture the entire 360-degree field-of-view without slewing a camera, expanding the field-of-view does not add delay to this procedure. In aspects of the invention with the “active” cognitive processor module 108, the controller module 110 will still request the top cognitive detections and video frames at regular intervals and present them to the user 112. Due to the design of the user interface (FIG. 1, element 114) and lack of camera control, these additional detections do not increase the response time or the user's 112 ability to analyze the detections in a timely manner.
The system described herein can also be scaled down to a smaller field-of-view. This is carried in the baseline system by disabling sensors in the capture and recording module (FIG. 1, element 104) and the controller module (FIG. 1, element 110) that correspond to regions in the scene that are not important, which are not processed. Alternatively, panoramic staring sensors (FIG. 1, element 100) can be built using fewer individual cameras in order to narrow the field-of-view.
(4.10) Experimental Studies
Experimental studies were performed on the system described herein using a combination of video recorded from the panoramic staring sensor and radar that was collected. A series of forty-five minute scenarios were conducted in which dismounts and vehicles moved within a 120-degree field-of-view in front of the camera/sensor. The vehicles and dismounts exhibited varying degrees of avoidance to being seen by the camera/sensor. For the purposes of ground truth, each dismount and vehicle was equipped with a global positioning system (GPS) recorder, which continuously recorded the position of each dismount and vehicle. A four-sensor 120-degree wide field-of-view camera was used to capture video of the scenario, and a portable radar unit was deployed to cover the same 120-degree field-of-view. All scenarios contained a total of 268 events.
As the scenario occurred, the video from each camera was processed with a change detection process that pulled out anomalies and scored each region in the video with a measure of how anomalous it was. The change detection process is described in U.S. application Ser. No. 13/743,742, entitled, “A Method and System for Fusion of Fast Surprise and Motion-Based Saliency for Finding Objects of Interest in Dynamic Scenes,” which is hereby incorporated by reference as though fully set forth herein. “Anomalies” are defined as objects of interest in the videos discovered by the change detection process.
Simultaneous to the change detection processing, the radar was run and targets were retrieved by the system in real time. As each target was detected by the radar, the system converted the radar tilt-range information into latitude-longitude, and again into sensor and camera coordinates (s; x, y) in the radar interpreter module. From the camera coordinates, a short video clip (e.g., 5 frames) was obtained for a 512-by-512 pixel region centered at the location of the detection (i.e., the set of multi-camera panoramic sensor coordinates). Additionally, the “cognitive score” was copied from the cognitive processor module for the purpose of ranking the radar targets in the user interface.
The targets were displayed to the user/operator in real-time as they were detected by the radar. The method for display was a TCD layout. At this time, the user examined the video and determined which detections were from actual items of interest and which were not. At thirty-second intervals, the user was also presented with the top fifty results from the cognitive algorithms over that time period.
A ground-truth for each scenario was constructed from the GPS data from each dismount and vehicle. The location of each dismount and vehicle was computed in sensor coordinates (s; x, y) for each frame from latitude-longitude coordinates using the same conversion method used to convert the radar hits into camera coordinates. The GPS tracks and sequence frames may not be captured at exactly the same time; therefore, the GPS data was used for each target that provided the closest match in time of day to when the frame was captured. For instances where there was a large difference in the camera coordinates for a given target between GPS samples, linear interpolation between the two nearest GPS samples was used.
The results of the experimental trials are displayed in the table depicted in FIG. 5. The table compares the present invention (System column) with results of the state-of-the-art Cerberus Scout (Scout column) and CT2WS (CT2WS column) systems. Numbers listed are the pD (i.e., fraction of detections) for the given system for each day. While the results for the present invention were computed from recorded video and radar, the results from the Scout and CT2WS systems were obtained during the actual field test. While there is not any false alarm data for these trials, one can see that the combination radar and panoramic staring sensor system (with the “active” cognitive processor module) according to the principles of the present invention (System column) was able to detect 95% of the available (i.e., all) targets, outperforming the CT2WS system at 84%, and greatly outperforming the Cerberus Scout system at 41%.
An example of a computer system 600 in accordance with one aspect is shown in FIG. 6. The computer system 600 is configured to perform calculations, processes, operations, and/or functions associated with a program or algorithm. In one aspect, certain processes and steps discussed herein are realized as a series of instructions (e.g., software program) that reside within computer readable memory units and are executed by one or more processors of the computer system 600. When executed, the instructions cause the computer system 600 to perform specific actions and exhibit specific behavior, such as described herein.
The computer system 600 may include an address/data bus 602 that is configured to communicate information. Additionally, one or more data processing units, such as a processor 604, are coupled with the address/data bus 602. The processor 604 is configured to process information and instructions. In one aspect, the processor 604 is a microprocessor. Alternatively, the processor 604 may be a different type of processor such as a parallel processor, or a field programmable gate array.
The computer system 600 is configured to utilize one or more data storage units. The computer system 600 may include a volatile memory unit 606 (e.g., random access memory (“RAM”), static RAM, dynamic RAM, etc.) coupled with the address/data bus 602, wherein a volatile memory unit 606 is configured to store information and instructions for the processor 604. The computer system 600 further may include a non-volatile memory unit 608 (e.g., read-only memory (“ROM”), programmable ROM (“PROM”), erasable programmable ROM (“EPROM”), electrically erasable programmable ROM “EEPROM”), flash memory, etc.) coupled with the address/data bus 602, wherein the non-volatile memory unit 608 is configured to store static information and instructions for the processor 604. Alternatively, the computer system 600 may execute instructions retrieved from an online data storage unit such as in “Cloud” computing. In an embodiment, the computer system 600 also may include one or more interfaces, such as an interface 610, coupled with the address/data bus 602. The one or more interfaces are configured to enable the computer system 600 to interface with other electronic devices and computer systems. The communication interfaces implemented by the one or more interfaces may include wireline (e.g., serial cables, modems, network adaptors, etc.) and/or wireless (e.g., wireless modems, wireless network adaptors, etc.) communication technology.
In one aspect, the computer system 600 may include an input device 612 coupled with the address/data bus 602, wherein the input device 612 is configured to communicate information and command selections to the processor 600. In accordance with one aspect, the input device 612 is an alphanumeric input device, such as a keyboard, that may include alphanumeric and/or function keys. Alternatively, the input device 612 may be an input device(s) other than an alphanumeric input device, such as the user interface, panoramic staring sensor and radar, or any combination of devices that provide the functionalities as described herein. In one aspect, the computer system 600 may include a cursor control device 614 coupled with the address/data bus 602, wherein the cursor control device 614 is configured to communicate user input information and/or command selections to the processor 600. In one aspect, the cursor control device 614 is implemented using a device such as a mouse, a track-ball, a track-pad, an optical tracking device, or a touch screen. The foregoing notwithstanding, in one aspect, the cursor control device 614 is directed and/or activated via input from the input device 612, such as in response to the use of special keys and key sequence commands associated with the input device 612. In an alternative aspect, the cursor control device 614 is configured to be directed or guided by voice commands.
In one aspect, the computer system 600 further may include one or more optional computer usable data storage devices, such as a storage device 616, coupled with the address/data bus 602. The storage device 616 is configured to store information and/or computer executable instructions. In one aspect, the storage device 616 is a storage device such as a magnetic or optical disk drive (e.g., hard disk drive (“HDD”), floppy diskette, compact disk read only memory (“CD-ROM”), digital versatile disk (“DVD”)). Pursuant to one aspect, a display device 618 is coupled with the address/data bus 602, wherein the display device 618 is configured to display video and/or graphics. In one aspect, the display device 618 may include a cathode ray tube (“CRT”), liquid crystal display (“LCD”), field emission display (“FED”), plasma display, or any other display device suitable for displaying video and/or graphic images and alphanumeric characters recognizable to a user.
The computer system 600 presented herein is an example computing environment in accordance with one aspect. However, the non-limiting example of the computer system 600 is not strictly limited to being a computer system. For example, one aspect provides that the computer system 600 represents a type of data processing analysis that may be used in accordance with various aspects described herein. Moreover, other computing systems may also be implemented. Indeed, the spirit and scope of the present technology is not limited to any single data processing environment. Thus, in one aspect, one or more operations of various aspects of the present technology are controlled or implemented using computer-executable instructions, such as program modules, being executed by a computer. In one implementation, such program modules include routines, programs, objects, components and/or data structures that are configured to perform particular tasks or implement particular abstract data types. In addition, one aspect provides that one or more aspects of the present technology are implemented by utilizing one or more distributed computing environments, such as where tasks are performed by remote processing devices that are linked through a communications network, or such as where various program modules are located in both local and remote computer-storage media including memory-storage devices.
An illustrative diagram of a computer program product embodying the present invention is depicted in FIG. 7. As a non-limiting example, the computer program product is depicted as either a floppy disk 700 or an optical disk 702. However, as mentioned previously, the computer program product generally represents computer readable code (i.e., instruction means or instructions) stored on any compatible non-transitory computer readable medium.

## Claims

1. A system for surveillance, the system comprising:
one or more processors and a non-transitory computer-readable medium having executable instructions encoded thereon such that when executed, the one or more processors perform operations of:
storing a set of image frames of a field-of-view of a scene captured using a multi-camera panoramic staring sensor in a frame storage database, wherein each image frame is marked with a time of image frame capture;
generating a radar detection when a radar sensor detects an object of interest in the field-of-view of the scene;
based on the radar detection, generating a radar message, marked with a time of radar detection, indicating the presence of the object of interest;
for each radar detection, converting a set of radar coordinates corresponding to the radar detection into a set of multi-camera panoramic sensor coordinates;
creating a video clip comprising a sequence of image frames in the set of image frames, wherein the times of image frame capture for the sequence of image frames correspond to the times of radar detections; and
displaying the video clip, wherein the video clip displays the object of interest.

2. The system as set forth in claim 1, wherein the one or more processors further perform operations of:
comparing, with an active cognitive processor module, each image frame in the set of image frames to a background model;
detecting, with the active cognitive processor module, at least one cognitive detection in an image frame, wherein the at least one cognitive detection corresponds to a region of the scene that deviates from the background model and represents the object of interest;
assigning, with the active cognitive processor module, a cognitive score and a bounding box to each cognitive detection to aid in user analysis, wherein a higher cognitive score corresponds to a greater deviation from the background model, and the bounding box surrounds the object of interest; and
storing the cognitive detections having the highest cognitive scores in the frame storage database.

3. The system as set forth in claim 2, wherein the one or more processors further perform operations of managing cognitive detections according to the following:
requesting a list of cognitive detections having the highest cognitive scores from the active cognitive processor module;
for each cognitive detection in the list, requesting a sequence of image frames comprising the image frame corresponding to the cognitive detection and a plurality of image frames before and after the image frame corresponding to the cognitive detection from the capture and recording module;
for each cognitive detection in the list, constructing a video sequence corresponding to the time of the cognitive detection from the sequence of image frames; and
for each cognitive detection in the list, sending the video sequence to the user interface for user analysis.

4. The system as set forth in claim 3, wherein the one or more processors further perform an operation of retrieving from the active cognitive processor module a cognitive score for a region of a field-of-view of a scene in which a radar detection originated.

5. The system as set forth in claim 4, wherein the one or more processors further perform an operation of detecting, in parallel, objects of interest with both the active cognitive processor module and the radar sensor independently.

6. The system as set forth in claim 2, wherein the one or more processors further performs operations of:
using the bounding box to perform a classification of the cognitive detection in a classification module using object recognition;
applying a tracker to the bounding box, and tracking the bounding box across image frames using a tracking module,
wherein a user can utilize the tracker to switch between at least one image frame in the video clip corresponding to a radar detection to a current location of the object of interest.

7. The system as set forth in claim 1, wherein the one or more processors further perform an operation of forwarding the video clip to a reactive cognitive processor module, wherein the reactive cognitive processor module performs operations of:
comparing the image frames in the video clip to a background model;
detecting at least one cognitive detection in at least one image frame in the video clip, wherein the cognitive detection corresponds to a region of the scene that deviates from the background model and represents the object of interest; and
assigning a cognitive score and a bounding box to each cognitive detection to aid in user analysis, wherein a higher cognitive score corresponds to a greater deviation from the background model, and the bounding box surrounds the object of interest.

8. The system as set forth in claim 1, wherein the one or more processors further perform operations of:
using a plurality of multi-camera panoramic staring sensors to continuously capture the set of image frames of the field-of-view of the scene; and
using a plurality of radar sensors to detect the object of interest to enable the system to scale up the field-of-view to any predetermined value up to a 360-degree field-of-view.

9. A computer-implemented method for surveillance, comprising an act of:
causing one or more processors to execute instructions stored on a non-transitory memory such that upon execution, the one or more processors performs operations of:
storing a set of image frames of a field-of-view of a scene captured using a multi-camera panoramic staring sensor in a frame storage database, wherein each image frame is marked with a time of image frame capture;
generating a radar detection when a radar sensor detects an object of interest in the field-of-view of the scene;
based on the radar detection, generating a radar message, marked with a time of radar detection, indicating the presence of the object of interest;
for each radar detection, converting a set of radar coordinates corresponding to the radar detection into a set of multi-camera panoramic sensor coordinates;
creating a video clip comprising a sequence of image frames in the set of image frames, wherein the times of image frame capture for the sequence of image frames correspond to the times of radar detections; and
displaying the video clip, wherein the video clip displays the object of interest.

10. The method as set forth in claim 9, wherein the one or more processors further performs operations of:
comparing, with an active cognitive processor module, each image frame in the set of image frames to a background model;
detecting, with the active cognitive processor module, at least one cognitive detection in an image frame, wherein the at least one cognitive detection corresponds to a region of the scene that deviates from the background model and represents the object of interest;
assigning, with the active cognitive processor module, a cognitive score and a bounding box to each cognitive detection to aid in user analysis, wherein a higher cognitive score corresponds to a greater deviation from the background model, and the bounding box surrounds the object of interest; and
storing the cognitive detections having the highest cognitive scores in the frame storage database.

11. The method as set forth in claim 10, wherein the one or more processors further perform an operation of managing cognitive detections according to the following:
requesting a list of cognitive detections having the highest cognitive scores from the active cognitive processor module;
for each cognitive detection in the list, requesting a sequence of image frames comprising the image frame corresponding to the cognitive detection and a plurality of image frames before and after the image frame corresponding to the cognitive detection from the capture and recording module;
for each cognitive detection in the list, constructing a video sequence corresponding to the time of the cognitive detection from the sequence of image frames; and
for each cognitive detection in the list, sending the video sequence to the user interface for user analysis.

12. The method as set forth in claim 11, wherein the data processor further performs an operation of retrieving from the active cognitive processor module a cognitive score for a region of a field-of-view of a scene in which a radar detection originated.

13. The method as set forth in claim 12, wherein the data processor further performs an operation of detecting, in parallel, objects of interest with both the active cognitive processor module and the radar sensor independently.

14. The method as set forth in claim 10, wherein the data processor further performs operations of:
using the bounding box to perform a classification of the cognitive detection in a classification module using object recognition;
applying a tracker to the bounding box, and tracking the bounding box across image frames using a tracking module,
wherein a user can utilize the tracker to switch between at least one image frame in the video clip corresponding to a radar detection to a current location of the object of interest.

15. The method as set forth in claim 9, wherein the one or more processors further perform an operation of forwarding the video clip to a reactive cognitive processor module, wherein the reactive cognitive processor module performs operations of:
comparing the image frames in the video clip to a background model;
detecting at least one cognitive detection in at least one image frame in the video clip, wherein the cognitive detection corresponds to a region of the scene that deviates from the background model and represents the object of interest; and
assigning a cognitive score and a bounding box to each cognitive detection to aid in user analysis, wherein a higher cognitive score corresponds to a greater deviation from the background model, and the bounding box surrounds the object of interest.

16. The method as set forth in claim 9, wherein the one or more processors further performs operations of:
using a plurality of multi-camera panoramic staring sensors to continuously capture the set of image frames of the field-of-view of the scene; and
using a plurality of radar sensors to detect the object of interest to enable the system to scale up the field-of-view to any predetermined value up to a 360-degree field-of-view.

17. A computer program product for surveillance, the computer program product comprising computer-readable instructions stored on a non-transitory computer-readable medium that are executable by a computer having a processor for causing the processor to perform operations of:
storing a set of image frames of a field-of-view of a scene captured using a multi-camera panoramic staring sensor in a frame storage database, wherein each image frame is marked with a time of image frame capture;
generating a radar detection when a radar sensor detects an object of interest in the field-of-view of the scene;
based on the radar detection, generating a radar message, marked with a time of radar detection, indicating the presence of the object of interest;
for each radar detection, converting a set of radar coordinates corresponding to the radar detection into a set of multi-camera panoramic sensor coordinates;
creating a video clip comprising a sequence of image frames in the set of image frames, wherein the times of image frame capture for the sequence of image frames correspond to the times of radar detections; and
displaying the video clip, wherein the video clip displays the object of interest.

18. The computer program product as set forth in claim 17, further comprising instructions for causing the processor to perform operations of:
comparing, with an active cognitive processor module, each image frame in the set of image frames to a background model;
detecting, with the active cognitive processor module, at least one cognitive detection in an image frame, wherein the at least one cognitive detection corresponds to a region of the scene that deviates from the background model and represents the object of interest;
assigning, with the active cognitive processor module, a cognitive score and a bounding box to each cognitive detection to aid in user analysis, wherein a higher cognitive score corresponds to a greater deviation from the background model, and the bounding box surrounds the object of interest; and
storing the cognitive detections having the highest cognitive scores in the frame storage database.

19. The computer program product as set forth in claim 18, wherein the one or more processors further perform an operation of managing cognitive detections according to the following:
requesting a list of cognitive detections having the highest cognitive scores from the active cognitive processor module;
for each cognitive detection in the list, requesting a sequence of image frames comprising the image frame corresponding to the cognitive detection and a plurality of image frames before and after the image frame corresponding to the cognitive detection from the capture and recording module;
for each cognitive detection in the list, constructing a video sequence corresponding to the time of the cognitive detection from the sequence of image frames; and
for each cognitive detection in the list, sending the video sequence to the user interface for user analysis.

20. The computer program product as set forth in claim 19, further comprising instructions for causing the processor to perform an operation of retrieving from the active cognitive processor module a cognitive score for a region of a field-of-view of a scene in which a radar detection originated.

21. The computer program product as set forth in claim 20, further comprising instructions for causing the processor to perform an operation of detecting, in parallel, objects of interest with both the active cognitive processor module and the radar sensor independently.

22. The computer program product as set forth in claim 18, further comprising instructions for causing the processor to perform operations of:
using the bounding box to perform a classification of the cognitive detection in a classification module using object recognition;
applying a tracker to the bounding box, and tracking the bounding box across image frames using a tracking module,
wherein a user can utilize the tracker to switch between at least one image frame in the video clip corresponding to a radar detection to a current location of the object of interest.

23. The computer program product as set forth in claim 17, wherein the one or more processors further perform an operation of forwarding the video clip to a reactive cognitive processor module, wherein the reactive cognitive processor module performs operations of:
comparing the image frames in the video clip to a background model;
detecting at least one cognitive detection in at least one image frame in the video clip, wherein the cognitive detection corresponds to a region of the scene that deviates from the background model and represents the object of interest; and
assigning a cognitive score and a bounding box to each cognitive detection to aid in user analysis, wherein a higher cognitive score corresponds to a greater deviation from the background model, and the bounding box surrounds the object of interest.

24. The computer program product as set forth in claim 17, further comprising instructions for causing the processor to perform operations of:
using a plurality of multi-camera panoramic staring sensors to continuously capture the set of image frames of the field-of-view of the scene; and
using a plurality of radar sensors to detect the object of interest to enable the system to scale up the field-of-view to any predetermined value up to a 360-degree field-of-view.

25. A system for surveillance, the system comprising:
a multi-camera panoramic staring sensor;
a radar sensor;
one or more processors and a non-transitory computer-readable medium having executable instructions encoded thereon such that when executed, the one or more processors perform operations of:
storing a set of image frames of a field-of-view of a scene captured using the multi-camera panoramic staring sensor in a frame storage database, wherein each image frame is marked with a time of image frame capture;
generating a radar detection when the radar sensor detects a object of interest in the field-of-view of the scene;
based on the radar detection, generating a radar message, marked with a time of radar detection, indicating the presence of the object of interest;
for each radar detection, converting a set of radar coordinates corresponding to the radar detection into a set of multi-camera panoramic sensor coordinates;
creating a video clip comprising a sequence of image frames in the set of image frames, wherein the times of image frame capture for the sequence of image frames correspond to the times of radar detections; and
displaying the video clip, wherein the video clip displays the object of interest.