Smoking in public indoor spaces has become prohibited in many countries since it not only affects the health of the people around you, but also increases the risk of fire outbreaks. This paper proposes a novel scheme to automatically detect and recognize smoking events by using exsiting surveillance cameras. The main idea of our proposed method is to detect human smoking events by recognizing their actions. In this scheme, the human pose estimation is introduced to analyze human actions from their poses. The human pose estimation method segments head and both hands from human body parts by using a skin color detection method. However, the skin color methods may fail in insufficient light conditions. Therefore, the lighting compensation is applied to help the skin color detection method become more accurate. Due to the human body parts may be covered by shadows, which may cause the human pose estimation to fail, the Kalman filter is applied to track the missed body parts. After that, we evaluate the probability features of hands approaching the head. The support vector machine (SVM) is applied to learn and recognize the smoking events by the probability features. To analysis the performance of proposed method, the datasets established in the survillance camera view under indoor enviroment are tested. The experimental results show the effectiveness of our proposed method with accuracy rate of 83.33%.
We studied several well-known timing synchronization algorithms in this paper, and applied them to our distributed real-time camera system. We proposed a peer-to-peer framework for distributed real-time gesture recognition, and this study serves as the keystone of the system. Cameras and microprocessors are now cheap enough that many smart camera nodes can be used in a single system. A smart camera node contains not only video capturing devices, but also processing elements to perform both capture and process in the same package. Sometimes, using multiple relatively inexpensive cameras with lower resolution might even provide better performance and be more cost efficient than using single high-end camera. In order to perform real-time video processing, distributed multiple cameras require distributed processing power, and the distributed nodes have to remain synchronized to ensure the correctness of distributed video processing. Though clock synchronization has already been well studied in decades, most previous work uses domain knowledge to achieve good synchronization result on a certain network structure. Precision in microseconds could be achieved in several previous approaches. However, for our distributed real-time video processing system, such precision is not required; only frame-precision is needed for our system, which is around tens of milliseconds. In our distributed camera system we assume no deterministic network structure for the camera nodes. Since there is no single time synchronization algorithm would suit every network structure, we would like to investigate the possibility to perform clock synchronization in application layer, where domain knowledge of underlying structure is not needed. We choose algorithms that achieve synchronization by exchanging messages between camera nodes to achieve synchronization on heterogeneous network structures. We investigate three well-known message-exchanging timing synchronization methods: Lamport’s; Lundelius’ and Halpern’s algorithms, and perform experiments on our distributed camera system. All these methods can tolerate up to one third of faulty camera nodes, and Halpern’s algorithm could even survive as long as the network is connected. Three different network configurations are used in our simulation, and each configuration can represent certain realistic camera distributions. Among all the algorithms we studied, Halpern’s algorithm is the simplest one in sense of computation complexity, and can achieve the most precise synchronization, regardless the huge variation in transmission delay. Halpern’s algorithm also uses less message exchanges, and can even be hidden within normal data packages, which is a better choice for our distributed real-time camera system.