Dynamic vision sensor (DVS) event cameras [dvs128, survey-paper-dvs] such as those sold now by Inivation, Prophsee, Insightness, and Celex offer superior dynamic range and sparse, quick output that makes them useful for vision under uncontrolled lighting encountered in surveillance and mobile applications. The high-quality output from standard cameras relies on decades of work to automatically optimize parameters such as column converter gain, noise filtering, exposure time, white balance, FPN correction, white/dark pixel removal, aperture control, and focus control [Nakamura2006-image-sensors-and-signal-proc-2006]. These algorithms provide high quality output from smartphone, surveillance, and automotive cameras. There has been little work to dynamically optimize DVS output. With the increasing use of DVS in uncontrolled environments it is a good time to develop feedback control algorithms to optimize the DVS operating parameters. This study can guide the development of future DVS event cameras and their firmware and software frameworks.
Fig. 1 illustrates the control of threshold, refractory period, and bandwidth of a DVS camera based on statistical measurements of event rate and noise in the event stream. The paper contributions and outline are:
An overview of the targets for control (Sec. 2).
Models of DVS pixel bandwidth. threshold, and refractory period as functions of the pixel bias currents (Sec. 3).
Experiments with a DVS camera that demonstrate model validity and control (Sec. 5).
Symbols used throughout the paper are listed in Table 1.
1.1 Prior work
Very high DVS event rates cause problems such as saturating the readout bus or hindering real time event processing. To overcome this, several schemes aiming to limit event rate were proposed. Dropping DVS events that cannot be transmitted in time to the host computer by USB has been part of event sensor interface logic since [Berner2007-100dollar-aer-interface]. Ref. [Glover2018-controlled-delay-dvs] proposed an approach where the algorithm processing the packets used feedback control based on processing latency to adaptively adjust software algorithm processing costs, by adjusting the event batch size or fraction of dropped events. A related approach [Tapia2020-ASAP-ICRA] also proposed software to ensure that data can be processed in real time. They randomly discard a fraction of the events under feedback control to ensure real-time operation. In addition, they adaptively size the processed event packets to match the processing rate.
Recent industrial event cameras include on chip some form of control of the event readout or DVS frame sampling rate [Finateu2020-sony-prophesee, samsung-dvs-2020, Li-vlsi-symp-2019]. By contrast, the DVS camera control described here controls the analog parameters of DVS pixel operation rather than the camera’s event output bus or software processing algorithm. This way, it can control the event generation at the pixel level and optimize the pixel operation to a particular application or environment.
There appear to be no publications reporting performance of algorithms for automatically controlling the bias current parameters of DVS event cameras. Litzenberger [Litzenberger2007-car-counting] counted cars with a embedded camera using the first generation 64x64 pixel DVS chip [Lichtsteiner2005-iisw]. They used two sets of voltage biases optimized by hand for daytime and nighttime car counting where the thresholds were increased for nighttime (based on clock and calendar) to detect only car headlights. A DVS threshold control algorithm was posted online around 2011111DVS128BiasController.java on SourceForge.. Patent applications that appear to be based on this algorithm were filed in 2017 and 2018 [Samsung-threshold-control-2017, Berner2018--bias-control]. A continuation in 2020 [Berner2020-bias-control] extended one of the applications to vary the global sampling rate based on event rate. However, none of these publications report experimental results about the effect of automatic bias control.
|20nA||Differencing amp bias|
|1.3uA||ON comparator bias|
|300pA||OFF comparator bias|
|5nA||Refractory period bias|
|Event threshold–Sec. 3.2|
|0.28 e-fold/ev||Temporal contrast threshold|
|Refractory period–Sec. 3.4|
|Tweaks–Sec. 3.1 with values|
|[1/100,8]||Refractory period tweak|
|Fixed-step control–Sec. 4|
|H||1.5||Hysteresis; see Fig. 3.|
|1s||Time to ignore events.|
|2s||Minimum control interval.|
|Event rate bounding and limiting–Secs. 4.1.1,4.1.2|
|300kHz||Upper event rate limit|
|100kHz||Lower event rate limit|
|Signal and Noise–Sec. 4.2.2|
|–||Input (raw) event rate|
|–||Noise event rate|
|–||Signal (cleaned) event rate|
|0.5 Hz/pix||Limit for noise|
|–||Normalized S-N difference|
2 Overview of control aims
DVS event camera systems face at least two competing constraints: Adjusting biases to result in more events usually means more informative data, but also more computing cost and more noise. We will assume there are two primary objectives of bias control:
Objective 1 is to limit the event rate within acceptable bounds. We will assume that there is a largest acceptable rate of events that the DVS can output without bus saturation or that the system can process in real time. We call it the high rate limit . Likewise, there is a low rate limit , which represents the quiescent event rate that the system can afford to process all the time. The job of the bias controller is to regulate the DVS event rate within these bounds. Sec. 4.1 explains our approach for regulating this bound.
Objective 2 is to optimize the signal and noise.
It is important to realize it is not to maximize the signal to noise ratio, since this objective is easily achieved by removing almost all the noise by using a high threshold and small bandwidth—doing this also removes much of the informative signal events. Sec.4.2.1 explains how we can measure the noise event rate , and from it compute a signal versus noise quantity called , Sec. 5.3.3 shows experimental data of , and Sec. 5.3.3 demonstrates a controller that regulates to remain close to a rate .
3 DVS biases
Fig. 2 shows a schematic of the DVS pixel with the associated bias current sources and sinks. The currents are specified at the pixel array level by the chip’s bias generator. Changing the bias currents changes the temporal contrast event threshold , the photoreceptor bandwidth , and the refractory period between events.
The critical threshold for creating ON and OFF events is controlled by the , , and currents. The temporal bandwidth (speed) of the photoreceptor front end is controlled by and . The refractory period between events—while the change amplifier is held in reset—is controlled by . Together, these 5 bias currents control the most important characteristics of DVS pixels. The larger the bias current, the higher the threshold or the faster the circuit.
3.1 ‘Tweaking’ biases around operating point
The jAER developers realized that DVS users would need a user friendly control panel to control otherwise cryptic bias currents, and so developed the notion of a dimensionless bias ‘tweak’ to control DVS bias currents222DVSTweaks in jAER. The tweak interface - if properly optimised - automatically limits the range of bias modification, guarantees that the system stays within the functional range of its parameters, and hence assures safety of the controller. The DVS bias currents start from a nominal operating point (Table 1). A linear tweak results in an exponential scaling of bias currents around the operating point. The threshold tweak , refractory period tweak , and bandwidth tweak , map to the actual bias current(s) range(s), such that the current is computed from
where is the nominal current. Limiting to the range limits the current to the functional operation range . Table 1 lists the values used in this study, which were adjusted by the chip designers for functional DVS operation.
3.2 Temporal contrast threshold
Ref. [dvs-temperature-bias] showed that the event contrast thresholds which are the natural log intensity change for creating ON and OFF events are
where for the DAVIS346 camera used in this study
The magnitude can range over about . For this range of small , is approximately the relative change of intensity to create an event. , if , then a decrease by a factor of about 0.8 creates an OFF event.
We will assume equal ON and OFF threshold, i.e. , to balance the ON and OFF event rates. We define the temporal contrast sensitivity :
has units of events per e-fold intensity change.
We can use (2) to predict approximately how changing will change the DVS event rate, if we can assume that the only thing that changes is the threshold. Naively, we can expect that the event rate is simply scaled by , because the smaller the threshold, the more events will be produced. However, if , where is the highest contrast feature, then no events will be generated. If the scene contains a distribution of temporal contrasts, then increasing sensitivity will gradually expose more and more parts of the scene to create events. I.e., for low sensitivity, only the highest contrast features will create events. Thus we expect that at least within some range, the total signal event rate will follow the linear relationship
where is the nominal event rate at the nominal sensivity (with ), and is the minimum sensitivity that triggers events. Secs. 5.2.1 show that this model accurately describes experimental results for a useful range of . For large , measurements suggest that noise significantly contributes to the total event rate, making the linear model no longer valid.
3.3 Photoreceptor bandwidth
To first approximation, the DVS pixel photoreceptor circuit can be considered as a 2nd-order lowpass filter, where the first stage cutoff is set by the photocurrent together with the photoreceptor bias current and the 2nd stage cutoff is set by the source follower buffer bias current . For this paper, we assume that the overall bandwidth around some operating point is a function of the two bias currents that increases monotonically with the currents:
where the 0 subscript means the nominal value. The function is complex and depends strongly on the absolute light intensity.
3.4 Refractory period
Fig. 2 parts E&F shows how controls the dead time between events. During this refractory period, the change amplifier is held in reset. The reset signal is pulled low by the pixel acknowledge signal, and while reset rises back up, the reset switch transistor shorts across the change amplifier output and input , balancing it. This refractory period is determined by
where for the DAVIS346 used in this study, and ; requires .
During the refractory period, the change amplifier ignores changes in the photoreceptor output. The refractory period sets a hard limit on the maximum event rate per pixel, and it also reduces the effect of any input brightness change by discarding the changes that occur during the refractory period.
For a single pixel generating events at an instantaneous rate , the time interval between events is . A simple model assumes that the refractory period effectively increases the time between events to , resulting in the new rate . Averaged over the whole pixel array, the total rate is
where is number of DVS pixels and gives the fraction of pixels with time interval between events in the range . It follows that for any given (i.e., scene with constant statistical character) the refractory period monotonically limits the event rate. Experimental confirmation and a control experiment are presented in Sections 5.2.2 and 5.3.2.
4 Controller design
The previous section described simple models of event rate, signal and noise versus threshold, refractory period, and bandwidth biases. The main conclusion is that event rate and noise vary monotonically with bias. Therefore, all our controllers are very simple: They vary the relevant tweak by fixed steps until the objective is obtained. In this paper, we will call this fixed-step control. Fixed-step control only requires monotonicity of the controller effect on the DVS output. Fixed-step control can take only small steps to result in accurate control, which makes it slow, but its easily obtained stable outcome may be an advantage for many applications.
4.1 Controlling event rate
Fig 3 shows the design of the threshold and refractory period controllers that are described in the following. We measure event rate by a simple box filter that counts events during a period (usually 300 ms) and divides the count by the period.
4.1.1 Threshold control for bounding event rate
The threshold controller shown in Fig. 3A increases while the event rate is above the upper bound , and decreases it while is below the lower bound . Every increase of creates noise, so the control occurs at a rate . A hysteresis factor H holds the state until crosses the bound multiplied or divided by H.
4.1.2 Refractory control for limiting event rate
The refractory period controller shown in Fig. 3B limits the maximum event rate. It increases while the event rate is above the upper bound , and gradually decreases it back to the default value once drops below . In contrast to threshold control, changing refractory period does not produce much noise, but to reduce control actions, we use the same limits on control rate and hysteresis as for the threshold controller.
4.2 Controlling signal and noise with bandwidth
Fig. 4 illustrates the concept of bandwidth control for passing as much signal as possible without creating too much noise. As we increase bandwidth, more and more of the high frequency signal components create brightness change events, but noise also increases. Eventually, the bandwidth is sufficient to capture all signal frequencies, while noise continues to increase. Sec. 5.2.3 shows an experiment for which an optimum setting exists, resulting in a maximum difference between signal and noise.
4.2.1 Estimating signal and noise
We assume that signal and noise characteristics remain stable to allow their measurement. Furthermore, we assume that a denoising algorithm can correctly filter out the DVS background activity noise, which lets us estimate a measure of the normalized signal minus noise difference from
where the event rates and are the rate of signal and noise events. In this study, we measure by using a correlation-based denoising algorithm called the Background Activity Filter [baf-filter-delbruck-frame-free]. If is the input event rate, and is the rate of events that are removed by denoising, then is the rate of denoised signal events. ranges over and takes on a maximum value when the difference between signal and noise rates is maximal. We adjusted the denoising correlation time to preserve the signal and remove most of the noise even at the highest bandwidth setting. Sec. 5.2.3 shows experimental results of estimated .
4.2.2 Controlling bandwidth to regulate noise
A bandwidth controller might adjust bandwidth to maximize . However, the online measurement of requires very long averaging to remove the effect of fluctuating signal characteristics, so we did not attempt to develop a controller. Instead, we developed the state-machine fixed-step controller to regulate noise illustrated in Fig. 3C. It operates similarly to the threshold and refractory period controllers, but its aim is to keep the noise event rate close to a target . Sec. 5.3.3 shows control experiment results.
5 Experimental results
This section reports our measurements and control experiment results. Results are based on source code DVSBiasController333DVSBiasController.java in jAER on github using a prototype DAVIS346 camera from iniVation that uses a DAVIS sensor IC from our group [davis346-Taverni2018].
5.1 Experimental setup
Fig. 5 shows the setup for experiments. The DAVIS346 camera is connected to the host computer and the bias control runs on the host. We control the DVS event rate by changing the speed and contrast of the displayed stimulus (here a recorded rotating dot).
5.2 Effect of bias tweaks
This section presents measurements of the effect of bias tweaks on event rate and signal versus noise.
5.2.1 Effect of threshold on event rate
Estimating the event threshold from the bias currents allows plotting the measured event rate versus estimated threshold. Fig. 6 compares the measured results with the theory of Sec. 3.2 with a rotating dot and driving video. The dot video is presented with two different contrasts. Over a sensitivity range of [2:5] event/e-fold there is a linear relationship; above this range, noise increases the event rate. The threshold sensitivity is about 2.2 for all of the tested inputs. The gain factor depends on the visual input, but the intercept determined by the maximum contrast in the visual input, since contrast smaller than the threshold does not trigger events.
5.2.2 Effect of refractory period on limiting event rate
Fig 7 shows limiting event rate with control. Since the refractory period affects the dead time after each event, we used a physical continuously rotating dot to produce continuous DVS input rather than the synchronous input produced by a computer monitor. The DC motor speed was controlled by PWM output from an Arduino Nano. We varied the speed of rotation under computer control and measured the output event rate using various settings. Decreasing decreased the event rate. The 1 ms snapshots show that increased refractory period erases repeated events and the trailing ON edge of the black dot. The summary plot of event rate versus refractory period shows that systematically affects the event rate and the effect is nearly linear.
5.2.3 Effect of bandwidth on signal and noise
Fig 8 shows experimental results illustrating the concept of optimizing signal versus noise presented in Sec. 4.2. The input in this experiment was 5 rotating dots. As we increase the bandwidth tweak , the signal event rate increases but tends to saturate as it becomes high enough to capture the movements of the dots. The noise event rate continues to increase steeply. The signal rate appears to increase more steeply for the final setting, but this increase is a byproduct of greatly increased noise, which is misclassified as signal. A maximum occurs for tweak values around zero. (The is still negative even at this peak, because for this scene, the signal event rate was always less than the noise event rate.) Big changes in event rate occur every time is changed which makes the measurement quite difficult.
5.3 Control experiments
This section presents results of control experiments.
5.3.1 Bounding event rate by controlling threshold
Fig. 9 shows the result of an experiment on bounding event rate using fixed-step threshold control. The input was a single rotating dot for which we varied the speed of rotation (and occasionally stopped) to vary the event rate. We arbitrarily set and for this experiment; in practice they would be determined by system-level considerations. We can see that the threshold tweak varies according to the control policy to bring the event rate within the bounds.
5.3.2 Limiting high event rate with refractory period
Fig 10 shows the results of an experiment to control event rate below a maximum limit by using . We displayed input to the DVS where we could control the number of generated DVS events by varying the speed of the input. Initially, the control is disabled, and the goes up to over 2 MHz. Then control is enabled. While , is decreased. After 5s, is controlled to be under . The cycle is repeated several times.
5.3.3 Regulating noise with bandwidth control
Fig 11 shows the results of an experiment to regulate noise per pixel close to by using . In a stationary scene, we turned the light illuminating the scene off and then on again. Turning the light off increased the noise , so the controller decreased until went below by the required hysteresis factor of . Then we turned the light back on. This caused to increase back to its original value. Thus the noise controller successfully regulates the DVS pixel shot noise.
6 Discussion and conclusion
|Event rate||Threshold||Does not discard high frequency information.||Increased brightness quantization with higher threshold. Decreasing threshold causes event bursts.|
|Event rate||Refractory period||Only minor control artifacts.||Increased refractory period discards high spatio-temporal frequency information.|
|Noise||Bandwidth||Controlled noise.||Large global event transient artifacts caused by changes. Difficult to measure over short time scales.|
Table 2 compares the control method advantages and disadvantages. Regulating event rate is clearly practical. Either threshold or refractory period control can be used. Threshold control has the advantage of increasing sensitivity for low contrast features, but increased sensitivity increases noise. Additionally, changes of threshold (particularly decreases) introduce significant transient bursts of events. A more sophisticated controller based on a more precise model would allow sparser control action and so would limit the undesired transient effects. It would also speed up control, making it suitable for wider range of applications. A good first choice would be a proportional controller which we predict to perform well thanks to linear dependence between and event rate. Proportional control may be particularly effective if one knows (from (5)) and are able to infer online.
Changing refractory period does not cause transient control artifacts, but leads to loss of high spatio-temporal frequencies. For example, for our test case of a spinning black dot, a long refractory period erases the trailing ON edge of the dot. The effect of a long refractory period on textured objects would be to erase much of the detailed texture contained within the object, leaving only the leading edge and some of the internal structure.
Automatic control of signal and noise tradeoff is more difficult: Conceptually, a particular tradeoff of signal versus noise is arbitrary, since the relative cost of admitting more noise or losing more high frequency signal depends on the application. Practically, it is hard to measure a metric like metric in a dynamically-changing scene. The measurements of Fig. 8 were obtained with a well-controlled, unvarying stimulus where signal events were designed to be as constant as possible. In real scenarios, signals would usually change in an unpredictable way. Measuring to limit it is more practical, but each bandwidth tweak change introduces a lot of transient artifact events, because the global DC changes of photoreceptor output cause large bursts of noise events. Therefore, the controller must ignore the output until the transient disappears. Automatic noise regulation would be useful for long-term control, e.g., in surveillance and environmental monitoring, where the noise measurements would be reliable and bandwidth control actions would be infrequent, e.g. every few minutes.
The results in this paper on automatic feedback control of DVS camera pixel biases should be regarded as a starting point for future improvements. The controllers are currently designed to work in isolation, but could be combined, noise could be controlled by bandwidth and threshold. Bias control could incorporate time of day [Litzenberger2007-car-counting], lighting, and temperature information. Absolute lighting information is available from sensors that include intensity output like DAVIS but could also incorporate a simple light sensor or a global photocurrent measurement such as in [dvs128]. Temperature is available from the camera’s inertial measurement unit [Delbruck2014-imu]. These sensor readings can be fused with DVS output statistics for quicker and more robust bias control.
This work was supported by Swiss SNF grant SCIDVS (200021_185069). We thank reviewers for useful comments.