MarkTechPost AI 📅 2026-08-31 08:16 ⏱️ 約 13 分で読めます ⚡ らぼまる編集部 実機検証済み

動画から物理コードを自動生成!MirroSのオープンソースAI「Code-as-World」で3Dシミュレーション開発が激変

動画から物理コードを自動生成!MirroSのオープンソースAI「Code-as-World」で3Dシミュレーション開発が激変

🐶 らぼまるの速報チェック!

「MirroS(MirroS-Lab)から、実際の動画から物理シミュレーション用のコード(MuJoCoプログラム)を全自動生成するオープンソースAI『Code-as-World』が登場したよ!ピクセルを予測する従来の動画生成モデルと違って、編集・実行可能なコード(scene.json)を吐き出してくれるから、ロボット学習やシミュレーション開発が爆速化するよ🐶⚡」

  • 🚀 ツールの特徴: MirroS開発 / Qwen3.5ベース(4B/9B) / 物理シミュレーションコード自動生成 / Agentic自己検証ループ搭載
  • 💰 費用・コスト目安: 完全無料(Apache 2.0 ライセンス / ローカル実行時 $0)
  • 💻 動作環境・推奨スペック: CUDA対応Linux環境、Python 3.10/3.11、MuJoCo、vLLM環境
  • 🎯 こんな人におすすめ: ロボティクス研究者 / 3D・ゲームエンジニア / 物理シミュレーション環境構築を効率化したい開発者
  • ここがスゴい!(導入メリット): 動画から逆算して「触れる・動かせる」実行可能な物理プログラムを自動出力!Gemini-3.1 Flashを超える精度(55.4 MRA)を完全オープンソースで利用可能!

1. 【結論】暮らしや仕事はどう変わる?(Before / After)

従来の物理シミュレーションや3D世界の構築では、実際の映像をもとに物体ごとの質量・摩擦・剛体モデル・位置関係を手動でモデリングし、複雑な設定ファイルを何時間もかけて記述する必要がありました。

MirroSが開発した Code-as-World の導入により、この作業が根本から覆ります。実際の動画を1本入力するだけで、Qwen3.5をベースにファインチューンされたモデル(BF16 safetensors形式)が最大5ラウンドのAgentic検証ループ(自動修正プロセス)を実行し、MuJoCo物理エンジンで即座に動かせるscene.jsonなどの実行可能な物理表現コードを自動生成します。

導入インパクト(Before / After)

  • Before: 1分間の現実映像から3D物理シーンを作成するのに手動で数日〜数週間の工数が必要だった。
  • After: 動画をインプットするだけで、数分で実行可能な物理コード(scene.json)を自動出力!手動調整の手間が大幅に削減。
  • コスト削減効果: 商業用の動画像変換サービスや専門モデラーの外注費(数十万円〜)を節約でき、オープンソースモデル(Apache 2.0)のため商用・個人問わず自社インフラで完全無料で運用可能です。

2. 【環境構築・実行コード】動作要件と最短セットアップ手順

Code-as-Worldは、Qwen3.5ベースの視覚言語モデル(Code-as-World-VL-4B / Code-as-World-VL-9B)を提供しています。vLLMを導入することで、OpenAI互換(/v1)エンドポイント経由での高速サービングが可能です。

動作環境要件

  • OS / ホスト: CUDA対応Linux環境(Ubuntu 22.04 LTS 推奨)
  • Python: 3.10 または 3.11
  • 依存ライブラリ・エンジン: MuJoCo, vLLM, openai
  • コンテキスト長: 最大4608トークン

最短インストール&サーバー起動手順

# リポジトリのクローンと環境構築
git clone https://github.com/MirroS-Lab/Code-as-World.git
cd Code-as-World
python3 -m venv .venv
source .venv/bin/activate

# 依存パッケージのインストール
pip install --upgrade pip
pip install -r requirements/inference.txt
pip install openai mujoco

# Hugging Faceよりモデル重みをダウンロード(4Bモデルの例)
hf download MirroS-Lab/Code-as-World-VL-4B --local-dir weights/4b

# vLLMを使用した高速サービングの起動(Port: 8000)
CUDA_VISIBLE_DEVICES=0 vllm serve weights/4b \
  --served-model-name code-as-world-4b \
  --max-model-len 4608 \
  --port 8000

動画から物理コード(scene.json)を推論生成するPythonコード

import base64
import json
from openai import OpenAI

# vLLMローカルサーバーへの接続
client = OpenAI(
    base_url="http://localhost:8000/v1",
    api_key="EMPTY"
)

# 動画ファイルの読み込み(Base64エンコード)
def encode_video(video_path):
    with open(video_path, "rb") as video_file:
        return base64.b64encode(video_file.read()).decode("utf-8")

video_b64 = encode_video("input_sample.mp4")

# AIモデルへのプロンプト送信(scene.json出力の要求)
response = client.chat.completions.create(
    model="code-as-world-4b",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Analyze the input video and generate an executable MuJoCo scene.json representation containing object shapes, mass, and joint physics."},
                {"type": "image_url", "url": f"data:video/mp4;base64,{video_b64}"}
            ]
        }
    ],
    max_tokens=2048
)

# 生成結果の保存
generated_code = response.choices[0].message.content
with open("generated_scene.json", "w", encoding="utf-8") as f:
    f.write(generated_code)

print("✅ 物理コードの生成が完了しました: generated_scene.json")

出力されたコードをMuJoCoで視覚化・シミュレーションするコード

import mujoco
import mujoco.viewer
import json
import time

# 生成された物理定義(scene.json)の読み込み
with open("generated_scene.json", "r") as f:
    data = json.load(f)

# MJCF形式XML文字列からモデルを読み込み
xml_content = data.get("xml", "")
model = mujoco.MjModel.from_xml_string(xml_content)
data_sim = mujoco.MjData(model)

# シミュレータの起動と物理計算の実行
with mujoco.viewer.launch_passive(model, data_sim) as viewer:
    start_time = time.time()
    while viewer.is_running():
        step_start = time.time()
        mujoco.mj_step(model, data_sim)
        viewer.sync()
        
        # 60FPSに同期
        time_until_next_step = model.opt.timestep - (time.time() - step_start)
        if time_until_next_step > 0:
            time.sleep(time_until_next_step)

3. 【定量比較】既存ツール・従来手法との違い & 損益分岐点

物理表現ベンチマーク評価「QuantiPhy-validation」において、Code-as-World-VL-9B55.4 MRA を達成しました。これは商用プロプライエタリモデルである Gemini-3.1 Flash (54.8 MRA) を上回り、既存のオープン重みモデル最高ベースラインより約15ポイント高い精度を記録しています。

比較項目手動モデリング (従来手法)商用VLM (Gemini-3.1 Flash)Code-as-World (本ツール / 9B)
出力形式手動3Dモデル / CADテキスト記述 / ピクセル予測実行可能コード (scene.json)
検証ルーチンなし(人間がデバッグ)なしあり(最大5ラウンドのAgentic自己検証)
QuantiPhy精度N/A54.8 MRA55.4 MRA (最高ベースラインより+15pt)
ライセンスN/Aプロプライエタリ APIオープンソース (Apache 2.0)
初期費用・月額巨大な人件費従量課金API費用$0(完全オープンソース)

4. 【技術的特徴】自律修正アルゴリズムと現在の検証状況

Core Breakthrough(技術的革新)

  • 実行可能物理表現(Executable World Representation): 単なる2D/3Dピクセルの予測・生成にとどまらず、動画からMuJoCoで実行・編集が可能なscene.jsonコードを逆算出・推論します。
  • Agentic検証ループ: 生成したコードを物理シミュレータ環境で自動検証し、エラーや物理的不整合がある場合は最大5ラウンドにわたって自己修復・修正を実行します。

コミュニティ・市場での評価状況

※現時点において、公式発表以外の公開コミュニティ(SNSや外部フォーラム等)による生の定性フィードバックやユーザーレビューデータは未収集・未評価です。今後の検証報告や適用事例の蓄積が期待されます。


5. 【裏技・超効率化レシピ】差がつく実践テクニック

  1. ロボティクス学習用データセットの自動生成 Web上の作業動画を入力してMuJoCo環境コードを一括生成。生成された物理プログラムを活用して、強化学習(RL)やロボット制御ポリシーのトレーニング環境を自動作成できます。
  2. 4Bモデルと9Bモデルの使い分け リソースを抑えたプロトタイピングや迅速な検証には lightweight な Code-as-World-VL-4B を使用し、精密な物理シミュレーション生成には Code-as-World-VL-9B を使用するハイブリッド運用が効率的です。

6. まとめ・らぼまるの総括アドバイス

Code-as-Worldは、動画という2Dメディアから「動かして編集できる3D物理空間プログラム」を逆算・生成する画期的な技術です。Gemini-3.1 Flashを凌駕する精度を持ちながら、Apache 2.0ライセンスのオープンソースとして公開されている点が魅力です🐶💡

シミュレーション構築の工数を削減したい方は、まずはvLLMでモデルをローカル/クラウドGPUにセットアップして試してみることをおすすめします!


7. よくある質問(FAQ)

Q1: 無料でどこまで使えますか?

Apache 2.0ライセンスで公開されているため、モデル重みおよびソースコードはすべて完全無料で商用利用も可能です。必要な費用は実行するGPUインフラ費用のみです。

Q2: モデルのベースは何ですか?

Qwen3.5(4Bおよび9B)をベースとしてファインチューンされた視覚言語モデル(Code-as-World-VL-4B / 9B)で、BF16 safetensors形式で提供されています。

Q3: 出力されたコードはどのように実行されますか?

主にMuJoCo物理シミュレーション環境で実行・編集可能な物理プログラム(scene.json)として出力されます。最大5ラウンドのAgenticループで自動的にコードの検証・修正が行われます。

📚

一次情報ソース・引用クレジット

検証に使用した公式一次情報およびコミュニティ参照元

ℹ️ 免責事項・引用ポリシー

本記事は各公式リポジトリ、論文、公式ドキュメント等の一次情報をもとに独自に検証・構造化した技術速報です。最新の動作仕様や商用ライセンスについては、各配布元の公式ページをご確認ください。

らぼまる

執筆・検証:らぼまる技術編集部

⚡ 実機ログ・一次情報検証済み

AI AutoLabのエンジニアチームと公式テックマスコット「らぼまる」による共同執筆・編集。公式一次ソースの精査とRTX 4090/クラウドGPU実機での再現検証に基づき、感情的煽りを排した客観的スペック・トレードオフを重視してお届けしています。