森林画像の軌跡の検出


30

森のシーンの画像で(トレイルに沿って立っているカメラの視点から)トレイルを特定するための研究/論文/ソフトウェアを知っている人はいますか?

私は次のような画像を取ることができるアルゴリズムを見つけようとしています:

代替テキスト

次のような「トレイル」を特定するマスクを作成します。

代替テキスト

ご覧のとおり、元の画像は少しぼやけており、意図的です。画像ソースは完全な焦点を保証することはできないため、適度な量のノイズとぼやけを処理できる必要があります。

私が最初に考えたのは、ガウスぼかしを適用し、画像をブロックに分割し、隣接するブロックを比較してシャープな色の違いを探します(トレイルの「エッジ」を示します)。しかし、私はすぐに、影や照明の他の変化が簡単にそれを放散することに気付きました。

私はSURFの特徴を抽出することを考えていましたが、画像が完全に鮮明で一貫した照明である場合にのみ、SURF / SIFTで成功しました。

また、画像とマスクをはるかに小さいサイズ(100x75など)に縮小し、1xNベクトルに変換し、それらを使用してFANNベースのニューラルネットワークをトレーニングしようとしました(画像は入力で、マスクが必要です)出力)。入力ベクトルの75%のサイズの1つの隠れ層があるこのような小さなサイズでさえ、トレーニングに6時間かかりましたが、それでもテストセット内のマスクを予測できませんでした。

誰もが主題に関する他の方法や論文を提案できますか?


1
あなたはそれについて何も言及していませんでしたが、カメラ/画像の取得を制御していますか?人々は、同様の状況で近赤外線画像を使用して植生指数を使用します(衛星からの森林被覆の計算を検討してください)。近赤外線がある場合、問題は簡単に解決できます。
carlosdc

やや。安価な単眼カメラ(ウェブカメラ/携帯カメラ)で画像を撮影していますが、赤外線を保存するとは思いません。
セリン

おそらく参考になる植生や汚れのスペクトルを区別することができ、複数のカラーフィルタを使用する
endolith

あなたがベイジアンアプローチを訓練して検出しようとしたかどうか興味があります。数日前に書いた回答がありましたが、試してみて却下したと思うので削除しました。まだそのオプションを検討していない場合は、元に戻してください。
ローレムイプサム

@yoda、ベイジアンアプローチとはどういう意味ですか?私は、離散分類と論理ネットワークに適用されるベイジアンにのみ精通しています。私はそれがCVに適用されることに慣れていません。あなたの投稿を見たことはありません。
セリン

回答:


13

それだけでは十分ではないかもしれませんが、問題の1つは照明の変動に関係しているため、シャドウ除去の前処理ステップが役立つ場合があります。私が考えている手法は、次の論文で説明されています。

「画像からの影の除去について」、GD Finlayson、SD Hordley、C。Lu、およびMS Drew、IEEEパターン分析とマシンインテリジェンス(PAMI)、Vol.28、No.1、2006年1月、pp.59- 68。 http://www.cs.sfu.ca/~mark/ftp/Pami06/pami06.pdf

プロセスの最初の部分では、照明不変のグレースケール画像が生成されます。これはおそらくこの場合に必要なものです。ここに彼らが論文で与えた例のショットがあります:

シャドウ除去
(ソース:datageist.com

実際、「色度」画像を生成するためにプロセスをさらに一歩進めることは、生葉と枯葉をきれいに区別するために必要なものかもしれません。もう一度、論文からの例:

色度
(ソース:datageist.com

ただし、問題はカメラを最初に較正する必要があることです。それが可能であると仮定すると、彼らが説明する表現のいくつかの組み合わせは、おそらくあなたが使用している他の方法をより効果的にするでしょう。


12

私はあなたが十分な情報持って信じないマスク画像を生成するソースイメージを。色でセグメント化することから始めることができます。つまり、緑はトレイルではなく、グレー/ブラウンはトレイルです。ただし、「トレイルボーダー」には、マスクで表されない灰色/茶色の領域があります。(ソース画像の左下の象限を参照してください。)

提供するマスクは、ソース画像では明らかではない構造的制約を意味します。たとえば、軌跡の幅が固定されている場合があります。その情報を使用して、パターン認識エンジンから返される予備マスクを制約できます。

構造のトピックの継続:トレイルは他のトレイルとマージされますか?トレイルは特定の土壌/砂利の特徴で輪郭が描かれていますか?人間として(これはパターン認識にかなり優れています!)、左下の四分円に示されている機能に挑戦しています。「トレイル」として割り引くことができない灰色/茶色の領域があります。もっと情報があれば、おそらく最終的にそうすることができます。地図と粗く知られている場所、このトレイルでの個人的な経験、またはおそらくこのポイントに至る一連の画像-認識者が「知っている場合、このビューはそれほど曖昧ではありません「このシーンにつながったもの。

私の意見では、画像のコレクションが最も興味深いアプローチです。この考え方を続けると、1つの画像で十分なデータが提供されない場合もありますが、パノラマビューではシーンが明確になります。


はい、トレイルは他のトレイルと結合します。そして、はい、トレイルは土壌/砂利の特徴によって輪郭が描かれ、それらの特徴は非トレイルエリアと区別されるべきです。一部のセクションでは画像が難しいかもしれないことに同意しますが、トレイルがどこにあるかについてかなり良い推測をするのに十分な情報がまだあると思います。このトレイルに慣れていない場合でも、問題はないと思われます(左下の領域は例外です)。

確かに、私はトレイルの境界としてかなり良い推測をすることができます。しかし、ソース画像に示されているよりも多くの情報に依存しているのではないかと心配しています。トレイルが何であるかを「知っている」-おそらく、トレイルを構成する顕著な特徴のモデルまたはテンプレートを構築したからです:直接体験、または写真で明確に定義されたトレイルを見るなど。ソース画像、私はソース画像で観察するものよりもはるかに多くを描いています。

ビジョンシステムが利用する可能性のあるトレイルには、いくつかの特性があります。おそらく、トレイルは自由でナビゲート可能なスペースを表していると想定できます。したがって、樹木、茂み、および岩の特徴は「トレイルではない」と分類できます。おそらく、テクスチャ分析はこれらを見分けるのに役立つでしょうか?しかし、私は確信がありません:木の下の地面(左上から中部)は、トレイルに非常に似ています。

私の最初のアイデアは、テクスチャが非常に粗い場合に高い応答を与えるLUまたはEigen変換を参照することでした。ただし、ここでは、トレイル/非トレイルを区別する主な機能は色のようです。したがって、多分それをHSV色空間に変換し、「土っぽい」色相(茶色がかった黄土色)を持つピクセルからマスクを作成すると、大まかな見積もりが得られます。
AruniRC

12

ランダムな画像でトレイルを魔法のように検出する単一のアルゴリズムはありません。機械学習ベースのルーチンを実装し、トレイルを検出するために「トレーニング」する必要があります。詳細を説明しすぎることなく、教師あり学習アプローチで行うことの大まかな概要を以下に示します。

  1. 「トレーニングの例」のセットが必要になります。これは、さまざまな環境でのトレイルの写真を意味します。ここでは、あなた(スーパーバイザー)が「トレイル」とバックグラウンド「フォレスト」とラベル付けします。画像をより小さなセクション(通常は8x8)に分割し、ブロックのDCT(離散コサイン変換)を取得することで「機能空間」に変換します。この場合の各ブロックのDCTは、64ポイントの「特徴ベクトル」を提供します。
  2. フィーチャスペース、フィーチャセット(64ポイントのフィーチャベクトルのサブセット)、およびクラスおよびを含むクラススペースを定義します。トレーニングセットから:XxYy1=traily2=forest

    • クラス条件付き分布
      • PX|Y(x|trail)、クラスが場合のフィーチャの条件付き密度。 trail
      • PX|Y(x|forest)、クラスが場合のフィーチャの条件密度。 forest
    • クラスの確率または事前
      • trailPY(trail)、ブロック内のを見つける確率trail
      • FORESTPY(forest)、ブロック内のを見つける確率forest
  3. これを使用して、イメージをテストし(再度、イメージを小さな断片に分割します)、事後確率を計算します。ベイズの決定理論を使用して、バイナリ(この場合)の選択基準を次のように定義します。

    y~i(x)=argmaxyiPX|Y(x|yi) PY(yi)
    各ブロックを、事後確率が最も高いクラスに割り当てます。これにより、バイナリマスクが作成されます。

これは、アプローチの非常に簡略化された概要であることに注意してください。考慮すべき事項がいくつかありますが、最も重要なのは、問題に合った適切な機能セットを選択することです。混合モデルやカーネルベースの密度推定の使用など、より複雑なこともできますが、そのすべては詳細を記述し、回答を書くのに時間がかかります。

このアプローチが試してみる価値があるという動機付けと確認のために、ここで私が長い間宿題としてやったことの例を示します。これはあなたが達成しようとしているものに非常に似ています。目的は、背景の植生から動物を検出することでした(左の画像)。右の図は、前景と背景を区別するために「学習」後に取得したバイナリマスクを示しています。

ここに画像の説明を入力してください ここに画像の説明を入力してください

機械学習の詳細については、いくつかの教科書をご覧ください。この分野でよく知られ、よく推奨される教科書の1つは次のとおりです。

T.ヘイスティ、R。ティブシラニ、J。フリードマン、統計学習の要素:データマイニング、推論、予測。第2版​​、スプリンガー出版(2008)

現在提供されているリンクから無料のPDFとして入手できます。別のまともな本は:

RO Duda、PE HartおよびDG Stork、パターン分類、第2版、John Wiley&Sons(2001)


1
その点で、機械学習の優れた入門書であるml-class.orgを指摘したいと思います。
bjoernz

興味深い方法。ただし、Py(トレイル)とPy(フォレスト)が「画像全体でトレイルを見つける確率」であると言うとき、8x8ブロックまたは画像全体でそれらを見つける確率を意味しますか?すべてのトレーニング画像がこれらの両方をどこかに持っているので、画像全体の場合、これらの両方が100%になると思います。
セリン

@Cerin:すみません、Py(trail)で、ブロック内で見つかる確率を意味します。したがって、これは、画像全体のブロックの総数による追跡があるすべてのブロックの合計になります。それを修正するために編集しました
ローレムイプサム

特徴空間Xをどのように定義しますか?K-Meansクラスタリングなどを使用して、64ポイントの特徴ベクトルの次元を10個の特徴のようなものに減らしますか?
セリン

@Cerinはい、K-meansは次元を減らす一般的なアプローチの1つです。
ロレムイプサム


5

テクスチャセグメンテーションの問題のように見えます(カラーセグメンテーションではありません)多くの方法がありますが、

このようなhttp://note.sonots.com/SciSoftware/GaborTextureSegmentation.htmlのようなGaborウェーブレットをよく使用します

スーパーピクセルベースのセグメンテーション http://ttic.uchicago.edu/~xren/research/superpixel/

および同様のグラフカットセグメンテーション http://en.wikipedia.org/wiki/Graph_cuts_in_computer_vision

こちらがウィキの概要です http://en.wikipedia.org/wiki/Segmentation_(image_processing)


ガボールテクスチャのセグメンテーションは素晴らしいようです!
nkint
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.