フィーチャーマップがUltralytics YOLO モデルにどのようにパワーを与え、正確な物体検出や自律運転のような高度なAIアプリケーションを可能にしているかをご覧ください。
特徴マップは、畳み込みニューラルネットワーク(CNN)内の層、特に畳み込み層によって生成される基本的な出力である。これらは画像などの入力データから検出された学習された特徴やパターンを表す。各マップは、エッジ、コーナー、テクスチャ、またはより複雑な形状など、ネットワークが物体検出、画像セグメンテーション、画像分類など、手元のタスクにとって重要だと考える特定の特徴の存在と空間的位置を強調する。これらのマップは、ディープラーニング(DL)モデルが視覚情報をどのように解釈するかにおいて極めて重要な要素である。
特徴マップは畳み込みと呼ばれる数学的演算によって生成される。この過程で、フィルター(またはカーネル)として知られる小さな行列が、入力データ(または前のレイヤーの特徴マップ)を横切るようにスライドする。各位置で、フィルターは入力の重複するパッチと要素ごとの乗算を行い、その結果を合計して出力特徴マップに1つの値を生成する。各フィルタは、特定のパターンを検出するように訓練中に設計または学習される。畳み込み層は通常複数のフィルターを使用し、それぞれが独自の特徴マップを生成することで、入力から多様な特徴セットを取り込む。ネットワークのバックボーンは、多くの場合 PyTorchまたは TensorFlowOpenCVのようなツールを使って可視化されることが多い。
典型的なCNNアーキテクチャでは、入力画像は一連の層を通過する。入力に近い初期の層は、単純で低レベルの特徴(水平線、単純な色のコントラス ト、基本的なテクスチャーなど)をとらえた特徴マップを生成する傾向がある。データがニューラル・ネットワーク(NN)の深部へ流れるにつれて、後続の層はこれらの単純な特徴を組み合わせて、より複雑で抽象的な表現を構築する。より深い層の特徴マップは、物体の一部(車の車輪や顔の目など)、あるいは物体全体を強調するかもしれない。この階層的な特徴学習により、ネットワークは複雑なパターンを徐々に学習し、一般的なパターンからタスクに関連する特定の詳細へと移行する。CNNに関するスタンフォードのCS231nコースノートなどのリソースで、基礎的な概念を調べることができる。
フィーチャーマップはCNNが自動的な特徴抽出を行うための基礎であり、従来のコンピュータビジョン(CV)で一般的であった手作業による特徴工学の必要性を排除している。これらのマップに取り込まれた特徴の質と関連性は、精度や 平均平均精度(mAP)などのメトリクスで測定されるモデルの性能に直接影響します。物体検出モデルでは Ultralytics YOLO特に YOLOv8や YOLO11YOLO、特にYOLOv8やYOLO11のようなバージョンでは、バックボーンによって生成された特徴マップは、検出ヘッドに渡される前に、(FPNやPANのような)「ネック」構造によってさらに処理されることが多い。検出ヘッドは、これらの洗練された特徴マップを使用して、最終的な出力を予測します。つまり、オブジェクトの位置を示すバウンディングボックスと、COCOや ImageNetのようなデータセットで見つかったオブジェクトを識別するクラス確率です。
フィーチャーマップは、数え切れないほどの人工知能(AI)や機械学習(ML)アプリケーションに不可欠である:
特徴マップを視覚化することで、CNNが何を学習し、どのように意思決定を行うかについての洞察を得ることができる。画像のどの部分が特定の特徴マップを活性化するかを調べることで、開発者はモデルが関連する特徴に焦点を当てているかどうかを理解することができる。これは説明可能なAI(XAI)の構成要素であり、TensorBoardや他の可視化技術のようなツールを使って行うことができる。フィーチャーマップを理解することは、モデルをデバッグし、その堅牢性と信頼性を向上させるのに役立ち、Ultralytics HUBのようなプラットフォームを使用して管理および追跡することができます。