(57)【要約】【課題】構図の再現精度の高い画像を効率よく撮影すること。【解決手段】撮像装置１００は、画像から被写体を選択する被写体選択部１０９と、選択した被写体の特徴点を抽出する特徴点抽出手部１０９と、複数の画像における前記特徴点の位置関係に基づいて、被写体の３次元情報および撮像した撮像装置の位置姿勢を算出する位置姿勢推定部１０６と、第１の画像を含む第１の画像群から抽出した第１の特徴点および第２の画像群から抽出した第２の特徴点と、第１の画像群における被写体の３次元情報または第２の画像群における被写体の３次元情報に基づいて、第１の画像を撮像した際の撮像装置と第２の画像群を撮像している撮像装置の相対位置姿勢を検出する相対位置姿勢検出部１００と相対位置姿勢の検出結果を報知する誘導部１１１と、を備える。【選択図】図１
2020043528.tif 000002
【特許請求の範囲】
【請求項１】
画像から被写体を選択する選択手段と、
選択した前記被写体の特徴点を抽出する抽出手段と、
複数の画像における前記特徴点の位置関係に基づいて、前記被写体の３次元情報および撮像した撮像装置の位置姿勢を算出する算出手段と、
第１の画像を含む第１の画像群から抽出した第１の特徴点および第２の画像群から抽出した第２の特徴点と、前記第１の画像群における前記被写体の３次元情報または前記第２の画像群における前記被写体の３次元情報に基づいて、前記第１の画像を撮像した際の撮像装置と前記第２の画像群を撮像している撮像装置の相対位置姿勢を検出する検出手段と、
前記相対位置姿勢の検出結果を報知する報知手段と、を備える
ことを特徴とする画像処理装置。
【請求項２】
前記選択手段は、前記第１の画像群および前記第２の画像群に共通する被写体を選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記選択手段は、前記第１の画像群および前記第２の画像群の被写体のうち、被写体の特徴量が類似する被写体を選択することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記選択手段は、被写体距離の異なる複数の被写体を選択することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
被写体の選択を撮影者が行う場合、前記選択手段は、前記第１の画像および撮影者が被写体距離を認識可能な前記第２の画像群の表示を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記算出手段は、異なる時刻に連続して撮影した前記複数の画像の対応する前記特徴点の位置関係から前記被写体の３次元情報および撮像した撮像装置の位置姿勢を算出することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記報知手段は、前記検出結果に基づき、前記第２の画像群を撮像している撮像装置の位置姿勢を前記第１の画像を撮像した際の撮像装置の位置姿勢に誘導することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記報知手段は、表示部に撮像装置の並進方向および回転方向を表示して、前記撮像装置の位置姿勢を誘導することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記報知手段は、前記検出結果に基づき、前記第２の画像群の構図が前記第１の画像を撮像した際の構図と一致するよう被写体を誘導することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項１０】
前記検出手段は、前記第２の画像群を撮像している撮像装置の位置姿勢が前記第１の画像を撮像した際の撮像装置の位置姿勢に一致したと判定した場合、第２の画像を取得して記憶部に記録することを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
画像処理装置の制御方法であって、
画像から被写体を選択する選択工程と、
選択した前記被写体の特徴点を抽出する抽出工程と、
複数の画像における前記特徴点の位置関係に基づいて、前記被写体の３次元情報および撮像した撮像装置の位置姿勢を算出する算出工程と、
第１の画像を含む第１の画像群から抽出した第１の特徴点および第２の画像群から抽出した第２の特徴点と、前記第１の画像群における前記被写体の３次元情報または前記第２の画像群における前記被写体の３次元情報に基づいて、前記第１の画像を撮像した際の撮像装置と前記第２の画像群を撮像している撮像装置の相対位置姿勢を検出する検出工程と、
前記相対位置姿勢の検出結果を報知する報知工程と、を有する
ことを特徴とする制御方法。
【請求項１２】
請求項１乃至１０のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
定点撮影では、異なる時間において同一被写体を同じ構図で撮影する。例えば、景色を同じ構図で時間をおいて撮影することで、街の移り変わりや季節による自然の変化を観察することができる。定点撮影のためにカメラを固定して撮影し続ける定点観測専用カメラがあるが、装置が高価であるだけでなく設置場所の確保などさまざまな制約があるため、一般ユーザが容易に手に入れられるものではない。また、三脚に個人所有のカメラを固定して定点撮影を行う場合も、三脚の設置位置の記録を長い時間に渡って保持し続けなければならず、さらに、撮影のたびに同じ三脚を持参しなければならないため、撮影が大がかりになってしまう。そのため、手持ち撮影による定点撮影が所望されている。
【０００３】
定点撮影の別の例として、同一人物を同じポーズで時間をおいて撮影し、年齢を重ねたときの人物の変化を記録するという撮影技法もある。カメラをいつも同じ位置と向きに設置しても、被写体となる人が動いてしまうと構図が変わってしまうため、構図再現の精度は低くなってしまう。これに対し、特許文献１は、現在モニタリング中の被写体が過去の画像内のどこに位置していたかをマーカーで表示して、過去に撮影した写真と同様の視野に撮影者を誘導する方法を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０７４３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の方法では、被写体の写るべき位置を指示するのみであり、撮影者はカメラをどのように動かせばよいのか知ることができない。つまり、撮影者はカメラを並進させればよいのか回転させればよいのか等が分からないため、撮影者は試行錯誤の上、被写体がマーカーに一致する位置と方向を探し出さなければならない。このため、撮影までに時間がかかるだけでなく、構図の再現精度も低くなってしまう恐れがある。
【０００６】
本発明は、構図の再現精度の高い画像を効率よく撮影することができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の画像処理装置は、画像から被写体を選択する選択手段と、選択した前記被写体の特徴点を抽出する抽出手段と、複数の画像における前記特徴点の位置関係に基づいて、前記被写体の３次元情報および撮像した撮像装置の位置姿勢を算出する算出手段と、第１の画像を含む第１の画像群から抽出した第１の特徴点および第２の画像群から抽出した第２の特徴点と、前記第１の画像群における前記被写体の３次元情報または前記第２の画像群における前記被写体の３次元情報に基づいて、前記第１の画像を撮像した際の撮像装置と前記第２の画像群を撮像している撮像装置の相対位置姿勢を検出する検出手段と、前記相対位置姿勢の検出結果を報知する報知手段と、を備える。
【発明の効果】
【０００８】
本発明によれば、構図の再現精度の高い画像を効率よく撮影することができる画像処理装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】撮像装置の構成例を示す図である。
【図２】基準画像記録処理を示すフローチャートである。
【図３】構図再現画像記録処理を示すフローチャートである。
【図４】構図再現画像撮影モード設定画面の一例を示す図である。
【図５】基準画像撮影中の表示部の表示の一例を示す図である。
【図６】撮像装置の位置姿勢推定を説明する図である。
【図７】被写体選択中の表示部の表示の一例を示す図である。
【図８】被写体選択中の表示部の表示の別の一例を示す図である。
【図９】基準静止画像撮影時と構図再現画像撮影時の様子を説明する図である。
【図１０】被写体３次元点とフィッティングの原理を説明する図である。
【図１１】被写体と位置姿勢と特徴点の関係を示す図である。
【図１２】誘導中の表示部の表示の一例を示す図である。
【図１３】誘導中の表示部の表示の別の一例を示す図である。
【図１４】被写体を誘導する例を示す図である。
【図１５】構図が一致した場合の表示部の表示の一例を示す図である。
【発明を実施するための形態】
【００１０】
（第１実施形態）
図１は、撮像装置１００の構成例を示す図である。撮像装置１００は、例えば、コンパクトデジタルカメラ、デジタル一眼カメラ、ビデオカメラ、カメラ付きスマートフォン、車載カメラ等、撮像素子を備える撮像装置である。撮像装置１００は、レンズ１０１、撮像素子１０２、撮像部１１５、画像処理部１０７、測距部１１６、基準画像撮影部１０３、構図再現画像撮影部１０４、距離演算部（以下、距離演算部という）１０８、記憶部１１４、システム制御部１１７および表示部４０１を備える。
【００１１】
レンズ１０１は、シフトレンズやズームレンズなどの複数のレンズや絞りを含む光学系である。レンズ１０１は被写体からの光を集光し、撮像素子１０２上に光学像を作る。撮像素子１０２は、光学像を電子像に変換して画像データを時系列に出力する。撮像部１１５は、システム制御部１１７からの撮像指示に基づいてレンズ１０１および撮像素子１０２を制御して撮像を行い、撮像素子１０２から画像を取得する。システム制御部１１７は、撮影者によりシャッタボタン４０３が押下されると、撮像部１１５に撮影指示の信号を送る。画像処理部１０７は、撮像部１１５から取得した画像に対して、デモザイキング、欠陥補正、歪曲補正、ノイズ補正、倍率色収差補正、ホワイトバランス調整、現像処理、色変換処理、符号化処理、拡縮処理などの複数の画像処理を実行する。
【００１２】
測距部１１６は、撮像装置１００から被写体までの距離を計測する。測距部１１６による被写体までの距離の計測方法は、例えば、ＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）やＬＩＤＡＲ（Ｌｉｇｈｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｒａｎｇｉｎｇ）などである。
ＴＯＦおよびＬＩＤＡＲでは、光源から光を照射し、被写体で反射した光を受光部で受光するまでの時間から被写体までの距離を算出する。本実施形態では、光源から光を照射し、被写体で反射した光を集光して受光部である撮像素子に結像させる。撮像素子は光学像を光電変換して、画像データを撮像部１１５の撮影時刻と略同時刻に取得して、時系列に出力する。光源が照射する光は、例えば、赤外線などである。測距に用いる撮像素子やレンズは、撮像部１１５と共通でもよいし、別に設けてもよい。
【００１３】
また、測距部１１６による被写体までの距離の計測は、ＴＯＦやＬＩＤＡＲに限られるものではなく、ステレオカメラを用いた計測や、パターン投影による計測など他の方法で行ってもよい。ステレオカメラを用いた計測では、視差を持つ複数の画像を撮影して、その視差量から被写体までの距離を算出する。
【００１４】
また、撮像装置１００から被写体までの距離を計測する方法として、撮像装置１００の位置姿勢推定技術を用いることもできる。例えば、撮影時刻の異なる複数の画像の視差量とその時の撮像装置１００の並進量から被写体までの距離を算出できる。また、画像に大きさが既知である被写体が写っている場合には、既知の被写体の像の大きさから所望の被写体までの距離を算出することもできる。撮像装置１００から被写体までの距離の計測に位置姿勢推定技術を用いる場合には、光源やステレオカメラが不要であるため、撮像装置１００に測距用の構成を追加する必要がない。
【００１５】
基準画像撮影部１０３は、基準画像の構図を再現した画像を撮影するための構図再現画像撮影モードにおいて、基準となる基準画像列（基準画像群）を取得し、構図再現のために必要となる情報を取得する。構図再現画像撮影モードにおいて基準画像撮影が有効に設定されている場合に、シャッタボタン４０３が押下されると、基準画像撮影部１０３は、基準静止画像を取得する。ここで、基準画像列は１枚であっても構わないが、基準画像列が１枚の場合は基準画像列と基準静止画像は一致する。以下では、基準画像列と基準静止画像を総称して基準画像と呼ぶ。基準画像撮影部１０３は、特徴点抽出部１０５および位置姿勢推定部（以下、推定部という）を含む。
【００１６】
特徴点抽出部１０５は、基準画像から特徴点を抽出する。推定部１０６は、撮影時の撮像装置１００の位置姿勢と、撮影した被写体の３次元情報を算出する。ここで、被写体の３次元情報とは被写体の３次元的な構造を表した情報であり、例えば、３次元点やメッシュなどである。以下では、被写体の３次元情報として、３次元点を用いて説明する。
【００１７】
被写体距離演算部（以下、距離演算部という）１０８は、被写体までの距離を示す距離画像を生成する。距離画像は、例えば、被写体までの距離を色や濃淡で表した画像である。測距部１１６で撮像装置１００から被写体までの距離を算出していた場合は、距離演算部１０８は、測距部１１６で算出された距離に基づいて距離画像を生成する。測距部１１６で撮像装置１００から被写体までの距離を算出していない場合は、距離演算部１０８は、測距部１１６で撮影した画像データに基づいて、撮像装置１００から被写体までの距離を算出し、距離画像を生成する。
【００１８】
構図再現画像撮影部１０４は、基準画像の構図を再現した画像を撮影するための構図再現画像撮影モードにおいて、構図を再現した構図再現画像を撮像するための処理を行う。構図再現画像撮影モードにおいて構図再現画像撮影が有効に設定されると、構図再現画像撮影部１０４は、構図再現画像列（構図再現画像群）を取得する。また、構図再現画像撮影部１０４は、構図再現画像列を撮影中に基準静止画像と略同じ構図で構図再現静止画像を取得する。以下では、構図再現画像列と構図再現静止画像を総称して構図再現画像と呼ぶ。構図再現画像撮影部１０４は、被写体選択部１０９、特徴点抽出部１０５、推定部１０６、相対位置姿勢検出部（以下、検出部という）１１０、誘導部１１１および位置姿勢一致判定部（以下、判定部という）１１２を含む。
【００１９】
被写体選択部１０９は、基準画像の被写体と構図再現画像の被写体のうち、同一の被写体を選択する。検出部１１０は、構図再現画像列を撮影中の撮像装置１００の位置姿勢に対する、基準静止画像を撮影した時の撮像装置１００の相対位置姿勢を検出する。誘導部１１１は、検出部１１０による検出結果を撮影者に対して報知し、構図再現画像列を撮影中の撮像装置１００の位置姿勢を、基準静止画像を撮影した時の撮像装置１００の位置姿勢へ誘導する。判定部１１２は、構図再現画像列を撮影中の撮像装置１００の位置姿勢が、基準静止画像を撮影した時の撮像装置１００の位置姿勢と略一致したか否かを判定する。
【００２０】
記憶部１１４は、基準画像列、基準静止画像、構図再現静止画像、被写体３次元点などを記憶する。表示部４０１は、ＬＣＤ（液晶表示装置）等の表示デバイスを備え、各種設定等の情報、各種画像や誘導情報等を表示する。システム制御部１１７は、撮像装置１００全体を制御する。システム制御部１１７は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備え、不揮発性メモリに記憶されたプログラムを読み出して実行することで、各種処理を実現する。
【００２１】
次に、図２を用いて基準画像を取得する処理について、図３を用いて構図再現画像を取得する処理について説明する。図２は、基準画像記録処理を示すフローチャートである。基準画像記録処理では、基準画像列と基準静止画像を撮影する。ステップＳ２０１で、基準画像撮影部１０３は、基準画像列の撮影を開始する。基準画像列の撮影は、例えば、撮影者が基準静止画像を撮影するためのモードを選択して、シャッタボタン４０３を長押しすることにより開始される。
【００２２】
図４は、構図再現画像撮影モード設定画面の一例を示す図である。撮影者が構図再現撮影モード設定を選択すると、表示部４０１に構図再現画像撮影モード設定画面が表示される。構図再現画像撮影モード設定画面では、例えば、基準画像撮影と構図再現画像撮影が選択表示される。撮影者が撮像装置１００に設置された選択決定ボタン４０２を操作して、基準画像撮影を有効に設定して、シャッタボタン４０３を押下すると、基準画像列撮影が開始される。なお、表示部４０１がタッチパネルである場合には、タッチによる操作で基準画像撮影を有効に設定してもよい。
【００２３】
図５は、基準画像撮影中の表示部４０１の表示の一例を示す図である。基準画像撮影中の表示部４０１には、撮影中の基準画像列が時系列に次々と表示される。表示５０２は、撮影中の画像列が基準画像列であることを撮影者に知らせるための表示であり、例えば「基準画像撮影中」との文字列が表示されている。
【００２４】
ステップＳ２０２で、基準画像撮影部１０３の特徴点抽出部１０５は、撮影中の基準画像列から特徴点を抽出する。特徴点の抽出方法としては、ＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）、ＳＵＲＦ（Ｓｐｅｅｄｅｄ−Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ）などがある。また、特徴点の抽出方法として、ＨＯＧ（Ｈｉｓｔｏｇｒａｍｓ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ）、Ｈａａｒ−ｌｉｋｅなどがあるが、他の方法であってもよい。
【００２５】
ステップＳ２０３で、基準画像撮影部１０３の推定部１０６が、撮像装置１００の自己位置姿勢推定と被写体の３次元情報を算出する。本実施形態では、被写体の３次元情報として、被写体の特徴領域（以下、特徴点という）の３次元位置（３次元座標）を用いる。撮像装置１００の位置姿勢および被写体の３次元情報の推定処理には、例えば、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ）が用いられる。ＳＬＡＭでは、移動しながら撮影した複数の画像から検出される被写体の特徴点を追跡することにより、特徴点の位置関係から撮像装置１００の位置姿勢および被写体の３次元情報が推定される。
【００２６】
ここで、位置姿勢推定の算出方法の詳細を説明する。推定部１０６は、同一の被写体を異なる時刻で撮影した画像と撮影時の撮像装置１００の位置姿勢に基づいて、撮像装置１００の位置姿勢を推定する。
【００２７】
図６は、撮像装置１００の位置姿勢推定を説明する図である。フレーム６０３とフレーム６０４は、撮像装置１００で異なる時刻で撮影した画像である。フレーム６０３は、撮像装置１００が位置姿勢６０１で被写体６００を撮影した画像である。フレーム６０４は、撮像装置１００が位置姿勢６０２で、フレーム６０３とは異なるタイミングで被写体６００を撮影した画像である。フレーム６０３とフレーム６０４は、連続フレームであってもよいし、離れたフレームであってもよい。ただし、両画像において同一の被写体が写っている必要がある。フレーム６０３の特徴点６０５およびフレーム６０４の特徴点６０６は、共通の被写体６００の特徴点である。
【００２８】
ここで、位置姿勢６０１を基準位置姿勢として、基準位置に対する撮像装置１００の位置姿勢６０２における位置ベクトルをｔ、基準姿勢に対する姿勢の回転行列をＲとすると、下記の式（１）および式（２）で表すことがきる。
【数１】
2020043528.tif 000003
【００２９】
なお、Ｒは３次元の回転行列であり、例えば、軸の周りの回転角がθzのときには、下記の式（３）ように表せる。
【数２】
2020043528.tif 000004
【００３０】
基準位置姿勢は、空間上のどの位置やどの向きに取ってもよいが、位置ベクトルｔおよび姿勢を表す回転行列Ｒは、下記の式（４）および式（５）と定める。
【数３】
2020043528.tif 000005
【００３１】
特徴点６０５はフレーム６０３内で抽出した特徴点であり、特徴点６０６はフレーム６０４における特徴点６０５の対応点である。特徴点の対応点は、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）、ＺＮＣＣ（Ｚｅｒｏ−ｍｅａｎ  Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ−Ｃｏｒｒｅｌａｔｉｏｎ）などの手法によって探索すればよい。特徴点６０５と特徴点６０６に対応する被写体の３次元点をｒ＝［Ｘ  Ｙ  Ｚ］ｔとし、これらの点の画像上での２次元座標をそれぞれａ，ｂとすると、式（６）が成り立つ。
【数４】
2020043528.tif 000006
ここで、Ｃはカメラ行列であり、ｆｘ、ｆｙはそれぞれ本撮像装置のレンズの焦点距離のｘ、ｙ成分である。ｃｘ、ｃｙはそれぞれ、レンズ１０１の光軸位置のｘ、ｙ成分である。
【００３２】
カメラ行列は事前にキャリブレーションを行うことで既知とすることができる。ｔとＲの算出方法の一つとして、線形計算がある。式（６）からｒ＝［Ｘ  Ｙ  Ｚ］ｔを消し去ると、式（７）が得られる。
【数５】
2020043528.tif 000007
ここで、Ｃ−Ｔは行列Ｃの逆行列の転置行列を表す。特徴点６０５と特徴点６０６の組み合わせを８組以上とって式（７）を８個作り、計算した後、特異値分解などによってｔとＲを分解すればよい。
【００３３】
また、ｔとＲは非線形解法により算出することも可能である。非線形解法で算出するときの目的関数は式（８）で示される。
【数６】
2020043528.tif 000008
式（８）を最小にするようなｔ、Ｒ，ｒｊ＝［Ｘｊ  Ｙｊ  Ｚｊ］ｔを反復計算により求める。これによって、被写体の３次元点ｒｊ＝［Ｘｊ  Ｙｊ  Ｚｊ］ｔも得ることができる。
【００３４】
ここで、位置姿勢６０１と位置姿勢６０２において撮影した画像上での対応点の２次元座標をそれぞれａｊ，ｂｊとすると、下記の式（９）で表すことができる。
【数７】
2020043528.tif 000009
添え字のｊは、特徴点６０５と特徴点６０６のような対応点を複数取ったときにｊ番目の対応点であることを示し、Ｎはその組み合わせ数である。また、非線形解法では特徴点に限らず、Ｎ＝画素数として全画素に対して式（３）を最小にするｔとＲを算出してもよい。以上の演算により、撮像装置１００の基準位置姿勢に対する、撮影時の撮像装置１００の位置ベクトルｔおよび回転行列Ｒを算出することができる。
【００３５】
ステップＳ２０４で、撮像部１１５は、基準静止画像を撮影する。撮像部１１５は、撮影者がシャッタボタン４０３を押すことによりシステム制御部１１７より撮像指示を受けて基準静止画像を撮影する。ステップＳ２０５で、基準画像撮影部１０３は、基準画像列、基準静止画、撮像装置の位置姿勢および被写体３次元情報を記憶部１１４に記憶させる。ステップＳ２０６で、基準画像撮影部１０３は、基準画像列撮影を終了する。基準画像列撮影は、例えば、基準画像列撮影中に撮影者がシャッタボタン４０３を長押しすることにより終了する。
【００３６】
図３は、構図再現画像記録処理を示すフローチャートである。ステップＳ３０１で、構図再現画像撮影部１０４は、構図再現画像列の撮影を開始する。構図再現画像列の撮影は、例えば、撮影者が構図再現静止画像を撮影するためのモードを選択し、構図を再現したい基準画像を選択した後に、シャッタボタン４０３を長押しした場合に開始される。記憶部１１４に記憶された基準画像が複数ある場合には、基準画像の候補を表示部４０１にリストとして縮小表示し、撮影者が選択するようにしてもよい。また、撮像装置１００にＧＰＳを搭載している場合には、現在地と基準画像が撮影された位置を照合して、基準画像を自動選択するようにしてもよい。
【００３７】
ステップＳ３０２で、被写体選択部１０９は、位置姿勢推定に用いる被写体を選択する。図７および図８を用いて、位置姿勢推定に用いる被写体の選択方法を説明する。図７は、被写体選択中の表示部４０１の表示の一例を示す図である。表示部４０１には、撮影中の構図再現画像列７０１が表示される。また、表示部４０１内には、基準静止画像７０２が縮小表示される。構図再現画像列７０１と基準静止画像７０２を同一画面上に表示することにより、撮影者は基準画像撮影時と構図画像撮影時で変化の少ない被写体を目視で確認することができる。
【００３８】
構図再現画像列７０１では、被写体を被写体距離で複数に分割し、分割された各被写体を撮影者が認識可能な表示がされている。例えば、色や網掛けを重畳して表示する。本実施形態では、被写体を２分割して、異なる網掛けを重畳表示することにより、分割された各被写体のグループを表示している。被写体距離による分割方法は、例えば、写っている全ての被写体の被写体距離を中央値で分割してもよいし、平均値で分割してもよいし、他の方法であってもよい。そして、表示７０３で、分割した各グループからそれぞれ変化の少ない被写体を選択するよう撮影者に促している。これによって、撮影者が互いに近い被写体距離にある複数の被写体を選択してしまい位置姿勢推定の演算精度が低下するのを防ぐことができる。
【００３９】
また、分割表示はせず、撮影者に被写体を１つ選択させた後に、選択された被写体と異なるグループに所属する被写体だけを色や模様で重畳表示して、その中から選択するように促すという方法でもよい。なお、写っているほとんど全ての被写体の被写体距離が大きく変わらない場合には、被写体距離による分類は効果がないため行う必要はない。また、被写体距離による分類表示をしないことで被写体選択の自由度を広げるようにしてもよい。
【００４０】
図８を用いて、図７とは異なる被写体選択のための画面の表示例を説明する。図８は、被写体選択中の表示部４０１の表示の別の一例を示す図である。基準画像８０１を縮小せずに、半透明化して構図再現画像列７０１に重畳表示する。半透明化の方法は、例えば、基準画像を数画素おきに表示するなどであるが、これに限られるものではない。また、機械学習などによって被写体をセグメンテーション化して、変化の少ない被写体の候補を撮像装置１００が抽出して、候補の被写体に対して色を重畳表示するなどして、撮影者に選択させてもよい。
【００４１】
以上では、変化の少ない被写体の選択を撮影者が行う場合の方法について説明したが、被写体の選択は撮像装置１００が自動でおこなってもよい。例えば、機械学習などによって被写体をセグメンテーション化して、基準画像と構図再現画像列の両方に写った被写体のうち変化の少ない被写体を自動選択するなどの方法である。特に、変化の少ない被写体の候補が複数ある場合には、基準画像上の特徴点と構図再現画像上の特徴点の合致度が高いものを自動選択することもできる。これによって、基準画像上と構図再現画像上とで、異なる特徴点を対応する特徴点であると誤った計算をすることが減り、計算精度が向上する。
【００４２】
ステップＳ３０３で、構図再現画像撮影部１０４の特徴点抽出部１０５は、撮影中の構図再現画像列から特徴点を抽出する。特徴点の抽出方法は、ステップＳ２０２と同様である。ステップＳ３０４で、構図再現画像撮影部１０４の推定部１０６が、撮像装置１００の自己位置姿勢推定と被写体の３次元情報を算出する。位置姿勢推定と被写体の３次元情報の算出方法はステップＳ２０３と同じである。
【００４３】
ステップＳ３０５で、検出部１１０は、構図再現画像を撮影中の撮像装置１００の位置姿勢に対する、基準静止画像を撮影した時の撮像装置１００の相対位置姿勢を検出する。図９は、基準静止画像撮影時と構図再現画像撮影時の様子を説明する図である。被写体９００は、基準静止画像と構図再現画像で撮影した共通の被写体であるが、構図再現画像撮影時の様子を示している。基準静止画像９０３は、基準静止画像であり、撮像装置１００が位置姿勢９０１で被写体９００を撮影した画像である。構図再現画像９０４は、構図再現画像であり、撮像装置１００が位置姿勢９０２で被写体９００を撮影した画像である。基準静止画像９０３上には特徴点９０５があり、構図再現画像９０４には特徴点９０５に対応する特徴点９０６がある。被写体９００には、特徴点９０５および特徴点９０６に対応する被写体３次元点９０７を模式的示している。
【００４４】
被写体３次元点９０７を基準画像列撮影時または構図再現画像列撮影時のどちらか一方から算出した場合には、位置姿勢９０２に対する位置姿勢９０１の相対的な位置姿勢を示す、撮像装置１００の位置ベクトルｔおよび回転行列Ｒを算出する。ｔおよびＲは、ステップＳ２０３と同様に非線形解法で算出することができる。式（８）中のｒｊ＝［Ｘｊ  Ｙｊ  Ｚｊ］ｔに、被写体３次元点９０７の座標を代入して、式（８）を最小とするようなｔおよびＲを算出すればよい。
【００４５】
また、被写体３次元点９０７が基準画像列撮影時と構図再現画像列撮影時の両方で算出されている場合には、両方の値を用いることができる。例えば、ｒｊ＝［Ｘｊ  Ｙｊ  Ｚｊ］ｔの値として両方の平均値を用いてもよいし、それぞれに重みをかけて足し合わせた値を用いてもよい。重みをかける場合には、例えば、基準画像列と構図再現画像列のうち、特徴点９０５または特徴点９０６の対応点を追跡したフレーム数が多い方の重みを大きくすればよい。
【００４６】
ここで、基準画像と構図再現画像で同一の特徴点を抽出できない場合がある。例えば、基準画像撮影時から構図再現画像撮影時までに時間が経ちすぎている場合には、被写体の色味が変わってしまい同一の特徴点を抽出することが困難になる。また、撮影時刻や季節が変わると光の当たり方の違いにより同一の特徴点を抽出できないこともある。同一の特徴点を抽出できないと同一の被写体３次元点を得ることができないため、式（８）を用いて位置姿勢を算出することができない。
【００４７】
そこで、基準画像と構図再現画像で同一の特徴点を抽出できない場合には、被写体３次元点に補間などの処理を施すことによって被写体３次元点の対応位置を算出する。図１０は、被写体３次元点とフィッティングの原理を説明する図である。被写体３次元点１００１は基準画像撮影時に得られた被写体３次元点であり、被写体３次元点１００２は構図再現画像撮影時に得られた被写体３次元点である。被写体３次元点１００１と被写体３次元点１００２には同一の点が存在していないため、そのまま対応する点を決定することはできない。本実施形態では、被写体３次元点１００２は被写体３次元点１００１よりも密に得られているので、被写体３次元点１００２を補間処理により曲線１００３で表すことで精度の高い補間ができる。補間処理は、多項式の曲線近似であってもよいし、単純な線形補間などを用いてもよい。曲線１００３に被写体３次元点１００１が精度よくフィッティングされる位置を見つけて重ねたのがフィッティング１００４である。フィッティング１００４が得られるようなｔおよびＲを算出することで、基準画像撮影時と構図再現画像撮影時に同一の特徴点を抽出できなくても、特徴量が類似する被写体を選択することができ、撮像装置１００の相対位置姿勢を検出することができる。
【００４８】
基準画像列撮影時に密な被写体３次元点を得られていることが好ましいが、未来の構図再現画像列撮影時にも、変化なく存在している被写体が前もって分かっていることは少ない。そのため、基準画像列撮影時に、あらかじめ変化の少ない被写体を重点的に撮影して、密な被写体３次元点をえることができない。したがって、構図再現画像列撮影時に変化の少ない被写体を判別して、密な被写体３次元点を作成して補間曲線を生成し、補間曲線に基準画像列から作成した被写体３次元点をフィッティングするのが現実的な使い方となる。そこで、ステップＳ３０２で被写体を選択したときに撮影者に選択した被写体を重点的に撮影するように促すなどの処理があるとよい。例えば、選択した被写体に近づくように促して、画面いっぱいに撮影することで細部の構造まで反映された被写体３次元点が作成される。近づくのが難しい場合には光学ズームをして被写体を撮影するという方法でもよいが、その場合にはカメラ行列Ｃ内のｆｘ、ｆｙをズーム時の値にして計算する必要がある。
【００４９】
また、基準静止画像と構図再現静止画像において、変化の少ない被写体が全く写っていない場合も想定される。例えば、街並みの定点撮影をする場合に、基準静止画像撮影時から数十年後に構図再現静止画像を撮影すると、街の開発に伴い同じ建築物が一切ない場合が想定される。基準静止画像内に構図再現静止画像時と共通の被写体がない場合、即ち静止画で撮影する構図内に共通の被写体がないでも、基準画像列と構図再現画像列に共通の被写体があれば、撮像装置１００の相対位置姿勢を検出することができる。
【００５０】
図１１は、被写体と位置姿勢と特徴点の関係を示す図である。被写体１１００は、被写体１１０１と被写体１１０２を含む被写体である。本実施形態において、被写体１１０１は静止画で撮影する対象の被写体である。被写体１１０１は基準静止画像撮影時にあった被写体のうち、変化の少ない被写体が構図再現静止画像撮影時にはない。一方、被写体１１０２は、静止画像には写らないが、画像列には写る被写体である。つまり、基準画像列と構図再現画像列では、被写体１１０２を撮影している。
【００５１】
基準静止画像１１０７は、基準静止画像であり、撮像装置１００が位置姿勢１１０３で被写体１１０１を撮影した画像である。基準画像列１１０８は、基準画像列であり、撮像装置１００が位置姿勢１１０４で被写体１１０２を撮影した画像である。構図再現画像列１１０９は、構図再現画像列であり、撮像装置１００が位置姿勢１１０５で被写体１１０２を撮影した画像である。構図再現画像列１１０９には、基準静止画像１１０７と共通の被写体がない。
【００５２】
そこで、ステップＳ３０２では、基準静止画像１１０７に写っていない被写体１１０２から被写体を選択する。特徴点１１１０は選択された被写体の基準画像列１１０８上での特徴点であり、特徴点１１１１はそれに対応する構図再現画像列１１０９上での特徴点である。これまでの説明の通り、位置姿勢１１０４に対する位置姿勢１１０５は算出することができる。また、位置姿勢１１０４に対する位置姿勢１１０３も算出することができる。よって、位置姿勢１１０３に対する位置姿勢１１０５も算出することができる。以上により、基準静止画像と構図再現静止画像において、同じ被写体がない場合にも、基準画像列に同じ被写体があれば構図を再現するために、撮像装置１００の相対位置姿勢を算出することができる。
【００５３】
ステップＳ３０６で、誘導部１１１は、撮影者に対して、ステップＳ３０５で算出した相対位置姿勢に基づいて撮像装置１００の位置姿勢を誘導する。撮影者を誘導するための表示例を、図１２および図１３を用いて説明する。図１２は、誘導中の表示部４０１の表示の一例を示す図である。本実施形態では、構図再現画像撮影中の表示部４０１に、撮像装置１００の並進と回転方向を重畳表示することによって、撮影者を誘導する。並進指示１２０１では、撮像装置１００の並進方向を知らせている。回転指示１２０２では撮像装置１００の回転方向を知らせている。また、表示１２０３ではそれらの指示の意味を撮影者に知らせている。
【００５４】
図１３は、誘導中の表示部４０１の表示の別の一例を示す図である。並進指示１２０１、回転指示１２０２、表示１２０３に加え、基準静止画像１３０１を半透明化させて構図再現画像に重畳表示している。半透明化や重畳表示の方法については図８と同様である。基準静止画像１３０１を重畳表示することによって、撮影者は構図が基準静止画像に一致する方向に向かっていることを確認しながら撮像装置１００を動かすことができる。
【００５５】
子供の成長記録など、時間を隔てて同一人物を同じ構図で撮影する場合がある。この場合には、撮影者を誘導するのではなく、被写体を基準画像撮影時の位置や向きに誘導してもよい。図１４は、被写体を誘導する例を示す図である。誘導部１１１は、例えば、スピーカ１４０１を備えており、被写体に対してスピーカ１４０１から出力される音声で移動する方向や向く方向を指示する。なお、誘導部１１１は、移動などを支持する情報を出力できればよく、音声に限られるものではない。ただし、構図画像撮影時の位置姿勢に対する基準静止画像撮影時の相対位置姿勢と、構図画像撮影時の被写体の位置姿勢に対する基準静止画像撮影時の相対被写体位置姿勢は逆の関係にある。そのため、ｔ、Ｒを−ｔ、Ｒ−１と変換して、被写体から見た方向に対して適当な言葉で指示する。また、ステップＳ３０２で選択した被写体が顔である場合には、機械学習などを用いて被写体が顔であることを認識し、顔だけの向きを変えるように音声で指示することも可能である。
【００５６】
ステップＳ３０７で、判定部１１２は、構図再現画像が基準静止画像と同じ構図になったかを判定する。具体的には、判定部１１２は、ステップＳ３０５の処理を行って相対位置姿勢を算出する。そして、下記の式（１０）の値に近い値となっている場合に、基準静止画像撮影時の撮像装置１００の位置姿勢と、構図再現画像撮影中の撮像装置１００の位置姿勢が略一致した、即ち、同じ構図になったと判定する。
【数８】
2020043528.tif 000010
【００５７】
また、判定部１１２は、例えば、予め決定した誤差量εｔ、εＲを用いて、下記の式（１１）の条件を満たした場合に、同じ構図になったと判定するようにしてもよい。
【数９】
2020043528.tif 000011
なお、θｘ、θｙ、θｚはそれぞれｘ、ｙ、ｚ軸の周りの回転角である。
【００５８】
また、同じ構図になったか否かの判定方法として、位置姿勢が一致したかどうかを判定する方法のほかに、ステップＳ３０３で抽出した特徴点の位置が基準静止画像内と構図再現画像内で略一致したかどうかを判定してもよい。判定部１１２が、同じ構図になったと判定した場合は、ステップＳ３０８に進む。一方、同じ構図になったと判定されない間は、ステップＳ３０６に戻り誘導を続ける。
【００５９】
ステップＳ３０８で、撮像部１１５は、構図再現静止画像を撮影する。撮像装置１００が基準静止画像と構図再現画像が一致したことを撮影者に通知して、通知を受けた撮影者の指示により撮影してもよいし、一致した瞬間に撮像装置１００が自動で撮影してもよい。撮影者への通知方法の例を、図１５を用いて説明する。図１５は、構図が一致した場合の表示部４０１の表示の一例を示す図である。表示部４０１に、基準静止画像と構図再現画像の構図が一致したことを通知する表示１５０１を重畳表示する。本実施形態では、画像の構図が一致したことを、文字列を用いて通知しているが、これに限られるものではなく、構図が一致したことを通知するマークや音声によって通知してもよい。表示１５０１の通知を受けて、撮影者は構図再現静止画像を撮影するためにシャッタボタン４０３を押下する。ステップＳ３０９で、構図再現画像撮影部１０４は、撮影した構図再現静止画像を記憶部１１４に記憶させる。
【００６０】
本実施形態では、撮影から撮影者誘導までのすべての処理を撮像装置１００で行う例を説明したが、画像の撮影を行う撮像装置と、相対位置姿勢検出は別のハードウェアであってもよい。例えば、撮像装置に接続されたコンピュータなどの画像処理装置が、基準画像撮影部１０３と構図再現画像撮影部１０４の一連の処理を行い、画像処理装置または撮像装置の表示部を用いて撮影者を誘導するようにしてもよい。撮影を行う撮像装置と相対位置姿勢検出を行う画像処理装置を分離することで、相対位置姿勢検出の処理を高度化することができる。
【００６１】
以上のように、本実施形態によれば、構図の再現精度の高い画像を効率よく撮影することができる撮像装置を提供することができる。
【００６２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００６３】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００６４】
１０３  基準画像撮影部
１０４  構図再現画像撮影部
１０５  特徴点抽出部
１０６  推定部
１０７  画像処理部
１０８  距離演算部１０８
１０９  被写体選択部１０９
１１０  相対位置姿勢検出部
１１１  誘導部
１１２  位置姿勢一致判定部
１１７  システム制御部
４０１  表示部
【図１】
2020043528.tif 000012
【図２】
2020043528.tif 000013
【図３】
2020043528.tif 000014
【図４】
2020043528.tif 000015
【図５】
2020043528.tif 000016
【図６】
2020043528.tif 000017
【図７】
2020043528.tif 000018
【図８】
2020043528.tif 000019
【図９】
2020043528.tif 000020
【図１０】
2020043528.tif 000021
【図１１】
2020043528.tif 000022
【図１２】
2020043528.tif 000023
【図１３】
2020043528.tif 000024
【図１４】
2020043528.tif 000025
【図１５】
2020043528.tif 000026