(57)【特許請求の範囲】
【請求項１】
撮像方向を順次変化させて撮像を行うことにより得られた複数枚の撮像画像間の前記撮像を行った撮像装置における相対的な動きを補償するパラメータを算出する動き補償パラメータ算出部と、
前記撮像画像毎に人間の顔領域の検出を行い、検出した顔領域を示す検出顔領域情報を生成する顔検出部と、
前記検出顔領域情報を入力とする推定関数によって、人体領域の推定を行い、前記人体領域の推定結果に応じた評価値を被写体情報として生成する人体領域推定部と、
前記動き補償パラメータに基づき隣接する撮像画像が互いに重なる重複領域を判別して、前記撮像方向の変化方向であるスイープ軸と直交する方向にある撮像画像上の各位置の評価値を積分することで、前記重複領域における前記被写体情報を前記スイープ軸に射影する被写体情報射影部と、
前記射影された被写体情報に基づいて前記隣接する撮像画像の接続を行う接続ラインを設定する接続ライン設定部と
を備える画像処理装置。
【請求項２】
前記人体領域推定部は、推定した前記人体領域で評価値を大きく設定し、
前記接続ライン設定部は、前記射影した評価値が最小となる位置で前記スイープ軸と直交する方向を前記接続ラインとする請求項１記載の画像処理装置。
【請求項３】
前記人体領域推定部は、人体領域を少なくとも前記顔領域を含む複数の領域に区分して、領域毎に前記評価値の重み付けを行う請求項２記載の画像処理装置。
【請求項４】
前記顔検出部は、前記検出顔領域を矩形状の領域として、該矩形状の領域を示す座標値を前記検出顔領域情報とし、
前記人体領域推定部は、前記検出顔領域情報を入力とする推定関数によって、推定頭部領域と推定胴体部領域を推定する請求項３記載の画像処理装置。
【請求項５】
前記動き補償パラメータを利用して、前記複数枚の撮像画像をパノラマ座標系に射影する画像射影部と、
前記設定された接続ラインの位置で前記パノラマ座標系に射影された撮像画像の接続を行いパノラマ画像を生成する画像合成部とを有する請求項１記載の画像処理装置。
【請求項６】
動き補償パラメータ算出部で、撮像方向を順次変化させて撮像を行うことにより得られた複数枚の撮像画像間の前記撮像を行った撮像装置における相対的な動きを補償するパラメータを算出するステップと、
顔検出部で、前記撮像画像毎に人間の顔領域の検出を行い、検出した顔領域を示す検出顔領域情報を生成するステップと、
人体領域推定部で、前記検出顔領域情報を入力とする推定関数によって、人体領域の推定を行い、前記人体領域の推定結果に応じた評価値を被写体情報として生成するステップと、
被写体情報射影部で、前記動き補償パラメータに基づき隣接する撮像画像が互いに重なる重複領域を判別して、前記撮像方向の変化方向であるスイープ軸と直交する方向にある撮像画像上の各位置の評価値を積分することで、前記重複領域における前記被写体情報を前記スイープ軸に射影するステップと、
接続ライン設定部で、前記射影された被写体情報に基づいて前記隣接する撮像画像の接続を行う接続ラインを設定するステップとを具備する画像処理方法。
【請求項７】
コンピュータを、
撮像方向を順次変化させて撮像を行うことにより得られた複数枚の撮像画像間の前記撮像を行った撮像装置における相対的な動きを補償するパラメータを算出する動き補償パラメータ算出部として動作させる機能手段と、
前記撮像画像毎に人間の顔領域の検出を行い、検出した顔領域を示す検出顔領域情報を生成する顔検出部として動作させる機能手段と、
前記検出顔領域情報を入力とする推定関数によって、人体領域の推定を行い、前記人体領域の推定結果に応じた評価値を被写体情報として生成する人体領域推定部として動作させる機能手段と、
前記動き補償パラメータに基づき隣接する撮像画像が互いに重なる重複領域を判別して、前記撮像方向の変化方向であるスイープ軸と直交する方向にある撮像画像上の各位置の評価値を積分することで、前記重複領域における前記被写体情報を前記スイープ軸に射影する被写体情報射影部として動作させる機能手段と、
前記射影された被写体情報に基づいて前記隣接する撮像画像の接続を行う接続ラインを設定する接続ライン設定部として動作させる機能手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法、並びにプログラムに関する。詳しくは、画像のつなぎ目が人体となってしまうことを防止して、高品質なパノラマ画像を得ることができるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、カメラ一体型デジタルＶＣＲ等で撮像された複数の静止画像を重ね合わせて合成することで、パノラマ画像を生成する技術が知られている（例えば、特許文献１参照）。パノラマ画像は、複数の静止画像を並べて合成することで得られる画像であるので、パノラマ画像によれば、１つの静止画像の撮像時に撮像対象となる空間上の領域よりも、より広い領域を被写体として表示することができる。
【０００３】
また、静止画像の張り合わせを行うときのつなぎ目を決定する方法として、グラフ理論における最短経路問題の解法を利用する方法が提案されている（例えば、非特許文献１参照）。
【０００４】
この方法では、例えば図１に示すように、隣接する２つの静止画像Ｉ(t)と静止画像Ｉ(t+1)の互いに重複する領域内に位置する、つなぎ目ＳＪが決定される。なお、図１において、横方向および縦方向は、それぞれｘ方向およびｙ方向を示しており、静止画像Ｉ(t)および静止画像Ｉ(t+1)は、ｘｙ座標系上に重ねられて並べられている。また、重複する領域の四隅の座標は、「(Ｑx0,Ｑy0)，(Ｑx0,Ｑy1)，(Ｑx1,Ｑy0)，(Ｑx1,Ｑy1)」とする。
【０００５】
図１では、静止画像Ｉ(t)と静止画像Ｉ(t+1)との重なる領域において算出されたコスト値から、最小コストとなるつなぎ目ＳＪの算出が行われる。具体的には、静止画像上の動被写体には高いコストが設定され、逆に静止している被写体には低いコストが設定されて２次元のグラフが生成され、最小コストのつなぎ目ＳＪが決定される。したがって、静止画像上の動被写体が分断されないようなつなぎ目ＳＪが得られることになる。
【０００６】
つなぎ目ＳＪが算出されると、静止画像Ｉ(t)の左側の端からつなぎ目ＳＪ近傍の領域までの部分と、静止画像Ｉ(t+1)のつなぎ目ＳＪ近傍の領域から静止画像Ｉ(t+1)の右端までの部分とが合成されて、パノラマ画像とされる。
【０００７】
このようにつなぎ目ＳＪを求めて、各静止画像を合成することで、合成時における画像のつなぎ目が目立たない位置で接続されるため、より高品質なパノラマ画像を得ることができるようになる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−１９８９０２号公報
【非特許文献】
【０００９】
【非特許文献１】飯吉建彰，三橋渉著「パノラマ画像作成のための画像モザイク生成方法」画像ラボ２００８年６月号、日本工業出版、２００８年８月５日発行、p.6-11
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、動被写体の検出において検出精度が高くないと、物体の微小な動作を検出できない場合があり、パノラマ合成画像において動被写体の分断が発生する可能性がある。
【００１１】
パノラマ合成時に動被写体がつなぎ目となった場合、動被写体検出の検出性能以下の微小な動作であれば一般的にパノラマ画像の破綻度合も比較的小さい。しかし、被写体が人体、とりわけ人体の顔である場合は、微小な動作であったとしても、パノラマのつなぎ目となった場合に視感上の違和感を与えやすい。
【００１２】
また、パノラマ撮影時において、人体は一般的に近景になるケースが多く、遠景と近景の視差の影響を大きく受けるため、人体がつなぎ目になった場合にパノラマ画像の破綻が生じやすい。
【００１３】
そこで、この発明では、パノラマ画像合成において、画像のつなぎ目が人体となってしまうことを防止して、高品質のパノラマ画像を容易に生成できる画像処理装置および方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の第１の側面は、撮像方向を順次変化させて撮像を行うことにより得られた複数枚の撮像画像間の前記撮像を行った撮像装置における相対的な動きを補償するパラメータを算出する動き補償パラメータ算出部と、前記撮像画像毎に人間の顔領域の検出を行い、検出した顔領域を示す検出顔領域情報を生成する顔検出部と、前記検出顔領域情報を入力とする推定関数によって、人体領域の推定を行い、前記人体領域の推定結果に応じた評価値を被写体情報として生成する人体領域推定部と、前記動き補償パラメータに基づき隣接する撮像画像が互いに重なる重複領域を判別して、前記撮像方向の変化方向であるスイープ軸と直交する方向にある撮像画像上の各位置の評価値を積分することで、前記重複領域における前記被写体情報を前記スイープ軸に射影する被写体情報射影部と、前記射影された被写体情報に基づいて前記隣接する撮像画像の接続を行う接続ラインを設定する接続ライン設定部とを備える画像処理装置にある。
【００１５】
本発明において、動き補償パラメータ算出部は、撮像方向を順次変化させて撮像を行うことにより得られた複数枚の撮像画像間の撮像を行った撮像装置における相対的な動きを補償するパラメータ、例えばグローバルベクトルを算出する。顔検出部は、撮像画像毎に人間の顔領域の検出を行い、検出した顔を含む矩形状の検出顔領域を示す検出顔領域情報を生成する。人体領域推定部は、顔検出情報例えば検出顔領域情報を入力とする推定関数によって、人体領域の推定を行い被写体情報を生成する。例えば、人体領域推定部は、被写体情報として人体領域の推定結果に応じて評価値を生成する。また、人体領域推定部は、人体領域を少なくとも顔領域を含む複数の領域、例えば検出顔領域と推定頭部領域と推定胴体部領域に区分して、領域毎に評価値の重み付けを行う。被写体情報射影部は、隣接する撮像画像が互いに重なる重複領域における被写体情報をスイープ軸に射影する。例えば、スイープ軸と直交する方向にある撮像画像上の各位置の評価値を積分することで被写体情報をスイープ軸に射影する。接続ライン設定部は、射影された被写体情報に基づいて隣接する撮像画像の接続を行う接続ラインを設定する。例えば、射影した評価値が最小となる位置を接続ラインとする。さらに、動き補償パラメータを利用して、複数枚の撮像画像を画像射影部によってパノラマ座標系に射影して、この射影された撮像画像の接続を接続ラインの位置で画像合成部によって行う。
【００１６】
本発明の第２の側面は、動き補償パラメータ算出部で、撮像方向を順次変化させて撮像を行うことにより得られた複数枚の撮像画像間の前記撮像を行った撮像装置における相対的な動きを補償するパラメータを算出するステップと、顔検出部で、前記撮像画像毎に人間の顔領域の検出を行い、検出した顔領域を示す検出顔領域情報を生成するステップと、人体領域推定部で、前記検出顔領域情報を入力とする推定関数によって、人体領域の推定を行い、前記人体領域の推定結果に応じた評価値を被写体情報として生成するステップと、被写体情報射影部で、前記動き補償パラメータに基づき隣接する撮像画像が互いに重なる重複領域を判別して、前記撮像方向の変化方向であるスイープ軸と直交する方向にある撮像画像上の各位置の評価値を積分することで、前記重複領域における前記被写体情報を前記スイープ軸に射影するステップと、接続ライン設定部で、前記射影された被写体情報に基づいて前記隣接する撮像画像の接続を行う接続ラインを設定するステップとを具備する画像処理方法にある。
【００１７】
本発明の第３の側面は、コンピュータを、撮像方向を順次変化させて撮像を行うことにより得られた複数枚の撮像画像間の前記撮像を行った撮像装置における相対的な動きを補償するパラメータを算出する動き補償パラメータ算出部として動作させる機能手段と、前記撮像画像毎に人間の顔領域の検出を行い、検出した顔領域を示す検出顔領域情報を生成する顔検出部として動作させる機能手段と、前記検出顔領域情報を入力とする推定関数によって、人体領域の推定を行い、前記人体領域の推定結果に応じた評価値を被写体情報として生成する人体領域推定部として動作させる機能手段と、前記動き補償パラメータに基づき隣接する撮像画像が互いに重なる重複領域を判別して、前記撮像方向の変化方向であるスイープ軸と直交する方向にある撮像画像上の各位置の評価値を積分することで、前記重複領域における前記被写体情報を前記スイープ軸に射影する被写体情報射影部として動作させる機能手段と、前記射影された被写体情報に基づいて前記隣接する撮像画像の接続を行う接続ラインを設定する接続ライン設定部として動作させる機能手段として機能させるためのプログラムにある。
【００１８】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【発明の効果】
【００１９】
本発明によれば、撮像方向を順次変化させて撮像を行うことにより得られた複数枚の撮像画像間の撮像を行った撮像装置における相対的な動きを補償するパラメータが算出される。また、撮像画像毎に人間の顔領域の検出を行うことにより生成された顔検出情報を用いて人体領域の推定が行われて被写体情報が生成される。さらに、動き補償パラメータに基づき隣接する撮像画像が互いに重なる重複領域が判別されて、この重複領域における被写体情報が撮像方向の変化方向であるスイープ軸に射影されて、射影された被写体情報に基づいて隣接する撮像画像の接続を行う接続ラインが設定される。このため、動き補償パラメータを利用して、複数枚の撮像画像をパノラマ座標系に射影して、射影した撮像画像を決定された接続ラインの位置で接続することにより、画像のつなぎ目が人体領域となってしまうことを防止して、高品質のパノラマ画像を容易に生成できる。
【図面の簡単な説明】
【００２０】
【図１】従来のつなぎ目の探索方法を説明するための図である。
【図２】本発明を適用した撮像装置の一実施の形態の構成例を示す図である。
【図３】画像処理部の構成例を示す図である。
【図４】パノラマ画像の生成処理を説明するフローチャートである。
【図５】撮像画像の円筒面への射影について説明する図である。
【図６】撮像面と円筒面の関係を説明する図である。
【図７】検出顔領域と推定頭部領域および推定胴体部領域を例示した図である。
【図８】撮像画像上の各位置の評価値を例示した図である。
【図９】人体スコアの算出を説明する図である。
【図１０】接続ラインの探索について説明する図である。
【図１１】接続ラインの設定順序について説明する図である。
【図１２】評価値の重み付けを行った場合を示す図である。
【図１３】接続ラインの探索（スイープ軸を変更した場合）について説明する図である。
【図１４】撮像画像の接続について説明する図である。
【図１５】パノラマ画像のトリミングについて説明する図である。
【図１６】パノラマ画像のトリミングについて説明する図である。
【図１７】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００２１】
以下、発明を実施するための形態について説明する。なお、説明は以下の順序で行う。
１．撮像装置の構成
２．撮像装置の動作
３．画像処理部の構成
４．パノラマ画像の生成処理
５．処理をプログラムにより実行する場合
【００２２】
［１．撮像装置の構成］
図２は、本発明を適用した撮像装置の一実施の形態の構成例を示す図である。撮像装置１０は、光学系、信号処理系、記録系、表示系、および制御系から構成される。
【００２３】
光学系は、被写体の光画像を集光するレンズ２１、レンズ２１からの光画像の光量を調整する絞り２２、および集光された光画像を光電変換して電気信号に変換する撮像素子２３から構成される。撮像素子２３は、例えばＣＣＤ（Charge Coupled Devices）イメージセンサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサなどからなる。
【００２４】
信号処理系は、サンプリング部２４、Ａ／Ｄ（Analog/Digital）変換部２５、および画像処理部３０から構成される。サンプリング部２４は、例えば、相関２重サンプリング部（ＣＤＳ：Correlated Double Sampling）によって実現され、撮像素子２３からの電気信号をサンプリングしてアナログ信号を生成する。これにより、撮像素子２３において発生するノイズが軽減される。サンプリング部２４において得られるアナログ信号は、撮像された被写体の画像を表示させる画像信号である。
【００２５】
Ａ／Ｄ変換部２５は、サンプリング部２４から供給されるアナログ信号をデジタル信号に変換して、画像処理部３０に出力して、画像処理部３０は、Ａ／Ｄ変換部２５から入力されるデジタル信号に所定の画像処理を施す。
【００２６】
また、記録系は、画像信号を符号化または復号する符号化／復号化部４１と、画像信号を記録するメモリ４２とから構成される。符号化／復号化部４１は、画像処理部３０によって処理されたデジタル信号である画像信号を符号化してメモリ４２に記録させたり、メモリ４２から画像信号を読み出して復号し、画像処理部３０に出力したりする。
【００２７】
表示系は、Ｄ／Ａ（Digital/Analog）変換部４３、ビデオエンコーダ４４、および表示部４５から構成される。
【００２８】
Ｄ／Ａ変換部４３は、画像処理部３０によって処理された画像信号をアナログ化してビデオエンコーダ４４に出力して、ビデオエンコーダ４４は、Ｄ／Ａ変換部４３からの画像信号を表示部４５に適合する形式のビデオ信号にエンコードする。表示部４５は、例えば、ＬＣＤ（Liquid Crystal Display）等により実現され、ビデオエンコーダ４４におけるエンコードで得られたビデオ信号に基づいて、ビデオ信号に対応する画像を表示する。また、表示部４５は、被写体の撮像時にはファインダとしても機能する。
【００２９】
制御系は、タイミング生成部４６、操作入力部４７、ドライバ４８、および制御部５０から構成される。また、画像処理部３０、符号化／復号化部４１、メモリ４２、タイミング生成部４６、操作入力部４７、および制御部５０は、バス５１を介して相互に接続されている。
【００３０】
タイミング生成部４６は、撮像素子２３、サンプリング部２４、Ａ／Ｄ変換部２５、および画像処理部３０の動作のタイミングを制御する。操作入力部４７は、ボタンやスイッチなどからなり、ユーザによるシャッタ操作やその他のコマンド入力を受け付けて、ユーザの操作に応じた信号を制御部５０に出力する。
【００３１】
ドライバ４８には所定の周辺機器が接続され、ドライバ４８は接続された周辺機器を駆動する。例えばドライバ４８は、周辺機器として接続された磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等の記録媒体からデータを読み出して制御部５０に出力する。
【００３２】
制御部５０は、撮像装置１０の全体を制御する。例えば、制御部５０は、ドライバ４８を介して、ドライバ４８に接続されている記録媒体から制御用プログラムを読み出して、制御用プログラムや操作入力部４７からのコマンド等に基づいて、撮像装置１０全体の動作を制御する。
【００３３】
［２．撮像装置の動作］
次に、撮像装置１０の動作について説明する。撮像装置１０では、被写体からの入射光、すなわち被写体の光画像は、レンズ２１および絞り２２を介して撮像素子２３に入射し、撮像素子２３によって光電変換されて電気信号とされる。撮像素子２３で得られた電気信号は、サンプリング部２４によってノイズ成分が除去され、Ａ／Ｄ変換部２５によってデジタル化された後、画像処理部３０が内蔵する図示せぬ画像メモリに一時的に格納される。
【００３４】
なお、通常の状態、つまりシャッタ操作がされる前の状態では、タイミング生成部４６による信号処理系に対するタイミングの制御により、画像処理部３０の画像メモリには、一定のフレームレートで、絶えずＡ／Ｄ変換部２５からの画像信号が上書きされるようになされている。画像処理部３０の画像メモリ内の画像信号は、Ｄ／Ａ変換部４３によってデジタル信号からアナログ信号に変換され、ビデオエンコーダ４４によってビデオ信号に変換されて、ビデオ信号に対応する画像が表示部４５に表示される。
【００３５】
この場合において、表示部４５は、撮像装置１０のファインダとしての機能も担っており、ユーザは、表示部４５に表示される画像を見ながら構図を定め、操作入力部４７としてのシャッタボタンを押下して、画像の撮像を指示する。シャッタボタンが押下されると、制御部５０は、操作入力部４７からの信号に基づいて、タイミング生成部４６に対し、シャッタボタンが押下された直後の画像信号が保持されるように指示する。これにより、画像処理部３０の画像メモリに画像信号が上書きされないように、信号処理系が制御される。
【００３６】
そして、その後、画像処理部３０の画像メモリに保持されている画像信号が、符号化／復号化部４１によって符号化されてメモリ４２に記録される。以上のような撮像装置１０の動作によって、１枚の画像信号の取り込みが完了する。
【００３７】
［３．画像処理部の構成］
図３は、画像処理部３０の構成を示している。画像処理部３０は、撮像画像保持部３０１、円筒射影部３０２、動き補償パラメータ算出部３０３、顔検出部３０４、人体領域推定部３０５、被写体情報射影部３０６、接続ライン設定部３０７、画像射影部３０８、および画像合成部３０９から構成される。
【００３８】
撮像画像保持部３０１には、撮像装置１０により撮像された被写体の画像（以下、撮像画像と称する）が供給される。撮像画像保持部３０１は、供給された複数の撮像画像を保持する。撮像画像保持部３０１に供給される撮像画像は、撮像装置１０が所定方向に移動（スイープ）している状態で連続して撮像された画像であり、撮像画像の撮像時には、連続して撮像される２つの撮像画像上に同じ被写体が含まれるように、撮像装置１０が移動される。
【００３９】
なお、以下、連続して撮像された撮像画像のうち、ｔ番目に撮像された撮像画像をフレームＦ(t)の撮像画像Ｉ(t)とも称することとする。
【００４０】
円筒射影部３０２は、撮像画像保持部３０１から撮像画像を読み出して、読み出した撮像画像を円筒面に射影する。円筒射影部３０２は、円筒面に射影された撮像画像を、動き補償パラメータ算出部３０３、顔検出部３０４および画像射影部３０８に出力する。
【００４１】
動き補償パラメータ算出部３０３は、円筒射影部３０２からの撮像画像に基づいて、撮像画像のフレーム間における、撮像装置１０の動き（移動）を補償する動き補償パラメータを算出し、被写体情報射影部３０６と画像射影部３０８に出力する。例えば、動き補償パラメータは、複数の撮像画像のそれぞれを、同じ被写体がほぼ重なるように並べた場合における、撮像画像同士の相対的な位置関係を示す情報である。
【００４２】
顔検出部３０４は、円筒射影部３０２からの撮像画像を用いて顔検出を行い、顔検出結果を示す顔検出情報を人体領域推定部３０５に出力する。
【００４３】
人体領域推定部３０５は、顔検出情報を利用して撮像画像における人体領域を推定して、推定結果を示す被写体情報を被写体情報射影部３０６に出力する。
【００４４】
被写体情報射影部３０６は、動き補償パラメータ算出部３０３からの動き補償パラメータに基づき隣接する撮像画像が互いに重なる重複領域を判別する。さらに、被写体情報射影部３０６は、重複領域における被写体情報を撮像方向の変化方向であるスイープ軸に射影して、その射影結果を接続ライン設定部３０７に出力する。なお、スイープ軸とは、撮像画像の撮像時に撮像装置１０を移動させる方向と同じ方向の軸をいい、スイープ軸の方向は予め定められている。また、スイープ軸の方向は、ユーザが操作入力部４７を操作することにより、撮像画像の撮像前または後に、複数の方向のなかから、スイープ軸の方向を選択できるようにしてもよい。また、動き補償パラメータは、撮像装置１０の動き（移動）を補償するためのパラメータであることから、この動き補償パラメータに基づき、スイープ軸の方向を自動的に決定するようにしてもよい。
【００４５】
接続ライン設定部３０７は、連続するフレームの撮像画像を互いに接続するときの接続位置である接続ラインを設定して、接続ラインを示す接続ライン情報を画像合成部３０９に出力する。また、接続ライン設定部３０７は、被写体情報射影部３０６から供給された射影後の被写体情報に基づいて接続ラインを設定する。
【００４６】
画像射影部３０８は、動き補償パラメータ算出部３０３からの動き補償パラメータを用いて、円筒射影部３０２からの撮像画像をパノラマ座標系上に射影し、射影された撮像画像を画像合成部３０９に出力する。ここで、パノラマ座標系は、スイープ軸に垂直な軸と、スイープ軸とを軸とする２次元座標系、つまり所定の平面とされ、パノラマ座標系は予め定められている。
【００４７】
画像合成部３０９は、接続ライン設定部３０７で設定された接続ライン情報が示す接続ラインで、画像射影部３０８から供給された射影後の撮像画像を互いに接続し、１枚のパノラマ画像を生成する。パノラマ画像は、複数の撮像画像の撮像時に撮像対象となった撮像空間上の全領域を被写体とする画像とされる。
【００４８】
［４．パノラマ画像の生成処理の説明］
撮像装置１０は、ユーザが操作入力部４７を操作して、パノラマ画像の生成を指示したとき、撮像画像を撮像してパノラマ画像を生成する処理であるパノラマ画像の生成処理を開始する。以下、図４のフローチャートを参照して、撮像装置１０によるパノラマ画像の生成処理について説明する。
【００４９】
ステップＳＴ１１において、撮像素子２３は、被写体の撮像を行う。撮像素子２３は、撮像装置１０の撮像方向が順次変化されている状態で被写体の撮像を行い、複数枚の撮像画像を生成してステップＳＴ１２に進む。例えば、ユーザは撮像装置１０を所定方向に回動させながら、複数枚の撮像画像を連続して撮像装置１０に撮像させる。
【００５０】
被写体からの光はレンズ２１および絞り２２を介して撮像素子２３に入射するので、撮像素子２３は入射した光を光電変換することにより、撮像画像を撮像する。得られた撮像画像（画像信号）は、撮像素子２３から、サンプリング部２４、Ａ／Ｄ変換部２５、画像処理部３０、符号化／復号化部４１を介してメモリ４２に供給され、記録される。このとき、撮像画像は符号化／復号化部４１により符号化される。また、メモリ４２への記録時において、各撮像画像には撮像順にフレーム番号が付される。
【００５１】
複数の撮像画像がメモリ４２に順次記録されると、それらの撮像画像は、符号化／復号化部４１によりメモリ４２から読み出されて復号され、画像処理部３０の撮像画像保持部３０１に供給されて保持される。
【００５２】
なお、撮像により得られた撮像画像が、メモリ４２に記録されずに、直接、撮像画像保持部３０１に供給されるようにしてもよい。さらに、撮像画像は、撮像された１つの静止画像であってもよいし、撮影された動画像を構成する１フレーム分の画像であってもよい。
【００５３】
ステップＳＴ１２において、円筒射影部３０２は、撮像画像を円筒面に射影する。円筒射影部３０２は、撮像画像保持部３０１に保持されている撮像画像を順番に読み出して、読み出した撮像画像を、撮像画像の撮像時の焦点距離に基づいて、所定の円筒面に射影する。また、円筒射影部３０２は、射影された撮像画像を動き補償パラメータ算出部３０３、顔検出部３０４、および画像射影部３０８に出力して、ステップＳＴ１３に進む。
【００５４】
図５は、撮像画像の円筒面への射影を説明する図である。例えば、撮像画像の撮像時におけるレンズ２１の焦点距離ＦＤを半径とする円筒の側面を円筒面ＣＳとして、撮像面ＰＳを撮像して得られた撮像画像が、円筒面ＣＳに射影（投影）される。すなわち、撮像面ＰＳの円筒面投影が行われる。図５の例では、円筒面ＣＳは、撮像面ＰＳの中央に接する面とされている。なお、レンズ２１の焦点距離は、撮像画像の撮像時におけるレンズ２１の位置等から得られる。
【００５５】
このように撮像画像を円筒面に射影することで、パノラマ画像の生成時に、接続する撮像画像間の被写体の位置ずれ（誤差）をより小さく抑えることができる。
【００５６】
図６は撮像面と円筒面の関係を示している。図６に示すように、光学中心点Ｃ１１に撮像装置１０の光学中心が位置する状態で、光学中心点Ｃ１１を中心として時計回りの方向に撮像装置１０を回動（スイープ）させながら、ユーザが撮像装置１０に複数の撮像画像の生成を行わせたとする。なお、図６において図５における場合と対応する部分には同一の符号を付している。
【００５７】
図６において、５つの撮像面ＰＳ-0〜ＰＳ-4で撮像が行われて、５つの撮像画像が生成される。そして、得られた撮像画像は、それぞれ円筒面ＣＳに射影される。円筒面ＣＳは、光学中心点Ｃ１１を中心とし、焦点距離を半径とする円筒の側面である。
【００５８】
この場合、撮像された撮像画像を、そのまま合成してパノラマ画像を生成することを考える。図６において、互いに隣接する撮像面の端近傍に位置する画像の重複部分は、空間的に円筒面ＣＳの半径方向にずれている。このため、撮像画像同士をそのまま重ねて並べると、被写体の位置にずれが生じて、同じ被写体が重ならなくなり、パノラマ画像の品質が劣化してしまう。
【００５９】
そこで、各撮像画像を円筒面ＣＳに射影してから、射影された撮像画像同士を重ねて合成してパノラマ画像を生成する。このようにパノラマ画像を生成することで、撮像画像を円筒面に射影することなく合成する場合と比べて、撮像画像間の被写体の位置ずれ（誤差）をより小さく抑えることができる。したがって、撮像画像を円筒面ＣＳに射影して、射影後の画像を合成してパノラマ画像を生成すれば、撮像画像間において生じる被写体の位置の誤差が軽減されて、より高品質なパノラマ画像を得ることができる。
【００６０】
図４のステップＳＴ１３において、動き補償パラメータ算出部３０３は、円筒射影部３０２から供給された各撮像画像について、撮像画像の動き補償パラメータを算出する。動き補償パラメータ算出部３０３は、算出した動き補償パラメータを被写体情報射影部３０６と画像射影部３０８に出力してステップＳＴ１４に進む。
【００６１】
例えば、動き補償パラメータ算出部３０３は、連続する２つのフレームの撮像画像を用いて、特徴点の抽出やブロックマッチングにより、撮像画像のグローバルモーションベクトルを動き補償パラメータとして算出する。
【００６２】
グローバルモーションベクトルとは、撮像画像上の被写体全体のフレーム間の動きを示すグローバルな動きベクトルである。撮像画像上の被写体の多くは、実空間上において動きのない静止物体であるので、グローバルモーションベクトルは、撮像画像上の静止物体のフレーム間の動き、つまり撮像画像の撮像時における撮像装置１０の動きを示すベクトルであるということができる。
【００６３】
なお、動き補償パラメータは、グローバルモーションベクトルに限らず、撮像装置１０の動きを補償可能とするパラメータ例えば平面射影行列やアフィン行列などであってもよい。これらの平面射影行列やアフィン行列も、連続する２つのフレームの撮像画像を用いた、特徴点の抽出やブロックマッチングにより求めることができる。動き補償パラメータとして、グローバルモーションベクトルを採用する場合には、平面射影行列やアフィン行列を採用する場合よりも、より低い計算コストで動き補償パラメータを得ることができる。
【００６４】
ステップＳＴ１４において顔検出部３０４は、顔検出を行う。顔検出部３０４は、円筒射影部３０２で円筒射影された撮像画像から、人間の顔の検出を各フレームで行い、検出された顔の領域である検出顔領域を示す顔検出情報を生成する。
【００６５】
顔検出部３０４は、例えば顔の輝度分布情報が記録されているテンプレート群と撮像画像とのマッチングによって顔検出を行う（例えば特開２００４−１３３６３７号公報参照）。顔検出部３０４は、３次元直交座標系のＸＹＺ軸の各々に対して傾いたテンプレート群と、撮影画像に縮小処理をかけた縮小画像を複数種類用意する。次に、顔検出部３０４は、テンプレート群と複数種類用意された縮小画像とを順次マッチングさせて実際の顔の傾きを判定する。また、顔検出部３０４は、縮小画像に対して２次元平面上をずらしながらテンプレートを順次マッチングさせて、ある領域がテンプレートにマッチしたとき、その領域を顔の存在する位置とする。さらに、顔検出部３０４は、撮像画像の縮小率から顔の大きさを求める。また、顔検出部３０４は、マッチしたときに用いたテンプレートから直交３軸周りの顔の回転角（すなわち、ヨー、ピッチ、ロール角）を求める。このようにして、顔検出部３０４は、顔検出情報例えば顔の位置、大きさ、形状、顔の向き（ロール角・ピッチ角・ヨー角）などを算出できる。
【００６６】
また、顔検出部３０４は、検出した顔の領域を示す検出顔領域の大きさや位置、検出顔領域の正面度、検出顔領域の顔らしさ等を用いて信頼度の算出を行い（例えば特開２００８−２７７９０４号公報参照）、算出した信頼度を顔検出情報として用いてもよい。例えば、顔検出部３０４は、検出顔領域の面積が大きい場合、検出顔領域が中央に近い場合、ヨー角度が０度に近く正面を向いているような場合、基準顔データとの相関が高く人物の顔らしさが高い場合等で、信頼度を高くする。
【００６７】
なお、以下の説明において、顔検出情報は、例えば顔の領域を示す矩形の検出顔領域の左上隅と右下隅の座標を示す。
【００６８】
ステップＳＴ１５において人体領域推定部３０５は、人体領域推定を行う。人体領域推定部３０５は、顔検出部３０４で生成された顔検出情報を利用して人体領域の推定を行う。例えば、人体領域推定部３０５は、顔検出部３０４で検出された検出顔領域の位置や大きさを基準として推定頭部領域の位置と大きさを決定する。また、人体領域推定部３０５は、検出顔領域や推定頭部領域の位置と大きさに基づき推定胴体部領域の位置や大きさを決定する。このように、人体領域推定部３０５は、推定頭部領域や推定胴体部領域を推定する。人体領域推定部３０５は、人体領域の推定結果を被写体情報射影部３０６に出力してステップＳＴ１６に進む。
【００６９】
図７は、検出顔領域と推定頭部領域および推定胴体部領域を例示している。顔検出情報は、例えば矩形状の検出顔領域の左上隅の座標「ｆx0，ｆy0」と右下隅の座標「ｆx1，ｆy1」を示している。また、推定頭部領域は、矩形状領域として左上隅の座標を「ｈx0，ｈy0」、右下隅の座標を「ｈx1，ｈy1」とする。さらに、推定胴体部領域は、矩形状領域として左上隅の座標を「ｂx0，ｂy0」、右下隅の座標を「ｂx1，ｂy1」とする。
【００７０】
このように、検出顔領域と推定頭部領域と推定胴体部領域の座標を定義したとき、推定頭部領域や推定胴体部領域は、検出顔領域を入力として人体領域を推定するための推定関数を用いて推定できる。式（１）〜（８）において、func_hx0〜func_by1は、推定関数を示している。推定頭部領域の座標値は、検出顔領域の座標値を用いて式（１）〜（４）の演算を行うことで決定できる。また、推定胴体部領域の座標値は、検出顔領域の座標値を用いて式（５）〜（８）の演算を行うことで決定できる。
ｈx0=func_hx0(fx0,fy0,fx1,fy1)    ・・・（１）
ｈy0=func_hy0(fx0,fy0,fx1,fy1)    ・・・（２）
ｈx1=func_hx1(fx0,fy0,fx1,fy1)    ・・・（３）
ｈy1=func_hy1(fx0,fy0,fx1,fy1)    ・・・（４）
ｂx0=func_bx0(fx0,fy0,fx1,fy1)    ・・・（５）
ｂy0=func_by0(fx0,fy0,fx1,fy1)    ・・・（６）
ｂx1=func_bx1(fx0,fy0,fx1,fy1)    ・・・（７）
ｂy1=func_by1(fx0,fy0,fx1,fy1)    ・・・（８）
【００７１】
ここで、推定頭部領域は、例えば矩形の中心が検出顔領域の中心と一致しており、この中心を基準として検出顔領域を拡大した領域とする。このように推定頭部領域を設定する場合、func_hx0〜func_hy1は、検出顔領域の中心を基準として、検出顔領域の左上隅の座標「ｆx0，ｆy0」と右下隅の座標「ｆx1，ｆy1」をそれぞれｘ方向にhscale_x倍、y方向にhscale_y倍する関数となる。
【００７２】
推定胴体部領域は、例えば矩形の中心を検出顔領域の中心と一致させて、この中心を基準として検出顔領域を拡大して、この拡大領域を推定頭部領域の下部に接する位置までオフセットさせた領域とする。このように推定胴体部領域を設定する場合、func_bx0〜func_by1は、検出顔領域の中心を基準として、検出顔領域の左上隅の座標「ｆx0，ｆy0」と右下隅の座標「ｆx1，ｆy1」をそれぞれｘ方向にbscale_x倍、y方向にbscale_y倍として、さらに推定頭部領域の下部に接する位置までオフセットさせる関数となる。
【００７３】
このように、推定関数を設定しておけば、顔検出によって検出顔領域が決定されたとき、図７に示すように人体領域を推定できる。なお、人体領域の推定では、図７に示すように推定頭部領域と推定胴体部領域を決定する場合に限られるものではない。例えば、手足と胴体を別個に推定する構成であってもよい。また、図７では、各領域を矩形状の領域としたが、領域形状は矩形状に限られるものではない。例えば、推定頭部領域は、検出顔領域の中心を基準とした円状あるいは楕円状の領域としてもよい。この場合、式（１）〜（４）の推定関数は、検出顔領域の中心を基準とした円状あるいは楕円状の領域を検出顔領域の大きさに応じて拡大する関数とすればよい。
【００７４】
なお、人体領域推定部３０５は、顔検出部３０４で検出された検出顔領域の位置や大きさを用いて推定頭部領域や推定胴体部領域を決定する場合に限らず、他の方法を用いて人体領域を推定するようにしてもよい。例えば、人物の体に対応するテンプレートを用いたパターンマッチング等によって推定人体領域の検出を行うことも可能である。
【００７５】
図４のステップＳＴ１６において、被写体情報射影部３０６は、被写体情報の射影を行う。被写体情報射影部３０６は、動き補償パラメータ算出部３０３からの動き補償パラメータを用いて、人体領域推定部３０５からの被写体情報のスイープ軸への射影を行い、スイープ軸上の位置毎に評価値の総和を算出して人体スコアを生成する。被写体情報射影部３０６は、生成した人体スコアを接続ライン設定部３０７に出力してステップＳＴ１７に進む。
【００７６】
すなわち、被写体情報射影部３０６は、スイープ軸と垂直な方向にある撮像画像上の各位置の評価値を積分して人体スコアとすることにより、評価値のスイープ軸への射影を行う。射影結果としての人体スコアは、撮像画像の対応する領域における人体の面積（大きさ）に応じて大きくなる。
【００７７】
図８は、撮像画像上の各位置の評価値を例示している。なお、図８の（Ａ）は推定した人体領域を示しており、図８の（Ｂ）は「ｙ＝Ｌya」の位置における評価値、図８の（Ｃ）は「ｘ＝Ｌxa」の位置における評価値をそれぞれ示している。
【００７８】
ここで、スイープ軸がｘ軸と平行（ｘ方向）であるとき、スイープ軸の各位置の人体スコアは、ｘ座標が、そのスイープ軸の位置のｘ座標と同じ値である撮像画像の位置の評価値の総和となる。具体的には、スイープ軸上の所定の位置に対応するｘｙ座標系の値が例えば「ｘ0」であったとする。この場合、重複領域ＤＲ上のｘ座標が「ｘ0」である位置の評価値の総和が、スイープ軸上の所定の位置における人体スコアとして求められる。
【００７９】
図９は、人体スコアの算出を説明する図である。図９の（Ａ）は、撮像画像Ｉ(t)における人体領域を示している。また、図９の（Ｂ）は、被写体情報をスイープ軸に射影して得られる人体スコアを示している。
【００８０】
図９の（Ａ）に示すように、撮像画像Ｉ(t)では、撮像画像Ｉ(t)の中央からやや左側に人体が含まれているため、その人体の部分に対応するスイープ軸の位置では、図９の（Ｂ）におけるスコア線ＭＳが示すように人体スコアが大きくなっている。逆に、人体の含まれない部分の評価値は「０」であり、また、隣接する撮像画像と重複しない領域では評価値は求められないので、撮像画像Ｉ(t)の人体が存在していない領域に対応するスイープ軸の位置では、人体スコアは「０」となっている。
【００８１】
このようにして、被写体情報射影部３０６は、全ての撮像画像について、被写体情報としての評価値をスイープ軸に射影して、スイープ軸の各位置の人体スコアを求める。なお、被写体情報射影部３０６において、各撮像画像の領域毎の評価値を、スイープ軸のどの位置に射影させるかは、撮像画像毎の動き補償パラメータにより知ることができる。
【００８２】
被写体情報をスイープ軸に射影して、スイープ軸の各位置における人体スコアを求めることで、接続ラインを定めるのに用いられる２次元の情報を１次元の情報に変換することができる。これにより、接続ラインの設定に必要な情報の量を削減するとともに、その情報の記録のためのメモリ容量を節約することができる。
【００８３】
図４のステップＳＴ１７において、接続ライン設定部３０７は、接続ラインの設定を行う。接続ライン設定部３０７は、被写体情報射影部３０６からの人体スコアに基づいて撮像画像を接続するときの接続ラインを設定して、この接続ラインを示す接続ライン情報を画像合成部３０９に出力してステップＳＴ１８に進む。
【００８４】
図１０は、接続ラインの探索について説明する図である。例えば、図１０に示すように、撮像画像Ｉ(t)から、スコア線ＭＳｔにより示される人体スコアが得られたとする。なお、図１０の（Ａ）は、撮像画像Ｉ(t)と撮像画像Ｉ(t+1)を示しており、図１０の（Ｂ）は、人体スコアを示しており、横方向はスイープ軸の方向、縦方向はスイープ軸の各位置における人体スコアの大きさである。
【００８５】
接続ライン設定部３０７は、撮像画像Ｉ(t)と撮像画像Ｉ(t+1)とを合成するときの接続ラインを設定するにあたり、撮像画像Ｉ(t)と撮像画像Ｉ(t+1)が互いに重なる重複領域に対応するスイープ軸上の位置Ｑx0から位置Ｑx1までの範囲を探索範囲とする。ここで、位置Ｑx0は、撮像画像Ｉ(t+1)をスイープ軸に射影したときの撮像画像Ｉ(t+1)の左端の位置であり、位置Ｑx1は、撮像画像Ｉ(t)をスイープ軸に射影したときの撮像画像Ｉ(t)の右端の位置である。
【００８６】
接続ライン設定部３０７は、スイープ軸上の位置Ｑx0から位置Ｑx1を探索範囲として、探索範囲内において最も人体スコアが小さい位置を、撮像画像Ｉ(t)と撮像画像Ｉ(t+1)を接続する接続ラインとする。
【００８７】
また、撮像画像のスイープ方向の端部側は中央部に比べて歪みが多い。したがって、撮像画像が互いに重なる重複領域に接続ラインを設定して画像の接続を行う場合、接続ラインは、スイープ方向における重複領域の中央位置が好ましい。しかし、人体領域以外の評価値を「０」とすると、人体スコアは人体が含まれていない位置で「０」となり、人体スコアが最小となる範囲に接続ラインを設定すると、接続ラインを中央位置側に設定することができない場合が生じる。したがって、接続ライン設定部３０７は、図１０の（Ｃ）に示すように、人体を含まない領域に対して重複領域のスイープ軸の方向における中央位置に近くなるほど小さくなる評価値を設定する。このように、人体を含まない領域に対して評価値の設定を行うと、図１０の（Ｂ）に示すように、人体を含まない領域では、重複領域の中央に近くなるほどスコア線ＭＳｔが小さくなる。
【００８８】
なお、図１０では、スイープ軸上の探索範囲内の位置ＳＭにおいて、スコア線ＭＳｔにより示される人体スコアが最小となっているので、位置ＳＭが接続ラインの位置とされる。したがって、接続ライン設定部３０７は、スイープ軸の位置が位置ＳＭであって、スイープ軸に対して垂直な直線を接続ラインと設定する。
【００８９】
接続ラインの位置ＳＭは、探索範囲内において最も人体スコアが小さい位置である。つまり、位置ＳＭは、撮像画像Ｉ(t)と撮像画像Ｉ(t+1)を動き補償パラメータに基づいて、同じ被写体がほぼ重なるように所定面上に並べた場合に、人体領域を除いた位置となる。このため、画像のつなぎ目が人体となって視感上の違和感を与えてしまうことを防止できるようになる。また、人体を含まない領域についても、重複領域のスイープ軸の方向における中央位置で評価値が小さくなっているので、接続ラインを重複領域の中央側に設定できるので、歪みの少ない画像部分を用いて撮像画像を接続できる。さらに、接続ライン設定部３０７では、一次元の探索処理により、分断コストが最小となるスイープ軸上の位置を探索により、簡単かつ迅速に接続ラインを定めることができる。
【００９０】
接続ライン設定部３０７は、図１０を参照して説明した探索処理を行って、全ての撮像画像について、隣接するフレームの撮像画像との接続ラインを定めていく。接続ライン設定部３０７は、例えば図１１に示すように、フレーム番号の小さい順、つまり撮像時刻の古い順に、撮像画像の接続ラインを定めていく。
【００９１】
図１１では、３つの連続するフレームＦ(t-1)，フレームＦ(t)，フレームＦ(t+1)の撮像画像Ｉ(t-1)，撮像画像Ｉ(t)，撮像画像Ｉ(t+1)のそれぞれが、動き補償パラメータに基づいて並べられている。撮像画像Ｉ(t-1)，撮像画像Ｉ(t)，撮像画像Ｉ(t+1)のうち、最もフレーム番号が小さいものは撮像画像Ｉ(t-1)であるから、接続ライン設定部３０７は、まず撮像画像Ｉ(t-1)と撮像画像Ｉ(t)との接続ラインを定める。
【００９２】
すなわち、図１１の（Ａ）に示すように、接続ライン設定部３０７は、互いに隣接する撮像画像Ｉ(t-1)と撮像画像Ｉ(t)との互いに重なる、スイープ軸上の位置Ｑx0(t-1,t)から位置Ｑx1(t-1,t)までの範囲を探索範囲として接続ラインを定める。その結果、探索範囲において人体スコアが最小となる位置ＳＭ(t-1,t)が接続ラインとされる。
【００９３】
次に、接続ライン設定部３０７は、図１１の（Ｂ）に示すように撮像画像Ｉ(t)と撮像画像Ｉ(t+1)との接続ラインを定める。撮像画像Ｉ(t)と撮像画像Ｉ(t+1)が互いに重なる領域の左側の端、つまり撮像画像Ｉ(t+1)の左端の位置は、先に定めた撮像画像Ｉ(t-1)と撮像画像Ｉ(t)の接続ラインの位置ＳＭ(t-1,t)よりも左側に位置している。したがって、接続ライン設定部３０７は、位置ＳＭ(t-1,t)よりも左側の領域は、探索範囲から除外して、位置ＳＭ(t-1,t)から撮像画像Ｉ(t)の右端である位置Ｑx1(t,t+1)までの範囲を探索範囲として接続ラインを定める。その結果、探索範囲において動被写体スコアが最小となる位置ＳＭ(t,t+1)が接続ラインとされる。
【００９４】
このように連続するフレームの撮像画像を接続するための接続ラインが定められると、図１１の（Ｃ）に示すように、画像合成部３０９において、接続ラインにより定まる撮像画像上の有効領域が互いに接続されてパノラマ画像とされる。なお、図１１の（Ｃ）において、撮像画像Ｉ(t-1)〜Ｉ(t+1)の斜線部分は、パノラマ画像で用いられる有効領域を示している。例えば、撮像画像Ｉ(t)については、撮像画像Ｉ(t-1)との接続ラインの位置ＳＭ(t-1,t)から、撮像画像Ｉ(t+1)との接続ラインの位置ＳＭ(t,t+1)までの領域が有効領域となる。
【００９５】
このように、各撮像画像の隣接する他の撮像画像との接続ラインを順次、定めていくことにより、各撮像画像の有効領域を順次決定することができる。
【００９６】
ところで、図８に示すように推定した人体領域で評価値を一定とすると、スイープ軸をＹ軸と平行にした場合、推定頭部領域や推定胴体領域に比べて検出顔領域のサイズが小さいことから、検出顔領域の位置で人体スコアが小さくなって、接続ラインが検出顔領域に設定しまうことがある。したがって、人体領域推定部３０５は、上述のように人体領域を少なくとも顔領域を含む複数の領域に区分して、領域毎に評価値の重み付けを行うことで、接続ラインが検出顔領域に設定されてしまうことを防止できる。
【００９７】
図１２は、評価値の重み付けを行った場合を示している。なお、図１２の（Ａ）は推定した人体領域を示しており、図１２の（Ｂ）は「ｙ＝Ｌya」の位置における重み付け後の評価値、図１２の（Ｃ）は「ｘ＝Ｌxa」の位置における重み付け後の評価値をそれぞれ示している。この図１２に示すように、検出顔領域の評価値を大きくして、推定胴体領域の評価値を小さくする。このように評価値の重み付けを行うと、検出顔領域が含まれるときの人体スコアが大きくすることが可能となり、接続ラインが検出顔領域に設定されてしまうことを防止できる。また、推定胴体領域において、手足の部分では評価値の重みを小さくすれば、接続ラインは重要でない部分の位置に設定されるようになる。
【００９８】
図１３は、接続ラインの探索について説明する図であり、スイープ軸はｙ軸と平行とする。例えば、図１３に示すように、撮像画像Ｉ(t)から、スコア線ＭＳｔにより示される人体スコアが得られたとする。なお、図１３において、縦方向はスイープ軸の方向を示しており、横方向はスイープ軸の各位置における人体スコアを示している。
【００９９】
接続ライン設定部３０７は、撮像画像Ｉ(t)と撮像画像Ｉ(t+1)とを合成するときの接続ラインを定めるにあたり、撮像画像Ｉ(t)と撮像画像Ｉ(t+1)が互いに重なる重複領域に対応するスイープ軸上の位置Ｑy0から位置Ｑy1までの範囲を探索範囲とする。ここで、位置Ｑy0は、撮像画像Ｉ(t+1)をスイープ軸に射影したときの撮像画像Ｉ(t+1)の上端の位置であり、位置Ｑy1は、撮像画像Ｉ(t)をスイープ軸に射影したときの撮像画像Ｉ(t)の下端の位置である。
【０１００】
接続ライン設定部３０７は、スイープ軸上の位置Ｑy0から位置Ｑy1を探索範囲として、探索範囲内において最も人体スコアが小さい位置を、撮像画像Ｉ(t)と撮像画像Ｉ(t+1)の接続ラインの位置とする。
【０１０１】
なお、図１３では、スイープ軸上の探索範囲内の位置ＳＭにおいて、スコア線ＭＳｔにより示される人体スコアが最小となっているので、位置ＳＭが接続ラインの位置とされる。したがって、接続ライン設定部３０７は、スイープ軸の位置が位置ＳＭであって、スイープ軸に対して垂直な直線を接続ラインと設定する。
【０１０２】
このように、人体領域に含まれる領域について評価値の重み付けを行うことで、推定した人体領域において重要でない部分例えば手足の部分等の位置に接続ラインを設定することができる。
【０１０３】
また、評価値の重み付けは、領域毎に行う場合に限られるものではない。顔検出部３０４で検出顔領域の正面度や検出顔領域の顔らしさ等を用いて信頼度の算出を行ったときは、算出した信頼度を用いて評価値の重み付けを行うようにしてもよい。例えば、顔らしさの確度が高い検出顔領域は、評価値を大きくする。また、顔が正面を向いている検出顔領域は、横を向いている検出顔領域よりも評価値を大きくする。このようにすれば、重複領域に複数の検出顔領域が含まれるような場合でも、検出顔領域の重要度の区分けを行うことが可能となる。したがって、重要な画像領域に接続ラインが設定されてしまうことを防止できる。
【０１０４】
図４のステップＳＴ１８において、画像射影部３０８は、撮像画像をパノラマ座標系に射影する。画像射影部３０８は、動き補償パラメータ算出部３０３からの動き補償パラメータを用いて、円筒射影部３０２からの撮像画像をパノラマ座標系上に射影する。また、画像射影部３０８は、射影された撮像画像を画像合成部３０９に出力してステップＳＴ１９に進む。
【０１０５】
この射影により、撮像画像上の同じ被写体がほぼ重なるように、複数の撮像画像がパノラマ座標系上に並べられることになる。なお、パノラマ座標系は、スイープ方向に垂直な軸と、スイープ軸とを軸とする平面とされる。例えば、スイープ軸が、撮像画像の撮像時における撮像空間の鉛直方向と垂直な方向とされる場合には、スイープ軸に垂直な軸は、鉛直方向とされる。
【０１０６】
ステップＳＴ１９において、画像合成部３０９は、撮像画像を合成してパノラマ画像を生成する。画像合成部３０９は、接続ライン選択部３０７からの接続ライン情報で示された接続ラインで、画像射影部３０８から供給されたパノラマ座標系に射影された撮像画像の接続を行い、１枚のパノラマ画像を生成する。また、接続ラインで撮像画像を接続した場合、接続ラインの位置で色の違い等が目立ってしまうおそれがある。したがって、画像合成部３０９は、接続ラインを基準として接続領域を設けて、この接続領域においてブレンディング処理を行い、接続する撮像画像を重み付き加算するようにしてもよい。
【０１０７】
図１４は、撮像画像の接続について説明する図である。図１４は、接続ラインの位置ＳＭ(t-1,t)で、撮像画像Ｉ(t-1)と撮像画像Ｉ(t)を接続する場合を示している。なお、図１４において横方向はスイープ方向を示しており、２つの連続するフレームの撮像画像Ｉ(t-1)と撮像画像Ｉ(t)が、パノラマ座標系上に並べられている。また、図１４の（Ａ）は、パノラマ画像に用いられる有効領域を斜線の領域として示している。図１４の（Ｂ）は、撮像画像Ｉ(t-1)に対する重みＷ(t-1)、図１４の（Ｃ）は、撮像画像Ｉ(t)に対する重みＷ(t)を示している。
【０１０８】
例えば、接続領域は、接続ラインの位置ＳＭ(t-1,t)が接続領域の中央位置となるように、位置ＳＬ(t-1,t)から位置ＳＲ(t-1,t)までの範囲とする。このとき、撮像画像Ｉ(t-1)では、位置ＳＲ(t-1,t)までの領域が有効領域Ｒ(t-1)となる。また、撮像画像Ｉ(t)では、位置ＳＬ(t-1,t)からの領域が撮像画像Ｉ(t)の有効領域Ｒ(ｔ)となる。
【０１０９】
重み付けは、接続領域における有効領域の端部側で「０」として他方の端部側で「１」とする。また、図１４の（Ｂ）（Ｃ）では、線ＯＭａ，ＯＭｂによって重み付けが設定される。なお、重み付けは線ＯＭａ，ＯＭｂによって設定する場合に限られるものではない。重み付けは、接続領域の各位置で撮像画像Ｉ(t-1)に対する重み付けと撮像画像Ｉ(t)に対する重み付けの和が「１」であって、有効領域の端部側で「０」となるように順次減少させるように設定する。
【０１１０】
このように接続ラインを基準として接続領域を設定して、接続領域内で撮像画像Ｉ(t-1)と撮像画像Ｉ(t)との合成比率を変化させて、撮像画像Ｉ(t-1)から撮像画像Ｉ(t)への画像の切り換えを順次行う。したがって、より高品質なパノラマ画像を得ることができるようになる。すなわち、接続される２つの有効領域の互いに重なる部分において、被写体の位置にずれがあったり、画素の色が異なったりする場合であっても、重み付き加算によりスムージング効果が得られる。これにより、被写体の一部が欠損したり、パノラマ画像に色のむらが生じたりすることを抑制することができ、自然なパノラマ画像を得ることができる。
【０１１１】
画像合成部３０９は、このようにして、パノラマ座標系上の互いに隣接する撮像画像の有効領域を接続し、１つのパノラマ画像を生成する。さらに、画像合成部３０９は、トリミングを行い、接続された有効領域からなる１つの画像の一部の領域をパノラマ画像としてもよい。
【０１１２】
図１５は、パノラマ画像のトリミングについて説明する図である。例えば、撮像装置１０をスイープさせて撮像画像を生成すると、撮像装置１０がスイープ方向に対して変動すると、図１５の（Ａ）に示すように、連続して撮像された撮像画像Ｉ(0)〜Ｉ(6)は、パノラマ座標系上で上下方向にばらつきを生じる。なお、スイープ軸は、各撮像画像の長手方向となっている。
【０１１３】
そのため、各撮像画像の有効領域を接続して得られる１つの画像は、矩形状とはならなくなる。そこで、画像合成部３０９は、図１５の（Ｂ）に示すように、撮像画像Ｉ(0)〜Ｉ(6)の有効領域を接続して得られる画像全体の領域に内接する、最も大きい矩形領域Ｐ11を切り出して、パノラマ画像とする。このとき、矩形領域Ｐ11の長辺は、スイープ軸と平行になるようにされる。このように、トリミングを行うことにより、矩形状のパノラマ画像を得ることができる。
【０１１４】
なお、図１５の場合、撮像画像の各領域の被写体情報のスイープ軸への射影方向は、図１５の（Ａ）の点線で示されるようにスイープ軸と垂直であり、かつ撮像画像の短手方向と平行な方向となる。したがって、接続ラインも撮像画像の短手方向と平行な方向の直線となる。
【０１１５】
また、撮像装置１０をスイープさせる場合に、撮像装置１０のスイープ方向が、撮像空間の鉛直方向に対して斜めの方向となってしまうこともある。そのような場合、例えば、図１６の（Ａ）に示すように、スイープ軸の方向が、撮像画像の長手方向に対して斜めの方向となる。
【０１１６】
図１６では、連続して撮像された撮像画像Ｉ(0)〜Ｉ(6)が、右斜め上の方向に並んでおり、これらの撮像画像が並ぶ方向と平行な方向がスイープ軸の方向とされている。この場合、スイープ軸は、各撮像画像の長手方向と平行となっていない。
【０１１７】
このような場合、画像合成部３０９は、図１６の（Ｂ）に示すように、撮像画像Ｉ(0)〜Ｉ(6)の有効領域を接続して得られる画像全体の領域に内接する、最も大きい矩形領域Ｐ12を切り出して、パノラマ画像とする。このとき、矩形領域Ｐ12の長辺は、スイープ軸と平行になるようにされる。
【０１１８】
図１６では、スイープ軸が斜め方向に設定されているため、スイープ軸を横方向とする場合と比べて、パノラマ画像とする矩形領域をより大きくすることができる。
【０１１９】
なお、図１６の場合、撮像画像の各領域の被写体情報のスイープ軸への射影方向は、図１６の（Ａ）にける点線で示されるようにスイープ軸と垂直であり、かつ撮像画像の短手方向に対して斜めの方向となる。したがって、接続ラインも撮像画像の短手方向に対して斜めの直線となる。
【０１２０】
このようにしてパノラマ画像が生成されると、画像合成部３０９は、生成したパノラマ画像を出力し、パノラマ画像の生成処理は終了する。
【０１２１】
例えば、画像合成部３０９から出力されたパノラマ画像は、符号化／復号化部４１で符号化されてメモリ４２に記録されたり、Ｄ／Ａ変換部４３およびビデオエンコーダ４４を介して表示部４５に供給されて表示されたりする。
【０１２２】
以上のように、撮像装置１０は、検出顔情報から人体領域を推定して、推定した人体領域で画像の接続が行われることがないように接続ラインを設定する。このため、画像のつなぎ目が人体となってしまうことが防止されて、高品質のパノラマ画像を生成できるようになる。
【０１２３】
また、撮像装置１０は、被写体情報をスイープ方向に射影して接続ラインを定めるようにしたので、より低い計算コストで、より高品質なパノラマ画像を得ることができる。
【０１２４】
すなわち、従来の技術では、図１を参照して説明したように、２次元探索により接続ライン（つなぎ目ＳＪ）を定めれば、人体領域に接続ラインが設けられてしまうという問題を解決して、より高品質なパノラマ画像を得ることができる。しかしながら、２次元探索では計算コストが高く、また２次元探索のために必要なメモリの記録容量も多く必要となってしまう。
【０１２５】
これに対して、撮像装置１０では、被写体情報からなる２次元の情報をスイープ軸という１次元の軸に射影するため、１次元探索により接続ラインを定めることができる。これにより、より低い計算コストで、より高品質なパノラマ画像を得られるだけでなく、メモリの記録容量も削減することができる。
【０１２６】
さらに、人体領域に対して重み付けを行い、その重み付け結果を用いて接続ラインの設定を行うようにしたので、例えばスイープ方向にかかわらず、顔領域を除いて接続ラインを設定することができるようになる。
【０１２７】
また、人体領域の推定は、検出顔領域を入力とした推定関数を用いて算出できることから、人体領域の推定も低い計算コストで行うことができる。
【０１２８】
［５．処理をプログラムにより実行する場合］
さらに、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１２９】
図１７は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１３０】
コンピュータ６０において、ＣＰＵ（Central Processing Unit）６１、ＲＯＭ（Read Only Memory）６２、ＲＡＭ（Random Access Memory）６３は、バス６４により相互に接続されている。
【０１３１】
バス６４には、さらに、入出力インタフェース６５が接続されている。入出力インタフェース６５には、キーボード、マウス、マイクロホンなどよりなる入力部６６、ディスプレイ、スピーカなどよりなる出力部６７、ハードディスクや不揮発性のメモリなどよりなる記録部６８、ネットワークインタフェースなどよりなる通信部６９、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア８０を駆動するドライブ７１が接続されている。
【０１３２】
以上のように構成されるコンピュータでは、ＣＰＵ６１が、例えば、記録部６８に記録されているプログラムを、入出力インタフェース６５およびバス６４を介して、ＲＡＭ６３にロードして実行することにより、上述した一連の処理が行われる。
【０１３３】
コンピュータ（ＣＰＵ６１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（ＣＤ−ＲＯＭ(Compact Disc-Read Only Memory),ＤＶＤ(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア８０に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１３４】
そして、プログラムは、リムーバブルメディア８０をドライブ７１に装着することにより、入出力インタフェース６５を介して、記録部６８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部６９で受信し、記録部６８にインストールすることができる。その他、プログラムは、ＲＯＭ６２や記録部６８に、予めインストールしておくことができる。
【０１３５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであってもよいし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。
【０１３６】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であり、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【０１３７】
この発明の画像処理装置および方法、並びにプログラムでは、撮像方向を順次変化させて撮像を行うことにより得られた複数枚の撮像画像間の撮像を行った撮像装置における相対的な動きを補償するパラメータが算出される。また、撮像画像毎に人間の顔領域の検出を行うことにより生成された顔検出情報を用いて人体領域の推定が行われて被写体情報が生成される。さらに、動き補償パラメータに基づき隣接する撮像画像が互いに重なる重複領域が判別されて、この重複領域における被写体情報が撮像方向の変化方向であるスイープ軸に射影されて、射影された被写体情報に基づいて隣接する撮像画像の接続を行う接続ラインが設定される。このため、動き補償パラメータを利用して、複数枚の撮像画像をパノラマ座標系に射影して、射影した撮像画像を決定された接続ラインの位置で接続することにより、画像のつなぎ目が人体領域となってしまうことを防止して、高品質のパノラマ画像を容易に生成できるので、デジタルカメラ等の撮像装置や、撮像方向を順次変化させて撮像を行うことにより得られた複数枚の撮像画像を処理する画像処理装置に適している。
【符号の説明】
【０１３８】
１０・・・撮像装置、２１・・・レンズ、２２・・・絞り、２３・・・撮像素子、２４・・・サンプリング部、２５・・・Ａ／Ｄ変換部、３０・・・  画像処理部、４１・・・符号化／復号化器、４２・・・メモリ、４３・・・Ｄ／Ａ変換部、４４・・・ビデオエンコーダ、４５・・・表示部、４６・・・タイミング信号生成部、４７・・・操作入力部、４８・・・ドライバ、５０・・・制御部、５１・・・バス、６０・・・コンピュータ、６１・・・ＣＰＵ、６２・・・ＲＯＭ、６３・・・ＲＡＭ、６４・・・バス、６５・・・入出力インタフェース部、６６・・・入力部、６７・・・出力部、６８・・・記録部、６９・・・通信部、７１・・・ドライブ、８０・・・リムーバブルメディア、３０１・・・撮像画像保持部、３０２・・・円筒射影部、３０３・・・動き補償パラメータ算出部、３０４・・・顔検出部、３０５・・・人体領域推定部、３０６・・・被写体情報射影部、３０７・・・接続ライン設定部、３０８・・・画像射影部、３０９・・・画像合成部
【図１】
0005531603.tif 000002
【図２】
0005531603.tif 000003
【図３】
0005531603.tif 000004
【図４】
0005531603.tif 000005
【図５】
0005531603.tif 000006
【図６】
0005531603.tif 000007
【図７】
0005531603.tif 000008
【図８】
0005531603.tif 000009
【図９】
0005531603.tif 000010
【図１０】
0005531603.tif 000011
【図１１】
0005531603.tif 000012
【図１２】
0005531603.tif 000013
【図１３】
0005531603.tif 000014
【図１４】
0005531603.tif 000015
【図１５】
0005531603.tif 000016
【図１６】
0005531603.tif 000017
【図１７】
0005531603.tif 000018