JP2022059879A - 画像処理システム、画像処理方法及びプログラム - Google Patents

画像処理システム、画像処理方法及びプログラム Download PDF

Info

Publication number
JP2022059879A
JP2022059879A JP2020167757A JP2020167757A JP2022059879A JP 2022059879 A JP2022059879 A JP 2022059879A JP 2020167757 A JP2020167757 A JP 2020167757A JP 2020167757 A JP2020167757 A JP 2020167757A JP 2022059879 A JP2022059879 A JP 2022059879A
Authority
JP
Japan
Prior art keywords
image
subject
virtual object
captured
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020167757A
Other languages
English (en)
Inventor
壮太 山岸
Sota Yamagishi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toppan Inc
Original Assignee
Toppan Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toppan Printing Co Ltd filed Critical Toppan Printing Co Ltd
Priority to JP2020167757A priority Critical patent/JP2022059879A/ja
Publication of JP2022059879A publication Critical patent/JP2022059879A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

【課題】実空間の撮像画像に仮想オブジェクト(以下、VOと示す)画像を合成する際、撮像シーンや撮像装置の状態に依存せず、VO画像を撮像画像に合成した合成画像がより自然に視認できる合成画像を生成する画像処理システムを提供する。【解決手段】本発明は、参照画像における被写体の位置及び姿勢を含む被写体情報を推定する被写体情報推定部と、被写体CG画像を描画する被写体CG画像描画部と、対象画像でのVO画像の配置位置を取得するオブジェクト配置位置取得部と、被写体画像と被写体CG画像を比較して被写体画像精細度を取得し、被写体画像精細度と、参照画像を撮像した際の参照画像撮像パラメータと、対象画像を撮像した際の対象画像撮像パラメータと、被写体及び撮像装置間の第1距離と、撮像装置及びVO間の第2距離から、VO画像のVO画像精細度を求める対応関係により、VO画像精細度を取得する精細度算出部とを備える。【選択図】図1

Description

本発明は、画像処理システム、画像処理方法及びプログラムに関する。
従来、実際の撮像装置(実撮像装置)により撮像した実空間の画像に対して、仮想オブジェクトの画像を重ね合わせて、当該仮想オブジェクトが上記実空間に実際に存在するように視認できる画像を生成して、表示装置に表示する技術がある。
例えば、特許文献1に記載された画像処理システムにおいては、実空間を撮像した実画像から、仮想空間における仮想光源の色と明るさに関するパラメータを算出する。
そして、算出した仮想光源パラメータを設定した仮想空間において、仮想オブジェクトである三次元モデルを仮想撮像装置(仮想カメラ)で撮像し、当該撮像した画像を実撮像装置で撮像した画像に重畳して表示させる。
また、特許文献2に記載の画像処理システムにおいては、被写体と背景との各々の撮像画像と、撮像した際の撮像情報それぞれを取得し、撮像情報に基づいてデータベース上から上記被写体の形状を示す三次元データ、及び背景を示す二次元データを取得する。
そして、取得した三次元データ及び二次元データの各々に基づいて、二次元データの背景に三次元データの被写体を配置したシミュレーション画像を生成する。
その後、被写体及び背景の各々の撮像画像と、シミュレーション画像における三次元データ及び二次元データとの差分から、シミュレーション画像の濃度、色味、ぼけ具合、カメラ露出を補正する。
これにより、撮像画像とシミュレーション画像とを拡大比率に応じて、シミュレーション画像における各画素の画素値の加重平均を行うことにより、ユーザの操作に対応させてシミュレーション画像の加工を行っている。
特許第5646263号公報 特許第4829269号公報
しかしながら、特許文献1においては、撮影装置のピント位置によらず、仮想オブジェクトの画像である仮想オブジェクト画像の精細度が一定である。
このため、実空間に重畳させた仮想オブジェクト画像が、当該実空間において不自然に視認される場合がある。例えば、実空間を撮像した画像において、撮像装置のピントが合っていない範囲はぼけるが、そのピントの合っていない範囲に重畳される仮想オブジェクト画像はぼけていない。
これにより、仮想オブジェクト画像の部分のみが、実空間の画像に比較して高精細に表示され、当該仮想オブジェクト画像が周囲から浮いて視認され、不自然な合成画像として表示される。
また、特許文献2においては、データベース上から取得する被写体の三次元データおよび背景の二次元データに基づいてシミュレーション画像を生成している。
このため、データベース上に三次元データ及び二次元データの各々がない被写体、背景それぞれには、適用できない画像処理システムである。
また、実空間にある被写体のシミュレーション画像を生成することを想定している。このため、実空間の任意の位置において、実際に存在することがない被写体の仮想オブジェクトが、あたかも当該実空間に存在するかのようなシミュレーション画像を生成することができない。
本発明は、このような状況に鑑みてなされたもので、実空間の撮像画像に仮想オブジェクトの画像を重ね合わせて表示する場合に、撮像シーンや撮影装置の状態に依存することなく、仮想オブジェクト画像を実空間の撮像画像の任意の位置に重畳して合成した合成画像がより自然な表示として視認できる合成画像を生成する画像処理システム、画像処理方法及びプログラムを提供する。
本発明の画像処理システムは、撮像装置で撮像した参照撮像画像における被写体の被写体画像に基づいて、前記撮像装置に対する前記被写体の位置及び姿勢を含む被写体情報を推定する被写体情報推定部と、前記被写体情報に基づいて前記被写体のCG(computer graphics)画像である被写体CG画像を描画する被写体CG画像描画部と、前記撮像装置の撮像した対象撮像画像における仮想オブジェクト画像を配置する配置位置を取得する仮想オブジェクト配置位置取得部と、前記被写体画像と前記被写体CG画像とを比較して、当該被写体画像の精細度である被写体画像精細度を取得し、また、当該被写体画像精細度と、前記撮像装置により前記参照撮像画像を撮像した際の参照撮像画像撮像パラメータと、前記撮像装置により前記対象撮像画像を撮像した際の対象撮像画像撮像パラメータと、前記被写体及び前記撮像装置間の第1距離と、前記仮想オブジェクト画像を前記対象撮像画像に合成した際における前記撮像装置及び当該仮想オブジェクト画像の仮想オブジェクト間の仮想距離である第2距離とから、前記対象撮像画像に合成する仮想オブジェクト画像の精細度である仮想オブジェクト画像精細度を求める対応関係を用い、前記第2距離に対応した前記仮想オブジェクト画像精細度を取得する精細度算出部とを備えることを特徴とする。
本発明の画像処理システムは、前記仮想オブジェクト画像精細度に基づいて前記仮想オブジェクト画像の精細度を調整し、精細度を調整した仮想オブジェクト画像を前記対象撮像画像における前記第2距離に対応させて、所定の位置に配置して合成した合成オブジェクト画像を生成する合成画像生成部をさらに備えることを特徴とする。
本発明の画像処理システムは、前記対応関係が、前記第1距離と前記参照撮像画像撮像パラメータにおける第1ピント位置との差分の絶対値である第1差分により、前記第2距離と前記対象撮像画像撮像パラメータにおける第2ピント位置との差分の絶対値である第2差分を除算して第1数値を求め、前記第1距離により前記第2距離を除算して第2数値を求め、前記第1数値及び前記第2数値の各々を前記被写体画像精細度に対して乗算する第1演算を少なくとも含み、前記被写体画像精細度から前記仮想オブジェクト画像精細度を求める関係式であることを特徴とする。
本発明の画像処理システムは、前記関係式が、前記第1ピント位置と前記参照撮像画像撮像パラメータにおける第1焦点距離との差分である第3差分を、前記第2ピント位置と前記対象撮像画像撮像パラメータにおける第2焦点距離との差分である第4差分により除算して第3数値を求め、前記第2焦点距離の二乗を前記第1焦点距離の二乗により除算して第4数値を求め、前記参照撮像画像撮像パラメータにおける第1F値を前記対象撮像画像撮像パラメータにおける第2F値により除算して第5数値を求め、前記第3数値、前記第4数値及び前記第5数値の各々を乗算する第2演算を、前記第1演算に乗算して前記仮想オブジェクト画像精細度を求めることを特徴とする。
本発明の画像処理システムは、複数の被写体が撮像された前記参照撮像画像における当該被写体の各々の前記第1距離と、前記被写体画像精細度との各々から、前記参照撮像画像における前記第1焦点距離、前記第1F値、前記第1ピント位置を推定する被写体撮像情報推定部をさらに備えることを特徴とする。
本発明の画像処理システムは、前記第2ピント位置が前記第1ピント位置と等しく、かつ対象撮像画像撮像パラメータにおける第2焦点距離及び第2F値の各々が前記参照撮像画像撮像パラメータにおける第1焦点距離、第1F値それぞれと等しいことを特徴とする。
本発明の画像処理システムは、前記精細度算出部が、前記撮像装置の種類毎に、前記被写体画像精細度及び前記参照撮像画像撮像パラメータの各々が書き込まれて記憶された記憶部を備えることを特徴とする。
本発明の画像処理システムは、前記精細度算出部が、前記被写体画像と、前記被写体CG画像を加重平均フィルタによりフィルタ処理を行った調整被写体CG画像とを比較し、前記被写体画像と当該調整被写体CG画像との差分が等しくなる前記加重平均フィルタの第1フィルタ半径を前記被写体画像精細度として算出することを特徴とする。
本発明の画像処理システムは、前記精細度算出部が、前記第1フィルタ半径から前記対応関係に対応して前記仮想オブジェクト画像精細度である第2フィルタ半径を求め、前記仮想オブジェクト画像の精細度を調整することを特徴とする。
本発明の画像処理方法は、被写体情報推定部が、撮像装置で撮像した参照撮像画像における被写体の被写体画像に基づいて、前記撮像装置に対する前記被写体の位置及び姿勢を含む被写体情報を推定する被写体情報推定過程と、被写体CG画像描画部が、前記被写体情報に基づいて前記被写体のCG画像である被写体CG画像を描画する被写体CG画像描画過程と、仮想オブジェクト配置位置取得部が、前記撮像装置の撮像した対象撮像画像における仮想オブジェクト画像を配置する配置位置を取得する仮想オブジェクト配置位置取得過程と、精細度算出部が、前記被写体画像と前記被写体CG画像とを比較して、当該被写体画像の精細度である被写体画像精細度を取得し、また、当該被写体画像精細度と、前記撮像装置により前記参照撮像画像を撮像した際の参照撮像画像撮像パラメータと、前記被写体及び前記撮像装置間の第1距離と、前記仮想オブジェクト画像を前記対象撮像画像に合成した際における前記撮像装置及び当該仮想オブジェクト画像の仮想オブジェクト間の仮想距離である第2距離とから、前記対象撮像画像に合成する仮想オブジェクト画像の精細度である仮想オブジェクト画像精細度を求める対応関係を用い、前記第2距離に対応した前記仮想オブジェクト画像精細度を取得する精細度算出過程とを含むことを特徴とする。
本発明のプログラムは、コンピュータを、撮像装置で撮像した参照撮像画像における被写体の被写体画像に基づいて、前記撮像装置に対する前記被写体の位置及び姿勢を含む被写体情報を推定する被写体情報推定手段、前記被写体情報に基づいて前記被写体のCG画像である被写体CG画像を描画する被写体CG画像描画手段、前記撮像装置の撮像した対象撮像画像における仮想オブジェクト画像を配置する配置位置を取得する仮想オブジェクト配置位置取得手段、前記被写体画像と前記被写体CG画像とを比較して、当該被写体画像の精細度である被写体画像精細度を取得し、また、当該被写体画像精細度と、前記撮像装置により前記参照撮像画像を撮像した際の参照撮像画像撮像パラメータと、前記被写体及び前記撮像装置間の第1距離と、前記仮想オブジェクト画像を前記対象撮像画像に合成した際における前記撮像装置及び当該仮想オブジェクト画像の仮想オブジェクト間の仮想距離である第2距離とから、前記対象撮像画像に合成する仮想オブジェクト画像の精細度である仮想オブジェクト画像精細度を求める対応関係を用い、前記第2距離に対応した前記仮想オブジェクト画像精細度を取得する精細度算出手段として機能させるプログラムである。
以上説明したように、本発明によれば、実空間の撮像画像に仮想オブジェクトの画像を重ね合わせて表示する場合に、撮像シーンや撮影装置の状態に依存することなく、仮想オブジェクト画像を実空間の撮像画像の任意の位置に重畳して合成した合成画像がより自然な表示として視認できる合成画像を生成する画像処理システム、画像処理方法及びプログラムを提供することが可能となる。
本発明の第1の実施形態による画像処理システムの構成例を示すブロック図である。 マーカー情報記憶部108におけるマーカーテーブルの構成例を示す図である。 被写体画像情報記憶部109における被写体画像テーブルの構成例を示す図である。 被写体画像情報記憶部109における被写体推定情報テーブルの構成例を示している。 被写体画像精細度情報記憶部110における被写体画像精細度情報テーブルの構成例を示している。 撮像画像情報記憶部111における撮像画像情報テーブルの構成例を示している。 本実施形態による画像処理システムにおいて、対象撮像画像のユーザが設定した位置に、ピント位置に対応してぼやけた仮想オブジェクトを合成する処理の動作例を示すフローチャートである。 撮像装置が複数種類存在する場合の被写体画像情報記憶部109における被写体画像テーブルの構成例を示す図である。 撮像装置が複数種類存在する場合の被写体画像情報記憶部109における被写体推定情報テーブルの構成例を示している。 撮像装置が複数種類存在する場合の被写体画像精細度情報記憶部110における被写体画像精細度情報テーブルの構成例を示している。 撮像装置が複数種類存在する場合の撮像画像情報記憶部111における撮像画像情報テーブルの構成例を示している。 第2の実施形態における被写体画像精細度情報記憶部110の被写体画像精細度テーブルの構成例を示す図である。 撮像装置が複数種類存在する場合の被写体画像精細度情報記憶部110における被写体画像精細度情報テーブルの構成例を示している。 本発明の第3の実施形態による画像処理システムの構成例を示すブロック図である。
<第1の実施形態>
以下、図1における画像処理システムの構成例について、図面を参照して説明する。
図1は、本発明の第1の実施形態による画像処理システムの構成例を示すブロック図である。図1において、画像処理システム100は、データ入出力部101、被写体情報推定部102、被写体CG画像生成部103、精細度算出部104、仮想オブジェクト配置位置取得部105、合成画像生成部106、表示部107、マーカー情報記憶部108、被写体画像情報記憶部109、被写体画像精細度情報記憶部110、撮像画像情報記憶部111及び仮想オブジェクト記憶部112の各々を備えている。
データ入出力部101は、撮像装置などの外部装置からの撮像画像のデータや、ユーザからの操作・制御情報などのデータを入力する。
データ入出力部101は、例えば、ユーザが撮像装置200で被写体(マーカー)の背景とした撮像された実空間の撮像画像(参照撮像画像)のデータを、被写体画像情報記憶部109に書き込んで記憶させる。また、データ入出力部101は、仮想オブジェクトを配置する実画像としての背景の撮像画像のデータを撮像画像情報記憶部111に書き込んで記憶させる。
上記被写体は、形状及び表面のテクスチャが既知の標準マーカーである。被写体とする標準マーカーは、マーカー情報記憶部108に予め書き込んで記憶されている。
図2は、マーカー情報記憶部108におけるマーカーテーブルの構成例を示す図である。図2において、マーカーテーブルは、レコード毎に、マーカー識別情報、マーカー形状データインデックス及びテクスチャデータインデックスの各々の欄が設けられている。
マーカー識別情報は、標準マーカーの各々を個々に識別する情報である。マーカー形状データインデックスは、標準マーカーの形状を示す形状データ(実寸の2次元データあるいは3次元データ)が記憶されている、マーカー情報記憶部108における記憶領域のアドレスなどである。テクスチャデータインデックスは、標準マーカーのテクスチャを示す画像データが記憶されている、マーカー情報記憶部108における記憶領域のアドレスなどである。
ここで、標準マーカーは、後述する傾きなどの姿勢を正しく検出するため、テクスチャが上下左右において非対称の模様などが用いられている。
図1に戻り、データ入出力部101は、参照撮像画像のデータとともに、当該参照撮像画像を撮像した際の撮像パラメータである参照画像撮像パラメータを、被写体画像情報記憶部109へ書き込んで記憶させる。
図3は、被写体画像情報記憶部109における被写体画像テーブルの構成例を示す図である。図3において、被写体画像テーブルは、レコード毎に、参照撮像画像撮像パラメータとして焦点距離(f)、ピント位置(S)、F値(N)及び解像度と、参照撮像画像データインデックスの各々の欄が設けられている。
焦点距離は、参照撮像画像を撮像した際の撮像装置200において設定された焦点距離fを示している。ピント位置は、参照撮像画像を撮像した際の撮像装置200において設定されたピント位置Sを示している。F値は、参照撮像画像を撮像した際の撮像装置200において設定されたF値Nを示している。解像度は、照撮像画像を撮像した際の撮像装置200において設定された解像度を示している。参照撮像画像データインデックスは、被写体画像情報記憶部109における参照撮像画像のデータが記憶されている領域を示すアドレスなどである。
図1に戻り、データ入出力部101は、参照撮像画像撮像パラメータとともに、被写体として用いた標準マーカー300のマーカー識別情報が入力された場合、マーカー識別情報を被写体情報推定部102へ出力する。
被写体情報推定部102は、データ入出力部101から供給されるマーカー識別情報に対応する被写体(標準マーカー)300の形状300C及びテクスチャ300Tの画像データを、マーカー情報記憶部108から読み出す。
そして、被写体情報推定部102は、参照撮像画像においてマーカー画像に対応する被写体画像の領域を、一般的なパターンマッチングにより抽出する。
また、被写体情報推定部102は、マーカー画像のデータ(形状の実寸のデータやテクスチャの実寸のデータの各々)と、このマーカー画像により抽出した被写体画像とにより、上記パターンマッチングの処理において、参照撮像画像における被写体300と撮像装置200との距離情報、及び被写体の姿勢情報の各々を配置情報として取得する。
被写体情報推定部102は、マーカー識別情報と、取得した被写体の配置情報とを被写体画像情報記憶部109に書き込んで記憶させる。
図4は、被写体画像情報記憶部109における被写体推定情報テーブルの構成例を示している。図4において、被写体推定情報テーブルは、レコード毎に、マーカー識別情報と、配置情報としての距離情報、姿勢情報及び位置情報との各々の欄が設けられている。
マーカー識別情報は、配置情報を取得する際に用いた被写体(標準マーカー)300の識別情報である。距離情報は、参照撮像画像を撮像した撮像装置と被写体300との距離を示す情報である。姿勢情報は、参照撮像画像における被写体300の被写体画像の標準の向きからの傾き(例えば、マーカー情報記憶部108に記憶されている標準の向きにおける基準線と、参照撮像画像における被写体画像の基準線との成す角度)などの姿勢を示す情報である。位置情報は、参照撮像画像における二次元座標上の座標値を示す情報である。
図1に戻り、被写体CG画像生成部103は、参照撮像画像の解像度を被写体画像情報記憶部109の被写体画像テーブルから、また、距離情報、姿勢情報及び位置情報を被写体推定情報テーブルから読み出す。
また、被写体CG画像生成部103は、マーカー情報記憶部108から、標準マーカーの形状300C及びテクスチャ300Tのデータを読み出す。
そして、被写体CG画像生成部103は、標準マーカーの形状300C及びテクスチャ300Tの各々を用いて、参照撮像画像における被写体画像と同一の画像サイズ及び解像度のCG画像として、距離情報及び姿勢情報に対応した標準マーカーのCG画像(被写体CG画像)を生成する。
精細度算出部104は、参照撮像画像から抽出された被写体画像と、生成された被写体CG画像との各画素の画素値を用いて、精細度としての加重平均フィルタのフィルタ半径を求める。本実施形態においては、例えば、加重平均フィルタの一種であるガウシアンフィルタを用いている。本実施形態において、フィルタ半径は、所謂、フィルタサイズの一例であり、フィルタ処理の対象となる対象画素を中心として、フィルタ処理に用いる画素範囲を示す画素数である。
ここで、精細度算出部104は、被写体CG画像の各画素をフィルタ半径を変化させて、加重平均処理を行い、処理結果の被写体CG画像と被写体画像との各々の画素の画素値の比較を行う。
そして、精細度算出部104は、被写体CG画像と被写体画像との各々の画素の画素値の差分(例えば、二乗誤差)の合計が最も小さくなるフィルタ半径Rを、被写体画像の精細度である被写体画像精細度とする。
次に、精細度算出部104は、被写体画像情報記憶部109から焦点距離f、ピント位置S及びF値Nの各々を読み出す。
また、精細度算出部104は、被写体画像情報記憶部109から距離情報として距離D(第1距離)を読み出す。
そして、精細度算出部104は、撮像装置200により参照画像を撮像した際における、焦点距離f(第1焦点距離)、ピント位置S(第1ピント位置)及びF値N(第1F値)と、距離Dとを以下の(1)式に代入して被写体ぼけ量Bを求める。
B=|D-S|*f/((D*N)*(S-f) …(1)
(1)式において、|D-S|は距離Dからピント位置Sを減算した差分の絶対値(第1差分)であり、(S-f)はピント位置Sから焦点距離fを減算した差分(第3差分)である。
そして、精細度算出部104は、以下の錯乱円の半径を求める(2)式により、求めたフィルタ半径Rを錯乱円の半径としてぼけ量Bで除算し、フィルタ半径Rと被写体ぼけ量Bとの比である、関係係数kを求める。
k=R/B=R*((D*N)*(S-f)/(|D-S|*f) …(2)
精細度算出部104は、求めた被写体ぼけ量B、フィルタ半径R及び関係係数の各々を、被写体画像精細度情報記憶部110に書き込んで記憶させる。
図5は、被写体画像精細度情報記憶部110における被写体画像精細度情報テーブルの構成例を示している。図5において、被写体画像精細度情報テーブルは、レコード毎に、被写体ぼけ量B、被写体画像精細度(フィルタ半径R)及び関係係数kの各々の欄が設けられている。
被写体ぼけ量(B)は、上述した(1)式に対して、撮像装置200により参照撮像画像を撮像した際における、焦点距離f、ピント位置S及びF値Nと、距離Dとを代入して算出した数値である。被写体画像精細度は、参照撮像画像における被写体画像から推定したフィルタ半径Rである。関係係数(k)は、上述した(2)式において、被写体画像精細度(フィルタ半径R)を被写体ぼけ量Bで除算した数値である。
図1に戻り、仮想オブジェクト配置位置取得部105は、データ入出力部101を介して供給される、ユーザが入力する対象撮像画像における仮想オブジェクト画像を配置するオブジェクト配置情報を取得する。
ここで、オブジェクト配置情報は、例えば、ユーザが選択して表示部107に表示された対象撮像画像(参照撮像画像も含む撮像画像)において、ユーザが仮想オブジェクト画像を配置する位置情報、姿勢情報及び距離情報である。この距離情報は、対象撮像画像を撮像した撮像装置200から、配置する仮想オブジェクトまでの仮想的な距離(仮想距離)として設定される。例えば、仮想三次元空間に置かれた仮想撮像装置から、仮想オブジェクトの位置までの距離であり、仮想撮像装置は実空間において対象撮像画像を撮像した撮像装置200に三次元空間における位置として対応している。
オブジェクト配置情報をキーボードなどの数値で入力しても、表示部107に表示される対象撮像画像においてカーソル移動により位置を選択してもよい。
例えば、表示部107に表示される場合、対象撮像画像に対応する仮想三次元空間において、三次元形状の仮想オブジェクトを配置し、配置した状態にてリアルタイムで、当該対象撮像画像における仮想オブジェクトの配置情報を、仮想オブジェクト画像に対するオブジェクト配置情報として取得するように構成してもよい。
また、精細度算出部104は、撮像装置200により対象撮像画像を撮像した際の対象撮像画像撮像パラメータを、仮想オブジェクト画像を重畳して合成する対象の対象撮像画像に対応して撮像画像情報記憶部111から読み込む。
図6は、撮像画像情報記憶部111における撮像画像情報テーブルの構成例を示している。図6において、撮像画像情報テーブルは、レコード毎に、対象撮像画像識別情報と、対象撮像画像撮像パラメータであるレンズの焦点距離(f)、ピント位置(S)、F値(N)及び解像度と、対象撮像画像インデックスとの各々の欄が設けられている。
対象撮像画像識別情報は、配置情報を取得する際に用いた被写体(標準マーカー)300の識別情報である。 焦点距離は、参照撮像画像を撮像した際の撮像装置200において設定された焦点距離fを示している。ピント位置は、参照撮像画像を撮像した際の撮像装置200において設定されたピント位置Sを示している。F値は、参照撮像画像を撮像した際の撮像装置200において設定されたF値Nを示している。解像度は、照撮像画像を撮像した際の撮像装置200において設定された解像度を示している。対象撮像画像データインデックスは、撮像画像情報記憶部111における対象撮像画像のデータが記憶されている領域を示すアドレスなどである。
図1に戻り、精細度算出部104は、オブジェクト配置情報が供給された場合、撮像画像情報記憶部111の撮像画像情報テーブルから対象撮像画像撮像パラメータの各々を読み出す。また、精細度算出部104は、被写体画像精細度情報記憶部110から、関係係数kを読み出す。
そして、精細度算出部104は、以下の(3)式に対して、焦点距離f、ピント位置S及びF値Nの各々と、関係係数k、距離dとを代入して、仮想オブジェクト画像精細度(フィルタ半径r)を算出する。ここで、距離dは、オブジェクト配置情報における位置情報、すなわち、撮像装置200に対応する仮想撮像装置(仮想カメラ)と仮想オブジェクトとの距離である。
r=k*f |d-S|/(d*N*(S-f)) …(3)
(3)式(対応関係)において、|d-S|は距離d(第2距離)からピント位置S(第2ピント位置)を減算した差分の絶対値(第2差分)であり、(S-f)はピント位置Sから焦点距離f(第2焦点距離)を減算した差分の絶対値(第4差分)である。
上記(3)式は、距離D(第1距離)とピント位置S(第1ピント位置)との差分の絶対値(第1差分)により、距離d(第2距離)とピント位置S(第2ピント位置)との差分の絶対値(第2差分)を除算した数値(第1数値)を求め、距離D(第1距離)により距離d(第2距離)を除算した数値(第2数値)を求め、第1数値及び第2数値の各々をフィルタ半径R(被写体画像精細度)に対して乗算する(5)式(第1演算、後述)を少なくとも含んでおり、フィルタ半径R(被写体画像精細度)からフィルタ半径r(仮想オブジェクト画像精細度)を求める関係式である。
また、上記(3)式は、ピント位置S(第1ピント位置)と焦点距離f(第1焦点距離)との差分(第3差分)を、ピント位置S(第2ピント位置)と焦点距離f(第2焦点距離)との差分(第4差分)により除算した数値(第3数値)を求め、焦点距離f(第2焦点距離)の二乗を焦点距離f(第1焦点距離)の二乗により除算した数値(第4数値)を求め、F値N(第1F値)をF値N(第2F値)により除算した数値(第5数値)を求め、第3数値、第4数値及び第5数値の各々を乗算する第2演算を、第1演算に乗算して、フィルタ半径r(仮想オブジェクト画像精細度)を求める。
合成画像生成部106は、精細度算出部104から仮想オブジェクト画像精細度が供給された場合、対象撮像画像のデータを撮像画像情報記憶部111から読み出す。
そして、合成画像生成部106は、仮想オブジェクト画像の画像データを仮想オブジェクト記憶部112から読み出し、当該仮想オブジェクト画像の画像サイズを撮像装置からの距離dに対応したサイズに修正したオブジェクトCG画像を生成する。
また、合成画像生成部106は、オブジェクトCG画像を、対象撮像画像の解像度に変更する処理を行う。
合成画像生成部106は、解像度を変更したオブジェクトCG画像に対して、仮想オブジェクト画像精細度のフィルタ半径rにより加重平均フィルタ処理を行う。
これにより、オブジェクトCG画像は、距離dに対応して視認される、ぼやけた画像状態とされる。
そして、合成画像生成部106は、オブジェクト配置情報における位置情報及び姿勢情報に対応して、オブジェクトCG画像を対象撮像画像に重畳することにより合成し、合成オブジェクト画像を生成する。
表示部107は、例えば、液晶ディスプレイなどである。
表示部107は、合成画像生成部106が生成した合成オブジェクト画像を、表示画面に表示する。
また、表示部107は、すでに述べたように、オブジェクト配置情報における位置情報、姿勢情報及び距離情報を取得する際、仮想三次元空間を所定の位置から撮像した画像として、対象マウスにより仮想オブジェクトをユーザが仮想三次元空間において移動させ、姿勢を制御することにより、配置情報における位置情報、姿勢情報及び距離情報の各々を取得する。
図7は、本実施形態による画像処理システムにおいて、対象撮像画像のユーザが設定した位置に、ピント位置に対応してぼやけた仮想オブジェクトを合成する処理の動作例を示すフローチャートである。
以下の説明において、対象撮像画像のデータは、予め複数枚が取得されて撮像画像情報記憶部111に書き込まれて記憶されている。また、対象撮像画像は、参照撮像画像と同一の撮像装置200により撮像されている。
ステップS101:
ユーザは、背景となる参照空間の所定の位置及び距離に、被写体300(標準マーカー)を所定の姿勢にて配置する。
ステップS102:
ユーザは、参照空間に配置した被写体300が含まれるように、参照撮像画像を撮像する。
ステップS103:
ユーザは、参照撮像画像のデータと、参照撮像画像を撮像した際の被写体撮像パラメータとを、画像処理システム100に対して入力する。
データ入出力部101は、参照撮像画像を被写体画像情報記憶部109に書き込み、参照撮像画像を撮像した際の被写体撮像パラメータと、参照撮像画像データインデックスを、被写体撮像画像テーブルに対して書き込んで記憶させる。
ステップS104:
ユーザは、被写体300の標準マーカーのマーカー識別情報を、画像処理システム100に対して入力する。
被写体情報推定部102は、データ入出力部101を介して上記マーカー識別情報を入力した場合、当該マーカー識別情報に対応した形状及びテクスチャの画像データを、マーカー情報記憶部108から読み出し、マーカー画像を取得する。
被写体情報推定部102は、被写体画像情報記憶部109の被写体撮像画像情報テーブルから、参照撮像画像撮像パラメータにおける解像度を読み出す。
また、被写体情報推定部102は、参照撮像画像のデータを被写体画像情報記憶部109から読み出す。
そして、被写体情報推定部102は、参照撮像画像に対して、マーカー画像を用いたマッチング処理を行い、当該参照撮像画像から被写体画像を抽出する。
このとき、被写体情報推定部102は、参照撮像画像における被写体画像の位置情報及び姿勢情報の各々と、撮像装置200及び被写体300間の距離Dとを距離情報として抽出する。
被写体CG画像生成部103は、マーカー情報記憶部108から、被写体300に用いられた標準マーカーのマーカー識別情報に対応し、マーカー情報記憶部108から形状300C及びテクスチャ300Tのデータを読み出し、マーカー画像を取得する。
そして、被写体CG画像生成部103は、取得したマーカー画像を、参照撮像画像における被写体画像と同一の画像サイズ及び解像度のCG画像として、距離情報及び姿勢情報に対応した標準マーカーの被写体CG画像を生成する。
ステップS105:
精細度算出部104は、被写体CG画像生成部103の生成した被写体CG画像が供給された場合、当該被写体CG画像における各画素をフィルタ半径を変化させつつ、加重平均処理を行い、画素の画素値を調整する。
精細度算出部104は、被写体CG画像における画素値を調整した画素の各々と、被写体画像の画素それぞれとの画素値の比較を行う。
そして、精細度算出部104は、被写体CG画像と被写体画像との各々の画素の画素値の差分の合計が最も小さくなるフィルタ半径Rを、被写体画像の精細度である被写体画像精細度とする。
精細度算出部104は、求めた被写体画像精細度を、被写体画像精細度情報記憶部110の被写体画像精細度情報テーブルに書き込んで記憶させる。
ステップS106:
次に、精細度算出部104は、被写体画像情報記憶部109における被写体撮像画像情報テーブルから、被写体画像を撮像した際の焦点距離f、ピント位置S及びF値Nの各々を読み出す。
ステップS107:
精細度算出部104は、被写体画像情報記憶部109における被写体推定情報テーブルから、撮像装置から被写体までの距離情報として距離Dを読み出す。
そして、精細度算出部104は、読み出した焦点距離f、ピント位置S及びF値Nと、距離Dとを上記(1)式に代入して被写体ぼけ量Bを求める。
また、精細度算出部104は、錯乱円の半径を求める上記(2)式により、求めたフィルタ半径Rをぼけ量Bで除算して関係係数kを算出する。
精細度算出部104は、求めた被写体ぼけ量B及び関係係数kの各々を、それぞれ被写体画像精細度情報記憶部110の被写体画像精細度情報テーブルに書き込んで記憶させる。
ステップS108:
仮想オブジェクト配置位置取得部105は、対象撮像画像における仮想オブジェクト画像を配置するオブジェクト配置情報を、データ入出力部101を介して取得する。
このとき、仮想オブジェクト配置位置取得部105は、合成画像の生成に用いる対象撮像画像の対象撮像画像識別情報、及び仮想オブジェクトを示す仮想オブジェクト識別情報の各々をユーザの入力操作により取得している。
ここで、表示部107に表示される場合、対象撮像画像に対応する仮想三次元空間において、ユーザが表示部107の表示画面から視認する仮想三次元空間に、三次元形状の仮想オブジェクトを任意の座標点に配置する操作を行う。
そして、仮想オブジェクト配置位置取得部105は、配置した座標点をリアルタイムに、対象撮像画像における仮想オブジェクト配置情報(位置情報、姿勢情報及び距離情報)として取得する。
ステップS109:
仮想オブジェクト配置位置取得部105は、取得した仮想オブジェクト配置情報と、当該仮想オブジェクトを合成する対象撮像画像の対象撮像画像識別情報と、仮想オブジェクト識別情報との各々を、精細度算出部104に出力する。
精細度算出部104は、対象撮像画像識別情報に対応する対象撮像画像撮像パラメータを、撮像画像情報記憶部111の撮像画像情報テーブルから読み出す。
また、精細度算出部104は、被写体画像精細度情報記憶部110の被写体画像精細度情報テーブルから関係係数kを読み出す。
そして、精細度算出部104は、仮想オブジェクト配置情報における距離情報(距離d)と、対象撮像画像撮像パラメータである焦点距離fa、ピント位置Sa及びF値Naの各々と、関係係数kとを、上記(3)式に代入して、仮想オブジェクト画像精細度(フィルタ半径r)を算出する。
精細度算出部104は、算出した仮想オブジェクト画像精細度と、対象撮像画像識別情報と、仮想オブジェクト識別情報との各々を、合成画像生成部106に対して出力する。
ステップS110:
合成画像生成部106は、精細度算出部104から対象撮像画像識別情報が供給された場合、当該対象撮像画像識別情報に対応する対象撮像画像のデータを撮像画像情報記憶部111から読み出す。
また、合成画像生成部106は、仮想オブジェクト識別情報に対応する仮想オブジェクト画像のデータを、仮想オブジェクト記憶部112から読み出す。
そして、合成画像生成部106は、読み出した仮想オブジェクトの画像サイズを撮像装置からの距離dに対応したサイズに修正したオブジェクトCG画像を生成する。
また、合成画像生成部106は、対象撮像画像識別情報により、撮像画像情報記憶部111の撮像画像情報テーブルから、合成に用いる対象撮像画像の解像度を読み出す。
合成画像生成部106は、オブジェクトCG画像を、対象撮像画像の解像度に変更する処理を行う。
合成画像生成部106は、解像度を変更したオブジェクトCG画像に対して、仮想オブジェクト画像精細度のフィルタ半径rにより加重平均フィルタ処理を行う。
そして、合成画像生成部106は、オブジェクト配置情報における位置情報及び姿勢情報に対応して、オブジェクトCG画像を対象撮像画像に合成して合成オブジェクト画像を生成する。
ステップS111:
仮想オブジェクト配置位置取得部105は、ユーザから仮想オブジェクトの配置位置を固定する制御情報が入力されたか否か、すなわち対象撮像画像における仮想オブジェクトの位置を決定するか否かの判定を行う。
このとき、仮想オブジェクト配置位置取得部105は、ユーザが仮想オブジェクトの位置を決定した場合に、処理をステップS112へ進める。
一方、仮想オブジェクト配置位置取得部105は、ユーザが仮想オブジェクトの位置を決定していない場合に、処理をステップS108へ進める。
ステップS112:
合成画像生成部106は、合成オブジェクト画像を仮想オブジェクト記憶部112に書き込んで記憶させる。
上述したように、本実施形態によれば、現実空間に配置された被写体が撮影された際の被写体画像精細度に基づいて、関係係数kを算出しておき、現実空間を撮像した対象撮像画像に対して重畳する仮想オブジェクトの仮想オブジェクト画像精細度を、上記関係係数kから決定するため、対象撮像画像に仮想オブジェクトを合成した際、対象撮像画像の背景とのぼけ具合が異なる違和感を低減させることができる。
また、本実施形態によれば、被写体を撮像した際の参照撮像画像撮像パラメータに対応する関係係数kをテーブルとして記録するため、参照撮像画像撮像パラメータと、対象撮像画像の撮像画像撮像パラメータが異なっている場合であっても、リアルタイムに仮想オブジェクトの精細度を調整することができる。
また、本実施形態において、他の構成例として撮像装置200が一台でなく異なる種類が複数ある場合、関係係数kを撮像装置200の種類のそれぞれに対応して求めておく必要がある。
この場合、図3の被写体画像テーブル、図4の被写体推定情報テーブル、及び図5の被写体画像精細度テーブルの各々が、それぞれ撮像装置の識別情報である撮像装置識別情報のそれぞれに対応して設けられる。
図8は、撮像装置が複数種類存在する場合の被写体画像情報記憶部109における被写体画像テーブルの構成例を示す図である。
図8において、撮像装置が複数種類存在する場合の被写体画像テーブルは、レコード毎に、撮像装置識別情報と、参照撮像画像撮像パラメータとして焦点距離(f)、ピント位置(S)、F値(N)及び解像度と、参照撮像画像データインデックスの各々の欄が設けられている。
撮像装置識別情報は、参照撮像画像を撮像した撮像装置200を個々に識別する情報である。焦点距離は、参照撮像画像を撮像した際の撮像装置200において設定された焦点距離fを示している。ピント位置は、参照撮像画像を撮像した際の撮像装置200において設定されたピント位置Sを示している。F値は、参照撮像画像を撮像した際の撮像装置200において設定されたF値Nを示している。解像度は、照撮像画像を撮像した際の撮像装置200において設定された解像度を示している。参照撮像画像データインデックスは、被写体画像情報記憶部109における参照撮像画像のデータが記憶されている領域を示すアドレスなどである。
図9は、撮像装置が複数種類存在する場合の被写体画像情報記憶部109における被写体推定情報テーブルの構成例を示している。
図9において、撮像装置が複数種類存在する場合の被写体推定情報テーブルは、レコード毎に、撮像装置識別情報と、マーカー識別情報と、配置情報としての距離情報、姿勢情報及び位置情報との各々の欄が設けられている。
撮像装置識別情報は、参照撮像画像を撮像した撮像装置200を個々に識別する情報である。マーカー識別情報は、配置情報を取得する際に用いた被写体(標準マーカー)300の識別情報である。距離情報は、参照撮像画像を撮像した撮像装置と被写体300との距離を示す情報である。姿勢情報は、参照撮像画像における被写体300の被写体画像の標準の向きからの傾きなどの姿勢を示す情報である。位置情報は、参照撮像画像における二次元座標上の座標値を示す情報である。
図10は、撮像装置が複数種類存在する場合の被写体画像精細度情報記憶部110における被写体画像精細度情報テーブルの構成例を示している。図10において、撮像装置が複数種類存在する場合の被写体画像精細度情報テーブルは、レコード毎に、被写体ぼけ量B、被写体画像精細度(フィルタ半径R)及び関係係数kの各々の欄が設けられている。
撮像装置識別情報は、参照撮像画像を撮像した撮像装置200を個々に識別する情報である。被写体ぼけ量(B)は、上述した(1)式に対して、撮像装置200により参照撮像画像を撮像した際における、焦点距離f、ピント位置S及びF値Nと、距離Dとを代入して算出した数値である。被写体画像精細度は、参照撮像画像における被写体画像から推定したフィルタ半径Rである。関係係数(k)は、上述した(2)式において、被写体画像精細度(フィルタ半径R)を被写体ぼけ量Bで除算した数値である。
また、撮像装置200が一台でなく異なる種類が複数ある場合、対象撮像画像も上記複数の撮像装置200により撮像されている。
このため、図6に示す撮像画像情報記憶部111の撮像画像情報テーブルも、撮像装置200の種類のそれぞれに対応して生成しておく必要がある。
図11は、撮像装置が複数種類存在する場合の撮像画像情報記憶部111における撮像画像情報テーブルの構成例を示している。図11において、撮像画像情報テーブルは、撮像装置識別情報が付加されて、撮像装置の種類の単位で設けられている。そして、撮像画像情報テーブルの各々は、それぞれレコード毎に、対象撮像画像識別情報と、対象撮像画像撮像パラメータであるレンズの焦点距離(f)、ピント位置(S)、F値(N)及び解像度と、対象撮像画像インデックスとの各々の欄が設けられている。
撮像装置200が複数種類ある場合、撮像装置200の各々により、被写体(標準マーカー300)を実空間の背景に配置した、参照撮像画像をユーザが撮像する。
そして、データ入出力部101は、外部装置から供給される、種類の異なる撮像装置200の撮像装置識別情報、参照撮像画像及び被写体撮像パラメータの各々を、それぞれ撮像装置識別情報に対応させて、図8に示す被写体画像情報記憶部109の被写体画像テーブルに書き込んで記憶させる。
また、被写体情報推定部102は、すでに述べた標準マーカー300と、参照撮像画像における被写体画像とのマッチング処理を、種類の異なる撮像装置200毎に行う。
そして、被写体情報推定部102は、被写体に用いた標準マーカー300のマーカー識別情報と、このマーカー情報から推定した配置情報とを、被写体画像情報記憶部109の被写体推定情報テーブルに、種類の異なる撮像装置200それぞれに対応させて書き込んで記憶させる。
被写体CG画像生成部103は、種類の異なる撮像装置毎の撮像した参照撮像画像の各々から、それぞれ被写体画像を抽出した際に用いたマーカー画像の被写体CG画像を生成する。
そして、精細度算出部104は、種類の異なる撮像装置200の各々の参照撮像画像における被写体画像と、当該参照撮像画像から生成した被写体撮像画像とを比較し、被写体画像精細度(フィルタ半径R)を求める。
また、精細度算出部104は、参照撮像画像撮像パラメータから(1)式により被写体ぼけ量Bを算出する。
さらに、精細度算出部104は、被写体ぼけ量B及びフィルタ半径Rから(2)式により関係係数kを算出する。
そして、精細度算出部104は、求めた被写体ぼけ量B、被写体画像精細度及び関係係数kの各々を、撮像装置識別情報それぞれに対応させて、被写体画像精細度情報記憶部110の被写体画像精細度情報テーブルに書き込んで記憶させる。
仮想オブジェクト配置位置取得部105は、仮想オブジェクトを配置する際、撮像画像情報記憶部111の撮像画像情報テーブルから撮像画像を選択する際、選択した撮像画像に対応する撮像装置識別情報をユーザから取得する。
そして、仮想オブジェクト配置位置取得部105は、取得した撮像装置識別情報と、選択した撮像画像の対象撮像画像識別情報との各々を、精細度算出部104に対して出力する。
精細度算出部104は、仮想オブジェクト配置位置取得部105から供給される撮像装置識別情報に対応した撮像画像情報テーブルを撮像画像情報記憶部111において参照する。
そして、精細度算出部104は、上記撮像画像情報テーブルから、対象撮像画像識別情報のレコードの対象撮像画像撮像パラメータを読み出す。
また、精細度算出部104は、被写体画像精細度情報記憶部110の被写体画像精細度情報テーブルを参照して、撮像装置識別情報に対応する関係係数kを読み出す。
これにより、精細度算出部104は、撮像装置から仮想オブジェクトまでの距離dと、関係係数kとにより、(3)式から仮想オブジェクト画像精細度(フィルタ半径r)を算出する。
精細度算出部104は、求めた仮想オブジェクト画像精細度と、撮像装置識別情報と、対象撮像画像識別情報とを合成画像生成部106に対して出力する。
合成画像生成部106は、撮像装置識別情報に対応した撮像画像情報テーブルを撮像画像情報記憶部111において参照し、対象撮像画像識別情報に対応する解像度を読み出す。
そして、合成画像生成部106は、ユーザが選択した仮想オブジェクトの仮想オブジェクト識別情報に対応させ、仮想オブジェクト記憶部112から仮想オブジェクトの画像データを読み出す。
合成画像生成部106は、上記画像データを距離dに対応したサイズに変更し、かつ解像度を対象撮像画像と同一となるように調整して仮想オブジェクト画像を生成する。
また、合成画像生成部106は、精細度算出部104から供給される仮想オブジェクト画像精細度により、仮想オブジェクト画像のフィルタ処理を行なう。
そして、合成画像生成部106は、フィルタ処理を行なった仮想オブジェクト画像を、対象撮像画像において指定された位置、かつ設定された姿勢に対応して配置して合成して、合成オブジェクト画像を生成する。
<第2の実施形態>
本発明の第1の実施形態による画像処理システムの構成例を図面を参照して説明する。第2の実施形態の画像処理システムは、図1に示す第1の実施形態と同様の構成である。
以下、第2の実施形態による画像処理システムについて、第1の実施形態と異なる構成及び動作のみを説明する。
精細度算出部104は、推定した被写体画像精細度(フィルタ半径R)と、ピント位置Sと、推定した距離Dとから、以下の(4)式により関係係数qを求める。
q=R*D/(|D-S|) …(4)
すなわち、関係係数qは、フィルタ半径Rに距離Dを乗じた結果を、距離Dからピント位置Sを減算した絶対値で除算した、フィルタ半径R及び距離Dの乗算結果と、距離Dからピント位置Sを減算した絶対値との比として求められる。
そして、精細度算出部104は、求めた関係係数q及び被写体画像精細度と、ピント位置Sとを、被写体画像精細度情報記憶部110の被写体画像精細度テーブルに書き込んで記憶させる。
図12は、第2の実施形態における被写体画像精細度情報記憶部110の被写体画像精細度テーブルの構成例を示す図である。図12において、被写体画像精細度情報テーブルは、レコード毎に、ピント位置S、焦点距離f、F値N、被写体画像精細度(フィルタ半径R)及び関係係数qの各々の欄が設けられている。
また、後述するように、本実施形態においては、所定のピント位置Sで求められた関係係数qが、当該ピント位置Sがほぼ同一の(等しい)対象撮像画像における仮想オブジェクト画像の仮想オブジェクト画像精細度を求めるために限定される。
このため求める仮想オブジェクト画像精細度がピント位置Sで固定されるため、異なる複数のピント位置Sに対応した、参照撮像画像を撮像して関係係数qを生成しておく必要がある。
ピント位置(S)は、参照撮像画像を撮像した際の撮像装置200において設定されたピント位置Sを示している。被写体画像精細度は、参照撮像画像における被写体画像から推定したフィルタ半径Rである。関係係数(q)は、被写体画像精細度(フィルタ半径R)と、被写体情報推定部102が推定した距離Dと、ピント位置Sとを用い、上述した(4)式により算出した数値である。
また、精細度算出部104は、関係係数qと、参照撮像画像を撮像した際における撮像装置200のピント位置Sと、ユーザが設定した距離dとを用い、以下の(5)式から仮想オブジェクト画像精細度(フィルタ半径r)を算出する。
r=(|d-S|/d)*q
=(|d-S|/d)*(R*D/|D-S|) …(5)
上述した関係係数qは、関係係数kの場合と異なり、参照撮像画像撮像パラメータにおけるピント位置Sと、対象撮像画像撮像パラメータにおけるピント位置Sとは同一である必要がある。また、本実施形態の場合、対象撮像画像パラメータにおける焦点距離f及びF値Nの各々も、参照撮像画像パラメータにおける焦点距離f、F値Nそれぞれと同一である必要がある。
このため、オブジェクト合成画像を生成するために用いる対象撮像画像を撮像画像情報記憶部111から選択する場合、関係係数qを算出する際に用いたピント位置Sと、焦点距離f及びF値Nの各々とが同一の撮像画像を検索し、検索された撮像画像のなかから選択する必要がある。
また、対象撮像画像の解像度に調整し、関係係数qを用いて算出した仮想オブジェクト画像精細度を用いて、オブジェクトCG画像を生成して、対象撮像画像に合成して合成オブジェクト画像を生成するアルゴリズムは、第1の実施形態と同様である。
また、第2の実施形態においては、第1の実施形態と同様に、複数の異なる種類の撮像装置200を用いる場合がある。複数の異なる種類の撮像装置を使用する場合、図12の被写体画像精細度情報テーブルを、撮像画像毎に備える必要がある。
図13は、撮像装置が複数種類存在する場合の被写体画像精細度情報記憶部110における被写体画像精細度情報テーブルの構成例を示している。
図13において、撮像画像情報テーブルは、撮像装置識別情報が付加されて、撮像装置の種類の単位で設けられている。そして、撮像画像情報テーブルの各々は、それぞれレコード毎に、ピント位置S、焦点距離f、F値N、被写体画像精細度(フィルタ半径R)及び関係係数qの各々の欄が設けられている。
上述したように、本実施形態によれば、現実空間に配置された被写体が撮影された際の被写体画像精細度に基づいて、関係係数qを算出しておき、現実空間を撮像した対象撮像画像に対して重畳する仮想オブジェクトの仮想オブジェクト画像精細度を、上記関係係数qから決定するため、対象撮像画像に仮想オブジェクトを合成した際、対象撮像画像の背景とのぼけ具合が異なる違和感を低減させることができる。
また、本実施形態によれば、被写体を撮像した際の参照撮像画像撮像パラメータに対応する関係係数kをテーブルとして記録するため、参照撮像画像撮像パラメータと、対象撮像画像の撮像画像撮像パラメータが異なっている場合であっても、リアルタイムに仮想オブジェクトの精細度を調整することができる。
<第3の実施形態>
以下、図14における画像処理システムの構成例について、図面を参照して説明する。
図14は、本発明の第3の実施形態による画像処理システムの構成例を示すブロック図である。図14において、画像処理システム100は、データ入出力部101、被写体情報推定部102、被写体CG画像生成部103、精細度算出部104、仮想オブジェクト配置位置取得部105、合成画像生成部106、表示部107、マーカー情報記憶部108、被写体画像情報記憶部109、被写体画像精細度情報記憶部110、撮像画像情報記憶部111、仮想オブジェクト記憶部112及び被写体撮像情報推定部113の各々を備えている。以下、第3の実施形態による画像処理システム100Aについて、第1の実施形態と異なる構成及び動作のみを説明する。
データ入出力部101は、例えば、ユーザが撮像装置200で撮像した、被写体(マーカー)の背景とした実空間の撮像画像(参照撮像画像)のデータを、被写体画像情報記憶部109に書き込んで記憶させる。本実施形態においては、複数の標準マーカー(例えば、標準マーカー301、302、303及び304の各々となる標準マーカー)が用いられるため、一枚の参照撮像画像に複数の標準マーカーそれぞれが異なる距離に配置されて撮像される。
ここで、複数の標準マーカーの各々は、同一の標準マーカーでも異なる標準マーカーのいずれでも良い。また、同一のピント位置S、焦点距離f及びF値Sで、複数の標準マーカーを異なる距離に配置して、異なる距離毎の参照撮像画像を撮像して、複数の参照撮像画像の各々を用いて後述する連立一次方程式を生成する構成としてもよい。
被写体情報推定部102は、データ入出力部101から供給されるマーカー識別情報に対応する被写体(標準マーカー)301、302、303及び304の各々の形状301C、302C、303C及び303Cと、テクスチャ301、302T、303T及び304Tとの画像データを、マーカー情報記憶部108から読み出す。
そして、被写体情報推定部102は、参照撮像画像において標準マーカー301、302、303及び304の各々のマーカー画像に対応する被写体画像の領域を、一般的なパターンマッチングにより抽出する。
また、被写体情報推定部102は、マーカー画像のデータ(形状の実寸のデータやテクスチャの実寸のデータの各々)と、このマーカー画像により抽出した被写体画像とにより、上記パターンマッチングの処理において、参照撮像画像における標準マーカー301、302、303及び304の各々と撮像装置200とのそれぞれの距離情報d1、d2、d3及び被写体の姿勢情報の各々を配置情報として取得する。
被写体情報推定部102は、距離情報d1、d2、d3及び被写体の姿勢情報の各々を、被写体画像情報記憶部109の被写体推定情報テーブルに書き込んで記憶させる。
次に、被写体CG画像生成部103は、参照撮像画像の解像度を被写体画像情報記憶部109の被写体画像テーブルから、また、距離情報、姿勢情報及び位置情報を被写体推定情報テーブルから読み出す。
また、被写体CG画像生成部103は、マーカー情報記憶部108から、標準マーカー301、302、303及び304の各々のマーカー識別情報に対応して、標準マーカーの形状301C、302C、303C及び304Cと、テクスチャ301T、302T、303T及び304Tとのデータを読み出す。
そして、被写体CG画像生成部103は、標準マーカーの形状301C、302C、303C及び303Cと、テクスチャ301T、302T,303T,304Tとの各々を用いて、参照撮像画像における被写体画像と同一の画像サイズ及び解像度のCG画像として、距離情報及び姿勢情報に対応した標準マーカー301、302、303及び304の各々のCG画像(被写体CG画像)それぞれを生成する。
精細度算出部104は、参照撮像画像から抽出された被写体画像と、生成された標準マーカー301、302、303及び304の各々の被写体CG画像のそれぞれとの各画素の画素値を用いて、精細度としての加重平均フィルタのフィルタ半径を求める。
そして、精細度算出部104は、被写体CG画像と被写体画像との各々の画素の画素値の差分(例えば、二乗誤差)の合計が最も小さくなるフィルタ半径Rを、標準マーカー301、302、303及び304の各々に対応して求め、被写体画像の精細度である被写体画像精細度とする。
そして、被写体撮像情報推定部113は、以下の(6)式を用いて、撮像装置200が参照撮像画像を撮像した際における焦点距離f、ピント位置S、F値N、関係係数kを推定する連立一次方程式を生成する。
=k*f|d-S|/(d*N*(S-f)) …(6)
上記(6)式において、Rは標準マーカーiの被写体精細度であり、dは標準マーカーiと撮像装置200との距離である。本実施形態の場合、標準マーカー301、302、303及び304を用いている。
そのため、被写体撮像情報推定部113は、標準マーカー301、302、303及び304をそれぞれi、すなわち301≦i≦304として、被写体精細度R301、R302、R303及びR304と、距離d301、d302、d303及びd304との各々により、以下の連立一次方程式を生成する。
301=k*f|d301-S|/(d301*N*(S-f))
302=k*f|d302-S|/(d302*N*(S-f))
303=k*f|d303-S|/(d303*N*(S-f))
304=k*f|d304-S|/(d304*N*(S-f))
また、被写体撮像情報推定部113は、上記連立一次方程式を解く演算処理を行うことにより、焦点距離f、ピント位置S、F値N、関係係数kを推定する。
そして、合成画像生成部106は、焦点距離f、ピント位置S、F値N、関係係数kを用いて、(3)式により、第1の実施形態と同様に、仮想オブジェクト画像の画像データを仮想オブジェクト記憶部112から読み出し、当該仮想オブジェクト画像の画像サイズを撮像装置からの距離dに対応したサイズに修正したオブジェクトCG画像を生成する。
上述したように、本実施形態によれば、第1の実施形態と同様に、現実空間に配置された被写体が撮影された際の被写体画像精細度に基づいて、関係係数kを算出しておき、現実空間を撮像した対象撮像画像に対して重畳する仮想オブジェクトの仮想オブジェクト画像精細度を、上記関係係数kから決定するため、対象撮像画像に仮想オブジェクトを合成した際、対象撮像画像の背景とのぼけ具合が異なる違和感を低減させることができる。
また、本実施形態によれば、被写体撮像情報推定部113が複数の標準マーカーのマーカー画像から焦点距離f、ピント位置S、F値N、関係係数kを推定するため、ユーザが撮像装置で参照撮像画像を撮像する際に、一々、焦点距離f、ピント位置S、F値Nを確認する必要がなくなり、参照撮像画像の撮像処理における手間を低減させることができる。
以上、本発明の実施形態を図面を参照し説明してきたが、具体的な構成はこの形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。
なお、本発明における図1の画像処理システム100の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより仮想オブジェクトを現実空間を撮像した撮像画像に、撮像画像のぼけ具合に対応したフィルタ処理を行った後に合成する処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
100…画像処理システム
101…データ入出力部
102…被写体情報推定部
103…被写体CG画像生成部
104…精細度算出部
105…仮想オブジェクト配置位置取得部
106…合成画像生成部
107…表示部
108…マーカー情報記憶部
109…被写体画像情報記憶部
110…被写体画像精細度情報記憶部
111…撮像画像情報記憶部
112…仮想オブジェクト記憶部
113…被写体撮像情報推定部113
200…撮像装置
300…標準マーカー
300C…形状
300T…テクスチャ

Claims (11)

  1. 撮像装置で撮像した参照撮像画像における被写体の被写体画像に基づいて、前記撮像装置に対する前記被写体の位置及び姿勢を含む被写体情報を推定する被写体情報推定部と、
    前記被写体情報に基づいて前記被写体のCG(computer graphics)画像である被写体CG画像を描画する被写体CG画像描画部と、
    前記撮像装置の撮像した対象撮像画像における仮想オブジェクト画像を配置する配置位置を取得する仮想オブジェクト配置位置取得部と、
    前記被写体画像と前記被写体CG画像とを比較して、当該被写体画像の精細度である被写体画像精細度を取得し、また、当該被写体画像精細度と、前記撮像装置により前記参照撮像画像を撮像した際の参照撮像画像撮像パラメータと、前記撮像装置により前記対象撮像画像を撮像した際の対象撮像画像撮像パラメータと、前記被写体及び前記撮像装置間の第1距離と、前記仮想オブジェクト画像を前記対象撮像画像に合成した際における前記撮像装置及び当該仮想オブジェクト画像の仮想オブジェクト間の仮想距離である第2距離とから、前記対象撮像画像に合成する仮想オブジェクト画像の精細度である仮想オブジェクト画像精細度を求める対応関係を用い、前記第2距離に対応した前記仮想オブジェクト画像精細度を取得する精細度算出部と
    を備えることを特徴とする画像処理システム。
  2. 前記仮想オブジェクト画像精細度に基づいて前記仮想オブジェクト画像の精細度を調整し、精細度を調整した仮想オブジェクト画像を前記対象撮像画像における前記第2距離に対応させて、所定の位置に配置して合成した合成オブジェクト画像を生成する合成画像生成部をさらに備える
    ことを特徴とする請求項1に記載の画像処理システム。
  3. 前記対応関係が、
    前記第1距離と前記参照撮像画像撮像パラメータにおける第1ピント位置との差分の絶対値である第1差分により、前記第2距離と前記対象撮像画像撮像パラメータにおける第2ピント位置との差分の絶対値である第2差分を除算して第1数値を求め、前記第1距離により前記第2距離を除算して第2数値を求め、前記第1数値及び前記第2数値の各々を前記被写体画像精細度に対して乗算する第1演算を少なくとも含み、前記被写体画像精細度から前記仮想オブジェクト画像精細度を求める関係式である
    ことを特徴とする請求項1または請求項2に記載の画像処理システム。
  4. 前記関係式が、
    前記第1ピント位置と前記参照撮像画像撮像パラメータにおける第1焦点距離との差分である第3差分を、前記第2ピント位置と前記対象撮像画像撮像パラメータにおける第2焦点距離との差分である第4差分により除算して第3数値を求め、前記第2焦点距離の二乗を前記第1焦点距離の二乗により除算して第4数値を求め、前記参照撮像画像撮像パラメータにおける第1F値を前記対象撮像画像撮像パラメータにおける第2F値により除算して第5数値を求め、前記第3数値、前記第4数値及び前記第5数値の各々を乗算する第2演算を、前記第1演算に乗算して前記仮想オブジェクト画像精細度を求める
    ことを特徴とする請求項3に記載の画像処理システム。
  5. 複数の被写体が撮像された前記参照撮像画像における当該被写体の各々の前記第1距離と、前記被写体画像精細度との各々から、前記参照撮像画像における前記第1焦点距離、前記第1F値、前記第1ピント位置を推定する被写体撮像情報推定部をさらに備える
    ことを特徴とする請求項4に記載の画像処理システム。
  6. 前記第2ピント位置が前記第1ピント位置と等しく、かつ対象撮像画像撮像パラメータにおける第2焦点距離及び第2F値の各々が前記参照撮像画像撮像パラメータにおける第1焦点距離、第1F値それぞれと等しい
    ことを特徴とする請求項3に記載の画像処理システム。
  7. 前記精細度算出部が、
    前記撮像装置の種類毎に、前記被写体画像精細度及び前記参照撮像画像撮像パラメータの各々が書き込まれて記憶された記憶部を備える
    ことを特徴とする請求項1から請求項6のいずれか一項に記載の画像処理システム。
  8. 前記精細度算出部が、
    前記被写体画像と、前記被写体CG画像を加重平均フィルタによりフィルタ処理を行った調整被写体CG画像とを比較し、前記被写体画像と当該調整被写体CG画像との差分が等しくなる前記加重平均フィルタの第1フィルタ半径を前記被写体画像精細度として算出する
    ことを特徴とする請求項1から請求項7のいずれか一項に記載の画像処理システム。
  9. 前記精細度算出部が、
    前記第1フィルタ半径から前記対応関係に対応して前記仮想オブジェクト画像精細度である第2フィルタ半径を求め、前記仮想オブジェクト画像の精細度を調整する
    ことを特徴とする請求項8に記載の画像処理システム。
  10. 被写体情報推定部が、撮像装置で撮像した参照撮像画像における被写体の被写体画像に基づいて、前記撮像装置に対する前記被写体の位置及び姿勢を含む被写体情報を推定する被写体情報推定過程と、
    被写体CG画像描画部が、前記被写体情報に基づいて前記被写体のCG画像である被写体CG画像を描画する被写体CG画像描画過程と、
    仮想オブジェクト配置位置取得部が、前記撮像装置の撮像した対象撮像画像における仮想オブジェクト画像を配置する配置位置を取得する仮想オブジェクト配置位置取得過程と、
    精細度算出部が、前記被写体画像と前記被写体CG画像とを比較して、当該被写体画像の精細度である被写体画像精細度を取得し、また、当該被写体画像精細度と、前記撮像装置により前記参照撮像画像を撮像した際の参照撮像画像撮像パラメータと、前記被写体及び前記撮像装置間の第1距離と、前記仮想オブジェクト画像を前記対象撮像画像に合成した際における前記撮像装置及び当該仮想オブジェクト画像の仮想オブジェクト間の仮想距離である第2距離とから、前記対象撮像画像に合成する仮想オブジェクト画像の精細度である仮想オブジェクト画像精細度を求める対応関係を用い、前記第2距離に対応した前記仮想オブジェクト画像精細度を取得する精細度算出過程と
    を含むことを特徴とする画像処理方法。
  11. コンピュータを、
    撮像装置で撮像した参照撮像画像における被写体の被写体画像に基づいて、前記撮像装置に対する前記被写体の位置及び姿勢を含む被写体情報を推定する被写体情報推定手段、
    前記被写体情報に基づいて前記被写体のCG画像である被写体CG画像を描画する被写体CG画像描画手段、
    前記撮像装置の撮像した対象撮像画像における仮想オブジェクト画像を配置する配置位置を取得する仮想オブジェクト配置位置取得手段、
    前記被写体画像と前記被写体CG画像とを比較して、当該被写体画像の精細度である被写体画像精細度を取得し、また、当該被写体画像精細度と、前記撮像装置により前記参照撮像画像を撮像した際の参照撮像画像撮像パラメータと、前記被写体及び前記撮像装置間の第1距離と、前記仮想オブジェクト画像を前記対象撮像画像に合成した際における前記撮像装置及び当該仮想オブジェクト画像の仮想オブジェクト間の仮想距離である第2距離とから、前記対象撮像画像に合成する仮想オブジェクト画像の精細度である仮想オブジェクト画像精細度を求める対応関係を用い、前記第2距離に対応した前記仮想オブジェクト画像精細度を取得する精細度算出手段
    として機能させるプログラム。
JP2020167757A 2020-10-02 2020-10-02 画像処理システム、画像処理方法及びプログラム Pending JP2022059879A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020167757A JP2022059879A (ja) 2020-10-02 2020-10-02 画像処理システム、画像処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020167757A JP2022059879A (ja) 2020-10-02 2020-10-02 画像処理システム、画像処理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2022059879A true JP2022059879A (ja) 2022-04-14

Family

ID=81124557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020167757A Pending JP2022059879A (ja) 2020-10-02 2020-10-02 画像処理システム、画像処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2022059879A (ja)

Similar Documents

Publication Publication Date Title
JP6560480B2 (ja) 画像処理システム、画像処理方法、及びプログラム
CN109615703B (zh) 增强现实的图像展示方法、装置及设备
JP6561216B2 (ja) 光学フローを使用した中間ビューの生成
KR101893047B1 (ko) 이미지 처리 방법 및 이미지 처리 장치
JP4679033B2 (ja) 深度マップのメジアン値融合のためのシステムおよび方法
US6717586B2 (en) Apparatus, method, program code, and storage medium for image processing
US20130335535A1 (en) Digital 3d camera using periodic illumination
JP6685827B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP5093053B2 (ja) 電子カメラ
JP2000067267A (ja) 三次元シーンにおける形状及び模様の復元方法及び装置
JP6541920B1 (ja) 情報処理装置、プログラム及び情報処理方法
CN110517211B (zh) 一种基于梯度域映射的图像融合方法
JP6768933B2 (ja) 情報処理装置、情報処理システム、および画像処理方法
JP7013144B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP6799468B2 (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP7476511B2 (ja) 画像処理システム、画像処理方法及びプログラム
CN117058183A (zh) 一种基于双摄像头的图像处理方法、装置、电子设备及存储介质
JP2005141655A (ja) 3次元モデリング装置及び3次元モデリング方法
WO2022091811A1 (ja) 画像処理装置、画像処理方法、画像処理システム
JP2022059879A (ja) 画像処理システム、画像処理方法及びプログラム
JP2019144958A (ja) 画像処理装置、画像処理方法およびプログラム
JP2006300656A (ja) 画像計測方法、装置、プログラム及び記録媒体
JP2002135807A (ja) 3次元入力のためのキャリブレーション方法および装置
JP7504614B2 (ja) 画像処理装置、画像処理方法及びプログラム
KR102355578B1 (ko) 정보 처리 장치, 프로그램을 기록한 기록 매체 및 정보 처리 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230920