私はイメージを分類する私のモデルを鍛えようとしています。 問題は、サイズが違うことです。それらの画像をサイズ変更せずに訓練する可能性はありますか?サイズが異なる場合、イメージをトレーニングするにはどうすればよいですか?
答えて
あなたは、どのアーキテクチャについて話しているのかは言いませんでした。あなたがイメージを分類したいと言ったので、私はそれが部分的に畳み込みで、AlexNet、GoogLeNetなどの部分的に完全に接続されたネットワークであると仮定しています。一般的に、あなたの質問に対する答えはあなたが作業しているネットワークタイプによって異なります。
たとえば、ネットワークに畳み込み単位しかない場合、つまり完全に接続されたレイヤーが含まれていない場合は、は入力イメージのサイズと同じでなければなりません。そのようなネットワークは、入力画像を処理し、次に別の画像を返すことができます( "畳み込み")。もちろん、何らかの方法で損失を特定する必要があるため、出力が期待どおりに一致することを確認する必要があります。
完全に接続されたユニットを使用している場合は、問題が発生しています。ここでは、学習したネットワークの学習済みの重みが固定されているため、さまざまな入力にはさまざまな重みが必要です。可能。
それがあなたの問題である場合は、ここであなたができることがいくつかあります:
- 画像を退治気にしないでください。ネットワークはとにかくコンテンツを理解することを学ぶかもしれません。とにかく、スケールとパースペクティブはコンテンツに何かを意味するのでしょうか?
- 画像を特定のサイズに中央揃えします。データが失われてしまう恐れがある場合は、複数のクロップを行い、入力データを補強するために元のイメージを適切なサイズの異なるイメージ
N
に分割します。 - 単色の画像を四角いサイズにパディングし、サイズを変更します。
- これを組み合わせてください。
ネットワークは(読み:そうでしょう)可能性があるため、ネットワークの予測に追加のエラー源を導入可能性があるパディングオプション、このようなパッド入りのボーダーが含まれている画像にバイアスすること。 TensorFlowのドキュメントのImagesのセクションをご覧になりたい方は、resize_image_with_crop_or_pad
のようなものがあります。ただhere's、有名なインセプションネットワークの前処理パイプラインの一部を潰し気にしないでくださいについては
:
# This resizing operation may distort the images because the aspect
# ratio is not respected. We select a resize method in a round robin
# fashion based on the thread number.
# Note that ResizeMethod contains 4 enumerated resizing methods.
# We select only 1 case for fast_mode bilinear.
num_resize_cases = 1 if fast_mode else 4
distorted_image = apply_with_random_selector(
distorted_image,
lambda x, method: tf.image.resize_images(x, [height, width], method=method),
num_cases=num_resize_cases)
彼らはそれを完全に認識していると、とにかくそれを行います。
したいか、行く必要がどこまでによっては、実際には非常に特殊な方法でそれらを処理することによって、任意のサイズの入力を処理する視覚認識ためのディープ畳み込みネットワークにおける空間ピラミッドプーリングと呼ばれるhere紙があります。
空間ピラミッドプール層を作成してください。次に、FC層が常に一定の次元ベクトルを入力として得るように、最後の畳み込み層の後に置きます。トレーニング中は、1エポックの特定の画像サイズを使用して、データセット全体から画像をトレーニングします。次に次のエポックでは、別の画像サイズに切り替えてトレーニングを続けます。
- 1. サイズがパーセンテージの場合、イメージの縦横比を保持するにはどうすればよいですか?
- 2. UICollectionViewCellsのスペーシングが異なる場合はどうすればいいですか?
- 3. イメージをフェッチする前にイメージのサイズを変更するにはどうすればよいですか?
- 4. iOSでサイズが異なるサークルのサークルパッキングアルゴリズムを作成するにはどうすればよいですか?
- 5. 与えられた.gifイメージがアニメーションgifでない場合、.gifイメージを.jpegに変換するにはどうすればよいですか?
- 6. モバイルデバイスのレスポンシブデザインでイメージを適切なサイズにするにはどうすればよいですか?
- 7. VB.NETイメージのサイズとサイズを確認するにはどうすればよいですか?
- 8. productIdが異なる場合にイベントを上書きしないようにするにはどうすればよいですか?
- 9. イメージが開いている場合、イメージパスを開くにはどうすればいいですか? PILのpython
- 10. 次の場合、イメージの幅を設定するにはどうすればよいですか?
- 11. 異なるサイズの仮想アドレスに物理アドレスをマップするにはどうすればよいですか?
- 12. 異なるタブごとにQtabwidgetのサイズを変更するにはどうすればよいですか?
- 13. テキストフィールドが空の場合のみイメージを表示するにはどうすればいいですか?
- 14. イメージのサイズが異なる場合の命名規則
- 15. コンテンツがサイドバーコンテンツでない場合、コンテンツを100%に拡張するにはどうすればよいですか?
- 16. AppDelegateにタスクがない場合、バックグラウンドでタスクを終了するにはどうすればよいですか?
- 17. 私の場合はnullを返さないようにするにはどうすればいいですか?
- 18. サイズの異なる複数のページを印刷するにはどうすればよいですか?
- 19. 異なるサイズのdatepickerインスタンスを取得するにはどうすればよいですか?
- 20. 異なるサイズの複数のdivを整列するにはどうすればよいですか?
- 21. charに値がない場合、StringIndexOutOfBoundsExceptionを回避するにはどうすればよいですか?
- 22. データベースにデータがない場合、データテーブルの列を宣言するにはどうすればよいですか?
- 23. TensorFlowでサイズ変更されたイメージを描画するにはどうすればよいですか?
- 24. スケールがサイズを変更しないようにするにはどうすればよいですか?
- 25. イメージのサイズをいくらか大きくするにはどうすればよいですか?
- 26. GOで異なるミドルウェアを異なるパスに使用するにはどうすればよいですか?
- 27. イメージのサイズをコマンドラインから最大2MBにバッチするにはどうすればよいですか?
- 28. 異なる場所に検証エラーメッセージを表示するにはどうすればよいですか?
- 29. Googleアナリティクスのサーバーサイドリクエストに異なる場所を設定するにはどうすればよいですか?
- 30. イメージの高さが異なるイメージのコラージュ(ギャップのないグリッド)を動的に作成するにはどうすればよいですか?
これまでに試したことと、あなたにはうまくいかないようなことを示してください。 –
そして、バムにはInception v4のコードがあります。私はその既成のコメントに同意しない。私たちが話しているどのような種類のネットのように、もう少し多くの入力がうまくいくでしょうが、ダウンボントは全く正当化されません。そこには本当に問題があります。 – sunside
ImageNetが画像データのフォーマットをトレーニングに役立てるにはどうしたらいいですか? – mskw