上記のようなシーンの画像があるとします。ブロブのない同様のオブジェクトの隣に、ブロブが付いた一種のポール。赤い円でマークされたブロブ (ブロブに属するピクセルを示すバイナリ イメージ) を見つけるにはどうすればよいですか。
ブロブと一緒にポールを任意に回転させることができ、サイズも異なる場合があることに注意してください。
上記のようなシーンの画像があるとします。ブロブのない同様のオブジェクトの隣に、ブロブが付いた一種のポール。赤い円でマークされたブロブ (ブロブに属するピクセルを示すバイナリ イメージ) を見つけるにはどうすればよいですか。
ブロブと一緒にポールを任意に回転させることができ、サイズも異なる場合があることに注意してください。
アプローチの 1 つは、Viola-Jones オブジェクト検出フレームワークを使用することです。
フレームワークは主に顔検出に使用されますが、実際には、アルゴリズムにフィードする汎用オブジェクト用に設計されています。
アルゴリズムの基本的な考え方は、「良いオブジェクト」(探しているもの) と「悪いオブジェクト」のサンプルを機械学習アルゴリズムにフィードすることです。機械学習アルゴリズムは、画像からパターンを特徴として生成します。
分類中 - スライディング ウィンドウを使用して、アルゴリズムはオブジェクトとの「一致」を検索します (分類子は肯定的な回答を返しました)。
このアルゴリズムは教師あり学習を使用するため、ラベル付きのサンプル セット (正と負の両方) が必要です。
以下の4つのステップでそれを実行できますか?
隣接する線を組み合わせて四角形の位置を特定します (線分ごとに始点と終点の位置があるため、各線分の方向もわかります。これにより、2 つの接続線分 (終点が近い) が直交しているかどうかを判断できます)。 . 目標は、長方形ごとに 3 つのセグメントを見つけることです)。
各円と長方形の相対的な位置をチェックして、どのペアでもknob
形状を形成できるかどうかを確認します。
これを行うには、画像処理に境界マップアルゴリズムがあると確信しています。
それ以外の場合は、簡単な修正方法があります。最初は画像全体である「未発見のゾーン」の中心にあるピクセルを選択します。ゾーンの境界で終わる 4 方向の水平線と垂直線をトレースし、0 から 1 またはその逆の値の変化を見つけます。
そのような各値スイッチをトレースし、各図の境界を完成させます (ステップ A)。まだ発見されていないゾーンについても同じことを行います。ある中心点から開始し、中心を画像境界または既知のゾーンの境界にあるピクセルに接続する線をざっと調べます。
Step-Aでは、なぞった境界線が直線なのか曲線なのかを確認することもできます。曲線である場合はいつでも、その上に 2 つの点のみが必要です。計算の精度のために、互いにある程度離れた点です。
これらの 2 つの接点にそれぞれ垂直な線は、図の赤い円の中心で交差します。
画像を分割できます。次に、円を見つけるためのハフ変換に寄与するセグメント内のピクセルのみを使用します。次に、円が含まれるセグメントのみが表示されます。変更されたハフ変換を使用して、四角形を見つけることができます。「最良の」長方形と正方形の組み合わせが一致します。これは非常に計算上の意図があります。
もう 1 つの方法として、これらのバイナリ ピクチャが既にある場合は、重心までの距離をエッジに沿って移動した距離と比較して、サンプル (たとえば 256 ビン) に変換します。重心から最も離れた点から開始すると、かなり回転する堅牢な特徴ベクトルが得られます。