web-dev-qa-db-ja.com

Darknet YOLO画像サイズ

Darknet YOLO v2でカスタムオブジェクト分類子をトレーニングしようとしています https://pjreddie.com/darknet/yolo/

ほとんどの画像は6000 x 4000ピクセルで、いくつかの低解像度の画像のデータセットを収集しました。

二乗するためにトレーニングする前に画像のサイズを変更する必要がありますか?

私は設定が使用することがわかりました:

[net]
batch=64
subdivisions=8
height=416
width=416
channels=3
momentum=0.9
decay=0.0005
angle=0
saturation = 1.5
exposure = 1.5
hue=.1

それが、さまざまなサイズのデータ​​セットに使用する方法を考えていた理由です。

7
Farahats9

Darknetが代わりにサイズを変更するため、サイズを変更する必要はありません!

つまり、実際にその必要はなく、トレーニング中にさまざまな画像サイズを使用できます。上記で投稿したのは、単なるネットワーク構成です。完全なネットワーク定義も必要です。また、高さと幅からネットワークの解像度がわかります。また、アスペクト比も保持します。たとえば、 this を確認します。

12
Nerxis

トレーニングの前に画像のサイズを変更することは非常に一般的です。 416x416は一般的なサイズよりわずかに大きくなっています。ほとんどのimagenetモデルは、画像のサイズを変更して、たとえば256x256に二乗します。したがって、ここでも同じことが期待されます。 6000x4000でトレーニングしようとすると、GPUのファームが必要になります。標準プロセスでは、画像を最大サイズ(高さまたは幅)に二乗し、短辺に0を追加してから、PILなどの標準画像サイズ変更ツールを使用してサイズを変更します。

3
David Parks

画像のサイズを変更する必要はありません。darknet.cfgファイルの値を直接変更できます。

  1. darknet.cfg(yolo-darknet.cfg)ファイルを開くと、すべてのことができます
    ハイパーパラメーターとその値。
  2. cfgファイルイメージのサイズが(416,416)->(weight、height)で示されているように、値を変更して、darknetがトレーニング前に自動的にイメージのサイズを変更できるようにします。
  3. 画像は高次元であるため、darknetがクラッシュしないように、バッチおよびサブディビジョンの値を調整して(値32,16,8を下げる必要があります。値は2の倍数でなければなりません)(メモリ割り当てエラー)
1
Trinath Reddy

データベースイメージのサイズを変更する必要はありません。 YOLOアーキテクチャーは、.cfgファイルの解像度に応じて、アスペクト比を安全に(情報が失われないように)維持します。たとえば、画像サイズが1248 x 936の場合、YOLOは416 x 312にサイズ変更し、余分なスペースに416 x 416ネットワークに収まるように黒いバーを埋め込みます。

1
user9649020