您可以将 opencv SIFT 与 tensorflow 模型集成吗?

我正在尝试创建一个 CNN,但使用的是 SIFT 算法而不是任何池化层。问题是我似乎无法在 Tensorflow 或 PyTorch 中找到该算法的任何 Python 实现。我看到的唯一实现是使用 opencv。

是否可以将 opencv SIFT 实现用作 Tensorflow CNN 模型中的一个层?如果是这样,您将如何创建它?


MYYA
浏览 110回答 1
1回答

烙印99

虽然这是一个有趣的想法,但我认为它存在许多问题,这使得它非常不切实际甚至不可能。网络层的输入必须是可区分的,以允许计算任何梯度,然后将其用于更新权重。虽然我认为可以编写一个完全可微分的筛选实现,但仅此一点是不切实际的。此外,SIFT 没有恒定数量的输出并且需要很长时间来计算,这会大大减慢训练速度。将 SIFT 与神经网络一起使用的唯一实用方法是首先运行 SIFT,然后使用前 N 个检测到的关键点作为第一层的输入。但是,我不确定这是否会成功。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python