0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

動画生成AIでインプット画像を作成してフォトグラメトリ(Meshroom)

Posted at

記事の概要

動画生成AIで生成した一貫性の高い動画は、一貫性の高い画像に連続になるため、その画像をフォトグラメトリのインプットして、3Dモデルを作成する。

 動画(三次元=X軸 × Y軸 × 時間)

     ↓↓↓   ↓↓↓

 3Dモデル(三次元=X軸 × Y軸 × Z軸)

■動画

■3Dモデル

image.png

以下の記事を参考にしています。

環境

OS:Windows 11
CPU:i7-10750H 16G
GPU:NVIDIA GeForce RTX 3060 Laptop 8G

準備

インプット(動画生成 → 画像分割)

動画生成

今回はSoraを使って動画を生成する。
プロンプトは「キノコの周辺を一周する」。回転が遅い場合は「もう少し早く」などで回転を速くする。

以下のキャプチャの流れで動画をダウンロードする。

image.png

image.png

画像分割

FFmpegなどを使って動画を分割する。

以下のコマンドなどで画像を分割する。

ffmpeg -i input.mp4 -vf fps=30 %03d.png

以下のように画像が分割される。

image.png

Meshroomのダウンロード

以下のページからWindows版のソフトをダウンロードする。

image.png

ダウンロードしたzipファイルを解凍すると、以下のようなフォルダがさ作成されるので、「Meshroom.exe」をダブルクリックなどで起動する。

image.png

起動すると、以下のような画面が起動する。

image.png

注意事項

注意として、この手順に関わるパスに、「C:\Users\XXXXX\OneDrive\デスクトップ\task」の「デスクトップ」のような日本語名が入ると、以下のようなエラーが発生するので、パスに日本語名が入らないようにしてください。

Failed to Import Images - Meshroom 2023.3.0

You probably have a corrupted image within the images that you are trying to import.
[2024-12-28 23:26:07.580425] [0x0000443c] [trace]   Embedded OCIO configuration file: 'C:\Users\XXXXX\deep-learning\Meshroom-2023.3.0\aliceVision/share/aliceVision/config.ocio' found.
Program called with the following parameters:
 * allowSingleView = 1
 * allowedCameraModels = "pinhole,radial1,radial3,brown,fisheye4,fisheye1,3deanamorphic4,3deradial4,3declassicld"
 * colorProfileDatabase = "" (default)
 * defaultCameraModel = "" (default)
 * defaultFieldOfView = 45
 * defaultFocalLength = -1 (default)
 * defaultFocalRatio = 1 (default)
 * defaultOffsetX = 0 (default)
 * defaultOffsetY = 0 (default)
 * errorOnMissingColorProfile = 1 (default)
 * groupCameraFallback =  Unknown Type "enum EGroupCameraFallback"
 * imageFolder = "" (default)
 * input = "C:\Users\XXXXX\AppData\Local\Temp\tmp68yefuw2/CameraInit/961e54591174ec5a2457c66da8eadc0cb03d89ba/viewpoints.sfm"
 * lensCorrectionProfileInfo = "${ALICEVISION_LENS_PROFILE_INFO}"
 * lensCorrectionProfileSearchIgnoreCameraModel = 1
 * maxCoresAvailable =  Unknown Type "unsigned int" (default)
 * maxMemoryAvailable = 18446744073709551615 (default)
 * output = "C:/Users/XXXXX/AppData/Local/Temp/tmp68yefuw2/CameraInit/961e54591174ec5a2457c66da8eadc0cb03d89ba/cameraInit.sfm"
 * rawColorInterpretation =  Unknown Type "enum aliceVision::image::ERawColorInterpretation"
 * sensorDatabase = "C:\Users\XXXXX\deep-learning\Meshroom-2023.3.0\aliceVision\share\aliceVision\cameraSensors.db"
 * verboseLevel = "info"
 * viewIdMethod =  Unknown Type "enum aliceVision::sfmDataIO::EViewIdMethod"
 * viewIdRegex = ".*?(\d+)" (default)

Hardware :
        Detected core count : 12
        OpenMP will use 12 cores
        Detected available memory : 7520 Mo

ERROR:root:Error while building intrinsics: CameraInit failed with error code 3221226505.
Command was: "aliceVision_cameraInit  --sensorDatabase "C:\Users\XXXXX\deep-learning\Meshroom-2023.3.0\aliceVision\share\aliceVision\cameraSensors.db" --lensCorrectionProfileInfo "${ALICEVISION_LENS_PROFILE_INFO}" --lensCorrectionProfileSearchIgnoreCameraModel True --defaultFieldOfView 45.0 --groupCameraFallback folder --allowedCameraModels pinhole,radial1,radial3,brown,fisheye4,fisheye1,3deanamorphic4,3deradial4,3declassicld --rawColorInterpretation LibRawWhiteBalancing --viewIdMethod metadata --verboseLevel info --output "C:/Users/XXXXX/AppData/Local/Temp/tmp68yefuw2/CameraInit/961e54591174ec5a2457c66da8eadc0cb03d89ba/cameraInit.sfm" --allowSingleView 1 --input "C:\Users\XXXXX\AppData\Local\Temp\tmp68yefuw2/CameraInit/961e54591174ec5a2457c66da8eadc0cb03d89ba/viewpoints.sfm"".

QQmlComponent: Created graphical object was not placed in the graphics scene.

フォトグラメトリ実行

インプットの画像をドラッグアンドドロップする。(フォルダ単位でも可)

image.png

以下のようになる。

image.png

「Start」をクリックする。

image.png

以下のポップアップが表示されるので、「Save」をクリックしてプロジェクトのファイルを作成するか、「Continue without Saving」をクリックして、処理を開始する。

image.png

以下のようになっていれば、処理が開始されている。

image.png

結果

10分程度で、以下のような画面となる。

スクリーンショット 2024-12-29 141355.png

プロジェクトを作成したフォルダ配下で、「MeshroomCache > Texturing > ランダムな文字列」フォルダ作成されており、「texturedMesh.obj」が作成されていることが確認できる。

image.png

ちなみに、このカラフルなオブジェクトは、インプット画像から想定されている視点みたいなものなので、出力には関係がない。

image.png

確認

Blenderでの確認

Blenderを起動し、「File > Import > Wavefront(.obj)」をクリックする。

image.png

「texturedMesh.obj」を選択する。

image.png

以下のような3Dモデルが作成されていることが分かる。

image.png

ちなみに、360度全てをインプットにできていないため、角度を変えると破綻している。

image.png

感想

動画で見えている部分についてはかなりいい感じにモデリングできている。
動画に情報があるかが全て。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?