・「CVPR2023技術報告会」参加
・「NVIDIA 生成 AI Day 2023 Summer」参加
・「Amazon Web Services 基礎からのネットワーク&サーバー構築」を読む
・Unreal Engine 5を使ってみる
・研究の目的、モチベーションなど、ざっくりまとめ↓
- 研究の目的
単眼カメラで撮影した動画あるいは画像群から高精度な3次元メッシュモデルを抽出すること
- モチベーション
・VRやAR、ゲームなどの3Dアセットを簡単に作成できる
→より現実に近い仮想空間を作る手間が減る
・ECサイトや旅行・不動産サイトなどにおいて、3Dモデルを使うことができる
→画像のような2次元の情報よりも現実に近い情報を提供でき、今よりも高いレベルでユーザーの意思決定をサポートできる
- なぜ3DスキャナーやLiDARを使わないか
一般的に、単眼カメラと比べてコストが高い
→どれくらいの精度が必要かによって住み分ける
→自分の研究では、「誰でも簡単に、より少ない手間で、それなりに良い3Dモデルを生成すること」が目標
→さらに高精度な3Dモデルが必要な場合は、3DスキャナーやLiDARを使うか、専門の業者に頼んで何千枚もの画像から3次元モデルを抽出すればよい
- なぜNeRFのまま処理をせず、メッシュモデルに変換するか
→NeRFのままだと、リアルタイムでのレンダリングには向かない+実行環境を用意しないといけない
→動画データの出力を目的とする場合はNeRFで全てを処理しても良いが、リアルタイムでレンダリングするアプリケーションでの利用を考えると、メッシュとして書き出した方が良い(リアルタイムでのレンダリングやシェーダーなど、CGの技術がそのまま使える、他の3Dアセットとも組み合わせることができるから)
- 実データを扱う場合にNeRFの精度が悪化する理由
NeRFはカメラパラメータが既知であることを前提としているため、COLMAPなどのSfM(Structure From Motion)でカメラの内部パラメータ・外部パラメータを推定する必要がある
→NeRFの精度がSfMの精度に依存する
→また、外乱光や一時的なオブジェクトの影響により、CGのデータセットよりもアーチファクトが生じやすい
→実データでの精度向上はまだ研究の余地がある
- 今後の方針(一例)
① ディティールを正確に復元できるようにする(精度向上)
→カメラとオブジェクトの距離に依存した損失をかけるとおそらく実現可能
② 不要なオブジェクトを消去できるようにする
→diffusionモデルのinpaintingで学習画像からオブジェクトを消去する
または
レンダリング時に不要なオブジェクトを無視する
③ ターゲットのオブジェクトのみを切り取る
→セグメンテーションを用いてターゲットのオブジェクトにマスクをかける
→マスク情報を使ってsdfの形状に制約をかける
④ 360度の3Dモデルを生成する
→通常はテーブルなどにオブジェクトを配置して写真を撮るので、上半球のみしか形状を復元できない
→オブジェクトが上を向いている状態と下を向いている状態の2つで形状を復元し、それらを繋げることで360度の完全な3Dモデルを生成する
→sdfの重ね合わせが上手くいけばおそらく実現可能