(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】生成プログラム、生成方法、および情報処理装置
(51)【国際特許分類】
G06T 3/00 20060101AFI20231205BHJP
【FI】
G06T3/00 720
(21)【出願番号】P 2020092813
(22)【出願日】2020-05-28
【審査請求日】2023-02-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】江刺 広之
(72)【発明者】
【氏名】俣野 哲也
【審査官】中田 剛史
(56)【参考文献】
【文献】特開2017-073710(JP,A)
【文献】特開2014-155069(JP,A)
【文献】国際公開第2019/193696(WO,A1)
【文献】特開2009-116532(JP,A)
【文献】視点位置に依存して変形する三次元メッシュモデルを利用した自由視点画像生成における違和感の低減 Reduction of Unnatural Feeling in Free-viewpoint Rendering Using View-Dependent Deformable 3-D Mesh Model,電子情報通信学会技術研究報告 Vol.109 No.471 IEICE Technical Report,2010年03月08日,p.437-442
【文献】複数の奥行マップを用いた仮想視点画像の生成 View Generation for a Virtual Camera Using the Multiple Depth Maps,電子情報通信学会論文誌 (J84-D-II) 第5号 THE TRANSACTIONS OF THE INSTITUTE OF ELECTRONICS,INFORMATION AND COMMUNICATION ENGINEERS D-II,2001年05月01日,p.805-811
【文献】フレーム間のテクスチャの整合性を考慮した視点依存テクスチャマッピング,情報処理学会 研究報告 コンピュータビジョンとイメージメディア(CVIM) 2017-CVIM-206 [online],2017年03月02日,p.1-8
【文献】視点位置に応じて変形する3次元メッシュモデルを用いた全方位動画像からの自由視点画像生成 Novel View Genetation from Omni-Directional Videos Using Viewpoint-Dependent Deformable 3-D Mesh Model,情報処理学会研究報告 Vol.2009 No.29 IPSJ SIG Technical Reports,2009年03月06日,p.127-132
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/00
(57)【特許請求の範囲】
【請求項1】
各画素が被写体の深度を示す深度情報と対応づけられている撮影画像の撮影に用いられた撮影装置の光学中心と、前記撮影画像が投影される撮影投影面と、視点と、前記視点から前記被写体を写した視点画像が投影される視点投影面とを、仮想空間上に配置し、
前記視点から前記視点投影面上に配置した前記視点画像の処理対象画素に向けて延ばした視線と、前記光学中心から前記撮影投影面上に配置した前記撮影画像の画素に向けて延ばした投射線との交差位置と、前記撮影画像の画素と対応する前記深度情報が示す前記被写体の深度とに基づいて、前記視点画像の前記処理対象画素と対応する画素値を、前記撮影画像の画素のうちから取得し、
前記処理対象画素に対して取得した画素値を用いて前記視点画像を生成する、
処理をコンピュータに実行させる生成プログラム。
【請求項2】
前記取得する処理は、前記撮影投影面上に配置した前記撮影画像の複数の画素のうち、画素に向けて前記光学中心から延ばした投射線と前記視線との前記交差位置が示す深度と、画素の前記深度情報に基づく前記被写体の深度との深度差が最小となる画素から、前記処理対象画素の画素値を取得する、ことを特徴とする請求項1に記載の生成プログラム。
【請求項3】
前記取得する処理は、前記深度差が最小となる画素に向けて前記光学中心から延ばした投射線と前記視線との前記交差位置と、前記深度差が最小となる画素の前記深度情報に基づく前記被写体の位置との距離が所定の条件を満たして大きい場合、前記視点画像の前記処理対象画素を死角領域に設定する、ことを特徴とする請求項2に記載の生成プログラム。
【請求項4】
前記取得する処理は、前記視線が前記被写体上で複数の投射線と交差する場合、前記複数の投射線と前記視線との交差位置のうちで最も交差位置が浅い投射線と対応する前記撮影画像の画素から、前記処理対象画素の画素値を取得する、ことを特徴とする請求項2または3に記載の生成プログラム。
【請求項5】
前記生成する処理は更に、
各画素が前記被写体の深度を示す前記深度情報と対応づけられている第2の撮影画像に基づいて、前記視点から前記被写体を写した第2の視点画像を生成し、
前記視点画像と前記第2の視点画像とのいずれか一方の視点画像で前記処理対象画素が前記死角領域に設定されている場合、他方の視点画像の画素値を前記処理対象画素の画素値として用いる、処理を含む請求項3に記載の生成プログラム。
【請求項6】
前記生成する処理は更に、
各画素が前記被写体の深度を示す前記深度情報と対応づけられている第2の撮影画像に基づいて、前記視点から前記被写体を写した第2の視点画像を生成し、
前記視点画像と前記第2の視点画像との両方の視点画像が前記処理対象画素で画素値を有する場合、前記両方の視点画像の前記処理対象画素での画素値のうち、前記視点から前記処理対象画素に向けて延ばした前記視線との成す角がより小さい投射線と対応する画素から取得された画素値を、前記処理対象画素の画素値に設定する、処理を含む請求項1から4のいずれか1項に記載の生成プログラム。
【請求項7】
各画素が被写体の深度を示す深度情報と対応づけられている撮影画像の撮影に用いられた撮影装置の光学中心と、前記撮影画像が投影される撮影投影面と、視点と、前記視点から前記被写体を写した視点画像が投影される視点投影面とを、仮想空間上に配置し、
前記視点から前記視点投影面上に配置した前記視点画像の処理対象画素に向けて延ばした視線と、前記光学中心から前記撮影投影面上に配置した前記撮影画像の画素に向けて延ばした投射線との交差位置と、前記撮影画像の画素と対応する前記深度情報が示す前記被写体の深度とに基づいて、前記視点画像の前記処理対象画素と対応する画素値を、前記撮影画像の画素のうちから取得し、
前記処理対象画素に対して取得した画素値を用いて前記視点画像を生成する、
ことを含む、コンピュータが実行する生成方法。
【請求項8】
各画素が被写体の深度を示す深度情報と対応づけられている撮影画像の撮影に用いられた撮影装置の光学中心と、前記撮影画像が投影される撮影投影面と、視点と、前記視点から前記被写体を写した視点画像が投影される視点投影面とを、仮想空間上に配置する配置部と、
前記視点から前記視点投影面上に配置した前記視点画像の処理対象画素に向けて延ばした視線と、前記光学中心から前記撮影投影面上に配置した前記撮影画像の画素に向けて延ばした投射線との交差位置と、前記撮影画像の画素と対応する前記深度情報が示す前記被写体の深度とに基づいて、前記視点画像の前記処理対象画素と対応する画素値を、前記撮影画像の画素のうちから取得する取得部と、
前記処理対象画素に対して取得した画素値を用いて前記視点画像を生成する生成部と、
を含む、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生成プログラム、生成方法、および情報処理装置に関する。
【背景技術】
【0002】
例えば、製造、仕分け、およびその他の分野において部品および製品などを検査したり、形状を判定したりすることが行われている。こうした検査および判定などの処理は、処理対象の数や種類が膨大となることがあり、人手で行うことが難しいことがある。そのため、画像解析により処理する試みが成されている。
【0003】
また、撮影装置で被写体を撮影する際に、例えば、障害物などに起因して被写体を好ましい向きから撮影できないことがある。例えば、この様な場合に、撮影装置で撮影した被写体が写る画像を、利用において好ましい向きから見た被写体が写る画像に変換する画像再投影の技術が利用されている。画像再投影の技術として、例えば、テクスチャマッピングおよび投影テクスチャマッピングなどの技術が知られている。
【0004】
また、画像変換に関連する技術が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、例えば、テクスチャマッピングおよび投影テクスチャマッピングなどの技術を用いて画像再投影を行う場合、被写体の3次元形状モデルを生成するため、計算負荷が高くなることがある。そのため、例えば、部品および製品の検査および判定などの現場のように、大量の撮影画像を処理する場合、これらの技術で処理することが難しいことがある。
【0007】
1つの側面では、本発明は、被写体が写る撮影画像から、その被写体が別の向きで写る画像を生成する処理にかかる負荷を低減することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一つの態様の生成プログラムは、各画素が被写体の深度を示す深度情報と対応づけられている撮影画像の撮影に用いられた撮影装置の光学中心と、撮影画像が投影される撮影投影面と、視点と、視点から被写体を写した視点画像が投影される視点投影面とを、仮想空間上に配置し、視点から視点投影面上に配置した視点画像の処理対象画素に向けて延ばした視線と、光学中心から撮影投影面上に配置した撮影画像の画素に向けて延ばした投射線との交差位置と、撮影画像の画素と対応する深度情報が示す被写体の深度とに基づいて、視点画像の処理対象画素と対応する画素値を、撮影画像の画素のうちから取得し、処理対象画素に対して取得した画素値を用いて視点画像を生成する、処理をコンピュータに実行させる。
【発明の効果】
【0009】
被写体が写る撮影画像から、その被写体が別の向きで写る画像を生成する処理にかかる負荷を低減できる。
【図面の簡単な説明】
【0010】
【
図1】実施形態が利用される例示的な撮影システムを示す図である。
【
図2】実施形態に係る情報処理装置のブロック構成を例示する図である。
【
図3】実施形態に係る撮影画像からの視点画像の生成の流れを例示する図である。
【
図4】実施形態に係る撮影画像からの視点画像の生成の流れを例示する図である。
【
図5】実施形態に係る撮影画像からの視点画像の生成の流れを例示する図である。
【
図6】実施形態に係る死角領域について例示する図である。
【
図7】実施形態に係る遮蔽領域について例示する図である。
【
図8】実施形態に係る視点画像の生成処理の動作フローを例示する図である。
【
図9】実施形態に係る視線と対応する投射線の特定処理の動作フローを例示する図である。
【
図10】実施形態に係る視線と対応する投射線の特定処理の流れを例示する図である。
【
図11】実施形態に係る撮影画像と視点画像とを例示する図である。
【
図12】実施形態に係る複数の位置から撮影された撮影画像を用いた視点画像の生成について例示する図である。
【
図13】実施形態に係る複数の位置から撮影された撮影画像を用いた視点画像の生成について例示する図である。
【
図14】実施形態に係る異なる2つの位置から撮影された撮影画像に基づく視点画像の生成処理の動作フローを例示する図である。
【
図15】実施形態に係る情報処理装置を実現するためのコンピュータのハードウェア構成を例示する図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、本発明のいくつかの実施形態について説明する。なお、複数の図面において対応する要素には同一の符号を付す。
【0012】
図1は、実施形態が利用される例示的な撮影システム100を示す図である。撮影システム100は、例えば、情報処理装置101、撮影装置102、設置台105などを含む。設置台105は、例えば、被写体110が設置される台であり、一例ではベルトコンベアなどの製造ラインであってよい。設置台105には、例えば、部品、製品、製造物、および成形物などの撮影対象物106が設置される。撮影装置102は、設置台105に設置された撮影対象物106を撮影する。
【0013】
情報処理装置101は、例えば、撮影装置102と有線または無線で通信接続されている。情報処理装置101は、例えば、パーソナルコンピュータ(PC)、モバイルPC、タブレット端末、または、ネットワークを介して撮影装置102と接続されるサーバコンピュータなどの画像処理機能を備えるコンピュータであってよい。
【0014】
撮影装置102は、例えば、RGB-Dカメラおよびステレオカメラなどの撮影画像と、その撮影画像の画素と対応する深度の情報を取得可能な撮影装置であってよい。一例では、撮影装置102は、深度画像を撮影する。撮影装置102は、例えば、被写体110が写る画像を撮影する。被写体110は、例えば、画像に写り込む物体であってよい。
図1の例では、設置台105および撮影対象物106が撮影画像に被写体110として写っていてよい。撮影対象物106は、例えば、部品、製品、製造物、および成形物などである。撮影装置102は、例えば、撮影した被写体110が写る撮影画像および深度画像を情報処理装置101に送信する。
【0015】
なお、
図1では、例えば、製造、仕分け、およびその他の分野における部品および製品の検査および判定などの現場での実施形態の利用を例示しているが、実施形態はこれに限定されるものではない。実施形態は、被写体110が写る撮影画像を、その被写体110を別の向きから見た画像に変換する処理が行われる様々な状況で利用することが可能である。
【0016】
なお、
図1に示すように、例えば、RGB-Dカメラなどの撮影装置102で撮影を行う場合、その撮影画像と対応する深度画像も得られる。そのため、深度画像の深度の情報を用いて3次元形状モデルを生成することができる。そして、生成した3次元形状モデルに撮影画像のテクスチャを貼り付けて回転させることで、様々な視点から被写体110を撮影した撮影画像を得ることができる。しかしながら、3次元形状モデルは、大量のポリゴンを処理して生成されるため処理負荷が高く、高速に処理を行ったり、大量の撮影画像を処理したりする用途では利用が難しいことがある。そのため、被写体が写る撮影画像から、その被写体が別の向きで写る画像を生成する画像変換にかかる処理負荷を低減できる更なる技術の提供が望まれている。
【0017】
以下で述べる実施形態では、撮影画像の画素と、撮影画像に基づいて生成を行う別の視点から被写体110を写した画像の画素とを、投射線および視線の光線追跡により特定する。なお、撮影画像に基づいて生成を行う別の視点から被写体110を写した画像を、以下では、視点画像と呼ぶことがある。また、投射線は、例えば、撮影画像の撮影に用いられた撮影装置の光学中心から撮影画像の画素に向かう直線で表される。視線は、例えば、視点から視点画像の画素に向かう直線で表される。実施形態によれば、被写体110の3次元形状モデルを生成しなくても、視点画像を生成することができるため、視点画像の生成にかかる処理負荷を低減することができる。
【0018】
なお、実施形態において視点画像の生成に用いる撮影画像は、予め前処理を実行して鏡面反射光の成分が除去された拡散反射光の画像であってよい。撮影画像の鏡面反射光の成分は、光源の影響を受ける成分であるため、視点が変わると変化し得る。そのため、例えば、視点画像における被写体110の色味などをその後の処理で用いる場合には、視点画像の生成に用いる撮影画像から予め除去しておくことは好ましい。しかしながら、実施形態はこれに限定されるものではない。例えば、視点画像を被写体110の輪郭や形状の外観検査に用いる場合には、鏡面反射光の成分が含まれていてもエッジの形状を抽出することが可能であるため、鏡面反射光の成分の除去は実行されなくてもよい。以下、実施形態を更に詳細に説明する。
【0019】
図2は、実施形態に係る情報処理装置101のブロック構成を例示する図である。情報処理装置101は、例えば、制御部201、記憶部202、通信部203、および表示装置204を含む。制御部201は、情報処理装置101の各部を制御してよい。制御部201は、例えば、配置部211、取得部212、および生成部213などを含み、またその他の機能部を含んでもよい。記憶部202は、例えば、後述する動作フローを実行するためのプログラム、およびプログラムの実行で参照する情報などを記憶している。通信部203は、例えば、制御部201の指示に従って他の装置と通信する。通信部203は、例えば、制御部201の指示に従って撮影装置102と通信し、撮影装置102から被写体110の写る撮影画像を取得してよい。表示装置204は、例えば、制御部201の指示に従って、表示画面に情報を表示する。これらの各部の詳細および記憶部202に格納されている情報の詳細については後述する。
【0020】
図3から
図5は、実施形態に係る撮影画像からの視点画像の生成の流れを例示する図である。なお、以下の説明において、図面が3次元の仮想空間内での物体の配置を示している場合、軸の方向を表す矢印を付している。例えば、
図3では、図面の縦方向にZ軸、図面の横方向にX軸、および図面の奥行方向にY軸がとられている。なお、実施形態に係る仮想空間の軸の方向はこれに限定されるものではなく、空間内の座標を指定することができれば、軸は任意の方向にとられてよい。
【0021】
図3に示すように、撮影画像からの視点画像の生成処理において、制御部201は、仮想空間に撮影装置102の光学中心301を配置する。また、制御部201は、光学中心301から光軸302の前方の焦点距離の位置に、光軸に対して垂直に撮影画像の投影面として撮影投影面303を配置する。なお、撮影投影面303に投影される投影像に重ね合わせて撮影装置102で撮影した撮影画像および深度画像を配置することができる。この場合、撮影画像および深度画像の画像中心は、例えば、光軸302上にある。更に、制御部201は、撮影投影面303に対して平行に3次元平面305を配置する。なお、
図3において、光学中心301から延びる破線は撮影視野を表している。
【0022】
また、撮影投影面303に配置した深度画像の深度の情報は、被写体110の位置を表している。
図3には、深度画像の画素ごとの深度の情報に基づいて、被写体110として設置台105および撮影対象物106の位置が破線で示されている。被写体110は、例えば、光学中心301から撮影投影面303上に配置した深度画像の画素307に向かって延ばした直線上の画素307の深度情報で示される深度の位置にある。なお、撮影投影面303上に配置した撮影画像および深度画像の画素に向かう直線を、画素の深度情報で示される深度まで延ばした矢印を、以下では、例えば、投射線308と呼ぶ。
【0023】
続いて、制御部201は、3次元平面305に対して光学中心301のある側の半空間の任意の位置に視点310を配置する。制御部201は、視点310の前方に、視点310に透視投影する際の投影面として視点投影面311を配置する。なお、
図3において視点310から延びる破線は視点視野を表している。
【0024】
この場合に、実施形態では制御部201は、視点310の位置から視点投影面311上に投影される被写体110の視点画像を生成する処理を実行する。なお、以下では、視点310から視点投影面311上に配置された視点画像の或る画素312に向かって延びる直線を、例えば、視線313と呼ぶ。
【0025】
続いて、制御部201は、視線313と交わる投射線308のうちから、視線313と投射線308との交差位置の深度と、投射線308が撮影投影面303上で通る画素の深度情報が示す被写体110の深度との深度差が最小となる投射線308を特定する。例えば、
図4には、投射線308aから投射線308cの3つの投射線308が示されている。ここで、投射線308cは、視線313と交差していないため排除される。一方、投射線308aおよび投射線308bは、視線313と交差している。また、投射線308aは、視線313と点401の位置で交差しており、投射線308aが撮影投影面303上で通る深度画像の画素412の深度情報は点402の位置における被写体110の深度を示している。投射線308aでは、視線313との交差位置(
図4の点401)の深度と、投射線308aが撮影投影面303上で通る画素412の深度情報が示す被写体(
図4の点402)までの深度との深度差は大きい。一方、投射線308bでは、視線313との交差位置(
図4の点403)の深度と、投射線308bが撮影投影面303上で通る画素413の深度情報が示す被写体110の深度とがほぼ同じ深度であり、深度差が小さい。そのため、制御部201は、深度差が最小となる投射線308として投射線308bを特定してよい。
【0026】
なお、例えば、投射線308が通る撮影投影面303上の撮影画像の画素と、視線313が通る視点投影面311上の視点画像の画素とが被写体の同じ領域を写しているとする。この場合、投射線308と視線313との交差位置の深度と、投射線308が通る撮影投影面303上の深度画像の画素の深度情報が示す被写体110の深度とはおおよそ一致する。そのため、深度差が最小となり、所定の誤差範囲(例えば、5mm以下)内に小さくなる投射線308を特定することで、制御部201は、視線313が通る視点投影面311上の画素と同じ被写体110を写す撮影投影面303上の画素を特定することができる。
【0027】
なお、深度差は、一例では、撮影投影面303と並行な3次元平面305からの視線313と投射線308との交差位置までの深度と、3次元平面305からの被写体110までの深度との差分から求めることができる。3次元平面305からの被写体110までの深度は、例えば、3次元平面305を撮影投影面303上に配置した場合、撮影投影面303上の深度画像の画素の深度情報が示す深度から焦点距離を差し引くことで求めることができる。
【0028】
そして、制御部201は、例えば、
図5に示すように、特定した投射線308が通る撮影投影面303上の画素413の画素値を、視線313が通る視点投影面311上の画素312の画素値として用いることができる。
【0029】
更に、制御部201は、視点投影面311上の視点画像の全ての画素について、同様に撮影投影面303上の撮影画像に対応する画素があれば、その画素から画素値を取得することができる。それによって、制御部201は、視点310の位置から見た視点画像を生成することができる。
【0030】
また、以上で述べた撮影画像からの視点画像の生成処理では、例えば、被写体110の3次元形状モデルを生成しなくても、視点画像を生成することが可能である。そのため、処理負荷を抑えて視点画像を生成することができ、高速な処理が求められる状況、および大量の画像を処理する状況で、視点画像を得ることが可能になる。
【0031】
続いて、実施形態に係る視点画像における死角領域の識別について説明する。
【0032】
(死角領域の識別)
例えば、撮影画像において、手前にある別の被写体110により隠されて見えなかった領域が、視点を動かした結果、見えるようになることがある。この場合に、撮影画像において見えていない視点画像上の領域を、例えば、死角領域と呼ぶ。死角領域は、撮影画像においてその領域が死角となっており、画像情報が撮れていないため、描画できない視点画像の領域を表わしている。
【0033】
図6は、実施形態に係る死角領域の特定について例示する図である。例えば、
図6(a)に示すように、投射線308が通る撮影投影面303上の画素の深度情報が示す深度よりも深い位置で、投射線308と視線313とが交差することがある。この場合、視線313が通る画素に写るはずの被写体110の領域が、撮影画像においては死角となっており、その部分の画像情報が取得できていないことを表している。
【0034】
例えば、
図6(a)の例では、視線313aは被写体110の点603の位置を指しており、視点310から撮影を行った場合に得られる視点画像には、点603の位置の被写体110が写る。しかしながら、この点603の部分は光学中心301から撮影した撮影画像では被写体110の裏に隠れて死角となっている。そのため、撮影画像には点603の位置の画像情報が含まれていない。この場合、視点画像においては点603の位置などの死角領域の画像は生成されなくてよい。また、この場合に、制御部201は、視点画像において死角領域に所定の無効を表す色を設定するなど、死角領域が識別可能に表示されるようにしてよい。それにより、視点画像を見たユーザは、死角領域には撮影画像には写っていない何かが写っていることを知ることができる。
【0035】
なお、死角領域の識別では、制御部201は、まず、視線313と投射線308との交差位置の深度と、投射線308が通る撮影投影面303上の画素の深度情報が示す被写体110の深度との深度差が最小になる投射線308を特定する。
図6の例では、点601を指す投射線308が特定されたとする。この場合、制御部201は、視線313と投射線308との交差位置(例えば、点602)と、投射線308が撮影投影面303上で通る画素の深度情報が示す被写体110の位置(例えば、点601)とが所定の条件を満たして離れているか否かを判定する。そして、交差位置(例えば、点602)と、深度情報が示す被写体110の位置(例えば、点601)とが所定の条件を満たして離れている場合に、視線313が視点投影面311上で通る視点画像の画素を死角領域と判定してよい。
【0036】
所定の条件は、例えば、視線313と投射線308との交差位置(例えば、点602)と、投射線308が撮影投影面303上で通る画素の深度情報が示す被写体110の位置(例えば、点601)との距離が所定の距離以上であることである。別な例では、所定の条件は、視線313と投射線308との交差位置(例えば、点602)の深度と、投射線308が撮影投影面303上で通る画素の深度情報が示す深度(例えば、点601の深度)との差が所定の長さ以上であることであってよい。なお、
図6(b)は、
図6(a)の一部を拡大した図である。
図6(b)に示すように、深度差は、距離差の深度方向の成分を表している。投射線308が、撮影投影面303と平行な面となす角度θが鋭角に近づくと、深度差は小さくなってしまう。そのため、より高精度に死角領域を判定する場合、距離差を用いることが好ましい。
【0037】
続いて、実施形態に係る視点画像における遮蔽領域の識別について説明する。
【0038】
(遮蔽領域の識別)
例えば、撮影画像において見えている領域が、視点を動かした結果、手前に別の被写体110が被り見えなくなることがある。このように、撮影画像において見えているのに視点画像において見えなくなる視点画像の領域を、例えば、遮蔽領域と呼ぶ。
【0039】
図7は、実施形態に係る遮蔽領域について例示する図である。例えば、
図7に示すように、1つの視線313が、複数の投射線308と被写体110上で交差することがある。
図7では、視線313は、投射線308aと被写体110上の点701の位置で交差しており、投射線308bと被写体110上の点702の位置で交差している。
【0040】
しかしながら、点701の位置は、視点310からは被写体110の裏に隠れて見えない。そのため、視線313が通る視点投影面311上の視点画像の画素の値には、投射線308bが通る撮影投影面303上の撮影画像の画素の画素値を用いることが正しい。このように視線313が、複数の投射線308と被写体110上で交差することがある。この場合に、制御部201は、例えば、より視点310に近い側で交差する投射線308が選択されるように、視線313と対応する投射線308を特定してよい。それにより、視点310の位置から見た視点画像を正しく生成することができる。
【0041】
例えば、以上で述べたように、撮影画像から視点画像を生成することができる。以下、実施形態に係る視点画像の生成処理の動作フローを説明する。
【0042】
図8は、実施形態に係る視点画像の生成処理の動作フローを例示する図である。例えば、制御部201は、深度情報を有する撮影画像に対する視点変換の実行指示が入力されると、
図8の動作フローを開始してよい。深度情報を有する撮影画像は、例えば、RGB-Dカメラで撮影された一組の撮影画像と深度画像であってよい。別の例では、深度情報を有する撮影画像は、ステレオカメラで撮影された画像であってもよい。以下、深度情報を有する撮影画像が、一組の撮影画像と深度画像である場合を例に説明を行う。
【0043】
ステップ801(以降、ステップを“S”と記載し、例えば、S801と表記する)において制御部201は、仮想空間上に撮影装置102の透視投影モデルを配置する。例えば、制御部201は、
図3で述べたように、深度情報を有する撮影画像の撮影に用いられた撮影装置102のカメラパラメータを取得し、仮想空間上に光学中心301、光軸302、撮影投影面303などの透視投影モデルを配置してよい。カメラパラメータは、例えば、予め記憶部202に記憶されていてよい。
【0044】
S802において制御部201は、例えば、撮影投影面303上に撮影画像および深度画像を配置する。
【0045】
S803において制御部201は、例えば、仮想空間上に視点310と視点画像を投影する視点投影面311を配置し、また、撮影投影面303に平行に3次元平面305を配置する。3次元平面305は、一例では、撮影投影面303と重なるように配置されてよい。
【0046】
S804において制御部201は、視点投影面311上に生成する視点画像の画素のうちから1つの画素を処理対象画素として選択する。
【0047】
S805において制御部201は、視点310から視点画像の選択した処理対象画素を通る視線313と対応する投射線308を特定する。制御部201は、例えば、
図4および
図5を参照して述べたように、投射線308が通る画素の深度情報が示す被写体110の深度と、投射線308と視線313との交差位置の深度との深度差が最小となる投射線308を特定してよい。なお、例示的な投射線308の特定処理の動作フローを、
図9を参照して後述する。
【0048】
S806において制御部201は、
図6を参照して述べたように、視点画像の処理対象画素が死角領域であるか否かを判定する。例えば、制御部201は、深度差が最小となる投射線308と対応する撮影画像の画素の深度が示す位置と、深度差が最小となる投射線308と視線313との交差位置とが所定の条件を満たして離れている場合に、処理対象画素が死角領域であると判定してよい。
【0049】
S806において処理対象画素が死角領域である場合(S806がYES)、フローはS809に進む。S809において制御部201は、視点画像において処理対象画素を死角領域に設定し、フローはS810に進む。
【0050】
一方、S806において処理対象画素が死角領域でない場合(S806がNO)、フローはS807に進む。S807において制御部201は、特定した深度差が最小となる投射線308が通る撮影投影面303上の撮影画像の画素から画素値を取得する。
【0051】
S808において制御部201は、取得した画素値を、視点画像の処理対象画素に設定し、フローはS810に進む。
【0052】
S810において制御部201は、視点画像の全ての画素を処理したか否かを判定する。未処理の画素が視点画像にまだ含まれている場合、フローはS804に戻り、未処理の画素を処理対象画素として選択して処理を繰り返す。一方、S810において視点画像の全ての画素の処理が完了している場合、フローはS811に進む。
【0053】
S811において制御部201は、視点画像の画素に対して設定した画素値および死角領域の情報に基づいて、視点画像を生成する。
【0054】
S812において制御部201は、視点画像を出力し、本動作フローは終了する。制御部201は、例えば、視点画像の画像データを記憶部202に保存してもよいし、別な例では、ディスプレイなどの表示装置204に視点画像を表示させてもよい。
【0055】
また、例えば、表示装置204に視点画像を表示させる場合に、制御部201は、視点画像のうちの死角領域を所定の表示形式で表示させることで、識別可能に表示させてよい。それにより、視点画像を見たユーザは、死角領域には視点の位置から見た場合に見えるようになった、撮影画像には写っていない何かが写っていることを知ることができる。
【0056】
以上で述べたように、
図8の動作フローによれば、深度情報を有する撮影画像に写る被写体110を任意の視点から見た視点画像を生成することができる。
【0057】
また、
図8の動作フローで述べたように、実施形態では、撮影画像と視点画像の透視投影モデルを仮想空間上に配置し、光線追跡により視点画像の画素と対応する撮影画像の画素を特定している。そのため、例えば、被写体の3次元形状モデルを生成しなくても、視点画像を生成することができる。
【0058】
例えば、イメージベーストレンダリングの技術としてテクスチャマッピングおよび投影テクスチャマッピングなどの技術が知られている。これらのテクスチャマッピングおよび投影テクスチャマッピングでは、被写体の3次元形状モデルを生成するため、メモリの使用量が多く、また、計算量も多くなる。上述の実施形態では、3次元形状モデルを生成しなくても視点画像を生成できるため、視点画像の生成にかかるメモリ使用量を低減することができる。また、視点画像を高速に生成することが可能である。
【0059】
また、上述の実施形態では、仮想空間上で撮影時の実際の空間と同じスケールで演算を行っており、例えば、投影座標系での計算や正規化を行わなくてもよいため、実空間の長さの単位で厳密に視点を変換した視点画像を生成することができる。
【0060】
また、例えば、画像変換の技術としてホモグラフィ変換が知られている。ホモグラフィ変換では、変換後に別の被写体110で遮蔽されて見えなくなるはずの領域が、変換後の画像に表示されてしまうことがある。上述の実施形態によれば、例えば
図7を参照して例示したように、視点の変換後に別の被写体で遮蔽されて見えなくなる遮蔽領域を指す投射線308は選択されないため、遮蔽領域の遮蔽を視点画像で正しく表現することができる。
【0061】
なお、上述の実施形態では、光学中心301、光軸302、撮影投影面303、視点310、視点投影面311などの立体配置を規定し、これらが規定した立体配置に配置されているものとして演算を行っている。換言すると、これらの光学中心301、光軸302、撮影投影面303、視点310、視点投影面311は、実際にポリゴンなどとして仮想空間上に配置しなくても演算を行うことができる。また、上述の実施形態では、3次元平面305をポリゴンとして仮想空間上に配置している。3次元平面305をポリゴンとして仮想空間に配置することで、GPU(Graphics Processing Unit)のピクセルシェーダに透視投影結果のピクセルを渡して高速に処理することが可能になる。しかしながら、3次元平面305のポリゴンは、一例では、仮想空間上に配置されなくてもよい。
【0062】
従って、実施形態によれば被写体が写る撮影画像から、その被写体が別の向きで写る視点画像を生成する処理の負荷を低減することができる。
【0063】
続いて、実施形態に係る視線313と対応する投射線308の特定処理を例示する。
図9は、実施形態に係る視線313と対応する投射線308の特定処理の動作フローを例示する図である。また、
図10は、実施形態に係る視線313と対応する投射線308の特定処理の流れを例示する図である。例えば、制御部201は、
図8のS805に進むと、
図9の動作フローを開始してよい。
【0064】
S901において制御部201は、例えば、視点投影面311上に配置した視点画像から選択した処理対象画素312を通る視点310からの3次元平面305へのベクトル1001を求める(
図10(a)の(1))。なお、以下、このベクトルを視線ベクトル1001と呼ぶことがある。
【0065】
S902において制御部201は、例えば、視線ベクトル1001と3次元平面305との交点を求める。
【0066】
S903において制御部201は、例えば、3次元平面305と平行に所定の深度に層1002を配置する(
図10(a)の(2))。なお、所定の深度は、例えば、撮影画像に写る最前面の被写体110よりも浅い深度に層1002が配置されるように設定されてよい。
【0067】
S904において制御部201は、例えば、視線313と層1002との交点1003を求める(
図10(a)の(3))。
【0068】
S905において制御部201は、例えば、交点1003へと向かう光学中心301からの投射線ベクトル1004を求める(
図10(a)の(4))。
【0069】
S906において制御部201は、例えば、投射線ベクトル1004と撮影投影面303との交点を求め、交点の位置にある深度画像の画素307を特定する(
図10(a)の(5))。例えば、制御部201は、光学中心301、焦点距離、および投射線ベクトル1004に基づいて撮影投影面303との交点を求め、交点の位置にある深度画像の画素307を特定してよい。
【0070】
S907において制御部201は、例えば、深度画像から特定した画素307の深度情報から被写体110の深度を特定する(
図10(a)の(6))。なお、
図10(a)の(6)の例では、画素307の深度情報から特定した被写体110の深度として、3次元平面305からの被写体110の深度が示されている。3次元平面305からの被写体110の深度は、例えば、画素307の深度情報が示す深度から焦点距離を引くことで求めることができる。
【0071】
S908において制御部201は、例えば、画素307の深度情報から特定した被写体110の深度と、視線ベクトル1001と投射線ベクトル1004との交差位置となる層1002の深度との深度方向の配置が反転したか否かを判定する。
【0072】
例えば、
図10(a)では、層1002の初期の配置において、画素307の深度情報から特定した被写体110の深度よりも、視線ベクトル1001と投射線ベクトル1004との交差位置となる層1002の深度の方が浅くなっている。この場合、S908の処理では、画素307の深度情報から特定した被写体110の深度よりも、層1002の深度の方が深くなった場合に、被写体110の深度と、層1002の深度方向の配置が反転したと判定してよい。被写体110の深度と、層1002の深度方向の配置が反転していない場合、制御部201は、S908においてNOと判定し、フローはS909に進む。
【0073】
S909において制御部201は、画素307の深度情報が示す被写体110の深度のある方向に、層1002を所定の移動量で移動させてフローはS904に戻り、処理を繰り返す。例えば、制御部201は、
図10(b)の(7)に示すように、層1002の位置を移動させて、画素307が示す被写体110の深度の或る方向に層1002を近づけてよい。これにより、制御部201は、層1002の位置を徐々に変更して、画素307の深度情報が示す被写体110の深度と近い深度で、視線ベクトル1001と投射線ベクトル1004とが交差する層1002を探索することができる。
【0074】
また、S908において、例えば、被写体110の深度と、層1002の深度方向の配置が反転した場合、制御部201は、YESと判定し、フローはS910に進む。S910において制御部201は、層1002の移動量と移動方向を所定回数変更済みであるか否かを判定する。
【0075】
S910において層1002の移動量と移動方向を所定回数変更済みでない場合(S910がNO)、フローはS911に進む。S911において制御部201は、層1002の移動方向を逆方向に反転させて、かつ、移動量を1/2~1/10など所定の割合で小さく変更し、フローはS909に戻る。例えば、制御部201は、
図10(c)の(8)に示すように、層1002の移動方向を逆方向に反転させて、移動量を小さくし、探索を継続してよい。それにより、画素307の深度情報が示す被写体110の深度と近い深度で、視線ベクトル1001と投射線ベクトル1004とが交差する層1002を更に細かく探索することができる。
【0076】
また、S910において層1002の移動量と移動方向を所定回数変更済みである場合(S910がYES)、フローはS912に進む。S912において制御部201は、最終的な層1002と視線ベクトル1001との交点に向けて延ばした投射線ベクトル1004を視線313と対応する投射線308として特定し、本動作フローは終了し、フローはS806に進む。
【0077】
以上で述べたように、
図9の動作フローによれば、投射線308が通る深度画像の画素が示す被写体110の深度と、投射線308と視線313との交差位置の深度との深度差が最小となる投射線308を特定することができる。なお、深度差が最小となる投射線308とは、一例では、光学中心301から撮影画像の画素に下した投射線のうちで深度差が最小となる投射線308であってよい。別の例では、深度差が最小となる投射線308とは、探索された投射線308の中で深度差が最小となる投射線308であってもよい。
【0078】
なお、S910における所定回数は、回数が多ければ、画素307の深度情報が示す被写体110の深度と近い深度で、視線ベクトル1001と投射線ベクトル1004とが交差する層1002の探索精度が向上する。一方で、回数が多くなると、計算量が多くなり、処理速度の低下を招く。そのため、所定回数は、実施形態を適用する状況に応じて好ましい値に設定されてよい。例えば、所定回数は、2回~5回に設定されていてよく、一例では、3回に設定されていてよい。
【0079】
また、
図9の動作フローでは、3次元平面305との平行に配置される層1002の初期の深度は、被写体110よりも浅い深度となるように設定されていてよい。それにより、例えば、
図7を参照して述べたように、視線313と被写体110上で交差する複数の投射線308が存在する場合にも、より浅い深度で視線313と交差する投射線308を特定することができる。それにより、撮影画像において見えていた領域が視点を移動した視点画像において、手前に別の被写体110が被さり見えなくなる場合にも、その遮蔽を視点画像において正しく表現することができる。
【0080】
また、
図9の処理に示すように、視点310から光学中心301に向けて光輸送経路を逆追跡することで、最小限の光線のみを対象に計算を行うことができる。例えば、視点画像において用いられていない撮影画像上の画素については処理対象から省くことができる。また、視線313と交差する投射線308のみを対象として探索を行うことができる。そのため、計算量を削減することができる。
【0081】
図11は、実施形態に係る撮影画像と視点画像とを例示する図である。
図11では、中央に撮影画像1101が示されている。また、撮影画像1101の上下左右には、それぞれ光軸上に注視点を固定した上で光学中心を原点とするカメラ座標系のx軸またはy軸の方向に視点を移動させた場合の視点画像1102が示されている。視点画像1102には、死角領域1105が含まれており、撮影画像1101には写っていない被写体110の領域が死角領域1105として表示されている。
【0082】
また、実施形態によれば、
図11に示すように、様々な視点310から見た視点画像1102を生成することができる。そして、様々な視点310から見た視点画像1102を、被写体110として写る部品、製品、製造物、および成形物などの形状並びに色味の検査、判定、および識別に利用することができる。
【0083】
また、例えば、障害物などの存在により、撮影装置102の設置位置に制約があり、被写体110の位置認識および形状認識などの処理に入力するのに適した角度から被写体110を撮影できないことがある。実施形態によれば、撮影画像を様々な視点310から見た視点画像に変換できるため、撮影装置102の設置位置に制約がある場合にも、例えば、位置認識および形状認識などの処理に入力するのに適した視点画像を生成することができる。
【0084】
なお、
図11に示すように、1か所から撮影された深度情報を有する撮影画像1101を用いて視点の移動を行い視点画像1102の生成を行うと、被写体110の凹凸などに起因して視点画像1102に死角領域が含まれてしまうことがある。この様な死角領域は、別の方向から撮影された死角領域が写る撮影画像を用いて被写体110を写した画素に置き換えることができる。以下、複数の位置から撮影された撮影画像を用いた視点画像の生成について説明する。
【0085】
図12は、実施形態に係る複数の位置から撮影された撮影画像を用いた視点画像の生成について例示する図である。
図12において、第1の光学中心301aから撮影投影面303aの像を撮影した画像を第1の撮影画像とする。また、第2の光学中心301bから撮影投影面303b上の像を撮影した画像を第2の撮影画像とする。なお、第1の撮影画像および第2の撮影画像は、いずれも画素が深度情報と対応づけられている。そして、第1の撮影画像と第2の撮影画像とを用いて視点310から被写体110を見た場合の視点画像を生成する例を以下に述べる。
【0086】
図12において、例えば、点1211は、第1の光学中心301aからは手前にある被写体110で隠されて死角となっており、見ることができない。そのため、第1の光学中心301aから撮影した第1の撮影画像には、点1211における被写体110の画素値を表す情報は含まれていない。一方、第2の光学中心301bからは点1211は見えており、第2の光学中心301bから撮影した第2の撮影画像には、点1211における被写体110の画素値を表す情報が含まれている。そのため、視点310から見た視点画像を生成する際に、第1の撮影画像だけを用いた場合には死角領域となってしまう画素の画素値を、第2の撮影画像から補うことが可能である。
【0087】
例えば、制御部201は、異なる2つの位置から撮影された2つの撮影画像のそれぞれから視点画像を得る。そして、得られた2つの視点画像のうちの一方で死角領域となっている画素が、他方の視点画像で画素値を有するとする。この場合、制御部201は、その画素の画素値として他方の視点画像から得た画素値を用いるように2つの視点画像を合成して視点画像を生成してよい。それにより、死角領域を減らした視点画像を生成することができる。なお、このように複数の視点画像を合成して得られる視点画像を、以下では、合成視点画像と呼ぶことがある。
【0088】
また、例えば、異なる2つの位置から撮影された2つの撮影画像のそれぞれから得た視点画像の両方が、或る画素に対して画素値を有することもある。
図13は、この場合を例示しており、被写体110の点1311の位置は、第1の光学中心301aと第2の光学中心301bの双方から見えている。この場合、制御部201は、投射線308と、視線313との成す角がより小さい角度で撮影された撮影画像から画素値を取得してよい。例えば、
図13の例では、投射線308aと、視線313との成す角度θ1よりも、投射線308bと、視線313との成す角度θ2の方が小さい。そのため、制御部201は、投射線308bが通る第2の撮影画像上の画素1301から、視線が通る視点画像上の画素1303の画素値を取得して、合成視点画像において用いてよい。それにより、視線313と近しい方向から視点画像を撮影している撮影画像から画素値を取得することができる。そのため、生成される合成視点画像の色味などの精度の向上を図ることができる。
【0089】
また、制御部201は、例えば、異なる2つの位置から撮影された2つの撮影画像のそれぞれから得たいずれの視点画像においても死角領域に設定されている画素については、合成視点画像においてその画素を死角領域に設定してよい。
【0090】
以上で述べたように、異なる位置から撮影された複数の撮影画像を用いることで、死角領域の画素値を補って合成視点画像を生成することができる。なお、
図13の例では、2つの撮影位置から撮影した撮影画像を用いる例が示されているが、実施形態はこれに限定されるものではなく、3以上の撮影位置から撮影された撮影画像を用いて1つの視点画像が生成されてもよい。
【0091】
また、或る撮影位置から撮影した際に死角となってしまう領域が写るように別の撮影位置から撮影することで、死角領域の画素の画素値を効率的に補うことのできる撮影画像を得ることができる。
【0092】
図14は、実施形態に係る異なる2つの位置から撮影された撮影画像に基づく視点画像の生成処理の動作フローを例示する図である。例えば、制御部201は、視点画像の生成指示が入力されると、
図14の動作フローを開始してよい。
【0093】
S1401において制御部201は、例えば、複数の撮影位置から撮影された深度情報を有する撮影画像のそれぞれから視点画像を生成する。なお、制御部201は、例えば、
図8および
図9の動作フローで例示した処理により、深度情報を有する撮影画像から視点画像を生成してよい。
【0094】
S1402において制御部201は、撮影位置ごとに生成された複数の視点画像を重ね合わせる。
【0095】
S1403において制御部201は、重ね合わせた視点画像内の各画素について、画素値が1つの視点画像のみで得られている画素については、得られている画素値を設定してよい。例えば、2つの撮影位置で撮影した2つの撮影画像のそれぞれから生成された視点画像において、一方の視点画像においては死角領域と設定されている画素が、他方の視点画像において画素値を有するとする。この場合、制御部201は、その画素の画素値として、他方の視点画像における画素値を用いるように合成視点画像を生成してよい。
【0096】
S1404において制御部201は、重ね合わせた視点画像内の各画素について、画素値が複数の視点画像で得られている画素については、視線313との成す角が最小の投射線308と対応する画素から得られた画素値を、合成視点画像の画素に設定する。それにより、視線313と近しい方向から撮影された撮影画像から画素値を取得することができる。
【0097】
S1405において制御部201は、死角領域を設定する。例えば、制御部201は、重ね合わせた複数の視点画像の全てにおいて死角領域と設定されている画素については、合成視点画像においても死角領域に設定してよい。
【0098】
S1406において制御部201は、S1403からS1405の処理で設定した画素の値に基づいて、複数の視点画像を合成し、複数の撮影画像に基づく合成視点画像を生成する。
【0099】
S1407において制御部201は、複数の撮影画像に基づく視点画像を出力し、本動作フローは終了する。制御部201は、例えば、視点画像の画像データを記憶部202に保存してもよいし、別な例では、ディスプレイなどの表示装置204に視点画像を表示させてもよい。
【0100】
以上で述べたように、
図14の動作フローによれば、複数の撮影画像に基づいて視点画像を生成することで、死角領域を補って視点画像を生成することができる。
【0101】
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、または、一部の処理が省略されてもよい。
【0102】
また、上述の実施形態では、視線313と対応する投射線308を、深度画像の画素が示す被写体110の深度と、投射線308と視線313との交差位置の深度との深度差に基づいて特定する例を述べている。しかしながら、実施形態はこれに限定されるものではない。別の実施形態では、制御部201は、深度画像の画素が示す被写体110の深度に基づく位置と、投射線308と視線313との交差位置との距離が最小になるように投射線308を特定してもよい。
【0103】
また、上述の実施形態では、情報処理装置101が、視点画像の生成を行う例を述べているが実施形態はこれに限定されるものではない。例えば、別の実施形態では、クライアント‐サーバシステムなどを用いて、上述の処理を複数の装置で分担して実行してもよい。
【0104】
なお、上述の実施形態において制御部201は、例えば、S801~S803の処理では配置部211として動作する。また、制御部201は、例えば、S807の処理では取得部212として動作する。制御部201は、例えば、S811の処理では生成部213として動作する。
【0105】
図15は、実施形態に係る情報処理装置101を実現するためのコンピュータ1500のハードウェア構成を例示する図である。
図15の情報処理装置101を実現するためのハードウェア構成は、例えば、プロセッサ1501、メモリ1502、記憶装置1503、読取装置1504、通信インタフェース1506、および入出力インタフェース1507を備える。なお、プロセッサ1501、メモリ1502、記憶装置1503、読取装置1504、通信インタフェース1506、入出力インタフェース1507は、例えば、バス1508を介して互いに接続されている。
【0106】
プロセッサ1501は、例えば、シングルプロセッサであっても、マルチプロセッサやマルチコアであってもよい。プロセッサ1501は、メモリ1502を利用して例えば上述の動作フローの手順を記述したプログラムを実行することにより、上述した制御部201の一部または全部の機能を提供する。例えば、情報処理装置101のプロセッサ1501は、記憶装置1503に格納されているプログラムを読み出して実行することで、配置部211、取得部212、および生成部213として動作する。
【0107】
メモリ1502は、例えば半導体メモリであり、RAM領域およびROM領域を含んでいてよい。記憶装置1503は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、または外部記憶装置である。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。
【0108】
読取装置1504は、プロセッサ1501の指示に従って着脱可能記憶媒体1505にアクセスする。着脱可能記憶媒体1505は、例えば、半導体デバイス、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体などにより実現される。なお、半導体デバイスは、例えば、USB(Universal Serial Bus)メモリである。また、磁気的作用により情報が入出力される媒体は、例えば、磁気ディスクである。光学的作用により情報が入出力される媒体は、例えば、CD-ROM、DVD、Blu-ray Disc等(Blu-rayは登録商標)である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。
【0109】
記憶部202は、例えばメモリ1502、記憶装置1503、および着脱可能記憶媒体1505を含んでいる。例えば、情報処理装置101の記憶装置1503には、例えば、上述の動作フローの処理を記述したプログラムおよび処理の実行で参照する情報が格納されていてよい。
【0110】
通信インタフェース1506は、プロセッサ1501の指示に従って、他の装置と通信する。例えば、通信インタフェース1506は、有線または無線通信で撮影装置102から撮影画像および深度画像などの撮影データを受信してよい。通信インタフェース1506は、例えば、上述の通信部203の一例である。
【0111】
入出力インタフェース1507は、例えば、入力装置および出力装置との間のインタフェースであってよい。入力装置は、例えばユーザからの指示を受け付けるキーボード、マウス、タッチパネルなどのデバイスである。出力装置は、例えばスピーカなどの音声装置である。また、入出力インタフェース1507は、例えば、上述の表示装置204と接続されていてよい。
【0112】
実施形態に係る各プログラムは、例えば、下記の形態で情報処理装置101に提供される。
(1)記憶装置1503に予めインストールされている。
(2)着脱可能記憶媒体1505により提供される。
(3)プログラムサーバなどのサーバから提供される。
【0113】
なお、
図15を参照して述べた情報処理装置101を実現するためのコンピュータ1500のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の構成の一部が、削除されてもよく、また、新たな構成が追加されてもよい。また、別の実施形態では、例えば、上述の情報処理装置101の一部または全部の機能がFPGA、SoC、ASIC、およびPLDなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System-on-a-chipの略称である。ASICは、Application Specific Integrated Circuitの略称である。PLDは、Programmable Logic Deviceの略称である。例えば、上述の視点画像の生成処理が、ハードウェアとして実装されてもよい。また、この視点画像の生成処理を実行するハードウェアは、例えば、撮影装置102に搭載されるなど、撮影装置102と統合されていてもよい。
【0114】
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態および代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨および範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して、または実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
【符号の説明】
【0115】
100 撮影システム
101 情報処理装置
102 撮影装置
105 設置台
106 撮影対象物
110 被写体
201 制御部
202 記憶部
203 通信部
204 表示装置
211 配置部
212 取得部
213 生成部
301 光学中心
302 光軸
303 撮影投影面
305 3次元平面
308 投射線
310 視点
311 視点投影面
313 視線
1500 コンピュータ
1501 プロセッサ
1502 メモリ
1503 記憶装置
1504 読取装置
1505 着脱可能記憶媒体
1506 通信インタフェース
1507 入出力インタフェース
1508 バス