【実施例】
【0016】
図1は、一実施例におけるガンマ特性推定方法を説明する図である。
図1において、ガンマ特性推定装置1は、電源2、スイッチ3,4、第1の光源5−1、第2の光源5−2、カメラの一例であるデジタルカメラ6、及びデータ処理部7を有する。第1及び第2の光源5−1,5−2は、少なくとも2つの光源の一例であり、3以上の光源を設けても良い。後述するように、デジタルカメラ6及びデータ処理部7は、別体の装置で形成しても、これらが一体的に設けられた装置で形成しても良い。後述するように、スマートフォン、タブレット型コンピュータ、パーソナルコンピュータなどの電子装置は、ガンマ特性推定装置1の一部または全部を有しても良い。さらに、例えばデータ処理部7への負荷を軽減するために、データ処理部7の少なくとも一部の機能をクラウドコンピューティングシステムなどの外部装置で実現するようにしても良い。
【0017】
第1の光源5−1は、スイッチ4を介してオン・オフ可能である。一方、第2の光源5−2は、スイッチ3を介してオン・オフ可能である。スイッチ3,4のオン・オフは、例えばデジタルカメラ6により制御しても、データ処理部7により制御しても、デジタルカメラ6及びデータ処理部7の組み合わせにより制御しても、手動で制御しても良い。つまり、データ処理部7またはデジタルカメラ6は、スイッチ3,4のオン・オフを制御する制御部の一例を形成しても良い。デジタルカメラ6は、光源5−1,5−2が出射する光を照射された対象物9からの反射光を受光することで対象物9を撮影する。デジタルカメラ6は、撮影した対象物9を表すデジタル出力値をデータ処理部7に出力する。データ処理部7は、汎用のプロセッサなどで形成可能であり、デジタル出力値に基づき、ガンマ特性推定処理を含む各種演算、計測などを含むデータ処理を行う。推定したガンマ特性は、デジタルカメラ6のデジタル出力値を補正するのに利用でき、補正されたデジタル出力値は、例えば対象物9の立体形状の認識などに使用しても良い。
【0018】
本実施例では、第1及び第2の光源5−1,5−2の出力特性(または、出射光量)は未知で良い。また、対象物9の反射率も未知で良い。
【0019】
まず、ガンマ特性について説明する。デジタルカメラ6への入射光量をx、定数をα、デジタルカメラ6の出力値の一例であるデジタル出力RGB値(以下、単に「出力RGB値」とも言う)をy、ガンマ特性をγで表すと、ガンマ特性γは、一般的には入射光量xに対してy=αx
γの関係にあり、例えば
図2の関係が成り立つ。
図2は、ガンマ特性を説明する図であり、縦軸はデジタルカメラ6から出力される出力RGB値、横軸はデジタルカメラ6への入射光量を夫々任意単位で示す。ガンマ特性は、
図2の如き関数に限定されるものではないが、未知であることが多い。以下に説明する例では、デジタルカメラ6の出力RGB値は例えば8ビットであり、デジタルカメラ6から出力される出力RGB値は例えば「0」〜「255」までの値を取り得るものとする。
【0020】
図3は、光源の出力特性の一例を説明する図である。
図3中、縦軸(例えば、y軸)は光源の出射光量、横軸(例えば、x軸)は光源への印加電圧を夫々任意単位で示す。第1及び第2の光源5−1,5−2は、夫々例えば
図3に示す如き出力特性を有するが、固体バラツキがあり、実際の出力特性は未知であることが多い。本実施例では、このように各光源5−1,5−2の出力特性が未知であっても、ガンマ特性を演算(または、計算)により推定可能とするものである。
【0021】
図4は、ガンマ特性推定処理の手順の一例を説明する図である。
図4において、ステップST1では、スイッチ4,3が第1及び第2の光源5−1,5−2をオフにし、デジタルカメラ6が対象物9を撮影する。ステップST2では、第2の光源5−2がオフの状態で、スイッチ4が第1の光源5−1をオンにして一定の第1の出射光量で発光させ、デジタルカメラ6が対象物9を撮影する。ステップST3では、スイッチ4が第1の光源5−1はオフにすると共に、スイッチ3が第2の光源5−2をオンにして一定の第2の出射光量で発光させ、デジタルカメラ6が対象物9を撮影する。ステップST4では、第2の光源5−2を第2の出射光量で発光させた状態で、スイッチ4が第1の光源5−1をオンにして第1の出射光量で発光させ、デジタルカメラ6が対象物9を撮影する。つまり、ステップST4では、第1及び第2の光源5−1,5−2の両方を発光させた状態で、デジタルカメラ6が対象物9を撮影する。出力RGB値の最大値は、上記の如くデジタルカメラ6の出力RGB値が例えば8ビットであれば、「255」である。デジタルカメラ6は、各ステップST1〜ST4において少なくとも1回対象物9を撮影すれば良く、例えば各ステップST1〜ST4において一定間隔で対象物9を撮影しても、連続的に撮影しても良い。
【0022】
ステップST1〜ST4におけるスイッチ3,4及びカメラ6の制御は、後述するようにプロセッサなどが行うようにしても良く、プロセッサなどはさらにデータ処理部7のガンマ特性推定処理を行うようにしても良い。
【0023】
なお、第1の出射光量は、第2の出射光量と同じであっても、第2の出射光量と異なっても良い。後者の場合、第1の出射光量は第2の出射光量より高くても、第2の出射光量より低くても良い。
【0024】
図5は、上記のガンマ特性推定処理を説明する図である。
図5中、縦軸は対象物9が照射される光量、横軸は時間(各ステップST2〜ST4の推移)を夫々任意単位で示す。
図5において、左下がりのハッチングで示される光量は、各ステップST2,ST4において対象物9に照射される第1の光源5−1による第1の出射光量を示し、右下がりのハッチングで示される光量は、各ステップST3,ST4において対象物9に照射される第2の光源5−2による第2の出射光量を示す。
【0025】
なお、
図5では、ステップST1において第1及び第2の光源5−1,5−2の両方がオフであると対象物9が照射される光量がゼロ(0)であるものと仮定しているが、第1及び第2の光源5−1,5−2以外の光源(図示せず)により光量がゼロではなくても良い。
【0026】
図5の右端には、ガンマ特性がy=αx
γなる関数で表され、且つ、γ=1である場合にステップST4において対象物9に照射される合計出射光量を、比較のため破線STLで示す。γ=1でありデジタルカメラ6への入射光量xと出力RGB値yとが線形関係にある場合、第1の光源5−1がオンであり第2の光源5−2がオフである時の出力RGB値y(ST2)と、第2の光源5−2がオンであり第1の光源5−1がオフである時の出力RGB値y(ST3)とを足し合せた値(STL)は、第1及び第2の光源5−1,5−2の両方がオンある時の出力RGB値yと同じになる。
【0027】
しかし、例えばγ<1の場合には、
図5に示すように、第1の光源5−1がオンであり第2の光源5−2がオフである時の出力RGB値y(ST2)と、第2の光源5−2がオンであり第1の光源5−1がオフである時の出力RGB値y(ST3)とを足し合せた値(STL)の方が、第1及び第2の光源5−1,5−2の両方がオンである時の出力RGB値y(ST4)より大きくなる。本実施例では、上記の如く足し合わせた値(STL)が第1及び第2の光源5−1,5−2の両方がオンである時の出力RGB値y(ST4)より大きくなる度合いから、γの値を撮影画像の一部または全部を用いて推定する。例えば、推定したγの値から、第1の光源5−1のみがオンである時の出力RGB値y(ST2)と第2の光源5−2のみがオンである時の出力RGB値y(ST3)の光量を推定する。そして、これらの出力RGB値y(ST2,ST3)の推定された光量を足し合せた光量から計算できる第1及び第2の光源6−1,5−2の両方がオンである時の出力RGB値yの計算値と、第1及び第2の光源5−1,5−2の両方がオンである時にデジタルカメラ6による実際の撮影で得られた出力RGB値yの実測値とを比較し、計算値と実測値の差の二乗(即ち、二乗誤差)を計算する。全ての二乗誤差を足し合せる処理を評価関数で表すことで、計算モデルと実測モデルとを比較する最小二乗法により評価関数を求めることができる。
【0028】
上記の評価関数を最小にすることで、計算モデルを実測モデルに近づけることができる。実測モデルの関数がy=αx
γであれば、変数が1つ(γ)なので、理論的には1画素でもγの値を計算により推定することができる。しかし、実際にはノイズ、量子化誤差などのため1画素ではγの値を正確に推定することは難しい。また、デジタルカメラ6では、補正計算を簡単にするためにガンマ特性は折れ線状、二次関数などであることもある。さらに、計算モデルの関数が折れ線状、二次関数などである場合には、パラメータの数が比較的多く、1画素ではγの値を計算により正確に推定することは難しい。従って、γの値の計算には、複数画素を用いることが望ましく、例えば、複数画素の平均値を用いれば、個々の画素のノイズの影響を低減できる。
【0029】
上記の実施例は、ある関数を予想し、少なくとも3枚の撮影画像からこのある関数の最も尤もらしい係数を繰り返し計算と実験計画法から推定してガンマ特性を推定するものである。扱う情報が例えば8ビットの出力RGB値であれば、出力RGB値が取り得る値の範囲が0〜255と決まっており、且つ、光量増加に対して出力RGB値が連続的に単調増加の関係にあるため可能となる手法である。
【0030】
これに対し、2つ光源のうち一方の光源をオン・オフし、他方の光源の光量を変えながらデジタルカメラによる撮影を行うことで、一方の光源のオン・オフ時の光量変化が一定であるが出力RGB値の差分が変化することを利用して、ガンマ特性を求める手法が考えられる。この場合、計算モデルの関数は、どのような関数であっても、ガンマ特性を推定する計算が可能である。しかし、この場合、一方の光源をオン・オフし、他方の光源の光量を変えながら、ある程度の枚数の撮影画像を撮影するので、撮影の手間と時間がかかるためコストの削減は難しい。ここで、ある程度の枚数の撮影画像とは、3枚の撮影画像と比較して大きな枚数である。
【0031】
そこで、本発明者らは、一般的にカメラのガンマ特性に相当する関数がある程度限定されており、全く未知の関数形状と考えるよりは予想される関数のいくつかに当てはめて、残差誤差を見ることで関数を特定できることを見出した。つまり、一実施例では、ある関数を予想し、少なくとも3枚の撮影画像からこのある関数の最も尤もらしい係数を繰り返し計算と実験計画法から推定してガンマ特性を推定する。このように、第1の照明と、第2の照明と、第1及び第2の照明という少なくとも3つの照明状態の画像を撮影するだけで、ガンマ特性の推定が可能になる。また、第1及び第2の照明は第1及び第2の光源をオン・オフすることで制御できるので、第1の光源または第2の光源の光量を正確に変化させることはなく、上記の考えられる手法と比較すると第1及び第2の光源の制御が簡単であり、撮影の手間と時間を削減できるためコスト削減も可能となる。
【0032】
図6は、ガンマ特性推定処理の一例を説明するフローチャートである。
図6は、予想される計算モデルの関数がy=αx
γである場合の処理を示す。この例では、
図6の処理はデータ処理部7により実行される。ガンマ特性推定処理が開始されると、ステップS1では、データ処理部7がγの初期値を0.5に設定する。ステップS2では、データ処理部7がスイッチ4をオン、スイッチ3をオフに制御することで、第1の光源5−1のみをオンにして、デジタルカメラ6により対象物9を撮影する。ステップS3では、データ処理部7がスイッチ4をオフ、スイッチ3をオンに制御することで、第2の光源5−2のみをオンにして、デジタルカメラ6により対象物9を撮影する。ステップS4では、データ処理部7がスイッチ3,4を共にオンに制御することで、第1及び第2の光源5−1,5−2の両方をオンにして、デジタルカメラ6により対象物9を撮影する。ステップS5では、データ処理部7がγの初期値0.5からスタートして、最小二乗誤差が最小になるようにシンプレックス法(Simplex Method)を用いて、第1及び第2の光源5−1,5−2の両方がオンの時に最も尤もらしくなるγの値を推定し、処理は終了する。データ処理部7は、ステップS5の処理を例えば数値解析ソフトウェア(例えば、MATLAB(登録商標))を用いて実行しても良く、この場合、評価関数として最小二乗誤差を用いて、γの初期値0.5で最小化を行うfminsearch関数により誤差が最小となるγの値を推定しても良い。
【0033】
このように、先ず第1の光源5−1がオンであり第2の光源5−2がオフである時の出力RGB値yと、第2の光源5−2がオンであり第1の光源5−1がオフである時の出力RGB値yとを足し合せた値が、第1及び第2の光源5−1,5−2の両方がオンある時の出力RGB値yより大きくなる度合いからγの値を推定し、第1の光源5−1のみがオンの時にデジタルカメラ6から出力されるRGB値と第2の光源5−2のみがオンの時にデジタルカメラ6から出力されるRGB値の光量を推定する。そして、これらの推定されたRGB値の光量を足し合せた光量から計算した、第1及び第2の光源5−1,5−2の両方がオンの時にデジタルカメラ6から出力されるRGB値の計算値と、第1及び第2の光源5−1,5−2の両方がオンの時にデジタルカメラ6により実際に撮影された対象物9の撮影画像のRGB値の実測値とを比較する。さらに、RGB値の計算値と実測値との差を二乗し、全ての二乗誤差を足し合せる処理を評価関数で表すことで、計算モデルと実測モデルとを比較する最小二乗法を用いて評価関数を求めることができる。このようにして求めた評価関数を最小にすることで、計算モデルを正しい実測モデルに近づけることができる。
【0034】
図7は、γ=0.46であると予想した場合の光源の光量分布の一例のシミュレーション結果を示す図である。
図7中、縦軸は光源の出射光量、横軸はxy平面におけるx座標値及びy座標値を夫々任意単位で示す。
図7において、(a)は第1の光源5−1の光量分布、(b)は第2の光源の5−2の光量分布、(c)は第1及び第2の光源5−1,5−2を合わせた光量分布を示す。
【0035】
図8は、γ=0.46であると予想した場合の出力RGB値の一例のシミュレーション結果を示す図である。
図8中、縦軸はデジタルカメラ6から出力されるRGB値、横軸はxy平面におけるx座標値及びy座標値を夫々任意単位で示す。
図8において、(a)は第1の光源5−1のみがオンの時の出力RGB値、(b)は第2の光源5−2のみがオンの時の出力RGB値、(c)は第1及び第2の光源5−1,5−2の両方がオンの時の出力RGB値を示す。
【0036】
上記のステップS5では、データ処理部7が
図8において(a),(b),(c)に示す3つのRGB値(8a),(8b),(8c)の各画素の値に対して、逆ガンマ補正を行うことでγの値を計算する。例えば、Σ[(8c)−{(8a)+(8b)}]
2で表される各画素の値の総和が最小になる関数をデータ処理部7がシンプレックス法で求めたところ、γの値は0.46であることが推定され、ガンマ特性を正確に推定できることが確認された。また、データ処理部7がαの値が異なる他の計算モデルについてγを0.46以外の値であると予想した場合も、γの値が予想した値であることが推定され、ガンマ特性を正確に推定できることが確認された。
【0037】
上記の例では、データ処理部7がy=αx
γについて最尤関数を推定しているが、ガンマ特性はy=αx
γに限定されず、折れ線状の関数、二次関数などであっても良い。つまり、最尤関数は、y=αx
γで表される関数、折れ線状の関数、及び二次関数のうち少なくとも1つを用いても良い。さらに、最尤関数は、y=αx
γで表される関数、折れ線状の関数、及び二次関数のうち2以上を用い、評価関数である二乗誤差が最小になる関数を計算モデルの関数として選択しても良い。
【0038】
図9は、折れ線状の関数の一例を示す図である。
図9中、縦軸はデジタルカメラ6から出力されるRGB値、横軸はデジタルカメラ6への入射光量を夫々任意単位で示す。なお、折れ線状の関数は、多段の折れ線を含んでも良い。
【0039】
図10は、二次関数の一例を示す図である。
図10中、縦軸はデジタルカメラ6から出力されるRGB値、横軸はデジタルカメラ6への入射光量を夫々任意単位で示す。
【0040】
ガンマ特性が例えば
図9または
図10のようにy=αx
γ以外の関数である場合、この関数を定義できれば最尤関数を求めることができる。また、予め使用されそうな計算モデルの関数が複数予想できる場合には、予想できる複数の関数をテーブルに格納しておき、例えば評価関数である二乗誤差が最小になる計算モデルの関数を推定したガンマ特性として選択すれば良い。
【0041】
上記の例では、評価関数として最小二乗誤差を用いているが、評価関数は最小二乗誤差に限定されるものではなく、ユークリッド距離などの、最尤関数を推定可能な評価関数であれば特に限定されない。また、最小二乗誤差が最小になるようにγの値を求める方法は、シンプレックス法に限定されず、例えば黄金分割法などを用いても良い。つまり、最小二乗誤差が最小になるようにγの値を求める方法は、最小二乗法、ユークリッド距離、シンプレックス、及び黄金分割法のうち少なくとも1つを用いれば良い。さらに、最小二乗誤差が最小になるようにγの値を求める方法は、最小二乗法、ユークリッド距離、シンプレックス、及び黄金分割法のうち2以上を用い、最小二乗誤差が最小となる方法を採用しても良い。
【0042】
図11は、ガンマ特性推定処理の他の例を説明するフローチャートである。
図11は、予想される計算モデルの関数が
図9に示すように折れ線状である場合の処理を示す。この例では、
図11の処理はデータ処理部7により実行される。ガンマ特性推定処理が開始されると、ステップS11では、データ処理部7がデジタルカメラ6から出力されるRGB値の変曲点の初期値を150、折れ曲がり後の傾き比を0.5に設定する。ステップS12では、データ処理部7がスイッチ4をオン、スイッチ3をオフに制御することで、第1の光源5−1のみをオンにして、デジタルカメラ6により対象物9を撮影する。ステップS13では、データ処理部7がスイッチ4をオフ、スイッチ3をオンに制御することで、第2の光源5−2のみをオンにして、デジタルカメラ6により対象物9を撮影する。ステップS14では、データ処理部7がスイッチ3,4を共にオンに制御することで、第1及び第2の光源5−1,5−2の両方をオンにして、デジタルカメラ6により対象物9を撮影する。ステップS15では、データ処理部7がRGB値の変曲点の初期値150及び折れ曲がり後の傾き比0.5からスタートして、最小二乗誤差が最小になるようにシンプレックス法(Simplex Method)を用いて、第1及び第2の光源5−1,5−2の両方がオンの時に最も尤もらしくなる折れ線を推定し、処理は終了する。
【0043】
図12は、折れ線状の関数の一例を示す図である。
図12中、縦軸はデジタルカメラ6から出力されるRGB値、横軸はデジタルカメラ6への入射光量を夫々任意単位で示す。
図12において、P1はRGB値の変曲点を示し、例えば100である。また、P2は折れ曲がり後(即ち、RGB値の変曲点P1の後)の傾き比を求める部分を示し、この部分P2での傾きは例えばRGB値の変曲点P1までの傾きの半分である。
【0044】
図13は、
図7と同様の光源の光量分布について、ガンマ特性が
図12に示す折れ線状の関数であると予想した場合の出力RGB値の一例のシミュレーション結果を示す図である。
図12中、縦軸はデジタルカメラ6から出力されるRGB値、横軸はxy平面におけるx座標値及びy座標値を夫々任意単位で示す。
図13において、(a)は第1の光源5−1のみがオンの時の出力RGB値、(b)は第2の光源5−2のみがオンの時の出力RGB値、(c)は第1及び第2の光源5−1,5−2の両方がオンの時の出力RGB値を示す。
【0045】
上記のステップS15では、データ処理部7が
図13において(a),(b),(c)に示す3つのRGB値(13a),(13b),(13c)の各画素の値に対して、逆ガンマ補正を行うことでγの値を計算する。例えば、Σ[(13c)−{(13a)+(13b)}]
2で表される各画素の値の総和が最小になる関数をデータ処理部7がシンプレックス法で求めたところ、RGB値の変曲点P1は100であり、折れ曲がり後の部分P2での傾きはRGB値の変曲点P1までの傾きの半分(=0.5)であることが推定され、ガンマ特性を正確に推定できることが確認された。また、データ処理部7がRGB値の変曲点P1及び折れ曲がり後の部分P2での傾きを上記以外の値であると予想した場合も、RGB値の変曲点P1及び折れ曲がり後の部分P2での傾きの値が予想した値であることが推定され、ガンマ特性を正確に推定できることが確認された。
【0046】
ガンマ特性が折れ線状の関数である場合を
図11〜
図13と共に説明したが、ガンマ特性が二次関数などであっても同様にガンマ特性を推定することができる。つまり、計算モデルの関数は、どのような関数を予想しても、ガンマ特性を推定する計算が可能である。予め使用されそうな計算モデルの関数が複数予想できる場合には、例えば評価関数である二乗誤差が最小になる計算モデルの関数を推定したガンマ特性として選択すれば良い。つまり、予想できる複数の計算モデルの関数がテーブルに格納されている場合には、データ処理部7が例えば
図6の処理で推定したガンマ特性、
図11の処理で推定したガンマ特性、その他の処理で推定したガンマ特性のうち、例えば評価関数である二乗誤差が最小になる計算モデルの関数を推定したガンマ特性をガンマ特性推定処理により推定された最終結果として選択すれば良い。例えば
図6の処理の場合、ステップS5ではデータ処理部7が第1及び第2の光源5−1,5−2の両方がオンの時に最も尤もらしくなるγの値を複数の計算モデルの関数について推定し、例えば評価関数である二乗誤差が最小になる計算モデルの関数を推定したガンマ特性として選択する。同様に、例えば
図11の処理の場合、ステップS15ではデータ処理部7が第1及び第2の光源5−1,5−2の両方がオンの時に最も尤もらしくなる折れ線を複数の計算モデルの関数について推定し、例えば評価関数である二乗誤差が最小になる計算モデルの関数を推定したガンマ特性として選択する。
【0047】
以上に説明したように、計算モデルが予想できれば、デジタルカメラ6のガンマ特性は少なくとも3枚の撮影画像に基づいて推定可能であることが確認された。
【0048】
図7に示す例では、光量分布がある場合を想定しているが、光量分布がなくても測定対象物の反射率が一様でなければRGB値と光量が加算されたRGB値のずれからγの値を推定することができる。また、たとえ積分球のように光量が一様である場合でも、複数の光源の組合せで光量が複数の段階で加算できればγの値、即ち、ガンマ特性の推定は可能である。
【0049】
図14は、変形例におけるガンマ特性推定方法を説明する図である。
図14中、
図1と同一部分には同一符号を付し、その説明は省略する。
図14に示すガンマ特性推定装置1には、調整部303が設けられている。第2の光源5−2の出射光量は、調整部303及びスイッチ3を介して段階的に可変である。調整部303は、例えばデジタルカメラ6またはデータ処理部7により制御しても良い。
【0050】
本変形例の場合、
図6または
図11の処理を1回実行した後に、調整部303により第2の光源5−2の出射光量を一定量増加或いは減少させ、同じ
図6または
図11の処理を再実行する。これにより、第2の光源5−2の出射光量の一定量の変化に応じて生じるデジタルカメラ6の出力RGB値の変化量に基づいて、ガンマ特性を推定することができる。なお、
図6または
図11の処理を再実行する回数は、特に限定されない。
【0051】
図15は、ガンマ特性推定装置の第1の例を示すブロック図である。
図15において、スマートフォン31−1は、有線または無線のインタフェースを介してパーソナルコンピュータ(PC:Personal Computer)41と通信可能に接続されている。第1の光源の一例である発光ダイオード(LED:Light Emitting Diode)5−1のオン・オフ制御は例えばユーザの操作により行われ、第2の光源の一例であるLED5−2のオン・オフ制御は、例えばユーザの操作により行われる。スマートフォン31−1のカメラ6は、LED5−1,5−2からの光を照射された対象物9(図示せず)からの反射光を受光することで対象物9を撮影する。カメラ6の撮影タイミングは、例えばユーザの操作により決定できる。カメラ6の出力データは、PC41内のデータ処理部7に出力される。この例では、例えばユーザがLED5−1,5−2の制御及びスマートフォン31−1のカメラ6による撮影を手動で行うことで、PC41内のデータ処理部7が例えば
図6または
図11のガンマ特性推定処理を行う。
【0052】
図16は、スマートフォンの一例を示すブロック図である。
図16において、第1の電子装置の一例であるスマートフォン31は、CPU(Central Processing Unit)311、記憶部312、通信部313、入力部314、表示部315、及びカメラ6がバス320により接続された構成を有する。電池316は
図1に示す電源2の一例であり、スマートフォン31内の各部に電源電圧を供給する。記憶部312は、CPU311が実行するプログラム、CPU311が実行する演算で使用する各種データ、CPU311が実行する演算の中間結果、予想できる複数の計算モデルの関数を格納したテーブルなどを格納しても良い。通信部313は、有線または無線のインタフェース330を介してPCなどの外部装置との通信を可能とする。入力部314は、例えばキーボードなどを含んでも良い。表示部315は、ユーザに対するメッセージ、ガンマ特性推定処理で推定したガンマ特性などを表示しても良い。入力部314及び表示部315は、タッチパネルのような一体型であっても良い。なお、CPU311とスマートフォン31内の各部との接続は、バス320による接続に限定されない。
【0053】
図17は、パーソナルコンピュータ(PC)の一例を示すブロック図である。
図17において、第2の電子装置の一例であるPC41は、CPU411、記憶部412、通信部413、入力部414、及び表示部415がバス420により接続された構成を有する。PC41は、カメラ6を更に有しても良く、電池(図示せず)を更に有しても良い。記憶部412は、CPU411が実行するプログラム、CPU411が実行する演算で使用する各種データ、CPU411が実行する演算の中間結果、予想できる複数の計算モデルの関数を格納したテーブルなどを格納しても良い。通信部413は、有線または無線のインタフェース430を介してスマートフォンなどの外部装置との通信を可能とする。入力部414は、例えばキーボードなどを含んでも良い。表示部415は、ユーザに対するメッセージ、ガンマ特性推定処理で推定したガンマ特性などを表示しても良い。入力部414及び表示部415は、タッチパネルのような一体型であっても良い。なお、CPU411とPC41内の各部との接続は、バス420による接続に限定されない。
【0054】
図15に示すPC41の場合、データ処理部7の機能は、
図16に示すCPU411により実現できる。また、データ処理部7の一部の機能を、
図15に示すスマートフォン31内のCPU311により実現しても良い。
図15に示す例の場合、上記ガンマ特性推定処理は、PC41内のCPU411がコンピュータ読取可能な記憶媒体の一例である記憶部412に格納されたプログラムを実行することで実行できる。
【0055】
図18は、ガンマ特性推定装置の第2の例を示すブロック図である。
図18中、
図15と同一部分には同一符号を付し、その説明は省略する。
図18において、スマートフォン31−2は、スイッチ3,4、及びカメラ6を有する。従って、スイッチ3,4の制御と、カメラ6の撮影タイミングの制御は、
図15に示すCPU311により実行できる。データ処理部7の機能は、
図16に示すPC41内のCPU411により実現できる。また、データ処理部7の一部の機能を、
図15に示すCPU311により実現しても良い。
図18に示す例の場合、上記ガンマ特性推定処理は、PC41内のCPU411がコンピュータ読取可能な記憶媒体の一例である記憶部412に格納されたプログラムを実行することで実行できる。
【0056】
図19は、ガンマ特性推定装置の第3の例を示すブロック図である。
図19中、
図18と同一部分には同一符号を付し、その説明は省略する。
図19において、スマートフォン31−2はクラウドコンピューティングシステム51と有線または無線のインタフェース、例えばインターネットを介して通信可能に接続されている。データ処理部7の機能は、第2の電子装置の一例であるクラウドコンピューティングシステム51内の1以上のコンピュータにより実現できる。また、データ処理部7の一部の機能を、
図15に示すCPU311により実現しても良い。
図19に示す例の場合、上記ガンマ特性推定処理は、クラウドコンピューティングシステム51内の1台以上のコンピュータが、コンピュータ読取可能な記憶媒体に格納されたプログラムを実行することで実行できる。
【0057】
図20は、ガンマ特性推定装置の第4の例を示すブロック図である。
図20中、
図15と同一部分には同一符号を付し、その説明は省略する。
図20において、スマートフォン31−3は、スイッチ3,4、カメラ6、及びデータ処理部7を有する。従って、スイッチ3,4の制御、データ処理部7の機能、及びカメラ6の撮影タイミングの制御は、
図15に示すCPU311により実行できる。
図20に示す例の場合、上記ガンマ特性推定処理は、CPU311がコンピュータ読取可能な記憶媒体の一例である記憶部312に格納されたプログラムを実行することで実行できる。
【0058】
図21は、ガンマ特性推定装置の第5の例を示すブロック図である。
図21中、
図20と同一部分には同一符号を付し、その説明は省略する。
図21において、スマートフォン31−4は、LED5−1,5−2を更に有する。
【0059】
図22は、ガンマ特性推定装置の第6の例を示すブロック図である。
図22中、
図20と同一部分には同一符号を付し、その説明は省略する。
図22において、スマートフォン31−4は、表示部315に第1の光源として機能する照明用の表示15−1と、第2の光源として機能する照明用の表示15−2を表示する。表示部315に表示される表示15−1,15−2は、
図15に示すCPU311により制御することでオン・オフすることができる。表示15−1と表示15−2とは、例えば表示部315上で互いに一定の距離が離れた領域に表示されても良い。
【0060】
図15及び
図18に示す例の場合、ガンマ特性推定処理をPC41側のCPU411で実行するので、スマートフォン31−1,31−2側のCPU311への負荷を軽減できる。
図19に示す例の場合、ガンマ特性推定処理をクラウドコンピューティングシステム51側のコンピュータで実行するので、スマートフォン31−2側のCPU311への負荷を軽減できる。
【0061】
図20〜
図22に示す例の場合、1台のスマートフォン31−3〜31−5でスイッチ3,4の制御と、カメラ6の撮影タイミングの制御を実現し、ガンマ特性推定処理を実行することができる。また、
図20〜
図22に示すスマートフォン31−3〜31−5は、同様の構成を有するタブレット型コンピュータ、パーソナルコンピュータ(PC)などの電子装置に置き換えることも可能である。ただし、この場合のタブレット型コンピュータ、PCなどの電子装置は、カメラ6を備えている必要がある。さらに、
図22に示す例の場合、スマートフォン31−5の表示部315を第1及び第2光源として利用するため、別途2個の光源を設ける必要がない。
【0062】
なお、
図18〜
図22において、
図14の調整部303を用いる場合には、スイッチ3の代わりに調整部303とスイッチ3の組み合わせを設ければ良い。
【0063】
ところで、対象物に3方向以上の方向から光を照射し、対象物の陰影状態から法線ベクトルを求め、対象物の形状を再現するような場合、デジタルカメラを用いて例えばフォトメトリックステレオ法などの計測を行うことがある。フォトメトリックステレオ法は、少なくとも3個の光源を使用するので、上記の実施例及び変形例におけるガンマ特性推定方法を適用するのには好適である。フォトメトリックステレオ法で使用する3個以上の光源のうち、2個の光源を上記ガンマ特性推定方法で用いることで、ガンマ特性推定用に新たに光源を用意することなく正確なガンマ特性を推定することが可能になる。
【0064】
上記の実施例及び変形例によれば、比較的容易にガンマ特性を推定することができる。具体的には、第1の光源のみがオンの時の撮影画像、第2の光源5−2のみがオンの時の撮影画像、及び第1及び第2の光源の両方がオンの時の撮影画像に基づいて、ガンマ特性を推定することが可能である。また、上記の実施例及び変形例によれば、正確な光量が既知である光源を用いる必要はなく、比較的容易に較正を行うことができる。
【0065】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
第1及び第2の光源からの光を照射される対象物を撮影するカメラと、
前記第1及び第2の光源のオン・オフを制御する制御部と、
前記第1の光源がオンで前記第2の光源がオフの状態、前記第1の光源がオフで前記第2の光源がオンの状態、及び前記第1及び第2の光源がオンの状態で前記対象物を撮影した時の前記カメラの出力値を予想される関数に当てはめ、前記予想される関数の逆関数から求めた光量が最も尤もらしくなる関数からガンマ特性を推定するデータ処理部
を備えたことを特徴とする、ガンマ特性推定装置。
(付記2)
前記最も尤もらしくなる関数を求めるための誤差最小を推定するために、最小二乗法、ユークリッド距離、シンプレックス、及び黄金分割法のうち少なくとも1つを用いることを特徴とする、付記1記載のガンマ特性推定装置。
(付記3)
前記予想される関数として、前記カメラの入射光量x及び出力値y、定数αで示すとy=αx
γで表される関数、折れ線状の関数、及び二次関数のうち少なくとも1つを用いることを特徴とする、付記1または2記載のガンマ特性推定装置。
(付記4)
前記予想される関数を複数格納した記憶部をさらに備え、
前記データ処理部は、評価関数である二乗誤差が最小になる計算モデルの関数を推定したガンマ特性をガンマ特性推定処理により推定された最終結果として選択することを特徴とする、付記1乃至3のいずれか1項記載のガンマ特性推定装置。
(付記5)
前記制御部及び前記データ処理部として機能する単一のプロセッサを更に備えたことを特徴とする、付記1乃至4のいずれか1項記載のガンマ特性推定装置。
(付記6)
前記第1及び第2の光源を更に備えたことを特徴とする、付記1乃至5のいずれか1項記載のガンマ特性推定装置。
(付記7)
前記第1及び第2の光源として機能する表示部を更に備えたことを特徴とする、付記6記載のガンマ特性推定装置。
(付記8)
前記制御部は通信機能を有する第1の電子装置内に設けられ、
前記データ処理部は前記第1の電子装置と通信可能な第2の電子装置内に設けられていることを特徴とする、付記1乃至7のいずれか1項記載のガンマ特性推定装置。
(付記9)
前記第2の電子装置は、クラウドコンピューティングシステム内に設けられていることを特徴とする、付記8記載のガンマ特性推定装置。
(付記10)
カメラで第1及び第2の光源からの光を照射される対象物を撮影し、
制御部で前記第1及び第2の光源のオン・オフを制御し、
データ処理部で前記第1の光源がオンで前記第2の光源がオフの状態、前記第1の光源がオフで前記第2の光源がオンの状態、及び前記第1及び第2の光源がオンの状態で前記対象物を撮影した時の前記カメラの出力値を予想される関数に当てはめ、前記予想される関数の逆関数から求めた光量が最も尤もらしくなる関数からガンマ特性を推定する
ことを特徴とする、ガンマ特性推定方法。
(付記11)
前記最も尤もらしくなる関数を求めるための誤差最小を推定するために、最小二乗法、ユークリッド距離、シンプレックス、及び黄金分割法のうち少なくとも1つを用いることを特徴とする、付記10記載のガンマ特性推定方法。
(付記12)
前記予想される関数として、前記カメラの入射光量x及び出力値y、定数αで示すとy=αx
γで表される関数、折れ線状の関数、及び二次関数のうち少なくとも1つを用いることを特徴とする、付記10または11記載のガンマ特性推定方法。
(付記13)
前記予想される関数は、複数、記憶部に格納されており、
前記データ処理部で評価関数である二乗誤差が最小になる計算モデルの関数を推定したガンマ特性をガンマ特性推定処理により推定された最終結果として選択することを特徴とする、付記10乃至12のいずれか1項記載のガンマ特性推定方法。
(付記14)
前記制御部及び前記データ処理部の機能を単一のプロセッサで実現することを特徴とする、付記10乃至13のいずれか1項記載のガンマ特性推定方法。
(付記15)
前記第1及び第2の光源の機能を表示部で実現することを特徴とする、付記10乃至14のいずれか1項記載のガンマ特性推定方法。
(付記16)
前記制御部の機能を通信機能を有する第1の電子装置内で実現し、
前記データ処理部の機能を前記第1の電子装置と通信可能な第2の電子装置内で実現することを特徴とする、付記10乃至15のいずれか1項記載のガンマ特性推定方法。
(付記17)
前記第2の電子装置は、クラウドコンピューティングシステム内に設けられていることを特徴とする、付記16記載のガンマ特性推定方法。
(付記18)
コンピュータに、ガンマ特性推定処理を実行させるプログラムであって、
カメラで第1及び第2の光源からの光を照射される対象物を撮影する手順と、
前記第1及び第2の光源のオン・オフを制御する手順と、
前記第1の光源がオンで前記第2の光源がオフの状態、前記第1の光源がオフで前記第2の光源がオンの状態、及び前記第1及び第2の光源がオンの状態で前記対象物を撮影した時の前記カメラの出力値を予想される関数に当てはめ、前記予想される関数の逆関数から求めた光量が最も尤もらしくなる関数からガンマ特性を推定する手順
を前記コンピュータに実行させることを特徴とする、プログラム。
(付記19)
前記最も尤もらしくなる関数を求めるための誤差最小を推定するために、最小二乗法、ユークリッド距離、シンプレックス、及び黄金分割法のうち少なくとも1つを用いることを特徴とする、付記18記載のプログラム。
(付記20)
前記予想される関数として、前記カメラの入射光量x及び出力値y、定数αで示すとy=αx
γで表される関数、折れ線状の関数、及び二次関数のうち少なくとも1つを用いることを特徴とする、付記18または19記載のプログラム。
(付記21)
前記予想される関数は、複数、記憶部に格納されており、
前記推定する手順は、評価関数である二乗誤差が最小になる計算モデルの関数を推定したガンマ特性をガンマ特性推定処理により推定された最終結果として選択することを特徴とする、付記18乃至20のいずれか1項記載のプログラム。
(付記22)
表示部を前記第1及び第2の光源として機能させる手順
をさらに前記コンピュータに実行させることを特徴とする、付記18乃至21のいずれか1項記載のプログラム。
【0066】
以上、開示のガンマ特性推定装置、方法及びプログラムを実施例により説明したが、本発明は上記の実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。