🐶 らぼまるの速報チェック!
「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-9B は 55.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/A | 54.8 MRA | 55.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. 【裏技・超効率化レシピ】差がつく実践テクニック
- ロボティクス学習用データセットの自動生成 Web上の作業動画を入力してMuJoCo環境コードを一括生成。生成された物理プログラムを活用して、強化学習(RL)やロボット制御ポリシーのトレーニング環境を自動作成できます。
- 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ループで自動的にコードの検証・修正が行われます。


