Retinal-inspired method and system for improved detection
10765864 ยท 2020-09-08
Assignee
Inventors
Cpc classification
A61F2/14
HUMAN NECESSITIES
G06N3/049
PHYSICS
International classification
A61F2/14
HUMAN NECESSITIES
Abstract
The present disclosure provides a method and device for filtering sensor data. Signals from an array of sensor pixels are received and checked for changes in pixel values. Motion is detected based on the changes in pixel values, and motion output signals are transmitted to a processing station. If the sum of correlated changes in pixel values across a predetermined field of view exceeds a predetermined value, indicating sensor jitter, the motion output signals are suppressed. If a sum of motion values within a defined subsection of the field of view exceeds a predetermined threshold, indicating the presence of a large object of no interest, the motion output signals are suppressed for that subsection.
Claims
1. A sensor data preprocessing device, comprising: a first layer of detectors configured to receive signals from an array of sensor pixels and determine changes in pixel values; a second layer of detectors configured to receive the changes in pixel values from the first layer, detect motion based on the changes in pixel values and transmit motion value output signals to a processing station; a third layer of detectors configured to receive the changes in pixel values from the first layer and detect global motion of objects represented by correlated changes in pixel values across a predetermined field of view, wherein the third layer is configured to produce a first suppressive signal that is applied to the motion value output signals of the second layer of detectors only if a sum of correlated changes in pixel values within the predetermined field of view exceeds a predetermined threshold; and a fourth layer of detectors configured to receive motion output signals from the second layer and detect large environmental objects by integrating motion values within defined subsections of the predetermined field of view, wherein the fourth layer is configured to produce a second suppressive signal that is applied to the motion value output signals of detectors in the second layer for a subsection only if a sum of motion values within that subsection exceeds a predetermined threshold.
2. The device according to claim 1, wherein the device is incorporated into a remote sensor.
3. The device according to claim 2, wherein the remote sensor is selected from among the following: a camera; an unmanned aerial vehicle (UAV); telescope; satellite.
4. The device according to claim 1, wherein the first layer is configured to transmit only positive changes in pixel values to the second layer.
5. The device according to claim 1, wherein the first layer is configured to transmit only negative changes in pixel values to the second layer.
6. The device according to claim 1, wherein the first layer is configured to transmit both positive and negative changes in pixel values to the second layer.
7. The device according to claim 1, wherein the second layer is configured to detect motion across two pixels.
8. The device according to claim 1, wherein the sum of correlated changes in pixel values across the field of view exceeding the predetermined threshold indicates sensor jitter.
9. The device according to claim 1, wherein the sum of motion values within a subsection exceeding the predetermined threshold indicates the presence of an object larger than a predetermined size to be considered of interest.
10. The device according to claim 1, wherein subsections of the field of view are defined by predetermined distances between sensor pixels.
11. The device according to claim 1, wherein the device is implemented at least in part in neuromorphic hardware.
12. The device according to claim 1, wherein the device is implemented at least in part in a field programmable gate array (FPGA).
13. A method of preprocessing sensor data, comprising the steps of: receiving, by a first layer of detectors, signals from an array of sensor pixels; determining, by the first layer of detectors, changes in pixel values; detecting, by a second layer of detectors, motion based on the changes in pixel values; transmitting, by the second layer of detectors, motion value output signals to a processing station; detecting, by a third layer of detectors, global motion of objects represented by correlated changes in pixel values across a predetermined field of view; producing, by the third layer of detectors, a first suppressive signal that is applied to the motion value output signals of the second layer of detectors only if a sum of correlated changes in pixel values within the predetermined field of view exceeds a predetermined threshold; detecting, by a fourth layer of detectors, large environmental objects by integrating motion values within defined subsections of the predetermined field of view; and producing, by the fourth layer of detectors, a second suppressive signal that is applied to the motion value output signals of detectors in the second layer for a subsection only if a sum of motion values within that subsection exceeds a predetermined threshold.
14. The method according to claim 13, wherein only positive changes in pixel values are used to detect motion.
15. The method according to claim 13, wherein only negative changes in pixel values are used to detect motion.
16. The method according to claim 13, wherein both positive and negative changes in pixel values are used to detect motion.
17. The method according to claim 13, wherein change across two pixels indicates local motion.
18. The method according to claim 13, wherein the sum of correlated changes in pixel values across the field of view exceeding the predetermined threshold indicates sensor jitter.
19. The method according to claim 13, wherein the sum of motion values within a subsection exceeds the predetermined threshold indicates the presence of an object larger than a predetermined size to be considered of interest.
20. The method according to claim 13, wherein subsections of the field of view are defined by predetermined distances between sensor pixels.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The novel features believed characteristic of the illustrative embodiments are set forth in the appended claims. The illustrative embodiments, however, as well as a preferred mode of use, further objectives and features thereof, will best be understood by reference to the following detailed description of an illustrative embodiment of the present disclosure when read in conjunction with the accompanying drawings, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
DETAILED DESCRIPTION
(13) Illustrative embodiments recognize and take into account that the computational capabilities of biological systems have garnered interest within the research community seeking to develop new methods of high-speed, low-power computing. Numerous novel hardware systems have been built to instantiate neuromorphic computing principles and to solve challenging problems such as pattern recognition.
(14) Illustrative embodiments provide a method and system inspired by the retina that filters clutter at the sensor level. This produces the technical effect of freeing up bandwidth for transmitting and processing signals of interest. The illustrative embodiments address white noise as might arise as a result of thermal noise within the sensor. The illustrative embodiments also deal with correlated changes across the entire field of view of the sensor resulting from sensor jitter, as well as correlated changes within a spatial area such as those produced by relatively large objects, e.g., buildings, that might not be of interest.
(15) Illustrative embodiments are applicable to image processing for remote sensing, streaming video or autonomous platforms, and security systems with significant size, weight, and power (SWAP) constraints. Illustrative embodiments can be applied on existing hardware platforms and are also applicable to emerging neuromorphic architectures as low-power alternatives to existing hardware platforms.
(16) Referring now to
(17) Such sensing platforms typically have to operate under strict SWAP constraints, requiring a remote processor at a ground station to process the sensor data. This final processing at the ground station can be very resource intensive and considerable bandwidth may be required to transmit the raw sensor data from the sensor platform to the ground station or control station.
(18) The present disclosure incorporates a preprocessing algorithm and hardware 120 between the sensor pixel array 110 and the final processing 130. This preprocessing 120 occurs at the sensor platform and filters the raw sensor data for signals of interest before sending the data to the ground station. This preprocessing reduces overall bandwidth and processing requirements at the ground station while also respecting the SWAP constraints of the sensor platform.
(19)
(20) The sensor comprises an mn array 210 of pixels P. An example pixel array is depicted in
(21) Detectors in Layer B 220 receive the signals from the respective sensor pixels and process and transmit changes in pixel values (step 320). These pixel value changes are sent directly to Layer A 230 and Layer G 240.
(22) The detectors in Layer G 240 detect local motion between two pixels which might represent, for example a moving object against a background (step 330).
(23) To improve the accuracy of the motion detection and reduce extraneous signals such as background clutter and sensor jitter, the output of Layer G 230 is tuned by the remaining two layers of the device to account for both global motion and lateral interaction (object size).
(24) The tunable global unit in Layer A 230 receives pixel value changes from several detectors in layer 220. Layer A 230 detects correlated change in pixel values across a predetermined field of view of the sensor. If the total correlated change transmitted by Layer B 220 exceeds a predetermined threshold, Layer A 230 suppresses motion signals generated by the units in Layer G 240 (step 340). Such highly correlated global motion of objects across the field of view (whether foreground or background) is an indication that it was in fact the sensor that moved (jitter) rather than an object within the field of view. Therefore, there is no need to transmit signals representing such clutter, thereby saving transmission bandwidth and processing resources.
(25) In addition to global tuning, the device also provides size tuning of motion signals to take account of large environmental objects within the field of view that may be moving slowly or appear to be moving as a result of changing angles of view caused by the movement of the sensor platform. Examples of such large objects include clouds, contours of bodies of water, buildings, and other large stationary objects. Distractors arising from these types of larger objects, due to their size, are known to be uninteresting. Therefore, once such objects are identified within the field of view any motion signals associated with them are not of interest and can be filtered to save bandwidth and processing.
(26) The units in Layer L 250 provide this type of size tuning of motion signals generated by Layer G 240. These units integrate detected motion over smaller subsections of the field of view and tune the G units for targets of specific sizes. The field of view subsections are defined by a specified distance between pixels. If the sum of motion signals within such a subsection exceeds a specified threshold, the units in Layer L 250 suppress the transmission of these signals by the respective units in Layer G 240 (step 350).
(27) Whereas global tuning assumes that highly correlated pixel value changes across the whole field of view are produced by the sensor motion rather than moving objects, size tuning assumes that highly correlated motion signals within a subsection of the field of view are most likely due to an object but one that is too big to be of interest and can thereby be filtered from transmission to the ground station or control station.
(28) The output G of level 240, tuned for global movement and object size, is sent to the ground station or control station for further processing (step 360). G consists of events or tiles of data denoted by events. Depending on the specific needs of the system in question, the output may take various forms. For example, the output may be in the form of signal spikes, in other cases the outputs might be values of information recorded at specific locations, e.g., pixel values recorded by a camera at detected locations.
(29)
(30) In the example illustrated in
(31) 1) transmitting only positive changes, B.sub.+, as illustrated above, .sub.+ indicates rectification
(32) x.sub.+=if x0
(33) x.sub.+=0 if x<0
(34) 2) transmitting only negative changes, B.sub. (e.g. B.sub.(1,1)=P(1,1,tt)P(1,1,t).sub.+)
(35) 3) transmitting both positive and negative changes (B.sub.+ and B.sub.) via two parallel pathways.
(36) The example process flow depicted in
(37) Likewise, if the difference in values between time (t) and time (tt) is less than zero (<0) (step 530), this negative difference in pixel value P.sub.(j,k) is transmitted to Layer G as B.sub. (step 540).
(38)
(39) Returning to
(40) If there is a change signal from B(xx) the determination is then made as to whether there is a change signal transmitted from unit B(x) at time t+t (step 720), where t indicates temporal translation.
(41) If the product of the two change signals is greater than a predetermined threshold G.sub.th, wherein
G=B(x,t+t)*B(xx,t)>G.sub.th
(42) Layer G will report detection of motion at pixel P(j,k) in direction x at time t+t (step 730).
(43) The operation of Layer G can be illustrated with reference to the example array in
Example #1
(44) B.sub.1,t=input from B(1,1) at time t
(45) B.sub.2,t+t=input from B(1,2) at time t+t
(46) If B.sub.1,t*B.sub.2,t+t>G.sub.th, G.sub.1,2,1 will report rightwards motion at time t+t. The first subscript of G.sub.1,2,1 indicates rightward motion, and the second and third subscripts indicate the pixel where motion will be reported.
Example #2
(47) B.sub.1,t=input from B(4,2) at time t
(48) B.sub.2,t+t=input from B(4,3) at time t+t
(49) If B.sub.1,t*B.sub.2,t+t>G.sub.th, G.sub.2,4,3 will report downwards motion at time t+t, where the first subscript indicates downward motion, and the second and third subscripts indicate the pixel where motion will be reported.
(50) The motion value determined in step 730 is sent to Layer L for size tuning. If Layer L determines that there is a large object of no interest (explained in more detail below) it will produce a suppressive signal that is applied to motion value G (step 740) to produce a modified motion value G, such that
G.sub.i,j,k=G.sub.i,j,kL.sub.i,j,k
(51) where L.sub.i,j,k is value of the suppressive signal produced by Layer L.
(52) This modified motion value G may then be modified yet again if the global tuning unit in Layer A detects sensor jitter to produce new motion value G (step 750), wherein
G.sub.i,j,k=G.sub.i,j,kA
(53) where A is the value of the global motion suppressive signal from Layer A. The globally tuned motion value G is then transmitted to the ground station or control station for processing (step 760).
(54)
a=.sub.iB.sub.i
(55) where a equals the sum of all activity in Layer B (step 910). The global tuner then determines if a>a.sub.th, where a.sub.th is a predetermined threshold value (step 920).
(56) If the value of a exceeds the threshold value a.sub.th, a suppressive signal A is generated to modify the motion signal from Layer G (step 930), wherein
A=g.sub.a*a
(57) where g.sub.a is a parameter determining the suppressive effect of A on units within layer G.
(58)
(59) The G.sub.i units included in the sum I.sub.i,j,k are between x.sub.near and x.sub.far pixels away from (j,k), where x.sub.near and x.sub.far are predetermined parameters for defining subsections within the sensor's field of view.
(60) If I.sub.i,j,k is greater than a predetermined threshold value I.sub.th a suppressive signal value L.sub.i,j,k is generated (step 1020), wherein
L.sub.i,j,k=G.sub.I*I.sub.i,j,k
(61) where g.sub.I is a parameter determining the suppressive effect of L.sub.i,j,k on G.sub.i,j,k.
(62) This signal L.sub.i,j,k suppresses the response of G.sub.i,j,k in Layer G (step 1030).
(63)
I.sub.i,3,3=G.sub.i,1,1+G.sub.i,1,2+G.sub.i,1,3+G.sub.i,1,4+G.sub.i,1,5+G.sub.i,2,5+G.sub.i,3,5+G.sub.i,4,5+G.sub.i,5,5+G.sub.i,5,4+G.sub.i,5,3+G.sub.i,5,2+G.sub.i,5,1+G.sub.i,4,1+G.sub.i,3,1+G.sub.i,2,1
(64) If I.sub.i,3,3>I.sub.th Layer L generates a signal L.sub.i,3,3 that is a suppressive input to G.sub.i,3,3.
(65) The present disclosure is applicable to detecting small moving objects such as vehicles or people on ground, airborne targets presented against earth background, and moving targets in the air or earth's orbit.
(66) Layers B, G, A, and L can be implement in whole or in part on a field programmable gate array (FPGA) or custom-designed/programmed neuromorphic hardware.
(67) The description of the different illustrative embodiments has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. Further, different illustrative embodiments may provide different features as compared to other illustrative embodiments. The embodiment or embodiments selected are chosen and described in order to best explain the principles of the embodiments, the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.