(57)【要約】【課題】対象物体とカメラとの正対状況をユーザに分かりやすく可視化する。【解決手段】画像処理装置は、計算部および描画部を備える。計算部は、カメラの撮影方向の光軸に沿って進む光が撮影対象に当たる領域を表す第１の領域、および、カメラによる撮影位置から撮影対象に光を投光したときに撮影対象から撮影位置に向かう鏡面反射光を生成する領域を表す第２の領域を、カメラにより撮影された撮影画像に基づいて計算する。描画部は、第１の領域を表す第１のモデル画像および第２の領域を表す第２のモデル画像を撮影画像上に描画する。第１のモデル画像および第２のモデル画像が描画された撮影画像は表示装置に表示される。【選択図】図６
2019159472.tif 000002
【特許請求の範囲】
【請求項１】
カメラの撮影方向の光軸に沿って進む光が撮影対象に当たる領域を表す第１の領域、および、前記カメラによる撮影位置から前記撮影対象に光を投光したときに前記撮影対象から前記撮影位置に向かう鏡面反射光を生成する領域を表す第２の領域を、前記カメラにより撮影された撮影画像に基づいて計算する計算部と、
前記第１の領域を表す第１のモデル画像および前記第２の領域を表す第２のモデル画像を前記撮影画像上に描画し、前記第１のモデル画像および前記第２のモデル画像が描画された撮影画像を表示装置に出力する描画部と、
を備える画像処理装置。
【請求項２】
前記計算部は、前記第２の領域として、前記カメラによる撮影位置から前記撮影対象に光を投光したときに前記撮影対象から前記撮影位置に到達する反射光の強度が大きくなる領域を検出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記撮影対象と前記カメラとの正対性を表す値を計算する正対性計算部と、
前記正対性を表す値が所定の閾値条件を満足するときに、前記カメラにより撮影された撮影画像に対して指定された処理を実行する処理部と、をさらに備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記撮影対象と前記カメラとの正対性を表す値は、前記カメラの撮影方向の光軸と、その光軸に沿って進む光が当たる位置における前記撮影対象の表面の法線との間の角度である
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記角度が所定の閾値よりも小さいときに、前記描画部は、前記第１のモデル画像または前記第２のモデル画像の少なくとも一方を変化させる
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記撮影対象の全部が前記カメラの視野内に含まれ、且つ、撮影画像の全画素数に対する前記撮影対象が写っている領域の画素数の割合が所定の閾値よりも大きいときに、前記描画部は、前記第１のモデル画像または前記第２のモデル画像の少なくとも一方を変化させる
ことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記描画部は、前記第１のモデル画像を第１の色で描画し、前記第２のモデル画像を第２の色で描画し、前記第１のモデル画像および前記第２のモデル画像が重なる領域を第３の色で描画する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項８】
カメラの撮影方向の光軸に沿って進む光が撮影対象に当たる領域を表す第１の領域、および、前記カメラによる撮影位置から前記撮影対象に光を投光したときに前記撮影対象から前記撮影位置に向かう鏡面反射光を生成する領域を表す第２の領域を、前記カメラにより撮影された撮影画像に基づいて計算し、
前記第１の領域を表す第１のモデル画像および前記第２の領域を表す第２のモデル画像を前記撮影画像上に描画し、
前記第１のモデル画像および前記第２のモデル画像が描画された撮影画像を表示装置に出力する
ことを特徴とする画像処理方法。
【請求項９】
カメラの撮影方向の光軸に沿って進む光が撮影対象に当たる領域を表す第１の領域、および、前記カメラによる撮影位置から前記撮影対象に光を投光したときに前記撮影対象から前記撮影位置に向かう鏡面反射光を生成する領域を表す第２の領域を、前記カメラにより撮影された撮影画像に基づいて計算し、
前記第１の領域を表す第１のモデル画像および前記第２の領域を表す第２のモデル画像を前記撮影画像上に描画し、
前記第１のモデル画像および前記第２のモデル画像が描画された撮影画像を表示装置に出力する
処理をプロセッサに実行させる画像処理プログラム。
【請求項１０】
カメラと、
前記カメラの撮影方向の光軸に沿って進む光が撮影対象に当たる領域を表す第１の領域、および、前記カメラによる撮影位置から前記撮影対象に光を投光したときに前記撮影対象から前記撮影位置に向かう鏡面反射光を生成する領域を表す第２の領域を、前記カメラにより撮影された撮影画像に基づいて計算する計算部と、
前記第１の領域を表す第１のモデル画像および前記第２の領域を表す第２のモデル画像を前記撮影画像上に描画する描画部と、
前記第１のモデル画像および前記第２のモデル画像が描画された撮影画像を表示する表示装置と、
を備える正対状況可視化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影画像を処理する装置、方法、およびプログラムに係わる。
【背景技術】
【０００２】
近年、工場の設備を点検または管理する作業にかかる負担を軽減するために、拡張現実（ＡＲ：Augmented Reality）技術を用いた作業支援が注目されている。例えば、工場設備の点検作業において、カメラの撮影画像を用いた物体認識が行われることがある。このとき、対象物体とカメラとが正対していないと、撮影画像の射影歪みの影響により、認識精度が低下する。このため、対象物体と正対する位置にユーザがカメラを移動できるようにするために、対象物体とカメラとの正対状況をユーザに提示する方法が提案されている。一例として、カメラの撮影画像に基づいて対象物体の表面の法線方向を推定し、その撮影画像に法線方向を表す画像を重畳的に表示する方法が提案されている（例えば、非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】tango-examples-c/cpp_marker_detection_example at master, http://github.com/googlesamples/tango-examples-c/tree/master/cpp_marker_detection_example
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、必ずしも作業効率の改善が十分でないことがある。例えば、撮影画像に法線方向を表す画像を重畳的に表示する方法では、ユーザは、カメラをどのように移動させれば対象物体とカメラとが正対するのかを直感的に判断することは困難である。すなわち、従来の技術では、撮影画像を利用して対象物体とカメラとを正対させるために、ある程度の訓練または経験が必要となることがある。
【０００５】
本発明の１つの側面に係わる目的は、対象物体とカメラとの正対状況をユーザに分かりやすく可視化することである。
【課題を解決するための手段】
【０００６】
本発明の１つの態様の画像処理装置は、カメラの撮影方向の光軸に沿って進む光が撮影対象に当たる領域を表す第１の領域、および、前記カメラによる撮影位置から前記撮影対象に光を投光したときに前記撮影対象から前記撮影位置に向かう鏡面反射光を生成する領域を表す第２の領域を、前記カメラにより撮影された撮影画像に基づいて計算する計算部と、前記第１の領域を表す第１のモデル画像および前記第２の領域を表す第２のモデル画像を前記撮影画像上に描画し、前記第１のモデル画像および前記第２のモデル画像が描画された撮影画像を表示装置に出力する描画部と、を備える。
【発明の効果】
【０００７】
上述の態様によれば、対象物体とカメラとの正対状況をユーザに分かりやすく可視化できる。
【図面の簡単な説明】
【０００８】
【図１】正対性について説明する図である。
【図２】正対性を可視化する方法の概要を説明する図である。
【図３】正対性とスポットライト光および鏡面反射光との関係を説明する図である。
【図４】表示装置に表示される画像の一例を示す図である。
【図５】鏡面反射光の計算の一例を示す図である。
【図６】正対状況可視化装置の一例を示す図である。
【図７】画像処理装置の処理の一例を示すフローチャートである。
【図８】正対性判定角度と認識率との関係の一例を示す図である。
【図９】ＣＧ画像のバリエーションの例を示す図（その１）である。
【図１０】ＣＧ画像のバリエーションの例を示す図（その２）である。
【発明を実施するための形態】
【０００９】
本発明の実施形態に係わる正対状況可視化装置は、撮影画像を生成するカメラ、撮影画像を処理する画像処理装置、および表示装置を備える。画像処理装置は、対象物体（または、撮影対象）とカメラとの正対性を可視化して表示装置に表示する機能を備える。正対性は、対象物体の表面の法線とカメラの光軸との間の角度θにより表される。よって、角度θが小さいほど、対象物体とカメラとの正対性が高いとみなされる。
【００１０】
図１は、正対性について説明する図である。ここでは、図１（ａ）に示すように、カメラ１を用いて対象物体２を撮影するものとする。この場合、カメラ１の光軸ｎcと対象物体２の表面の法線ｎmとの間の角度θにより、対象物体２とカメラ１との正対性が表される。
【００１１】
実施形態の画像処理装置は、カメラ１により得られる撮影画像を利用して、対象物体２を認識する画像認識処理を実行する。この画像認識の精度は、対象物体２とカメラ１との正対性に依存する。
【００１２】
図１（ｂ）に示す例では、予め用意されているテンプレート画像を利用して、カメラ１により得られる撮影画像に対して画像認識が実行される。なお、テンプレート画像は、例えば、対象物体２にカメラ１が十分に正対している状態で対象物体２を撮影することで予め得られている。
【００１３】
ユーザは、カメラ１を用いて対象物体２を撮影することにより、対象物体２を認識する作業を行うものとする。このとき、対象物体２にカメラ１が正対している状態で撮影が行われると、得られた撮影画像において射影歪みが小さいので、テンプレート画像による認識精度が高くなる。これに対して、対象物体２にカメラ１が正対していない状態で撮影が行われると、得られた撮影画像において射影歪みが大きいので、テンプレート画像による認識精度が低くなる。
【００１４】
よって、対象物体２にカメラ１が正対している状態で撮影が行われことが好ましい。そこで、実施形態の画像処理装置は、対象物体２とカメラ１との正対性を可視化してユーザに提示する機能を備える。
【００１５】
図２は、正対性を可視化する方法の概要を説明する図である。ここでは、図２（ａ）に示すように、カメラ１を用いて対象物体２が撮影されるものとする。また、カメラ１による撮影位置から対象物体２に光を投光する仮想的な光源３が存在するものとする。
【００１６】
まず、カメラ１の撮影方向の光軸に沿って、光源３から対象物体２にスポットライト光が投光されるものとする。この場合、画像処理装置は、このスポットライト光が対象物体２に当たる「第１の領域（以下、スポットライト領域）」を計算する。また、画像処理装置は、光源３から対象物体２に光を投光したときに、対象物体２から撮影位置に向かう鏡面反射光を生成する領域を表す「第２の領域（以下、鏡面反射領域）」を計算する。鏡面反射領域は、対象物体２からの反射光の強度が大きくなる領域を計算することで特定される。
【００１７】
更に、画像処理装置は、カメラ１により得られた撮影画像上に、スポットライト領域を表すスポットライトＣＧ画像および鏡面反射領域を表す鏡面反射光ＣＧ画像を描画する。そして、画像処理装置は、図２（ｂ）に示すように、スポットライトＣＧ画像および鏡面反射光ＣＧ画像が描画された撮影画像を表示装置に表示する。
【００１８】
ここで、対象物体２の任意の測定点Ｐに光源３から光が投光された場合、光源３から測定点Ｐへ至る光軸と測定点Ｐにおける対象物体２の法線との間の角度が小さいほど、光源３において検出される反射光の強度が大きくなると考えられる。すなわち、光源３（すなわち、カメラ１）は、反射光の強度が大きくなる点または領域に正対していると推定される。換言すれば、光源３（すなわち、カメラ１）は、鏡面反射光ＣＧ画像が表示される領域に正対していると推定される。
【００１９】
よって、スポットライトＣＧ画像および鏡面反射光ＣＧ画像が描画された撮影画像が表示装置に表示されるときに、スポットライトＣＧ画像および鏡面反射光ＣＧ画像が互いに近接または重なっていれば、対象物体２に対してカメラ１が正対していると考えられる。すなわち、対象物体２に対してカメラ１が正対すれば、スポットライトＣＧ画像および鏡面反射光ＣＧ画像が互いに近接または重なることになる。
【００２０】
したがって、ユーザは、表示装置に表示されている画像を見ながら、スポットライトＣＧ画像および鏡面反射光ＣＧ画像が互いに近接または重なるようにカメラ１の位置および／または姿勢を調整する。そうすると、結果的に、対象物体２に対してカメラ１が正対することになる。
【００２１】
このように、実施形態に係わる画像処理方法によれば、光の反射特性を利用して対象物体２とカメラ１との間の正対性が可視化される。すなわち、人間が感知できる物理現象を利用して対象物体２とカメラ１との間の正対性が可視化される。したがって、ユーザは、正対性を直感的に把握できるので、対象物体２に対してカメラ１を正対させる作業が容易である。
【００２２】
図３は、スポットライト光および鏡面反射光と正対性の関係を説明する図である。この例では、カメラ１を用いて対象物体２が撮影されるものとする。
【００２３】
図３（ａ）に示す例では、対象物体２に対してカメラ１は正対していない。この場合、スポットライトＣＧ画像および鏡面反射光ＣＧ画像が表示される位置は、互いに離れている。したがって、ユーザは、表示装置に表示されている画像を見ながら、スポットライトＣＧ画像および鏡面反射光ＣＧ画像が互いに近接または重なるように、カメラ１の位置および／または姿勢を調整する。
【００２４】
図３（ｂ）に示す例では、対象物体２に対してカメラ１は正対している。この場合、スポットライトＣＧ画像および鏡面反射光ＣＧ画像は、互いに近接または重なって表示される。すなわち、スポットライトＣＧ画像および鏡面反射光ＣＧ画像が互いに近接または重なるように、ユーザがカメラ１の位置および／または姿勢を調整すれば、対象物体２に対してカメラ１が正対することになる。
【００２５】
図４は、表示装置に表示される画像の一例を示す。この例では、複数のコンピュータを含むサーバコンピュータシステムがカメラ１により撮影されている。すなわち、対象物体２は、サーバコンピュータシステムである。なお、複数のコンピュータは、サーバラックに収容されている。
【００２６】
図４に示す画像上で、２つの斜線領域は、それぞれスポットライトＣＧ画像および鏡面反射光ＣＧ画像を表す。なお、この例では、図面を見やすくするために、スポットライトＣＧ画像および鏡面反射光ＣＧ画像をそれぞれ斜線領域で表しているが、実際には、所望の方法でスポットライトＣＧ画像および鏡面反射光ＣＧ画像を描画することができる。例えば、スポットライトＣＧ画像に対応する領域を所定の色（例えば、黄色）で描画し、鏡面反射光ＣＧ画像に対応する領域を他の所定の色（例えば、白色）で描画してもよい。
【００２７】
図４に示す例では、サーバコンピュータシステムに対してカメラ１が正対していない。この結果、スポットライトＣＧ画像がサーバコンピュータシステムの右上領域に現れ、鏡面反射光ＣＧ画像がサーバコンピュータシステムの左下領域に現れている。
【００２８】
図５は、鏡面反射光の計算の一例を示す。この例では、カメラ１を用いて対象物体２が撮影されるものとする。また、カメラ１による撮影位置から対象物体２に光を投光する仮想的な光源３が存在するものとする。
【００２９】
この実施例では、Phongの反射モデルに従って、３Ｄモデルの表面の各点ｐにおける反射光の強度Ｉsが計算される。なお、Phongの反射モデルについては、下記の文献に記載されている。
B. T. Phong, Illumination for computer generated pictures, Communications of ACM 18 (1975), no.6, 311-317.
【００３０】
Phongの反射モデルによれば、図５に示す対象物体２の表面上の点ｐにおける反射光の強度Ｉsは、（１）式で表される。
【００３１】
【数１】
2019159472.tif 000003
【００３２】
ｋs：対象物体２の鏡面反射係数
Ｉi：対象物体２における入射光の強度
ｒ：点ｐにおいて入射光が完全に反射されるときの単位方向ベクトル
ｖ：点ｐからカメラ１に向かう単位方向ベクトル
ｒ・ｖ：ベクトルｒとベクトルｖとの間の角度
α：対象物体２の光沢度（ハイライトの鋭さ）
【００３３】
なお、鏡面反射係数ｋsおよび光沢度αは、既知であるものとする。また、光源３の出力光の強度を定義することにより、入射光の強度Ｉiが与えられる。なお、強度Ｉiは、対象物体２の表面全域において一定であってもよい。さらに、カメラ１の位置、カメラ１の姿勢（撮影方向の光軸）、対象物体２の位置、対象物体２の形状、対象物体２の姿勢を表す情報を取得すれば、ベクトルｒおよびベクトルｖをそれぞれ算出することができる。
【００３４】
実施形態の画像処理装置は、対象物体２の表面全体に渡って点ｐの位置をシフトさせながら、各点ｐにおける反射光の強度Ｉsを計算する。ここで、対象物体２の表面の法線がカメラ１の位置を向くような位置ｐpeakにおいて、ｒ・ｖが極小となり、その結果、反射光の強度Ｉsが極大となる。なお、「極小」は、他の点で得られる値と比較して計算値が相対的に小さい状態を表し、「極大」は、他の点で得られる値と比較して計算値が相対的に大きい状態を表す。
【００３５】
画像処理装置は、反射光の強度Ｉsが極大となる位置ｐpeakを特定する。また、画像処理装置は、特定した位置（およびその周辺の領域）を他の領域から識別するＣＧ画像を生成する。このとき、対象物体２の表面全体をレンダリングすることにより、位置ｐpeakの周辺の領域を識別表示するＣＧ画像が生成される。このＣＧ画像は、上述した鏡面反射光ＣＧ画像に相当する。そして、画像処理装置は、カメラ１により撮影された撮影画像と鏡面反射光ＣＧ画像とを合成する。すなわち、画像処理装置は、カメラ１により撮影された撮影画像上に鏡面反射光ＣＧ画像を描画する。
【００３６】
図６は、本発明の実施形態に係わる正対状況可視化装置の一例を示す。実施形態の正対状況可視化装置１００は、図６に示すように、カメラ（撮像装置）１、表示装置４、画像処理装置１０を備える。なお、正対状況可視化装置１００は、図６に示していない他の要素を備えていてもよい。また、正対状況可視化装置１００は、例えば、スマートフォン等の情報処理装置により実現される。
【００３７】
カメラ１は、撮影画像を表す画像データを生成する。この実施例では、カメラ１は、所定の時間間隔で撮影を行い、各撮影タイミングにおける画像データをそれぞれ生成できるものとする。なお、カメラ１により生成される画像データは、例えば、ＲＧＢ画像データである。
【００３８】
画像処理装置１０は、記憶部１１およびプロセッサ１２を備える。また、プロセッサ１２は、カメラ位置推定部１３、光源設定更新部１４、物体位置取得部１５、反射計算部１６、描画部１７、正対性計算部１８、および処理部１９を備える。なお、プロセッサ１２は、図６に示していない機能を提供することもできる。そして、画像処理装置１０は、対象物体とカメラ１との正対状況を表す合成画像を生成する。この合成画像は、例えば、カメラ１による撮影画像上に、図３〜図４に示すスポットライトＣＧ画像および鏡面反射光ＣＧ画像を描画することで生成される。
【００３９】
表示装置４は、画像処理装置１０により生成される合成画像を表示する。ただし、画像処理装置１０が正対状況を表す合成画像を生成しないときは、表示装置４は、カメラ１による撮影画像をそのまま表示してもよい。
【００４０】
記憶装置１１には、ＲＧＢ画像データ、光源設定値、対象物体の３Ｄモデルデータが格納される。なお、記憶装置１１には、図６に示していない他のデータおよび／または情報が格納されていてもよい。また、プロセッサ１２により実行されるプログラムは、記憶装置１１に格納されるようにしてもよいし、不図示の他のメモリに格納されるようにしてもよい。
【００４１】
ＲＧＢ画像データは、カメラ１により生成される。なお、画像処理装置１０は、撮影時刻から所定の時間が経過したＲＧＢ画像データを記憶装置１１から消去してもよい。
【００４２】
光源設定値は、光源の位置、向き、および出力光の強度を表す。なお、光源の位置は、カメラ１の位置と実質的に同じである。よって、カメラ１（すなわち、カメラ１を備える正対状況可視化装置１００）の位置が変化すると、光源の位置も更新される。また、光源の向きは、カメラ１の撮影方向の光軸と実質的に同じである。よって、カメラ１の姿勢が変化すると、光源の向きも更新される。光源の出力光の強度は、通常時は、一定である。ただし、画像処理装置１０は、必要に応じて、光源の出力光の強度を制御できる。なお、光源は、実際に正対状況可視化装置１００が備えているのではなく、対象物体からの反射光を計算するために仮想的に設けられる。
【００４３】
対象物体の３Ｄモデルデータは、対象物体の３Ｄ形状、位置、姿勢を表す。なお、対象物体の３Ｄ形状は、例えば、対象物体を予め撮影することで得られる画像データに基づいて生成してもよい。対象物体の位置および姿勢は、例えば、世界座標上で表される。この場合、例えば、位置および姿勢が既知であるカメラを用いて、所定のマーカが付与された対象物体を撮影すれば、マーカの位置合わせにより対象物体の位置および姿勢を求めることができる。
【００４４】
カメラ位置推定部１３は、対象物体のＲＧＢ画像に基づいて、カメラ１の位置および姿勢を推定する。この実施例では、対象物体の位置および姿勢が既知である。したがって、カメラ位置推定部１３は、カメラ１で対象物体を撮影したときのＲＧＢ画像を解析することにより、カメラ１の位置および姿勢を推定することができる。
【００４５】
光源設定更新部１４は、カメラ位置推定部１３により推定されるカメラ１の位置および姿勢に基づいて、記憶部１１に格納されている光源設定値を更新する。一例として、光源の位置を表す光源設定値は、カメラ１の位置と一致するように更新される。また、光源の向きを表す光源設定値は、カメラ１の撮影方向の光軸と一致するように更新される。
【００４６】
物体位置取得部１５は、記憶部１１から対象物体の３Ｄモデルデータを読み出すことにより、対象物体の位置および姿勢を表す情報を取得する。
【００４７】
反射計算部１６は、記憶部１１から対象物体の３Ｄモデルデータ、光源設定更新部１４により更新される光源設定値、および物体位置取得部１５が取得した対象物体の位置および姿勢を表す情報に基づいて、対象物体における反射光を計算する。このとき、反射計算部１６は、下記の２つを計算する。
【００４８】
（１）光源からカメラ１の撮影方向の光軸に沿って進む光が対象物体に当たる領域（すなわち、スポットライト領域）。
（２）光源（すなわち、カメラ１による撮影位置）から対象物体に光を投光したときに、対象物体から撮影位置に向かう鏡面反射光を生成する領域（すなわち、鏡面反射領域）。なお、この鏡面反射領域は、図５を参照しながら説明したように、対象物体から撮影位置に到達する反射光の強度が大きくなる領域に相当する。また、反射計算部１６は、カメラの撮影方向の光軸に沿って進む光が撮影対象に当たる領域を表す第１の領域（即ち、スポットライト領域）、および、カメラによる撮影位置から撮影対象に光を投光したときに撮影対象から撮影位置に向かう鏡面反射光を生成する領域を表す第２の領域（即ち、鏡面反射領域）を、カメラにより撮影された撮影画像に基づいて計算する計算部の一例である。
【００４９】
描画部１７は、スポットライト領域を表すスポットライトＣＧ画像および鏡面反射領域を表す鏡面反射ＣＧ画像を、対象物体のＲＧＢ画像上に描画する。このとき、描画部１７は、対象物体の３Ｄモデルデータを利用して、ＲＧＢ画像上での対象物体の位置とスポットライト領域および鏡面反射領域の位置とを整合させる。そして、描画部１７により生成された合成画像（すなわち、スポットライトＣＧ画像および鏡面反射ＣＧ画像が描画されたＲＧＢ画像）は、表示装置４に表示される。
【００５０】
正対性計算部１８は、対象物体の３Ｄモデルデータ、カメラ位置推定部１３により推定されるカメラ１の位置および姿勢、対象物体の位置および姿勢などに基づいて、対象物体とカメラ１との正対性を計算する。正対性は、例えば、カメラ１の撮影方向の光軸と、その光軸に沿って進むスポットライト光の対象物体における反射光が進む方向との間の角度で表される。この場合、この角度がゼロに近いほど、正対性が高いことになる。
【００５１】
処理部１９は、対象物体とカメラ１との正対性が所定の閾値条件を満足するときに、カメラ１により得られる対象物体のＲＧＢ画像に対して所定の処理を実行する。例えば、処理部１９は、対象物体のＲＧＢ画像を保存する。或いは、対象物体のテンプレート画像が予め用意されているときは、処理部１９は、対象物体のＲＧＢ画像とそのテンプレート画像を照合することにより、対象物体を認識してもよい。なお、閾値条件は、例えば、所定の角度を表す。この場合、正対性計算部１８により計算される角度が閾値角度よりも小さいときに、処理部１９は、対象物体のＲＧＢ画像に対して所定の処理を実行する。
【００５２】
図７は、画像処理装置１０の処理の一例を示すフローチャートである。このフローチャートの処理は、例えば、正対状況可視化装置１００のユーザが正対状況可視化処理の実行を指示したときに開始される。
【００５３】
Ｓ１において、プロセッサ１２は、対象物体の形状を表す情報を記憶部１１から読み込む。対象物体の形状を表す情報は、図６に示す例では、対象物体の３Ｄモデルデータとして記憶１１に格納されている。
【００５４】
Ｓ２において、プロセッサ１２は、対象物体の位置および姿勢を表す情報を記憶部１１から取得する。対象物体の位置および姿勢を表す情報は、図６に示す例では、対象物体の３Ｄモデルデータとして記憶１１に格納されている。
【００５５】
Ｓ３において、プロセッサ１２は、カメラ１による撮影において生成される撮影画像を記憶部１１から取得する。なお、カメラ１は、所定の時間間隔で繰り返し撮影を実行し、記憶部１１には、所定の期間にわたって得られた複数のＲＧＢ画像が格納される。この場合、プロセッサ１２は、最も新しいＲＧＢ画像を取得してもよいし、２以上のＲＧＢ画像を取得してもよい。
【００５６】
Ｓ４において、カメラ位置推定部１３は、撮影画像に基づいて、カメラ１の位置および姿勢を推定する。この実施例では、Ｓ２においてプロセッサ１２が対象物体の位置および姿勢を表す情報を取得しているので、対象物体の位置および姿勢は既知である。したがって、カメラ位置推定部１３は、カメラ１で対象物体を撮影したときのＲＧＢ画像を解析することにより、カメラ１の位置および姿勢を推定することができる。
【００５７】
Ｓ５において、光源設定更新部１４は、カメラ位置推定部１３により推定されるカメラ１の位置に基づいて、光源の位置を表す光源設定値を更新する。このとき、光源設定更新部１４は、光源の位置がカメラ１の位置と一致するように、光源の位置を設定する。尚、この実施例では、特に限定されるものではないが、光源の出力光の強度として、予め指定された固定値が設定される。
【００５８】
Ｓ６において、光源設定更新部１４は、カメラ位置推定部１３により推定されるカメラ１の姿勢に基づいて、光源の向きを表す光源設定値を更新する。このとき、光源設定更新部１４は、光源の向きがカメラ１の撮影方向の光軸と一致するように、光源の向きを設定する。
【００５９】
Ｓ７において、反射計算部１６は、スポットライト領域を計算する。スポットライト領域は、この実施例では、カメラ１の撮影方向の光軸に沿って進む光が対象物体に当たる領域に相当する。ここで、対象物体の形状、位置、および姿勢は、Ｓ１〜Ｓ２により既知である。また、カメラ１の位置および姿勢は、Ｓ４により既知である。更に、カメラ１の撮影方向の光軸に沿って進む光は、Ｓ５〜Ｓ６において設定される光源により実現される。したがって、反射計算部１６は、これらの情報に基づいて、スポットライト領域を計算することができる。
【００６０】
Ｓ８において、反射計算部１６は、鏡面反射領域を計算する。鏡面反射領域は、カメラ１による撮影位置から対象物体に光を投光したときに対象物体から撮影位置に向かう鏡面反射光を生成する領域に相当する。この領域は、対象物体から撮影位置に到達する反射光の強度が大きくなる領域を計算することで特定される。ここで、カメラ１による撮影位置は、Ｓ４により既知である。撮影位置から対象物体への投光は、カメラ１と同じ位置に仮想的に設けられる光源により実現される。対象物体からの反射光の強度は、たとえば、上述したPhongの反射モデルを利用して計算される。この反射モデルにおいて使用されるパラメータ（例えば、図５に示すベクトルｒ、ベクトルｖ）は、対象物体の形状、位置、姿勢、およびカメラ１（即ち、光源）の位置および姿勢などに基づいて計算される。
【００６１】
Ｓ９において、描画部１７は、Ｓ７で計算されたスポットライト領域を表すスポットライトＣＧ画像およびＳ８で計算された鏡面反射領域を表す鏡面反射ＣＧ画像を生成する。スポットライトＣＧ画像および鏡面反射ＣＧ画像は、互いに異なる色であることが好ましい。また、描画部１７は、対象物体のＲＧＢ画像上にスポットライトＣＧ画像および鏡面反射ＣＧ画像を描画する。このとき、描画部１７は、対象物体の３Ｄモデルデータを利用して、ＲＧＢ画像上での対象物体の位置とスポットライト領域および鏡面反射領域の位置とを整合させる。そして、描画部１７により生成された合成画像（すなわち、スポットライトＣＧ画像および鏡面反射ＣＧ画像が描画されたＲＧＢ画像）は、表示装置４に表示される。
【００６２】
Ｓ１０において、正対性計算部１８は、対象物体の３Ｄモデルデータ、カメラ位置推定部１３により推定されるカメラ１の位置および姿勢、対象物体の形状、位置、姿勢などに基づいて、対象物体とカメラ１との正対性を計算する。正対性は、この実施例では、カメラ１の撮影方向の光軸と、その光軸に沿って進む光が当たる位置における対象物体の表面の法線との間の角度で表される。なお、以下の記載では、この角度を「正対性判定角度」と呼ぶことがある。
【００６３】
カメラ１の撮影方向の光軸は、Ｓ４により既知である。また、対象物体の形状、位置、姿勢は、Ｓ１〜Ｓ２により既知である。よって、正対性計算部１８は、カメラ１の撮影方向の光軸が対象物体に当たる点（スポットライト中心）を計算できる。さらに、正対性計算部１８は、対象物体の形状、位置、姿勢に基づいて、スポットライト中心における対象物体の表面の法線を計算できる。したがって、正対性計算部１８は、カメラ１の撮影方向の光軸とスポットライト中心における対象物体の表面の法線との間の角度を表す正対性判定角度を計算することができる。なお、この実施例では、正対性判定角度がゼロに近いほど、正対性が高いことになる。
【００６４】
正対性計算部１８は、正対性判定角度と所定の閾値とを比較する。この閾値は、たとえば、画像処理装置１０が対象物体について画像認識を行う場合には、要求される認識精度に応じて設定される。そして、正対性判定角度が閾値より小さければ、正対性計算部１８は、対象物体に対してカメラ１が十分に正対していると判定する。この場合、画像処理部１０の処理はＳ１１に進む。
【００６５】
Ｓ１１において、処理部１９は、カメラ１により得られる対象物体のＲＧＢ画像に対して所定の処理を実行する。例えば、処理部１９は、対象物体のＲＧＢ画像を保存する。或いは、対象物体のテンプレート画像が予め用意されているときは、処理部１９は、対象物体のＲＧＢ画像とそのテンプレート画像とを照合することにより、対象物体を認識してもよい。この後、処理部１９は、対象物体のＲＧＢ画像に対する処理が完了したことを表すメッセージを出力してもよい。このメッセージは、例えば、表示装置４に表示される。
【００６６】
正対性判定角度が閾値以上であるときは（Ｓ１０：Ｎｏ）、正対性計算部１８は、対象物体に対してカメラ１が正対していないと判定する。この場合、画像処理部１０の処理はＳ３に戻る。また、正対性判定角度が閾値以上であるときは、Ｓ１１の処理が実行されないので、対象物体のＲＧＢ画像に対する処理が完了したことを表すメッセージは出力されない。よって、ユーザは、表示装置４に表示されている対象物体、スポットライトＣＧ画像、鏡面反射ＣＧ画像を参照しながら、カメラ１の位置および姿勢を変化させる。具体的には、ユーザは、表示装置４の画面上でスポットライトＣＧ画像および鏡面反射ＣＧ画像が互いに近づくまたは重なるように、カメラ１の位置および姿勢を変化させる。
【００６７】
このように、ユーザは、表示装置４に表示される画像を参照しながらカメラ１の位置および姿勢を変化させる。このとき、画像処理装置１０は、Ｓ３〜Ｓ１０の処理を繰り返し実行する。そして、画像処理装置１０は、対象物体に対してカメラ１が十分に正対していると判定すると、対象物体のＲＧＢ画像に対して所定の処理を実行する。
【００６８】
なお、カメラ１に向き合う対象物体２の表面が平面でなくても、画像処理装置１０は、対象物体２に対するカメラ１の正対性を判定できる。すなわち、画像処理装置１０は、対象物体２の表面を構成する複数の面のそれぞれについて、カメラ１の正対性を判定することができる。
【００６９】
＜バリエーション１＞
画像処理装置１０は、所定の条件に応じて、上述した光源を明滅（または、点滅）させてもよい。ここで、スポットライトＣＧ画像は、この光源から出力されるスポットライト光が当って他の領域よりも明るくなっている状態を表している。また、鏡面反射ＣＧ画像は、この光源から対象物体に光が投光されるときに、その対象物体から戻ってくる反射光を表している。よって、光源が明滅すると、表示装置４に表示されるスポットライトＣＧ画像および鏡面反射ＣＧ画像は、光源の明滅に同期して明滅する。したがって、画像処理装置１０は、例えば、対象物体に対するカメラ１の正対性の高さに応じて、スポットライトＣＧ画像および／または鏡面反射ＣＧ画像を明滅させることができる。
【００７０】
光源の明滅（すなわち、スポットライトＣＧ画像および鏡面反射ＣＧ画像の明滅）は、例えば、光源の出力光の強度を制御することで実現される。この場合、画像処理装置１０は、Phongの反射モデルにおいて強度Ｉiをゼロに更新することにより、反射光の強度をゼロにする。この結果、スポットライトＣＧ画像および鏡面反射ＣＧ画像の「消光」が実現される。なお、画像処理装置１０は、スポットライトＣＧ画像または鏡面反射ＣＧ画像の一方のみを明滅させてもよい。
【００７１】
一例として、画像処理装置１０は、正対性判定角度θが閾値θthより小さいときに、スポットライトＣＧ画像および／または鏡面反射ＣＧ画像を明滅させる。閾値θthは、例えば、対象物体の認識率ｓに応じて決定される。この場合、正対性判定角度θと認識率ｓとの関係が予め測定される。そして、図８に示す対応関係が予め得られているものとする。また、0.75よりも高い認識率が要求されるものとする。このケースでは、閾値θthは１０度に設定される。なお、スポットライトＣＧ画像および／または鏡面反射ＣＧ画像が明滅すると、ユーザは「現在の状態で対象物体を撮影すれば、0.75よりも高い認識率が期待される」ことを認識できる。
【００７２】
画像処理装置１０は、スポットライトＣＧ画像および／または鏡面反射ＣＧ画像を明滅させる場合、正対性の程度に応じて明滅の周波数を制御してもよい。例えば、（２）式に従って明滅の周波数ｆが制御される。
【００７３】
【数２】
2019159472.tif 000004
【００７４】
ｆmaxは、明滅の最大周波数を表す。θは、正対性判定角度を表す。θthは上述した閾値を表す。このケースでは、正対性が高くなるほど、スポットライトＣＧ画像および／または鏡面反射ＣＧ画像の明滅の周波数が高くなる。例えば、ｆmaxが４Hzであり、θthが１０度であるものとする。この場合、正対性判定角度θが５度であれば、明滅周波数は２Hzであり、正対性判定角度θが３度であれば、明滅周波数は2.8Hzである。
【００７５】
ところで、カメラ１で対象物体を撮影したときに、対象物体が適切な大きさで撮影されていなければ、画像認識の精度が低くなる。そこで、画像処理装置１０は、対象物体が適切な大きさで撮影されているときに、スポットライトＣＧ画像および／または鏡面反射ＣＧ画像を明滅させるようにしてもよい。
【００７６】
一例としては、対象物体の全部がカメラ１の視野内に含まれ、且つ、撮影画像の全画素数に対する対象物体が写っている領域の画素数の割合が所定の閾値ｒthよりも大きいときに、画像処理装置１０は、対象物体が適切な大きさで撮影されていると判定し、スポットライトＣＧ画像および／または鏡面反射ＣＧ画像を明滅させる。なお、閾値ｒthは、対象物体が写っている領域の画素数が極端に少なくなることを回避する目的で設定されるので、例えば、１０パーセント程度で十分である。
【００７７】
＜バリエーション２＞
図４等に示す例では、スポットライトＣＧ画像および／または鏡面反射ＣＧ画像の形状は、円または楕円であるが、本発明はこれに限定されるものではない。例えば、スポットライトＣＧ画像および鏡面反射ＣＧ画像は、図９に示すように、それぞれ同心円状の縞模様で表現されるようにしてもよい。この場合、ユーザがカメラ１の位置および姿勢を変化させることでスポットライトＣＧ画像と鏡面反射ＣＧ画像とが互いに近づくと、干渉縞が発生する。
【００７８】
＜バリエーション３＞
画像処理装置１０は、スポットライトＣＧ画像および鏡面反射ＣＧ画像をそれぞれ所望の色で表すことができる。また、画像処理装置１０は、スポットライトＣＧ画像および鏡面反射ＣＧ画像が互いに重なるときには、それらの画像が重なる領域の色を加法混色で調整する。
【００７９】
例えば、図１０（ａ）に示す例では、スポットライトＣＧ画像が赤色で表示され、鏡面反射ＣＧ画像が緑色で表示されている。このとき、ユーザがカメラ１の位置および姿勢を変化させることで、図１０（ｂ）に示すように、スポットライトＣＧ画像および鏡面反射ＣＧ画像が互いに重なるものとする。ここで、加法混色によれば、赤および緑が重なると黄が得られる。したがって、この例では、対象物体２に対してカメラ１が正対すると、表示装置４において黄色の領域が得られる。
【００８０】
＜ハードウェア構成＞
正対状況可視化装置１００は、図６に示すように、カメラ１、画像処理装置１０、表示装置４を備える。また、正対状況可視化装置１００は、図６に示してないが、ユーザからのアクセスを受け付ける入力インタフェースを備える。入力インタフェースは、表示装置４を利用して実現してもよい。さらに、正対状況可視化装置１００は、ネットワークに接続するための通信インタフェースを備えていてもよい。
【００８１】
画像処理装置１０は、記憶部１１およびプロセッサ１２を備える。記憶部１１は、例えば、半導体メモリにより実現される。そして、記憶部１１には、図６に示すＲＧＢ画像データ、光源設定値、対象物体の３Ｄモデルデータに加えて、プロセッサ１２に図７に示すフローチャートの処理を実行させるための画像処理プログラムが格納される。この画像処理プログラムは、例えば、上述した通信インタフェースを介してサーバコンピュータからダウンロードされるようにしてもよい。
【００８２】
プロセッサ１２は、画像処理プログラムを実行することにより、図７に示すフローチャートの手順を実現する。すなわち、プロセッサ１２は、画像処理プログラムを実行することにより、カメラ位置推定部１３、光源設定更新部１４、物体位置取得部１５、反射計算部１６、描画部１７、正対性計算部１８、および処理部１９の機能を提供する。なお、プロセッサ１２は、与えられたプログラムを実行することにより、任意の機能を提供することができる。
【符号の説明】
【００８３】
１  カメラ（撮像装置）
２  対象物体（撮影対象）
３  光源
４  表示装置
１０  画像処理装置
１１  記憶部
１２  プロセッサ
１３  カメラ位置推定部
１４  光源設定更新部
１５  物体位置取得部
１６  反射計算部
１７  描画部
１８  正対性計算部
１９  処理部
１００  正対状況可視化装置
【図１】
2019159472.tif 000005
【図２】
2019159472.tif 000006
【図３】
2019159472.tif 000007
【図４】
2019159472.tif 000008
【図５】
2019159472.tif 000009
【図６】
2019159472.tif 000010
【図７】
2019159472.tif 000011
【図８】
2019159472.tif 000012
【図９】
2019159472.tif 000013
【図１０】
2019159472.tif 000014