ステレオムービーメーカーの全フレーム左右自動調整

ステレオムービーメーカーで全フレーム左右自動調整機能を追加してみました。
外部のAutopano.exeを使用した場合、時間がかかり過ぎて実用的ではないと判断し、対応していなかったのですが、SIFTよりも高速な内臓アルゴリズムを使う事で、かなり時間も短縮されるため、対応することにしました。

但し、フレーム毎に特徴点は、バラバラで、静止画ではあまり問題にならないのですが、動画だと、フレーム毎に調整値が暴れる為、単純に全フレーム自動調整すると、非常に見にくい動画になってしまいます。
また、自動トリミングも、全フレーム、トリミングサイズが異なる為、単純には、実現できません。
そこで、全フレーム左右自動調整を選択し、動画を保存する時は、まず、第一ステップでは、全フレームの左右の位置ずれを解析し、その解析データを元に、最適な自動トリミングエリアを決定し、また、調整値の暴れを抑える為に、指定したフレーム数で調整値を平均化し、第二ステップで、保存するようにしました。
左右の調整値の再解析が必要無く、単に、平均化するフレーム数の変更や、自動トリミングモードのON/OFF、リサンプルのON/OFFの時は、元ファイルを開いた後、左右自動位置調整を選択すると、作成済みの調整ファイルを使うかどうか聞いてきますので「はい」を選択すると、解析処理をスキップするので、比較的高速に再生や保存ができます。

全フレーム自動調整を選択せずに、左右自動位置調整を選択すると、表示フレームでの調整値を全フレームに適用します。
これも、内部のアルゴリズムを見直し、高画質化/高速化しました。

ダウンロード
stvmkr096e.zip 518KB

使い方

1.SMMを起動し、元になる動画を開き、メニュー→位置調整→左右自動調整の設定を選択
2.ダイアログが表示されるので、
 AutopanoフォルダにAutopano.exeのフォルダが指定されている場合は、これを削除し空欄にする。
 (何も指定しないと、内臓の高速アルゴルを使用します)
3.全フレーム調整の場合、横パース/縦パースは、チェックしない方が、良い結果になるようです。



4.メニュー→位置調整→左右自動位置調整(またはAlt+K) を選択し、自動調整モードにします。
5.メニュー→ファイル→ステレオムービー保存 を選択し、保存します。
 早くなったとは言っても、全フレーム調整は、そこそこ時間はかかります。
 最初は短めで停止ボタンで中断し、効果を確認して下さい。

サンプル

飛行船から、流し撮りですが、回転しながら、速度も結構変化していますので、このような自動調整がないとステレオ動画にするのは無理がありそうなサンプルです。平均化サンプル数の効果をご確認下さい。一般的には、数値が小さいほど追従性は良くなりますが、フレームのゆれが大きくなります。ソースの応じて適当な値を見つけて下さい。

オリジナル動画:st_ana_or.avi

水平垂直回転サイズ調整(平均化無し):st_ana_01.avi

水平垂直回転サイズ調整(5フレーム平均化):st_ana_05.avi

水平垂直回転サイズ調整(10フレーム平均化):st_ana_10.avi

水平垂直回転サイズ調整(30フレーム平均化):st_ana_30.avi