IBEIS - 基于图像的生态信息系统
项目描述
该项目是WildMe / WildBook项目的组成部分:见 https://github.com/WildbookOrg/
注意:此IBEIS软件是我(Jon Crall)的[博士论文](https://github.com/Erotemic/crall-thesis-2017)的研究成果。毕业后,IBEIS的图像分析组件和核心HotSpotter程序已转让并由WildMe组织开发。虽然该软件得到维护和支持,但它只能处理中等规模的人群,并且其GUI界面可能难以使用。如果您有更大规模的人群或需要更简单且可扩展的Web界面,请联系WildMe项目,邮箱为 services@wildme.org(更多信息:https://www.wildme.org/#/services/)。
IBEIS - 图像分析
I.B.E.I.S. = 基于图像的生态信息系统
安装说明(更新于2020年11月1日)
现在,IBEIS软件可在Linux系统上的 pypi 上使用。这意味着如果您已经 安装了Python,您只需运行
pip install ibeis
来安装软件。然后运行GUI的命令是
ibeis
在Windows / OSX上,我建议使用Linux虚拟机。然而,如果您对计算机很熟悉,您可以从源代码构建所有要求。唯一棘手的组件是安装带有二进制依赖关系的包:pyhesaff 和 vtool_ibeis。如果您已经构建了这些,那么其余的依赖关系可以从pypi安装,即使在OSX / Windows上也可以。
注意:在Windows上使用虚拟机时,可能会遇到错误
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in
... even though it was found. This application failed to start because no
Qt platform plugin could be initialized. Reinstalling the application may
fix this problem.
Available platform plugins are: xcb, eglfs, ...
Core dumped
这个问题发生的原因似乎是,opencv-python包包含了与PyQt5一起打包的库,这些库存在冲突。
解决方案是先卸载opencv-python,然后安装一个不包含额外Qt库的变体
pip uninstall opencv-python
pip install opencv-python-headless
基本用法(更新于2020年11月1日)
安装后运行ibeis命令将打开GUI
如果您已经创建了一个数据库,它将自动打开最近使用的数据库。
如果您第一次运行程序,它将不会打开数据库
选择新数据库(首先会要求您选择一个工作目录,所有数据库都将存储在该目录)。然后,您将被要求创建一个数据库名称。选择一个,然后在您的工目录中创建数据库。
您可以将图片拖放到GUI中以将其添加到数据库中。双击图片可以添加“注释”
您还可以右击一个或多个图片,并选择“从整个图片添加注释”,如果您的图片已经定位到单个个体。
当您添加注释时,您需要设置其物种。您可以通过右击多个注释并选择“设置注释物种”来设置物种。将其更改为“____”之外的其他任何内容。
一旦您有了带有物种的注释,您可以点击一个并按“q”键来查询数据库中其他注释的匹配项
右击并标记每个匹配项为“True”或“False”(或选择一行并按“T”或“F”),将标记图片为同一人或不同人。标记为同一人的组将出现在“名称树”中。
注意,还有“ID Encounters” “ID Exemplars”和“高级ID界面”中的批量识别方法。尝试使用不同的右键菜单(尽管注意其中一些有缺陷并可能导致程序崩溃),但主要简单识别流程是健壮的,不应崩溃。
程序描述
IBEIS程序用于存储和管理用于计算机视觉算法的图像和派生数据。它旨在计算动物是谁,动物的物种是什么,以及动物在哪里,最终目标是提出重要的为什么生物学问题。这是IBEIS的图像分析模块。它既是Python模块也是独立程序。
目前系统基于SQLite数据库、PyQt5 GUI和matplotlib可视化构建。使用的算法包括:随机森林物种检测和定位、Hessian-affine关键点检测、SIFT关键点描述、使用近似最近邻的LNBNN识别。正在开发的算法包括用于识别的SMK(选择匹配核)和用于检测和定位的深度神经网络。
IBEIS的核心是IBEISController类。它提供了IBEIS数据管理和算法的API。可以在这里找到IBEIS API文档:http://erotemic.github.io/ibeis
IBEIS GUI(图形用户界面)建立在API之上。我们还在实验一种新的Web前端,该前端绕过了较旧的GUI代码。
自动安装的可执行文件
不幸的是,我们尚未为IBEIS发布自动安装的可执行文件。我们~计划~希望很快发布这些文件™。
然而,还有一些旧的 [HotSpotter](https://github.com/Erotemic/hotspotter)(IBEIS 的前身)二进制文件可供下载。
Dropbox 应该仍然托管着下载链接。
Win32 安装程序:https://www.dropbox.com/s/5j1xyx2hq1wzqz2/hotspotter-win32-setup.exe?dl=0
OSX 安装程序:https://www.dropbox.com/s/q0vzz3xnjbxhsda/hotspotter_installer_mac.dmg?dl=0
先前安装程序的 IPFS CIDs 分别为 QmSnyetkniriHUwTxvzwhkysPKjUj7udBqq5mpK24VJXVM 和 QmZ3WknrAaxPZhZebdQWZ45EEKwu1Tr6bkFWJzfPRtENs7。
如果您不熟悉 IPFS,请使用以下网关链接。
https://ipfs.io/ipfs/QmSnyetkniriHUwTxvzwhkysPKjUj7udBqq5mpK24VJXVM
https://ipfs.io/ipfs/QmZ3WknrAaxPZhZebdQWZ45EEKwu1Tr6bkFWJzfPRtENs7
视觉演示
匹配评分
空间验证
python -m vtool.spatial_verification spatially_verify_kpts --show
名称评分
python -m ibeis.algo.hots.chip_match show_single_namematch --qaid 1 --show
识别排名
python -m ibeis.algo.hots.chip_match show_ranked_matches --show --qaid 86
推理
# broken
# python -m ibeis.algo.preproc.preproc_encounter compute_encounter_groups --show
内部模块
为了模块化代码,我们正在积极开发几个不同的模块。
— |
bluemellophone 的 IBEIS 图像分析模块
从源代码构建
要从源代码构建,您需要能够构建以下 3 个项目,并且它们依赖于 OpenCV 和 LZ4 的发展版本。这些项目依赖于 OpenCV 和 LZ4 的发展版本。
如果您使用的是 Linux,建议直接使用上述项目的 wheel(例如,pip install vtool_ibeis_ext pyflann_ibeis pyhesaff)。在 macOS 和 Win32 上,这些需要手动构建(任何有助于在相应项目 CI 上构建 win32 或 osx 轮子的贡献都将非常棒!)。
其余的依赖项存储库(guitool_ibeis,plottool_ibeis,dtool_ibeis,vtool_ibeis)是纯 Python,可以通过在开发模式下安装,例如在存储库内部运行 pip install -e .。
在具有已安装每个依赖模块的 Python 环境的情况下,也可以使用 pip install -e . 安装此存储库。
演示数据库
可以通过以下方式下载一组小型(400MB)的演示数据库 PZ_MTEST1 和 NAUT_TEST。
python dev/reset_dbs.py
请注意,它将从 IPFS 网关下载数据,这可能很慢,并且可能需要多次尝试才能成功。
运行测试
测试依赖于更小的一组测试数据库,可以通过 ibeis –reset-ci-dbs 准备。一旦您有了测试数据,您可以使用 run_doctests.sh 或 run_tests.py 脚本来执行系统测试。
已知问题
我们不会向 kdtrees 中添加或删除点。它们总是被重建。
在首选项窗口中更改算法设置似乎有错误,可能需要 uTool 的修复。默认设置应该正常工作,并且使用具有显式算法设置的 Python API 也应该没问题。
代码一团糟!PR 欢迎提交!
UI 中有很多未使用或损坏的组件。欢迎提交 PR 以禁用或使这些组件更美观!
Windows / OSX pip 安装的唯一障碍是 pyhesaff、pyflann_ibeis 和 vtool_ibeis_ext 二进制轮子。在 GitHub Actions 上构建这些轮子意味着非 Linux 系统上可安装 IBEIS。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
ibeis-2.3.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 583bac17bea5bd4b6f1bbdabefdaae39b9eab5084d1f664eb05068d934f5fb60 |
|
MD5 | ae1765ef552445b56d89efc5ef620534 |
|
BLAKE2b-256 | 29484bf09e3cbcfb5f61f57890da4bf4b6c51849d42068f0b3070d497e1051ef |
ibeis-2.3.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 429f0e42a564f576972e0834b58263ebda501ca8adc071c65c395f239028fdf4 |
|
MD5 | 01a87da6ecbe6a5528fff2bc22a15103 |
|
BLAKE2b-256 | e8b23863d63573217e71d028a0aaad1cb97150549da1a4ab1fa55375fd667fd8 |