JP2017112419A - 最適奥行き決定装置、最適奥行き決定方法及びコンピュータプログラム - Google Patents

最適奥行き決定装置、最適奥行き決定方法及びコンピュータプログラム Download PDF

Info

Publication number
JP2017112419A
JP2017112419A JP2015243240A JP2015243240A JP2017112419A JP 2017112419 A JP2017112419 A JP 2017112419A JP 2015243240 A JP2015243240 A JP 2015243240A JP 2015243240 A JP2015243240 A JP 2015243240A JP 2017112419 A JP2017112419 A JP 2017112419A
Authority
JP
Japan
Prior art keywords
depth
image
camera
contrast
optimum
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.)
Granted
Application number
JP2015243240A
Other languages
English (en)
Other versions
JP6392742B2 (ja
Inventor
康輔 高橋
Kosuke Takahashi
康輔 高橋
弾 三上
Dan Mikami
弾 三上
麻理子 五十川
Mariko Isogawa
麻理子 五十川
明 小島
Akira Kojima
明 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015243240A priority Critical patent/JP6392742B2/ja
Publication of JP2017112419A publication Critical patent/JP2017112419A/ja
Application granted granted Critical
Publication of JP6392742B2 publication Critical patent/JP6392742B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】複数の撮影装置のそれぞれで撮影された画像の最適な奥行きを決定する。【解決手段】奥行き決定装置は、所定の位置を含む領域が撮影範囲となるように所定の位置を含む領域の周囲に設置された少なくとも2つの撮影装置70−1〜70−Mが撮影した複数の入力画像を用いて、所定の位置を仮想的な視点である仮想視点として仮想視点からの距離を表す複数の異なる奥行きの合成画像を生成し、生成した複数の合成画像それぞれからコントラストに基づいて複数の合成画像のうちコントラストが最も大きい合成画像の奥行きを各入力画像の最適奥行きに決定する。【選択図】図1

Description

本発明は、複数の撮影装置によって撮影された画像の処理技術に関する。
近年、360度のパノラマ画像を撮影できるカメラ(以下、「全天球カメラ」という。)が普及し始めている。全天球カメラによって撮影されたパノラマ画像(以下、「全天球画像」という。)は、所望の視点位置に全天球カメラを設置することで撮影することができる。しかしながら、競技中の競技者の邪魔となるためサッカーコートやバスケットコートなどの競技用コートの中には全天球カメラを設置することができない。そのため、競技用コートの中の所望の視点位置における競技中の全天球画像を撮影することができない。
そこで、全天球カメラを設置することのできない場所に仮想的な視点である仮想視点を設定して、この仮想視点において全天球カメラで撮影したかのような全天球画像を、コートの外側に設置された複数のカメラによって撮影された画像を合成することによって得る技術が提案されている(例えば、非特許文献1参照)。以下の説明において、仮想視点における全天球画像を、仮想全天球画像と記載する。
仮想全天球画像を複数のカメラによって撮影された画像の合成によって得るシステムの具体例について説明する。
図13は、従来システムにおいて仮想全天球画像を得るためのシステムを示す図である。図13に示すように、画像処理システム1は、全天球カメラ2と、複数のカメラ3−1、3−2、3−3、・・・、3−N(以下、「カメラ群3」という。)(Nは4以上の整数)と、画像処理装置4と、表示装置5とを備える。画像処理システム1は、競技用コート10内に仮想視点11を設定した場合に、競技用コート10外に設置したカメラ群3によって撮影された画像の合成によって仮想視点11における仮想全天球画像を得る。
全天球カメラ2は、全天球画像を撮影するカメラである。全天球カメラ2は、競技が行われる前のタイミングで競技用コート10内の仮想視点11の位置に設置される。全天球カメラ2は、仮想視点11の位置から、仮想全天球画像の背景となる画像(以下、「背景画像」という。)を撮影する。全天球カメラ2で撮影された背景画像は、画像処理装置4に入力されて蓄積される。このように、画像処理装置4は、予め背景画像を蓄積する。
競技用コート10の周囲には、カメラ群3が設置されている。カメラ群3の各カメラ3−1、3−2、3−3、・・・、3−Nは、それぞれ仮想視点11を含む画角となるように競技用コート10の周囲に設置されている。カメラ群3は、仮想視点11を含む領域を撮影する。画像処理装置4は、カメラ群3の各カメラ3−1、3−2、3−3、・・・、3−Nによって撮影された画像に対して画像処理を施して、背景画像に画像処理後の画像を合成して仮想全天球画像を生成する。表示装置5は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、CRT(Cathode Ray Tube)ディスプレイ等の画像表示装置である。表示装置5は、画像処理装置4で生成した仮想全天球画像を表示する。
次に、画像処理システム1における画像処理の具体例について図4を用いて説明する。
図14は、画像処理システム1における画像処理の流れを説明するための図である。図14(A)は、背景画像20の具体例を示す図である。背景画像20には、仮想視点11を中心として全方位(360度)の被写体が撮影されている。背景画像20は、競技用コート10内に人物がいない状態で撮影される画像であるので競技用コート10内には人物が撮影されない。
図14(B)は、各カメラ3−1、3−2及び3−3で撮影された画像を示す図である。図14(B)には、左からカメラ3−1で撮影された画像21と、カメラ3−2で撮影された画像22と、カメラ3−3で撮影された画像23とが示されている。画像処理装置4は、画像21〜23のそれぞれから仮想視点11を含む領域211、221、231を抽出する。画像処理装置4は、抽出した領域211、221、231の画像に対して、画像処理を行うことで背景画像20に合成可能な部分画像211a、221a、231aを生成する。
画像処理装置4は、背景画像20に対して部分画像211a、221a、231aを合成することによって仮想全天球画像24を生成する。図14(C)は、画像処理装置4が生成する仮想全天球画像24の例を示す図である。図14(C)に示すように、仮想全天球画像24の所定の領域には部分画像211a、221a、231aが合成されている。そのため、仮想全天球画像24として、競技用コート10上に被写体(例えば、人物)が撮影されている画像が生成される。従来の画像処理システム1は、合成に用いているカメラ群3の光学中心及び仮想視点11において想定する全天球カメラ2の光学中心がそれぞれ異なる。そのため、合成された仮想全天球画像24は幾何学的に正しくない画像を含む。これを防ぐためには、画像処理装置4は、部分画像211a、221a、231aを、仮想視点11からの距離を示す奥行きの一点で整合性が保たれるよう画像処理を行い背景画像20に合成する必要がある。
高橋康輔、外3名、「複数カメラ映像を用いた仮想全天球映像合成に関する検討」、社団法人電子情報通信学会、信学技報、2015年6月、vol.115、no.76、p.43-48
しかしながら、整合性が保たれる奥行きに存在せずに別の奥行に存在している被写体(例えば、人物)の部分画像を背景画像20に合成する場合には、画像処理により奥行きの整合性を保つことができない。このような奥行きに整合性のない被写体は、仮想全天球画像24において、その画像が多重像になってしまったり、消失したりする現象が発生する。このように、被写体の奥行きが不明な場合には、適切な合成が出来なくなってしまうという問題があった。なお、このような問題は、複数の撮影装置のそれぞれで撮影された画像を合成する場合全てに共通する問題である。
上記事情に鑑み、本発明は、複数の撮影装置のそれぞれで撮影された画像の最適な奥行きを決定することができる技術の提供を目的としている。
本発明の一態様は、所定の位置を含む領域が撮影範囲となるように前記所定の位置を含む領域の周囲に設置された少なくとも2つの撮影装置それぞれが撮影した複数の入力画像を用いて、前記所定の位置を仮想的な視点である仮想視点として前記仮想視点からの距離を表す複数の異なる奥行きの合成画像を生成し、生成した複数の合成画像それぞれからコントラストを算出し、算出した前記コントラストに基づいて複数の合成画像のうちコントラストが最も大きい合成画像の奥行きを各入力画像の最適奥行きに決定する決定部を備える最適奥行き決定装置である。
本発明の一態様は、上記の最適奥行き決定装置であって、コントラストが最も大きい合成画像の奥行きと、前記コントラストが最も大きい合成画像の奥行きの近傍の奥行きとの間において所定数の奥行きを求め、前記コントラストが最も大きい合成画像の奥行きと、選択した所定数の奥行きとを含む新たな奥行き候補群の中からコントラストが最も大きい合成画像の奥行きを決定する処理を実行し、前記処理を所定の回数繰り返し行った時点におけるコントラストが最も大きい合成画像の奥行きを前記最適奥行きに決定する。
本発明の一態様は、上記の最適奥行き決定装置であって、前記決定部は、前記撮影装置によって撮影された各時刻における入力画像の最適奥行きを決定し、決定した前記各時刻における最適奥行きの値を暫定最適奥行きとして時系列順に並べ、前記各時刻の暫定最適奥行きの値を時間方向に平滑化することによって得られる各時刻の最適奥行きの推定値を前記撮影装置によって撮影された各時刻における入力画像の最適奥行きに決定する。
本発明の一態様は、上記の最適奥行き決定装置であって、前記決定部は、ある時刻において前記撮影装置それぞれで撮影された各入力画像の最適奥行きを、前記ある時刻よりも前の時刻における前記撮影装置の入力画像の最適奥行きに基づいて決定する。
本発明の一態様は、所定の位置を含む領域が撮影範囲となるように前記所定の位置を含む領域の周囲に設置された少なくとも2つの撮影装置それぞれが撮影した複数の入力画像を用いて、前記所定の位置を仮想的な視点である仮想視点として前記仮想視点からの距離を表す複数の異なる奥行きの合成画像を生成し、生成した複数の合成画像それぞれからコントラストを算出し、算出した前記コントラストに基づいて複数の合成画像のうちコントラストが最も大きい合成画像の奥行きを各入力画像の最適奥行きに決定する決定ステップを有する最適奥行き決定方法である。
本発明の一態様は、所定の位置を含む領域が撮影範囲となるように前記所定の位置を含む領域の周囲に設置された少なくとも2つの撮影装置それぞれが撮影した複数の入力画像を用いて、前記所定の位置を仮想的な視点である仮想視点として前記仮想視点からの距離を表す複数の異なる奥行きの合成画像を生成し、生成した複数の合成画像それぞれからコントラストを算出し、算出した前記コントラストに基づいて複数の合成画像のうちコントラストが最も大きい合成画像の奥行きを各入力画像の最適奥行きに決定する決定ステップをコンピュータに実行させるためのコンピュータプログラムである。
本発明により、複数の撮影装置のそれぞれで撮影された画像の最適な奥行きを決定することが可能となる。
本発明における画像処理システム100のシステム構成を示す図である。 合成情報テーブルの具体例を示す図である。 最適奥行き情報テーブルの具体例を示す図である。 コントラストの算出結果の具体例を示す図である。 画像処理装置80の処理の流れを示すフローチャートである。 第2実施形態における画像処理装置80aの機能構成を表す概略ブロック図である。 画像処理装置80aの処理の流れを示すフローチャートである。 第3実施形態における画像処理装置80bの機能構成を表す概略ブロック図である。 決定部803bの具体的な処理について説明するための図である。 画像処理装置80bの処理の流れを示すフローチャートである。 第4実施形態における画像処理装置80cの機能構成を表す概略ブロック図である。 画像処理装置80cの処理の流れを示すフローチャートである。 従来システムにおいて仮想全天球画像を得るためのシステムを示す図である。 画像処理システム1における画像処理の流れを説明するための図である。
以下、本発明の一実施形態を、図面を参照しながら説明する。
図1は、本発明における画像処理システム100のシステム構成を示す図である。
画像処理システム100は、全天球カメラ60、複数のカメラ70−1〜70−M(Mは2以上の整数)及び画像処理装置80を備える。なお、以下の説明では、カメラ70−1〜70−Mについて特に区別しない場合には、カメラ70と記載する。
全天球カメラ60は、撮影対象領域81内の仮想視点82の位置に設置される。撮影対象領域81は、例えばサッカーコートやバスケットコートなどの競技用コートなどである。仮想視点82は、所定の領域(本実施形態では、撮影対象領域81)内に仮想的に設定された視点である。全天球カメラ60は、仮想視点82の位置における全天球画像を撮影する。本実施形態における全天球画像は、仮想視点82を中心として撮影対象領域81全体を含む。全天球カメラ60による処理は、画像処理装置80による処理の開始前に行われる。全天球カメラ60は、撮影した全天球画像を背景画像として画像処理装置80に出力する。
M台のカメラ70−1、70−2、・・・、70−Mは、撮影対象領域81の外側に設けられ、画像を動画(映像)で撮影するカメラであり、仮想視点82を含む領域を撮影する。M台のカメラ70−1、70−2、・・・、70−Mのそれぞれで撮影された動画は、複数フレームの画像により構成される。図1に示すように、カメラ70−1には仮想視点82の位置上を通過する光線71が入力され、カメラ70−2には仮想視点82の位置上を通過する光線72が入力される。以下、カメラ70に入力される光線を実光線と記載する。図1では示していないが、カメラ70は撮影対象領域81の周囲に設置される。つまり、カメラ70は、それぞれ仮想視点82を含む画角となるように撮影対象領域81の周囲を取り囲むように設置される。図1においてMは、2以上の整数であり、同程度の画質の仮想全天球画像を得ようとするのであれば撮影対象領域81が大きいほど大きな値となる。また、撮影対象領域81の大きさが同じであれば、Mの値が大きい程、合成領域(仮想全天球画像において、M台のカメラ70からの画像を合成した領域)の面積が大きくなり、あるいは合成領域の大きさが同じであれば合成領域における画質が向上する仮想全天球画像の画質を高いものにしようとするほど大きな値となる。
画像処理装置80は、M台のカメラ70−1、70−2、・・・、70−Mのそれぞれで撮影されたそれぞれの動画から入力画像を事前に取得する。撮影されたそれぞれの動画は複数フレームの画像で構成されており、本実施形態における画像処理装置80は処理対象となるフレームの画像を入力画像として取得する。画像処理装置80は、全天球カメラ60によって撮影された全天球画像と、M台のカメラ70−1、70−2、・・・、70−Mのそれぞれで撮影された動画からそれぞれ取得された入力画像とに基づいて仮想全天球画像を生成する。具体的には、画像処理装置80は、入力画像から最適な奥行きを決定し、決定した奥行きに基づいて入力画像から領域を抽出し、抽出した領域を全天球画像に重畳することによって仮想全天球画像を生成する。
以下、画像処理装置80の具体的な構成について複数の実施形態(第1実施形態〜第4実施形態)を例に説明する。
(第1実施形態)
第1実施形態では、画像処理システム100に2台のカメラ70(カメラ70−1及び70−2)が隣接して備えられている場合を例に説明する。また、以下の説明では、隣接するカメラ70の組(例えば、カメラ70−1と70−2との組)をカメラペアと記載する。
画像処理装置80は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置80は、入力画像記憶部801、合成情報記憶部802、決定部803、最適奥行き記憶部804、背景画像記憶部805、画像合成部806を備える装置として機能する。なお、画像処理装置80の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
入力画像記憶部801は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。入力画像記憶部801は、各カメラ70を識別するためのカメラIDに関連付けて、カメラ70毎の入力画像を時系列順に記憶する。入力画像は、撮影時刻及び動画の画像データを含む。
合成情報記憶部802は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。合成情報記憶部802は、合成情報テーブルを記憶する。合成情報テーブルは、背景画像に対して画像を重畳するために用いられる情報(以下、「合成情報」という。)を表すレコード(以下、「合成情報レコード」という。)によって構成される。
図2は、合成情報テーブルの具体例を示す図である。
合成情報テーブルは、合成情報レコードを複数有する。合成情報レコードは、カメラID及び合成情報の各値を有する。カメラIDの値は、カメラ70を識別するための識別情報を表す。例えば、図2におけるカメラID“C”で識別されるカメラ70はカメラ70−1であり、カメラID“C”で識別されるカメラ70はカメラ70−1である。
合成情報の値は、同じ合成情報レコードのカメラIDで識別されるカメラ70で撮影された画像(入力画像)から生成される画像を背景画像に重畳するために用いられる情報を表す。合成情報の具体例として、奥行き、抽出領域情報及び変換情報がある。
ある合成情報レコードの奥行きの値は、カメラIDで識別されるカメラ70の仮想視点82からの距離を表す。図2に示す例では、合成情報テーブルには、カメラID毎にN段階の奥行きが登録されている。なお、Nは2以上の整数である。奥行き1〜奥行きNは、仮想視点82から撮影対象領域81の端までの間で設定される。設定される奥行きの数は、最適奥行きの決定精度がある程度保障される数であることが好ましい。
ある合成情報レコードの抽出領域情報の値は、カメラIDで識別されるカメラ70で撮影された画像(入力画像)から抽出する領域(以下、「抽出領域」という。)に関する情報を表す。抽出領域情報の具体例として、左上座標、幅及び高さがある。左上座標は、抽出領域の左上の座標を表す。幅は、抽出領域の幅を表す。高さは、抽出領域の高さを表す。なお、幅及び高さは、抽出領域の左上座標を基準とし、かつ、仮想視点82を含む範囲に設定される。抽出領域は、背景画像に重畳された画像上において、隣接するカメラ70の画像の間に隙間ができないような領域に設定されることが望ましい。なお、以下の説明では、抽出領域情報に応じて入力画像から抽出された部分領域の画像を部分領域画像と記載する。
ある合成情報レコードの変換情報の値は、抽出領域情報に応じて抽出された部分領域画像を部分画像に変換するための情報を表す。部分画像は、部分領域画像を背景画像の対応領域に違和感なく重畳するために、部分領域画像に対して変換情報に応じて拡大、縮小、回転等の変形処理を行うことによって生成される。この変形処理は、例えば、画像に対してアフィン変換を施すことによって行う。画像に対してアフィン変換を施す場合の変換情報は、例えばアフィン変換行列である。以下、部分領域画像に対して行う変形処理としてアフィン変換を用いる例を示すが、変形処理はアフィン変換に限定される必要はなく、変換情報に応じて拡大、縮小、回転等による画像の変換を行う処理であればどのような処理であってもよい。なお、アフィン変換行列には、背景画像において部分画像を重畳する領域を示す情報(以下、「重畳情報」という。)が含まれる。
アフィン変換行列は、以下に示す方法により予め取得して合成情報記憶部802に記憶される。例えば、仮想視点82から複数種類の距離(奥行)(図2の例では、奥行き1〜奥行きN)の位置それぞれに格子模様のチェスボードを設置して、仮想視点82に設置した全天球カメラ60で撮影したチェスボードを含む画像と、カメラ70で撮影したチェスボードを含む画像とを比較する。そして、チェスボードの各格子について、全天球カメラ60で撮影した画像中のチェスボードの格子と、カメラ70で撮影した画像中のチェスボードの格子が対応するように画像を変換するアフィン変換行列を求める。このようにして、チェスボードを設置した奥行き1〜奥行きNそれぞれに対応したアフィン変換行列を求める。
図2に示されるように、合成情報テーブルには、カメラID毎にN段階の奥行きが登録され、各奥行き1〜Nそれぞれに対して変換情報が登録されている。図2において、合成情報テーブルの最上段に登録されている合成情報レコードは、カメラIDの値が“C”、奥行きの値が“奥行き1”、左上座標の値が“(A,B)”、幅の値が“C”、高さの値が“D”、変換情報の値が“A1j1”である(jは1以上の整数)。すなわち、カメラID“C”で識別されるカメラ70−1において奥行き1の場合には、入力画像から左上座標(A,B)、幅C、高さDで表される部分領域を抽出し、抽出された部分領域に対して“A1j1”の変形処理を施すことが表されている。
図1に戻って、画像処理装置80の説明を続ける。
決定部803は、入力画像記憶部801に記憶されているカメラペアの入力画像と、合成情報記憶部802に記憶されている合成情報テーブルとを入力とする。決定部803は、入力されたカメラペアの入力画像と合成情報テーブルとに基づいて、各カメラ70の各入力画像の最適奥行きを決定する。ここで、最適奥行きとは、入力画像に撮像されている被写体に関して多重像や消失が他の奥行きに比べて視認しにくい奥行きを表す。
次に、決定部803の具体的な処理について説明する。
まず決定部803は、合成情報テーブルの1つの奥行き(例えば、奥行き1)に対する抽出領域情報に基づいて、入力画像それぞれから部分領域を抽出することによって各入力画像の部分領域画像を生成する。次に、決定部803は、生成した各入力画像の部分領域画像に対して、合成情報テーブルの1つの奥行き(例えば、奥行き1)に対する変換情報のアフィン変換行列に基づく変形処理を行うことによって各入力画像の部分画像を生成する。次に、決定部803は、生成した各入力画像の部分画像を用いて、各入力画像の最適な奥行きを決定するための合成画像(以下、「奥行き決定用合成画像」という。)を生成する。例えば、決定部803は、変換情報に含まれる重畳情報に基づいて奥行き決定用合成画像を生成する。決定部803は、生成した奥行き決定用合成画像の重複領域に対するコントラストを算出する。本実施形態では、コントラストを輝度差で求める場合を例に説明する。なお、コントラストを輝度差で求める場合には後述する式1が用いられる。決定部803は、上記の処理を全ての奥行き1〜Nに対して行う。そして、決定部803は、全ての奥行き1〜Nにおいて算出したコントラストの中でコントラストが最も大きい奥行き決定用合成画像の奥行きをカメラペアの各入力画像の最適奥行きに決定する。決定部803は、決定したカメラペアの各入力画像の最適奥行きから各カメラ70の各入力画像の最適奥行きを決定する。なお、決定部803は、本実施形態のようにカメラペアが1つの場合には、カメラペアの各入力画像の最適奥行きを各カメラ70の各入力画像の最適奥行きに決定してもよい。カメラペアが複数ある場合の説明は後述する。決定部803は、決定した各カメラ70の各入力画像の最適奥行き情報を最適奥行き記憶部804に記憶させる。決定部803は、以上の処理を各時刻におけるカメラペアの入力画像に対して行う。
最適奥行き記憶部804は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。最適奥行き記憶部804は、最適奥行き情報テーブルを記憶する。最適奥行き情報テーブルは、各カメラ70の各入力画像の最適奥行きに関する情報を表すレコード(以下、「最適奥行き情報レコード」という。)によって構成される。
図3は、最適奥行き情報テーブルの具体例を示す図である。
最適奥行き情報テーブルは、最適奥行き情報レコードを複数有する。最適奥行き情報レコードは、時刻及び最適奥行きの各値を有する。時刻の値は、入力画像が撮影された時刻を表す。ある最適奥行き情報レコードの最適奥行きの値は、ある時刻に撮影された各カメラ70の入力画像の最適奥行きを表す。
図3に示される例では、最適奥行き情報テーブルには各時刻における最適奥行きの情報が登録されている。図3において、最適奥行き情報テーブルの最上段に登録されている最適奥行き情報レコードは、時刻の値が“t”、カメラ70−1の入力画像の最適奥行きの値が“d1(t)”、カメラ70−2の入力画像の最適奥行きの値が“d2(t)”である。すなわち、時刻tにカメラ70−1及び70−2によって撮影された画像(入力画像)それぞれの最適奥行きが“d1(t)”、“d2(t)”であることが表されている。
背景画像記憶部805は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。背景画像記憶部805は、全天球カメラ60によって撮影された全天球画像を背景画像として記憶する。
画像合成部806は、入力画像記憶部801に記憶されている各カメラ70の入力画像と、合成情報記憶部802に記憶されている合成情報テーブルと、最適奥行き記憶部804に記憶されている最適奥行き情報テーブルと、背景画像記憶部805に記憶されている背景画像とを入力とする。画像合成部806は、入力された各カメラ70の入力画像と、合成情報テーブルと、最適奥行き情報テーブルと、背景画像とに基づいて仮想全天球画像を生成する。具体的には、画像合成部806は、最適奥行き情報テーブルを参照して、ある時刻(例えば、時刻t)におけるあるカメラ70(例えば、カメラ70−1)の入力画像の最適な奥行きの情報を取得する。画像合成部806は、取得したカメラ70の入力画像の最適な奥行きに基づいて、合成情報テーブルからあるカメラ70(例えば、カメラ70−1)の最適な奥行きに対応する抽出領域情報を取得する。画像合成部806は、取得した抽出領域情報に基づいて、入力画像から部分領域を抽出することによって部分領域画像を生成する。
画像合成部806は、合成情報テーブルからあるカメラ70(例えば、カメラ70−1)の最適な奥行きに対応する変換情報を取得する。画像合成部806は、生成した部分領域画像に対して、取得した変換情報のアフィン変換行列に基づく変形処理を行うことによって入力画像の部分画像を生成する。画像合成部806は、部分画像生成までの処理をある時刻における各カメラ70の入力画像に対して行う。その後、画像合成部806は、アフィン変換行列に含まれる重畳情報に基づいて、生成した部分画像を背景画像に重畳することで仮想全天球画像を生成する。より具体的には、画像合成部806は、部分画像の画素値で、背景画像上の部分画像を重畳する領域の画素値を置き換えることによって仮想全天球画像を生成する。画像合成部806は、仮想全天球画像生成の処理を各時刻の入力画像に対して行うことによって各時刻における仮想全天球画像を生成する。画像合成部806は、生成した仮想全天球画像を出力する。
以下の説明では、画像合成部806による上記の全ての処理を画像合成処理ステップと記載する。
図4は、コントラストの算出結果の具体例を示す図である。
図4において、縦軸はコントラストを表し、横軸は奥行きを表す。奥行きの値が0に近いほど仮想視点82からの距離が近い奥行きを表し、奥行きの値が高くなるほど仮想視点82からの距離が遠い奥行きを表す。図4では、円90で示される奥行きdのコントラストが最も大きい。この場合、決定部803は、奥行きdをカメラペアの各入力画像の最適奥行きに決定する。
図5は、画像処理装置80の処理の流れを示すフローチャートである。
決定部803は、カメラペアの同時刻における入力画像を入力画像記憶部801から読み出す(ステップS101)。次に、決定部803は、読み出した入力画像と、合成情報記憶部802に記憶されている合成情報テーブルとに基づいて、1つの奥行きに対する変換情報を用いて奥行き決定用合成画像を生成する(ステップS102)。1つの奥行きの選択方法は、処理が行なわれていない奥行きを選択できればどのような補法であってもよい。例えば、決定部803は、仮想視点82に近い奥行から順番に奥行きを選択してもよいし、ランダムに奥行きを選択してもよいし、その他の方法で奥行きを選択してもよい。次に、決定部803は、生成した奥行き決定用合成画像の重複領域のコントラストを以下の式1に基づいて算出する(ステップS103)。なお、式1はコントラストの求め方の一例である。また、式1のLminは画像中の重複領域の最小輝度値を表し、Lmaxは画像中の重複領域の最大輝度値を表す。
Figure 2017112419
その後、決定部803は、全ての奥行きに対してコントラストを算出する処理を行ったか否か判定する(ステップS104)。全ての奥行きに対してコントラストを算出する処理を行っていない場合(ステップS104−NO)、決定部803はステップS102以降の処理を繰り返し実行する。
一方、全ての奥行きに対してコントラストを算出する処理を行った場合(ステップS104−YES)、決定部803は算出した全ての奥行き対するコントラストに基づいてカメラペアの各入力画像の最適奥行きを決定する(ステップS105)。
なお、以下の説明では、図5のステップS102からステップS105までの処理をカメラペア奥行き決定処理と記載する。
以上のように構成された画像処理装置80によれば、複数の撮影装置のそれぞれで撮影された画像の最適な奥行きを決定することが可能になる。以下、この効果について詳細に説明する。
画像処理装置80は、カメラペアの入力画像を用いて全ての奥行きに対する奥行き決定用合成画像を生成する。次に、画像処理装置80は、生成した全ての奥行きに対する奥行き決定用合成画像それぞれからコントラストを算出し、算出したコントラストが最も大きい奥行き決定用合成画像を選択する。コントラストが低い場合には画像がぼやけている可能性が高い。つまり、合成による多重像や消失が発生している画像である可能性が高い。したがって、画像処理装置80は、コントラストが最も大きい奥行き決定用合成画像を選択することによって、多重像や消失が発生していない可能性の高い画像を選択することができる。そのため、複数の撮影装置のそれぞれで撮影された画像の最適な奥行きを決定することが可能になる。
<変形例>
画像処理装置80における入力画像記憶部801、合成情報記憶部802、決定部803及び最適奥行き記憶部804は、最適奥行き決定装置として構成されてもよい。
本実施形態では、カメラペアが1つの場合について説明したが、カメラペアが複数ある場合には各カメラ70には2つの最適奥行きが存在することになる。例えば、あるカメラC(iは2以上の整数)に関しては(Ci−1,C)のペアと(C,Ci+1)のペアがあり、それぞれのカメラペアに関して最適奥行きが決定される。そこで、決定部803は、カメラペアが複数ある場合にはそれぞれのペア(例えば、(Ci−1,C)のペアと(C,Ci+1)のペア)で決定された最適奥行きに基づいてカメラCの最適奥行きを決定する。この方法としては、2つの最適奥行きのうち仮想視点82に近い奥行をカメラCの最適奥行きと決定する方法などがある。決定部803は、この処理を全てのカメラペアに対して行うことによってカメラペアが複数ある場合においても各カメラ70の各入力画像の最適奥行きを決定することができる。そして、決定部803は、決定した各カメラ70の各入力画像の最適奥行きの情報を最適奥行き記憶部804に記憶させる。その後、画像合成部806は、画像合成処理ステップを実行してもよいし、合成画像の生成指示が入力されたタイミングで画像合成処理ステップを実行してもよいし、その他のタイミングで画像合成処理ステップを実行してもよい。
また、カメラペアを選ぶ際に、(Ci−1,C)のペアと(Ci+1,Ci+2)のペアとするなど1台のカメラ70には2つの最適奥行きが存在しないようにする方法をとってもよい。
(第2実施形態)
第2実施形態では、第1実施形態よりも処理の高速化を実現する。具体的には、第1実施形態ではN個の奥行き全てに対してコントラストを算出する処理が行なわれているのに対して、第2実施形態では、画像処理装置は、第1実施形態よりも少ない奥行きに基づいてカメラペアの各入力画像の最適奥行きを決定する。より具体的には、第2実施形態では、画像処理装置は、処理を繰り返す度に奥行き候補群に含まれる各奥行きの間隔が狭くなるように新たな奥行き候補群を作成し、所定の回数繰り返した時点の最終的な奥行き候補群に含まれる奥行きの中から最適な奥行きを決定する。また、第2実施形態では、第1実施形態と同様に、画像処理システム100に2台のカメラ70(カメラ70−1及び70−2)がカメラペアとして備えられている場合を例に説明する。
図6は、第2実施形態における画像処理装置80aの機能構成を表す概略ブロック図である。画像処理装置80aは、バスで接続されたCPUやメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置80aは、入力画像記憶部801、合成情報記憶部802、決定部803a、最適奥行き記憶部804、背景画像記憶部805、画像合成部806を備える装置として機能する。なお、画像処理装置80aの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
画像処理装置80aは、決定部803に代えて決定部803aを備える点で画像処理装置80と構成が異なる。画像処理装置80aは、他の構成については画像処理装置80と同様である。そのため、画像処理装置80a全体の説明は省略し、決定部803aについて説明する。
決定部803aは、入力画像記憶部801に記憶されているカメラペアの入力画像と、合成情報記憶部802に記憶されている合成情報テーブルとを入力とする。決定部803aは、入力されたカメラペアの入力画像と合成情報テーブルとに基づいて、各カメラ70の各入力画像の最適奥行きを決定する。
次に、決定部803aの具体的な処理について説明する。
まず決定部803aは、N個の奥行きのうち特定の奥行き(例えば、S個の奥行き)を選択する。ここで、特定の奥行きの選択方法としては、等間隔(N/S個置き)に奥行きを選択する方法などが挙げられる。以下、このようなN個の奥行きのうち特定の奥行きを選択する処理を初期処理と記載する。初期処理で選択された奥行きを初期奥行き候補群と記載する。次に、決定部803aは、合成情報テーブルを参照して、初期奥行き候補群に含まれる奥行きそれぞれについて奥行き決定用合成画像を生成し、生成した奥行き決定用合成画像のコントラストを算出する。奥行き決定用合成画像の生成及びコントラストの算出に関する処理については第1実施形態と同様である。この処理によって、決定部803aは、初期奥行き候補群に含まれる各奥行きの奥行き決定用合成画像の生成及びコントラストの算出を行う。そして、決定部803aは、算出したコントラストの中でコントラストが最も大きい奥行きを含む新たな奥行き候補群を作成する。なお、決定部803aは、新たな奥行き候補群を作る際には、コントラストが最も大きかった奥行きが中心になるような範囲から新たな奥行き候補群を作成する。中心になるような範囲は、予め定められる。
以下、コントラストが最も大きい奥行きを含む新たな奥行き候補群を作成する処理について説明する。この説明では、コントラストが最も大きかった奥行きが中心になるような範囲の定め方の一例を示しながら新たな奥行き候補群を作成する処理について説明する。一例として、5個の奥行き(N=5。S1、S2、S3、S4、S5(S1<S2<S3<S4<S5)の5つの奥行き)があるとする。
決定部803aは、コントラストが最も大きい奥行きと、コントラストが最も大きい奥行きに隣接する奥行きとの間において所定の数の奥行きを選択する。例えば、S3がコントラストが最も大きい奥行きであれば、隣接する奥行きはS2及びS4となる。このように、決定部803aは、コントラストが最も大きい奥行きに隣接する奥行きの間(例えば、S2とS4の間)を「コントラストが最も大きかった奥行きが中心になるような範囲」とする。そして、決定部803aは、「コントラストが最も大きかった奥行きが中心になるような範囲」の中(例えば、S2とS4の間)からT(Tは1以上の整数)個の奥行きを選択する。例えば、T個の奥行きは、合成情報テーブルに記憶されている、コントラストが最も大きい奥行きに隣接する奥行きの間(コントラストが最も大きかった奥行きが中心になるような範囲)の奥行きの中から等間隔に選択されてもよい。その後、決定部803aは、コントラストが最も大きい奥行き(例えば、S3)と、コントラストが最も大きい奥行きに隣接する奥行きの間(例えば、S2及びS4の間)の奥行きの中から選択されたT個の奥行きと、を含む新たな奥行き候補群を作成する。つまり、決定部803aは、T+1個の奥行きを含む新たな奥行き候補群を作成する。
決定部803aは、作成した新たな奥行き候補群に含まれる奥行きそれぞれについて奥行き決定用合成画像を生成し、生成した奥行き決定用合成画像のコントラストを算出する。なお、この際、決定部803aは、既にコントラストを算出している奥行きに対しては処理を行わなくてもよい。決定部803aは、上記処理を所定の回数行う。そして、所定の回数実行後の奥行き候補群の中でコントラストが最も大きい奥行きをカメラペアの各入力画像の最適奥行きに決定する。決定部803aは、以上の処理を各時刻におけるカメラペアの入力画像に対して行う。
図7は、画像処理装置80aの処理の流れを示すフローチャートである。
決定部803aは、カメラペアの同時刻における入力画像を入力画像記憶部801から読み出し、入力する(ステップS201)。次に、決定部803aは、N個の奥行きのうちS個の奥行きを選択することによって、初期奥行き候補群を作成する(ステップS202)。具体的には、決定部803aは、予め設定されている複数の奥行きの中から特定の数の奥行きを選択することによって初期奥行き候補群を作成する。なお、初期奥行き候補群を作成する処理は、初期処理にのみ行われる。決定部803aは、読み出した入力画像と、合成情報記憶部802に記憶されている合成情報テーブルとに基づいて、奥行き候補群に含まれる1つの奥行きに対する変換情報を用いて奥行き決定用合成画像を生成する(ステップS203)。決定部803aは、生成した奥行き決定用合成画像の重複領域のコントラストを上記の式1に基づいて算出する(ステップS204)。その後、決定部803aは、奥行き候補群に含まれる奥行きの全てに対してコントラストを算出する処理を行ったか否か判定する(ステップS205)。奥行き候補群に含まれる奥行きの全てに対してコントラストを算出する処理を行っていない場合(ステップS205−NO)、決定部803aは奥行き候補群に含まれる奥行きの全てに対してコントラストを算出する処理を行うまでステップS203及びステップS204の処理を繰り返し実行する。
一方、奥行き候補群に含まれる奥行きの全てに対してコントラストを算出する処理を行った場合(ステップS205−YES)、決定部803aは最新の奥行き候補群の中でコントラストが最も大きい奥行きを含む、新たな奥行き候補群を作成する。なお、新たな奥行き候補群を作成する場合の奥行き候補群の選択方法は前述の通りである。つまり、決定部803aは、コントラストが最も大きい奥行きと、選択されたT個の奥行きとを含む新たな奥行き候補群を作成する。その後、決定部803aは、作成した新たな奥行き候補群に含まれる各奥行きに対してステップS203から205までの処理を行う(ステップS206)。その後、決定部803aは、ステップS206の処理を所定の回数行なったか否か判定する(ステップS207)。ステップS206の処理を所定の回数行なっていない場合(ステップS207−NO)、決定部803aはステップS206の処理を所定の回数に達するまで繰り返し実行する。
一方、ステップS206の処理を所定の回数行なった場合(ステップS207−YES)、決定部803aは最終的な奥行き候補群の中でコントラストが最も大きい奥行きをカメラペアの各入力画像の最適奥行きに決定する(ステップS208)。ここで、最終的な奥行き候補群とは、ステップS206の処理を所定の回数行なった時点の奥行き候補群を表す。
以上のように構成された画像処理装置80aによれば、第1実施形態と同様の構成を得ることができる。
また、画像処理装置80aは、第1実施形態と比べて少数の奥行きに基づいた推定を行いながら最適奥行きを決定する。そのため、第1実施形態に比べて処理を高速化することが可能になる。
<変形例>
第2実施形態は、第1実施形態と同様に変形されてもよい。
処理を繰り返す度に新たな奥行き候補群を作成し、作成した新たな候補群から最適解(本実施形態では、最適奥行き)を決定する処理として、Coarse−to−fineな方法や、シンプレックス法などが用いられてもよい。
本実施形態では、ステップS206の処理が所定の回数行なわれた場合にステップS208の処理が実行される例を示したが、ステップS208の処理は記憶されている奥行き候補の最小単位に行き着いた場合に行われてもよい。
本実施形態では、合成情報テーブルに登録されている奥行きの中から選択して奥行き候補群を作成する構成を示したが、決定部803aは合成情報テーブルに登録されている奥行き以外の奥行きを含めて奥行き候補群を作成するように構成されてもよい。例えば、仮想視点82からの距離が1である奥行きα(奥行きα=1)と、仮想視点82からの距離が3である奥行きβ(奥行きβ=3)とが合成情報テーブルに登録されている場合、決定部803aは2つの奥行きの間の奥行きである仮想視点82からの距離が2(奥行きαと奥行きβの間の奥行きγ=2)の奥行きγを含めて奥行き候補群を作成する。このように、合成情報テーブルに登録されている奥行き以外の奥行きを奥行き候補群に含めて用いる場合、決定部803aは合成情報テーブルに登録されている奥行き以外の奥行きの変換情報を登録されている奥行きの変換情報から補間するなどして求める。例えば、変換情報がアフィン変換行列であり、奥行きα=1のときのアフィン変換行列A1j1、奥行きβ=3のときのアフィン変換行列A1j2であるとすると、奥行きαと奥行きβの間の奥行きγのアフィン変換行列の各要素は、A1j1の行列の各要素と、A1j2の行列の各要素とを平均するなどして求めればよい。なお、この例は一例であり、決定部803aは2つの奥行きの間(例えば、奥行きαと奥行きβの間)の奥行きとして複数の奥行きを含めて奥行き候補群を作成してもよい。
決定部803aは、以下の方法で新たな奥行き候補群を作成してもよい。上記の5個の奥行き(N=5。S1、S2、S3、S4、S5の5つの奥行き)を例に説明する。
(第1の方法)
第1の方法は、コントラストが最も大きい奥行きと、コントラストが最も大きい奥行きに隣接する奥行きそれぞれとの間においてそれぞれ所定の数の奥行きを選択し、選択したそれぞれの所定の数の奥行きと、コントラストが最も大きい奥行きと、を含む新たな奥行き候補群を作成する方法である。以下、具体的に説明する。
まず決定部803aは、上記のように「コントラストが最も大きかった奥行きが中心になるような範囲」を定める。つまり、S3がコントラストが最も大きい奥行きであれば、隣接する奥行きはS2及びS4となり、S2とS4の間が「コントラストが最も大きかった奥行きが中心になるような範囲」になる。ここで、コントラストが最も大きい奥行き(例えば、S3)とコントラストが最も大きい奥行きに隣接する奥行きの一方(例えば、S2)との間を第1範囲とし、コントラストが最も大きい奥行きとコントラストが最も大きい奥行きに隣接する奥行きの他方(例えば、S4)との間を第2範囲とする。次に、決定部803aは、第1範囲においてU(Uは1以上の整数)個の奥行きを選択し、第2範囲においてV(Vは1以上の整数)個の奥行きを選択する。例えば、U個の奥行きは、合成情報テーブルに記憶されている、第1範囲内の奥行きの中から等間隔に選択されてもよい。また、例えば、V個の奥行きは、合成情報テーブルに記憶されている、第2範囲内の奥行きの中から等間隔に選択されてもよい。なお、UとVは同じ値であってもよいし、異なる値であってもよい。その後、決定部803aは、コントラストが最も大きい奥行き(例えば、S3)と、第1範囲の奥行きの中から選択されたU個の奥行きと、第2範囲の奥行きの中から選択されたV個の奥行きと、を含む新たな奥行き候補群を作成する。つまり、決定部803aは、U+V+1個の奥行きを含む新たな奥行き候補群を作成する。
(第2の方法)
第2の方法は、コントラストが最も大きい奥行きと、コントラストが最も大きい奥行きに隣接する奥行きの一方との間において所定の数の奥行きを選択し、選択した所定の数の奥行きと、コントラストが最も大きい奥行きと、を含む新たな奥行き候補群を作成する方法である。以下、具体的に説明する。
まず決定部803aは、上記のように「コントラストが最も大きかった奥行きが中心になるような範囲」を定める。つまり、S3がコントラストが最も大きい奥行きであれば、隣接する奥行きはS2及びS4となり、S2とS4の間が「コントラストが最も大きかった奥行きが中心になるような範囲」になる。ここで、コントラストが最も大きい奥行き(例えば、S3)とコントラストが最も大きい奥行きに隣接する奥行きの一方(例えば、S2)との間を第3範囲とする。次に、決定部803aは、第3範囲においてZ(Zは1以上の整数)個の奥行きを選択する。例えば、Z個の奥行きは、合成情報テーブルに記憶されている、第3範囲内の奥行きの中から等間隔に選択されてもよい。その後、決定部803aは、コントラストが最も大きい奥行き(例えば、S3)と、第3範囲の奥行きの中から選択されたZ個の奥行きと、を含む新たな奥行き候補群を作成する。つまり、決定部803aは、Z+1個の奥行きを含む新たな奥行き候補群を作成する。
(第3実施形態)
第1実施形態及び第2実施形態では、各時刻における各カメラ70の各入力画像の最適奥行きを決定する構成について説明した。このように決定された最適奥行きに基づいて生成される合成画像(仮想全天球画像)を映像として再生した場合、各時刻における最適奥行きが異なるため違和感のある映像になってしまうおそれがある。そこで、第3実施形態では、画像処理装置は、各時刻における各カメラ70の各入力画像の最適奥行きが時間方向に滑らかに変化するように平滑化(スムージング)処理を行う。また、第3実施形態では、画像処理システム100に複数のカメラペアが存在する場合を例に説明する。
図8は、第3実施形態における画像処理装置80bの機能構成を表す概略ブロック図である。画像処理装置80bは、バスで接続されたCPUやメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置80bは、入力画像記憶部801、合成情報記憶部802、決定部803b、最適奥行き記憶部804、背景画像記憶部805、画像合成部806を備える装置として機能する。なお、画像処理装置80bの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
画像処理装置80bは、決定部803に代えて決定部803bを備える点で画像処理装置80と構成が異なる。画像処理装置80bは、他の構成については画像処理装置80と同様である。そのため、画像処理装置80b全体の説明は省略し、決定部803bについて説明する。
決定部803bは、入力画像記憶部801に記憶されているカメラペアの入力画像と、合成情報記憶部802に記憶されている合成情報テーブルとを入力とする。決定部803bは、入力されたカメラペアの入力画像と合成情報テーブルとに基づいて第1実施形態における決定部803と同様の処理を行うことによって各カメラ70の各入力画像の最適奥行きを決定する。決定部803bは、決定した最適奥行きを暫定最適奥行きとして最適奥行き記憶部804に記憶させる。決定部803bは、最適奥行き記憶部804に記憶されている暫定最適奥行きを入力とする。決定部803bは、入力された暫定最適奥行きに基づいて、各カメラ70の暫定最適奥行きを時間方向にスムージングすることによって各時刻における各カメラ70の各入力画像の最適奥行きを決定する。決定部803bの具体的な処理について図9を用いて説明する。
図9は、決定部803bの具体的な処理について説明するための図である。
図9において、縦軸は奥行きを表し、横軸は時刻を表す。図9に示す複数の円は各時刻における暫定最適奥行きを表す。なお、図9では、あるカメラ70の各時刻における暫定最適奥行きの例を示している。各時刻において暫定最適奥行きが決定されるため、図9に示す円92のように前後の暫定最適奥行きと大幅にずれている暫定最適奥行きが存在する場合がある。このような場合には、映像として再生すると違和感のある映像になってしまう可能性がある。そこで、決定部803bは、各時刻における暫定最適奥行きの値を時間軸上に並べてなめらかになるようにスムージングする。例えば、決定部803bは、多項式近似することによって各時刻における暫定最適奥行きから、映像として再生した場合に違和感が軽減されるような最適奥行きの推定値を求める。図9に示される線93が多項式近似によって得られた各時刻における最適奥行きの推定値である。決定部803bは、この処理によって得られた各時刻における最適奥行きの推定値をあるカメラ70の各時刻における最適奥行きとして決定する。そして、決定部803bは、決定した最適奥行きで、最適奥行き記憶部804に記憶されている暫定最適奥行きを上書きすることによって最適奥行きを更新する。
図10は、画像処理装置80bの処理の流れを示すフローチャートである。
決定部803bは、あるカメラペアのある時刻における入力画像を入力画像記憶部801から読み出す(ステップS301)。次に、決定部803bは、読み出した入力画像と、合成情報記憶部802に記憶されている合成情報テーブルとに基づいてカメラペア奥行き決定処理を行う(ステップS302)。決定部803bは、全てのカメラペアの各入力画像の最適奥行きを決定したか否か判定する(ステップS303)。全てのカメラペアの各入力画像の最適奥行きを決定していない場合(ステップS303−NO)、決定部803bは他のカメラペアを選択する(ステップS304)。ここで、選択される他のカメラペアは、カメラペア奥行き決定処理が行なわれていないカメラペアである。その後、決定部803bは、選択した他のカメラペアに対してステップS301からステップS302までの処理を実行する。
一方、全てのカメラペアの各入力画像の最適奥行きを決定した場合(ステップS303−YES)、決定部803bは決定したカメラペアの各入力画像の最適奥行きに基づいて各カメラ70の各入力画像の最適奥行きを決定する(ステップS305)。その後、決定部803bは、ステップS305の処理で決定した各カメラ70の各入力画像の最適奥行きを暫定最適奥行きとして最適奥行き記憶部804に記憶させる(ステップS306)。決定部803bは、ステップS301からステップS306までの処理を所定の時刻分行ったか否か判定する(ステップS307)。ステップS301からステップS306までの処理を所定の時刻分行っていない場合(ステップS307−NO)、決定部803bはステップS301以降の処理を繰り返し実行する。
一方、ステップS301からステップS306までの処理を所定の時刻分行った場合(ステップS307−YES)、決定部803bは最適奥行き記憶部804に記憶されているあるカメラ70の所定の時刻分の暫定最適奥行きに関して時間方向にスムージングを行う(ステップS308)。例えば、決定部803bは、多項式近似することによって所定の時刻分の暫定最適奥行きから、あるカメラ70の最適奥行きの推定値を求める。その後、決定部803bは、あるカメラ70の最適奥行きの推定値をあるカメラ70の各時刻における最適奥行きとして最適奥行き記憶部804に記憶させる(ステップS309)。決定部803bは、ステップS308及びステップS309の処理を全てのカメラ70に対して行ったか否か判定する(ステップS310)。ステップS308及びステップS309の処理を全てのカメラ70に対して行っていない場合(ステップS310−NO)、決定部803bはステップS308及びステップS309の処理を全てのカメラに対して行うまで処理を繰り返し実行する。
一方、ステップS308及びステップS309の処理を全てのカメラ70に対して行った場合(ステップS310−YES)、画像合成部806は画像合成処理ステップを実行する(ステップS311)。
以上のように構成された画像処理装置80bによれば、各時刻における入力画像を用いてそれぞれ生成された仮想全天球画像を映像で出力する場合に生じる可能性がある違和感を軽減することが可能になる。以下、この効果について詳細に説明する。
画像処理装置80bは、各時刻における暫定最適奥行きの情報を用いて、各時刻における最適奥行きの値が滑らかになるようにスムージングを行う。これにより、画像処理装置80bは、ある時刻における最適奥行きが他の最適奥行きと大幅にずれている場合であっても前後の時刻における最適奥行きから、大幅にずれている時刻における最適奥行きを補正することができる。そのため、各時刻における入力画像を用いてそれぞれ生成された仮想全天球画像を映像で出力する場合に生じる可能性がある違和感を軽減することが可能になる。
<変形例>
画像処理装置80bにおける入力画像記憶部801、合成情報記憶部802、決定部803b及び最適奥行き記憶部804は、最適奥行き決定装置として構成されてもよい。
本実施形態では、決定部803bが決定部803と同様の処理を行うことによって各カメラ70の各入力画像の最適奥行きを決定する構成を示したが、決定部803bは決定部803aと同様の処理を行うことによって各カメラ70の各入力画像の最適奥行きを決定するように構成されてもよい。
(第4実施形態)
第4実施形態では、仮想全天球画像をリアルタイムに映像として出力する場合について説明する。具体的には、第4実施形態では、ある時刻tにおけるカメラ70の入力画像の最適奥行きを直前の時刻(例えば、時刻t−1、t−2など)の最適奥行きに基づいて決定する。また、第4実施形態では、画像処理システム100に複数のカメラペアが存在する場合を例に説明する。
図11は、第4実施形態における画像処理装置80cの機能構成を表す概略ブロック図である。画像処理装置80cは、バスで接続されたCPUやメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置80cは、入力画像記憶部801、合成情報記憶部802、決定部803c、最適奥行き記憶部804c、背景画像記憶部805、画像合成部806を備える装置として機能する。なお、画像処理装置80cの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
画像処理装置80cは、決定部803及び最適奥行き記憶部804に代えて決定部803c及び最適奥行き記憶部804cを備える点で画像処理装置80と構成が異なる。画像処理装置80cは、他の構成については画像処理装置80と同様である。そのため、画像処理装置80c全体の説明は省略し、決定部803c及び最適奥行き記憶部804cについて説明する。
最適奥行き記憶部804cは、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。最適奥行き記憶部804cは、最適奥行き情報テーブルを記憶する。第1実施形態から第3実施形態における最適奥行き記憶部804が記憶する最適奥行き情報テーブルには各時刻における各カメラ70の各入力画像の最適奥行き情報が登録されていた。それに対して、第4実施形態における最適奥行き記憶部804cが記憶する最適奥行き情報テーブルには、処理開始時には現時刻(例えば、リアルタイムに出力する仮想全天球画像を生成する時刻)tにおける各カメラ70の各入力画像の最適奥行き情報は登録(記憶)されておらず、現時刻tよりも前の時刻(例えば、時刻t−1、t−2など)における各カメラ70の各入力画像の最適奥行き情報が登録(記憶)されている。
決定部803cは、入力画像記憶部801に記憶されているカメラペアの入力画像と、合成情報記憶部802に記憶されている合成情報テーブルとを入力とする。決定部803bは、入力されたカメラペアの入力画像と合成情報テーブルとに基づいて第1実施形態における決定部803と同様の処理を行うことによって各カメラ70の各入力画像の最適奥行きを決定する。また、決定部803cは、現時刻tより前の時刻(例えば、時刻t−1、t−2など)における最適奥行き情報に基づいて、現時刻tにおける最適奥行きを決定する。なお、第4実施形態では、現時刻tより前の時刻の最適奥行き情報に基づいて決定する方法として時系列フィルタの一つであるパーティクルフィルタによる実現方法を説明する。なお,以下の処理において作成するパーティクルの数はPであるとする。
図12は、画像処理装置80cの処理の流れを示すフローチャートである。
決定部803cは、時刻tに撮影されたカメラペアの入力画像を入力画像記憶部801から読み出す(ステップS401)。なお、処理開始時には、時刻tは初期時刻である。初期時刻とは全ての時刻における最初の時刻を設定することが一般的であるが、今回導入しているような時系列フィルタリングの考え方は誤差が蓄積して望ましくない値に収束する場合がある(ドリフトと呼ばれている)。このような場合、適当な条件を満たした時、例えば時刻tで最大尤度が閾値以下になった時に時刻t+1を初期時刻としてもよい。
決定部803cは、読み出した入力画像に関して、全ての奥行き(例えば、奥行き1〜奥行きN)の中からP個の奥行き候補群を選択する(ステップS402)。初期時刻において全ての奥行きの中からP個の奥行きを選択する方法として、ランダムにP個選択する方法、又は、全ての奥行きをP等分してP個選択する方法がある。初期時刻以外では、基本的に前の時刻において選択した奥行き候補群を用いてもよい。決定部803cは、奥行き候補群のある奥行きについて予測モデルを用いて奥行きの予想値を算出する(ステップS403)。予測モデルには、等速直線運動や等加速度運動、あるいはランダムウォークなどがある(これは、一般的なパーティクルフィルタの「予測」にあたるステップである。)。
その後、決定部803cは、ステップS303の処理で算出した奥行きの予想値に対して尤度を算出する(ステップS404)。尤度を求める方法として、ある奥行きに対応する合成情報に基づいて生成された奥行き決定用合成画像の重複領域に対するコントラストなどがある。この場合、コントラストが大きいほど尤度が大きいとする(これは、一般的なパーティクルフィルタの「重み付け」にあたるステップである。)。決定部803cは、全ての奥行き候補群に対して尤度を算出したか否か判定する(ステップS405)。全ての奥行き候補群に対して尤度を算出していない場合(ステップS405−NO)、決定部803cは全ての奥行き候補群に対して尤度を算出するまでステップS402からステップS404までの処理を繰り返し実行する。
一方、全ての奥行き候補群に対して尤度を算出した場合(ステップS405−YES)、決定部803cはステップS404の処理で算出した尤度に基づいて時刻tにおけるカメラペアの各入力画像の最適奥行きを決定する(ステップS406)。最適奥行きを求める方法として、尤度の最も大きい奥行きを最適奥行きとして求める方法、尤度の重み付き平均値を最適奥行きとする方法などがある(これは、一般的なパーティクルフィルタの「状態推定」にあたるステップである。)。次に、決定部803cはステップS404の処理で算出した尤度に基づいて時刻t+1の奥行き候補群を選択する(ステップS407)。尤度に基づいて時刻t+1の奥行き候補群を選択する方法として、尤度の大きさを用いる方法がある。具体的には、各奥行きについて尤度の大きさに基づいてその奥行き付近で選択する候補の数を変動させる。例えば、尤度の小さい奥行きの近くでは候補をほとんど選択せず、尤度の大きい奥行きの近くでは多くの候補を選択する。この時、候補の合計がP個になるようにする(これは、一般的なパーティクルフィルタの「リサンプリング」にあたるステップである。)。
決定部803cは、ステップS401からステップ407までの処理を全てのカメラペアに対して行ったか否か判定する(ステップS408)。ステップS401からステップ407までの処理を全てのカメラペアに対して行っていない場合(ステップS308−NO)、決定部803cはステップ401以降の処理を全てのカメラペアに対して行う。
一方、ステップS401からステップ407までの処理を全てのカメラペアに対して行った場合(ステップS408−YES)、決定部803cは時刻tにおけるカメラペアの各入力画像の最適奥行きから各カメラ70の各入力画像の最適奥行きを決定する(ステップS409)。その後、決定部803cは、時刻tにおける各カメラ70の各入力画像の最適奥行きを最適奥行き記憶部804cに記憶させる。その後、画像合成部806は、画像合成処理ステップを実行する(ステップS311)。
以上のように構成された画像処理装置80cによれば、リアルタイムに各カメラ70の入力画像の最適奥行きを決定することが可能になる。以下、この効果について詳細に説明する。
画像処理装置80cは、時刻tにおける各カメラ70の入力画像の最適奥行きを過去の時刻(例えば、直前の時刻)の入力画像の最適奥行きから推定する。具体的には、まず画像処理装置80cは、時刻tにおけるカメラペアの各入力画像の奥行きを決定するための奥行き候補群に含まれる奥行きについて予測モデルを用いて奥行きの予想値を算出する。次に、画像処理装置80cは、算出した奥行きの予想値の尤度を算出する。そして、画像処理装置80cは、算出した尤度に基づいて時刻tにおけるカメラペアの入力画像の最適奥行きを決定する。その後、画像処理装置80cは、同様の処理を全てのカメラペアの入力画像に対して行う。そのため、リアルタイムに各カメラ70の入力画像の最適奥行きを決定することが可能になる。
<変形例>
画像処理装置80cにおける入力画像記憶部801、合成情報記憶部802、決定部803c及び最適奥行き記憶部804cは、最適奥行き決定装置として構成されてもよい。
以下、各実施形態に共通する変形例について説明する。
本発明は、全天球画像の場合に限らず、複数のカメラ70で撮影された画像を背景画像に重畳することによって合成画像を生成する場合に適用可能である。
本実施形態では、合成情報テーブルに登録されている幅の値が全てのカメラIDで同じであるが、幅の値はカメラID毎に異なっていてもよいし、一部のカメラIDで異なっていてもよい。
決定部803は、1つの入力画像の所定の領域毎にそれぞれ最適奥行きを決定してもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
60…全天球カメラ,70(70−1〜70−M)…カメラ, 4、80、80a、80b、80c…画像処理装置, 801…入力画像記憶部, 802…合成情報記憶部, 803、803a、803b、803c…決定部, 804、804c…最適奥行き記憶部, 805…背景画像記憶部, 806…画像合成部

Claims (6)

  1. 所定の位置を含む領域が撮影範囲となるように前記所定の位置を含む領域の周囲に設置された少なくとも2つの撮影装置それぞれが撮影した複数の入力画像を用いて、前記所定の位置を仮想的な視点である仮想視点として前記仮想視点からの距離を表す複数の異なる奥行きの合成画像を生成し、生成した複数の合成画像それぞれからコントラストを算出し、算出した前記コントラストに基づいて複数の合成画像のうちコントラストが最も大きい合成画像の奥行きを各入力画像の最適奥行きに決定する決定部を備える最適奥行き決定装置。
  2. 前記決定部は、コントラストが最も大きい合成画像の奥行きと、前記コントラストが最も大きい合成画像の奥行きの近傍の奥行きとの間において所定数の奥行きを求め、前記コントラストが最も大きい合成画像の奥行きと、選択した所定数の奥行きとを含む新たな奥行き候補群の中からコントラストが最も大きい合成画像の奥行きを決定する処理を実行し、前記処理を所定の回数繰り返し行った時点におけるコントラストが最も大きい合成画像の奥行きを前記最適奥行きに決定する、請求項1に記載の最適奥行き決定装置。
  3. 前記決定部は、前記撮影装置によって撮影された各時刻における入力画像の最適奥行きを決定し、決定した前記各時刻における最適奥行きの値を暫定最適奥行きとして時系列順に並べ、前記各時刻の暫定最適奥行きの値を時間方向に平滑化することによって得られる各時刻の最適奥行きの推定値を前記撮影装置によって撮影された各時刻における入力画像の最適奥行きに決定する、請求項1又は2に記載の最適奥行き決定装置。
  4. 前記決定部は、ある時刻において前記撮影装置それぞれで撮影された各入力画像の最適奥行きを、前記ある時刻よりも前の時刻における前記撮影装置の入力画像の最適奥行きに基づいて決定する、請求項1から3のいずれか一項に記載の最適奥行き決定装置。
  5. 所定の位置を含む領域が撮影範囲となるように前記所定の位置を含む領域の周囲に設置された少なくとも2つの撮影装置それぞれが撮影した複数の入力画像を用いて、前記所定の位置を仮想的な視点である仮想視点として前記仮想視点からの距離を表す複数の異なる奥行きの合成画像を生成し、生成した複数の合成画像それぞれからコントラストを算出し、算出した前記コントラストに基づいて複数の合成画像のうちコントラストが最も大きい合成画像の奥行きを各入力画像の最適奥行きに決定する決定ステップを有する最適奥行き決定方法。
  6. 所定の位置を含む領域が撮影範囲となるように前記所定の位置を含む領域の周囲に設置された少なくとも2つの撮影装置それぞれが撮影した複数の入力画像を用いて、前記所定の位置を仮想的な視点である仮想視点として前記仮想視点からの距離を表す複数の異なる奥行きの合成画像を生成し、生成した複数の合成画像それぞれからコントラストを算出し、算出した前記コントラストに基づいて複数の合成画像のうちコントラストが最も大きい合成画像の奥行きを各入力画像の最適奥行きに決定する決定ステップをコンピュータに実行させるためのコンピュータプログラム。
JP2015243240A 2015-12-14 2015-12-14 最適奥行き決定装置、最適奥行き決定方法及びコンピュータプログラム Active JP6392742B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015243240A JP6392742B2 (ja) 2015-12-14 2015-12-14 最適奥行き決定装置、最適奥行き決定方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015243240A JP6392742B2 (ja) 2015-12-14 2015-12-14 最適奥行き決定装置、最適奥行き決定方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2017112419A true JP2017112419A (ja) 2017-06-22
JP6392742B2 JP6392742B2 (ja) 2018-09-19

Family

ID=59079854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015243240A Active JP6392742B2 (ja) 2015-12-14 2015-12-14 最適奥行き決定装置、最適奥行き決定方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6392742B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231408A (ja) * 1996-02-28 1997-09-05 Matsushita Electric Ind Co Ltd 動画像合成装置
JP2004133919A (ja) * 2002-09-20 2004-04-30 Nippon Telegr & Teleph Corp <Ntt> 擬似3次元画像生成装置および生成方法並びにそのためのプログラムおよび記録媒体
JP2006053694A (ja) * 2004-08-10 2006-02-23 Riyuukoku Univ 空間シミュレータ、空間シミュレート方法、空間シミュレートプログラム、記録媒体
JP2008515110A (ja) * 2004-10-01 2008-05-08 ザ ボード オブ トラスティーズ オブ ザ レランド スタンフォード ジュニア ユニバーシティー 撮像の装置と方法
JP2013114682A (ja) * 2011-11-30 2013-06-10 Mitsubishi Electric Corp 仮想画像を生成する方法
WO2013099169A1 (ja) * 2011-12-27 2013-07-04 パナソニック株式会社 ステレオ撮影装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231408A (ja) * 1996-02-28 1997-09-05 Matsushita Electric Ind Co Ltd 動画像合成装置
JP2004133919A (ja) * 2002-09-20 2004-04-30 Nippon Telegr & Teleph Corp <Ntt> 擬似3次元画像生成装置および生成方法並びにそのためのプログラムおよび記録媒体
JP2006053694A (ja) * 2004-08-10 2006-02-23 Riyuukoku Univ 空間シミュレータ、空間シミュレート方法、空間シミュレートプログラム、記録媒体
JP2008515110A (ja) * 2004-10-01 2008-05-08 ザ ボード オブ トラスティーズ オブ ザ レランド スタンフォード ジュニア ユニバーシティー 撮像の装置と方法
JP2013114682A (ja) * 2011-11-30 2013-06-10 Mitsubishi Electric Corp 仮想画像を生成する方法
WO2013099169A1 (ja) * 2011-12-27 2013-07-04 パナソニック株式会社 ステレオ撮影装置

Also Published As

Publication number Publication date
JP6392742B2 (ja) 2018-09-19

Similar Documents

Publication Publication Date Title
JP6641163B2 (ja) オブジェクト追跡装置及びそのプログラム
JP5820257B2 (ja) 画像処理装置、撮像装置、画像処理方法、及びプログラム
JP6204659B2 (ja) 映像処理装置及び映像処理方法
JP5725953B2 (ja) 撮像装置及びその制御方法、並びに情報処理装置
JP6308748B2 (ja) 画像処理装置、撮像装置及び画像処理方法
JP5569357B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2020129276A (ja) 画像処理装置、画像処理方法、およびプログラム
JP6317635B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP6606242B2 (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP6392742B2 (ja) 最適奥行き決定装置、最適奥行き決定方法及びコンピュータプログラム
JP6416741B2 (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP6389452B2 (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP6426594B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP6420750B2 (ja) 合成情報テーブル作成装置、合成情報テーブル作成方法及びコンピュータプログラム
JP6392739B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
CN110692235B (zh) 图像处理装置、图像处理程序及图像处理方法
JP6218220B2 (ja) 撮像画像処理装置および方法、撮像画像処理プログラム並びに撮像画像処理システム
JP5927053B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6416740B2 (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP6346157B2 (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP6450306B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2018174461A (ja) 画像処理装置、画像処理方法、及びプログラム
JP6416734B2 (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP6274778B2 (ja) 画像処理方法、画像処理装置、及びコンピュータプログラム
JP2016163130A (ja) カメラパラメータ推定装置およびカメラパラメータ推定プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180704

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180821

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180823

R150 Certificate of patent or registration of utility model

Ref document number: 6392742

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150