C# Solutions for a Face Detection and Recognition System
Key issues on using a new programming language - C# - in implementation of a face detection and recognition (FDR) system are presented. Mainly the following aspects are detailed: how to acquire an image, broadcast a video stream, manipulate a database, and finally, the detection/recognition phase, all in relation with theirs possible C#/.NET solutions. Emphasis was placed on artificial neural network (ANN) methods for face detection/recognition along with C# object oriented implementation proposal.
In June 2000, Microsoft announced both the .NET platform and a new programming language called C# [1-3]. .NET is a framework that covers all the layers of software development from the operating system up. It actually wraps the operating system, insulating software developed with .NET from most operating system specifics such as file handling and memory allocation. It provides a new application programming interface (API) to the services and APIs of classic Windows operating systems while bringing together a number of disparate technologies that emerged from Microsoft during the late 1990s. It provides the richest level of integration among presentation technologies, component technologies, and data technologies ever seen on a Microsoft platform. This includes COM+ component services, a commitment to XML and object-oriented design, support for new web services protocols such as SOAP, WSDL, and UDDI, etc. .NET framework components .
…
Image acquisition includes the first two stages depicted in Figure 3, namely image grabbing and preprocessing. Eventually, at this step, the video stream could be broadcasted, in real time, over Internet. Considering the coding difficulties, using C# together with a videocapture device (videocamera, webcam), grabbing a still image from the video stream and, eventually, Internet broadcast it via a web server, is nowdays the most problematic aspect of the C# FDR implementation. Most of the problems are promised to be solved in the near future by DirectX 10 /Windows Longhorn launching. It seems that there are only two ways to communicate with a videocapture device:
…
Considering an image representing a frame taken from a video stream or a graphic file selected from a database; the problem of face detection consist of finding the spatial location within the scene where human faces are located. This problem is quite challenging due numerous issues, e.g. pose, presence or absence of structural components, facial expression, occlusion, orientation, imaging conditions.