# Distributed Visual Crowdsensing Framework for Area Coverage in Resource Constrained Environments
## 3 Methodology
### Proposed Photo Clustering and Selection Scheme  
To determine the set of photos that cover the same sub-region under the same geometric coverage conditions, a layer-based tree, called K-CoverPicTree, for clustering the photos is proposed. This is to assure the appropriateness of the geometric coverage conditions of each photo during the examination of the full-view area coverage in a distributed manner within a visual crowd system. The K-CoverPicTree consists of the following layers:  
1. The first layer comprises the ID of the sub-regions. The partitioning process is simplified by using photos belonging to the same sub-region ID. 2. The second layer comprises all Bols of each sub-region. 3. The third layer comprises the ID of each covered sector for each covered BoI within each sub-region. This layer determines if all sectors around each BoI within the same sub-region are fully covered by the same set of photos. 4. The fourth layer comprises the ID of each photo of all covered sub-regions, BoIs, and sectors. Each photo has a unique ID in terms of location, FoV, shooting angle, and sensing range. The sectors around each BoI have a uniform order as the sector ID starts from angle 0. This angle denotes the vector pointing to the right (east on the map), and the sector ID is increased by 1 in the counterclockwise direction for each \(\theta\) until 360 degrees is reached (see Figure 3). The photos can therefore be ordered in terms of their sub-region following the order of the covered sectors. In each sub-region, the order of the Bols has a direction similar to that of the proposed BoIs model. As an example, suppose that a photo with ID = \(e\) (photo \(e\)) covers sector 3 (from angle 90 to 135) for all BoIs with sub-region ID = 1. Photo \(d\) covers sector 2 (from angle 45 to 90) for all BoIs with sub-region ID = 1. Photo \(c\) covers sector 1 (from angle 0 to 45) for all BoIs with sub-region ID = 1. Photo \(f\) covers sector 4 (from angle 135 to 180) for all BoIs with sub-region ID = 1. For such a situation, the photo set can be ordered from sector 1 to sector 4 as photos \(c\), \(d\), \(e\), and \(f\), with sub-region ID = 1. The ordered photos would affirm whether the rotation angle between any two neighboring photos and any BoI is smaller than \(2\theta\). In addition, a gap between the order of covered sectors of a BoI means that the BoI is within the unsafe region according to condition 3 of the full-view geometric coverage [13]. Otherwise, the BoI would be within the safe region. Here, the rotation angle between any two neighboring photos is smaller than \(2\theta\). Condition 3 requires that all the BoIs within the same region be in the safe region so that the BoIs fulfill the full-view coverage of the sub-region. The photo order, therefore, needs to be found first. Considering the previous example of the photo set \(c\), \(d\), \(e\), and \(f\)  
Figure 3: The division of the full scope around the BoI. These photos cover sectors 1 to 4 of all BoIs with no gap, and accordingly, they cover all scopes, from 0 to 180 degrees of sub-region 1. The formation of the initial K-CoverPicTree is denoted by Algorithm 2. First, each sensor inside the target area generates an empty K-CoverPicTree. Initially, there are three layers where the first layer comprises all sub-region IDs of the target area, as can be viewed in line 4. The second layer comprises the IDs of every BoI for each sub-region inside the target area, as can be viewed in line 6. The third layer comprises the sector IDs for all BoIs within every sub-region inside the target area, as can be viewed in line 8. Captured photos are all appended to the tree following the sequence values of the covered sub-region ID, the BoI ID, and the sector ID (\(s\), \(b\), \(k\)). The sequence of coverage features (sub-region ID, BoI ID, and sector ID) or (\(s\), \(b\), \(k\)) are extracted for each photo using the proposed BoI model.