
| Perception | Prediction |
|---|---|
| Looks backward at what already happened | Looks forward at what will happen |
| "Where did this object move?" | "Where will this object move?" |
| Easier — the data already exists | Harder — the future is uncertain |
The article gives two concrete examples:
Key insight: Predicting motion is harder than observing it, but far more useful in many real-world applications.
INPUTS:
├── A video frame (what the scene looks like right now)
├── 3D points marked on an object (e.g., 8 dots on a bowl)
└── A written instruction (e.g., "Move and rotate the wooden bowl")
OUTPUT:
└── Predicted future 3D positions of those points over the next few seconds
Think of placing tracking dots on a coffee cup, then asking the system: "If I slide this cup to the right, where will each dot end up?"
MolmoMotion answers that question — in 3D space — before the cup moves at all.
The team needed a way to represent motion that works universally. They evaluated several options and chose object-attached 3D points in world space.
The article lists three required properties:
| Property | What it means | Why 3D points satisfy it |
|---|---|---|
| Class-agnostic | Works for any object type | Points don't assume the object is a hand, robot, or specific shape |
| View-stable | Same motion looks the same from any camera angle | Points live in a shared "world frame," not tied to one camera |
| Directly usable | Downstream systems can use it without conversion | Compact explicit coordinates can be passed straight to robots or video models |
Key insight: Sparse 3D surface points are the only representation that satisfies all three requirements simultaneously.
MolmoMotion is built on top of Molmo 2, a Vision-Language Model (VLM). This is important because it means the model already understands:
Step 1: Read the instruction → identify WHICH object is being referred to
Step 2: Locate the query points → find WHERE on the object they are
Step 3: Understand the motion → determine WHAT movement is described
Step 4: Predict trajectories → output WHERE each point will be over time
MolmoMotion comes in two flavors, each suited to different situations:
Predicts coordinates one step at a time:
Time 0 → Time 1 → Time 2 → Time 3 → ...
Starts with random noise → gradually transforms it into a trajectory
| Situation | Better choice |
|---|---|
| Clear, unambiguous instruction | MolmoMotion-AR |
| Instruction with multiple valid interpretations | MolmoMotion-FM |
To train a motion forecaster, you need:
The gap: Internet videos have scale and diversity, but no 3D annotations.
The team built a pipeline that automatically extracts 3D trajectories from regular videos:
Input: Video + action description
↓
Step 1: Ground the moving object (find it in the frame)
↓
Step 2: Sample query points on the object's surface
↓
Step 3: Track those points in 2D across frames
↓
Step 4: Lift 2D tracks into 3D metric space
↓
Step 5: Filter noisy/unreliable trajectories
↓
Step 6: Clip video to the window where the object actually moves
↓
Output: Clean 3D trajectories grounded to a specific object
Raw video tracks are noisy — depth estimation errors and tracking drift cause points to jitter and wander. The pipeline removes points that don't move consistently with the rest of the object.
Existing benchmarks measured whether generated motion looked plausible — a subjective standard. The team wanted to measure whether predicted trajectories actually match real future motion — an objective standard.
| Attribute | Value |
|---|---|
| Total clips | 2,700 |
| Object categories | 111 |
| Motion types | 61 |
| Validation | Human-validated |
Given: Current frame + query points + action description
Predict: Future 3D trajectory
Compare: Predicted trajectory vs. actual trajectory
Score: Quantitative accuracy metrics
A human lifting a cup and a robot lifting a cup are very different actions, but the cup follows a similar path through 3D space in both cases.
This means motion knowledge learned from human videos can transfer to robot planning.
MolmoMotion predicts: "The cup will move up and to the right along this path"
Robot policy uses: That predicted path as a planning target
| Metric | MolmoMotion | Molmo 2 baseline |
|---|---|---|
| Pick-and-place success rate | 76.3% | 56.0% |
| Steps to reach 51% success | 10K steps | Never reaches this |
| Steps to match baseline's final L2 error (real robot) | ~2K steps | 12K steps |
Key insight: MolmoMotion doesn't just perform better — it learns faster, requiring far less robot training data.
When you give a text-to-video model an instruction like "A flamingo dips its beak into the water," the model has to guess what motion that implies. Vague instructions lead to vague or incorrect motion.
Standard pipeline:
Text instruction → Video generator → Video (motion may be wrong)
MolmoMotion pipeline:
Text instruction → MolmoMotion → Predicted 3D trajectories
↓
Trajectory-conditioned video generator → Video (motion follows instruction)
MolmoMotion-guided video generation:
Key insight: Explicit 3D motion prediction acts as a bridge between language instructions and physically accurate video.
| Limitation | Why it matters |
|---|---|
| Only 8 query points per object during training | Not enough to represent complex surface geometry |
| Limited handling of deformable objects | A cloth crumpling has far more complex motion than a rigid bowl sliding |
The article frames motion forecasting as fundamental to machine intelligence — as important as perception itself:
"We think forecasting — anticipating how objects in the world will move before they move — is as fundamental to machine intelligence as perceiving what's already there."
PROBLEM: Machines can perceive motion but struggle to predict it
SOLUTION: MolmoMotion
├── Representation: Sparse 3D points in world space
├── Backbone: Molmo 2 (connects language to visual objects)
├── Two variants: AR (accuracy) and FM (uncertainty)
├── Training data: MolmoMotion-1M (1.16M videos, auto-annotated)
└── Benchmark: PointMotionBench (2.7K human-validated clips)
APPLICATIONS:
├── Robotics: 76.3% task success, 6x faster learning
└── Video generation: Better motion accuracy on 5/5 metrics
OPEN RELEASES:
├── Model weights
├── MolmoMotion-1M dataset
└── PointMotionBench benchmark
Each concept builds on the previous one: the problem motivates the representation, which shapes the architecture, which requires the data, which is measured by the benchmark, which validates the applications.