(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-15
(45)【発行日】2022-02-24
(54)【発明の名称】撮像装置、撮像システム、画像処理方法、情報処理装置、及びプログラム
(51)【国際特許分類】
H04N 5/232 20060101AFI20220216BHJP
H04N 5/225 20060101ALI20220216BHJP
G06T 5/00 20060101ALI20220216BHJP
G03B 15/00 20210101ALI20220216BHJP
【FI】
H04N5/232 380
H04N5/232 060
H04N5/232 290
H04N5/225 800
G06T5/00 725
G03B15/00 P
(21)【出願番号】P 2020078570
(22)【出願日】2020-04-27
(62)【分割の表示】P 2017226953の分割
【原出願日】2012-11-30
【審査請求日】2020-05-22
(31)【優先権主張番号】P 2012053190
(32)【優先日】2012-03-09
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】竹中 博一
(72)【発明者】
【氏名】入野 祥明
(72)【発明者】
【氏名】田中 智憲
(72)【発明者】
【氏名】今江 望
(72)【発明者】
【氏名】山本 英明
(72)【発明者】
【氏名】増田 憲介
(72)【発明者】
【氏名】伊藤 洋一
(72)【発明者】
【氏名】澤口 聡
(72)【発明者】
【氏名】別所 大介
(72)【発明者】
【氏名】佐藤 裕之
(72)【発明者】
【氏名】庄原 誠
(72)【発明者】
【氏名】寺尾 典之
(72)【発明者】
【氏名】原田 亨
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開2006-59202(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/222-5/257
G06T 5/00
G03B 15/00
(57)【特許請求の範囲】
【請求項1】
全天球を撮影する撮像装置であって、
それぞれが異なる方向を撮影する複数の撮像素子と、
前記複数の撮像素子に対応する複数のレンズと、
前記複数の撮像素子が撮影した際の前記撮像装置の重力方向に対する傾きを検出する傾き検出手段と、
前記撮像素子により撮影された平面座標値で表現される平面画像を球面座標値で表現される球面画像へ変換するための変換データを用いて球面画像を生成する生成手段と、
を備え、
前記変換データは、前記傾き検出手段が検出した前記傾きに応じて補正され、
前記生成手段は、該補正された変換データを用いて、前記撮像素子により撮影された複数の平面画像のそれぞれを複数の球面画像へ変換し、該複数の球面画像を結合して、全天球画像を生成すること
を特徴とする撮像装置。
【請求項2】
前記傾き検出手段は、加速度センサを用いて前記傾きを検出することを特徴とする請求項1に記載の撮像装置。
【請求項3】
全天球を撮影する撮像装置とネットワークを介して接続される情報処理装置とを含む撮像システムであって、
前記撮像装置は、
それぞれが異なる方向を撮影する複数の撮像素子と、
前記複数の撮像素子に対応する複数のレンズと、
前記複数の撮像素子が撮影した際の前記撮像装置の重力方向に対する傾きを検
出し傾き情報として出力する検出手段と、
を備え、
前記撮像素子により撮影された平面座標値で表現される平面画像と前記傾き情報とを、ネットワークを介して前記情報処理装置へ転送し、
前記情報処理装置は、
前記平面画像を球面座標値で表現される球面画像へ変換するための変換データを用いて球面画像を生成する生成手段を備え、
前記変換データは、前記傾き情報に応じて補正され、
前記生成手段は、該補正された変換データを用いて、前記撮像素子により撮影された複数の平面画像のそれぞれを複数の球面画像へ変換し、該複数の球面画像を結合して全天球画像を生成すること
を特徴とする撮像システム。
【請求項4】
全天球画像を生成する画像処理方法であって、
それぞれが異なる方向を撮影する複数の撮像素子を備える撮像装置により、撮影された平面座標値で表現される平面画像を取得する平面画像取得工程と、
前記複数の撮像素子が撮影した際の前記撮像装置の重力方向に対する傾き情報を取得する傾き情報取得工程と、
前記平面画像を球面座標値で表現される球面画像へ変換するための変換データを用いて球面画像を生成する球面画像生成工程と、
前記変換データを、前記傾き情報に応じて補正する変換データ補正工程と、
を備え、
前記球面画像生成工程は、変換データ補正工程により補正された変換データを用いて、前記撮像素子により撮影された複数の平面画像のそれぞれを複数の球面画像へ変換するものであり、
前記球面画像生成工程が生成した前記複数の球面画像を結合して全天球画像を生成する全天球画像生成工程をさらに備えること
を特徴とする画像処理方法。
【請求項5】
全天球を撮影する撮像装置を実行させるプログラムであって、
前記撮像装置は、
それぞれが異なる方向を撮影する複数の撮像素子と、
前記複数の撮像素子に対応する複数のレンズと、
を備え、
当該プログラムは、
前記複数の撮像素子が撮影した際の前記撮像装置の重力方向に対する傾きを検出する傾き検出処理と、
前記撮像素子により撮影された平面座標値で表現される平面画像を球面座標値で表現される球面画像へ変換するための変換データを用いて球面画像を生成する球面画像生成処理と、
前記変換データを、前記傾き検出処理で検出した前記傾きに応じて補正する変換データ補正処理と、
を含み、
前記球面画像生成処理は、変換データ補正処理により補正された変換データを用いて、前記撮像素子により撮影された複数の平面画像のそれぞれを複数の球面画像へ変換するものであり、
前記球面画像生成処理が生成した前記複数の球面画像を結合して全天球画像を生成する全天球画像生成処理をさらに備えること
を特徴とするプログラム。
【請求項6】
全天球を撮影する撮像装置とネットワークを介して接続される情報処理装置であって、
前記撮像装置は、
それぞれが異なる方向を撮影する複数の撮像素子と、
前記複数の撮像素子に対応する複数のレンズと、
前記複数の撮像素子が撮影した際の前記撮像装置の重力方向に対する傾きを検
出し傾き情報として出力する検出手段と、
を備え、
前記撮像素子により撮影された平面座標値で表現される平面画像と前記傾き情報とを、ネットワークを介して前記情報処理装置へ転送するものであり、
当該情報処理装置は、前記平面画像を球面座標値で表現される球面画像へ変換するための変換データを用いて球面画像を生成する生成手段を備え、
前記変換データは、前記傾き情報に応じて補正され、
前記生成手段は、該補正された変換データを用いて、前記撮像素子により撮影された複数の平面画像のそれぞれを複数の球面画像へ変換し、該複数の球面画像を結合して、全天球画像を生成すること
を特徴とする情報処理装置。
【請求項7】
全天球を撮影する撮像装置とネットワークを介して接続される情報処理装置を実行させるプログラムであって、
前記撮像装置は、
それぞれが異なる方向を撮影する複数の撮像素子と、
前記複数の撮像素子に対応する複数のレンズと、
前記複数の撮像素子が撮影した際の前記撮像装置の重力方向に対する傾きを検
出し傾き情報として出力する検出手段と、
を備え、
前記撮像素子により撮影された平面座標値で表現される平面画像と前記傾き情報とを、ネットワークを介して前記情報処理装置へ転送するものであり、
当該プログラムは、
前記平面画像を球面座標値で表現される球面画像へ変換するための変換データを用いて球面画像を生成する球面画像生成処理と、
前記変換データを、前記傾き検出処理で検出した前記傾きに応じて補正する変換データ補正処理と、
を含み、
前記球面画像生成処理は、変換データ補正処理により補正された変換データを用いて、複数の前記転送された平面画像のそれぞれを複数の球面画像へ変換するものであり、
前記球面画像生成処理が生成した前記複数の球面画像を結合して全天球画像を生成する全天球画像生成処理をさらに備えること
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置、撮像システム、情報処理装置、及びプログラムに関する。
【背景技術】
【0002】
従来、全方位(又は全天球)を撮像する装置として、双曲面ミラーを用いたものや、魚眼レンズを用いたもの等が存在する。これらは、特殊な光学系であり、ユーザにとって可視化可能な画像にするためには、歪み補正や射影変換といった非線形な画像変換を行う必要がある。
【0003】
魚眼レンズを用いた広角撮影により得られる半球を記録した歪曲円形画像より、その一部を切り出し、コンピュータで画像処理を行って歪曲している画像を平面正則画像に変換する技術が既に知られている。
【0004】
さらに、そのような画像処理を行う際に、円形歪曲画像の中心位置が天頂方向と正しく一致していない場合に、ユーザに傾き角度のパラメータを指定させることにより、画像の歪曲補正時の負荷を軽減する技術も存在しており、既に知られている。
【0005】
このように、撮像装置が傾いた状態で撮影されると、鉛直方向の間違った全方位(全天球)画像が作成される可能性があり、それを解決するための発明が既に知られている。
【0006】
特許文献1又は特許文献2には、非線形な画像変換工程に、カメラの傾きに応じた回転変換を追加することにより、鉛直方向の正しい全方位(全天球)画像を作成する技術が開示されている。
【0007】
また、特許文献3又は特許文献4には、鉛直方向の正しい全方位(全天球)画像を生成するのに要する時間の短縮化、又は演算コストの低減を達成する目的で、歪み補正や射影変換に加え、カメラの傾きに応じた回転変換を加えて一括して非線形変換を行うための変換テーブルを事前に作成しておき、撮影時にはこの変換テーブルによる一括変換を行うことにより、鉛直方向の正しい全方位(全天球)画像を高速に作成する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、今までの全天球撮像装置では、一度に複数の撮影方向から撮影した複数の画像を繋ぎあわせ、、さらに、平面正則画像に変換して表示する際に、ユーザによる撮影時の傾き角度の指定が必要であり、撮影時に補正に必要なパラメータを取得して自動的に画像の補正を行うことができないという問題があった。
【0009】
また、従来行われてきた、傾きに対応した変換テーブルを用いて画像を処理する全方位(全天球)撮像方法では、傾きの量や向きが変化した場合、変換テーブルを最初から改めて作り直す必要がある。この場合、撮像装置の任意の傾きに対応して、鉛直方向の正しい全方位(全天球)画像を生成するためには、処理に時間がかかるという問題があった。
【0010】
特に、特許文献3又は特許文献4に記載された技術は、カメラの傾きに応じた回転変換を含む変換テーブルを用いて画像生成を行っているが、事前に定めた傾き量に応じた変換テーブルを用いている。すなわち、傾きの量や向きが定めた傾きとは異なって変化した場合、変換テーブルを最初から作成し直すため、撮像装置の任意の傾きに対応して、鉛直方向の正しい全方位(全天球)画像生成を行うには、処理に時間がかかるという問題は依然として解決されていない。
【0011】
そこで、本発明は、上記従来の問題点に鑑みてなされたもので、撮像装置の任意の傾きに対応して、鉛直方向の正しい全方位(全天球)画像を生成することが可能な撮像装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するため、請求項1に記載の本発明における撮像装置は、全天球を撮影する撮像装置であって、それぞれが異なる方向を撮影する複数の撮像素子と、前記複数の撮像素子に対応する複数のレンズと、前記複数の撮像素子が撮影した際の前記撮像装置の重力方向に対する傾きを検出する傾き検出手段と、前記撮像素子により撮影された平面座標値で表現される平面画像を球面座標値で表現される球面画像へ変換するための変換データを用いて球面画像を生成する生成手段と、を備え、前記変換データは、前記傾き検出手段が検出した前記傾きに応じて補正され、前記生成手段は、該補正された変換データを用いて、前記撮像素子により撮影された複数の平面画像のそれぞれを複数の球面画像へ変換し、該複数の球面画像を結合して、全天球画像を生成することを特徴とする。
【発明の効果】
【0013】
本発明によれば、全方位(全天球)撮像装置において、撮像装置の任意の傾きに対応して、鉛直方向の正しい全方位(全天球)画像を生成することが可能となる。
【図面の簡単な説明】
【0014】
【
図1】実施形態における撮像装置の全体構成について説明する概略ブロック図である。
【
図2】実施形態における全方位(全天球)撮像装置の側面視における外観を示す図である。
【
図3】実施形態における撮像装置の動作フローについて説明するフローチャート図である。
【
図4】実施形態における撮像装置に用いられる魚眼レンズの射影関係について(a)魚眼レンズの側面視における外観、(b)撮影画像の平面視における射影関数f、をそれぞれ説明する図である。
【
図5】実施形態における撮像装置で撮影された全方位(全天球)画像フォーマットについて、(a)平面で表した場合、(b)球面で表した場合、についてそれぞれ説明する図である。
【
図6】実施形態における撮像装置で撮影された全方位(全天球)画像生成処理の概要について、(a1)(a2)2つの魚眼レンズで撮影された画像、(b1)(b2)変換テーブルによって変換された魚眼レンズで撮影された画像、(c)変換後の2つの画像が組み合わせられることにより生成された画像、をそれぞれ説明する図である。
【
図7】実施形態における撮像装置で撮影された全方位(全天球)画像の変換テーブルについて、(a)変換前後の画像座標値のマトリクス、(b)変換後画像の座標値、(c)変換前画像の座標値、をそれぞれ説明する図である。
【
図8】実施形態における撮像装置で撮影された全方位(全天球)画像に対する変換テーブルの補正処理の動作フローについて説明するフローチャート図である。
【
図9】実施形態における撮像装置の傾きについて説明する概略図である。
【
図10】実施形態における撮像装置で撮影された全方位(全天球)画像の鉛直補正演算について、(a)カメラ座標系、(b)グローバル座標系、を用いて説明する図である。
【
図11】実施形態における撮像装置で撮影された全方位(全天球)画像の鉛直補正演算の他の例について、(a)カメラ座標系、(b)グローバル座標系、を用いて説明する図である。
【
図12】実施形態における撮像装置で撮影された全方位(全天球)画像に対する変換テーブルの補正処理の動作フローの他の例について説明する図である。
【
図13】他の実施形態における撮像システムの全体構成について説明する図である。
【
図14】他の実施形態における撮像システムの転送先デバイスの電子回路の全体構成について説明する概略ブロック図である。
【
図15】他の実施形態における撮像システムの動作フローについて説明するフローチャート図である。
【
図16】全方位(全天球)を一度に撮影する多眼の撮像装置の構成について説明する図である。
【
図17】
図16の多眼の撮像装置における1つのレンズから得られる画像について説明する図である。
【
図18】
図17で得られた画像に歪曲補正を施した上で接合した画像について説明する図である。
【
図19】
図16の多眼の撮像装置を傾けて撮影を行った場合の画像について説明する図である。
【
図20】
図19の画像を、傾きを考慮せずに歪曲補正と画像合成を行った場合の画像について説明する図である。
【
図21】傾き角度を計測する加速度センサを模式的に説明する図である。
【発明を実施するための形態】
【0015】
本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化乃至省略する。本実施形態では、全方位(全天球)撮像装置において、全方位(全天球)画像の生成を行うに際して、鉛直方向を検出し、画像処理に用いる変換テーブルに対して鉛直方向に応じた補正を行う。本実施形態では、この補正された変換テーブルを用いて全方位(全天球)画像の生成を行うことにより、最初から変換テーブルを作成し直す必要がなく、処理時間が短縮される。なお、撮像装置とは、デジタルカメラのような単体の装置を意味し、撮像システムとは、複数の装置、例えば、デジタルカメラと、情報処理装置とが分離して利用されるものと意味するが、本実施形態で、特に、断りがなければ、撮像装置は撮像システムを概念的に含むものとする。
【0016】
ここで、全方位(全天球)を一度に撮影する多眼の撮像装置について説明する。
図16は、全方位(全天球)を一度に撮影する多眼の撮像システムの構成について説明する図である。
図16において、全方位(全天球)を一度に撮影するために、広角レンズを複数枚用いる撮像システムを作成する。
【0017】
例えば、
図16の左側の多眼の撮像装置において、1つの撮像レンズで180度以上の画角を有する魚眼レンズ(超広角レンズ)を利用すると、最小の構成として、2眼(2つの異なる撮像方向を持つ撮像レンズ)の構成のみで全方位(全天球)を一度に撮影することができる。2眼以外であっても、なるべく画像の歪みを軽減したい場合には、中心部分の画質が良い部分のみを選択的に利用する、
図16の右側に示した4眼(4つの異なる撮像方向を持つ撮像レンズ)の構成を取るなど、さらに撮像レンズを増やすこと等も可能である。この4眼の撮像装置では、1眼が90度以上、好ましくは100度前後の画角を有するレンズを用いることが望まれる。
【0018】
以下の説明において、基本的な概念は
図16の右側に示した4眼の構成でも適用可能であるが、基本概念を理解し易くするため、以下の説明は2眼の構成の撮像装置を例示に用いる。
【0019】
この撮像装置においては、撮像装置の縦方向の中心軸が、天球の垂直軸と一致することを想定している。例えば、2つの魚眼レンズを用いて各々のレンズから得られる画像は、
図17のようになっている。
図17は、
図16の左側の2眼の撮像装置における1つのレンズを通して得られる画像について説明する図である。このように、撮影した者が認識する天頂と、水平線とが一致するように撮像されることが好ましい。
【0020】
なお、図中の180度の境界とは、2つのレンズ(2つの撮像方向)を持つ、撮像システムでは、互いに重畳する領域を持つように撮像することにより、この重畳する領域を用いて画像の繋ぎ合わせを行う。この180度の境界よりも外側部分が、この重畳する領域である。したがって、2つのレンズを用いる場合は、1つのレンズ側は180度以上、好ましくは190度前後の画角を有して、重畳する領域を設けることになる。たとえば、4眼であれば、100度前後の画角を有すれば、適切な重畳する領域を設定することができる。
【0021】
図16の右側に示したレンズを4つ使用する構成であっても、撮像装置が正しく垂直に向けられて撮影された場合には、同様に水平線が正しく水平に撮影される。また、天頂の位置も一致する。この様にして撮影された画像を繋ぎ合わせて歪曲補正を行う手法が広く知られている。
【0022】
例えば、複数の画像の歪曲補正を行いつつ、地図のメルカトール図法的に繋ぎ合わせた場合には以下の
図18に示すような画像が得られる。
図18は、
図17で得られた画像に歪曲補正を施した上で接合した画像について説明する図である。
【0023】
撮像装置が正しく垂直方向に載置され、傾くことなく撮影されると、歪曲補正を行って接続するだけで、
図18に示すように水平線が正しく直線となるような画像を得ることができる。撮像装置を何らかの固定具に装着し、水準器等を用いて水平/垂直を調整して撮影される場合には、正しく垂直方向の撮影が可能となる。
【0024】
図19は、
図16の右側に示した多眼、2眼の撮像装置を傾けて撮影された場合の画像について説明する図である。一般的に、人間が手に持って撮影する場合には、水平で垂直に撮影されることは難しい。
図19は、そのような状況で撮影された画像の例示で、互いの画像の天頂部がずれ、水平線が歪む。このように、傾いて撮影された画像を、何ら傾きを考慮せずに歪曲補正及び接続を行うと、
図20に示すように、
図19で現れた水平線の歪みがそのまま反映された画像となってしまう。
【0025】
この
図20のように、撮像装置が傾いている場合に、傾き角を考慮せずに歪曲補正と画像の接合を行うと、水平線が三角関数的な曲線となってしまい、また、角度の直交性も崩れてしまう。そのため、鉛直方向からの傾き角を考慮した補正を行う必要がある。
【0026】
ここで、傾き角度を測定する原理について
図21を用いて説明する。
図21は、傾き角度を計測する加速度センサを模式的に説明する図である。撮像装置内に、
図21に示すような加速度センサを内蔵させ、撮像装置が鉛直方向からどの程度傾いているのかを重力加速度センサを用いて測定する。
【0027】
図21では、簡単化のために、2眼構成でレンズ面の中心軸を含む平面内での傾きのみを取得することを表すため、1軸の加速度センサを用いた角度取得の概要を図示している。ただし、実際にユーザが撮影を行う場合には、上述した平面から捩れた角度で撮影が行われることが想定される。そのため、加速度センサとしては、3軸の物を用いて、2つのレンズ中心面を含む平面からの捩れ角度も測定できるようにする。
【0028】
次に、本実施形態における撮像装置について詳細に説明していく。
図1は、実施形態における撮像装置の電子的な回路の全体構成について説明する概略ブロック図である。
図1において、撮像装置(以下、「デジタルカメラ」ともいう。)100は、撮像素子1 109と、撮像素子2 110と、SDRAM(Synchronous Dynamic Random Access Memo
ry)111と、外部ストレージ112と、加速度センサ113とが、それぞれコントローラ10に接続されている。
【0029】
ここで、本実施形態では、2つの撮像素子(いわゆる2眼)を用いて、全方位の画像を取得する構成としているが、この撮像素子は3つ以上でも良い。この撮像素子が3つ以上の場合、
図2で説明する撮像素子に対応するレンズとしては、180度以上の画角を有する必要は無く、適宜に画角を調整することが可能である。なお、一般的には、レンズとしては、魚眼レンズを含む広角レンズが用いられる。また、撮像装置としては、全方位に限らず、水平方向に360度をカバーするような画像を取得できるものであっても良い。
【0030】
コントローラ10は、CPU(Central Processing Unit)101と、SRAM(Static RAM)102と、ROM(Read Only Memory)103と、画像処理ブロック104と、SDRAM I/F(Inter/Face)105と、外部ストレージI/F 106と、外部センサI/F 107とを具備している。
【0031】
なお、この実施形態において、画像処理ブロック104は、歪み補正、画素欠陥補正等の一般的な画像処理を行い、CPUが所定のテーブルやプログラムを読み出して、デジタルカメラ100の傾きにより鉛直方向の補正処理を行うことで説明を行っている。しかしながら、鉛直方向の補正処理を、画像処理ブロック104で行っても良いことはいうまでもない。
【0032】
撮影時は、撮像素子1 109及び撮像素子2 110によって、デジタル化された画像データがコントローラ10の画像処理ブロック104に入力される。入力された画像データは、画像処理ブロック104、CPU101、SRAM102、SDRAM111等を使って画像処理され、最終的に外部ストレージ112に保存される。なお、外部ストレージとしては、例えば、コンパクトフラッシュ(登録商標)、SD(Secure Digital)メモリ等が挙げられる。
【0033】
さらに、コントローラ10には、外部の機器に接続するためのUSB(Universal Serial Bus)接続I/Fやネットワークに接続するための有線又は無線のネットワークI/Fが設けられても良い。なお、後述する変換テーブル、変換テーブルの補正処理プログラム、鉛直補正演算の処理プログラムは、先のSRAM102や、SDRAM111に記憶されている。
【0034】
加速度センサ113は、デジタルカメラ100の撮影時の傾きを検出するために使用される。これにより、デジタルカメラ100の傾き方向の検出を瞬時に、かつ容易に行うことができる。
【0035】
加速度センサ113は、デジタルカメラ100に対して、上下、左右、前後の互いに直交する3方向の加速度を検出する3軸加速度センサである。例えば、デジタルカメラ100が静止するように手で保持した場合、加速度センサ113は重力加速度のみを検出する。
【0036】
よって、上下方向の下方向のみの加速度が検出された場合には、デジタルカメラ100の上下方向と、地上面の天地方向とが一致していることが分かる。つまり、一般的にデジタルカメラを操作するようにデジタルカメラを水平になるように保持していることが分かる。
【0037】
また、天地方向から傾いている場合には、傾き方に応じて、加速度センサ113は、左右、前後の方向に対して加速度が検出され、上下、左右、前後の加速度の大きさの比によって、デジタルカメラ100の傾き角度を求めることができる。
【0038】
次に、全方位(全天球)撮像装置について説明する。
図2は、実施形態における全方位(全天球)撮像装置の側面視における外観を示す図である。
【0039】
本実施形態では、撮影地点からの全ての方向を撮影することが可能な全方位(全天球)撮像装置によって全方向(全天球)画像を生成することを対象としている。すなわち、全方向(全天球)撮像装置(デジタルカメラ)は、撮影地点から見渡すことのできる全ての方向を撮影することができるのである。
【0040】
全方向(全天球)撮像装置であるデジタルカメラ100(
図1)は、180度を超える画角を有する広角レンズの一例である魚眼レンズを備えた2つの撮像素子1 109、撮像素子2 110によって画像を撮影する。この2つの魚眼レンズを介して2つの撮像素子で撮影された画像は、互いに重畳する部分を有する。そこで、所定の歪み補正等の画像処理を施してから変換し、2つの画像を繋ぎ合わせることによって全方向(全天球)画像を作成する。
【0041】
次に、実施形態における全方向(全天球)撮像装置の動作について説明する。
図3は、実施形態における撮像装置の動作フローについて説明するフローチャート図である。
図3を用いて、撮像画像が入力された後、当該画像を外部ストレージ112(
図1)に保存するまでの動作について説明する。
【0042】
ステップ(以下、「S」という。)301では、加速度センサ113が、デジタルカメラ100の傾き角度を検出する。そして、S302では、S301で検出されたデジタルカメラ100の傾き角度に応じて、コントローラ10は、例えば、SDRAM 111に記憶されている変換テーブルを読み出し、所定の補正方法にて変換テーブルを補正する。なお、変換テーブルの補正方法については後述する。
【0043】
次に、S303では、撮像素子1(付番 109)、撮像素子2(付番 110)によって撮影されたデジタル化された2つの魚眼画像が画像処理ブロック104に入力される。この画像処理ブロック104では、一般的な歪み補正等画像処理を行う。そして、S304では、コントローラ10が、S302で補正された変換テーブルを用いて、撮影された2枚の魚眼画像(
図17で得られるような画像)を変換する。なお、変換方法については後述する。
【0044】
次に、S305では、コントローラ10は、S304で変換された2枚の画像の重畳する部分を利用して、合成した全方位(全天球)画像を生成する。そして、S306では、コントローラ10は、外部ストレージI/F 106を介して、S305で生成された全方向(全天球)画像を、外部ストレージ112に保存する。
【0045】
次に、本実施形態におけるデジタルカメラで用いられる広角レンズの一例である魚眼レンズの射影関係について説明する。
図4は、実施形態におけるデジタルカメラに用いられる魚眼レンズの射影関係について(a)魚眼レンズの側面視における外観、(b)撮影画像の平面視における射影関数f、をそれぞれ説明する図である。
【0046】
180度を超える画角を有する魚眼レンズを通して撮影された画像は、
図17のように撮影位置から略半球分のシーンの撮影画像となる。そして、
図4(a)、(b)に示すように、入射角度θに対応する像高hで画像生成され、入射角度θと像高hとの関係は、射影関数fによって定められている(h=f(θ))。なお、射影関数は、魚眼レンズの性質によって異なるものである。
【0047】
射影変換の方式(関数)としては、中心射影方式、立体射影方式、等距離射影方式、等立体角射影方式、正射影方式を挙げることができる。中心射影方式は、通常の画角を有するレンズを備えるデジタルカメラで撮影する際に用いられる方式であり、その他4つの方式は、魚眼レンズなどの超広角な画角を持つ広角レンズを用いたデジタルカメラで利用される方式である。
【0048】
次に、本実施形態におけるデジタルカメラで撮影された全方位(全天球)画像のフォーマット(表現方式)について説明する。
図5は、本実施形態におけるデジタルカメラで撮影された全方位(全天球)画像フォーマットについて、(a)平面で表した場合、(b)球面で表した場合、についてそれぞれ説明する図である。
【0049】
図5において、全方位(全天球)画像のフォーマットは、
図5(a)に示すように、平面に展開した場合、水平角度が0から360度、垂直角度が0から180度の、角度座標に対応する画素値を有する画像である。角度座標は、
図5(b)に示す球面上の座標点の各点と対応付けられており、地球儀上における緯度経度座標のようなものとなっている。
【0050】
魚眼レンズで撮影された画像の平面座標値と、全方位(全天球)画像の球面座標値との関係は、
図4で説明したような射影関数f(h=f(θ))を用いることによって対応付けることができる。これにより、魚眼レンズで撮影された画像2枚を変換して結合(合成)することによって、
図5(a)や
図5(b)に示すような全方位(全天球)画像を作成することができる。
【0051】
次に、実際に魚眼レンズで撮影された画像を用いて全方向(全天球)画像が生成される過程について説明する。
図6は、実施形態におけるデジタルカメラで撮影された全方位(全天球)画像生成処理の概要について、(a1)(a2)2つの魚眼レンズを介して各撮像素子で取得した画像、(b1)(b2)変換テーブルによって変換された画像(
図5(a)に対応)、(c)変換後の2つの画像が組み合わせられる(合成される)ことにより生成された画像(
図5(b)に対応)、をそれぞれ説明する図である。
【0052】
図6において、
図17に示したような、2つの魚眼レンズを介して各撮像素子で撮影された画像(a1)(a2)は、
図3で説明したS304の処理、すなわち、補正後の変換テーブルを用いた画像変換処理によって、それぞれ(b1)(b2)に変換される。この時点で、画像(b1)(b2)は、全方向(全天球)画像フォーマットに合致した表現形式、すなわち、
図5(a)に対応する表現となっている。
【0053】
図3のS305の処理、すなわち、2枚の変換後の画像が組み合わせられ、全方位(全天球)画像が生成される。すなわち、画像(b1)と(b2)とが重複している部分をキーにして、重ね合わせて合成され、画像(c)、すなわち、全方位(全天球)画像が生成される。
【0054】
次に、
図3のS304で説明した変換テーブルの補正方法について説明する。
図7は、本実施形態におけるデジタルカメラで撮影された全方位(全天球)画像の変換テーブルについて示す。
【0055】
図7(a)は、変換前後の画像座標値のマトリクスを示した変換テーブル(変換データともいう。)を説明する図である。また、
図7(b)と(c)は、(b)変換後画像の座標値、(c)変換前画像の座標値の関係を説明する図である。
【0056】
図3のS304で説明した画像変換に用いられる変換テーブルは、
図7(a)に示すように変換後画像の座標値である(θ、φ)(pix:ピクセル)と、それに対応する変換前画像の座標値(x、y)(pix)とのデータセットを、すべての変換後画像の座標値に対して有する。ここで、変換テーブルとして、テーブル状のデータ構造を示しているが、必ずしもテーブル状のデータ構造でなくても良い。つまり、変換データであれば良い。
【0057】
図7(a)に示した変換テーブルにしたがって、撮像された画像(変換前画像)から変換後画像を生成する。具体的には、
図7(b)、(c)に示すように、変換前と変換後の変換テーブル(
図7(a))の対応関係から、変換後画像の各画素を、座標値(θ、φ)(pix)に対応する変換前画像の座標値(x、y)(pix)の画素値を参照することによって生成する。
【0058】
次に、本実施形態におけるデジタルカメラで撮影された全方位(全天球)画像に対する変換テーブルを、デジタルカメラの傾きに応じて補正する処理について説明する。
図8は、本実施形態におけるデジタルカメラで撮影された全方位(全天球)画像に対する変換テーブルの補正処理の動作フローについて説明するフローチャート図である。
【0059】
図8において、S801では、コントローラ10が、加速度センサ113(
図1)で検出されたデジタルカメラ100の傾斜値に基づいて、カメラ傾きパラメータ(α、β)が取得される。ここで、カメラ傾きパラメータ(α、β)において、α、βはそれぞれ回転角を表すが、詳細ついては後述する。
【0060】
次に、S802では、変換テーブルの入力値(θ1、φ1)がセットされる。なお、
図8において、カメラ座標系については(θ0、φ0)、グローバル座標系については(θ1、φ1)と表記し、座標系に依存するパラメータ値である(θ、φ)を区別して表記する。すなわち、ここでは、グローバル座標系である(θ1、φ1)がセットされる。
【0061】
次に、S803では、コントローラ10による鉛直補正演算によって、入力値のグローバル座標系である(θ1、φ1)が、カメラ座標系である(θ0、φ0)に変換される。なお、鉛直補正演算については後述する。
【0062】
次に、S804では、変換されたカメラ座標系である(θ0、φ0)が、補正前の変換テーブル(
図7(a))を用いて変換前画像の座標値(x、y)に変換される。なお、予め、カメラが傾いていない条件の下で作成された正確な全方位(全天球)画像が生成されるための変換テーブルを、事前に準備しておき、所定の記憶部(SRAMやSDRAM)に記憶させておく必要がある。
【0063】
次に、S805では、コントローラ10は、グローバル座標系の入力値(θ1、φ1)と、最終的に算出された補正前の座標値(x、y)とを、補正後の変換テーブルの対応する座標セットとして保存する。
【0064】
次に、S806では、コントローラ10は、未処理の入力値(θ1、φ1)、すなわち、対応する補正前の座標値(x、y)が算出されていないグローバル座標系の入力値(θ1、φ1)が残っているか否かが判定される。残っていれば(S806:YES)、次の値としてグローバル座標系の入力値(θ1、φ1)がセットされるように、S802の処理に戻る。
【0065】
残っていなければ(S806:NO)、処理を終了する。この場合、コントローラ10は、グローバル座標系の入力値(θ1、φ1)を座標値として有する、全方位(全天球)画像フォーマットの各画素に対応する補正前の座標値(x、y)の算出が完了したことになる。
【0066】
次に、本実施形態におけるデジタルカメラ100の傾きについて説明する。
図9は、本実施形態におけるデジタルカメラの傾きについて説明する概略図である。
【0067】
図9において、鉛直方向は、グローバル座標系のxyz3次元方向の直交座標におけるz軸に一致する。この方向と、
図9に示したデジタルカメラの向きとが一致するときが、カメラが傾いてない状態である。これが一致していないときは、デジタルカメラは傾いた状態となる。
【0068】
つまり、重力ベクトルからの傾き角度αと、xy平面での傾斜角度βとは、加速度センサの出力を用いて、次の式で求められる。ここで、Axは、加速度センサのカメラ座標系のx0軸方向成分の値、Ayは加速度センサのカメラ座標系のy0軸方向成分の値、Azは加速度センサのカメラ座標系のz0軸方向成分の値である。
【0069】
【0070】
次に、鉛直補正演算について説明する。
図10は、本実施形態におけるデジタルカメラで撮影された全方位(全天球)画像の鉛直補正演算について、(a)カメラ座標系、(b)グローバル座標系、を用いて説明する図である。
【0071】
図10において、グローバル座標系の3次元直交座標を(x1、y1、z1)、球面座標を(θ1、φ1)と表記し、カメラ座標系の3次元直交座標を(x0、y0、z0)、球面座標を(θ0、φ0)と表記する。
【0072】
図10に示した式を用いて、球面座標(θ1、φ1)から球面座標(θ0、φ0)への変換を行う。まず、傾きを補正するためには、3次元直交座標を用いて回転変換する必要があるため、
図10の(1)式から(3)式を用いて、球面座標(θ1、φ1)から3次元直交座標(x1、y1、z1)への変換を行う。
【0073】
次に、カメラ傾きパラメータ(α、β)を用いて、
図10に示した回転座標変換((4)式)により、グローバル座標系(x1、y1、z1)を、カメラ座標系(x0、y0、z0)に変換する。換言すれば、この式(
図10に示した(4)式)が、カメラ傾きパラメータ(α、β)の定義となる。
【0074】
これは、グローバル座標系を、まずz軸を軸にα回転させ、次にx軸を軸にβ回転させるとカメラ座標系になることを意味する。最後に、
図10に示された(5)式、
図10に示された(6)式を用いて、カメラ座標系の3次元直交座標(x0、y0、z0)を球面座標(θ0、φ0)に戻す変換を行う。
【0075】
次に、鉛直補正演算の他の例について説明する。
図11は、本実施形態におけるデジタルカメラで撮影された全方位(全天球)画像の鉛直補正演算の他の例について、(a)カメラ座標系、(b)グローバル座標系、を用いて説明する図である。
【0076】
この実施形態では、鉛直補正演算を高速化する。上記
図10に示した実施形態における演算式(1)から(6)は、
図11の演算式(7)から(14)ように書くこともできる。
【0077】
すなわち、z軸を軸とする回転α、γは、球面座標(θ、φ)のうちのθの回転そのものであるため、回転変換を、直交座標系に変換することなく、簡単な加減算で可能であり、高速化を可能とする。よって、x軸を軸とする回転βの回転変換のみ、直交座標系を用いた変換が必要となる。これにより、演算速度を上げることができる。
【0078】
次に、本実施形態におけるデジタルカメラで撮影された全方位(全天球)画像に対する変換テーブルの、デジタルカメラの傾きに応じた補正処理の他の例について説明する。
図12は、本実施形態におけるデジタルカメラで撮影された全方位(全天球)画像に対する変換テーブルの補正処理の動作フローの他の例について説明する図である。
【0079】
この実施形態では、変換テーブルに対する補正処理を高速化することができる。すなわち、
図11に示した実施形態においても、鉛直補正演算を高速化することにより、変換テーブルの補正処理を実施していたが、本実施形態では、鉛直補正演算を省略することにより高速化を図る。
【0080】
図12を用いて、変換テーブルの補正処理について説明すると、S1201では、カメラ傾きパラメータ(α、β)を取得する。この処理は、
図8のS801の処理と同じである。
【0081】
次に、S1202では、カメラ傾きパラメータ(α、β)の値に対応した変換テーブルを取得して処理を終了する。すなわち、変換テーブルを各々はカメラ傾きパラメータ(α、β)に応じて異なる値となるように複数保持しておくことで、鉛直補正演算の処理を省略する。
【0082】
つまり、カメラ傾きパラメータ(α、β)は、原理的には3次元の実数ベクトルであるが、特定の(α、β)に対してのみ変換テーブルを用意しておいて、検出された(α、β)に最も近いテーブルを採用することで、すべての場合に対して対応が可能である。もしくは、検出された(α、β)に近いテーブルを複数抽出し、近さに応じた重み付けや差分を取るといった補間演算を行うことも有効である。これにより、補間演算という比較的単純な演算のみで変換テーブルの補正を行うことができ、演算に掛かる処理を抑制することができる。
【0083】
次に、他の実施形態における撮像システムの全体構成について説明する。
図13は、他の実施形態における撮像システムの全体構成について説明する概略ブロック図である。上述した実施形態では、全天球の撮像装置(デジタルカメラ)内で傾きを補正する処理を行っていたが、必ずしも、全天球の撮像装置内で傾きを補正する必要はない。
【0084】
図13に示すように、全天球の撮像装置に、有線又は無線を用いた通信機能を付加することにより、コンピュータや携帯情報端末(スマートフォンやタブレットPC)といった、画像処理を行うことが可能な情報処理装置に対して補正前の画像を転送する。そして、転送先の情報処理装置(転送先デバイス)において、傾きを補正する処理を実施することも可能である。
【0085】
ただし、傾き補正処理には、全天球の撮像装置の傾き情報が必要となる。全天球の撮像装置の傾き情報は、撮像装置本体でのみしか検出できないため、補正前の画像と共に、傾き情報も併せて転送する必要がある。また、変換テーブルについては、全天球の撮像装置内に保持しておき、画像と共に転送しても良いし、また、撮影前の準備として、事前(例えば、転送先デバイスが撮像装置を認識したとき、又は撮像装置が転送先デバイスを認識したとき)に転送先のデバイス(転送先デバイス)に対して転送しておいても良い。
【0086】
さらに、変換テーブルは、毎回、画像と共に転送する必要はなく、転送先デバイスが、変換テーブルを要求したり、変換テーブルが最新か否かを確認してから、転送しても良い。さらに言えば、必ずしも撮像装置から変換テーブルが送信される必要もない、例えば、撮像装置を販売している製造者のWEBサイト等からダウンロードできるようにしておき、転送先デバイスに格納されても良い。なお、撮像装置から転送される変換テーブルは、個々の撮像装置に適した変換テーブルにカスタマイズされていても良い。
【0087】
次に、他の実施形態における撮像システムの転送先デバイス200について説明する。
図14は、他の実施形態における撮像システムの転送先デバイス200の電子回路の全体構成について説明する概略ブロック図である。
図14において、SDRAM1411と、外部ストレージ1412とが、それぞれコントローラ140に接続されている。
【0088】
コントローラ140は、CPU1401と、SRAM1402と、ROM1403と、画像処理ブロック1404と、SDRAM I/F1405と、外部ストレージI/F 1406と、を具備している。さらに、コントローラ140は、外部の機器に接続するためのUSB接続I/F 1407と、ネットワークに接続するための有線又は無線のネットワークI/F 1408と、を具備している。
【0089】
なお、上述した実施形態では、画像処理ブロック1404が、歪み補正、画素欠陥補正等の一般的な画像処理を行っていることとして説明してきた。また、CPU1401が、所定のテーブルやプログラムを読み出し、デジタルカメラ100の傾きにより鉛直方向の補正処理を行っていることとして説明してきた。しかしながら、鉛直方向の補正処理を、画像処理ブロック1404で行っても良いことはいうまでもない。
【0090】
次に、他の実施形態における撮像システムの動作について説明する。
図15は、他の実施形態における撮像システムの動作フローについて説明するフローチャート図である。
図15では、撮像画像が入力された後、当該画像が転送先デバイスのストレージに保存されることを説明している。
【0091】
まず、デジタルカメラ100内の処理が行われる。S1501では、加速度センサ113(
図1)により、デジタルカメラ100の傾き角度が検出される。そして、S1502では、コントローラ10により、撮像素子1(付番 109)及び撮像素子2(付番 110)によって撮影されデジタル化された2つの魚眼画像(
図17のような画像)が、
図13に示したようにUSB接続I/F 1407又はネットワークI/F 1408を介して転送先デバイス200、例えば携帯情報端末やコンピュータに転送される。併せて、デジタルカメラの傾き情報、及び変換テーブルが、USB接続I/F 1407又はネットワークI/F 1408を介して転送先デバイス200に転送される。
【0092】
なお、先述したように、デジタルカメラ100と転送先デバイス200とが互いに認識した際に、変換テーブルを転送しておいても良い。さらに、一度、変換テーブルが転送先デバイス200に転送されていれば良く、毎回、変換テーブルは転送される必要はない。
【0093】
変換テーブルは、例えば、デジタルカメラ100に接続されたSDRAM1411に記憶されており、そこから読み出され転送される。ここまでが、デジタルカメラ100内における処理である。次のステップからは、転送先デバイス200内において実行される処理となる。
【0094】
S1503では、転送されたデジタルカメラの角度情報である傾き情報に応じて、コントローラ140において、所定の補正方法を用いることにより変換テーブルが補正される。なお、変換テーブルの補正方法については、上述した実施形態の通りである。次に、S1504では、転送された2つの撮像素子による魚眼画像が、転送先デバイス200の画像処理ブロック1404に入力される。
【0095】
この画像処理ブロック1404では、一般的な歪み補正等の画像処理が行われる。そして、S1505では、コントローラ140により、S1503で補正された変換テーブルを用いて、2枚の魚眼画像が変換される。なお、変換方法は、上記した実施形態と同様である。
【0096】
次に、S1506では、コントローラ140によって、S1505で変換された2枚の画像の重畳する部分を利用して、合成した全方位(全天球)画像が生成される。そして、S1507では、コントローラ140によって、外部ストレージI/F 1406を介して、S1506で生成された全方向(全天球)画像が、外部ストレージ1412に保存される。
【0097】
なお、
図3、8、12、及び
図15に示した実施形態におけるフローチャートに係る動作は、コンピュータ上のプログラムに実行させることができる。すなわち、撮像装置の動作を制御するCPU(制御回路)101(
図1)、又は転送先デバイス200の動作を制御するCPU(制御回路)1401(
図14)が、ROM103、1403、SRAM102、1402の記憶媒体に格納されたプログラムをロードし、プログラムの処理ステップが順次実行されることによって行われる。
【0098】
以上説明してきたように、全方位(全天球)撮像装置、又は撮像システムにおいて、鉛直方向を検出し、画像処理に用いる変換テーブルに対して鉛直方向に応じた補正を行い、補正された変換テーブルを用いて全方位(全天球)画像生成を行ことにより、最初から変換テーブルを作成し直す必要がないため、処理時間を短縮することができるのである。
【0099】
以上、好適な実施の形態により説明した。ここでは特定の具体例を示して説明したが、特許請求の範囲に定義された広範囲な趣旨及び範囲から逸脱することなく、これら具体例に様々な修正及び変更が可能である。
【符号の説明】
【0100】
10、140 コントローラ
100 撮像装置
101、1401 CPU
102、1402 SRAM
103、1403 ROM
104、1404 画像処理ブロック
105、1405 SDRAM I/F
106、1406 外部ストレージI/F
107 外部センサI/F
109 撮像素子1
110 撮像素子2
111、1411 SDRAM
112、1412 外部ストレージ
113 加速度センサ
200 転送先デバイス
1407 USB接続I/F
1408 ネットワークI/F
【先行技術文献】
【特許文献】
【0101】
【文献】特開2003-223633号公報
【文献】特開2006-059202号公報
【文献】特開平11-309137号公報
【文献】特許第4175832号公報