# Distributed Visual Crowdsensing Framework for Area Coverage in Resource Constrained Environments
## 3 Methodology
### Proposed Model for Boundary Points of Interest  
To study the full-view area coverage, instead of using the continuous domain of the target area [13] or the dense grid model [23], the target area is divided into virtual sub-regions represented with sets of boundary points called Bols. When converting this problem into VCS, each virtual sub-region is considered full-view-covered only when the Bols of each sub-region are full-view-covered by a specific set of photos. To study the full-view area coverage, the appropriate distance between the Bols needs to be extracted. The coverage range is influenced by the shooting angle, the field of view (FoV), and the location of the camera sensor. Figure 1 shows the coverage range of a camera sensor. The maximum coverage area is represented by a disk with radius \(r\), which can be expressed as:  
\[r=R\times\frac{\sin(\Phi)}{1+\sin(\Phi)} \tag{1}\]  
where \(\Phi\) is half the FoV and \(R\) is the sensing range of the camera. The maximum coverage disk is examined by a circular set of camera sensors, considering the circumstances described in [16]. Using the maximum coverage disk, we can determine the maximum unit area (or sub-region) within the disk that is full-view covered by a specific set of photos. This sub-region is represented by a set of Bols located at the circumference of the maximum coverage disk. Figure 2 shows the maximum square area (sub-region) within the maximum coverage disk with four Bols. Given the maximum coverage disk radius, \(r\), the length of the square sub-region, \(l\), can be obtained as follows:  
\[\sin(\theta)=\frac{1}{2r} \tag{2}\]  
\[l=2r\times\sin(\theta) \tag{3}\]  
To achieve full-view area coverage, all the points within each sub-region should share the following full-view geometric coverage conditions [13; 16]:  
1. The points within each sub-region are covered by the same set of photos. 2. The photos covering the same sub-region can be ordered in a clockwise or anti-clockwise direction depending on their positions with respect to the sub-region. 3. The rotation angle between any two neighboring sensors within the same set and any point within the sub-region is either within the safe or unsafe region. An area is considered a safe region if the rotation angle between any two neighboring sensors and any point inside the area is less than \(2\theta\). If the rotation angle between any two neighboring sensors and any point inside the area is more than \(2\theta\), the area is considered an unsafe region. Figure 1: Maximum coverage disk of a camera sensor. Algorithm 1 illustrates the procedure for creating the pattern of BoIs for full-view area coverage. ```
1: Determine the length of the target area
2: Determine the width of the target area
3: Determine the radius of maximum coverage disk (\(r\))
4: Sub-region area = \((2r\times 2r)/2\)
5: Number of sub-regions = Target area/Sub-region area
6: S: Total Number of sub-regions
7: B: Number of Bols for each sub-region
8: \(P_{x}(s)\): location-\(x\) center of sub-region (\(s\))
9: \(P_{y}(s)\): location-\(y\) center of sub-region (\(s\))
10: for\(s\) = 1:S do
11: for\(b\) = 1:B do
12: Bol\(x\)(\(s\), \(b\)) = \(Px(s)+r\)\(\times\) cos(\((b-1)\times(360/B)\))
13: Bol\(y\)(\(s\), \(b\)) = \(Py(s)+r\)\(\times\) sin(\((b-1)\times(360/B)\))
14: endfor
15: endfor
```  
**Algorithm 1**Bols generation  
In the proposed model, the entire scope around the BoI is split into \(k\) sectors, where \(k=2\pi/\theta\), as shown in Figure 3 with \(k=8\) and \(\theta=45\) degrees. In Figure 3, vector \(\overset{\rightarrow}{k}_{1}\) denotes angle 0 while \(\overset{\rightarrow}{k}_{2}\) denotes angle \(\theta\), until \(\overset{\rightarrow}{k}_{(2\pi/\theta)}\) is attained. Accordingly, sector 1 has the angle range [0, 45], sector 2 has the angle range [45, 90], until sector 8, which has the angle range [360, 315].