JP2015005200A - 情報処理装置、情報処理システム、情報処理方法、プログラムおよび記憶媒体 - Google Patents
情報処理装置、情報処理システム、情報処理方法、プログラムおよび記憶媒体 Download PDFInfo
- Publication number
- JP2015005200A JP2015005200A JP2013130855A JP2013130855A JP2015005200A JP 2015005200 A JP2015005200 A JP 2015005200A JP 2013130855 A JP2013130855 A JP 2013130855A JP 2013130855 A JP2013130855 A JP 2013130855A JP 2015005200 A JP2015005200 A JP 2015005200A
- Authority
- JP
- Japan
- Prior art keywords
- imaging
- information
- images
- unit
- distance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Studio Devices (AREA)
- Image Analysis (AREA)
- Measurement Of Optical Distance (AREA)
- Image Processing (AREA)
Abstract
【課題】 撮像装置の移動の有無が距離情報取得の精度に与える影響を低減する。
【解決手段】 カメラ100が、移動度判定部105と、DFD距離推定部106と、位置姿勢推定部107と、ステレオ距離推定部108を有している。移動度判定部105は、撮像部101により取得された複数の画像に基づいて、複数の撮像時点でのカメラ100の位置関係を取得する。取得した位置関係に基づいて、移動度判定部105はDFD距離推定部106か位置姿勢推定部107およびステレオ距離推定部108を選択し、選択した距離推定法を用いて被写体の距離情報を取得する。
【選択図】 図1
【解決手段】 カメラ100が、移動度判定部105と、DFD距離推定部106と、位置姿勢推定部107と、ステレオ距離推定部108を有している。移動度判定部105は、撮像部101により取得された複数の画像に基づいて、複数の撮像時点でのカメラ100の位置関係を取得する。取得した位置関係に基づいて、移動度判定部105はDFD距離推定部106か位置姿勢推定部107およびステレオ距離推定部108を選択し、選択した距離推定法を用いて被写体の距離情報を取得する。
【選択図】 図1
Description
本発明は、異なる条件で撮像された複数の画像から距離情報を取得する技術に関するものである。
任意視点画像の合成、被写界深度の疑似的なコントロール、CGの作成、測量などの様々な用途へ応用するために、デジタルカメラなどの撮像装置によって得た画像データから、被写体の距離情報を推定する技術が必要とされている。
従来、撮像装置で取得した画像データから距離情報を推定する技術として、Depth from Defocus(DFD)法がある。DFD法では、撮像装置を構成する光学系の、焦点距離や開口などの条件を変えながら取得された複数の画像の、合焦状態の違いに基づいて距離情報が推定される。(特許文献1)
従来、撮像装置で取得した画像データから距離情報を推定する技術として、Depth from Defocus(DFD)法がある。DFD法では、撮像装置を構成する光学系の、焦点距離や開口などの条件を変えながら取得された複数の画像の、合焦状態の違いに基づいて距離情報が推定される。(特許文献1)
しかし、DFD法では、距離情報の取得に用いる合焦状態の異なる画像の撮影の間に、手ぶれなどにより撮像装置が大きく移動した場合、合焦状態を比較する対応点の位置がずれてしまい、距離情報取得の精度が低下してしまうことがあった。
上記課題を解決するために、本発明にかかる情報処理装置は、撮像により得られた複数の画像の合焦状態の違いに基づいて被写体の距離情報を取得する第一の取得手段と、前記複数の画像の視差に基づいて被写体の距離情報を取得する第二の取得手段と、前記撮像が行われた視点の位置に関する情報に基づいて、出力する距離情報に対応する取得手段を前記第一および第二の取得手段のうちから選択し、該選択された取得手段によって取得された距離情報を出力する出力手段とを有する。
撮像を行う装置の移動が距離情報取得の精度に与える影響を低減できる。
<第一の実施例>
<撮像装置の全体構成>
第一の実施例は、複数の画像の撮像時の撮像装置の移動量に基づいて、DFD法による距離推定とステレオ法による距離推定を使い分ける撮像装置に適用される。本実施例では、撮像装置の移動量が大きい場合にはステレオ法による距離推定を行い、撮像装置の移動量が小さい場合にはDFD法による距離推定を行う。
<撮像装置の全体構成>
第一の実施例は、複数の画像の撮像時の撮像装置の移動量に基づいて、DFD法による距離推定とステレオ法による距離推定を使い分ける撮像装置に適用される。本実施例では、撮像装置の移動量が大きい場合にはステレオ法による距離推定を行い、撮像装置の移動量が小さい場合にはDFD法による距離推定を行う。
図1は、第一の実施例に係る撮像装置の構成を示すブロック図である。
カメラ(撮像装置)100は、撮像部101と、操作部102、メディアI/F110、情報処理部120を有する。
図2は撮像部101の内部構成を示す図である。
レンズ201、レンズ202および絞り203は撮像部101の結像光学系を構成する。被写体から発せられた光線はIRカットフィルタ204、ローパスフィルタ205、カラーフィルタ206を通過した後に、撮像素子207上に結像される。
撮像素子207およびA/D変換部208はCMOSイメージセンサなどのイメージセンサである。撮像素子207の画素は2次元の格子状に配置されており、結像された像を電気信号に変換する。A/D変換部208は電気信号に変換された像の情報をデジタル信号に変換する。デジタル信号に変換された像の情報はバッファ209内に格納され、画像データとして情報処理部120へと出力される。
なお、ここで示した光学系の構成は一例にすぎず、撮像素子上に被写体の像を結像させる機能を有すれば光学系の構成はどのようなものでも良い。また、カラー画像を取得する構成について説明したが、取得する画像は白黒画像や画素毎に露出の異なる画像でもかまわない。
光学系制御部210はモータなどの駆動機構であり、撮像制御部103によって設定された条件に従い、レンズ201、レンズ202および絞り203を駆動して、結像光学系の特性を変化させる。
撮像素子制御部211は撮像制御部103によって設定されたタイミングに従い、撮像素子207を制御して撮像を実施する。本実施例において、カメラ100はシャッターとして電子シャッターを有しているが、IRカットフィルタ204の前にシャッター窓を設け、そのシャッター窓を開閉することで撮像を行う機械式シャッターを有しても良い。
図1に戻り、操作部102は、カメラ本体に備えられたボタンやダイヤル、タッチパネルなどの入力装置であり、ユーザが操作して、撮影の開始、停止および撮影条件の設定などの命令を行うことができる。
メディアI/F110は、PC・その他メディア(ハードディスク、メモリカード、CFカード、SDカード、USBメモリなど)とカメラ100とを接続するインターフェースである。このメディアI/F110を介して、DFD距離推定部106およびステレオ距離推定部108によって取得された距離情報の出力が行われる。本実施例においてこのメディアI/F110はSDカードスロットであり、画像データおよび距離データを記憶するためのSDカードが挿入されている。
情報処理部120のハードウェア構成を図3に示す。
情報処理部120は、CPU301、RAM302、ROM303を有し、各構成部はシステムバス304により相互に接続されている。
CPU301はカメラ100内の各部を統括的に制御するプロセッサである。RAM302は、CPU301の主メモリ、ワークエリア等として機能する。ROM303は、図4のフローチャートに示されるプログラムを格納している。情報処理部120は、ROM303に格納されたプログラムを、CPU301がプログラムコードとして読み込み実行することで、図1に示す各構成部としての役割を実現する。なお、情報処理部120の構成は、上記に示すもの以外に、図1に示す各構成部の一部または全部の役割を果たす専用の処理回路などを備えたものであっても良い。
以下、カメラ100内で行われる処理について説明する。図4は、カメラ100内で行われる処理を示すフローチャートである。
まず、撮像制御部103は、操作部102の操作に従い、撮像部101による撮影パラメータの設定を行う(ステップS401)。本実施例において、撮像制御部103は、撮影時の光学系の焦点距離、射出瞳径、光学系の主点−撮像素子間の距離などを設定し、設定したパラメータに基づいて撮像部101が撮影を行うように、撮像部101に命令信号を出力する。このパラメータは、ユーザによりそれぞれ個別に設定されても良いし、ユーザによる撮影モードの設定に基づいて自動的に設定されても良い。本実施例においては、光学系の主点−撮像素子間の距離を変化させながら2枚の画像を取得するように設定する。なお、ここでは射出瞳径などの別のパラメータを変化させて撮像を行っても良い。
次に、撮像部101は、ステップS401において設定された撮影パラメータに基づいて撮像を行い、それによって取得された画像データをデジタル信号処理部104に出力する(ステップS402)。
次に、デジタル信号処理部104は、撮像部101から出力された画像データの輝度値の調整や欠陥画素の補間、ベイヤー補間処理、歪曲収差や周辺光量落ちの補正などを行い、補正された画像データを移動度判定部105に出力する(ステップS403)。
次に、移動度判定部105は、2回の撮像間のカメラの移動度を算出する(ステップS404)。移動度は、カメラの移動量の大きさを反映したパラメータである。ここで行われる詳しい処理内容および移動度の詳細な定義については後述する。
次に、移動度判定部105は、入力された画像データの取得を行った2回の撮像間のカメラの移動度が大きいかどうかを判定する(ステップS405)。ステップS404で算出された移動度が1よりも小さい場合、移動度が小さいと判定し、移動度判定部105は入力された画像データをDFD距離推定部106に出力してステップS406に進む。移動度が1よりも大きい場合、カメラの移動度が大きいと判定し、移動度判定部105は、入力された画像データを位置姿勢推定部107に出力してステップS407に進む。
移動度が小さいと判定された場合、DFD距離推定部106は、入力された画像データからDFD法を用いて距離推定を行い、入力された画像データおよび取得した距離情報を符号化部109に出力する(ステップS406)。ここで行われる処理の詳細については後述する。なお、ここで出力される距離情報は、被写体中の各位置における距離を示した距離マップである。距離マップはそれぞれの画素位置でのカメラから被写体までの距離を二次元的に並べたものであり、本実施例においてはビットマップデータとして出力される。
移動度が大きいと判定された場合、位置姿勢推定部107は、入力された画像データに基づいて、入力された画像データに含まれる2枚の画像をそれぞれ取得した時のカメラ100の位置姿勢を推定する(ステップS407)。ここで行われる処理の詳細については後述する。位置姿勢推定部107は、推定により取得された位置姿勢情報と、入力された画像データをそれぞれステレオ距離推定部108に出力する。
次に、ステレオ距離推定部108は、入力された画像データと位置姿勢情報に基づいて、ステレオ法による距離推定を行い、入力された画像データおよび取得した距離マップを符号化部109に出力する(ステップS408)。ここで行われる処理の詳細については後述する。
符号化部109は、入力された画像データおよび距離マップを符号化し、メディアI/F110に出力する(ステップS409)。符号化処理は画像データ毎にJPEGやPNGなどの単視点画像の符号化方式で行っても良いし、MVC(Multiview Video Coding)などの多視点画像の符号化方式で行っても良い。
最後に、メディアI/F110は、カメラ100に接続されたメディアに、符号化された画像データおよび距離マップを出力する(ステップS410)。
以上がカメラ100で行われる処理の概略である。以下、各ステップの詳細について述べる。
<移動度判定部105の構成と処理>
移動度判定部105は、入力された画像データに含まれる2枚の画像の視差に基づいて、その画像データを取得した2回の撮像間のカメラの移動量の大きさを判定する。ここで、視差とは、被写体を見る視点の違いに起因する画像のずれのことを意味する。
移動度判定部105は、入力された画像データに含まれる2枚の画像の視差に基づいて、その画像データを取得した2回の撮像間のカメラの移動量の大きさを判定する。ここで、視差とは、被写体を見る視点の違いに起因する画像のずれのことを意味する。
図5は、移動度判定部105の構成を示すブロック図である。こちらの各ブロックの機能も、ROM303に格納されたプログラムを実行したCPU301によって達成されるが、その一部を専用の処理回路などに置き換えても良い。
以下、移動度判定部105において行われる処理(ステップS404およびS405)について説明する。図6は、ステップS404およびS405で行われる詳細な処理を示すフローチャートである。
まず、対応点探索部501は、デジタル処理信号部104から出力された2枚の画像の画像データを取得する(ステップS601)。
次に、対応点探索部501は、入力された2枚の画像中の特徴点を抽出し、各特徴点に対応する特徴量の算出を行う(ステップS602)。特徴点とは、暗い背景の中にある明るい四角形の角など、点として位置が特定可能な画像の構造のことである。また、特徴量とは、特徴点の近傍の画像の構造を用いて記述されるデータであり、各特徴点を識別するために用いられる。各特徴点はSIFT(Scale Invariant Feature Transform)法により抽出され、対応する特徴量の算出がなされる。SIFT特徴量は、多次元のベクトルとして表現される。
次に、対応点探索部501は、入力された2枚の画像間で複数の特徴点のマッチング処理を行い、各画像間の対応点を探索する(ステップS603)。マッチング処理は、ステップ601で算出された特徴量を用いて行われる。ここでは1回目の撮像で得られた画像を基準とし、基準となる入力画像の特徴点それぞれに対して、特徴量の差分二乗和が最小となる特徴点が、対応点として2回目の撮像で得られた画像から抽出される。
次に、基礎行列推定部502は、対応点探索部501で求めた対応点の組に基づいて、基礎行列を算出する(ステップS604)。基礎行列は異なる視点から同一のシーンを撮像して得られる画像間の対応点に対して、幾何学的な拘束を記述するモデルである。対応点探索部501で求めたある対応点の組のうち、基準となる画像上での点の位置を(x,y)とし、もう一方の画像上での点の位置を(x’,y’)としたとき、基礎行列Fは式1の関係を満たすような3×3の行列で表わされる。
1組の対応点に対して式1により1つの線形拘束が与えられるので、8つ以上の対応点があれば、連立方程式を解くことでFを求めることができる。実際の画像データから得た対応点には誤対応が含まれるので、RANSAC(Random Sample Consensus)のようなロバスト性を高める手段を併用する。このステップでは、入力された2枚の画像中の、8組の対応点の位置が式1に代入され、その関係を満たすFの値が連立方程式を解くことによって求められる。その際、RANSACを適用することにより複数のFが求められ、最も投票数の多いFが、このステップで算出された基礎行列Fとして決定される。
次に、射影変換行列推定部503は、対応点探索部501で求めた対応点の組に基づいて、射影変換行列Hを算出する(ステップS605)。射影変換行列は同一の視点からカメラの向きだけを変えて同一のシーンを撮像して得られる画像間の対応点に対して、幾何学的な拘束を記述するモデルである。対応点探索部501で求めたある対応点の組のうち、基準となる画像上での点の位置を(x,y)とし、もう一方の画像上での点の位置を(x’,y’)としたとき、射影変換行列Hは式2の関係を満たすような3×3の行列である。ここでλは式2によって定まる定数である。
1組の対応点に対して式2により2つの線形拘束が与えられるので、4つ以上の対応点があれば、連立方程式を解くことでHを求めることができる。実際の画像データから得た対応点には誤対応が含まれるので、ステップS603と同様に、RANSACのようなロバスト性を高める手段を併用する。このステップでは、入力された2枚の画像中の、4組の対応点の位置が式2に代入され、その関係を満たすHの値が連立方程式を解くことによって求められる。その際、RANSACを適用することにより複数のHが求められ、最も投票数の多いHが、このステップで算出された射影変換行列Hとして決定される。
次に、移動度算出部504は、対応点探索部501で求めた対応点の組、基礎行列推定部502で算出した基礎行列F、射影変換行列推定部503で算出した射影変換行列Hに基づいて、カメラの移動度を算出する(ステップS606)。移動度は、基礎行列Fおよび射影変換行列Hについてそれぞれ求められたGRIC(Geometric Robust Information Criterion)の比として表現される。GRICは、点の対応関係を記述するモデルについて、そのモデルがどの程度確からしいかを示す値であり、確からしいほど値が小さくなる。カメラの移動量が大きい場合、対応点の組の関係は基礎行列Fを用いたモデルで記述される。また、カメラの移動量が小さい場合、対応点の組の関係は射影変換行列Hを用いたモデルで記述される。したがって、基礎行列Fについて求められたGRICが、射影変換行列Hについて求められたGRICよりも小さいことは、基礎行列Fを用いたモデルの方が確からしく、カメラの移動量が大きいことを意味する。そこで、ここでは基礎行列FのGRICに対する射影変換行列HのGRICの比を移動度として用い、移動度の大きさによって移動量の大きさを判定する。
なお、GRICは以下の式3および式4で表わされる値である。
Iは対応点の数であり、eiはi番目の対応点の、モデルの理想値に対する誤差であり、画素単位の座標に基づいて計算される。σは全ての対応点の分散を表わし、eiと同様に画素単位の座標に基づいて計算される。また、λ1、λ2、λ3はそれぞれλ1=log4、λ2=log4I、λ3=2である。m、k、rはGRICを適用するモデルに依存した値であり、基礎行列Fに対するGRICではm=3、k=7、r=4である。また、射影変換行列Hに対するGRICではm=2、k=8、r=4である。
このステップでは、入力された2枚の画像中の1枚目の画像について、ステップS604およびステップS605で算出された基礎行列Fおよび射影変換行列Hを適用され、2枚目の画像に予想されるモデル対応点の位置が決定される。そのモデル対応点の位置と、2枚目の画像中の実際の対応点の位置との誤差がeiとして式3および4に代入される。そして、その他のパラメータについては上記に示した値が式3および4に代入され、基礎行列Fおよび射影変換行列Hに対するGRICがそれぞれ決定される。そして、決定されたGRICの比が、移動度として距離推定方法選択部505に出力される。
このステップでは、入力された2枚の画像中の1枚目の画像について、ステップS604およびステップS605で算出された基礎行列Fおよび射影変換行列Hを適用され、2枚目の画像に予想されるモデル対応点の位置が決定される。そのモデル対応点の位置と、2枚目の画像中の実際の対応点の位置との誤差がeiとして式3および4に代入される。そして、その他のパラメータについては上記に示した値が式3および4に代入され、基礎行列Fおよび射影変換行列Hに対するGRICがそれぞれ決定される。そして、決定されたGRICの比が、移動度として距離推定方法選択部505に出力される。
次に、距離推定方法選択部505は、移動度算出部504で算出した移動度に基づいて、距離情報の推定で用いる方法を選択し、選択した方法に対応する距離推定部に入力された画像データを出力する(ステップS607)。本実施例における移動度は、基礎行列FのGRICに対する射影変換行列HのGRICの比であり、判定は1を閾値として行われる。移動度が1よりも小さい場合、入力された画像データをDFD距離推定部106に出力する。また、移動度が1以上の場合、入力された画像データおよび、画像間の対応点の情報を位置姿勢推定部107に出力する。また、上記に加え、移動度が大きすぎて対応点が十分に取れない場合や、移動度が小さくてもその場でのカメラ回転が大きすぎる場合など、距離情報の取得が困難な場合には、エラー信号を出力して処理を終了する。なお、移動度が小さい場合のカメラ回転の大きさは、HとA’A−1の値のずれに基づいて判断される。カメラが静止しており回転も起きていない場合、H=A’A−1となるため、この両辺の値の差を見ることで、回転の大きさを見積もることができる。なお、ここで判定される移動度はGRICの比ではなくGRICの差であってもよく、閾値は1でなくても良い。
なお、本実施例では、対応点探索部501は対応点探索にSIFTを用いるものとしたが、ブロックマッチングなど他の方法を用いて対応点を求めても良い。また、基礎行列推定部502および射影変換行列推定部503は、線形解法で基礎行列Fおよび射影変換行列Hを求めるものとしたが、非線形な方法など、他の方法を用いても構わない。また、移動度算出部504は、移動度としてGRICの比を用いるものとしたが、対応点の座標の違いをそのまま利用するなど、視点の移動量を反映するような値ならば他のどのような値を用いても良い。
<DFD距離推定部の構成と処理>
移動度判定部105でカメラの移動度が小さいと判定された場合、DFD距離推定部106で被写体の距離情報の推定が行われる。
移動度判定部105でカメラの移動度が小さいと判定された場合、DFD距離推定部106で被写体の距離情報の推定が行われる。
図7は、DFD距離推定部106の構成を示すブロック図である。DFD距離推定部106では、入力された2枚の画像の合焦状態の違いに基づいて被写体の距離情報を推定する。こちらの各ブロックの機能も、ROM303に格納されたプログラムを実行したCPU301によって達成されるが、その一部を専用の処理回路などに置き換えても良い。
以下、DFD距離推定部106で行われる処理について述べる。まず、DFD法を用いて距離情報を取得する方法について説明する。
距離D1にある物体が撮像面位置d1に投影された場合を考える。このとき像i1はボケて拡がる。この時の点像分布関数(Point Spread Function)をPSF1としシーンをsとすると、像i1は点像分布関数PSF1とシーンsの畳み込みで表される。
ここでPSFを、錯乱円をパラメータとしてモデル化し、像i1からPSFを推定できれば錯乱円が算出可能となる。更にはこの錯乱円から結像位置を求めることができ、数式5から距離を算出することができる。
しかしながら数式5ではシーンsが分からないのでこのままでは錯乱円を正しく求めることはできない。そこで、異なる撮像面位置d2で撮影を行う。この時の像をi2とする。
ここでシーンsのフーリエ変換をSとし、一枚目の撮影画像のPSF1をフーリエ変換した光学伝達関数(Optical Transfer Function)をOTF1、二枚目の撮影画像のOTFをOTF2とする。すると、像i1およびi2のフーリエ変換はそれぞれOTF1×S、OTF2×Sと表される。この二画像の比をとると
となり、シーンに依存しないOTFの比OTFrが算出される。このOFTrと距離情報の関係を示すテーブルや関数を用いることで、算出されたOTFrに基づいて被写体の距離情報を求めることができる。
次に、本実施例においてDFD距離推定部106内で実際に行われる処理(ステップS406)について説明する。図8は、ステップS406で行われる詳細な処理を示すフローチャートである。
まず、領域抽出部701は、移動度判定部105から入力された2枚の画像I1およびI2を取得する(ステップS801)。DFD距離推定部106は、これらの2枚の画像を使って一画素単位で全画素について距離取得処理を行う。もちろん、全画素について距離取得処理を行う必要はなく、数画素おきに距離取得を行っても良いし、別途測距画素を決めてその画素に対してのみ距離取得を行っても良い。また、距離取得処理の処理対象領域を一画素とする必要は無く、複数画素からなる領域を対象として距離取得を行っても良い。また、距離取得のために用いる画像は2枚に限られず、3枚以上の画像を用いて距離取得を行っても良い。
次に、領域抽出部701は画像中のXY座標を走査して測距画素を決定し、距離取得に必要な周辺画素を切り出し、フーリエ変換部702に出力する(ステップS802)。この際、取得された2枚の画像I1、I2において一般には同じ領域を切り出してくる必要がある。切り出された画像(測距画素とその周辺画素とを含む画像領域)をそれぞれ領域選択画像C1、C2とする。切り出す領域サイズは、処理時間を短縮するためには小さい方が良く、ノイズの影響を抑えて安定した解を導くにはある程度大きい方が良い。また切り出す領域サイズは撮影して取得される画像におけるボケの大きさにも依存し、コンパクトデジタルカメラの場合は撮像素子サイズが小さくボケも小さいため小さい領域で良い。具体的にはコンパクトデジタルカメラの場合の切り出し領域サイズは、高速に処理するには10画素程度が良く、ノイズの影響を抑えるには60画素程度が良いが両者のバランスをとると15から30画素程度が好適である。
次に、フーリエ変換部702は領域選択画像C1およびC2に対しフーリエ変換を行い、C1およびC2を周波数空間画像F1およびF2に変換してフィルタ生成部703に出力する(ステップS803)。フーリエ変換部702は、演算量等を考慮し、離散コサイン変換やウェーブレット変換といった他の方法を用いて周波数空間への変換を行っても良い。
次に、フィルタ生成部703は、2つの周波数空間画像F1およびF2を比較し、スペクトルの強い特徴的な周波数帯(特徴周波数帯)を検出する(ステップS804)。この際、フーリエ変換した周波数空間の画像F1、F2は低周波が多いため直流成分を除去し対数を取るのが良い。さらに、各周波数成分の強度は一般的に周波数fに反比例することが知られているので、算出された周波数空間画像F1、F2において周波数fによって結果をf倍するなど周波数に応じた補正をかけると良い。これにより、周波数空間画像における値を単純に比較することで、より多く存在する特徴的な周波数帯を検出できる。
次に、フィルタ生成部704は、ステップS804において検出された特徴周波数帯を通過させるフィルタBFを生成し、周波数空間画像F1およびF2と共にフィルタリング部704に出力する(ステップS805)。
次に、フィルタリング部704は、フィルタBFを用いて周波数空間画像F1およびF2に対してフィルタリングを行い、フィルタリング後の周波数空間画像F1’およびF2’を得て、距離算出部705に出力する(ステップS806)。
次に、距離算出部705は、F1’およびF2’に基づいてOTFrを算出する(ステップS807)。選択されたシーンをSsとすると、
次に、距離算出部705は、その画素における距離情報を決定する(ステップS808)。本実施例において、距離取得部145は予め用意された変換テーブルを有し、その変換テーブルを参照することでOTFrの値を距離に変換する。変換テーブルには、撮影パラメータ、空間周波数が与えられた場合のOTFr値およびそのOTFr値に対応する距離が格納されている。変換テーブルは関数としても良いし、あらかじめ計算されたルックアップテーブルとして保持しても良い。
以上の処理を全画素について距離が決定されるまで繰り返し行う(ステップS809)。全画素について距離が決定されたら、距離算出部705は、得られた距離情報を距離マップとしてデータ化し、入力された画像データと共に符号化部109に出力する(ステップS810)。
<位置姿勢推定部の構成と処理>
移動度判定部でカメラの移動度が大きいと判定された場合、位置姿勢推定部107で撮影時のカメラ100の位置姿勢が推定されたのち、ステレオ距離推定部108で被写体の距離情報の推定が行われる。ここで位置姿勢とは、各画像を取得した撮像部の向きと位置を規定するパラメータであり、並進ベクトルTと回転行列Rによって定義される。ここでは、基準となる1回目の撮像を行った時のカメラ100の位置姿勢を基準とし、2回目の撮像を行った時のカメラ100の位置姿勢TとRを求める。これにより、2枚の画像の撮像を行った時のカメラ100の2つの位置の間の位置関係が明らかとなる。
移動度判定部でカメラの移動度が大きいと判定された場合、位置姿勢推定部107で撮影時のカメラ100の位置姿勢が推定されたのち、ステレオ距離推定部108で被写体の距離情報の推定が行われる。ここで位置姿勢とは、各画像を取得した撮像部の向きと位置を規定するパラメータであり、並進ベクトルTと回転行列Rによって定義される。ここでは、基準となる1回目の撮像を行った時のカメラ100の位置姿勢を基準とし、2回目の撮像を行った時のカメラ100の位置姿勢TとRを求める。これにより、2枚の画像の撮像を行った時のカメラ100の2つの位置の間の位置関係が明らかとなる。
図9は、位置姿勢推定部107の構成を示すブロック図である。こちらの各ブロックの機能も、ROM303に格納されたプログラムを実行したCPU301によって達成されるが、その一部を専用の処理回路などに置き換えても良い。
以下、位置姿勢推定部107において行われる処理(ステップS407)について説明する。図10は、ステップS407で行われる詳細な処理を示すフローチャートである。
まず、基本行列推定部901は、移動度判定部より出力された画像データおよび対応点情報と、撮像制御部103より出力された光学系情報を取得する(ステップS1001)。ここで光学系情報とは撮像部101の光学系に関わる情報のことであり、ここでは撮像部101の主点−撮像素子間距離sと、撮像素子207のサイズ(Lx, Ly)、撮像素子207の画素数(Nx, Ny)が取得される。これらの情報を用いて、以下の内部パラメータ行列Aが定義される。
まず、基本行列推定部901は、移動度判定部より出力された画像データおよび対応点情報と、撮像制御部103より出力された光学系情報を取得する(ステップS1001)。ここで光学系情報とは撮像部101の光学系に関わる情報のことであり、ここでは撮像部101の主点−撮像素子間距離sと、撮像素子207のサイズ(Lx, Ly)、撮像素子207の画素数(Nx, Ny)が取得される。これらの情報を用いて、以下の内部パラメータ行列Aが定義される。
次に、基本行列推定部901は、入力された画像データに含まれる画像間の対応点の組および上記の内部パラメータ行列Aに基づいて、2枚の画像間の関係を表わす基本行列を推定する(ステップS1002)。基本行列Eは以下の式4の関係を満たす3×3の行列である。
m’TA’−TEA−1m=0 (9)
ここで、mとm’は移動度判定部105で求められた対応点の組の座標であり、mは1回目の撮像により得られた画像上での斉次座標を、m’は2回目の撮像により得られた画像上での斉次座標を表す。また、AとA’は、1回目の撮像により得られた画像と、2回目の撮像により得られた画像に対応する内部パラメータである。式1と式9より、A’−TEA−1=Fが得られるので、このステップでは、移動度判定部105で求めた基礎行列Fと、ステップS1001で定義されたAおよびA’をこの式に代入し、基本行列Eを求める。
次に、インライア抽出部902は、移動度判定部105が求めた対応点の組の中から、ステップS1002で求めた基本行列Eによる式7の関係を満たすものを抽出する(ステップS1003)。式4から、点mとm’は、それぞれ以下の式10と式11で表されるエピポーラ線lおよびl’上にあると考えることができる。
ここで、mとm’は移動度判定部105で求められた対応点の組の座標であり、mは1回目の撮像により得られた画像上での斉次座標を、m’は2回目の撮像により得られた画像上での斉次座標を表す。また、AとA’は、1回目の撮像により得られた画像と、2回目の撮像により得られた画像に対応する内部パラメータである。式1と式9より、A’−TEA−1=Fが得られるので、このステップでは、移動度判定部105で求めた基礎行列Fと、ステップS1001で定義されたAおよびA’をこの式に代入し、基本行列Eを求める。
次に、インライア抽出部902は、移動度判定部105が求めた対応点の組の中から、ステップS1002で求めた基本行列Eによる式7の関係を満たすものを抽出する(ステップS1003)。式4から、点mとm’は、それぞれ以下の式10と式11で表されるエピポーラ線lおよびl’上にあると考えることができる。
l’=A’−TEA−1m (10)
l=A−TETA’−1m’ (11)
ここではこの解釈に基づき、mとlの距離およびm’とl’の距離が共に閾値以下になるような対応点の組がインライアとして抽出する。本実施例において、この閾値は3ピクセルであるが、他の値が閾値として設定されても良い。
l=A−TETA’−1m’ (11)
ここではこの解釈に基づき、mとlの距離およびm’とl’の距離が共に閾値以下になるような対応点の組がインライアとして抽出する。本実施例において、この閾値は3ピクセルであるが、他の値が閾値として設定されても良い。
次に、基本行列分解部903は、ステップ1002で求めた基本行列Eを、カメラの位置姿勢を表す回転行列Rと並進ベクトルTに分解する(ステップS1004)。RとTはそれぞれ世界座標系で表された3次元点Xをカメラ座標系で表された三次元点X’にX’=RX+Tの演算で変換できるような回転行列と並進ベクトルである。基本行列Eとは以下の式12で表されるような関係を持つ。
E=[T]xR (12)
なおここで[T]×は、[T]×との内積の演算がTとの外積の演算に相当するような歪対称行列である。ここでEの転置行列を両辺に掛けると、
なおここで[T]×は、[T]×との内積の演算がTとの外積の演算に相当するような歪対称行列である。ここでEの転置行列を両辺に掛けると、
となってTが求まる。Rは、このTを用いて式12から求めることができる。基本行列Eから位置姿勢R,Tへの分解では、RおよびTの組み合わせとして4つの候補が算出される。このステップでは、ステップS1002で得られた基本行列Eを式13に代入し、並進ベクトルTを得る。そして、基本行列Eと、得られた並進ベクトルTを式12に代入し、回転行列Rを得る。
次に、三次元復元部904は、ステップS1003でインライアとして抽出された各対応点の組について、三角測量によりその空間座標を算出する(ステップS1005)。算出にはステップS1004で求めた4つの位置姿勢候補を用いる。
次に、位置姿勢選択部905は、ステップS1004で求めた4つの位置姿勢候補から最も適切な姿勢を選択し、選択した位置姿勢および入力された画像データをステレオ距離推定部108に出力する(ステップS1006)。ここでは、三次元復元部904で算出された各対応点の三次元位置が、より多くカメラの前方となるような位置姿勢が、適切な位置姿勢として選択される。
以上の処理により、2枚の入力画像を用いて、一方を基準とする、カメラの相対的な位置姿勢を算出することができる。
なお、本実施例では、位置姿勢推定部107は2枚の画像を用いて位置姿勢の推定を行うものとしたが、より多くの入力画像に対して位置姿勢の推定を行う構成としても良い。3枚以上の入力画像を用いて位置姿勢の推定を行う方法としては、因子分解法、多焦点テンソルを用いる方法、2枚目の画像の三次元復元された点と3枚目以降の画像との対応から3枚目以降の入力画像に対応するカメラ100位置姿勢を求める方法などがある。また、本実施例において、位置姿勢推定部107は線形解法によりカメラ100の位置姿勢を算出するものとしたが、高精度化のために非線形最適化を用いても良い。
<ステレオ距離推定部の構成と処理>
ステレオ距離推定部108は、2枚の入力画像と、それに対応する位置姿勢および光学系情報から、被写体の距離情報を推定する。
ステレオ距離推定部108は、2枚の入力画像と、それに対応する位置姿勢および光学系情報から、被写体の距離情報を推定する。
図11は、ステレオ距離推定部108の構成を示すブロック図である。こちらの各ブロックの機能も、ROM303に格納されたプログラムを実行したCPU301によって達成されるが、その一部を専用の処理回路などに置き換えても良い。
以下、ステレオ距離推定部108において行われる処理について説明する。まず、本実施例におけるステレオ距離推定の方法について述べる。
図12は本実施例におけるステレオ距離推定の方法を説明する図である。本実施例では、1回目の撮像時の撮像面垂直方向に、複数のサンプリング距離dを設定する。カメラ1201とカメラ1202はそれぞれ1回目の撮像時と2回目の撮像時のカメラ100の位置および向きを示し、二等辺三角形の底辺が撮像面を表わしている。また、1203は、カメラ1201の撮像素子上の点mに対応する被写体であり、距離d3の位置に存在している。1204〜06は、それぞれ距離d1, d2, d4に被写体が存在すると仮定した場合の位置を示す点である。まず、被写体1203が距離d1に存在すると仮定した時を考える。この時、点1204が被写体の存在する位置としてみなされるため、点mに対応するカメラ1202の撮像素子上の点は、点m’1となる。次に、被写体1203が距離d3に存在すると仮定した時を考える。この場合、点mに対応するカメラ1202の撮像素子上の点は点m’3となる。この時、点mと点m’3は、それぞれ同じ被写体に対応する点であるため、点mと点m’1の組み合わせに比べ、それぞれの画素位置での画素値が近くなることが予想される。つまり、2回の撮像により得られた各画像の間で、複数のサンプリング距離について画像中での対応点をもとめ、その対応点における画素値の整合度を比較することで、各画素位置における被写体距離を見積もることができる。
以上が本実施例で行われるステレオ距離推定の方法の概要である。次に、本実施例においてステレオ距離推定部108内で実際に行われる処理(ステップS408)について説明する。図13は、ステップS408で行われる詳細な処理を示すフローチャートである。
まず、サンプリング距離決定部1101は、整合度を算出するサンプリング距離の組を決定する(ステップS1301)。ここで、サンプリング距離としては、離散的な複数の距離を設定する。被写体が遠距離にある場合には対応点の位置の変化が小さくなるので、距離の逆数が等間隔になるように設定するなどして、遠距離部でのサンプリングレートを落としても良い。
次に、画素参照行列生成部1102は、位置姿勢推定部107より出力された画像データとカメラ100の位置姿勢、および撮像制御部より出力された光学系情報と、ステップS1301で決定されたサンプリング距離の組を取得する。(ステップS1302)。ここで取得される光学系情報は位置姿勢推定部107で取得されるものと同様である。
次に、画素参照行列生成部1102は、ステップS1302で取得された位置姿勢および光学系情報に基づいて、あるサンプリング距離を選択し、その距離に対応する画素参照行列を生成する(ステップS1303)。ここで、画素参照行列は、1回目の撮像により得られた画像上の点mを、2回目の撮像により得られた画像上の点m’に変換する射影変換行列である。点mの斉次座標mと、点m’の斉次座標m’の間には式14で表される関係がある。このとき、[R T]は2回目の撮像時の位置姿勢を、AおよびA’はそれぞれ1回目および2回目の撮像時のカメラの内部パラメータ行列を表わし、dは射影変換行列を生成するサンプリング距離を表わす。また、λは定数倍の不定性を示す定数である。
これを整理するとmからm’への射影変換を表す画素参照行列Jが式15のように得られる。
J=A’(dRA−1+TD)
D=(0 0 1) (15)
このステップでは、上記に示した各パラメータの値を式15に代入し、画素参照行列Jを得る。
D=(0 0 1) (15)
このステップでは、上記に示した各パラメータの値を式15に代入し、画素参照行列Jを得る。
次に、画素値整合度算出部1103は、ステップS1303で生成された画素参照行列に基づき、各対応点の画素値の整合度を算出する(ステップS1304)。2回目の撮像によって得られた画像上での対応点の画素位置は、通常非整数画素位置になるので、バイキュービック法やバイリニア法などの補間を用いて画素値を参照する。ある画素位置における整合度Cの例としては、n番目の入力画像の画素値をInとした時、式16で表されるようなものが考えられる。ここでNは入力画像の数であり、本実施例においては2となる。
この値は、2つの画素値の整合性が高いほど小さくなる。このステップでは、上記パラメータの値を式16に代入して整合度を算出する。整合度の算出を1回目の撮像に対応する画像上の全ての画素に対して行い、各画素位置に対応する整合度を2次元状に並べた整合度マップを生成して最適距離選択部1104に出力する。
次に、最適距離選択部1104は、ステップS1304で生成された整合度マップを取得して最適距離選択部1104が保持している整合度マップとの比較を行い、距離マップを更新する(ステップS1305)。最適距離選択部1104は、整合度マップと、その整合度を算出したサンプリング距離をマッピングした距離マップを保持している。ここでは、取得した整合度マップと保持している整合度マップとを比較し、各画素位置においてより整合度の小さい値を抽出して、新たな整合度マップを生成する。生成した整合度マップに対応するように、距離マップの更新を行う。なお、保持している整合度マップおよび距離マップが存在しない場合には、取得した整合度マップを保持し、その整合度マップに対応する距離マップを生成する。
次に、最適距離選択部1104は、ステップS1301で決定された全てのサンプリング距離について整合度の算出および比較が行われたかどうかを判断する(ステップS1306)。全てのサンプリング距離について整合度の算出が行われていない場合、ステップS1303に戻り、新たなサンプリング距離について画素参照行列の生成を行って、同様の処理を続ける。
全てのサンプリング距離について整合度の算出および比較が行われた場合、最適距離選択部1104は、入力された画像データと、保持していた距離マップを符号化部109に出力する(ステップS1307)。
以上の処理により、ステレオ法を用いた距離推定を行うことができる。なお、ここで算出した整合度は画素単位での整合度であるので、ノイズの影響を受けやすい。そこで、ステレオ距離推定部108は、整合度マップもしくは距離マップ生成のときに、異常値を除外するフィルタ処理などを行う構成であっても。また、1回目の撮像位置を基準にせず、1回目の撮像位置と2回目の撮像位置の間に仮想的なカメラを設定し、その仮想カメラの撮像面からの距離を求める距離とする構成であっても良い。
また、本実施例では、ステレオ距離推定部108は、2枚の画像から距離情報を算出するものとしたが、2枚以上ならば用いる画像の数はいくつであっても良い。また、本実施例では、離散的なサンプリング距離について画像間の整合性を検証し、最適な距離を選択するという方法で距離情報が算出されたが、そのほかの方法により距離情報が算出されるようにしても良い。距離情報を求めるその他の方法としては、非線形最適化により画像間のオプティカルフローを求める方法や、エピポーラ線上でブロックマッチングを行う方法、2枚の画像の平行化を行って三角測量により距離を求める方法などがある。
また、本実施例では、カメラ100の位置姿勢として行列RおよびベクトルTを用いてステレオ距離推定が行われたが、2枚の画像を撮像により取得した位置の相対的な位置関係を示す情報であれば、他のどのような情報を用いて距離推定が行われても良い。例えば、GPSによる位置情報などが用いられても良い。
また、本実施例ではレンズの焦点距離、主点−撮像素子間距離、射出瞳径の3つのパラメータを用いてユーザが撮影条件を設定するものとしたが、これらの3つの要素のいずれかにかかわるパラメータであればどのようなものを用いても良い。たとえば、被写界深度や被写体側の合焦位置などを用いても良い。また、これらのパラメータはユーザによって設定される必要はなく、撮影シーンに応じてカメラが自動的に設定するようにしても良い。
本実施例において、DFD距離推定部106は、撮像により得られた複数の画像の合焦状態の違いに基づいて距離情報を取得する第一の取得手段として機能した。
また、位置姿勢推定部107およびステレオ距離推定部108は、前記複数の画像の視差に基づいて距離情報を取得する第二の取得手段として機能した。
また、移動度判定部105は、前記撮像が行われた視点の位置に関する情報に基づいて、出力する距離情報に対応する取得手段を選択する手段として機能した。また、DFD距離推定部106とステレオ距離推定部108は、移動度判定部105によって選択された取得手段によって取得された距離情報を出力する手段として機能した。つまり、移動度判定部105とDFD距離推定部106とステレオ距離推定部108は、出力する距離情報に対応する取得手段を選択し、該選択された取得手段によって取得された距離情報を出力する出力手段として機能した。
また、移動度判定部105は、前記複数の画像からの距離情報の取得を中止するかどうかを判断する判断手段としても機能した。
上記の構成によれば、距離推定に用いる複数の画像の、撮像時の視点の位置関係を示す情報に基づいて適切な距離推定処理が選択されるので、カメラ100の移動が距離情報取得の精度に与える影響を低減できる。
<第二の実施例>
図14は、第二の実施例におけるカメラ1400の構成を示すブロック図である。カメラ1400は、第一の実施例のカメラ100に移動量検知部1401を加え、移動度判定部105を移動度判定部1402に変更した構成となっている。
図14は、第二の実施例におけるカメラ1400の構成を示すブロック図である。カメラ1400は、第一の実施例のカメラ100に移動量検知部1401を加え、移動度判定部105を移動度判定部1402に変更した構成となっている。
移動量検知部1401は、カメラの移動量や角度変化を検知するジャイロセンサなどのセンサであり、2回の撮像間の移動量を検知して移動度判定部1405に出力する。
本実施例では、移動度判定部1405は、移動量検知部1401から入力された移動量に基づいて、距離推定方法の選択を行う。これにより、移動量判定のために行う処理が低減される。
以下、本実施例の移動度判定部1402内で行われる処理について説明する。図15は移動度判定部1402の構成を示すブロック図であり、図16は、移動度判定部1402内で行われる処理を示したフローチャートである。図6と同様の処理に関しては、同様の符号を使用して説明を省略する。
まず、距離推定方法選択部1501は、デジタル信号処理部104から出力された画像データを取得する(ステップS1601)。
次に、距離推定方法選択部1501は、移動量検知部1401から出力された、カメラの移動量を取得する(ステップS1602)。
次に、距離推定方法選択部1501は、ステップS1602で取得した移動量に基づいて、カメラの移動度が大きいかどうかを判断する(ステップS1603)。
カメラの移動度が小さいと判定された場合、距離推定方法選択部1501は、DFD距離推定部106に入力された画像データを出力し、処理を終了する(ステップS1604)。
カメラの移動度が小さいと判定された場合、距離推定方法選択部1501は、DFD距離推定部106に入力された画像データを出力し、処理を終了する(ステップS1604)。
カメラの移動度が大きいと判定された場合、移動度判定部1402はステップS605までの処理を行い、入力された画像データと検出された対応点の組を位置姿勢推定部107に出力して処理を終了する(ステップS1605)。
以上の処理によれば、距離推定方法選択のために画像中の対応点探索を行わずに済むので、距離推定方法選択のための処理量が第1の実施例よりも低減される。
なお、ここで用いられる移動量検知センサはジャイロセンサである必要はなく、カメラの移動量や角度変化を検知することができるセンサであれば、光センサや磁気センサなど、どんなものであっても良い。
本実施例において、移動量検知部1401は、撮像手段の移動量を検知する手段として機能した。
<第三の実施例>
第三の実施例は、カメラとコンピュータが接続された情報処理システムに適用される。
第三の実施例は、カメラとコンピュータが接続された情報処理システムに適用される。
図17は、第三の実施例の情報処理システムの構成を示すブロック図である。
カメラ(撮像装置)1700は、撮像部1701と、操作部1702と、撮像制御部1703と、I/Oインターフェース1704を有している。撮像部1701と操作部1702は第一の実施例の撮像部101と操作部102と同様の構成になっており、撮像制御部1703は、撮像部の光学系条件や撮像タイミングなどを制御するための専用の処理回路となっている。また、I/Oインターフェース1704は、ユニバーサルシリアルバス(USB)によって実装されたシリアルバス接続を利用でき、対応するUSBコネクタ(図示せず)を有する。もちろん、光ファイバーによるLAN接続や、無線接続などを利用しても良い。カメラ1700は、このI/Oインターフェース1704を介してコンピュータ1710と接続されている。
コンピュータ1710は、I/Oインターフェース1711、メディアI/F1718、情報処理部1720を有している。
I/Oインターフェース1711はI/Oインターフェース1704と同様の構成になっており、USBケーブルによってI/Oインターフェース1704と接続されている。
メディアI/F1718は外部メディアと接続するためのインターフェースであり、本実施例においてはデータを記憶するHDDと接続されている。
情報処理部1720のハードウェア構成は第一の実施例の情報処理部120と同様であり、ROMに記憶されたプログラムを実行することで、図17に示す各構成部としての役割を果たす。なお、情報処理部1720の構成は、上記に示すもの以外に、図17に示す各構成部の一部または全部の役割を果たす専用の処理回路などを備えたものであっても良い。
この情報処理システムで行われる処理は図4のフローチャートで示される第一の実施例の処理と同様である。図4のフローチャートを参照して説明すると、ステップS401とステップS402の処理をカメラ1700が行い、ステップS403以降の処理をコンピュータ1710が行う。カメラ1700は、撮像制御部1703が出力する命令信号に基づいて、ステップS401とS402の処理を行う。また、情報処理部1720のROMには図4のステップS403〜S410に対応する処理をCPUに実行させるプログラムが格納されている。情報処理部1720内のCPUがそのプログラムを実行することで、情報処理部1720はステップS403〜S410の処理を行う。
このような構成にすることで、情報処理能力に乏しいカメラによって取得された画像からも距離情報の取得を行うことができる。
なお、この情報処理システムの構成は本実施例で示されるものに限られず、コンピュータ1710で行われる処理の一部をカメラ1700で行うように構成したものでも良い。例えば、移動度の判定による距離推定処理の選択(ステップS405)までをカメラ1700が行い、カメラ1700から出力された制御信号が示す距離推定手法を用いてコンピュータ1710が距離情報の取得を行うようにしても良い。
また、カメラ1700とコンピュータ1710を相互に通信可能とし、カメラ1700による撮影条件の設定をコンピュータ1710で行うように構成したものであっても良い。
<その他の実施例>
実施例は上記の構成に限定されるものではなく、上記の複数の実施例を組み合わせた構成、例えば、第二の実施例において移動量検知部1401で検知された移動量と、画像の対応点から求めた移動度を判断基準として併用するようにしても良い。また、第三の実施例のカメラ1700に移動量検知部を新たに設け、その移動量検知部で検知された移動量をコンピュータ1710に出力するようにしても良い。
実施例は上記の構成に限定されるものではなく、上記の複数の実施例を組み合わせた構成、例えば、第二の実施例において移動量検知部1401で検知された移動量と、画像の対応点から求めた移動度を判断基準として併用するようにしても良い。また、第三の実施例のカメラ1700に移動量検知部を新たに設け、その移動量検知部で検知された移動量をコンピュータ1710に出力するようにしても良い。
また、上記の実施例においては、カメラの移動度に基づいて、距離情報取得に用いる処理方法が選択されたが、あらかじめそれぞれの処理方法を用いて距離情報が取得され、カメラの移動度に基づいて、最終的に出力する距離情報が選択されてもよい。そのようにしても撮像装置の移動の有無が距離情報取得の精度に与える影響を低減できるが、上記の実施例のようにすれば、距離情報取得のための処理量も低減することができる。
また、第一の実施例では、2枚の画像間の対応点マッチングによりカメラの移動度を判定したが、画像から得られるほかの情報に基づいてカメラの移動度を判定しても良い。例えば、2枚の画像の周波数解析によって画像の合焦状態の変化を調べ、その変化の大きさに基づいてカメラの移動度を判定しても良い。
また、第一の実施例では、2枚の画像間の合焦状態の違いに基づいて被写体の距離情報を推定する方法としてDFD法が用いられたが、DFF(Depth From Focusing)法など、別の方法を用いて距離情報を用いるようにしても良い。
また、第二の実施例において、移動量検知部1401の検知精度が十分に良い場合は、位置姿勢推定部107での処理を行わず、移動量検知部1401で検出された移動位置および回転量をそのままカメラ1400の位置姿勢として用いるようにしても良い。
また、本発明を、複数の撮像部を有する多眼カメラに適用し、多眼カメラによって取得された複数の画像から画像を無作為に選択した場合に、各画像に対応する視点の位置に基づいて使用する距離推定方法を変更するようにしても良い。なお、本発明は例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。また、複数の機器から構成されるシステムに適用しても良いし、一つの機器からなる装置に適用しても良い。
また、本発明はソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては例えば、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などでも良い。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記憶媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであっても良い。また、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
100 カメラ(撮像装置)
101 撮像部
105 移動度判定部(出力手段)
106 DFD距離推定部(第一の取得手段)
107 位置姿勢推定部(第二の取得手段)
108 ステレオ距離推定部(第二の取得手段、出力手段)
120、1720 情報処理部
101 撮像部
105 移動度判定部(出力手段)
106 DFD距離推定部(第一の取得手段)
107 位置姿勢推定部(第二の取得手段)
108 ステレオ距離推定部(第二の取得手段、出力手段)
120、1720 情報処理部
Claims (13)
- 撮像により得られた複数の画像の合焦状態の違いに基づいて被写体の距離情報を取得する第一の取得手段と、
前記複数の画像の視差に基づいて被写体の距離情報を取得する第二の取得手段と、
前記撮像が行われた視点の位置に関する情報に基づいて、出力する距離情報に対応する取得手段を前記第一および第二の取得手段のうちから選択し、該選択された取得手段によって取得された距離情報を出力する出力手段とを有することを特徴とする情報処理装置。 - 前記位置に関する情報は、前記撮像が行われた複数の位置の位置関係に関する情報を含むことを特徴とする請求項1に記載の情報処理装置。
- 前記位置に関する情報は、前記複数の画像の視差に基づいて取得されることを特徴とする請求項1又は2に記載の情報処理装置。
- 前記位置に関する情報は、前記撮像を行った装置の移動量に基づいて取得されることを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。
- 前記複数の画像は、同一の光学系により結像された画像であることを特徴とする請求項1乃至4のいずれかに記載の情報処理装置。
- 前記複数の画像からの距離情報の取得を中止するかどうかを判断する判断手段を更に有し、
前記判断手段により、前記距離情報の取得を中止すると判断された場合には、エラー信号を出力することを特徴とする請求項1乃至5のいずれかに記載の情報処理装置。 - 前記距離情報は、被写体中の複数の位置までの距離を示す距離マップであることを特徴とする請求項1乃至6のいずれかに記載の情報処理装置。
- 請求項1乃至7のいずれかに記載の情報処理装置としての機能を有し、前記複数の画像を撮像により取得する撮像手段を更に備えることを特徴とする撮像装置。
- 前記撮像手段の移動量を検知する検知手段をさらに備えることを特徴とする請求項8に記載の撮像装置。
- 撮像装置と情報処理装置とを含む情報処理システムであって、
撮像によって複数の画像を取得する撮像手段と、
前記複数の画像の合焦状態の違いに基づいて距離情報を取得する第一の取得手段と、
前記複数の画像の視差に基づいて距離情報を取得する第二の取得手段と、
前記撮像が行われた視点の位置に関する情報に基づいて、前記第一および第二の取得手段のうちの一方を選択し、該選択された取得手段によって取得された距離情報を出力する出力手段とを有することを特徴とする情報処理システム。 - 撮像により得られた複数の画像を取得するステップと、
前記撮像が行われた位置に関する情報を取得するステップと、
前記撮像が行われた位置に関する情報に基づいて、前記複数の画像の合焦状態の違いに基づいて距離情報を取得する処理方法または前記複数の画像の視差に基づいて距離情報を取得する処理方法を選択するステップと、
前記選択された処理方法を用いて、前記複数の画像から距離情報を取得するステップとを含む情報処理方法。 - 情報処理装置にプログラムコードとして読み込ませることにより、処理を実行させるプログラムであって、
前記処理は、
撮像により得られた複数の画像を取得するステップと、
前記撮像が行われた位置に関する情報を取得するステップと、
前記撮像が行われた位置に関する情報に基づいて、前記複数の画像の合焦状態の違いに基づいて距離情報を取得する処理方法または前記複数の画像の視差に基づいて距離情報を取得する処理方法を選択するステップと、
前記選択された処理方法を用いて、前記複数の画像から距離情報を取得するステップとを含むプログラム。 - 請求項12に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013130855A JP2015005200A (ja) | 2013-06-21 | 2013-06-21 | 情報処理装置、情報処理システム、情報処理方法、プログラムおよび記憶媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013130855A JP2015005200A (ja) | 2013-06-21 | 2013-06-21 | 情報処理装置、情報処理システム、情報処理方法、プログラムおよび記憶媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2015005200A true JP2015005200A (ja) | 2015-01-08 |
Family
ID=52301021
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013130855A Pending JP2015005200A (ja) | 2013-06-21 | 2013-06-21 | 情報処理装置、情報処理システム、情報処理方法、プログラムおよび記憶媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2015005200A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020008415A (ja) * | 2018-07-06 | 2020-01-16 | ミツミ電機株式会社 | 測距カメラ |
| CN113474819A (zh) * | 2019-03-27 | 2021-10-01 | 索尼集团公司 | 信息处理装置、信息处理方法和程序 |
| JPWO2023008441A1 (ja) * | 2021-07-26 | 2023-02-02 | ||
| CN118365915A (zh) * | 2024-06-19 | 2024-07-19 | 长春理工大学中山研究院 | 一种基于迭代重加权的非线性基础矩阵估计方法 |
-
2013
- 2013-06-21 JP JP2013130855A patent/JP2015005200A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020008415A (ja) * | 2018-07-06 | 2020-01-16 | ミツミ電機株式会社 | 測距カメラ |
| CN113474819A (zh) * | 2019-03-27 | 2021-10-01 | 索尼集团公司 | 信息处理装置、信息处理方法和程序 |
| JPWO2023008441A1 (ja) * | 2021-07-26 | 2023-02-02 | ||
| WO2023008441A1 (ja) * | 2021-07-26 | 2023-02-02 | 京セラ株式会社 | 情報処理装置、情報処理方法、撮像装置、及び情報処理システム |
| CN118365915A (zh) * | 2024-06-19 | 2024-07-19 | 长春理工大学中山研究院 | 一种基于迭代重加权的非线性基础矩阵估计方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10789765B2 (en) | Three-dimensional reconstruction method | |
| JP5887267B2 (ja) | 3次元画像補間装置、3次元撮像装置および3次元画像補間方法 | |
| EP3101624B1 (en) | Image processing method and image processing device | |
| CN113711276B (zh) | 尺度感知单目定位和地图构建 | |
| JP6669063B2 (ja) | 画像処理装置および方法 | |
| US20130335535A1 (en) | Digital 3d camera using periodic illumination | |
| JP2019075082A (ja) | 深度値推定を用いた映像処理方法及び装置 | |
| JP2018515825A (ja) | Lidarステレオ融合実写3dモデルバーチャルリアリティビデオ | |
| JP7285834B2 (ja) | 三次元再構成方法および三次元再構成装置 | |
| US20120162220A1 (en) | Three-dimensional model creation system | |
| JP2011166264A (ja) | 画像処理装置、撮像装置、および画像処理方法、並びにプログラム | |
| JP6304244B2 (ja) | 3次元形状計測装置、3次元形状計測方法及び3次元形状計測プログラム | |
| GB2565354A (en) | Method and corresponding device for generating a point cloud representing a 3D object | |
| CN111179329A (zh) | 三维目标检测方法、装置及电子设备 | |
| US10354399B2 (en) | Multi-view back-projection to a light-field | |
| JP2018195241A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
| CN115035235A (zh) | 三维重建方法及装置 | |
| JPWO2019211970A1 (ja) | 三次元再構成方法及び三次元再構成装置 | |
| JP7204021B2 (ja) | 画像の鮮鋭レベルを表わす位置合わせ誤差マップを得るための装置および方法 | |
| WO2023199583A1 (ja) | ビューワ制御方法及び情報処理装置 | |
| JP2013044597A (ja) | 画像処理装置および方法、プログラム | |
| JP2015005200A (ja) | 情報処理装置、情報処理システム、情報処理方法、プログラムおよび記憶媒体 | |
| CN116704111B (zh) | 图像处理方法和设备 | |
| JP6625654B2 (ja) | 投影装置、投影方法、および、プログラム | |
| JP5086120B2 (ja) | 奥行き情報取得方法、奥行き情報取得装置、プログラムおよび記録媒体 |