We’ve implemented the face detection functionality in Viinex 2.0. The face detection stuff is divided into two modules in Viinex: there is an “engine” which processes the still images, and a “video analytics module”, which presents the sequence of frames to the engine until a result is produced.
Both components are available from the HTTP API. One can try the engine on an arbitrary image using the CURL utility to issue the HTTP POST requests to Viinex (an image goes in the HTTP request body, and detection result is returned as a JSON structure in the HTTP response body). Alternatively, one can associate the face detection video analytics module with a camera, in order to detect the faces on video upon request. In this case Viinex takes care about the media data, while the client software just gets the face detection results — the geometry of faces and the timestamp of a frame where the faces were found. When the faces are detected on video, the analytics module stores corresponding frames in a buffer in memory, so that the client software can get them later, as snapshots. As always, the whole frame is available as a snapshot as well as the region(s) of interest containing the face(s) just detected.
The video source attached to the face detection video analytics module could be an IP camera or an RTSP video source, as well as USB camera that produces uncompressed video. In fact, one video analytics module can even be linked with multiple cameras (possibly of different kind); this is to perform the facial detection on the same scene viewing it at different angles, — with Viinex, this can be done in a single HTTP API request.
The face detection feature is available since Viinex build 220.127.116.11.