Blog
本記事は、2024年夏季インターンシッププログラムで勤務された金澤爽太郎さんによる寄稿です。
はじめに
PFN 2024 夏期国内インターンシップに参加しました、東京大学大学院 情報理工学研究科 修士 1 年 (参加当時) の金澤爽太郎と申します。
普段は五十嵐研究室でコンピュータビジョンに関する研究をしています。
今回は、Structure-from-Motion (SfM) の再構成エラーをユーザの教示によって改善するというテーマで 7 週間の研究インターンを行いました。
本研究は東京大学大学院 学際情報学府 修士 1 年 (参加当時) の周矜瑶さんとの共同研究です。
本インターンでの研究成果は ACM IUI 2025 に採択されました。
研究成果
本研究の詳細はこちらの論文をご参照ください。
背景
三次元再構成は、(複数枚の) 画像から対象の三次元形状を推定するタスクのことです。
三次元再構成は、最新の三次元再構成技術である NeRF [1]や 3DGS (Gaussian Splatting)[2]の台頭に伴って、急激に研究・応用が盛んになっています。
図 1: 3DGS による三次元再構成
PFN でも、最新の三次元再構成技術を活用して、物品の 3D データ化 (3D スキャン) を行う PFN 3D Scan や、ヒトや動きの 3D スキャンを行う PFN 4D Scan によって実世界のあらゆる対象を立体的にデータ化する技術を開発しています (https://pfn3d.com/overview)。
その中で、SfM (Structure-from-Motion) という技術は、NeRF や 3DGS の初期値として利用されています。
SfM は、複数枚の画像に基づいて三次元カメラ姿勢 (= 位置 + 方向) と三次元点群を推定する技術です。
図 2: SfMソフトウェアのColmap によるカメラ姿勢と点群の推定
そして、NeRF は SfM のカメラ姿勢を、3DGS はカメラ姿勢と点群を初期値として利用します。
従って、SfM による推定精度は NeRF や 3DGS による三次元再構成の精度に大きく影響を与えます。
図 3: 3DGS のワークフロー [2]。SfM のカメラ姿勢と点群を利用している
SfM では、画像の特徴点抽出と特徴点マッチングに基づく画像間のマッチング1 が行われ、これらの情報はデータベースに保存されます。
このデータベースの情報に基づいて、カメラ姿勢と点群の推定が行われます。
図 4: SfM のワークフローと特徴点マッチング
SfM の課題として、画像間のマッチングの誤り (以下、誤マッチと呼ぶ) に起因して、カメラ姿勢の推定にエラーが発生しうるという点があります。
特に、撮影対象の中に類似構造・模様が含まれていると、画像同士のマッチングを行う際に、実際には対象の異なる部分を撮影しているのにもかかわらず、それらの画像同士は同じ特徴点を共有しているとシステムに判断され、その結果画像間の誤マッチが生じてしまいます。
誤マッチによってカメラ姿勢の推定にエラーが生じ、結果的に再構成エラーが生じてしまいます。
図 5: SfM の問題点
本研究では、この課題に対処する手法を提案します。
既存手法
画像間の誤マッチによる再構成エラーを解消するもっとも直接的な方法として、新しい視点の画像を追加することが考えられます。
SfM は、画像間のマッチングが不十分な場合にカメラ姿勢の推定に失敗することがあるので、新しい視点の画像を再撮影によって追加することで、マッチング数を増やして精度を改善できることがあります。
しかし、任意の環境で再撮影が可能であるとは限らず、実際には頻繁に変化する環境 (例: 建設現場) や再訪が困難な場所 (例: 旅行先、海中) など、再撮影が困難なケースは多数あります。
従って、今回は再撮影を行わずに画像間の誤マッチに対処する方法を考えます。
再撮影を行わない方法の一つに、SfM のパラメータ調整を行うという方法があります。
カメラモデルや特徴点マッチングの手法をはじめとして、SfM には多数のパラメータが存在します。
これらを適切に設定することによって、再構成精度を改善できる場合があります。
この手法は SfM のソフトウェア (例: COLMAP) のみで完結するという利点がある一方で、調整可能なパラメータの数は膨大で直感性に欠けるという欠点があります。
また、誤マッチへの対処法として、学習ベースの手法もあります。
Doppelgangers [3] は、学習済みの分類器を用いることによって類似構造による誤マッチを検出する手法です。
この手法は分類器の学習以外は自動であるという一方で、基本的には学習データに依存しており柔軟性に欠けます。
図 6: 学習済みの分類器によって誤マッチを検出する Doppelgangers [3]
手法
以上の既存手法の欠点を踏まえて、本研究ではユーザの撮影環境に対する知識を活用することで、シーンに応じて柔軟に、そして GUI 操作によって直感的に介入する手法を提案します。
画像を撮影した本人であれば、撮影経路や撮影対象に含まれる類似構造・模様を記憶していたり、写真を観察することで思い出したりできると考えられます。
これらの仮定を踏まえて、撮影環境に対する知識に基づいてカメラ姿勢推定のエラーを発見し、それを修正するためにカメラ姿勢や撮影範囲を修正することができるという考えをベースに本手法を提案します2。
具体的には、ユーザの撮影環境に対する知識に基づいてカメラ姿勢と撮影範囲を GUI 操作で教示することで、カメラ画像間の誤マッチを削除し、SfM の再構成エラーを改善するというものです。
図 7: 提案手法
ワークフローとしては以下の通りです。
- (システム) 2D の俯瞰図で最初の SfM 結果 (カメラ姿勢と点群) を可視化します。
- (ユーザ) 撮影環境に関する知識に基づいて、誤ったカメラ姿勢を特定し、カメラ姿勢3 と撮影範囲を GUI 操作で教示します (具体的な GUI 操作に関しては後述のプロトタイプのデモをご参照ください)。
- (システム) 各々のカメラペアに関して、撮影範囲が重複していなければそれらのカメラはマッチングしていないと判断します。そして、それらのカメラペアがマッチングデータベースに含まれていた場合、それらのペアは本来マッチングすべきではなかった、つまり誤マッチであると判断して、データベースからペアを削除します。そうすることで、カメラ姿勢・撮影範囲のユーザによる教示を反映した誤マッチの削除を実現することができます。
- (システム) 更新されたマッチングデータベースを用いて SfM の再構成をもう一度走らせることによって、正しいマッチング情報に基づいた SfM 結果を得ます。
図 8: 提案手法のワークフロー
今回は本手法を実現するためのプロトタイプを実装しました。
詳細は論文をご確認ください。
以下にデモを載せます。
図 9: デモ
実験・考察
ユーザ実験では、似た模様の机が並んでいる環境に関して、8 人のユーザがベースライン手法と提案手法のそれぞれで画像間の誤マッチを 5 分間で削除することで、カメラ姿勢と点群の推定精度を改善するというタスクを行いました。
ベースライン手法は目視で画像間のマッチングを判断し、誤マッチを削除する方法です。
図 10: ユーザ実験の環境
ユーザ実験の結果は以下の通りです。
正解に関しては、ベースライン手法と同じく目視で全ての画像間のマッチングを観察し、30 分かけて誤マッチを丁寧に削除したものを正解としました。
ベースライン手法では介入後も多くのカメラ姿勢が誤って推定されているのに対して、提案手法では介入後にカメラ姿勢が修正されており、提案手法がベースライン手法を大きく上回る結果になっていることがわかります。
図 11: ユーザ実験の結果
他の手法と比較しても、良い結果が得られています。
学習ベースの手法 (Doppelgangers [3]) と SfM パラメータ調整4と比較しています。
図 12: 他の手法との比較結果
そして、類似構造・模様を含む他のデータセット [4] でも誤マッチ削除による再構成エラーの改善を実現できています5。
図 13: 他のデータセットでの結果
さらに、ユーザ実験のデータセットに関して、SfM 結果を初期値として利用して 3DGS で三次元再構成を行った結果、本手法の介入前後で 3DGS の再構成品質も向上していることがわかります (左の介入前はカメラ姿勢の推定エラーによってあちらこちらに飛んでしまっているのに対して、右の介入後は一筆書きの経路を辿っています)。
図 14: 本手法による 3DGS の再構成品質向上
限界
本研究の限界に、カメラ位置に高さがある場合、提案手法を適用するのは難しい場合があるという点があります。
俯瞰図で表示した際に、カメラの配置が重複しうるというのが理由です。
図 15: カメラ位置に高さがある場合。提案手法をそのまま適用するのは難しい場合もある
上記の限界に関しては、例えば提案手法のワークフローはそのままで、縦・横・上の三面図をはじめとした 3D での表示を導入することによって対処できると考えています。
学会レポート
最初に述べた通り、本インターンでの研究成果は ACM IUI 2025 に採択されました。
IUI は HCI 分野のトップカンファレンスのうちの 1 つで、採択論文は HCI×AI の論文を中心に構成されています。
今年は 3/24-27 にイタリアのカリアリで行われ、full paper の採択率は 25 % (97 / 387) でした。
PFN からは以下の 2 件について口頭発表6 を行いました。
– A Framework for Efficient Development and Debugging of Role-Playing Agents with Large Language Models
– User-Guided Correction of Reconstruction Errors in Structure-from-Motion (本研究)
本研究の発表は筆者が行いました。
IUI は採択されている full paper の数 (今年は 97 件) からも分かるように、国際会議としては小規模でした。
一番印象的だったのは、規模が小さい分、食事を通した参加者同士の交流に力を入れていたという点です。
具体的には、毎セッション間の Coffee Break の時間にはコーヒーとお菓子が提供されていました。
毎日 Lunch も提供されていて、そこではワインを飲むことができました。
夜には Welcome Cocktails (初日の夜に簡単な食事とワインが提供された回) や Banquet もありました。
大規模学会との違いも含め、非常に実りのある経験をすることができたように思います。
図 16: 筆者による本研究のプレゼンテーションの様子
おわりに
本インターンでは、撮影環境に関するユーザの知識を活用して、GUI 上でカメラ姿勢と撮影範囲を教示することで、画像間の誤マッチに基づく SfM の再構成エラーを改善するという手法に関して、主にプロトタイプ実装やユーザ実験を行いました。
本インターンでの研究成果は HCI 分野のトップカンファレンスである IUI に採択されました。
インターン生の周さん、メンターの樋口さん、サブメンターの菊池さん、小林さん、李さん、ファブリスさん、テクニカルアドバイザーの五十嵐先生、ユーザテストに協力してくださった方々をはじめとして、本インターンで関わってくださった全ての方々へ心より感謝申し上げます。
参考文献
[1] Mildenhall et al., “NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis”, ECCV2020
[2] Kerbl et al., “3D Gaussian Splatting for Real-Time Radiance Field Rendering”, SIGGRAPH2023
[3] Cai et al., “Doppelgangers: Learning to Disambiguate Images of Similar Structures”, ICCV2023
[4] Yan et al., “Distinguishing the indistinguishable: Exploring structural ambiguities via geodesic context” ,CVPR 2017
脚注
- システムはまず画像同士の特徴点間のマッチングを見つけます。その後、2 つの画像間で一定以上特徴点のマッチングが検出されると、その画像ペアはマッチングしたペアとしてデータベースに保存されます。
- 画像を撮影した本人以外でも、撮影環境に関する知識を共有してもらうことでこの手法でカメラ姿勢や撮影範囲を調整することが可能であると考えています。
- この際、厳密にカメラ姿勢を教示する必要はありません。最終的には、誤マッチ削除後に再度再構成を走らせるので、その段階でカメラ姿勢が最適化されるというのが理由です。
- SfM ソフトウェアである COLMAP を用いて、5 つの異なるカメラモデルと 3 つの特徴点マッチング手法をそれぞれ組み合わせて計 15 回の試行を行いました。
- ToH データセットは数百枚程度のデータセットで 30 分、他は数十枚程度のデータセットで 2-3 分の介入を行いました。本手法は特に小規模データセット (~数百枚) や大規模データセット (数千枚~) の一部分の SfM による再構成エラーを修正するのに適していると考えています。
- 一般的に HCI 分野のトップカンファレンスでは採択された全ての full paper に対して口頭発表の枠が割り当てられます。