wildbook-ia


Namewildbook-ia JSON
Version 4.0.4 PyPI version JSON
download
home_pagehttps://github.com/WildMeOrg/wildbook-ia
SummaryWildbook IA (WBIA) - Machine learning service for the WildBook project
upload_time2023-04-25 06:47:54
maintainer
docs_urlNone
authorJason Parham, Dr. Jon Crall, Dr. Charles Stewart, Drew Blount, Ben Scheiner, Wild Me Developers, Karen Chan, Michael Mulich, Hendrik Weideman, A. Batbouta, A. Beard, Z. Jablons, D. Lowe, Z. Rutfield, K. Southerland, A. Weinstock, J. Wrona
requires_python>=3.7, <4
licenseApache License 2.0
keywords wildbook wildme ibeis ecological wildlife conservation machine learning ai hotspotter detection classification animal id re-id re-identification flukebook
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ==================
WBIA - WildBook IA
==================

|Build| |Pypi| |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 and 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.

Requirements
------------

* Python 3.7+
* OpenCV 3.4.10
* Python dependencies listed in requirements.txt

Installation Instructions
-------------------------

PyPI
~~~~

The WBIA software is now available on `pypi
<https://pypi.org/project/wbia/>`_ for Linux systems. This means if you have
`Python installed
<https://xdoctest.readthedocs.io/en/latest/installing_python.html>`_. You can
simply run:

.. code:: bash

    pip install wildbook-ia

to install the software. Then the command to run the web server is:

.. code:: bash

    python -m wbia.dev --dbdir wbia-data/ --web

We highly recommend using a Python virtual environment: https://docs.python-guide.org/dev/virtualenvs/#lower-level-virtualenv

Documentation
~~~~~~~~~~~~~

The documentation is built and available online at `wildmeorg.github.io/wildbook-ia/ <http://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``.

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 container run -p <external port>:5000 --name wildbook-ia -v /path/to/local/database/:/data/docker/ wildme/wbia:latest

This image is built using the multi-stage Dockerfiles in `devops/`.

Source
~~~~~~

To be updated soon.

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 WBIA API Documentation can be found here: https://wildmeorg.github.io/wildbook-ia/

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 <https://pre-commit.com/>`_)

Reference `pre-commit's installation instructions <https://pre-commit.com/#install>`_ 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



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/WildMeOrg/wildbook-ia",
    "name": "wildbook-ia",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7, <4",
    "maintainer_email": "",
    "keywords": "wildbook,wildme,ibeis,ecological,wildlife,conservation,machine learning,ai,hotspotter,detection,classification,animal ID,re-id,re-identification,flukebook",
    "author": "Jason Parham, Dr. Jon Crall, Dr. Charles Stewart, Drew Blount, Ben Scheiner, Wild Me Developers, Karen Chan, Michael Mulich, Hendrik Weideman, A. Batbouta, A. Beard, Z. Jablons, D. Lowe, Z. Rutfield, K. Southerland, A. Weinstock, J. Wrona",
    "author_email": "dev@wildme.org",
    "download_url": "",
    "platform": null,
    "description": "==================\nWBIA - WildBook IA\n==================\n\n|Build| |Pypi| |Documentation| |Downloads|\n\n.. image:: http://i.imgur.com/TNCiEBe.png\n    :alt: \"(Note: the rhino and wildebeest matches may be dubious. Other species do work well though\")\n\nWBIA program for the storage and management of images and derived data for\nuse in computer vision algorithms. It aims to compute who an animal is, what\nspecies an animal is, and where an animal is with the ultimate goal being to\nask important why biological questions.\n\nThis 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/\n\nCurrently the system is build around and SQLite database, a web GUI,\nand matplotlib visualizations. Algorithms employed are: convolutional neural network\ndetection and localization and classification, hessian-affine keypoint detection, SIFT keypoint\ndescription, LNBNN identification using approximate nearest neighbors.\n\nRequirements\n------------\n\n* Python 3.7+\n* OpenCV 3.4.10\n* Python dependencies listed in requirements.txt\n\nInstallation Instructions\n-------------------------\n\nPyPI\n~~~~\n\nThe WBIA software is now available on `pypi\n<https://pypi.org/project/wbia/>`_ for Linux systems. This means if you have\n`Python installed\n<https://xdoctest.readthedocs.io/en/latest/installing_python.html>`_. You can\nsimply run:\n\n.. code:: bash\n\n    pip install wildbook-ia\n\nto install the software. Then the command to run the web server is:\n\n.. code:: bash\n\n    python -m wbia.dev --dbdir wbia-data/ --web\n\nWe highly recommend using a Python virtual environment: https://docs.python-guide.org/dev/virtualenvs/#lower-level-virtualenv\n\nDocumentation\n~~~~~~~~~~~~~\n\nThe documentation is built and available online at `wildmeorg.github.io/wildbook-ia/ <http://wildmeorg.github.io/wildbook-ia/>`_. However, if you need to build a local copy of the source, the following instructions can be used.\n\n.. code:: bash\n\n   # checkout the source code\n   # install the project in development mode\n   pip install -e .\n   # build the docs\n   scripts/build-docs.sh\n\nThen open the html file at ``docs/build/html/index.html``.\n\nDocker\n~~~~~~\n\nThe 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:\n\n.. code:: bash\n\n    # Install Docker - https://docs.docker.com/engine/install/\n    docker pull wildme/wbia:latest\n    docker container run -p <external port>:5000 --name wildbook-ia -v /path/to/local/database/:/data/docker/ wildme/wbia:latest\n\nThis image is built using the multi-stage Dockerfiles in `devops/`.\n\nSource\n~~~~~~\n\nTo be updated soon.\n\nThis project depends on an array of other repositories for functionality.\n\nFirst Party Toolkits (Required)\n\n* https://github.com/WildMeOrg/wbia-utool\n\n* https://github.com/WildMeOrg/wbia-vtool\n\nFirst Party Dependencies for Third Party Libraries (Required)\n\n* https://github.com/WildMeOrg/wbia-tpl-pyhesaff\n\n* https://github.com/WildMeOrg/wbia-tpl-pyflann\n\n* https://github.com/WildMeOrg/wbia-tpl-pydarknet\n\n* https://github.com/WildMeOrg/wbia-tpl-pyrf\n\nFirst Party Plug-ins (Optional)\n\n* https://github.com/WildMeOrg/wbia-plugin-cnn\n\n* https://github.com/WildMeOrg/wbia-plugin-flukematch\n\n* https://github.com/WildMeOrg/wbia-plugin-deepsense\n\n* https://github.com/WildMeOrg/wbia-plugin-finfindr\n\n* https://github.com/WildMeOrg/wbia-plugin-curvrank\n\n    + https://github.com/WildMeOrg/wbia-tpl-curvrank\n\n* https://github.com/WildMeOrg/wbia-plugin-kaggle7\n\n    + https://github.com/WildMeOrg/wbia-tpl-kaggle7\n\n* https://github.com/WildMeOrg/wbia-plugin-2d-orientation\n\n    + https://github.com/WildMeOrg/wbia-tpl-2d-orientation\n\n* https://github.com/WildMeOrg/wbia-plugin-lca\n\n    + https://github.com/WildMeOrg/wbia-tpl-lca\n\nDeprecated Toolkits (Deprecated)\n* https://github.com/WildMeOrg/wbia-deprecate-ubelt\n\n* https://github.com/WildMeOrg/wbia-deprecate-dtool\n\n* https://github.com/WildMeOrg/wbia-deprecate-guitool\n\n* https://github.com/WildMeOrg/wbia-deprecate-plottool\n\n* https://github.com/WildMeOrg/wbia-deprecate-detecttools\n\n* https://github.com/WildMeOrg/wbia-deprecate-plugin-humpbacktl\n\n* https://github.com/WildMeOrg/wbia-deprecate-tpl-lightnet\n\n* https://github.com/WildMeOrg/wbia-deprecate-tpl-brambox\n\nPlug-in Templates (Reference)\n\n* https://github.com/WildMeOrg/wbia-plugin-template\n\n* https://github.com/WildMeOrg/wbia-plugin-id-example\n\nMiscellaneous (Reference)\n\n* https://github.com/WildMeOrg/wbia-pypkg-build\n\n* https://github.com/WildMeOrg/wbia-project-website\n\n* https://github.com/WildMeOrg/wbia-aws-codedeploy\n\nCitation\n--------\n\nIf you use this code or its models in your research, please cite:\n\n.. code:: text\n\n    @inproceedings{crall2013hotspotter,\n        title={Hotspotter \u2014 patterned species instance recognition},\n        author={Crall, Jonathan P and Stewart, Charles V and Berger-Wolf, Tanya Y and Rubenstein, Daniel I and Sundaresan, Siva R},\n        booktitle={2013 IEEE workshop on applications of computer vision (WACV)},\n        pages={230--237},\n        year={2013},\n        organization={IEEE}\n    }\n\n    @inproceedings{parham2018animal,\n        title={An animal detection pipeline for identification},\n        author={Parham, Jason and Stewart, Charles and Crall, Jonathan and Rubenstein, Daniel and Holmberg, Jason and Berger-Wolf, Tanya},\n        booktitle={2018 IEEE Winter Conference on Applications of Computer Vision (WACV)},\n        pages={1075--1083},\n        year={2018},\n        organization={IEEE}\n    }\n\n    @inproceedings{berger2015ibeis,\n        title={IBEIS: Image-based ecological information system: From pixels to science and conservation},\n        author={Berger-Wolf, TY and Rubenstein, DI and Stewart, CV and Holmberg, J and Parham, J and Crall, J},\n        booktitle={Bloomberg Data for Good Exchange Conference, New York, NY, USA},\n        volume={2},\n        year={2015}\n    }\n\n    @article{berger2017wildbook,\n        title={Wildbook: Crowdsourcing, computer vision, and data science for conservation},\n        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},\n        journal={arXiv preprint arXiv:1710.08880},\n        year={2017}\n    }\n\nDocumentation\n-------------------------\n\nThe WBIA API Documentation can be found here: https://wildmeorg.github.io/wildbook-ia/\n\nCode Style and Development Guidelines\n-------------------------------------\n\nContributing\n~~~~~~~~~~~~\n\nIt's recommended that you use ``pre-commit`` to ensure linting procedures are run\non any commit you make. (See also `pre-commit.com <https://pre-commit.com/>`_)\n\nReference `pre-commit's installation instructions <https://pre-commit.com/#install>`_ 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:\n\n.. code:: bash\n\n    git add .\n    pre-commit run\n\n    # or\n\n    pre-commit run --all-files\n\nBrunette\n~~~~~~~~\n\nOur code base has been formatted by Brunette, which is a fork and more configurable version of Black (https://black.readthedocs.io/en/stable/).\n\nFlake8\n~~~~~~\n\nTry 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.\n\nTo run flake8 from the command line use:\n\n.. code:: bash\n\n    flake8\n\n\nThis will use the flake8 configuration within ``setup.cfg``,\nwhich ignores several errors and stylistic considerations.\nSee the ``setup.cfg`` file for a full and accurate listing of stylistic codes to ignore.\n\nPyTest\n~~~~~~\n\nOur 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:\n\n.. code:: bash\n\n    pytest\n\nTo run doctests with `+REQUIRES(--web-tests)` do:\n\n.. code:: bash\n\n    pytest --web-tests\n\n.. |Build| image:: https://img.shields.io/github/workflow/status/WildMeOrg/wildbook-ia/Build%20and%20upload%20to%20PyPI/main\n    :target: https://github.com/WildMeOrg/wildbook-ia/actions?query=branch%3Amain+workflow%3A%22Build+and+upload+to+PyPI%22\n    :alt: Build and upload to PyPI\n\n.. |Pypi| image:: https://img.shields.io/pypi/v/wildbook-ia.svg\n   :target: https://pypi.python.org/pypi/wildbook-ia\n   :alt: Latest PyPI version\n\n.. |Documentation| image:: https://img.shields.io/github/workflow/status/WildMeOrg/wildbook-ia/Build%20documentation?label=documentation\n    :target: https://wildmeorg.github.io/wildbook-ia/\n    :alt: Documentation on GitHub Pages\n\n.. |Downloads| image:: https://img.shields.io/pypi/dm/wildbook-ia.svg\n   :target: https://pypistats.org/packages/wildbook-ia\n\n\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "Wildbook IA (WBIA) - Machine learning service for the WildBook project",
    "version": "4.0.4",
    "project_urls": {
        "Bug Reports": "https://github.com/WildMeOrg/wildbook-ia/issues",
        "Funding": "https://www.wildme.org/donate/",
        "Homepage": "https://github.com/WildMeOrg/wildbook-ia",
        "Say Thanks!": "https://community.wildbook.org",
        "Source": "https://github.com/WildMeOrg/wildbook-ia"
    },
    "split_keywords": [
        "wildbook",
        "wildme",
        "ibeis",
        "ecological",
        "wildlife",
        "conservation",
        "machine learning",
        "ai",
        "hotspotter",
        "detection",
        "classification",
        "animal id",
        "re-id",
        "re-identification",
        "flukebook"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "49685adc38e5979c095c7033e52db4c8e698d0c94c6e826402692b575a986c2b",
                "md5": "346071b59de8db8a5020fd6acd1bed40",
                "sha256": "cd35fe96941f60aa9b6cd2138e8ad4d6b98edd0e152d8e19dee58244c8680b20"
            },
            "downloads": -1,
            "filename": "wildbook_ia-4.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "346071b59de8db8a5020fd6acd1bed40",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7, <4",
            "size": 66662699,
            "upload_time": "2023-04-25T06:47:54",
            "upload_time_iso_8601": "2023-04-25T06:47:54.421975Z",
            "url": "https://files.pythonhosted.org/packages/49/68/5adc38e5979c095c7033e52db4c8e698d0c94c6e826402692b575a986c2b/wildbook_ia-4.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-25 06:47:54",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "WildMeOrg",
    "github_project": "wildbook-ia",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "wildbook-ia"
}
        
Elapsed time: 0.07691s