(57)【要約】【課題】画像内に動体領域と静止領域が存在する場合に位置姿勢変化を推定する際、静止領域に注目して動体領域の動きによる影響を少なくして推定精度を高めること。【解決手段】画像処理装置は、画像データを入力する画像入力部１０３、および画像データと対となる奥行データを入力する奥行画像入力部１０４を備える。奥行分割部１０６は奥行データを奥行ごとに分割し、第１推定部１０７は、分割された奥行ごとに位置姿勢変化を推定する。グループ化処理部１０８は、分割された奥行ごとの位置姿勢変化の推定結果に基づいてグループを生成する。第２推定部１０９は、グループごとの位置姿勢変化の推定結果、および過去に演算された推定結果に基づいて画像全体の位置姿勢変化を決定する。【選択図】  図１
2015099483.tif 000002
【特許請求の範囲】
【請求項１】
画像データおよび奥行データを取得して、処理対象の位置姿勢変化を算出する画像処理装置であって、
前記奥行データを取得して奥行ごとに分割する奥行分割手段と、
前記画像データおよび前記奥行分割手段によって分割された奥行データから奥行ごとの位置姿勢変化を算出する算出手段と、
前記算出手段により算出された位置姿勢変化のデータを取得して、前記奥行分割手段によって分割された奥行データをグループにまとめるグループ化処理手段と、
前記グループ化処理手段により得られたグループにそれぞれ対応する、前記算出手段により算出された位置姿勢変化のデータから選択したデータによって画像全体の位置姿勢変化を決定する決定手段を備えることを特徴とする画像処理装置。
【請求項２】
前記算出手段は、前記奥行データを分割した際の基準フレームと、奥行データを分割していない非基準フレームとを比較することにより、奥行ごとの位置姿勢変化を算出することを特徴とする請求項１の画像処理装置。
【請求項３】
前記決定手段は、前記グループ化処理手段により得られた複数のグループうち、奥行を占める割合が最大のグループを選択し、当該グループに対応する位置姿勢変化のデータを、画像全体の位置姿勢変化のデータとして決定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記決定手段により決定された画像全体の位置姿勢変化のデータを記憶する記憶手段を備え、
前記決定手段は、最大の割合をもつグループが複数存在する場合、前記記憶手段に記憶されたデータを読み出して、該データの示す位置姿勢変化との差が最も小さい位置姿勢変化のデータを、画像全体の位置姿勢変化のデータとして決定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記グループ化処理手段により得られた複数のグループのうち、いずれかのグループを選択する選択手段を備え、
前記決定手段は、最大の割合をもつグループが複数存在する場合、前記選択手段によって複数のグループから選択されたグループに対応する位置姿勢変化のデータを、画像全体の位置姿勢変化として決定することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記決定手段は、最大の割合をもつグループが複数存在する場合、前記奥行データを分割した際の基準フレームについて画像全体の位置姿勢変化の決定を行わないことを特徴とする請求項３に記載の画像処理装置。
【請求項７】
撮像光学系および撮像素子により撮像された画像データを取得する画像取得手段と、
前記画像データと対をなす奥行データを取得する奥行画像取得手段と、
請求項１ないし６のいずれか１項に記載の画像処理装置を備えることを特徴とする撮像装置。
【請求項８】
前記画像データに係る像振れ補正を行う補正手段と、
前記決定手段によって決定された画像全体の位置姿勢変化のデータを取得して像振れ補正量を算出し、前記補正手段を制御する制御手段と、を備えることを特徴とする請求項７に記載の撮像装置。
【請求項９】
画像データおよび奥行データから処理対象の位置姿勢変化を算出する画像処理装置にて実行される制御方法であって、
前記画像データおよび奥行データを取得するステップと、
前記奥行データを奥行ごとに分割する奥行分割ステップと、
前記画像データおよび前記奥行分割ステップにて分割された奥行データから奥行ごとの位置姿勢変化を算出する算出ステップと、
前記算出ステップで算出された位置姿勢変化のデータを取得して、前記奥行分割ステップで分割された奥行データをグループにまとめるグループ化処理ステップと、
前記グループ化処理ステップで得られたグループにそれぞれ対応する、前記算出ステップで算出された位置姿勢変化のデータから選択したデータによって画像全体の位置姿勢変化を決定する決定ステップを有することを特徴とする画像処理装置の制御方法。
【請求項１０】
請求項９に記載した画像処理装置の制御方法の各ステップをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影画像および該撮影画像と同期している奥行画像を利用して、撮像装置と撮影対象との位置関係を推定する画像処理技術に関する。
【背景技術】
【０００２】
撮像装置を用いて撮像した画像から、撮像装置と撮影対象との相対的な位置や姿勢、位置や姿勢の時間的変化、撮影対象の位置や姿勢を推定する技術がある。画像の動きベクトルや対応点を使った推定方法が一般的である。近年、奥行画像の撮影技術の進歩により、奥行画像から撮影物体の３次元モデルを構築し、３次元モデルを使用して位置関係等を推定する方法が提案されている。
特許文献１には、面の隠れや曲面を含んだ物体に対応できるような面情報を含んだ位置姿勢推定用モデルを生成する装置が開示されている。特許文献２には、対象物体と非対象物体の像を含む距離画像データを入力として対象物体の位置姿勢を推定する処理の高速化、およびメモリ消費量の軽減を目的とする装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−  ７９４５３号公報
【特許文献２】特開２０１１−１７４８７８号公報
【非特許文献】
【０００４】
【非特許文献１】D.Titterton,“Strapdown Inertial Navigation Technology”,p.p.17-55,309-332
【発明の概要】
【発明が解決しようとする課題】
【０００５】
撮像装置で撮像した画像から、撮像装置のカメラワークを推定する場合、動きベクトルから推定する方法と、奥行画像から推定する方法がある。これらの方法では、撮影画像内に動体領域と静止領域が混在していると、位置姿勢の時間的変化およびその積分である位置姿勢により表されるカメラワークの推定が困難になる。特に動体領域が静止領域よりも大きい場合、静止領域に注目して位置姿勢の変化または位置姿勢の推定を行うと、動体領域の動きによる影響を被り易くなる。その結果、位置姿勢変化や位置姿勢の推定が困難になる可能性がある。
本発明の目的は、画像内に動体領域と静止領域が存在する場合に位置姿勢変化を推定する際、静止領域に注目して動体領域の動きによる影響を少なくして推定精度を高めることである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る装置は、画像データおよび奥行データを取得して、処理対象の位置姿勢変化を算出する画像処理装置であって、前記奥行データを取得して奥行ごとに分割する奥行分割手段と、前記画像データおよび前記奥行分割手段によって分割された奥行データから奥行ごとの位置姿勢変化を算出する算出手段と、前記算出手段により算出された位置姿勢変化のデータを取得して、前記奥行分割手段によって分割された奥行データをグループにまとめるグループ化処理手段と、前記グループ化処理手段により得られたグループにそれぞれ対応する、前記算出手段により算出された位置姿勢変化のデータから選択したデータによって画像全体の位置姿勢変化を決定する決定手段を備える。
【発明の効果】
【０００７】
本発明によれば、撮影画像内に動体領域と静止領域が存在する場合に位置姿勢変化を推定する際、静止領域に注目して動体領域の動きによる影響を少なくして推定精度を高めることができる。
【図面の簡単な説明】
【０００８】
【図１】図２から図８と併せて本発明の実施形態を説明するために、装置全体の構成を示すブロック図である。
【図２】本実施形態における全体の動作を示すフローチャートである。
【図３】本実施形態における奥行分割処理を示すフローチャートである。
【図４】本実施形態における奥行分割工程を例示する図である。
【図５】画像内の最大領域に基づく位置姿勢変化の推定、および奥行を占める最大領域に基づく位置姿勢変化の推定を説明する図である。
【図６】分割された奥行ごとに行われる位置姿勢変化の推定例、およびグループ化の例を示す図である。
【図７】ＩＣＰアルゴリズムによって点群間の位置姿勢変化を推定する様子を示す模式図である。
【図８】分割された奥行ごとの位置姿勢変化の推定結果と、これらに対応する奥行が占める割合を例示する度数分布図である。
【発明を実施するための形態】
【０００９】
本発明の実施形態に係る画像処理装置を備えた撮像装置について、添付図面を参照して説明する。画像処理装置は、画像データおよび奥行データを取得して、処理対象の位置姿勢変化を算出する。撮像装置の場合、処理対象は撮影対象である。
図１は、本実施形態に係る撮像装置１１３の構成例を示すブロック図である。撮像装置１１３は画像取得部１０１と、奥行画像取得部１０２と、位置姿勢変化推定結果保存部（以下、単に保存部という）１１１と、画像処理装置１１２と、制御部１１４を備える。
画像取得部１０１は、被写体を撮影して２次元画像のデータを取得するユニットである。画像取得部１０１は、画像処理装置１１２の画像入力部１０３に接続されており、画像取得部１０１が撮影する画像のデータは、画像入力部１０３を介して画像処理装置１１２に入力される。
【００１０】
奥行データを検出する奥行画像取得部１０２は、奥行画像入力部１０４に接続されている。奥行画像取得部１０２が撮影する奥行画像のデータは、奥行画像入力部１０４を介して画像処理装置１１２に入力される。本実施形態では、奥行データとして、例えば画素ごとに奥行のデータを持った奥行画像として説明する。奥行画像取得部１０２は、例えば、赤外線照射部と赤外線読み取り部を有する。赤外線照射部は所定パターンの赤外線を対象物に照射し、反射した赤外線を赤外線読み取り部が読み取る。これによりパターンの歪みを読み取り、奥行画像の撮影が行われる。尚、奥行画像の生成の方式は、他の方式でもよい。例えば、赤外線を照射してから、読み取りにかかる時間を計測することによって奥行画像の撮影をする、Ｔｉｍｅ  ｏｆ  ｆｌｉｇｈｔ方式や、多眼レンズによって撮影された複数枚画像の視差から奥行画像の生成を行う方式でもよい。奥行画像の生成が可能であれば、方式の如何は問わない。
【００１１】
画像処理装置１１２は、第１入力部である画像入力部１０３から入力される画像と、第２入力部である奥行画像入力部１０４から入力される奥行画像の各データを処理する。３次元点群生成部１０５は、画像入力部１０３によって入力された画像と、奥行画像入力部１０４によって入力された奥行画像の各データを使用して３次元点群の生成処理を行う。３次元点群のデータは、後述する奥行分割部１０６と第１推定部１０７に出力される。
【００１２】
奥行分割部１０６は、奥行画像入力部１０４によって入力された奥行画像を使用して、３次元点群生成部１０５によって生成された３次元点群を奥行ごとに分割する。分割処理の結果は第１推定部１０７に出力される。第１推定部１０７は、奥行ごとの位置姿勢変化を推定する。その際、３次元点群生成部１０５によって生成された３次元点群を非基準フレームとし、奥行分割部１０６によって分割された奥行情報をもつ３次元点群を基準フレームとする。第１推定部１０７は、分割された奥行ごとに非基準フレームに対して位置姿勢変化を推定する。
【００１３】
グループ化処理部１０８は、第１推定部１０７によって推定された奥行ごとの位置姿勢変化の演算結果（以下、第１演算結果という）をグループにまとめる処理を実行する。第２推定部１０９は、画像全体の位置姿勢変化を推定する。第２推定部１０９は、グループ化処理部１０８によってグループ化された、第１演算結果の中から１つを選び出して画像全体の位置姿勢変化の演算結果（以下、第２演算結果という）を決定する。また第２推定部１０９は保存部１１１に接続されており、第２演算結果は保存部１１１に保存される。保存部１１１は、フレーム間の位置姿勢変化に係る第２演算結果を記憶するとともに、積分を行い、ある基準フレームからの画像および奥行画像に対応する位置姿勢の状態を計算してメモリに保存する。ある基準フレームとは、例えば画像データの撮影開始タイミングとするフレームである。
入力部１１０は保存部１１１に接続されており、過去の位置姿勢変化の推定結果（以下、過去演算結果という）を保存部１１１から取得して、第２推定部１０９へ出力する。
【００１４】
次に、図２に示すフローチャートを参照して、撮像装置１１３が行う処理を詳細に説明する。
まず、Ｓ２０１において、位置姿勢変化の推定に用いるデータの入力処理が実行される。具体的には、画像取得部１０１による画像の撮影と、奥行画像取得部１０２による奥行画像の撮影が同時に行われる。画像取得部１０１による画像データは画像入力部１０３を介して画像処理装置１１２へ入力され、奥行画像取得部１０２による奥行画像データは奥行画像入力部１０４を介して画像処理装置１１２へ入力される。
【００１５】
Ｓ２０２で３次元点群生成部１０５は、Ｓ２０１で入力された画像と奥行画像を使用して３次元点群を生成する。本実施形態の３次元点群とは、３次元座標上に少なくとも画素（色・諧調）情報と位置情報を持った点の集合のことである。奥行画像を利用して、画像の各画素を３次元座標上にマッピングすることで３次元点群を生成することができる。各点の情報については法線の情報等を有するものとしてもよい。３次元点群を生成する理由は、２次元の画像と２次元の奥行画像の各データに基づいて、撮影対象と撮像装置１１３との３次元空間での位置および姿勢の関係を求めるためである。
【００１６】
Ｓ２０３で奥行分割部１０６は、Ｓ２０１で入力された奥行画像に基づいて、Ｓ２０２で生成された３次元点群を奥行ごとに分割する。奥行分割処理については、図３に示すフローチャートを用いて後で詳述する。Ｓ２０４で第１推定部１０７は、Ｓ２０３で分割した奥行ごとに位置姿勢変化を推定する。Ｓ２０３で奥行ごとに分割した３次元点群を基準フレームとし、該基準フレームと非基準フレームから、分割した奥行ごとの位置姿勢変化が推定される。非基準フレームとしては、Ｓ２０２で生成され、３次元点群生成部１０５から第１推定部１０７に直接入力された、例えば次のサンプリングタイミングの３次元点群とする。
【００１７】
Ｓ２０５でグループ化処理部１０８は、Ｓ２０４で推定した位置姿勢変化について、類似の推定結果ごとに、分割した奥行データをグループ化する処理を実行する。グループ化処理の詳細については後述する。Ｓ２０６は、Ｓ２０５でグループ化した位置姿勢変化の推定結果から、画像全体にて奥行を占める割合（以下、占有率という）に関する度数分布が算出される。この度数分布において最大の極値を持つグループが選択される。この処理はグループ化処理部１０８または第２推定部１０９が実行する（その詳細については後述する）。
【００１８】
Ｓ２０７では、Ｓ２０６で選択された、最大の極値をもつグループの数を、第２推定部１０９が判定する。最大の極値をもつグループが単数の場合、Ｓ２１２へ処理を進め、当該グループが複数存在している場合にはＳ２０８に移行する。Ｓ２０８は、保存部１１１に過去演算結果、つまり過去における位置姿勢変化の推定結果が保存されているか否かの判定処理であり、入力部１１０または第２推定部１０９が行う。過去演算結果が保存部１１１に保存されている場合、Ｓ２０９へ進むが、保存されていなかった場合にはＳ２１１へ進む。Ｓ２０９にて、保存部１１１に記憶されている過去演算結果は、入力部１１０から第２推定部１０９に出力される。
【００１９】
Ｓ２１０で第２推定部１０９は、Ｓ２０９で取得した過去演算結果を利用し、動体領域を識別する。第２推定部１０９は、Ｓ２０５でグループ化された位置姿勢変化の推定結果から、静止領域の位置姿勢変化の推定結果を選択する。これにより画像全体での位置姿勢変化が推定され、第２演算結果が決定されて、Ｓ２１２へ進む。Ｓ２１０における、過去演算結果を利用した動体領域の識別処理では、過去演算結果に対して一番近い位置姿勢変化の推定結果を選択する処理が行われる。例えば、フレームレート６０ｆｐｓ（frames per second）での動画撮影と奥行画像の同期取得を行う場合、現在の位置姿勢変化の推定処理時点と、過去の位置姿勢変化の推定処理時点との間隔は１／６０秒である。この短い間隔のため、静止領域の位置姿勢変化については、像振れがあった場合でも、現在の位置姿勢変化と過去の位置姿勢変化とが非常に近い値をもつ可能性が高い。従って、第２推定部１０９は、過去演算結果に近い位置姿勢変化を、静止領域の位置姿勢変化として選択し、画像全体での位置姿勢変化の推定結果とする。これにより、画角内に瞬間的に侵入する移動体への対策を講じることができるので、安定した推定結果が得られる。つまり、画角内に一瞬の間のみ侵入する移動体がある場合、分割した奥行ごとの位置姿勢変化の推定結果が複数存在することになるので、図２のＳ２０７からＳ２０８、Ｓ２０９へと処理が進む。Ｓ２０９で取得される過去演算結果は前記移動体の影響を受けていない演算結果であり、Ｓ２１０にて、過去演算結果に近い位置姿勢変化の推定結果を有する領域が選択される。従って、一時的に画角内に侵入する移動体によって、推定結果への影響を被ることがない。
Ｓ２１１で第２推定部１０９は、Ｓ２０５でグループ化された奥行のうち、いずれか１つを選択する。本実施形態では選択部１１５（図１参照）を備え、ユーザ操作に従って、複数のグループから１つを選択する処理が実行される。選択部１１５はユーザ操作に応じてグループを選択するための操作部や設定画面等を表示する表示部を備える。Ｓ２１１で選択されたグループに係る位置姿勢変化の推定結果は、第２演算結果として決定され、Ｓ２１２へ処理を進める。
【００２０】
Ｓ２１２では、Ｓ２０７、Ｓ２１０、Ｓ２１１を経て決定された位置姿勢変化の推定結果が保存部１１１に保存される。また保存部１１１は第２推定部１０９が決定した位置姿勢変化の積分を行い、ある基準フレームからの位置姿勢状態の変化を計算する。ある基準フレームとは、例えば画像データの撮影開始タイミングとするフレームである。位置姿勢変化の積分処理において、例えば平行移動成分の積分は各要素の積分で行い、姿勢成分の積分はクォータニオン乗算により行うものとする。また、慣性航法装置（Inertial Navigation System）における軌跡演算で行われるように、統一した座標系である基準フレームからの撮像装置と撮影対象との相対的な位置姿勢の変化を計測できるように工夫してもよい。具体的には、姿勢変化の影響を平行移動成分の積分座標系に反映させることで統一座標系における位置姿勢変化を厳密に算出することができる。統一座標系における位置姿勢の積分技術は、非特許文献１に記載された基礎技術である。
【００２１】
保存部１１１に記憶される、ある基準フレームからの位置姿勢変化の積分結果は、像振れ補正等に使用される。撮像装置１１３は、画像取得部１０１内に撮像光学系および撮像素子と、撮像素子による画像データに係る像振れ補正を行う補正レンズ等の手段を有する。撮像装置１１３の制御部１１４はＣＰＵ（中央演算処理装置）を備え、第２推定部１０９が決定した画像全体の位置姿勢変化のデータを取得して像振れ補正量を算出する。制御部１１４は、補正レンズ等を駆動することで、手振れ等に応じた像振れ補正を行う。また、入力画像に対し、積分した位置姿勢変化を打ち消す逆変換の画像変形を実施することにより、画像処理で像振れ補正を行うことができる。例えば、撮像装置の回転ブレに伴う像振れに対しては射影変換を実行することで像振れ補正を行える。また、撮像装置の光軸に垂直な方向の並進ブレにより生じる像振れに対しては被写体までの距離に反比例した並進補正を実行することで像振れ補正を行える。撮像装置の光軸に垂直な方向の並進ブレに対しては、拡大縮小の画像処理により補正を行うことができる。
【００２２】
次に、図２のＳ２０３に示す奥行分割処理例を、図３および図４を参照して説明する。図３は奥行分割部１０６が行う処理を例示するフローチャートである。また図４は本実施形態における奥行分割例の説明図である。
Ｓ３０１で奥行分割部１０６は、奥行を分割するための基準として閾値を設定する。この設定は、奥行を分割する際、連続的な奥行の長さが閾値を超えないようにするために行われる。Ｓ３０２では、撮影物体の３次元座標上での奥行について、手前から奥側へと順に点群が存在しているかどうかが判断される。連続的な奥行の長さが、Ｓ３０１で設定した閾値を超えているか否が判定される。図４（Ａ）は撮像装置から見た場合に手前から順に配置された立方体、第１の円柱、第２の円柱を撮影対象とする例を示す。図４（Ｂ）に示すように、連続的な奥行の長さが閾値を超えない場合、Ｓ３０３へ処理を進める。図４（Ｄ）は立方体、第１の円柱、第２の円柱に加えて、直方体がさらに配置された例を示す。図４（Ｅ）に示すように直方体の画像は、手前から奥側へ連続して点群が存在しているので、Ｓ３０２では連続的な奥行の長さが閾値を超えたと判断され、Ｓ３０４へ進む。
【００２３】
Ｓ３０３では、図４（Ｃ）で示すように、点群の存在しない奥行方向の領域が不連続な領域と判断され、不連続な領域に分割面が設定されて奥行の分割処理が実行される。図４（Ｃ）では、３つの領域（奥行１ないし３参照）の分割が行われる。一方、Ｓ３０４では、図４（Ｆ）に示すように、連続的な奥行の長さが閾値を超えてしまっているので、奥行の長さが閾値を超えないように、閾値での奥行の分割処理が実行される。図４（Ｆ）では、「奥行１」と「奥行２」の各領域の間と、「奥行２」と「奥行３」の各領域の間において、閾値に応じた分割面が設定される。
【００２４】
Ｓ３０５では、分割面よりもさらに奥側の領域に撮影対象があるか否かの判定処理である。判定の結果、分割面よりも撮影対象が存在しない場合に奥行分割処理を終了し、分割面よりも奥側に撮影対象が存在する場合にはＳ３０２に処理を戻す。Ｓ３０１からＳ３０５の処理が終了すると、図２のＳ２０２で生成された３次元点群は、連続的な奥行の長さが閾値以下の３次元点群に分割されることになる。尚、本実施形態では、手前側から奥側へと順に奥行分割処理を行ったが、これとは逆に、奥側から手前側へと順に奥行分割処理を行ってもよい。また、奥行分割方法については、異なる撮影物体の領域の奥行を分割可能であればどのような方法でも構わない。例えば、点群の点の数が分割領域毎に同一数になるように奥行を分割してもよいし、撮影物体に関係なく奥行を均等に分割してもよい。
【００２５】
次に、図２のＳ２０４に示す奥行ごとの位置姿勢変化の推定処理について、図６を参照して説明する。以下では、図６（Ｂ）に示した、奥行ごとに分割した３次元点群を基準フレームとし、図６（Ａ）に示した、次のサンプリングタイミングでの３次元点群を非基準フレームとする。図６は、分割した奥行ごとに位置姿勢変化を推定する場合を例示する。図６（Ｂ）の画像を基準フレームとして行う奥行分割処理では、図４（Ｃ）の例と同様に、３つの奥行１ないし３に分割されるものとする。
図６（Ｃ）は、「奥行１」における立方体の位置姿勢変化が推定される様子を示す。図６（Ｄ）は、「奥行２」における第１の円柱の位置姿勢変化が推定される様子を示す。図６（Ｅ）は、「奥行３」における第２の円柱の位置姿勢変化が推定される様子を示す。それぞれに分割された奥行ごとに、図６（Ａ）と（Ｂ）の各フレームの画像を比較することで、３次元点群の位置姿勢変化が推定される。
【００２６】
本実施形態では、時間軸方向に連なる複数のフレーム間で位置姿勢変化の推定を行うものとし、基準フレームと非基準フレームは時間軸方向にて互いに関連しているフレームとする。両フレーム同士は必ずしも隣接していなくてもよい。３次元点群間の位置姿勢変化の推定には、例えば、ＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）アルゴリズムを使用する。
図７の模式図を用いてＩＣＰアルゴリズムの具体的な手法を説明する。図７（Ｂ）は基準フレームの点群（白丸印参照）を示し、図７（Ａ）は非基準フレームでの点群（黒丸印参照）を示す。図７（Ｃ）は、図７（Ｂ）に示す基準フレームの点群の各点を、図７（Ａ）に示す非基準フレームの点群の中で最も近い点に対応させる処理を示す。楕円枠で囲んで示すように、枠内の点同士が対応した関係にあることを表している。図７（Ｄ）は、対応する点間の距離について、最小二乗法により、基準フレームの点群（白丸印参照）を平行移動または回転移動させ、非基準フレームの点群（黒丸印参照）に重なるよう移動させた場合の様子を示している。並進または回転の後、一定の処理回数を超えるか、または対応点間の距離の二乗和が閾値以下になるまでの間、フレーム間での前記処理が繰り返し実行される。その結果、図７（Ｅ）のようにフレーム間の距離の差を少なくして、位置姿勢変化が推定される。例えば、平行移動を奥、縦、横の各方向の成分を含む３次元のベクトルで表し、回転移動を４次元のクォータニオンで表す。これによって、点の平行移動と回転移動を組み合わせた７次元の空間で表わされる、位置姿勢変化または位置姿勢を数値的に記述できる。
【００２７】
本実施形態ではＩＣＰアルゴリズムの一例を示したが、画像フレーム間での位置姿勢変化を推定できる方法であれば、如何なる方法を用いてもよい。例えば、本実施形態ではフレーム内の全ての点を用いて推定処理を行っているが、ランダムサンプリングや、一定間隔ごとのサンプリングによって使用する点数を減らしても構わない。また、本実施形態ではフレーム間において最も近い点を対応点とする例を説明したが、さらに点の色や法線等の情報を使用し、より良い対応点を探索する方法等がある。
【００２８】
次に、図２のＳ２０５に示したグループ化処理について、図８を参照して説明する。図８は位置姿勢変化に対する占有率を示す度数分布図である。
グループ化処理部１０８は、図２のＳ２０４で推定された位置姿勢変化から、類似した推定結果を判断して、複数の奥行データをグループ化する処理を行う。図８（Ａ）では、ある１つの並進成分の位置姿勢変化を横軸とし、奥行クラスタの度数を縦軸としている。つまり、縦軸に示す、奥行を占める割合とは、全体の度数で各グループの度数を除算した値を、百分率で表した値に相当する。この度数分布に対して極値を探索する処理が実行され、各ローカルの極値の近傍ごとにセグメントをまとめてグループ化が行われる。グループ間の距離が近い場合、同一のグループとみなされる。ここで、グループ間の距離が近いというのは、例えば下記条件を満たす場合とする。
・第１条件：位置姿勢変化の平行ベクトルの向きを示す符号が同一であり、かつ平行ベクトルの大きさの差が閾値以内であること。
・第２条件：回転移動の回転角度の大きさが閾値以内、つまりクォータニオンのノルムの差が一定値以内であること。
【００２９】
図８（Ａ）では、ローカルの極値が４箇所に現れており、それぞれグループ１、グループ２、グループ３、グループ４である。この場合、グループ３とグループ４とは、極値間の距離が短いため、上記条件を満たしている。このようにグループ間の距離が近い場合、グループ４とグループ３については類似の位置姿勢変化の推定結果とみなされる。グループ４をグループ３に含めることができる。この場合、グループ４がグループ３に統合されるので、度数の一番多いグループは、グループ３となる。
【００３０】
図６（Ｆ）はグループ化処理例を示す。本例の場合、グループ化処理部１０８は、奥行２、奥行３について類似の位置姿勢変化の推定結果として同一のグループにまとめる処理を実行する。奥行１の位置姿勢変化の推定結果については、奥行２および奥行３での位置姿勢変化の推定結果とは非類似と判断され、単独のグループとして取り扱う。
【００３１】
図２のＳ２０６では、Ｓ２０５でグループ化処理を行った、位置姿勢変化の推定結果の中から、画像全体の奥行を占める割合、すなわち占有率に対応する度数が一番多いグループを選択する処理が実行される。具体的には、図８（Ａ）に示す度数分布の場合、最大の度数を持つグループ３が選択される。すなわち、グループ４を含めたグループ３の度数が最大である。また、図６（Ｆ）に示す例では、奥行１の第１グループと、奥行２および奥行３をまとめた第２グループが存在している。第１グループに比べ、第２グループの方が画像全体での占有率が高いので、第２グループが選択される。
図２のＳ２０７では、Ｓ２０６で選択されたグループが複数存在しているか否かについて判定処理が実行される。図８（Ｂ）に示す例では、度数が一番の多いグループが複数存在していると判断される。つまり、グループ１、グループ３の度数が同一の値でかつ最大である。この場合にはＳ２０８に処理を進める。
【００３２】
一方、図８（Ａ）に示す例では、度数が一番の多いグループは単数であり、グループ３である。この場合、グループ３に対応する位置姿勢変化が採用される。本実施形態では、画像内を占める割合が最大である領域に係る位置姿勢変化の推定結果を、画像全体の位置姿勢変化として採用していない。奥行を占める割合が最大である領域に係る位置姿勢変化の推定結果が、画像全体の位置姿勢変化の推定結果として選択される。
本実施形態では、図２のＳ２０６で選択した、奥行を占める割合が一番高いグループが複数存在した場合、Ｓ２１０にて過去演算結果と比較することで、これに一番近いグループが選択される。またはＳ２１１にてユーザ操作により、提示された選択肢のグループから１つが選択される。これにより、画像全体の位置姿勢変化の推定結果が特定される。したがって、本実施形態によれば、画像内に動体領域と静止領域が混在する場合でも、静止領域に注目して動体領域に引きずられにくい位置姿勢変化の推定が可能となる。
【００３３】
［変形例］
本実施形態の変形例は、図２のＳ２０６からＳ２１１の処理が以下の点で相違する。
（Ａ）Ｓ２０７にて奥行を占める割合が一番高いグループが複数存在することが判断された場合、その時点で第２推定部１０９は、位置姿勢変化の推定を不可能と判断すること。
（Ｂ）Ｓ２０８にて過去演算結果が存在しなかった場合、その時点で第２推定部１０９は、位置姿勢変化の推定を不可能と判断すること。
第２推定部１０９は、位置姿勢変化の推定を不可能と判断した場合、位置姿勢変化の推定処理を行わずに、現フレームでの処理を見送るか、または推定処理自体を終了する。なお、上記（Ａ）と（Ｂ）については、それらの一方または両方の処理を実施可能である。
【００３４】
次に、図５を参照して、本実施形態の効果を説明する。
図５（Ａ）は非基準フレームの画像内の領域の割合を示し、図５（Ｂ）は基準フレームの画像内の領域の割合を示す。また、図５（Ｃ）は、非基準フレームにおいて動体領域および静止領域に係る奥行の割合を示す。図５（Ｄ）は、基準フレームにおいて動体領域および静止領域に係る奥行の割合を示す。図５（Ｅ）は本実施形態による位置姿勢変化の推定結果を説明する図である。図５（Ｆ）は従来法による位置姿勢変化の推定結果を説明する図である。
【００３５】
図５（Ａ）および図５（Ｂ）では、画面内で静止領域よりも動体領域の方が大きい面積を占めている。また図５（Ｃ）および（Ｄ）に示すように、奥行方向において、動体領域に比べて静止領域の占める割合が大きい。図５（Ａ）、図５（Ｂ）の画像において、従来法の動きベクトルや対応点を使用した位置姿勢変化の推定処理を行った場合、静止領域に比べて動体領域内にて計算に使用する動きベクトルや対応点が多く表れる。このため、図５（Ｆ）に示すように動体領域の位置が変わらないという結果になる可能性が高くなる。つまり、従来法では、動体領域に引きずられた推定結果になりやすい。
【００３６】
これに対して、本実施形態では図５（Ｃ）、図５（Ｄ）の画像に示すように、奥行方向にて、より多くの領域を占める静止領域で位置姿勢変化推定の計算が行われる。このため、図５（Ｅ）に示すように静止領域の位置が不変であり、すなわち動体領域を計算結果から除外し、動体領域に引きずられにくい位置姿勢変化の推定が可能となる。例えば、従来の像振れ補正（防振）では、動体領域に引きずられた不自然な補正になる可能性があるのに対して、本実施形態では、位置姿勢変化の推定結果を像振れ補正に利用することにより、動体領域に引きずられにくい補正を行うことができる。
本実施形態によれば、撮影画像内に動体領域と静止領域が存在する場合に位置姿勢変化を推定する際、動体領域の動きによる影響を抑えて推定精度を高めることができる。
【００３７】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００３８】
１０１  画像取得部
１０２  奥行画像取得部
１０６  奥行分割部
１０７  第１推定部（算出手段）
１０８  グループ化処理部
１０９  第２推定部（決定手段）
１１１  保存部
１１２  画像処理装置
１１３  撮像装置
【図１】
2015099483.tif 000003
【図２】
2015099483.tif 000004
【図３】
2015099483.tif 000005
【図４】
2015099483.tif 000006
【図５】
2015099483.tif 000007
【図６】
2015099483.tif 000008
【図７】
2015099483.tif 000009
【図８】
2015099483.tif 000010