distance-estimation
Distance Estimation for Estimating Animal Abundance
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, sciencedirect.com -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.4%) to scientific vocabulary
Keywords
Repository
Distance Estimation for Estimating Animal Abundance
Basic Info
- Host: GitHub
- Owner: timmh
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://timm.haucke.xyz/publications/distance-estimation-animal-abundance
- Size: 59.8 MB
Statistics
- Stars: 21
- Watchers: 3
- Forks: 5
- Open Issues: 0
- Releases: 22
Topics
Metadata Files
README.md
Distance Estimation for Assessing Animal Abundance

This is an implementation of the methodology proposed in "Overcoming the distance estimation bottleneck in estimating animal abundance with camera traps" [Ecological Informatics] [arXiv] using the since released MegaDetector 5.0. Both graphical and command-line interfaces are provided for Windows, macOS and Linux.
Usage
Download the appropriate executable for your platform under releases. Under Windows and Linux, you can directly run the downloaded file. Under macOS, you first need to install the application as usual by copying it into the Applications directory (you need to run macOS 11 Big Sur or newer and follow additional steps to open the app). Once running, you may select your input data and configuration. Please refer to the Data Structure section for details about the data directory.
Command Line Usage
The binaries provided under releases also support operation via the command line instead of a graphical interface. Pass the --cli --help flags to get detailed usage instructions.
Data Structure
During configuration, you must choose the directory which contains your input data and which will also contain the results. You can find an exemplary directory here. The data directory must adhere to the following structure:
bash
DistanceEstimationData
├── results
└── transects
├── transect_001
│ ├── calibration_frames
│ │ ├── 01.png
│ │ ├── ...
│ │ ├── 10.png
│ │ ├── ...
│ ├── calibration_frames_masks
│ │ ├── 01.png
│ │ ├── ...
│ │ ├── 10.png
│ │ ├── ...
│ └── detection_frames
│ ├── detection_000001.png
│ └── ...
└── ...
The root data directory may be named arbitrarily and must contain two subdirectories: results (which will contain distance estimations, visualizations, etc.) and transects, which should contain an arbitrary number of subdirectories, each representing a single transect or location. Inside each of these directories, there are three more directories. calibration_frames should contain photos of reference objects, each named after the distance in meters the respective reference object represents. calibration_frames_masks should contain one equally named binary mask image for each of the photos in the calibration_frames, where the reference object is marked in white and everything else in black color. To see how the masks are created please take a look at this demonstration. The detection_frames finally contain arbitrarily named photos of the animals you want to estimate the distance of. Both .jp(e)g and .png files are supported.
Acknowledgements
Thanks to Phil Garthen, Hari Surya Charan Mudragada, Stefanie Schwarz, Sebastian Speth, Hendrik Edelhoff and Ludwig Bothmann for pointing out an implementation issue with the computation of world coordinates.
Citation
If this is useful please consider citing:
@article{haucke2022overcoming,
title = {Overcoming the distance estimation bottleneck in estimating animal abundance with camera traps},
author = {Timm Haucke and Hjalmar S. Kühl and Jacqueline Hoyer and Volker Steinhage},
doi = {https://doi.org/10.1016/j.ecoinf.2021.101536},
journal = {Ecological Informatics},
volume = {68},
pages = {101536},
year = {2022},
issn = {1574-9541},
url = {https://www.sciencedirect.com/science/article/pii/S1574954121003277}
}
Furthermore, as parts of this software are based on MegaDetector 5.0, Dense Prediction Transformers, Segment Anything, and Depth Anything please consider also citing:
@article{megadetector,
title={Efficient pipeline for camera trap image review},
author={Beery, Sara and Morris, Dan and Yang, Siyu},
journal={arXiv preprint arXiv:1907.06772},
year={2019}
}
@inproceedings{dpt,
title={Vision transformers for dense prediction},
author={Ranftl, Ren{\'e} and Bochkovskiy, Alexey and Koltun, Vladlen},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
pages={12179--12188},
year={2021}
}
@article{segment_anything,
title={Segment Anything},
author={Kirillov, Alexander and Mintun, Eric and Ravi, Nikhila and Mao, Hanzi and Rolland, Chloe and Gustafson, Laura and Xiao, Tete and Whitehead, Spencer and Berg, Alexander C. and Lo, Wan-Yen and Doll{\'a}r, Piotr and Girshick, Ross},
journal={arXiv:2304.02643},
year={2023}
}
@inproceedings{depthanything,
title={Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data},
author={Yang, Lihe and Kang, Bingyi and Huang, Zilong and Xu, Xiaogang and Feng, Jiashi and Zhao, Hengshuang},
booktitle={CVPR},
year={2024}
}
Owner
- Name: Timm Haucke
- Login: timmh
- Kind: user
- Location: Cambridge, MA
- Company: MIT
- Website: https://timm.haucke.xyz
- Twitter: timmhaucke
- Repositories: 37
- Profile: https://github.com/timmh
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Haucke
given-names: Timm
orcid: https://orcid.org/0000-0003-1696-6937
- family-names: Kühl
given-names: Hjalmar
- family-names: Hoyer
given-names: Jacqueline
- family-names: Steinhage
given-names: Volker
orcid: https://orcid.org/0000-0002-3172-3645
title: "Overcoming the distance estimation bottleneck in estimating animal abundance with camera traps"
version: 2.0
doi: 10.1016/j.ecoinf.2021.101536
date-released: 2022-05-01
GitHub Events
Total
- Release event: 3
- Watch event: 6
- Push event: 13
- Fork event: 2
- Create event: 3
Last Year
- Release event: 3
- Watch event: 6
- Push event: 13
- Fork event: 2
- Create event: 3
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Timm Haucke | t****m@h****z | 37 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: about 2 years ago
All Time
- Total issues: 1
- Total pull requests: 0
- Average time to close issues: about 23 hours
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 3.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: about 23 hours
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 3.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jason-airst (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v2 composite
- actions/create-release v1 composite
- actions/setup-python v4 composite
- actions/upload-release-asset v1 composite
- matplotlib ==3.5.1
- numpy ==1.22.2
- onnxruntime-gpu ==1.12.0
- opencv-python ==4.5.4.60
- pyinstaller ==5.6.2
- scikit-learn ==1.1.1
- toga ==0.3.0.dev39
- tqdm ==4.64.0
- dmgbuild ==1.6.0
- matplotlib ==3.5.1
- numpy ==1.22.2
- onnxruntime ==1.12.0
- opencv-python ==4.5.4.60
- pyinstaller ==5.6.2
- scikit-learn ==1.1.1
- toga ==0.3.0.dev39
- tqdm ==4.64.0