1

お互いに関連しているこれらの幾何学的形状を認識したいと思います。たとえば、下の屋根の画像を見ると、REDの尾根の存在を知るだけで、BLUEの尾根も存在するはずです(画像には表示されていなくても)。私が何千ものラベル画像を持っていれば、MLモデルもこれを学ぶことができます。しかし、私はこの問題をどのように表現するのか分かりません。尾根の幾何形状の認識

Original Image (Example 1)

Label over original Image (Example 1)

ラベル(S):C、Z

Original Image (Example 2)

Label over original Image (Example 2)

ラベル(S):D

Original Image (Example 3)

Label over original Image (Example 3)

ラベル(S):C、Z

Original Image (Example 4)

Label over original Image (Example 4)

ラベル(S):E、G

最初の例のように、これらの尾根を線として呼ぶことにします。簡単なエッジ検出ではX線とY線が検出されますが、Z線では検出されません。同じように、行Dは検出されませんが、行A、B、Cは例2からです。

私が望むのは、XとYからZがあるはずであることを覚えているMLモデルを定式化することですD、A、B、Cから

私は、このような例のデータセットを持っています(赤と青は区別するために、すべての尾根は同じ色でラベル付けされています)。

留意すべき重要なことがいくつかあります。

  • 画像の明るさは大きく異なる場合があります。
  • 尾根は任意の縮尺または方向(妥当な範囲内)を持つことができます。
  • 入力画像はほとんど常に非常に騒々しいです。
+0

その後に使用されるリッジは何ですか? –

+0

@FelixGoldberg私たちは尾根を使って屋根の構造を作り出しています。それをセクションに分割するのと同様に –

答えて

0

私は2つのアプローチが考えられます。

  1. エッジ検出の問題で使用されるのと同様のネットワークを使用してください。これらのネットワークは、入力の各ピクセルがエッジを含む確率を出力します。あなたの問題は似ています。ちょうどあなたがすべてのエッジを必要としないということです。しかし、これはいくつかの重大な事後処理が必要な場合があります。クローズドラインの線がたくさんある場合は、非最大限の抑制や何らかの形態学的操作を使用して1つの行にまとめなければなりません。訓練のためには、真理値は隆線の真の位置を含むバイナリマスクであるか、または実際の隆線の位置に対して小さなガウス分布を使用して、損失関数をより安定にすることができます。

  2. 第2の方法は、回帰することができます。リッジの終点の座標を含む出力ベクトルをフラットベクトルとして持つことができます。しかし、それはあなたがそこにいることができる尾根の最大数を固定する必要があります。この方法は、より大きな出力ベクトルのために誤検出が多くなる可能性があるため、おそらく単独では機能しませんが、これは最初の方法と組み合わせることができ、エッジ位置にかなり近い場合にのみキーポイントを保持するように選択できます第1の方法から得られる。

0

私は屋根の検出を行うためにCNNを使用します。色が重要でない場合は、イメージグレースケール/他のカラーチャネルモデル(HSVなど)を作成し、Hチャネルを削除します。また、画像の色合いを自動的に変更し、この編集した画像をCNNに送ることで、データセットを拡張することもできます。

関連する問題