高级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第三方库


热门话题
Grails2.1.0/Java7在Windows8.1上从何处获取当前用户名?   JavaSpringJMSActiveMQ   java异常处理,捕获导致while循环停止   sql server 2008将日期时间解析为JAVA日期   java是第一个servlet,但无法打开它   如何在Java中使用XML bean创建典型的XML头?   java将iOs应用程序转换为Android   java将jsp页面内容读取到其他jsp页面中的html   客户端计算机中小型数据库应用程序的java实现   java同步和ServletContextListener   安卓 Java将所有转义字符替换为双转义   当我在布局单元中实现ScrollView时,java GridView的setOnItemLongClickListener不起作用(使用适配器)   禁用Java web服务端点Wsdl   java如何编写一个程序来反转用户输入的数字