Desperate Coverage Problem in Mission-Driven Camera Sensor Networks

Recently, camera sensor network is attracting huge amount of attention due to the growing popularity of multimedia applications. This paper investigates a new scheduling problem in camera sensor network whose goal is to cover a set of targets as efficiently as possible during a given mission period. In particular, we consider a desperate situation in which we may not have enough camera sensors to cover all of the targets of interest during the mission. The goal of our problem of interest is to schedule the sensors such that (a) the number of the most important targets which are fully covered during the mission period is maximized, and (b) the overall target-temporal coverage which is defined as the gross sum of the weight of each target multiplied by the time period when the target is covered is maximized. We formally introduce the desperate coverage problem in mission-driven camera sensor networks (DCP-MCSN) and propose a new heuristic algorithm for this NP-hard problem. To evaluate the performance of the proposed algorithm, we compare it with a theoretical upper bound. Our simulation result shows that our algorithm performs very close to the upper bound and outperforms the existing alternative.


Introduction
Thanks to the growing popularity of multimedia applications of wireless sensor networks, camera sensor networks, which are wireless networks of camera sensors, are getting more attention very recently.A camera sensor node is a kind of directional sensor node whose sensing range resembles a sector of a disk.In Figure 1, the sector with a solid line is the area covered by a directional sensor   .Therefore,   is covering a target .The beamwidth  is dependent on the sensor's physical characteristics.d (,) is a vector from   to the center of the surface of the th sector.However, the design and implementation of camera sensor networks involve additional challenges on the top of the complexity of directional sensor network due to several key features of camera sensor networks.For instance, a picture of the occiput of a person is hardly useful to verify the identity of the person, which implies that a camera sensor node may not be able to cover an object within its sensing sector depending on the facing direction of the object.As shown in Figure 2, a target  is covered by two camera sensors  1 and  2 .The inner angle between the viewing orientation of  1 and 's facing orientation,  1 , is smaller than that between the viewing orientation of  2 and 's facing orientation,  2 .As a result,  1 can capture a more recognizable image of  than  2 .
Most wireless sensor nodes are battery-operated and it is very difficult or expensive to replace or recharge the battery.As a result, energy efficiency has been a major issue of wireless sensor networks.One popular approach to extend the lifetime of wireless sensor network is to exploit the redundancy of coverage in wireless sensor network.That is, in many application scenarios, sensor nodes are randomly deployed and thus it is highly likely that a target of interest can be monitored by more than one node at the same time.Then, we can make a sleep-wakeup schedule of the nodes which can cover the same target and activate them one by one while the rest of them fall asleep.In the literature, the problem of computing a sleep-wakeup schedule of sensor nodes such that the total time period satisfies a certain coverage quality requirement is referred as a "coverage problem." One popular 2 International Journal of Distributed Sensor Networks   coverage problem is the full-coverage problem whose goal is to maximize the lifetime of a sensor network while seamlessly covering an area or targets of interest [1,2].Most coverage problems in wireless sensor networks have focused on the lifetime maximization issue.In those problems, the lifetime of the networks is an optimization goal, not a constraint.However, this is not always the case in reality.For instance, consider an application of wireless sensor networks in which we have to cover an area of interest or a set of targets during "a given mission period" (which is a constraint), but we do not have enough sensors to fully cover the whole area or the targets regardless of the scheduling algorithm we use.Certainly, the existing coverage algorithms that we discussed so far cannot deal with this situation.Recently, Liu and Cao introduced one way to handle this challenging issue.Given a required surveillance mission period, they suggested to maximize the spatialtemporal coverage of the area or targets of interest, which is defined as the gross sum of the total time that each distinct area is covered multiplied by the size of the area (in case of area coverage) [3] or the gross sum of the weight of each target covered multiplied by the total time duration that the target is covered (in case of target coverage) [4].Very recently, Hong et al. extended this idea and investigated a spatial-temporal coverage problem in camera sensor networks [5].
In this paper, we introduce another way to deal with the question of how to provide the best quality coverage over a set of targets of interest during a given mission period with insufficient number of camera sensor nodes.This study is motivated by our observation that when we solely aim to maximize the coverage quality (the total target-temporal coverage) like [4,5], it is possible that some targets with the highest priority could be deprioritized by a number of insignificant targets, and as a result, relatively ignored in the course of the schedule building process.The problem of monitoring a warehouse with two entrances during a certain time period is a good example.Clearly, the entrances are the most important targets since the face of any trespasser can be easily detected by a camera observing the entrance.Meanwhile, a shelf inside the warehouse without any item is clearly a less-important target.To deal with this situation, we suggest providing full coverage to as many higher priority targets as possible during the mission period while the spatial-temporal coverage over the rest of targets can be maximized.We would like to emphasize that we are not trying to refute the significance of the target-temporalmaximization-only approach used in [4,5] with the theoretical upper bound in simulation as well as with the only existing competitor in [5].Our simulation result shows that our algorithm outperforms the target-temporal-maximization-only algorithm in camera sensor network in [5] in terms of the number of the most important targets which are fully covered during the whole mission period.
The rest of this paper is organized as follows.Section 2 presents related work.Some preliminaries are introduced in Section 3. We introduce the formal definition of DCP-MCSN and our algorithm for this problem in Section 4. Our simulation result is presented in Section 5. Finally, we conclude this paper in Section 6.

Related Work
Frequently, the problem of constructing a sleep-wakeup schedule of a wireless sensor network with the goal of maximizing the continuous monitoring time to meet a given coverage quality requirement is referred as a coverage problem [2][3][4]6].Most types of wireless sensor networks thoroughly investigated in the literature consider sensor nodes with omnidirectional sensing range.Consequently, the area covered by those sensor nodes resembles a disk with the node in the center of it.In contrast, the sensing area covered by a directional sensor node looks more like a sector of a disk [7].In [8], Cai et al. have investigated the multiple directional cover set problem in directional sensor networks, whose objective is to compute a sleep-wakeup schedule of a given set of sensor nodes such that the time for the sensor network to fully cover a given set of targets is maximized.In the meantime, Ai and Abouzeid [9] studied a new coverage problem in directional sensor networks whose goal is given a set of sensor nodes with adjustable camera orientations, to determine the direction (orientation) of each sensor so that the number of covered targets is maximized (primary objective) while the number of sensor nodes used is minimized (secondary objective).In addition, the other aspects of directional sensor networks are also investigated like vulnerability [10], fault-tolerance [11], and so on [12,13].
Briefly speaking camera sensor network is a kind of directional sensor network and thus they share several properties.However, due to several unique features of camera sensors, especially the effective-sensing surveillance model in Definition 1, the scheduling algorithms for directional sensor networks are not directly applicable to camera sensor networks.Most importantly, a camera sensor node can cover a target only if the face of the target can be seen by the sensor.In [14], Liu et al. introduced the directional coverage problem in camera sensor networks whose objective is minimizing the number of camera sensors to cover an area of interest such that any spot in the area can be monitored by at least  different cameras.In [13], Wang and Cao assumed a camera sensor network version of the full coverage problem, called the full-view coverage problem.In this problem, a target is full-view covered by a camera sensor network if we can capture the face of a target which is within the sensing range of the camera sensor network independent of the face direction of the target.Previously, Ma et al. extended the result in [13] and investigated the full-view barrier coverage problem in camera sensor networks.
So far, most coverage problems in wireless sensor networks have concerned about the lifetime maximization issue.Therefore, they are not applicable to a desperate situation in which we are required to cover an area or a set of targets of interest during a given mission period.One possible solution of this challenging issue is introduced by Liu and Cao [3,4], who suggested to maximize the spatial-temporal coverage of the area or targets of interest.In our previous work, we extended this idea and investigated a spatial-temporal coverage problem in camera sensor networks [5].However, Liu and Cao's approach comes with a nonneglectable shortcominga target with the highest priority could be deprioritized by a number of insignificant targets, and as a result, is ignored by a scheduling algorithm.In this paper, we address this issue and attempt to propose an alternative solution of the problem as a complement of Liu and Cao's approach.

Preliminaries
In this section, we review two important preliminaries of our paper, the effective-sensing model in camera sensor networks [14] and the Identifiability Test [5], which is a procedure to check, given a set of targets and a set of camera sensors, if the target is effectively covered by the camera sensors.As we mentioned earlier, this paper assumes that a target is recognized or effectively sensed (covered) by a camera sensor if the facial view of the target is observed by a camera sensor.The face direction of each target can be estimated by an existing head pose estimating strategy such as the one in [15].A more formal definition of the effective-sensing model in camera sensor networks is as follows.
Definition 1 (effective-sensing model).Consider a target   located at (  ,   ) and a sensor   located at (  ,   ).  is effectively sensed (covered) by   if   is within the sensing area of   and the internal angle between two vectors f  and k (,) is not greater than ; that is, (f  , k (,) ) ≤  (see Figure 4), where vector f  is the facing orientation of   , k (,) = (  −   ,   −   ), and  ∈ [0, /2) is a predefined parameter called the max viewing angle.
International Journal of Distributed Sensor Networks In this paper, we consider a camera sensor network of  camera sensors and  targets of interest.Each camera sensor is with uniform beamwidth  and with  ≥ 1 available sectors; that is,  = ⌈2/⌉.We denote the face direction of a target   by a vector f  .By the effective-sensing model in Definition 1, we can define the conditions to be satisfied for a target   to be effectively covered by a camera sensor   with its th sector as below.From now on,  (,) will be used to represent (a) the set of targets effectively covered by the th sensing sector of   and (b) the th sensing sector of   , depending on the context.Note that in the first case, all  (,) s can be determined within a polynomial time.

Desperate Coverage Problem in Mission-Driven Camera Sensor Networks (DCP-MCSN) and Its Solution
Now, we introduce the formal definition of DCP-MCSN in Section 4.1 and our solution for this problem, namely, desperate coverage algorithm in mission-driven camera sensor networks (DCA-MCSN) in Section 4.2.Table 1 summarizes the terms, notations, and their semantics used in this paper.

Formal Definition of DCP-MCSN Definition 3 (DCP-MCSN)
. DCP-MCSN is to find a subcollection (schedule) Z ⊂ F such that (a) for each sensor node   , at most one sector  (,) is used to form the subsets in Z, (b) the number of the first  pivotal targets which are fully covered during  is maximized (primary objective), and (c) the overall target-temporal coverage is maximized (secondary objective).

Theorem 4. DCP-MCSN is NP-hard.
Proof.A simpler form of DCP-MCSN without the second requirement regarding maximizing the number of the first  pivotal targets is already proven to be NP-hard in [5].
Therefore, this problem is NP-hard.

Desperate Coverage Algorithm in Mission-Driven Camera
Sensor Networks (DCA-MCSN).In this section, we introduce our algorithm for DCP-MCSN, namely, DCA-MCSN.Given a set of camera sensors, a set of targets, and a mission period, DCA-MCSN performs a binary search (see Figure 3).In detail, initially the number of the most important targets which can be seamlessly covered by the camera sensors is set to  ← ⌈/2⌉ and executes Network-Scheduler (Algorithm 3), which internally invokes two subprocedures Sector-Decider (Algorithm 1) and Sensor-Scheduler (Algorithm 2).At the end, if Network-Scheduler returns a schedule of camera sensors such that the most  important targets are fully covered during the mission period, we set  ← ⌈( + (/2))/2⌉ and execute Network-Scheduler.Otherwise, we set  ← ⌈((/2) − 1)/2⌉ and execute Network-Scheduler.At the end the search will be terminated, and we will find the maximum  that can be achieved by our algorithm as well as its corresponding schedule.We would like to emphasize that similar to our scheduling strategy in [5], the mission period  is divided into multiple cycles with a uniform length , and Network-Scheduler is invoked to construct a schedule for a short term with  unit time length.As a result, Network-Scheduler is invoked for / times during the total mission period .In the following, we introduce the description of Sector-Decider, Sensor-Scheduler, and Network-Scheduler.

Sector-Decider. Algorithm 1 is the formal description of
Sector-Decider.The input of this algorithm is the set of camera sensors , the set of targets , and the set of the most important  targets (those with the heaviest weights) in .The goal of this greedy algorithm is to determine one active sector from all available ones for each camera sensor.In Lines 1-3, for each sector of each camera sensor, the set  (,) of targets which can be effectively covered by a sensor   with its  sector is computed.In detail, in the preliminary phase (Lines 5-7), for each target    among the first  pivotal targets, the accumulated time recorder    that this target is effectively covered by some camera sensor is set to 0. Then, the loop spanning over Lines 8-24 is repeated to determine the set of sectors Z such that one sector (represented by those targets, e.g.,  (,) , which are covered by the sector) is selected from each sensor node.This loop largely consists of two parts.
(a) The first part (Lines 9-15) is for the case that there exists at least one target among the most important The uniform field-of-vision of the camera sensors The normalized sensing range of the camera sensors The transmission range of the camera sensors with omnidirectional transmission radios The battery lifetime of   f The face direction vector of   , The length of a given mission and the length of each cycle (we assume / is an integer for simplicity)  2  /  , the number of available orientations for each sensor d (,) ,  (,) The vector of   's th available orientation and the set of targets covered by   using its th sector F A collection of the subsets of  ones which may not be fully covered during the whole period .And this part is used to determine an active sector for an undecided sensor node such that there are more uncovered targets among the most important  targets which will be covered.Once we find such a sector, for example,  (,) , in Line 11, we add it to Z. Line 13 is used to update the total time that the most important  targets can be covered by the sectors in Z so far.
(b) The second part (Lines 17-22) is for the case that all the most important  targets could be fully covered during the whole period .This part is used to add more sectors to Z such that the total target-temporal coverage can be maximized.The goal of this algorithm is to determine the schedule of sector   within each short term with  unit time.The most important part is to make sure that the most important  targets are getting coverage during the whole period .For this purpose, Line 2 checks if there exists a target in   which has not received sufficient coverage based on the schedule Sch (which is still under consideration) but still can be covered by   .If so, we add the latest finish time of sensors in Sch which covers such a target to Sch  as the beginning time of   (Line 3).

Sensor-
If no such target exists, we just try to find a point to start to use   so that the target-temporal coverage is maximized.At the end, the activation period of   , which is represented by two moments c  ⋅ 0 and   ⋅ 0 , is returned.Note that we utilize a new metric, namely, the target-temporal coverage redundancy of a camera sensor node red  in Line 7 of Algorithm 2. This metric is used to evaluate how much the node   is wasted by monitoring targets which are already monitored by the other nodes.By rescheduling the current node such that the overall target-temporal coverage redundancy can be decreased, we can improve the quality of the current schedule.

Network-Scheduler.
Based on the above two subprocedures Sector-Decider and Sensor-Scheduler, Network-Scheduler's formal description is shown in Algorithm 3. The inputs of this algorithm are the mission period , the set of camera sensors , the set of targets , the weight of the targets , and the set of the most important  targets, {  1 , . . .,    }.The outcome of this algorithm consists of four tuples.The first one is either true or false.It is true if the schedule generated by this algorithm is providing full coverage of the most important  targets during the mission period .Otherwise, it returns false.The second item returned is Z which includes one sector for each camera sensor to achieve the target-temporal coverage , which is the fourth item of the output of this algorithm.The third one is Sch, which is the schedule of each camera sensor.
This algorithm is based on the assumption that all camera sensor nodes are already scheduled; that is, the activation period of each camera sensor node is already determined randomly, and we try to refine the schedule of each node (one by one) based on the current schedule of the other nodes such that the overall target-temporal coverage can be maximized.Note that the preassignment of the schedule of all nodes can be done via assigning each node's beginning time with 0. Based on the preassignment of the schedule, we can improve the quality of it by iteratively identifying a node which can make the overall target-temporal coverage increase and rescheduling this node.
In detail, in Line 1, Sector-Decider is called to determine the active sector for each sensor node.Lines 2-10 are used to initialize the variables.Lines 11-17 are used to determine the schedule of camera sensors.In particular, Line 12 utilizes maximal independent set of Z  so that the camera sensors whose activation period is determined do not overlap.In this way, we can further maximize the target-temporal coverage.Finally, Lines 18-24 are checking if the determined schedule is satisfiable.

A Big
Picture.Now, we give a simple example to illustrate how the overall algorithm works.The camera sensor network is composed of 5 camera sensors, each of which has 8 available orientations, and 5 targets, each of which has its own facing direction (as shown by the shorter arrow of each target in Figure 5).Among these 5 targets, there are 2 pivotal targets  1 and  2 ; that is,   = { 1 ,  2 } and  1 = 4,  2 = 3,  3 = 2,  4 = 1,  5 = 1.In the scheduling of each sensor, the length of each round  = 10 and the sensors' battery lifetime per round  1 ,  2 ,  3 ,  4 ,  5 are 5, 6, 4, 4, 6, respectively.In Figure 5, each sensor has been assigned the working direction; that is, Lines 1-7 of Algorithm 3 have been accomplished for this network, and we obtain each sensor's neighbor set: Then we begin to generate a sleep-wakeup schedule for each sensor (Lines 8-17 of Algorithm 3).We first go into the while loop (Lines 11-17 of Algorithm 3).We can easily get that  4 ⋅  = 5 satisfying Δ 4 = 0; thus, we can return  4 ⋅  = 5.

Simulation Results and Analysis
In this section, we present our results and discuss the performance of our algorithm for DCA-MCSN.Specifically, we randomly deploy  camera sensor nodes and  targets within a 100 × 100 2-D virtual space, where  is set to 150, 200, . .., 400.It is expected that the number  of available camera sensor nodes, whose battery lifetime is significantly lower than the mission lifetime , is greater than the number of  of targets, and thus we set  as 20, 30, . .., 70.We set maximum sensing radius  of each camera sensor to be 50.We assume the weight of each target is a random number within the range of (0, 10).We assume that the mission lifetime per a unit  is 10 unit time.Lastly, we randomly assign the face direction vector of each target, and the maximum viewing angle is /4.In this problem, each camera sensor node has  sensing sectors and we will use one of them; that is, the beamwidth  of each sector is 2/.
In the simulation, we study the average characteristic behavior of the proposed algorithm and evaluate its average performance with regard to the target-temporal coverage  and the number of the most important targets fully covered by sensors given.Especially, we will check how this algorithm works with two important parameters: the uniform battery lifetime, , of each sensor and the beamwidth  of each We also use the sum of the weights of all targets, ∑ 1≤≤   , multiplied by the mission time duration per a unit  as the theoretical upper bound, which is notated by .Clearly  can be larger than actual achievable optimum.

Simulation Results for DCA-MCSN.
In Figure 6, we compare the performance of DCA-MCSN against  under the 6 parameter settings (Cases (a)-(f)) while the number of targets to be covered is fixed to 50.By comparing the results with  = 4 (Cases (a), (b), and (c)) against  = 6 (Cases (d), (e), and (f)), we can learn that if the beamwidth  of each sensor's sector is fixed, the performance of the algorithm becomes close to  with larger, longer battery lifetime .This is because with larger  value, we have more number of sensor nodes to fully cover more number of targets during the mission period.Next, we study how the total  is affected by the beamwidth  of each sensor's sector while we fix  to 4 and 6, respectively.By comparing Cases (a), (b), and (c) in Figure 6 as well as Cases (d), (e), and (f) in Figure 6, we can learn that  increases as  grows.This is because the number of targets covered by each sensor increases as  is getting larger.Overall, from Figure 6, we can observe that the initial battery lifetime  of each sensor has more significant influence than the beamwidth  on the performance of the algorithm.
Next, we study Figure 7 in which we fix the number of sensor nodes deployed to 250 and vary the number of targets to be covered from 20 to 70.This result clearly shows that the performance of our algorithm is close to the theoretical upper bound independent of the other parameters including , , International Journal of Distributed Sensor Networks and the number of targets  once we obtain enough coverage over the area.

Simulation Results for DCA-MCSN versus ACA.
In this subsection, we compare the performance of DCA-MCSN against ACA (TEC-NC-Adjuster) in [5] (which showed outstanding performance for solving the target-temporal effective-sensing coverage with adjustable cameras problem, TEC-AC, in the simulations) under the 3 parameter settings (Cases (d)-(f)) while the number of targets to be covered is fixed to 50.We study how many important targets are fully covered by the two strategies (see Figure 8).From this result, we can observe that for both of the strategies, the number  of the most important targets which are fully covered during the mission period is affected by ; that is,  is steadily increasing along with the growth of .Furthermore, DCA-MCSN works better than ACA under all parameter settings, which implies that DCA-MCSN is more efficient than ACA for the missiondriven application considering the coverage quality of the targets with higher priority.

Conclusion
In this paper, we investigate a new coverage problem in camera sensor networks.In this problem, we study how to schedule a given set of camera sensor nodes to cover a set of given targets with weight related to their importance and fixed face directions such that the number of the first  important targets effectively covered during a given mission period can be maximized as well as the overall target-temporal coverage is maximized (as the secondary optimization goal).The main contribution of this paper is the possibility of using insufficient number of camera sensors to best support a coverage mission in a way that was never considered before.Since we do not always have enough number of sensor nodes to complete a coverage mission, our paper is of great applicability in many real application scenarios.As a future work, we plan to study the applicability of this model in the hybrid sensor network of both a number of cheap static sensor nodes and a few expensive mobile sensor nodes, which we believe also have a wide range of applications in many reallife scenarios.

Figure 1 :
Figure 1: The sensing model of the directional sensor.

Figure 2 :
Figure 2: The sensing model of the camera sensor.

Figure 3 :
Figure 3: DCA-MCSN is a binary search algorithm to identify the maximum number of the most important targets which can be seamlessly covered by the camera sensors during the mission period and corresponding scheduling.

Figure 4 :
Figure 4: In this figure, a target   is effectively sensed by a camera   .
some targets which can be covered by both the selected sector of   and another sector in   ;(c) a subcollection Z  of Z;(d) Z itself;(e) the set   of the most important  targets; (f) Sch, which is the schedule of cameras which are determined so far.

4 Figure 5 :
Figure 5: An instance of the overall algorithm.

3 Figure 6 :
Figure 6: Target-temporal coverage achieved by DCA-MCSN versus the number of sensors.

3 Figure 7 :
Figure 7: Target-temporal coverage achieved by DCA-MCSN versus the number of targets.

Figure 8 :
Figure 8: The number of the first  important targets covered by sensors by DCA-MCSN versus ACA.
, but we attempt to propose a new complement for those approaches to deal with this desperate situation.The main contributions of this paper can be summarized as follows.
Definition 2 (identifiability test).A target   is effectivelycovered by the th sensing sector of a camera sensor   only if it passes all of the following three subtests.Subtest 1. Check whether   is in the sensing range of   ; that is, check if ‖k (,) ‖ ≤  is true, where  is the maximum sensing range of   .Subtest 2. Check whether   is within the th sensing sector of  (,) is a vector from   to the center of the surface of the th sector.Check whether   is effectively covered by the th sensing sector of   ; that is, check if f ; that is, check if d  (,) ⋅ k (,) ≥ ‖k (,) ‖ ⋅ cos(/2) is true, where d  ⋅ k (,) ≥ ‖k (,) ‖ ⋅ cos  is true.