WorldRepresentation / docs /04_open_problems.md
Nirav Madhani
Remove internal text from public history
2019fe3
|
Raw
History Blame Contribute Delete
11.6 kB
# Open Problems, Missing Pieces, and Research Directions
---
## 1. Open Design Questions
### 1.1 Observation Models Are Completely Unspecified
The representation requires a differentiable sensor model (renderer) or learned likelihood. This is the encoder side of the system; without concrete observation models, the system cannot be implemented end to end.
**What's needed for each modality:**
**Vision (RGB):**
The observation model p(y_image | S_t) requires a differentiable renderer. Options:
- Volume rendering (NeRF-style): integrate color along rays using SDF-to-density conversion. Mature, well-understood, but slow for planning (must render full image).
- Rasterization-based: convert SDF to mesh, rasterize. Faster but loses differentiability through mesh extraction.
- Patch-based: only render small patches around task-relevant regions. Fastest for planning but loses global context.
**Recommended approach:** Volume rendering for training (maximum gradient signal), patch-based for planning (speed). The SDF field gives density σ(x) = sigmoid(-d(x)/β) where β controls sharpness.
**Depth:**
p(y_depth | S_t) = raytrace SDF along pixel rays. The predicted depth at pixel (u,v) is the first zero-crossing of d(x) along the corresponding ray. Straightforward given the SDF field.
**Tactile (e.g., GelSight):**
p(y_tactile | S_t) requires modeling the deformation of the tactile sensor pad against the object surface. Given:
- Object SDF d(x) at contact region
- Material stiffness E of both sensor and object
- Applied force F from the robot
Predict: deformation field → simulated GelSight image. This is a contact mechanics problem. Simplified version: use the SDF gradient (surface normal) + penetration depth as features, pass through a learned decoder to predicted tactile image.
**Audio:**
p(y_audio | S_t) for impact sounds:
- Material parameters (density, stiffness, acoustic damping γ) determine resonant frequencies and decay
- Contact velocity determines amplitude
- Object geometry (from SDF) determines mode shapes
Simplified version: predict a spectral envelope (frequency spectrum) from material + geometry features, not raw waveform. Compare to observed spectrum.
**Thermal:**
p(y_thermal | S_t) is a rendering problem: given temperature field T(x,t) in the scene, integrate thermal emission along rays. Simpler than RGB rendering because there's no complex light transport — just emission.
### 1.2 The ELBO is Not Derived
The model needs an explicit ELBO. A candidate form is:
```
log p(y_{1:T} | a_{1:T-1}) ≥ Σ_t [ E_{q(S_t)} [Σ_m log p(y_t^(m) | S_t)] ... reconstruction
- KL(q(S_t | y_≤t, a<t) || p(S_t | S_{t-1}, a_{t-1})) ... dynamics prior
]
where:
q(S_t | y_≤t, a<t) = q(Φ_t, G_t | y_≤t, a<t)
= q(z_{1:N}(t), T_{1:N}(t), e_{1:N}(t), c_edges(t) | y_≤t, a<t)
```
The KL term factorizes over objects if we assume conditional independence given the graph:
```
KL(q || p) ≈ Σ_i KL(q(z_i(t)) || p(z_i(t) | z_i(t-1), a_{t-1}, messages_i))
+ Σ_i KL(q(T_i(t)) || p(T_i(t) | T_i(t-1), a_{t-1}, messages_i))
+ Σ_{(i,j)} KL(q(c_ij(t)) || p(c_ij(t) | S_{t-1}))
```
The field Φ is not a separate random variable — it's deterministically parameterized by {z_i, T_i} through the mixture. So the KL over the field is captured by the KLs over object latents.
### 1.3 How the Encoder Actually Works (Amortized Inference Architecture)
The encoder q_ψ(S_t | y_≤t, a<t) must:
1. Process multimodal observations → feature maps
2. Detect/track objects → update graph topology
3. Estimate per-object latent z_i and pose T_i
4. Maintain temporal state (filtering)
**Concrete architecture:**
```
Per timestep:
1. Vision backbone (e.g., ResNet-50 or ViT) → feature map F_t ∈ R^{H×W×C}
2. Object detection/segmentation:
- Use SAM-style segmentation or learned slot attention
- Match detected segments to existing graph nodes (Hungarian matching on appearance + position)
- Handle birth/death via existence probabilities
3. Per-object crop + RoI feature extraction:
- For each object i, extract features from its image region
- Fuse with tactile/audio if available for that object
4. Per-object posterior update:
- GRU or transformer-based temporal model:
h_i(t) = GRU(h_i(t-1), f_i(t), a_{t-1})
- Output: q(z_i(t)) = Normal(μ_z(h_i(t)), σ_z(h_i(t)))
q(T_i(t)) = SE(3) distribution from predicted translation + rotation
5. Graph structure update:
- Compute pairwise contact probabilities from proximity + features
- Update edge features
This is essentially a structured variational autoencoder with GNN + GRU backbone.
```
---
## 2. Deeper Open Problems (Research-Level)
### 2.1 Identifiability of Material Parameters from Vision Alone
**Problem:** Some material parameters are genuinely unidentifiable from RGB video. A perfect RGB rendering of a steel ball and an identically-painted hollow aluminum ball are indistinguishable. Mass, density, and internal structure are invisible.
**What's identifiable from vision:**
- Deformation → stiffness (soft things deform visibly)
- Sliding behavior → friction (sliding objects decelerate observably)
- Bouncing → restitution (bounce height is visible)
- Sloshing → viscosity (flow speed is visible for liquids)
**What's NOT identifiable from vision alone:**
- Mass/density (unless interaction with gravity is observed — but two objects can have different mass and identical gravitational behavior if they have the same density)
- Internal structure (solid vs hollow)
- Thermal properties (invisible without thermal camera)
- Fine friction coefficients (need to observe sliding at different speeds/forces)
**What this means for the paper:**
- Be explicit about the identifiability boundary. Don't claim the field can estimate arbitrary material properties from video.
- The multimodal aspect is not optional luxury — tactile and audio observations provide information that is mathematically unrecoverable from vision. This is an argument FOR the multimodal representation, not a limitation.
- Internet video pre-training gives you coarse physics priors (stiffness ranking, friction ranking). Robot interaction gives you calibrated values.
### 2.2 Scalability to Complex Scenes
**Problem:** The mixture-of-experts scales linearly with number of objects: each query evaluates N local fields + gating. At N=100 objects, this is 100x slower than a single-field model.
**Potential solutions:**
- **Spatial hashing**: Only evaluate objects whose bounding boxes contain the query point. Reduces effective N per query to ~2-3 for typical scenes.
- **Hierarchical decomposition**: Group objects into regions, only expand relevant region.
- **Shared field backbone**: Instead of independent MLPs per object, use a shared backbone with object-specific conditioning (saves parameters, enables batching).
This is an engineering problem, not a scientific one, but it needs to be addressed to be taken seriously.
### 2.3 Consistency Between Graph Relations and Field Predictions
**Problem:** The graph might say objects i and j are in contact (c_ij ≈ 1) while the SDF field says they're 2cm apart (d_ij > 0). Or the graph might not have a support edge while the field clearly shows object i resting on j.
**Solution:** Bidirectional consistency losses.
```
L_consistency = λ_1 · ||c_ij - σ(-min_x d_ij(x) / τ)||² ... contact prob should match SDF proximity
+ λ_2 · Σ_{(i,j)} c_ij · max(0, min_x d_ij(x)) ... contacting objects should have SDF ≈ 0
```
This forces the graph and field to agree. The graph provides the high-level claim ("these are in contact"), the field provides the geometric evidence. Disagreement generates gradient that corrects both.
### 2.4 Handling Articulated and Deformable Objects
**Problem:** The current model assumes each object has a single rigid pose T_i ∈ SE(3). This breaks for:
- Articulated objects (drawer, door, robot arm itself)
- Deformable objects (cloth, rope, dough)
**Solution for articulated objects:**
Add joint state to graph edges. If edge (i,j) has type "hinge":
```
Edge stores: joint angle θ_ij, joint axis a_ij, joint limits [θ_min, θ_max]
Object j's pose is constrained: T_j = T_i · Transform(a_ij, θ_ij)
```
This is standard in URDF/articulation models. The graph naturally represents kinematic chains.
**Solution for deformable objects:**
Replace the single pose T_i with a deformation field. The object-local field ϕ_i already captures arbitrary shapes through z_i — if z_i has enough capacity, it can represent deformed configurations. The key change:
```
Instead of: x_i = T_i^{-1} x (rigid transform)
Use: x_i = T_i^{-1} x + δ_i(T_i^{-1} x, t) (rigid transform + local deformation)
```
where δ_i is a small deformation network conditioned on z_i. This adds minimal parameters but allows local shape changes.
### 2.5 Real-Time Filtering on Physical Robot
**Problem:** The encoder must run in real-time (10+ Hz) with real sensor data. Real images have noise, motion blur, partial occlusion, and calibration errors that simulation doesn't have.
**Key challenges:**
- Domain gap between simulated training data and real sensors
- Latency: encoder must be fast enough for control loop
- Robustness: single bad observation shouldn't corrupt the belief state
**Mitigation strategies:**
- **Domain randomization** during simulation training (vary textures, lighting, noise, blur)
- **Real-data fine-tuning** with self-supervised losses (no ground truth needed — use prediction error)
- **Temporal smoothing**: The GRU-based temporal model acts as a low-pass filter on the state estimate. A single bad frame produces a small update; consecutive bad frames are detectable as anomalies.
- **Fallback to prior**: If observation quality is low (detected via reconstruction error), weight the dynamics prior more heavily and the observation less. This is standard in Kalman filtering.
---
## 3. What You Should Ask For Help With (Concrete Tasks)
Based on everything above, here are the concrete tasks where you'd benefit from working together:
### Immediate (next session):
1. **Architecture diagram**: Create a comprehensive figure showing all modules, data flow, and loss functions. This is the single most impactful thing for the paper.
2. **Concrete pseudocode for the full training loop**: Sim pre-training → internet video → robot fine-tuning. Publishable algorithm box.
3. **Related work positioning**: Who has done pieces of this? Position against NeRF-style models, scene graphs, world models (Dreamer/IRIS/etc), video prediction models, and physics-informed neural fields.
### Medium-term:
4. **Implementation scaffolding**: Set up the PyTorch codebase structure, key data structures, and training script skeleton.
5. **Simulation environment design**: Choose specific objects, scenes, and tasks in Isaac Gym. Define evaluation protocol.
6. **Internet video training pipeline**: Script for downloading, preprocessing, and training on Something-Something V2 or similar.
### Strategic:
7. **Venue targeting**: Is this an RSS paper? CoRL? ICRA? NeurIPS? The positioning changes based on venue.
8. **Figure design**: The figures make or break a world-model paper. Need the architecture diagram, the data flow diagram, the "why hybrid" comparison figure, and result figures.
9. **Writing the introduction**: The internet-scale-data argument needs to hit hard in the first paragraph.