Commit Graph

1540 Commits

Author SHA1 Message Date
CarolinePascal 435465b00c docs(depth): improving depth maps docs 2026-06-15 17:56:32 +02:00
CarolinePascal 05e1aad501 chore(format): formatting code 2026-06-15 17:56:31 +02:00
CarolinePascal 243adf6695 test(depth encoding): updating and cleaning video/depth encoding tests 2026-06-15 17:56:31 +02:00
CarolinePascal 06e9442149 test(depth): cleaning up depth tests 2026-06-15 17:56:31 +02:00
CarolinePascal 05c9a9c095 feat(output unit): adding support for output unit specification at dataset reading/training time
Co-authored-by: Wensi (Vince) Ai <59036629+wensi-ai@users.noreply.github.com>
2026-06-15 17:56:31 +02:00
CarolinePascal 6181d6b694 fix(depth units): fixing depth units output for the realsense cameras 2026-06-15 17:56:31 +02:00
CarolinePascal 971d7ea85b fix(is_depth): adding missing doctrings and is_depth arguments in video decoding functions
Co-authored-by: Wensi (Vince) Ai <59036629+wensi-ai@users.noreply.github.com>
2026-06-15 17:56:31 +02:00
CarolinePascal 56231b17d1 fix(typo): fixing typo 2026-06-15 17:56:31 +02:00
CarolinePascal 12a66324fb fix(from_video_info): fixing early validation issue in from_video_info 2026-06-15 17:56:31 +02:00
CarolinePascal 0cb8970283 test(cleaning): cleaning up tests 2026-06-15 17:56:31 +02:00
CarolinePascal 5498bac1b0 test(aggregate): extending aggregation tests to depth frames 2026-06-15 17:56:31 +02:00
CarolinePascal 05d2a6062d feat(tools): adding depth support in LeRobotDataset edition tools 2026-06-15 17:56:31 +02:00
CarolinePascal a1ec48d3a9 feat(batched dequantization): optimizing dequantize_depth for torch based batched dequantization 2026-06-15 17:56:31 +02:00
CarolinePascal c0d19ef35b fix(TIFF): add missing quantization and cleanup for TIFF files 2026-06-15 17:56:31 +02:00
CarolinePascal dd20029f4b fix(typo): fixing typo 2026-06-15 17:56:30 +02:00
CarolinePascal e961f8fec0 fix(normalization): restricting 255 normalization to non depth/uint8 images only 2026-06-15 17:56:30 +02:00
CarolinePascal ba7f23adf9 fix(realsense): fixing typo in realsense serial number 2026-06-15 17:56:30 +02:00
CarolinePascal a062ffb45c tests(typos): fixing typos in tests 2026-06-15 17:56:30 +02:00
CarolinePascal dfdeac1339 fix(info): fixing info metadata update when is_depth_map was set 2026-06-15 17:56:30 +02:00
CarolinePascal beaaaa3d99 fix(pre-commit): fixing mutable defautl value 2026-06-15 17:56:30 +02:00
CarolinePascal 8afd367c6a feat(refactor): refactor DepthEncoderConfig quantization pipeline, so that the methods do not live in the config class. Add pixel format - channels validation.Move the default pixel format for depth in the config file. 2026-06-15 17:56:30 +02:00
CarolinePascal 3c2a990ac3 feat(pix_fmt channels): use PyAv to check get pixel formats number of channels 2026-06-15 17:56:30 +02:00
CarolinePascal 4610d78c8c tests(depth): adding new tests for depth integration validation 2026-06-15 17:56:30 +02:00
CarolinePascal 30dbe0a71b test(fix): fixing exisiting tests to still work with latest features 2026-06-15 17:56:30 +02:00
CarolinePascal 7460d2a796 chore(typos): fixing typos 2026-06-15 17:56:30 +02:00
CarolinePascal 3cbde39767 fix(plumbing): fixing missing parts in the depth maps pipeline 2026-06-15 17:56:30 +02:00
CarolinePascal d818a68177 fix(stop_event): fixing stop_event race condition in camera classes 2026-06-15 17:56:30 +02:00
CarolinePascal e227adb64f feat(is_depth): simplifying is_depth nested name + legacy support 2026-06-15 17:56:29 +02:00
CarolinePascal 90f6f4c1d7 feat(depth shape): ensuring depth maps shape is always including the channel 2026-06-15 17:56:29 +02:00
CarolinePascal 597f7b063c chore(format): format code 2026-06-15 17:56:29 +02:00
CarolinePascal ea7bb153e0 feat(depth maps writer): adding support for raw depth maps recording with image writer 2026-06-15 17:56:29 +02:00
CarolinePascal a930fa8ca5 feat(viz): render depth observations as rr.DepthImage in Viridis 2026-06-15 17:56:29 +02:00
CarolinePascal e7191fc3ad feat(record): plumb DepthEncoderConfig through lerobot-record 2026-06-15 17:56:29 +02:00
CarolinePascal 712912d946 feat(robots/so_follower): emit + populate depth keys when use_depth 2026-06-15 17:56:29 +02:00
CarolinePascal 3826531a95 feat(features): route 2D camera shapes to observation.depth.<key> 2026-06-15 17:56:29 +02:00
CarolinePascal 325b351ff2 feat(cameras/realsense): expose async depth in metric meters 2026-06-15 17:56:29 +02:00
CarolinePascal 44461eaadc feat(depth): wire DatasetReader to decode_depth_frames 2026-06-15 17:56:29 +02:00
CarolinePascal 330f63bf87 feat(depth): wire StreamingVideoEncoder + writer to depth encoder 2026-06-15 17:56:29 +02:00
CarolinePascal 5d56804d81 feat(depth): plumb DepthEncoderConfig through LeRobotDataset and DatasetWriter 2026-06-15 17:56:29 +02:00
CarolinePascal a6e95c4d26 feat(depth): extend quantization tools to better fit the encoding/decoding pipeline 2026-06-15 17:56:28 +02:00
CarolinePascal 10bb300e8a feat(depth): persist depth metadata 2026-06-15 17:56:28 +02:00
CarolinePascal e5e241e2cb feat(video): add ffv1 to supported codecs 2026-06-15 17:56:28 +02:00
CarolinePascal b8ddd64120 feat(depth): add depth quantization helpers and tests 2026-06-15 17:56:28 +02:00
Caroline Pascal 38327fdc84 fix(images/videos): fixing aggregate_pipeline_dataset_features to avoid unwanted images features deletion (#3783)
* fix(images/videos): fixing aggregate_pipeline_dataset_features to avoid unwanted images features deletion when videos are not used

* fix(docstrings): improving docstrings

Signed-off-by: Caroline Pascal <caroline8.pascal@gmail.com>

---------

Signed-off-by: Caroline Pascal <caroline8.pascal@gmail.com>
2026-06-15 17:55:52 +02:00
Steven Palma 9555efc02c chore(dependencies): update uv.lock (#3595)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-15 16:29:44 +02:00
Steven Palma d576c59afb refactor(robots): homogenize bi-manual setups implementations (#3772)
* chore(robots): homogenize bi setups

* feat(robots): split openarm mini into single and bi

* refactor(robots): mixin for bi classes

* docs: update docs
2026-06-15 16:28:54 +02:00
Altman 8515d456be fix(datasets): avoid uint8 overflow in image stats (#3697)
* fix(datasets): avoid uint8 overflow in image stats

* fix(datasets): promote stats batches dynamically
2026-06-13 12:09:43 +02:00
Mahbod 30790de178 feat(edit-dataset): add concatenate_videos opt-out to merge (#3663)
* feat(edit-dataset): add `concatenate_videos` opt-out to merge

When merging datasets, source mp4s are concatenated into shards capped at
`video_files_size_in_mb` (default 200 MB). This is great for dataloader
throughput but destroys per-episode (or per-source) video boundaries,
which is undesirable when you want to inspect, ship, or reuse the
individual mp4s.

Add a `concatenate_videos: bool = True` knob plumbed through
`MergeConfig` → `merge_datasets` → `aggregate_datasets` → `aggregate_videos`.
When False, each source mp4 is copied 1:1 to its own destination mp4 with
no re-muxing, so the merge preserves source video boundaries.

Usage:

    lerobot-edit-dataset \
        --new_repo_id user/merged \
        --operation.type=merge \
        --operation.repo_ids "['user/a', 'user/b']" \
        --operation.concatenate_videos=false

Defaults are unchanged; the dataloader path is unaffected because the
`episodes.parquet` `from_timestamp`/`to_timestamp` index keeps working
regardless of whether each mp4 holds one or many episodes.

* feat(edit-dataset): extend concatenate opt-out to data files

Following review, add a concatenate_data flag mirroring concatenate_videos,
threaded through MergeConfig, merge_datasets, aggregate_datasets, aggregate_data
and append_or_create_parquet_file. Metadata index files still always concatenate.

Also trim the verbose docstrings and comments since the names are
self-explanatory, and extend the existing merge test to cover data files.
2026-06-12 20:05:04 +02:00
Pepijn cec8ee0be6 feat: language annotation pipeline (#3471)
Steerable annotation pipeline (lerobot-annotate) that populates the language_persistent and language_events columns introduced in PR 1 (#3467) directly into data/chunk-*/file-*.parquet.

This is PR 2 of the three-PR plan:

PR 1 (Add extensive language support #3467): schema + DSL + rendering, base of this PR
PR 2 (this PR): annotation pipeline writing into PR 1's columns
PR 3: model with language prediction and runtime
A VLM (Qwen-VL family, served on vLLM) watches each episode's video and emits grounded language annotations: subtasks, plans, memory, task rephrasings, interjections + speech, and per-camera VQA. The pipeline is built for production annotation at scale — single-camera grounding, embedded-frame inputs, a describe-then-segment grounding flow, and a deterministic full-episode coverage guarantee — informed by Scale's dense-captioning findings (representation > sampling, rules > reasoning, model capacity is the biggest lever, two-pass systems compound errors)
2026-06-12 15:12:33 +02:00
Nikodem Bartnik 02b315ab6a Docs/model card improvements (#3634)
* update policy deployment instruction with rollout

* add port and fix formatting

* add more base models to generate model card

* updated and extended model descriptions

* fix bug

* improved and extended structure

* exclude the templates from config

* add images and visualize dataset button

* add all policies we have docs for

* remove policies without the docs

* new fields, improved examples
2026-06-12 13:26:52 +02:00