CRISP: Contact-Guided Real2Sim from Monocular Video with Planar Scene Primitives
Key Summary
- ā¢CRISP turns a normal phone video of a person into a clean 3D world and a virtual human that can move in it without breaking physics.
- ā¢The key trick is to rebuild the scene using a small number of flat, Lego-like pieces (planar primitives) instead of a messy, heavy mesh.
- ā¢CRISP uses where the person clearly touches things (contacts) to fill in hidden surfaces like the top of a chair seat or a stair tread.
- ā¢A simulated humanoid, trained with reinforcement learning, is used as a physics āspell-checkā to make sure the reconstruction actually works in motion.
- ā¢Compared to previous methods, CRISP makes the motion-tracking failures drop by about eight times (from 55.2% to 6.9%).
- ā¢It also speeds up training by 43% (23K vs. 16K FPS), so learning happens faster.
- ā¢Even if the full scene isnāt perfectly complete, the important contact surfaces are cleaner, so the robot doesnāt trip on āghost bumps.ā
- ā¢The method works on standard benchmarks (EMDB, PROX) and in-the-wild videos, including Internet and even AI-generated clips.
- ā¢Physics in the loop improves both the human motion and the scene, showing that better geometry makes better learning.
- ā¢This makes it practical to learn robot skills and AR/VR interactions directly from everyday videos.
Why This Research Matters
CRISP makes it possible to learn robot and avatar skills directly from everyday videos, not just from expensive motion-capture studios. By rebuilding scenes with clean, flat supports and checking them with physics, it creates safe and realistic practice grounds for virtual humans. This speeds up training and reduces failures, which is crucial for robotics where mistakes can be costly or dangerous. For AR/VR, it means avatars that sit, step, and lean naturally in reconstructed spaces instead of sliding or clipping. It also democratizes data: anyone with a phone can capture training videos that become usable simulations. Over time, this could unlock large-scale, physically grounded learning for home robots, assistive tech, and immersive experiences.
Detailed Explanation
Tap terms for definitions01Background & Problem Definition
š Hook: Imagine trying to copy a dance you saw on a video, but the floor in your room is bumpy and invisible in places. Youād slip, stumble, and give upāeven if the dance moves were perfect.
š„¬ The Concept (Why this research exists): Before CRISP, computers could guess 3D humans and scenes from videos, but the results were often messy and not ready for real physics. Tiny bumps in the reconstructed ground or missing parts of a chair seat could make a simulated person fall, slide, or get stuck. A good video-to-simulation system must rebuild the person and the world so that the virtual person can move safely and realistically.
How it worked before:
- AI was great at recognizing people and poses (2D/3D) and okay at making point clouds or meshes of scenes.
- But it struggled when people interacted with thingsālike sitting, climbing, or leaningāespecially with occlusions or camera motion.
- Dense meshes from methods like TSDF or neural fields could be big, noisy, and full of tiny artifacts that break physics simulations.
Why that was a problem:
- Physics engines are picky. A tiny spike in the floor can send a virtual human flying.
- Missing support (like the hidden part of a stair) makes a simulated person fall even if the original video showed a stable step.
- As a result, policies learned from such geometry failed often and trained slowly.
š Anchor: Think of building a playground from cardboard. If your cardboard floor has random bumps or the bench seat is missing, any Lego minifigure you place will tip over. Clean, flat pieces in the right spots make play smooth and safe.
š Hook: You know how you can tell when your foot is firmly on the ground versus almost touching it? That feeling of contact is incredibly precise.
š„¬ Contact Modeling: Contact modeling is figuring out exactly which body parts are truly touching the scene and using that information to guide reconstruction.
- How it works: (1) Detect likely body-surface touches in the video; (2) Filter out āalmost-touchingā moments; (3) Use confirmed contacts to complete hidden supports (e.g., the top of a chair seat under a person).
- Why it matters: Without true contact understanding, the system either hallucinates wrong supports or forgets needed ones, causing falls and sliding.
š Anchor: If the video shows someone sitting, contact modeling says, āThere must be a seat right under the hips,ā and fills it in.
š Hook: Picture laying down a few sturdy floor tiles instead of painting a giant, lumpy carpet.
š„¬ Planar Scene Primitives: These are simple, flat 3D pieces (like thin rectangles) we use to rebuild the world.
- How it works: (1) Start from a point cloud; (2) Group points with similar surface directions; (3) Split and merge groups across frames; (4) Fit clean planes; (5) Turn planes into thin boxes for simulation.
- Why it matters: Physics engines love clean, convex shapes. Theyāre fast to check for collisions and donāt have surprises that trip up a virtual human.
š Anchor: A sidewalk built from a few flat tiles is safer than one made from a thousand pebbles glued together.
š Hook: Think of teaching a puppy tricks with treats.
š„¬ Reinforcement Learning (RL): RL trains a virtual human controller by rewarding it for following the videoās motion while obeying physics.
- How it works: (1) Show a reference pose; (2) The controller tries an action; (3) It gets rewarded for matching the pose smoothly without collisions; (4) Repeat until it learns.
- Why it matters: If the scene is wrong, the learner fails or learns bad habits; if the scene is clean, learning is fast and stable.
š Anchor: The better the training room (flat floor, proper chair), the quicker the puppy learns to sit and stay.
š Hook: Close one eye and still guess how far the door isāthatās monocular depth estimation.
š„¬ Monocular Depth Estimation: Itās estimating how far things are using a single camera view.
- How it works: A neural network predicts a depth map per frame, turning pixels into distances.
- Why it matters: Without depth, you canāt lift pixels into 3D, so you canāt find planes or contacts.
š Anchor: A depth map turns a flat photo of stairs into a 3D staircase you can step on in simulation.
š Hook: When you hike, you track where you are while building a mental mapāboth at once.
š„¬ Visual SLAM: Visual SLAM estimates the cameraās path and builds a map of the scene from video.
- How it works: (1) Track features across frames; (2) Estimate camera motion; (3) Reconstruct a 3D point cloud.
- Why it matters: Without a steady world coordinate system, the person and the scene wonāt line up for physics.
š Anchor: SLAM is the phoneās āmap and compass,ā so the virtual human stands on the right floor, not floating.
š Hook: Turning a stick figure drawing into a posable doll.
š„¬ Human Mesh Recovery (HMR): HMR builds a full 3D body (like SMPL) from video frames and places it in the world.
- How it works: (1) Predict body pose and shape in camera space; (2) Use the cameraās pose to move it into world space; (3) Match human scale to set real sizes.
- Why it matters: Without a correctly sized, correctly placed human, contacts and physics canāt be trusted.
š Anchor: If the person is too small or too big, the chair height wonāt match, and sitting becomes impossible.
š Hook: Imagine sprinkling thousands of tiny dots to āsculptā a room.
š„¬ Point Cloud Reconstruction: A point cloud is a 3D ādotā version of the world from depth and SLAM.
- How it works: Each pixelās depth turns into a 3D point; combine frames to grow a global cloud.
- Why it matters: These dots are the raw material for fitting clean planes.
š Anchor: From the dot-cloud of a staircase, we fit the flat steps the feet can stand on.
02Core Idea
š Hook: You know how a neat stack of flat Lego plates makes a sturdier build than a pile of crumbly foam? The flat pieces keep everything steady.
š„¬ The āAha!ā in one sentence: If we rebuild the world from a few clean, flat pieces guided by where the person actually touches thingsāand then test it by making a virtual human move thereāwe get stable, fast, and faithful motion from ordinary videos.
Multiple analogies:
- Tiles not mush: Using planar pieces is like laying tiles on a floor instead of smoothing wet sandāyou avoid hidden bumps that trip you.
- Cookie-cutter clarity: Planar fits ācut outā clean surfaces from noisy dots, like a cookie cutter makes neat shapes from dough.
- Physics spell-check: The RL humanoid is a proofreader; if the world is wrong, it āred-pencilsā it by failing, pushing us to fix geometry.
Before vs. After:
- Before: Dense, lumpy meshes; missing supports; frequent penetrations; slow simulation; controllers learn slowly and fail often.
- After: Dozens (ā50) of clean convex planes; contact-completed supports; stable, fast collisions; controllers learn quickly with high success.
Why it works (intuition):
- Collision simplicity: Convex, flat shapes make collision checks reliable; fewer āgotchasā than bumpy meshes.
- Contact truth: Contacts tell you where surfaces must be; using them fills occluded seats and step-tops.
- Physics in the loop: Training a controller forces the geometry to be realistically usable; errors surface early.
Building blocks (with mini āsandwichā anchors):
- š Hook: Sorting crayons by color. š„¬ K-Means Clustering: Groups points with similar surface directions (normals) to suggest plane candidates; without grouping, planes get mixed up. š Anchor: All āupward-facingā floor points land in the same bin.
- š Hook: Finding flower patches and ignoring weeds. š„¬ DBSCAN: Splits spatially separate chunks so two different walls donāt merge; without it, distant planes can get glued together. š Anchor: Two walls facing the same way but on opposite sides of a room stay apart.
- š Hook: Drawing the best-fit line despite a few bad dots. š„¬ RANSAC: Fits a clean plane while ignoring outliers; without it, a few noisy points tilt the whole plane. š Anchor: A smooth tabletop fit that ignores a stray book.
- š Hook: Watching a moving stripe to see where it goes next. š„¬ Optical Flow: Tracks which plane pieces across frames are actually the same surface; without it, youād get duplicates. š Anchor: The same stair tread seen in two frames gets merged.
- š Hook: Giving the right-sized helmet to a biker. š„¬ Scale from Human: Match scene scale using known human size; without it, meters and steps donāt match reality. š Anchor: A 0.05 m seat thickness makes sense only if the human is life-sized.
š Anchor: Put together, these pieces turn a noisy 3D āsnowstormā of dots into tile-like surfaces that a virtual person can safely use. Thatās CRISP in a nutshell.
03Methodology
At a high level: Input video ā camera and depth (Visual SLAM + depth) ā global point cloud ā planar primitive fitting ā contact-guided completion ā 3D human (HMR) aligned in world and scale ā reinforcement learning controller ā physics-checked motion output.
Step A: Build a stable 3D world from a single camera
- š Hook: Walking with a map and judging distances with one eye.
- š„¬ Visual SLAM + Monocular Depth: We estimate the cameraās path and a depth map for each frame, then lift pixels into 3D to form a global point cloud. We use MegaSAM with MoGe depth for crisp geometry. Why this step exists: Without a stable map and distances, we canāt make reliable planes or place the human. Example: A 10-second clip of stair climbing becomes a point cloud where each stair tread appears as a flat cluster of points.
- š Anchor: Now we have a shared world where both the scene and the person will live.
Step B: Turn noisy dots into clean, flat pieces (planar primitives)
- Compute normals: From the point cloud, estimate a āwhich-way-is-the-surface-facingā vector for each point.
- š Hook: Grouping crayons by pointing direction. š„¬ K-Means on normals: Cluster points by similar normals to find candidate planes. Why it matters: Mixing directions muddles surfaces; grouping seeds plane regions. Example: All floor-like points with upward normals cluster together.
- š Hook: Keeping far-apart piles separate. š„¬ DBSCAN spatial split: Inside each normal-cluster, split distant blobs so two different walls donāt fuse. Why it matters: Separates look-alike but far-apart surfaces. Example: Left and right walls (same normal direction) become two segments.
- š Hook: Watching where the same sticker moves next frame. š„¬ Temporal merge with optical flow: Link segments across frames when they match in overlap and orientation, creating a single, consistent plane over time. Why it matters: Prevents duplicate planes that confuse physics. Example: A stair tread seen from two angles merges into one plane.
- š Hook: Best-fit line despite bad dots. š„¬ RANSAC plane fit: Fit a clean plane to each merged region, ignoring outliers. Why it matters: A few stray points shouldnāt tilt the whole plane. Example: A tabletop plane stays flat even if a mug adds noisy points.
- Make simulation shapes: Turn each plane into a thin rectangular cuboid (default 0.05 m thick) oriented by the plane axes. Why it matters: Physics engines (like Isaac Gym) collide faster and more stably with a few convex boxes than with huge, bumpy meshes. Example: A room becomes ~50 boxes: floor tiles, wall panels, stair treads, table tops.
Step C: Use contacts to fill in hidden supports
- š Hook: If someone is sitting, you know a seat is under themāeven if you canāt see it.
- š„¬ Contact Modeling: We predict which body parts touch the scene (using a vision-language model) and filter out āalmost-touchingā frames by requiring steady contact over time with low body motion. Why it matters: Hidden supports (chair seats, stair platforms) must exist for physics to work. Example: If hips are in contact for multiple frames, we add a seat plane at that spot.
Step D: Put the human into the world at the right size
- š Hook: Trying on a helmet that actually fits.
- š„¬ Human Mesh Recovery (HMR) + Scale: From GVHMR we get the 3D body in camera space and move it into world space using SLAM poses. We fix the unknown world scale by matching a normal human size. Why it matters: If the person is the wrong size, stairs and chairs wonāt line up. Example: Scale the world so the virtual personās pelvis height matches expected human proportions.
Step E: Train a virtual human to follow the video (physics-checked)
- š Hook: Teaching a puppy to follow moves with treats.
- š„¬ Reinforcement Learning Motion Tracking: A controller sees the current body state and a short window of future target poses from the video. It outputs joint targets for a PD controller. Rewards encourage matching pose, position, and smoothness. We use PPO in Isaac Gym at 120 Hz sim and 30 Hz control. Why it matters: This proves the scene and motion are physically usable. If somethingās off (like a missing step), the agent fails or learns oddly. Example: On good geometry, a stair-climb clip is tracked end-to-end with stable foot contacts.
Secret sauce (why this recipe is clever):
- Small, convex, planar pieces are both noise-robust and simulator-friendly.
- Contacts act like āX marks the spotā for occluded supports.
- RL serves as a physics-based validator that improves motion smoothness and reveals geometry mistakes early.
What breaks without each step:
- No SLAM/depth: Human and scene wonāt share a stable world; contacts wonāt line up.
- No planar fitting: Dense, noisy meshes cause collisions to explode and learning to stall.
- No contact completion: Hidden supports go missing; agents fall.
- No scale: Steps and seats are the wrong size; tracking fails.
- No RL: You donāt know if the reconstruction is truly simulatable; small errors stay hidden until deployment.
04Experiments & Results
The test (what we measured and why):
- RL success rate: Does the humanoid finish the whole motion without drifting too far from the reference?
- Simulation throughput (FPS): How fast the training runs (higher FPS means more learning per second).
- Geometry quality: Chamfer Distance (lower is better) and directional versions (ReconāGT for precision; GTāRecon for completeness), plus Non-Penetration (how often the human avoids intersecting the scene).
- Human accuracy: World-grounded joint error (W-MPJPE and WA-MPJPE), root translational error, and smoothness.
š Hook: Measuring how close two shapes are, like checking puzzle piece fit. š„¬ Chamfer Distance: A score of how far points on one shape are from the other.
- How it works: For each point from A, find the nearest in B (and vice versa for two-way CD), and average distances.
- Why it matters: Lower means the reconstruction hugs the real scene more closely; high completeness and precision. š Anchor: A low ReconāGT means your tiles sit right on the real floor and steps.
š Hook: Walking through a doorway without clipping the frame. š„¬ Non-Penetration: The percent of time the human doesnāt intersect the scene.
- How it works: Check intersection between body and surfaces over time.
- Why it matters: Intersections mean impossible physics. š Anchor: A high score means no ghost-walking through walls or floors.
Competitors and settings:
- Baselines: VideoMimic (dense mesh pipeline), TSDF mesh fusion, NKSR (sharp neural surface reconstruction).
- Datasets: EMDB (global motion ground truth; outdoor/indoor) and PROX (indoor scenes with 3D scans).
- Same RL framework for everyone to keep tests fair.
Scoreboard (with context):
- RL success: CRISPās planar primitives reach 93.1% success, more than double VideoMimicās 44.8%. Thatās like going from a barely passing grade to an A.
- Throughput: 23K vs. 16K FPS (~43% faster), so training is quicker with our light geometry.
- Geometry: CRISPās ReconāGT Chamfer is very low (0.174ā0.187), showing our surfaces sit where they matter. Bidirectional Chamfer can be slightly higher than NKSR because we skip tiny, non-contact detailsābut thatās a smart trade for physics stability.
- Non-Penetration: Highest with planar primitives (ā0.947), meaning fewer impossible interpenetrations.
- Human accuracy (EMDB): After RL refinement, CRISP gets WA-MPJPE ā 70.6 mm and W-MPJPE ā 175.9 mm, the best among compared methods, with reduced jitter and drift.
Surprising findings:
- Cleaner but simpler beats over-detailed: Even if we donāt model every tiny object, having the important flat supports cleanly modeled makes physics and learning much better.
- Physics improves vision: Putting the human into a physics loop actually reduced pose errors and jitter, suggesting that ālearning by doingā helps fix visual rough edges.
- Contact guidance matters most when supports are hidden: Adding a few contact-completed planes rescued whole motions (e.g., sitting and stair stepping) that otherwise failed.
Bottom line: CRISPās scene-as-tiles design plus contact guidance turns out to be the sweet spotāfast to simulate, accurate where it counts, and much more reliable for learning controller policies.
05Discussion & Limitations
Limitations (be specific):
- Planar-only shapes: Highly curved or organic surfaces become āfacetedā approximations. This usually doesnāt hurt walking/sitting but can look less complete.
- No soft or fluid stuff: Cushions that squish or water that flows arenāt modeled. The method assumes rigid, static scenes.
- Static scenes only: Moving objects or people beyond the main actor arenāt handled.
- Contact errors can propagate: If human pose or contact prediction drifts, a completed plane may be slightly misaligned.
- Small gaps between tiles: Visual incompleteness can appear at tile seams; physics is usually fine, but it can look a bit patchy.
Required resources:
- A decent GPU and physics simulator (e.g., Isaac Gym) for RL training.
- Visual SLAM and depth networks (MegaSAM + MoGe) are the main runtime bottlenecks.
- Short training (minutes-to-hours depending on clip count) for policy tracking.
When not to use:
- Videos with many moving scene parts (doors swinging, crowds) or deformables (pillows deforming a lot).
- Applications demanding ultra-detailed meshes for rendering rather than physics.
- Tasks needing hand-object manipulation with complex contact beyond planar supports (for now).
Open questions:
- Richer primitives: Can we mix planes with other convex shapes (e.g., superquadrics) to keep stability but capture curves?
- Dynamics: How do we extend to moving objects and interactive manipulation?
- Real-time loop: With faster SLAM/depth, can we do live video-to-sim for AR/VR telepresence?
- End-to-end physics-in-the-loop: Can the controllerās failures automatically guide geometry fixes during reconstruction?
- Scene-aware policies: Whatās the best way to include geometry at runtime without hiding reconstruction issues during evaluation?
06Conclusion & Future Work
Three-sentence summary: CRISP converts everyday monocular videos into simulation-ready worlds by fitting a handful of clean, flat, convex surfaces and using contact cues to fill in hidden supports. A physics-trained humanoid then tracks the recovered motion, acting as a reality check that exposes and reduces errors, yielding stable, fast, and faithful interactions. This leads to big gains in reliability (93.1% success) and speed (23K FPS), making video-to-simulation practical for robotics and AR/VR.
Main achievement: Showing that contact-guided planar primitivesācombined with physics-in-the-loop learningāare the key to turning noisy reconstructions into robust, efficient, and accurate simulation assets.
Future directions: Add richer convex primitives to capture curves, support dynamic objects and manipulation, and push toward real-time pipelines with tighter coupling between reconstruction and control. Scene-aware policies can then be layered on for deployment while keeping scene quality measurable.
Why remember this: When building worlds for physics, clean and correct beats dense and decorative. By focusing on the flat supports where humans actually touch, CRISP delivers simulations that work in practice and learn fastāunlocking large-scale skills from ordinary videos.
Practical Applications
- ā¢Train home robots to navigate stairs and sit/stand tasks by learning from phone videos of people doing them.
- ā¢Create AR/VR avatars that interact naturally with reconstructed rooms (sit on chairs, lean on tables) without clipping.
- ā¢Generate physics-ready practice environments from sports videos for coaching balance, stepping, and safe landings.
- ā¢Bootstrap humanoid locomotion datasets from Internet clips, speeding up policy learning.
- ā¢Pre-visualize stunts or choreography by turning rehearsal videos into stable simulation environments.
- ā¢Rapidly prototype game levels by extracting clean walkable surfaces and platforms from concept videos.
- ā¢Reconstruct ergonomics scenarios (e.g., factory workcells) from short recordings to evaluate posture and reach.
- ā¢Use contact-completed scenes to test assistive devices (canes, walkers) on realistic steps and ramps.
- ā¢Convert AI-generated (e.g., Sora) videos into physics-based training data for robust controller pretraining.
- ā¢Teach rehab robots or exoskeletons stable stepping and sitting behaviors from therapist demonstration videos.