图割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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ef5d8b4e4fcb1967439af7e631bc2db5d9dcbb9e86660ac40bc9aa7d200ce6ee |
|
MD5 | 2f719718083caa7542d59c718ccda1dc |
|
BLAKE2b-256 | 76248571419b8643da5b21a69c905eab321633cd459ad69e6a325315fddb2003 |
pygcransac-0.1.1-cp312-cp312-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a96aee449e27ecc1066522d795ecb12ddec31da99ab129cac6cd11522ca6e31d |
|
MD5 | 9c199933c64cf735819252c989f88b45 |
|
BLAKE2b-256 | 34aa4b4935f3a108abdeae4b30b9af189a52340b0d44bbc98930ed4bb73c83fb |
哈希值 for pygcransac-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | af4d1fbdcb143d8791eff785c9dfb525c65df90324babdf0b23ba47286926198 |
|
MD5 | dcd12a90a130602907c1c29816e4b2a2 |
|
BLAKE2b-256 | 8c40cdaa589b7d817440afd0952637d4ddb222d8f20a778dd72761b70ab63354 |
哈希值 for pygcransac-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e29174bb82c8c6e0c722423a3a97342eddd4a08f7d434d13b4df5d6ca68e7cba |
|
MD5 | e05ddf748352ab9ccddb8e7309e752e4 |
|
BLAKE2b-256 | 0ce8cf24b6441e59438f4109cc7fbed114035e4e7601139b000ab33ba6285bf2 |
哈希值 for pygcransac-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 08619fa8c5d1cd90576017e5f7e731703bc8ca53f0a228dd1512a78823e07055 |
|
MD5 | c4909e70600061049c26d58682d5dbdf |
|
BLAKE2b-256 | 18255bdaf7b75b631a62a208ac215cf7edf7af78e95e656610b71f95ba8b62d0 |
哈希值 for pygcransac-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 59b44411ce2c13896b6b5420926fb55f67a3789329bf71c507e341294ed86ba1 |
|
MD5 | 036794e82589466c3b73a98e18b2a54e |
|
BLAKE2b-256 | dc9c628b8e27a8953eac0b63e7538b663ce274f3aaf876b22091b7d2a612b4aa |
哈希值 for pygcransac-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ecbc84cbeac071eceb0b7f11bdbc8df78d416b965ccc00adef024b519cf19bbb |
|
MD5 | 6e5fb7b386d716d16e8e5823aea57bf4 |
|
BLAKE2b-256 | 0078cc2890ada2df4a35f7c1fe610d6e7771fd8f51fcb44ee929cdb21e0f1a20 |