HomographyNet 使用深度学习进行图像的透视变换

HomographyNet 使用深度学习进行图像的透视变换

CSDN上对于这个框架的博客实在是太少了,没有作业可以抄就只能自己做作业了~

众所周知要做透视变换就要有两组点,一组是原始图像待变换的,另外一组是变换后的,每组4个点以上

简单说就是我有点A(x,y)我想把它投影到另一个平面上A' (x,y)

那么怎么确定这第二个坐标呢

就是用SIFT/SURF去求解图像的关键点特征向量也就是描述子 详情见上一篇博客

当你获得了两个图像间的坐标对应关系 你就可以用opencv把它图像拉平

但是如果你没有标准图怎么办呢? 我们需要机器有一些创造力 需要它自己知道变换到什么程度才是我们想要的

HomographyNet就是这样一个思路 输入一对图片 学习两幅图片之间的单应性矩阵也就是对应关系

通过把单应性矩阵作为输出标签变成一个回归问题

这里不再讲解HomographyNet的原理了 百度能搜到的基本全是原理

说说HomographyNet怎么使用吧(转载注明出处 https://blog.csdn.net/Andrwin

这是我自己的github:          https://github.com/4nthon/HomographyNet

这是代码原作者的github:       https://github.com/sheng-fang/homographynet

环境要求很简单 :

Keras = 2.1.2

opencv-python = 4.2.0.32

我使用Coco2017的test部分做的 讲道理一些内容比较密集的图片都是

但是如果想自己做数据集好像是个超级大的工程 我这边也是跑通了这个代码 后面不知道怎么把它投入到生产环境中去了

但是它的思想确实很有研究价值

运行demo也很简单:

我把训练代码集成到了demo中 用jupyter打开就可以

代码依然还有很多需要个性化的东西要重新写 评估部分和结果可视化部分现在还没有完成

以后有时间可能会回来补 大概率可能会弃坑 毕竟R6实在是太好玩了~