説明
色彩検査は、任意のカラー画像に対する検査をするライブラリです。 ユーザーは、本ライブラリの機能を応用することで、カラー画像に対する様々な検査を実現することが可能です。 例としては、対象物の色むらや色しみ等の色彩欠陥を見つけるなどが挙げられます。
本ライブラリで実現する色彩検査は、Fig1に示すような処理対象領域へのユーザーの問い合わせに対して、 いくつかの手法を用いて定量的に回答を提示します。 Fig1で、白枠で囲まれている部分を処理対象領域とします。 枠内の数字は、任意に与えた処理対象領域の番号です。 本ライブラリでは、以下に示す要求などに対して回答を提示します。
- Fig1の処理対象領域1、処理対象領域2、処理対象領域3のそれぞれの特徴量を求めたい。
- 求めた特徴量を、様々な処理に応用したい。
- Fig1の処理対象領域1と処理対象領域2、処理対象領域2と処理対象領域3、または処理対象領域3と処理対象領域1の色差を求めたい。
- Fig2の処理対象領域1を基準として、色を抽出したい。
- 指定した色に最も近い処理対象領域を、Fig3から取得したい。
なお本ライブラリにおいては、処理対象領域より求めた特徴量をまとめたものを「色票」と定義します。
Fig1. 色票とは?
Fig2. 色抽出とは?
Fig3. 色彩検査とは?
色票とは、前述したように処理対象領域の特徴量をまとめたものです。 色票構造体は、
F_COLOR_CHART を参照ください。 本ライブラリでは、この色票を基に様々な処理が実行されます。 本ライブラリで色票にまとめられている特徴量は、
の2つです。
平均色は、入力された色空間が RGB 色空間であった場合には、R 、G 、B のチャネル毎の平均が保持されます。 カラーの表現方法としての色空間には、 RGB 以外にも、 L*a*b* 、 HSV 、 XYZ などの様々な色空間が存在します。 本ライブラリでは、色空間については考慮しません。 特定の色空間を使用したい場合には、ユーザーが前もって、その色空間に変換した画像を入力画像として使用する必要があります。
本ライブラリでは、様々な距離によって、色の違いを表します。 本ライブラリで使用される距離を以下に示します。 Fig4に、各距離の等距離線の関係を示します。
ユークリッド距離は、最も基本的な距離定義であり、K 次元空間の物理距離と一致します。
重み付きユークリッド距離は、 K 次元空間の各次元を一様に扱わない距離算定法です。 各次元の重要度を変えることにより、物理的距離としてではなく、なんらかの評価基準に基づいた計量的距離として定められます。
マンハッタン距離は、加算、減算のみからなっており、高速に大量の距離計算を乗算性能の劣るコンピュータで行う場合などにむいています。
マンハッタン距離が、各特徴軸にそった長さの和で距離を定義しているのに対し、チェビシェフ距離は各特徴軸にそった長さの最大値で定義します。
Fig4. 各ノルムの等距離線の関係
それぞれのクラス(チャネル)が多次元の正規分布に従うと仮定した場合に、マハラノビス距離は、あるデータからそれぞれのクラスまで最も自然な距離を与えます。 すなわち、クラスのもつ固有の分散による影響を正規化した空間での距離として定められます。
参考のために、Fig5に、2次元座標上でのマハラノビス距離を示します。 重心から各点への距離は、ユークリッド距離では、 a = c ≦ b = d となりますが、マハラノビス距離では、 a = b = c = d となります。 マハラノビス距離はデータの拡がり(分散)を考慮した距離であるため、このような結果となります。
Fig5. 2次元上でのマハラノビスノルム
平均ベクトルが

、分散共分散行例が

であるような多変数ベクトルで表される 一連のデータに対するマハラノビス距離は、次のように定義されます。
色彩検査では、多変数ベクトルが色の数値(R、G、Bの値など)、平均ベクトルと分散共分散行列はそれぞれ 色票でまとめられている平均値・分散共分散行列となります。
以後、本ライブラリでは、平面あるいは空間における幾何学的ベクトルの "長さ" の概念の一般化であり、 ベクトル空間に対して「距離」を与えるための数学の道具であるノルムとして距離を表現します。
マクロ定義
#define F_CC_CALCULATED_VARIANCE 0x00000001 |
#define F_CC_VALID_MAHALANOBIS 0x00000002 |
列挙型