(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024114712
(43)【公開日】2024-08-23
(54)【発明の名称】撮像装置、撮像方法、及び、プログラム
(51)【国際特許分類】
H04N 23/60 20230101AFI20240816BHJP
G06T 3/04 20240101ALI20240816BHJP
G06F 3/04845 20220101ALI20240816BHJP
G03B 15/00 20210101ALI20240816BHJP
【FI】
H04N23/60 500
G06T3/04
G06F3/04845
G03B15/00 U
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2024092068
(22)【出願日】2024-06-06
(62)【分割の表示】P 2021573062の分割
【原出願日】2021-01-08
(31)【優先権主張番号】P 2020008936
(32)【優先日】2020-01-23
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100168686
【弁理士】
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】田中 寿郎
(72)【発明者】
【氏名】板倉 英三郎
(72)【発明者】
【氏名】岡 伸一
(72)【発明者】
【氏名】清宮 広之
(57)【要約】
【課題】所望の位置から撮像された画像を、容易に得ることができるようにする。
【解決手段】撮像位置から被写体までの距離情報とモデル情報とを用いて、撮像位置から被写体を撮像した撮像画像から、撮像位置と異なる仮想撮像位置から被写体を撮像した仮想画像が生成される。本技術は、例えば、被写体を撮像する撮像装置に適用することができる。
【選択図】
図25
【特許請求の範囲】
【請求項1】
撮像位置から被写体までの距離情報とモデル情報とを用いて、前記撮像位置から前記被写体を撮像した撮像画像から、前記撮像位置と異なる仮想撮像位置から前記被写体を撮像した仮想画像を生成する生成部と、
前記仮想撮像位置を指定するUI(User Interface)と
を備え、
前記UIは、
前記仮想撮像位置を表現する球面座標系の中心を決定するときに操作される第1の操作部と、
前記球面座標系における前記仮想撮像位置の方位角を変化させるときに操作される第2の操作部と、
前記球面座標系における前記仮想撮像位置の仰角を変化させるときに操作される第3の操作部と、
前記球面座標系の中心と前記仮想撮像位置との間の距離を変化させるときに操作される第4の操作部と
を有する
撮像装置。
【請求項2】
前記UIは、前記仮想撮像位置からの仮想的な撮像を行うときの仮想的な撮像装置の焦点距離を変化させるときに操作される第5の操作部をさらに有する
請求項1に記載の撮像装置。
【請求項3】
前記UIは、前記第1ないし第5の操作部のいずれかの操作が継続されている間、前記仮想撮像位置又は前記焦点距離を連続的に変化させる
請求項2に記載の撮像装置。
【請求項4】
前記UIは、前記第1ないし第5の操作部のいずれかの操作が継続されている時間に応じて、前記仮想撮像位置又は前記焦点距離の変化量を変化させる
請求項2に記載の撮像装置。
【請求項5】
撮像位置から被写体までの距離情報とモデル情報とを用いて、前記撮像位置から前記被写体を撮像した撮像画像から、前記撮像位置と異なる仮想撮像位置から前記被写体を撮像した仮想画像を生成し、
前記仮想撮像位置を指定するUI(User Interface)の表示を制御し、
前記UIは、
前記仮想撮像位置を表現する球面座標系の中心を決定するときに操作される第1の操作部と、
前記球面座標系における前記仮想撮像位置の方位角を変化させるときに操作される第2の操作部と、
前記球面座標系における前記仮想撮像位置の仰角を変化させるときに操作される第3の操作部と、
前記球面座標系の中心と前記仮想撮像位置との間の距離を変化させるときに操作される第4の操作部と
を有するように表示を制御する
ことを含む撮像方法。
【請求項6】
撮像位置から被写体までの距離情報とモデル情報とを用いて、前記撮像位置から前記被写体を撮像した撮像画像から、前記撮像位置と異なる仮想撮像位置から前記被写体を撮像した仮想画像を生成する生成部と、
前記仮想撮像位置を指定するUI(User Interface)の表示を制御する制御部としてコンピュータを機能させ、
前記制御部が、
前記UIが、
前記仮想撮像位置を表現する球面座標系の中心を決定するときに操作される第1の操作部と、
前記球面座標系における前記仮想撮像位置の方位角を変化させるときに操作される第2の操作部と、
前記球面座標系における前記仮想撮像位置の仰角を変化させるときに操作される第3の操作部と、
前記球面座標系の中心と前記仮想撮像位置との間の距離を変化させるときに操作される第4の操作部と
を有するように表示を制御させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、撮像装置、撮像方法、及び、プログラムに関し、特に、例えば、所望の位置から撮像された画像を、容易に得ることができるようにする撮像装置、撮像方法、及び、プログラムに関する。
【背景技術】
【0002】
例えば、特許文献1には、実際の撮像位置とは異なる仮想的な仮想撮像位置から撮像された仮想画像を得る技術として、多数の撮像装置を用いて被写体を様々な撮像位置から撮像し、その撮像により得られる撮像画像から、高精度な3次元データを生成する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の記載の技術では、多数の撮像装置を様々な位置に配置する必要がある。したがって、撮像装置の費用や設置に要する手間等から、容易に実現できない場合も多い。
【0005】
また、多数の撮像装置を配置する場合には、ある撮像装置が他の撮像装置に写り込むことや、被写体が動体であるときに、被写体が撮像装置にぶつからないように配慮する必要があり、必ずしも任意の位置に撮像装置を設置できるわけではない。
【0006】
本技術は、このような状況に鑑みてなされたものであり、所望の位置から撮像された画像を、容易に得ることができるようにするものである。
【課題を解決するための手段】
【0007】
本技術の撮像装置、又は、プログラムは、撮像位置から被写体までの距離情報とモデル情報とを用いて、前記撮像位置から前記被写体を撮像した撮像画像から、前記撮像位置と異なる仮想撮像位置から前記被写体を撮像した仮想画像を生成する生成部と、前記仮想撮像位置を指定するUI(User Interface)とを備え、前記UIは、前記仮想撮像位置を表現する球面座標系の中心を決定するときに操作される第1の操作部と、前記球面座標系における前記仮想撮像位置の方位角を変化させるときに操作される第2の操作部と、前記球面座標系における前記仮想撮像位置の仰角を変化させるときに操作される第3の操作部と、前記球面座標系の中心と前記仮想撮像位置との間の距離を変化させるときに操作される第4の操作部とを有する撮像装置、又は、そのような撮像装置としてコンピュータを機能させるためのプログラムである。
【0008】
本技術の撮像方法は、撮像位置から被写体までの距離情報とモデル情報とを用いて、前記撮像位置から前記被写体を撮像した撮像画像から、前記撮像位置と異なる仮想撮像位置から前記被写体を撮像した仮想画像を生成し、前記仮想撮像位置を指定するUI(User Interface)の表示を制御し、前記UIは、前記仮想撮像位置を表現する球面座標系の中心を決定するときに操作される第1の操作部と、前記球面座標系における前記仮想撮像位置の方位角を変化させるときに操作される第2の操作部と、前記球面座標系における前記仮想撮像位置の仰角を変化させるときに操作される第3の操作部と、前記球面座標系の中心と前記仮想撮像位置との間の距離を変化させるときに操作される第4の操作部とを有するように表示を制御することを含む撮像方法ことを含む撮像方法である。
【0009】
本技術の撮像装置、撮像方法、及び、プログラムにおいては、撮像位置から被写体までの距離情報とモデル情報とが用いられて、前記撮像位置から前記被写体を撮像した撮像画像から、前記撮像位置と異なる仮想撮像位置から前記被写体を撮像した仮想画像が生成され、前記仮想撮像位置を指定するUI(User Interface)の表示が制御され、前記UIは、前記仮想撮像位置を表現する球面座標系の中心を決定するときに操作される第1の操作部と、前記球面座標系における前記仮想撮像位置の方位角を変化させるときに操作される第2の操作部と、前記球面座標系における前記仮想撮像位置の仰角を変化させるときに操作される第3の操作部と、前記球面座標系の中心と前記仮想撮像位置との間の距離を変化させるときに操作される第4の操作部とを有する。
【0010】
なお、撮像装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
【0011】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【図面の簡単な説明】
【0012】
【
図2】撮像状況と、その撮像状況で撮像される撮像画像との例を示す図である。
【
図3】撮像状況と、その撮像状況で撮像される撮像画像との他の例を示す図である。
【
図5】人物の手前の上方から、人物及び建物を撮像することにより得られる撮像画像を示す図である。
【
図6】人物から遠距離の位置からの撮像を行うことができない撮像状況の例を示す上面図である。
【
図7】撮像装置で撮像が行われるときの透視投影変換を説明する図である。
【
図8】単一の物体面上に存在する被写体を撮像する撮像状況の例を示す図である。
【
図9】広角レンズを用いて、被写体に近い撮像位置から被写体を撮像する広角撮像の様子を示す上面図である。
【
図10】望遠レンズを用いて、被写体から遠い撮像位置から被写体を撮像する望遠撮像の様子を示す上面図である。
【
図11】仮想画像を得る過程の例を説明する図である。
【
図12】被写体が複数の物体面に存在する場合の撮像状況の例を示す図である。
【
図13】広角レンズを用いて、被写体に近い撮像位置から被写体を撮像する広角撮像の様子を示す上面図である。
【
図14】望遠レンズを用いて、被写体から遠い撮像位置から被写体を撮像する望遠撮像の様子を示す上面図である。
【
図15】近距離撮像の様子と、その近距離撮像により得られる撮像画像とを示す図である。
【
図16】遠距離撮像の様子と、その遠距離撮像により得られる撮像画像とを示す図である。
【
図18】実際の撮像としての近距離撮像により得られる撮像画像を元に、仮想的な撮像としての遠距離撮像により得られる仮想画像を生成する場合の画素値のマッピングを説明する図である。
【
図19】実際の撮像としての近距離撮像により得られる撮像画像を元に、仮想的な撮像としての遠距離撮像により得られる仮想画像を生成する場合の画素値のマッピングを説明する他の図である。
【
図20】オクルージョン部分の画素を補うオクルージョン部分の補完方法の例を説明する図である。
【
図21】実際の撮像により得られる情報を元に、仮想的な撮像により得られる仮想画像を得る過程の他の例を説明する図である。
【
図22】撮像画像及び仮想画像の例を示す平面図である。
【
図23】仮想的な撮像を行う場合の仮想撮像位置の表現方法を説明する図である。
【
図24】ユーザが仮想撮像位置を指定する場合に操作されるUIの例を示す平面図である。
【
図25】本技術を適用した撮像装置の一実施の形態の構成例を示すブロック図である。
【
図26】生成部の処理の例を説明するフローチャートである。
【
図27】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0013】
<撮像距離と撮像画像との関係>
【0014】
図1は、撮像装置による撮像状況の例を示す図である。
【0015】
【0016】
図1では、撮像装置側から見て、建物の手前に人物が立っており、人物の手前側から、撮像装置で、人物と建物とが撮像されている。
【0017】
以下、
図1の撮像状況において、撮像装置で実際に撮像される画像(撮像画像)を説明する。
【0018】
図2は、撮像装置による撮像状況と、その撮像状況で撮像される撮像画像との例を示す図である。
【0019】
図2のAは、撮像状況を示す上面図であり、
図2のBは、
図2のAの撮像状況で撮像される撮像画像を示している。
【0020】
図2のAにおいて、二点鎖線は、撮像装置の画角を表し、画角内の空間が撮像装置で撮像される。
図2のAにおいて、破線は、主要な被写体(主要被写体)である人物が占める画角を表す。
【0021】
図2のAの撮像状況では、撮像装置で撮像が行われるときの撮像装置と人物との間の距離(撮像距離)に対して、人物と建物との間の距離が比較的遠距離になっている。このため、実際には、人物の背後に存在する建物の幅は、人物の幅よりも広いが、撮像画像では、建物の幅は、人物の幅よりも狭く写る。いわゆる遠近法によって、遠くのものが小さく見えるからである。
【0022】
図3は、撮像装置による撮像状況と、その撮像状況で撮像される撮像画像との他の例を示す図である。
【0023】
図3のAは、撮像状況を示す上面図であり、
図3のBは、
図3のAの撮像状況で撮像される撮像画像を示している。
【0024】
図3のAでは、
図2のAと同様に、二点鎖線は、撮像装置の画角を表し、破線は、人物が占める画角を表す。
【0025】
図3のAでは、
図2のAの場合よりも、被写体から遠い撮像位置から、画角の狭い望遠レンズ(又は焦点距離を長くした状態のズームレンズ)を用いて、
図2のAの場合と同一の被写体としての人物及び建物の撮像が行われている。
【0026】
図3のAの撮像状況では、
図3のBに示すように、実際と同様に、建物の幅が人物の幅よりも広く写る撮像画像が撮像される。
図3のAの撮像状況では、撮像装置と人物との間の撮像距離が、
図2のAの場合よりも大きく、人物と建物との間の距離が相対的に小さくなって、遠近感が軽減されるからである。
【0027】
以上のように、同一の被写体(人物及び建物)の撮像であっても、被写体と撮像装置との間の撮像距離によって、得られる撮像画像の内容(構図)は異なる。
【0028】
撮像距離によって撮像画像(の内容)が異なることは、映像表現において重要な意味を持つ。端的な例で言えば、広大な山々といった風景を背景にした画像を得たい場合、より広角のレンズを用いて被写体に近づいて撮像する必要がある。逆に雑多な背景がなるべく写らない画像を得たい場合、より望遠のレンズを用いて被写体から遠ざかって撮像する必要がある。
【0029】
なお、原理的には、無限遠から撮像を行えば、撮像画像に写る人物と建物との大きさの比率は、実際の比率に等しくなる。したがって、建築用の用途や学術的用途等において、実際の大きさの比率を正しく反映させた撮像画像を得るには、より遠くから撮像を行う必要がある。
【0030】
図4は、撮像装置による撮像状況の他の例を示す図である。
【0031】
図4では、
図1と同様に、撮像状況が、第三角法で示されている。
【0032】
図1の撮像状況では、撮像装置の光軸方向が、人物から建物への方向と略一致している。この場合、撮像装置で撮像される撮像画像は、
図2のBや
図3のBに示したように、人物と建物との間の距離感が表現されづらい画像となる。
【0033】
図4では、人物の手前の上方から、撮像装置の光軸を人物に向けて、人物及び建物が撮像されている。この場合、撮像装置の光軸方向が、人物から建物への方向と異なる方向となり、人物と建物との間の距離感が表現された撮像画像を得ることができる。
【0034】
図5は、人物の手前の上方から、人物及び建物を撮像することにより得られる撮像画像を示す図である。
【0035】
人物の手前の上方から、撮像装置の光軸を人物に向けて、人物及び建物を撮像することにより、上方から、人物及び建物を俯瞰したような、人物と建物との間の距離感が表現された俯瞰画像を、撮像画像として得ることができる。
【0036】
目的に沿った映像表現を行うためには、被写体に対して様々な位置から撮像を行うことが要求される。
【0037】
しかしながら、現実には、必ずしも自由な位置から撮像ができるわけではない。例えば、
図3のAのように、人物から遠距離の位置から撮像を行いたい場合であっても、現実には、人物から遠距離の位置からの撮像を行うことができないことがある。
【0038】
図6は、人物から遠距離の位置からの撮像を行うことができない撮像状況の例を示す上面図である。
【0039】
図6では、人物の正面側に壁が存在している。したがって、人物を正面から撮像する場合に、撮像装置を、人物の正面側の壁面よりも後ろ側に移動することは物理的にできないため、人物を遠距離の位置から撮像することはできない。
【0040】
また、
図4に示したように、人物の手前の上方から、人物及び建物を撮像する場合、三脚や脚立を用いれば、ある程度上方から撮像を行うことができる。しかしながら、三脚や脚立を用いる場合、たかだか数メートル程度上方からの撮像が限界である。さらに、三脚や脚立を用いることで、撮像現場における機動性が低下する。
【0041】
近年では、ドローンを用いて、被写体のほぼ真上から撮像を行うことができるが、ドローンに搭載されるバッテリの容量に応じて、ドローンの飛行時間、ひいては、撮像時間が制限される。
【0042】
また、ドローンの操作は必ずしも容易ではなく、屋外では、雨や風等の天候の影響を受ける。さらに、ドローンの飛行が制限された場所や、人が密集するためにドローンの飛行が禁止された場所では、ドローンを用いることができない。
【0043】
本技術では、自由な撮像位置をとることができない場合においても、所望の位置から被写体を撮像した画像を、容易に得ることができるようにする。本技術では、例えば、
図2のAの撮像状況で撮像された
図2のBの撮像画像から、例えば、
図3のAや
図5のような撮像状況の撮像位置から被写体を撮像した画像を生成することができる。
【0044】
なお、特許文献1には、多数の撮像装置を用いて被写体を様々な撮像位置から撮像し、その撮像により得られる撮像画像を用いて生成される3次元データから、任意の仮想的な仮想撮像位置から被写体を撮像した(かのような)仮想画像を生成する技術が記載されている。
【0045】
しかしながら、特許文献1の記載の技術では、多数の撮像装置を様々な位置に配置する必要があり、撮像装置の費用や設置に要する手間等から、特許文献1に記載のような撮像状況を容易に実現できないことが多い。
【0046】
さらに、多数の撮像装置を配置する場合には、ある撮像装置が他の撮像装置に写り込むことを防止する必要や、被写体が動体であるときに、被写体が撮像装置にぶつからないように配慮する必要が生じる。したがって、撮像装置を任意の位置に設置することが必ずしもできるわけではない。
【0047】
本技術では、撮像位置から被写体までの距離情報と対処モデル情報とを用いて、撮像位置から被写体を撮像した撮像画像から、撮像位置と異なる仮想撮像位置から被写体を撮像した仮想画像を生成する。これにより、本技術では、多数の撮像装置を設置しなくても、所望の仮想撮像位置から被写体を撮像した仮想画像を、容易に得ることができるようにする。
【0048】
以下、ある撮像位置から被写体を撮像した撮像画像から、所望の仮想撮像位置から被写体を撮像した仮想画像を生成する方法について説明する。ある撮像位置から被写体を撮像した撮像画像から、所望の仮想撮像位置から被写体を撮像した仮想画像を生成する方法とは、例えば、
図2のAの撮像状況のように、広角レンズ(又は焦点距離を短くした状態のズームレンズ)を用いて被写体から近距離の撮像位置から撮像された撮像画像から、
図3のAの撮像状況のように、望遠レンズを用いて被写体から遠距離の撮像位置から撮像された撮像画像を、仮想画像として生成する方法である。
【0049】
<透視投影変換>
【0050】
図7は、撮像装置で撮像が行われるときの透視投影変換を説明する図である。
【0051】
図7は、被写体が存在する物体面における実際の被写体と、撮像装置の光電変換を行う撮像素子の撮像面における像との関係を示している。
【0052】
なお、
図7は、地表に垂直に起立する被写体を上面から見た上面図であり、横方向は、地表に水平な水平方向(横方向)の位置を表す。以下の説明は、地表に垂直に起立する被写体を側面から見た側面図で表される、地表に垂直な垂直方向(縦方向)についても、同様である。
【0053】
物体面から撮像装置のレンズまでの距離(物体面上の被写体と撮像装置との間の撮像距離)を物体距離といい、Lobjで表す。レンズから撮像面までの距離を像距離といい、Limgで表す。物体面上の位置、すなわち、物体面上の、撮像装置の光軸からの距離を、Xobjで表す。撮像面上の位置、すなわち、撮像面上の、撮像装置の光軸からの距離を、Ximgで表す。
【0054】
物体距離Lobj、像距離Limg、距離(位置)Xobj、及び、距離(位置)Ximgについては、式(1)が成り立つ。
【0055】
Ximg/Xobj=Limg/Lobj
・・・(1)
【0056】
式(1)から、物体面上の被写体の位置Xobjに対応する撮像面上での位置Ximgは、式(2)で表すことができる。
【0057】
Ximg=Limg/Lobj×Xobj
・・・(2)
【0058】
式(2)は、いわゆる透視投影(perspective projection)変換とよばれる変換を表す。
【0059】
式(2)の透視投影変換は、撮像装置での被写体の実際の撮像時に、いわば物理的(光学的)に行われる。
【0060】
また、式(1)から、撮像面上の位置Ximgに対応する物体面上の被写体の位置Xobjは、式(3)で表すことができる。
【0061】
Xobj=Lobj/Limg×Ximg
・・・(3)
【0062】
式(3)は、透視投影変換の逆変換(透視投影逆変換)を表す。
【0063】
式(3)の透視投影逆変換を行うには、物体距離Lobj、像距離Limg、及び、撮像面上の被写体の位置Ximgが必要となる。
【0064】
被写体を撮像する撮像装置では、像距離Limg及び撮像面上の被写体の位置Ximgを認識(取得)することができる。
【0065】
したがって、式(3)の透視投影逆変換を行うには、物体距離Lobj(距離情報)を何らかの方法で認識する必要がある。
【0066】
撮像面の各画素に対する物体面上の被写体の位置Xobjを得るためには、画素単位、又は、それに近い分解能の物体距離Lobjが必要になる。
【0067】
物体距離Lobjを得る方法としては、任意の方法を採用することができる。例えば、光電変換を行う複数の撮像素子を用いて得られる視差から被写体までの距離を算出する、いわゆるステレオ法を採用することができる。また、例えば、決められた光学パターンを被写体に照射して、被写体に投影された光学パターンの形状から被写体までの距離を算出する方法を採用することができる。また、レーザ光を照射してから被写体からの反射光が戻る時間から被写体までの距離を算出するToF(Time of Flight)と呼ばれる方法を採用することができる。さらに、いわゆるオートフォーカスの方式の1つである像面位相差方式を利用して、被写体までの距離を算出する方法を採用することができる。その他、以上の方法の複数を組み合わせて、被写体までの距離を算出することができる。
【0068】
以下、物体距離Lobjが何らかの方法で認識することができることを前提として、透視投影変換及び透視投影逆変換により、被写体から実際の物体距離Lobjとは異なる距離だけ離れた仮想撮像位置から被写体を撮像した(としたならば撮像されるであろう)仮想画像を生成する方法について説明する。
【0069】
<仮想画像の生成方法>
【0070】
図8は、単一の物体面上に存在する被写体を撮像する撮像状況の例を示す図である。
【0071】
図8では、
図1と同様に、撮像状況が、第三角法で示されている。
【0072】
図8の撮像状況では、被写体が単一の物体面上に存在し、その物体面は、撮像装置の撮像面と平行になっている。したがって、物体面は、撮像装置の光軸と直交している。
【0073】
図9は、
図8の撮像状況において、広角レンズを用いて、被写体に近い撮像位置から被写体を撮像する広角撮像の様子を示す上面図である。
【0074】
図9の広角撮像では、物体面上の位置がX
objの被写体が、物体距離L
obj_Wだけ離れた撮像位置から撮像されている。広角撮像時の像距離は、L
img_Wになっており、撮像面上の被写体の位置は、X
img_Wになっている。
【0075】
図10は、
図8の撮像状況において、望遠レンズを用いて、被写体から遠い撮像位置から被写体を撮像する望遠撮像の様子を示す上面図である。
【0076】
図10の望遠撮像では、物体面上の位置がX
objで、
図9の広角撮像の場合と同一の被写体が、物体距離L
obj_Tだけ離れた撮像位置から撮像されている。望遠撮像時の像距離は、L
img_Tになっており、撮像面上の被写体の位置は、X
img_Tになっている。
【0077】
図9の広角撮像に、透視投影逆変換の式(3)を適用すると、透視投影逆変換の式(4)を得ることができる。
【0078】
Xobj=Lobj_W/Limg_W×Ximg_W
・・・(4)
【0079】
図10の望遠撮像に、透視投影変換の式(2)を適用すると、透視投影変換の式(5)を得ることができる。
【0080】
Ximg_T=Limg_T/Lobj_T×Xobj
・・・(5)
【0081】
式(4)左辺のXobjを、式(5)右辺のXobjに代入することにより、式(6)を得ることができる。
【0082】
Ximg_T=(Limg_T/Lobj_T)×(Lobj_W/Limg_W)×Ximg_W
・・・(6)
【0083】
ここで、係数kを、式(7)で定義する。
【0084】
k=(Limg_T/Lobj_T)×(Lobj_W/Limg_W)
・・・(7)
【0085】
式(7)を用いて、式(6)は、式(8)の単純な比例式にすることができる。
【0086】
Ximg_T=k×Ximg_W
・・・(8)
【0087】
式(8)(式(6))を用いることで、広角レンズを用いた広角撮像、ここでは、近距離からの近距離撮像における撮像面上での位置Ximg_Wから、望遠レンズを用いた望遠撮像、ここでは、遠距離からの遠距離撮像における撮像面上での位置Ximg_Tを得ることができる。言い換えると、近距離撮像での実際の撮像により得られる撮像画像等の情報を元に、遠距離撮像で撮像したと仮定した場合に、その遠距離撮像での撮像により得られるであろう仮想画像の情報を得ることができる。
【0088】
以上、被写体からの距離が異なる撮像位置からの撮像について、広角レンズを用いる近距離撮像と、望遠レンズを用いる遠距離撮像とを例に説明したが、上記の説明は、任意の焦点距離のレンズを用いて、被写体から任意の距離の撮像を行う場合に適用することができる。
【0089】
すなわち、式(8)(式(6))によれば、ある焦点距離のレンズを用いた、ある撮像位置からの撮像により得られる撮像画像等の情報を元に、他の焦点距離のレンズを用いた、他の撮像位置(仮想撮像位置)からの撮像を行った場合に得られる撮像画像(仮想画像)の情報を得ることができる。
【0090】
ここで、ある焦点距離のレンズを用いた、ある撮像位置からの撮像は、実際に行われる撮像であるので、実際の撮像ともいう。一方、他の焦点距離のレンズを用いた、他の撮像位置(仮想撮像位置)からの撮像は、実際に行われる撮像ではないので、仮想的な撮像ともいう。
【0091】
図11は、式(8)を用いて、実際の撮像により得られる情報を元に、仮想的な撮像により得られる仮想画像を得る過程の例を説明する図である。
【0092】
ここで、式(4)及び式(5)から式(6)を得る概念的な意味は、以下の通りである。
【0093】
被写体の撮像面上での位置Ximg_Wは、3次元空間の被写体上の点を2次元平面である撮像素子の撮像面上に透視投影した点の位置である。被写体の撮像面上での位置Ximg_Wに対して、式(4)の透視投影逆変換を行うことで、3次元空間(物体面)の被写体上の点の位置Xobjを得ることができる。
【0094】
このようして得られた3次元空間の被写体上の位置Xobjに対して、式(5)の透視投影変換を行うことで、被写体から物体距離Lobj_Wだけ離れた撮像位置とは異なる仮想撮像位置、すなわち、被写体から物体距離Lobj_Tだけ離れた仮想撮像位置から撮像を行った場合に得られる仮想画像の情報を得ることができる。
【0095】
式(6)は、見かけ上、3次元空間の被写体上の点の位置(を示す変数)Xobjが消去され、ある2次元平面としての広角撮像時の被写体の撮像面上での位置Ximg_Wから、別の2次元平面としての望遠撮像時の被写体の撮像面上での位置Ximg_Tへの変換となっている。但し、式(4)及び式(5)から、式(6)を導出する過程において、3次元空間の被写体上の位置Xobjが、一度決定されている。
【0096】
実際の撮像により得られる情報を元に、仮想的な撮像により得られる仮想画像を得る過程は、
図11に示すように、実際の撮像、仮想被写体(モデル)の生成、及び、仮想的な撮像からなる。
【0097】
実際の撮像では、物理空間(3次元空間)にある被写体が、撮像装置において、物理的なレンズ等の光学系(物理レンズ光学系)によって撮像素子上に透視投影変換され、2次元画像である撮像画像(実撮像画像)が生成される。実際の撮像での透視投影変換は、撮像装置の物理的な撮像位置(物理撮像位置)をパラメータとして、光学的に行われる。
【0098】
仮想被写体の生成では、実際の撮像で得られた撮像画像に対して、別途、計測等によって得られた、撮像位置から被写体までの距離情報を用いて、計算によって式(4)の透視投影逆変換が行われ、3次元空間の被写体(の被写体モデル)が仮想的に再現(生成)される。この仮想的に再現される被写体を、仮想被写体(モデル)ともいう。
【0099】
仮想的な撮像では、仮想被写体に対して、計算によって式(5)の透視投影変換を行うことで、仮想被写体が(仮想的に)撮像され、仮想画像(仮想撮像画像)が生成される。仮想的な撮像では、仮想被写体を撮像するときの仮想撮像位置がパラメータとして指定され、その仮想撮像位置から仮想被写体が撮像される。
【0100】
<被写体が複数の物体面に存在する場合の撮像面上の被写体の位置>
【0101】
図12は、被写体が複数の物体面に存在する場合の撮像状況の例を示す図である。
【0102】
図12では、
図1と同様に、撮像状況が、第三角法で示されている。
【0103】
図8の撮像状況では、被写体の物体面が単一であることを前提としたが、実際の撮像では、被写体が複数の物体面に存在することが多い。
図12は、そのように、被写体が複数の物体面に存在する場合の撮像状況を示している。
【0104】
図12の撮像状況では、撮像装置側から見て、
図8の被写体に相当する第1被写体の背後にもう一つの被写体としての第2被写体が存在する。
【0105】
第1被写体については、式(6)(式(8))を用いて、実際の撮像としての、例えば、近距離撮像での撮像面上の被写体の位置Ximg_Wを、仮想的な撮像としての、例えば、遠距離撮像での撮像面上の被写体の位置Ximg_Tに変換することができる。
【0106】
第2被写体についても、同様の変換を行うことができる。
【0107】
図13は、
図12の撮像状況において、広角レンズを用いて、被写体に近い撮像位置から被写体を撮像する広角撮像の様子を示す上面図である。
【0108】
図14は、
図12の撮像状況において、望遠レンズを用いて、被写体から遠い撮像位置から被写体を撮像する望遠撮像の様子を示す上面図である。
【0109】
【0110】
図13及び
図14において、第1物体面は、第1被写体の物体面であり、第2物体面は、第2被写体の物体面である。第2被写体は、第1被写体の背景として、第1被写体と同時に撮像されるので、
図13及び
図14のそれぞれにおいて、第1被写体及び第2被写体について、撮像面は、同一である。
【0111】
図13の広角撮像では、第2物体面上の位置がX
obj2の第2被写体が、物体距離L
obj_W2だけ離れた撮像位置から撮像されている。広角撮像時の像距離は、L
img_Wになっており、撮像面上の第2被写体の位置は、X
img_W2になっている。第1被写体及び第2被写体は同時に撮像されるので、広角撮像時の像距離は、
図9の場合と同一のL
img_Wになる。なお、第1物体面と第2物体面との間の距離をdとすると、dは、式d=L
obj_W2-L
obj_Wで表される。
【0112】
図14の望遠撮像では、第2物体面上の位置がX
obj2の第2被写体が、物体距離L
obj_T2だけ離れた撮像位置から撮像されている。望遠撮像時の像距離は、L
img_Tになっており、撮像面上の第2被写体の位置は、X
img_T2になっている。第1被写体及び第2被写体は同時に撮像されるので、望遠撮像時の像距離は、
図10の場合と同一のL
img_Tになる。なお、第1物体面と第2物体面との間の距離をdとすると、dは、式d=L
obj_T2-L
obj_Tで表される。
【0113】
図13の広角撮像に、透視投影逆変換の式(3)を適用すると、透視投影逆変換の式(9)を得ることができる。
【0114】
Xobj2=Lobj_W2/Limg_W×Ximg_W2
・・・(9)
【0115】
図14の望遠撮像に、透視投影変換の式(2)を適用すると、透視投影変換の式(10)を得ることができる。
【0116】
Ximg_T2=Limg_T/Lobj_T2×Xobj2
・・・(10)
【0117】
式(9)左辺のXobj2を、式(10)右辺のXobj2に代入することにより、式(11)を得ることができる。
【0118】
Ximg_T2=(Limg_T/Lobj_T2)×(Lobj_W2/Limg_W)×Ximg_W2
・・・(11)
【0119】
ここで、係数k2を、式(12)で定義する。
【0120】
k2=(Limg_T/Lobj_T2)×(Lobj_W2/Limg_W)
・・・(12)
【0121】
式(12)を用いて、式(11)は、式(13)の単純な比例式にすることができる。
【0122】
Ximg_T2=k2×Ximg_W2
・・・(13)
【0123】
式(13)(式(11))を用いることで、広角レンズを用いた広角撮像、ここでは、近距離からの近距離撮像における撮像面上での位置Ximg_W2から、望遠レンズを用いた望遠撮像、ここでは、遠距離からの遠距離撮像における撮像面上での位置Ximg_T2を得ることができる。
【0124】
したがって、実際の撮像としての、例えば、近距離撮像により得られる撮像画像の画素のうちの、第1物体面の第1被写体が写る画素については、式(8)を適用し、第2物体面の第2被写体が写る画素については、式(13)を適用することで、近距離撮像により得られる撮像画像の画素を、仮想的な撮像としての、例えば、遠距離撮像により得られる仮想画像の画素にマッピングすることができる。
【0125】
<オクルージョン>
【0126】
図15は、
図12の撮像状況での近距離撮像の様子と、その近距離撮像により得られる撮像画像とを示す図である。
【0127】
すなわち、
図15のAは、
図12の撮像状況において、広角レンズを用いて、被写体に近い撮像位置から被写体を撮像する近距離撮像の様子を示す上面図である。
図15のBは、
図15のAの近距離撮像により得られる撮像画像を示す平面図であり、撮像面を正面から見た正面図と等価である。
【0128】
図15のAは、
図13に対して、第1被写体及び第2被写体のそれぞれ端点からからレンズ中心を通る補助線としての点線を加えた図になっている。
【0129】
図16は、
図12の撮像状況での遠距離撮像の様子と、その遠距離撮像により得られる撮像画像とを示す図である。
【0130】
すなわち、
図16のAは、
図12の撮像状況において、望遠レンズを用いて、被写体から遠い撮像位置から被写体を撮像する遠距離撮像の様子を示す上面図である。
図16のBは、
図16のAの遠距離撮像により得られる撮像画像を示す平面図であり、
図15の場合と同様に、撮像面を正面から見た正面図と等価である。
【0131】
図16のAは、
図14に対して、第1被写体及び第2被写体のそれぞれ端点からからレンズ中心を通る補助線としての点線を加えた図になっている。
【0132】
いま、説明を簡単にするため、近距離撮像及び遠距離撮像において、撮像面(撮像画像)の第1被写体の大きさが同じになるように撮像が行われることとする。
【0133】
撮像面(撮像画像)の第2被写体の大きさは、
図15の近距離撮像よりも、
図16の遠距離撮像の方が大きくなる。このように、近距離撮像よりも遠距離撮像の方が撮像面の第2被写体の大きさが大きくなる現象は、
図2及び
図3で説明した場合と同様に、遠近法に起因する。
【0134】
図17は、
図15のAの上面図と
図16のAの上面図とを、一部を省略して重ね合わせた、撮像の様子を示す上面図である。
【0135】
図17において、第2被写体の部分Mは、遠距離撮像では撮像されるが、近距離撮像では、第1被写体の陰となって撮像されない。
【0136】
被写体が複数の物体面に存在する場合、オクルージョン、すなわち、手前側にある被写体としての第1被写体が奥側にある被写体としての第2被写体を隠して見えないようにする状態が発生することがある。
【0137】
第2被写体の部分Mは、遠距離撮像では見えるが、近距離撮像では、第1被写体に隠れて見えなくなるオクルージョンになる。このようにオクルージョンになっている第2被写体の部分Mのオクルージョン部分(欠落部位)ともいう。
【0138】
実際の撮像としての近距離撮像において、オクルージョン部分としての第2被写体の部分Mは撮像されない。そのため、近距離撮像により得られる撮像画像を元に、式(8)及び式(13)を用いて、仮想的な撮像としての遠距離撮像により得られる仮想画像を生成する場合、仮想画像において、オクルージョン部分としての第2被写体の部分Mについては、画素値が得られないので、欠落する。
【0139】
図18は、実際の撮像としての近距離撮像により得られる撮像画像を元に、仮想的な撮像としての遠距離撮像により得られる仮想画像を生成する場合の画素値のマッピングを説明する図である。
【0140】
図18上側の実際の撮像としての近距離撮像により得られる撮像画像(近距離撮像画像)では、第2被写体の部分Mは、第1被写体の陰となっていおり、オクルージョン部分になっている。
【0141】
図18上側の撮像画像を元に、
図18下側の仮想的な撮像としての遠距離撮像により得られる仮想画像を生成する場合、撮像画像(近距離撮像画像)の第1被写体の位置X
img_W及び第2被写体の位置X
img_W2の画素の画素値が、式(8)及び式(13)を用いて、仮想画像(遠距離撮像画像)の第1被写体の位置X
img_T及び第2被写体の位置X
img_T2の画素の画素値としてそれぞれマッピングされる。
【0142】
図18下側の仮想画像において、斜線を付した部分には、第2被写体の部分Mが写る画素の画素値がマッピングされるべきである。しかしながら、
図18上側の撮像画像において、第2被写体の部分Mは撮像されておらず、第2被写体の部分Mの画素値を得ることができない。そのため、
図18下側の仮想画像において、斜線を付した部分には、第2被写体の部分Mの画素値をマッピングすることができず、画素値が欠落する。
【0143】
以上のように、被写体が複数の物体面に存在する場合、第2被写体の部分Mのようなオクルージョンになっているオクルージョン部分については、画素値の欠落が生じる。
【0144】
図19は、実際の撮像としての近距離撮像により得られる撮像画像を元に、仮想的な撮像としての遠距離撮像により得られる仮想画像を生成する場合の画素値のマッピングを説明する他の図である。
【0145】
図19において、画像picWは、実際の撮像としての近距離撮像により得られる撮像画像であり、画像picTは、仮想的な撮像としての遠距離撮像により得られる仮想画像である。
【0146】
また、
図19において、2次元座標の横軸は、撮像画像picWの横方向の位置X
img_W及びX
img_W2を表し、縦軸は、仮想画像picTの横方向の位置X
img_T及びX
img_T2を表す。
【0147】
さらに、
図19において、直線L1は、式(8)を表し、直線L2は、式(13)を表す。
【0148】
撮像画像picWの第1被写体の位置Ximg_Wの画素(の画素値)は、その位置Ximg_Wを入力として式(8)により求められる仮想画像picTの第1被写体の位置Ximg_Tの画素(の画素値)にマッピングされる。
【0149】
撮像画像picWの第2被写体の位置Ximg_W2の画素は、その位置Ximg_W2を入力として式(13)により求められる仮想画像picTの第2被写体の位置Ximg_T2の画素にマッピングされる。
【0150】
仮想画像picTにおいて、斜線を付した部分は、対応する部分が撮像画像picWに写っていないオクルージョン部分であり、画素(画素値)が欠落する。
【0151】
<オクルージョン部分の補完>
【0152】
図20は、オクルージョン部分の画素を補うオクルージョン部分の補完方法の例を説明する図である。
【0153】
オクルージョン部分の補完方法としては、様々な方法を採用することができる。
【0154】
オクルージョン部分の補完方法としては、例えば、オクルージョン部分の近傍の画素を用いて、オクルージョン部分の画素(の画素値)を補間する方法がある。画素を補間する方法としては、例えば、ニアレストネイバー法や、バイリニア法、バイキュービック法等の任意の方法を採用することができる。
【0155】
ニアレストネイバー法では、近傍の画素の画素値がそのままオクルージョン部分の画素の画素値として用いられる。バイリニア法では、オクルージョン部分の画素の周辺の周辺画素の画素値の平均値が、オクルージョン部分の画素の画素値として用いられる。バイキュービック法では、オクルージョン部分の画素の周辺の周辺画素の画素値を用いて3次元補間を行うことにより得られる補間値が、オクルージョン部分の画素の画素値として用いられる。
【0156】
オクルージョン部分が、例えば、単調な壁面の画像である場合には、オクルージョン部分の近傍の画素を用いた補間によって、オクルージョン部分の補完を行うことで、仮想画像が撮像される仮想撮像位置から撮像を行った場合に得られる画像と(ほぼ)同様の仮想画像を生成することができる。仮想撮像位置から撮像を行った場合に得られる画像と同様の仮想画像が生成される場合のその仮想画像を、再現性が高い仮想画像ともいう。
【0157】
なお、オクルージョン部分の近傍の画素を用いて、オクルージョン部分の画素を補間する方法としては、その他、例えば、オクルージョン部分が、ざらざらした壁面等のテクスチャを有する画像である場合に、オクルージョン部分の周辺の一定面積の領域の複製で、オクルージョン部分を補間する方法を採用することができる。
【0158】
オクルージョン部分の近傍の画素を用いて、オクルージョン部分の画素を補間する方法は、オクルージョン部分が、オクルージョン部分の近傍と同様の画像になっているであろうとの推測が正しいことを前提とする。
【0159】
したがって、オクルージョン部分が、オクルージョン部分の近傍と同様の画像になっていない場合(オクルージョン部分が、オクルージョン部分の近傍と比較して特異である場合)、オクルージョン部分の近傍の画素を用いて、オクルージョン部分の画素を補間する方法では、再現性が高い仮想画像を得ることができないことがある。
【0160】
例えば、一部に落書きがある壁の落書きの部分がオクルージョン部分になっている場合、オクルージョン部分の近傍の画素を用いて、オクルージョン部分の画素を補間する方法では、落書きを再現することができず、再現性が高い仮想画像を得ることができない。
【0161】
オクルージョン部分が、オクルージョン部分の近傍と同様の画像になっていない場合、再現性が高い仮想画像を得るために、実際の撮像として、主たる撮像(本来の撮像)の他に、主たる撮像で生じるオクルージョン部分が写るように、主たる撮像の撮像位置とは異なる撮像位置から補助的な撮像を行うことができる。そして、その補助的な撮像により得られる撮像画像を用いて、主たる撮像で生じるオクルージョン部分を補完することができる。
【0162】
図20は、第1被写体及び第2被写体の実際の撮像として行われる主たる撮像と補助的な撮像とを説明する上面図である。
【0163】
図20において、位置p201を撮像位置とする実際の撮像が、主たる撮像として行われ、位置p201から左右にずれた位置p202及びp203を撮像位置とする実際の撮像それぞれが、補助的な撮像として行われる。
【0164】
この場合、撮像位置p201からの主たる撮像では、オクルージョン部分となる第2被写体の部分Mを撮像することはできない。しかしながら、撮像位置p202及びp203からの補助的な撮像では、主たる撮像でオクルージョン部分となる第2被写体の部分Mを撮像することができる。
【0165】
そこで、撮像位置p201からの主たる撮像により得られる撮像画像を元に、仮想的な撮像により得られる仮想画像を生成し、その仮想画像において、オクルージョン部分となる第2被写体の部分M(の画素値)を、撮像位置p202及びp203からの補助的な撮像により得られる撮像画像を用いて補完することで、再現性が高い仮想画像を得ることができる。
【0166】
主たる撮像及び補助的な撮像は、複数の撮像装置を用いて同時に又は別のタイミングで行うことができる。
【0167】
また、主たる撮像及び補助的な撮像は、複数の撮像系を有するマルチカメラのような1つの撮像装置を用いて行うことができる。
【0168】
さらに、主たる撮像及び補助的な撮像は、1つの撮像系を有する1つの撮像装置を用いて、別のタイミングで行うことができる。例えば、動かない被写体については、主たる撮像の前又は後に補助的な撮像を行うことができる。
【0169】
オクルージョン部分の補完は、補助的な撮像により得られる撮像画像の色やテクスチャ等の一部の情報だけを用いて行うことができる。さらに、オクルージョン部分の補完は、他の方法と併用することでも行うことができる。
【0170】
以上のように、オクルージョン部分の補完は、補助的な撮像により得られる撮像画像を用いて行う他、他の主たる撮像により得られる撮像画像、例えば、過去に行われた主たる撮像により得られる撮像画像を用いて行うことができる。
【0171】
例えば、第1被写体の背景となる第2被写体が、東京タワー等の著名な建築物(建造物)である場合、そのような著名な建築物については、過去に様々な撮像位置から撮像された撮像画像が、ストックフォトサービス等の画像ライブラリに蓄積されていることがあり得る。
【0172】
実際の撮像による撮像画像(実際の撮像により得られる撮像画像)に、著名な(又は周知の)建築物が写っており、その著名な建築物が写る部分がオクルージョン部分になっている場合には、そのオクルージョン部分の補完は、過去に撮像され、画像ライブラリに蓄積されている、同一の著名な建築物が写る撮像画像を用いて行うことができる。その他、インターネット等のネットワーク上で公開されている画像、例えば、地図検索サービスを提供するwebサイトで公開されている写真等を用いて、オクルージョン部分の補完を行うことができる。
【0173】
オクルージョン部分の補完は、画像を用いて行う他、画像以外のデータ(情報)を用いて行うことができる。
【0174】
例えば、第1被写体の背景となる第2被写体が建築物である場合に、その建築物の建築に関する建築データとして、例えば、建築物の形状や、表面の仕上げ方法、塗装色等の情報が、webサーバ等で公開され、入手可能であるときには、そのような建築データを用いて、オクルージョン部分の画素値を推定することで、オクルージョン部分の補完を行うことができる。
【0175】
建築物が写る部分がオクルージョン部分になっている場合に、そのオクルージョン部分の補完を、過去に撮像され、画像ライブラリに蓄積されている撮像画像を用いて行うときや、建築データを用いて行うときには、建築物、すなわち、ここでは、第2被写体を特定する必要がある。第2被写体の特定は、第2被写体が写る撮像画像を対象とする画像認識や、撮像画像を撮像する実際の撮像が行われた位置を特定すること等によって行うことができる。実際の撮像が行われた位置の特定は、EXIF(Exchangeable image file format)情報等の撮像画像のメタデータを参照することにより行うことができる。
【0176】
なお、実際の撮像は、例えば、太陽光等の光源により、被写体が照明された状況で行われる。
【0177】
一方、オクルージョン部分の補完を、過去の撮像画像(過去に撮像された撮像画像)や建築データを用いて行う場合、オクルージョン部分には、実際の撮像時の光源(による照明)が反映されない。
【0178】
そのため、例えば、太陽光の元で行われた実際の撮像による撮像画像のオクルージョン部分の補完を、過去の撮像画像や建築データを用いて行った場合、オクルージョン部分(であった部分)の色が、他の部分の色と比較して不自然な色になることがあり得る。
【0179】
そこで、太陽光の元で行われた実際の撮像による撮像画像のオクルージョン部分の補完を、過去の撮像画像や建築データを用いて行う場合には、気象に関する気象データを入手することができるときには、オクルージョン部分の補完を、過去の撮像画像や建築データを用いて行った後、オクルージョン部分の色調の補正を、気象データを用いて行うことができる。
【0180】
太陽光の元で行われる実際の撮像において、被写体を照明する光の強さや色温度は、天候に影響される。気象データを入手することができる場合には、その気象データから、実際の撮像時の天候を特定し、その天候から、太陽光の元で行われた実際の撮像時の、被写体を照明する光の強さや色温度等の照明光情報を推定することができる。
【0181】
そして、オクルージョン部分の補完を、過去の撮像画像や建築データを用いて行い、オクルージョン部分の色が、照明光情報が表す光で被写体が照明されているときの色となるように、オクルージョン部分の色調の補正を行うことができる。
【0182】
以上のような色調の補正により、オクルージョン部分の色を、他の部分の色と比較して自然な色にすることができ、これにより、再現性が高い仮想画像を得ることができる。
【0183】
その他、オクルージョン部分の補完は、例えば、機械学習を行った学習モデルを用いて行うことができる。
【0184】
例えば、近距離撮像及び遠距離撮像の両方を、実際に行うことが可能な場合には、近距離撮像及び遠距離撮像をそれぞれ実際に行って得られる撮像画像を、学習データとして用いて、例えば、実際の撮像として行われる近距離撮像により得られる撮像画像を入力として、仮想的な撮像として行われる遠距離撮像により得られる仮想画像のオクルージョン部分の画像を出力するように、学習モデルの学習を行うことができる。
【0185】
この場合、学習後の学習モデルに対して、実際の撮像としての近距離撮像により得られる撮像画像を入力することにより、仮想的な撮像としての遠距離撮像により得られる仮想画像のオクルージョン部分の画像を得て、その画像により、オクルージョン部分の補完を行うことができる。
【0186】
オクルージョン部分を補完する補完方法は、特に限定されるものではない。但し、1つの撮像装置、又は、複数でも少ない数の撮像装置で行うことができる補完方法を採用することにより、撮像現場における機動性が低下することを抑制して、所望の位置(仮想撮像位置)から撮像された画像(仮想画像)を、容易に得ることができる。特に、1つの撮像装置で行うことができる補完方法を採用することにより、撮像現場における機動性を最大限に発揮することができる。
【0187】
図21は、実際の撮像により得られる情報を元に、仮想的な撮像により得られる仮想画像を得る過程の他の例を説明する図である。
【0188】
図21において、実際の撮像により得られる情報を元に、仮想的な撮像により得られる仮想画像を得る過程は、
図11の場合と同様に、実際の撮像、仮想被写体(モデル)の生成、及び、仮想的な撮像からなる。但し、
図21では、
図11の場合に、オクルージョン部分の補完が追加されている。
【0189】
実際の撮像では、
図11の場合と同様に、2次元画像である撮像画像(実撮像画像)が生成(撮像)される。
【0190】
仮想被写体の生成では、実際の撮像の撮像位置から被写体までの距離情報と対処モデル情報とを用いて、実際の撮像で得られた撮像画像から、補正済みモデルとしての仮想被写体が再現(生成)される。
【0191】
対処モデル情報とは、オクルージョンに対処するための知識情報であり、例えば、過去に撮像された撮像画像(過去の撮像画像)、補助的な撮像により得られる撮像画像(補助撮像画像)、建築データ、及び、気象データ等の1つ以上を含む。
【0192】
仮想被写体の生成では、まず、
図11の場合と同様に、距離情報を用いて、実際の撮像で得られた撮像画像の透視投影逆変換を行うことにより、仮想被写体が生成される。
【0193】
さらに、仮想被写体の生成では、仮想撮像位置がパラメータとして与えられ、後に行われる仮想的な撮像において、仮想撮像位置から撮像される仮想被写体の撮像部分が特定される。
【0194】
そして、仮想被写体の撮像部分の中で、撮像画像の画素(の画素値)が欠落している欠落部位、すなわち、仮想撮像位置から仮想被写体を見たときにオクルージョンになっているオクルージョン部分を、対処モデル情報を用いて補完することで、その補完後の仮想被写体が、仮想被写体を補正した補正済みモデルとして生成される。
【0195】
仮想的な撮像では、
図11の場合と同様に、透視投影変換により、仮想画像が生成される。
【0196】
但し、
図21の仮想的な撮像では、透視投影変換の対象が、実際の撮像で得られた撮像画像の透視投影逆変換を行うことにより生成された仮想被写体そのものではなく、その仮想被写体のオクルージョン部分を補完した補正済みモデルとしての仮想被写体である点が、
図11の場合と異なる。
【0197】
図21の仮想的な撮像では、補正済みモデルに対して透視投影変換を行うことで、仮想撮像位置から、補正済みモデルが(仮想的に)撮像され、仮想画像(仮想撮像画像)が生成される。
【0198】
オクルージョン部分の補完については、仮想撮像位置から仮想被写体を見たときにオクルージョンになっているオクルージョン部分だけを対象として、補完を行うことにより、補完の範囲を必要最小限に抑えることができる。これにより、主たる撮像の他に補助的な撮像を行う場合に、補助的な撮像を、必要最小限の範囲の撮像で済ますことができ、撮像時の機動性の低下を抑制することができる。
【0199】
なお、補助的な撮像において、必要最小限よりもやや広めの範囲を撮像しておくことで、撮像後に仮想撮像位置を微修正することが可能になる。
【0200】
<他の仮想画像の生成方法>
【0201】
図22は、撮像画像及び仮想画像の例を示す平面図である。
【0202】
上述の場合には、近距離撮像及び遠距離撮像を例として、近距離撮像及び遠距離撮像のうちの一方で実際に撮像された撮像画像を元に、他方で撮像が行われた場合に撮像される仮想画像を生成する生成方法を説明した。すなわち、撮像画像を実際に撮像した撮像位置から、その撮像時の撮像装置の光軸に沿って移動した、撮像距離だけが異なる位置を、仮想撮像位置として、撮像画像を元に、仮想撮像位置から撮像された仮想画像を生成する生成方法を説明した。
【0203】
上述の仮想画像の生成方法は、撮像画像の撮像位置から、撮像装置の光軸に沿わない方向に移動した位置を、仮想撮像位置とする場合にも適用することができる。すなわち、上述の仮想画像の生成は、撮像画像の撮像位置から、撮像装置の光軸に沿って移動した位置から、被写体を撮像した仮想画像を生成する場合の他、撮像装置の光軸に沿わない方向に移動した位置から、被写体を撮像した仮想画像(他の仮想画像)を生成する場合にも適用することができる。
【0204】
撮像装置の光軸を被写体に向けて、被写体を撮像する場合、撮像画像の撮像位置から、実際の撮像時の撮像装置の光軸に沿って移動した位置を、仮想撮像位置とするときには、実際の撮像と、仮想的な撮像とにおいて、撮像装置の光軸は一致する。
【0205】
一方、撮像画像の撮像位置から、実際の撮像時の撮像装置の光軸に沿わない方向に移動した位置を、仮想撮像位置とするときには、実際の撮像と、仮想的な撮像とにおいて、撮像装置の光軸は異なる。
【0206】
撮像画像の撮像位置から、撮像装置の光軸に沿わない方向に移動した位置を、仮想撮像位置とする場合とは、例えば、実際の撮像を、
図1の撮像状況で行い、仮想的な撮像を、
図4の撮像状況で行う場合が該当する。
【0207】
図22のAは、
図1の撮像状況で、実際の撮像により得られる撮像画像を示している。
【0208】
図22のBは、
図4の撮像状況で、実際の撮像により得られる撮像画像としての俯瞰画像を示している。
【0209】
図22のCは、
図22のAの撮像画像を元に距離情報を用いて生成される仮想被写体を対象に、
図4の撮像状況の撮像位置を仮想撮像位置として、仮想的な撮像を行うことにより得られる(生成される)仮想画像を示している。
【0210】
図22のAの撮像画像を元に距離情報を用いて生成される仮想被写体そのものを対象に、仮想的な撮像を行って得られる仮想画像では、
図1の撮像状況では撮像画像に写らない人物及び建物の上部の部分が、
図22のCに斜線を付して示すように、オクルージョン部分となる。
【0211】
オクルージョン部分については、補完を行うことで、
図22のBの撮像画像に近い仮想画像を得ることができる。
【0212】
すなわち、仮想被写体の撮像部分の中で、仮想撮像位置から仮想被写体を見たときにオクルージョンになっているオクルージョン部分を、対処モデル情報を用いて補完し、その補完後の仮想被写体である補正済みモデルの透視投影変換を行うことで、
図22のBの撮像画像に近い仮想画像を得ることができる。
【0213】
オクルージョン部分の補完を行う方法としては、上述したオクルージョン部分の近傍の画素を用いてオクルージョン部分を補間する方法や、補助的な撮像により得られる撮像画像を用いる方法、過去に撮像された撮像画像を用いる方法、機械学習により学習された学習モデルを用いる方法、建築データを用いる方法等を採用することができる。
【0214】
<仮想的な撮像用のUI>
【0215】
図23は、仮想的な撮像を行う場合の仮想撮像位置の表現方法を説明する図である。
【0216】
【0217】
撮像装置については、撮像装置を物理的に(実際に)設置することにより、実際の撮像の撮像位置が決定される。本技術では、実際の撮像の撮像位置の他、仮想撮像位置が必要であり、仮想撮像位置を指定する必要がある。
【0218】
仮想撮像位置を指定する指定方法としては、例えば、撮像位置に対して、所定の方向に所定の距離だけ移動した位置を、仮想撮像位置として、自動的に指定する方法を採用することができる。また、仮想撮像位置を指定する指定方法としては、その他、例えば、ユーザに指定してもらう方法を採用することができる。
【0219】
以下、ユーザが仮想撮像位置を指定する場合のUIについて説明するが、その前に、仮想撮像位置の表現方法について説明する。
【0220】
本実施の形態では、仮想撮像位置を、
図23に示すように、(撮像装置の光軸と交差する)被写体の位置を中心(原点)とする球面座標系(の座標)で表現することとする。
【0221】
ここで、撮像装置(物理的に実在する物理撮像装置)の光軸、すなわち、撮像装置(の光学系)の光軸と、被写体との交点を、被写体の中心ということとする。撮像装置の光軸は、撮像装置の撮像素子の中心を通り、撮像素子に垂直な直線に一致することとする。
【0222】
撮像装置の撮像素子の中心と被写体の中心とを結ぶ光軸(撮像装置の光軸)を物理光軸といい、仮想撮像位置と被写体の中心とを結ぶ光軸を仮想光軸ということとする。
【0223】
被写体の中心を球面座標系の中心とすると、球面座標系において、仮想撮像位置は、仮想光軸の物理光軸に対する方位角方向の回転量(方位角)φv、仰角方向の回転量(仰角)θv、及び、仮想光軸上の被写体と仮想撮像位置との間の距離rvで表現することができる。
【0224】
なお、
図23において、距離r
rは、物理光軸上の被写体と撮像位置との間の距離を表す。
【0225】
また、
図23において、上面図に示してある距離r
vは、平面上の距離成分ではなく、仮想光軸に沿った距離を表す。
【0226】
図24は、ユーザが仮想撮像位置を指定する場合に操作されるUIの例を示す平面図である。
【0227】
図24において、UIは、Cボタン、TOPボタン、BTMボタン、LEFTボタン、RIGHTボタン、SHORTボタン、LONGボタン、TELEボタン、及び、WIDEボタン等の操作ボタンを有する。
【0228】
なお、UIは、操作ボタンの他、回転式のダイヤルや、ジョイスティック、タッチパネル等の操作部を用いて構成することができる。また、UIを操作ボタンを用いて構成する場合に、操作ボタンの配置は、
図24の配置に限定されるものではない。
【0229】
本技術を適用した撮像装置は、仮想撮像位置から被写体を撮像することにより得られる撮像画像と同様の仮想画像をリアルタイムで生成し、リアルタイムで、ビューファインダ等の表示部に出力することができる。この場合、表示部は、仮想画像を、いわゆるスルー画として、リアルタイムで表示することができる。撮像装置のユーザは、表示部にスルー画として表示された仮想画像を見ることにより、仮想撮像位置から被写体を撮像しているかのような感覚を享受することができる。
【0230】
球面座標系において、仮想撮像位置を表現するためには、球面座標系の中心を決定する必要がある。
【0231】
撮像装置では、例えば、UIのCボタンが操作されたときに、撮像装置の光軸と被写体とが交わる点の位置が、球面座標系の中心に決定される。そして、仮想撮像位置は、実際の撮像の撮像位置、すなわち、方位角φv=0、仰角θv=0、距離rv=rrに設定される。
【0232】
方位角φvは、LEFTボタン又はRIGHTボタンを操作することにより指定することができる。撮像装置では、LEFTボタンが押下されると、あらかじめ定められた一定量だけ方位角φvが負方向に変化する。また、RIGHTボタンが押下されると、あらかじめ定められた一定量だけ方位角φvが正方向に変化する。
【0233】
仰角θvは、TOPボタン又はBTMボタンを操作することにより指定することができる。TOPボタンが押下されると、あらかじめ定められた一定量だけ仰角θvが正方向に変化する。また、BTMボタンが押下されると、あらかじめ定められた一定量だけ仰角θvが負方向に変化する。
【0234】
距離rvは、SHORTボタン又はLONGボタンを操作することにより指定することができる。SHORTボタンが押下されると、あらかじめ定められた一定量だけ又は一定倍率だけ、距離rvが負方向に変化する。また、LONGボタンが押下されると、あらかじめ定められた一定量だけ又は一定倍率だけ、距離rvが正方向に変化する。
【0235】
図24において、UIには、上述のように、仮想撮像位置の指定に関係するCボタン、TOPボタン、BTMボタン、LEFTボタン、RIGHTボタン、SHORTボタン、及び、LONGボタンの他、仮想撮像位置からの仮想的な撮像を行うときの仮想的な撮像装置の焦点距離(以下、仮想焦点距離ともいう)を指定するためのTELEボタン、及び、WIDEボタンが設けられている。
【0236】
TELEボタンが押下されると、あらかじめ定められた一定量だけ又は一定倍率だけ、仮想焦点距離が長くなる方向に変化する。また、WIDEボタンが押下されると、あらかじめ定められた一定量だけ又は一定倍率だけ、仮想焦点距離が短くなる方向に変化する。
【0237】
仮想焦点距離に応じて、例えば、式(4)及び式(5)の像距離Limg_W及びLimg_Tが決定される。
【0238】
なお、UIの操作ボタンの操作に対する方位角φv等の変化のさせ方は、上述したものに限定されるものではない。例えば、操作ボタンが長押しされた場合には、その長押しが継続されている間、方位角φv等の仮想撮像位置及び仮想焦点距離を連続的に変化させることや、長押しが継続されている時間に応じて、方位角φv等の仮想撮像位置及び仮想焦点距離の変化量を増加させること等の変化をさせることにより、利便性を高めることができる。
【0239】
また、仮想撮像位置を指定する方法は、UIを操作する方法に限定されるものではない。例えば、ユーザの視線を検出し、その視線の検出結果から、ユーザが注視している注視点を検出して、仮想撮像位置を指定する方法等を採用することができる。この場合、注視点の位置が、仮想撮像位置に指定(設定)される。
【0240】
さらに、撮像装置では、UIの操作等により指定された仮想撮像位置からの仮想的な撮像により得られる仮想画像をリアルタイムで表示する場合には、オクルージョン部分をユーザが認識することができるように表示することができる。
【0241】
ここで、オクルージョン部分が補完されて生成された仮想画像では、オクルージョン部分が補完された補完部分の情報の確度が、仮想撮像位置から実際に撮像を行って得られる画像に対して劣る可能性がある。
【0242】
そこで、撮像装置では、仮想撮像位置が指定された後、その仮想撮像位置からの仮想的な撮像により得られる仮想画像においてオクルージョンとなるオクルージョン部分をユーザが認識することができるように、仮想画像を、表示部に表示することができる。
【0243】
この場合、撮像装置のユーザは、表示部に表示された仮想画像を見ることによって、被写体のどの部分がオクルージョン部分となるかを認識することができる。そして、撮像装置のユーザは、被写体のどの部分がオクルージョン部分となるかを認識することによって、ユーザにとって被写体の重要な部分がオクルージョン部分にならないように、実際の撮像の撮像位置に配慮することができる。すなわち、実際の撮像により得られる撮像画像に、ユーザにとって被写体の重要な部分が写るように、撮像位置を考慮することができる。
【0244】
さらに、撮像装置のユーザが、被写体のどの部分がオクルージョン部分となるかを認識することによって、
図20で説明した主たる撮像と補助的な撮像とを行う場合に、オクルージョン部分となる被写体の部分が写るように、補助的な撮像を行うことができる。
【0245】
仮想画像においてオクルージョンとなるオクルージョン部分をユーザが認識することができるように、仮想画像を、表示部に表示する表示方法としては、例えば、仮想画像の中のオクルージョン部分を、特定の色で表示する方法や、オクルージョン部分の階調を1秒等の所定周期で反転する方法等を採用することができる。
【0246】
<本技術を適用した撮像装置の一実施の形態>
【0247】
図25は、本技術を適用したディジタルカメラ等の撮像装置の一実施の形態の構成例を示すブロック図である。
【0248】
図25において、撮像装置100は、撮像光学系2、撮像素子3、距離センサ5、逆変換部7、補正部9、変換部11、表示部13、UI15、記憶部17、記録部21ないし23、及び、出力部24を有する。撮像装置100は、動画及び静止画のいずれの撮像にも適用することができる。
【0249】
撮像光学系2は、被写体からの光を、撮像素子3上に集光して結像させる。これにより、3次元空間の被写体は、撮像素子3上に透視投影変換される。
【0250】
撮像素子3は、撮像光学系2からの光を受光して光電変換を行うことで、光の受光量に対応する画素値を有する2次元画像である撮像画像4を生成し、逆変換部7に供給する。
【0251】
距離センサ5は、被写体の各点までの距離情報6を計測して出力する。距離センサ5が出力する距離情報6は、逆変換部7に供給される。
【0252】
なお、被写体の距離情報6については、外部の装置で計測し、逆変換部7に供給することができる。この場合、距離センサ5を設けずに、撮像装置100を構成することができる。
【0253】
逆変換部7は、距離センサ5からの距離情報6を用いて、撮像素子3からの撮像画像4の透視投影逆変換を行い、3次元データ8としての仮想被写体を生成して出力する。
【0254】
補正部9は、逆変換部7が出力する3次元データ8としての仮想被写体のオクルージョン部分の補完を行い、その補完後の仮想被写体を、補正済みモデル10として出力する。
【0255】
変換部11は、補正部9が出力する補正済みモデル10の透視投影変換を行い、その結果得られる2次元画像である仮想画像12を出力する。
【0256】
表示部13は、変換部11が出力する仮想画像12を表示する。変換部11が仮想画像12をリアルタイムで出力する場合、表示部13は、仮想画像12をリアルタイムで表示することができる。
【0257】
UI15は、例えば、
図24に示したように構成され、撮像者である、例えば、撮像装置100のユーザによって操作される。ユーザは、表示部13に表示された仮想画像を見ながら、仮想撮像位置16を指定するためのUI15に対する操作を行うことができる。
【0258】
UI15は、ユーザの操作に応じて、仮想撮像位置16を設定して出力する。
【0259】
補正部9では、UI15が出力する仮想撮像位置16から仮想被写体を見たときにオクルージョンとなるオクルージョン部分の補完が行われる。
【0260】
すなわち、補正部9では、仮想撮像位置16から仮想被写体を見たときにオクルージョンとなるオクルージョン部分が特定される。その後、補正部9では、オクルージョン部分の補完が行われ、補完後の仮想被写体が、補正済みモデル10として出力される。
【0261】
変換部11では、補正部9が出力する補正済みモデル10を、UI15が出力する仮想撮像位置16から撮像して得られる2次元画像である仮想画像12が、補正済みモデル10の透視投影変換により生成される。
【0262】
したがって、表示部13では、ユーザによるUI15の操作に応じて設定された仮想撮像位置16から補正済みモデル10を撮像して得られる仮想画像12がリアルタイムで表示される。これにより、ユーザは、表示部13に表示される仮想画像12を見ながら、UI15を操作することで、所望の仮想画像12が得られる仮想撮像位置16を指定することができる。
【0263】
なお、補正部9において、オクルージョン部分の補完は、オクルージョン部分の近傍の画素を用いてオクルージョン部分を補間することにより行うことができる。また、オクルージョン部分の補完は、対処モデル情報としての、例えば、過去の撮像画像18や、建築データ19、気象データ20等を外部から得て、その対処モデル情報を用いて行うことができる。
【0264】
さらに、オクルージョン部分の補完は、その他の対処モデル情報としての、補助的な撮像により得られる撮像画像や、機械学習済みの学習モデル等を用いて行うことができる。
【0265】
補助的な撮像が行われる場合において、補助的な撮像が、主たる撮像に先立って行われるときには、逆変換部7において、補助的な撮像により得られる撮像画像4から生成される3次元データ8としての仮想被写体は、記憶部17に記憶される。
【0266】
すなわち、記憶部17は、逆変換部7において、補助的な撮像により得られる撮像画像4から生成される3次元データ8としての仮想被写体を記憶する。
【0267】
記憶部17に記憶された、補助的な撮像により得られる撮像画像4から生成された3次元データ8としての仮想被写体は、補正部9において、補助的な撮像の後に行われる主たる撮像により得られる撮像画像4から生成される3次元データ8としての仮想被写体を仮想撮像位置16から見たときにオクルージョンになっているオクルージョン部分の補完に用いることができる。
【0268】
補助的な撮像が行われる場合において、補助的な撮像が、主たる撮像の後に行われるときには、逆変換部7において、主たる撮像により得られる撮像画像4から生成される3次元データ8としての仮想被写体は、記録部23に記録される。
【0269】
すなわち、記録部23は、逆変換部7において、主たる撮像により得られる撮像画像4から生成される3次元データ8としての仮想被写体を記憶する。
【0270】
記録部23に記録された、主たる撮像により得られる撮像画像4から生成された3次元データ8としての仮想被写体についてのオクルージョン部分の補完は、補正部9において、主たる撮像の後に行われる補助的な撮像により得られる撮像画像4から生成される3次元データ8としての仮想被写体を用いて行うことができる。
【0271】
したがって、補助的な撮像が行われる場合において、補助的な撮像が、主たる撮像の後に行われるときには、主たる撮像の後に、補助的な撮像が行われるのを待って、主たる撮像により得られる撮像画像から生成される3次元データ8としての仮想被写体についてのオクルージョン部分の補完が行われる。
【0272】
かかるオクルージョン部分の補完が行われる場合、主たる撮像により得られる撮像画像4からの仮想画像12のリアルタイムでの生成が困難である。したがって、リアルタイムでの仮想画像の生成が要求される場合には、補助的な撮像は、主たる撮像の後ではなく、主たる撮像に先立って行われる必要がある。
【0273】
図25において、記録部21は、変換部11が出力する仮想画像12を記録する。記録部21に記録された仮想画像12は、表示部13及び出力部24に出力することができる。
【0274】
記録部22は、補正部9が出力する補正済みモデル10を記録する。
【0275】
例えば、補正部9では、UI15からの仮想撮像位置16から仮想被写体を見たときにオクルージョンになっているオクルージョン部分を含む、そのオクルージョン部分よりも幾分か広範囲の広範囲部分(仮想撮像位置16が僅かに変化し、その変化後の仮想撮像位置16から仮想被写体を見たときに、新たなオクルージョン部分となる仮想被写体の部分を含む部分)の補完を行うことができる。記録部22では、このような広範囲部分の補完が行われた補正済みモデル10を記録することができる。
【0276】
この場合、記録部22に記録された、広範囲部分の補完が行われた補正済みモデル10を、変換部11の透視投影変換の対象として、仮想撮像位置16を微修正(微調整)した仮想画像12を生成することができる。したがって、広範囲部分の補完が行われた補正済みモデル10の元となった撮像画像4の撮像後に、記録部22に記録された、広範囲部分の補完が行われた補正済みモデル10を用いて、仮想撮像位置16を微修正した仮想画像12を生成することができる。
【0277】
記録部23は、逆変換部7が出力する3次元データ8としての仮想被写体、すなわち、補正部9でオクルージョン部分の補完がされる前の仮想被写体を記録する。記録部23に記録された仮想被写体は、例えば、仮想画像12がニュース等で使用され、その仮想画像12の一部分の真贋が問われた場合に、その真贋を確認するための、加工がされていない、いわば真のデータとして参照することができる。
【0278】
なお、記録部23には、3次元データ8としての仮想被写体とともに、又は、3次元データ8としての仮想被写体に代えて、その3次元データ8としての仮想被写体の生成の元となった撮像画像4を記録することができる。
【0279】
出力部24は、撮像装置100の外部にデータを出力するI/F(interface)であり、変換部11が出力する仮想画像12を、外部にリアルタイムで出力する。
【0280】
出力部24に、図示せぬ外部の装置が接続されている場合において、変換部11が仮想画像12をリアルタイムで出力するときには、出力部24から外部の装置に、仮想画像12のリアルタイム配信を行うことができる。
【0281】
例えば、出力部24に、図示せぬ外部の表示部が接続されている場合において、変換部11が仮想画像12をリアルタイムで出力するときには、その仮想画像12は、出力部24から外部の表示部にリアルタイムで出力され、外部の表示部では、仮想画像12がリアルタイムで表示される。
【0282】
以上のように構成される撮像装置100において、逆変換部7は、距離センサ5からの距離情報6を用いて、撮像素子3からの撮像画像4の透視投影逆変換を行うことにより、3次元データ8としての仮想被写体を生成する。
【0283】
補正部9は、過去の撮像画像18等の対処モデル情報を用いて、UI15からの仮想撮像位置16から、逆変換部7で生成された3次元データ8としての仮想被写体を見たときにオクルージョンになっているオクルージョン部分を補完することで、仮想被写体を補正した補正済みモデル10としての補完後の仮想被写体を得る。
【0284】
変換部11は、補正部9で得られた補正済みモデル10を用いて、透視投影変換により、補正済みモデル10を仮想撮像位置16から撮像した仮想画像12を生成する。
【0285】
したがって、逆変換部7、補正部9、及び、変換部11は、撮像位置から被写体までの距離情報6と対処モデル情報とを用いて、撮像位置から被写体を撮像した撮像画像4から、撮像位置と異なる仮想撮像位置16から被写体を撮像した仮想画像12を生成する生成部を構成しているということができる。
【0286】
図26は、生成部の処理の例を説明するフローチャートである。
【0287】
ステップS1において、生成部は、距離情報6と、過去の撮像画像18等のオクルージョンに対処するため対処モデル情報(知識情報)とを用いて、撮像画像4から、撮像画像4と異なる仮想撮像位置16から撮像した仮想画像12を生成する。
【0288】
具体的には、ステップS11において、生成部の逆変換部7は、距離情報6を用いて、撮像画像4の透視投影逆変換を行うことにより、3次元データ8としての仮想被写体を生成し、処理は、ステップS12に進む。
【0289】
ステップS12では、補正部9は、過去の撮像画像18等の対処モデル情報を用いて、仮想撮像位置16から、逆変換部7で生成された3次元データ8としての仮想被写体を見たときにオクルージョンになっているオクルージョン部分を補完することで、3次元データ8としての仮想被写体を補正した補正済みモデル10(オクルージョン部分が補完された3次元データ8)を生成して、処理は、ステップS13に進む。
【0290】
ステップS13では、変換部11は、補正部9で生成された補正済みモデル10を用いて、透視投影変換により、補正済みモデル10を仮想撮像位置16から撮像した仮想画像を生成する。
【0291】
撮像装置100によれば、例えば、所望の撮像位置(視点)から被写体を撮像することが困難な状況である場合であっても、撮像可能なある撮像位置(視点)から撮像した撮像画像と、その撮像位置から被写体までの距離情報、及び、別途入手した距離情報以外の補助的な情報としての対処モデル情報と用いることにより、実際の撮像位置とは異なる所望の撮像位置としての仮想撮像位置から擬似的に撮像した仮想画像を生成することができる。したがって、所望の位置から撮像された画像(仮想画像)を、容易に得ることができる。
【0292】
撮像装置100によれば、例えば、
図6に示したように、人物の正面に壁が存在する撮像状況において、人物の正面の壁面よりも後ろ側の位置から撮像したかのような仮想画像を生成することができる。
【0293】
また、撮像装置100によれば、例えば、撮像装置100のユーザが、室内や乗り物に乗っていて窓越しに外部を撮像する撮像状況のような、ユーザが被写体に近づけない撮像状況において、ユーザが被写体に近づいて撮像したかのような仮想画像を生成することができる。
【0294】
さらに、撮像装置100によれば、例えば、脚立やドローン等を用いずに、
図5に示した俯瞰画像のような仮想画像を生成することができる。
【0295】
また、撮像装置100によれば、例えば、被写体が人物であり、その人物の目線が撮像装置に向いていない場合に、目線の先の位置を仮想撮像位置とすることで、いわゆるカメラ目線の仮想画像を生成することができる。
【0296】
さらに、撮像装置100によれば、仮想撮像位置を、撮像者であるユーザの頭部の眼球の位置に設定することで、ユーザの視点から見た状態が写る仮想画像を生成することができる。かかる仮想画像を、眼鏡型ディスプレイに表示することで、視差がない電子的な眼鏡を構成することができる。
【0297】
<本技術を適用したコンピュータの説明>
【0298】
次に、上述した生成部を構成する逆変換部7や、補正部9、変換部11の一連の処理は、ハードウエアにより行うこともできるし、ソフトウエアにより行うこともできる。一連の処理をソフトウエアによって行う場合には、そのソフトウエアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0299】
図27は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
【0300】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク905やROM903に予め記録しておくことができる。
【0301】
あるいはまた、プログラムは、ドライブ909によって駆動されるリムーバブル記録媒体911に格納(記録)しておくことができる。このようなリムーバブル記録媒体911は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体911としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0302】
なお、プログラムは、上述したようなリムーバブル記録媒体911からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク905にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0303】
コンピュータは、CPU(Central Processing Unit)902を内蔵しており、CPU902には、バス901を介して、入出力インタフェース910が接続されている。
【0304】
CPU902は、入出力インタフェース910を介して、ユーザによって、入力部907が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)903に格納されているプログラムを実行する。あるいは、CPU902は、ハードディスク905に格納されたプログラムを、RAM(Random Access Memory)904にロードして実行する。
【0305】
これにより、CPU902は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU902は、その処理結果を、必要に応じて、例えば、入出力インタフェース910を介して、出力部906から出力、あるいは、通信部908から送信、さらには、ハードディスク905に記録等させる。
【0306】
なお、入力部907は、キーボードや、マウス、マイク等で構成される。また、出力部906は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0307】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0308】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0309】
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0310】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0311】
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0312】
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0313】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0314】
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【0315】
なお、本技術は、以下の構成をとることができる。
【0316】
<1>
撮像位置から被写体までの距離情報とモデル情報とを用いて、前記撮像位置から前記被写体を撮像した撮像画像から、前記撮像位置と異なる仮想撮像位置から前記被写体を撮像した仮想画像を生成する生成部を備える
撮像装置。
<2>
前記生成部は、前記距離情報と前記モデル情報とを用いて、前記撮像画像から補正済みモデルを生成し、前記補正済みモデルを用いて、前記仮想画像を生成する
<1>に記載の撮像装置。
<3>
前記モデル情報は、オクルージョンに対処するための知識情報である
<1>又は<2>に記載の撮像装置。
<4>
前記生成部は、
前記距離情報を用いて、前記撮像画像の透視投影逆変換を行うことにより、仮想被写体を生成し、
前記モデル情報を用いて、前記仮想撮像位置から前記仮想被写体を見たときにオクルージョンになっているオクルージョン部分を補完することで、前記仮想被写体を補正した補正済みモデルを生成し、
前記補正済みモデルを用いて、透視投影変換により、前記補正済みモデルを前記仮想撮像位置から撮像した前記仮想画像を生成する
<3>に記載の撮像装置。
<5>
前記仮想被写体又は前記補正済みモデルを記録する記録部をさらに備える
<4>に記載の撮像装置。
<6>
前記モデル情報は、過去に撮像された前記撮像画像、建築に関する建築データ、及び、気象に関する気象データの1つ以上を含む
<3>ないし<5>のいずれかに記載の撮像装置。
<7>
前記仮想撮像位置を指定するUI(User Interface)をさらに備える
<1>に記載の撮像装置。
<8>
前記仮想画像を、表示部にリアルタイムで出力する
<1>ないし<7>のいずれかに記載の撮像装置。
<9>
前記UIは、
前記仮想撮像位置を表現する球面座標系の中心を決定するときに操作される第1の操作部と、
前記球面座標系における前記仮想撮像位置の方位角を変化させるときに操作される第2の操作部と、
前記球面座標系における前記仮想撮像位置の仰角を変化させるときに操作される第3の操作部と、
前記球面座標系の中心と前記仮想撮像位置との間の距離を変化させるときに操作される第4の操作部と
を有する
<7>に記載の撮像装置。
<10>
前記UIは、前記仮想撮像位置からの仮想的な撮像を行うときの仮想的な撮像装置の焦点距離を変化させるときに操作される第5の操作部をさらに有する
<9>に記載の撮像装置。
<11>
前記UIは、前記第1ないし第5の操作部のいずれかの操作が継続されている間、前記仮想撮像位置又は前記焦点距離を連続的に変化させる
<10>に記載の撮像装置。
<12>
前記UIは、前記第1ないし第5の操作部のいずれかの操作が継続されている時間に応じて、前記仮想撮像位置又は前記焦点距離の変化量を変化させる
<10>に記載の撮像装置。
<13>
前記UIは、ユーザが注視している注視点を、前記仮想撮像位置に指定する
<1>ないし<12>のいずれかに記載の撮像装置。
<14>
撮像位置から被写体までの距離情報とモデル情報とを用いて、前記撮像位置から前記被写体を撮像した撮像画像から、前記撮像位置と異なる仮想撮像位置から前記被写体を撮像した仮想画像を生成する
ことを含む撮像方法。
<15>
撮像位置から被写体までの距離情報とモデル情報とを用いて、前記撮像位置から前記被写体を撮像した撮像画像から、前記撮像位置と異なる仮想撮像位置から前記被写体を撮像した仮想画像を生成する生成部
としてコンピュータを機能させるためのプログラム。
【符号の説明】
【0317】
2 撮像光学系, 3 撮像素子, 5 距離センサ, 7 逆変換部, 9 補正部, 11 変換部, 13 表示部, 15 UI, 17 記憶部, 21ないし23 記録部, 24 出力部, 901 バス, 902 CPU, 903 ROM, 904 RAM, 905 ハードディスク, 906 出力部, 907 入力部, 908 通信部, 909 ドライブ, 910 入出力インタフェース, 911 リムーバブル記録媒体