Event-based Face Detection and Tracking in the Blink of an Eye
Gregor Lenz Sio-Hoi Ieng Ryad Benosman








Event-based Face Detection and Tracking in the Blink of an Eye
    Gregor Lenz, Sio-Hoi Ieng

Sorbonne Université INSERM, CNRS, Institut de la Vision

gregor.lenz@upmc.fr, sio-hoi.ieng@upmc.fr





Ryad Benosman

Sorbonne Université, University of Pittsburgh, Carnegie Mellon

benosman@pitt.edu

    December 30, 2023
========================================================================================================================================================================================================================================





We present the first purely event-based method for face detection using the high temporal resolution of an event-based camera. We will rely on a new feature that has never been used for such a task that relies on detecting eye blinks. Eye blinks are a unique natural dynamic signature of human faces that is captured well by event-based sensors that rely on relative changes of luminance. Although an eye blink can be captured with conventional cameras, we will show that the dynamics of eye blinks combined with the fact that two eyes act simultaneously allows to derive a robust methodology for face detection at a low computational cost and high temporal resolution. We show that eye blinks have a unique temporal signature over time that can be easily detected by correlating the acquired local activity with a generic temporal model of eye blinks that has been generated from a wide population of users. We furthermore show that once the face is reliably detected it is possible to apply a probabilistic framework to track the spatial position of a face for each incoming event while updating the position of trackers. Results are shown for several indoor and outdoor experiments. We will also release an annotated data set that can be used for future work on the topic.







§ INTRODUCTION


This paper introduces an event-based method to detect and track faces from the output of an event-based camera (samples are shown in Fig.<ref>). The method exploits the dynamic nature of human faces to detect, track and update multiple faces in an unknown scene. Although face detection and tracking is considered practically solved in classical computer vision, the use of conventional frame-based cameras does not allow to consider dynamic features of human faces. Event-based cameras record changes in illumination and are therefore able to record dynamics in a scene with high temporal resolution (in the range of 1μ to 1 ms). In this work we will rely on eye blink detection to initialise the position of multiple trackers and reliably update their position over time. Blinks produce a unique space-time signature that is temporally stable across populations and can be reliably used to detect the position of eyes in an unknown scene. this paper extends the sate-of-art by:

    
  * implementing a low-power human eye-blink detection that exploits the high temporal precision provided by event-based cameras.
    
  * detecting and tracking multiple faces simultaneously at μs precision.




The pipeline is entirely event-based in the sense that every event that is output from the camera is processed into an incremental, non-redundant scheme rather than creating frames from the events to recycle existing image-based methodology. We show that the method is inherently robust to scale change of faces by continuously inferring the scale from the distance of two eyes. Comparatively to existing image-based face detection techniques such as   <cit.><cit.><cit.>, we show in this work that we can achieve a reliable detection at the native temporal resolution of the sensor without using costly computational techniques. Existing approaches usually need offline processing to build a spatial prior of what a human face should look like or vast amounts of data to be able to use machine learning techniques. 
The method is tested on a range of scenarios to show its robustness in different conditions: indoor and outdoor scenes to test for the change in lighting conditions; a scenario with a face moving close and moving away to test for the change in scale, a setup of varying pose and finally a scenario where multiple faces are detected and tracked simultaneously.
In order to compare performance to frame-based techniques, we build frames at a fixed frequency (25fps) from the grey-level events provided by the event based camera. We then apply gold-standard and state-of-the-art face detection algorithms on each frame and the results are used to assess the proposed event-based algorithm.




 §.§ Event-based cameras


Event-based vision sensors are a new class of sensors based on an alternative signal acquisition paradigm. Rethinking the way how visual information is captured, they increasingly attract attention from  computer vision community as they provide many advantages that frame-based cameras are not able to provide without drastically increasing computational resources. Redundancy suppression and low latency are achieved via precise temporal and asynchronous level crossing sampling as opposed to the classical spatially dense sampling at fixed frequency implemented in standard cameras.

Most readily available event-based vision sensors stem from the Dynamic Vision Sensor (DVS) <cit.>. As such, they work in a similar manner of capturing relative luminance changes. As Fig. <ref> shows, each time illuminance for one pixel crosses a predefined threshold, the camera outputs what is called an event. An event contains the spatial address of the pixel, a timestamp and a positive (ON) or negative (OFF) polarity that corresponds to an increase or decrease in illuminance. Formally, such an event is defined as the n-tuple:

ev=(x,y,t,p),

where (x,y) are the pixel coordinates, t the time of occurrence and p is the polarity.
Variations of event-based cameras implement additional functionality.  In this work, we are using the Asynchronous Time-based Image Sensor (ATIS) <cit.> as it also provides events that encode absolute luminance information, as does <cit.>. Here the time it takes to reach a certain threshold is converted into an absolute grey-level value. This representation allows for easier comparisons with the frame-based world. To compare the output of such cameras with conventional ones, artificial frames can be created by binning the  grey-level events.  A hybrid solution of event- and frame-based world captures grey-level frames like a regular camera on top of the events <cit.>. 
Inherently, no redundant information is captured, which results in significantly lower power consumption. The amount of generated events directly depends on the activity and lighting conditions of the scene. Due to the asynchronous nature and therefore decoupled exposure times of each pixel these sensors timestamp and output events with μs precision and are able to reach a dynamic range of up to 125 dB. The method we propose can be applied to any event-based camera operating at sub-millisecond temporal precision as it only uses events that encode change information.







 §.§ Face detection


The advent of neural networks enables state-of-the-art object detection networks that can be trained on facial images <cit.>, which rely on intensive computation of static images and need enormous amounts of data. Although there have been brought forward ideas on how to optimise frame-based techniques for face detection on power-constraint phones, most of the times they have to use a dedicated hardware co-processor to enable real-time operation <cit.>. Nowadays dedicated chips such as Google's Tensor Processing Unit or Apple's Neural Engine have become an essential part in frame-based vision, specialising in executing the matrix multiplications necessary to infer neural networks on each frame as fast as possible. In terms of power efficiency algorithms such as the one developed by Viola and Jones <cit.> are still more than competitive. 

Dedicated blink detection in a frame-based representation is a sequence of detections for each frame. To constrain the region of interest, a face detection algorithm normally is used beforehand. Blinks are then deduced from the coarse sequence of detection results, which depending on the frame rate typically ranges from 15 to 25 Hz<cit.>. In an event-based approach, we turn the principle inside out and use blink detection as a mechanism to drive the face detection and tracking. Being the first real-time event-based face detector and tracker (to the best of our knowledge), we show  that by manually labelling fewer than 50 blinks, we can generate sufficiently robust models that can be applied to different scenarios. The results clearly contrast the vast amount of data and GPUs needed to train a neural network. 



 §.§ Human eye blinks

We take advantage of the fact that adults blink synchronously and more often than required to keep the surface of the eye hydrated and lubricated. The reason for this is not entirely clear, research suggests that blinks are actively involved in the release of attention <cit.>. Generally, observed eye blinking rates in adults depend on the subject's activity and level of focus and can range from 3 blinksmin when reading up to 30 blinksmin during conversation (Table <ref>). Fatigue significantly influences blinking behaviour, increasing both rate and duration <cit.>. 
Typical blink duration is between 100 - 150 ms <cit.> and shortens with increasing physical workload or increased focus. 





To illustrate what happens during an event-based recording of an eye blink, Fig. <ref> shows different stages of the eye lid closure and opening. If the eye is in a static state, few events will be generated (a). The closure of the eye lid happens within 100 ms and generates a substantial amount of ON events, followed by a slower opening of the eye (c,d) and the generation of mainly OFF events. From this observation, we devise a method to build a temporal signature of a blink. This signature is then used to signal the presence of a pair of eyes in the field of view, hence the presence of a face.



§ METHODS
 


 §.§ Temporal signature of an eye blink
 
Eye blinks are a natural dynamic stimulus that can be represented as a temporal signature. While a conventional camera is not adequate to produce such a temporal signature because of its stroboscopic and slow acquisition principle, event-based sensors on the contrary are ideal for such a task. The blinks captured by an event-based camera are patterns of events that possess invariance in time because the duration of a blink is independent of lighting conditions and steady across the population. To build a canonical eye blink signature A(t_i) of a blink, we convert events acquired from the sensor into temporal activity. For each incoming event ev=(x_i,y_i,t_i,p_i), we update A(t_i) as follows:

    A(t_i)=
    {
    A_on(t_u)  e^-t_i-t_u/τ + 1/scale   if p_i=ON
    
    A_off(t_v)  e^-t_i-t_v/τ + 1/scale   if p_i=OFF.

where t_u and t_v are the times an ON or OFF event occurred before t_i. The respective activity function is increased by 1/scale at each time t_n an event ON or OFF is registered. The quantity scale acts as a corrective factor to account for a possible change in scale, as a face that is closer to the camera will inevitably trigger more events. Fig. <ref> on top of the next page shows the two activity profiles for one tile that aligns with the subject's eye in a recording. Clearly visible are the 5 profiles of the subject's blinks, as well as much higher activities at the beginning and the end of the sequence when the subject moves as a whole. From a set of manually annotated blinks we build such an activity model function as shown in Fig. <ref> where red and blue curve respectively represent the ON and OFF parts of the profile.

Our algorithm detects blinks by checking whether the combination of local ON- and OFF-activities correlates with that model blink that had previously been built from annotated material. 
To compute that local activity, the overall input focal plane is divided into one grid of 16 by 16 tiles, overlapped with a second similar grid made of 15 by 15 tiles. Each of these are rectangular patches of 19 × 15 pixels, given the event-camera's resolution of 304 × 240 pixels. They have been experimentally set to line up well with the eyes natural shape. The second grid is shifted by half the tile width and height to allow for redundant coverage of the focal plane. 

An activity filter is applied to reduce noise:

For each incoming event, its spatio-temporal neighbourhood is checked for corresponding events. If there are no other events within a limited time or pixel range, the event is discarded. Events that pass this filter will update ON or OFF activity in their respective tile(s) according to Eq. <ref>. Due to the asynchronous nature of the camera, activities in the different tiles can change independently from each other, depending on the observed scene.







  §.§.§ Blink model generation

The model blink is built from manually annotated blinks from multiple subjects. We used two different models for indoor and outdoor scenes, as the ratio between ON and OFF events changes sufficiently in natural lighting. 20 blinks from 4 subjects resulted in an average model as can be seen in Fig. <ref>. The very centre of the eye is annotated and events within a spatio-temporal window of one tile size and 250 ms are taken into account to generate the activity for the model. This location does not necessarily line up with a tile of the previously mentioned grids. Due to the sparse nature of events, we might observe a similar envelope of activity for different blinks, however the timestamps of when events are received will not be exactly the same. Since we want to obtain a regularly sampled, continuous model, we interpolate activity between events by applying Eq. <ref> for a given temporal resolution  R_t = 100 μ s. Those continuous representations for ON (red curve) and OFF (blue curve) activity are then averaged across different blinks and smoothed to build the model. Grey area in Fig. <ref> representing such a continuous model corresponds to blue mean in Fig. <ref>. We define the so obtained time-continuous model:

    B(t)=B_ON(t) ∪ B_OFF(t).

As part of the model and for implementation purposes, we are also adding the information N= #events/T.scale, which is normalised by the scale term that reflects the typical number of events triggered by a blink within that last Tms. 



  §.§.§ Sparse cross-correlation
 

When streaming data from the camera, the most recent activity within a T=250 ms time window is taken into account in each tile to calculate the template matching score for ON and OFF activity. 
However, the correlation score is only ever computed if the number of recent events exceeds N, to avoid costly and unnecessary calculations. To further alleviate computational burden, we harness the event-based nature of the recording by taking into account only values for which we have received events. Fig. <ref> shows an example of a sparse correlation calculation. The cross-correlation score between the incoming stream of events and the model is given by:

    C(t_k)=α C_on(t_k)+(1-α)C_off(t_k),

where 

    C_p(t_k) = ∑_i=0^N A_p(t_i)B_p(t_i-t_k),




with p∈{ON,OFF}. The ON and OFF parts of the correlation score are weighted by a parameter α that tunes the contribution of the ON/OFF events. This is necessary as, due to lighting and camera biases, ON and OFF events are usually not balanced. The weight α is set experimentally, typically for indoor and outdoor conditions. 

It is important for implementation reason, to calculate the correlation as it is in Eq. <ref> because while it is possible to calculate the value of the model B(t_m-t_k) at anytime, samples for A are only known for the set of times {t_i}, from the events.

If C(t_i) exceeds a certain threshold, we create what we call a blink candidate event for the tile in which the event that triggered the correlation occurred. Such a candidate is represented as the n-tuple eb = (r, c, t), where (r,c) are the coordinates of the grid tile and t is the timestamp. We do this since we correlate activity for tiles individually and only in a next step combine possible candidates to a blink. 



  §.§.§ Blink detection


To detect the synchronous blinks of two eyes, blink candidates across grids generated by the cross-correlation are tested against additional constraints for verification. As a human blink has certain physiological constraints in terms of timing, we check for temporal and spatial coherence of candidates in order to find true positives. The maximum temporal difference between candidates will be denoted as Δ T_max and is typically 50 ms, the maximum horizontal spatial disparity Δ H_max is set to 60 pixels and maximum vertical difference Δ V_max is set to 20 pixels. Algorithm <ref> summarises the set of constraints to validate a blink. We trigger this check whenever a new candidate is stored. The scale factor here refers to a face that has already been detected.


 
 
 


 §.§ Gaussian tracker

Once a blink is detected with sufficient confidence, a tracker is initiated at each detected location.
Trackers such as the ones presented in <cit.> are used with bivariate normal distributions to  locally model the spatial distribution of events. For each event, every tracker is assigned a score that represents the probability of the event being generated by the tracker: 


    p(u) = 1/2π|Σ|^-1/2 e^-1/2(𝐮-μ)^T Σ^-1(𝐮-μ)

where u= [x,y]^T is the pixel location of the event and the covariance matrix Σ is determined when the tracker is initiated and will also update according to the distance between the eyes. The tracker with the highest probability is updated, provided that it is higher than a specific threshold value. A circular bounding box for the face is drawn based on the horizontal distance between the two eye trackers. We shift the centre of the face bounding box by a third of the distance between the eyes to properly align it with the actual face. 



 §.§ Global algorithm

The detection and tracking blocks put together allow us to achieve the following event-by-event global face tracking Algorithm <ref>: 
	



§ EXPERIMENTS AND RESULTS

We evaluated the algorithm's performance on a total of 48 recordings from 10 different people. The recordings are divided into 4 sets of experiments to assess the method's aptitude under realistic constraints encountered in natural scenarios. The event-based camera is static, observing people interacting or going after their own tasks. The data set tested in this work includes the following parts:

    
  * a set of indoor sequences showing individuals moving in front of the camera.
    
  * a set of outdoor sequences similarly showing individuals moving in front of the camera.
    
  * a set of sequences showing a single face moving back and forth w.r.t. the camera to test for scale change robustness.
    
  * a set of sequences with several people discussing, facing the camera to test for multi-detections.
    
  * a set of sequences with a single face changing its orientation w.r.t. the camera to test for occlusion resilience.

The presented algorithm has been implemented in C++ and runs in real-time on an Intel Core i5-7200U CPU. We are quantitatively assessing the proposed method's accuracy by comparing it with state of the art and gold standard face detection algorithms from frame-based computer-vision. As these approaches require frames, we are generating grey-levels from the camera when this mode is available. The Viola-Jones <cit.> algorithm provides the gold standard face detector and a Faster R-CNN and a Single Shot Detector (SSD) network that have been trained on the Wider Face<cit.> data set enable comparison with state-of-the-art face detectors based on deep learning <cit.>.







 §.§ Blink detection and face tracking

The proposed blink detection and face tracking technique requires reliable detections or true positives. We do not actually need to detect all blinks because one is already sufficient to initiate the trackers. Additional incoming blink detections are used to correct trackers' drifts from time to time and could possibly decrease latency until tracking starts. As we will show in the experimental results, blinks are usually detected with a ratio of 60% which ensures reliable tracking accuracy.












 §.§ Indoor and outdoor face detection

The indoor data set consists of recordings in controlled lighting conditions. As blinking rates are highest during rest or conversation, subjects in a chair in front of the camera were instructed not to focus on anything in particular and to gaze into a general direction. Fig. <ref> shows tracking data for such a recording. Our algorithm starts tracking as soon as one blink is registered (a). After an initial count to 10, the subject should lean from side to side every 10 seconds in order to vary their face's position. Whereas tracking accuracy on the frame-based implementation is constant (25 fps), our algorithm is updated event-by-event depending on the movements in the scene. If the subject stays still, computation is drastically reduced as there is a significantly lower number of events. Head movement causes the tracker to update within μ s (b), incrementally changing its location in sub-pixel range. Eye trackers that go astray will be rectified at the next blink.



Subjects in the outdoor experiments were asked to step from side to side in front of a camera placed in a courtyard under natural lighting conditions. Again they were asked to gaze into a general direction, partly engaged in a conversation with the person who recorded the video. As can be expected, Table <ref> shows that results are similar to indoor conditions. The slight difference is due to non-idealities and the use of the same camera parameters as the indoor experiments. Event-based cameras still lack an automatic tuning system of their parameters that hopefully will be developed in a future generation of a camera.





 §.§ Face scale changes

In 3 recordings the scale of a person's face varies by a factor of more than 5 from smallest to largest detected occurrence. Subjects sitting on a movable stool were instructed to approach the camera within 25 cm after an initial position and then veer away again after 10 s to about 150 cm. Fig. <ref> shows tracking data for such a recording over time. The first blink is detected after 3 s at roughly 1 m in front of the camera (a). The subject then moves very close to the camera and to the left so that not even the whole face bounding box is seen anymore (b). Since the eyes are still visible, this is not a problem for our tracker. However, GT had to be partly manually annotated for this part of the recording, as two of the frame-based methods failed to detect the face that is too close to the camera. The subject then moves backwards and to the right, followed by further re-detections (c).














 §.§ Multiple faces detection

In order to show that the algorithm can handle multiple faces at the same time, we recorded 3 sets of 3 subjects sitting at a desk talking to each other. No instructions where given, as the goal was to record in a natural environment. Fig. <ref> shows tracking data for such a recording. The three subjects stay relatively still, but will look at each other from time to time as they are engaged in conversation or focus on a screen. Lower detection rates (see Table <ref>) are caused by an increased pose variation, however this does not result in an increase of the tracking errors.





 §.§ Occlusion sequences

These last sequences aim to evaluate the robustness of the proposed method to pose variation that cause eye occlusions. The subjects in these sequences are rotating their head from one side to the other until one eye is partly occluded. Our experiments show that our algorithm successfully recovers from occlusion to track the eyes. These experiments have been carried out with an event-based camera at VGA resolution. While this camera provides better temporal accuracy and spatial resolution, it does not provide grey-level events measurements. Although we fed frames from the change detection events (which do not contain absolute grey-level information) to  the frame-based methods, none of them would sufficiently detect a face. This can be expected as the networks had been trained on grey-level images. We believe that if we retrained the last layers of the networks with manually labelled frames from change detection events, they would probably achieve similar performance. However the frame data set creation and the training are not the scope of this work.





 §.§ Summary

Table <ref> summarises the accuracy of detection and tracking of the presented method, in comparison to Viola-Jones (VJ), Faster-RCNN (FRCNN) and Single Shot Detector (SSD) algorithms. The tracking errors are the deviations from the frame-based bounding box centre, normalised by the bounding box's width. The normalisation provides a scale invariance so that errors estimated for a large bounding box from a close-up face have the same meaning as errors for a small bounding box of a face further away.






§ CONCLUSION

The presented method for face detection and tracking is a novel method using an event-based formulation. It relies on eye blinks to detect and update the position of faces making use of dynamical properties of human faces rather than a approach which is purely spatial. 
The face's location is updated at μs precision that corresponds to the native temporal resolution of the camera. Tracking and re-detection are robust to more than a five-fold scale, corresponding to a distance in front of the camera ranging from 25 cm to 1.50 m. A blink seems to provide a sufficiently robust temporal signature as its overall duration changes little from subject to subject. 

The amount of events received and therefore the resulting activity amplitude varies only substantially when lighting of the scene is extremely different (i.e. indoor office lighting vs  bright outdoor sunlight). The model generated from an initial set of manually annotated blinks is proven robust to those changes across a wide set of sequences. Even so, we insist again in stating that the primary goal of this work is not to detect 100 % of blinks, but to reliably track a face. The blink detection acts as initialisation and recovery mechanism to allow that. This mechanism allows some resilience to eye occlusions when a face moves from side to side. In the most severe cases of occlusion, the tracker manages to reset correctly at the next detected blink.

The occlusion problem could be further mitigated by using additional trackers for more facial features (mouth, nose, etc) and by linking them to build a deformable part-based model of the face as it has been tested successfully in <cit.>. Once the trackers are initiated, they could more easily keep the same distances between parts of the face. This would also allow for a greater variety in pose variation and more specifically, this would allow us to handle conditions when subjects do not directly face the event-based camera.  

The blink detection approach is simple and yet robust enough for the technique to handle up to several faces simultaneously. We expect to be able to improve detection accuracy even more by learning the dynamics of blinks via techniques such as HOTS <cit.>. At the same time with increasingly efficient event-based cameras providing higher spatial resolution the algorithm is expected to increase its performances and range of operations. 
We roughly estimated the power consumption of the compared algorithms to provide numbers in terms of efficiency:


    
  * The presented event-based algorithm runs in real-time on 70% of a single core of an Intel i5-7200U CPU for mobile Desktops, averaging to 5.5 W of power consumption estimated from <cit.>. 
    
  * The OpenCV Viola Jones implementation is able to run 24 of the 25 fps in real-time, using one full core at 7.5 W again inferred from 15W full load for both cores<cit.>.
    
  * The Faster R-CNN Caffe implementation running on the GPU uses 175 W on average on a Nvidia Tesla K40c with 4-5 fps. 
    
  * The SSD implementation in Tensorflow runs in real-time, using 106 W on average on the same GPU model. 


Currently our implementation runs on a single CPU core, beating SOA neural nets by an estimated factor of 20 in terms of power efficiency. Due to the asynchronous nature of the input and our method that adapts to it, it could easily be parallelised across multiple threads, using current architecture that is still bound to synchronous processing of instructions and allocation of memory. A neural network model that runs on neuromorphic hardware could further improve power efficiency by a factor of at least 10.

































ieee

10=-1pt
	
	7thGenerationIntel2017
	7th Generation Intel ® Processor Family and 8th
	Generation Intel ® Processor Family for U Quad Core
			Platforms, Aug. 2017.
	
	BenedettoDriverworkloadeye2011
	S. Benedetto, M. Pedrotti, L. Minin, T. Baccino, A. Re, and R. Montanari.
	Driver workload and eye blink duration.
	Transportation Research Part F: Traffic Psychology and
		Behaviour, 14(3):199–208, May 2011.
	
	BentivoglioAnalysisblinkrate1997
	A. R. Bentivoglio, S. B. Bressman, E. Cassetta, D. Carretta, P. Tonali, and
	A. Albanese.
	Analysis of blink rate patterns in normal subjects.
	Movement Disorders, 12(6):1028–1034, 1997.
	
	brandli2014240
	C. Brandli, R. Berner, M. Yang, S.-C. Liu, and T. Delbruck.
	A 240 * 180 130 db 3 μs latency global shutter spatiotemporal
	vision sensor.
	IEEE Journal of Solid-State Circuits, 49(10):2333–2341, 2014.
	
	JiangFaceDetectionFaster2017
	H. Jiang and E. Learned-Miller.
	Face Detection with the Faster R-CNN.
	pages 650–657. IEEE, May 2017.
	
	JohnA.SternBlinkRatePossible1994
	D. B. John A. Stern, David Schroeder.
	Blink Rate: A Possible Measure of Fatigue.
	Human Factors, 36(2), 1994.
	
	LagorceAsynchronousEventBasedMultikernel2015
	X. Lagorce, C. Meyer, S.-H. Ieng, D. Filliat, and R. Benosman.
	Asynchronous Event-Based Multikernel Algorithm for
	High-Speed Visual Features Tracking.
	IEEE Transactions on Neural Networks and Learning Systems,
	26(8):1710–1720, Aug. 2015.
	
	LagorceHOTSHierarchyeventbased2016
	X. Lagorce, G. Orchard, F. Gallupi, B. E. Shi, and R. Benosman.
	HOTS: A Hierarchy Of event-based Time-Surfaces for
	pattern recognition.
	IEEE Transactions on Pattern Analysis and Machine Intelligence,
	8828(c):1–1, 2016.
	
	LichtsteinerTemporalContrastVision2008
	P. Lichtsteiner, C. Posch, and T. Delbruck.
	A 128 × 128 120 db 15 μ s latency asynchronous temporal
	contrast vision sensor.
	IEEE journal of solid-state circuits, 43(2):566–576, 2008.
	
	liu2016ssd
	W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, and A. C. Berg.
	Ssd: Single shot multibox detector.
	In European conference on computer vision, pages 21–37.
	Springer, 2016.
	
	Guo2017
	M.Guo, J. Huang, and S. Chen.
	Live demonstration: A 768 × 640 pixels 200meps dynamic vision
	sensor.
	In IEEE International Symposium on Circuits and Systems.
		Baltimore, MD, USA. IEEE, 2017.
	
	NakanoBlinkrelatedmomentaryactivation2013
	T. Nakano, M. Kato, Y. Morito, S. Itoi, and S. Kitazawa.
	Blink-related momentary activation of the default mode network while
	viewing videos.
	Proceedings of the National Academy of Sciences,
	110(2):702–706, 2013.
	
	NomanMobileBasedEyeBlinkDetection2018
	M. T. B. Noman and M. A. R. Ahad.
	Mobile-Based Eye-Blink Detection Performance Analysis on
	Android Platform.
	Frontiers in ICT, 5, Mar. 2018.
	
	PoschQVGA143dB2011
	C. Posch, D. Matolin, and R. Wohlgenannt.
	A QVGA 143 dB Dynamic Range Frame-Free PWM Image Sensor
			With Lossless Pixel-Level Video Compression and Time-Domain
			CDS.
	IEEE Journal of Solid-State Circuits, 46(1):259–275, Jan.
	2011.
	
	ren2008real
	J. Ren, N. Kehtarnavaz, and L. Estevez.
	Real-time optimization of viola-jones face detection for mobile
	platforms.
	In Circuits and Systems Workshop: System-on-Chip-Design,
		Applications, Integration, and Software, 2008 IEEE Dallas, pages 1–4. IEEE,
	2008.
	
	ren2015faster
	S. Ren, K. He, R. Girshick, and J. Sun.
	Faster r-cnn: Towards real-time object detection with region proposal
	networks.
	In Advances in neural information processing systems, pages
	91–99, 2015.
	
	ReverterValeirasAsynchronousNeuromorphicEventDriven2015
	D. Reverter Valeiras, X. Lagorce, X. Clady, C. Bartolozzi, S.-H. Ieng, and
	R. Benosman.
	An Asynchronous Neuromorphic Event-Driven Visual Part-Based
			Shape Tracking.
	IEEE Transactions on Neural Networks and Learning Systems,
	26(12):3045–3059, Dec. 2015.
	
	sun2018face
	X. Sun, P. Wu, and S. C. Hoi.
	Face detection using deep learning: An improved faster rcnn approach.
	Neurocomputing, 299:42–50, 2018.
	
	ViolaRobustrealtimeface2004
	P. Viola and M. J. Jones.
	Robust real-time face detection.
	International journal of computer vision, 57(2):137–154, 2004.
	
	YangWiderfaceface2016
	S. Yang, P. Luo, C.-C. Loy, and X. Tang.
	Wider face: A face detection benchmark.
	In Proceedings of the IEEE Conference on Computer Vision
		and Pattern Recognition, pages 5525–5533, 2016.
	
	YangFacenessNetFaceDetection2017
	S. Yang, P. Luo, C. C. Loy, and X. Tang.
	Faceness-Net: Face Detection through Deep Facial Part
			Responses.
	arXiv preprint arXiv:1701.08393, 2017.
	



