{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/a-deep-active-learning-system-for-species","title":"A deep active learning system for species identification and counting in camera trap images","arxiv_id":"1910.09716","date":"2019-10-22","proceeding":null,"authors":["Mohammad Sadegh Norouzzadeh","Dan Morris","Sara Beery","Neel Joshi","Nebojsa Jojic","Jeff Clune"],"abstract":"Biodiversity conservation depends on accurate, up-to-date information about wildlife population distributions. Motion-activated cameras, also known as camera traps, are a critical tool for population surveys, as they are cheap and non-intrusive. However, extracting useful information from camera trap images is a cumbersome process: a typical camera trap survey may produce millions of images that require slow, expensive manual review. Consequently, critical information is often lost due to resource limitations, and critical conservation questions may be answered too slowly to support decision-making. Computer vision is poised to dramatically increase efficiency in image-based biodiversity surveys, and recent studies have harnessed deep learning techniques for automatic information extraction from camera trap images. However, the accuracy of results depends on the amount, quality, and diversity of the data available to train models, and the literature has focused on projects with millions of relevant, labeled training images. Many camera trap projects do not have a large set of labeled images and hence cannot benefit from existing machine learning techniques. Furthermore, even projects that do have labeled data from similar ecosystems have struggled to adopt deep learning methods because image classification models overfit to specific image backgrounds (i.e., camera locations). In this paper, we focus not on automating the labeling of camera trap images, but on accelerating this process. We combine the power of machine intelligence and human intelligence to build a scalable, fast, and accurate active learning system to minimize the manual work required to identify and count animals in camera trap images. Our proposed scheme can match the state of the art accuracy on a 3.2 million image dataset with as few as 14,100 manual labels, which means decreasing manual labeling effort by over 99.5%.","url_abs":"https://arxiv.org/abs/1910.09716v1","url_pdf":"https://arxiv.org/pdf/1910.09716v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"a-deep-active-learning-system-for-species","repo_url":"https://github.com/microsoft/cameratraps","is_official":0,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"active-learning","task_name":"Active Learning"},{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1910.09716","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1910.09716"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/microsoft/cameratraps","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":4},"by_repo_kind":{"named_in_paper":{"samples":4,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"b2f39d6951a17c25","entry":"acc","repo":"microsoft/cameratraps","repo_kind":"named_in_paper","path":"PW_FT_classification/src/algorithms/utils.py","file_url":"https://github.com/microsoft/cameratraps/blob/HEAD/PW_FT_classification/src/algorithms/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b2f39d6951a17c25"}},{"code_sha256_prefix":"e705ad9cdd65d05f","entry":"count_window_labels","repo":"microsoft/cameratraps","repo_kind":"named_in_paper","path":"PW_Bioacoustics/prepare_dataset.py","file_url":"https://github.com/microsoft/cameratraps/blob/HEAD/PW_Bioacoustics/prepare_dataset.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e705ad9cdd65d05f"}},{"code_sha256_prefix":"3f15d45ec98dcdbe","entry":"process_inference_results_per_second","repo":"microsoft/cameratraps","repo_kind":"named_in_paper","path":"PW_Bioacoustics/inference.py","file_url":"https://github.com/microsoft/cameratraps/blob/HEAD/PW_Bioacoustics/inference.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3f15d45ec98dcdbe"}},{"code_sha256_prefix":"713e4459bab6d5f5","entry":"save_inference_results","repo":"microsoft/cameratraps","repo_kind":"named_in_paper","path":"PW_Bioacoustics/inference.py","file_url":"https://github.com/microsoft/cameratraps/blob/HEAD/PW_Bioacoustics/inference.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"713e4459bab6d5f5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}