libmr,元识别库
libmr的Python项目详细描述
概要
libmr提供核心元识别和weibull拟合功能。 它用于计算用于多模态融合的w分数,重新规范化支持向量机数据,通常支持带有离群点检测的开放集算法
动机
确定什么时候是异常值是一件棘手的事情。 幸运的是,极值理论为最大或最小已知值的建模提供了强有力的基础,然后确定其他值是太大还是太小。这个库支持这样的计算。 在几乎任何高级软件包(R、Matlab等)中都可以很容易地完成这项工作,但要保持一切正常是很难的。 这里的C++类跟踪翻译和翻转,以便更容易正确地使用元识别概念。
许可证
此版本的libmr是根据bsd 3条款许可证发布的。(请参阅license.txt)和superseed previous license。我们放弃了专利保护。
如果有助于您的研究,请在您的出版物中引用libmr:
@article{Scheirer_2011_TPAMI, author = {Walter J. Scheirer and Anderson Rocha and Ross Michaels and Terrance E. Boult}, title = {Meta-Recognition: The Theory and Practice of Recognition Score Analysis}, journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI)}, volume = {33}, issue = {8}, pages = {1689--1695}, year = {2011} }
或者是我们后来的作品,如果和它们结合的话。
这个版本使用的对象保留了计算实际w分数所需的“转换”(包括保存/加载)。 它包括预测、cdf、逆、fitfhigh(越大越好)、fitlow(越小越好)和fitsvm等功能。
安装
项目布局
- libmr库源代码和资源
- python使用cython为libmr提供的python包装器
- 带有示例程序的示例目录,这些程序还可以测试正确性
C++文库< EH3>
这需要cmake(2.8版)
Windows的快速生成说明:
use CMake GUI Source code = <where libmr is> libMR/libMR Where to build binaries = < where libmr is > /libMR/build Click generate Select correct visual studio version compiler Click yes to add directory build Open Visual Studio Solution Build ALL_BUILD project to build libmr Build INSTALL project to install Add install dir to path to link against libmr dll.
Linux/Mac的快速构建说明:
$ tar -zxf libMR.tgz $ cd libMR $ mkdir build; % or whereyou like to build it $ cd build $ cmake .. or to get a different installation directory $ cmake -DCMAKE_INSTALL_PREFIX=<YOUR_INSTALLATON_PATH> .. $ make
运行示例-安装libmr后运行:
$ examples/mr-test $ examples/wlb-test
(可选)您可以“安装”它(默认情况下,在系统路径中,您必须使用sudo):
$ make install
examples/mr test中有内置测试,以确保它正确编译并计算正确的值
Python
python到libmr的绑定由cython>;=0.17提供。建造时 这样,libmr就静态地链接到python库中 意味着您不必构建整个包。
有几种方法可以安装libmr for python。
(首选)使用PIP安装:
此方法将libmr构建为一个python扩展,并将安装 它进入你的python路径。如果你在虚拟机里,这个 允许您以标准用户身份安装libmr,而无需 sudo:
$ virtualenv venv && source venv/bin/activate $ pip install -r python/requirements.txt $ pip install .
更新:现在可以在pypi上使用libmr。要安装最新版本, 您只需:
$ pip install libmr
创建共享对象
如果你已经安装了cython和numpy但是你不想 要将libmr安装到python的路径中,只需构建 直接模块:
$ python setup.py build_ext -i
这会将“libmr.so”放入当前文件夹。您可以导入 直接发送:
$ file libmr.so libmr.so: ELF 64-bit LSB shared object, ... $ python >>> import libmr >>> mr = libmr.MR()
现在,将libmr.so移动到项目的文件夹中,或者将此路径添加到PYTHONPATH环境变量中。
贡献者
由Terrance博士(特里)Boult、Walter Scheir博士开发,Vijay Iyer@Securics提供了一些实现,Ethan Rudd和Manuel Gunther博士对Python进行了增强