首页 > 解决方案 > 使用 Keras 实现图像金字塔

问题描述

为了在我的 CNN 模型上获得尺度不变性(或检测任何尺度的对象),我想实现Image Pyramids。正如文章所解释的,在创建图像金字塔时,图像会经过反复的平滑和二次采样。

我正在 Keras 中实现一个 CNN。Keras 有没有办法实现图像金字塔?我读了一篇说使用AveragePooling2D来实现金字塔效果的 SO 帖子。

这甚至是正确的吗?层如何AveragePooling2D产生金字塔效应?

标签: pythonopencvkerascomputer-visionconv-neural-network

解决方案


实现您目标的一种 CNN 架构是 U-Net,最初由本文介绍。

它使用一系列卷积层和池化层来创建金字塔。请注意,它不是输入图像的图像金字塔,但其想法是学习在不同尺度上有用的东西,而不是直接喂给金字塔。

现在,想想它是如何AveragePooling2D工作的。您选择原始图像的一个补丁,将其替换为平均值,然后移动到下一个补丁。这正是您在生成图像金字塔时所描述的:通过平均实现平滑,用一个像素替换补丁是下采样。


推荐阅读