fix: enforce Y-up in visualize_extrinsics and sync README

This commit is contained in:
2026-02-07 15:25:24 +00:00
parent 7b9782aa92
commit a8d375191a
2 changed files with 68 additions and 2 deletions
+61 -2
View File
@@ -41,6 +41,65 @@ Arguments:
- Camera live point cloud is retreived
- An OpenGL windows displays it in 3D
## Support
### Camera Extrinsics
```bash
uv run calibrate_extrinsics.py \
-s output/ -m aruco/markers/standard_box_markers_600mm.parquet \
--aruco-dictionary DICT_APRILTAG_36h11 \
--verify-depth -refine-depth -no-preview \
-—max-samples 20 \
--report-csv output/e2e_refine_depth_smoke.csv \
--auto-align \
--output output/e2e_refine_depth_smoke.json
```
### Visualize Extrinsics
Visualize camera poses and frustums from a JSON extrinsics file using Plotly.
**Basic 3D Visualization (Interactive HTML):**
```bash
uv run visualize_extrinsics.py -i output/extrinsics.json --show
```
**Static Image Export (PNG):**
Requires `kaleido` (installed by default).
```bash
uv run visualize_extrinsics.py -i output/extrinsics.json -o output/viz.png
```
**Bird-Eye View:**
Use `--birdseye` for a top-down X-Z view (looking down Y axis).
```bash
uv run visualize_extrinsics.py -i output/extrinsics.json --birdseye --show
```
**Using ZED Configs for Accurate Frustums:**
Load intrinsics from ZED calibration files to render accurate frustum shapes.
- **Directory**: Matches `SN<serial>.conf` files to camera serials in the JSON.
- **Single File**: Applies one config to ALL cameras (useful for homogeneous setups).
- **Defaults**: Uses `--resolution FHD1200` and `--eye left` unless overridden.
*Example: Load from config directory*
```bash
uv run visualize_extrinsics.py -i output/extrinsics.json \
--zed-configs /workspaces/zed-playground/zed_settings \
--resolution HD1080 --show
```
**Troubleshooting:**
- **Cameras bunched up?** Check `--pose-convention`. `world_from_cam` is typical for optimization outputs.
- **Config not matching?** Ensure JSON keys match the serial numbers in `SN<serial>.conf` filenames.
For full options:
```bash
uv run visualize_extrinsics.py --help
```
**Diagnostics Mode:**
Run numerical sanity checks on the poses (orthonormality, coplanarity, consistency).
```bash
uv run visualize_extrinsics.py -i output/extrinsics.json --diagnose
```
If you need assistance go to our Community site at https://community.stereolabs.com/