Cyclops 2008
From CSL Wiki
Contents |
Motivation
Currently, our work is focused on recording still images inside nestboxes using Tenet system with cyclops cameras to record bird behavior, primarily during the breeding season in spring months. In addition, we are measuring environmental characteristics near the nesting environment. The environmental data and associated nestbox images are being used to answer questions about bird breeding behavior and breeding success including
- Laying patterns and behavior
- Incubation (behavior of onset)
- Hatching (pattern/time, asynchrony)
- Fledging (variation in fledging date among nestlings within a nest)
The wireless system combined with solar and battery powered units to convey nestbox images expands the number of nestboxes that can be operated in locations where no power and image transmission lines exist. The Tenet system allow the camera nodes to transfer images over tiered multi-hop wireless network to the central server.
The total number of boxes with image data for the complete nesting cycle, and/or to answer many types of biological questions covering only a specific stage of the cycle, is relatively low relative to many studies published in scientific journals. Thus, increasing the number of boxes with cameras will improve the number of pairs for which breeding behavior can be collected and will therefore increase the opportunity to answer significant biological questions.
Although Cyclops has a dedicated processor allowing it to perform image processing tasks on the node, most of our efforts so far has been geared towards post-processing of images once aggregated at the back-end server. We feel that this is a necessary step since any automation process should be evaluated with ground truth data, hence the need to visually inspect the images that were processed.
These images have been analyzed to determine two things:
- Presence/absence of the bird inside a nestbox
- State determination of the nextbox activities: occupancy, nest building, egg laying, incubation, hatching, and raising young
In occupancy determination we do not make a distinction between multiple or single birds. As for the state determination we hope to be able to distinguish between the various phases by looking for a visual cue, which in this case is the eggs. By counting the number of eggs and seeing how it varies over time we would be able to determine in which state the bird is in. So for example, if the egg total remains constant over a period of 2 or more days we can say that bird is in the incubation phase. If the number of eggs decreases dramatically from four to none we can say that the eggs have hatched. By leveraging the deterministic nature of the birds we can reduce the complexity of our vision task to the counting of eggs. These conclusions are being tested with input from project biologists.
There are many issues with designing a wireless imaging network, including: forming multihop networks, packet reliability, congestion control, mote stability, power consumption, and actually taking images. Most of these have already been adequately solved and have little to do with our goal of image processing and collecting environmental data. By moving the Cyclops platform to the Tenet architecture, we have considerably strengthened the backbone of our imaging systems by harnessing the previous work that has gone into making Tenet a usable system. Since Tenet has been developed to be a standardized system, we also are now able to create Tenet packages that other groups can download and install to integrate our Cyclops hardware into their systems. We hope to expand the usability of our imagers and also help Tenet become a more hardened system.
Advantages of Tenet are:
- the underlying network provides reliability in data packets so as to reduce or eliminate packet loss; thus, blank lines through images would be reduced or eliminated.
- allows for a multi-hop network, increasing the distance between a nestbox and the nearest hi-gain antenna (perhaps by ~50m)
- a simpler software design than what currently runs Cyclops, which is expected to increase ability for systems to be designed in the future that could be implemented by non-engineers (e.g., biologists). Code is open-source as well.
Logistics
Deployment scale
- 19 Cyclops/Mica2 nodes spaced evenly throughout JR.
- 4 Stargates
- Network diameter: Ideally the cyclops will all have a single hop to a stargate, possibly a small number will have 2 hops, but no more. The stargates will all have wired power and ethernet and will be on a single subnet.
- Tenet node map: http://enl.usc.edu/~jpaek/data/cyclops/bird_nest_2008/jr_nb_map2.bmp
Deployment duration
2 ~ 3 month? May 2008 ~ Aug 2008.
People
- John Hicks (johnhicks [at] gmail.com)
- Jeongyeup Paek (jpaek [at] enl.usc.edu)
- Sharon Coe
Software / Application
Mote binary
Mica2 mote runs 'Tenet', re-compiled with the 'CYCLOPS_HOST=1' option turned on.
TOSH_DATA_LENGTH was set to '76' bytes,
- which can contain up to 42 bytes of image fragment data,
if RCRT (Rate-Controlled Reliable Transport) protocol is used.
42 = 76
- 8 byte routing header
- 6 byte transport header
- 8 byte RCRT header (**)
- 4 byte tenet attribute header
- 2 byte cyclops response header
- 6 byte image fragment header (*)
(*) if Run-Length Encoding is used, image fragment header is 4 bytes, not 6:
- we can make use of additional 2 bytes.
(**) if Stream-Transport protocol is used, RCRT header is unnecessary:
- we can make use of additional 8 bytes.
Tenet Imaging Application
We use a tenet application 'imaging' (tenet/apps/imaging/) to take an image.
- Resolution = 200x200 - we did 240 x 240 last year but thats a bit big and sometimes overflows the 56k buffer depending on the compression.
- Black & White image - Definitely black and white as we are using infrared LED for lighting.
- Use default camera setting.
- LED flash used (all nodes).
- Max. fragment size = 42 bytes.
- Run-Length encoding can be used
- http://enl.usc.edu/~jpaek/data/cyclops/rle/lossy_rle2.html
- http://enl.usc.edu/~jpaek/data/cyclops/rle/lossy_rle1.html
- For compression we have found that packbits with threshold of 5 is a good mix of compress/being able to make out the image.
We use a bash script to repeatedly envoke execution of 'imaging' application.
- How often will you take images? As often as possible. Ideally the nodes will be more or less continuously sending packets. Our goal is every 10 minutes, and we should adjust parameters (resolution, compression, packet rate), tog et there.
Bird Nest Data Visualization
http://www.lecs.cs.ucla.edu/~jhicks/cyclops_imagebrowser_2008/cyclops_imagebrowser.swf
Hardware
Directions to JR
Take Interstate 10. Exit at 8th Street exit. Turn right on 8th Street and continue a short distance to the first stop sign. Turn left on Lincoln until the next stop sign (approximately 1/2 mile). Turn right on San Gorgonio Avenue (State Highway 243) and once the road begins climbing the mountain grade continue for approximately 15 miles. When you get to Lake Fulmor Picnic Area (US Forest Service), turn left into the handicap parking lot (this is across the street from the main parking area). Pull up to the gate with the sign that says "ROAD CLOSED" and unlock the gate using the combination that has been provided to you in advance. We change the lock combination frequently so call or email before your visit. Unlock the gate and drive forward, then lock the gate behind you. Continue on the uneven dirt road until you reach a second locked gate constructed out of chain link fence. The same combination applies to this gate. Again, please lock the gate behind you. Continue to the end of the road (about 1/4 mile) and check in at the Trailfinders Lodge.
Pictures
