## 2 Basic Theory
### Skeleton Simulation in Multi-Light-Source Scenarios
#### 2.1.2 Silhouette Information Extraction  
For the extracted human shadow contour \(Sh\) on the ground surface, joint positions are extracted through an optimized method based on the silhouette contour extreme point seeking method. Comparing with traditional human segmentation methods, only silhouette information is available for shadow contour segmentation in our work. In order to perform an efficient joint position extraction based on precise silhouette contour segmentation [17], a two-step algorithm is presented in this section. Human Shadow Silhouette Contour Preprocess  
Firstly, a survey for global peak points on the shadow contour is launched to locate most obvious joint positions on the human shadow contour. In this step, the gravity center coordinate \((\overline{u},\overline{v})\) of human shadow contour \(Sh\) is calculated first. For human shadow contour \(Sh\) containing \(N\) contour points \((u_{m},v_{m})\), the gravity center \((\overline{u},\overline{v})\) can be extracted based on the Equation (16). \[(\overline{u},\overline{v})=\left( \begin{array}{cc}\frac{1}{N}\sum\limits_{ m=1}^{N}u_{m},&\frac{1}{N}\sum\limits_{m=1}^{N}v_{m}\end{array} \right) \tag{16}\]  
Then, the the distance curve \(D\) between contour points \((u_{m},v_{m})\in Sh\) and the gravity center \((\overline{u},\overline{v})\) is calculated for the localization of global peak points. The value of each point on the distance curve \(D\) is calculated based on Equation (17). The Cartesian distance is applied in the Equation (17) as a linearized approximation for the value of each point on the distance curve. \[D\left(m\right)=\sqrt{(u_{m}-\overline{u})^{2}+(v_{m}-\overline{v})^{2}} \tag{17}\]  
In order to reduce the interference of grainy ground surface in the joint position extraction procedure, the distance curve \(D\) is denoised based on Equation (18). The smooth length unit \(\eta\) is set as 10 in our experiment. In the next step, the localization procedure of major joint positions is based on the denoised distance curve \(\overline{D}\). \[\overline{D}\left(m\right)=\frac{1}{\eta+1}\sum\limits_{l=-\frac{\eta}{2}}^{ \frac{\eta}{2}}D\left(u_{m+l},v_{m+l}\right) \tag{18}\]  
The global peak points including head and two feet appear at the maximum point on the distance curve. Based on the denoised distance curve \(\overline{D}\), the major joint positions can be located through seeking peak points. The normalized distance curve extraction procedure is illustrated from Equation (16) to Equation (18) and simplified in the stage Equation (19). In order to simplify the subsequent presentations, function \(Pre\) is introduced to cover the extraction procedure for the normalized distance curve \(\overline{D}\) based on the human shadow contour \(Sh\). \[\overline{D}=Pre(Sh) \tag{19}\]  
Localization of Major Joint Positions on Human Shadow Silhouette Contour  
In the second step, a quick localization of global maximum peaks is launched first to locate the positions of head and both feet, then elaborate local search for major joints including hands, shoulders and knees is carried out. (1) Localization of Global Convex Areas  
Three global maximum peaks of denoised curve \(\overline{D}\) is marked in corresponding positions on Figure 2a with square symbols. The marked positions indicate precise global convex area on thehuman shadow silhouette contour, including head \(Sp^{head}\), left foot \(Sp^{foot_{left}}\) and right foot \(Sp^{foot_{right}}\). As shown in Figure 2b, the area containing the head are marked in red, and areas containing the feet are marked in green. (2) Localization of Auxiliary Anchor Points  
Based on the acknowledged major joint positions including head and feet, the positions of rest joints are calculated through locating the local peak and nadir points. Based on the three major joint positions, the shadow contour is divided into three sub-curves. Each sub-curve contains one auxiliary anchor point at the corresponding local nadir position on curve \(\overline{D}\).