(57)【要約】【課題】安定化した動画を生成する際に、撮影時に着目した被写体を含むシーンを残した安定化動画を生成可能にすることを課題とする。【解決手段】画像処理装置は、撮像装置により撮影された第１の動画から、撮像装置の移動の軌跡と撮影された被写体の３次元座標とを推定する軌跡推定部１１４と、推定された軌跡の変動を補正する軌跡補正部１１６と、被写体の３次元座標の重みを設定する重み設定部１１８と、被写体の３次元座標の重みを基に着目被写体を検出する被写体検出部１２０と、変動を補正した後の軌跡に対応した第２の動画を第１の動画から生成する信号処理部１１０と、を有し、軌跡補正部１１６は、着目被写体の３次元座標を基に、第２の動画を構成するフレーム画像において着目被写体を含むように軌跡を補正する。【選択図】図１
2020107058.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置により撮影された第１の動画から、前記撮像装置の移動の軌跡と前記撮影された被写体の３次元座標とを推定する推定手段と、
前記推定された軌跡の変動を補正する補正手段と、
前記被写体の３次元座標の重みを設定する重み設定手段と、
前記被写体の３次元座標の重みを基に着目被写体を検出する検出手段と、
前記変動を補正した後の軌跡に対応した第２の動画を前記第１の動画から生成する生成手段と、を有し、
前記補正手段は、前記着目被写体の３次元座標を基に、前記第２の動画を構成するフレーム画像において前記着目被写体を含むように前記軌跡を補正することを特徴とする画像処理装置。
【請求項２】
前記補正手段は、前記着目被写体の３次元座標の重みが大きいほど、前記着目被写体が前記第２の動画のフレーム画像に含まれるように前記軌跡を補正することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記検出手段は、前記被写体の３次元座標の重みを基に前記着目被写体の特徴点の３次元座標を検出し、
前記補正手段は、前記第２の動画を構成する各フレーム画像において前記特徴点の３次元座標の重みが増すように前記撮像装置の姿勢を変更することで前記軌跡の補正を行うことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記重み設定手段は、前記撮像装置の撮影位置から前記被写体の３次元座標への距離と方向の少なくともいずれかを基に、前記被写体の３次元座標に対する重みを設定することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記重み設定手段は、前記被写体の３次元座標と前記第１の動画における前記撮像装置の撮影位置との距離が近いほど、前記被写体の３次元座標の重みを大きく設定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記重み設定手段は、前記被写体の３次元座標と前記第１の動画における前記撮像装置の撮影位置とを結ぶ直線と、前記第１の動画における撮影時の方向との差異が小さいほど、前記被写体の３次元座標の重みを大きく設定することを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
前記重み設定手段は、前記被写体の３次元座標を前記第１の動画の各フレーム画像に投影した際の投影面上の座標を検出し、前記投影した座標が投影面上の基準点に近いほど、前記被写体の３次元座標の重みを大きく設定することを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記基準点は、フレーム画像の中心、フレーム画像上で被写体が消失した消失点座標、ユーザにより指示された座標、被写体の特徴量の最も大きい特徴点の座標、逐次フレーム間で最も頻度が高く投影される特徴点の座標の、少なくともいずれかであることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記重み設定手段は、前記被写体の３次元座標の重みを累積し、前記累積した値が大きいほど、フレームごとの重みを大きく設定することを特徴とする請求項１から８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記補正手段は、所定の評価式により算出される値が最小になる前記軌跡を算出することを特徴とする請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記補正手段は、補正後の軌跡の長さを調整する評価式と、補正後の撮像装置の位置と方向のフレームごとの変化を調整する評価式と、撮影時の撮像装置の位置と補正された撮像装置の位置との差分を調整する評価式と、重みの大きい３次元座標が補正後の軌跡で得られる画像でも重みが大きくなるように撮像装置の位置と姿勢を調整する評価式とによりそれぞれ算出される値を加重加算した評価値が、前記最小になる前記軌跡を算出することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
画像処理装置が実行する画像処理方法であって、
撮像装置により撮影された第１の動画から、前記撮像装置の移動の軌跡と前記撮影された被写体の３次元座標とを推定する推定工程と、
前記推定された軌跡の変動を補正する補正工程と、
前記被写体の３次元座標の重みを設定する重み設定工程と、
前記被写体の３次元座標の重みを基に着目被写体を検出する検出工程と、
前記変動を補正した後の軌跡に対応した第２の動画を前記第１の動画から生成する生成工程と、を有し、
前記補正工程では、前記着目被写体の３次元座標を基に、前記第２の動画を構成するフレーム画像において前記着目被写体を含むように前記軌跡を補正することを特徴とする画像処理方法。
【請求項１３】
コンピュータを、請求項１から１１のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手振れなどによる撮影画角の変動を安定化させる画像処理技術に関する。
【背景技術】
【０００２】
手振れなどによる撮影画角の変動を電子的に安定化させる技術として、撮影動画からカメラ軌跡を推定し、その推定したカメラ軌跡の軌跡変動が低減するように補正し、その補正後のカメラ軌跡に対応した安定化動画を生成する技術がある。例えば、特許文献１には、再生されている映像が空間のどこにあるか管理し、その領域の重要度を算出し、その重要度に基づき再生内容を変更する方法が開示されている。また、特許文献２には、着目領域を設定し、着目領域が動画中で画像端に位置した場合に、着目領域の位置を変化させるように制御する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−９２３８６号公報
【特許文献２】特開２０１１−１３５２８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の特許文献１の手法では、領域の重要度が低い場合には再生速度を上げたり、移動速度を上げたり、省略するなどの処理が行われる。しかしながら、重要度の高いシーンを残しながらカメラの位置姿勢を補正して安定化した軌跡で撮影したような動画を残すことはできない。また、上述の特許文献２では、撮影動画中で着目領域を設定しているので、撮影動画の画角から着目領域が外れると、着目領域を再設定する必要がある。また、画角から一度外れた着目領域が再度画角内に入ってきた場合に、同一の領域であることを精度高く認識することはできない。
【０００５】
そこで、本発明は、安定化した動画を生成する際に、撮影時に着目した被写体を含むシーンを残した動画を生成可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置は、撮像装置により撮影された第１の動画から、前記撮像装置の移動の軌跡と前記撮影された被写体の３次元座標とを推定する推定手段と、前記推定された軌跡の変動を補正する補正手段と、前記被写体の３次元座標の重みを設定する重み設定手段と、前記被写体の３次元座標の重みを基に着目被写体を検出する検出手段と、前記変動を補正した後の軌跡に対応した第２の動画を前記第１の動画から生成する生成手段と、を有し、前記補正手段は、前記着目被写体の３次元座標を基に、前記第２の動画を構成するフレーム画像において前記着目被写体を含むように前記軌跡を補正することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、安定化した動画を生成する際に、撮影時に着目した被写体を含むシーンを残した動画の生成が可能となる。
【図面の簡単な説明】
【０００８】
【図１】実施形態の画像処理装置の概略構成例を示すブロック図である。
【図２】実施形態の全体の処理のフローチャートである。
【図３】被写体３次元座標重み算出処理のフローチャートである。
【図４】撮影シーンと撮影時のカメラ軌跡を表す図である。
【図５】フレーム画像と補正後のカメラ軌跡による安定化画像を表した図である。
【図６】画像マッチングの説明に用いる図である。
【図７】二つの視点から見た３次元的な同一点の説明図である。
【図８】軌跡推定部および軌跡補正部の動作の説明に用いる図である。
【図９】被写体３次元座標の重み算出方法の説明図である。
【図１０】被写体３次元座標の重み関数を表す図である。
【図１１】投影位置に基づく重み算出方法の説明図である。
【図１２】被写体３次元座標のフレーム画像毎の重みを表した図である。
【図１３】被写体３次元座標の他の重み算出方法の説明図である。
【図１４】評価式を基に補正カメラ軌跡が選択される例の説明図である。
【図１５】補正されたカメラ軌跡を表す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
図１は本実施形態の画像処理装置１００の概略構成を示した図である。なお、図１に示した各構成は、例えばハードウェア構成のみで実現されてもよいし、ＣＰＵ等がプログラムを実行することによるソフトウェア構成により実現されてもよい。また、一部がハードウェア構成で残りがソフトウェア構成により実現されてもよい。ソフトウェア構成のためのプログラムは、予め用意されてメモリに記憶されている場合だけでなく、外部メモリ等の記録媒体から取得されたり、ネットワーク等を介して取得されたりしてもよい。また本実施形態の画像処理装置１００における後述する画像処理は、デジタルカメラ（以降、カメラとする。）により実行されても良いし、パーソナルコンピュータやスマートフォンなどにより実行されても良い。
【００１０】
制御部１０８は、信号処理部１１０、記憶部１１２、軌跡推定部１１４、軌跡補正部１１６、重み設定部１１８の間の処理フロー制御を行う。
信号処理部１１０は、不図示の撮像装置による撮影動画のフレーム毎の画像信号（以下、フレーム画像とする。）に対して、同時化処理、ホワイトバランス処理、γ（ガンマ）処理、ＮＲ（ノイズリダクション）処理等の画像信号処理を行う。また信号処理部１１０は、撮影動画から、後述するように軌跡補正部１１６で補正されたカメラ軌跡に応じた安定化動画を生成する処理も行う。
【００１１】
軌跡推定部１１４は、撮影動画の各フレーム画像を基に、撮影時における撮像装置（以下、カメラとする。）の撮影位置や撮影方向の変化を時系列的に表すカメラ軌跡（カメラパス）と、カメラにより撮影された被写体の３次元座標とを推定する。軌跡推定部１１４における処理の詳細は後述する。
記憶部１１２は、撮影動画のフレーム画像や、軌跡推定部１１４が推定したカメラ軌跡や被写体の三次元座標の情報を記憶する。
【００１２】
重み設定部１１８は、重要度に基づいて被写体の３次元座標に対する重みを設定する。重み設定部１１８における重要度と重み付けの処理の詳細は後述する。
被写体検出部１２０は、重み設定部１１８によって設定された重みに基づき、撮影動画に写っている被写体のなかで、撮像装置により撮影を行ったユーザが着目していると推定される被写体（着目被写体とする。）を検出する。被写体検出部１２０における着目被写体の検出処理の詳細は後述する。
軌跡補正部１１６は、軌跡推定部１１４にて推定されたカメラ軌跡を、被写体検出部１２０で検出された着目被写体情報を基に補正して再構成する。軌跡補正部１１６における軌跡補正処理の詳細は後述する。
【００１３】
図２は、本実施形態の画像処理装置１００における全体の処理の流れを示したフローチャートであり、図３は図２のフローチャートのステップＳ２０３の詳細な処理のフローチャートである。なお以下の説明では、図２のフローチャートの各ステップＳ２００〜ステップＳ２０６をＳ２００〜Ｓ２０６と略記し、図３のフローチャートの各ステップＳ３００〜ステップＳ３０６をＳ３００〜Ｓ３０６と略記する。先ず図２のフローチャートの処理について図４以降の各図を参照しながら説明する。図３のフローチャートの処理の説明は後述する。
【００１４】
ここで、カメラはユーザの移動に伴い例えば図４のカメラ軌跡４００で示すように移動し、撮影は図中の撮影位置（以下、カメラ位置４０１〜４０９とする。）で行われたとする。なお図４のカメラ位置４０１〜４０９に示した四角錘の頭頂点はカメラの位置を表し、四角推の頭頂点から底面方向はカメラの撮影方向を表しているとする。記憶部１１２には、それらカメラ位置４０１〜４０９においてカメラにより撮影されたフレーム画像が記憶されているとする。例えばカメラ位置４０１で撮影された画像はフレーム画像４１１として記憶され、以下同様に、カメラ位置４０５ではフレーム画像４１５、カメラ位置４０６ではフレーム画像４１６、カメラ位置４０９ではフレーム画像４１９が記憶されているとする。図５に示したフレーム画像Ｆ１〜Ｆ９は、カメラ軌跡４００に沿って移動した各カメラ位置４０１〜４０９でそれぞれ撮影されたフレーム画像の具体例を示している。
【００１５】
また図４の座標Ｑ［１］〜Ｑ［５］は、各カメラ位置４０１〜４０９の撮影シーン中に写っている被写体が有する各特徴点の３次元座標を表している。図４の例の場合、座標Ｑ［１］，Ｑ［２］は被写体である建物の二つの特徴点の３次元座標を表し、座標Ｑ［３］〜Ｑ［５］は被写体である人物の三つの特徴点の３次元座標を表している。本実施形態において、これら被写体の各特徴点の３次元座標は、軌跡推定部１１４が後述するようにして推定する。軌跡推定部１１４による被写体の３次元座標推定処理の詳細は後述するＳ２０２で説明する。また、撮影時のカメラ軌跡４００は、説明の都合上、図４のように記載したが、実際には撮影時に検出できている軌跡ではなく、後述するＳ２０１の処理で推定されて生成されるものである。
【００１６】
先ずＳ２００において、画像処理装置１００の制御部１０８は、記憶部１１２に記憶されている撮影動画の各フレーム画像を読み出す。
次にＳ２０１において、軌跡推定部１１４は、記憶部１１２から読み出された撮影動画の各フレーム画像から、それぞれのフレーム画像が撮影された際のカメラの位置と姿勢を推定する。なお、カメラの姿勢には、撮影方向（方位や仰角など）、カメラのいわゆる横位置撮影や縦位置撮影などが含まれる。撮影された各フレーム画像からカメラ位置と姿勢を推定する方法について、本実施形態では例えばＳｔｒｕｃｔｕｒｅ  Ｆｒｏｍ  Ｍｏｔｉｏｎ（以降ＳｆＭと呼称する。）と呼ばれる手法を用いて説明する。ＳｆＭの処理について説明する前に、先ずＳｆＭに必要なマッチング処理について説明する。
【００１７】
軌跡推定部１１４は、カメラの位置と姿勢を推定するために、図６に示すように現フレーム（フレーム番号ｎ）と次フレーム（フレーム番号ｎ＋１）でマッチング処理を行う。マッチングの手法は、例えばＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）のように現フレームと次フレームの特徴点をそれぞれ算出し、算出した特徴点の対応探索を行う手法でも良い。また例えば、ＫＬＴ（Ｋａｎａｄｅ−Ｌｕｃａｓ−Ｔｏｍａｓｉ）追跡器のように現フレームで特徴点を算出し、算出した特徴点を続くフレームで追跡する特徴点追跡を行う手法でも良い。このようにマッチング手法は、２フレーム内の対応点を算出することができれば手法は問わない。
【００１８】
図６（ａ）は現フレーム（フレーム番号ｎ）のフレーム画像例を示し、図６（ｂ）は次フレーム（フレーム番号ｎ＋１）のフレーム画像例を示している。図６（ａ）のフレーム画像からは被写体の特徴点６０１，６０２，６０３が検出され、図６（ｂ）のフレーム画像からは被写体の特徴点６０４，６０５，６０６が検出されたとする。図６（ｃ）はそれらフレーム番号ｎのフレーム画像とレーム番号ｎ＋１のフレーム画像とのマッチング処理の結果を示した図である。図６（ｃ）のマッチング処理では、図６（ａ）の特徴点６０１と図６（ｂ）の特徴点６０４とが対応し、以下同様に特徴点６０２と特徴点６０５と、特徴点６０３と特徴点６０６とがそれぞれ対応した特徴点として検出されている。図６（ｃ）の例では、マッチング処理により検出した対応特徴点間を線６０７，６０８，６０９により表している。なお図６の例では、対応特徴点の数が３点にみとなっているが、実際にはこの数は限定されない。ただし、後に算出する基礎行列Ｆのパラメータの数が８個あるため、基礎行列Ｆを算出するためには理論上８点の特徴点が必要であり、８点以上の特徴点がある方が精度よく算出可能となる。また特徴点は、その特徴量やマッチングの精度が高い点のみを用いる方が、後のカメラ位置姿勢の算出精度の向上にために望ましいため、マッチング時の相関値や特徴量がある閾値よりも高い対応点のみを用いるといった処理を行っても良い。
【００１９】
次に、ＳｆＭを用いたカメラ位置姿勢推定の方法について図７を用いて説明する。
ここで、二つのフレーム画像において対応した特徴点は、二つの視点から見た３次元的な同一点である。本実施形態のようにカメラにより撮影されたフレーム画像の場合、始点はカメラ中心に相当する。図７の例の場合、二つの視点として二つのカメラ中心Ｃ1，Ｃ2を示しており、これら二つのカメラ中心Ｃ1，Ｃ2から見た３次元的な同一点は３次元座標点Ｑで表わされる。そしてカメラ中心Ｃ1，Ｃ2から見た３次元座標点Ｑがフレーム画像上に投影される投影面上の対応点はＡ1，Ａ2で表わされる。
３次元座標Ｑは、３次元空間内の座標であり、下記の式（１）で表される。式（１）のＸはｘ座標、Ｙはｙ座標、Ｚはｚ座標である。
【００２０】
Ｑ＝（Ｘ，Ｙ，Ｚ）        式（１）
【００２１】
またカメラ中心Ｃ1，Ｃ2におけるカメラ行列Ｍ1，Ｍ2をそれぞれ式（２）、式（３）で表わすと以下のように表せる。
【００２２】
Ｍ1＝Ｋ[Ｉ｜０]        式（２）
Ｍ2＝Ｋ[Ｒ｜ｖ]        式（３）
【００２３】
ここで、原点を基準とした時の座標軸はカメラ中心Ｃ1に合わせており、式中のＩは単位行列、Ｋは内部キャリブレーション行列、Ｒはカメラ中心Ｃ2の位置におけるカメラの向きを表わす回転変換行列、ｖは３次元の平行移動ベクトルである。本実施形態では、カメラ中心Ｃ1，Ｃ2におけるカメラは同じ（同一の）カメラであるため、内部キャリブレーション行列は同じである。
【００２４】
そして、カメラの相対的な位置関係を表す回転変換行列Ｒと平行移動ベクトルｖ、カメラの内部キャリブレーション行列Ｋ、３次元座標点Ｑがフレーム画像上に投影された点Ａ1，Ａ2には幾何学的な制約がある。このため、前述のカメラ行列Ｍ1，Ｍ2を用いると、３次元座標点Ｑを画像上の点Ａ1，Ａ2に射影する条件を導き出すことができ、下記の式（４）の方程式を満たす必要がある。
【００２５】
Ａ2T・Ｆ・Ａ1＝０              式（４）
Ｆ＝Ｋ-T・Ｓv・Ｒ・Ｋ-1        式（５）
【００２６】
式（４）はエピポーラ制約といい、このエピポーラ制約中の行列Ｆを基礎行列といい、基礎行列Ｆは式（５）で表される。この基礎行列Ｆは二つのカメラ中心Ｃ1，Ｃ2間の回転および平行移動量を表わす式であり、式（４）は点Ａ1を点Ａ2に変換する式として表わしている。式（５）は、行列Ｆをカメラの相対的な位置関係を表す回転変換行列Ｒと平行移動ベクトルｖ、カメラの内部キャリブレーション行列Ｋ、行列Ｓvで表わした式である。行列Ｓvは、３次元の平行移動ベクトルｖで表わされる交代行列である。
具体的には、カメラの姿勢は回転変換行列Ｒで表現し、下記の式（６）で表される。
【００２７】
【数１】
2020107058.tif 000003
【００２８】
また平行移動ベクトルｖで示される位置（以下適宜、位置ｐとして記述する。）は、３次元空間内の座標であり下記の式（７）で表される。
【００２９】
ｐ＝（ｐ１，ｐ２，ｐ３）        式（７）
【００３０】
したがって、図６に示したようにして求めた２フレーム画像間の対応特徴点群を用いて、式（５）を解くと、この基礎行列Ｆが求められる。基礎行列Ｆを求める方法としては、８組の対応特徴点を用いた８点法、ＳＶＤ（特異値分解）を用いた最小二乗法などがある。そして、この基礎行列Ｆを求めた後に、式（４）を用いてカメラ行列を復元することで、二つのフレーム画像間でのカメラ位置姿勢の変動量、つまり回転変換行列Ｒと平行移動ベクトルｖを求めることができる。
【００３１】
図８（ａ）は、前述のように算出した変動量のうち、平行移動ベクトルｖの変動量を時系列（フレーム番号順）に並べたものであり、図面の上方向が画像の変動量を表わす軸、図面の横方向がフレーム番号の軸、各フレームでのベクトルは矢印８０１で示している。なお、実際にはｘ方向，ｙ方向，ｚ方向の３方向の成分を持っているが、図８（ａ）の図面上では、省略して画像変動量は１本の軸のみで表現している。そして、軌跡推定部１１４は、図８（ａ）に示した変動量を時間方向に累積（逐次積算）することにより、図８（ｂ）に示すようなカメラ軌跡を推定する。本実施形態において、撮影された画像（図５（ａ））について前述したマッチング処理とＳｆＭを実施して得られたカメラ軌跡が、図４に示した撮影時のカメラ軌跡４００である。
【００３２】
前述したＳ２０１のカメラ位置姿勢推定処理の後、次のＳ２０２において、軌跡推定部１１４は、被写体の３次元座標を算出する。この時の軌跡推定部１１４は、Ｓ２０１で算出した複数のカメラ位置姿勢から二つのカメラ位置姿勢を選択し、図７で説明したような三角測量の原理により画像上の特徴点Ａjから、被写体の３次元座標Ｑjを推定する。また軌跡推定部１１４は、推定した３次元座標Ｑjを、カメラ行列Ｍiを用いて画像上に特徴点Ａj'＝Ｍi・Ｑjとして再投影する。
【００３３】
そして軌跡推定部１１４は、画像上の特徴点Ａjと再投影された特徴点Ａj'との座標誤差が最小になるようにカメラ位置姿勢（カメラ行列Ｍi）、被写体の３次元座標Ｑjを公知のガウスニュートン法などを用いて最適化して被写体３次元座標Ｑjを算出する。軌跡推定部１１４では、前述した処理をカメラ位置姿勢の選択対象を変更して繰り返すことで、最初に選択した二つのカメラ位置姿勢では画像に投影されていない被写体３次元特徴点座標Ｑjも逐次的に算出する。
【００３４】
次にＳ２０３において、重み設定部１１８は、フレーム画像毎に被写体３次元座標の重みを算出する。重み設定部１１８における重み算出および設定処理を、図３のフローチャートと図９を参照しながら詳細に説明する。
【００３５】
先ずＳ３００において、重み設定部１１８は、フレーム画像とその画像を撮影したカメラを１つ選択する。
続いてＳ３０１において、重み設定部１１８は、被写体３次元座標を１つ選択する。
【００３６】
次にＳ３０２において、重み設定部１１８は、Ｓ３０１で選択したカメラについて推定された位置ｐ、回転変換行列Ｒで表される姿勢（以下適宜、姿勢Ｒとして記述する。）を用い、選択した被写体３次元座標Ｑとの距離ｄを下記の式（８）で算出する。図９は、前述した図４のカメラ位置４０５で被写体を撮影して得られたフレーム画像４１５を例に挙げて、被写体３次元座標Ｑ［３］との距離ｄ（Ｑ，ｐ）を示した図である。
【００３７】
【数２】
2020107058.tif 000004
【００３８】
さらにＳ３０３において、重み設定部１１８は、Ｓ２０１で推定されたカメラ位置姿勢毎に選択した被写体３次元座標との方向の角度の差異θを算出する。この時の重み設定部１１８は、先ず角度の差異θを算出するために、下記の式（９）により、カメラの位置ｐから被写体３次元座標Ｑへ向かう直線の単位ベクトルｎを算出する。
【００３９】
ｎ＝（Ｘ−ｐ１，Ｙ−ｐ２，Ｚ−ｐ３）／ｄ        式（９）
【００４０】
また、重み設定部１１８は、カメラの姿勢Ｒに基づき、カメラの光軸の向きｍを式（１０）により算出する。ただし、ワールド座標系において、Ｒ＝Ｉ（Ｉは単位行列）となるカメラの光軸向きを（Ｘ，Ｙ，Ｚ）＝（０，０，１）とする。
【００４１】
【数３】
2020107058.tif 000005
【００４２】
さらに重み設定部１１８は、カメラの位置ｐから被写体３次元座標Ｑへ向かう直線と、カメラの向きの角度とのずれ、すなわち角度の差異θを、下記の式（１１）により算出する。
【００４３】
θ（Ｑ，ｐ，Ｒ）＝arccos（ｎ・ｍ）        式（１１）
【００４４】
そしてＳ３０４において、重み設定部１１８は、被写体３次元座標Ｑの重みを、重み関数Ｗ（ｄ，θ）に基づいて決める。重み関数Ｗは、例えば下記の式（１２）により算出する。
【００４５】
Ｗ(ｄ(Q,p)，θ(Q,p,R))＝ｋl・Ｗd(ｄ(Q,p))＋ｋ2・Ｗθ(θ(Q,p,R))    式（１２）
【００４６】
ここで重み関数Ｗd（ｄ）は例えば図１０（ａ）で表され、また重み関数Ｗθ（θ）は例えば図１０（ｂ）で表される。ｋl，ｋ2は重み関数Ｗd（ｄ）、重み関数Ｗθ（θ）の加重加算重みを表す係数である。すなわち、重み関数Ｗd（ｄ）は、カメラの位置ｐと被写体３次元座標Ｑの位置が近い（距離ｄが短い）ほど、その被写体は撮影時に重要な被写体であったと判断できるため、重みを大きくする関数となされている。また重み関数Ｗθ（θ）は、カメラ光軸の向きとカメラの位置ｐから被写体３次元座標へ向かう直線の成す角度が小さい（差異θが小さい）ほど、被写体は画角中心に存在して撮影時に重要な被写体であると判断できるため、重みを大きくする関数となされる。また、係数ｋl，ｋ2に関しては、係数ｋlを大きくするほどカメラの位置ｐと被写体３次元座標Ｑの位置が近い被写体がより重要と判断される。また係数ｋ2を大きくするほどカメラの光軸の向きとカメラの位置ｐから被写体３次元座標へ向かう直線の成す角度が小さい被写体がより重要であると判断される。
【００４７】
なお、被写体３次元座標の重み算出方法は前述した方法には限定されず、例えば、３次元座標Ｑが撮影フレームに投影された位置と、撮影フレームの基準点との距離に基づいて重みが設定されてもよい。この手法例について、図１１を参照しながら説明する。
【００４８】
図１１（ａ）は、図４のカメラ位置４０５，４０６，４０９，４０１で撮影されたフレーム画像４１５，４１６，４１９，４１１上に３次元座標Ｑ［３］が投影された投影面上の座標１１１２と、各フレーム画像上の基準点１１１１との間の距離を表す図である。各フレーム画像上の基準点１１１１は、各フレーム画像の中心に設定する。そして図１１（ｂ）に示すように、投影位置（座標１１１２）と基準点１１１１との間の距離が近いほど、被写体３次元座標の重みを大きくするように重みを設定しても良い。なお、フレーム画像上の基準点１１１１は、画像上で被写体が消失した消失点座標、ユーザが指示した座標、被写体の特徴量の最も大きい特徴点の座標、逐次フレーム間で最も頻度高く投影される特徴点の座標のいずれかを設定してもよい。
【００４９】
またカメラ位置４０１の場合、３次元被写体座標Ｑ［３］は、撮影フレームの外側に投影されることになる。つまりフレーム画像上には記録されないが、撮影フレームが記録範囲より広い範囲にあると考え、３次元被写体座標Ｑ［３］が撮影フレームの内側に投影されるカメラ位置４０５，４０６，４０９と同様に、投影位置と基準点との距離に基づき重みが設定される。
【００５０】
Ｓ３０４の後、重み設定部１１８は、Ｓ３０５において、全ての被写体３次元座標を処理したか否かを判定し、処理していないと判定（Ｎｏ）した場合にはＳ３０１に処理を戻してＳ３０１からＳ３０４の処理を実行する。一方、処理したと判定（Ｙｅｓ）した場合、重み設定部１１８は、Ｓ３０６の処理に遷移する。
【００５１】
Ｓ３０６に進むと、重み設定部１１８は、全てのカメラ位置のフレーム画像を処理したか否かを判定し、処理していないと判定（Ｎｏ）した場合にはＳ３００に処理を戻してＳ３００からＳ３０５の処理を実行する。一方、処理したと判定（Ｙｅｓ）した場合、重み設定部１１８は、図３のフローチャートの処理を終了する。
【００５２】
そして重み設定部１１８は、図３の処理で得た重みにより、図１２のように横軸をフレーム画像のインデックス、縦軸を被写体３次元座標のインデックスで表現し、フレーム画像毎に各被写体３次元座標の重みを配した重みマトリックス１２００を生成する。
【００５３】
図１２に示した重みマトリックス１２００において、例えば領域１２０２に着目すると、フレーム番号３の画像では被写体３次元座標Ｑ［１］，Ｑ［２］の重みが「８」で大きいことを表している。また、領域１２０４に着目すると、フレーム番号４、５、６の画像は、被写体３次元座標Ｑ［３］、Ｑ［４］、Ｑ［５］の重みが大きいことを表している。
【００５４】
また図１２の重みマトリックス１２００ではフレーム画像毎に被写体３次元座標Ｑの重みが算出されているが、重み設定部１１８は、図１３に示すように、フレーム画像の一部または全体を通じた被写体３次元座標Ｑの重み１３００を算出してもよい。図１３の例の場合、重み設定部１１８は、被写体３次元座標Ｑ毎に、前述したようにフレーム毎に算出した重みを、所定フレーム分加算して、撮影シーン全体を通じた重み１３００を算出する。
【００５５】
前述した図３のフローチャートの処理が終了すると、画像処理装置１００の処理は、図２のＳ２０４に遷移する。
図２のＳ２０４に遷移すると、被写体検出部１２０は、重みの大きな被写体を着目被写体として検出する。この時の被写体検出部１２０は、図１２や図１３に例示した被写体３次元座標の重みマトリックスを参照し、重みの大きな領域の被写体を着目被写体として検出する。
【００５６】
次にＳ２０５において、軌跡補正部１１６は、Ｓ２０１で推定されたカメラ位置姿勢を補正することにより、カメラ軌跡を補正する。軌跡補正部１１６は、カメラ軌跡を補正するために、下記の式（１３）〜式（１７）による所定の評価式を設定し、それら評価式が最小になるようにカメラ軌跡を算出する。
【００５７】
【数４】
2020107058.tif 000006
【数５】
2020107058.tif 000007
【数６】
2020107058.tif 000008
【数７】
2020107058.tif 000009
【００５８】
Ｅ＝λ1・Ｅlength＋λ2・Ｅsmooth＋λ3・Ｅapprox＋λ4・Ｅobject      式（１７）
【００５９】
ここで、ｐ（ｔ）は時刻ｔでの補正後のカメラ位置、ｆ（ｔ）は時刻tでの補正後のカメラ方向、ｐinはｐ（ｔ）に一番近い位置にあるカメラ位置である。
式（１３）は補正後のカメラ軌跡の長さを調整する式である。
式（１４）は補正後のカメラ位置と補正後のカメラ方向の１フレーム毎の変化が滑らかになるように調整する式である。
式（１５）は推定された撮影時のカメラ位置と補正されたカメラ位置の差分を調整する式である。
【００６０】
式（１６）は、図３の処理フローで算出した重みの大きい被写体３次元座標Ｑが、補正後のカメラ軌跡で得られる画像においても重みが大きくなるように、カメラ位置と姿勢を調整する式である。式中のｉは撮影中に検出された任意の被写体３次元座標Ｑ［ｉ］のインデックスを表す。例えば図１２で示した重みマトリックスの場合、被写体３次元座標Ｑ［３］、Ｑ［４］、Ｑ［５］は、フレーム番号４〜６のフレーム画像の撮影時の重みが大きい。そのため、補正後のカメラ位置としてはカメラ位置１４００を選択するよりも、カメラ位置１４０２を選択する方が、評価式Ｅobjectは小さくなる。このため、補正後のカメラ位置としては、図１４に示すようなカメラ位置１４００ではなくカメラ位置１４０２が選択される。
【００６１】
式（１７）は、式（１３）〜式（１６）を加重加算する評価式であり、この評価式により算出される評価値を最小とするｐ（ｔ）、ｆ（ｔ）を、時系列（フレーム番号順）に累積することで、例えば図１５に示すように補正カメラ軌跡１５００が生成される。
【００６２】
図１５には、補正前の各カメラ位置４０１〜４０９とカメラ軌跡４００に加えて、補正後のカメラ位置１５０１、１５０２、１５０３と補正カメラ軌跡１５００が示されている。図１５によれば、例えば、撮影時に重みが大きいと判断された被写体３次元座標Ｑ［３］、Ｑ［４］、Ｑ［５］が、補正カメラ軌跡１５００の補正後のカメラ位置１５０２においても重みが大きい被写体３次元座標として補正した画像が得られる。
これにより、信号処理部１１０では、補正カメラ軌跡１５００に応じた安定化動画を生成することができる。この補正カメラ軌跡１５００で得られる安定化動画は、図５（ｂ）のフレーム画像Ｆ１１、Ｆ１２、Ｆ１３を含むような動画となる。
【００６３】
以上説明したように、本実施形態の画像処理装置１００においては、撮影時の被写体の３次元座標を検出し、カメラの位置姿勢の変化を、着目被写体を含む着目シーンの３次元座標を重みに基づき補正している。これにより、本実施形態によれば、安定化動画を生成する際に撮影時の着目被写体を含むシーンを残すことが可能となる。すなわち本実施形態によれば、撮影された撮影動画から安定化動画を生成する際に、撮影時の着目被写体を含む着目シーンを残した安定化動画の生成が可能である。
【００６４】
前述した実施形態に係る画像処理は、デジタルカメラやパーソナルコンピュータだけでなく、スマートフォン、タブレット端末、監視カメラ、工業用カメラ、車載カメラ、医療用カメラなどにより行われてもよい。
【００６５】
本発明に係る信号処理における１以上の機能を実現するプログラムは、ネットワーク又は記憶媒体を介してシステム又は装置に供給可能であり、そのシステム又は装置のコンピュータの１つ以上のプロセッサにより読また出し実行されることで実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００６６】
前述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６７】
１００：画像処理装置、１０８：制御部、１１０：信号処理部、１１２：記憶部、１１４：軌跡推定部、１１６：軌跡補正部、１１８：重み設定部、１２０：被写体検出部
【図１】
2020107058.tif 000010
【図２】
2020107058.tif 000011
【図３】
2020107058.tif 000012
【図４】
2020107058.tif 000013
【図５】
2020107058.tif 000014
【図６】
2020107058.tif 000015
【図７】
2020107058.tif 000016
【図８】
2020107058.tif 000017
【図９】
2020107058.tif 000018
【図１０】
2020107058.tif 000019
【図１１】
2020107058.tif 000020
【図１２】
2020107058.tif 000021
【図１３】
2020107058.tif 000022
【図１４】
2020107058.tif 000023
【図１５】
2020107058.tif 000024