トップ :: G 物理学 :: G01 測定;試験




【発明の名称】 視差画像撮像装置、視差画像処理装置、視差画像撮像方法、及び視差画像処理方法
【発明者】 【氏名】小野 修司

【要約】 【課題】複数の物体が重なって見える被写体の複数の奥行き値を獲得することのできる視差画像撮像装置、視差画像処理装置、視差画像撮像方法、及び視差画像処理方法を提供する。

【解決手段】被写体を見る視点を移動させた場合に得られる複数の視差画像を順次撮像させる制御部39と、制御部39により撮像された複数の視差画像の特定画素が、視点の移動に従って複数の視差画像上で移動した軌跡を表す視差ラインを検出する視差ライン検出部24と、特定画素の視差ラインと交差する複数の交差視差ラインを抽出し、特定画素の視差ラインの傾き及び交差視差ラインの傾きに基づいて、特定画素に撮像された被写体の領域までの複数の距離を算出する距離成分算出部28とを備えた。
【特許請求の範囲】
【請求項1】 被写体の奥行きに関する情報を獲得する視差画像撮像装置であって、前記被写体を見る視点を移動させた場合に得られる複数の視差画像を順次撮像させる制御部と、前記制御部により撮像された前記複数の視差画像の特定の画素が、前記視点の移動方向及び移動量に従って、前記複数の視差画像上で移動した軌跡を表す視差ラインを検出する視差ライン検出部と、前記特定の画素の前記視差ラインと交差する複数の交差視差ラインを抽出し、前記特定の画素の前記視差ラインの傾き及び前記複数の交差視差ラインの傾きに基づいて、前記特定の画素に撮像された前記被写体の領域までの複数の距離を算出する距離成分算出部とを備えたことを特徴とする視差画像撮像装置。
【請求項2】 前記被写体を結像する第1の光学結像部と、複数の受光素子が配置され、前記第1の光学結像部により前記被写体の前記複数の視差画像が撮像される第1の受光部と、前記第1の光学結像部を移動させる駆動部とをさらに備え、前記制御部が前記視点の前記移動方向及び前記移動量を指定し、前記駆動部は前記移動方向及び前記移動量に基づいて前記第1の光学結像部を移動させることを特徴とする請求項1に記載の視差画像撮像装置。
【請求項3】 前記視差ライン検出部は、前記制御部が指定する前記視点の前記移動方向と略同一の方向に、前記制御部が指定する前記視点の前記移動量だけ、前記特定の画素の前記軌跡を追跡することにより、前記視差ラインを検出することを特徴とする請求項2に記載の視差画像撮像装置。
【請求項4】 前記視点の前記移動方向及び前記移動量を検出する視点移動検出部をさらに備え、前記視差ライン検出部は、前記視点移動検出部が検出した前記視点の前記移動方向と略同一の方向に、前記視点移動検出部が検出した前記視点の前記移動量だけ、前記特定の画素の前記軌跡を追跡することにより、前記視差ラインを検出することを特徴とする請求項1に記載の視差画像撮像装置。
【請求項5】 前記視点移動検出部が、方向センサー及び加速度センサーの少なくとも一方を有し、前記視点の前記移動方向及び前記移動量を、前記方向センサー及び前記加速度センサーの少なくとも一方によって検出することを特徴とする請求項4に記載の視差画像撮像装置。
【請求項6】 前記視点移動検出部は、前記複数の視差画像の特定の領域が、前記複数の視差画像上で移動した移動方向及び移動量を検出することによって、前記視点の前記移動方向及び前記移動量を検出することを特徴とする請求項4に記載の視差画像撮像装置。
【請求項7】 前記被写体を結像する第2の光学結像部と、前記第2の光学結像部により前記被写体の画像が撮像される第2の受光部と、前記第1の受光部に撮像された前記複数の視差画像、前記距離算出部が算出した前記複数の距離、及び前記第2の受光部に撮像された前記被写体の画像を記録する記録部とをさらに備え、前記制御部が、前記距離成分算出部が算出した前記複数の距離に基づいて、前記第2の光学結像部のフォーカス、絞り、及び前記第2の受光部の露光時間の少なくとも一つを制御することを特徴とする請求項2に記載の視差画像撮像装置。
【請求項8】 前記第1の光学結像部により前記被写体の画像が撮像される第2の受光部と、前記第1の受光部に撮像された前記複数の視差画像、前記距離算出部が算出した前記複数の距離、及び前記第2の受光部に撮像された前記被写体の画像を記録する記録部とをさらに備え、前記制御部が、前記距離成分算出部が算出した前記複数の距離に基づいて、前記第1の光学結像部のフォーカス、絞り、及び前記第2の受光部の露光時間の少なくとも一つを制御することを特徴とする請求項2に記載の視差画像撮像装置。
【請求項9】 被写体の奥行きに関する情報を算出する視差画像処理装置であって、前記被写体の画像及び前記被写体を見る視点を移動させた場合に得られる複数の視差画像を入力する視差画像入力部と、前記複数の視差画像の特定の画素が、前記視点の移動方向及び移動量に従って、前記複数の視差画像上で移動した軌跡を表す視差ラインを検出する視差ライン検出部と、前記特定の画素の前記視差ラインと交差する複数の交差視差ラインを抽出し、前記特定の画素の前記視差ラインの傾き及び前記複数の交差視差ラインの傾きに基づいて、前記特定の画素に撮像された前記被写体の領域までの複数の距離を算出する距離成分算出部と、前記距離成分算出部が算出した前記複数の距離に基づいて、前記被写体の前記画像を処理する画像処理部と、前記画像処理部が作成して得られた画像を出力する画像出力部とを備えたことを特徴とする視差画像処理装置。
【請求項10】 前記視点の前記移動方向及び前記移動量を検出する視点移動検出部をさらに備え、前記視差ライン検出部は、前記視点移動検出部が検出した前記視点の前記移動方向と略同一の方向に、前記視点移動検出部が検出した前記視点の前記移動量だけ、前記特定の画素の前記軌跡を追跡することにより、前記視差ラインを検出することを特徴とする請求項9に記載の視差画像処理装置。
【請求項11】 前記視点移動検出部は、前記複数の視差画像の特定の領域が、前記複数の視差画像上で移動した移動方向及び移動量を検出することによって、前記視点の前記移動方向及び前記移動量を検出することを特徴とする請求項10に記載の視差画像処理装置。
【請求項12】 被写体の奥行きに関する情報を算出するコンピュータ用のプログラムを格納した記録媒体であって、前記プログラムが、前記コンピュータに働きかけて、前記被写体の画像及び前記被写体を見る視点を移動させた場合に得られる複数の視差画像を入力させる視差画像入力モジュールと、前記コンピュータに働きかけて、前記被写体の画像及び前記複数の視差画像を記憶させる視差画像記憶モジュールと、前記コンピュータに働きかけて、前記複数の視差画像の特定の画素が、前記視点の移動方向及び移動量に従って、前記複数の視差画像上で移動した軌跡を表す視差ラインを検出させる視差ライン検出モジュールと、前記コンピュータに働きかけて、前記特定の画素の前記視差ラインと交差する複数の交差視差ラインを抽出し、前記特定の画素の前記視差ラインの傾き及び前記複数の交差視差ラインの傾きに基づいて、前記特定の画素に撮像された前記被写体の領域までの複数の距離を算出させる距離成分算出モジュールと、前記コンピュータに働きかけて、前記距離成分算出モジュールが算出した前記複数の距離に基づいて、前記被写体の前記画像を処理させる画像処理モジュールと、前記コンピュータに働きかけて、前記画像処理モジュールが作成して得られた画像を出力させる画像出力モジュールとを備えたことを特徴とする記録媒体。
【請求項13】 前記プログラムが、前記コンピュータに働きかけて、前記視点の前記移動方向及び前記移動量を検出させる視点移動検出モジュールをさらに備え、前記視差ライン検出モジュールは、前記視点移動検出モジュールが検出した前記視点の前記移動方向と略同一の方向に、前記視点移動検出モジュールが検出した前記視点の前記移動量だけ、前記特定の画素の前記軌跡を追跡することにより、前記視差ラインを検出することを特徴とする請求項12に記載の記録媒体。
【請求項14】 前記視点移動検出モジュールは、前記複数の視差画像の特定の領域が、前記複数の視差画像上で移動した移動方向及び移動量を検出することによって、前記視点の前記移動方向及び前記移動量を検出させることを特徴とする請求項13に記載の記録媒体。
【請求項15】 被写体の奥行きに関する情報を算出する視差画像処理方法であって、前記被写体の画像及び前記被写体を見る視点を移動させた場合に得られる複数の視差画像を入力し、前記複数の視差画像の特定の画素が、前記視点の移動方向及び移動量に従って、前記複数の視差画像上で移動した軌跡を表す視差ラインを検出し、前記特定の画素の前記視差ラインと交差する複数の交差視差ラインを抽出し、前記特定の画素の前記視差ラインの傾き及び前記複数の交差視差ラインの傾きに基づいて、前記特定の画素に撮像された前記被写体の領域までの複数の距離を算出することを特徴とする視差画像処理方法。
【請求項16】 被写体の奥行きに関する情報を獲得する視差画像撮像方法であって、前記被写体を見る視点を移動させた場合に得られる複数の視差画像を撮像し、前記複数の視差画像の特定の画素が、前記視点の移動方向及び移動量に従って、前記複数の視差画像上で移動した軌跡を表す視差ラインを検出し、前記特定の画素の前記視差ラインと交差する複数の交差視差ラインを抽出し、前記特定の画素の前記視差ラインの傾き及び前記複数の交差視差ラインの傾きに基づいて、前記特定の画素に撮像された前記被写体の領域までの複数の距離を算出し、前記距離算出部が算出した前記複数の距離に基づいて、前記被写体を撮像するときの撮影条件を調整し、前記被写体を前記撮影条件で撮像することを特徴とする視差画像撮像方法。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、異なる視点から被写体を見た場合に得られる複数の視差画像に基づいて、被写体の奥行き値を獲得する視差画像撮像装置、視差画像処理装置、視差画像撮像方法、及び視差画像処理方法に関する。特に本発明は、複数の物体が重なって見える被写体の複数の視差画像に基づいて、被写体の複数の奥行き値を獲得する視差画像撮像装置、視差画像処理装置、視差画像撮像方法、及び視差画像処理方法に関する。
【0002】
【従来の技術】画像処理や画像認識の分野において、被写体の奥行き方向の情報を抽出する手法として、異なる視点から被写体を見た場合に得られる複数の視差画像を用いて、視差画像間の視差を検出し、視差から被写体の奥行き値を計算する方法が一般に取られている。
【0003】複数の視差画像間の視差を検出するためには、ある視差画像に撮像された被写体の点が、他の視差画像のどこに対応しているかを探し出す処理が必要である。この処理は対応点決定(マッチング)処理と呼ばれる。対応点が決定されると、被写体の点が、複数の視差画像上を移動した距離、すなわち視差量が得られる。視差量が得られると、三角測量の原理より、被写体の点の奥行き値を計算することができる。
【0004】また、対応点決定処理を必要としない、被写体の奥行き測定手法として、ハフ変換処理によって、複数の視差画像からある奥行きの部分のみの画像を抽出する手法がある(特開平5−272942号公報)。
【0005】
【発明が解決しようとする課題】しかしながら、上記のような方法では、複数の撮像系で立体物を撮像した際、一方の撮像系では撮像されているが他方の撮像系では撮像されていない部分、すなわちオクルージョン部が生じる場合、このオクルージョン部においては対応点が抽出できない。したがって、オクルージョン部では、視差を検出することができず、オクルージョン部を含む被写体の奥行き値を測定することができないという問題が生じていた。
【0006】オクルージョン部が存在する場合、被写体の形状を推定してオクルージョン部の補間処理を行う方法(特開平6−265322号公報)や、オクルージョン部や被写体の輪郭付近の視差を、周囲の前景や背景の視差から推定する方法(特開平10−191396号公報)がある。これらの方法は、視差画像から計算される被写体の点の奥行き値は一つであるという前提で視差を計算する。
【0007】しかし、複数の物体が重なって見える被写体の場合、被写体のある点の奥行き値は一つであると考えるよりも、複数の値を持つと考える方が適切であることが多い。たとえば、木の枝の間を通して向こう側に物体が見える場合、窓のブラインド越しに外の景色が見える場合、又は半透明のガラスを通して物体を透かして見た場合に、重なり合った部分の被写体の領域は、前景と背景の複数の奥行き値を同時に持つ。
【0008】このような複数の物体が重なって見える被写体の視差画像を撮像すると、オクルージョン部が多数発生し、対応点の検出が著しく困難になる。このような場合、被写体のある点の奥行き値がただ一つであるという前提で、視差の推定処理を進めると、正しい視差を検出できず、したがって被写体の正しい奥行き値が得られないことが多い。
【0009】そこで本発明は、上記の課題を解決するために、複数の物体が重なって見える被写体を撮像する場合、被写体の複数の奥行き値を正確に獲得することのできる視差画像撮像装置、視差画像処理装置、視差画像撮像方法、及び視差画像処理方法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【0010】
【課題を解決するための手段】即ち、本発明の第1の形態における視差画像撮像装置は、被写体の奥行きに関する情報を獲得する視差画像撮像装置であって、被写体を見る視点を移動させた場合に得られる複数の視差画像を順次撮像させる制御部と、制御部により撮像された複数の視差画像の特定の画素が、視点の移動方向及び移動量に従って、複数の視差画像上で移動した軌跡を表す視差ラインを検出する視差ライン検出部と、特定の画素の視差ラインと交差する複数の交差視差ラインを抽出し、特定の画素の視差ラインの傾き及び複数の交差視差ラインの傾きに基づいて、特定の画素に撮像された被写体の領域までの複数の距離を算出する距離成分算出部とを備えたことを特徴とする。
【0011】被写体を結像する第1の光学結像部と、複数の受光素子が配置され、第1の光学結像部により被写体の複数の視差画像が撮像される第1の受光部と、第1の光学結像部を移動させる駆動部とをさらに備え、制御部が視点の移動方向及び移動量を指定し、駆動部は移動方向及び移動量に基づいて第1の光学結像部を移動させてもよい。
【0012】視差ライン検出部は、制御部が指定する視点の移動方向と略同一の方向に、制御部が指定する視点の移動量だけ、特定の画素の軌跡を追跡することにより、視差ラインを検出してもよい。
【0013】視点の移動方向及び移動量を検出する視点移動検出部をさらに備え、視差ライン検出部は、視点移動検出部が検出した視点の移動方向と略同一の方向に、視点移動検出部が検出した視点の移動量だけ、特定の画素の軌跡を追跡することにより、視差ラインを検出してもよい。
【0014】視点移動検出部が、方向センサー及び加速度センサーの少なくとも一方を有し、視点の移動方向及び移動量を、方向センサー及び加速度センサーの少なくとも一方によって検出してもよい。
【0015】視点移動検出部は、複数の視差画像の特定の領域が、複数の視差画像上で移動した移動方向及び移動量を検出することによって、視点の移動方向及び移動量を検出してもよい。
【0016】被写体を結像する第2の光学結像部と、第2の光学結像部により被写体の画像が撮像される第2の受光部と、第1の受光部に撮像された複数の視差画像、距離算出部が算出した複数の距離、及び第2の受光部に撮像された被写体の画像を記録する記録部とをさらに備え、制御部が、距離成分算出部が算出した複数の距離に基づいて、第2の光学結像部のフォーカス、絞り、及び第2の受光部の露光時間の少なくとも一つを制御してもよい。
【0017】第1の光学結像部により被写体の画像が撮像される第2の受光部と、第1の受光部に撮像された複数の視差画像、距離算出部が算出した複数の距離、及び第2の受光部に撮像された被写体の画像を記録する記録部とをさらに備え、制御部が、距離成分算出部が算出した複数の距離に基づいて、第1の光学結像部のフォーカス、絞り、及び第2の受光部の露光時間の少なくとも一つを制御してもよい。
【0018】本発明の第2の形態における視差画像処理装置は、被写体の奥行きに関する情報を算出する視差画像処理装置であって、被写体の画像及び被写体を見る視点を移動させた場合に得られる複数の視差画像を入力する視差画像入力部と、複数の視差画像の特定の画素が、視点の移動方向及び移動量に従って、複数の視差画像上で移動した軌跡を表す視差ラインを検出する視差ライン検出部と、特定の画素の視差ラインと交差する複数の交差視差ラインを抽出し、特定の画素の視差ラインの傾き及び複数の交差視差ラインの傾きに基づいて、特定の画素に撮像された被写体の領域までの複数の距離を算出する距離成分算出部と、距離成分算出部が算出した複数の距離に基づいて、被写体の画像を処理する画像処理部と、画像処理部が作成して得られた画像を出力する画像出力部とを備えたことを特徴とする。
【0019】視点の移動方向及び移動量を検出する視点移動検出部をさらに備え、視差ライン検出部は、視点移動検出部が検出した視点の移動方向と略同一の方向に、視点移動検出部が検出した視点の移動量だけ、特定の画素の軌跡を追跡することにより、視差ラインを検出してもよい。
【0020】視点移動検出部は、複数の視差画像の特定の領域が、複数の視差画像上で移動した移動方向及び移動量を検出することによって、視点の移動方向及び移動量を検出してもよい。
【0021】本発明の第3の形態における記録媒体は、被写体の奥行きに関する情報を算出するコンピュータ用のプログラムを格納した記録媒体であって、プログラムが、コンピュータに働きかけて、被写体の画像及び被写体を見る視点を移動させた場合に得られる複数の視差画像を入力させる視差画像入力モジュールと、コンピュータに働きかけて、被写体の画像及び複数の視差画像を記憶させる視差画像記憶モジュールと、コンピュータに働きかけて、複数の視差画像の特定の画素が、視点の移動方向及び移動量に従って、複数の視差画像上で移動した軌跡を表す視差ラインを検出させる視差ライン検出モジュールと、コンピュータに働きかけて、特定の画素の視差ラインと交差する複数の交差視差ラインを抽出し、特定の画素の視差ラインの傾き及び複数の交差視差ラインの傾きに基づいて、特定の画素に撮像された被写体の領域までの複数の距離を算出させる距離成分算出モジュールと、コンピュータに働きかけて、距離成分算出モジュールが算出した複数の距離に基づいて、被写体の画像を処理させる画像処理モジュールと、コンピュータに働きかけて、画像処理モジュールが作成して得られた画像を出力させる画像出力モジュールとを備えたことを特徴とする。
【0022】プログラムが、コンピュータに働きかけて、視点の移動方向及び移動量を検出させる視点移動検出モジュールをさらに備え、視差ライン検出モジュールは、視点移動検出モジュールが検出した視点の移動方向と略同一の方向に、視点移動検出モジュールが検出した視点の移動量だけ、特定の画素の軌跡を追跡することにより、視差ラインを検出してもよい。
【0023】視点移動検出モジュールは、複数の視差画像の特定の領域が、複数の視差画像上で移動した移動方向及び移動量を検出することによって、視点の移動方向及び移動量を検出させてもよい。
【0024】本発明の第3の形態における視差画像処理方法は、被写体の奥行きに関する情報を算出する視差画像処理方法であって、被写体の画像及び被写体を見る視点を移動させた場合に得られる複数の視差画像を入力し、複数の視差画像の特定の画素が、視点の移動方向及び移動量に従って、複数の視差画像上で移動した軌跡を表す視差ラインを検出し、特定の画素の視差ラインと交差する複数の交差視差ラインを抽出し、特定の画素の視差ラインの傾き及び複数の交差視差ラインの傾きに基づいて、特定の画素に撮像された被写体の領域までの複数の距離を算出することを特徴とする。
【0025】本発明の第4の形態における視差画像処理方法は、被写体の奥行きに関する情報を獲得する視差画像撮像方法であって、被写体を見る視点を移動させた場合に得られる複数の視差画像を撮像し、複数の視差画像の特定の画素が、視点の移動方向及び移動量に従って、複数の視差画像上で移動した軌跡を表す視差ラインを検出し、特定の画素の視差ラインと交差する複数の交差視差ラインを抽出し、特定の画素の視差ラインの傾き及び複数の交差視差ラインの傾きに基づいて、特定の画素に撮像された被写体の領域までの複数の距離を算出し、距離算出部が算出した複数の距離に基づいて、被写体を撮像するときの撮影条件を調整し、被写体を撮影条件で撮像することを特徴とする。
【0026】なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【0027】
【発明の実施の形態】以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0028】(実施形態1)図1は、本発明の第1の実施形態に係る視差画像撮像装置の一例としてのカメラの構成図である。本実施形態のカメラは、光学結像部12と、カラーフィルター19と、受光部20と、レンズ52と、絞り54と、シャッター56と、カラーフィルター58と、CCD(電荷結合素子)60と、マルチプレクサー32と、A/D変換部34と、メモリ36と、距離計算部38と、制御部39と、記録部40と、駆動部42とを有する。
【0029】レンズ52は被写体を結像し、絞り54は絞り量を調整し、シャッター56は露光時間を調整する。カラーフィルター58はレンズ52を通して受光される光のRGB成分を分解する。CCD60はレンズ52によって結像された被写体の画像を受光して、電気信号に変換し、マルチプレクサー32に出力する。
【0030】光学結像部12は被写体の視差画像を結像する。カラーフィルター19は光学結像部12を通して受光される光のRGB成分を分解する。受光部20は光学結像部12によって結像された被写体の画像を受光して、電気信号に変換し、マルチプレクサー32に出力する。
【0031】受光部20は、複数の受光素子がマトリックス状に配置され、光学結像部により被写体が結像される。カラーフィルター19は受光部20の表面を覆い、光のRGB成分を透過させ、受光部20の受光素子に受光させる。受光部20の受光素子は、たとえばCCD(電荷結合素子)のような光電変換素子であってもよく、受光部20は、複数のCCDが配列された光電変換撮像体であってもよい。
【0032】駆動部42は、制御部39によって指定された視点の移動方向及び移動量に基づいて、光学結像部12を移動させる。これにより、光学結像部12は被写体を異なる視点から見た場合に得られる視差画像を受光部20に結像する。
【0033】マルチプレクサー32は、受光部20またはCCD60の出力信号のどちらかを選択し、A/D変換部34に出力する。A/D変換部34は入力されたアナログ信号をデジタル信号に変換し、メモリ36に出力する。メモリ36は入力されたデジタル信号を格納する。メモリ36は、レンズ52がCCD60に撮像した被写体の画像、及び光学結像部12が撮像した被写体の視差画像を記憶する。
【0034】距離計算部38はメモリ36から視差画像を読み出し、視差画像に基づいて、視差画像の任意の画素について、当該カメラからその画素に撮像された被写体の領域までの距離を計算し、視差画像の全領域について距離を格納した被写体の距離分布情報を出力する。特に重なりのある複数の物体を撮像した場合や、半透明のガラスを通して被写体を撮像した場合には、距離計算部38は、首位差画像の画像の特定の画素について、複数の距離成分を計算する。
【0035】制御部39は、所望の視差画像を撮像するために、視点の移動方向及び移動量を指定して、駆動部42を制御する。制御部39はまた、メモリ36から読み出した被写体の画像の色情報、明度、彩度、及び距離計算部38が出力した被写体の距離分布情報に基づいて、レンズ52のフォーカス、絞り54の絞り量及びシャッター56の露光時間の少なくとも一つを制御する。
【0036】記録部40は、メモリ36から読み出した被写体の画像及び距離計算部38が出力した被写体の距離情報を記録する。記録部40はフロッピィディスクのような磁気記録媒体やフラッシュメモリのような不揮発性メモリであってもよい。
【0037】本実施形態のカメラによれば、複数の物体が重なって見える被写体を撮像する場合、被写体の複数の奥行き値を獲得することができる。このため、被写体の複数の奥行き値のいずれかに基づいて、カメラのフォーカス、絞り、露光時間などの撮影条件を合わせて、被写体を撮像することができる。たとえば、木の枝の間を通して向こう側に物体が見える場合や、窓のブラインド越しに外の景色が見える場合に、被写体を撮像するとき、前景と背景の両方の奥行き値を獲得できる。このため、たとえば、前景又は背景のみにフォーカスを合わせたり、前景と背景の両方が鮮明に写るように被写界深度を調整することができる。
【0038】また、半透明のショーウインドウを通してショーウインドウ内にある物体を撮影する場合や、電車や自動車などの車窓から外の風景を撮影する場合、ショーウインドウのガラスの模様や、車窓のガラスに映り込んだ撮影者の姿が同時にカメラに撮像される。このような場合でも、本実施形態のカメラによれば、ガラスの向こう側の物体とガラス上の物体の両方の奥行き値を獲得できる。そのため、たとえば、ガラスの向こう側に見える物体や景色に合わせて、撮影条件を調整し、被写体を撮像することができる。
【0039】また、平面鏡に映された被写体を撮像する場合、鏡に映された被写体であっても、鏡の反対側に被写体の虚像があると想定して、被写体の奥行きを検出することができる。したがって本実施形態のカメラは、平面鏡に映された被写体の奥行き値を獲得するためにも用いることができる。
【0040】また、本実施形態のカメラでは、被写体を撮像する光学系と、視差画像を撮像する光学系を有するが、実施形態はこれに限られない。レンズ52、カラーフィルター58、CCD60に、それぞれ光学結像部12、カラーフィルター19、受光部20の機能を兼ねさせ、被写体を撮像する光学系と、視差画像を撮像する光学系を共通にし、同一の光学系を用いて、被写体の撮像と視差画像の撮像を行ってもよい。
【0041】図2は、光学結像部12を移動させた場合に撮像される視差画像の説明図である。図2において、前景80及び背景90は、複数の物体が重なって見える被写体の一例である。光学結像部12を移動面2に沿って移動させた場合に、結像面4には、被写体の視差画像が撮像される。
【0042】光学結像部12から結像面4までの距離(焦点距離)をF、光学結像部12から前景80までの距離をR0、光学結像部12から背景90までの距離をR1とする。光学結像部12を12aの位置から12bの位置へ移動させたときの移動距離(視点間隔)をLとする。
【0043】光学結像部12が移動面2の12aの位置にあるとき、前景80の点81、83、85は、結像面4のそれぞれ81a、83a、85aの位置に撮像される。また背景90の点91、93、95は、結像面4のそれぞれ91a、93a、95aの位置に撮像される。
【0044】光学結像部12が移動面2の12bの位置にあるとき、前景80の点81、83、85は、結像面4のそれぞれ81b、83b、85bの位置に撮像される。また背景90の点91、95は、結像面4のそれぞれ91b、95bの位置に撮像される。しかし背景90の領域93は、ちょうど前景80の陰に隠れ、前景80の領域81の像81bと重なるため、結像面4には撮像されない。
【0045】光学結像部12が12aの位置にあるとき、結像面4に撮像された視差画像を基準画像と呼び、光学結像部12が12bの位置にあるとき、結像面に撮像された視差画像を参照画像と呼ぶ。基準画像の特定の位置にある画素を基準点とし、基準点に撮像された被写体の同一の点が撮像されている参照画像の画素を参照点と呼ぶ。基準画像における基準点の位置と、参照画像における参照点の位置には一定のずれがある。このずれを視差量と呼ぶ。視差量は基準画像のすべての画素に対して定義される。
【0046】図3は、図2に示した光学結像部12を移動面2に沿って移動しながら、前景80及び背景90を撮像した場合に、前景80及び背景90の結像面における像が視差画像上で移動した軌跡を示すグラフである。グラフの横軸は結像位置を示し、縦軸は光学結像部12を移動させた距離(視点間隔)を示す。
【0047】図3において、視点間隔Lだけ離れた視点から撮像した基準画像及び参照画像を比較すると、背景90の点95の像は95aから95bへ移動する。点95の像の移動した軌跡を表す線を視差ラインと呼ぶ。95aと95bの結像位置のずれ、すなわち視差量はd1である。このとき、背景90の点95の距離R1は、視点間隔L、焦点距離Fを用いて、式R1=F×L/d1によって計算できる。ここでK1=L/d1とおくと、K1は基準点95aについての視差ラインの傾きであり、R1=F×K1とかける。
【0048】また前景80の点85の像は85aから85bへ移動する。85aと85bの結像位置のずれ、すなわち視差量はd0である。このとき、前景80の点85の距離R0は、式R0=F×L/d0によって計算できる。視差ラインの傾きをK0=L/d0とおくと、R0=F×K0とかける。
【0049】一般に、基準画像のある画素を基準点として、基準点に対する参照画像の対応点を探し出し、視差ラインを抽出し、視差ラインの傾きKを求めれば、基準点に撮像された被写体の点の距離Rは、式R=F×Kによって求めることができる。
【0050】ここで、基準画像の前景80における点81の像81aを基準点とすると、参照画像における対応する参照点は像81bであり、前述のように視差量d0を検出することができる。しかし基準画像の背景90における点93の像93aを基準点とすると、参照画像における参照点は参照画像には存在せず(像81bと重なる)、視差量を検出することができない。この場合、基準点の81a、93aの両方に対して、参照点81bが対応していると考えることもできる。このように前景と背景の境界でオクルージョン部が発生する場合、視差量として、参照点81bを基準点93aに対応させた時の視差量d1と、参照点81bを基準点81aに対応させた時の視差量d0の二つが存在する。
【0051】従来の視差量の算出方法では、このような場合、どちらかの被写体の点の奥行き値はただ一つであるという前提で視差量を検出するため、どちらか一方の視差量を選択しなければならなかった。そのため、たとえば参照点81bを基準点93aに過って対応させた場合、前景80の点81の視差量をd1と検出し、点81の距離をR1と計算する。
【0052】従来の視差量算出方法では、被写体の画像に複数の奥行き値があっても、他の奥行き値を捨てていた。そのため、複数の物体が複雑に重なり合って見える被写体の奥行きを獲得する際、画素の奥行き情報の多くを破棄することになる。これは、被写体の画像の画像処理をする際、被写体の奥行き情報が少なくなり、適正な画像処理が困難になるという問題を生じさせる。
【0053】そこで、本発明では、被写体のある領域について視差を求める場合に、被写体のその領域内の画素について、傾きの異なる視差ラインが検出された時、被写体のその領域は、複数の物体が重なり合っていると判断し、その領域の画素については、複数の奥行き値を求める。たとえば、図3において、点81には距離R0とR1の両方の奥行き値が算出される。
【0054】このようにして、本実施形態のカメラによれば、複数の物体が複雑に重なって見える被写体を撮像する場合でも、被写体の複数の奥行き値を求めることができ、被写体の奥行きに関する豊富な情報を獲得することができる。
【0055】図4は、メモリ36及び距離計算部38の構成図である。図4を用いて、本実施形態のメモリ36及び距離計算部38が、複数の視差画像から被写体の距離分布情報を作成する動作を説明する。図4では、マルチプレクサー32とA/D変換部34を省略するが、実際の動作では、受光部20に撮像された画像は、マルチプレクサー32を介してA/D変換部34に送られ、デジタル信号に変換されてからメモリ36に格納される。
【0056】図4において、メモリ36は、受光部20に撮像された被写体の複数の視差画像37を格納する。距離計算部38は、視差画像の各画素の視差ラインを検出する視差ライン検出部24と、視差ライン検出部24が検出した視差ラインから視差画像の各画素について距離成分を算出する距離成分算出部28とを有する。
【0057】以下、一例として、図4に示した被写体A、B及びCの視差画像を撮像した場合について、メモリ36、視差ライン検出部24及び距離成分算出部28の動作を説明する。
【0058】光学結像部12から被写体A、B、Cまでの距離はそれぞれR1、R2、R3である。被写体Cは被写体Aの後部にあるが、被写体Aの隙間から一部を見ることができる。メモリ36は、光学結像部12を移動させた時に受光部20に撮像される被写体A、B及びCの複数の視差画像37を格納する。
【0059】視差ライン検出部24は、メモリ36から視差画像37を読み出し、視差画像37の一つを基準画像とし、他の視差画像37を参照画像とする。被写体A、B及びCが撮像されている基準画像のそれぞれの領域について、ある画素を基準点とした場合、その基準点に対応する参照画像中の参照点を検出する。参照点の検出には、従来の対応点決定(マッチング)処理を用いる。基準点と複数の参照点が検出されると、基準画像の参照点が画像上で移動した軌跡を表す視差ラインを検出することができる。
【0060】距離成分算出部28は、被写体A、B及びCが撮像されている基準画像のそれぞれの領域のすべての画素について、視差ライン検出部24が検出した視差ラインの傾きを検出する。
【0061】被写体A、Bが重なって撮像されている基準画像の領域では、傾きの異なる二つの視差ラインが存在する。交差する視差ラインを有する基準画像の画素について、視差ラインの傾き成分として二つのK1、K2が検出され、距離成分R1、R2が、式R1=F×K1、R2=F×K2によって求められる。交差する視差ラインを有しない基準画像の画素については、R1又はR2のいずれか一つの距離成分だけが求められる。
【0062】被写体Cが撮像されている基準画像の領域では、視差ラインの傾きとして、ただ一つの傾き成分K3だけが検出され、距離成分R3が、式R3=F×K3によって求められる。
【0063】距離成分算出部28は、被写体A、B、Cが撮像されている基準画像のすべての画素に関する距離成分を格納した距離分布情報30を出力する。
【0064】このように距離計算部38は、一般に、複数の物体が重なって見える被写体を撮像した場合、被写体の奥行き値として、複数の距離成分を算出する。
【0065】上記では、基準点に対応する参照点を探す対応点決定方法に基づいて、視差ラインを検出し、視差ラインの傾き成分を抽出し、複数の距離成分を求めたが、距離成分の検出方法はこの方法に限られない。たとえば、画像をハフ変換処理することによって、視差ラインの特定の傾き成分を抽出し、距離成分を算出してもよい。
【0066】図5は、複数の視差画像から被写体の距離分布情報を求める処理のフローチャートである。
【0067】視差ライン検出部24は、S100からS110までの処理を行う。複数の視差画像を入力し、いずれか一つの視差画像を基準画像、他の視差画像を参照画像とする(S100)。基準画像の特定領域を選択し(S102)、特定領域内の特定画素を基準点として選択する(S104)。参照画像内に基準点に対応する参照点を検出し(S106)、基準点と参照点を結ぶ視差ラインを抽出する(S108)。特定領域内のすべての画素について、視差ラインを抽出したかどうかを判定し(S110)、そうでないなら、S104の処理に戻り、他の特定画素を選択して、S106及びS108の処理を繰り返す。特定領域内のすべての画素について、視差ラインを抽出したなら、S112の処理に進む。
【0068】距離成分算出部28は、S112からS120までの処理を行う。特定領域内の特定画素の視差ラインを選択し(S112)、特定画素の視差ラインと交差する他の視差ラインを検出する(S114)、特定画素の視差ラインの傾きK1及び交差するすべての視差ラインの傾きK2、…、Knを検出し、特定画素の距離成分R1、R2、…、Rnを式Ri=F×Ki(i=1,…、n)によって算出する(S116)。ここでFは焦点距離である。交差する視差ラインがない場合は、距離成分はR1のみである。特定領域内のすべての画素について、距離成分を算出したかどうかを判定し(S118)、そうでないなら、S112の処理に戻り、他の特定画素の視差ラインを選択して、S114及びS116の処理を繰り返す。特定領域内のすべての画素について、距離成分を算出したなら、基準画像の特定領域の距離分布情報を出力する(S120)。
【0069】図6は、本実施形態の制御部39の動作を示すフローチャートである。制御部39が視点の移動方向及び移動量を指定し(S200)、駆動部42が光学結像部12を指定された移動方向及び移動量に基づいて移動させ、受光部20に視差画像を撮像させる(S202)。
【0070】制御部39がマルチプレクサー32を制御して、受光部20に撮像された視差画像を順次メモリ36に格納させる(S204)。距離計算部38がメモリ36から視差画像を読み取り、被写体の距離分布情報を算出する(S206)。制御部39は、カメラの撮影モードが前景優先であれば(S208)、被写体の距離分布情報から最短距離成分を選択し(S210)、撮影モードが背景優先であれば(S212)、被写体の距離分布情報から最長距離成分を選択し(S214)、カメラの撮影モードがそれ以外であれば、被写体の距離分布情報から最多距離成分を選択する(S216)。
【0071】制御部39は、選択された距離成分と、被写体の画像の色分布、輝度分布、テクスチャ分布等の情報に基づいて、レンズ52のフォーカス、絞り54の絞り量、シャッター56の露光時間等の撮影条件を設定し(S218)、被写体をCCD60に撮像させる(S220)。
【0072】尚、上述のカメラの撮影モード及び距離分布成分の選択は、カメラの撮影条件の一例を示すものであって、実施形態はこれに限られない。
【0073】(実施形態2)図7は、本発明の第2の実施形態に係る視差画像処理装置の一例としてのカメラの構成図である。本実施形態のカメラは、図1に示した第1の実施形態のカメラと比べて、駆動部42が省かれ、方向センサー44及び加速度センサー46を有する点だけが異なる。図1と同一の符号を付したものについては、第1の実施形態と同じであるから説明を省略する。
【0074】本実施形態では、光学結像部12を駆動させないが、当該カメラを移動させた場合に、方向センサー44及び加速度センサー46がカメラの移動方向と移動距離を測定することができる。
【0075】本実施形態によれば、撮影者がカメラを手動で移動させた場合、方向センサー44及び加速度センサー46の少なくとも一つが、カメラの移動方向と移動距離を検出し、視差を算出することができる。
【0076】(実施形態3)図8は、本発明の第3の実施形態に係る視差画像処理装置の一例としてのデジタルラボシステムの構成図である。本実施形態のデジタルラボシステムは、視差画像入力部70と、視差画像処理部74と、画像処理部76と、画像出力部78とを有する。
【0077】視差画像処理部74は、メモリ36と、距離計算部38を有し、これらは第1の実施形態のメモリ36及び距離計算部38と同じ構成と動作であるから、説明を省略する。視差画像処理部74はCPU、メモリ、記録媒体を有するコンピュータであってもよい。
【0078】視差画像処理部74は、視点移動検出部をさらに備えてもよく、視点移動検出部は、複数の視差画像から視点の移動方向及び移動量を読みとる。視点の移動方向及び移動量は予め視差画像に書き込まれていてもよい。また複数の視差画像に基づいて、画像処理によって視点の移動方向を調べてもよい。たとえば、視差画像の特定の領域が、視差画像上で移動した移動方向を検出することにより、視点の移動方向を検出することができる。
【0079】視差画像入力部70は、被写体の画像及び被写体の複数の視差画像を入力する。視差画像入力部70は写真又は感光フィルムを読みとりデジタル信号に置き換えるスキャナ、CD−ROM、MO、DVDなどの記録媒体から画像データを読みとる読み込み装置であってもよい。
【0080】画像処理部76は、被写体の画像、及び距離計算部38が出力した被写体の距離分布情報を用いて、被写体の画像を処理する。
【0081】画像出力部78は、画像処理部76が作成して得られた画像を出力する。画像出力部78は、現像機又はプリンタであってもよい。
【0082】本実施形態のデジタルラボシステムでは、被写体の複数の視差画像を用いて、被写体の距離分布情報を獲得する。被写体の奥行き情報を利用して、被写体を撮像したネガフィルムや写真に対して、被写体の濃度やコントラストを自動補正したり、主要被写体を抽出して、主要被写体の濃度やコントラストを部分補正するなど、より美しい被写体の画像を再構成することができる。
【0083】特に、複数の物体が重なって見える被写体を撮像した場合、重なって見える被写体の領域については、複数の奥行き値を有するので、主要被写体と背景を区別して、画像の色補正を行ったり、前景または背景だけの画像を切り出して再構成するなど、より高度な画像処理が可能である。
【0084】(実施形態4)図9は、本発明の第4の実施形態に係るコンピュータ用のプログラムの機能構成図である。図9において、コンピュータ180は、視差画像入力モジュール184と、視差画像記憶モジュール186と、視差ライン検出モジュール188と、距離成分算出モジュール190と、画像処理モジュール192と、画像出力モジュール194とを有する。これらの機能構成は、記録媒体182に格納されたプログラムによってソフトウエアとして提供されてもよい。
【0085】視差画像入力モジュール184は、被写体の画像及び被写体を異なる視点から見た場合に得られる複数の視差画像を入力する。視差画像入力モジュール184は、スキャナなどの画像読み取り装置や、CD−ROMなどの記憶デバイスから画像を読み込んでもよい。視差画像記憶モジュール186は、被写体の画像及び複数の視差画像を記憶する。
【0086】視差ライン検出モジュール188は、複数の視差画像の特定の画素が、視点の移動方向及び移動量に従って、複数の視差画像上で移動した軌跡を表す視差ラインを検出する。
【0087】視差ライン検出モジュール188は、視点移動検出モジュールをさらに備えてもよく、視点移動検出モジュールは、複数の視差画像から視点の移動方向及び移動量を読みとる。視点の移動方向及び移動量は予め視差画像に書き込まれていてもよい。また複数の視差画像に基づいて、画像処理によって視点の移動方向を調べてもよい。たとえば、視差画像の特定の領域が、視差画像上で移動した移動方向を検出することにより、視点の移動方向を検出することができる。
【0088】距離成分算出モジュール190は、特定の画素の視差ラインと交差する複数の交差視差ラインを抽出し、特定の画素の視差ラインの傾き及び複数の交差視差ラインの傾きに基づいて、特定の画素に撮像された被写体の領域までの複数の距離を算出する。
【0089】視差ラインの検出方法、距離分布の算出方法は第1の実施形態と同じであるから説明を省略する。
【0090】画像処理モジュール192は、距離成分算出モジュール190が算出した距離分布情報を用いて、被写体の画像に画像処理を施す。
【0091】画像出力モジュール194は、画像処理モジュール192が作成した画像をコンピュータに接続されたディスプレイに出力する。画像出力モジュール194は、画像処理モジュール192が作成した画像をプリンタに出力してもよい。
【0092】本実施形態の記録媒体に格納されたプログラムによれば、被写体の複数の視差画像から被写体の距離分布情報を獲得できる。特に複数の物体が重なって見える被写体を撮像した画像の場合、被写体の複数の奥行き値を用いることができる。そのため、たとえば、被写体の前景と背景を別々に切り出した被写体の分離画像や、重なって見える物体を別々に切り出して作成した被写体の立体フレームモデルなどを作成できる。
【0093】以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることができることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0094】
【発明の効果】上記説明から明らかなように、本発明によれば複数の物体が重なって見える被写体の視差画像から、複数の物体の奥行き値を求めることができる。
【出願人】 【識別番号】000005201
【氏名又は名称】富士写真フイルム株式会社
【出願日】 平成11年6月23日(1999.6.23)
【代理人】 【識別番号】100104156
【弁理士】
【氏名又は名称】龍華 明裕
【公開番号】 特開2001−4370(P2001−4370A)
【公開日】 平成13年1月12日(2001.1.12)
【出願番号】 特願平11−176264