CNNの画像のサイズ変更とパディング


13

画像認識のためにCNNをトレーニングしたい。トレーニング用の画像のサイズは固定されていません。たとえば、CNNの入力サイズを50x100(高さx幅)にします。いくつかの小さなサイズの画像(たとえば32x32)を入力サイズにサイズ変更すると、画像の内容が水平方向に過度に引き伸ばされますが、一部の中サイズの画像では問題ありません。

コンテンツの破壊を回避しながら画像のサイズを変更する適切な方法は何ですか?

(幅と高さの比率をある程度維持してサイズを変更した後、サイズを完全にするために0で画像をパディングすることを考えています。この方法で大丈夫でしょうか?)

回答:


9

stackoverflowに関するこの質問はあなたを助けるかもしれません。要約すると、一部のディープラーニング研究者は、画像の大部分をパディングするのは良いプラクティスではないと考えています。たとえば、補間を使用します。


4

いくつかのオプションがあります:

小さい画像の場合:

  • 補間によるアップサンプリング
  • ゼロを使​​用して画像を埋める

アップサンプリングによってアスペクト比を維持できない場合は、アップサンプリングを行い、最大サイズの余分なピクセルをトリミングすることもできます。もちろん、これによりデータが失われますが、作物の中心を繰り返しシフトできます。これにより、モデルがより堅牢になります。


大きな画像の場合:

  • ダウンサンプル
  • 入力サイズに合わせてトリミング

最後に、完全畳み込みネットワーク(FCN)を使用している場合、画像のサイズを変更する必要はありません。

TL; DR:

はい、ゼロの埋め込みは有効なオプションです。


連結された3つのビデオフレームを受け入れる完全な畳み込みネットワークの重みをトレーニングした場合、入力サイズが連結された11フレームに増加することを除いて、同じアーキテクチャのネットワークでこれらの重みを使用するにはどうすればよいですか?今後のトレーニングではなく、予測のみを行っています。私の質問はここにある: datascience.stackexchange.com/questions/55737/...
mLstudent33

3

次の操作を行うことができます。最初に画像をある程度までサイズ変更してから、すべての側面から画像をパディングします。これは、画像の機能を維持するのに役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.