memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Insta360 ONE RS 1-INCH 360 Editionで撮影した全天球動画をもとにフォトグラメトリする手順(個人メモ)

いまさらフォトグラメトリのオモシロさに気づきました。この手の情報は世の中にわんさかあると思いますが、僕の環境の情報ではないので忘れたときに思い出すのが面倒でした。。。ということでこれを書いています。環境は以下の通りです。

カメラ:Insta360 ONE RS 1-INCH 360 Edition

ソフトウェア:Metashape Standard(教育)

M1 Macbook Air (macOS 13.1)

勉強した素材は以下の本です。まだ全部読んでいません。

あと、以下の記事も参考にさせてもらっています。めちゃわかりやすいです。 フォトグラメトリ入門 Macでも使えるMetashapeの使い方 | STYLY

以下、手順です。

(1)Insta360で動画撮影します。

(2)Insta360をUSB-CケーブルでMacに接続します。Macには事前にInsta360 Sudio 2023をこちらからインストールしておきます。

(3)接続するとInsta360 Sudio 2023が自動的に起動するはず?で、本体のファイルをそのまま選択して処理するか、Android Transfer を使ってMacに.instvファイルをコピーしてからそのファイルをInsta360 Sudio 2023で選択するか?の2通りの方法があります。いずれにせよ1つ動画を選択して、以下のゲージ?で不要な部分があれば、開始と終了位置を調整し、右のエクスポートボタンを押します。僕の設定ではデスクトップにmp4ファイルが生成されました(エクスポートするときに「リフレーム動画」か「360度動画」かの選択肢がありますが360度を選択します)。

(4)生成されたmp4ファイル(仮にファイル名をa.mp4とします)から静止画を取り出します。ツールは色々あるようですが、macだとbrewとかで入れられるffmpegが私的にはいいなというので以下その手順です。ffmpegのインストールはあちこちにあると思いますので「mac ffmpeg brew インストール」とかでググると見つかると思います。

変換対象のa.mp4ファイルはデスクトップにあるとします。静止画をいれるディレクトリをデスクトップに作っておきます。ディレクトリ名はoとします。その上で以下のコマンドをターミナルから実行します。rオプションの数字はFPSです。大きくするほどより多くの静止画が生成されます。

ffmpeg -i a.mp4 -r 5 o/o_%04d.jpg

(5)metashapeを起動し、メニュー「ワークフロー」から「フォルダを追加」を選択し、デスクトップ上のoディレクトリを選択します。

(6)oディレクトリ内のファイル数分「Chunk 1 (???個のカメラ)」といったフォルダアイコンが表示されるので、それを選択して、メニュー「ツール」から「カメラキャリブレーション」を選択し、表示された画面の「カメラタイプ」を「スフェリカル / 球」にします。

(7)あとは、普通の写真(非360度)の処理と同じ手順になります。一応、書くと以下の通りです。

  • メニュー「ワークフロー」から「写真のアライメント」を選択して実行
  • メニュー「ワークフロー」から「メッシュ構築」を選択して実行
  • メニュー「ワークフロー」から「テクスチャ構築」を選択して実行

以上で3Dモデルが生成されるはずです。