A portion of the disclosure of this patent document contains material which is subject to (copyright or mask work) protection. The (copyright or mask work) owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all (copyright or mask work) rights whatsoever.
The present disclosure relates to systems, components, and methodologies for image processing. In particular, the present disclosure relates to systems, components, and methodologies that perform image processing for using digital NeuroMorphic (NM) vision techniques.
According to the present disclosure, systems, components, and methodologies are provided for NM-based image data generation, image data processing and subsequent use to detect and/or identify objects and object movement in such image data for assistance, automation, control and/or documentation.
In accordance with disclosed embodiments, structure and software are provided for simulation of conventional analog NM system functionality using a digital NM vision system that incorporates at least one detector that includes one or more NM sensors, a digital retina implemented using, for example, CMOS technology that enables generation of digital NM data for image data processing by a digital NM engine that facilitates improved object detection, classification, and tracking. As such, exemplary embodiments are directed to structure and software that may simulate analog NM system functionality.
In accordance with at least one embodiment, the digital NM engine may include a combination of one or more detectors and one or more processors running software on back-end to generate digital NM output.
In accordance with at least one embodiment, the digital NM vision system, its components and utilized methodologies may be used to compress high framerate video data by performing feature extraction close to an imaging sensor to generate an encoded version of image data that includes differences and surrounding spatio-temporal regions for subsequent image processing. Thus, in accordance with at least one embodiment, the hardware and methodologies may be utilized as an effective method for compressing high framerate video, e.g., by analyzing image data to compress the data by capturing differences between a current frame and a one or more previous frames and applying a transformation.
In accordance with at least one embodiment, the digital NM vision system and/or at least a subset of its components may be incorporated in a stereo neuromorphic pair. In accordance with at least one implementation, components of the digital NM vision system may be incorporated in a compound camera. In such an implementation, the computational element of each imaging sensor may be coupled to other computational elements of other imaging sensors, e.g., adjacent sensors or other types of sensors, to collaborate with other computational elements to provide functionality. For example, in accordance with at least one implementation, the digital NM vision system components may be incorporated in an event-based camera.
Additional features of the present disclosure will become apparent to those skilled in the art upon consideration of illustrative embodiments exemplifying the best mode of carrying out the disclosure as presently perceived.
The detailed description particularly refers to the accompanying figures in which:
The figures and descriptions provided herein may have been simplified to illustrate aspects that are relevant for a clear understanding of the herein described devices, systems, and methods, while eliminating, for the purpose of clarity, other aspects that may be found in typical devices, systems, and methods. Those of ordinary skill may recognize that other elements and/or operations may be desirable and/or necessary to implement the devices, systems, and methods described herein. Because such elements and operations are well known in the art, and because they do not facilitate a better understanding of the present disclosure, a discussion of such elements and operations may not be provided herein. However, the present disclosure is deemed to inherently include all such elements, variations, and modifications to the described aspects that would be known to those of ordinary skill in the art.
Exemplary embodiments are directed to structure and software for simulation of conventional NM system vision functionality, e.g., that provided by the human eye.
Commercially available image detection and processing equipment routinely use solid-state detectors to capture large numbers of frames each second. By displaying those images at high speed, the viewer has the illusion of motion. This is the basis of recorded video images.
However, when such video data is analyzed by computers running image processing and analysis software, the large number of frames used to give the impression of motion can overwhelm the computational capability of the computers. This is because a high frame rate video may provide so much data that the computer is incapable of analyzing the data because the data is changing too quickly. Conventionally, efforts have been made to increase the ability for image processing by increasing the processing speed of processors analyzing the image data.
Additionally, analog-based Neuromorphic (NM) processing techniques have been developed that mimic or simulate the human eye. NM processing relies on the idea that it is not necessary to analyze all of the data included in a video image; rather NM prioritizes analysis on determining the changes that occur in the image data while de-prioritizing the image data that remains the same from frame to frame because the non-changing data is redundant.
More specifically, by mimicking operation of the human eye and brain, processors and software can capture and identify image data of interest, spatial and temporal changes, and output that data for labor intensive image processing that enables all aspects of image processing, automation and assistive control, analysis and diagnostic systems utilizing image processing.
This requires the ability to continuously track and record pixel amplitudes for only those pixels amplitudes changes above a prescribed threshold. Conventionally, this approach has been implemented using analog NM cameras; however, application of such technology provides high effective frame rates but with spatial image sizes and spatial resolutions due to the extra cost of analog processing embedded into each pixel of the imager. Thus, there is no conventional mechanism to effectively use NM image processing for real-time acquired image data has yet to be successfully implemented.
To the contrary, the presently disclosed, digital NM vision system, its components and utilized methodologies have been developed to performing feature extraction from frame data in a way that enables an imaging sensor(s) to generate an encoded version of image data that includes only data indicating differences indicative of movement and surrounding spatio-temporal regions for subsequent image processing. In turn, this further improves the accuracy and throughput of the system.
In illustrative embodiments, an example of which being illustrated in
As explained in more detail herein, that image data may be output from the sensor array 120 into a digital retina 130 that converts that image data into “spikes” using various image processing and data processing techniques. However, the digital retina 130 includes digital circuitry that generates spike data indicative of a spike in association with a particular photoreceptor within the sensor array 120 whenever the intensity value measured by that photo receptor exceeds a threshold. The digital retina 130 may be implemented using various solid-state technology including, for example, Complementary Metal-Oxide-Semiconductor (CMOS) implemented technology, e.g., one or more Field Programmable, Gate Arrays (FPGAs), (GPUs) or functionally or structurally similar devices integrated circuits and associated software and/or firmware provided in, for example, Application Specific Integrated Circuits (ASICs).
Spike data is generated not only based on the data generated by that particular photoreceptor but also can take into account data generated by neighboring, nearby or near photo receptors, e.g., one photoreceptor away so as to simulate operation of specific parts of the human eye that utilize communication between photoreceptors when formulating spike data. Spike data 135 generated by the digital retina 130 is input into one or more velocity transformation modules 140 that generate velocity vectors 115 for subsequent analysis by the digital NM engine 145.
Additionally, the digital retina 130 generates, outputs and exchanges various data that enables digital NM vision including spike (sparse) data, 5D (x, y, t, Vx, Vy) velocity data and other digital data that is generated by or analyzed by the digital NM engine 145. Each spike specifies its spatial location within the input image (x, y), its temporal coordinate or timestamp (t), and its optical velocity (Vx, Vy).
In this way, disclosed embodiments provide a digital NM vision system including a digital NM detector that includes a sensor array (including individual sensors), digital retina and velocity transformation modules 140. The digital NM vision system also can include a digital NM engine 145 that perform image and data processing operations on the velocity vector data generated by the digital NM detector that enables image data processing for improved object detection, classification, and tracking, including machine and deep learning. As such, in accordance with at least one embodiment, the digital NM engine 145 may include one or processors running software to generate digital NM output data for analysis and subsequent control of components with the environment imaged by the detector 110. Operation of the digital NM engine 145 is further discussed herein with connection to
Appendix A includes an example of one implementation of software code utilized for generation of spike data and associated to velocity vector data.
As used herein, the term “velocity vector” refers to a mathematical representation of optical flow of pixels (or photoreceptors) in image data. Velocity vector data may be used to characterize or represent a velocity space, which may be thought of as the spatial and temporal representation of video data including a plurality of frames depicting movement of an object in an environment.
In velocity space, pixels having the same velocity vector may be aggregated and associated with one another to perform velocity segmentation. As explained herein, velocity segmentation enables the ability to identify and differentiate objects within the image data based on their relative motion over frames of image data.
In accordance with at least one additional embodiment, digital NM detector output may include velocity vector data that indicates or identifies basic features (e.g., edges) of objects included in the image data.
Unlike conventional imaging processing technology, this identification of basic features may be performed at the fovea stage. A fovea (or more specifically, the foveal centralis) in anatomical terms, is the small depression in the retina of the eye where visual acuity is highest. The center of the field of vision is focused in this region, where retinal cones are particularly concentrated. As a result, the fovea provides acute central vision that enable humans to perform activities that require significant visual acuity. Within the human eye, the fovea is surrounded by decreasingly dense layers of sensory cells so as to provide ever decreasing resolution data on the periphery of the human field of vision.
Accordingly, in machine implemented image processing, the term “fovea” has been used to refer to a shape that corresponds to detection of a shape of an object of interest that enables tracking of the eye's foveal centralis on that object. By generating foveas for objects, the digital NM visions system is performing operations akin to “smooth pursuit” eye movement in the human eye. Smooth pursuit eye movements allow the eyes to closely follow a moving object. It is one of two ways that visual animals can voluntarily shift gaze, the other being saccadic eye movements. As a result, the term “fovea” is used to refer to the edge data generated by the digital NM vision system because that data is used by the human eye to center the human eye's fovial centralis on an object for object tracking. It is well understood that the human eye can only perform smooth pursuit eye movement with regard to one object. To the contrary, in accordance with the presently disclosed embodiments, smooth pursuit sensor movement may be used to track a plurality of objects simultaneously.
With this understanding of fovea data generated by the digital NM vision system in mind, it should be appreciated that further data details may be necessary to document what an object looks like. Those further details may require recording and analyzing pixel data surrounding each spike within the fovea. This may enable the ability to identify color, texture, etc. This neighborhood of pixel data surrounding each spike may be conceptually thought of as a “micro-fovea” because generation of an object's fovea may be performed by aggregating the micro-fovea data. In this way, foveas are created by temporal and spatial aggregation of micro-foveas along a velocity profile.
As a result, micro-fovea can be linked together to define one or more boundaries between foreground objects and background, thus creating velocity silhouettes. Each velocity silhouette defines an edge at the boundary between a foreground object and a background object. In this way, intra-object fovea trajectories (i.e., for more than one object) indicate shape change for non-rigid objects.
Thus, micro-foveas include the spike data generated by an object's motion and pixel data surrounding each of the spikes within that data. Thus, each object within an image sequence might have a fovea generated for it which indicates the motion of each object during that image sequence, as indicated by a plurality of microfovea.
Depending on what the object is, image processing may be altered depending on the type of object being tracked, e.g., the difference between tracking of a stop sign and tracking of a pedestrian. The further details provided by the micro-fovea may be analyzed to enable the ability to identify color, texture, etc.
Further, in accordance with at least one embodiment of the digital NM vison system 100, once edges of an object are detected using spike data, additional analysis may be performed on the image data at the pixel level to improve the quality of the image. In other words, the motion present in an image or sequence of images (as identified by spikes) is used to identify objects of interest that may be subqeuently analyed at the pixel level to provide additional information.
Thus, although
As explained above, the motion present for an object during an image sequence may be represented using spike data, which may be analyzed to determine velocity vector data. That velocity vector data may then be analyzed by the digital NM engine 145 to identify edges of the object. Velocity segmentation of the image data using the vector velocities generated from the spike data may be used to generate edge data. By aggregating the edge data of the object, a representation of the object, i.e., a fovea, may be produced. Conceptually, the fovea is made up of the trajectory of velocity segmentations for the object over time.
Control 215, at which that image data is output into a digital retina. Subsequently, at 220, the image data is converted into “spikes” based on the data generated by a particular photoreceptor but also taking into account data generated by neighboring, nearby or near photoreceptors, e.g., one photoreceptor away so as to simulate operation of specific parts of the human eye that utilize communication between photo receptors when formulating spike data. Control then proceeds to 225, at which spike data generated by the digital retina is input into one or more velocity transformation modules to generate velocity vectors. Control then proceeds to 230, at which the velocity vector data is analyzed to determine spatio-temporal patterns resulting from spatio-temporal events to perform object detection, classification, and tracking, including machine and deep learning, e.g., including identifying edges of objects by velocity sementation of the image data using the vector velocities generated from the spike data. By aggregating the edge data of the object, a representation of the object, i.e., a fovea, may be produced. Conceptually, the fovea is made up of the trajectory of velocity segmentations for the object over time.
As explained in connection with
To the contrary, in accordance with the presently disclosed embodiments, the output data generated from individual pixels or photoreceptors are combined and considered when generating spike data. Thus, data generated by pixels located near a particular pixel may be taken into consideration when generating spike data for that particular pixel. As a result, and explained below in more detail, spike data generated by the disclosed embodiments takes into consideration data generated by a neighborhood of pixels. The technical effect of this distinction is far reaching for accuracy, processing speed and image data applications.
However, prior to documenting the technical utility and effect of the presently disclosed digital NM vision system over conventional analog NM cameras, an explanation of the functionality and limitations of conventional image processing techniques provides technical context. Accordingly, a brief explanation of conventional image processing techniques and the corresponding limitations and utility of those techniques is provided so as to highlight the technical complexity of NM vision and the utility of the presently disclosed implementation of digital NM vision.
Conventional image processing is based on frame-by-frame processing and excludes temporal information in the scene. For example, conventional image processing of video data processes each frame of a video sequence while excluding temporal information. Thus, while an input photographic image may provide data relevant to analyzing a scene depicted in the input photographic image, conventional image processing systems do not or cannot utilize all the data provided in the image. This severely limits the ability for image processing systems to analyze temporal data included in image data.
For example, conventional pixel-level labelling tasks, e.g., by semantic segmentation used conventionally for image recognition, have a limited capacity to differentiate and delineate objects within an input image. Accordingly, the limitations of such approaches also impede the ability to use deep learning techniques for image recognition and object tracking. The technological limitations resulting from that omission and the value of taking into consideration the relationship between spatial and temporal information and resolution is discussed further herein in connection to
Conventionally, segmentation using Convolutional Neural Networks (CNNs) and Conditional Random Fields (CRFs)-based probabilistic graphical modelling has been used to formulate mean-field approximate inferences for CRFs with Gaussian pairwise potentials as Recurrent Neural Networks (RNN). Such networks, conventionally referred to as CRF-RNNs, have been used to improve image processing using deep networks. However, the resulting image data is still lacking. Likewise, ground truth segmentation data for the same input image data may also be lacking.
As illustrated in
Likewise,
To better understand the innovative concepts disclosed herein with relation to NM vision, a brief explanation of analog NM camera operation is now provided. As shown in
In contrast,
This issue of a large amount of data is further compounded when attempting to use a fast frame rate to compute motion vectors for computer vision applications. As shown in
Assuming the image sequence is arbitrarily subdivided into key frames 800 (frame 0), 800′ (frame 4) and tween frames 810 (frames 1-3), then, intuitively, detecting and tracking the objects' motion appears straightforward by viewing the key frames along with the tween frames. This is particularly true when the spatial resolution (width and height) and the temporal resolution (frame rate) are high relative to the speeds of the objects depicted in the frame data. However, that ease of detection and tracking is completely dependent on analysis on high resolution, high frame rate data including relatively low object speeds. This dependency significantly limits the application and utility of detecting and tracking objects in this way.
With the understanding of the operation and shortcomings of conventional video technology (discussed with reference to
NM vision is based on the recognition that not all frame data, and moreover, not all frames include information that is required for all image processing operations. More specifically, motion vectors may be computed using only key frames as shown in
Analog neuromorphic pixels operate independently of each other and threshold the log of the analog intensity in order to maximize dynamic range. An advantage of the analog neuromorphic camera is that high effective frame rates can be achieved while maintaining a significantly low data rate because the generated spikes are sparse. The spikes from an analog neuromorphic camera tend to preserve information about the relative movement of the objects in the environment relative to the camera.
However, conventional, analog NM cameras are only capable of capturing two-dimensional (2D) events. This is because, as explained above, analog neuromorphic pixels operate independently of each other and threshold the log of the analog intensity in order to maximize dynamic range and there is a one-to-one correlation between each pixel or photoreceptor used in an analog NM camera and the corresponding software that simulates operation of a Retinal Ganglion Cell (RGC). RGCs are neurons located near the inner surface of the retina of the eye that receive visual information from photoreceptors and collectively generate image-forming visual information from the retina in the form of action potential or nerve impulses. In the study of the human eye-brain machine, that action potential is often referred to simplistically as “spikes;” as a result, the term “spikes is used herein to refer to data generated by components simulating operation of RGCs for the purpose of performing NM vision.
To the contrary, the presently disclosed embodiments utilize additional structure and techniques to enable analysis of NM image data to identify spatial and temporal data that enables three-dimensional (3D) analysis as well and associated image processing analysis. This is in part, based on the shift from an analog implementation to a digital implementation provided by the disclosed embodiments. That shift enables alters the relationship between pixels(photoreceptors) and structure for synthesizing RGC operation from one-to-one (Pixel-to-RGC) to many to one (Pixels-to-RGC). That shift enables communication and consideration of data generated by a plurality of pixels when generating spike data.
That shift alters vision data generation in a manner that is akin to the difference between how the fovea centralis of the eye operates (foveal vision) and how parts of the eye outside the fovea centralis operate for peripheral vision. More specifically, the human eye includes two types of photoreceptors: cones and rods. The fovea centralis is a small depression in the retina of the eye where visual acuity is highest. The center of the field of vision is focused in this region. The fovea centralis is where retinal cones (photoreceptors for color detection) are particularly concentrated. The fovea centralis does not include rods (photoreceptors more sensitive than cones but unable to detect color).
Conventional, analog NM vision systems operate in the same manner as the foveal centralis region, wherein there is one-to-one correspondence between photoreceptors and RGC. To the contrary, disclosed embodiments of the digital NM vision system synthesize operation of the photoreceptors in the region outside the fovea centralis. In that area of the eye, neurons provided between the photoreceptors and the RGCs enable “cross-talk” or communication and consideration of photoreceptor data from nearby, neighboring and/or near photoreceptors prior to that data being used to generate spike data by the RGCs. In the human eye, this “cross-talk” appears to enable generation of different data by the RGCs than is generated by the RGCs in the foveal centralis region. Likewise, the digital NM vision system of presently disclosed generates different data than that generated by analog NM vision systems in that the digital NM spike data is based on more comprehensive data.
As is known generally, the ease of detection and tracking using conventional camera technology is completely dependent on analysis on high resolution, high frame rate data including relatively low object speeds. However, this dependency significantly limits the application and utility of detecting and tracking objects because of the large amounts of data to be analyzed.
For example, most commercially available video systems today are deemed to be high resolution and, therefore, generate a large amount of data. For example, even a gray-scale camera that outputs 2K×2K pixel images, at a rate of 1000 frames per second, requires an output bandwidth of 4 GB per second. However, such high frame rates create a problem regarding the amount of data generated. For example, the gray-scaled camera data produces by the equipment illustrated in
Moreover, the large quantity of data produced by such conventional systems not only causes storage challenges but also challenges regarding processor capabilities for analyzing such data in an effective manner. For example, such a large amount of generated data may not be useful for equipment automation, machine learning, driver assistance or autonomous driving applications if the data cannot be analyzed in a timely manner to provide direction and/or control.
As explained above, such disadvantages are at least partially addressed by use of analog NM cameras. However, such cameras still require a relatively high effective frame rate. Moreover, analog NM cameras suffer from the additional disadvantage of the cost (monetary and spatial) of adding substantial analog circuitry to each pixel (because it operates on a pixel basis only) in order to generate the sparse events. This disadvantage of requiring additional and custom analog circuitry for each pixel/photoreceptor limits the spatial coverage and resolution of the images as compared to conventional, off-the-shelf image sensors.
With these relative deficiencies and limitations of conventional video and analog NM imaging in mind, disclosed embodiments provide a digital implementation of NM vision image processing that minimizes or eliminates those issues. The shift from analog to digital implemented herein also enables the ability to reduce the data frame rate while increasing the acuity provided by the image generated by the vision system.
In accordance with at least one disclosed embodiment, relatively large frame sizes (e.g., 2048 by 2048 pixels) may be achieved by the digital NM system using “off-the-self” image sensor (e.g., Sony IMX252 Monochrome and Color CMOS Image Sensor) found in typical video cameras.
In accordance with at least one disclosed embodiment, relatively high temporal resolution (e.g., 1 millisecond) may be achieved by the digital NM system running such sensors at higher frame rates (e.g., 1000 frames per second) so as to exploit digital processing techniques to extract sparse motion events from the frames. In this way, the digital NM vision system may include a combination of software running in the digital NM detector 110 (e.g., the velocity transformer module 140 illustrated in
In accordance with at least one embodiment, digital NM output may include data generated and analyzed on a pixel-by-pixel basis generated using data generated by a plurality of pixels/photoreceptors so as to enable consideration of data generated by a neighborhood of pixels/photoreceptors. As such, the digital NM output may include spikes that pertain to an event in space-time that includes a local neighborhood of space-time statistics (e.g., including data indicating polarity, edge, images, etc.)
Returning now to the example of the presently disclosed digital NM vision system of
It should be understood that the digital retina is not merely a bugger of images. Rather, the digital retina may be conceptually thought of as a temporal bookkeeper. This is because, every time a reference image changes, a spike is generated. Thus, operation of the digital retina enables documentation of when and how parts of an image change.
Additionally, the current state image 1380 is a reference image that represents the most recent aggregation of all updates extracted from the input images in the form of spikes. The current state image, at 1385 is input into and processed by a State Transform 1390 to generate a transformed state image 1340.
The transformed input image 1335 and the transformed state image 1340 are compared and thresholded to generate state change data 1350. Each state change in the state change data 1350 generates a spike 1355 that is output in a spike sequence 1360 as well as an update 1365 to the current state image 1380 for subsequent use. More specifically, that update 1365 is processed by an Update Transform 1370 to generate a transformed update 1375. In this way, the transformed update 1375 is used to update the current state image 1380.
The generated spikes, 1406 and 1407, are output as a sequence of event or digital spikes 1410. Each digital spike is defined by a spatial coordinate (x, y), timestamp (t), and polarity (p). The spatial coordinate is the location of the spike on the input image and the timestamp is derived from the timestamp of the input image frame. The polarity specifies whether the intensity of the reference image should increase or decrease. Thus, the digital spikes, 1412 and 1411 are the digital spikes output for the generated spikes 1407 and 1406 of Frame 0 in 1405. The spike sequence 1410 is also used to update the current state image. The spikes with polarity updates 1417 and 1416 are used to update the current state image at 1422 and 1421, resp. The green polarity spikes 1416 increase the intensity of its corresponding pixels in the current state at 1421 and the red polarity spikes 1417 decrease the intensity of its corresponding pixels in the current state image at 1422. The updates to the reference image 1422 and 1421 applied to the generated spikes of each frame 1407 and 1406 cause the current state image to transform to be similar to the input images over time.
In accordance with at least one implementation, the digital NM retina may be implemented in combination with may be implemented as an imaging sensor and/or sensor array that functions as a digital retina. The digital retina in combination with computation devices (CMOS, e.g., FPGA, GPU, etc.) may form a digital NM detector.
As explained briefly above, in accordance with at least one embodiment, velocity vectors may be calculated for each pixel in an image. Such velocity vectors may be used to generate and analyze spatial-temporal dimensions. More specifically, a digital NM detector designed in accordance with the disclosed embodiments may generate a sequence of NM images that are particularly effective at illustrating spatiotemporal patterns. For example, as illustrated in
Thus, in at least one implementation, be differentiating colors of the vectors 1700, it is more readily apparent where the motion patterns occur. In one implementation, for example, the color red would be as indicated above, with the color yellow corresponding to a minimum of 5 pixel/50 frames and a maximum of 10 pixels/50 frames, the color green corresponding to a minimum of 10 pixel/50 frames and a maximum of 15 pixels/50 frames, the color cyan corresponding to a minimum of 15 pixel/50 frames and a maximum of 20 pixels/50 frames, the color blue corresponding to a minimum of 20 pixel/50 frames and a maximum of infinity pixels/50 frames with the color yellow corresponding to a minimum of 5 pixel/50 frames and a maximum of 10 pixels/50 frames.
As a result of analyzing the motion patterns, image data may be segmented based on detected velocity vectors. This enables the ability to better identify objects within a velocity space. With such data, the reference frames may be rotated and/or skewed to more clearly convey visible unique motion patterns within the data. Accordingly, such operations provide additional utility in that they enable improved separation of objects with different motion patterns from within input image data. Such technology may be used to provide strong indicators of occlusion as well as additional functionality detailed herein.
As explained above, the velocity vector data may be used to represent or characterize velocity space. That velocity space may, in turn be used to perform velocity segmentation to identify and differentiate objects. Velocity segmentation may be performed in any number of ways including using, for example, a feature-based approach that utilizes lower frame rate data (e.g., 30 frames per second), a relatively dense method, or sparse method that utilizes faster frame rates (e.g., 1,000 frames per second) relative to the motion being detected with a velocity being assigned to each pixel in an image.
The utility of such image data generation and processing is illustrated with reference to
For the scene depicted in
At each angle, the spikes falling on the same pixel column in the velocity screen space were counted and input into a histogram. The velocity screen space pixels columns with, for example, 80% of the maximum count, may be replaced with a velocity vector from the earliest spike in the column to the latest spike in that column. The resulting velocity vectors in the velocity space may then be plotted with color assignments. An example of that is illustrated in
Although there are many ways of associating spike data to determine their velocity,
Accordingly, as shown in
As shown in
A spike sequence may be projected onto the velocity plane 1905 at 1915. Subsequently, the spike sequence may be projected onto the velocity plane 1905 at each of a plurality of rotation angles at 1920. Thus, for example, at 1925, the velocity space 1915 may be rotated about the spatial and temporal axes. The angle of 45 degrees corresponds to the velocity of the spikes of the bar moving from left to right in
By rotating the velocity space such that the object representations line u so as to project on top of each other indicates that the object This relationship enables the ability to form velocity vectors. Thus, be rotating the angle so that the object lines up
Moreover, as explained above briefly, conventional analog NM cameras operate on the same principal as the human eye within the fovea centralis, wherein each photoreceptor is associated with and directly connected to each RGC to produce a spike that is specific to that photoreceptor. This one-to-one relationship creates a limitation however, in that analog NM cameras, like the photoreceptors in the fovea centralis of the human eye are unable to differentiate a non-moving object on a non-moving background. In the human eye, this deficiency is remediated or cured by the photoreceptors and RGC relationship present in the area of the eye outside the foveal centralis; as explained above, that area includes photoreceptors that are coupled to and communicating with RGCs in an indirect manner through a plurality of neurons that enable the ability to better differentiate a non-moving or slow moving object from a non-moving or slow moving background.
In the same way, the digital nature of the presently disclosed digital NM vision system synthesizes the relationship between neurons provided between the photoreceptors and the RGCs in the human eye that enable “cross-talk” or communication and consideration of photoreceptor data from nearby, neighboring and/or near photoreceptors prior to that data being used to generate spike data by the RGCs. Thus, the spike data generated by the digital NM vision system of presently disclosed generates different data than that generated by analog NM vision systems in that the digital NM spike data is based on more comprehensive data.
In accordance with at least one disclosed embodiment, the spike data may be augmented or used in combination with image data generated by filtering incoming image data using a color opposite adaptive threshold. In such an implementation, the use of center surround filters (like center-surround receptive fields in the retina of an eye) may be used to generate image data that may, in turn enable the ability to generate zero-crossings that may be used for edge detection. Such capabilities have particular technical utility alone, and when combined with the other functionality described herein because they enable the ability to use the zero-crossing data to identify and utilize root polynomial data so as to attain sub-pixel accuracy.
As a result, in accordance with at least some embodiments, velocity vectors may be computed by rotating and/or skewing the velocity space provided by even a single frame of image data.
In accordance with at least one implementation, the digital NM sensor may be incorporated in a stereo neuromorphic pair of assemblies. Further, in accordance with at least one implementation, the digital NM detector may be incorporated in a compound camera. In such an implementation, the computational element of each imaging sensor may be coupled to other computational elements of other imaging sensors, e.g., adjacent sensors. Such computation elements may be configured to collaborate with other computational elements to provide functionality.
In accordance with at least one implementation, the digital NM detector may be incorporated in an event based camera. In one such implementation, data generated by one or more sensors measuring any type of data including, visual, audio, temperature, force, direction, location, motion, or any associated characteristic related thereto, may trigger operation of one or more NM detectors to generate and/or analyze NM data.
In an implementation that uses rolling and global shutters, additional functionality for the image data detector may be provided by exploiting differences of rolling and global shutters. For example, rolling shutters may provide more motion detail. In accordance with at least one implementation, the digital NM sensor may be implemented in conjunction with sensors that produce data other than video, e.g., LIDAR, RADAR, Time-of-flight, etc.
In accordance with at least one implementation, the digital NM detector may be implemented in a system that utilizes them in parallel with other types of sensors. For example, a digital NM detector may be used to create a composite image based on the aggregate information from various sensors In accordance with at least one implementation, the digital NM detector may be utilized in a dual camera configuration that utilizes a half mirror. Additional utility is provided by such an embodiment in that the dual camera configuration enables powerful combinations and redundancy.
In accordance with at least one embodiment, the hardware and methodologies may be utilized as an effective method for compressing high framerate video, e.g., by analyzing image data to compress the data by capturing differences between a current frame and a one or more previous frames and applying a transformation. For example, as explained above, in accordance with at least one embodiment, the engine and methodologies may compress high frame rate video data by performing feature extraction close to an imaging sensor to generate an encoded version of image data that includes differences and surrounding spatio temporal regions for subsequent image processing.
In accordance with at least one embodiment, human eye NM vision may be simulated using a digital implementation that utilizes communication and consideration of multiple photoreceptor data to generate spike data; as a result, that spike data may be used to compress high frame rate video data by performing feature extraction close to the digital NM imaging sensor to generate an encoded version of image data that includes differences and surrounding spatio-temporal regions for subsequent image processing. Accordingly, the hardware and methodologies may be utilized as an effective method for compressing high framerate video, e.g., by analyzing image data to compress the data by capturing differences between a current frame and a one or more previous frames and applying a transformation.
In accordance with at least some disclosed embodiments, the disclosed embodiments may be used to obtain image data and analyze that image data to improve operation, assistance, control and/or analysis of image data in vehicle driving scenarios, for example, but not limited to those used in driver assist functionality, automated/autonomous driving functionality, and the like.
Indeed, conventional image processing, object detection, classification, and tracking are the most challenging tasks in assisted and autonomous driving especially in bad environments, bad lighting conditions, and low false positive/negative rates. Disclosed embodiments enable an increase in the speed, robustness and effectiveness in image processing by reducing extraneous data previously necessary to perform object detection, classification and tracking. Additional utility is provided as well including image data compression, deep learning capabilities with machine learning.
The large quantity of data not only causes storage challenges but also challenges regarding processor capabilities for analyzing such data in an effective manner. Such a large amount of generated data is not useful for driver assistance or autonomous driving applications if the data cannot be analyzed in a timely manner to provide direction and/or control.
Disclosed embodiments may be implemented in conjunction with components of autonomous driving systems and driver assistance systems included in automotive vehicles. Thus, the utility of the disclosed embodiments within those technical contexts is described in detail. However, the scope of the innovative concepts disclosed herein is not limited to those technical contexts. Therefore, it should be understood that the disclosed embodiments provide utility in all aspects of image processing and control, analysis and diagnostic systems utilizing image processing.
Although certain embodiments have been described and illustrated in exemplary forms with a certain degree of particularity, it is noted that the description and illustrations have been made by way of example only. Numerous changes in the details of construction, combination, and arrangement of parts and operations may be made. Accordingly, such changes are intended to be included within the scope of the disclosure, the protected scope of which is defined by the claims.
Number | Date | Country | |
---|---|---|---|
Parent | 15386220 | Dec 2016 | US |
Child | 16194462 | US |