【文献】
谷藤 誠、菅谷 保之,“複合現実感システムのためのテクスチャの局所特徴を用いたマーカー識別と方向推定”,情報処理学会 シンポジウム 画像の認識・理解シンポジウム(MIRU) 2011,日本,情報処理学会,2011年 7月20日,pp.1161-1168
【文献】
片平 尭之、外2名,“複合センシングによる自己位置識別”,情報処理学会研究報告,日本,社団法人情報処理学会,2008年11月20日,Vol.2008, No.115,pp.185-192
【文献】
西 紗記子、外2名,“Webオークション出品時における疑似3D画像の生成”,インタラクション2016論文集,日本,一般社団法人情報処理学会,2016年 2月24日,pp.961-963
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下に、本願に係る画像処理装置、画像処理方法及び画像処理プログラムの各実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る画像処理装置、画像処理方法及び画像処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.第1の実施形態〕
〔1−1.画像処理の一例〕
まず、
図1を用いて、第1の実施形態に係る画像処理の一例について説明する。
図1は、第1の実施形態に係る画像処理の一例を示す図である。
図1に示すように、第1の実施形態に係る画像処理システム1には、ユーザ端末10と、画像処理装置100とが含まれる。ユーザ端末10と画像処理装置100とは、図示しないネットワークN(例えば、インターネット)を介して互いに通信可能に接続される。なお、画像処理システム1に含まれる各装置の台数は、
図1に示した例に限られない。例えば、画像処理システム1には、複数台のユーザ端末10が含まれてもよい。
【0012】
ユーザ端末10は、自由視点画像の生成を画像処理装置100に要求するユーザによって利用される情報処理装置である。例えば、ユーザ端末10は、デスクトップ型PC(Personal Computer)や、ノート型PC、スマートフォン等の携帯電話機、PDA(Personal Digital Assistant)、タブレット端末等により実現される。なお、以下では、ユーザをユーザ端末10と読み替える場合がある。例えば、「ユーザに自由視点画像を配信する」とは、実際には、「ユーザが利用するユーザ端末10に自由視点画像を配信する」ことを意味する場合がある。
【0013】
第1の実施形態において、ユーザ端末10を利用するユーザは、例えば、自身が所有する商品をオークションサイト等に出品する出品者である。ユーザは、商品を被写体として様々な角度から撮影を行い、複数の画像データを取得する。続いて、ユーザは、ユーザ端末10を介して、複数の画像データを画像処理装置100に送信する。そして、ユーザは、複数の画像データに基づいて生成される自由視点画像を画像処理装置100から取得する。ユーザは、例えば、商品を紹介するための情報の一つとして自由視点画像を用いて、オークションサイト等に出品する。
【0014】
画像処理装置100は、任意の視点位置に対応する画像を連続的に表示可能な画像である自由視点画像を生成するサーバ装置である。具体的には、第1の実施形態に係る画像処理装置100は、自由視点画像の配信を所望するユーザから複数の画像データの入稿を受け付け、受け付けた複数の画像データから自由視点画像を生成する。そして、画像処理装置100は、生成した自由視点画像をユーザ端末10に配信する。
【0015】
画像処理装置100は、ユーザ端末10から入稿される元画像データに所定の変換処理を行うことにより、自由視点画像を生成する。画像処理装置100は、多視点から撮像された複数の画像を、3次元位置のある一点で各撮像装置(カメラ)の光軸が重なった状態で撮影されたかのような画像である自由視点画像へ変換するため、射影変換行列を導出する。この場合、画像処理装置100は、各画像を撮像する撮像装置のパラメータとして、撮像装置の位置姿勢を含むカメラパラメータを参照する。言い換えれば、自由視点画像の生成においては、各画像データが取得される際の撮像装置が強校正されていることが望ましい。
【0016】
カメラパラメータが特定できない場合に、撮像された画像データに基づいて、カメラパラメータを推定する既知の手法も知られている。しかし、業務用の機材や設備を用いて撮像が行われない場合、既知の手法では、正確なカメラパラメータの推定を高精度で行うことができず、自由視点画像の生成において不具合が生じることがある。例えば、オークションサイトに出品する商品を紹介するような目的で撮像される画像は、出品者自身によって撮像される機会が多く、専門の撮影業者等によって撮像が行われる機会は少ない。このため、既知の手法では、自由視点画像の元となる画像データに関してカメラパラメータを高精度に推定することが困難な場合がある。
【0017】
そこで、第1の実施形態に係る画像処理装置100は、画像データに含まれるビジュアルマーカー(以下、単に「マーカー」と表記する)を利用して、入稿された複数の画像データに関して所定の校正(カメラキャリブレーション)を行う。マーカーは、各々が識別可能なように描画された図形を用いる。なお、画像処理装置100は、マーカーを用いる場合、画像内のマーカーと撮像装置との回転角Rと平行移動量Tを求めることで、校正処理を行うことができる。これにより、画像処理装置100は、元の画像から自由視点画像を構成するための画像に射影変換するための適切なパラメータ(例えば、射影変換行列)を取得する。そして、画像処理装置100は、射影変換された画像を連結することにより、複数の画像について滑らかに表示を遷移させることのできる自由視点画像を生成する。以下、画像処理装置100が行う画像処理について、流れに沿って説明する。
【0018】
まず、ユーザは、自由視点画像を生成するための元となる画像データを準備する。このとき、ユーザは、被写体とともに、マーカーを画像内に含むような複数の画像データを準備するものとする(ステップS11)。ユーザは、マーカーの一例として、用紙(シート)に描かれた円を利用することができる。具体的には、ユーザは、画像処理装置100から提供されるシートであって、所定の円が4隅に描かれたシート70を準備する。例えば、ユーザは、ネットワークNを介してシート70の画像データを取得する。そして、ユーザは、シート70の画像データを所定の用紙(例えば、A4サイズの紙など)にプリントアウトすることで、シート70を取得する。
【0019】
シート70には、円で示される円マーカーM01、M02、M03及びM04が描かれる。円マーカーとして採用される円は、円周上の任意の点から中心までの距離が等しい真円(正円)であるものとする。また、画像処理装置100は、円マーカーM01、M02、M03及びM04のシート70上における位置関係(例えば、座標上の関係性)に係る情報を有しているものとする。また、円マーカーは、構成要素である円が幅を有する場合、一つの円としてではなく、黒色で描かれる外円と、内側の白色部分で描かれる内円という、二つの同心円として認識されるものとする。
【0020】
また、円マーカーM01、M02、M03及びM04は、画像処理装置100が認識可能な程度に、異なるサイズを有しているものとする。このため、画像処理装置100は、画像データに二つの円マーカーが含まれている場合、射影変換後の正しい円のサイズを照合することにより、円マーカーを識別可能である。なお、詳細は後述するが、画像処理装置100は、外円と内円の半径の比率を用いることで、円マーカーM01、M02、M03及びM04をそれぞれ識別するようにしてもよい。この場合、画像処理装置100は、画像データに一つの円マーカーしか含まれていない場合であっても、円マーカーを識別することができる。
【0021】
ユーザは、シート70の中央に被写体60を乗せて、様々な角度から撮像を行う。例えば、ユーザは、ユーザ端末10の撮像機能を用いて、被写体60を撮像する。あるいは、ユーザは、デジタルカメラ等、撮像によって画像データを取得することが可能な機器を用いて被写体60を撮像する。そして、ユーザは、撮像によって取得した画像データをユーザ端末10に格納する。
【0022】
このようにして、ユーザは、シート70に乗せられた状態で撮像された被写体60の画像データを複数準備する。
図1に示すように、ユーザは、被写体60を取り囲むようにして撮像された元画像データP01、P02、P03、・・・、P0N(Nは任意の数)を準備する。
図1に示す例では、元画像データP01は、被写体60を向かって右側から撮像した画像である。また、元画像データP02は、被写体60を右斜め前から撮像した画像である。また、元画像データP03は、元画像データP02と比較して、被写体60を正面側に近い右斜め前側から撮像した画像である。このように、元画像データP01〜P0Nは、例えば、被写体60を半円状に取り囲むようにして順番に撮像された画像データである。
【0023】
上述のように、シート70には、円マーカーM01、M02、M03及びM04が描かれている。しかしながら、被写体60がシート70の中央に乗せられて撮像が行われる場合、多くの画像データにおいて、一つ乃至二つの円マーカーは、被写体60によって遮蔽されることで画像データに含まれなくなる。
図1に示す元画像データP01、P02及びP03の例では、円マーカーM04は、被写体60によって遮蔽されるため、完全な形では画像データに含まれなくなる。言い換えれば、被写体60がシート70の中央に乗せられて撮像が行われる場合、多くの画像データにおいて、2つ乃至3つの円マーカーが画像データに含まれることとなる。例えば、
図1に示すように、元画像データP01、P02及びP03は、被写体60とともに、円マーカーM01、M02及びM03を含む画像データである。なお、詳細については後述するが、画像処理装置100が行う画像処理では、マーカーの種類によって画像データ内に含む必要のあるマーカーの数が変化する。例えば、画像に含まれるマーカーが円マーカーである場合、画像処理装置100は、各画像に少なくとも二つの円マーカーを含む複数の画像データから、自由視点画像を生成することができる。
【0024】
続いて、ユーザ端末10は、ユーザの操作に従って、複数の元画像データP01〜P0Nを画像処理装置100に入稿する(ステップS12)。例えば、ユーザ端末10は、画像処理装置100が提供する画像生成サービスを提供するウェブページにおいて、複数の元画像データP01〜P0Nをアップロードすることにより、画像データを入稿する。
【0025】
画像処理装置100は、各画像データに、被写体60とともに少なくとも二つの円マーカーが含まれる元画像データP01〜P0Nの入稿を受け付ける。そして、画像処理装置100は、入稿された画像データに基づいて、自由視点画像を生成する(ステップS13)。具体的には、画像処理装置100は、一つの画像データに含まれる少なくとも二つの円マーカーに基づいて、入稿された複数の画像データに関して所定の校正を行う。
【0026】
一般に、マーカーを利用した画像データに関する校正処理は、画像データ内におけるマーカーと、当該画像データを撮像した撮像装置(カメラ)との回転角R及び平行移動量Tというパラメータを算出することで実現される。
【0027】
ここで、第1の実施形態に係る画像処理装置100が行う校正処理について、元画像データP01を例に挙げて説明する。まず、画像処理装置100は、元画像データP01内の各円マーカーを検出する。この例では、画像処理装置100は、円マーカーM01及びM02を検出するものとする。なお、画像処理装置100は、円マーカーM01及びM02それぞれの外円と内円の比率の相違によって、円マーカーM01及びM02を識別する。上述のように、シート70上に描かれる各円マーカーは、真円である。このため、撮像によって取得された画像データ内では、各円マーカーは、楕円となる。
【0028】
画像処理装置100は、検出した各楕円のパラメータに基づいて、各楕円の法線を推定する。楕円の法線は、一つの楕円につき2本算出される。このため、画像処理装置100は、二つの円マーカーM01及びM02から算出された法線の解を組み合わせることで、円マーカーM01及びM02を含む平面を推定できる。さらに、画像処理装置100は、推定した平面の法線を推定できる。
【0029】
画像処理装置100は、推定した平面の法線を、元画像データP01におけるワールド座標系(空間の中での物体の位置を示すための座標系。「世界座標系」や「グローバル座標系」と表記される場合もある)におけるY軸と仮定する。そして、画像処理装置100は、適当な円心同士(例えば、円マーカーM01及びM02)を結ぶベクトルをワールド座標系における仮のX軸とする。これらの情報に基づいて、画像処理装置100は、画像内の円マーカーM01又はM02と撮像装置との回転角Rの関係を求めることができる。また、画像処理装置100は、円心同士の距離を1と仮定することで、仮の平行移動量Tを算出することができる。画像処理装置100は、仮のパラメータである回転角R及び平行移動量Tを用いて、検出された円の本来の大小関係を求めれば、どの円が楕円として検出できたのかを決定することができる。そして、シート70における円の位置情報は既知であるから、検出された円のワールド座標系における位置に基づいて、画像処理装置100は、正しいX軸と平行移動量Tを推定することができる。これにより、画像処理装置100は、強校正を完了する。
【0030】
そして、画像処理装置100は、入稿された画像データから自由視点画像を構成するための画像に射影変換するための適切なパラメータを取得する。そして、画像処理装置100は、取得されたパラメータを用いて画像データを射影変換する。画像処理装置100は、射影変換された画像を連結することにより、入稿された各画像データを任意の視点で表示させることのできる自由視点画像F01を生成する。
【0031】
画像処理装置100は、生成した自由視点画像F01をユーザ端末10に配信する(ステップS14)。
図1に示すように、自由視点画像F01は、元画像データP01〜P0Nが変換された変換後画像データRP01〜RP0Nを含む。また、自由視点画像F01は、例えばユーザの操作に従って、変換後画像データRP01〜RP0Nの表示を滑らかに遷移することが可能である。また、
図1に示すように、変換後画像データRP01〜RP0Nに含まれる各々の被写体60は、校正の結果、元画像データP01〜P0Nに含まれる被写体60と比較して、大きさが均一に揃えられている。
【0032】
ユーザ端末10は、画像処理装置100から配信された自由視点画像F01を取得する。ユーザは、例えば、オークションサイトの出品にあたり、自身の商品を紹介する情報の一つとして、自由視点画像F01を利用する(ステップS15)。
【0033】
このように、第1の実施形態に係る画像処理装置100は、視点位置が異なる複数の画像データであって、所定のパラメータを有するとともに各々を識別可能である円マーカーM01〜M04が、各画像データ内に少なくとも二つは含まれる複数の元画像データP01〜P0Nを受け付ける。そして、画像処理装置100は、円マーカーが有するパラメータに基づいて、受け付けられた複数の元画像データP01〜P0Nに関する校正をする。さらに、画像処理装置100は、校正された複数の画像データに所定の変換処理を行うことにより、任意の視点位置に対応する画像を連続的に表示可能である自由視点画像F01を生成する。
【0034】
これにより、第1の実施形態に係る画像処理装置100は、例えば、ユーザ端末10のユーザのように、自由視点画像を活用して商材販売の促進を図るユーザに自由視点画像を提供することができる。すなわち、ユーザは、自由視点画像を販促などに利用することにより、通常の画像を提示するよりも、より高い販促効果を発揮させることができる。また、画像処理装置100は、自由視点画像を生成するにあたり、マーカーを利用した校正処理を行う。画像処理装置100は、マーカーを利用することで、専門の機材や装置の整った撮影環境で取得されていない元画像データからであっても、頑健に校正を行うことができる。すなわち、画像処理装置100は、強校正が行われていない撮像装置によって取得された元画像データからも、任意の視点からの表示を自然に行うことのできる自由視点画像を生成することができる。結果として、画像処理装置100は、自由視点画像を有効に活用させることができるという効果を奏する。
【0035】
〔1−2.画像処理装置の構成〕
次に、
図2を用いて、第1の実施形態に係る画像処理装置100の構成について説明する。
図2は、第1の実施形態に係る画像処理装置100の構成例を示す図である。
図2に示すように、画像処理装置100は、通信部110と、記憶部120と、制御部130とを有する。
【0036】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、図示しないネットワークNと有線又は無線で接続され、ユーザ端末10との間で情報の送受信を行う。
【0037】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
図2に示すように、記憶部120は、画像データ記憶部121と、自由視点画像記憶部122とを有する。
【0038】
(画像データ記憶部121について)
画像データ記憶部121は、ユーザ端末10から入稿された画像データに関する情報を記憶する。ここで、
図3に、第1の実施形態に係る画像データ記憶部121の一例を示す。
図3に示した例では、画像データ記憶部121は、「入稿ID」、「画像データ」といった項目を有する。
【0039】
「入稿ID」は、入稿された画像データを識別するための識別情報を示す。入稿IDが示す情報には、例えば、入稿された日時や、入稿元となるユーザ端末10を識別する情報が含まれてもよい。
【0040】
「画像データ」は、入稿された画像データを示す。
図1で示したように、ユーザ端末10は、自由視点画像の元となる画像データとして、複数の画像データを入稿する。「画像データ」の項目には、ユーザ端末10から入稿された一連の画像データが対応付けられて記憶される。また、各画像データには、「P01、P02、P03、P04、P05・・・」などの続き番号による識別情報が付与されてもよい。このような続き番号により、画像処理装置100は、自由視点画像における画像同士の連結順を認識する。
【0041】
すなわち、
図3では、入稿ID「A01」で識別される画像データの入稿では、画像データ「P01、P02、P03、P04、P05・・・」が自由視点画像を生成する元となる画像データとして入稿されたことを示す。
【0042】
(自由視点画像記憶部122について)
自由視点画像記憶部122は、画像処理装置100が生成した自由視点画像に関する情報を記憶する。ここで、
図4に、第1の実施形態に係る自由視点画像記憶部122の一例を示す。
図4に示した例では、自由視点画像記憶部122は、「自由視点画像ID」、「元画像データ」、「校正データ」、「変換後画像データ」、「初期表示画面」といった項目を有する。
【0043】
「自由視点画像ID」は、自由視点画像の識別情報を示す。「元画像データ」は、自由視点画像の生成元となった画像データを示す。自由視点画像は複数の画像データから生成されるため、元画像データは、一つの自由視点画像に対して複数記憶される。
【0044】
「校正データ」は、自由視点画像を生成するための所定の校正データ(カメラキャリブレーション)を示す。
図4では、校正データを「R01」のような概念で示す。校正データには、画像処理装置100が自由視点画像を構成する画像を取得するために、元画像データを適切に射影変換するための種々のデータが含まれる。例えば、校正データには、マーカーと撮像装置との回転角Rや平行移動量Tが含まれる。なお、校正データには、各画像データに関して、撮像装置のカメラパラメータとして、撮像装置の焦点距離や、撮像装置によって生成される画像のアスペクト比及びスキューなどが含まれてもよい。
【0045】
「変換後画像データ」は、自由視点画像を構成する画像データを示す。変換後画像データは、例えば、元画像データに対して所定の校正が行われ、校正で算出されたパラメータにより射影変換された後の画像データである。
【0046】
「初期表示画面」は、自由視点画像の最初の表示に対応する画像を示す。初期表示画面は、変換後画像データのうちの一つの変換後画像データが選択される。
【0047】
すなわち、
図4では、自由視点画像ID「F01」で識別される自由視点画像は、元画像データが「P01、P02、P03、P04、P05、・・・」であり、それぞれの校正データは「R01、R02、R03、R04、R05、・・・」であり、変換後画像データは「RP01、RP02、RP03、RP04、RP05、・・・」であり、初期表示画面は「RP03」である例を示している。
【0048】
なお、自由視点画像は、ユーザの任意の選択により自由視点画像の回転中心(注視点)が各々異なる自由視点画像が生成される場合がある。この場合、自由視点画像記憶部122には、自由視点画像IDに対応付けられて、注視点に関する情報が記憶されてもよい。
【0049】
(制御部130について)
制御部130は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、画像処理装置100内部の記憶装置に記憶されている各種プログラム(画像処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0050】
制御部130は、
図2に示すように、受付部131と、校正部132と、生成部133と、配信部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図2に示した接続関係に限られず、他の接続関係であってもよい。
【0051】
(受付部131について)
受付部131は、視点位置が異なる複数の画像データを受け付ける。具体的には、第1の実施形態に係る受付部131は、視点位置が異なる複数の画像データであって、所定のパラメータを有するとともに各々を識別可能であるマーカーが、各画像データ内に少なくとも一つは含まれる複数の画像データの入稿を受け付ける。
【0052】
上述のように、画像処理装置100が行う画像処理では、マーカーの種類によって画像データ内に含む必要のあるマーカーの数が変化する。例えば、画像に含まれるマーカーが円マーカーである場合、後述する校正部132及び生成部133は、各画像に少なくとも二つの円マーカーを含む複数の画像データから自由視点画像を生成することができる。すなわち、マーカーが円マーカーである場合、受付部131は、各々を識別可能である円マーカーが各画像データ内に少なくとも二つは含まれる複数の画像データの入稿を受け付ける。
【0053】
また、画像処理装置100が利用するマーカーの有するパラメータについても、マーカーの種類によって異なる場合がある。例えば、画像処理装置100は、円マーカーの場合は、円マーカーを構成する同心円の径の長さや、シート70における各円マーカーの位置情報等をパラメータとして用いる。また、例えば、画像処理装置100は、四角形の2次元コード(例えば、QRコード(登録商標))のように、識別情報と平行する2組の線分とを有するマーカーである場合、識別情報と平行する2組の線分をパラメータとして用いる。言い換えれば、画像処理装置100は、円マーカーの場合に推定した法線に代わるパラメータとして、四角形のマーカーの場合には、四角形を構成する線分である平行する2組の線分をパラメータとして用いる。
【0054】
受付部131は、入稿を受け付けた一連の画像データに入稿IDを付与し、画像データ記憶部121に格納する。
【0055】
(校正部132について)
校正部132は、マーカーが有するパラメータに基づいて、受付部131によって受け付けられた複数の画像データに関する校正を行う。具体的には、第1の実施形態に係る校正部132は、入稿された元画像データについて所定の校正を行うことで、自由視点画像を構成する画像に変換させるための変換行列に用いられるカメラパラメータを算出する。なお、後述する生成部133は、校正部132による校正の結果に基づいて、元画像データに所定の変換処理を行うことで、自由視点画像を生成する。
【0056】
ここで、校正部132及び生成部133が扱う自由視点画像について、
図5、
図6及び
図7を用いて説明する。まず、
図5を用いて、自由視点画像に関する撮像装置の配置について説明する。
図5は、自由視点画像に関する撮像装置の理想的な配置の一例を示す図である。
図5では、自由視点画像の元となる複数の画像データの撮像について、理想的な撮像装置の配置の一例を示している。なお、
図5では、被写体60を上から見た例を示す。
【0057】
図5において、撮像装置C11〜C16は、例えば、デジタルカメラである。また、撮像装置C11〜C16は、各撮像装置における光軸が所定の位置を通過するように、撮像対象となる被写体60の周囲に配置される。
図5の例では、撮像装置C11は、被写体60の中心に該当する3次元位置D1を光軸E11
1が通過するように配置される。また、撮像装置C12〜C16は、それぞれの光軸E12
1〜E16
1が3次元位置D1を通過するように配置される。なお、理想的な状況として、撮像装置C11〜C16は、少なくとも投影面の底辺が地面と略平行となるように設置されるものとする。そして、撮像装置C11〜C16は、
図1に示した状態で一斉に被写体60を撮像することにより、被写体60の自由視点画像を生成する元となる画像データを取得することができる。
【0058】
なお、
図5の例では、6台の撮像装置C11〜C16を用いて被写体60を撮像する例を示したが、撮像装置の数はこの例に限られない。また、撮像装置C11〜C16の配置位置は、
図5に示した例に限られない。例えば、撮像装置C11〜C16は、被写体60を半円状に囲むのではなく、複数の撮像装置が被写体60を囲むように、円周上に等間隔に配置されてもよい。
【0059】
ただし、
図5の撮像手法では、撮像装置C11〜C16の適切な配置や、撮像装置C11〜C16の適切なキャリブレーションが求められる。すなわち、
図5で示すような撮像処理をユーザのように撮像の専門家でない一般ユーザが行うのは困難である。
【0060】
ここで、
図6及び
図7を用いて、撮像の専門家でない一般ユーザ等(以下、単に「ユーザ」と表記する)によって被写体60が撮像される場合の撮像処理について説明する。
図6は、第1の実施形態に係る自由視点画像に関する撮像処理の一例を示す図である。
図6では、ユーザが、撮像装置C20を用いて、シート70に乗せられた被写体60を撮像する状況を示している。
【0061】
図6に示すように、ユーザは、シート70に乗せられた被写体60の周囲を回転するように、連続的に被写体60を撮像する。この場合、
図5と比較して、カメラの光軸や焦点距離が、撮像された各画像データについて一定でないことが想定される。
【0062】
なお、
図1でも説明したように、ユーザが被写体60を周囲から撮像した各画像データでは、シート70に描かれた円マーカーのいずれかが遮蔽されて隠れてしまうものの、少なくとも二つの円マーカーが各画像データに含まれることが想定される。
【0063】
次に、
図7を用いて、
図6で示した撮像の状況を上から見た場合を説明する。
図7は、第1の実施形態に係る自由視点画像に関する撮像装置の配置の一例を示す図である。
図7では、自由視点画像の元となる複数の画像データの撮像について、ユーザが実際に被写体60を撮像する場合に想定される撮像装置の配置等を示す。なお、以下の説明において、撮像装置C20
1〜C20
Nを区別する必要のないときは、「撮像装置C20」と記載する。
【0064】
撮像装置C20
1〜C20
Nは、例えば、デジタルカメラである。理想的には、撮像装置C20
1〜C20
Nは、
図5で説明したように、それぞれ個別の撮像装置として、被写体60の周囲に配置されることが望ましい。ところが、実際には、ユーザは、1台の撮像装置C20
1を
図7の撮像装置C20
1〜C20
Nが示す箇所に移動させながら、被写体60を撮像することが想定される。具体的には、ユーザは、
図7に示す撮像装置C20
1の場所から被写体60を撮像する。そして、ユーザは、被写体60を中心とした円に沿って、
図7に示す撮像装置C20
2の場所へ移動し、被写体60を撮像する。かかる作業を繰り返し、ユーザは、被写体60について複数の画像データを取得する。
【0065】
この場合、ユーザが、光軸E20
1が被写体60の中心を通るように注意深く撮像したとしても、自由視点画像の元画像として正確に(例えば、
図5で示したように)被写体60を撮像することは難しい。また、ユーザによって扱われる撮像装置C20についてカメラキャリブレーションされているとは限らないため、画像データからカメラパラメータ等を取得することができない場合がある。
【0066】
そこで、校正部132は、受付部131によって受け付けられた画像データについて、マーカーを利用した所定の校正を行うことにより、自由視点画像を構成する画像に変換できるようにする。この点について、
図8を用いて説明する。
【0067】
図8は、第1の実施形態に係る画像処理装置100が利用するマーカーを説明するための図である。
図8では、校正部132が校正に利用する円マーカーM01、M02、M03及びM04が4隅に描かれた、シート70について説明する。
【0068】
図8に示すように、シート70には、円マーカーM01、M02、M03及びM04と、中央表示75が含まれる。なお、中央表示75は、例えば、シート70に被写体60を設置する場合の目安となる表示である。ユーザは、
図8に示すシート70を取得し、シート70に乗せられた被写体60を撮像する。
【0069】
また、上述のように、校正部132は、シート70に描かれる円マーカーM01、M02、M03及びM04の位置情報を予め取得する。これにより、校正部132は、各円マーカーを識別することができれば、円マーカーM01、M02、M03及びM04の各々の位置関係を推定することができるため、マーカーを利用した校正処理を行うことができる。なお、校正部132は、画像データにおいて、マーカーの位置情報をワールド座標系における絶対値として与えておいてもよい。すなわち、校正部132は、複数のマーカーを予めワールド座標系においてマッピングするマッピング処理を行う。これにより、校正部132は、被写体60やその他の物体等に遮蔽されたマーカーが画像データ内にある場合でも、遮蔽されたマーカーの位置を推定して校正処理を行うことができる。
【0070】
すなわち、校正部132は、マーカーが有するパラメータとして、複数のマーカーの各々の位置情報の対応関係に基づいて、複数の画像データに関する校正を行う。また、校正部132は、マーカーが円マーカーである場合、円マーカーが有するパラメータを用いて推定される円マーカーの法線を含む平面情報と、平面情報に対応する平面に含まれる二つの円マーカーの位置情報の対応関係とに基づいて、複数の画像データに関する校正を行う。
【0071】
(生成部133について)
生成部133は、校正部132によって校正された複数の画像データに所定の変換処理を行うことにより、任意の視点位置に対応する画像を連続的に表示可能である自由視点画像を生成する。
【0072】
図7を用いて説明したように、ユーザ端末10から入稿される元画像データ群は、被写体60に光軸を向けて撮像されているものの、厳密には光軸が上下左右にばらついていることが想定される。このため、入稿される元画像データ群を単に連続的に表示させたとしても、かかる連続画像では、不連続性が際立つと推定される。
【0073】
そのため、生成部133は、各々の元画像データが撮像された際の撮像装置C20の光軸が、3次元空間上のある1点(例えば、
図5に示した3次元位置D1など)を通過していたかのような画像へと変換する射影変換行列を用いて、元画像データを変換する。かかる射影変換行列は、校正部132が行う校正処理によって導出されたパラメータにより作成されうる。
【0074】
例えば、生成部133は、射影変換によって、自由視点画像を構成する変換後画像データを生成する。例えば、変換後の画像データに対応する所定の撮像装置(カメラ)をカメラkと仮定すると、このようなカメラkにおける射影変換行列H
kは、各カメラの回転角(回転行列)R、及び光軸を通過させたい3次元点に基づいて、下記式(1)で求めることができる。
【0076】
上記式(1)において、R
kの逆行列とは、カメラkにおける元の回転角Rであり、R´
kとは新しい回転角Rであり、A
kとは内部パラメータである。内部パラメータは、例えば、画像中心位置や焦点距離により与えられる。なお、新しい回転角R´
kは、既知の手法により、カメラ位置と、ワールド座標系において回転させたい中心から求まる理想的な光軸と、元の光軸とから求めることが可能である。
【0077】
生成部133は、上記式(1)のように生成された射影変換行列を用いて、各元画像データを変換することにより、自由視点画像を生成する。ここで、
図9を用いて、第1の実施形態に係る生成部133による生成処理の一例を説明する。
図9は、第1の実施形態に係る生成部133による生成処理の一例を示す図である。
【0078】
図9に示すように、生成部133は、校正部132による校正処理とともに、所定の変換処理を行うことにより、元画像データP01〜P05を、変換後画像データRP01〜RP05に変換することで、自由視点画像を生成する。
【0079】
元画像データP01を例に挙げると、校正部132は、元画像データP01から、円マーカーを少なくとも二つ検出する。例えば、校正部132は、元画像データP01から、円マーカーM02及び円マーカーM03を検出する。そして、校正部132は、上述した処理によって、元画像データP01に関する校正を行う。すなわち、校正部132は、校正処理によって、元画像データP01を撮像した撮像装置C20のカメラパラメータを導出する。言い換えれば、校正部132は、射影変換行列を生成するためのパラメータを取得する。
【0080】
そして、生成部133は、校正部132による校正処理の結果を受けて、射影変換行列を生成する。続けて、生成部133は、元画像データP01を射影変換することで、変換後画像データRP01を生成する。生成部133は、同様に、元画像データP02〜P05に基づいて、それぞれ、変換後画像データRP02〜RP05を生成する(ステップS20)。
【0081】
なお、校正部132又は生成部133は、マーカーを利用した校正処理が行われた後は、既知の種々の手法を用いて、校正処理を行ったり、射影変換を行ったりしてもよい。例えば、校正部132又は生成部133は、ストラクチャーフロムモーション(Structure From Motion、以下、「SFM」と記載する)と呼ばれる既知の手法を用いてもよい。SFMによれば、種々の視点位置から撮像された複数の画像データに基づいて、画像の3次元形状を復元することが可能となる。具体的には、SFMは、画像データ間で対応付けされた対応点を用いて、かかる対応点の移動を基礎行列で表現することにより、撮像装置C20の動きを算出する。なお、SFMによれば、撮像装置C20の位置情報を復元することができるため、校正部132は、所定の処理において、SFMの手法を適宜用いて、カメラパラメータを取得するようにしてもよい。
【0082】
上記のように、校正部132は、所定の校正処理として、複数の画像データ間で対応するマーカーの関係に基づいて、当該画像データを取得した撮像装置C20のカメラパラメータ(例えば、相対的な位置情報等)を取得する。そして、生成部133は、校正部132によって取得されたパラメータ等の校正データを用いて、各画像データに対応する射影変換行列を算出する。そして、生成部133は、算出された射影変換行列を用いて、各元画像データを変換する。そして、生成部133は、変換した変換後画像データに基づいて、自由視点画像を生成する。生成部133は、生成した自由視点画像を自由視点画像記憶部122に格納する。なお、校正部132及び生成部133が実行する処理には、上記先行技術文献の特許文献2及び3にて開示された処理が、適宜応用されてもよい。
【0083】
なお、生成部133は、複数の画像データが所定の連続性を有するか否かを判定することにより、生成処理で取り扱う画像データを抽出し、抽出された画像データを用いて自由視点画像を生成してもよい。言い換えれば、生成部133は、入稿された複数の画像データのうち、自由視点画像の生成に適する画像データを抽出して自由視点画像を生成する。例えば、生成部133は、生成処理において、入稿された複数の画像データのうち、誤って入稿された画像データや、自由視点画像の生成に不適切な画像データを排除することができる。かかる処理は、例えば、マーカーを利用した校正処理を行う際に、マーカーが検出できなかったり、元画像データにおいて対応するマーカーが検出されなかったりした場合に行われうる。また、生成部133は、入稿された複数の画像データによって自由視点画像を生成することができない場合には、生成することができない理由、又は自由視点画像を生成可能とするための画像データの差し換えに係る情報が含まれる通知データを生成してもよい。
【0084】
(配信部134について)
配信部134は、生成部133によって生成された自由視点画像を配信する。具体的には、第1の実施形態に係る配信部134は、生成部133によって生成され、自由視点画像記憶部122に記憶されている自由視点画像を、元画像データの入稿元であるユーザ端末10に配信する。
【0085】
なお、配信部134は、元画像データが適切でなく、生成部133が自由視点画像を生成することができない旨や、自由視点画像の生成のための追加の画像データの入稿を求める旨を示した通知データを生成したときは、かかる通知データを元画像データの入稿元に配信してもよい。
【0086】
〔1−3.画像処理手順〕
次に、
図10を用いて、第1の実施形態に係る画像処理装置100による画像処理の手順について説明する。
図10は、第1の実施形態に係る画像処理手順を示すフローチャートである。
【0087】
図10に示すように、画像処理装置100の受付部131は、ユーザ端末10から画像データの入稿を受け付けたか否かを判定する(ステップS101)。このとき、受付部131は、画像データの入稿を受け付けていない場合には(ステップS101;No)、画像データの入稿を受け付けるまで待機する。
【0088】
一方、受付部131は、画像データの入稿を受け付けた場合には(ステップS101;Yes)、受け付けた画像データを画像データ記憶部121に格納する。そして、校正部132は、各画像データに含まれるマーカーを特定(検出)する(ステップS102)。
【0089】
そして、校正部132は、マーカーを利用して、画像データに関する校正処理を行う(ステップS103)。続けて、生成部133は、校正部132によって行われた校正処理の校正データに基づいて、画像データを変換する(ステップS104)。
【0090】
そして、生成部133は、変換された画像データに基づいて、自由視点画像を生成する(ステップS105)。続いて、配信部134は、自由視点画像をユーザ端末10に配信する(ステップS106)。
【0091】
〔1−4.変形例〕
上述してきた第1の実施形態に係る画像処理装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下に、上記の画像処理装置100の他の実施形態について説明する。
【0092】
〔1−4−1.円以外の図形を利用したマーカー〕
上記実施形態では、画像処理装置100は、円マーカーを利用して各画像データに関する校正処理を行うことを説明した。しかし、画像処理装置100は、円マーカー以外のマーカーを利用してもよい。
【0093】
例えば、画像処理装置100は、上記のように、識別情報を有する2次元コードを利用することができる。この場合、2次元コード自体に識別情報が含まれ、かつ、一つの2次元コードには2組の(互いに平行ではない)平行の線分が含まれるため、画像処理装置100は、各画像データから少なくとも一つのマーカーを検出することで、校正処理を実行することができる。なお、画像データ内に平面を規定することのできる線分であれば、校正処理において、線分が平行である必要はない。
【0094】
このように、画像処理装置100は、マーカーとして、四角形の形状と識別情報とを有する2次元コードが、各画像データ内に少なくとも一つは含まれる複数の画像データを受け付ける。そして、画像処理装置100は、2次元コードが有する2辺の線分の情報を用いて推定される平面情報と、平面情報に対応する平面に含まれる少なくとも一つの2次元コードの位置情報とに基づいて、複数の画像データに関する校正を行う。このように、画像処理装置100は、校正に利用されるマーカーが円以外の図形であっても、適切な校正を行うことができる。
【0095】
〔1−4−2.4点を利用するマーカー〕
また、画像処理装置100は、マーカーとして、互いの位置関係が既知である4つ以上の点をマーカーとして用いることもできる。この場合、画像処理装置100は、各画像データに少なくとも4つの点が含まれている画像データの入稿を受け付ける。
【0096】
すなわち、画像処理装置100は、画像データ内からマーカーとして4つの点を検出することで、4つの点のうちから2点を結び、線分を二つ規定することができる。これにより、画像処理装置100は、上記実施形態で説明したような、円マーカーを用いた処理と同様の処理を行うことができる。
【0097】
具体的には、画像処理装置100は、互いの位置情報の対応関係が予め規定された複数の点であって、各画像データ内に少なくとも4つは含まれる複数の点を含んだ複数の画像データを受け付ける。そして、画像処理装置100は、複数の点のうち2点を結ぶ線分から2本の線分を抽出し、抽出された2本の線分を用いて推定される複数の点を含む平面情報と、平面情報に対応する平面に含まれる複数の点の位置情報の対応関係とに基づいて、複数の画像データに関する校正を行う。このように、画像処理装置100は、マーカーそのものに識別情報を有しなくても、各点の位置情報や座標に基づいて各点の対応関係を利用することにより、点をマーカーとして利用することができる。
【0098】
〔1−4−3.活用例(1)〕
上記実施形態では、画像処理装置100は、オークションの出品を所望するユーザから入稿された複数の画像データに基づいて、自由視点画像を生成する処理を例として示した。この場合、画像処理装置100は、生成した自由視点画像を、自由視点画像の元となる複数の画像データを入稿したユーザ端末10もしくはユーザ端末10を利用するユーザを識別する識別情報、又は、ユーザが利用するサービスにおける出品情報の少なくともいずれか一つと対応付けて、所定の記憶部に格納するようにしてもよい。
【0099】
すなわち、画像処理装置100は、生成した自由視点画像をユーザに配信するのみならず、ユーザ端末10やユーザの識別情報(例えば、ユーザID)や、ユーザが利用するサービスにおける出品情報とともに、自由視点画像記憶部122等に記憶するようにしてもよい。なお、ユーザが利用するサービスにおける出品情報とは、例えば、オークションサイトにおける出品商品を示す識別情報であったり、オークションサイトにおいて行われているオークションを識別する識別情報であったり、ショッピングサイトにおける商品を識別する識別情報といった、出品物(例えば、自由視点画像の元画像データの被写体であることが想定される)を特定することのできる情報である。
【0100】
この場合、画像処理装置100は、例えば、サービスを管理運営するウェブサーバ等から自由視点画像の配信の要求を受け付ける。そして、画像処理装置100は、要求を受けた場合に、ユーザ端末10やユーザの識別情報や出品情報に基づいて、自由視点画像を特定する。そして、画像処理装置100は、特定された自由視点画像をサービス側(例えばウェブサーバ)に配信する。自由視点画像を取得したウェブサーバは、オークションにおける商品の紹介画像として、自由視点画像を掲載する。
【0101】
このように、画像処理装置100は、ユーザに自由視点画像を配信するのみならず、ユーザを識別する情報とともに自由視点画像を記憶部120内に格納しておき、要求に応じて、サービス側に自由視点画像を配信するようにしてもよい。これにより、画像処理装置100は、多様な要求に応答して自由視点画像を配信することができるため、より自由視点画像を活用させることができる。この場合、画像処理装置100は、例えば、
図4に示した自由視点画像記憶部122内に、自由視点画像IDと対応付けて、ユーザIDや、ユーザの出品情報ID等の情報を格納するようにしてもよい。
【0102】
〔1−4−4.活用例(2)〕
上記実施形態においては、自由視点画像がユーザに利用される例として、オークションサイトへの商品の出品等を示した。しかし、画像処理装置100は、生成した自由視点画像を様々な対象に配信してもよい。例えば、画像処理装置100は、ユーザ端末10ではなく、直接、ウェブサーバ等に配信するサービスを行ってもよい。また、画像処理装置100は、主としてUGC(User-Generated Contents)を掲載するサイトであるUGM(User-Generated Media)、またはCGM(Consumer-Generated Media)等に、生成した自由視点画像を配信してもよい。なお、UGMには、投稿動画共有サイト、写真共有サイト、イラスト投稿サイト、SNS(Social Networking Service)等が含まれる。
【0103】
〔1−5.効果〕
上述してきたように、第1の実施形態に係る画像処理装置100は、受付部131と、校正部132と、生成部133とを有する。受付部131は、視点位置が異なる複数の画像データであって、所定のパラメータを有するとともに各々を識別可能であるマーカーが、各画像データ内に少なくとも一つは含まれる複数の画像データを受け付ける。校正部132は、マーカーが有するパラメータに基づいて、受付部131によって受け付けられた複数の画像データに関する校正を行う。生成部133は、校正部132によって校正された複数の画像データに所定の変換処理を行うことにより、任意の視点位置に対応する画像を連続的に表示可能である自由視点画像を生成する。
【0104】
このように、第1の実施形態に係る画像処理装置100は、自由視点画像を生成するにあたり、マーカーを利用した校正処理を行う。例えば、画像処理装置100は、被写体とともにマーカーを撮像した画像データを利用することで、専門の機材や装置の整った撮影環境で取得されていない、一般ユーザによって撮像されたような元画像データからであっても、頑健に校正を行うことができる。すなわち、画像処理装置100は、強校正が行われていない撮像装置によって取得された元画像データからも、任意の視点からの表示を自然に行うことのできる自由視点画像を生成することができる。結果として、画像処理装置100は、自由視点画像を有効に活用させることができるという効果を奏する。
【0105】
また、校正部132は、画像データにおいて、マーカーが有するパラメータを用いて推定される平面情報と、平面情報に対応する平面に含まれるマーカーの位置情報とに基づいて、複数の画像データに関する校正を行う。
【0106】
このように、第1の実施形態に係る画像処理装置100は、平面情報を規定することのできるパラメータ(例えば、2本の線分を規定する情報)を有するマーカーを利用して、校正処理を行う。これにより、画像処理装置100は、一般的なユーザによって撮像された画像データであっても、適切な校正処理を行うことができる。
【0107】
また、受付部131は、各画像データ内に複数のマーカーが含まれる複数の画像データを受け付ける。校正部132は、パラメータとして、複数のマーカーの各々の位置情報の対応関係に基づいて、複数の画像データに関する校正を行う。
【0108】
このように、第1の実施形態に係る画像処理装置100は、画像データ内におけるマーカーの位置情報の対応関係(マッピング情報)に基づいて、複数の画像データに関する校正を行うことができる。これにより、画像処理装置100は、互いのマーカー、すなわち、各画像間の対応点を適切に特定することができるため、頑健な校正を行うことができる。
【0109】
また、受付部131は、同心を有する二つの円から構成されるマーカーである円マーカーが、各画像データ内に少なくとも二つは含まれる複数の画像データを受け付ける。校正部132は、円マーカーが有するパラメータを用いて推定される円マーカーの法線を含む平面情報と、平面情報に対応する平面に含まれる二つの円マーカーの位置情報の対応関係とに基づいて、複数の画像データに関する校正を行う。
【0110】
このように、第1の実施形態に係る画像処理装置100は、円マーカーによる校正処理を行うことができる。円マーカーは、画像データとして投影された場合に、楕円パラメータを有するため、法線を推定できる。このため、画像処理装置100は、法線に基づく平面情報を容易に推定可能であり、さらに平面の法線を推定可能である。これにより、画像処理装置100は、画像データにおけるワールド座標系との対応をとることができるため、適切な校正処理を行うことができる。
【0111】
また、受付部131は、互いの位置情報の対応関係が予め規定された複数の点であって、各画像データ内に少なくとも4つは含まれる複数の点を含んだ複数の画像データを受け付ける。校正部132は、複数の点のうち2点を結ぶ線分から2本の線分を抽出し、抽出された2本の線分を用いて推定される複数の点を含む平面情報と、平面情報に対応する平面に含まれる複数の点の位置情報の対応関係とに基づいて、複数の画像データに関する校正を行う。
【0112】
このように、第1の実施形態に係る画像処理装置100は、少なくとも4点をマーカーとして利用することもできる。このため、画像処理装置100は、互いに識別可能な情報であれば、円などの図形を用いなくとも、適切な校正処理を行うことができる。すなわち、画像処理装置100は、汎用性の高い画像処理を行うことができる。
【0113】
また、受付部131は、四角形の形状と識別情報とを有する2次元コードが、各画像データ内に少なくとも一つは含まれる複数の画像データを受け付ける。校正部132は、2次元コードが有する2辺の線分の情報を用いて推定される平面情報と、平面情報に対応する平面に含まれる少なくとも一つの2次元コードの位置情報とに基づいて、複数の画像データに関する校正を行う。
【0114】
このように、第1の実施形態に係る画像処理装置100は、2次元コードをマーカーとして用いてもよい。2次元コードは、2次元コード自体を識別する識別情報を有するため、円マーカーのようにサイズを用いて二つの円を特定せずとも、一つのマーカーで識別される。このため、画像処理装置100は、少なくとも一つの2次元コードに基づいて、校正処理を行うことができる。すなわち、画像処理装置100は、複数個のマーカーの対応関係を算出するといった処理負担を軽減させることができる。
【0115】
〔2.第2の実施形態〕
〔2−1.画像処理の一例〕
続いて、本願に係る第2の実施形態について説明する。上述してきた第1の実施形態において、画像処理装置100が、例えば、射影変換後の画像データに含まれる2つのマーカーの相対的なサイズやマッピング情報に基づいて、各々のマーカーを特定する処理を説明した。あるいは、画像処理装置100が、2次元コードに含まれる識別情報や、4つ以上の点における座標情報等によりマーカーを特定する処理を説明した。
【0116】
ここで、第2の実施形態に係る画像処理装置200(
図12参照)は、マーカーが有する所定の特徴情報であって、射影変換後においても不変となるような特徴情報を予め取得し、取得した特徴情報に基づいてマーカーを識別してもよい。かかる処理によれば、画像処理装置200は、画像データに2以上のマーカーが含まれていなくても、マーカーを識別すること、すなわち、マーカーを一意に特定することができる。この点について、
図11を用いて説明する。
図11は、第2の実施形態に係る画像処理の一例を示す図である。なお、第2の実施形態に係る画像処理装置200は、マーカーに関する情報を予め取得する処理と、マーカーを特定する処理以外は、第1の実施形態に係る画像処理装置100と同様の処理を行う。
【0117】
図11において、画像処理装置200は、
図8で示したような、シート70に含まれる円マーカーM01、M02、M03及びM04に関する情報を取得するものとする。画像処理装置200は、円マーカーM01、M02、M03及びM04に関する情報として、各円マーカーにおける外円と内円の径の長さ、また、外円と内円の径の長さから導出される比率を取得する。さらに、画像処理装置200は、外円と内円の各径の長さから導出される比率の比、すなわち、円マーカーにおける複比を取得する。
【0118】
ここで、シート70に描かれた円マーカーM01と、撮像装置によって撮像されることにより作成される画像データ内における円マーカーM01とでは、画像データを射影変換したとしても、撮像の状況によってサイズが異なることが想定される。しかし、円マーカー自体の大きさが変化したとしても、外円と内円との径の複比として示される値は、射影変換後であっても不変な値となる。第2の実施形態において、画像処理装置200は、この性質を利用して、円マーカーを特定する。
【0119】
図11では、円マーカーM01を例に挙げて説明する。
図11に示す例において、画像処理装置200は、円マーカーM01を、内円80と外円85という同心の2円として認識する。
図11の例では、内円80及び外円85の中心を点Cとし、中心を通る直線と内円80との交点を点B及び点D、中心を通る直線と外円85との交点を点A及び点Eとする。すなわち、内円80の直径は線BD、外円85の直径は線AEとして示される。また、内円80の半径は線BC又は線CD、外円85の半径は線AC又は線CEとして示される。
【0120】
上記のように、画像処理装置200は、各円マーカーの特定に関して、射影空間において、線分の複比(長さの比の比)が不変という性質を利用する。なお、画像処理装置200は、2つの同心円の長さの比の比を取得することができるのであれば、点A〜Eのうち、いずれの点間の長さを採用してもよい。例えば、画像処理装置200は、(線AC/線AD)と(線BC/線BD)との比率が不変であることを利用する。言い換えれば、画像処理装置200は、(線AC×線BD)/(線AD×線BC)の値が不変であることを利用する。
【0121】
この場合、画像処理装置200は、予めシート70を画像データとして取得し、マーカーとして特定する対象である円マーカーM01の各点間の長さを取得する。一例として、画像処理装置200は、内円80と外円85の径の比として、(線AC/線AD)や(線BC/線BD)等の比を取得する。そして、画像処理装置200は、点A〜Eのいずれかの点間で算出した特徴情報である複比の値を、円マーカーM01に付与する識別情報であるマーカーIDと対応付けて登録する。画像処理装置200は、円マーカーM02、M03及びM04についても、同様に登録を行う。この場合、シート70に描かれる円マーカーM01、M02、M03及びM04は、各々、中心を通る直線と外円及び内円との交点と、中心との点間の長さにおいて、画像処理装置200が認識可能な程度に差異があるものとする。すなわち、画像処理装置200は、各々の円マーカーにおいて交点と中心との点間の線分で示される複比について、異なる値として取得しているものとする。
【0122】
そして、画像処理装置200は、円マーカーM01、M02、M03及びM04のいずれかが含まれる画像データを取得した場合には、楕円で示されていた円マーカーを正面から認識できるよう、当該画像データを射影変換する。なお、この場合の射影変換は、第1の実施形態で説明したような、校正処理を経て複数の画像に共通するカメラ特徴情報を算出した上での射影変換をすることを要さず、一つの画像データにおいて、単に楕円を真円に置き換える射影変換のみを行えばよい。第1の実施形態において述べたように、マーカーが真円である場合、画像データ内のマーカーは楕円で表される。すなわち、画像処理装置200は、マーカーが真円であることがわかっている場合、画像データ中の楕円を検出し、検出した楕円を真円に戻すような射影変換を行えばよい。
【0123】
そして、画像処理装置200は、予め取得していた円マーカーの複比と、射影変換された画像データに含まれる円マーカーの複比とを照合することにより、画像データに含まれる円マーカーが、円マーカーM01、M02、M03及びM04のいずれの円マーカーであるかを特定する。画像処理装置200は、例えば、ユーザから受け付けた複数の画像データにおいて上記処理を行うことにより、各画像データに含まれるマーカーを正確に特定することができる。
【0124】
上述してきたように、第2の実施形態に係る画像処理装置200は、所定の撮像装置によって撮像されることで作成される画像データであって、楕円状の図形を含む画像データを受け付ける。そして、画像処理装置200は、受け付けられた画像データに含まれる楕円状の図形が真円となるよう画像データを射影変換し、射影変換後の真円が有する特徴情報に基づいて、当該真円を画像データの所定の処理に用いるためのマーカーとして特定する。
【0125】
具体的には、画像処理装置200は、マーカーとして、中心が共通する内円と外円とを有するマーカーに関する情報を取得するとともに、特徴情報として、マーカーの中心を通る直線と、内円と外円と、の各々の交点及び中心のいずれかの点間の長さ同士の比の比を示す複比の値を取得する。そして、画像処理装置200は、画像データを射影変換することによって得られるマーカーにおいて、取得された複比に対応する点間における複比と、予め取得していたマーカーにおける複比とを照合することにより、画像データに含まれるマーカーを特定する。
【0126】
このように、第2の実施形態に係る画像処理装置200は、マーカーに関して、射影変換された後の画像データにおいても不変となる特徴情報を取得し、かかる特徴情報を照合することでマーカーを特定する。これにより、画像処理装置200は、元画像データにマーカーが一つだけ含まれている場合であっても、マーカーを一意に特定することができる。言い換えれば、画像処理装置200は、2つのマーカーの相対的な情報を用いることなく、画像データに含まれているマーカーを特定できる。これにより、画像処理装置200は、各画像データに含まれる円マーカーが円マーカーM01であるか、円マーカーM02であるかといった特定を正確に行うことができるため、複数の画像間におけるマーカーと被写体の位置関係を正確に把握することができる。すなわち、画像処理装置200は、一般ユーザによって撮像されたような、校正が的確に行われていない複数の元画像データからでも、違和感のない自由視点画像を生成することができる。また、画像処理装置200は、予めシート70のようなマーカーに関する情報を取得することができるため、マーカーの特定処理において、一般ユーザに負担となるような処理を行わせることを要しない。結果として、画像処理装置200は、一般ユーザに自由視点画像を有効に活用させることができる。
【0127】
〔2−2.画像処理装置の構成〕
次に、
図12を用いて、第2の実施形態に係る画像処理装置200の構成について説明する。
図12は、第2の実施形態に係る画像処理装置200の構成例を示す図である。
図12に示すように、画像処理装置200は、通信部210と、記憶部220と、制御部230とを有する。なお、第1の実施形態で説明した画像処理装置100が行う処理と同様の処理や、同様の処理を行う処理部については、説明を省略する。
【0128】
(マーカー情報記憶部221について)
マーカー情報記憶部221は、マーカーに関する情報を記憶する。ここで、
図13に、第2の実施形態に係るマーカー情報記憶部221の一例を示す。
図13に示した例では、マーカー情報記憶部221は、「マーカーID」、「特徴情報」といった項目を有する。
【0129】
「マーカーID」は、マーカーを識別するための識別情報を示す。「特徴情報」は、マーカーを特定するために用いられる情報であり、射影変換後においても不変となる情報を示す。なお、
図13に示した例では、特徴情報は、「L01」など概念的に表記しているが、実際には、特徴情報の項目には、マーカーを特定するための数値等が記憶される。特徴情報の一例としては、同心を有する2円の径の比率に基づいて導出される複比の値である。
【0130】
すなわち、
図13では、マーカーID「M01」で識別されるマーカーが、特徴情報として「L01」という情報を有していることを示している。
【0131】
(制御部230について)
制御部230は、
図12に示すように、取得部231と、受付部232と、特定部233と、校正部234と、生成部235と、配信部236とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図12に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部230が有する各処理部の接続関係は、
図12に示した接続関係に限られず、他の接続関係であってもよい。
【0132】
(取得部231について)
取得部231は、マーカーに関する情報を取得する。具体的には、取得部231は、円を構成要素に含むマーカーに関する情報であって、マーカーを特定するための特徴情報を取得する。例えば、取得部231は、ユーザに提供するシート70に描かれた円マーカーM01の画像データを取得する。そして、取得部231は、円マーカーM01に識別情報であるマーカーIDを付すとともに、マーカー情報記憶部221に記憶する。
【0133】
また、取得部231は、マーカーとして、中心が共通する内円と外円とを有するマーカーに関する情報を取得するとともに、特徴情報として、マーカーの中心を通る直線と、内円及び外円と、の各々の交点及び当該中心のいずれかの点間の長さの比の比を示す複比を取得する。なお、取得部231は、内円と外円との2円を関係付ける線分により示される複比を取得する。
図11の例でいえば、取得部231は、線分ADと線分ACとの比や、線分BCと線分BDとの比を取得して複比を取得する一方で、線分ABや線分DEについては複比を求める線分として採用しない。
【0134】
(受付部232について)
受付部232は、所定の撮像装置によって撮像されることで作成される画像データであって、楕円状の図形を含む画像データを受け付ける。例えば、第2の実施形態に係る受付部232は、被写体60をシート70の上に乗せて撮像された画像データであって、円マーカーM01〜M04の少なくともいずれか一つが含まれる画像データを取得する。円マーカーM01〜M04は真円であるため、撮像された円マーカーM01〜M04は、楕円上の図形となる。すなわち、受付部232が受け付ける画像データには、楕円上の図形が含まれることとなる。受付部232は、受け付けた画像データを画像データ記憶部222に記憶する。
【0135】
また、受付部232は、視点位置が異なる複数の画像データであって、マーカーとして特定される図形が各画像データ内に少なくとも一つは含まれる複数の画像データを受け付ける。第1の実施形態と同様に、校正部234や、生成部235は、受付部232によって受け付けられた複数の画像データに基づいて、自由視点画像を生成する。
【0136】
また、受付部232は、ユーザ端末10から複数の画像データの入稿を受け付けるとともに、ユーザ端末10を識別する情報を受け付ける。例えば、配信部236は、ユーザ端末10を識別する情報に基づいて、生成部235によって生成された自由視点画像をユーザ端末10に配信する。
【0137】
(特定部233について)
特定部233は、受付部232によって受け付けられた画像データに含まれる楕円状の図形が真円となるよう画像データを射影変換し、射影変換後の真円が有する特徴情報に基づいて、当該真円を画像データの所定の処理に用いるためのマーカーとして特定する。
【0138】
例えば、特定部233は、取得部231が、画像データを射影変換した後の真円が有する特徴情報と、取得部231によって取得された特徴情報とを照合することにより、画像データに含まれるマーカーを特定する。具体的には、特定部233は、画像データに含まれる2つの楕円状の図形が、同心を有する2つの真円となるよう射影変換される場合に、取得部231によって取得された複比と、当該複比を算出する際に用いられた点間と対応する関係にある点間の長さを用いて算出される2つの真円における複比と、を照合することにより、当該画像データに含まれるマーカーを特定する。
【0139】
ここで、複比を算出する際に用いられた点間と対応する関係にある点間の長さを用いて算出される2つの真円における複比とは、円マーカーM01において複比を算出する際に用いられた線分と対応する関係にある線分を用いて、射影変換後における2つの同心円について複比を算出することを意味する。例えば、取得部231が、
図11における円マーカーM01の複比として、(線分AC×線分BD)/(線分AD×線分BC)の値を算出したとする。この場合、特定部233は、射影変換後の2つの同心円においても、円マーカーM01の場合と対応する関係となる、((外円と中心との線分)×(内円の直径))/((外円から中心を通過して内円と交差した交点)×(内円の半径))で算出される複比を求めることを意味する。
【0140】
(校正部234について)
校正部234は、マーカーが有するパラメータに基づいて、受付部232によって受け付けられた複数の画像データに関する校正を行う。具体的には、第2の実施形態に係る校正部234は、入稿された元画像データについて所定の校正を行うことで、自由視点画像を構成する画像に変換させるための変換行列に用いられるカメラパラメータを算出する。上述のように、第2の実施形態に係る処理によれば、特定部233が、各画像データに含まれるマーカーを正確に特定できるため、校正部234は、各画像データ間における対応点としてマーカーを利用し、各画像データに関する強校正を行うことが可能となる。
【0141】
(生成部235について)
生成部235は、校正部234によって校正された複数の画像データに所定の変換処理を行うことにより、任意の視点位置に対応する画像を連続的に表示可能である自由視点画像を生成する。
【0142】
(配信部236について)
配信部236は、生成部235によって生成された自由視点画像を配信する。具体的には、第2の実施形態に係る配信部236は、生成部235によって生成され、自由視点画像記憶部223に記憶されている自由視点画像を、元画像データの入稿元であるユーザ端末10に配信する。
【0143】
〔2−3.変形例〕
上述してきた第2の実施形態に係る画像処理装置200は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下に、上記の画像処理装置200の他の実施形態について説明する。
【0144】
〔2−3−1.図案を含むマーカー〕
画像処理装置200は、特徴情報として、2円の径の比率から算出される複比とは異なる特徴情報を用いて、マーカーを特定してもよい。例えば、画像処理装置200は、円マーカーの中に描かれた図案に基づいて、マーカーを特定してもよい。この点について、
図14乃至
図16を用いて説明する。
【0145】
図14は、第2の実施形態に係るマーカーの一例を説明するための図(1)である。
図14では、第2の実施形態に係るマーカーの一例として、円マーカーM10を示して説明する。
図14に示すように、円マーカーM10は、内円81と、外円86と、図案90とを構成要素とするマーカーである。図案90は、「忍」という漢字をモチーフとした図案である。画像処理装置200は、円マーカーM10に関する情報として、例えば、円マーカーM10が真円で構成されていることや、円マーカーM10を構成する画素データ等を取得するものとする。
【0146】
続いて、
図15を用いて、円マーカーM10が撮像装置によって撮像された状態を説明する。
図15は、第2の実施形態に係るマーカーの一例を説明するための図(2)である。
図15に示すように、円マーカーM10は、撮像装置によって撮像された画像データでは、楕円形状の図形として表される。画像処理装置200は、楕円形状の図形を画像データ中から検出し、検出した楕円形状の図形を射影変換する(ステップS30)。これにより、画像処理装置200は、真円で示される円マーカーM10を取得する。
【0147】
例えば、画像処理装置200は、「忍」という図案90が、取得していた円マーカーM10に関する情報と同じ角度で認識できる場合には、画素データとの照合等により、容易に円マーカーM10を画像データ中で特定することができる。しかしながら、撮像装置によって作成された画像データ中では、円マーカーM10に係る図案90は、通常、斜めの向きに傾いて示される。このため、画像データ中の楕円形状の円マーカーM10を射影変換した際にも、
図15に示すように、「忍」という図案90は、斜めに傾いて示される。この場合、画像処理装置200は、単に画素データを照合することでは、円マーカーM10を特定することができない。また、画像データ中から取得された円マーカーM10の画素データを全て回転させ、予め取得していた円マーカーM10の画素データと照合する角度を検出することは、処理負荷が大きくなる。
【0148】
そこで、画像処理装置200は、円マーカーM10について、回転不変となる特徴情報を取得し、かかる情報を用いてマーカーの特定処理を行う。例えば、画像処理装置200は、特徴情報として、円の中心から外側へ向かう放射線上の各画素における、円の中心から外側に向かう向きへの輝度差によって示される特徴情報を利用して、マーカーを特定する。
【0149】
具体的には、画像処理装置200は、マーカーが有する円の中心から第1の所定距離だけ離れた箇所に複数のサンプルポイントを設ける。そして、画像処理装置200は、サンプルポイントと、サンプルポイントから外側へ向かって第2の所定距離だけ離れたポイントと、の輝度差を二値化して示した数値を、サンプルポイントの数だけ並べたデータであるバイナリデータを特徴情報として取得する。この点について、
図16を用いて説明する。
【0150】
図16は、第2の実施形態に係るマーカーの一例を説明するための図(3)である。
図16に示すように、画像処理装置200は、円マーカーM10の中心から第1の所定距離だけ離れた位置の画素をサンプルポイントとして設ける。言い換えれば、画像処理装置200は、第1の所定距離を半径とする円周91の円周上にサンプルポイントを設ける。
図16の例では、画像処理装置200は、円周91上にサンプルポイントSA01〜SA06を設ける。
【0151】
そして、画像処理装置200は、サンプルポイントSA01〜SA06の各々の輝度と、放射線上に第2の所定距離だけ離れた位置の各々の画素における輝度との差を求める。すなわち、画像処理装置200は、サンプルポイントSA01〜SA06と、第2の所定距離だけ離れた円周92上のサンプルポイントSA11〜SA16との輝度差を求める。
【0152】
画像処理装置200は、例えば、ポイント間の輝度差を「0」と「1」との二値で取得する。例えば、画像処理装置200は、サンプルポイントSA01の輝度に対して、サンプルポイントSA11の輝度が高い場合、サンプルポイントSA11に「1」の数値を与える。一方、画像処理装置200は、サンプルポイントSA01の輝度に対して、サンプルポイントSA11の輝度が低い場合、サンプルポイントSA11に「0」の数値を与える。画像処理装置200は、同様にして、サンプルポイントSA12〜SA16についても「0」か「1」の数値を与える。
【0153】
そして、画像処理装置200は、円周92に沿って、サンプルポイントSA11〜SA16に与えられた数値を並べる。これにより、画像処理装置200は、円周92上のサンプルポイントSA11〜SA16における数値を並べたバイナリデータを求めることができる。具体的には、画像処理装置200は、円周92におけるバイナリデータとして、「00100」や、「10100」等の数値の羅列を取得する。画像処理装置200は、かかる処理を繰り返し、円周93についても、サンプルポイントSA01〜SA06から放射状に外側に伸ばした線との交点において、直前のサンプルポイントSA11〜SA16との輝度差を求める。これにより、画像処理装置200は、円マーカーM01におけるバイナリデータを取得する。なお、画像処理装置200は、サンプルポイントの数や、円周の数については、任意に設計可能である。例えば、画像処理装置200は、サンプルポイントSA11と、更に外側に仮定する円周上のサンプルポイントであるサンプルポイントSA21との輝度差を取得してもよい。画像処理装置200が、二値化データを取得するための円周とサンプルポイントを増やすほど、マーカーの特定処理の精度は向上する。
【0154】
このように、画像処理装置200は、円マーカーM10について、特徴情報として、バイナリデータを予め取得する。また、画像処理装置200は、
図16で示したように、射影変換後の円マーカーM10についても、バイナリデータを取得する。そして、画像処理装置200は、バイナリデータ同士の類似度を求めることで、マーカーを特定する。
【0155】
なお、上述のように、円マーカーM10が撮像された場合、射影変換後の円マーカーM10の向きは、予め取得していた正解データとなる円マーカーM10とは異なる向きとして検出される。そのため、画像処理装置200は、バイナリデータを用いて、マーカーの特徴を示すヒストグラム(histogram)を作成するようにしてもよい。
【0156】
画像処理装置200は、ヒストグラムにおいて、サンプルポイントを設ける仮想的な円周の数でビン(bin)を決定する。そして、画像処理装置200は、各円周上のサンプルポイントにおける二値化データが「1」の場合に、対応するビンの度数を1度増加させることで、ヒストグラムを作成する。そして、画像処理装置200は、各円周及び各サンプルポイントにおけるデータを入力したのち、ビンの総和が1となるよう正規化する。
【0157】
画像処理装置200は、例えば、下記式(2)を用いて、予め取得していた正解データとなる円マーカーM10のヒストグラムと、射影変換後の円マーカーM10のヒストグラムとの類似度を求める。
【0159】
上記式(2)において、「Similarity」は、類似度の数値を示す。「input
i」は、射影変換後の円マーカーM10におけるi番目のビンの度数を示す。「reference
i」は、正解データである円マーカーM10におけるi番目のビンの度数を示す。また、「n」は、ビンの数を示す。「min」は、いずれかの数値の最小値をとることを示す。
【0160】
上記式(2)に示すように、射影変換後の円マーカーM10におけるi番目のビンの度数と、正解データである円マーカーM10におけるi番目のビンの度数とが、全てのビンにおいて一致する場合には、類似度は、最大値である「1」となる。なお、類似度がとりうる最小値は「0」となる。
【0161】
このように、画像処理装置200は、予め取得していた円マーカーM10のバイナリデータと、射影変換後の円マーカーM10のバイナリデータに基づいて、マーカーの類似度を算出する。そして、画像処理装置200は、類似度が所定の閾値を超える場合に、画像データに含まれる楕円形状の図形が、円マーカーM10を示す図形であることを特定する。
【0162】
このように、画像処理装置200は、円内部の図案に基づいて、図案の輝度差を放射線上において比較する手法によって、マーカーを特定する処理を行うことができる。かかる手法によれば、画像処理装置200は、回転不変の特徴情報として、円マーカーを特定することができる。また、かかる手法では、輝度差を判定することにより、単にマーカーの画素データを比較するよりも、精度を向上させることができる。すなわち、マーカーは、撮像装置のカメラパラメータや、撮像される際の照明の当たり具合などにより、そもそもの画素の輝度が変化する場合が考えられる。このため、正解データにおけるマーカーの輝度の数値と、射影変換後のマーカーの輝度の数値を単純に比較しても、マーカーを精度よく特定することができない場合がある。一方で、かかる手法では、輝度そのものの数値ではなく、輝度の差を二値化したデータを用いるため、撮像後の画像データ内のマーカーであっても、比較的高い精度でマーカーを特定することができる。
【0163】
なお、画像処理装置200は、さらにマーカーの特定の精度を向上させるため、以下のような手法を採用してもよい。例えば、画像処理装置200は、サンプルポイントと、サンプルポイントから外側へ向かって第2の所定距離だけ離れたポイントと、の輝度差を二値化して示す場合に、サンプルポイントとなる画素の周囲の画素を含む輝度の平均と、ポイントとなる画素の周囲の画素を含む輝度の平均と、を比較することで、バイナリデータを取得するようにしてもよい。すなわち、画像処理装置200は、サンプルポイントとして抽出した画素(1ピクセル)のみの輝度を用いるのではなく、例えば、当該画素の周囲を含めた数ピクセル分の輝度の平均値と、次の円周におけるサンプルポイントの周囲を含めた数ピクセル分の輝度の平均値と、を処理に用いる。これにより、画像処理装置200は、画像データ内において特異な点を誤ってサンプリングするといった、処理におけるノイズを抑制することができるため、特定処理の精度を向上させることができる。
【0164】
また、画像処理装置200は、さらにマーカーの特定の精度を向上させるため、以下のような手法を採用してもよい。例えば、画像処理装置200は、類似度が算出されたのちに、類似度を算出する基となったサンプルポイントの位置から、仮定した円(例えば、円周91など)に沿って所定の角度だけずらして新たなサンプルポイントを設け、新たなサンプルポイントに基づく新たなバイナリデータを取得する。さらに、画像処理装置200は、射影変換後の円マーカーが有するバイナリデータと、取得された新たなバイナリデータとの類似度を求めることを所定の回数だけ繰り返す。そして、画像処理装置200は、求められた類似度のうち最大となる類似度に基づいて、画像データに含まれるマーカーを特定するようにしてもよい。
【0165】
このように、画像処理装置200は、標本としてサンプルポイントを設け、類似度を算出する処理を行った後に、設けたサンプルポイントから所定の角度(例えば、2度など)だけずらした点を新たなサンプルポイントとして設け、新たなサンプルポイントによる処理を行う。これにより、画像処理装置200は、設けるサンプルポイントの分布による誤差を抑制することができるため、特定処理の精度を向上させることができる。
【0166】
また、上記では、画像処理装置200が、第1の所定距離や第2の所定距離といった概念を用いて仮想的な円周を想定する例を示した。ここで、画像データ内に含まれるマーカーと、予め取得されるマーカーとでは、図形の大きさが異なることが想定される。そのため、画像処理装置200は、第1の所定距離や第2の所定距離として、マーカーの構成要素となる最も大きな円の直径を所定の割合で等分した位置などを用いるようにしてもよい。例えば、画像処理装置200は、マーカーの構成要素となる最も大きな円(
図14の円マーカーM10の例では、外円86)の直径を10等分し、最も中心に近い位置から、仮想的な円周を想定していってもよい。また、画像処理装置200は、上記のような図案に基づく特定を行う場合、マーカーは必ずしも2つの同心円を構成要素とする必要はなく、1つの円を構成要素とし、その内部に図案が描かれたマーカーを用いるようにしてもよい。
【0167】
〔2−3−2.マーカーの特定〕
第2の実施形態では、画像処理装置200は、予め円マーカーにおける回転不変の特徴情報を取得しておくことによって、画像データ内のマーカーを特定する処理を説明した。かかる処理は、必ずしも自由視点画像の生成に用いられるのみならず、単に、画像データ内のマーカーを特定する処理として用いられてもよい。すなわち、画像処理装置200は、自由視点画像の生成のために、複数の画像データに共通して含まれるマーカーを特定するのみならず、1枚の画像データにおけるビジュアルマーカーを特定する処理として、上記手法を採用してもよい。
【0168】
〔2−4.効果〕
上述してきたように、第2の実施形態に係る画像処理装置200は、受付部232と、特定部233とを有する。受付部232は、所定の撮像装置によって撮像されることで作成される画像データであって、楕円状の図形を含む画像データを受け付ける。特定部233は、受付部232によって受け付けられた画像データに含まれる楕円状の図形が真円となるよう画像データを射影変換し、射影変換後の真円が有する特徴情報に基づいて、当該真円を、画像データの所定の処理に用いるためのマーカーとして特定する。
【0169】
このように、第2の実施形態に係る画像処理装置200は、射影変換後であっても不変な特徴情報を用いることにより、画像データ内の図形をマーカーとして一意に特定することができる。これにより、画像処理装置200は、一般ユーザによって撮像されたような、校正が的確に行われていない複数の元画像データからでも、違和感のない自由視点画像を生成することができるため、一般ユーザに自由視点画像を有効に活用させることができる。
【0170】
また、第2の実施形態に係る画像処理装置200は、円を構成要素に含むマーカーに関する情報であって、当該マーカーを特定するための特徴情報を取得する取得部231をさらに有する。特定部233は、射影変換後の真円が有する特徴情報と、取得部231によって取得された特徴情報とを照合することにより、画像データに含まれるマーカーを特定する。
【0171】
このように、第2の実施形態に係る画像処理装置200は、予めマーカーに関する情報を取得し、取得した情報と、射影変換後の図形における特徴情報とを照合することで、マーカーを特定する。これにより、画像処理装置200は、ユーザがマーカーとして利用している図形を精度よく特定することができる。
【0172】
また、取得部231は、中心が共通する内円と外円とを有するマーカーに関する特徴情報として、マーカーの中心を通る直線と、内円及び外円と、の各々の交点及び当該中心のいずれかの点間の長さの比の比を示す複比を取得する。特定部233は、画像データに含まれる2つの楕円状の図形が、同心を有する2つの真円となるよう射影変換される場合に、取得部231によって取得された複比と、当該複比を算出する際に用いられた点間と対応する関係にある点間の長さを用いて算出される2つの真円における複比と、を照合することにより、画像データに含まれるマーカーを特定する。
【0173】
このように、第2の実施形態に係る画像処理装置200は、射影空間における不変の特徴情報として、2つの同心円の長さの複比を利用する。これにより、画像処理装置200は、画像データ内のマーカーを精度よく特定することができる。また、画像処理装置200は、予め取得しておくマーカーの特徴情報として、2つの同心円の径の長さを変えることのみで、マーカーを特定する情報を得ることができるため、識別可能なマーカーを容易に作成することができる。
【0174】
また、取得部231は、円の内部に所定の図形が描かれたマーカーに関する特徴情報として、円の中心から外側へ向かう放射線上に存在する2点の画素の輝度差によって示される特徴情報を取得する。特定部233は、射影変換後の真円が有する特徴情報と、取得部231によって取得された特徴情報とを照合することにより、画像データに含まれるマーカーを特定する。
【0175】
このように、第2の実施形態に係る画像処理装置200は、特定処理において、マーカーの画素の輝度そのものを用いるのではなく、放射線上の画素の輝度差を用いる。このため、画像処理装置200は、撮像装置のカメラパラメータや、撮像時の照明の状態等に左右されにくい、精度のよい特定処理を行うことができる。
【0176】
また、取得部231は、マーカーが有する円の中心から第1の所定距離だけ離れた箇所に複数のサンプルポイントを設け、サンプルポイントと、サンプルポイントから外側へ向かって第2の所定距離だけ離れたポイントと、の輝度差を二値化して示した数値を、当該サンプルポイントの数だけ並べたデータであるバイナリデータを特徴情報として取得する。特定部233は、バイナリデータを取得した処理と同様の処理を射影変換後の真円に対して実行することで、射影変換後の真円が有するバイナリデータを算出し、射影変換後の真円が有するバイナリデータと、取得部231によって取得されたバイナリデータとの類似度を求めることにより、画像データに含まれるマーカーを特定する。
【0177】
このように、第2の実施形態に係る画像処理装置200は、正解データとなるマーカーのバイナリデータと、射影変換後の図形のバイナリデータとの類似度を求めることで、マーカーを特定する。これにより、画像処理装置200は、マーカーの画素データ全てを比較するといった、負担の大きな処理を行うことなく、精度よくマーカーを特定することができる。
【0178】
また、取得部231は、サンプルポイントと、サンプルポイントから外側へ向かって第2の所定距離だけ離れたポイントと、の輝度差を二値化して示す場合に、サンプルポイントとなる画素の周囲の画素を含む輝度の平均と、ポイントとなる画素の周囲の画素を含む輝度の平均と、を比較することで、バイナリデータを取得する。
【0179】
このように、第2の実施形態に係る画像処理装置200は、画像データ内において特異な点を誤ってサンプリングするといった、処理におけるノイズを抑制することができるため、特定処理の精度を向上させることができる。
【0180】
また、取得部231は、特定部233によって類似度が算出されたのちに、類似度を算出する基となったサンプルポイントの位置から、円に沿って所定の角度だけずらして新たなサンプルポイントを設け、新たなサンプルポイントに基づく新たなバイナリデータを取得する。特定部233は、射影変換後の真円が有するバイナリデータと、取得部231によって取得された新たなバイナリデータとの類似度を求めることを所定の回数繰り返し、求められた類似度のうち最大となる類似度に基づいて、画像データに含まれるマーカーを特定する。
【0181】
このように、第2の実施形態に係る画像処理装置200は、サンプルポイントをずらしながら、類似度を数回算出するといった手法を採用してもよい。これにより、画像処理装置200は、設けるサンプルポイントの分布による誤差を抑制することができるため、特定処理の精度を向上させることができる。
【0182】
また、第2の実施形態に係る画像処理装置200は、マーカーが有するパラメータに基づいて、画像データに関する校正を行う校正部234と、校正部234によって校正された画像データに所定の変換処理を行うことにより、任意の視点位置に対応する画像を連続的に表示可能である自由視点画像を生成する生成部235と、をさらに有する。この場合、受付部232は、視点位置が異なる複数の画像データであって、マーカーとして特定される図形が各画像データ内に少なくとも一つは含まれる複数の画像データを受け付ける。校正部234は、受付部232によって受け付けられた複数の画像データに関する校正を行う。生成部235は、校正部234によって校正された複数の画像データに所定の変換処理を行うことにより、自由視点画像を生成する。
【0183】
このように、第2の実施形態に係る画像処理装置200は、特定されたマーカーを用いて校正処理を行い、自由視点画像を生成する。これにより、画像処理装置200は、強校正が行われていない撮像装置によって取得された元画像データからも、任意の視点からの表示を自然に行うことのできる自由視点画像を生成することができる。
【0184】
また、第2の実施形態に係る画像処理装置200は、生成部235によって生成された自由視点画像を配信する配信部236をさらに有する。受付部232は、ユーザ端末10から複数の画像データの入稿を受け付けるとともに、ユーザ端末10を識別する情報を受け付ける。配信部236は、受付部232によって受け付けられたユーザ端末10を識別する情報に基づいて、ユーザ端末10に自由視点画像を配信する。
【0185】
このように、第2の実施形態に係る画像処理装置200は、生成した自由視点画像をユーザが利用するユーザ端末10に配信する。これにより、画像処理装置200は、一般ユーザの自由視点画像の活用を促進させることができる。
【0186】
また、生成部235は、生成した自由視点画像を、当該自由視点画像の元となる複数の画像データを入稿したユーザ端末10もしくはユーザ端末10を利用するユーザを識別する識別情報、又は、ユーザが利用するサービスにおける出品情報の少なくともいずれか一つと対応付けて、所定の記憶部に格納する。
【0187】
このように、第2の実施形態に係る画像処理装置200は、ユーザを識別する情報とともに自由視点画像を記憶部220内に格納する。そして、画像処理装置200は、例えば、要求に応じて、サービス側に自由視点画像を配信するようにしてもよい。これにより、画像処理装置200は、多様な要求に応答して自由視点画像を利用させることができるため、よりユーザに自由視点画像を有用に利用させることができる。
【0188】
〔3.構成の変更〕
また、上述した各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0189】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、
図2に示した校正部132と生成部133とは統合されてもよい。また、画像処理装置100(画像処理装置200も含む。以下同様)は、ユーザ等の利用者とデータのやりとりを主に行うフロントエンドサーバと、生成処理等を行うバックエンドサーバとに分散される態様であってもよい。この場合、フロントエンドサーバは、少なくとも、受付部131と配信部134とを有する。また、バックエンドサーバは、少なくとも、校正部132と生成部133とを有する。また、画像処理装置100は、記憶部120を内部に備えるのではなく、外部のストレージサーバを利用する態様であってもよい。
【0190】
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0191】
〔4.ハードウェア構成〕
また、上述してきた各実施形態に係る画像処理装置は、例えば
図17に示すような構成のコンピュータ1000によって実現される。以下、画像処理装置100を例に挙げて説明する。
図17は、画像処理装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0192】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0193】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500(実施形態のネットワークNに対応する)を介して他の機器からデータを受信してCPU1100へ送り、また、通信網500を介してCPU1100が生成したデータを他の機器へ送信する。
【0194】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。
【0195】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0196】
例えば、コンピュータ1000が画像処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内の各データが格納される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網500を介してこれらのプログラムを取得してもよい。
【0197】
〔5.その他〕
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0198】
また、上述した画像処理装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【0199】
また、特許請求の範囲に記載した「手段」は、「部(section、module、unit)」や「回路」などに読み替えることができる。例えば、生成手段は、生成部や生成回路に読み替えることができる。