用語集

Uネット

セマンティック・セグメンテーションのための強力なCNNアーキテクチャ、U-Netをご覧ください。医療、衛星、自律型画像処理への応用をご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

U-Netは、もともと生物医学的画像セグメンテーションタスクのために開発された特殊な畳み込みニューラルネットワーク(CNN)アーキテクチャである。その特徴的なU字型構造は、限られた学習データでも、画像内のオブジェクトの正確な位置特定とセグメンテーションを可能にする。Olaf Ronneberger、Philipp Fischer、Thomas Broxが2015年の論文「U-Net」で紹介した:Convolutional Networks for Biomedical Image Segmentation(バイオメディカル画像セグメンテーションのための畳み込みネットワーク)」で紹介されたU-Netは、ピクセルレベルの分類を必要とするさまざまなコンピュータビジョン(CV)アプリケーションでの有効性により、当初の領域を超えて急速に影響力を持つようになった。

コア・アーキテクチャ

U-Netのアーキテクチャは、「U」の字に似た形で接続された2つの主要なパス、すなわち収縮パス(エンコーダーとも呼ばれる)と拡大パス(デコーダーとも呼ばれる)で構成されている。

  1. 収縮パス(エンコーダー):この経路はCNNの典型的なアーキテクチャに従う。これは2つの3x3畳み込み(unpadded convolutions)の繰り返し適用で構成され、それぞれにRectified Linear Unit(ReLU)活性化関数が続き、次にダウンサンプリングのためのストライド2の2x2最大プーリング演算が続く。ダウンサンプリングステップごとに、特徴チャンネル数は2倍になる。この経路は入力画像の文脈を捉え、特徴情報を増加させながら空間解像度を徐々に下げていく。
  2. 拡張パス(デコーダ):この経路は、特徴マップのアップサンプリング、特徴チャンネル数を半分にする2x2畳み込み(「アップ畳み込み」)、収縮経路からの対応するクロップされた特徴マップとの連結、2つの3x3畳み込み、それぞれのReLUの繰り返しから構成される。この切り出しは、それぞれの畳み込みで境界画素が失われるために必要である。最後の層は、1x1畳み込みを使って、各特徴ベクトルを所望の数のクラスに対応付ける。この経路は、出力の解像度を徐々に上げ、スキップ接続を介して収縮経路からの高解像度特徴と組み合わせることで、正確な位置特定を可能にする。U-Netのようなエンコーダー・デコーダーアーキテクチャは、セグメンテーションタスクでは一般的である。
  3. スキップコネクション:これら2つのパスをつなぐ重要な革新は、スキップ接続の使用である。これらの接続は、縮小パスのレイヤーから特徴マップをコピーし、拡大パスの対応するアップサンプリングされた特徴マップと連結する。これにより、デコーダはエンコーダによって学習された高解像度の特徴に直接アクセスできるようになり、これは正確な詳細を持つセグメンテーションマップを生成するために極めて重要である。

主な特徴と利点

U-Netのデザインは、特にセグメンテーション・タスクにおいて、いくつかの利点を提供する:

  • 正確なローカライズ:広範なパスとスキップ接続を組み合わせることで、ネットワークは非常にきめ細かいセグメンテーションマスクを生成することができる。
  • 小さなデータセットでの効率:U-Netは、医用画像解析で一般的な比較的小さなトレーニングデータセットでも効果的にトレーニングすることができる。U-Netと並行して広範なデータ補強を行うことで、ネットワークに必要な不変性を学習させることができる。
  • エンド・ツー・エンドのトレーニング:入力画像から出力セグメンテーションマップまで、ネットワーク全体を直接トレーニングできるため、トレーニングパイプラインが簡素化される。
  • 優れた汎用性:医療画像だけでなく、精密なセグメンテーションを必要とする他の領域でも高い性能を示している。

実世界での応用

当初はバイオメディカルイメージング用に設計されたが、U-Netのアーキテクチャは汎用性があり、多くのアプリケーションに適応している:

U-Netと類似コンセプトの区別

U-Netは主に意味的なセグメンテーションに重点を置き、画像の各画素にクラスラベル(例えば「腫瘍」、「道路」、「建物」)を割り当てる。これとは異なる:

トレーニングとツール

U-Netのトレーニングには、トレーニング画像の各ピクセルに対応するクラスをラベル付けした、ピクセルレベルのアノテーションデータが必要です。このデータアノテーションプロセスは、特に複雑な医療画像や衛星画像の場合、手間がかかる。U-Netモデルは通常、以下のような一般的なディープラーニングフレームワークを使用して実装・学習されます。 PyTorchPyTorch 公式サイト)や TensorFlowTensorFlow 公式サイト)のような一般的なディープラーニングフレームワークを使用して実装される。画像の読み込みや前処理には、OpenCVのようなライブラリがよく使われる。Ultralytics HUBのようなプラットフォームは、複雑なセグメンテーションタスクであっても、データセットの管理とモデル学習プロセスの効率化に役立つ。効果的なトレーニングには、注意深くハイパーパラメータをチューニングし、さまざまな最適化アルゴリズムを検討する必要があります。

すべて読む