(57)【特許請求の範囲】
【請求項１】
複数の照明器を用いて複数の照明条件で撮影された複数の画像を表す複数の画像ベクトルを記憶する記憶部と、
前記複数の画像ベクトルを含む行列を基底行列と係数行列とに分解し、前記基底行列に含まれる複数の基底画像ベクトルにより表される複数の基底画像のうち、基底画像内の特定領域の特徴量が所定条件を満たす前記基底画像を表す基底画像ベクトルの前記複数の画像ベクトルに対する射影成分に基づいて、前記複数の照明器の強度を決定する決定部と、
前記複数の照明器の強度を表す制御信号を出力する出力部と、
を備えることを特徴とする照明制御装置。
【請求項２】
前記特定領域の特徴量は、前記特定領域に含まれる複数の画素の画素値のばらつき度を表す特徴量であり、前記特定領域の特徴量が前記所定条件を満たす前記基底画像は、前記特徴量が閾値より大きい基底画像であることを特徴とする請求項１記載の照明制御装置。
【請求項３】
前記決定部は、第１の初期条件に基づく非負値行列因子分解により、前記複数の画像ベクトルを含む前記行列を前記基底行列と前記係数行列とに分解し、前記複数の基底画像のうち、いずれの基底画像内の前記特定領域の前記特徴量も前記閾値以下である場合、第２の初期条件に基づく非負値行列因子分解により、前記複数の画像ベクトルを含む前記行列を基底行列と係数行列とに分解し、前記第２の初期条件に基づく前記非負値行列因子分解により得られた前記基底行列を用いて、前記複数の照明器の強度を決定することを特徴とする請求項２記載の照明制御装置。
【請求項４】
前記特定領域の特徴量は、前記特定領域に含まれる複数の画素の画素値のばらつき度を表す特徴量であり、前記特定領域の特徴量が前記所定条件を満たす前記基底画像は、前記複数の基底画像のうち最大の特徴量に対応する基底画像であることを特徴とする請求項１記載の照明制御装置。
【請求項５】
前記決定部は、第１の初期条件に基づく非負値行列因子分解により、前記複数の画像ベクトルを含む前記行列を前記基底行列と前記係数行列とに分解し、前記第１の初期条件に基づく前記非負値行列因子分解により得られた前記基底行列を用いて、前記複数の照明器の強度を決定した後、第２の初期条件に基づく非負値行列因子分解により、前記複数の画像ベクトルを含む前記行列を基底行列と係数行列とに分解し、前記第２の初期条件に基づく前記非負値行列因子分解により得られた前記基底行列を用いて、前記複数の照明器の強度を変更することを特徴とする請求項４記載の照明制御装置。
【請求項６】
対象物を撮影した画像に対する画像処理を行う画像処理部をさらに備え、前記複数の照明器は、前記制御信号に基づいて前記対象物に照明を当てることを特徴とする請求項１乃至５のいずれか１項に記載の照明制御装置。
【請求項７】
コンピュータが、
複数の照明器を用いて複数の照明条件で撮影された複数の画像を表す複数の画像ベクトルを含む行列を、基底行列と係数行列とに分解し、
前記基底行列に含まれる複数の基底画像ベクトルにより表される複数の基底画像のうち、基底画像内の特定領域の特徴量が所定条件を満たす前記基底画像を表す基底画像ベクトルの前記複数の画像ベクトルに対する射影成分に基づいて、前記複数の照明器の強度を決定し、
前記複数の照明器の強度を表す制御信号を出力する、
ことを特徴とする照明制御方法。
【請求項８】
複数の照明器を用いて複数の照明条件で撮影された複数の画像を表す複数の画像ベクトルを含む行列を、基底行列と係数行列とに分解し、
前記基底行列に含まれる複数の基底画像ベクトルにより表される複数の基底画像のうち、基底画像内の特定領域の特徴量が所定条件を満たす前記基底画像を表す基底画像ベクトルの前記複数の画像ベクトルに対する射影成分に基づいて、前記複数の照明器の強度を決定する、
処理をコンピュータに実行させる照明制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、照明制御装置、照明制御方法、及び照明制御プログラムに関する。
【背景技術】
【０００２】
工場の製造ライン等において、製品上の領域又は部品に対して照明を当てて画像が撮影され、画像検査、画像計測、画像認識等の画像処理が行われることがある。このとき、オペレータが経験に基づいて事前に照明器の強度を調節することで、画像処理の目的に合った画像が撮影できるように照明条件を設定し、その後、設定した照明条件で画像を撮影することが多い。
【０００３】
３Ｄオブジェクトをモデル化し、レンダリングするシステムも知られている（例えば、特許文献１を参照）。このシステムは、主成分分析又は非負値行列因子分解（ＮＭＦ：Non-negative Matrix Factorization）を使用して、表面反射フィールドを表す行列に因子分解を実行する。
【０００４】
反射（又は透過）スペクトルの近似及び元の基準スペクトルの再構築のための方法も知られている（例えば、特許文献２を参照）。この方法は、スペクトルの基準集合を第２の空間に圧縮して、近似関数の集合を得るよう、スペクトルの基準集合を確立し、次元削減技術（例えば主成分分析又はＮＭＦ）を適用する。
【０００５】
ＮＭＦにより物体の部分を認識する方法も知られている（例えば、非特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１６４５７１号公報
【特許文献２】特表２０１２−５２３６２８号公報
【非特許文献】
【０００７】
【非特許文献１】D. D. Lee and H. S. Seung, “Learning the parts of objects by non-negative matrix factorization,” Nature, Vol. 401, 788-791 (1999)
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の製造ライン等における画像処理では、オペレータが設定した照明条件を変更することなく、対象物（部品又は領域）の画像が撮影される。このため、対象物に対して必ずしも最適な照明が当てられるわけではない。
【０００９】
なお、かかる問題は、製造ライン等において画像処理を行う場合に限らず、他の環境において対象物の画像を撮影する場合においても生ずるものである。
【００１０】
１つの側面において、本発明は、撮影する対象物に対して適切な照明を当てることを目的とする。
【課題を解決するための手段】
【００１１】
１つの案では、照明制御装置は、記憶部、決定部、及び出力部を含む。記憶部は、複数の照明器を用いて複数の照明条件で撮影された複数の画像を表す複数の画像ベクトルを記憶する。
【００１２】
決定部は、複数の画像ベクトルを含む行列を基底行列と係数行列とに分解する。そして、決定部は、基底行列に含まれる複数の基底画像ベクトルにより表される複数の基底画像のうち、ある基底画像を表す基底画像ベクトルの複数の画像ベクトルに対する射影成分に基づいて、複数の照明器の強度を決定する。ある基底画像は、基底画像内の特定領域の特徴量が所定条件を満たす基底画像である。出力部は、複数の照明器の強度を表す制御信号を出力する。
【発明の効果】
【００１３】
実施形態によれば、撮影する対象物に対して適切な照明を当てることができる。
【図面の簡単な説明】
【００１４】
【図１】照明制御装置の機能的構成図である。
【図２】照明制御処理のフローチャートである。
【図３】複数の対象物と複数の照明器を示す図である。
【図４】１つの照明器のみを用いる照明条件を示す図である。
【図５】対象物に応じた照明条件を示す図である。
【図６】照明条件に応じた撮影画像を示す図である。
【図７】第１の照明制御システムの構成図である。
【図８】第１の照明条件設定処理のフローチャートである。
【図９】第１の画素値行列を示す図である。
【図１０】ＮＭＦのフローチャートである。
【図１１】基底行列と係数行列を示す図である。
【図１２】特定領域を示す図である。
【図１３】特定領域の画素数を示す図である。
【図１４】射影成分の第１の計算方法を示す図である。
【図１５】射影成分と基底画像ベクトルとの第１の関係を示す図である。
【図１６】第２の照明条件設定処理のフローチャートである。
【図１７】第２の照明制御システムの構成図である。
【図１８】照明条件適用処理のフローチャートである。
【図１９】画像検査を示す図である。
【図２０】画像計測を示す図である。
【図２１】画像認識を示す図である。
【図２２】射影成分と基底画像ベクトルとの第２の関係を示す図である。
【図２３】第２の画素値行列を示す図である。
【図２４】射影成分の第２の計算方法を示す図である。
【図２５】情報処理装置の構成図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら、実施形態を詳細に説明する。
オペレータが設定した照明条件を変更することなく、対象物の画像を撮影する場合、多数の対象物について画像処理を行う場合であっても、対象物によって個別に照明条件が切り替えられることなく、全体で一律の照明条件が用いられる。
【００１６】
このような一律の照明条件では、各対象物に対して必ずしも最適な照明が当てられるわけではない。また、オペレータが対象物毎に適切な照明条件を事前に設定することは、極めて困難である。
【００１７】
図１は、実施形態の照明制御装置の機能的構成例を示している。図１の照明制御装置１０１は、記憶部１１１、決定部１１２、及び出力部１１３を含む。
【００１８】
記憶部１１１は、複数の照明器を用いて複数の照明条件で撮影された複数の画像を表す複数の画像ベクトルを記憶する。決定部１１２は、記憶部１１１が記憶する複数の画像ベクトルを用いて複数の照明器の強度を決定し、出力部１１３は、制御信号を出力する。
【００１９】
図２は、図１の照明制御装置１０１が行う照明制御処理の例を示すフローチャートである。まず、決定部１１２は、記憶部１１１が記憶する複数の画像ベクトルを含む行列を、基底行列と係数行列とに分解する（ステップ２０１）。
【００２０】
次に、決定部１１２は、基底行列に含まれる複数の基底画像ベクトルにより表される複数の基底画像のうち、ある基底画像を表す基底画像ベクトルの複数の画像ベクトルに対する射影成分に基づいて、複数の照明器の強度を決定する（ステップ２０２）。ある基底画像は、基底画像内の特定領域の特徴量が所定条件を満たす基底画像である。
【００２１】
そして、出力部１１３は、複数の照明器の強度を表す制御信号を出力する（ステップ２０３）。
【００２２】
このような照明制御装置１０１によれば、撮影する対象物に対して適切な照明を当てることができる。
【００２３】
工場の製造ライン等では多種多様な製品が扱われるため、製品の検査精度や計測精度を高めるためには、それらの製品の各部分を対象物として、各対象物に対して適切な照明を当てることが望ましい。
【００２４】
図３は、複数の対象物に対して、複数の照明器を用いて様々な方向から照明を当てる例を示している。図３の対象物３０１〜対象物３０３は、製品に含まれる部品等の物体であり、照明光Ｌ１〜照明光ＬＮ（Ｎは２以上の整数）は、Ｎ個の照明器のそれぞれから照射される。照明光Ｌ１〜照明光ＬＮの方向はそれぞれ異なり、照明光Ｌ１〜照明光ＬＮの強度は個別に調節可能である。
【００２５】
図４は、Ｎ個の照明器のうち１つの照明器のみを用いる照明条件の例を示している。例えば、図４（ａ）の照明条件では、対象物３０１〜対象物３０３に対して照明光Ｌ１のみが照射され、図４（ｂ）の照明条件では、対象物３０１〜対象物３０３に対して照明光Ｌ２のみが照射される。
【００２６】
１つの照明器のみを用いる照明条件に従って、対象物３０１〜対象物３０３に照明を当てて、対象物３０１〜対象物３０３の画像を撮影することで、個別の照明器の照明光に基づく画像が得られる。こうして、Ｎ個の照明器を用いて、照明光Ｌ１〜照明光ＬＮのそれぞれに基づくＮ個の画像が撮影される。記憶部１１１は、Ｎ個の画像を表すＮ個の画像ベクトルを記憶する。
【００２７】
決定部１１２は、Ｎ個の画像ベクトルを含む行列に対して、例えば、ＮＭＦを適用することで、その行列を基底行列と係数行列とに分解する。ＮＭＦは、非負値（０以上の実数）の要素からなる２次元配列である行列を、非負値の要素からなる行列同士の積に分解する変換である。分解により得られた２つの行列は、基底行列及び係数行列と呼ばれ、基底行列と係数行列とを乗算することで、元の行列を近似的に再構成することができる。
【００２８】
例えば、輝度、ＲＧＢのように、非負値の画素値を有する画像を用いる場合、画素値を画像ベクトルの要素として用いることで、Ｎ個の画像ベクトルを含む行列をＮＭＦによって自然に扱うことが可能になる。この場合、２次元の画像に含まれる複数の画素の画素値が、画素数と同じ数の要素からなる１次元のベクトルで表される。そして、複数の画像に対応する複数の画像ベクトルを並べることで、非負値の要素からなる行列が得られる。
【００２９】
非特許文献１によれば、ＮＭＦの基底行列には、基底の数だけの基底ベクトルが含まれており、各基底ベクトルは、２次元配列として見れば基底画像を表す。そして、この基底画像は、元の複数の画像の部分画像となる。ただし、どのような基底行列（基底画像）が得られるかは、ＮＭＦを行う際の基底行列及び係数行列の初期値によって変化する。
【００３０】
そこで、決定部１１２は、ＮＭＦにより得られた複数の基底画像のうち、注目する対象物の形状を明瞭に表している基底画像を選択し、その基底画像を表す基底ベクトル（基底画像ベクトル）を用いて、Ｎ個の照明器の強度を決定する。対象物の形状を明瞭に表している基底画像としては、基底画像内の特定領域の特徴量が所定条件を満たす基底画像が選択される。特定領域の特徴量としては、例えば、特定領域に含まれる複数の画素の画素値のばらつき度を表す指標を用いることができる。
【００３１】
ここで、画像の画素値は、その画像を撮影したときの照明光の強度に比例し、画像ベクトルの大きさも照明光の強度に比例する、と仮定することができる。そこで、決定部１１２は、元のＮ個の画像ベクトルに対する、選択した基底画像ベクトルの射影成分に基づいて、Ｎ個の照明器のそれぞれの強度を決定する。決定されたＮ個の照明器の強度の組み合わせは、対象物の形状を明瞭に表す画像を撮影するための照明条件を表している。注目する対象物に応じて適切な基底画像を選択することで、対象物毎に別々の照明条件を設定することができる。
【００３２】
出力部１１３は、決定されたＮ個の照明器の強度を表す制御信号を、それぞれの照明器へ出力する。これにより、各照明器は、決定された強度の照明光を対象物３０１〜対象物３０３へ照射する。
【００３３】
図５は、対象物に応じた照明条件の例を示している。例えば、図５（ａ）の照明条件では、照明光Ｌ１〜照明光ＬＮのうち、照明光Ｌ１及び照明光Ｌ２の強度が相対的に強く設定されており、図５（ｂ）の照明条件では、照明光Ｌ３及び照明光ＬＮの強度が相対的に強く設定されている。
【００３４】
図６は、照明条件に応じた撮影画像の例を示している。例えば、図５（ａ）の照明条件を設定した場合、図６（ａ）のような画像が撮影され、図５（ｂ）の照明条件を設定した場合、図６（ｂ）のような画像が撮影される。図６（ａ）の画像では、対象物３０１〜対象物３０３のうち、対象物３０３の形状が明瞭に表されており、図６（ｂ）の画像では、対象物３０２の形状が明瞭に表されている。
【００３５】
このように、複数の照明器の強度の組み合わせとして設定された照明条件に基づいて、それらの照明器を制御することで、特定の対象物を明瞭に表す画像を撮影することができる。これにより、各対象物に対して個別の照明光のみを照射する場合や、複数の対象物に対して一律の照明光を照射する場合と比較して、より正確な画像検査や画像計測を行うことが可能になる。
【００３６】
図７は、図１の照明制御装置１０１を含む照明制御システムの構成例を示している。図７の照明制御システム７０１は、照明制御装置１０１、撮像装置７１１、及び照明装置７１２を含み、照明制御装置１０１の決定部１１２は、生成部７２１、分解部７２２、設定部７２３、特徴量計算部７２４、判定部７２５、及び強度計算部７２６を含む。
【００３７】
撮像装置７１１は、例えば、カメラであり、対象物の画像を撮影し、撮影した画像を照明制御装置１０１へ出力する。照明装置７１２は、Ｎ個の照明器を含み、照明制御装置１０１から出力される制御信号に従って、それらの照明器の強度を調節する。
【００３８】
Ｎ個の照明器の形状及びサイズは同じである必要はなく、それらの照明器の光源も同じ種類である必要はない。例えば、様々なサイズのバー照明器、リング照明器、及びスポット照明器が混在していてもよく、赤色、青色、及び緑色の光源が混在していてもよい。
【００３９】
生成部７２１は、撮像装置７１１により撮影された複数の画像から、複数の画像ベクトルを含む画素値行列を生成し、分解部７２２は、画素値行列を基底行列と係数行列とに分解する。設定部７２３は、画像内に特定領域を設定し、特徴量計算部７２４は、基底画像内の特定領域の画像の特徴量を計算する。判定部７２５は、特定領域の特徴量が所定条件を満たすか否かをチェックし、強度計算部７２６は、特定領域の特徴量が所定条件を満たす基底画像を用いて、複数の照明器の強度を計算する。
【００４０】
図８は、図１の照明制御装置１０１が行う照明条件設定処理の例を示すフローチャートである。この照明条件設定処理は、図２のステップ２０１及びステップ２０２の処理に対応している。
【００４１】
まず、撮像装置７１１は、Ｎ個の照明条件のそれぞれを用いて、１つ以上の対象物を含む画像を撮影し、得られたＮ個の画像を照明制御装置１０１へ出力する（ステップ８０１）。Ｎ個の照明条件の各々は、例えば、いずれか１つの照明器のみを用いる照明条件であり、各画像は、Ｍ個（Ｍは１以上の整数）の画素を含む。
【００４２】
次に、生成部７２１は、撮像装置７１１により撮影されたＮ個の画像から、Ｎ個の画像ベクトルを含むＭ行Ｎ列の画素値行列を生成し（ステップ８０２）、分解部７２２は、ＮＭＦの初期条件を設定する（ステップ８０３）。このとき、分解部７２２は、例えば、基底行列及び係数行列の各要素の値として、正の小さな乱数値を設定し、基底の数Ｋとして、Ｎより小さな１以上の整数を設定することができる。
【００４３】
そして、分解部７２２は、生成部７２１が生成した画素値行列に対してＮＭＦを実行し（ステップ８０４）、Ｋ個の基底画像ベクトルを含むＭ行Ｋ列の基底行列を生成する（ステップ８０５）。
【００４４】
次に、設定部７２３は、画像内に注目する対象物の画像を含む特定領域を設定する（ステップ８０６）。このとき、設定部７２３は、注目する対象物の形状、サイズ、数等に応じて、特定領域の形状、サイズ、数等を決定することができる。複数の特定領域が存在する場合、設定部７２３は、それらの特定領域のうち１つの特定領域を設定する。
【００４５】
次に、特徴量計算部７２４は、分解部７２２が生成した基底行列に含まれるＫ個の基底画像ベクトルの１つを選択し、その基底画像ベクトルが表す基底画像を用いて、設定部７２３が設定した特定領域の画像の特徴量を計算する（ステップ８０７）。
【００４６】
次に、判定部７２５は、特定領域の特徴量が所定条件を満たすか否かをチェックする（ステップ８０８）。判定部７２５は、特定領域の特徴量が所定条件を満たす場合、その基底画像は有効であると判定し、特定領域の特徴量が所定条件を満たさない場合、その基底画像は無効であると判定する。
【００４７】
基底画像が有効である場合（ステップ８０８，ＹＥＳ）、強度計算部７２６は、その基底画像を表す基底画像ベクトルのＮ個の画像ベクトルに対する射影成分を計算する（ステップ８０９）。そして、強度計算部７２６は、計算した射影成分に基づいてＮ個の照明器のそれぞれの強度を計算し、計算したＮ個の照明器の強度と設定部７２３が設定した特定領域とを対応付ける照明条件を生成して、記憶部１１１に格納する（ステップ８１０）。
【００４８】
次に、設定部７２３は、すべての特定領域を処理したか否かをチェックする（ステップ８１１）。未処理の特定領域が残っている場合（ステップ８１１，ＮＯ）、設定部７２３は、次の特定領域についてステップ８０６以降の処理を繰り返す。
【００４９】
選択された基底画像が無効である場合（ステップ８０８，ＮＯ）、特徴量計算部７２４は、すべての基底画像ベクトルを処理したか否かをチェックする（ステップ８１２）。未処理の基底画像ベクトルが残っている場合（ステップ８１２，ＮＯ）、特徴量計算部７２４は、次の基底画像ベクトルについてステップ８０７以降の処理を繰り返す。そして、すべての基底画像ベクトルが処理済みになった場合（ステップ８１２，ＹＥＳ）、設定部７２３は、ステップ８１１以降の処理を行う。
【００５０】
ステップ８０７〜ステップ８１０及びステップ８１２の処理によれば、Ｋ個の基底画像のうちいずれか１つが有効であれば、設定された特定領域に対する照明条件が生成されて、記憶部１１１に格納される。一方、すべての基底画像が無効であれば、設定された特定領域に対する照明条件は生成されない。
【００５１】
すべての特定領域が処理済みになった場合（ステップ８１１，ＹＥＳ）、強度計算部７２６は、すべての特定領域に対して照明条件が生成されたか否かをチェックする（ステップ８１３）。いずれかの特定領域に対して照明条件が生成されていない場合（ステップ８１３，ＮＯ）、分解部７２２は、ＮＭＦの初期条件を変更して、ステップ８０３以降の処理を繰り返す。
【００５２】
このとき、分解部７２２は、基底行列及び係数行列の各要素の値と基底の数Ｋのうち、１つ又は複数の値を変更することができる。初期条件を変更してＮＭＦを繰り返すことで、有効な基底画像が生成される可能性が高くなる。そして、すべての特定領域に対して照明条件が生成された場合（ステップ８１３，ＹＥＳ）、照明制御装置１０１は、照明条件設定処理を終了する。
【００５３】
初期条件を変更してＮＭＦを再度実行したとき、ステップ８０６において、設定部７２３は、既に照明条件が生成されている特定領域を処理対象から除外しても構わない。
【００５４】
あるいは、設定部７２３が、既に照明条件が生成されている特定領域を処理対象として再度設定し、判定部７２５が、その特定領域の特徴量を、以前のＮＭＦにより得られた特徴量と比較してもよい。強度計算部７２６は、例えば、今回のＮＭＦにより得られた特徴量が以前の値より大きい場合、今回のＮＭＦにより得られた基底行列を用いて、Ｎ個の照明器の強度を再度計算することができる。
【００５５】
出力部１１３は、記憶部１１１に格納された特定領域毎の照明条件に基づいて、Ｎ個の照明器の強度を表す制御信号を照明装置７１２へ出力する。これにより、各照明器の強度が、特定領域の撮影に適した強度に調節される。
【００５６】
図９は、図８のステップ８０２における画素値行列の例を示している。例えば、図４に示した照明条件を用いて対象物３０１〜対象物３０３の画像を撮影すると、図４（ａ）の照明条件では、照明光Ｌ１に基づくＭ画素の画像９０１が得られ、図４（ｂ）の照明条件では、照明光Ｌ２に基づくＭ画素の画像９０２が得られる。同様にして、照明光Ｌ３〜照明光ＬＮに基づくＭ画素の画像も得られる。例えば、各画像の画素値は、輝度を表す。
【００５７】
照明光Ｌ１〜照明光ＬＮの強度としては、例えば、撮影した画像が極端に明る過ぎたり暗過ぎたりしない適当な強度を用いることができる。生成部７２１は、照明光Ｌ１〜照明光ＬＮの強度を、基準強度として記憶部１１１に格納する。
【００５８】
次に、生成部７２１は、得られたＮ個の画像の各々に含まれるＭ個の画素値をＭ個の要素とする画像ベクトルを生成する。これにより、画像９０１から画像ベクトル９１１が生成され、画像９０２から画像ベクトル９１２が生成される。そして、生成部７２１は、Ｎ個の画像ベクトルを列ベクトルとして含むＭ行Ｎ列の画素値行列９２１を生成する。
【００５９】
図１０は、図８のステップ８０４におけるＮＭＦの例を示すフローチャートである。まず、分解部７２２は、初期条件として設定されたＭ行Ｋ列の基底行列及びＫ行Ｎ列の係数行列の各要素の値を微小量だけ変化させ（ステップ１００１）、変更後の基底行列と係数行列とを乗算して、Ｍ行Ｎ列の再構成行列を生成する（ステップ１００２）。次に、分解部７２２は、生成部７２１が生成した画素値行列と再構成行列との間の相違度を収束閾値と比較する（ステップ１００３）。収束閾値としては、十分に小さな値が用いられる。
【００６０】
相違度が収束閾値以上である場合（ステップ１００３，ＮＯ）、分解部７２２は、基底行列及び係数行列の各要素の値をさらに微小量だけ変化させて（ステップ１００１）、ステップ１００２以降の処理を繰り返す。そして、相違度が収束閾値より小さくなった場合（ステップ１００３，ＹＥＳ）、分解部７２２は、処理を終了する。これにより、Ｍ行Ｎ列の画素値行列が、Ｍ行Ｋ列の基底行列とＫ行Ｎ列の係数行列とに分解される。
【００６１】
例えば、図９の画素値行列９２１に対するＮＭＦが実行されると、図１１に示すように、基底行列１１０１と係数行列１１０２とが乗算され、再構成行列１１０３が生成される。そして、画素値行列９２１と再構成行列１１０３との間の相違度が計算されて、収束閾値と比較される。
【００６２】
画素値行列のｉ行ｊ列（ｉ＝１〜Ｍ，ｊ＝１〜Ｎ）の要素をＡｉｊと表記し、再構成行列のｉ行ｊ列の要素をＲｉｊと表記すると、画素値行列と再構成行列との間の相違度として、例えば、以下のような指標を用いることができる。
【００６３】
（１）行列要素の差分の二乗和Ｓ１
【数１】
0006390357.tif 000002
【００６４】
（２）行列要素の差分の絶対値和Ｓ２
【数２】
0006390357.tif 000003
【００６５】
（３）行列要素の差分の最大値Ｓ３
【数３】
0006390357.tif 000004
【００６６】
式（１１）及び式（１２）の記号Σi,jは、ｉ＝１〜Ｍ及びｊ＝１〜Ｎについての総和を表し、式（１３）の記号Ｍａｘi,jは、ｉ＝１〜Ｍ及びｊ＝１〜Ｎの範囲における｜Ａｉｊ−Ｒｉｊ｜の最大値を表す。
【００６７】
ＮＭＦにより得られた基底行列に含まれるＫ個の列ベクトルの各々は、基底画像ベクトルに対応し、Ｍ画素の基底画像を表す。Ｋ個の基底画像の各々には、元のＮ個の画像内の何らかの部分的な領域の画像が現れることが期待できる。例えば、複数の部品を含む製品の場合、各基底画像にいずれかの部品の画像が現れることが期待できる。
【００６８】
このとき、Ｋ個の基底画像のうち特定領域の画像が特に明瞭な基底画像を撮影できる照明条件を設定することが望ましい。ここで、明瞭な画像とは、対象物がはっきりと現れており、画像処理を正確に実行できるような画像を意味している。
【００６９】
図１２は、図８のステップ８０６において設定される特定領域の例を示している。例えば、対象物３０１〜対象物３０３の画像１２０１として、対象物３０３を明瞭に表す画像を撮影したい場合、対象物３０３を含む特定領域１２０２が設定される。また、対象物３０２を明瞭に表す画像を撮影したい場合、対象物３０２を含む特定領域１２０３が設定される。
【００７０】
特定領域の形状は、必ずしも矩形である必要はなく、複数の特定領域が互いに重なっていても構わない。撮影された画像に対する画像処理の許容時間及び許容精度に応じて、特定領域のサイズ及び数を変更することもできる。
【００７１】
図８のステップ８０８において計算される特徴量としては、例えば、特定領域に含まれる複数の画素の画素値のばらつき度を表す指標を用いることができる。画素値のばらつき度を表す指標を用いることで、特定領域を明瞭に表す基底画像を選択することが可能になる。この指標として、例えば、特定領域のコントラスト又は輝度分散を用いてもよい。
【００７２】
図１３に示すように、特定領域１３０１の水平方向の画素数をＮｘとし、垂直方向の画素数をＮｙとし、ｉ行ｊ列（ｉ＝１〜Ｎｘ，ｊ＝１〜Ｎｙ）の画素の輝度をＩ（ｉ，ｊ）とすると、コントラスト及び輝度分散は、次式により計算することができる。
【００７３】
（１）コントラストＣ
【数４】
0006390357.tif 000005
【００７４】
（２）輝度分散Ｖ
【数５】
0006390357.tif 000006
【００７５】
式（１４）の記号Ｍａｘi,jは、ｉ＝１〜Ｎｘ及びｊ＝１〜Ｎｙの範囲におけるＩ（ｉ，ｊ）の最大値を表し、記号Ｍｉｎi,jは、ｉ＝１〜Ｎｘ及びｊ＝１〜Ｎｙの範囲におけるＩ（ｉ，ｊ）の最小値を表す。式（１５）及び式（１６）の記号Σi,jは、ｉ＝１〜Ｎｘ及びｊ＝１〜Ｎｙについての総和を表し、Ｅは、特定領域の平均輝度を表す。
【００７６】
このような指標を特徴量として用いた場合、判定部７２５は、特定領域の特徴量が判定閾値より大きければ、基底画像は有効であると判定し、特定領域の特徴量が判定閾値以下であれば、基底画像は無効であると判定することができる。
【００７７】
例えば、輝度分散Ｖを特徴量として用いた場合、判定閾値としては、画像全体の平均的な輝度分散よりも大きな値が望ましく、画像全体の輝度分散の２倍の値であってもよい。このような判定閾値を用いることで、対象物を明瞭に表す基底画像を選択することが可能になる。
【００７８】
図１４は、図８のステップ８０９における射影成分の計算方法の例を示している。強度計算部７２６は、基底行列１１０１から選択された基底画像ベクトルＢ１と、画素値行列９２１のｊ番目（ｊ＝１〜Ｎ）の画像ベクトルＶｊとを用いて、基底画像ベクトルＢ１の画像ベクトルＶｊに対する射影成分ｎｊを計算する。
【００７９】
図１５は、Ｎ＝２の場合における射影成分ｎ１及び射影成分ｎ２と基底画像ベクトルＢ１との関係を示している。射影成分ｎ１は、画像ベクトルＶ１が示す直線上に、基底画像ベクトルＢ１を直交射影により射影したときの成分であり、射影成分ｎ２は、画像ベクトルＶ２が示す直線上に、基底画像ベクトルＢ１を直交射影により射影したときの成分である。射影成分ｎ１に対応するベクトルと射影成分ｎ２に対応するベクトルとを適切に合成することで、基底画像ベクトルＢ１を再構成することができる。
【００８０】
画像ベクトルＶ１と同じ方向の単位ベクトルＥ１と、画像ベクトルＶ２と同じ方向の単位ベクトルＥ２は、次式により表すことができる。
【００８１】
Ｅ１＝Ｖ１／｜Ｖ１｜      （２１）
Ｅ２＝Ｖ２／｜Ｖ２｜      （２２）
【００８２】
｜Ｖ１｜及び｜Ｖ２｜は、それぞれ、画像ベクトルＶ１及び画像ベクトルＶ２の大きさを表す。ベクトルｖとベクトルｗとの内積を（ｖ，ｗ）と表記すると、射影成分ｎ１及び射影成分ｎ２は、次式により計算することができる。
【００８３】
ｎ１＝（Ｂ１，Ｅ１）      （２３）
ｎ２＝（Ｂ１，Ｅ２）      （２４）
【００８４】
ここで、画像ベクトルＶ１が表す画像を撮影したときの照明光Ｌ１の基準強度をｈ１とし、画像ベクトルＶ２が表す画像を撮影したときの照明光Ｌ２の基準強度をｈ２とする。また、画像ベクトルの大きさは、その画像ベクトルが表す画像を撮影したときの照明光の強度に比例すると仮定する。
【００８５】
この場合、図８のステップ８１０において、強度計算部７２６は、基底画像ベクトルＢ１が表す基底画像を撮影するための照明光Ｌ１の強度ａ１と照明光Ｌ２の強度ａ２を、次式により計算することができる。
【００８６】
ａ１＝（ｎ１／｜Ｖ１｜）・ｈ１      （２５）
ａ２＝（ｎ２／｜Ｖ２｜）・ｈ２      （２６）
【００８７】
同様にして、Ｎが３以上である場合、強度計算部７２６は、画像ベクトルＶｊが表す画像を撮影したときの照明光Ｌｊの基準強度ｈｊを用いて、照明光Ｌｊの強度ａｊを次式により計算することができる。
【００８８】
ａｊ＝（ｎｊ／｜Ｖｊ｜）・ｈｊ      （２７）
ｎｊ＝（Ｂ１，Ｅｊ）      （２８）
Ｅｊ＝Ｖｊ／｜Ｖｊ｜      （２９）
【００８９】
ＮＭＦの性質上、式（２７）により計算される強度ａ１〜強度ａＮは、すべて非負値である。このように、各画像ベクトルに対する基底画像ベクトルの射影成分に基づいて、各照明光の強度を決定することで、特定領域を明瞭に表す画像を撮影することが可能になる。
【００９０】
図９の画素値行列の例では、Ｎ個の照明条件の各々は、いずれか１つの照明器のみを用いる照明条件であるが、Ｎ個の照明条件の各々は、Ｎ個の照明器のうち特定の複数の照明器を用いる照明条件であっても構わない。
【００９１】
例えば、図８のステップ８０１において、画像ベクトルＶｊに対応する画像を撮影するためのｊ番目（ｊ＝１〜Ｎ）の照明条件として、照明光Ｌ１〜照明光ＬＮの基準強度をｈｊ１〜ｈｊＮに設定する照明条件を用いた場合について考察する。この場合、ステップ８０９において、強度計算部７２６は、基底画像ベクトルＢ１の画像ベクトルＶｊに対する射影成分ｎｊを、式（２８）及び式（２９）により計算する。
【００９２】
そして、ステップ８１０において、強度計算部７２６は、基底画像ベクトルＢ１が表す基底画像を撮影するための照明光Ｌｐ（ｐ＝１〜Ｎ）の強度ａｐを、基準強度ｈ１ｐ〜基準強度ｈＮｐを用いて次式により計算することができる。
【００９３】
ａｐ＝（ｎ１／｜Ｖ１｜）・ｈ１ｐ＋（ｎ２／｜Ｖ２｜）・ｈ２ｐ
＋・・・＋（ｎＮ／｜ＶＮ｜）・ｈＮｐ                    （３０）
【００９４】
なお、ステップ８０１において、基準強度ｈｊ１〜基準強度ｈｊＮのうち１つ以上の基準強度を０に設定すれば、基準強度０の照明器を除く残りの照明器を用いて画像を撮影することができる。
【００９５】
図８の照明条件設定処理によれば、初期条件を変更してＮＭＦを繰り返すことで、それぞれの特定領域に対して、有効な基底画像に基づく適切な照明条件が設定される。
【００９６】
ところで、図８の照明条件設定処理では、Ｋ個の基底画像のうち少なくとも１つの基底画像が有効である場合に限って照明条件を生成しているが、基底画像が有効か否かの判定を行わずに照明条件を生成することも可能である。
【００９７】
図１６は、このような照明条件設定処理の例を示すフローチャートである。この照明条件設定処理は、図２のステップ２０１及びステップ２０２の処理に対応している。図１６のステップ１６０１〜ステップ１６０６及びステップ１６１１〜ステップ１６１３の処理は、図８のステップ８０１〜ステップ８０６及びステップ８０９〜ステップ８１１の処理と同様である。
【００９８】
設定部７２３により特定領域が設定されると（ステップ１６０６）、特徴量計算部７２４は、分解部７２２が生成した基底行列に含まれるＫ個の基底画像ベクトルの１つを選択する（ステップ１６０７）。そして、特徴量計算部７２４は、その基底画像ベクトルが表す基底画像を用いて、特定領域の画像の特徴量を計算し（ステップ１６０８）、すべての基底画像ベクトルを処理したか否かをチェックする（ステップ１６０９）。
【００９９】
未処理の基底画像ベクトルが残っている場合（ステップ１６０９，ＮＯ）、特徴量計算部７２４は、次の基底画像ベクトルについてステップ１６０７以降の処理を繰り返す。そして、すべての基底画像ベクトルが処理済みになった場合（ステップ１６０９，ＹＥＳ）、特徴量計算部７２４は、Ｋ個の基底画像ベクトルのうち、最大の特徴量を有する基底画像ベクトルを選択する（ステップ１６１０）。
【０１００】
強度計算部７２６は、特徴量計算部７２４が選択した、最大の特徴量を有する基底画像ベクトルを用いて、ステップ１６１１以降の処理を行う。
【０１０１】
ステップ１６０７〜ステップ１６１２の処理によれば、Ｋ個の基底画像ベクトルのうちいずれか１つを用いて特定領域に対する照明条件が生成され、記憶部１１１に格納される。
【０１０２】
すべての特定領域が処理済みになった場合（ステップ１６１３，ＹＥＳ）、分解部７２２は、ＮＭＦの実行回数が所定回数に達したか否かをチェックする（ステップ１６１４）。所定回数としては、１回以上の回数を用いることができる。ＮＭＦの実行回数が所定回数未満である場合（ステップ１６１４，ＮＯ）、分解部７２２は、ＮＭＦの初期条件を変更して、ステップ１６０３以降の処理を繰り返す。
【０１０３】
２回目以降のＮＭＦが実行された場合、ステップ１６１０において、特徴量計算部７２４は、同じ特定領域に対してこれまでに計算された特徴量のうち、最大の特徴量を有する基底画像ベクトルを選択する。したがって、選択された基底画像ベクトルは、今回のＮＭＦにより生成された基底画像ベクトル、又は前回までのＮＭＦにより生成された基底画像ベクトルのいずれかである。
【０１０４】
選択された基底画像ベクトルが前回までのＮＭＦにより生成された基底画像ベクトルである場合、その基底画像ベクトルを用いて生成された照明条件が、既に記憶部１１１に格納されている。このため、強度計算部７２６は、ステップ１６１１及びステップ１６１２の処理を省略してもよい。
【０１０５】
一方、選択された基底画像ベクトルが今回のＮＭＦにより生成された基底画像ベクトルである場合、強度計算部７２６は、その基底画像ベクトルを用いてステップ１６１１及びステップ１６１２の処理を行い、記憶部１１１に格納されている照明条件を更新する。これにより、選択された特定領域に対するＮ個の照明器の強度が変更される。
【０１０６】
ＮＭＦの実行回数が所定回数に達した場合（ステップ１６１４，ＹＥＳ）、照明制御装置１０１は、照明条件設定処理を終了する。
【０１０７】
このような照明条件設定処理によれば、いずれの特定領域についても、Ｎ個の照明器の強度を随時変更しながら最適な照明条件が探索される。この場合、必ずしも最適な照明条件が得られない可能性もあるが、照明条件設定処理の処理時間を一定の範囲に抑えながら、良好な照明条件を効率よく得ることができる。
【０１０８】
図１７は、図１の照明制御装置１０１を含む照明制御システムの別の構成例を示している。図１７の照明制御システム１７０１は、照明制御装置１０１、撮像装置７１１、及び照明装置７１２を含み、照明制御装置１０１は、図７の照明制御装置１０１に画像処理部１７１１及び出力部１７１２を追加した構成を有する。
【０１０９】
画像処理部１７１１は、決定部１１２により生成されて記憶部１１１に格納された、特定領域毎の照明条件を適用して撮影対象の画像を撮影し、撮影した画像に対する画像処理を行う。出力部１７１２は、画像処理部１７１１による画像処理の処理結果を出力する。
【０１１０】
図１８は、図１７の照明制御装置１０１が行う照明条件適用処理の例を示すフローチャートである。この照明条件適用処理は、図２のステップ２０３の処理に対応している。まず、オペレータは、撮像装置７１１による撮影が可能な場所に撮影対象を設置する（ステップ１８０１）。
【０１１１】
次に、画像処理部１７１１は、画像処理の対象である１つ以上の特定領域のうち１つの特定領域を選択する（ステップ１８０２）。そして、画像処理部１７１１は、記憶部１１１が記憶する１つ以上の照明条件のうち、選択した特定領域に対する照明条件を参照して、複数の照明器の強度を決定する（ステップ１８０３）。出力部１１３は、それらの照明器の強度を表す制御信号を照明装置７１２へ出力する。これにより、複数の照明器の強度が、特定領域の撮影に適した強度に調節される。
【０１１２】
次に、画像処理部１７１１は、画像の撮影を撮像装置７１１に指示する（ステップ１８０４）。これにより、撮像装置７１１は、撮影対象の画像を撮影し、得られた画像を照明制御装置１０１へ出力する。
【０１１３】
次に、画像処理部１７１１は、撮像装置７１１が撮影した画像を用いて、特定領域に対する画像検査、画像計測、画像認識等の画像処理を行い（ステップ１８０５）、出力部１７１２は、処理結果を出力する。
【０１１４】
次に、画像処理部１７１１は、すべての特定領域を処理したか否かをチェックし（ステップ１８０６）、未処理の特定領域が残っている場合（ステップ１８０６，ＮＯ）、次の特定領域についてステップ８０６以降の処理を繰り返す。そして、すべての特定領域が処理済みになった場合（ステップ１８０６，ＹＥＳ）、照明制御装置１０１は、照明条件適用処理を終了する。
【０１１５】
図１９は、図１８のステップ１８０５で行われる画像検査の例を示している。図１９の画像において、画像検査は、対象物３０２を含む特定領域に対して行われる。オペレータは、例えば、「良」又は「不良」の判定結果を画像処理部１７１１に対して入力することができ、出力部１７１２は、その判定結果を処理結果として出力することができる。
【０１１６】
図１９の画像では、対象物３０２には傷１９０１が存在するため、オペレータは、「不良」の判定結果を画像処理部１７１１に対して入力し、出力部１７１２は、「不良」の判定結果を出力する。オペレータに代わって、画像処理部１７１１が「良」又は「不良」の判定結果を生成してもよい。
【０１１７】
図２０は、図１８のステップ１８０５で行われる画像計測の例を示している。図２０の画像において、画像計測は、対象物３０２を含む特定領域に対して行われる。この場合、画像処理部１７１１は、基準位置２００１と対象物３０２の位置２００２との間の距離を計測することができ、出力部１７１２は、その距離を処理結果として出力することができる。
【０１１８】
図２１は、図１８のステップ１８０５で行われる画像認識の例を示している。図２１の画像において、画像認識は、対象物３０２を含む特定領域に対して行われる。この場合、記憶部１１１は、部品モデル２１０１〜部品モデル２１０３の形状データを記憶することができる。また、画像処理部１７１１は、特定領域の画像から対象物３０２の形状を抽出し、抽出した形状を部品モデル２１０１〜部品モデル２１０３の形状データと比較して、最も類似する部品モデルを特定することができる。そして、出力部１７１２は、特定された部品モデルを示す部品名を処理結果として出力することができる。
【０１１９】
図１８の照明条件適用処理によれば、特定領域が明瞭な画像が得られるため、特定領域に対する画像処理の精度を向上させることができる。
【０１２０】
図１の照明制御装置１０１、図７の照明制御システム７０１、及び図１７の照明制御システム１７０１の構成は一例に過ぎず、照明制御装置１０１の用途や条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図７の照明制御システム７０１又は図１７の照明制御システム１７０１において、撮像装置７１１が画素値行列を生成する場合は、生成部７１１を省略することができる。
【０１２１】
画像内の特定領域が１つしか存在せず、その特定領域があらかじめ設定されている場合は、設定部７２３を省略することができ、図８の照明条件設定処理の代わりに、図１６の照明条件設定処理が行われる場合は、判定部７２５を省略することができる。
【０１２２】
図２、図８、図１０、図１６、及び図１８のフローチャートは一例に過ぎず、照明制御装置１０１の構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、画像内の特定領域が１つしか存在せず、その特定領域があらかじめ設定されている場合は、図８のステップ８０６及びステップ８１１、図１６のステップ１６０６及びステップ１６１３の処理を省略することができる。ＮＭＦを繰り返さない場合は、図８のステップ８１３及び図１６のステップ１６１４の処理を省略することができる。
【０１２３】
図８のステップ８０９又は図１６のステップ１６１１において、基底画像ベクトルＢ１の画像ベクトルＶｊに対する射影成分として、斜交射影に基づく射影成分を用いることも可能である。
【０１２４】
図２２は、Ｎ＝２の場合における、斜交射影に基づく射影成分ｔ１及び射影成分ｔ２と基底画像ベクトルＢ１との関係を示している。射影成分ｔ１は、画像ベクトルＶ１が示す直線上に、基底画像ベクトルＢ１を斜交射影により射影したときの成分であり、射影成分ｔ２は、画像ベクトルＶ２が示す直線上に、基底画像ベクトルＢ１を斜交射影により射影したときの成分である。射影成分ｔ１に対応するベクトルと射影成分ｔ２に対応するベクトルとを適切に合成することで、基底画像ベクトルＢ１を再構成することができる。
【０１２５】
Ｎが３以上である場合も、同様にして、画像ベクトルＶｊ（ｊ＝１〜Ｎ）が示す直線上に、基底画像ベクトルＢ１を斜交射影により射影したときの射影成分ｔｊを求めることができる。そして、強度計算部７２６は、式（２７）と同様にして、照明光Ｌｊの強度ａｊを次式により計算することができる。
【０１２６】
ａｊ＝（ｔｊ／｜Ｖｊ｜）・ｈｊ      （３１）
【０１２７】
また、直交射影の場合と同様に、画像を撮影するためのｊ番目（ｊ＝１〜Ｎ）の照明条件として、照明光Ｌ１〜照明光ＬＮの基準強度をｈｊ１〜ｈｊＮに設定する照明条件を用いることも可能である。この場合、強度計算部７２６は、式（３０）と同様にして、照明光Ｌｐ（ｐ＝１〜Ｎ）の強度ａｐを、基準強度ｈ１ｐ〜基準強度ｈＮｐを用いて次式により計算することができる。
【０１２８】
ａｐ＝（ｔ１／｜Ｖ１｜）・ｈ１ｐ＋（ｔ２／｜Ｖ２｜）・ｈ２ｐ
＋・・・＋（ｔＮ／｜ＶＮ｜）・ｈＮｐ                    （３２）
【０１２９】
図８のステップ８０２又は図１６のステップ１６０２において、輝度の代わりにカラー画像の画素値を用いることも可能である。
【０１３０】
図２３は、画素値としてＲＧＢを用いた場合の画素値行列の例を示している。この場合、３Ｍ行Ｎ列の画素値行列２３０１は、Ｍ行Ｎ列のＲ成分の部分行列２３１１、Ｍ行Ｎ列のＧ成分の部分行列２３１２、及びＭ行Ｎ列のＢ成分の部分行列２３１３を含む。部分行列２３１１の各要素はＲ成分の色信号を表し、部分行列２３１２の各要素はＧ成分の色信号を表し、部分行列２３１３の各要素はＢ成分の色信号を表す。
【０１３１】
画素値行列２３０１は、ＮＭＦにより、３Ｍ行Ｋ列の基底行列２３０２とＫ行Ｎ列の係数行列２３０３とに分解される。基底行列２３０２は、Ｍ行Ｋ列のＲ成分の部分行列２３２１、Ｍ行Ｋ列のＧ成分の部分行列２３２２、及びＭ行Ｋ列のＢ成分の部分行列２３２３を含む。
【０１３２】
図２４は、図２３の画素値行列２３０１を用いた場合における射影成分の計算方法の例を示している。この場合、部分行列２３２１から選択された基底画像ベクトルＢ１（Ｒ）と、部分行列２３１１の画像ベクトルＶ１（Ｒ）とを用いて、基底画像ベクトルＢ１（Ｒ）の画像ベクトルＶ１（Ｒ）に対する射影成分ｎ１（Ｒ）が計算される。基底画像ベクトルＢ１（Ｒ）のｊ番目（ｊ＝２〜Ｎ）の画像ベクトルＶｊ（Ｒ）に対する射影成分ｎｊ（Ｒ）も、同様にして計算される。
【０１３３】
また、部分行列２３２２から選択された基底画像ベクトルＢ１（Ｇ）と、部分行列２３１２の画像ベクトルＶ１（Ｇ）とを用いて、基底画像ベクトルＢ１（Ｇ）の画像ベクトルＶ１（Ｇ）に対する射影成分ｎ１（Ｇ）が計算される。基底画像ベクトルＢ１（Ｇ）のｊ番目（ｊ＝２〜Ｎ）の画像ベクトルＶｊ（Ｇ）に対する射影成分ｎｊ（Ｇ）も、同様にして計算される。
【０１３４】
さらに、部分行列２３２３から選択された基底画像ベクトルＢ１（Ｂ）と、部分行列２３１３の画像ベクトルＶ１（Ｂ）とを用いて、基底画像ベクトルＢ１（Ｂ）の画像ベクトルＶ１（Ｂ）に対する射影成分ｎ１（Ｂ）が計算される。基底画像ベクトルＢ１（Ｂ）のｊ番目（ｊ＝２〜Ｎ）の画像ベクトルＶｊ（Ｂ）に対する射影成分ｎｊ（Ｂ）も、同様にして計算される。
【０１３５】
そして、ＲＧＢの各色について、式（２７）又は式（３０）を用いて各照明光の強度が計算され、照明条件が生成される。この場合、照明装置７１２に含まれる各照明器として、ＲＧＢ３色のLight Emitting Diode（ＬＥＤ）を用いることができる。そして、図１８のステップ１８０３において、画像処理部１７１１は、ＲＧＢに対する３つの照明条件を、それぞれの色のＬＥＤに対して適用することができる。
【０１３６】
各照明器として単色のＬＥＤ又はその他の照明器を用いた場合、画像処理部１７１１は、ＲＧＢに対する３つの照明条件のうち、いずれかの色に対する照明条件を選択して適用することも可能である。直交射影に基づく各色の射影成分の代わりに、斜交射影に基づく各色の射影成分を用いてもよい。
【０１３７】
図１０のステップ１００１において、基底行列及び係数行列のすべての要素を変化させる代わりに、基底行列又は係数行列の一部の要素のみを変化させてもよい。
【０１３８】
画像内の特定領域が１つしか存在しない場合は、図１８のステップ１８０２及びステップ１８０６の処理を省略することができる。図１８のステップ１８０５において、画像処理部１７１１は、画像検査、画像計測、及び画像認識以外の画像処理を行ってもよい。
【０１３９】
図３〜図６、図９、図１２、及び図１９〜図２１の対象物３０１〜対象物３０３は一例に過ぎず、撮像装置７１１は、別の対象物を撮影してもよい。図１２の特定領域１２０２及び特定領域１２０３は一例に過ぎず、設定部７２３は、別の特定領域を設定してもよい。
【０１４０】
図１９の画像検査は一例に過ぎず、画像処理部１７１１は、対象物３０２の傷１９０１以外に、対象物の有無、対象物の向き等の別の項目を検査してもよい。図２０の画像計測は一例に過ぎず、画像処理部１７１１は、対象物３０２の位置２００２以外に、対象物の幅、高さ、奥行き、２つの対象物の間隔等の別の項目を計測してもよい。図２１の画像認識は一例に過ぎず、画像処理部１７１１は、対象物３０２の形状以外に、対象物の色、模様等の別の特徴を認識してもよい。
【０１４１】
図１、図７、及び図１７の照明制御装置１０１は、例えば、図２５に示すような情報処理装置を用いて実現可能である。
【０１４２】
図２５の情報処理装置は、Central Processing Unit（ＣＰＵ）２５０１、メモリ２５０２、入力装置２５０３、出力装置２５０４、補助記憶装置２５０５、媒体駆動装置２５０６、及びネットワーク接続装置２５０７を含む。図２５の情報処理装置は、さらに、インタフェース２５０８及びインタフェース２５０９を含む。これらの構成要素はバス２５１０により互いに接続されている。
【０１４３】
メモリ２５０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、照明制御処理に用いられるプログラム及びデータを格納する。メモリ２５０２は、図１、図７、及び図１７の記憶部１１１として用いることができる。
【０１４４】
ＣＰＵ２５０１（プロセッサ）は、例えば、メモリ２５０２を利用してプログラムを実行することにより、図１、図７、及び図１７の決定部１１２として動作する。ＣＰＵ２５０１は、図７及び図１７の生成部７２１、分解部７２２、設定部７２３、特徴量計算部７２４、判定部７２５、及び強度計算部７２６としても動作し、図１７の画像処理部１７１１としても動作する。
【０１４５】
入力装置２５０３は、例えば、キーボード、ポインティングデバイス等であり、オペレータからの指示や情報の入力に用いられる。出力装置２５０４は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータへの問い合わせや処理結果の出力に用いられる。出力装置２５０４は、図１７の出力部１７１２として用いることができる。
【０１４６】
補助記憶装置２５０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置２５０５は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置２５０５にプログラム及びデータを格納しておき、それらをメモリ２５０２にロードして使用することができる。補助記憶装置２５０５は、図１、図７、及び図１７の記憶部１１１として用いることができる。
【０１４７】
媒体駆動装置２５０６は、可搬型記録媒体２５１１を駆動し、その記録内容にアクセスする。可搬型記録媒体２５１１は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体２５１１は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等であってもよい。オペレータは、この可搬型記録媒体２５１１にプログラム及びデータを格納しておき、それらをメモリ２５０２にロードして使用することができる。
【０１４８】
このように、照明制御処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ２５０２、補助記憶装置２５０５、又は可搬型記録媒体２５１１のような、物理的な（非一時的な）記録媒体である。
【０１４９】
ネットワーク接続装置２５０７は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。ネットワーク接続装置２５０７は、図１７の出力部１７１２として用いることができる。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置２５０７を介して受け取り、それらをメモリ２５０２にロードして使用することができる。
【０１５０】
インタフェース２５０８は、図７及び図１７の撮像装置７１１と通信するための通信インタフェースであり、インタフェース２５０９は、照明装置７１２と通信するための通信インタフェースである。インタフェース２５０９は、図１、図７、及び図１７の出力部１１３として用いることができる。
【０１５１】
なお、情報処理装置が図２５のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、オペレータからの指示や情報の入力を行わない場合は、入力装置２５０３を省略してもよく、オペレータへの問い合わせや処理結果の出力を行わない場合は、出力装置２５０４を省略してもよい。
【０１５２】
情報処理装置が可搬型記録媒体２５１１にアクセスしない場合は、媒体駆動装置２５０６を省略してもよく、通信ネットワークにアクセスしない場合は、ネットワーク接続装置２５０７を省略してもよい。
【０１５３】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１５４】
図１乃至図２５を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
複数の照明器を用いて複数の照明条件で撮影された複数の画像を表す複数の画像ベクトルを記憶する記憶部と、
前記複数の画像ベクトルを含む行列を基底行列と係数行列とに分解し、前記基底行列に含まれる複数の基底画像ベクトルにより表される複数の基底画像のうち、基底画像内の特定領域の特徴量が所定条件を満たす前記基底画像を表す基底画像ベクトルの前記複数の画像ベクトルに対する射影成分に基づいて、前記複数の照明器の強度を決定する決定部と、
前記複数の照明器の強度を表す制御信号を出力する出力部と、
を備えることを特徴とする照明制御装置。
（付記２）
前記特定領域の特徴量は、前記特定領域に含まれる複数の画素の画素値のばらつき度を表す特徴量であり、前記特定領域の特徴量が前記所定条件を満たす前記基底画像は、前記特徴量が閾値より大きい基底画像であることを特徴とする付記１記載の照明制御装置。
（付記３）
前記決定部は、第１の初期条件に基づく非負値行列因子分解により、前記複数の画像ベクトルを含む前記行列を前記基底行列と前記係数行列とに分解し、前記複数の基底画像のうち、いずれの基底画像内の前記特定領域の前記特徴量も前記閾値以下である場合、第２の初期条件に基づく非負値行列因子分解により、前記複数の画像ベクトルを含む前記行列を基底行列と係数行列とに分解し、前記第２の初期条件に基づく前記非負値行列因子分解により得られた前記基底行列を用いて、前記複数の照明器の強度を決定することを特徴とする付記２記載の照明制御装置。
（付記４）
前記特定領域の特徴量は、前記特定領域に含まれる複数の画素の画素値のばらつき度を表す特徴量であり、前記特定領域の特徴量が前記所定条件を満たす前記基底画像は、前記複数の基底画像のうち最大の特徴量に対応する基底画像であることを特徴とする付記１記載の照明制御装置。
（付記５）
前記決定部は、第１の初期条件に基づく非負値行列因子分解により、前記複数の画像ベクトルを含む前記行列を前記基底行列と前記係数行列とに分解し、前記第１の初期条件に基づく前記非負値行列因子分解により得られた前記基底行列を用いて、前記複数の照明器の強度を決定した後、第２の初期条件に基づく非負値行列因子分解により、前記複数の画像ベクトルを含む前記行列を基底行列と係数行列とに分解し、前記第２の初期条件に基づく前記非負値行列因子分解により得られた前記基底行列を用いて、前記複数の照明器の強度を変更することを特徴とする付記４記載の照明制御装置。
（付記６）
対象物を撮影した画像に対する画像処理を行う画像処理部をさらに備え、前記複数の照明器は、前記制御信号に基づいて前記対象物に照明を当てることを特徴とする付記１乃至５のいずれか１項に記載の照明制御装置。
（付記７）
前記複数の照明条件の各々は、前記複数の照明器のうち１つの照明器を用いる照明条件、又は前記複数の照明器のうち特定の複数の照明器を用いる照明条件のいずれかであることを特徴とする付記１乃至６のいずれか１項に記載の照明制御装置。
（付記８）
コンピュータが、
複数の照明器を用いて複数の照明条件で撮影された複数の画像を表す複数の画像ベクトルを含む行列を、基底行列と係数行列とに分解し、
前記基底行列に含まれる複数の基底画像ベクトルにより表される複数の基底画像のうち、基底画像内の特定領域の特徴量が所定条件を満たす前記基底画像を表す基底画像ベクトルの前記複数の画像ベクトルに対する射影成分に基づいて、前記複数の照明器の強度を決定し、
前記複数の照明器の強度を表す制御信号を出力する、
ことを特徴とする照明制御方法。
（付記９）
前記特定領域の特徴量は、前記特定領域に含まれる複数の画素の画素値のばらつき度を表す特徴量であり、前記特定領域の特徴量が前記所定条件を満たす前記基底画像は、前記特徴量が閾値より大きい基底画像であることを特徴とする付記８記載の照明制御方法。
（付記１０）
前記コンピュータは、第１の初期条件に基づく非負値行列因子分解により、前記複数の画像ベクトルを含む前記行列を前記基底行列と前記係数行列とに分解し、前記複数の基底画像のうち、いずれの基底画像内の前記特定領域の前記特徴量も前記閾値以下である場合、第２の初期条件に基づく非負値行列因子分解により、前記複数の画像ベクトルを含む前記行列を基底行列と係数行列とに分解し、前記第２の初期条件に基づく前記非負値行列因子分解により得られた前記基底行列を用いて、前記複数の照明器の強度を決定することを特徴とする付記９記載の照明制御方法。
（付記１１）
前記特定領域の特徴量は、前記特定領域に含まれる複数の画素の画素値のばらつき度を表す特徴量であり、前記特定領域の特徴量が前記所定条件を満たす前記基底画像は、前記複数の基底画像のうち最大の特徴量に対応する基底画像であることを特徴とする付記８記載の照明制御方法。
（付記１２）
前記コンピュータは、第１の初期条件に基づく非負値行列因子分解により、前記複数の画像ベクトルを含む前記行列を前記基底行列と前記係数行列とに分解し、前記第１の初期条件に基づく前記非負値行列因子分解により得られた前記基底行列を用いて、前記複数の照明器の強度を決定した後、第２の初期条件に基づく非負値行列因子分解により、前記複数の画像ベクトルを含む前記行列を基底行列と係数行列とに分解し、前記第２の初期条件に基づく前記非負値行列因子分解により得られた前記基底行列を用いて、前記複数の照明器の強度を変更することを特徴とする付記１１記載の照明制御方法。
（付記１３）
複数の照明器を用いて複数の照明条件で撮影された複数の画像を表す複数の画像ベクトルを含む行列を、基底行列と係数行列とに分解し、
前記基底行列に含まれる複数の基底画像ベクトルにより表される複数の基底画像のうち、基底画像内の特定領域の特徴量が所定条件を満たす前記基底画像を表す基底画像ベクトルの前記複数の画像ベクトルに対する射影成分に基づいて、前記複数の照明器の強度を決定する、
処理をコンピュータに実行させる照明制御プログラム。
（付記１４）
前記特定領域の特徴量は、前記特定領域に含まれる複数の画素の画素値のばらつき度を表す特徴量であり、前記特定領域の特徴量が前記所定条件を満たす前記基底画像は、前記特徴量が閾値より大きい基底画像であることを特徴とする付記１３記載の照明制御プログラム。
（付記１５）
前記特定領域の特徴量は、前記特定領域に含まれる複数の画素の画素値のばらつき度を表す特徴量であり、前記特定領域の特徴量が前記所定条件を満たす前記基底画像は、前記複数の基底画像のうち最大の特徴量に対応する基底画像であることを特徴とする付記１３記載の照明制御プログラム。
【符号の説明】
【０１５５】
１０１  照明制御装置
１１１  記憶部
１１２  決定部
１１３、１７１２  出力部
３０１〜３０３  対象物
７０１、１７０１  照明制御システム
７１１  撮像装置
７１２  照明装置
７２１  生成部
７２２  分解部
７２３  設定部
７２４  特徴量計算部
７２５  判定部
７２６  強度計算部
９０１、９０２、１２０１  画像
９１１、９１２  画像ベクトル
９２１、２３０１  画素値行列
１１０１、２３０２  基底行列
１１０２、２３０３  係数行列
１１０３  再構成行列
１２０２、１２０３、１３０１  特定領域
１７１１  画像処理部
１９０１  傷
２００１  基準位置
２００２  位置
２１０１〜２１０３  部品モデル
２３１１〜２３１３、２３２１〜２３２３  部分行列
２５０１  ＣＰＵ
２５０２  メモリ
２５０３  入力装置
２５０４  出力装置
２５０５  補助記憶装置
２５０６  媒体駆動装置
２５０７  ネットワーク接続装置
２５０８、２５０９  インタフェース
２５１０  バス
２５１１  可搬型記録媒体
【図１】
0006390357.tif 000007
【図２】
0006390357.tif 000008
【図３】
0006390357.tif 000009
【図４】
0006390357.tif 000010
【図５】
0006390357.tif 000011
【図６】
0006390357.tif 000012
【図７】
0006390357.tif 000013
【図８】
0006390357.tif 000014
【図９】
0006390357.tif 000015
【図１０】
0006390357.tif 000016
【図１１】
0006390357.tif 000017
【図１２】
0006390357.tif 000018
【図１３】
0006390357.tif 000019
【図１４】
0006390357.tif 000020
【図１５】
0006390357.tif 000021
【図１６】
0006390357.tif 000022
【図１７】
0006390357.tif 000023
【図１８】
0006390357.tif 000024
【図１９】
0006390357.tif 000025
【図２０】
0006390357.tif 000026
【図２１】
0006390357.tif 000027
【図２２】
0006390357.tif 000028
【図２３】
0006390357.tif 000029
【図２４】
0006390357.tif 000030
【図２５】
0006390357.tif 000031