## 3 The Distributed Face Recognition Model  
As shown in Figure 1, the distributed face recognition model we consists of two parts: the server and the agents. Each agent can simultaneously handle multiple videos containing one or more pedestrians. In the video processing step, the agents are mainly responsible for face detection, tracking and feature extraction, and then send obtained data to the server; the server performs face recognition according to the feature information extracted by the agents, and then returns recognition results to the agents. Traditional face recognition methods mainly focus on the optimization of the face recognition algorithms on static images, and the optimization of spatial and temporal probability models of real-time videos. Generally, all the processes are concentrated in a single server with finite processing capacity. This kind of method is referred to centralized face recognition, as shown in Figure 2a. In such a situation, server overload will cause with growing tasks, leading to the decline of information processing speed and system delay. Moreover, the security of face recognition cannot be guaranteed because the server, the camera and the dataset are all in the same local network. We compare the centralized system with the distributed system in Table 1.  
Figure 1: The proposed distributed face recognition model. Based on the above, we construct a distributed framework to improve the face recognition performance, as shown in Figure 2b. This framework includes two parts: the server and the agents. Figure 2c shows the interaction between the server and the agents. The server and the agents exchange information with each other through the Simple Object Access Protocol (SOAP). This is a simple object access protocol for exchanging structured information in a distributed environment. The process of information exchange is as follows. The agent sends a connection establishment request to the server. Once the server confirms, the connection is established, and the data are transmitted between the agent and the server. When the agent completes the transmission of all the data, it sends a connection release request to the server, and then the server either continues to transfer the data to the agent, or directly confirms the request and releases the connection. The agent side consists of a video stream forwarding module and a face recognition module. For each agent, a number of face recognition tasks can be dealt with. The video stream forwarding module connects with the network camera to receive data stream. The face recognition module mainly implements some preparatory work for face recognition, including face detection, tracking and feature extraction. Then, the server side performs further face identification using extracted face features sent from the agents. The server saves the results to the dataset and finally determines whether to return the results to the face recognition module according to the type of monitoring authority. At the same time, it supports remote Web Client Access, and the user accessing the system through the browser can watch both real-time video streams and on-demand warning documents and tasks such as the definition and query. The whole process of the real-time distributed video-based face recognition framework is given in Figure 3, which are: (1) face detection: detecting and marking the faces in video frames; (2) face tracking: regarding the coordinates of detected human faces as the initial state of the tracking target, and then