コンピュータービジョンの標準的な手法(ガウスぼかし、しきい値処理、ハフ変換など)を使用して、静的画像(.jpeg、.pngなど)のコインを検出できるコンピュータープログラムを作成しました。特定の画像からピックアップされたコインの比率を使用して、どのコインがどれであるかを確実に確立できます。ただし、信頼レベルに追加し、(半径比から)タイプAであると推測するコインも正しい色であるかどうかを判断します。問題は、英国のコインなどについてです。(銅、銀、金)、それぞれの色(特に銅から金)は非常に似ています。
RedGreenBlue(RGB)の「色空間」に関して特定のコインの平均色を抽出するルーチンと、この色をHueSaturationBrightness(HSBまたはHSV)の「色空間」に変換するルーチンがあります。
RGBは、3つのコインの色を区別しようとするのにあまり適していません(例については、添付の[基本]画像を参照してください)。次の範囲と、さまざまなコインタイプの色の一般的な値があります。
注:ここでの典型的な値は、実際の画像の「ピクセル単位の」平均を使用して選択された値です。
**Copper RGB/HSB:** typicalRGB = (153, 117, 89)/(26, 0.42, 0.60).
**Silver RGB/HSB:** typicalRGB = (174, 176, 180)/(220, 0.03, 0.71).
**Gold RGB/HSB:** typicalRGB = (220, 205, 160)/(45, 0.27, 0.86)
最初に、特定の平均コインカラー(RGBを使用)と、RGB値をベクトルとして扱う上記の各コインタイプの典型的な値との間の「ユークリッド距離」を使用しようとしました。銅の場合:
ここで、差の最小値()は、特定のコインがどのタイプである可能性が最も高いかを示します。この方法は、非常に不正確であることが示されています。
また、コインの色相を上記の典型的な値と比較することも試みました。理論的には、これにより、画像のさまざまな明るさと彩度レベルを処理するためのはるかに優れた「色空間」が提供されますが、これも十分に正確ではありませんでした。
質問:(静止画像から)色に基づいてコインの種類を判断する最良の方法は何ですか?
ご清聴ありがとうございました。
編集1
注:以下で説明するすべてのアイデアを試しましたが、ほとんど何も達成していません。照明条件の変動(同じ画像内であっても)により、この問題は非常に困難になるため、考慮する必要があります。
編集2(結果の概要)
ご回答ありがとうございます。私自身のさらなる研究(あなたの答えとコメントを含む)は、任意の照明、任意のカメラ(モバイルデバイス)、コインの色の変動(同じ種/タイプであっても)の一般的な場合にこの問題がいかに難しいかを強調しましたはじめに肌の色の認識(非常に活発な研究分野)を出発点として見ており、白人だけの肌の色の認識にも多くの問題が残っています(現在のテクニックのレビューについてはこのペーパーを参照してください)。この問題には3つの異なる色のオブジェクトが含まれており、そのすべてが連続して変化する色度を持っているため、このコンピュータービジョンのトピックを分類し、それに応じて対処するのは非常に困難です(実際、優れた博士号を取得できます) !)。
以下のDWの非常に役立つ投稿からGamut Constraint Methodを調べました。これは、画像と個別のコインオブジェクトを照明条件に依存しない色に変換する前処理ステップとして非常に有望でした。ただし、この手法でも完全には機能せず(マッピング用の画像/ヒストグラムのライブラリを必要とします-これには入りたくありません)、はるかに複雑なニューラルネットワークアーキテクチャの方法論も機能しません。実際、このペーパーでは要約で次のように述べています。
"current machine colour constancy algorithms are not good enough for colour-based
object recognition.".
それは、このテーマに関する最新の論文がそれほど多くないということではありませんが、私はそれらを見つけることができず、現時点では非常に活発な研究領域ではないようです。
AVB の回答も参考になり、私はL A B *を簡単に調べました。
"The nonlinear relations for L*, a*, and b* are intended to mimic the nonlinear
response of the eye. Furthermore, uniform changes of components in the L*a*b* colour
space aim to correspond to uniform changes in perceived colour, so the relative
perceptual differences between any two colours in L*a*b* can be approximated by
treating each colour as a point in a three dimensional space."
私が読んだことから、デバイスに依存する画像のこの色空間への変換は難しいでしょう-しかし、もう少し時間があれば、これを詳細に(何らかの実装の観点から)調べます。
私はこの問題への具体的な解決のために私の息を保持していないですし、Lと試みた後、A B * Iは、コインの色を無視されなければならないとわからアップ私の現在の幾何学的な検出アルゴリズム(正確な楕円ハフなどを変換)を探して。
どうもありがとう。そして、この質問に対する最後の注意として、色の認識を持たない新しい幾何学的検出アルゴリズムを使用した同じ画像があります。