(58)【調査した分野】(Int.Cl.,DB名)
前記選択部は、前記第1の静止画像および前記第2の静止画像における前記投影球の中心から見た前記特定の位置の方向に近い画像の向きを有する方を選択することを特徴とする請求項1に記載の画像処理装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
パノラマ画像は、特定の視点を中心とした投影球面を設定し、その内周面に複数の画像を投影することで作成される。この際、隣接する画像同士が一部重複するようにすることで、複数の画像が合成され、パノラマ画像が得られる。パノラマ画像を構成する各画像の視点が一致していれば、原理的に画像間のつながりの不連続性や画像の歪みは生じない。しかしながら、合成の対象となる複数の画像の視点が一致しているとは限らない。例えば、複数のカメラを備えた全周カメラの場合、物理的に各カメラの視点の位置を一致させることができないので、厳密に見ると画像同士のつなぎ目の部分でのズレ、および画像全体で見た場合の歪みが存在する。
【0005】
このような背景において、本発明は、複数の画像を合成することでパノラマ画像を得る技術における異なるカメラ間の視点の違いに起因する問題を解決することを課題とする。
【課題を解決するための手段】
【0006】
請求項1に記載の発明は、異なる視点から重複する対象を撮影した第1の静止画像の画像データおよび第2の静止画像の画像データを受け付ける画像データ受付部と、前記第1の静止画像と前記第2の静止画像とを投影球に投影して合成画像を形成する合成画像形成部と、前記合成画像の中の特定の位置の指定を受け付ける指定受付部と、前記指定受付部で受け付けた指定位置を含む前記第1の静止画像または前記第2の静止画像の一方を選択する選択部とを備え、
前記第1の静止画像の視点、前記第2の静止画像の視点、および前記投影球の中心は、それぞれ異なる位置にある画像処理装置である。
【0007】
請求項1に記載の発明によれば、合成画像(パノラマ画像)が表示されている状態において、特定の部分が指定されると、当該部分を含む単写真画像(パノラマ画像を構成する複数の静止画像の一つ)が選択される。単写真画像は、パノラマ画像における画像のつなぎ目の問題がないので、パノラマ画像におけるズレの問題が解消される。請求項1では、2つの静止画像が対象とされているが、複数ある静止画像に含まれる2つの画像を対象として請求項1を適用できる。したがって、対象となる静止画像は、3以上であってもよい。
【0008】
請求項2に記載の発明は、請求項1に記載の発明において、前記選択部は、前記第1の静止画像および前記第2の静止画像における前記投影球の中心から見た前記特定の位置の方向に近い画像の向きを有する方を選択することを特徴とする。請求項2に記載の発明によれば、指定された特定の位置が画面中のより中央に近い位置にある静止画像(単写真画像)が選択される。なお、画像の向きは、静止画像の画面に垂直な方向として定義される。なお、等価な定義として、当該静止画像の視点と当該静止画像の画面中心を結ぶ線の延長方向を画像の向きとして定義することもできる。
【0009】
請求項3に記載の発明は、請求項1または2に記載の発明において、前記第1の静止画像または前記第2の静止画像を表示装置に表示する制御を行う表示制御部を備え、前記第1の静止画像と前記第2の静止画像とは重複する部分があり、前記表示制御部は、前記第1の静止画像が表示されている状況において、前記重複する部分における特定の位置が指定された場合に、当該指定された位置が前記第1の静止画像の中心より、前記第2の静止画像の中心に近い場合に、前記第2の静止画像を表示させることを特徴とする。
【0010】
請求項3に記載の発明によれば、視線の変化に伴う静止画像(単写真画像)の切り替えが行われる。そしてその際、着目点がより中心にある静止画像の選択が行なわれる。
【0011】
請求項4に記載の発明は、異なる視点から重複する対象を撮影した第1の静止画像の画像データおよび第2の静止画像の画像データを受け付ける画像データ受付ステップと、前記第1の静止画像と前記第2の静止画像とを投影球に投影して合成画像を形成する合成画像形成ステップと、前記合成画像の中の特定の位置の指定を受け付ける指定受付ステップと、前記指定受付ステップで受け付けた指定位置を含む前記第1の静止画像または前記第2の静止画像の一方を選択する選択ステップとを備え、
前記第1の静止画像の視点、前記第2の静止画像の視点、および前記投影球の中心は、それぞれ異なる位置にある画像処理方法である。
【0012】
請求項5に記載の発明は、コンピュータに読み取らせて実行させるプログラムであって、コンピュータに異なる視点から重複する対象を撮影した第1の静止画像の画像データおよび第2の静止画像の画像データを受け付ける画像データ受付ステップと、前記第1の静止画像と前記第2の静止画像とを投影球に投影して合成画像を形成する合成画像形成ステップと、前記合成画像の中の特定の位置の指定を受け付ける指定受付ステップと、前記指定受付ステップで受け付けた指定位置を含む前記第1の静止画像または前記第2の静止画像の一方を選択する選択ステップとを実行させ、
前記第1の静止画像の視点、前記第2の静止画像の視点、および前記投影球の中心は、それぞれ異なる位置にある画像処理用プログラムである。
【発明の効果】
【0013】
本発明によれば、複数の画像を合成することでパノラマ画像を得る技術における異なるカメラ間の視点の違いに起因する問題を解決できる。
【発明を実施するための形態】
【0015】
1.第1の実施形態
(概要)
まず、視点が異なる複数の画像同士を合成した際に生じる問題について説明する。
図1には、位置(視点)が異なる3つのカメラを用いて一部が重複する静止画像を3枚撮影し、それを投影球の内周面に投影してパノラマ画像を作成する場合の原理が示されている。ここで、パノラマ画像の基となる静止画像を単写真画像という。単写真画像は、各カメラが撮影した静止画像であり、複数の単写真画像を合成することでパノラマ画像が得られる。例えば、
図1の場合、3台のカメラがあり、3枚の単写真画像が撮影され、3枚の単写真画像を合成することでパノラマ画像が得られている。投影球は、仮想的に設定されるもので、実際にそこに球面状の投影面があるとの設定の基に投影画像が形成される。
【0016】
図1の場合、パノラマ画像の視点は、投影球の中心になるが、パノラマ画像を構成する3枚の画像のそれぞれの視点は、投影球の中心に一致しない。したがって、厳密に見ると、像の歪みが発生する。また、2枚の画像の重複部分において、像のズレが発生する。パノラマ画像を周囲の大凡の展望を得るための画像として用いる場合、上記の現象は大きな問題とならないが、画像を用いた計測や画像に基づく図面の作成といった作業を行う場合、上記の現象が問題となる。
【0017】
そこで、上記の問題を解決する方法として、パノラマ画像の中の特定の点や領域が指定された場合に、指定された点や領域を含む単写真(パノラマ画像を構成する複数の静止画像の中の1枚)を選択し、当該単写真画像に表示を切り替える。この場合、パノラマ画像の視点(投影球の中心)から当該単写真画像を撮影した視点へと視点が変更される。単写真は、上述したパノラマ画像を得るための画像合成に伴う像の歪み、ズレといった問題がないので計測等の利用に耐える画像が得られる。
【0018】
図2には、
図1のパノラマ画像から単写真画像に切り替えた状態が示されている。この場合、
図1における視線の方向が検出され、その方向に最も近い視線(向き)を有する単写真画像が選択される。
図2には、その際に視点がC0→C1に変更され、パノラマ画像から単写真画像への変更(切替)が行なわれた状態が示されている。
【0019】
(ハードウェアの構成)
図3には、実施形態のブロック図が示されている。
図3には、画像処理装置100、全周カメラ200、レーザスキャナ300および表示装置400が示されている。
【0020】
画像処理装置100は、コンピュータとして機能し、後述する機能部を有する。全周カメラ200は、全方位撮影用多眼カメラであり、上方と周囲360°の撮影を行う。この例において、全周カメラ200は、6台のカメラを備えている。6台のカメラの内、5台のカメラは、水平方向に向けられ鉛直上方から見て等角な角度位置(72°毎)に配置されている。また、残りの1台のカメラは、鉛直上方(仰角90°)に向けられている。これら6台のカメラは、画角(撮影範囲)が一部重複するように設定されている。この6台のカメラから得られる静止画像を合成することでパノラマ画像が得られる。
【0021】
全周カメラ200において、各カメラの向きと位置の相対位置関係は予め調べられ、既知となっている。また、物理的な問題から、各カメラの視点(投影中心)の位置は一致していない。全周カメラについては、例えば、特開2012−204982号公報や特開2014−71860号公報に記載されている。全周カメラ200として市販品を用いることもできる。市販されている全周カメラとしては、Point Grey社製の商品名Ladybug3等がある。なお、全周カメラの代わりに回転機構を有するカメラを用いて撮影方向の違う複数の静止画像を得、この複数の静止画像を合成してパノラマ画像を得る形態も利用可能である。勿論、パノラマ画像は、全周画像に限定されず、特定の角度範囲におけるものであってもよい。全周カメラ200から異なる方向を撮影した複数の静止画像の画像データは、画像処理装置100に送られる。
【0022】
6台のカメラは、特定のタイミングで同時に静止画像を撮影する。撮影は、特定の時間間隔でもって行なうことも可能である。例えば、時差をもって6台のカメラを順次動作させ、得られた画像を合成することで全周画像を得ることも可能である。また、動画を撮影する形態も可能である。動画を撮影する場合、動画を構成するフレーム画像(例えば、1秒間に30枚撮影されるフレーム画像)が静止画像として取り扱われる。
【0023】
レーザスキャナ300は、対象物にレーザ光を照射し、その反射光を検出することで、対象物までの方向と距離を検出する。レーザスキャナ300は、レーザ照射部と反射光受光部を上下左右に首を振るように動かしながら、全周カメラ200の撮影範囲と同じ範囲のレーザスキャンを行う。レーザスキャナについては、特開2008―268004号公報や2010−151682号公報に記載されている。
【0024】
レーザスキャナ300と全周カメラ200の位置関係と向きの関係は予め取得されており、既知である。レーザスキャナ300が取得する点群位置データの座標系は、絶対座標系であってもよい、相対座標系におけるものであってもよい。絶対座標系というのは、GNSS等を用いて測定した位置を記述する座標系である。相対座標系というのは、全周カメラ200の機械中心やその他適当な位置を原点として記述される座標系である。
【0025】
表示装置400は、液晶ディスプレイ等の画像表示装置である。表示装置400として、タブレットやパーソナルコンピュータのディスプレイを利用することができる。表示装置400には、画像処理装置100で処理された画像のデータが送られ、その画像の表示が行なわれる。
【0026】
図3には、画像処理装置100が備える各機能部が示されている。画像処理装置100は、CPU、電子メモリやハードディスク装置等の各種の記憶装置、各種の演算回路、インターフェース回路を備え、後述する機能を実行するコンピュータとしての機能を有している。画像処理装置100は、画像データ受付部101、パノラマ画像形成部102、指定受付部103、視線検出部104、単写真画像選択部105、表示画像制御部106、点群位置データ取得部107、画像と点群画像の合成部108および三次元位置算出部109を備えている。
【0027】
これらの機能部は、ソフトウェア的な構成(プログラムがCPUによって実行されることで実現される構成)であってもよいし、専用の回路によって構成されていてもよい。また、ソフトウェア的に構成された機能部と、専用の回路によって構成された機能部が混在していてもよい。例えば、図示する各機能部は、CPU(Central Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)などの電子回路の1または複数の組み合わせにより構成されている。
【0028】
画像処理装置100を構成する各機能部を専用のハードウェアで構成するのか、CPUにおけるプログラムの実行によりソフトウェア的に構成するのかは、要求される演算速度、コスト、消費電力等を勘案して決定される。例えば、特定の機能部をFPGAで構成すれば、処理速度の上では優位であるが高コストとなる。他方で、CPUでプログラムを実行することで特定の機能部を実現する構成は、ハードウェア資源を節約できるので、コスト的に優位となる。しかしながら、CPUで機能部を実現する場合、処理速度は、専用のハードウェアに比較して見劣りする。また、CPUで機能部を実現する場合、複雑な演算に対応できない場合もあり得る。なお、機能部を専用のハードウェアで構成することとソフトウェア的に構成することは、上述した違いはあるが、特定の機能を実現するという観点からは、等価である。
【0029】
以下、画像処理装置100が備える各機能部について説明する。画像データ受付部101は、全周カメラ200が撮影した静止画像の画像データを受け付ける。具体的には、全周カメラ200が備える6台のカメラが撮影した静止画像の画像データが画像データ受付部101で受け付けられる。この6台のカメラが撮影した静止画像のそれぞれが単写真画像となる。
【0030】
パノラマ画像形成部102は、投影球を設定し、この投影球の内周面に画像データ受付部101が受け付けた6枚の静止画像(単写真画像)を投影する。この投影球への投影により、6枚の静止画像が合成されたパノラマ画像が得られる。このパノラマ画像は、投影球の中心から見る状態となる。投影球の半径は、予め定めた特定の値あるいは無限遠が採用される。投影球の中心の位置は、例えば全周カメラ200の機械的な重心の位置やその他扱いやすい位置が採用される。
【0031】
指定受付部103は、パノラマ画像形成部102で形成した合成画像(パノラマ画像)における着目点の指定を受け付ける。例えば、重複する対象を撮影した2枚の静止画像を合成したパノラマ画像があり、そのパノラマ画像がPC(パーソナルコンピュータ)の画面上に表示されている場合を考える。この場合、ユーザは、当該PCのGUI(グラフィカル・ユーザ・インターフェース)を操作して、拡大表示したい点を注目点として指定する。この操作内容に係るデータの受け付けが指定受付部103において行われる。
【0032】
視線検出部104は、投影球の中心(パノラマ画像の視点)から指定受付部103が受け付けた着目点への視線を検出する。この例では、投影球の中心から着目点へのベクトルを算出する。全周カメラ200を構成する各カメラの外部標定要素の相対的な関係は予め既知であるので、投影球の中心から投影球の内周面上で指定された着目点へのベクトルを算出することができる。具体的には、まず、投影球面上における着目点の座標を取得する。次に投影球面の中心と取得した着目点の座標位置とを結ぶベクトルを設定する。このベクトルがパノラマ画像における着目点への視線となる。
【0033】
単写真画像選択部105は、視線検出部104が検出した視線に最も近い視線を有した単写真画像を選択する。単写真画像の視線は、当該単写真画像の画面に垂直な方向として取得される。単写真画像の視線は、当該単写真画像の視点から当該単写真画像の画角の中心(撮影視野の中心)に向かう方向として取得してもよい。
【0034】
単写真画像選択部105では、以下の処理が行なわれる。まず、複数ある単写真画像それぞれの視線の方向を取得する。次に、パノラマ画像における着目点への視線の方向と単写真画像における着目点への視線の方向とを比較し、着目点への視線の方向に最も近い視線の方向を有した単写真画像を選択する。パノラマ画像の視点と単写真画像の視点とは異なるが、その差は、着目点までの距離に比較して小さいので、上記の処理により、着目点が極力画角の中心に近い位置にある単写真画像が選択される。
【0035】
表示画像制御部106は、パノラマ画像形成部102が作成したパノラマ画像と単写真画像選択部105が選択した単写真画像の一方または両方の画像データを表示装置400に表示させるための制御を行う。画像表示の形態としては、パノラマ画像と単写真画像の内のユーザが選択した方の画像を表示する形態、画面を分割し両方を表示する形態が挙げられる。また、表示画像制御部106は、単写真画像の切り替えに係る制御を行う。
【0036】
点群位置データ取得部107は、レーザスキャナ300が計測した三次元点群位置データを取得する。画像と点群画像の合成部108は、パノラマ画像と三次元点群位置データとを合成した画像(画像と点群の合成画像)を作成する。
【0037】
点群位置データでは、レーザスキャナ300から見た点群を構成する各点の方向が判るので、レーザスキャナ300から見た各点を投影球の内周面に投影すると、その投影点を画素とした点群画像(点群により構成された2次元画像)が作成できる。この点群画像は、点で構成された画像であり、通常の静止画像と同様に扱うことができる。
【0038】
ここで、全周カメラ200とレーザスキャナ300の相対位置関係と相対的な向きの関係は予め取得され既知である。よって、全周カメラ200を構成する6台のカメラの画像を合成する方法と同じ方法で、全周カメラ200のカメラが撮影した静止画像と上記の点群画像とは重ね合わせることができる。この原理により、全周カメラ200が撮影した複数の静止画像を組み合わせることで得られるパノラマ画像と上記の点群画像とを重ね合わせることができ、カメラが撮影した画像から得たパノラマ画像と点群のデータとを重ねた合成画像が得られる。この処理が画像と点群画像の合成部108において行われる。画像と点群画像を重ねた合成画像の一例を
図4に示す。
【0039】
三次元位置取得部109は、指定受付部103で指定された点(着目点)の三次元位置を点群位置データに基づいて取得する。具体的には、指定受付部103で指定された着目点の画面上の位置に対応する点群位置データの点が
図4に例示される画像と点群の合成画像から取得される。そしてこの取得した点の三次元座標位置を点群位置データ取得部107が取得した点群位置データから取得する。なお、着目点に対応する点がない場合は、(1)近傍の点を選択し、その点の三次元位置を取得、(2)近傍の点の複数を選択し、その三次元位置の平均値を取得、(3)近傍の点の複数を選択し、更にそこから三次元位置が近い複数の点を選択し、その平均値を取得、といった方法で着目点の三次元座標の値を取得する。
【0040】
(処理の一例)
以下、
図3の画像処理装置100で実行される処理の手順の一例を説明する。以下において説明する処理を実行するプログラムは、画像処理装置100内の記憶領域や適当な外部記憶媒体に記憶され、画像処理装置100によって実行される。
【0041】
図5は、処理の手順の一例を示すフローチャートである。処理が開始されると、全周カメラ200が撮影した画像データの受け付けが行なわれる(ステップS101)。この処理では、全周カメラ200が備える6台のカメラが撮影した6枚の単写真画像の画像データの取得が行なわれる。この処理は、画像データ受付部101において行われる。
【0042】
次に、6枚の単写真画像を合成したパノラマ画像を作成する(ステップS102)。この処理では、投影球を設定し、その内周面に各単写真画像を投影し、パノラマ画像を作成する。この処理は、パノラマ画像形成部102において行われる。パノラマ画像を作成したら、その画像データを表示装置400に送り、パノラマ画像を表示装置400に表示する(ステップS103)。
【0043】
表示装置400にパノラマ画像を表示している状態において、ユーザによりパノラマ画像上の特定の点が着目点として指定されるとステップS104の判定がYESとなり、ステップS105に進む。ユーザによる着目点の指定がない場合、ステップS103で表示したパノラマ画像の表示が継続される。
【0044】
ステップS105では、指定受付部104が受け付けた着目点への視線の方向(投影球の中心から着目点への方向)が検出される(ステップS105)。この処理は、視線検出部104において行われる。パノラマ画像における着目点への視線の方向を検出したら、この視線の方向に最も近い視線の方向を有する単写真画像を選択する(ステップS106)。
【0045】
この処理では、パノラマ画像上で指定された着目点への投影球中心からの方向が第1の方向として特定される。そして、各単写真画像の視点から画面中心への方向、言い換えると当該単写真画像の画面に垂直な方向が第2の方向として取得される。ここで、第2の方向は、複数(この場合は6枚)ある単写真画像毎にあるので、その中から、第1の方向に最も近い第2の方向を有する単写真画像が選択される。
【0046】
次に、ステップS106で選択した単写真画像の表示を行う(ステップS107)。この処理により、ステップS103で表示されたパノラマ画像からステップS106で選択された単写真画像への切り替えが行なわれる。次に、ユーザからのパノラマ画像への切り替えの指示が行なわれたか否か、が判定され(ステップS108)、パノラマ画像への切り替えの指示があれば、ステップS103以下の再度実行し、そうでなければステップS109に進む。
【0047】
ステップS107で表示された単写真画像の画面上でユーザにより着目点の指定位置が変更され、当該指定位置が表示画面の端に近づいた場合、ステップS109の判定がYESとなり、この時点で表示されている単写真画像に隣接する単写真画像に表示を切り替える(ステップS110)。この処理では、まずその時点で表示している単写真画像(単写真画像1)における着目点が隣接する単写真画像(単写真画像2)とオーバーラップする部分にあるのか否かが判定される。そして、着目点が当該オーバーラップ部分にある場合、着目点と画面中心からの距離が近いのが、単写真画像1なのか単写真画像2なのかを判定し、着目点と画面中心からの距離が近いのが単写真画像2である場合は、ステップS109の判定がYESとなり、単写真画像2に表示が切り替わる(ステップS110)。着目点と画面中心からの距離が近いのが単写真画像1である場合は、ステップS108の前の段階に戻り、ステップS107で表示された単写真画像がそのまま表示される。
【0048】
以下、図面を参照してステップS109からステップS110の処理の一例を説明する。
図6にはカメラ1が撮影した単写真画像が表示された状態が示されている。
図6において着目点の位置が図の時計回り方向に移動し、着目点がカメラ1とカメラ2における撮影範囲のオーバーラップ部分に移動した状態が
図7に示されている。
【0049】
図7の状態では、着目点がカメラ1の撮影範囲の中心に近いので、カメラ1が撮影した単写真画像が依然として表示されている。そして、
図7の状態から更に着目点が時計回り方向に移動した状態が
図8に示されている。
図8の場合、着目点がカメラ1の撮影範囲の中心よりもカメラ2の画角(撮影範囲)の中心に近いので、カメラ2が撮影した単写真画像に表示像が切り替わる。この場合、着目点の移動に伴い、カメラ1が撮影した単写真画像からカメラ2が撮影した単写真画像へと表示装置400に表示されている画像が切り替わる。この場合、画像の切り替わりに対応して視点の位置が変更される。
【0050】
(パノラマ表示における表示範囲の変更)
表示装置400にパノラマ画像の全体を映し出すことは現実的ではなく、通常は、パノラマ画像の一部が表示装置400に表示される。
図9には、その場合の一例が示されている。この場合、着目点は、表示された画面の中央に設定される。表示範囲を変更すると、着目点が球面上で動き、表示される範囲が変更される。
図9の例では、パノラマ画像上で表示される範囲が移動する。この場合、視点の位置の変更は発生しない。
【0051】
(表示倍率を変更した場合の実例)
図10(A)には、低倍率なパノラマ表示の一例が示されている。
図10(A)には、パノラマ表示で問題となる像のズレが現れている。
図10(B)には、
図10(A)の状態で表示倍率を高めた場合が示されている。この場合もパノラマ表示で問題となる像のズレが現れている。
図10(C)には、
図10(B)のパノラマ表示において、その中央の付近に着目し、その着目点を含む単写真表示に切り替え、されに画像を拡大した場合が示されている。
図10(C)から分かるように、パノラマ画像から単写真表示に切り替えることで、パノラマ画像で問題となる像のズレが解消される。なお、
図10(C)の画像の全体がぼけているのは、カメラの性能の問題であり、より解像度の高いカメラを用いれば、鮮明な画像が得られる。
【0052】
(その他)
着目点の指定を受け付ける別の方法として、パノラマ画像をタッチパネルディスプレイに表示し、タッチペン等の当該ディスプレイへの接触により、着目点の指定を受け付ける方法が挙げられる。また、着目点の指定を受け付ける別の方法として、パノラマ画像を見ているユーザの視線を検出し、更にその視線と当該パノラマ画像の画像面との交点を検出し、その位置を指定位置として受け付ける方法が挙げられる。視線を検出する技術については、例えば、特開2015−118579号公報に記載されている。