Management and Analysis of Camera Trap Data: Alternative Approaches (Response to Harris et al. 2010) (2011)

A recent article in the ESA Bulletin introduces an approach to cataloging and analyzing the large numbers of photos typically generated by camera traps (Harris et al. 2010). The authors highlight the need for a simple, systematic way to archive and extract data from camera trap photos. The authors then present a system they have developed in an effort to meet this need. Here, we introduce two alternative approaches that each have distinct advantages over the approach outlined by Harris et al. Harris et al.'s suggested system of photo management involves three steps. First, photos are organized into folders by the location of the camera and re-named (using a batch renaming program) so that each photo is identified by the date and time at which it was taken. This reduces the chances that new photos might overwrite older ones with the same name. Second, the user goes through all of the photos taken at each location and identifies the species and number of animals captured in each photo. The user must then manually move each photo into a subfolder that he or she has created. Subfolders are organized hierarchically, with a folder for the number of animals contained within a folder for that species. For example, a photo of two pumas would be moved into the directory Location/Puma/2. In the third step of the process, a text file is generated that lists all file (image) names and the directories within which they are contained. Finally, the directory structure is analyzed and summarized in a spreadsheet, which can then be further analyzed as the user desires. As camera traps are becoming more and more popular in ecological research, there is a real need for innovative ways to deal with large numbers of camera photos. Harris et al.'s effort to improve upon older, tedious methods (such as manually entering each photo's data into a spreadsheet) is commendable. However, we believe that the system we describe has significant advantages, and overcomes the following drawbacks of the Harris approach: It requires that many windows and folders are open at all times, introducing much room for error. For example, at any moment the user might have open a photo viewing window as well as multiple folders, one for each common species. The user would have to identify the species and number of animals in the photo viewing window, remember the name of the photo, toggle over to the Location directory, and move that photo to the correct subfolder. The many steps and windows involved in this process introduce much scope for user error and is time consuming. It does not offer a way to add information to photos on attributes other than species. Users often need to categorize photos by other attributes such as number of animals captured, behaviors (e.g., feeding, resting, etc.) or age class (e.g., juveniles vs. adults). It does not offer a convenient way to deal with photos that have more than one species in them. Such photos would have to be duplicated and copies moved into two separate folders. Depending on the analyses being conducted, this could lead to a substantial amount of error (e.g., if one wanted to ask what percentage of all photos taken were successful “captures”), and confusion. It does not offer a way to search for and view or work with photos with userdefined attributes. For example, one might want to find all photos of pumas across all sites, or all photos of juvenile pumas taken between 17:00 and 05:00. Below, we present two alternative approaches that address the above issues. The first centers around a spreadsheet-like interface called PhotoSpread (developed by a Stanford University team of computer scientists and biologists including ESA 〈www.ericabelson.com/photospread〉), and was designed specifically for tagging large numbers of camera-trap images. The second (developed by S. R. Sundaresan and C. Riginos) takes advantage of the image-viewing and manipulating power offered by conventional photo-management programs, such as Picasa (Google, Mountain View, California, picasa.google.com) for handling large numbers of photos efficiently. Both approaches rely on freely available software. PhotoSpread is a new, open-source application that builds on the traditional and familiar spreadsheet paradigm to allow for tagging and analysis for very large sets of images (Kandel 2008). This software was designed to directly address some of the substantial difficulties in working with massive cameratrapping photo sets. Some advantages of PhotoSpread include the ability to: (1) rapidly assign multiple tags to many images with a single drag-and-drop operation; (2) build sophisticated queries that permit the user to view, and further tag, the resulting images; and (3) support multiple workflows. PhotoSpread easily allows tagging by multiple users. For example, after one user has tagged a subset of images, a second user can easily identify and tag only images that have not yet been tagged. Further, images are removed from the active work space as they are tagged to reduce confusion and increase ease of use. Unlike conventional spreadsheet programs, PhotoSpread allows for objects (e.g., photos), not just text, numbers, or formulas, to exist in cells. These photos can be quickly tagged with metadata, or information about those images (e.g., species, behavior, number of individuals). PhotoSpread also presents a framework where users can write worksheet functions to populate a cell with images that meet a particular set of criteria using image metadata. For example, a worksheet function could be written that produces all the images where the following is true: Species = MuleDeer, AgeClass = Adult, Behavior = Foraging, and Weather = Raining. PhotoSpread additionally allows the user to drag-and-drop an image, or set of images, onto a cell that contains a worksheet function. This allows users to tag images with all of the parameters specified in the function in one simple step. For example, if a user were to drag a set of 20 images that had no existing metadata onto the cell containing the formula above, all of the images would be tagged with the following metadata: Species = MuleDeer, AgeClass = Adult, Behavior = Foraging, and Weather = Raining. This subset of images can then be further tagged with other metadata and the entire set of metadata can be exported for analysis in other software (e.g., R, Excel). Before photos are imported into any photo management software, they should first be organized into a simple, logical directory structure. A possible structure is: AllProjectPhotos/SiteName/CameraID/ DateIn where “DateIn” refers to the date on which the photos were downloaded from the memory card. Keeping photos separated by the date on which they were downloaded is necessary since many cameras have a numbering system that re-sets to zero every time the camera is switched on. After images are downloaded and arranged on a local or network drive it is often useful to export the metadata that are recorded in each photo's Exif or image header using Exif extraction software (e.g., ExifPro or ExifTool; both freely available). While this step is not essential, once metadata are exported they can be used by PhotoSpread and will allow the user to sort and filter images based on parameters such as time of day or date. PhotoSpread can import images to be tagged in three ways: using a .CSV file with the file path specified along with other metadata that PhotoSpread will incorporate, via specifying whole folders of images, or via specifying individual image files. Users that have been employing other methodologies to tag their image repositories (e.g., the Harris et al. 2010 or Picasa method) can easily add PhotoSpread into their workflow because PhotoSpread can import standard .CSV spreadsheet files. PhotoSpread can import any .CSV file that has a column of image filenames, including the file path, and PhotoSpread will import the appropriate image and associate any other information on the same row as metadata for that image. PhotoSpread consists of two main windows (Fig. 1A): the workspace and the worksheet. In the workspace, images can be arranged by specifying the number of images to display horizontally and the size at which each image should be presented. If, for example, a user has a camera trap set to take 10 images per trigger, images can be arranged intuitively in rows of 10. PhotoSpread interface: User interface with the worksheet on the right and the workspace on the left The worksheet provides space to write functions that can be used to filter images that meet particular criteria (e.g., all mule deer that are foraging) and can simultaneously be used to tag images. Groups of images are tagged by selecting them in the workspace and dragging them (or pressing a hotkey) to a cell with a function in the worksheet. A powerful feature of the worksheet is that one can create a matrix of functions (Fig. 1B) to create a layout where each cell contains multiple tags. These function layouts can be saved and shared with others. For example, in Fig. 1B there would be formulas in the cells B4 to F6. In this example, the formula in cell C5 specifies the following set of metadata: Species = Coyote, AgeClass = Juvenile, Quantity = 1. The user could drag a set of images to that cell and they would be tagged with the above information. Example of a PhotoSpread formula layout where each cell tags a different value for the following attributes: species, quantity, and age class. The ability to pull up and view images that meet specific queries, including greater-than or less-than operators, is one of the advantages that PhotoSpread offers over other photo management approaches. This feature enables PhotoSpread users to easily reanalyze existing image sets and assign new metadata. For example, a massive data set that was collected to examine the wildlife present on a reserve could later be used in a study of deer foraging behavior during unseasonably cold nights by filtering for deer images that were taken when the temperature was below 32° and adding behavioral tags. In PhotoSpread, data about images are not stored in Exif fields, but all metadata tags can easily be exported into a standard. CSV file. Users should be aware that if the image directory structure changes, PhotoSpread requires additional steps for the program to be able to find these images at a later time. This presents potential complications for sharing images or working with the same set of images on multiple different hard drives. However, using the same file structure on multiple machines, a network drive or cloud computing platform (such as the free web-based file-hosting software Dropbox; dropbox.com) allows multiple users to easily collaborate using PhotoSpread. A second alternative is to use commercial, freely available photo management programs (e.g., Picasa or F-spot) to add tags to each photo's Exif information. These programs are designed specifically for the purpose of viewing and managing photos and offer many features that make it fast and easy to examine each photo and assign metadata to it. This is often the most labor-intensive and critical step to managing camera trap photos. Once metadata have been added to the photos' Exif information, this information is exported into a spreadsheet for further analysis. Because metadata is encoded in the image's Exif data, that metadata will remain with the image even if it is moved, transferred, or shared across multiple users or drives. Organize photos in the manner discussed above. A logical directory structure is particularly important for this approach to photo management, since the directory structure will later become metadata when the photos' Exif information is exported to a spreadsheet format (see Step 3, below). The second step of the process is to import all of the photos into a standard photo cataloging program. (We focus on Picasa, but other, similar programs can serve the same function.) The user can then view each photo, or several photos at a time, and, as in PhotoSpread, add tags such as species, number of individuals, age/size, or behavior. Like PhotoSpread, Picasa offers the advantage that photos can be viewed and tagged within the same window, thus removing a significant source of user error. An acceptable list of tags (e.g., species names or behaviors) can be defined by the user ahead of time and set up as “quick tags”; photos can then be tagged with only the click of a button. Multiple consecutive photos can be batch-tagged. Tags can also be updated or added by multiple different users. One distinct advantage of this approach is that dedicated photo management programs like Picasa make it very easy to examine photos and determine what is in them. The user can easily zoom in or adjust the brightness of a photo to get a better view of the animal in question. In both Picasa and PhotoSpread, one can easily toggle among earlier and later photos in a sequence, which is often useful for confirming the identity of an animal. Picasa also offers Google-type search functions that enable the user to pull up images that meet user-defined criteria (e.g., all grazing zebras, across all sites). Another feature of Picasa is that it allows pictures to be published online with the click of a button. This enables collaborators working on multiple locations to share photos. The feature might be particularly useful where camera trap photos are used to identify individual animals whose range spans the areas being trapped by several different researchers. Continued improvements to photo managing and editing programs will likely yield even more advantages for camera trap photo management. Although we have focused on Picasa as a free and widely available program, other applications such as F-spot, Adobe Lightroom, or ACDSee provide all of these functions as well. The important criterion in choosing a program is that it should add information (such as tags) as Exif information embedded within the photo file, rather than writing that information to a separate location (as is the case with older versions of Picasa). The final step is to export the Exif information from the photos into a spreadsheet file. The Exif information typically will include the tags that have been added to the photos as well as camera metadata such as the date and time of the photo, whether the flash fired or not, and the file size of the image. Although there is currently no built-in way to export the Exif data for multiple photos archived within Picasa, we use a short script in Perl (available from S. R. Sundaresan on request) that performs this function. This Perl script exports the Exif information, as well as the directory information, for all photos into a single spreadsheet. All photos in the parent directory (e.g., AllProjectPhotos) are considered at once, and the output (delimited text file) shows each photo's information on a separate row. The script makes use of two freely available modules in Perl, Image::ExifTool and File::Find. ExifTool is also available as a stand-alone Windows/Mac executable 〈www.sno.phy.queensu.ca/~phil/exiftool/〉. Users with command-line experience can use this tool to directly extract (and edit) information contained in Exif tags of pictures. Once in spreadsheet format, data can be managed and analyzed as the user requires. Both of the approaches we have outlined here provide user-friendly and efficient ways to view and manage large numbers of camera trap photos. Both approaches offer more versatility, less manual labor, and a reduction in potential user-based errors than the Harris et al. approach. Both PhotoSpread and Picasa enable the user to tag 100 photos (all containing animals) in about 5 minutes. PhotoSpread has the advantage of providing a single interface for the entire process of viewing, tagging, and exporting photo data with powerful querying capabilities. However, as with other specialized software, it is not as polished as commercial applications and requires some practice before the user can leverage its full potential and use it to maximum efficiency. Additionally, PhotoSpread does not currently support writing metadata directly to the Exif information and thus requires the user to transfer metadata via .CSV files. Picasa (and similar software) is exceptionally suited for viewing, manipulating (e.g., lightening nighttime photos to better see the subject) and tagging photos. However, at present, Picasa does not offer a way to tag photos with specified attributes (e.g., Species = Zebra, Behavior = Grazing). Instead all tags are organized alphabetically (“grazing, zebra” or “buffalo, grazing”) in the Exif information, a problem that must be remedied at the later data management stages. Picasa also lacks a convenient way to extract the Exif information from the tagged, archived photos. However, by adding tags to the Exif information, the user can be certain that each photo will remain attached to its metadata, even if the photos are moved from one directory to another on the computer. In the future, we hope that the best features of these two approaches can be combined to yield an even more powerful tool for managing camera trap photos. Simple improvements to programs such as PhotoSpread and Picasa could go a long way toward making them even more efficient and easy to use. As camera traps are being deployed more and more widely by scientists and wildlife managers, the demand for new and improved photo management systems will continue to rise. Now is the time to identify and address users' needs to create better, more versatile, and less error-prone systems for managing camera photos. Picasa user interface showing a tagged photo of two Plains Zebra, one of which is grazing. Tags are added to the photo's Exif information for later export into a spreadsheet format.