Ultralytics YOLO27:
YOLOのライセンス
ガイド

テンプレートマッチングとは?簡単なガイド

テンプレートマッチングと呼ばれる画像処理技術、その仕組み、コンピュータービジョンの歴史における重要性について解説します

ABAbirami Vina9 分で読めます
画像処理におけるテンプレートマッチングの例

画像には、人間なら簡単に見つけられる細かな情報が数多く含まれています。しかし、機械にとってこの作業はそれほど簡単ではありません。機械はデジタル画像をピクセル値の格子として認識するため、照明、角度、スケール、鮮明さがわずかに変わるだけでも混乱することがあります。

機械による画像分析能力は一般に、密接に関連する2つのコンピューターサイエンス分野、画像処理とコンピュータービジョンに由来します。両者は連携して使われることが多いものの、中心となる目的は異なります。

画像処理では、画像を生データとして扱います。画像を鮮明にすることはできますが、その内容の理解を試みるわけではありません。そこで重要となるのがコンピュータービジョンです。コンピュータービジョンは、機械が画像や動画を理解できるようにする人工知能(AI)の一分野です。

基本的な画像処理は長年にわたって利用されてきましたが、最先端のコンピュータービジョン技術の革新は、はるかに新しいものです。この分野の歴史を理解するには、かつて古くからある従来の手法でこうした問題をどのように解決していたかを振り返るとよいでしょう。

たとえば、画像マッチングがあります。これは、特定の物体やパターンが大きな画像の中に存在するかどうかをシステムが判定する、一般的なビジョンタスクです。

現在では、AIとディープラーニングを使って簡単かつ正確に実行できます。しかし、2010年代に最新のニューラルネットワークが普及する前は、テンプレートマッチングと呼ばれる、はるかにシンプルな手法が主流でした。

テンプレートマッチングの例

図1. テンプレートマッチングの例(出典)

テンプレートマッチングは、小さなテンプレート画像を大きな画像の上でピクセル単位にずらしていく画像処理手法です。この畳み込みに似たスライド処理によって、アルゴリズムは特定のパターンに最もよく一致する位置を見つけます。

この記事では、テンプレートマッチングとは何か、また最新の改良によって実世界での信頼性がどのように高まるのかを解説します。それでは始めましょう。

テンプレートマッチングとは#

テンプレートマッチングは、古典的なコンピュータービジョン手法とも呼ばれます。これは、デジタル画像の最小単位である画像ピクセルを直接扱う手法です。大きな画像の中から小さなパターンを見つけるために使用します。

このような手法は、大規模なデータセットで大規模モデルを学習させるのではなく、幾何学、光学、数学的な規則に基づいて定義されます。つまり、テンプレートマッチングシステムは、入力画像(大きな画像)と小さなテンプレート画像(検索対象のパターン)という2つの入力について、明るさ、色、その他のピクセル情報を比較します。

テンプレートの例としての画像Aと画像B

図2. 画像Aと画像Bはテンプレートの例です。(出典)

テンプレートマッチングの主な目的は、大きなシーンのどこにテンプレートが現れるかを特定し、画像内のさまざまな領域との一致度を測定することです。テンプレートマッチングアルゴリズムは、大きな画像上でテンプレートをスライドさせ、各位置で類似度スコアを計算します。

スコアの高い領域は最もよく一致する場所と見なされ、テンプレートによく似ていることを示します。この手法はピクセル単位の比較に依存するため、物体の見た目が変化しない制御された環境で最も効果を発揮します。

たとえば、品質管理におけるラベル検証タスクにテンプレートマッチングを使用できます。ラベルのテンプレート画像と完成品の画像を簡単に照合し、ラベルの有無を確認できます。

テンプレートマッチングの仕組み#

テンプレートマッチングの仕組みを、手順に沿って説明します。

  • ステップ1 - 画像の準備: まず入力画像とテンプレート画像を読み込み、両方をグレースケール画像に変換します。テンプレートマッチングはピクセル値の比較に基づくため、色情報を取り除くことでノイズを減らし、画像処理を高速化できます。

  • ステップ2 - 画像上でテンプレートをスライド: 次に、テンプレートマッチングアルゴリズムでテンプレートを大きな画像上に、左上隅から始めて1ピクセルずつスライドさせます。この移動の各ステップが反復処理となり、アルゴリズムはテンプレートと同じサイズの画像パッチを元画像から抽出します。

  • ステップ3 - マッチングの精度を測定: それぞれの画像パッチを、数学的なマッチング手法を用いてテンプレートと比較し、すべての位置について相関指標または相関値を算出します。一般的な手法には、二乗差(ピクセルの輝度値間の数値的な距離を測定して不一致の合計を算出)、正規化相互相関(ピクセル値を乗算し、明暗のパターンがどの程度一致するかを判定)、相関係数(平均輝度を差し引き、照明が多少変わっても正確にマッチングできるようにする)があります。

  • ステップ4 - 最適なマッチングを特定: すべての位置を評価した後、アルゴリズムは使用した手法に応じて最大値または最小値を見つけ、最適なマッチングを選択します。通常、これらの結果にしきい値を適用し、十分に高い信頼度スコアを持つマッチングだけを採用することで、信頼性の低い検出や誤検出を除外します。

  • ステップ5 - 結果を強調表示: 最後に、検出された位置を元画像上に示します。通常は、一致した領域の周囲にバウンディングボックスを描画して、テンプレートが現れる場所を明確に示します。

テンプレートマッチングを実際に試す#

画像処理ベースのテンプレートマッチングは、その欠点から動的な実世界のコンピュータービジョンソリューションのデプロイでは一般に使用されませんが、試してみたい場合は、OpenCVなどのPythonライブラリを使って簡単に実行でき、分かりやすいチュートリアルも利用できます。OpenCVには、複雑な数学的比較を処理するmatchTemplate関数が組み込まれています。

また、画像を読み込むimread関数や、画像をグレースケールに変換するために色を変換するcvtColor関数など、簡単なタスクに役立つほかの関数にも対応しています。画像を単一の輝度チャンネルに変換すると、matchTemplate内の数学的比較が大幅に高速化し、色ノイズの影響も受けにくくなるため、色変換は重要なステップです。

類似度マップを生成した後、OpenCVに含まれるminMaxLoc関数を使って検出を完了できます。この関数はマップ全体を調べ、最小値と最大値、およびそれぞれの正確な座標を特定します。使用したマッチング手法に応じて、minMaxLocはデータ内の最大相関値または最小誤差値を見つけ、最適なマッチング位置をすぐに特定できます。

OpenCVに加えて、NumPyなどのライブラリは画像配列の処理や結果へのしきい値の適用に欠かせません。また、Matplotlibは類似度マップと最終的な検出結果の可視化によく使われます。これらのツールを組み合わせることで、テンプレートマッチングソリューションの構築とデバッグに必要な環境がそろいます。

テンプレートマッチングの実世界での応用#

テンプレートマッチングの仕組みを理解したところで、次に実世界のシナリオでの応用を詳しく見ていきます。

伝統的な建築様式の特定#

文化遺産や建築の研究では、地域ごとのデザインパターンの違いを理解するため、研究者は歴史的建造物、寺院、記念碑の写真を分析する必要があります。高度なコンピュータービジョンモデルが広く採用される前は、こうした建造物の研究に画像マッチング技術が使われていました。

テンプレートマッチングを使うと、研究者は屋根の輪郭、窓の配置、壁面の模様など、特定の建築的な特徴に焦点を当てられます。テンプレートや参照画像を大きな画像上でスライドさせることで、繰り返し現れる形状を特定し、何時間もかかることのある手作業での画像分析を減らせます。

興味深い事例として、インドネシアの伝統家屋に関する研究があります。研究者は特徴的な要素の小さなテンプレートを作成し、全体を写した写真と比較しました。このアプローチでは、テンプレートによく一致する画像領域を強調表示し、地域ごとの建築様式を分類しました。

テンプレートマッチングによるインドネシアの伝統家屋の分類

図3. テンプレートマッチングによるインドネシアの伝統家屋の分類(出典)

産業用ビジョンシステムにおける物体検出#

産業環境では、部品の迅速な検出、組み立ての検証、欠陥の発見ができるビジョンシステムが役立ちます。製造業でディープラーニングが普及する前、多くのチームはこうした作業の自動化に画像マッチング手法を試していました。

簡単に言うと、部品の参照テンプレートを使って生産ラインの画像をスキャンし、テンプレートに一致する領域を強調表示できます。部品の位置が一定で、照明が安定している場合に有効です。

肺腫瘍検出のためのテンプレートマッチング#

最先端技術が医療に大きな影響を与えている現在でも、CTスキャンなどの医用画像から健康上の問題を診断することは依然として困難です。従来、放射線科医はスキャンのすべての断面を手作業で確認する必要があり、この作業には非常に高い精度と多くの時間が求められました。

医療にディープラーニングが導入される前、研究者はワークフローを効率化し、異常の特定を支援するためにテンプレートマッチングを試みました。この手法の例として、肺腫瘍や肺結節の検出があります。

この手法では、研究者が腫瘍の典型的な形状と輝度を表す参照テンプレートを作成します。次にシステムは、患者のスキャン画像上でこれらのテンプレートをスライドさせ、すべての座標で類似度を測定します。

テンプレートマッチングによる肺腫瘍の検出

図4. テンプレートマッチングによる肺腫瘍の検出(出典)

テンプレートマッチングの長所と短所#

テンプレートマッチングを使用する主なメリットをいくつかご紹介します。

  • 直感的でわかりやすい: テンプレートマッチングは理解しやすく、実装も簡単なため、AIやコンピュータビジョンを初めて学ぶ方にとって理想的な出発点です。
  • 条件を制御できる環境で高い信頼性: 照明が一定のグレースケール画像で優れた性能を発揮し、パターンと背景が安定している場合は正確な結果が得られます。
  • 容易な統合: OpenCVなどのPythonライブラリを使えば、複雑なセットアップや大規模な計算を行わずに、実際のプロジェクトへテンプレートマッチングをすばやく適用できます。

テンプレートマッチングには多くのメリットがありますが、限界もあります。留意すべき課題をいくつかご紹介します。

  • スケールと回転に敏感: テンプレートのサイズや向きが変わると、精度が低下することがあります。
  • 照明とコントラストへの依存: テンプレートと画像の照明やコントラストに変化があると、誤ったマッチングが発生したり、テンプレートを検出しにくくなったりすることがあります。
  • 適応性の限界: AIベースの手法とは異なり、テンプレートマッチングはデータから学習したり、時間の経過とともに改善したりできません。管理された環境や反復的な環境で最も効果を発揮します。

重要なポイント#

コンピュータビジョンは幅広い分野であり、さまざまな手法を扱います。テンプレートマッチングなどの従来の画像処理手法を学ぶことは、画像分析の仕組みを理解するための優れた出発点です。最先端のビジョンAIイノベーションも、同じ基本概念を基盤とし、同様の課題を解決しています。

AIについてもっと知りたいですか?コミュニティに参加して、GitHubリポジトリをご覧ください。小売業におけるAIと製造業におけるビジョンAIがどのように変革をもたらしているかをご確認ください。ライセンスオプションを確認して、今すぐビジョンAIを活用しましょう。

Explore solutions

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう