高度なコンピュータビジョン-ダイレクトビジュアルトラッキングの概要!

ソースノード: 1865647

この記事は、の一部として公開されました データサイエンスブログソン

画像内のオブジェクトを追跡するタスクは、MLで最もホットで最も要求されている領域のXNUMXつです。 しかし、私たちはすでに多種多様なテクニックとツールを持っています。 この記事は、コンピュータビジョンの世界への旅を始めるのに役立ちます!

まず、いくつかのタイプの視覚追跡技術を紹介します。 次に、それらを分類する方法を説明します。 また、地域ベースおよび勾配ベースの方法に焦点を当てて、直接視覚追跡の基本的な側面についても説明します。 最後に、これらのメソッドをPythonで実装する方法を示します。 はじめましょう!

ビジュアルトラッキング–はじめに

オブジェクトトラッキングまたはビデオトラックとも呼ばれるビジュアルトラッキングは、ビジュアル情報を使用してシーン内のターゲットオブジェクトの軌道を推定するタスクです。 視覚情報は、さまざまな画像ソースから取得できます。 光学カメラ、熱画像装置、超音波、X線、または磁気共鳴を使用できます。

最も一般的なイメージングデバイスのリスト:

画像デバイス|ビジュアルトラッキング

SOURCE

さらに、ビジュアルトラッキングは、さまざまなタスクに適用できるため、非常に人気のあるトピックです。 たとえば、ヒューマンコンピュータインタラクション、ロボット工学、拡張現実、医学、軍事の分野で適用されます。

次の画像は、視覚追跡アプリケーションの例を示しています。

ビジュアルトラッキングアプリケーション

SOURCE

それでは、現在利用可能なソリューションを分類する方法を見てみましょう。

視覚的追跡方法の分類

以下のコンポーネントに従って、有名なビジュアルトラッキング方法を分類できます。

視覚的な追跡方法

SOURCE

各コンポーネントについてさらに詳しく見ていきましょう。

客観的なプレゼンテーション

まず、追跡しているオブジェクトに焦点を当てる必要があります。 このコンポーネントは、視覚追跡表現ターゲット(ターゲット表現)と呼ばれます。 ターゲットにはいくつかの典型的な表現があります。 ハイライトは次のとおりです。

客観的なプレゼンテーション|ビジュアルトラッキング

SOURCE

ただし、これらのターゲットビューの中で、バウンディングボックスが最も一般的な方法です。 その理由は、バウンディングボックスが多くのオブジェクトを簡単に定義するためです。

外観モデル

それで、私たちは私たちの目的を表すためにいくつかの方法を見てきました。 次に、ターゲットの外観をモデル化する方法を見てみましょう。 外部モデルのアイデアは、利用可能な視覚情報に基づいてターゲットオブジェクトを記述することです。

画像ヒストグラム

たとえば、下の画像では、青いサッカー選手がフィールドを横切って走っているのを見ることができます。 プレーヤーはバウンディングボックスで表されます。

画像ヒストグラム| ビジュアルトラッキング

SOURCE

この境界ボックスはヒストグラムを定義します。 通常、グレースケール画像でヒストグラムを使用しますが、カラーヒストグラムを使用することもできます。 上の画像では、長方形のバウンディングボックスの色ヒストグラムを表すことができます。 このヒストグラムを使用して、ターゲットプレーヤーを緑色の背景から区別できます。

それでは、これを例を挙げて説明しましょう。 たとえば、70%が青で、30%が緑のヒストグラムがあります。 これは、プレイヤーが移動すると、 お願いします 操縦する バウンディングボックス 周りに エリアと場所を見つける 最善 青のパーセンテージ。 このようにして、フレームが見つかると、常に元のヒストグラムと完全に一致します。 このようにして、プレーヤーを追跡できます。

画像強度

また、参照画像自体(参照)を外観モデルとして使用することもできます。 この場合、ターゲットオブジェクトはピクセル強度のセットとして測定されます。 たとえば、ターゲットが動いている場合、私たちの目標は参照画像と完全に一致するものを見つけることです。 このプロセスは、テンプレートマッチングと呼ばれます。 以前に定義されたパターンに一致する画像の領域を定義します。 ただし、視覚追跡の問題は、画像が変形、反転、投影などされる可能性があることです。これは、画像が歪んでいる場合、パターンマッチングがうまく機能しないことを意味します。

画像強度| ビジュアルトラッキング

SOURCE

フィルタバンクを使用してターゲットを表すこともできます。フィルタバンクは、を使用して結果の画像を計算します。 最初の ピクセル強度。 外観のモデルとして分布フィールドを使用できます。

画像属性

もうXNUMXつの非常に人気のあるタイプの外観モデルは、画像タグです。 これは、ターゲットの参照画像に基づいており、識別可能な特徴のセットを計算してターゲットを表すことができます。 特徴を抽出するために、いくつかのオブジェクト検出アルゴリズムがよく使用されます。画像属性| ビジュアルトラッキング

SOURCE

部分空間分解

場合によっては、参照画像の部分空間を使用して、オブジェクトの外観をシミュレートします。 これらのより洗練されたモデルは、追跡対象の外観が時間の経過とともに変化する状況で非常に役立つことが証明されています。 このコンテキストでは、主成分分析と辞書ベースのアプローチがよく使用されます。 ここで、ターゲットオブジェクトの参照画像を解析できます。 たとえば、100人の画像のデータセットがあるとします。 真ん中の画像を取得し、XNUMXつのコンポーネントを追加します。 このコンポーネントは、人が見ている方向を左または右に固定します。 次に、このコンポーネントを使用して、右を向いている人を見つけることができます(Eigenface –画像内の人を認識するためのアプローチのXNUMXつ)。

次に、地域ベースの追跡方法でよく使用される外観モデルのタイプに焦点を当てます。

地域に基づく追跡方法

地域ベースの追跡は、地域または画像の一部を追跡するというアイデアから生まれました。 前に述べたように、バウンディングボックスを使用してターゲットオブジェクトを表します。 バウンディングボックスで囲まれたオブジェクトを追跡するには、適切な外観モデルを定義する必要があります。 以下の例では、外観モデルは画像強度テンプレートです。 ここでは、左側にターゲットの参照画像があり、元の画像で最も一致するものを探しています。

地域ベースの追跡

SOURCE

ターゲットオブジェクトの外観モデルを受け入れたので、シーン内でのその動きをシミュレートする必要があります。 これは、モーションモデルのパラメータを見つけることでトラッキングの問題が解決されることを意味します。 参照画像と元のターゲット画像の類似性は、モーションモデルパラメータによって最大化されます。 たとえば、ターゲットがシーン内で水平方向と垂直方向にのみ移動しているとします。 この場合、参照画像の位置をシミュレートするには、XNUMXつのパラメーターtxとtyを使用した単純な並進モデルで十分です。

当然、ターゲットオブジェクトがより複雑な方法で移動する場合は、以下に示すように、追加の自由度を持つより複雑な変換モデルを設定して使用する必要があります。

距離行列| ビジュアルトラッキング

たとえば、本の表紙を追跡している場合、8自由度の投影モデルを使用する必要があります。 一方、ターゲットが剛体でない場合は、変形可能なモデルを使用する必要があります。 したがって、Bスプラインまたは薄板スプラインを使用して、オブジェクトの変形を正しく記述することができます。

パラメトリックモデルは変形可能です:

現在の位置の検索を初期化するために、前のフレームのターゲットオブジェクトの位置を使用することがよくあります。 したがって、前のフレームt-1の移動モデルであるパラメータp t-1のベクトルが与えられた場合、私たちのタスクは、参照画像と現在の画像に最もよく一致する新しいベクトルptを見つけることです。

類似関数

これは非常に興味深い質問に私たちをもたらします:参照と現在の画像に最適なものは何ですか? 最適な一致を見つけるには、参照画像に最も近い現在の画像の部分を見つける必要があります。 これは、参照と元の画像の間で類似度関数fを選択する必要があることを意味します。 これは、パターンマッチングで使用されました。 次の例では、最初のXNUMXつの画像間の類似性がXNUMX番目のXNUMXつの画像間の類似性よりも大きくなければならないことがわかります。

類似関数| ビジュアルトラッキング

テンプレートと元の画像の間の類似性を計算するために、いくつかの類似性関数が使用されます。 それらのいくつかを次に示します。

類似関数:

  • 絶対差の合計(SAD)

  • 差の二乗和(SSD)

  • 正規化相互相関(NCC)

  • 相互情報量(MI)

  • 構造的類似性指数(SSIM)

そのため、追跡には、ターゲットオブジェクトの外観モデル、モーションモデル、および類似度関数を選択して、参照画像がビデオ内の元の画像とどの程度類似しているかを判断する必要があることがわかりました。 前のフレームt-1のパラメータpt-1を考慮して、現在の時刻tで新しいモデルパラメータptを見つけるための戦略を開発する必要があります。 最も簡単なアプローチは、前のpt-1パラメーターの周囲にローカル検索領域を定義することです。 以下の例では、前のフレームのターゲットの位置から、x軸で-20pxから+ 20pxに、y軸で-20ピクセルから+ 20ピクセルに移動します(ブロードキャストしかない場合)。

refrence画像

SOURCE

オブジェクトの動きに関する事前の知識の助けを借りて、オブジェクトの前の位置の広い近傍での徹底的な検索を短縮することができます。 たとえば、従来のカルマンろ過システムや、粒子フィルターなどのより高度なフィルターを使用できます。

グラジエントベースの方法

別の とてもおしゃれ 検索戦略は最急降下法です。 最初に、追跡パラメータに関して微分可能であり、最適な周囲に滑らかで凸状のランドスケープを持つ類似性関数を選択します。 次に、勾配法を使用して、変換(移動)モデルの最適なパラメーターを見つけることができます。

次の例では、SSD(Sum of Squared Differences)を計算する必要がある場合があります。

グラジエントベースの方法

SOURCE

緑の長方形が参照画像であり、元の画像(青い長方形)との類似性を確認するとします。 青い長方形をスライドさせて緑の長方形と一致するようにSSDを計算し、これらXNUMXつの画像を差し引きます。 次に、差をXNUMX乗して合計します。 数が少ない場合は、同様のパターンがあることを意味します。 このプロセスが示されています セクションに 次の図。

マトリックス|

SSDはベクトルpの関数になることに注意することが重要です。ここで、p = [xy]はベクトルです。 ここで、xとyは私たちが探している変換パラメータです。 青い長方形のSSDスコアを計算した結果、最適な位置合わせポイントの周囲にプラスマイナスXNUMXピクセルのオフセットがあると、この曲線が得られます。 したがって、この例では、SSDの凸状で滑らかな性質をはっきりと見ることができます。

ssd |

SOURCE

上の右側の例では、鳥瞰図からXNUMX次元関数を確認できます。 最小値は中央にあり、高い値はその周りにあります。 ここで、この関数をXNUMX次元形式で描画する場合は、次のようになります。

function

x方向に沿って見ているとしましょう。 まず、xの開始位置をランダムに選択します。 x = 4としましょう。 次に、SSD関数の勾配を計算します。 次に、関数の最小値に移動する必要があることを学びます。 グラデーションは、元の画像で移動する方向を示します。

では、最急降下法の主な利点は何ですか? 次の例でボードを追跡するために使用する射影モデルなど、さまざまな自由度を持つ変換モデルの例を見てみましょう。

追跡

SOURCE

まず、複数の自由度の意味を説明しましょう。 元の長方形の画像とテンプレートの画像があるとしましょう。 以下の例では、左側の元の画像の長方形が、右側のテンプレート画像の投影バージョンであることに注意してください。

オリジナルとテンプレートの画像

ただし、SSDを計算することはできなくなります。 この問題を解決するXNUMXつの方法は、両方の画像のキーポイントを検出し、それらの一致を見つけるいくつかの特徴マッチングアルゴリズムを使用することです。 ただし、テンプレート画像の強度値を使用して検索することもできます。 これを行うには、変形曲率を適用します。 この記事の前半で説明したように、画像に次の遷移行列を掛けます。

これは、マトリックスには8つのパラメーターと8つの数値しかなく、1に固定されているため、ここではXNUMXつの自由度があることを意味します。したがって、元の長方形の視点が変更されます。 つまり、SSDを計算するには、xおよびyの平行移動パラメーターを見つけるだけでなく、回転、スケーリング、スキュー、および投影を表す他のパラメーターも見つける必要があります。

したがって、最急降下法の主な利点は、目的のオブジェクトを回転、スケーリング、および変形するときに、最適な変換パラメーターを見つけるために1000と1000の組み合わせを実行する必要がないことです。 最急降下法を使用すると、わずか数回の反復でこれらのパラメーターを非常に高い精度で取得できます。 したがって、これは計算の労力を大幅に節約します。

まとめ

この記事では、画像追跡手法には、外観モデル、変換モデル、類似性測定、検索戦略のXNUMXつの主要コンポーネントがあることを学びました。 いくつかの外観モデルを提示し、剛体と非剛体の両方の変換モデルについても話しました。 さらに、SSDの計算方法と、最も一般的な検索戦略のXNUMXつである最急降下法の適用方法についても説明しました。 今後の記事では、これらの方法を引き続き使用します。

この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、作成者の裁量で使用されています。

出典:https://www.analyticsvidhya.com/blog/2021/08/advanced-computer-vision-introduction-to-direct-visual-tracking/

タイムスタンプ:

より多くの 分析Vidhya