5

あらかじめ決められた候補のリストから、(RGB値)の色の名前を推測するための小さなライブラリを作成することを考えています。

私の最初の試みは、純粋に3次元RGB色空間内のピタゴリアン距離に基づいていました-名前の付いた色点のほとんどが空間の端にあったため(たとえば、0、0、255の青)、これは大した成功ではありませんでした。 、スペースの中央にあるほとんどの色では、最も近い名前の色もかなり恣意的でした。

だから、私はより良いアプローチを考えていて、いくつかの候補を考え出しました

  • HSV色空間内の円柱距離-上記と同様の問題が発生する可能性がありますが、HSVは、RGBよりも人間的な意味で意味があるように思われます。これは便利です。

  • 上記のいずれかですが、名前が付けられた各カラーポイントは、周囲の空間内のポイントへの引力の強さを示す任意の値で重み付けされています。そのようなモデルの名前はありますか?これは少し漠然としていると思いますが、私にはかなり直感的なアイデアのようです。

  • HSV色のプロパティを調べて、最も可能性の高い色名を返すベイジアンネットワーク(たとえば、P(黒|彩度<10)、P(赤|色相= 0)に似たノードを想像していますが、これは理想的とは言えません-たとえば、特定の色が赤になる確率は、離散値ではなく、色相が0にどれだけ近いかに比例します。ベイジアンネットワークを適応させて、テストされている変数?

  • 最後に、HSVまたはRGB色空間内のサポートベクターマシンベースの分類があるかどうか疑問に思っていましたが、これらにあまり精通していないため、これがピタゴラス距離ベースのアプローチよりも特別な利点を提供するかどうかはわかりません。特に私は3次元空間しか扱っていないので、最初に試しました。

したがって、私は疑問に思っていました、あなたの誰かが同様の問題の経験を持っているか、または私がアプローチを決定するのを助けることができるかもしれないリソースを知っていますか?誰かが私を正しい方向に向けることができれば(それが上記のいずれかであろうと、まったく異なるものであろうと)、私は非常に感謝しています。

乾杯!

ティム

4

3 に答える 3

5

Colorが RGB 値と HSL 値の両方に基づいて名前を決定するように見える名前。おそらく同様のものを使用できます。

スクリプトをざっと見てみると、RGB と HSL の両方に関して、指定された色に最も近い色を選択しているようです。これは基本的に定義済みの色の大きなマップであり、加重値などの高度な処理は何も行いませんが、大量の定義済みの色名を考えると、要件によっては「十分」である可能性があります。

于 2010-08-07T10:50:24.827 に答える
0

テスト対象の変数で連続する確率に対処するためにベイジアン ネットワークを適応させる方法はありますか?

はい。私はこれを行う方法に答えるのに最適な人物ではありませんが、これを行う方法に関する既存の情報があるはずです。検索中に「連続」を使用してください。

于 2010-08-10T22:09:54.440 に答える
0

私の答えとして、ベイシアンの枠の外で考えてみます。この問題に取り組む必要がある場合、次の 3 つのアプローチのいずれかを試します。

1) ユーザーから収集した経験的データに基づくファジー ロジック。ファジー ロジックは、鮮明な統計的尺度よりも、人々が色について話すときに何を意味するかを捉え、自動的に推測することを容易にする可能性があります。(ベイズ推論とファジー論理を組み合わせた手法、IIRCもあります。)

2) Kohonen ネットワークを使用して色を自動的に分類するというアイデアをいじったことがあります。私はそれほど遠くまでは取りませんでしたが、初期の結果は、ネットワークが人間の観点から見て快適で直感的なソリューションに収束する傾向があるという点で有望でした. ノードは、「赤」、「オレンジ」などの人間のラベルに対応しているように見えるパターンでクラスター化する傾向があり、「赤オレンジ」などの明らかな遷移ゾーンがありました。

3) 遺伝的アルゴリズムを使用して、特定の画像に最適化されたパレットを開発する実験もいくつか行いました。繰り返しますが、私はそれほど遠くまでは行きませんでしたが、最初のテストでは見込みがありました。

于 2010-08-12T14:43:59.443 に答える