高级RANSAC(DEGENSAC),带有用于H和F估计的钟声和哨声

pydegensac的Python项目详细描述


毕德根萨克

这个存储库包含一个用于单应性和基本矩阵估计的RANSAC的Python包装器 从稀疏的通信中。它实现了LO-RANSAC和{a2}。在

它最初位于https://github.com/ducha-aiki/pyransac,但为了避免与其他作者在pypi中已经存在的pyransac冲突,对其进行了重命名。在

性能

Vanilla pydegensac实现略优于OpenCV one,并且启用了简并性检查(DEGENSAC),这是最先进的, 根据最近的研究尹等等.“Image Matching across Wide Baselines: From Paper to Practice”,2020年。在

IMW-benchmark

IMW-Challenge

安装

要构建和安装pydegensac,可以使用pip:

pip install pydegensac

或者克隆或下载此存储库,然后从存储库中运行:

^{pr2}$

或者

pip3 install .

托马斯·马利西维茨的建筑提示

  1. 编译pydegensac而不需要在系统范围内安装。在
python3 ./setup.py build
  1. 在macosx计算机上编译 使用GCC而不是Clang。我机器上的最新版本(通过brew安装)是gcc-8。试试这个:
CC=gcc-8 python3 ./setup.py build
  1. 在Ubuntu 18.04上编译 您需要LAPACK和其他一些库,而我总是忘记那些特定的包名。看看我的pydegensac Dockerfile,看看在ubuntu18.04系统(https://github.com/quantombone/pydegensac-dockerfile/blob/master/Dockerfile)上安装所需的确切软件包
FROM ubuntu:18.04

更新系统

RUN apt-get clean
RUN apt-get update
RUN apt-get install -qy \
    git python3 python3-setuptools python3-dev
RUN apt-get install -y cmake libblas-dev liblapack-dev gfortran
RUN apt-get install -y g++ gcc

下载并构建pydegensac

RUN git clone https://github.com/ducha-aiki/pydegensac.git
WORKDIR pydegensac
RUN python3 ./setup.py build

将生成的资源复制到目标目录(将是-v卷)

CMD cp -R /pydegensac/build/lib.linux-x86_64-3.6/pydegensac /target_directory

dockerfile文件

https://github.com/quantombone/pydegensac-dockerfile

用法示例

importpydegensacH,mask=pydegensac.findHomography(src_pts,dst_pts,3.0)F,mask=pydegensac.findFundamentalMatrix(src_pts,dst_pts,3.0)

另请参阅这个notebook的简单示例

这个notebook和可能的选择的详细解释

要求

  • Python3
  • CMake 2.8.12或更高版本
  • 拉帕克
  • BLAS(OpenBLAS、MKL、Atlas等)
  • 一个C++ 11的现代编译器支持

引文

如果您使用此代码,请引用我们:

@InProceedings{Chum2003,
author="Chum, Ond{\v{r}}ej and Matas, Ji{\v{r}}{\'i} and Kittler, Josef",
title="Locally Optimized RANSAC",
booktitle="Pattern Recognition",
year="2003",
}

@inproceedings{Chum2005,
author = {Chum, Ondrej and Werner, Tomas and Matas, Jiri},
title = {Two-View Geometry Estimation Unaffected by a Dominant Plane},
booktitle = {CVPR},
year = {2005},
}

@article{Mishkin2015MODS,
      title = "MODS: Fast and robust method for two-view matching ",
      journal = "Computer Vision and Image Understanding ",
      year = "2015",
      issn = "1077-3142",
      doi = "http://dx.doi.org/10.1016/j.cviu.2015.08.005",
      url = "http://www.sciencedirect.com/science/article/pii/S1077314215001800",
      author = "Dmytro Mishkin and Jiri Matas and Michal Perdoch"
}

致谢

此包装部分基于greatBenjamin Jack ^{}。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用applets查询的多人java游戏?   java如何基于字符串生成数组   基于java多边形的路径查找   java如何对多列ArrayList排序   java批处理更新从更新中返回了意外的行数(Spring/Hibernate)   java如何使用SeleniumWebDriver列出<tr>标记内的所有<td>   java如何使用SimpleFlatMapper将前缀为CSV的列别名到映射?   java为什么通过eclipse运行/调试TomCat时会出现ClassNotFoundException   java Android滚动视图上次视图未显示内部线性布局   替换字符串中不带空格的字符序列   调用方法时Java Swing GUI冻结   java是否允许/建议重用收集器?   在同步方法中使用java hashmap迭代器时   在java XMLDecoder XMLEncoder中写入XMLdatabase   java I无法在活动的片段中填充recyclerview   java Jitsi在调用过程中播放WAV文件如果可能,与音频混合   java JPA为什么我看到DB中每行有两个实体实例?