19

私がクエリするとしましょう

http://images.google.com.sg/images?q=sky&imgcolor=black

そして、私はすべての黒い空を手に入れました。背後にあるアルゴリズムは実際にどのように機能しますか?

4

4 に答える 4

32

Google エンジニアの Henry Rowley、Shumeet Baluja、Dr. Yushi Jing によって発行されたこの論文に基づくと、画像内の色の認識に関するあなたの質問の最も重要な意味は、Google の「セーフランク」アルゴリズムに関連しているように思われます。その周りのテキスト。

この論文は、「古典的な」方法を説明することから始めます。これは通常、色の明るさを正規化してから「ガウス分布」を使用するか、ピクセル単位の RGB 値を使用して構築された 3 次元ヒストグラムを使用します (各色はピクセルに含まれる色の量を表す 0 ~ 255 の 8 ビット整数値)。特定の画像から肉眼で見たときの光度の密度である「輝度」(しばしば誤って「輝度」と呼ばれる) などのプロパティに依存する方法も導入されています。

Google の論文では、アルゴリズムを使用して約 10^9 の画像を処理する必要があるため、可能な限り効率的である必要があると述べています。これを達成するために、彼らは ROI (関心領域) で計算の大部分を実行します。ROI は、画像の中心に配置され、すべての側面に画像寸法の 1/6 が挿入された長方形です。ROI が決定されると、顔検出アルゴリズム、色の恒常性アルゴリズムなど、さまざまなアルゴリズムが画像に適用されます。これらのアルゴリズムは全体として、画像の色の統計的傾向を見つけ、最も重要なことに色を見つけます。統計分布で最も頻度の高い色合い。

エントロピー、エッジ検出、テクスチャ定義などの他の機能を使用して、画像から線を抽出するために、確率論的ハフ変換 (Kiryati et al., 1991) の OpenCV 実装 (Bradski, 2000) を使用して計算します。これにより、おそらく体の部分ではない直線を見つけることができ、さらに、画像でどの色が最も重要であるかをより適切に判断できます。これは、画像の色検索の重要な要素です.

数学の方程式などを含むこのトピックの技術的な詳細については、最初にリンクされている Google の論文を読んで、Web サイトの研究セクションを参照してください。

非常に興味深い質問と主題!

于 2009-03-26T06:15:37.793 に答える
6

画像は単なるピクセルです。ピクセルは単なる RGB 値です。RGB で黒が何であるかを知っているので、画像でそれを探すことができます。

于 2009-03-26T02:07:40.870 に答える
3

まあ、1つの方法は、非常に基本的な言葉で:

画像のコーパスを指定して、特定の色範囲の高濃度を決定し (これは実際にはかなり些細なことです)、このデータを保存し、それに応じてインデックスを付けます (前のステップで決定された色に従って画像にインデックスを付けます)。これで、特定の単語を含むドキュメントを見つけるのと本質的に同じようなことができます。

これは、考えられる 1 つの方法の非常に基本的な説明です。

于 2009-03-26T02:06:27.783 に答える
0

画像から色を抽出するにはさまざまな方法があり、他の回答がそれらに対処していると思います(K-Means、分布など)。

色を抽出したと仮定すると、色で検索する方法がいくつかあります。時間はかかりますが明白なアプローチの 1 つは、検索カラーと画像の支配的な色との間の距離を何らかのメトリック (例:色差) を使用して計算し、「近さ」に基づいて結果に重みを付けることです。

別のはるかに高速なアプローチは、色空間の解像度を本質的にダウンスケールすることです。考えられるすべての RGB カラー値を処理するのではなく、抽出を Google のように狭い範囲 (青、緑、黒、黄など) に制限します。その後、ユーザーは限定された色見本のセットで検索でき、色距離の計算は簡単になります。

于 2013-01-18T22:12:14.760 に答える