画像生成装置、画像生成方法、画像生成装置用プログラム
【課題】オクルージョンに対応でき、低コストで、より少ない演算量で画像を生成する。
【解決手段】複数の撮像装置により第1位置から撮像された第1画像と第2位置から撮像された第2画像の入力を受け付け(S1)、各画像の各画素の色相を求める色相変換を行い(S3)、色相変換された各画像から特徴点を抽出し(S6)、第1画像と第2画像とにおいて対応する特徴点を求め(S7)、対応する特徴点の間の距離を有する視差ベクトルを算出し(S8)、同一画像内における特徴点の間の特徴点間距離を算出し(S10)、特徴点間距離に基づき、第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求め(S11)、第1位置と第2位置との間に第3位置を設定し(S9)、第3位置の位置関係と、視差ベクトルと、オクルージョン情報とに従い、第3位置から撮像された場合の第3画像を生成する(S13)。
【解決手段】複数の撮像装置により第1位置から撮像された第1画像と第2位置から撮像された第2画像の入力を受け付け(S1)、各画像の各画素の色相を求める色相変換を行い(S3)、色相変換された各画像から特徴点を抽出し(S6)、第1画像と第2画像とにおいて対応する特徴点を求め(S7)、対応する特徴点の間の距離を有する視差ベクトルを算出し(S8)、同一画像内における特徴点の間の特徴点間距離を算出し(S10)、特徴点間距離に基づき、第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求め(S11)、第1位置と第2位置との間に第3位置を設定し(S9)、第3位置の位置関係と、視差ベクトルと、オクルージョン情報とに従い、第3位置から撮像された場合の第3画像を生成する(S13)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、立体画像用の画像を生成する画像生成装置、画像生成方法、画像生成装置用プログラムに関する。
【背景技術】
【0002】
従来、臨場感のある裸眼式立体視を可能とするため、2つのカメラを用いて撮影された2つの画像(ステレオ画像)を用いて、2つのカメラの間の位置から撮像された場合の中間画像を生成して多眼化することが行われている。例えば、特許文献1には、被写体の映像を結像する第1結像レンズ部と、第1撮影素子と、を有する第1画像取得部と、第2結像レンズ部と、これによって結像された映像を受ける複数のレンズがアレイ状に配列された第1レンズアレイ部と、第2撮影素子と、を有する第2画像取得部とを備え、第2画像取得部は、第1画像取得部に対して被写体から見て水平方向に離れて配置される立体映像撮影装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−78768号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、先行技術では、複数のレンズがアレイ状に配列された特殊なカメラを使用しており、当カメラは製造が難しいカメラで、設備のコストが高く実現が困難である。さらに、先行技術では、画素の相関が高い物体のクラスタリングを行う必要があったり、描画する際、奥から描画する必要があるため、奥行き方向でのソートの処理が必要であったりするため、演算量が増加していた。また、左右のカメラにより撮像されたステレオ画像から中間画像を生成する際、左右のカメラのいずれか一方から見えないオクルージョン領域が存在する場合、このオクルージョン領域を処理する必要がある。
【0005】
そこで、本発明は上記の問題点等に鑑みて為されたもので、その課題の一例は、オクルージョンに対応でき、低コストで、演算量を減少させた画像生成装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、請求項1に記載の発明は、複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付ける画像入力手段と、前記第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換手段と、前記色相変換された前記第1画像および第2画像から、前記第1画像および第2画像の特徴点を抽出する特徴点抽出手段と、前記第1画像と第2画像とにおいて対応する特徴点を求める対応点探索手段と、前記対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出手段と、前記第1画像および第2画像の各画像内において、同一画像内における前記特徴点の間の特徴点間距離を算出する特徴点間距離算出手段と、前記第1画像内の特徴点間距離と、これに対応する前記第2画像内の特徴点間距離とに基づき、前記第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報手段と、前記第1位置と第2位置との間に第3位置を設定する位置設定手段と、前記第1位置および第2位置に対する前記第3位置の位置関係と、前記視差ベクトルと、前記オクルージョン情報とに従い、前記第1画像と第2画像とから、前記第3位置から撮像された場合の第3画像を生成する画像生成手段と、を備えたことを特徴とする。
【0007】
また、請求項2に記載の発明は、請求項1に記載の画像生成装置において、前記オクルージョン情報手段が、前記対応する特徴点間距離が異なる場合、オクルージョンが存在とするオクルージョン情報を求めることを特徴とする。
【0008】
また、請求項3に記載の発明は、請求項1または請求項2に記載の画像生成装置において、前記視差ベクトル算出手段が、複数の視差ベクトルを算出し、前記画像生成手段が、前記オクルージョン情報に応じて、前記第3画像を生成するための視差ベクトルを選択することを特徴とする。
【0009】
また、請求項4に記載の発明は、請求項1から3のいずれか1項に記載の画像生成装置において、前記特徴点抽出手段は、前記色相の変化が生じた箇所を前記特徴点として抽出することを特徴とする。
【0010】
また、請求項5に記載の発明は、請求項1から4のいずれか1項に記載の画像生成装置において、前記色相変換手段が、前記色相を当該色相の値の範囲に応じてグループに分類し、前記グループに対するインデックスを色相の値とした前記色相の画像に変換することを特徴とする。
【0011】
また、請求項6に記載の発明は、請求項1から5のいずれか1項に記載の画像生成装置において、前記第1画像および第2画像の各画像のスキャン方向は、前記第1位置と第2位置とを結ぶ方向であることを特徴とする。
【0012】
また、請求項7に記載の発明は、請求項1から6のいずれか1項に記載の画像生成装置において、前記画像生成手段が、前記第3画像における前記対応する特徴点の位置を、前記第3位置の位置関係に対応する比率と前記視差ベクトルとから決定することを特徴とする。
【0013】
また、請求項8に記載の発明は、請求項1から7のいずれか1項に記載の画像生成装置において、前記画像生成手段が、前記視差ベクトルに従い、前記第1位置および第2位置のうち前記第3位置に近い方の位置の前記第1画像または第2画像の画素の情報を用いて第3画像を生成することを特徴とする。
【0014】
また、請求項9に記載の発明は、請求項8に記載の画像生成装置において、前記画像生成手段が、前記視差ベクトルに従った画素が無い場合、前記第1位置および第2位置のうち前記第3位置から遠い方の位置の前記第1画像または第2画像の画素の情報を用いて第3画像を生成することを特徴とする。
【0015】
また、請求項10に記載の発明は、請求項1から9のいずれか1項に記載の画像生成装置において、前記位置設定手段が、複数の第3位置を設定し、前記画像生成手段が、複数の第3画像を生成することを特徴とする。
【0016】
また、請求項11に記載の発明は、画像生成装置が、画像を生成する画像生成方法であって、複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付ける画像入力ステップと、前記第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換ステップと、前記色相変換された前記第1画像および第2画像から、前記第1画像および第2画像の特徴点を抽出する特徴点抽出ステップと、前記第1画像と第2画像とにおいて対応する特徴点を求める対応点探索ステップと、前記対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出ステップと、前記第1画像および第2画像の各画像において、同一画像内における前記特徴点の間の特徴点間距離を算出する特徴点間距離算出ステップと、前記第1画像の特徴点間距離と、これに対応する前記第2画像の特徴点間距離とに基づき、前記第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報ステップと、前記第1位置と第2位置との間に第3位置を設定する位置設定ステップと、前記第1位置および第2位置に対する前記第3位置の位置関係と、前記視差ベクトルと、前記オクルージョン情報とに従い、前記第1画像と第2画像とから、前記第3位置から撮像された場合の第3画像を生成する画像生成ステップと、を有することを特徴とする。
【0017】
また、請求項12に記載の発明は、コンピュータを、複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付ける画像入力手段、前記第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換手段、前記色相変換された前記第1画像および第2画像から、前記第1画像および第2画像の特徴点を抽出する特徴点抽出手段、前記第1画像と第2画像とにおいて対応する特徴点を求める対応点探索手段、前記対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出手段、前記第1画像および第2画像の各画像内において、同一画像内における前記特徴点の間の特徴点間距離を算出する特徴点間距離算出手段、前記第1画像内の特徴点間距離と、これに対応する前記第2画像内の特徴点間距離とに基づき、前記第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報手段、前記第1位置と第2位置との間に第3位置を設定する位置設定手段、および、前記第1位置および第2位置に対する前記第3位置の位置関係と、前記視差ベクトルと、前記オクルージョン情報とに従い、前記第1画像と第2画像とから、前記第3位置から撮像された場合の第3画像を生成する画像生成手段として機能させる。
【発明の効果】
【0018】
本発明によれば、複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付け、第1画像および第2画像の各画素の色相を求める色相変換を行い、色相変換された第1画像および第2画像から、第1画像および第2画像の特徴点を抽出し、第1画像と第2画像とにおいて対応する特徴点を求め、対応する特徴点の間の距離を有する視差ベクトルを算出し、第1画像および第2画像の各画像内において、同一画像内における特徴点の間の特徴点間距離を算出し、第1画像内の特徴点間距離と、これに対応する第2画像内の特徴点間距離とに基づき、第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求め、第1位置と第2位置との間に第3位置を設定し、第1位置および第2位置に対する第3位置の位置関係と、視差ベクトルと、オクルージョン情報とに従い、第1画像と第2画像とから、第3位置から撮像された場合の第3画像を生成する。これにより、特徴点間距離からオクルージョン情報を求め、オクルージョンに対応でき、特殊なカメラは使用せず、奥行き情報無しに、第3位置の位置関係と視差ベクトルとに従い、特徴点間の画像データを描画するので、低コストで、より少ない演算量で画像を生成することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施形態に係る画像生成システムの概要構成例を示すブロック図である。
【図2】図1の画像生成の概要構成の一例を示すブロック図である。
【図3】図1の撮像装置の位置と、仮想的な撮像装置の位置との位置関係の一例を示す模式図である。
【図4】図1の画像生成装置の動作例を示すフローチャートである。
【図5A】図1の撮像装置により撮像された画像の一例を示す模式図である。
【図5B】図1の撮像装置により撮像された画像の一例を示す模式図である。
【図6】撮像された画像に対するスキャン方向の一例を示す模式図である。
【図7】色相で分類されインデックス化されたラインデータの一例を示す模式図である。
【図8】色相変換された画像の一例を示す模式図である。
【図9】撮像された画像の特徴点(基準点)および視差ベクトルの一例を示す模式図である。
【図10】撮像された画像の基準点、および、仮想的な撮像装置から撮像された場合の画像の基準点の一例を示す模式図である。
【図11】図4のオクルージョン処理のサブルーチンの一例を示すフローチャートである。
【図12】基準点周りの画素値の関係性の一例を示す模式図である。
【図13】基準点周りの画素値の関係性の一例を示す模式図である。
【図14】基準点周りの画素値の関係性の一例を示す模式図である。
【図15】基準点周りの画素値の関係性の一例を示す模式図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施の形態は、画像生成システムに対して本発明を適用した場合の実施形態である。
【0021】
[1.画像生成システムの構成および機能の概要]
(1.1 画像生成システム1の構成および機能)
【0022】
まず、本発明の一実施形態に係る画像生成システムの構成および概要機能について、図1を用いて説明する。
【0023】
図1は、本実施形態に係る画像生成システム1の概要構成例を示すブロック図である。
【0024】
図1に示すように、画像生成システム1は、所定の位置で撮像された被写体5の画像から仮想位置から撮像した場合の画像を生成する画像生成装置10と、所定の位置で被写体5を撮像する撮像装置(撮像手段の一例)20と、を備えている。本実施形態に置いて撮像装置20a、20bは、動画撮影をする場合には同期撮影であってもよい。
【0025】
画像生成装置10は、撮像装置20により撮像された複数の画像の画像データの入力を受け付ける画像入力手段10aと、RGB信号の画像データから各画素の色相を求める変換を行う色相変換手段10bと、色相変換された画像データから、画像の特徴点を抽出する特徴点抽出手段10cと、画像間で対応する特徴点を求める対応点探索手段10dと、対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出手段10eと、仮想位置を設定する位置設定手段10fと、同一画像内における前記特徴点の間の特徴間距離算出手段10gと、第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報手段10hと、仮想位置で撮像された画像を生成する画像生成手段10iと、生成された画像を表示する表示部13と、を有する。
【0026】
撮像装置20は、撮像手段の一例である左目用の撮像装置20aと、右目用の撮像装置20bとを有し、ステレオカメラを構成する。被写体5に対して、例えば、水平方向に、撮像装置20aと、撮像装置20bとは、所定の距離を置いて設置される。撮像装置20aが設置される位置が、第1位置の一例であり、撮像装置20bが設置される位置が、第2位置の一例である。撮像装置20a、20bは、静止画を撮像するスチルカメラ、または、動画を撮像するビデオカメラであり、解像度や、色の階調等に関して同一の性能を有する。撮像装置20a、20bの出力は、デジタル出力であるが、アナログ出力の撮像装置の場合は、A/D変換器を有し、デジタル信号を出力する。
【0027】
撮像装置20aは、被写体5を左寄りから撮影し、左目用の画像(第1位置で撮像された第1画像の一例)を出力する。撮像装置20bは、被写体5を右寄りから撮影し、右目用の画像(第2位置で撮像された第2画像の一例)を出力する。
【0028】
撮像装置20aおよび撮像装置20bは、画像生成装置10の画像入力手段10aに接続される。
【0029】
(1.2 画像生成装置10の構成および機能)
次に、画像生成装置10の構成および機能について、図2を用いて説明する。
図2は、画像生成装置10の概要構成の一例を示すブロック図である。
【0030】
図2に示すように、画像生成装置10は、例えば、パーソナルコンピュータやサーバ装置等であり、通信部11と、記憶部12と、表示部13と、操作部14と、入出力インターフェース部15と、システム制御部16とを備えている。そして、システム制御部16と入出力インターフェース部15とは、システムバス17を介して接続されている。
【0031】
通信部11は、画像生成装置10の外部等とのデータや信号の送受信を行う。例えば、ネットワーク接続に使用される。
【0032】
記憶部12は、例えば、ハードディスクドライブ等からなり、オペレーティングシステム、制御用のプログラムや画像処理用のプログラム等を記憶する。
【0033】
表示部13は、例えば、液晶表示素子またはEL(Electro Luminescence)素子等によって構成されている。表示部13には、撮像装置20により撮像された被写体5の画像や、生成された画像が表示される。
【0034】
操作部14は、例えば、キーボードおよびマウス等によって構成されている。
【0035】
入出力インターフェース部15は、撮像装置20aおよび撮像装置20bの出力端に直接接続される部分で、画像入力手段10aの機能を実現するインターフェースである。撮像装置20(20a、20b)、通信部11および記憶部12とシステム制御部16とのインターフェースである。
【0036】
システム制御部16は、例えば、CPU16aと、ROM16bと、RAM16cとを有する。システム制御部16は、CPU16aが、ROM16bや、RAM16cや、記憶部12に記憶された各種プログラムを読み出して実行する。例えば、システム制御部16は、画像処理のプログラムを実行し、色相変換手段10b、特徴点抽出手段10c、対応点探索手段10d、視差ベクトル算出手段10e、位置設定手段10f、画像生成手段10g等の機能を実現する。
【0037】
(1.3 仮想的な撮像装置の位置)
次に、仮想的な撮像装置の位置(仮想位置)について図3を用いて説明する。
図3は、撮像装置20a、20bの位置と、仮想的な撮像装置の位置との位置関係の一例を示す模式図である。
【0038】
図3に示すように、撮像装置20aと撮像装置20bとは、x方向(例えば水平方向)に距離Lで設置されている。撮像装置20aと撮像装置20bと間に、仮想的な撮像装置25が3台設定される。撮像装置25a、撮像装置25b、および、撮像装置25cは等間隔に設定される。撮像装置20aの設置位置の第1位置0を基準として、撮像装置20bの設置位置の第2位置Lとすると、第3位置の一例として、撮像装置25aの場合、位置L/4、撮像装置25bの場合、位置L/2、撮像装置25cの場合、位置3L/4が設定される。ここで、仮想的な撮像装置25により撮像された場合の画像を中間視差画像(第3画像の一例)とする。
【0039】
[2.画像生成システムの動作]
(2.1 画像生成システムの動作)
次に、本発明の1実施形態に係る画像生成システムの動作について図4から図12を用いて説明する。
図4は、画像生成装置10の動作例を示すフローチャートである。図5Aおよび図5Bは、撮像装置20により撮像された画像の一例を示す模式図である。図6は、撮像された画像に対するスキャン方向の一例を示す模式図である。図7は、クラスタリングされインデックス化されたラインデータの一例を示す模式図である。図8は、色相変換された画像の一例を示す模式図である。図9は、撮像された画像の特徴点(基準点)および視差ベクトルの一例を示す模式図である。図10は、撮像された画像の基準点、および、仮想的な撮像装置から撮像された場合の画像の基準点の一例を示す模式図である。
【0040】
ここで、中間視差画像を生成方法の原理について簡単に説明する。
本提案手法では中間視差画像を生成する上で、画素値を算出して補間をするのでは無く、視点の移動による物体の移動距離を用いることにより、画像間の動きの軌跡を逆にたどり、2枚の元画像30a、30bに存在する画素のみを用いて中間視差画像を生成する。
【0041】
また、2枚の元画像30a、30bから互いに対応する特徴点を抽出し、特徴点から視差ベクトルを算出する。そして、生成される中間視差画像において、元画像の特徴点と近似した値の画素は、必ず特徴点間に存在すると考えられる。例えば、図3に示すように等間隔で仮想的な撮像装置25a、25b、25cが設置されているとすると、移動距離(視差ベクトルの長さ)を4で割ることにより位置関係が求まり、中間視差画像における特徴点と等しい値の画素がどのような間隔で配置されているかがわかる。そのため、中間視差画像において元画像30a、30bの特徴点に対応する基準点が、位置関係と視差ベクトルとに従い求まる。この基準点の周りに画素配置をしていくことにより、中間視差画像を生成することができる。なお、基準点は、第3画像における対応する特徴点の一例である。
【0042】
しかし、中間視差画像を生成するに当たり、ステレオ画像においては画像を平行に移動させることの他に、オクルージョンという奥行きの存在を考えなければならない。オクルージョンとは物体を観察する際に左目または右目では見えていても右目または左目では見えていない領域である。例えば、図5Aに示すように、右目の画像30bでは、見えない領域が発生する。
【0043】
まず、画像生成システムの動作として、画像生成装置10のシステム制御部16は、図3に示すように、第3位置の一例として、仮想的な撮像装置25a、25b、25cの位置(例えば、L/4、L/2、3L/4)を予め設定しておく。このように画像生成装置10のシステム制御部16は、第1位置と第2位置との間に第3位置を設定する位置設定手段10fの一例として機能する。
【0044】
そして、画像生成装置10のシステム制御部16は、仮想的な撮像装置25a、25b、25cの位置に応じた中間視差画像を生成するための記憶領域を、記憶部12に予め設定しておく。
【0045】
次に、図4に示すように、画像生成装置10は、左右の画像の入力を受け付ける(ステップS1)。具体的には、画像生成装置10のシステム制御部16は、図5Aおよび図5Bに示すように、被写体5を左側から撮像した画像30a、31a(第1画像の一例)を、撮像装置20aから受け付け、右側から撮像した画像30b、31b(第2画像の一例)を、撮像装置20bから受け付ける。画像30a、31aは、撮像装置20aの位置(第1位置の一例)から撮像した画像であり、画像30b、31bは、撮像装置20bの位置(第2位置の一例)から撮像した画像である。なお、画像のデータは、RGB信号のデータである。このように、画像生成装置10のシステム制御部は、複数の撮像手段により第1位置から撮像された第1画像と、第2位置から撮像された第2画像との入力を受け付ける画像入力手段10aの一例として機能する。
【0046】
次に、画像生成装置10は、各画像の1ライン分の画像データを取得する(ステップS2)。具体的には、画像生成装置10のシステム制御部16は、図6に示すよう、撮像された各画像30a、30b(31a、31b)をx方向にスキャンして1ライン分の画像データを取得する。なお、スキャン方向のx方向は、第1位置と第2位置とを結ぶ方向の一例である。
【0047】
次に、画像生成装置10は、RGB信号に対してHSV変換を行う(ステップS3)。具体的には、画像生成装置10のシステム制御部16は、下記の式に従い、RGB信号の各画像のデータの1ライン分の各画素に対して、各画素の色相Mxyを求める。
【数1】
【0048】
ここで、RGB信号の画像のデータにおけるR、G、Bの各値は、0.0を最小量、1.0を最大値とする0.0から1.0の範囲とする。R、G、Bの三つの値の内、最大のものをMAX、最小のものをMINをとする。なお、R=G=B(黒、白、グレー)の時は、Mxyは計算せず、特定の値を割り当てる。このように画像生成装置10のシステム制御部16は、第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換手段10bの一例として機能する。
【0049】
次に、画像生成装置10は、色相のグルーピングを行う(ステップS4)。具体的には、画像生成装置10のシステム制御部16は、色相Mxyの値をグループ化することによりセグメント化して、各点におけるMxyを求め、色相の領域分類を行う。MxyをグルーピングしたものをAxyと定義する。
【数2】
【0050】
この例では、色相のグルーピングのグループ数は6としている。加えて、R=G=B(黒、白、グレー)のように、色以外のグループがあるので、合計で7グループとなる。そして、図7に示すように、各画像30a、30b(31a、31b)において、HSV変換されたラインデータには、クラスタのインデックス情報が入力される。インデックスは、0〜6までの数値とする。R=G=Bのように色以外に対して”0”を、グループHYに対して”1”を、グループHGに対して”2”を、グループHCに対して”3”を、グループHBに対して”4”を、グループHMに対して”5”を、グループHRに対して”6”を各画素に割り当てる。このように画像生成装置10のシステム制御部16は、色相を当該色相の値の範囲に応じてグループに分類し、グループに対するインデックスを色相の値とした色相の画像に変換する色相変換手段の一例として機能する。なお、グループ数は、更に細分化することも可能である。
【0051】
ここで、全ラインに対して色相を求め、色相のグルーピングした場合、図8に示すように、図5Bの場合の各画像31a、31bに対して色相の画像32a、32bが得られる。
【0052】
次に、画像生成装置10は、色相のグループの境界探索を行う(ステップS5)。具体的には、画像生成装置10のシステム制御部は、図7に示すように、各画像30a、30b(31a、31b)において、矢印の方向に、インデックスの値が変化する境界の探索を行う。なお、以下、各画像31a、31bの例も含めて、各画像30a、30bの例を用いて説明していく。
【0053】
次に、画像生成装置10は、1ラインの全特徴点の位置を特定する(ステップS6)。具体的には、画像生成装置10のシステム制御部16は、図7に示すように、各画像30aにおいて、色相のインデックスが”0”から”2”に変化した境界の位置の画素40a、”2”から”4”に変化した境界の位置の画素41a、”4”から”1”に変化した境界の位置の画素を、特徴点の画素として特定する。同様に、画像生成装置10のシステム制御部16は、各画像30bにおいて、色相のインデックスが”0”から”2”に変化した境界の位置の画素40b、”2”から”4”に変化した境界の位置の画素41bを、特徴点の画素として特定する。このように画像生成装置10のシステム制御部16は、色相変換された第1画像および第2画像から、第1画像および第2画像の特徴点を抽出する特徴点抽出手段10cの一例として機能する。また、画像生成装置10のシステム制御部16は、色相の変化が生じた箇所を特徴点として抽出する特徴点抽出手段の一例として機能する。
【0054】
次に、画像生成装置10は、対応する特徴点の探索を行う(ステップS7)。具体的には、画像生成装置10のシステム制御部16は、画像30aのラインデータと、画像30bのラインデータとにおいて、スキャン方向に従って、順に出現する特徴点を各々順序付けし、特徴点位置の(色相変換前の)元画像のパターンマッチングを行うことで順次対応する特徴点を探索する例えば、画素40aの特徴点と、画素40bの特徴点とは対応し、画素41aの特徴点と、画素41bの特徴点とは対応するとする。また、図9に示すように、画素42aの特徴点と、画素42bの特徴点とは対応し、画素60aの特徴点と、画素60bの特徴点とは対応するとする。このように画像生成装置10のシステム制御部16は、第1画像と第2画像とにおいて対応する特徴点を求める対応点探索手段10dの一例として機能する。対応する特徴点がない場合は、当該特徴点はスキップされる。
【0055】
次に、画像生成装置10は、視差ベクトルを算出する(ステップS8)。具体的には、画像生成装置10のシステム制御部16は、図9に示すように、スキャン方向(x方向)の視差ベクトル50および視差ベクトル55を算出する。視差ベクトル50は、画像30aの特徴点の画素42aと、画像30bの対応する特徴点の画素42bとすると、(左目)画像30aを基準、例えば、画像30aの特徴点の画素42aのx方向の位置”4”を基準に、(右目)画像30bの特徴点の画素42bのx方向の位置”16”までの距離(12画素の分)(視差ベクトルの長さ)を有する。画像生成装置10のシステム制御部16は、視差ベクトル50、55を算出するする過程で、抽出した特徴点により対応する特徴点の間の距離(12画素の分の長さ、4画素分の長さ)を算出している。このように画像生成装置10のシステム制御部16は、対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出手段10eの一例として機能する。
【0056】
なお、図9において、便宜上、画像30aおよび画像30bの1〜4ラインのラインデータのみが示されていて、第2ラインがデータ処理されているとする。さらに、仮想的な撮像装置25aから撮像した場合の中間視差画像35a、仮想的な撮像装置25bから撮像した場合の中間視差画像35b、仮想的な撮像装置25cから撮像した場合の中間視差画像35cにおいても、1〜4ラインのラインデータのみが示されている。また、図9において、矢印は、視点が左側から右側、または、右側から左側に移動した場合の特徴点の移動方向を表す。
【0057】
次に、画像生成装置10は、視差ベクトルと視差との関係から、中間視差画像の基準点の位置を決定する(ステップS9)。具体的には、画像生成装置10のシステム制御部16は、画像生成装置10のシステム制御部16は、図10に示すように、仮想的な撮像装置25a、25b、25cの位置(例えば、L/4、L/2、3L/4)と、撮像装置20aと撮像装置20bとの距離Lとの比(第1位置および第2位置に対する第3位置の位置関係)と、視差ベクトル50の長さ(12画素)とに従い、第2ラインにおける基準点の画素45a、45b、45cを求める。
【0058】
例えば、画像生成装置10のシステム制御部16は、視差ベクトル50に、長さL/4と長さLとの比を掛けた視差ベクトル51(長さ3画素)と、特徴点の画素42aの位置と、により、中間視差画像35aの基準点の画素45aの位置を求める。また、画像生成装置10のシステム制御部16は、視差ベクトル50に、長さL/2と長さLとの比を掛けた視差ベクトル52(長さ6画素)と、特徴点の画素42aの位置とにより、中間視差画像35bの基準点の画素45bの位置を求める。また、画像生成装置10のシステム制御部16は、視差ベクトル50に、長さ3L/4と長さLとの比を掛けて向きを逆にした視差ベクトル53(長さ3画素)と、特徴点の画素42bの位置とにより、中間視差画像35cの基準点の画素45cの位置を求める。このように画像生成装置10のシステム制御部16は、第3画像における対応する特徴点の位置を、第3位置の位置関係に対応する比率と視差ベクトルとから決定する画像生成手段の一例として機能する。
【0059】
次に、画像生成装置10は、各特徴点間の距離を算出する(ステップS10)。具体的には、画像生成装置10のシステム制御部16は、図9に示すように、画像30aにおいて、特徴点の画素42aと特徴点の画素60aとの距離D1、および、画像30bにおいて、特徴点の画素42bと、特徴点の画素60bとの距離D1’を算出する。なお、図5Aに示すように、画像生成装置10のシステム制御部16は、画像30aにおいて距離D2、および、画像30bにおいて距離D2’も算出する。また、図5Aのスキャンしているラインの位置と、図9のスキャンしている位置とは対応しているとする。このように画像生成装置10のシステム制御部16は、第1画像および第2画像の各画像内において、同一画像内における特徴点の間の特徴点間距離を算出する特徴点間距離算出手段の一例として機能する。
【0060】
次に、画像生成装置10は、オクルージョン処理のサブルーチンを実行する(ステップS11)。画像生成装置10のシステム制御部16は、オクルージョン処理のサブルーチンにより、各中間視差画像35a、35b、35cの1ライン分の画像データを生成する。そして、生成装置10のシステム制御部16は、生成された1ライン分の画像データを、記憶部12において、中間視差画像35a、35b、35cを生成するための記憶領域に記憶する。
【0061】
次に、画像生成装置10は、次のラインに移動できるか否かを判定する(ステップS12)。具体的には、画像生成装置10のシステム制御部16は、画像30a、30bの最後のラインか否かを判定する。現在第2ラインの処理が終了した場合は、次の第3ラインに移動できるので(ステップS12;YES)、画像生成装置10のシステム制御部16は、処理対象を次のラインに移動させて、ステップS2に戻る。
【0062】
このように、画像生成装置10のシステム制御部16は、第1位置および第2位置に対する第3位置の位置関係と視差ベクトルと、オクルージョン情報とに従い、第1画像と第2画像とから、第3位置から撮像された場合の第3画像を生成する画像生成手段10gの一例として機能する。また画像生成装置10のシステム制御部16は、視差ベクトルに従い、第1位置および第2位置のうち第3位置に近い方の位置の第1画像または第2画像の画素の情報を用いて第3画像を生成する画像生成手段の一例として機能する。また画像生成装置10のシステム制御部16は、視差ベクトルに従った画素が無い場合、前記第1位置および第2位置のうち第3位置から遠い方の位置の第1画像または第2画像の画素の情報を用いて第3画像を生成する画像生成手段の一例として機能する。
【0063】
また、最後のラインの処理が終わった場合(ステップS12;NO)、画像生成装置10は、中間視差画像を表示する(ステップS13)。具体的には、画像生成装置10のシステム制御部16は、記憶部12から中間視差画像を読み出し、表示部13に中間視差画像を表示する。
【0064】
(2.2 オクルージョン処理のサブルーチン)
次に、オクルージョン処理のサブルーチンについて、図を用いて説明する。
図11は、オクルージョン処理のサブルーチンの一例を示すフローチャートである。図12から図15は、基準点周りの画素値の関係性の一例を示す模式図である。
【0065】
まず、図11に示すように、画像生成装置10は、左右画像の特徴点間距離を比較する(ステップS20)。具体的には、画像生成装置10のシステム制御部16は、図9に示すように、画像30aにおける特徴点間の距離D1と、画像30bにおける特徴点間の距離D1’とを比較する。
【0066】
次に、画像生成装置10は、オクルージョンが存在するか否かを判定する(ステップS21)。具体的には、画像生成装置10のシステム制御部16は、ラインデータに関して、画像30aにおける特徴点間の距離と、対応する画像30bにおける特徴点間の距離とが等しいときはオクルージョンでは無いと判定し、等しくないときは、オクルージョンが存在すると判定する。特徴点間距離が短い方の画像にオクルージョンが発生しているものとし、特徴点間が長いほうから画素データを取得する。図9または図5Aに示すように、画像30aにおける特徴点間の距離D1と、画像30bにおける特徴点間の距離D1’との場合は、画像生成装置10のシステム制御部16は、距離が等しくないので、オクルージョンが存在すると判定する。図5Aに示すように、画像30aにおける特徴点間の距離D2と、画像30bにおける特徴点間の距離D2’との場合は、距離が等しいので、オクルージョンは無いと判定する。なお、図12に示すように、ラインデータをスキャンしていき、始めの特徴点までは、画素42a、43bまでの画素に対しては、画像生成装置10のシステム制御部16は、オクルージョンでは無いと判定する。また、距離が等しく無い基準は、1画素分異なってもよいし、所定の画素分異なってもよい。図9または図5Aの場合、オクルージョンは、右目の画像30bに発生していて、右目の画像30b特徴点間距離D1’が、左目の画像30aの特徴点間距離D1より短くなる。画像生成装置10のシステム制御部16は、対応する特徴点間距離が異なる場合、オクルージョンが存在とするオクルージョン情報手段の一例として機能する。
【0067】
オクルージョンが存在しない場合(ステップS21;NO)、画像生成装置10は、視点の移動による特徴点のシフト量が少ない方の画像から画像データを取得してレンダリングする(ステップS22)。具体的には、画像生成装置10のシステム制御部16は、基本的に、視点の移動による特徴点のシフト量が少ない方の画像、すなわち、仮想的な撮像装置25、25b、25cが近い撮像装置20a、20bの画素値を利用して、中間視差画像35a、35b、35cを生成していく。例えば、画像生成装置10のシステム制御部16は、図10に示すように、左目の画像30aの画素値”p”を利用して、中間視差画像35aの第2ラインの画素45aの画素値、および、中間視差画像35bの第2ラインの画素45bの画素値を求め、レンダリングする。一方、画像生成装置10のシステム制御部16は、右目の画像30bの画素値”p’”を利用して、中間視差画像35cの第2ラインの画素45cの画素値を求め、レンダリングする。なお、画素45aは、左目の画像30aの画素42aからのシフト量が3画素分であり、右目の画像30bの画素42bからのシフト量が9画素分であり、左目の画像30aからの方が、シフト量が少ない。
【0068】
そして、画像生成装置10のシステム制御部16は、基準点の画素45a、45b、45c以外の画素値を求める。画像生成装置10のシステム制御部16は、求めた画素値を、中間視差画像35a、35b、35cを生成するための記憶領域の対応する画素の箇所に記憶して行き、中間視差画像35a、35b、35cの画素を生成する。
【0069】
ここで、ステレオ画像の性質として、右画像と左画像はお互いに同じ画像が平行移動したものである。これは、基準点周りの画素において考えると、基準点は特徴点であるため、特徴点に隣り合う画素は左目の画像30a、右目の画像30bと共に近似的な関係であると考えられる。図12に示すように、左目の画像30aの基準点の画素42a(画素値”p”)に隣り合う画素43a(画素値”o”)について着目した時、右目の画像30bの基準点の画素42b(画素値”p’”)に隣り合う画素43b(画素値”o’”)は、画素43aに対して近似的な画素値となる。
【0070】
この関係を利用することにより、中間視差画像35a、35b、35cにおける基準点の画素の隣の画素については、画素値”o”、および、画素値”o’”のいずれか一方を利用することで、基準点周りの画素の画素値を補間することができる。画素値”o”、および、画素値”o’”のいずれか一方を利用するかは、左目の画像30a、右目の画像30bのどちらの特徴点シフト量が少ないかにより決定する。
【0071】
従って、画像生成装置10のシステム制御部16は、図12に示すように、中間視差画像35aの画素46aの画素値を、視差ベクトル53に従い、左目の画像30aの画素43aの画素値”o”から求める。そして、画像生成装置10のシステム制御部16は、中間視差画像35bの画素46bの画素値を、左目の画像30aの画素43aの画素値”o”から求め、中間視差画像35cの画素46cの画素値を、右目の画像30bの画素43bの画素値”o’”から求める。さらに図13に示すように、画像生成装置10のシステム制御部16は、画素46a、46b、46cの隣の画素においても適用することにより、ラインの画素を補間する。
【0072】
なお、図13に示すように、中間視差画像において、中間視差画像35aの画素47aの場合のように、画像端に注目すると、右目の画像30bには存在する画素でも、左目の画像30aには存在しない画素領域がある。この場合、右目の画像30bの画素44bの画素値”l’”を利用して、右目の画像30b側を起点とした視差ベクトル54に従い、中間視差画像35aの画素47aの画素値”l’”を求める。画像生成装置10のシステム制御部16は、中間視差画像35bの画素47b、および、中間視差画像35cの画素47cの画素値も同様に求める。このように、視差ベクトルに従って、距離が近い方の画像30a、30bの画素が無い場合、画像生成装置10のシステム制御部16は、シフト量が多い方の画像30b、30aの画素の画素値を用いて、中間視差画像の画素の画素値を求める。
【0073】
オクルージョンが存在する場合(ステップS21;YES)、画像生成装置10は、右目の画像にオクルージョンが存在するか否かを判定する(ステップS23)。具体的には、画像生成装置10のシステム制御部16は、右目の画像30bの特徴点間の距離が、左目の画像30aの特徴点間の距離より短い場合、右目の画像30bにオクルージョンが存在すると判定する。図9または図5Aに示すように、右目の画像30bの特徴点間の距離D1’が、左目の画像30aの特徴点間の距離D1より短いので、右目の画像30bにオクルージョンが存在すると判定する。なお、画像生成装置10のシステム制御部16は、所定画素分短い場合、短いと判定する。このように画像生成装置10のシステム制御部16は、第1画像の特徴点間距離と、これに対応する第2画像の特徴点間距離とに基づき、第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報手段の一例として機能する。
【0074】
右画像のオクルージョンの場合(ステップS23;YES)、画像生成装置10は、特徴点間の画素を左画像から取得し、特徴点間の右側から左方向(スキャン方向と逆方向)にレンダリングする(ステップS24)。具体的には、画像生成装置10のシステム制御部16は、図14に示すように、中間視差画像35aにおいて、特徴点(基準点)の画素45aと、画素65aの間の画素に関して、右側の画素65aから、スキャン方向と逆向きの左方向に画素45aまでレンダリングする。このとき、画像生成装置10のシステム制御部16は、視差ベクトル50より長さが短い視差ベクトル55(位置関係に従い長さを変えた視差ベクトル55)に従い、視点の移動による特徴点のシフト量が少ない方の画像を使用して、画素値を求め、レンダリングする。例えば、画像生成装置10のシステム制御部16は、左目の画像60aの画素値”10”を利用して、中間視差画像35aの第2ラインの画素65aの画素値、および、中間視差画像35bの第2ラインの画素65bの画素値を求め、レンダリングする。一方、画像生成装置10のシステム制御部16は、右目の画像30bの画素値”10”を利用して、中間視差画像35cの第2ラインの画素65cの画素値を求め、レンダリングする。
【0075】
そして、左方向(スキャン方向)に移動して、画像生成装置10のシステム制御部16は、左目の画像60aの画素値”10”を利用して、中間視差画像35aの第2ラインの画素66aの画素値、および、中間視差画像35bの第2ラインの画素66bの画素値を求め、右目の画像30bの画素値”10”を利用して、中間視差画像35cの第2ラインの画素66cの画素値を求め、レンダリングする。画像生成装置10のシステム制御部16は、求めた画素値を、中間視差画像35a、35b、35cを生成するための記憶領域の対応する画素の箇所に記憶して行き、中間視差画像35a、35b、35cの画素を生成する。なお、画素値”10”のような数字は、画素値そのものではなく、便宜上の記号である。
【0076】
なお、長さを1/4で逆向きにした視差ベクトル55に従い、中間視差画像35cの第2ラインの画素67cに対応した右目の画像30bの画素は、特徴点の画素42bとなり、画素値を割り当てる対応する画素がない。従って、画像生成装置10のシステム制御部16は、図14に示すように、3/4の長さの視差ベクトル55に従い、左目の画像30aの画素の画素値”8”を利用して、画素67cの画素値を求め、レンダリングする。
【0077】
また、図15に示すように、画像生成装置10のシステム制御部16が、視差ベクトル55より長さが長い視差ベクトル50に従い、特徴点間の左側から右方向にレンダリングすると、中間視差画像35aの14番目の画素と画素65aとの間や、中間視差画像35bの13番目の画素と画素65bとの間に、画素値の不連続が起こり、不自然な画像になってしまう。図15に示すように、特徴点の画素42aを基準にしているため本来繋がりを持たなければならない特徴点の画素60a周辺の画素に対応する中間視差画像が、中間視差画像35aでは”7”から”10”、中間視差画像35aでは”5”から”10”といったように画素の繋がりが飛んでしまっている。それに対して、図14に示すような生成方法だと特徴点の画素60aに対応する基準点の画素65a、65b、65cの周りの繋がりが途切れることなく生成されることになる。
【0078】
次に、右画像のオクルージョンで無い場合(ステップS23;NO)、画像生成装置10は、特徴点間の画素を右画像から取得し、特徴点間の左側から右方向にレンダリングする(ステップS25)。具体的には、画像生成装置10のシステム制御部16は、ステップS24に似たような手順により、長さが短い方の視差ベクトルに従い、特徴点間の左側から右方向に画素値を求め、レンダリングをする。
【0079】
次に、ステップS22、S24、S25の後、画像生成装置10は、次の特徴点間の距離を選択できるか否かを判定する(ステップS26)。画像生成装置10のシステム制御部16は、図5Aに示すように、α-β間の距離D2およびα’-β’間の距離D2’を選択した後、β-γ間の距離およびβ’-γ’間の距離を選択できる場合は(ステップS26;YES)、ステップS20に戻る。最後の特徴点間の距離に関して処理が終わり、特徴点間の距離を選択でき無い場合は(ステップS26;NO)、画像生成装置10のシステム制御部16は、サブルーチンを終了する。
【0080】
以上、本実施形態によれば、複数の撮像手段により、第1位置から撮像された第1画像と、第2位置から撮像された第2画像との入力を受け付け、第1画像および第2画像の各画素の色相を求める色相変換を行い、色相変換された第1画像および第2画像から、第1画像および第2画像の特徴点を抽出し、第1画像と第2画像とにおいて対応する特徴点を求め、対応する特徴点の間の距離を有する視差ベクトルを算出し、第1画像および第2画像の各画像内において、同一画像内における特徴点の間の特徴点間距離を算出し、第1画像内の特徴点間距離と、これに対応する第2画像内の特徴点間距離とに基づき、第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求め、第1位置と第2位置との間に第3位置を設定し、第1位置および第2位置に対する第3位置の位置関係と、視差ベクトルと、オクルージョン情報とに従い、第1画像と第2画像とから、第3位置から撮像された場合の第3画像を生成する。これにより、特徴点間距離からオクルージョン情報を求め、オクルージョンに対応でき、特殊なカメラは使用せず、奥行き情報無しに、第3位置の位置関係と視差ベクトルとに従い、特徴点間の画像データを描画するので、低コストで、より少ない演算量で画像を生成することができる。
【0081】
また、右目の画像30bにオクルージョンがあった場合、左目の画像30bを使って、基準点の画素45a、65a間の領域のように、基準点の画素65aの右側から左方向へレンダリングし、左目の画像にオクルージョンがあった場合、右目の画像を使って、基準点間の領域の左側から右方向へレンダリングすることにより、ある被写体が他の被写体に隠れ、一方の撮像装置から撮像できない部分を、補完的に描画できる。
【0082】
また、本実施形態において使用する撮像装置20a、20bは、通常のスチルカメラまたビデオカメラであるので、本実施形態は実現しやすい手法である。
【0083】
また、色相の変化に応じて特徴点を抽出する場合、色相により特徴点を求めているので、輝度による影響が出ない。
【0084】
また、対応する特徴点間距離が異なり、オクルージョンが存在とするオクルージョン情報を求める場合、画像生成装置10のシステム制御部16は、容易にオクルージョンの存否を判定できる。
【0085】
また、複数の視差ベクトルを算出し、オクルージョン情報に応じて、第3画像を生成するための視差ベクトルを選択する場合、画像生成装置10のシステム制御部16は、一方のカメラから死角である画像データを、補完的に的確にレンダリングできる。
【0086】
また、色相を当該色相の値の範囲に応じてグループに分類し、当該グループに対するインデックスを色相の値とした色相の画像に変換する場合、HSV変換を用いて色相変換を施すことにより、色相によるグルーピング処理が行われ、色相のグループの境界が容易に抽出される。また、ラインごとに処理を行うため、画素マトリックスレベルでのクラスタリングが必要ないため、処理が容易である。画像生成装置10において、必要なメモリ、演算量といったシステム要件を下げることができ、またハード化しやすい。
【0087】
第1画像30aおよび第2画像30bの各画像のスキャン方向(x方向)は、第1位置(x=0)と第2位置(x=L)とを結ぶ方向である場合、スキャン方向と、視差ベクトル50の方向(撮像装置20aと、撮像装置20bとの設置方句)とが平行になり、視差ベクトル50、55が求めやすくなる。すなわち、画像生成装置10のシステム制御部16は、対応する特徴点の間の距離(視差ベクトルの長さ)を求めるだけで、視差ベクトル50を求めることができる。
【0088】
画像生成装置10のシステム制御部16が、第3画像(各中間視差画像35a、35b、35c)における対応する特徴点の位置を、第3位置の位置関係に対応する比率と視差ベクトルとから決定する場合、中間視差画像35a、35b、35cを描画する基準となる基準点を容易に決めやすくなる。
【0089】
画像生成装置10のシステム制御部16が、視差ベクトル50、55に従い、第1位置および第2位置のうち第3位置に近い方の位置の第1画像30aまたは第2画像30bの画素から第3画像を生成する場合、中間視差画像に位置的に近い方の画像の画素を利用して描画を行うため、より自然な画像を生成できる。
【0090】
画像生成装置10のシステム制御部16が、視差ベクトル50に従った画素が無い場合、前記第1位置および第2位置のうち前記第3位置から遠い方の位置の第1画像または第2画像の画素の情報を用いて第3画像を生成する場合、一方の撮像装置では、画像の端となり、写らない所の画像も生成できる。
【0091】
画像生成装置10のシステム制御部16が、複数の第3位置を設定し、複数の第3画像(中間視差画像35a、35b、35c)を生成する場合、容易に多眼的に複数の中間視差画像35a、35b、35cを生成できる。
【0092】
なお、画像30aと画像30bが同一の解像度で無い場合、画像生成装置10のシステム制御部16は、画像30aと画像30bとの解像度を合わせから、ステップS1からの処理を行ってもよい。
【0093】
特徴点を求める際の方向は、スキャン方向のx方向に限らず、y方向でも構わない。
【0094】
また、撮像装置20aおよび撮像装置20bが、水平方向(x方向)以外に設置されていてもよい。例えば、上下方向(y方向)に設置されている場合、スキャン方向はy方向が好ましい。
【0095】
また、画像生成装置10のシステム制御部16が、特徴点を求める際、色相変換された画像に対して、微分マスクを使い、エッジを求めてもよい。
【0096】
また、画像生成装置10のシステム制御部16は、SSD(Sum of Squared Difference)、SAD(Sum of Absolute Difference)等のマッチング手法により、特徴点同士の一致の度合いを評価し、対応する特徴点を求めてもよい。例えば、画像生成装置10のシステム制御部16は、第1画像30aおよび第2画像30bのライン方向における画素の色のマッチングを行う。また、画像生成装置10のシステム制御部16が、第1画像30aの特徴点を含む画像領域とマッチングする第2画像30bの画像領域を求め、対応する特徴点を求めてもよい。色相変換前の元画像についてパターンマッチングを行ってもよい。
【0097】
さらに、本発明は、上記各実施形態に限定されるものではない。上記各実施形態は、例示であり、本発明の特許請求の範囲に記載された技術的思想と実質的に同一な構成を有し、同様な作用効果を奏するものは、いかなるものであっても本発明の技術的範囲に包含される。
【符号の説明】
【0098】
1:画像生成システム
10:画像生成装置
20(20a、20b):撮像装置(撮像手段)
30(30a、30b):画像(第1画像、第2画像)
35(35a、35b、35c):中間視差画像(第3画像)
40a、40b、41a、41b、42a、42b、45a、45b、45c:特徴点の画素(特徴点)
50、55:視差ベクトル
【技術分野】
【0001】
本発明は、立体画像用の画像を生成する画像生成装置、画像生成方法、画像生成装置用プログラムに関する。
【背景技術】
【0002】
従来、臨場感のある裸眼式立体視を可能とするため、2つのカメラを用いて撮影された2つの画像(ステレオ画像)を用いて、2つのカメラの間の位置から撮像された場合の中間画像を生成して多眼化することが行われている。例えば、特許文献1には、被写体の映像を結像する第1結像レンズ部と、第1撮影素子と、を有する第1画像取得部と、第2結像レンズ部と、これによって結像された映像を受ける複数のレンズがアレイ状に配列された第1レンズアレイ部と、第2撮影素子と、を有する第2画像取得部とを備え、第2画像取得部は、第1画像取得部に対して被写体から見て水平方向に離れて配置される立体映像撮影装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−78768号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、先行技術では、複数のレンズがアレイ状に配列された特殊なカメラを使用しており、当カメラは製造が難しいカメラで、設備のコストが高く実現が困難である。さらに、先行技術では、画素の相関が高い物体のクラスタリングを行う必要があったり、描画する際、奥から描画する必要があるため、奥行き方向でのソートの処理が必要であったりするため、演算量が増加していた。また、左右のカメラにより撮像されたステレオ画像から中間画像を生成する際、左右のカメラのいずれか一方から見えないオクルージョン領域が存在する場合、このオクルージョン領域を処理する必要がある。
【0005】
そこで、本発明は上記の問題点等に鑑みて為されたもので、その課題の一例は、オクルージョンに対応でき、低コストで、演算量を減少させた画像生成装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、請求項1に記載の発明は、複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付ける画像入力手段と、前記第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換手段と、前記色相変換された前記第1画像および第2画像から、前記第1画像および第2画像の特徴点を抽出する特徴点抽出手段と、前記第1画像と第2画像とにおいて対応する特徴点を求める対応点探索手段と、前記対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出手段と、前記第1画像および第2画像の各画像内において、同一画像内における前記特徴点の間の特徴点間距離を算出する特徴点間距離算出手段と、前記第1画像内の特徴点間距離と、これに対応する前記第2画像内の特徴点間距離とに基づき、前記第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報手段と、前記第1位置と第2位置との間に第3位置を設定する位置設定手段と、前記第1位置および第2位置に対する前記第3位置の位置関係と、前記視差ベクトルと、前記オクルージョン情報とに従い、前記第1画像と第2画像とから、前記第3位置から撮像された場合の第3画像を生成する画像生成手段と、を備えたことを特徴とする。
【0007】
また、請求項2に記載の発明は、請求項1に記載の画像生成装置において、前記オクルージョン情報手段が、前記対応する特徴点間距離が異なる場合、オクルージョンが存在とするオクルージョン情報を求めることを特徴とする。
【0008】
また、請求項3に記載の発明は、請求項1または請求項2に記載の画像生成装置において、前記視差ベクトル算出手段が、複数の視差ベクトルを算出し、前記画像生成手段が、前記オクルージョン情報に応じて、前記第3画像を生成するための視差ベクトルを選択することを特徴とする。
【0009】
また、請求項4に記載の発明は、請求項1から3のいずれか1項に記載の画像生成装置において、前記特徴点抽出手段は、前記色相の変化が生じた箇所を前記特徴点として抽出することを特徴とする。
【0010】
また、請求項5に記載の発明は、請求項1から4のいずれか1項に記載の画像生成装置において、前記色相変換手段が、前記色相を当該色相の値の範囲に応じてグループに分類し、前記グループに対するインデックスを色相の値とした前記色相の画像に変換することを特徴とする。
【0011】
また、請求項6に記載の発明は、請求項1から5のいずれか1項に記載の画像生成装置において、前記第1画像および第2画像の各画像のスキャン方向は、前記第1位置と第2位置とを結ぶ方向であることを特徴とする。
【0012】
また、請求項7に記載の発明は、請求項1から6のいずれか1項に記載の画像生成装置において、前記画像生成手段が、前記第3画像における前記対応する特徴点の位置を、前記第3位置の位置関係に対応する比率と前記視差ベクトルとから決定することを特徴とする。
【0013】
また、請求項8に記載の発明は、請求項1から7のいずれか1項に記載の画像生成装置において、前記画像生成手段が、前記視差ベクトルに従い、前記第1位置および第2位置のうち前記第3位置に近い方の位置の前記第1画像または第2画像の画素の情報を用いて第3画像を生成することを特徴とする。
【0014】
また、請求項9に記載の発明は、請求項8に記載の画像生成装置において、前記画像生成手段が、前記視差ベクトルに従った画素が無い場合、前記第1位置および第2位置のうち前記第3位置から遠い方の位置の前記第1画像または第2画像の画素の情報を用いて第3画像を生成することを特徴とする。
【0015】
また、請求項10に記載の発明は、請求項1から9のいずれか1項に記載の画像生成装置において、前記位置設定手段が、複数の第3位置を設定し、前記画像生成手段が、複数の第3画像を生成することを特徴とする。
【0016】
また、請求項11に記載の発明は、画像生成装置が、画像を生成する画像生成方法であって、複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付ける画像入力ステップと、前記第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換ステップと、前記色相変換された前記第1画像および第2画像から、前記第1画像および第2画像の特徴点を抽出する特徴点抽出ステップと、前記第1画像と第2画像とにおいて対応する特徴点を求める対応点探索ステップと、前記対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出ステップと、前記第1画像および第2画像の各画像において、同一画像内における前記特徴点の間の特徴点間距離を算出する特徴点間距離算出ステップと、前記第1画像の特徴点間距離と、これに対応する前記第2画像の特徴点間距離とに基づき、前記第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報ステップと、前記第1位置と第2位置との間に第3位置を設定する位置設定ステップと、前記第1位置および第2位置に対する前記第3位置の位置関係と、前記視差ベクトルと、前記オクルージョン情報とに従い、前記第1画像と第2画像とから、前記第3位置から撮像された場合の第3画像を生成する画像生成ステップと、を有することを特徴とする。
【0017】
また、請求項12に記載の発明は、コンピュータを、複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付ける画像入力手段、前記第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換手段、前記色相変換された前記第1画像および第2画像から、前記第1画像および第2画像の特徴点を抽出する特徴点抽出手段、前記第1画像と第2画像とにおいて対応する特徴点を求める対応点探索手段、前記対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出手段、前記第1画像および第2画像の各画像内において、同一画像内における前記特徴点の間の特徴点間距離を算出する特徴点間距離算出手段、前記第1画像内の特徴点間距離と、これに対応する前記第2画像内の特徴点間距離とに基づき、前記第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報手段、前記第1位置と第2位置との間に第3位置を設定する位置設定手段、および、前記第1位置および第2位置に対する前記第3位置の位置関係と、前記視差ベクトルと、前記オクルージョン情報とに従い、前記第1画像と第2画像とから、前記第3位置から撮像された場合の第3画像を生成する画像生成手段として機能させる。
【発明の効果】
【0018】
本発明によれば、複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付け、第1画像および第2画像の各画素の色相を求める色相変換を行い、色相変換された第1画像および第2画像から、第1画像および第2画像の特徴点を抽出し、第1画像と第2画像とにおいて対応する特徴点を求め、対応する特徴点の間の距離を有する視差ベクトルを算出し、第1画像および第2画像の各画像内において、同一画像内における特徴点の間の特徴点間距離を算出し、第1画像内の特徴点間距離と、これに対応する第2画像内の特徴点間距離とに基づき、第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求め、第1位置と第2位置との間に第3位置を設定し、第1位置および第2位置に対する第3位置の位置関係と、視差ベクトルと、オクルージョン情報とに従い、第1画像と第2画像とから、第3位置から撮像された場合の第3画像を生成する。これにより、特徴点間距離からオクルージョン情報を求め、オクルージョンに対応でき、特殊なカメラは使用せず、奥行き情報無しに、第3位置の位置関係と視差ベクトルとに従い、特徴点間の画像データを描画するので、低コストで、より少ない演算量で画像を生成することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施形態に係る画像生成システムの概要構成例を示すブロック図である。
【図2】図1の画像生成の概要構成の一例を示すブロック図である。
【図3】図1の撮像装置の位置と、仮想的な撮像装置の位置との位置関係の一例を示す模式図である。
【図4】図1の画像生成装置の動作例を示すフローチャートである。
【図5A】図1の撮像装置により撮像された画像の一例を示す模式図である。
【図5B】図1の撮像装置により撮像された画像の一例を示す模式図である。
【図6】撮像された画像に対するスキャン方向の一例を示す模式図である。
【図7】色相で分類されインデックス化されたラインデータの一例を示す模式図である。
【図8】色相変換された画像の一例を示す模式図である。
【図9】撮像された画像の特徴点(基準点)および視差ベクトルの一例を示す模式図である。
【図10】撮像された画像の基準点、および、仮想的な撮像装置から撮像された場合の画像の基準点の一例を示す模式図である。
【図11】図4のオクルージョン処理のサブルーチンの一例を示すフローチャートである。
【図12】基準点周りの画素値の関係性の一例を示す模式図である。
【図13】基準点周りの画素値の関係性の一例を示す模式図である。
【図14】基準点周りの画素値の関係性の一例を示す模式図である。
【図15】基準点周りの画素値の関係性の一例を示す模式図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施の形態は、画像生成システムに対して本発明を適用した場合の実施形態である。
【0021】
[1.画像生成システムの構成および機能の概要]
(1.1 画像生成システム1の構成および機能)
【0022】
まず、本発明の一実施形態に係る画像生成システムの構成および概要機能について、図1を用いて説明する。
【0023】
図1は、本実施形態に係る画像生成システム1の概要構成例を示すブロック図である。
【0024】
図1に示すように、画像生成システム1は、所定の位置で撮像された被写体5の画像から仮想位置から撮像した場合の画像を生成する画像生成装置10と、所定の位置で被写体5を撮像する撮像装置(撮像手段の一例)20と、を備えている。本実施形態に置いて撮像装置20a、20bは、動画撮影をする場合には同期撮影であってもよい。
【0025】
画像生成装置10は、撮像装置20により撮像された複数の画像の画像データの入力を受け付ける画像入力手段10aと、RGB信号の画像データから各画素の色相を求める変換を行う色相変換手段10bと、色相変換された画像データから、画像の特徴点を抽出する特徴点抽出手段10cと、画像間で対応する特徴点を求める対応点探索手段10dと、対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出手段10eと、仮想位置を設定する位置設定手段10fと、同一画像内における前記特徴点の間の特徴間距離算出手段10gと、第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報手段10hと、仮想位置で撮像された画像を生成する画像生成手段10iと、生成された画像を表示する表示部13と、を有する。
【0026】
撮像装置20は、撮像手段の一例である左目用の撮像装置20aと、右目用の撮像装置20bとを有し、ステレオカメラを構成する。被写体5に対して、例えば、水平方向に、撮像装置20aと、撮像装置20bとは、所定の距離を置いて設置される。撮像装置20aが設置される位置が、第1位置の一例であり、撮像装置20bが設置される位置が、第2位置の一例である。撮像装置20a、20bは、静止画を撮像するスチルカメラ、または、動画を撮像するビデオカメラであり、解像度や、色の階調等に関して同一の性能を有する。撮像装置20a、20bの出力は、デジタル出力であるが、アナログ出力の撮像装置の場合は、A/D変換器を有し、デジタル信号を出力する。
【0027】
撮像装置20aは、被写体5を左寄りから撮影し、左目用の画像(第1位置で撮像された第1画像の一例)を出力する。撮像装置20bは、被写体5を右寄りから撮影し、右目用の画像(第2位置で撮像された第2画像の一例)を出力する。
【0028】
撮像装置20aおよび撮像装置20bは、画像生成装置10の画像入力手段10aに接続される。
【0029】
(1.2 画像生成装置10の構成および機能)
次に、画像生成装置10の構成および機能について、図2を用いて説明する。
図2は、画像生成装置10の概要構成の一例を示すブロック図である。
【0030】
図2に示すように、画像生成装置10は、例えば、パーソナルコンピュータやサーバ装置等であり、通信部11と、記憶部12と、表示部13と、操作部14と、入出力インターフェース部15と、システム制御部16とを備えている。そして、システム制御部16と入出力インターフェース部15とは、システムバス17を介して接続されている。
【0031】
通信部11は、画像生成装置10の外部等とのデータや信号の送受信を行う。例えば、ネットワーク接続に使用される。
【0032】
記憶部12は、例えば、ハードディスクドライブ等からなり、オペレーティングシステム、制御用のプログラムや画像処理用のプログラム等を記憶する。
【0033】
表示部13は、例えば、液晶表示素子またはEL(Electro Luminescence)素子等によって構成されている。表示部13には、撮像装置20により撮像された被写体5の画像や、生成された画像が表示される。
【0034】
操作部14は、例えば、キーボードおよびマウス等によって構成されている。
【0035】
入出力インターフェース部15は、撮像装置20aおよび撮像装置20bの出力端に直接接続される部分で、画像入力手段10aの機能を実現するインターフェースである。撮像装置20(20a、20b)、通信部11および記憶部12とシステム制御部16とのインターフェースである。
【0036】
システム制御部16は、例えば、CPU16aと、ROM16bと、RAM16cとを有する。システム制御部16は、CPU16aが、ROM16bや、RAM16cや、記憶部12に記憶された各種プログラムを読み出して実行する。例えば、システム制御部16は、画像処理のプログラムを実行し、色相変換手段10b、特徴点抽出手段10c、対応点探索手段10d、視差ベクトル算出手段10e、位置設定手段10f、画像生成手段10g等の機能を実現する。
【0037】
(1.3 仮想的な撮像装置の位置)
次に、仮想的な撮像装置の位置(仮想位置)について図3を用いて説明する。
図3は、撮像装置20a、20bの位置と、仮想的な撮像装置の位置との位置関係の一例を示す模式図である。
【0038】
図3に示すように、撮像装置20aと撮像装置20bとは、x方向(例えば水平方向)に距離Lで設置されている。撮像装置20aと撮像装置20bと間に、仮想的な撮像装置25が3台設定される。撮像装置25a、撮像装置25b、および、撮像装置25cは等間隔に設定される。撮像装置20aの設置位置の第1位置0を基準として、撮像装置20bの設置位置の第2位置Lとすると、第3位置の一例として、撮像装置25aの場合、位置L/4、撮像装置25bの場合、位置L/2、撮像装置25cの場合、位置3L/4が設定される。ここで、仮想的な撮像装置25により撮像された場合の画像を中間視差画像(第3画像の一例)とする。
【0039】
[2.画像生成システムの動作]
(2.1 画像生成システムの動作)
次に、本発明の1実施形態に係る画像生成システムの動作について図4から図12を用いて説明する。
図4は、画像生成装置10の動作例を示すフローチャートである。図5Aおよび図5Bは、撮像装置20により撮像された画像の一例を示す模式図である。図6は、撮像された画像に対するスキャン方向の一例を示す模式図である。図7は、クラスタリングされインデックス化されたラインデータの一例を示す模式図である。図8は、色相変換された画像の一例を示す模式図である。図9は、撮像された画像の特徴点(基準点)および視差ベクトルの一例を示す模式図である。図10は、撮像された画像の基準点、および、仮想的な撮像装置から撮像された場合の画像の基準点の一例を示す模式図である。
【0040】
ここで、中間視差画像を生成方法の原理について簡単に説明する。
本提案手法では中間視差画像を生成する上で、画素値を算出して補間をするのでは無く、視点の移動による物体の移動距離を用いることにより、画像間の動きの軌跡を逆にたどり、2枚の元画像30a、30bに存在する画素のみを用いて中間視差画像を生成する。
【0041】
また、2枚の元画像30a、30bから互いに対応する特徴点を抽出し、特徴点から視差ベクトルを算出する。そして、生成される中間視差画像において、元画像の特徴点と近似した値の画素は、必ず特徴点間に存在すると考えられる。例えば、図3に示すように等間隔で仮想的な撮像装置25a、25b、25cが設置されているとすると、移動距離(視差ベクトルの長さ)を4で割ることにより位置関係が求まり、中間視差画像における特徴点と等しい値の画素がどのような間隔で配置されているかがわかる。そのため、中間視差画像において元画像30a、30bの特徴点に対応する基準点が、位置関係と視差ベクトルとに従い求まる。この基準点の周りに画素配置をしていくことにより、中間視差画像を生成することができる。なお、基準点は、第3画像における対応する特徴点の一例である。
【0042】
しかし、中間視差画像を生成するに当たり、ステレオ画像においては画像を平行に移動させることの他に、オクルージョンという奥行きの存在を考えなければならない。オクルージョンとは物体を観察する際に左目または右目では見えていても右目または左目では見えていない領域である。例えば、図5Aに示すように、右目の画像30bでは、見えない領域が発生する。
【0043】
まず、画像生成システムの動作として、画像生成装置10のシステム制御部16は、図3に示すように、第3位置の一例として、仮想的な撮像装置25a、25b、25cの位置(例えば、L/4、L/2、3L/4)を予め設定しておく。このように画像生成装置10のシステム制御部16は、第1位置と第2位置との間に第3位置を設定する位置設定手段10fの一例として機能する。
【0044】
そして、画像生成装置10のシステム制御部16は、仮想的な撮像装置25a、25b、25cの位置に応じた中間視差画像を生成するための記憶領域を、記憶部12に予め設定しておく。
【0045】
次に、図4に示すように、画像生成装置10は、左右の画像の入力を受け付ける(ステップS1)。具体的には、画像生成装置10のシステム制御部16は、図5Aおよび図5Bに示すように、被写体5を左側から撮像した画像30a、31a(第1画像の一例)を、撮像装置20aから受け付け、右側から撮像した画像30b、31b(第2画像の一例)を、撮像装置20bから受け付ける。画像30a、31aは、撮像装置20aの位置(第1位置の一例)から撮像した画像であり、画像30b、31bは、撮像装置20bの位置(第2位置の一例)から撮像した画像である。なお、画像のデータは、RGB信号のデータである。このように、画像生成装置10のシステム制御部は、複数の撮像手段により第1位置から撮像された第1画像と、第2位置から撮像された第2画像との入力を受け付ける画像入力手段10aの一例として機能する。
【0046】
次に、画像生成装置10は、各画像の1ライン分の画像データを取得する(ステップS2)。具体的には、画像生成装置10のシステム制御部16は、図6に示すよう、撮像された各画像30a、30b(31a、31b)をx方向にスキャンして1ライン分の画像データを取得する。なお、スキャン方向のx方向は、第1位置と第2位置とを結ぶ方向の一例である。
【0047】
次に、画像生成装置10は、RGB信号に対してHSV変換を行う(ステップS3)。具体的には、画像生成装置10のシステム制御部16は、下記の式に従い、RGB信号の各画像のデータの1ライン分の各画素に対して、各画素の色相Mxyを求める。
【数1】
【0048】
ここで、RGB信号の画像のデータにおけるR、G、Bの各値は、0.0を最小量、1.0を最大値とする0.0から1.0の範囲とする。R、G、Bの三つの値の内、最大のものをMAX、最小のものをMINをとする。なお、R=G=B(黒、白、グレー)の時は、Mxyは計算せず、特定の値を割り当てる。このように画像生成装置10のシステム制御部16は、第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換手段10bの一例として機能する。
【0049】
次に、画像生成装置10は、色相のグルーピングを行う(ステップS4)。具体的には、画像生成装置10のシステム制御部16は、色相Mxyの値をグループ化することによりセグメント化して、各点におけるMxyを求め、色相の領域分類を行う。MxyをグルーピングしたものをAxyと定義する。
【数2】
【0050】
この例では、色相のグルーピングのグループ数は6としている。加えて、R=G=B(黒、白、グレー)のように、色以外のグループがあるので、合計で7グループとなる。そして、図7に示すように、各画像30a、30b(31a、31b)において、HSV変換されたラインデータには、クラスタのインデックス情報が入力される。インデックスは、0〜6までの数値とする。R=G=Bのように色以外に対して”0”を、グループHYに対して”1”を、グループHGに対して”2”を、グループHCに対して”3”を、グループHBに対して”4”を、グループHMに対して”5”を、グループHRに対して”6”を各画素に割り当てる。このように画像生成装置10のシステム制御部16は、色相を当該色相の値の範囲に応じてグループに分類し、グループに対するインデックスを色相の値とした色相の画像に変換する色相変換手段の一例として機能する。なお、グループ数は、更に細分化することも可能である。
【0051】
ここで、全ラインに対して色相を求め、色相のグルーピングした場合、図8に示すように、図5Bの場合の各画像31a、31bに対して色相の画像32a、32bが得られる。
【0052】
次に、画像生成装置10は、色相のグループの境界探索を行う(ステップS5)。具体的には、画像生成装置10のシステム制御部は、図7に示すように、各画像30a、30b(31a、31b)において、矢印の方向に、インデックスの値が変化する境界の探索を行う。なお、以下、各画像31a、31bの例も含めて、各画像30a、30bの例を用いて説明していく。
【0053】
次に、画像生成装置10は、1ラインの全特徴点の位置を特定する(ステップS6)。具体的には、画像生成装置10のシステム制御部16は、図7に示すように、各画像30aにおいて、色相のインデックスが”0”から”2”に変化した境界の位置の画素40a、”2”から”4”に変化した境界の位置の画素41a、”4”から”1”に変化した境界の位置の画素を、特徴点の画素として特定する。同様に、画像生成装置10のシステム制御部16は、各画像30bにおいて、色相のインデックスが”0”から”2”に変化した境界の位置の画素40b、”2”から”4”に変化した境界の位置の画素41bを、特徴点の画素として特定する。このように画像生成装置10のシステム制御部16は、色相変換された第1画像および第2画像から、第1画像および第2画像の特徴点を抽出する特徴点抽出手段10cの一例として機能する。また、画像生成装置10のシステム制御部16は、色相の変化が生じた箇所を特徴点として抽出する特徴点抽出手段の一例として機能する。
【0054】
次に、画像生成装置10は、対応する特徴点の探索を行う(ステップS7)。具体的には、画像生成装置10のシステム制御部16は、画像30aのラインデータと、画像30bのラインデータとにおいて、スキャン方向に従って、順に出現する特徴点を各々順序付けし、特徴点位置の(色相変換前の)元画像のパターンマッチングを行うことで順次対応する特徴点を探索する例えば、画素40aの特徴点と、画素40bの特徴点とは対応し、画素41aの特徴点と、画素41bの特徴点とは対応するとする。また、図9に示すように、画素42aの特徴点と、画素42bの特徴点とは対応し、画素60aの特徴点と、画素60bの特徴点とは対応するとする。このように画像生成装置10のシステム制御部16は、第1画像と第2画像とにおいて対応する特徴点を求める対応点探索手段10dの一例として機能する。対応する特徴点がない場合は、当該特徴点はスキップされる。
【0055】
次に、画像生成装置10は、視差ベクトルを算出する(ステップS8)。具体的には、画像生成装置10のシステム制御部16は、図9に示すように、スキャン方向(x方向)の視差ベクトル50および視差ベクトル55を算出する。視差ベクトル50は、画像30aの特徴点の画素42aと、画像30bの対応する特徴点の画素42bとすると、(左目)画像30aを基準、例えば、画像30aの特徴点の画素42aのx方向の位置”4”を基準に、(右目)画像30bの特徴点の画素42bのx方向の位置”16”までの距離(12画素の分)(視差ベクトルの長さ)を有する。画像生成装置10のシステム制御部16は、視差ベクトル50、55を算出するする過程で、抽出した特徴点により対応する特徴点の間の距離(12画素の分の長さ、4画素分の長さ)を算出している。このように画像生成装置10のシステム制御部16は、対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出手段10eの一例として機能する。
【0056】
なお、図9において、便宜上、画像30aおよび画像30bの1〜4ラインのラインデータのみが示されていて、第2ラインがデータ処理されているとする。さらに、仮想的な撮像装置25aから撮像した場合の中間視差画像35a、仮想的な撮像装置25bから撮像した場合の中間視差画像35b、仮想的な撮像装置25cから撮像した場合の中間視差画像35cにおいても、1〜4ラインのラインデータのみが示されている。また、図9において、矢印は、視点が左側から右側、または、右側から左側に移動した場合の特徴点の移動方向を表す。
【0057】
次に、画像生成装置10は、視差ベクトルと視差との関係から、中間視差画像の基準点の位置を決定する(ステップS9)。具体的には、画像生成装置10のシステム制御部16は、画像生成装置10のシステム制御部16は、図10に示すように、仮想的な撮像装置25a、25b、25cの位置(例えば、L/4、L/2、3L/4)と、撮像装置20aと撮像装置20bとの距離Lとの比(第1位置および第2位置に対する第3位置の位置関係)と、視差ベクトル50の長さ(12画素)とに従い、第2ラインにおける基準点の画素45a、45b、45cを求める。
【0058】
例えば、画像生成装置10のシステム制御部16は、視差ベクトル50に、長さL/4と長さLとの比を掛けた視差ベクトル51(長さ3画素)と、特徴点の画素42aの位置と、により、中間視差画像35aの基準点の画素45aの位置を求める。また、画像生成装置10のシステム制御部16は、視差ベクトル50に、長さL/2と長さLとの比を掛けた視差ベクトル52(長さ6画素)と、特徴点の画素42aの位置とにより、中間視差画像35bの基準点の画素45bの位置を求める。また、画像生成装置10のシステム制御部16は、視差ベクトル50に、長さ3L/4と長さLとの比を掛けて向きを逆にした視差ベクトル53(長さ3画素)と、特徴点の画素42bの位置とにより、中間視差画像35cの基準点の画素45cの位置を求める。このように画像生成装置10のシステム制御部16は、第3画像における対応する特徴点の位置を、第3位置の位置関係に対応する比率と視差ベクトルとから決定する画像生成手段の一例として機能する。
【0059】
次に、画像生成装置10は、各特徴点間の距離を算出する(ステップS10)。具体的には、画像生成装置10のシステム制御部16は、図9に示すように、画像30aにおいて、特徴点の画素42aと特徴点の画素60aとの距離D1、および、画像30bにおいて、特徴点の画素42bと、特徴点の画素60bとの距離D1’を算出する。なお、図5Aに示すように、画像生成装置10のシステム制御部16は、画像30aにおいて距離D2、および、画像30bにおいて距離D2’も算出する。また、図5Aのスキャンしているラインの位置と、図9のスキャンしている位置とは対応しているとする。このように画像生成装置10のシステム制御部16は、第1画像および第2画像の各画像内において、同一画像内における特徴点の間の特徴点間距離を算出する特徴点間距離算出手段の一例として機能する。
【0060】
次に、画像生成装置10は、オクルージョン処理のサブルーチンを実行する(ステップS11)。画像生成装置10のシステム制御部16は、オクルージョン処理のサブルーチンにより、各中間視差画像35a、35b、35cの1ライン分の画像データを生成する。そして、生成装置10のシステム制御部16は、生成された1ライン分の画像データを、記憶部12において、中間視差画像35a、35b、35cを生成するための記憶領域に記憶する。
【0061】
次に、画像生成装置10は、次のラインに移動できるか否かを判定する(ステップS12)。具体的には、画像生成装置10のシステム制御部16は、画像30a、30bの最後のラインか否かを判定する。現在第2ラインの処理が終了した場合は、次の第3ラインに移動できるので(ステップS12;YES)、画像生成装置10のシステム制御部16は、処理対象を次のラインに移動させて、ステップS2に戻る。
【0062】
このように、画像生成装置10のシステム制御部16は、第1位置および第2位置に対する第3位置の位置関係と視差ベクトルと、オクルージョン情報とに従い、第1画像と第2画像とから、第3位置から撮像された場合の第3画像を生成する画像生成手段10gの一例として機能する。また画像生成装置10のシステム制御部16は、視差ベクトルに従い、第1位置および第2位置のうち第3位置に近い方の位置の第1画像または第2画像の画素の情報を用いて第3画像を生成する画像生成手段の一例として機能する。また画像生成装置10のシステム制御部16は、視差ベクトルに従った画素が無い場合、前記第1位置および第2位置のうち第3位置から遠い方の位置の第1画像または第2画像の画素の情報を用いて第3画像を生成する画像生成手段の一例として機能する。
【0063】
また、最後のラインの処理が終わった場合(ステップS12;NO)、画像生成装置10は、中間視差画像を表示する(ステップS13)。具体的には、画像生成装置10のシステム制御部16は、記憶部12から中間視差画像を読み出し、表示部13に中間視差画像を表示する。
【0064】
(2.2 オクルージョン処理のサブルーチン)
次に、オクルージョン処理のサブルーチンについて、図を用いて説明する。
図11は、オクルージョン処理のサブルーチンの一例を示すフローチャートである。図12から図15は、基準点周りの画素値の関係性の一例を示す模式図である。
【0065】
まず、図11に示すように、画像生成装置10は、左右画像の特徴点間距離を比較する(ステップS20)。具体的には、画像生成装置10のシステム制御部16は、図9に示すように、画像30aにおける特徴点間の距離D1と、画像30bにおける特徴点間の距離D1’とを比較する。
【0066】
次に、画像生成装置10は、オクルージョンが存在するか否かを判定する(ステップS21)。具体的には、画像生成装置10のシステム制御部16は、ラインデータに関して、画像30aにおける特徴点間の距離と、対応する画像30bにおける特徴点間の距離とが等しいときはオクルージョンでは無いと判定し、等しくないときは、オクルージョンが存在すると判定する。特徴点間距離が短い方の画像にオクルージョンが発生しているものとし、特徴点間が長いほうから画素データを取得する。図9または図5Aに示すように、画像30aにおける特徴点間の距離D1と、画像30bにおける特徴点間の距離D1’との場合は、画像生成装置10のシステム制御部16は、距離が等しくないので、オクルージョンが存在すると判定する。図5Aに示すように、画像30aにおける特徴点間の距離D2と、画像30bにおける特徴点間の距離D2’との場合は、距離が等しいので、オクルージョンは無いと判定する。なお、図12に示すように、ラインデータをスキャンしていき、始めの特徴点までは、画素42a、43bまでの画素に対しては、画像生成装置10のシステム制御部16は、オクルージョンでは無いと判定する。また、距離が等しく無い基準は、1画素分異なってもよいし、所定の画素分異なってもよい。図9または図5Aの場合、オクルージョンは、右目の画像30bに発生していて、右目の画像30b特徴点間距離D1’が、左目の画像30aの特徴点間距離D1より短くなる。画像生成装置10のシステム制御部16は、対応する特徴点間距離が異なる場合、オクルージョンが存在とするオクルージョン情報手段の一例として機能する。
【0067】
オクルージョンが存在しない場合(ステップS21;NO)、画像生成装置10は、視点の移動による特徴点のシフト量が少ない方の画像から画像データを取得してレンダリングする(ステップS22)。具体的には、画像生成装置10のシステム制御部16は、基本的に、視点の移動による特徴点のシフト量が少ない方の画像、すなわち、仮想的な撮像装置25、25b、25cが近い撮像装置20a、20bの画素値を利用して、中間視差画像35a、35b、35cを生成していく。例えば、画像生成装置10のシステム制御部16は、図10に示すように、左目の画像30aの画素値”p”を利用して、中間視差画像35aの第2ラインの画素45aの画素値、および、中間視差画像35bの第2ラインの画素45bの画素値を求め、レンダリングする。一方、画像生成装置10のシステム制御部16は、右目の画像30bの画素値”p’”を利用して、中間視差画像35cの第2ラインの画素45cの画素値を求め、レンダリングする。なお、画素45aは、左目の画像30aの画素42aからのシフト量が3画素分であり、右目の画像30bの画素42bからのシフト量が9画素分であり、左目の画像30aからの方が、シフト量が少ない。
【0068】
そして、画像生成装置10のシステム制御部16は、基準点の画素45a、45b、45c以外の画素値を求める。画像生成装置10のシステム制御部16は、求めた画素値を、中間視差画像35a、35b、35cを生成するための記憶領域の対応する画素の箇所に記憶して行き、中間視差画像35a、35b、35cの画素を生成する。
【0069】
ここで、ステレオ画像の性質として、右画像と左画像はお互いに同じ画像が平行移動したものである。これは、基準点周りの画素において考えると、基準点は特徴点であるため、特徴点に隣り合う画素は左目の画像30a、右目の画像30bと共に近似的な関係であると考えられる。図12に示すように、左目の画像30aの基準点の画素42a(画素値”p”)に隣り合う画素43a(画素値”o”)について着目した時、右目の画像30bの基準点の画素42b(画素値”p’”)に隣り合う画素43b(画素値”o’”)は、画素43aに対して近似的な画素値となる。
【0070】
この関係を利用することにより、中間視差画像35a、35b、35cにおける基準点の画素の隣の画素については、画素値”o”、および、画素値”o’”のいずれか一方を利用することで、基準点周りの画素の画素値を補間することができる。画素値”o”、および、画素値”o’”のいずれか一方を利用するかは、左目の画像30a、右目の画像30bのどちらの特徴点シフト量が少ないかにより決定する。
【0071】
従って、画像生成装置10のシステム制御部16は、図12に示すように、中間視差画像35aの画素46aの画素値を、視差ベクトル53に従い、左目の画像30aの画素43aの画素値”o”から求める。そして、画像生成装置10のシステム制御部16は、中間視差画像35bの画素46bの画素値を、左目の画像30aの画素43aの画素値”o”から求め、中間視差画像35cの画素46cの画素値を、右目の画像30bの画素43bの画素値”o’”から求める。さらに図13に示すように、画像生成装置10のシステム制御部16は、画素46a、46b、46cの隣の画素においても適用することにより、ラインの画素を補間する。
【0072】
なお、図13に示すように、中間視差画像において、中間視差画像35aの画素47aの場合のように、画像端に注目すると、右目の画像30bには存在する画素でも、左目の画像30aには存在しない画素領域がある。この場合、右目の画像30bの画素44bの画素値”l’”を利用して、右目の画像30b側を起点とした視差ベクトル54に従い、中間視差画像35aの画素47aの画素値”l’”を求める。画像生成装置10のシステム制御部16は、中間視差画像35bの画素47b、および、中間視差画像35cの画素47cの画素値も同様に求める。このように、視差ベクトルに従って、距離が近い方の画像30a、30bの画素が無い場合、画像生成装置10のシステム制御部16は、シフト量が多い方の画像30b、30aの画素の画素値を用いて、中間視差画像の画素の画素値を求める。
【0073】
オクルージョンが存在する場合(ステップS21;YES)、画像生成装置10は、右目の画像にオクルージョンが存在するか否かを判定する(ステップS23)。具体的には、画像生成装置10のシステム制御部16は、右目の画像30bの特徴点間の距離が、左目の画像30aの特徴点間の距離より短い場合、右目の画像30bにオクルージョンが存在すると判定する。図9または図5Aに示すように、右目の画像30bの特徴点間の距離D1’が、左目の画像30aの特徴点間の距離D1より短いので、右目の画像30bにオクルージョンが存在すると判定する。なお、画像生成装置10のシステム制御部16は、所定画素分短い場合、短いと判定する。このように画像生成装置10のシステム制御部16は、第1画像の特徴点間距離と、これに対応する第2画像の特徴点間距離とに基づき、第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報手段の一例として機能する。
【0074】
右画像のオクルージョンの場合(ステップS23;YES)、画像生成装置10は、特徴点間の画素を左画像から取得し、特徴点間の右側から左方向(スキャン方向と逆方向)にレンダリングする(ステップS24)。具体的には、画像生成装置10のシステム制御部16は、図14に示すように、中間視差画像35aにおいて、特徴点(基準点)の画素45aと、画素65aの間の画素に関して、右側の画素65aから、スキャン方向と逆向きの左方向に画素45aまでレンダリングする。このとき、画像生成装置10のシステム制御部16は、視差ベクトル50より長さが短い視差ベクトル55(位置関係に従い長さを変えた視差ベクトル55)に従い、視点の移動による特徴点のシフト量が少ない方の画像を使用して、画素値を求め、レンダリングする。例えば、画像生成装置10のシステム制御部16は、左目の画像60aの画素値”10”を利用して、中間視差画像35aの第2ラインの画素65aの画素値、および、中間視差画像35bの第2ラインの画素65bの画素値を求め、レンダリングする。一方、画像生成装置10のシステム制御部16は、右目の画像30bの画素値”10”を利用して、中間視差画像35cの第2ラインの画素65cの画素値を求め、レンダリングする。
【0075】
そして、左方向(スキャン方向)に移動して、画像生成装置10のシステム制御部16は、左目の画像60aの画素値”10”を利用して、中間視差画像35aの第2ラインの画素66aの画素値、および、中間視差画像35bの第2ラインの画素66bの画素値を求め、右目の画像30bの画素値”10”を利用して、中間視差画像35cの第2ラインの画素66cの画素値を求め、レンダリングする。画像生成装置10のシステム制御部16は、求めた画素値を、中間視差画像35a、35b、35cを生成するための記憶領域の対応する画素の箇所に記憶して行き、中間視差画像35a、35b、35cの画素を生成する。なお、画素値”10”のような数字は、画素値そのものではなく、便宜上の記号である。
【0076】
なお、長さを1/4で逆向きにした視差ベクトル55に従い、中間視差画像35cの第2ラインの画素67cに対応した右目の画像30bの画素は、特徴点の画素42bとなり、画素値を割り当てる対応する画素がない。従って、画像生成装置10のシステム制御部16は、図14に示すように、3/4の長さの視差ベクトル55に従い、左目の画像30aの画素の画素値”8”を利用して、画素67cの画素値を求め、レンダリングする。
【0077】
また、図15に示すように、画像生成装置10のシステム制御部16が、視差ベクトル55より長さが長い視差ベクトル50に従い、特徴点間の左側から右方向にレンダリングすると、中間視差画像35aの14番目の画素と画素65aとの間や、中間視差画像35bの13番目の画素と画素65bとの間に、画素値の不連続が起こり、不自然な画像になってしまう。図15に示すように、特徴点の画素42aを基準にしているため本来繋がりを持たなければならない特徴点の画素60a周辺の画素に対応する中間視差画像が、中間視差画像35aでは”7”から”10”、中間視差画像35aでは”5”から”10”といったように画素の繋がりが飛んでしまっている。それに対して、図14に示すような生成方法だと特徴点の画素60aに対応する基準点の画素65a、65b、65cの周りの繋がりが途切れることなく生成されることになる。
【0078】
次に、右画像のオクルージョンで無い場合(ステップS23;NO)、画像生成装置10は、特徴点間の画素を右画像から取得し、特徴点間の左側から右方向にレンダリングする(ステップS25)。具体的には、画像生成装置10のシステム制御部16は、ステップS24に似たような手順により、長さが短い方の視差ベクトルに従い、特徴点間の左側から右方向に画素値を求め、レンダリングをする。
【0079】
次に、ステップS22、S24、S25の後、画像生成装置10は、次の特徴点間の距離を選択できるか否かを判定する(ステップS26)。画像生成装置10のシステム制御部16は、図5Aに示すように、α-β間の距離D2およびα’-β’間の距離D2’を選択した後、β-γ間の距離およびβ’-γ’間の距離を選択できる場合は(ステップS26;YES)、ステップS20に戻る。最後の特徴点間の距離に関して処理が終わり、特徴点間の距離を選択でき無い場合は(ステップS26;NO)、画像生成装置10のシステム制御部16は、サブルーチンを終了する。
【0080】
以上、本実施形態によれば、複数の撮像手段により、第1位置から撮像された第1画像と、第2位置から撮像された第2画像との入力を受け付け、第1画像および第2画像の各画素の色相を求める色相変換を行い、色相変換された第1画像および第2画像から、第1画像および第2画像の特徴点を抽出し、第1画像と第2画像とにおいて対応する特徴点を求め、対応する特徴点の間の距離を有する視差ベクトルを算出し、第1画像および第2画像の各画像内において、同一画像内における特徴点の間の特徴点間距離を算出し、第1画像内の特徴点間距離と、これに対応する第2画像内の特徴点間距離とに基づき、第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求め、第1位置と第2位置との間に第3位置を設定し、第1位置および第2位置に対する第3位置の位置関係と、視差ベクトルと、オクルージョン情報とに従い、第1画像と第2画像とから、第3位置から撮像された場合の第3画像を生成する。これにより、特徴点間距離からオクルージョン情報を求め、オクルージョンに対応でき、特殊なカメラは使用せず、奥行き情報無しに、第3位置の位置関係と視差ベクトルとに従い、特徴点間の画像データを描画するので、低コストで、より少ない演算量で画像を生成することができる。
【0081】
また、右目の画像30bにオクルージョンがあった場合、左目の画像30bを使って、基準点の画素45a、65a間の領域のように、基準点の画素65aの右側から左方向へレンダリングし、左目の画像にオクルージョンがあった場合、右目の画像を使って、基準点間の領域の左側から右方向へレンダリングすることにより、ある被写体が他の被写体に隠れ、一方の撮像装置から撮像できない部分を、補完的に描画できる。
【0082】
また、本実施形態において使用する撮像装置20a、20bは、通常のスチルカメラまたビデオカメラであるので、本実施形態は実現しやすい手法である。
【0083】
また、色相の変化に応じて特徴点を抽出する場合、色相により特徴点を求めているので、輝度による影響が出ない。
【0084】
また、対応する特徴点間距離が異なり、オクルージョンが存在とするオクルージョン情報を求める場合、画像生成装置10のシステム制御部16は、容易にオクルージョンの存否を判定できる。
【0085】
また、複数の視差ベクトルを算出し、オクルージョン情報に応じて、第3画像を生成するための視差ベクトルを選択する場合、画像生成装置10のシステム制御部16は、一方のカメラから死角である画像データを、補完的に的確にレンダリングできる。
【0086】
また、色相を当該色相の値の範囲に応じてグループに分類し、当該グループに対するインデックスを色相の値とした色相の画像に変換する場合、HSV変換を用いて色相変換を施すことにより、色相によるグルーピング処理が行われ、色相のグループの境界が容易に抽出される。また、ラインごとに処理を行うため、画素マトリックスレベルでのクラスタリングが必要ないため、処理が容易である。画像生成装置10において、必要なメモリ、演算量といったシステム要件を下げることができ、またハード化しやすい。
【0087】
第1画像30aおよび第2画像30bの各画像のスキャン方向(x方向)は、第1位置(x=0)と第2位置(x=L)とを結ぶ方向である場合、スキャン方向と、視差ベクトル50の方向(撮像装置20aと、撮像装置20bとの設置方句)とが平行になり、視差ベクトル50、55が求めやすくなる。すなわち、画像生成装置10のシステム制御部16は、対応する特徴点の間の距離(視差ベクトルの長さ)を求めるだけで、視差ベクトル50を求めることができる。
【0088】
画像生成装置10のシステム制御部16が、第3画像(各中間視差画像35a、35b、35c)における対応する特徴点の位置を、第3位置の位置関係に対応する比率と視差ベクトルとから決定する場合、中間視差画像35a、35b、35cを描画する基準となる基準点を容易に決めやすくなる。
【0089】
画像生成装置10のシステム制御部16が、視差ベクトル50、55に従い、第1位置および第2位置のうち第3位置に近い方の位置の第1画像30aまたは第2画像30bの画素から第3画像を生成する場合、中間視差画像に位置的に近い方の画像の画素を利用して描画を行うため、より自然な画像を生成できる。
【0090】
画像生成装置10のシステム制御部16が、視差ベクトル50に従った画素が無い場合、前記第1位置および第2位置のうち前記第3位置から遠い方の位置の第1画像または第2画像の画素の情報を用いて第3画像を生成する場合、一方の撮像装置では、画像の端となり、写らない所の画像も生成できる。
【0091】
画像生成装置10のシステム制御部16が、複数の第3位置を設定し、複数の第3画像(中間視差画像35a、35b、35c)を生成する場合、容易に多眼的に複数の中間視差画像35a、35b、35cを生成できる。
【0092】
なお、画像30aと画像30bが同一の解像度で無い場合、画像生成装置10のシステム制御部16は、画像30aと画像30bとの解像度を合わせから、ステップS1からの処理を行ってもよい。
【0093】
特徴点を求める際の方向は、スキャン方向のx方向に限らず、y方向でも構わない。
【0094】
また、撮像装置20aおよび撮像装置20bが、水平方向(x方向)以外に設置されていてもよい。例えば、上下方向(y方向)に設置されている場合、スキャン方向はy方向が好ましい。
【0095】
また、画像生成装置10のシステム制御部16が、特徴点を求める際、色相変換された画像に対して、微分マスクを使い、エッジを求めてもよい。
【0096】
また、画像生成装置10のシステム制御部16は、SSD(Sum of Squared Difference)、SAD(Sum of Absolute Difference)等のマッチング手法により、特徴点同士の一致の度合いを評価し、対応する特徴点を求めてもよい。例えば、画像生成装置10のシステム制御部16は、第1画像30aおよび第2画像30bのライン方向における画素の色のマッチングを行う。また、画像生成装置10のシステム制御部16が、第1画像30aの特徴点を含む画像領域とマッチングする第2画像30bの画像領域を求め、対応する特徴点を求めてもよい。色相変換前の元画像についてパターンマッチングを行ってもよい。
【0097】
さらに、本発明は、上記各実施形態に限定されるものではない。上記各実施形態は、例示であり、本発明の特許請求の範囲に記載された技術的思想と実質的に同一な構成を有し、同様な作用効果を奏するものは、いかなるものであっても本発明の技術的範囲に包含される。
【符号の説明】
【0098】
1:画像生成システム
10:画像生成装置
20(20a、20b):撮像装置(撮像手段)
30(30a、30b):画像(第1画像、第2画像)
35(35a、35b、35c):中間視差画像(第3画像)
40a、40b、41a、41b、42a、42b、45a、45b、45c:特徴点の画素(特徴点)
50、55:視差ベクトル
【特許請求の範囲】
【請求項1】
複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付ける画像入力手段と、
前記第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換手段と、
前記色相変換された前記第1画像および第2画像から、前記第1画像および第2画像の特徴点を抽出する特徴点抽出手段と、
前記第1画像と第2画像とにおいて対応する特徴点を求める対応点探索手段と、
前記対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出手段と、
前記第1画像および第2画像の各画像内において、同一画像内における前記特徴点の間の特徴点間距離を算出する特徴点間距離算出手段と、
前記第1画像内の特徴点間距離と、これに対応する前記第2画像内の特徴点間距離とに基づき、前記第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報手段と、
前記第1位置と第2位置との間に第3位置を設定する位置設定手段と、
前記第1位置および第2位置に対する前記第3位置の位置関係と、前記視差ベクトルと、前記オクルージョン情報とに従い、前記第1画像と第2画像とから、前記第3位置から撮像された場合の第3画像を生成する画像生成手段と、
を備えたことを特徴とする画像生成装置。
【請求項2】
請求項1に記載の画像生成装置において、
前記オクルージョン情報手段が、前記対応する特徴点間距離が異なる場合、オクルージョンが存在とするオクルージョン情報を求めることを特徴とする画像生成装置。
【請求項3】
請求項1または請求項2に記載の画像生成装置において、
前記視差ベクトル算出手段が、複数の視差ベクトルを算出し、
前記画像生成手段が、前記オクルージョン情報に応じて、前記第3画像を生成するための視差ベクトルを選択することを特徴とする画像生成装置。
【請求項4】
請求項1から3のいずれか1項に記載の画像生成装置において、
前記特徴点抽出手段は、前記色相の変化が生じた箇所を前記特徴点として抽出することを特徴とする画像生成装置。
【請求項5】
請求項1から4のいずれか1項に記載の画像生成装置において、
前記色相変換手段が、前記色相を当該色相の値の範囲に応じてグループに分類し、前記グループに対するインデックスを色相の値とした前記色相の画像に変換することを特徴とする画像生成装置。
【請求項6】
請求項1から5のいずれか1項に記載の画像生成装置において、
前記第1画像および第2画像の各画像のスキャン方向は、前記第1位置と第2位置とを結ぶ方向であることを特徴とする画像生成装置。
【請求項7】
請求項1から6のいずれか1項に記載の画像生成装置において、
前記画像生成手段が、前記第3画像における前記対応する特徴点の位置を、前記第3位置の位置関係に対応する比率と前記視差ベクトルとから決定することを特徴とする画像生成装置。
【請求項8】
請求項1から7のいずれか1項に記載の画像生成装置において、
前記画像生成手段が、前記視差ベクトルに従い、前記第1位置および第2位置のうち前記第3位置に近い方の位置の前記第1画像または第2画像の画素の情報を用いて第3画像を生成することを特徴とする画像生成装置。
【請求項9】
請求項8に記載の画像生成装置において、
前記画像生成手段が、前記視差ベクトルに従った画素が無い場合、前記第1位置および第2位置のうち前記第3位置から遠い方の位置の前記第1画像または第2画像の画素の情報を用いて第3画像を生成することを特徴とする画像生成装置。
【請求項10】
請求項1から9のいずれか1項に記載の画像生成装置において、
前記位置設定手段が、複数の第3位置を設定し、
前記画像生成手段が、複数の第3画像を生成することを特徴とする画像生成装置。
【請求項11】
画像生成装置が、画像を生成する画像生成方法であって、
複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付ける画像入力ステップと、
前記第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換ステップと、
前記色相変換された前記第1画像および第2画像から、前記第1画像および第2画像の特徴点を抽出する特徴点抽出ステップと、
前記第1画像と第2画像とにおいて対応する特徴点を求める対応点探索ステップと、
前記対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出ステップと、
前記第1画像および第2画像の各画像において、同一画像内における前記特徴点の間の特徴点間距離を算出する特徴点間距離算出ステップと、
前記第1画像の特徴点間距離と、これに対応する前記第2画像の特徴点間距離とに基づき、前記第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報ステップと、
前記第1位置と第2位置との間に第3位置を設定する位置設定ステップと、
前記第1位置および第2位置に対する前記第3位置の位置関係と、前記視差ベクトルと、前記オクルージョン情報とに従い、前記第1画像と第2画像とから、前記第3位置から撮像された場合の第3画像を生成する画像生成ステップと、
を有することを特徴とする画像生成方法。
【請求項12】
コンピュータを、
複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付ける画像入力手段、
前記第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換手段、
前記色相変換された前記第1画像および第2画像から、前記第1画像および第2画像の特徴点を抽出する特徴点抽出手段、
前記第1画像と第2画像とにおいて対応する特徴点を求める対応点探索手段、
前記対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出手段、
前記第1画像および第2画像の各画像内において、同一画像内における前記特徴点の間の特徴点間距離を算出する特徴点間距離算出手段、
前記第1画像内の特徴点間距離と、これに対応する前記第2画像内の特徴点間距離とに基づき、前記第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報手段、
前記第1位置と第2位置との間に第3位置を設定する位置設定手段、および、
前記第1位置および第2位置に対する前記第3位置の位置関係と、前記視差ベクトルと、前記オクルージョン情報とに従い、前記第1画像と第2画像とから、前記第3位置から撮像された場合の第3画像を生成する画像生成手段として機能させる画像生成装置用プログラム。
【請求項1】
複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付ける画像入力手段と、
前記第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換手段と、
前記色相変換された前記第1画像および第2画像から、前記第1画像および第2画像の特徴点を抽出する特徴点抽出手段と、
前記第1画像と第2画像とにおいて対応する特徴点を求める対応点探索手段と、
前記対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出手段と、
前記第1画像および第2画像の各画像内において、同一画像内における前記特徴点の間の特徴点間距離を算出する特徴点間距離算出手段と、
前記第1画像内の特徴点間距離と、これに対応する前記第2画像内の特徴点間距離とに基づき、前記第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報手段と、
前記第1位置と第2位置との間に第3位置を設定する位置設定手段と、
前記第1位置および第2位置に対する前記第3位置の位置関係と、前記視差ベクトルと、前記オクルージョン情報とに従い、前記第1画像と第2画像とから、前記第3位置から撮像された場合の第3画像を生成する画像生成手段と、
を備えたことを特徴とする画像生成装置。
【請求項2】
請求項1に記載の画像生成装置において、
前記オクルージョン情報手段が、前記対応する特徴点間距離が異なる場合、オクルージョンが存在とするオクルージョン情報を求めることを特徴とする画像生成装置。
【請求項3】
請求項1または請求項2に記載の画像生成装置において、
前記視差ベクトル算出手段が、複数の視差ベクトルを算出し、
前記画像生成手段が、前記オクルージョン情報に応じて、前記第3画像を生成するための視差ベクトルを選択することを特徴とする画像生成装置。
【請求項4】
請求項1から3のいずれか1項に記載の画像生成装置において、
前記特徴点抽出手段は、前記色相の変化が生じた箇所を前記特徴点として抽出することを特徴とする画像生成装置。
【請求項5】
請求項1から4のいずれか1項に記載の画像生成装置において、
前記色相変換手段が、前記色相を当該色相の値の範囲に応じてグループに分類し、前記グループに対するインデックスを色相の値とした前記色相の画像に変換することを特徴とする画像生成装置。
【請求項6】
請求項1から5のいずれか1項に記載の画像生成装置において、
前記第1画像および第2画像の各画像のスキャン方向は、前記第1位置と第2位置とを結ぶ方向であることを特徴とする画像生成装置。
【請求項7】
請求項1から6のいずれか1項に記載の画像生成装置において、
前記画像生成手段が、前記第3画像における前記対応する特徴点の位置を、前記第3位置の位置関係に対応する比率と前記視差ベクトルとから決定することを特徴とする画像生成装置。
【請求項8】
請求項1から7のいずれか1項に記載の画像生成装置において、
前記画像生成手段が、前記視差ベクトルに従い、前記第1位置および第2位置のうち前記第3位置に近い方の位置の前記第1画像または第2画像の画素の情報を用いて第3画像を生成することを特徴とする画像生成装置。
【請求項9】
請求項8に記載の画像生成装置において、
前記画像生成手段が、前記視差ベクトルに従った画素が無い場合、前記第1位置および第2位置のうち前記第3位置から遠い方の位置の前記第1画像または第2画像の画素の情報を用いて第3画像を生成することを特徴とする画像生成装置。
【請求項10】
請求項1から9のいずれか1項に記載の画像生成装置において、
前記位置設定手段が、複数の第3位置を設定し、
前記画像生成手段が、複数の第3画像を生成することを特徴とする画像生成装置。
【請求項11】
画像生成装置が、画像を生成する画像生成方法であって、
複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付ける画像入力ステップと、
前記第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換ステップと、
前記色相変換された前記第1画像および第2画像から、前記第1画像および第2画像の特徴点を抽出する特徴点抽出ステップと、
前記第1画像と第2画像とにおいて対応する特徴点を求める対応点探索ステップと、
前記対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出ステップと、
前記第1画像および第2画像の各画像において、同一画像内における前記特徴点の間の特徴点間距離を算出する特徴点間距離算出ステップと、
前記第1画像の特徴点間距離と、これに対応する前記第2画像の特徴点間距離とに基づき、前記第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報ステップと、
前記第1位置と第2位置との間に第3位置を設定する位置設定ステップと、
前記第1位置および第2位置に対する前記第3位置の位置関係と、前記視差ベクトルと、前記オクルージョン情報とに従い、前記第1画像と第2画像とから、前記第3位置から撮像された場合の第3画像を生成する画像生成ステップと、
を有することを特徴とする画像生成方法。
【請求項12】
コンピュータを、
複数の撮像手段により第1位置から撮像された第1画像と第2位置から撮像された第2画像との入力を受け付ける画像入力手段、
前記第1画像および第2画像の各画素の色相を求める色相変換を行う色相変換手段、
前記色相変換された前記第1画像および第2画像から、前記第1画像および第2画像の特徴点を抽出する特徴点抽出手段、
前記第1画像と第2画像とにおいて対応する特徴点を求める対応点探索手段、
前記対応する特徴点の間の距離を有する視差ベクトルを算出する視差ベクトル算出手段、
前記第1画像および第2画像の各画像内において、同一画像内における前記特徴点の間の特徴点間距離を算出する特徴点間距離算出手段、
前記第1画像内の特徴点間距離と、これに対応する前記第2画像内の特徴点間距離とに基づき、前記第1位置および第2位置いずれか一方から見えない領域に関するオクルージョン情報を求めるオクルージョン情報手段、
前記第1位置と第2位置との間に第3位置を設定する位置設定手段、および、
前記第1位置および第2位置に対する前記第3位置の位置関係と、前記視差ベクトルと、前記オクルージョン情報とに従い、前記第1画像と第2画像とから、前記第3位置から撮像された場合の第3画像を生成する画像生成手段として機能させる画像生成装置用プログラム。
【図1】
【図2】
【図3】
【図4】
【図5A】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図5B】
【図6】
【図7】
【図8】
【図2】
【図3】
【図4】
【図5A】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図5B】
【図6】
【図7】
【図8】
【公開番号】特開2013−77882(P2013−77882A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−215078(P2011−215078)
【出願日】平成23年9月29日(2011.9.29)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願日】平成23年9月29日(2011.9.29)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
[ Back to top ]