1. 概要

このチュートリアルでは、2つの色間の類似性の計算について説明します。 最初に、色の類似性の適切なメトリックを持つことの重要性について説明し、次に、最も単純なものから最も複雑なものまで、色の類似性を計算するための3つの方法を示します。

2. 重要性

現在、カラーモデリングは多くのアプリケーションに不可欠な部分であり、色は RGB HSV、HSLなどのさまざまな色空間で表されます。 色間の類似性の定量化は、以前はほとんど形容詞で説明されていた概念を定量化できるため、非常に重要です。

以下で説明するように、色を比較するために従来の提案されたメトリックに依存することはできないため、色の類似性の計算は簡単な手順ではありません。 あるいは、人間が知覚する色の類似性を計算するために、古典的なメトリックの方程式を変更する必要があります。

以下のアプローチをよりよく理解するために、RGB値とで3色を定義します。 以下に、3つの色を示します。

3. シンプルなアプローチ

最も簡単なアプローチは、ユークリッド距離など、色のRBG値で距離を計算する標準的な方法を適用することです。 RGB空間でととして定義された2つの特定の色の場合、ユークリッド距離は次のように定義されます。

ほとんどの場合、平方根を避けて、RGB値間の差の合計を計算することもできます。

上記の式を以前の色に適用すると、次のようになります。

つまり、はよりもはるかに近いということです。 しかし、これは私たちの視覚と一致していません。

その単純さにもかかわらず、このアプローチは、RGB色空間での色の表現方法とは異なる色の人間の知覚という事実を考慮していないため、深刻な流れを示します。人間の目は他の色よりもいくつかの色に耐性があります。 したがって、視覚的に類似した色は、私たちとは大きく異なる色よりもRGBユークリッド距離を大きくする可能性があります。

4. 改善されたアプローチ

上記のアルゴリズムの改善点は、RGB値を重み付けして、人間の知覚により適合させることです。重みは実験的に計算され、最も一般的な重みは、赤が0.3、緑が0.59、青が0.11です。

したがって、RGB空間で定義された2つの色間の加重ユークリッド距離は次のように定義されます。

上記の式を以前の色に適用すると、次のようになります。

以前のように、よりもはるかに近いですが、それらの違いはそれほど大きくありません。

5. ベストアプローチ

加重ユークリッド距離は色の類似性をより正確に推定できますが、それでも人間のように色を区別することはできません。

色の類似性に対する最良のアプローチの1つは、次の3つの値を使用して色を表すCIELAB色空間を使用することです。

  • 知覚的な明るさと
  • そして人間の視覚の4つのユニークな色のために:赤、緑、青、そして黄色。

このモデルは、コンポーネントが人間の明るさの知覚にぴったり合う場合に、人間が色を知覚する方法に非常によく似ています。 したがって、色の類似性を計算する最初のステップは、色を元の色空間からCIELABに変換することです。これは通常、いくつかの標準の事前定義された方程式を適用することで非常に簡単です。 次に、CIELAB空間でのユークリッド距離を次のように計算します。

ここで、およびはCIELAB空間の2色の値です。

色は人間の知覚に適合するCIELAB色空間で表されるため、この方程式は色の類似性の非常に良い近似です。

このメソッドをこの例に適用してみましょう。 まず、次のように3つのRGB色をCIELABに変換します。

次に、それらの距離を計算します。

この場合、人間が色を知覚する方法を考慮したので、より近くなります。

6. 結論

この記事では、色間の類似性を計算するための3つの方法を紹介しました。 最初に、RGB色空間に適用される2つの簡単なアプローチについて説明しました。

次に、CIELAB色空間の色の距離を計算する最良のアプローチについて説明しました。