Machine learning 如何在';圆柱形图像';

Machine learning 如何在';圆柱形图像';,machine-learning,keras,Machine Learning,Keras,假设我有一组“活在圆柱体上”的图像数据(例如,如果我的图像是由环绕自身的全景照片拍摄的)。我如何修改卷积神经网络来考虑这一点?我能想象的几个简单的“黑客”(以及为什么我认为它们不是完整的解决方案): 目前,我将柱面图像表示为矩形图像(沿柱面切割),然后通过获取最左侧的几列并将其添加到右侧来进行“柱面填充”: 这个想法是,现在网络可以访问恒星在1附近的信息,但这在我的脑海中并不“实际起作用”,就像它可能对第一个卷积层起作用一样,但如果我有多个层,我似乎真的希望我的网络结构反映圆柱对称性 执行与上

假设我有一组“活在圆柱体上”的图像数据(例如,如果我的图像是由环绕自身的全景照片拍摄的)。我如何修改卷积神经网络来考虑这一点?我能想象的几个简单的“黑客”(以及为什么我认为它们不是完整的解决方案):

  • 目前,我将柱面图像表示为矩形图像(沿柱面切割),然后通过获取最左侧的几列并将其添加到右侧来进行“柱面填充”: 这个想法是,现在网络可以访问恒星在1附近的信息,但这在我的脑海中并不“实际起作用”,就像它可能对第一个卷积层起作用一样,但如果我有多个层,我似乎真的希望我的网络结构反映圆柱对称性
  • 执行与上面相同的矩形表示,但通过拍摄每个图像并逐像素围绕圆柱轴旋转来扩充我的数据集。同样,这感觉像是一个黑客,而不是一个真正的解决方案

我使用的是Keras,我最感兴趣的是“实际解决方案”,我本以为Keras会有一个选项来处理这种情况(可能像圆柱形填充物之类),但我找不到任何选项。我脑海中的下一个想法是编写自己的Keras层来处理这个问题(修改现有的卷积/池层),但我不确定如何开始

我认为您所描述的解决方案是有意义的。请参阅最近关于这个主题的相关pytorch讨论:以及可能的解决方案:也许我们可以使用$$R\times S S^1\approx R^2\backslash\{0\}$$