実績とブログの一覧へ戻る
PortalCamXGRIDS3DGSワークフロー 2026-07-26読了 約6分

PortalCamの生データ(.xbin)
から4K元画像を取り出す

ロケハン3Dの中村です。PortalCamでスキャンすると、LCC StudioやLixel Studioが3DGSや点群を書き出してくれますが、その裏には撮影した元の4K画像がそのまま生データの中に眠っています。この記事では、CLIツールだけを使って生データ(.xbin)から4K元画像を取り出す方法と、実際にその画像でフォトグラメトリ再構成を試して分かった限界をまとめます。

PortalCamの生データから抽出し、魚眼から透視投影に変換した4K元画像の例(車道と高層ビル群)
抽出した4K元画像を透視投影に変換したもの。生データの中では魚眼のH.264動画として記録されているため、そのままでは一般的な画像処理ソフトでは扱いにくく、変換をかけています。
PortalCamでスキャン .xbin(生データ) extract_images_h264.exeで抽出 4K魚眼JPEG 透視投影に変換

01 なぜ生データから元画像を取り出すのか

PortalCamのスキャンをLCC Studioで書き出すと、3DGSと点群、それにLiDARメッシュが出てきます。ここまでで映像制作にはほぼ困りませんが、現場を歩いたときのカメラそのものの4K画像が別に欲しい場面があります。3DGSからは作れない使いどころが2つあります。

PortalCamのLCC StudioにもGUIから画像を書き出す機能はありますが、この記事ではGUIを開かず、CLIツールだけで完結する方法を使います。バッチ処理や自動化に組み込みやすいためです。

02 PortalCamのスキャン成果物の中身

抽出の前に、PortalCamが1回のスキャンで作るフォルダの中身を把握しておきます。ShotData/<スキャン名>/ 配下は、だいたい次のような構成になっています。

ShotData/<スキャン名>/
├─ 2026-XX-XX-XXXXXX.xbin        # 生センサー記録(画像+LiDAR+IMU+GNSS)
├─ ply/ply-result/                # 3DGS本体
├─ Lcc2/lcc2-result/              # LCC2書き出し(3DGS+メッシュ)
├─ mesh-files/<スキャン名>.obj    # LiDARメッシュ(粗い)
└─ project_data/                  # 移動軌跡・カメラ構成などのログ

この中で今回使うのは、いちばん重いファイルである.xbinだけです。ファイルサイズは撮影時間に比例し、数分のスキャンで1GB前後になります。

03 xBinの正体:JPEGではなくH.264動画

.xbinを実際に解析すると、正体はXBAG形式という「センサーデータをまとめて詰め込んだ入れ物」でした。カメラ映像・LiDAR点群・IMU・GNSSが時系列で1本のファイルに混在しています。

ファイルから画像を拾い出すことはできないファイル全域を探しても、静止画は1枚も埋まっていません。カメラ映像はH.264の動画として記録されているため、デコードしないと1枚の画像も取り出せません。

自前で動画部分を取り出してffmpegに渡す方法もありますが、ファイル構造を正しく辿る実装が要るため手間がかかります。次の章で使うXGRIDS純正のCLIツールなら、この工程を意識せずに済みます。

04 4K元画像を抽出するコマンド

使うツールは、LixelStudioに同梱されているextract_images_h264.exeです。LCC StudioやLixel Studioを起動する必要はなく、コマンド1行で完結します。

"C:\Program Files (x86)\LixelStudio\extract_images_h264.exe" ^
  --hbc_path <xbinのパス> --out_dir <出力先> ^
  --out_fps 5 --prj_version 1 --device_type 4 --use_blur_detect 1
--prj_version 1 は省略できません省略すると、エラーメッセージも出さずに「hbc not exsit」とだけ表示して無言で終了します。.hbc形式なら0、.xbin形式なら1を指定します。

--device_typeは撮影機材を指定するフラグですが、PortalCamは選択肢の一覧に載っていません。実際に試した結果、次の値が正解でした。

device_type対象機材結果
1Lixel L20枚
3Lixel L2 Pro0枚
4Lixel K1
(PortalCamはこれを指定する)
抽出成功
5 / 6(他機材)0枚

この2つのフラグさえ合わせれば、あとは指定した出力先にカメラごとのフォルダができ、4Kクラスの魚眼JPEGがタイムスタンプ付きファイル名で並びます。なお出力フレームレートの指定は実質効かず、元データの全フレームがそのまま出力されます。

魚眼のまま扱いにくい場合抽出される画像は魚眼レンズそのままの円形の写り込みです。一般的な画像処理・フォトグラメトリソフトで使うには、同梱のfisheye2perspective.exeで透視投影に変換します。この記事の冒頭とこのあとの図版も、変換後のものです。

05 4カメラのうち2台しか出せない制約

PortalCamは左右にメインとサブ、合わせて4眼を積んでいます。.xbinの中にも、この4本分の定義が入っています。

ところがextract_images_h264.exeが実際にデコードするのは左右のメイン2本だけです。サブ側を出力する方法は今のところ見つかっていません。

幸い、出てくる2本は同時刻に記録された同期ステレオペアになっているので、視差情報そのものは確保できています。

camera_0側から抽出した4K元画像(透視投影変換後)
左メインカメラの1フレーム。
camera_1側から抽出した4K元画像(透視投影変換後)
右メインカメラの1フレーム。同時刻に記録された、もう一方の目線です。

06 検証:抽出画像からのフォトグラメトリは全滅

ここからは条件付きの結論です。「4K元画像が取れるなら、フォトグラメトリでメッシュも作れるのでは」と考え、会議室のスキャンで実際に試しましたが、現時点ではこの道は塞がっています

RealityScanは完全にハングする魚眼のままだと起動直後にクラッシュします。透視投影に変換してから読み込んでも、画像を並べる工程で処理が止まったまま進みません。長時間待っても進捗はまったく動かず、最終的にウィンドウが操作不能になって強制終了しました。出力は0件です。
COLMAPは起動すらできない実行すると即座に落ちます。原因はWindowsのセキュリティ機能が、同梱の署名なしファイルをブロックしていることです。この機能の無効化はWindowsの再インストールでしか元に戻せない不可逆操作のため、この検証では実施していません。

本質的な原因は撮り方の違いです。歩きながら点在して撮った程度の枚数では、特徴点マッチングが成立しません。PortalCamは歩きながら連続的に3DGS用のデータを集める設計であり、フォトグラメトリが前提とする「1点にとどまって、写真どうしの重なりを大きく取りながら撮る」撮り方とは根本的に噛み合いません。加えて、検証した会議室は無地の壁が多く、手がかりになる特徴点自体が少ない現場でした。魚眼から透視投影への変換自体は問題なく機能しており、詰まっているのはあくまで再構成側です。

再挑戦するなら同じ現場なら、写真どうしの重なりを大きく取った別撮りが必要になります。サブ側の2眼まで抽出できれば情報量は増えますが、現状はメイン側の2眼のみです。今のところ、抽出画像は次章のAI参照素材としての使い道に絞るのが現実的です。

07 使いどころとまとめ

この記事の流れをまとめると、PortalCamの生データ(.xbin)はXBAG形式のH.264動画で、extract_images_h264.exe--prj_version 1--device_type 4を指定すれば4K元画像を抽出できる、という一本道です。ただし4眼のうち出せるのは2眼のみで、抽出画像そのものからのフォトグラメトリ再構成は現状うまくいっていません。

いちばん実用的な使いどころは、AIの参照素材です。抽出した連番フレームは現場の実写そのものなので、Nano Banana ProやGeminiで背景の破綻を修正するときの参照や、動画生成AIにロケーションを指定するときの参照として強力に効きます。実際のAI活用ワークフローは3DGSから「空撮カット」を生成する方法で詳しく解説しているので、あわせて参照してください。

生データの取り扱いや3DGS制作についてご相談があれば、お気軽にお問い合わせください。

Contact

PortalCamの生データ活用・カスタムスキャンのご相談

AI参照素材としての元画像出力や、現場ごとの撮影条件に合わせたスキャン設計など、生データレベルでの調整が必要な案件はお気軽にご相談ください。

お問い合わせ →
Credits / 制作

制作クレジット

中村 航
中村 航Kou Nakamura
ロケハン3D 代表 / 検証・執筆

ロケハン3D(LOCAHUN 3D)代表。3DGSスキャンとゲームエンジン・AIを組み合わせた撮影ワークフローを研究・検証している。

@Kou45388803 をフォロー →