We describe a method for detecting heads in order to count people in crowded environments using a single camera. The main difference between this method and traditional ones consists of adapting skeleton graph analysis techniques for distinguishing individuals in crowded environments. First, a graph skeleton is calculated for each selected blob in a scene after having performed motion estimation. Then, the structural property of each blob is explored to detect possible heads in order to estimate the number of people. Each detected head in the skeleton silhouette is identified as being in an independent or partial occlusion state and is updated during a tracking process. Finally, the results of our experiments are presented to demonstrate the robustness of our method.