跳转到主要内容

图割RANSAC

项目描述

重要新闻

  • 我很高兴宣布Graph-Cut RANSAC已被包含在OpenCV中。您可以在此处查看文档。

图割RANSAC

该论文中提出的Graph-Cut RANSAC算法:Daniel Barath and Jiri Matas; Graph-Cut RANSAC, Conference on Computer Vision and Pattern Recognition, 2018。可在http://openaccess.thecvf.com/content_cvpr_2018/papers/Barath_Graph-Cut_RANSAC_CVPR_2018_paper.pdf找到

带有更新空间一致性项和额外实验的期刊论文可在https://ieeexplore.ieee.org/document/9399280找到

在CVPR教程RANSAC in 2020最新发展中解释了该方法。

在2020年教程中,展示了关于单应性、基本矩阵、本质矩阵和6D姿态估计的实验,可在相应的演示中找到。

使用pip从PyPI安装

有适用于Windows和Linux的预编译轮,您可以使用以下命令安装:Python 3.8 - 3.11

pip install pygcransac

感谢@akaszynski的贡献。

C++安装

要仅构建和安装C++的GraphCutRANSAC,克隆或下载此存储库,然后使用CMAKE构建项目。

$ git clone https://github.com/danini/graph-cut-ransac
$ cd build
$ cmake ..
$ make

安装Python包并编译C++

python3 ./setup.py install

pip3 install -e .

示例项目

要构建显示基本矩阵、单应性和本质矩阵拟合的示例的样本项目,在CMAKE创建项目时设置变量CREATE_SAMPLE_PROJECT = ON。然后

$ cd build
$ ./SampleProject

要求

  • Eigen 3.0或更高版本
  • CMake 2.8.12或更高版本
  • OpenCV 3.0或更高版本
  • 支持C++17的现代编译器

Python中使用的示例

import pygcransac
h1, w1 = img1.shape
h2, w2 = img2.shape
H, mask = pygcransac.findHomography(src_pts, dst_pts, h1, w1, h2, w2, 3.0)
F, mask = pygcransac.findFundamentalMatrix(src_pts, dst_pts, h1, w1, h2, w2, 3.0)

Jupyter Notebook示例

单应性拟合的示例在:notebook

基本矩阵拟合的示例在:notebook

基本矩阵拟合的示例可在以下位置找到: notebook.

假设平面运动的基本矩阵拟合示例可在以下位置找到: notebook.

已知重力下基本矩阵拟合的示例可在以下位置找到: notebook.

基本矩阵拟合的示例可在以下位置找到: notebook.

6D姿态拟合的示例可在以下位置找到: notebook.

比较不同采样器在基本矩阵拟合上的示例: notebook.

Jupyter Notebook示例(仿射和SIFT对应求解器)

到SIFT对应的单应性拟合示例可在以下位置找到: notebook.

到SIFT对应的本质矩阵拟合示例可在以下位置找到: notebook.

到SIFT对应的基本矩阵拟合示例可在以下位置找到: notebook.

到仿射对应的单应性拟合示例可在以下位置找到: notebook.

到仿射对应的本征矩阵拟合示例可在以下位置找到: notebook.

到仿射对应的基本矩阵拟合示例可在以下位置找到: notebook.

要求

  • Python 3
  • CMake 2.8.12或更高版本
  • OpenCV 3.4
  • 支持C++11的现代编译器

鸣谢

当使用此算法时,请引用

@inproceedings{GCRansac2018,
	author = {Barath, Daniel and Matas, Jiri},
	title = {Graph-cut {RANSAC}},
	booktitle = {Conference on Computer Vision and Pattern Recognition},
	year = {2018},
}

如果您与Progressive NAPSAC采样或DEGENSAC一起使用,请引用

@inproceedings{PNAPSAC2020,
	author = {Barath, Daniel and Noskova, Jana and Ivashechkin, Maksym and Matas, Jiri},
	title = {{MAGSAC}++, a Fast, Reliable and Accurate Robust Estimator},
	booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
	month = {June},
	year = {2020}
}

@inproceedings{Degensac2005,
	author = {Chum, Ondrej and Werner, Tomas and Matas, Jiri},
	title = {Two-View Geometry Estimation Unaffected by a Dominant Plane},
	booktitle = {Conference on Computer Vision and Pattern Recognition},
	year = {2005},
}

如果您开启了空间分区,请引用

@inproceedings{spaceransac2022,
	author = {Barath, Daniel and Valasek, Gabor},
	title = {Space-Partitioning {RANSAC}},
	journal={European Conference on Computer Vision},
	year = {2022}
}

Python包装部分基于Benjamin Jack的伟大项目 python_cpp_example

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

pygcransac-0.1.1.tar.gz (16.0 MB 查看哈希值)

上传时间

构建分发

pygcransac-0.1.1-cp312-cp312-win_amd64.whl (5.0 MB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

pygcransac-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ x86-64

pygcransac-0.1.1-cp311-cp311-win_amd64.whl (5.0 MB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

pygcransac-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ x86-64

pygcransac-0.1.1-cp310-cp310-win_amd64.whl (5.0 MB 查看哈希值)

上传时间 CPython 3.10 Windows x86-64

pygcransac-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ x86-64

pygcransac-0.1.1-cp39-cp39-win_amd64.whl (5.0 MB 查看哈希值)

上传时间 CPython 3.9 Windows x86-64

pygcransac-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ x86-64

pygcransac-0.1.1-cp38-cp38-win_amd64.whl (5.0 MB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

pygcransac-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ x86-64

由以下机构支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页