6

.NET 3.5 (ASP.NET、SQL Server、C#、WCF、WF など) を使用して Web アプリケーションを構築していますが、大きな設計上のジレンマに陥っています。これは大学プロジェクトですが、私が何を開発するかは 100% 私次第です。

ユーザーの入力なしで、画像を取得し、その中の特定のオブジェクトを自動的にトリミングできるシステムを設計する必要があります。たとえば、道路の写真から車を切り取ります。私はこれについて多くのことを考えましたが、実行可能な方法は見当たりません。このスレッドは、この目標を達成するための問題と実現可能性について話し合うためのものだと思います。最終的には、車の寸法 (またはそれが何であれ) を取得し、これをパラメーターとして 3D モデリング アプリ (カスタム) に渡して、3D モデルをレンダリングします。この最後のステップは、はるかに実現可能です。それは問題であるトリミングの問題です。車の色を取得して、その色の周りに輪郭を描くなど、あらゆる種類のアイデアを考えました。そのため、車(例)が黄色の場合、画像に黄色のピクセルがある場合は、その周りをトレースします。

理想的には、システムが完全に自動化されることを望みます。しかし、私はすべてを思い通りにすることはできないと思います。また、私のスキルは、C++ とは対照的に、上記で述べたもの (.NET 3.5、SQL Server、AJAX、Web デザイン) にありますが、実現可能性を確認するためだけに、あらゆるソリューションを受け入れます。

次の特許も見つけました: US Patent 7034848 - System and method for automatically cropping graphic images

ありがとう

4

8 に答える 8

2

画像の顔検出によく使用される方法は、Haar分類子カスケードを使用することです。分類器カスケードは、顔だけでなく任意のオブジェクトを検出するようにトレーニングできますが、分類器の機能はトレーニングデータの品質に大きく依存します。

ViolaとJonesによるこの論文では、それがどのように機能し、どのように最適化できるかについて説明しています。

C ++ですが、OpenCVプロジェクトによって提供される画像処理ライブラリを確認することをお勧めします。このライブラリには、Haarカスケードのトレーニングと使用の両方を行うためのコードが含まれています。システムをトレーニングするには、車と車以外の画像のセットが必要になります。

于 2008-10-22T16:50:33.493 に答える
2

あなたが話しているのは、未解決の研究問題、あるいはいくつかの研究問題ですらあります。これに取り組む 1 つの方法は、画像のセグメンテーションです。画像内に関心のあるオブジェクトが 1 つあると安全に想定できる場合は、図形と地面のセグメンテーション アルゴリズムを試すことができます。このようなアルゴリズムは数多くありますが、完璧なものはありません。通常、セグメンテーション マスク (図が白で背景が黒のバイナリ イメージ) を出力します。次に、図の境界ボックスを見つけて、それを使用してトリミングします。覚えておくべきことは、既存のセグメンテーション アルゴリズムのどれも、100% の確率で必要なものを提供しないということです。

または、切り抜く必要のある特定の種類のオブジェクト (車、人、オートバイ) が事前にわかっている場合は、オブジェクト検出アルゴリズムを試すことができます。繰り返しますが、たくさんありますが、どれも完璧ではありません。一方、関心のあるオブジェクトが非常に雑然とした背景にある場合、それらのいくつかはセグメンテーションよりもうまく機能する可能性があります.

要約すると、これを追求したい場合は、かなりの数のコンピューター ビジョンに関する論文を読み、かなりの数の異なるアルゴリズムを試す必要があります。また、問題のドメインを可能な限り制限すると、成功の可能性が高くなります。たとえば、少数のオブジェクト カテゴリに制限する、画像内の対象オブジェクトが 1 つだけであると想定する、または特定のタイプに制限するなどです。シーン(自然、海など)の。また、この種の問題を解決するための最先端のアプローチの精度でさえ、改善の余地がたくさんあることを覚えておいてください。

ところで、このプロジェクトの言語またはプラットフォームの選択は、最も難しい部分です。

于 2008-10-19T02:23:11.883 に答える
2

これは、 DARPA グランド チャレンジを完了するために解決する必要があった問題の 1 つです。Google ビデオには、優勝チームのプロジェクト リーダーによる素晴らしいプレゼンテーションがあり、ソリューションをどのように進めたか、他のチームがどのようにアプローチしたかについて語っています。関連部分は動画の19:30あたりから始まりますが、素晴らしいトークで、すべて見る価値があります。問題を解決するための良い出発点になることを願っています。

于 2008-10-18T23:40:54.600 に答える
0

私がこれについて見た最良の試みのいくつかは、あなたが持っている画像を理解するのを助けるために画像の大規模なデータベースを使用することです。最近では、画像の巨大なコーパスであるだけでなく、画像が何であるかに関するメタ情報でタグ付けされたflickrがあります。

これを行ういくつかのプロジェクトはここに文書化されています:

http://blogs.zdnet.com/emergingtech/?p=629

于 2008-10-18T13:12:05.057 に答える
0

自分で画像を分析することから始めます。そうすれば、車に一致する基準を策定できます。そして、あなたはあなたが一致できないものを定義することができます。

たとえば、すべての車の背景が同じである場合、それほど複雑である必要はありません。しかし、あなたの例は通りに車があると述べています。駐車中の車があるかもしれません。それらは認識されるべきですか?

MatLabにアクセスできる場合は、PRToolsなどの専用ソフトウェアを使用してパターン認識フィルターをテストできます。

私が勉強していたとき(ずっと前:) Khoros Cantataを使用したところ、エッジフィルターを使用すると画像を大幅に簡略化できることがわかりました。

ただし、ここでも、最初に入力の条件を定義します。そうしないと、パターン認識が非常に難しいため成功しません(キャプチャをクラックするのにどれくらいの時間がかかったかを考えてください)

于 2008-10-18T13:31:36.687 に答える
0

私は写真を言ったので、これは黒い背景の黒い車である可能性があります. オブジェクトの色を指定することを考えました。その色が見つかったら、その周りをトレースします (高レベルの説明)。しかし、黒い背景に黒いオブジェクトがある場合 (つまり、コントラストがない場合)、それは非常に困難な作業になります。

さらに良いことに、車の 3D モデルを掲載しているサイトをいくつか見つけました。これはいつでも使用でき、3D モデルに貼り付けてレンダリングできます。

3D モデルの方が作業が簡単ですが、現実世界の写真ははるかに困難です。それは吸う:(

于 2008-10-18T15:36:53.750 に答える
-1

実際のユーザーがプログラムに何をすべきかを指示しなければ、良い結果は得られないと思います。このように考えてください。1つ以上の興味深いオブジェクト(例:2台の車)が存在する場合、プログラムはどのように決定する必要がありますか?必要なオブジェクトが実際に背景の山である場合はどうなりますか?写真の中に何も興味がなく、切り抜くオブジェクトとして何も選択しない場合はどうなりますか?などなど...

そうは言っても、次のような仮定を立てることができれば、オブジェクトが1つだけ存在する場合は、画像認識アルゴリズムを使用することができます。
今考えてみます。私は最近、ロボットとロボット研究技術における人工知能についての講義を受けました。彼らの研究は、言語の相互作用、進化、および言語認識について続けられました。しかし、それを行うためには、知覚された環境を処理するためのいくつかの単純な画像認識アルゴリズムも必要でした。彼らが使用したトリックの1つは、xとyがその特定のポイントの明るさであるxとyの画像の3Dプロットを作成することでした。次に、赤と緑の値に同じ手法を使用しました。と青黄色。そして、見よ、彼らは知覚された環境からオブジェクトを選ぶのに(比較的)簡単に使える何かを持っていた。
(大変申し訳ありませんが、すべてがどのように機能するかを示した、彼らが持っていた素晴らしいチャートへのリンクを見つけることができません)。

とにかく、彼らは画像認識に(それほど)興味がなかったので、十分に機能するものを作成し、高度ではなく、時間のかからないものを使用したので、この複雑なタスクのために単純なものを作成することができます。

また、優れた画像編集プログラムには、適切な量の調整を加えて、対象のオブジェクトを選択する魔法の杖があります。これも調べる価値があります。

つまり、基本的には次のことを意味します。

  • いくつかの仮定をしなければなりません、さもなければそれはひどく失敗します
  • おそらくAIの技術、より具体的には画像認識を使用するのが最適です
  • paint.NETとその魔法の杖のアルゴリズムを見ることができます
  • 良い写真には、画像の中央のどこかに関心のあるオブジェクトが含まれるという事実を利用してみてください

..しかし、これがあなたの問題の解決策であると言っているのではありません。もっと簡単なものを使用できるかもしれません。

ああ、そして私はそれらのリンクを探し続けます、それらはこのトピックについてのいくつかの本当に価値のある情報を持っています、しかし私は何も約束することができません。

于 2008-10-18T13:28:31.983 に答える
-1

私がこれを正しく読んでいるなら... これはAIが輝くところです。

「最も簡単な」解決策は、ニューラル ネットワーク ベースの画像認識アルゴリズムを使用することだと思います。各写真で車がまったく同じに見えることがわかっていない限り、それがほとんど唯一の方法です.

まったく同じ場合は、ピクセル パターンを検索し、外接する四角形を取得し、画像の境界線を四角形の内側の境界に設定するだけです。

于 2008-10-18T12:53:19.353 に答える