^{*}

This article is an open-access article distributed under the terms and conditions of the Creative Commons Attribution license (

Wireless multimedia sensor nodes sense areas that are uncorrelated to the areas covered by radio neighbouring sensors. Thus, node clustering for coordinating multimedia sensing and processing cannot be based on classical sensor clustering algorithms. This paper presents a clustering mechanism for Wireless Multimedia Sensor Networks (WMSNs) based on overlapped Field of View (FoV) areas. Overlapping FoVs in dense networks cause the wasting of power due to redundant area sensing. The main aim of the proposed clustering method is energy conservation and network lifetime prolongation. This objective is achieved through coordination of nodes belonging to the same cluster to perform assigned tasks in a cooperative manner avoiding redundant sensing or processing. A paradigm in this concept, a cooperative scheduling scheme for object detection, is presented based on the proposed clustering method.

Wireless Sensor Networks (WSN) [

Energy conservation and maximization of network lifetime are commonly recognized as a key challenge in the design and implementation of WSNs. One of the subjects that have been propounded for enhancement in efficiency of applications associated with WSNs is node clustering. Clustering in WSN pursues several objectives: (i) network scalability, (ii) energy conservation, (iii) network topology stabilization, (iv) routing overhead minimization, (v) optimized management strategies to prolong battery life and network lifetime and (vi) efficient data aggregation. Most of the time, distance from nodes to cluster-head or radio coverage (

Nevertheless, the sensing region of multimedia nodes is very different from ordinary nodes in WSNs. Each multimedia node has a Field of View (FoV) and can only capture images from the objects within that region. In traditional WSNs, the sensor nodes collect information about different phenomena around them from the area determined by the sensing range of the node. However, video cameras capture images of objects of a region that is not necessarily in the camera’s vicinity. The object covered by the camera can be distant from the camera and the captured images will depend on the relative positions and orientation of the cameras towards the observed object [

As a result of developments in low cost, low power, low resolution camera sensors, having a dense network consisting of multimedia sensors has become applicable. This kind of deployment has more performance than sparse networks of high power, high resolution cameras. However, overlapping FoVs in dense deployments yield wasting of power in the network because of redundant sensing of the area [

In this paper, we first propose an approach for multimedia node clustering that satisfies FoV constraints. In this approach, the overlapping area between FoV of multimedia nodes is the main criterion for node clustering in contrast to radio or distance neighbourhood. If the overlapped area between FoV of two nodes is relatively wide, they act similarly from the coverage point of view and thus we select them as members of a cluster. Thus, nodes belonging to the same cluster may not necessarily be neighbours. The main aim of this clustering method is energy conservation and network lifetime prolongation through the creation of potential of cooperation among nodes belonging to the same cluster and avoiding redundant sensing and processing. Applications may range from multiple-perspective monitoring and localization to collaborative object detection or distributed video coding. Second, we present a cooperative scheduling scheme for object detection as an example of an application which can be developed based on the proposed clustering method. The environment sensing task is divided in clusters of overlapping FoV areas. The members of each cluster cover a region with a high degree of overlapping; as an object can appear in one of these regions, the members of all clusters sense their domains concurrently in a collaborative manner. In each cluster, nodes are scheduled to sequentially wake up, capture an image and monitor the presence of the object applying an object detection procedure and finally go to sleep mode in an intermittent way. Each node belonging to a given cluster is involved in image capturing from its unique perspective in its own timing. In this way, members of the cluster participate in image capturing and object detection sequentially by time intervals.

The main contributions of this paper are:

A node clustering algorithm based on overlapping camera FoVs. Finding the intersection polygons and in particular computing the overlapped areas is the key issue to establish clusters and determine cluster membership.

Scheduling members of clusters in order to perform object detection in a planned manner.

Energy conservation in scheduled cluster members, compared to energy consumption in ordinary un-clustered object detection and thus greater network lifetime.

The remainder of the paper is organized as follows: Section 2 discusses related work. Section 3 describes the way of finding and calculating overlapping polygons and then proceeds to explain the clustering algorithm. Test results of the clustering algorithm are shown by Section 4. In Section 5 a cooperative scheduling based on the proposed clustering method for object detection is presented. Furthermore, power conservation development and network lifetime prolongation through employing the cooperative scheduling method are discussed. Finally conclusions are derived in Section 6.

Most of the work in WMSN is related to multimedia sensor hardware [

Clustering has been studied in great depth in the field of wireless scalar sensor networks. The work [

On the other hand, some algebra and geometric calculations are related to our research. Works [

Object detection is known as one of the main tasks in WMSNs. Rahimi

Xiao _{s} in the vicinity of a sensor. The scheme does not satisfy multimedia sensor networks, because of the egregious difference in coverage between scalar and multimedia sensor networks. Our scheduling approach differs in two main contexts: applying camera FoV as main parameter to define a sensing area and using FoV-based clustering to minimize energy consumption in object detection applications.

Our approach goes more in the direction of Liu

Multimedia sensors, such as cameras, are multidimensional sensors that can capture a directional view. We assume wireless sensor nodes with fixed lenses providing a θ angle FoV, densely deployed in a random manner. The assumption of fixed lenses is based on the current WMSN platforms. Almost all of them (SensEye, MicrelEye, CITRIC, Panoptes, Meerkats [_{1},S_{2},...,S_{N}} randomly deployed. Each sensor node is equipped to learn its location coordinates and orientation information via any lightweight localization technique for wireless sensor networks. It is not the purpose of this paper to define mechanisms to find this location. Without loss of generality, let us assume that nodes in the set S belong to a single-tier network or the same tier of a multitier architecture. The following definitions will be used throughout the paper:

▪ _{s} (sensing range) of the sensor and orientation α. The sensor is located at point A (x_{A},y_{A}).

▪ _{j}

▪

It is obvious that there is no overlap between FoV of two nodes if the Euclidean distance between them is more than 2R_{S}. Otherwise, it is possible to have overlapped regions between their FoV depending on the orientation angles α. For calculating the FoV overlapping area of two nodes, we first survey the intersection of triangles that are representatives of their FoVs. Second, if they intersect each other, we find the intersection polygon and at last, compute the area of the polygon. An example of the intersection polygon of two FoV belonging to nodes A = (x_{A},y_{A}) with orientation _{1} and B = (x_{B},y_{B}) with orientation α_{2} is illustrated in

For this purpose, in the first step, we define the equations of the sides of each triangle using the vertex coordinates of each triangle. The coordinates of the main vertex A (_{1} and Q_{1} are:

We can determine the equation of a line from the coordinates of two points of the line or from the coordinates of one point and the gradient of the line. Thus, using the coordinates of A, P_{1} and Q_{1}, we can determine the equations of the three sides of the FoV triangle:

In the second step, we calculate the intersection of each side of each triangle to all sides (_{1} of the FoV of node A intersects the line that represents BP_{2} of the FoV of node B in point V_{1}. V_{1} can be considered as a vertex of the intersection polygon because V_{1} is located between A and P_{1} and also between B and P_{2}. The desired condition (C_{ACCEPT}) for an intersection point V to be an acceptable vertex of the polygon is stated in

The intersection of each side of one triangle with all sides of another triangle consists of at most two points. _{i} and V_{j}, becoming the segment V_{i}V_{j} one of the sides of the intersection polygon. However, there are other situations in which the intersection of one side of a triangle with the perimeter of another triangle occurs only at one point, resulting in that one of the vertices associated with that side lies within the second triangle and will become one of the vertices of the polygon (

In the third step, a decomposition approach is used for calculating the area of the overlapped polygon in a 2D-plane. Let a polygon (W) be defined by its ordered vertices V_{i} = (x_{i},y_{i}) for i = 0,...,n with V_{n} = V_{0}. Also, let P be a reference point in the 2D-plane. For each edge V_{i}V_{i+1} of the polygon W, form the triangle Δ_{i} = PV_{i}V_{i+1}. Then, the area of the polygon W is equal to the sum of the signed areas of all the triangles Δ_{i} for I = 0,...,n – 1:

A(Δ_{i}) refers to the area of triangle Δ_{i}. Notice that, for a counter-clockwise oriented polygon, when the point P is on the left side of an edge V_{i}V_{i+1}, the area of Δ_{i} is positive; whereas, when P is on the right side of an edge V_{i}V_{i+1}, the area Δ_{i} is negative. If the polygon is oriented clockwise, then the signs are reversed. This computation gives a signed area for a polygon and similar to the signed area of a triangle, is positive when the vertices are oriented counter-clockwise around the polygon, and negative when oriented clockwise. We refer to [

Now, let us consider the set S = {S_{1},S_{2},...,S_{N}} of wireless multimedia nodes belonging to the same tier of a network randomly deployed. The cluster formation algorithm is executed in a centralized manner by the sink after deploying the network. The main reasons in choosing a central architecture are the following: (i) for a distributed architecture, each node should notify to the rest of the nodes about its location A_{i} and its orientation α_{i} (i = 1,…,N). In a centralized architecture the nodes should notify to the sink their location and orientation. Note that this notification can be done using any energy efficient sensor routing protocol and only is necessary at bootstrap phase. All phases of the clustering algorithm are executed only one time, right after node deployment. (ii) In many WSN applications, the sink has ample resources (storage, power supply, communication and computation) availability and capacity which make it suitable to play such a role. (iii) Collecting information by a sink node is more power efficient compared to spreading this information to each and every other node within the network. (iv) Having the global view of the network at the sink node facilitates provision algorithms for closer-to-optimal cluster determination; the global knowledge can be updated at the sink when new nodes are added or some nodes die. Such maintenance tasks can be regarded as a normal routine for the sink. (v) Finally, using a centralized scheme can relieve processing load from the sensors in the field and help in extending the overall network lifetime by reducing energy consumption at individual nodes. The following phases are performed to establish and form clusters:

▪ _{i}, i = 1,…,N} transmits its position (x_{i},y_{i}) and orientation α_{i} to the sink. To accomplish this step any efficient sensor routing algorithm can be used. Thus, the clustering algorithm is not bound to how the sink receives this information. If there is an un-connected node in the network, it cannot announce itself and thus will not be considered in the algorithm.

▪ _{ij}) between each un-clustered multimedia node and the first member of the established cluster as discussed in Section 3.1. If the computed overlapped area is equal or greater than the area determined by the overlapping scale (γ), the un-clustered node will be clustered as a member of the established cluster. (iii) When no more nodes can be added to the cluster, the sink takes a new un-clustered node, begins a new cluster and goes to step (ii).

▪

The algorithm is executed by the sink once upon deployment and thus all nodes will become clustered. If a node joins to the network hereinafter, it has to send its position and orientation to the sink for announcing itself as a new node. The sink computes the FoV of the new node and finds the first cluster that can accept it as a new member. For this purpose, the sink computes the overlapping regions between FoV of the new node and the first-member of each cluster and checks whether he is satisfying the cluster membership test. Then, the sink sends a message to the first-member in order that this node re-organizes the cluster with the new member. Depending on the application, this notification may suppose a new reconfiguration in the monitoring task (

Let us see the potential of cooperative node monitoring in clusters in terms of sensor area coverage. We define the Maximum Cluster Coverage Domain (MCCD) parameter for a cluster as the maximum monitoring area which is covered by that cluster. Since each cluster is established considering an overlapping scale equal to γ, the MCCD can be computed as follows (C_{size} is the size of the cluster):

The effective cluster covering domain can be inferior to the MCCD calculated by (10) since some nodes can overlap more than the region determined by γ. Since MCCD gives us an upper bound on the area covered by the cluster, using MCCD will allow us worst-case dimensioning. Factor β represents the increment of area that the cluster senses with respect to an individual sensor. When each node of a cluster obtains an image from its FoV, a part of the related MCCD with a ratio at least equal to 1/β respect to the MCCD is captured whereas this part includes overlapped areas of other nodes in the cluster. Sensing the environment by each member delivers information not only from the FoV of the active node but also from some overlapped parts of other nodes in the same cluster: at least γ·A_{FoV} of the area is common to the first-member and more than 1/β of the MCCD is monitored. For example, in a cluster consisting of just 2 members, assuming an overlapping scale of γ = 0.5, the MCCD is 1.5·A_{FoV}. Thus, when each of the two members of the cluster is activated and monitors the environment, an area of one FoV is captured that is at least 2/3 of the whole MCCD of the cluster.

Consequently, scheduling and coordination among members in order to sense the field in a collaborative manner may yield a gain in energy saving and performance efficiency even with a low number of members in the cluster.

All sensor nodes have been configured with a FoV vertex angle of θ = 60° and R_{S} of 20 m. A sensing field spanning an area of 120 m × 120 m has been used. Sensor densities were varied to study the cluster formation from sparse to dense random deployments. Figures illustrate the average results of 50 independent running tests whereas each test corresponds to a different random deployment. Once a random deployment is defined, cluster formation is obtained from node location, angle of orientation and FoVs of nodes, using the described algorithm whose complexity is O(N·logN). Furthermore, as it was mentioned before, each node sends a packet to the sink in the bootstrap phase, then the sink notifies each first member via one packet his membership set for that cluster (phase 3) and then the first-members notify cluster nodes about their cluster membership and any related parameter. Thus, the average overhead of the algorithm is forwarding N packets from the nodes to the sink and forwarding N_{C} packets from the sink to first-members and forwarding N_{C}·(μ_{Csize} – 1) packets from first-members to cluster nodes; where N is the number of nodes, N_{C} is the average number of clusters and μ_{Csize} is the average cluster size. So the total overhead will be: N + N_{C} + N_{C}·(μ_{Csize} – 1) packets. The maintenance overhead is N_{C}·(μ_{Csize} – 1) beacons every keep-alive period, where the keep-alive period can be a multiple of the sensing duty-cycle period.

The average number of clusters, N_{C}, and the average cluster-size (μ_{Csize}) in a tier/network for different node densities with several overlapping scales are shown in

Sparse networks have low average cluster-size, μ_{Csize}, because sparse deployments result in low overlapping areas. Moreover, high values of γ also will produce low μ_{Csize}. The result will be lower potential for node coordination. On the other hand, dense wireless multimedia sensor networks can particularly benefit from higher cluster sizes and thus more potential for node coordination.

Finally,

For example, the first 100 nodes cover 75% of the field, but the next 100 nodes will only cover 15% of new area. The conclusion is that dense networks are able to cover high areas at the cost of high overlapping and sensing redundancy, but this overlapping can be used for improving reliability if nodes belonging to the same cluster work in a coordinated manner. Furthermore, the existence of obstacles produces a reduction of the sensing area because of FoV occlusion effect, [

Applications that are interested in multiple views will also benefit from this situation, since there will be several nodes monitoring the same area from several perspectives. Applications that are interested in detecting objects and are not interested in having an instantaneous multiple-view of the object may benefit from collaborative node processing in terms of energy savings. For the first set of applications clustering of nodes may serves as an indicator of triggering simultaneous multi-perspective pictures. For the second set of applications, clustering may serve as a baseline framework for collaborative node scheduling avoiding redundant sensing and processing and thus increasing network lifetime. Other applications that are interested in correlated data (e.g., Distributed Video Coding, DVC) may use clustering in order to exploit multi-view correlations to build joint encoders [

For object detection applications, sensor nodes are usually programmed to work in one of these two ways: (i) lower tier nodes (e.g., scalar sensors) detect movement and awake the camera sensors. (ii) The camera nodes sense the environment periodically.

In the first case, scalar nodes detecting movement have to be aware of which camera nodes have to be awakened. Awakening all nodes surrounding the scalar sensor does not assure detecting the object; camera sensors with their FoV targeting the object are not necessarily radio neighbours or even may not be in the surroundings of the scalar sensor. Knowing the area sensed by tier of cameras is not scalable, since the scalar sensor should keep information from all cameras that sense large areas covered by the scalar sensor. Finally, a possible solution is sending the information towards a sink that takes the responsibility of awaking nodes in the tier of cameras. However, these solutions do not seem good in terms of performance parameters such as delay and energy conservation.

In the second case, cameras should perform duty-cycled monitoring over the area that they sense. That means that every T seconds all sensors in the monitored area will awake and will perform object detection, see

In this section, we propose a cooperative mechanism based on the proposed clustering method that coordinates nodes belonging to the same cluster to work in a collaborative manner to detect objects. The objective of this mechanism is to increase power conservation by avoiding similar sensing and redundant processing at the same time. Also, collaborative sensing by nodes that have FoVs intersecting each other yields to more reliability: cluster members will monitor the region sequentially and if a moving object is not detected in one image capturing, it will be in the vicinal FoVs at the next capturing times. Thus, the other members in the same cluster may detect the object.

Let us divide the environment in domains covered by clusters of nodes (MCCD, Section 3.3) with certain degree of overlapping between members. All clusters concurrently sense their domains: in each cluster, members are awakened sequentially in an intermittent manner by the first member with a time interval (_{interval} is the time between awakening two consecutive members) related to the cluster-size and the scale of overlapping, see _{p}. Formulas for these periods are derived in Section 5.1.

Let us consider as baseline mechanism a non-collaborative duty-cycled scheme in which every node awakes with an interval period of time T and senses the area (_{p} > T taking advantage of the overlapping among nodes in the cluster, thus, saving energy and increasing network lifetime. Each cluster will have its own T_{P} interval, determined according to the cluster-size and the overlapping scale. (ii) During the sleeping period of each member of a given cluster, other nodes belonging to the cluster are awakened with intervals of T_{interval} < T (that is equal to: T_{p}/C_{size}) in a sequential manner.

The area sensed by each cluster is related to the MCCD area. In order to compute T_{p} we will consider the MCCD area. By awaking each member of a given cluster, in average, a part of the related MCCD with a ratio equal to 1/β is captured (_{FoV} and is sensed by C_{size} overlapping members, thus sensing the environment by each node delivers information not only from the FoV of the awakened node but also from some overlapped parts of the FoV of other nodes in the same cluster. Then, we may define the node interval duty-cycle period as:

Note that the T_{P} is proprietary for each cluster in terms of its cluster-size and overlapping scale. As it was mentioned before, the MCCD calculated by _{FoV}. Thus, using β gives us the lowest interval T_{p} and thus the most reliable one since lower values of β would increase the interval T_{P}. On the other hand, members of a cluster are awakened sequentially to sense their environment in an intermittent way with time intervals equal to T_{interval}:

Let us consider _{1}, S_{2}, S_{3}}, cluster-head S_{1} and γ = 0.5. Every node will be awakened every T_{P} = 1.5·T seconds and the area will be monitored every T_{interval} = 0.5·T seconds. As can be observed, every sensor is awakened with a period higher than the non-collaborative scheme but the area is monitored more times. Then, the area duty-cycled frequency is increased while the sensor duty-cycled frequency is reduced.

_{p} and T_{interval} as a function of γ for several C_{size}. Both parameters are normalized by T. We first have to notice that for a overlapping scale factor γ = 1, T_{p} = T, while for γ < 1, T ≤ T_{p} ≤ T/(1 – γ). Then the duty-cycle frequency at which a specific node is awakened is decreased by a factor that at least is (1 – γ) times the frequency of the non-collaborative scheme. On the other hand some sensor of the cluster will be on duty every T_{interval} seconds. Note that T_{interval} will be lower than T and will be smaller as C_{size} increases. This means that the area is monitored more frequently although every specific sensor monitors with less frequency. The reason is justified in how clusters are formed. Any sensor of the cluster overlaps with the first-member by at least an area of γ·A_{FoV}. Thus, when a sensor enters in duty, he will monitor an area equal to γ·A_{FoV} overlapped with the first-member and an area equal to (1 – γ)·A_{FoV} that in the worst case does not overlap with any other member of the cluster. Sensing the whole cluster area with T_{interval} equal to T would result in that an area equivalent to (1 – γ)·A_{FoV} would be monitored every C_{size}·T, a value that can be very high. However, using _{FoV} is guaranteed by a monitoring interval that is not superior to T/(1 – γ), that is much lower than C_{size}·T.

Sleep/wake up protocols has extensively been studied in the area of wireless sensor networks, mainly for the radio subsystem, [_{p} period, the sensing subsystem wakes up and performs object detection. However, clock drifts can cause cluster de-synchronization. To handle resynchronization, the system makes use of the beaconing scheme for cluster maintenance: nodes receive periodical beacons from the first-member and vice versa in order to detect new members or to detect members that have died. Beaconing duty-cycling belongs to the radio subsystem and it is independent of the sensing subsystem. That means that waking up the sensor to send a beacon is independent of waking up the sensor to take a picture and perform object detection. Thus, the cluster-head may resynchronize cluster members without need of waking up the sensing subsystem. In case the cluster-head dies, cluster members are reassigned to another clusters or form new cluster/s as explained in Section 3.2.

To evaluate the proposed scheduling scheme in terms of power conservation, we compare the cooperative scheduled scheme with a single-tier network or a tier of a multi-tier architecture consisting of N nodes performing object detection without coordination among them as [

The energy consumed in the network for object detection by N nodes during a duty-cycle interval of T in the non-collaborative scheduling is:
_{sleep} and P_{sleep} are the period and power consumption for a node in sleep mode. E_{w_up}, E_{cap} and E_{detect} respectively are the energies consumed in waking up a node, capturing a picture and performing object detection.

Let us now consider the cooperative scheduling algorithm in a clustered tier/network. Both, the interval between waking up consecutive nodes in the same cluster and the period of waking up a given node are functions of the cluster-size of the cluster which the nodes belong to. In one hand, in clusters with high cluster-size, T_{interval} is small and thus cluster duty-cycle frequency is increased. On the other hand, higher number of nodes in the cluster causes longer periods T_{P} for awaking a given node of the cluster and thus yields an enhancement for power conservation in cluster’s members. Assuming average cluster-size for all clusters in the tier/network, T_{P} will be:
_{p} normalized by T (_{Csize}/β) for several node densities and overlapping scales, γ. We may observe that the node average duty-cycle frequency is reduced by factors that are, for example, on the order of 0.78 for a 200 node network and a scale factor of γ = 0.6.

Consequently, the total amount of averaged consumed energy by nodes for object detection in the coordinated tier during T_{P} will be:

From

Therefore, the consumed power is:

Parameter P in _{P}) is reduced by a factor λ with respect to P. The λ factor depends on the average cluster-size and the overlapping scale factor. As can be observed from _{Csize} produces lower values of λ, and thus a saving in energy with respect the uncoordinated system. For example a μ_{Csize} = 1.5 (100 nodes with γ = 0.5) produces a λ = 1 – γ/3 = 0.83 while a μ_{Csize} = 2.15 (200 nodes with γ = 0.5) produces a λ = 1 – 0.53·γ = 0.73. The other term (σ·P_{sleep}) in _{P} > T) and then nodes sleep T_{p}–T more time than in the un-clustered scheme.

_{Csize} is higher and thus there is more potential of cooperation among nodes.

For instance, in the case without coordination, the power consumed in a tier consisting of 200 nodes that performs object detection with a duty cycle of T = 5 s, is 1.344 watts. In the coordinated network with the same number of nodes and an overlapping scale of 0.5, the power consumed by the network would be reduced by a factor λ of 0.737 (see _{sleep}). This means a tier power consumption of 1.344 × 0.737 + 0.0526 = 1.043 Watts implying a reduction of 22.39%. Thus, in this case, the Prolongation Lifetime Ratio (PLR) would be of 1.344/1.043 = 1.289.

Finally, the lifetime increment in a deployment of 250 nodes is shown in _{t}, the time to which all nodes would deplete their batteries without coordination. This lifetime only is due to sensing and thus forwarding and other tasks are not taken into account. We assume that all nodes under an uncoordinated duty-cycle scheme will die at the same time with a difference of T seconds among them (_{t} ± T). Note, that if we include the radio subsystem, the lifetime of every node would be less than L_{t}. Moreover, L_{t} will depend on the initial energy stored in the nodes. As can be observed, clustering prolongs the lifetime of the network. Single nodes (clusters having only one node) are the first set of dying nodes (_{t}). Then, cluster members of clusters of size two nodes die at 1.3·Lt and clusters of size three die at 1.43·L_{t}. We may observe, thus, increments of 30% and 43% in the lifetime of the sensors for these cluster sizes.

In this paper, a clustering method for wireless multimedia sensor networks is proposed. Cluster-membership is decided based on FoV overlapping areas instead of radio neighbourhood in contrast to scalar sensors. The main objective of the clustering method is to achieve the ability of cooperation among cluster nodes in sensing and processing applications and thus conserve energy in the network. Coordination in multimedia nodes can considerably prevent wasting of power avoiding redundant sensing, processing or sending similar multimedia data. Therefore, it prolongs network lifetime particularly in networks with a high density of usual low power, low resolution and inexpensive nodes.

A cooperative scheduling method for object detection based on the proposed clustering approach is presented as an example of cluster-based cooperative application. In this scheme, in each cluster, members are scheduled to sequentially wake up, capture an image and monitor the presence of objects in an intermittent manner with an interval depending on the cluster-size and scale of overlapping. Results show how the proposed scheduling method reduces energy consumption of the network, with respect to energy consumption in ordinary un-clustered object detection applications and thus increase the network lifetime especially in dense networks.

This work has been supported by Spanish Ministry of Science and Technology under grant TSI2007-66869-C02-01 and EuroNF Network of Excellence.

FoV of a multimedia sensor.

An example of the intersection polygon of two FoVs, (V_{1}V_{2}…V_{6}).

Non-acceptable intersection points, each two anti-parallel lines have an intersection point but the point have to satisfy

Examples of side intersection in only one point, for instance AP_{1} intersect the perimeter of the other triangle in only V_{1} in both (a) and (b).

Average number of clusters (N_{C}).

Average cluster-size (μ_{Csize}) for different number of nodes and overlapping scales.

The cluster size cumulative distribution function as a function of node densities (γ = 0.5).

Percentage of the covered area with respect to the whole deployment area.

(a) Period of awakening a given node in the un-cooperative scheduling. (b) Scheduling for a cluster consisting of three members (S_{1}, S_{2}, S_{3}).

(a) Sensor node duty-cycle period T_{p}/T, (b) Cluster duty-cycle period T_{interval}/T.

The average of coefficient μ_{Csize}/β for several node densities and overlapping scales, γ.

Factor λ in cooperative scheduling for several overlapping scales.

Consumed power (P) for a non-cooperative tier/network of nodes consisting of Cyclops.

Prolongation Lifetime Ratio (PLR) for different node densities in the clustered tier with an overlapping scale equal to (a) 0.5. (b) 0.6, in four states of base awakening period.

Lifetime in a deployment of 250 nodes.

Cluster formation.

1: k = 1, i = 1 // k is index of clusters, i is index of sensors // |

2: C_S = {0,...0}, F_S = {0,...,0) // Mask vectors of size N indicating whether node S_{i} is clustered and whether node S_{i} is a first-member // |

3: |

4: Create an empty cluster (C_{k}): C_{k} = Ø |

5: Set C_S_{i} as a clustered multimedia node, member of C_{k} |

6: Set F_S_{i} as the first member of the cluster C_{k} |

7: _{j}// un-clustered multimedia nodes // |

8: _{j} = 0) |

9: Find intersection polygon of FoVs of S_{i}, S_{j} |

10: Compute D_{ij} //overlapped area between S_{i}, S_{j} // |

11: _{ij} ≥ γ.A_{FoV}) |

12: Set C_S_{j} as a clustered multimedia node |

13: Set C_S_{j} as a member of C_{k} |

14: |

15: |

16: |

17: i ← next i //next un-clustered node// |

18: K = K + 1 |

19: |

Cluster-based Cooperative Scheduling for Object Detection.

1: _{j} // all clusters in parallel // |

2: i = 0 // start with the first member of each cluster // |

3: Wake up member number i |

4: Capture an image and then call object detection |

5: |

6: Send the image to sink |

7: |

8: Delay (T_{interval}) // each cluster has a proprietary T_{interval} // |

9: i = i + 1(mod C_{size}) // select next node of the cluster // |

10: |

11: |