wildbook-ia
Wildbook's Image Analysis (WBIA) backend service supporting machine learning for wildlife conservation
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
3 of 33 committers (9.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.5%) to scientific vocabulary
Keywords from Contributors
conservation
nonprofit
tomcat
projection
interactive
observability
autograd
transformer
tensors
optimizing-compiler
Last synced: 10 months ago
·
JSON representation
Repository
Wildbook's Image Analysis (WBIA) backend service supporting machine learning for wildlife conservation
Basic Info
- Host: GitHub
- Owner: WildMeOrg
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://wildbook.org
- Size: 353 MB
Statistics
- Stars: 85
- Watchers: 10
- Forks: 23
- Open Issues: 8
- Releases: 12
Created almost 10 years ago
· Last pushed 10 months ago
Metadata Files
Readme
License
Security
README.rst
==================
WBIA - WildBook IA
==================
|Build| |Documentation| |Downloads|
.. image:: http://i.imgur.com/TNCiEBe.png
:alt: "(Note: the rhino and wildebeest matches may be dubious. Other species do work well though")
WBIA program for the storage and management of images and derived data for use in computer vision algorithms. It aims to compute who an animal is, what species an animal is, and where an animal is with the ultimate goal being to ask important why biological questions.
This project is the Machine Learning (ML) / computer vision component of the WildBook project: See https://github.com/WildMeOrg/. This project is an actively maintained fork of the popular IBEIS (Image Based Ecological Information System) software suite for wildlife conservation. The original IBEIS project is maintained by Jon Crall (@Erotemic) at https://github.com/Erotemic/ibeis. The IBEIS toolkit originally was a wrapper around HotSpotter, which original binaries can be downloaded from: http://cs.rpi.edu/hotspotter/
Currently the system is build around a SQLite database, a web GUI, and matplotlib visualizations. Algorithms employed are: convolutional neural network detection and localization and classification, hessian-affine keypoint detection, SIFT keypoint description, LNBNN identification using approximate nearest neighbors.
Support
--------
While WBIA can be set up independently, the Wild Me team is not able to assist with independent model training. Support is limited to system setup in Docker at this time.
Requirements
------------
* Python 3.7+
* OpenCV 3.4.10
* Python dependencies listed in requirements.txt
Installation Instructions
-------------------------
.. code:: bash
git clone https://github.com/WildMeOrg/wildbook-ia.git
cd wildbook-ia/devops
sudo ./build.sh wbia-base wbia-provision wbia
If your build times out, run the command again. The previous run is cached and the build will advance. Note that you cannot tag this build.
Docker
~~~~~~
The WBIA software is built and deployed as a Docker image `wildme/wbia`. You can download and run the pre-configured instance from the command line using:
.. code:: bash
# Install Docker - https://docs.docker.com/engine/install/
docker pull wildme/wbia:latest
docker run -p 84:5000 wildme/wbia:latest bash
This image is built using the multi-stage Dockerfiles in `devops/`. Once the container is up and running, go to `localhost:84` to see the WBIA landing page.
Dependencies
~~~~~~
This project depends on an array of other repositories for functionality.
First Party Toolkits (Required)
* https://github.com/WildMeOrg/wbia-utool
* https://github.com/WildMeOrg/wbia-vtool
First Party Dependencies for Third Party Libraries (Required)
* https://github.com/WildMeOrg/wbia-tpl-pyhesaff
* https://github.com/WildMeOrg/wbia-tpl-pyflann
* https://github.com/WildMeOrg/wbia-tpl-pydarknet
* https://github.com/WildMeOrg/wbia-tpl-pyrf
First Party Plug-ins (Optional)
* https://github.com/WildMeOrg/wbia-plugin-cnn
* https://github.com/WildMeOrg/wbia-plugin-flukematch
* https://github.com/WildMeOrg/wbia-plugin-deepsense
* https://github.com/WildMeOrg/wbia-plugin-finfindr
* https://github.com/WildMeOrg/wbia-plugin-curvrank
+ https://github.com/WildMeOrg/wbia-tpl-curvrank
* https://github.com/WildMeOrg/wbia-plugin-kaggle7
+ https://github.com/WildMeOrg/wbia-tpl-kaggle7
* https://github.com/WildMeOrg/wbia-plugin-2d-orientation
+ https://github.com/WildMeOrg/wbia-tpl-2d-orientation
* https://github.com/WildMeOrg/wbia-plugin-lca
+ https://github.com/WildMeOrg/wbia-tpl-lca
Deprecated Toolkits (Deprecated)
* https://github.com/WildMeOrg/wbia-deprecate-ubelt
* https://github.com/WildMeOrg/wbia-deprecate-dtool
* https://github.com/WildMeOrg/wbia-deprecate-guitool
* https://github.com/WildMeOrg/wbia-deprecate-plottool
* https://github.com/WildMeOrg/wbia-deprecate-detecttools
* https://github.com/WildMeOrg/wbia-deprecate-plugin-humpbacktl
* https://github.com/WildMeOrg/wbia-deprecate-tpl-lightnet
* https://github.com/WildMeOrg/wbia-deprecate-tpl-brambox
Plug-in Templates (Reference)
* https://github.com/WildMeOrg/wbia-plugin-template
* https://github.com/WildMeOrg/wbia-plugin-id-example
Miscellaneous (Reference)
* https://github.com/WildMeOrg/wbia-pypkg-build
* https://github.com/WildMeOrg/wbia-project-website
* https://github.com/WildMeOrg/wbia-aws-codedeploy
Citation
--------
If you use this code or its models in your research, please cite:
.. code:: text
@inproceedings{crall2013hotspotter,
title={Hotspotter patterned species instance recognition},
author={Crall, Jonathan P and Stewart, Charles V and Berger-Wolf, Tanya Y and Rubenstein, Daniel I and Sundaresan, Siva R},
booktitle={2013 IEEE workshop on applications of computer vision (WACV)},
pages={230--237},
year={2013},
organization={IEEE}
}
@inproceedings{parham2018animal,
title={An animal detection pipeline for identification},
author={Parham, Jason and Stewart, Charles and Crall, Jonathan and Rubenstein, Daniel and Holmberg, Jason and Berger-Wolf, Tanya},
booktitle={2018 IEEE Winter Conference on Applications of Computer Vision (WACV)},
pages={1075--1083},
year={2018},
organization={IEEE}
}
@inproceedings{berger2015ibeis,
title={IBEIS: Image-based ecological information system: From pixels to science and conservation},
author={Berger-Wolf, TY and Rubenstein, DI and Stewart, CV and Holmberg, J and Parham, J and Crall, J},
booktitle={Bloomberg Data for Good Exchange Conference, New York, NY, USA},
volume={2},
year={2015}
}
@article{berger2017wildbook,
title={Wildbook: Crowdsourcing, computer vision, and data science for conservation},
author={Berger-Wolf, Tanya Y and Rubenstein, Daniel I and Stewart, Charles V and Holmberg, Jason A and Parham, Jason and Menon, Sreejith and Crall, Jonathan and Van Oast, Jon and Kiciman, Emre and Joppa, Lucas},
journal={arXiv preprint arXiv:1710.08880},
year={2017}
}
Documentation
-------------------------
The documentation is built and available online at `wildmeorg.github.io/wildbook-ia/ `_. However, if you need to build a local copy of the source, the following instructions can be used.
.. code:: bash
# checkout the source code
# install the project in development mode
pip install -e .
# build the docs
scripts/build-docs.sh
Then open the html file at ``docs/build/html/index.html``.
Code Style and Development Guidelines
-------------------------------------
Contributing
~~~~~~~~~~~~
It's recommended that you use ``pre-commit`` to ensure linting procedures are run
on any commit you make. (See also `pre-commit.com `_)
Reference `pre-commit's installation instructions `_ for software installation on your OS/platform. After you have the software installed, run ``pre-commit install`` on the command line. Now every time you commit to this project's code base the linter procedures will automatically run over the changed files. To run pre-commit on files preemtively from the command line use:
.. code:: bash
git add .
pre-commit run
# or
pre-commit run --all-files
Brunette
~~~~~~~~
Our code base has been formatted by Brunette, which is a fork and more configurable version of Black (https://black.readthedocs.io/en/stable/).
Flake8
~~~~~~
Try to conform to PEP8. You should set up your preferred editor to use flake8 as its Python linter, but pre-commit will ensure compliance before a git commit is completed.
To run flake8 from the command line use:
.. code:: bash
flake8
This will use the flake8 configuration within ``setup.cfg``,
which ignores several errors and stylistic considerations.
See the ``setup.cfg`` file for a full and accurate listing of stylistic codes to ignore.
PyTest
~~~~~~
Our code uses Google-style documentation tests (doctests) that uses pytest and xdoctest to enable full support. To run the tests from the command line use:
.. code:: bash
pytest
To run doctests with `+REQUIRES(--web-tests)` do:
.. code:: bash
pytest --web-tests
.. |Build| image:: https://img.shields.io/github/workflow/status/WildMeOrg/wildbook-ia/Build%20and%20upload%20to%20PyPI/main
:target: https://github.com/WildMeOrg/wildbook-ia/actions?query=branch%3Amain+workflow%3A%22Build+and+upload+to+PyPI%22
:alt: Build and upload to PyPI
.. |Pypi| image:: https://img.shields.io/pypi/v/wildbook-ia.svg
:target: https://pypi.python.org/pypi/wildbook-ia
:alt: Latest PyPI version
.. |Documentation| image:: https://img.shields.io/github/workflow/status/WildMeOrg/wildbook-ia/Build%20documentation?label=documentation
:target: https://wildmeorg.github.io/wildbook-ia/
:alt: Documentation on GitHub Pages
.. |Downloads| image:: https://img.shields.io/pypi/dm/wildbook-ia.svg
:target: https://pypistats.org/packages/wildbook-ia
Owner
- Name: Wild Me
- Login: WildMeOrg
- Kind: organization
- Email: opensource@wildme.org
- Location: Portland, OR
- Website: https://wildme.org
- Twitter: WildMeORG
- Repositories: 55
- Profile: https://github.com/WildMeOrg
Conservation meets machine learning
GitHub Events
Total
- Watch event: 3
- Push event: 145
- Pull request review event: 5
- Pull request event: 12
- Fork event: 3
- Create event: 6
Last Year
- Watch event: 3
- Push event: 145
- Pull request review event: 5
- Pull request event: 12
- Fork event: 3
- Create event: 6
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| joncrall | e****c@g****m | 5,046 |
| Jason Parham | b****e@g****m | 2,458 |
| Jason Parham | p****m@w****g | 1,021 |
| Michael Mulich | m****h@g****m | 408 |
| karen chan | k****n@k****m | 352 |
| tsubramanian | t****n@g****m | 193 |
| Jon Crall | j****l@B****t | 116 |
| Zackary Rutfield | r****z@r****u | 113 |
| Hendrik Weideman | w****h@r****u | 100 |
| Avi Weinstock | a****4@g****m | 85 |
| Drew Blount | me@d****r | 47 |
| LashaO | o****a@g****m | 33 |
| Zach Jablons | z****z@g****m | 33 |
| eylor | m****y@g****m | 13 |
| Daniel Lowe | d****5@g****m | 10 |
| eddywine | n****d@g****m | 9 |
| crowmagnumb | c****b@g****m | 6 |
| holmbergius | h****s@g****m | 5 |
| Tanya | t****e@w****g | 4 |
| Larry O'Brien | l****n@k****t | 2 |
| Andrew | b****a@r****u | 2 |
| LoweD2 | l****2@u****) | 2 |
| Tamil | t****l@s****o | 2 |
| = | j****2@g****m | 1 |
| Ben Scheiner | b****r@g****m | 1 |
| joncrall | j****l@j****) | 1 |
| Jason Parham | j****m@J****l | 1 |
| Chuck Stewart | c****t@g****m | 1 |
| Jonathan Wrona | j****a@g****m | 1 |
| LashaO | o****a@y****m | 1 |
| and 3 more... | ||
Committer Domains (Top 20 + Academic)
rpi.edu: 3
wildme.org: 2
joncrall-virtualbox.(none): 1
sqor.io: 1
ubuntu.(none): 1
knowing.net: 1
drew.computer: 1
karen-chan.com: 1
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 9
- Total pull requests: 173
- Average time to close issues: 10 days
- Average time to close pull requests: about 1 month
- Total issue authors: 9
- Total pull request authors: 12
- Average comments per issue: 1.22
- Average comments per pull request: 0.52
- Merged pull requests: 121
- Bot issues: 0
- Bot pull requests: 16
Past Year
- Issues: 0
- Pull requests: 16
- Average time to close issues: N/A
- Average time to close pull requests: about 2 hours
- Issue authors: 0
- Pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- hugovdev (1)
- LashaO (1)
- yuerout (1)
- lobrien (1)
- bluemellophone (1)
- charlesincharge (1)
- michavardy (1)
- StormlancerX (1)
- simbamangu (1)
Pull Request Authors
- tsubramanian (56)
- LashaO (25)
- mmulich (23)
- karenc (23)
- dependabot[bot] (16)
- bluemellophone (10)
- TanyaStere42 (6)
- drewblount (6)
- eddywine (3)
- tsdev-we (2)
- lobrien (2)
- charlesincharge (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (16)
python (14)
project_support (2)
github_actions (2)
Packages
- Total packages: 3
-
Total downloads:
- pypi 284 last-month
-
Total dependent packages: 1
(may contain duplicates) -
Total dependent repositories: 9
(may contain duplicates) - Total versions: 71
- Total maintainers: 1
proxy.golang.org: github.com/wildmeorg/wildbook-ia
- Documentation: https://pkg.go.dev/github.com/wildmeorg/wildbook-ia#section-documentation
- License: apache-2.0
-
Latest release: v4.0.4+incompatible
published about 3 years ago
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced:
10 months ago
proxy.golang.org: github.com/WildMeOrg/wildbook-ia
- Documentation: https://pkg.go.dev/github.com/WildMeOrg/wildbook-ia#section-documentation
- License: apache-2.0
-
Latest release: v4.0.4+incompatible
published about 3 years ago
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced:
10 months ago
pypi.org: wildbook-ia
Wildbook IA (WBIA) - Machine learning service for the WildBook project
- Homepage: https://github.com/WildMeOrg/wildbook-ia
- Documentation: https://wildbook-ia.readthedocs.io/
- License: Apache License 2.0
-
Latest release: 4.0.4
published about 3 years ago
Rankings
Dependent repos count: 4.9%
Dependent packages count: 7.3%
Stargazers count: 8.8%
Average: 8.9%
Forks count: 8.9%
Downloads: 14.4%
Maintainers (1)
Funding
- https://www.wildme.org/donate/
Last synced:
10 months ago
Dependencies
.github/workflows/docker-publish-arm64.yaml
actions
- actions/checkout v2 composite
- actions/setup-python v2 composite
- docker/login-action v1 composite
- docker/setup-buildx-action v1 composite
- docker/setup-qemu-action v1 composite
- rtCamp/action-slack-notify master composite
.github/workflows/docker-publish.yaml
actions
- actions/checkout v2 composite
- actions/setup-python v2 composite
- docker/login-action v1 composite
- rtCamp/action-slack-notify master composite
.github/workflows/python-publish.yml
actions
- actions/checkout v2 composite
- actions/download-artifact v2 composite
- actions/setup-python v2 composite
- actions/upload-artifact v2 composite
- pypa/gh-action-pypi-publish master composite
.github/workflows/testing.yml
actions
- actions/checkout v2 composite
- actions/setup-python v2 composite
- postgres 10 docker