├── AugDemos ├── README.md ├── aug_dataset_v1.py ├── aug_dataset_v2.py ├── infer_trt.py ├── materials │ ├── aug_pcd_drawer_pcds.gif │ ├── aug_pcd_drawer_pcds.mp4 │ ├── aug_pcd_drawer_rgbs.jpg │ ├── aug_pcd_pouring_pcds.gif │ ├── aug_pcd_pouring_pcds.mp4 │ ├── aug_pcd_pouring_rgbs.jpg │ ├── aug_pcd_uncover_pcds.gif │ ├── aug_pcd_uncover_pcds.mp4 │ ├── aug_pcd_uncover_rgbs.jpg │ ├── objects_point_clouds.jpg │ ├── paired_raw_images.jpg │ ├── raw_images_states.jpg │ └── raw_segmented_objs.jpg └── utils_igev.py ├── BiDP ├── README.md ├── infer.py ├── materials │ ├── BiDP_infer_demo1_drawer_noaug.gif │ ├── BiDP_infer_demo1_drawer_withaug.gif │ ├── BiDP_infer_demo1_openbox_noaug.gif │ ├── BiDP_infer_demo1_openbox_withaug.gif │ ├── BiDP_infer_demo1_pouring_noaug.gif │ ├── BiDP_infer_demo1_pouring_withaug.gif │ ├── BiDP_infer_demo1_uncover_noaug.gif │ ├── BiDP_infer_demo1_uncover_withaug.gif │ ├── BiDP_infer_demo1_unscrew_noaug.gif │ └── BiDP_infer_demo1_unscrew_withaug.gif ├── policies │ ├── agents │ │ ├── dp_agent.py │ │ ├── dp_policy.py │ │ ├── equibot_agent.py │ │ └── equibot_policy.py │ ├── configs │ │ ├── base.yaml │ │ └── basic.yaml │ ├── datasets │ │ ├── dataset.py │ │ └── dataset_loader.py │ ├── utils │ │ ├── diffusion │ │ │ ├── conditional_unet1d.py │ │ │ ├── conv1d_components.py │ │ │ ├── ema_model.py │ │ │ ├── lr_scheduler.py │ │ │ ├── positional_embedding.py │ │ │ └── resnet_with_gn.py │ │ ├── equivariant_diffusion │ │ │ ├── conditional_unet1d.py │ │ │ └── conv1d_components.py │ │ ├── media.py │ │ ├── misc.py │ │ └── norm.py │ └── vision │ │ ├── misc.py │ │ ├── pointnet_encoder.py │ │ ├── sim3_encoder.py │ │ ├── vec_layers.py │ │ └── vec_pointnet.py ├── run_noaug.sh ├── run_withaug.sh ├── test │ ├── drawer │ │ ├── demo_notrans_noaug_id │ │ │ ├── BiDP_infer_demo1.mp4 │ │ │ ├── pred_actions.npy │ │ │ ├── temp_0000.jpg │ │ │ ├── temp_0001.jpg │ │ │ ├── temp_0002.jpg │ │ │ ├── temp_0003.jpg │ │ │ ├── temp_0004.jpg │ │ │ ├── temp_0005.jpg │ │ │ ├── temp_0006.jpg │ │ │ ├── temp_0007.jpg │ │ │ ├── temp_0008.jpg │ │ │ ├── temp_0009.jpg │ │ │ ├── temp_0010.jpg │ │ │ ├── temp_0011.jpg │ │ │ ├── temp_0012.jpg │ │ │ ├── temp_0013.jpg │ │ │ ├── temp_0014.jpg │ │ │ ├── temp_0015.jpg │ │ │ ├── temp_0016.jpg │ │ │ ├── temp_0017.jpg │ │ │ ├── temp_0018.jpg │ │ │ ├── temp_0019.jpg │ │ │ ├── temp_0020.jpg │ │ │ └── temp_0021.jpg │ │ └── demo_notrans_withaug_id │ │ │ ├── BiDP_infer_demo1.mp4 │ │ │ ├── pred_actions.npy │ │ │ ├── temp_0000.jpg │ │ │ ├── temp_0001.jpg │ │ │ ├── temp_0002.jpg │ │ │ ├── temp_0003.jpg │ │ │ ├── temp_0004.jpg │ │ │ ├── temp_0005.jpg │ │ │ ├── temp_0006.jpg │ │ │ ├── temp_0007.jpg │ │ │ ├── temp_0008.jpg │ │ │ ├── temp_0009.jpg │ │ │ ├── temp_0010.jpg │ │ │ ├── temp_0011.jpg │ │ │ ├── temp_0012.jpg │ │ │ ├── temp_0013.jpg │ │ │ ├── temp_0014.jpg │ │ │ ├── temp_0015.jpg │ │ │ ├── temp_0016.jpg │ │ │ ├── temp_0017.jpg │ │ │ ├── temp_0018.jpg │ │ │ ├── temp_0019.jpg │ │ │ ├── temp_0020.jpg │ │ │ └── temp_0021.jpg │ ├── openbox │ │ ├── demo_notrans_noaug_id │ │ │ ├── BiDP_infer_demo1.mp4 │ │ │ ├── pred_actions.npy │ │ │ ├── temp_0000.jpg │ │ │ ├── temp_0001.jpg │ │ │ ├── temp_0002.jpg │ │ │ ├── temp_0003.jpg │ │ │ ├── temp_0004.jpg │ │ │ ├── temp_0005.jpg │ │ │ ├── temp_0006.jpg │ │ │ ├── temp_0007.jpg │ │ │ ├── temp_0008.jpg │ │ │ ├── temp_0009.jpg │ │ │ ├── temp_0010.jpg │ │ │ ├── temp_0011.jpg │ │ │ ├── temp_0012.jpg │ │ │ ├── temp_0013.jpg │ │ │ ├── temp_0014.jpg │ │ │ ├── temp_0015.jpg │ │ │ ├── temp_0016.jpg │ │ │ ├── temp_0017.jpg │ │ │ ├── temp_0018.jpg │ │ │ ├── temp_0019.jpg │ │ │ ├── temp_0020.jpg │ │ │ ├── temp_0021.jpg │ │ │ ├── temp_0022.jpg │ │ │ ├── temp_0023.jpg │ │ │ ├── temp_0024.jpg │ │ │ ├── temp_0025.jpg │ │ │ ├── temp_0026.jpg │ │ │ ├── temp_0027.jpg │ │ │ ├── temp_0028.jpg │ │ │ ├── temp_0029.jpg │ │ │ ├── temp_0030.jpg │ │ │ ├── temp_0031.jpg │ │ │ ├── temp_0032.jpg │ │ │ ├── temp_0033.jpg │ │ │ ├── temp_0034.jpg │ │ │ ├── temp_0035.jpg │ │ │ ├── temp_0036.jpg │ │ │ ├── temp_0037.jpg │ │ │ ├── temp_0038.jpg │ │ │ ├── temp_0039.jpg │ │ │ ├── temp_0040.jpg │ │ │ ├── temp_0041.jpg │ │ │ ├── temp_0042.jpg │ │ │ ├── temp_0043.jpg │ │ │ ├── temp_0044.jpg │ │ │ ├── temp_0045.jpg │ │ │ ├── temp_0046.jpg │ │ │ ├── temp_0047.jpg │ │ │ ├── temp_0048.jpg │ │ │ ├── temp_0049.jpg │ │ │ ├── temp_0050.jpg │ │ │ ├── temp_0051.jpg │ │ │ ├── temp_0052.jpg │ │ │ ├── temp_0053.jpg │ │ │ ├── temp_0054.jpg │ │ │ ├── temp_0055.jpg │ │ │ ├── temp_0056.jpg │ │ │ ├── temp_0057.jpg │ │ │ ├── temp_0058.jpg │ │ │ ├── temp_0059.jpg │ │ │ ├── temp_0060.jpg │ │ │ ├── temp_0061.jpg │ │ │ ├── temp_0062.jpg │ │ │ ├── temp_0063.jpg │ │ │ ├── temp_0064.jpg │ │ │ └── temp_0065.jpg │ │ └── demo_notrans_withaug_id │ │ │ ├── BiDP_infer_demo1.mp4 │ │ │ ├── pred_actions.npy │ │ │ ├── temp_0000.jpg │ │ │ ├── temp_0001.jpg │ │ │ ├── temp_0002.jpg │ │ │ ├── temp_0003.jpg │ │ │ ├── temp_0004.jpg │ │ │ ├── temp_0005.jpg │ │ │ ├── temp_0006.jpg │ │ │ ├── temp_0007.jpg │ │ │ ├── temp_0008.jpg │ │ │ ├── temp_0009.jpg │ │ │ ├── temp_0010.jpg │ │ │ ├── temp_0011.jpg │ │ │ ├── temp_0012.jpg │ │ │ ├── temp_0013.jpg │ │ │ ├── temp_0014.jpg │ │ │ ├── temp_0015.jpg │ │ │ ├── temp_0016.jpg │ │ │ ├── temp_0017.jpg │ │ │ ├── temp_0018.jpg │ │ │ ├── temp_0019.jpg │ │ │ ├── temp_0020.jpg │ │ │ ├── temp_0021.jpg │ │ │ ├── temp_0022.jpg │ │ │ ├── temp_0023.jpg │ │ │ ├── temp_0024.jpg │ │ │ ├── temp_0025.jpg │ │ │ ├── temp_0026.jpg │ │ │ ├── temp_0027.jpg │ │ │ ├── temp_0028.jpg │ │ │ ├── temp_0029.jpg │ │ │ ├── temp_0030.jpg │ │ │ ├── temp_0031.jpg │ │ │ ├── temp_0032.jpg │ │ │ ├── temp_0033.jpg │ │ │ ├── temp_0034.jpg │ │ │ ├── temp_0035.jpg │ │ │ ├── temp_0036.jpg │ │ │ ├── temp_0037.jpg │ │ │ ├── temp_0038.jpg │ │ │ ├── temp_0039.jpg │ │ │ ├── temp_0040.jpg │ │ │ ├── temp_0041.jpg │ │ │ ├── temp_0042.jpg │ │ │ ├── temp_0043.jpg │ │ │ ├── temp_0044.jpg │ │ │ ├── temp_0045.jpg │ │ │ ├── temp_0046.jpg │ │ │ ├── temp_0047.jpg │ │ │ ├── temp_0048.jpg │ │ │ ├── temp_0049.jpg │ │ │ ├── temp_0050.jpg │ │ │ ├── temp_0051.jpg │ │ │ ├── temp_0052.jpg │ │ │ ├── temp_0053.jpg │ │ │ ├── temp_0054.jpg │ │ │ ├── temp_0055.jpg │ │ │ ├── temp_0056.jpg │ │ │ ├── temp_0057.jpg │ │ │ ├── temp_0058.jpg │ │ │ ├── temp_0059.jpg │ │ │ ├── temp_0060.jpg │ │ │ ├── temp_0061.jpg │ │ │ ├── temp_0062.jpg │ │ │ ├── temp_0063.jpg │ │ │ ├── temp_0064.jpg │ │ │ └── temp_0065.jpg │ ├── platform_pcd.ply │ ├── pouring │ │ ├── demo_notrans_noaug_id │ │ │ ├── BiDP_infer_demo1.mp4 │ │ │ ├── pred_actions.npy │ │ │ ├── temp_0000.jpg │ │ │ ├── temp_0001.jpg │ │ │ ├── temp_0002.jpg │ │ │ ├── temp_0003.jpg │ │ │ ├── temp_0004.jpg │ │ │ ├── temp_0005.jpg │ │ │ ├── temp_0006.jpg │ │ │ ├── temp_0007.jpg │ │ │ ├── temp_0008.jpg │ │ │ ├── temp_0009.jpg │ │ │ ├── temp_0010.jpg │ │ │ ├── temp_0011.jpg │ │ │ ├── temp_0012.jpg │ │ │ ├── temp_0013.jpg │ │ │ ├── temp_0014.jpg │ │ │ ├── temp_0015.jpg │ │ │ ├── temp_0016.jpg │ │ │ ├── temp_0017.jpg │ │ │ ├── temp_0018.jpg │ │ │ ├── temp_0019.jpg │ │ │ ├── temp_0020.jpg │ │ │ ├── temp_0021.jpg │ │ │ ├── temp_0022.jpg │ │ │ └── temp_0023.jpg │ │ └── demo_notrans_withaug_id │ │ │ ├── BiDP_infer_demo1.mp4 │ │ │ ├── pred_actions.npy │ │ │ ├── temp_0000.jpg │ │ │ ├── temp_0001.jpg │ │ │ ├── temp_0002.jpg │ │ │ ├── temp_0003.jpg │ │ │ ├── temp_0004.jpg │ │ │ ├── temp_0005.jpg │ │ │ ├── temp_0006.jpg │ │ │ ├── temp_0007.jpg │ │ │ ├── temp_0008.jpg │ │ │ ├── temp_0009.jpg │ │ │ ├── temp_0010.jpg │ │ │ ├── temp_0011.jpg │ │ │ ├── temp_0012.jpg │ │ │ ├── temp_0013.jpg │ │ │ ├── temp_0014.jpg │ │ │ ├── temp_0015.jpg │ │ │ ├── temp_0016.jpg │ │ │ ├── temp_0017.jpg │ │ │ ├── temp_0018.jpg │ │ │ ├── temp_0019.jpg │ │ │ ├── temp_0020.jpg │ │ │ ├── temp_0021.jpg │ │ │ ├── temp_0022.jpg │ │ │ └── temp_0023.jpg │ ├── uncover │ │ ├── demo_notrans_noaug_id │ │ │ ├── BiDP_infer_demo1.mp4 │ │ │ ├── pred_actions.npy │ │ │ ├── temp_0000.jpg │ │ │ ├── temp_0001.jpg │ │ │ ├── temp_0002.jpg │ │ │ ├── temp_0003.jpg │ │ │ ├── temp_0004.jpg │ │ │ ├── temp_0005.jpg │ │ │ ├── temp_0006.jpg │ │ │ ├── temp_0007.jpg │ │ │ ├── temp_0008.jpg │ │ │ ├── temp_0009.jpg │ │ │ ├── temp_0010.jpg │ │ │ ├── temp_0011.jpg │ │ │ ├── temp_0012.jpg │ │ │ ├── temp_0013.jpg │ │ │ ├── temp_0014.jpg │ │ │ ├── temp_0015.jpg │ │ │ ├── temp_0016.jpg │ │ │ ├── temp_0017.jpg │ │ │ ├── temp_0018.jpg │ │ │ ├── temp_0019.jpg │ │ │ ├── temp_0020.jpg │ │ │ ├── temp_0021.jpg │ │ │ ├── temp_0022.jpg │ │ │ ├── temp_0023.jpg │ │ │ ├── temp_0024.jpg │ │ │ ├── temp_0025.jpg │ │ │ ├── temp_0026.jpg │ │ │ ├── temp_0027.jpg │ │ │ ├── temp_0028.jpg │ │ │ ├── temp_0029.jpg │ │ │ ├── temp_0030.jpg │ │ │ ├── temp_0031.jpg │ │ │ ├── temp_0032.jpg │ │ │ ├── temp_0033.jpg │ │ │ ├── temp_0034.jpg │ │ │ ├── temp_0035.jpg │ │ │ ├── temp_0036.jpg │ │ │ ├── temp_0037.jpg │ │ │ ├── temp_0038.jpg │ │ │ ├── temp_0039.jpg │ │ │ ├── temp_0040.jpg │ │ │ ├── temp_0041.jpg │ │ │ ├── temp_0042.jpg │ │ │ ├── temp_0043.jpg │ │ │ ├── temp_0044.jpg │ │ │ ├── temp_0045.jpg │ │ │ ├── temp_0046.jpg │ │ │ ├── temp_0047.jpg │ │ │ ├── temp_0048.jpg │ │ │ └── temp_0049.jpg │ │ └── demo_notrans_withaug_id │ │ │ ├── BiDP_infer_demo1.mp4 │ │ │ ├── pred_actions.npy │ │ │ ├── temp_0000.jpg │ │ │ ├── temp_0001.jpg │ │ │ ├── temp_0002.jpg │ │ │ ├── temp_0003.jpg │ │ │ ├── temp_0004.jpg │ │ │ ├── temp_0005.jpg │ │ │ ├── temp_0006.jpg │ │ │ ├── temp_0007.jpg │ │ │ ├── temp_0008.jpg │ │ │ ├── temp_0009.jpg │ │ │ ├── temp_0010.jpg │ │ │ ├── temp_0011.jpg │ │ │ ├── temp_0012.jpg │ │ │ ├── temp_0013.jpg │ │ │ ├── temp_0014.jpg │ │ │ ├── temp_0015.jpg │ │ │ ├── temp_0016.jpg │ │ │ ├── temp_0017.jpg │ │ │ ├── temp_0018.jpg │ │ │ ├── temp_0019.jpg │ │ │ ├── temp_0020.jpg │ │ │ ├── temp_0021.jpg │ │ │ ├── temp_0022.jpg │ │ │ ├── temp_0023.jpg │ │ │ ├── temp_0024.jpg │ │ │ ├── temp_0025.jpg │ │ │ ├── temp_0026.jpg │ │ │ ├── temp_0027.jpg │ │ │ ├── temp_0028.jpg │ │ │ ├── temp_0029.jpg │ │ │ ├── temp_0030.jpg │ │ │ ├── temp_0031.jpg │ │ │ ├── temp_0032.jpg │ │ │ ├── temp_0033.jpg │ │ │ ├── temp_0034.jpg │ │ │ ├── temp_0035.jpg │ │ │ ├── temp_0036.jpg │ │ │ ├── temp_0037.jpg │ │ │ ├── temp_0038.jpg │ │ │ ├── temp_0039.jpg │ │ │ ├── temp_0040.jpg │ │ │ ├── temp_0041.jpg │ │ │ ├── temp_0042.jpg │ │ │ ├── temp_0043.jpg │ │ │ ├── temp_0044.jpg │ │ │ ├── temp_0045.jpg │ │ │ ├── temp_0046.jpg │ │ │ ├── temp_0047.jpg │ │ │ ├── temp_0048.jpg │ │ │ └── temp_0049.jpg │ └── unscrew │ │ ├── demo_notrans_noaug_id │ │ ├── BiDP_infer_demo1.mp4 │ │ ├── pred_actions.npy │ │ ├── temp_0000.jpg │ │ ├── temp_0001.jpg │ │ ├── temp_0002.jpg │ │ ├── temp_0003.jpg │ │ ├── temp_0004.jpg │ │ ├── temp_0005.jpg │ │ ├── temp_0006.jpg │ │ ├── temp_0007.jpg │ │ ├── temp_0008.jpg │ │ ├── temp_0009.jpg │ │ ├── temp_0010.jpg │ │ ├── temp_0011.jpg │ │ ├── temp_0012.jpg │ │ ├── temp_0013.jpg │ │ ├── temp_0014.jpg │ │ ├── temp_0015.jpg │ │ ├── temp_0016.jpg │ │ ├── temp_0017.jpg │ │ ├── temp_0018.jpg │ │ ├── temp_0019.jpg │ │ ├── temp_0020.jpg │ │ ├── temp_0021.jpg │ │ ├── temp_0022.jpg │ │ ├── temp_0023.jpg │ │ ├── temp_0024.jpg │ │ └── temp_0025.jpg │ │ └── demo_notrans_withaug_id │ │ ├── BiDP_infer_demo1.mp4 │ │ ├── pred_actions.npy │ │ ├── temp_0000.jpg │ │ ├── temp_0001.jpg │ │ ├── temp_0002.jpg │ │ ├── temp_0003.jpg │ │ ├── temp_0004.jpg │ │ ├── temp_0005.jpg │ │ ├── temp_0006.jpg │ │ ├── temp_0007.jpg │ │ ├── temp_0008.jpg │ │ ├── temp_0009.jpg │ │ ├── temp_0010.jpg │ │ ├── temp_0011.jpg │ │ ├── temp_0012.jpg │ │ ├── temp_0013.jpg │ │ ├── temp_0014.jpg │ │ ├── temp_0015.jpg │ │ ├── temp_0016.jpg │ │ ├── temp_0017.jpg │ │ ├── temp_0018.jpg │ │ ├── temp_0019.jpg │ │ ├── temp_0020.jpg │ │ ├── temp_0021.jpg │ │ ├── temp_0022.jpg │ │ ├── temp_0023.jpg │ │ ├── temp_0024.jpg │ │ └── temp_0025.jpg └── train.py └── README.md /AugDemos/README.md: -------------------------------------------------------------------------------- 1 | # Augmentation of Demonstrations 2 | In this part, we show how to condcut the point cloud-level geometry augmentation of manipulated objects for all valid demonstrations in each task. These pre-processed data will be used for training BiDP models. 3 | 4 | ## Step 0: Data download and environment configuration 5 | 6 | * Download the raw binocular paired left/right images (in *.jpg format) and the corresponding dual robot arm states (in *.json format) for each task. We have uploaded them (`drawer.zip`, `pouring.zip`, `unscrew.zip`, `uncover.zip` and `openbox.zip`) on [huggingface/YOTO](https://huggingface.co/HoyerChou/YOTO/tree/main). We also uploaded the corresponding segmented manipulated objects of all left-view images (`drawer_mask.zip`, `pouring_mask.zip`, `unscrew_mask.zip`, `uncover_mask.zip` and `openbox_mask.zip`). These demonstrations are auto-rollout verified in real-world, and will be pre-processed for training. 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
raw images and states raw segmented objects
18 | 19 | * Configure the dependent environment required for binocular stereo matching. We used the [IGEV](https://github.com/gangweiX/IGEV) algorithm and [KingFisher](https://dexforce-3dvision.com/productinfo/1022811.html) binocular camera. Among them, you need to utilize the dependency packages [glia](http://rjyfb:123456@69.235.177.182:10801/simple/glia/) and [glia-trt](http://rjyfb:123456@69.235.177.182:10801/simple/glia-trt/) developed by `DexForce` in file [infer_trt.py](https://github.com/hnuzhy/YOTO/blob/main/AugDemos/infer_trt.py#L12). Despite this, due to hardware differences, readers may need to use commercial binocular cameras (such as RealSense) to collect similar data. 20 | 21 | ## Step 1: Pre-processing of all valid demonstrations 22 | ``` 23 | python aug_dataset_v1.py 24 | ``` 25 | Before running, you can adjust many useful parameters in this script. If you cannot reproduce our environment, you can directly download our pre-processed jsons (`drawer_preprocessed.json`, `pouring_preprocessed.json`, `unscrew_preprocessed.json`, `uncover_preprocessed.json` and `openbox_preprocessed.json`) in [huggingface/YOTO](https://huggingface.co/HoyerChou/YOTO/tree/main) for training. 26 | * [`debug_flag`](https://github.com/hnuzhy/YOTO/blob/main/AugDemos/aug_dataset_v1.py#L216): whether using the debug mode to checking pre-processed results, such as matching effect, object masks and segmented object point clouds. 27 | * [`robot2camera_trans`](https://github.com/hnuzhy/YOTO/blob/main/AugDemos/aug_dataset_v1.py#L217): whether tansforming the dual-arm robot states (6-DoF keyposes) from the robot world into the camera world. We have valided that set it as True will not be better. We thus utilize visual observations in the camera view and robot actions in the robot view to train all policy models. 28 | * [`task_names`](https://github.com/hnuzhy/YOTO/blob/main/AugDemos/aug_dataset_v1.py#L219): You can change the task name list for pre-processing. We currently collected a fixed number of demonstrations through *Auto-Rollout Verification in Real-World* for each task (`drawer`, `pouring`, `unscrew`, `uncover`, `openbox`), which are `243/162/54/45/36` respectively. 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
matched binocular images objects point clouds
40 | 41 | ## Step 2: Geometric transformation in point cloud-level 42 | ``` 43 | python aug_dataset_v2.py 44 | ``` 45 | Before running, you can also adjust many useful parameters in this script. We have also uploaded our pre-processed jsons (`drawer_preprocessed_aug100x_*.json`, `pouring_preprocessed_aug100x_*.json`, `unscrew_preprocessed_aug100x.json`, `uncover_preprocessed_aug100x.json` and `openbox_preprocessed_aug100x.json`) in [huggingface/YOTO](https://huggingface.co/HoyerChou/YOTO/tree/main) for training. 46 | * [`debug_flag`](https://github.com/hnuzhy/YOTO/blob/main/AugDemos/aug_dataset_v2.py#L431): whether using the debug mode to checking pre-processed results, such as matching effect, object masks and segmented object point clouds. 47 | * [`aug_times`](https://github.com/hnuzhy/YOTO/blob/main/AugDemos/aug_dataset_v2.py#L432): set the augmentation times for each single demonstration. We can set it as `1 / 5 / 25 / 100 / 500`. And we have valided that set it as `100` is good enough. 48 | * [`left_pts_num`](https://github.com/hnuzhy/YOTO/blob/main/AugDemos/aug_dataset_v2.py#L433): set the left points number in manipulated object point clouds. We can set it as `32768 / 16384 / 8192 / 4096 / 2048`. In fact, we don’t need to set it too large, because the number of points when sampling objects during training is generally `1024 or 2048`. We set its as `4096` in our 100x augmentation for saving space of final pre-processed results. 49 | * [`task_names`](https://github.com/hnuzhy/YOTO/blob/main/AugDemos/aug_dataset_v2.py#L434): You can change the task name list for pre-processing. We currently generated 100x demonstrations through *Geometric Transformation of Point Clouds* for each task (`drawer`, `pouring`, `unscrew`, `uncover`, `openbox`), which are `24300/16200/5400/4500/3600` respectively. 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
the matched binocular images augmented objects point clouds
69 | 70 | -------------------------------------------------------------------------------- /AugDemos/infer_trt.py: -------------------------------------------------------------------------------- 1 | import os 2 | import torch 3 | import argparse 4 | import time 5 | import cv2 6 | import yaml 7 | import open3d as o3d 8 | import numpy as np 9 | from glob import glob 10 | 11 | from utils_igev import StereoRectifyUtil 12 | from glia.dl.pipelines import StereoInterface 13 | 14 | 15 | def generate_pcd(left_image, disp, fx, fy, cx, cy, baseline, object_mask_binary=None, roi_mask_binary=None): 16 | height, width, _ = left_image.shape 17 | depth = fx * baseline / disp 18 | 19 | left_img_o3d = o3d.geometry.Image(left_image.astype(np.uint8)) 20 | intrinsic = o3d.camera.PinholeCameraIntrinsic(width, height, fx, fy, cx, cy) 21 | depth_img_o3d = o3d.geometry.Image(depth.astype(np.float32)) 22 | rgbd_img = o3d.geometry.RGBDImage.create_from_color_and_depth( 23 | left_img_o3d, 24 | depth_img_o3d, 25 | depth_scale=1.0, 26 | depth_trunc=depth.max()+1, # do not remove 3d point in any pixel 27 | # depth_trunc=4.0, 28 | convert_rgb_to_intensity=False, 29 | ) 30 | pcd = o3d.geometry.PointCloud.create_from_rgbd_image(rgbd_img, intrinsic) 31 | print(len(pcd.points), np.array(pcd.points).shape, height*width) 32 | 33 | if object_mask_binary is not None: 34 | # https://www.cnblogs.com/massquantity/p/8908859.html 35 | left_pts_idx = np.where(object_mask_binary.reshape(-1) > 0)[0] 36 | print("left points:", len(left_pts_idx)) 37 | pcd = pcd.select_by_index(left_pts_idx) 38 | 39 | if roi_mask_binary is not None: 40 | left_pts_idx = np.where(roi_mask_binary.reshape(-1) > 0)[0] 41 | print("left points:", len(left_pts_idx)) 42 | pcd = pcd.select_by_index(left_pts_idx) 43 | 44 | return pcd, depth 45 | 46 | 47 | def init_igev_model(): 48 | model_path = "./kingfisher/igev.trt" 49 | calib_file = "./kingfisher/calib_1106.yaml" 50 | im_height, im_width = 1024, 1280 51 | 52 | # IGEV Tensorrt模型初始化成功 53 | model = StereoInterface(backend="trt", model_path=model_path) 54 | model.cuda() 55 | 56 | # 加载相机参数文件 57 | with open(calib_file, "r", encoding="utf-8") as f: 58 | stereo_res = yaml.load(stream=f, Loader=yaml.FullLoader) 59 | ret_results = StereoRectifyUtil.rectify_params(stereo_res, im_height, im_width) 60 | ori_k1, R1, rect_k1, baseline, map_x_1, map_y_1, map_x_2, map_y_2 = ret_results 61 | 62 | model.set_camera(0, im_height, im_width, 63 | fx=rect_k1[0, 0], fy=rect_k1[1, 1], cx=rect_k1[0, 2], cy=rect_k1[1, 2]) 64 | model.set_camera(1, im_height, im_width, 65 | fx=rect_k1[0, 0], fy=rect_k1[1, 1], cx=rect_k1[0, 2], cy=rect_k1[1, 2]) 66 | 67 | param_list = [model, R1, rect_k1, baseline, map_x_1, map_y_1, map_x_2, map_y_2] 68 | return param_list 69 | 70 | 71 | if __name__ == '__main__': 72 | 73 | print("infer scene point cloud using kingfisher and igev!!!") 74 | -------------------------------------------------------------------------------- /AugDemos/materials/aug_pcd_drawer_pcds.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/aug_pcd_drawer_pcds.gif -------------------------------------------------------------------------------- /AugDemos/materials/aug_pcd_drawer_pcds.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/aug_pcd_drawer_pcds.mp4 -------------------------------------------------------------------------------- /AugDemos/materials/aug_pcd_drawer_rgbs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/aug_pcd_drawer_rgbs.jpg -------------------------------------------------------------------------------- /AugDemos/materials/aug_pcd_pouring_pcds.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/aug_pcd_pouring_pcds.gif -------------------------------------------------------------------------------- /AugDemos/materials/aug_pcd_pouring_pcds.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/aug_pcd_pouring_pcds.mp4 -------------------------------------------------------------------------------- /AugDemos/materials/aug_pcd_pouring_rgbs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/aug_pcd_pouring_rgbs.jpg -------------------------------------------------------------------------------- /AugDemos/materials/aug_pcd_uncover_pcds.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/aug_pcd_uncover_pcds.gif -------------------------------------------------------------------------------- /AugDemos/materials/aug_pcd_uncover_pcds.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/aug_pcd_uncover_pcds.mp4 -------------------------------------------------------------------------------- /AugDemos/materials/aug_pcd_uncover_rgbs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/aug_pcd_uncover_rgbs.jpg -------------------------------------------------------------------------------- /AugDemos/materials/objects_point_clouds.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/objects_point_clouds.jpg -------------------------------------------------------------------------------- /AugDemos/materials/paired_raw_images.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/paired_raw_images.jpg -------------------------------------------------------------------------------- /AugDemos/materials/raw_images_states.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/raw_images_states.jpg -------------------------------------------------------------------------------- /AugDemos/materials/raw_segmented_objs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/AugDemos/materials/raw_segmented_objs.jpg -------------------------------------------------------------------------------- /AugDemos/utils_igev.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import numpy as np 3 | import open3d as o3d 4 | 5 | class StereoRectifyUtil(object): 6 | @staticmethod 7 | def rectify_params(stereo_res: dict, height: int, width: int): 8 | cam1_K = np.array(stereo_res["cam1_k"]) 9 | cam2_K = np.array(stereo_res["cam2_k"]) 10 | 11 | cam1_dist = np.array(stereo_res["dist_1"]).reshape(-1) 12 | cam2_dist = np.array(stereo_res["dist_2"]).reshape(-1) 13 | R = np.array(stereo_res["R_l_r"]) 14 | t = np.array(stereo_res["t_l_r"]) 15 | 16 | # 注意后端不再考虑畸变,需前端确认已进行去畸变处理。 17 | R1, R2, P1, P2, Q, validPixROI1, validPixROI2 = cv2.stereoRectify( 18 | cameraMatrix1=cam1_K, 19 | distCoeffs1=cam1_dist, 20 | cameraMatrix2=cam2_K, 21 | distCoeffs2=cam2_dist, 22 | imageSize=(width, height), 23 | R=R, 24 | T=t, 25 | flags=1024, 26 | newImageSize=(0, 0), 27 | ) 28 | 29 | rectified_image_size = (width, height) 30 | 31 | map_x_1, map_y_1 = cv2.initUndistortRectifyMap( 32 | cameraMatrix=cam1_K, 33 | distCoeffs=np.zeros((1, 5)), 34 | R=R1, 35 | newCameraMatrix=P1, 36 | size=rectified_image_size, 37 | m1type=cv2.CV_32FC1, 38 | ) 39 | map_x_2, map_y_2 = cv2.initUndistortRectifyMap( 40 | cameraMatrix=cam2_K, 41 | distCoeffs=np.zeros((1, 5)), 42 | R=R2, 43 | newCameraMatrix=P2, 44 | size=rectified_image_size, 45 | m1type=cv2.CV_32FC1, 46 | ) 47 | 48 | rect_cam_k = P2[:3, :3] 49 | baseline = -P2[0, 3] / P2[0, 0] * 0.001 50 | 51 | return ( 52 | cam1_K, 53 | R1, 54 | rect_cam_k, 55 | baseline, 56 | map_x_1, 57 | map_y_1, 58 | map_x_2, 59 | map_y_2, 60 | ) 61 | 62 | @staticmethod 63 | def rectify_img(image: np.ndarray, map_x: np.ndarray, map_y: np.ndarray): 64 | return cv2.remap(image, map_x, map_y, interpolation=cv2.INTER_LINEAR) 65 | 66 | @staticmethod 67 | def visualize_rect_imgs(left_img: np.ndarray, right_img: np.ndarray, save_path: str): 68 | height, width, _ = left_img.shape 69 | img = np.hstack((left_img, right_img)) 70 | iend = 8 71 | for i in range(1, iend + 1): 72 | h = int(height/iend * i) 73 | img = cv2.line(img, (0, h), (width*2, h), (0,0,255), 2) 74 | cv2.imwrite(save_path, img) 75 | 76 | @staticmethod 77 | def from_rectify_pcd_to_origin_depth( 78 | left_img: np.ndarray, 79 | src_pcd: o3d.geometry.PointCloud, 80 | source2target_rotation: np.ndarray, 81 | target_camera_intrinsic: np.ndarray, 82 | img_h: int, 83 | img_w: int, 84 | depth_scale: float = 1.0, 85 | depth_trunc: float = 4.0, 86 | ): 87 | # 1. get 3xN vertices coordinate of source pcd 88 | source_point_cloud = np.asarray(src_pcd.points).T 89 | 90 | # 2. point cloud coordinate transformation 91 | target_point_cloud = source2target_rotation.dot(source_point_cloud) 92 | 93 | assert (target_point_cloud[2] > 0).all() 94 | return target_point_cloud 95 | 96 | # 3. target point cloud reproject to image 97 | target_depth_map = np.zeros((img_h, img_w), dtype=np.float32) 98 | target_uv = np.around(np.dot(target_camera_intrinsic, target_point_cloud) / target_point_cloud[2, :]) 99 | 100 | # 交换前两列 101 | target_uv[2, :] = target_uv[0, :] 102 | target_uv = target_uv[1:, :] 103 | 104 | val_locs = ( 105 | (target_uv[0] < img_h) 106 | & (target_uv[0] >= 0) 107 | & (target_uv[1] < img_w) 108 | & (target_uv[1] >= 0) 109 | ) 110 | 111 | # 图像平面内的有效x,y位置 112 | row_col_pos = target_uv.T[val_locs].astype(np.int32) 113 | # 图像平面内的有效z位置 114 | target_pt_zs = target_point_cloud[2][val_locs] 115 | 116 | # 按深度值从大到小排序后,依次投影到目标图像平面,最终同像素位置小深度值会替换大深度值 117 | z_sorted_idxs = np.argsort(target_pt_zs) 118 | z_sorted_idxs = z_sorted_idxs[::-1] 119 | 120 | row_col_pos = row_col_pos[z_sorted_idxs] 121 | target_depth_map[row_col_pos[:, 0], row_col_pos[:, 1]] = target_pt_zs[z_sorted_idxs] 122 | 123 | # 4. return target depth map and pcd 124 | height, width, _ = left_img.shape 125 | fx = target_camera_intrinsic[0, 0] 126 | fy = target_camera_intrinsic[1, 1] 127 | cx = target_camera_intrinsic[0, 2] 128 | cy = target_camera_intrinsic[1, 2] 129 | left_img_o3d = o3d.geometry.Image((left_img).astype(np.uint8)) 130 | intrinsic = o3d.camera.PinholeCameraIntrinsic(width, height, fx, fy, cx, cy) 131 | depth_img_o3d = o3d.geometry.Image(target_depth_map.astype(np.float32)) 132 | rgbd_img = o3d.geometry.RGBDImage.create_from_color_and_depth( 133 | left_img_o3d, 134 | depth_img_o3d, 135 | depth_scale=depth_scale, 136 | depth_trunc=depth_trunc, 137 | convert_rgb_to_intensity=False, 138 | ) 139 | 140 | tgt_pcd = o3d.geometry.PointCloud.create_from_rgbd_image(rgbd_img, intrinsic) 141 | 142 | return target_depth_map, tgt_pcd 143 | -------------------------------------------------------------------------------- /BiDP/materials/BiDP_infer_demo1_drawer_noaug.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/materials/BiDP_infer_demo1_drawer_noaug.gif -------------------------------------------------------------------------------- /BiDP/materials/BiDP_infer_demo1_drawer_withaug.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/materials/BiDP_infer_demo1_drawer_withaug.gif -------------------------------------------------------------------------------- /BiDP/materials/BiDP_infer_demo1_openbox_noaug.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/materials/BiDP_infer_demo1_openbox_noaug.gif -------------------------------------------------------------------------------- /BiDP/materials/BiDP_infer_demo1_openbox_withaug.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/materials/BiDP_infer_demo1_openbox_withaug.gif -------------------------------------------------------------------------------- /BiDP/materials/BiDP_infer_demo1_pouring_noaug.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/materials/BiDP_infer_demo1_pouring_noaug.gif -------------------------------------------------------------------------------- /BiDP/materials/BiDP_infer_demo1_pouring_withaug.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/materials/BiDP_infer_demo1_pouring_withaug.gif -------------------------------------------------------------------------------- /BiDP/materials/BiDP_infer_demo1_uncover_noaug.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/materials/BiDP_infer_demo1_uncover_noaug.gif -------------------------------------------------------------------------------- /BiDP/materials/BiDP_infer_demo1_uncover_withaug.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/materials/BiDP_infer_demo1_uncover_withaug.gif -------------------------------------------------------------------------------- /BiDP/materials/BiDP_infer_demo1_unscrew_noaug.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/materials/BiDP_infer_demo1_unscrew_noaug.gif -------------------------------------------------------------------------------- /BiDP/materials/BiDP_infer_demo1_unscrew_withaug.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/materials/BiDP_infer_demo1_unscrew_withaug.gif -------------------------------------------------------------------------------- /BiDP/policies/agents/dp_policy.py: -------------------------------------------------------------------------------- 1 | import copy 2 | import hydra 3 | import torch 4 | from torch import nn 5 | 6 | from policies.vision.pointnet_encoder import PointNetEncoder 7 | from policies.utils.diffusion.ema_model import EMAModel 8 | from policies.utils.diffusion.conditional_unet1d import ConditionalUnet1D 9 | from policies.utils.diffusion.resnet_with_gn import get_resnet, replace_bn_with_gn 10 | 11 | 12 | class DPPolicy(nn.Module): 13 | def __init__(self, cfg, device="cpu"): 14 | super().__init__() 15 | self.cfg = cfg 16 | self.hidden_dim = hidden_dim = cfg.model.hidden_dim 17 | self.obs_mode = cfg.model.obs_mode 18 | self.device = device 19 | 20 | # |o|o| observations: 2 21 | # | |a|a|a|a|a|a|a|a| actions executed: 8 22 | # |p|p|p|p|p|p|p|p|p|p|p|p|p|p|p|p| actions predicted: 16 23 | self.pred_horizon = cfg.model.pred_horizon 24 | self.obs_horizon = cfg.model.obs_horizon 25 | self.action_horizon = cfg.model.ac_horizon 26 | 27 | if hasattr(cfg.model, "num_diffusion_iters"): 28 | self.num_diffusion_iters = cfg.model.num_diffusion_iters 29 | else: 30 | self.num_diffusion_iters = cfg.model.noise_scheduler.num_train_timesteps 31 | 32 | self.num_eef = cfg.env.num_eef 33 | self.eef_dim = cfg.env.eef_dim 34 | self.dof = cfg.env.dof 35 | if cfg.model.obs_mode == "state": 36 | self.obs_dim = self.num_eef * self.eef_dim 37 | elif cfg.model.obs_mode == "rgb": 38 | self.obs_dim = 512 + self.num_eef * self.eef_dim 39 | else: 40 | self.obs_dim = hidden_dim + self.num_eef * self.eef_dim 41 | self.action_dim = self.dof * cfg.env.num_eef 42 | 43 | if self.obs_mode.startswith("pc"): 44 | self.encoder = PointNetEncoder( 45 | h_dim=hidden_dim, 46 | c_dim=hidden_dim, 47 | num_layers=cfg.model.encoder.backbone_args.num_layers, 48 | ) 49 | elif self.obs_mode == "rgb": 50 | self.encoder = replace_bn_with_gn(get_resnet("resnet18")) 51 | else: 52 | self.encoder = nn.Identity() 53 | self.noise_pred_net = ConditionalUnet1D( 54 | input_dim=self.action_dim, 55 | diffusion_step_embed_dim=self.obs_dim * self.obs_horizon, 56 | global_cond_dim=self.obs_dim * self.obs_horizon, 57 | ) 58 | 59 | self.nets = nn.ModuleDict( 60 | {"encoder": self.encoder, "noise_pred_net": self.noise_pred_net} 61 | ) 62 | self.ema = EMAModel(model=copy.deepcopy(self.nets), power=0.75) 63 | 64 | self._init_torch_compile() 65 | 66 | self.noise_scheduler = hydra.utils.instantiate(cfg.model.noise_scheduler) 67 | 68 | num_parameters = sum(p.numel() for p in self.parameters() if p.requires_grad) 69 | print(f"Initialized DP Policy with {num_parameters} parameters") 70 | 71 | def _init_torch_compile(self): 72 | if self.cfg.model.use_torch_compile: 73 | self.encoder_handle = torch.compile(self.encoder) 74 | self.noise_pred_net_handle = torch.compile(self.noise_pred_net) 75 | 76 | def forward(self, obs, predict_action=True, debug=False): 77 | # assumes that observation has format: 78 | # - pc: [BS, obs_horizon, num_pts, 3] 79 | # - state: [BS, obs_horizon, obs_dim] 80 | # returns: 81 | # - action: [BS, pred_horizon, ac_dim] 82 | pc = obs["pc"] 83 | state = obs["state"] 84 | 85 | if self.obs_mode.startswith("pc"): 86 | pc = self.pc_normalizer.normalize(pc) 87 | state = self.state_normalizer.normalize(state) 88 | 89 | pc_shape = pc.shape 90 | batch_size = pc.shape[0] 91 | 92 | ema_nets = self.ema.averaged_model 93 | 94 | if self.obs_mode == "state": 95 | z = state 96 | else: 97 | if self.obs_mode == "rgb": 98 | rgb = obs["rgb"] 99 | rgb_shape = rgb.shape 100 | flattened_rgb = rgb.reshape( 101 | batch_size * self.obs_horizon, *rgb_shape[-3:] 102 | ) 103 | z = ema_nets["encoder"](flattened_rgb.permute(0, 3, 1, 2)) 104 | else: 105 | flattened_pc = pc.reshape(batch_size * self.obs_horizon, *pc_shape[-2:]) 106 | z = ema_nets["encoder"](flattened_pc.permute(0, 2, 1))["global"] 107 | z = z.reshape(batch_size, self.obs_horizon, -1) 108 | z = torch.cat([z, state], dim=-1) 109 | obs_cond = z.reshape(batch_size, -1) # (BS, obs_horizon * obs_dim) 110 | 111 | initial_noise_scale = 0.0 if debug else 1.0 112 | noisy_action = ( 113 | torch.randn((batch_size, self.pred_horizon, self.action_dim)).to( 114 | self.device 115 | ) 116 | * initial_noise_scale 117 | ) 118 | curr_action = noisy_action 119 | self.noise_scheduler.set_timesteps(self.num_diffusion_iters) 120 | 121 | for k in self.noise_scheduler.timesteps: 122 | # predict noise 123 | noise_pred = ema_nets["noise_pred_net"]( 124 | sample=curr_action, timestep=k, global_cond=obs_cond 125 | ) 126 | 127 | # inverse diffusion step 128 | curr_action = self.noise_scheduler.step( 129 | model_output=noise_pred, timestep=k, sample=curr_action 130 | ).prev_sample 131 | 132 | ret = dict(ac=curr_action) 133 | return ret 134 | 135 | def step_ema(self): 136 | self.ema.step(self.nets) 137 | -------------------------------------------------------------------------------- /BiDP/policies/configs/base.yaml: -------------------------------------------------------------------------------- 1 | prefix: default 2 | device: cuda 3 | mode: train 4 | log_dir: logs/${mode} 5 | eval_data_path: null 6 | use_wandb: true 7 | seed: 0 8 | 9 | agent: 10 | agent_name: dp 11 | 12 | env: 13 | env_class: ??? 14 | num_eef: 2 15 | dof: 7 16 | eef_dim: 13 17 | vectorize: false 18 | args: 19 | num_eef: ${env.num_eef} 20 | dof: ${env.dof} 21 | seed: ${seed} 22 | obs_mode: "pc" 23 | ac_mode: "rel" 24 | max_episode_length: ??? 25 | num_points: ${data.dataset.num_points} 26 | randomize_rotation: false 27 | randomize_scale: false 28 | scale_low: 1.0 29 | scale_high: 1.0 30 | scale_aspect_limit: 100.0 31 | uniform_scaling: false 32 | 33 | data: 34 | dataset_class: base_dataset 35 | dataset: 36 | num_training_steps: ??? 37 | path: null 38 | num_points: 1024 39 | num_augment: 0 40 | same_aug_per_sample: true 41 | aug_keep_original: true 42 | aug_scale_low: 0.5 43 | aug_scale_high: 1.5 44 | aug_scale_aspect_limit: 1.0 45 | aug_scale_rot: -1 46 | aug_scale_pos: 0.1 47 | aug_zero_z_offset: false 48 | aug_center: [0., 0., 0.] 49 | shuffle_pc: true 50 | num_workers: 12 51 | dof: ${env.dof} 52 | num_eef: ${env.num_eef} 53 | eef_dim: ${env.eef_dim} 54 | obs_horizon: ${model.obs_horizon} 55 | pred_horizon: ${model.pred_horizon} 56 | reduce_horizon_dim: false 57 | min_demo_length: 15 58 | 59 | model: 60 | hidden_dim: 32 61 | noise_scheduler: 62 | _target_: diffusers.schedulers.scheduling_ddpm.DDPMScheduler 63 | num_train_timesteps: 100 64 | beta_schedule: squaredcos_cap_v2 65 | clip_sample: true 66 | prediction_type: epsilon 67 | obs_horizon: 2 68 | ac_horizon: 8 69 | pred_horizon: 16 70 | encoder: 71 | c_dim: ${model.hidden_dim} 72 | backbone_type: vn_pointnet 73 | backbone_args: 74 | h_dim: ${model.hidden_dim} 75 | c_dim: ${model.encoder.c_dim} 76 | num_layers: 4 77 | knn: 8 78 | obs_mode: ${env.args.obs_mode} 79 | ac_mode: ${env.args.ac_mode} 80 | use_torch_compile: false 81 | 82 | training: 83 | batch_size: 32 84 | num_epochs: 2000 85 | lr: 3e-5 86 | weight_decay: 1e-6 87 | num_eval_episodes: 10 88 | eval_interval: 1000000 # do not eval during training 89 | save_interval: 50 90 | vis_interval: 100 91 | ckpt: null 92 | 93 | eval: 94 | last_ckpt: 1999 95 | num_ckpts_to_eval: 5 96 | 97 | hydra: 98 | run: 99 | dir: ${log_dir}/${prefix} 100 | 101 | wandb: 102 | entity: wandb_zhouhuayi 103 | project: BiDP 104 | -------------------------------------------------------------------------------- /BiDP/policies/configs/basic.yaml: -------------------------------------------------------------------------------- 1 | prefix: default 2 | device: cuda 3 | mode: train 4 | log_dir: logs/${mode} 5 | eval_data_path: null 6 | use_wandb: true 7 | seed: 0 8 | 9 | 10 | 11 | agent: 12 | agent_name: dp # equibot or dp 13 | 14 | env: 15 | env_class: ??? 16 | num_eef: 1 17 | dof: 7 18 | eef_dim: 13 19 | vectorize: false 20 | args: 21 | num_eef: ${env.num_eef} 22 | dof: ${env.dof} 23 | seed: ${seed} 24 | obs_mode: "pc" 25 | ac_mode: "rel" 26 | max_episode_length: 100 27 | num_points: ${data.dataset.num_points} 28 | randomize_rotation: false 29 | randomize_scale: false 30 | scale_low: 1.0 31 | scale_high: 1.0 32 | scale_aspect_limit: 100.0 33 | uniform_scaling: false 34 | cam_resolution: 256 35 | vis: true 36 | freq: 5 37 | ac_noise: 0.0 38 | 39 | data: 40 | dataset_class: base_dataset 41 | dataset: 42 | num_training_steps: ??? 43 | path: null 44 | num_points: 1024 45 | shuffle_pc: true 46 | task_name: ??? 47 | is_augmented: 0 48 | is_transformed: 0 49 | num_workers: 4 50 | dof: ${env.dof} 51 | num_eef: ${env.num_eef} 52 | eef_dim: ${env.eef_dim} 53 | obs_horizon: ${model.obs_horizon} 54 | pred_horizon: ${model.pred_horizon} 55 | reduce_horizon_dim: false 56 | min_demo_length: 15 57 | one_real_data: null 58 | 59 | model: 60 | hidden_dim: 32 61 | noise_scheduler: 62 | _target_: diffusers.schedulers.scheduling_ddpm.DDPMScheduler 63 | num_train_timesteps: 100 64 | beta_schedule: squaredcos_cap_v2 65 | clip_sample: true 66 | prediction_type: epsilon 67 | obs_horizon: 1 68 | ac_horizon: 8 69 | pred_horizon: 16 70 | encoder: 71 | c_dim: ${model.hidden_dim} 72 | backbone_type: vn_pointnet 73 | backbone_args: 74 | h_dim: ${model.hidden_dim} 75 | c_dim: ${model.encoder.c_dim} 76 | num_layers: 4 77 | knn: 8 78 | obs_mode: ${env.args.obs_mode} 79 | ac_mode: ${env.args.ac_mode} 80 | use_torch_compile: false 81 | 82 | training: 83 | batch_size: 16 84 | num_epochs: 2000 85 | lr: 3e-5 86 | weight_decay: 1e-6 87 | num_eval_episodes: 10 88 | eval_interval: 1000000 # do not eval during training 89 | save_interval: 50 90 | vis_interval: 100 91 | ckpt: null 92 | 93 | eval: 94 | last_ckpt: 1999 95 | num_ckpts_to_eval: 5 96 | 97 | hydra: 98 | run: 99 | dir: ${log_dir}/${prefix} 100 | 101 | wandb: 102 | entity: wandb_zhouhuayi 103 | project: BiDP 104 | -------------------------------------------------------------------------------- /BiDP/policies/utils/diffusion/conv1d_components.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | import torch.nn.functional as F 4 | 5 | 6 | class Downsample1d(nn.Module): 7 | def __init__(self, dim): 8 | super().__init__() 9 | self.conv = nn.Conv1d(dim, dim, 3, 2, 1) 10 | 11 | def forward(self, x): 12 | return self.conv(x) 13 | 14 | 15 | class Upsample1d(nn.Module): 16 | def __init__(self, dim): 17 | super().__init__() 18 | self.conv = nn.ConvTranspose1d(dim, dim, 4, 2, 1) 19 | 20 | def forward(self, x): 21 | return self.conv(x) 22 | 23 | 24 | class Conv1dBlock(nn.Module): 25 | """ 26 | Conv1d --> GroupNorm --> Mish 27 | """ 28 | 29 | def __init__(self, inp_channels, out_channels, kernel_size, n_groups=8): 30 | super().__init__() 31 | 32 | self.block = nn.Sequential( 33 | nn.Conv1d( 34 | inp_channels, out_channels, kernel_size, padding=kernel_size // 2 35 | ), 36 | # Rearrange('batch channels horizon -> batch channels 1 horizon'), 37 | nn.GroupNorm(n_groups, out_channels), 38 | # Rearrange('batch channels 1 horizon -> batch channels horizon'), 39 | nn.Mish(), 40 | ) 41 | 42 | def forward(self, x): 43 | return self.block(x) 44 | 45 | 46 | def test(): 47 | cb = Conv1dBlock(256, 128, kernel_size=3) 48 | x = torch.zeros((1, 256, 16)) 49 | o = cb(x) 50 | -------------------------------------------------------------------------------- /BiDP/policies/utils/diffusion/ema_model.py: -------------------------------------------------------------------------------- 1 | import copy 2 | import torch 3 | from torch.nn.modules.batchnorm import _BatchNorm 4 | 5 | 6 | class EMAModel: 7 | """ 8 | Exponential Moving Average of models weights 9 | """ 10 | 11 | def __init__( 12 | self, 13 | model, 14 | update_after_step=0, 15 | inv_gamma=1.0, 16 | power=2 / 3, 17 | min_value=0.0, 18 | max_value=0.9999, 19 | ): 20 | """ 21 | @crowsonkb's notes on EMA Warmup: 22 | If gamma=1 and power=1, implements a simple average. gamma=1, power=2/3 are good values for models you plan 23 | to train for a million or more steps (reaches decay factor 0.999 at 31.6K steps, 0.9999 at 1M steps), 24 | gamma=1, power=3/4 for models you plan to train for less (reaches decay factor 0.999 at 10K steps, 0.9999 25 | at 215.4k steps). 26 | Args: 27 | inv_gamma (float): Inverse multiplicative factor of EMA warmup. Default: 1. 28 | power (float): Exponential factor of EMA warmup. Default: 2/3. 29 | min_value (float): The minimum EMA decay rate. Default: 0. 30 | """ 31 | 32 | self.averaged_model = model 33 | self.averaged_model.eval() 34 | self.averaged_model.requires_grad_(False) 35 | 36 | self.update_after_step = update_after_step 37 | self.inv_gamma = inv_gamma 38 | self.power = power 39 | self.min_value = min_value 40 | self.max_value = max_value 41 | 42 | self.decay = 0.0 43 | self.optimization_step = 0 44 | 45 | def get_decay(self, optimization_step): 46 | """ 47 | Compute the decay factor for the exponential moving average. 48 | """ 49 | step = max(0, optimization_step - self.update_after_step - 1) 50 | value = 1 - (1 + step / self.inv_gamma) ** -self.power 51 | 52 | if step <= 0: 53 | return 0.0 54 | 55 | return max(self.min_value, min(value, self.max_value)) 56 | 57 | @torch.no_grad() 58 | def step(self, new_model): 59 | self.decay = self.get_decay(self.optimization_step) 60 | 61 | # old_all_dataptrs = set() 62 | # for param in new_model.parameters(): 63 | # data_ptr = param.data_ptr() 64 | # if data_ptr != 0: 65 | # old_all_dataptrs.add(data_ptr) 66 | 67 | all_dataptrs = set() 68 | for module, ema_module in zip( 69 | new_model.modules(), self.averaged_model.modules() 70 | ): 71 | for param, ema_param in zip( 72 | module.parameters(recurse=False), ema_module.parameters(recurse=False) 73 | ): 74 | # iterative over immediate parameters only. 75 | if isinstance(param, dict): 76 | raise RuntimeError("Dict parameter not supported") 77 | 78 | # data_ptr = param.data_ptr() 79 | # if data_ptr != 0: 80 | # all_dataptrs.add(data_ptr) 81 | 82 | if isinstance(module, _BatchNorm): 83 | # skip batchnorms 84 | ema_param.copy_(param.to(dtype=ema_param.dtype).data) 85 | elif not param.requires_grad: 86 | ema_param.copy_(param.to(dtype=ema_param.dtype).data) 87 | else: 88 | ema_param.mul_(self.decay) 89 | ema_param.add_( 90 | param.data.to(dtype=ema_param.dtype), alpha=1 - self.decay 91 | ) 92 | 93 | # verify that iterating over module and then parameters is identical to parameters recursively. 94 | # assert old_all_dataptrs == all_dataptrs 95 | self.optimization_step += 1 96 | -------------------------------------------------------------------------------- /BiDP/policies/utils/diffusion/lr_scheduler.py: -------------------------------------------------------------------------------- 1 | from diffusers.optimization import ( 2 | Union, 3 | SchedulerType, 4 | Optional, 5 | Optimizer, 6 | TYPE_TO_SCHEDULER_FUNCTION, 7 | ) 8 | 9 | 10 | def get_scheduler( 11 | name: Union[str, SchedulerType], 12 | optimizer: Optimizer, 13 | num_warmup_steps: Optional[int] = None, 14 | num_training_steps: Optional[int] = None, 15 | **kwargs, 16 | ): 17 | """ 18 | Added kwargs vs diffuser's original implementation 19 | 20 | Unified API to get any scheduler from its name. 21 | 22 | Args: 23 | name (`str` or `SchedulerType`): 24 | The name of the scheduler to use. 25 | optimizer (`torch.optim.Optimizer`): 26 | The optimizer that will be used during training. 27 | num_warmup_steps (`int`, *optional*): 28 | The number of warmup steps to do. This is not required by all schedulers (hence the argument being 29 | optional), the function will raise an error if it's unset and the scheduler type requires it. 30 | num_training_steps (`int``, *optional*): 31 | The number of training steps to do. This is not required by all schedulers (hence the argument being 32 | optional), the function will raise an error if it's unset and the scheduler type requires it. 33 | """ 34 | name = SchedulerType(name) 35 | schedule_func = TYPE_TO_SCHEDULER_FUNCTION[name] 36 | if name == SchedulerType.CONSTANT: 37 | return schedule_func(optimizer, **kwargs) 38 | 39 | # All other schedulers require `num_warmup_steps` 40 | if num_warmup_steps is None: 41 | raise ValueError( 42 | f"{name} requires `num_warmup_steps`, please provide that argument." 43 | ) 44 | 45 | if name == SchedulerType.CONSTANT_WITH_WARMUP: 46 | return schedule_func(optimizer, num_warmup_steps=num_warmup_steps, **kwargs) 47 | 48 | # All other schedulers require `num_training_steps` 49 | if num_training_steps is None: 50 | raise ValueError( 51 | f"{name} requires `num_training_steps`, please provide that argument." 52 | ) 53 | 54 | return schedule_func( 55 | optimizer, 56 | num_warmup_steps=num_warmup_steps, 57 | num_training_steps=num_training_steps, 58 | **kwargs, 59 | ) 60 | -------------------------------------------------------------------------------- /BiDP/policies/utils/diffusion/positional_embedding.py: -------------------------------------------------------------------------------- 1 | import math 2 | import torch 3 | import torch.nn as nn 4 | 5 | 6 | class SinusoidalPosEmb(nn.Module): 7 | def __init__(self, dim): 8 | super().__init__() 9 | self.dim = dim 10 | 11 | def forward(self, x): 12 | device = x.device 13 | half_dim = self.dim // 2 14 | emb = math.log(10000) / (half_dim - 1) 15 | emb = torch.exp(torch.arange(half_dim, device=device) * -emb) 16 | emb = x[:, None] * emb[None, :] 17 | emb = torch.cat((emb.sin(), emb.cos()), dim=-1) 18 | return emb 19 | -------------------------------------------------------------------------------- /BiDP/policies/utils/diffusion/resnet_with_gn.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torchvision 3 | from torch import nn 4 | 5 | from typing import Callable 6 | 7 | 8 | def get_resnet(name: str, weights=None, **kwargs) -> nn.Module: 9 | """ 10 | name: resnet18, resnet34, resnet50 11 | weights: "IMAGENET1K_V1", None 12 | """ 13 | # Use standard ResNet implementation from torchvision 14 | func = getattr(torchvision.models, name) 15 | resnet = func(weights=weights, **kwargs) 16 | 17 | # remove the final fully connected layer 18 | # for resnet18, the output dim should be 512 19 | resnet.fc = torch.nn.Identity() 20 | return resnet 21 | 22 | 23 | def replace_submodules( 24 | root_module: nn.Module, 25 | predicate: Callable[[nn.Module], bool], 26 | func: Callable[[nn.Module], nn.Module], 27 | ) -> nn.Module: 28 | """ 29 | Replace all submodules selected by the predicate with 30 | the output of func. 31 | 32 | predicate: Return true if the module is to be replaced. 33 | func: Return new module to use. 34 | """ 35 | if predicate(root_module): 36 | return func(root_module) 37 | 38 | bn_list = [ 39 | k.split(".") 40 | for k, m in root_module.named_modules(remove_duplicate=True) 41 | if predicate(m) 42 | ] 43 | for *parent, k in bn_list: 44 | parent_module = root_module 45 | if len(parent) > 0: 46 | parent_module = root_module.get_submodule(".".join(parent)) 47 | if isinstance(parent_module, nn.Sequential): 48 | src_module = parent_module[int(k)] 49 | else: 50 | src_module = getattr(parent_module, k) 51 | tgt_module = func(src_module) 52 | if isinstance(parent_module, nn.Sequential): 53 | parent_module[int(k)] = tgt_module 54 | else: 55 | setattr(parent_module, k, tgt_module) 56 | # verify that all modules are replaced 57 | bn_list = [ 58 | k.split(".") 59 | for k, m in root_module.named_modules(remove_duplicate=True) 60 | if predicate(m) 61 | ] 62 | assert len(bn_list) == 0 63 | return root_module 64 | 65 | 66 | def replace_bn_with_gn( 67 | root_module: nn.Module, features_per_group: int = 16 68 | ) -> nn.Module: 69 | """ 70 | Relace all BatchNorm layers with GroupNorm. 71 | """ 72 | replace_submodules( 73 | root_module=root_module, 74 | predicate=lambda x: isinstance(x, nn.BatchNorm2d), 75 | func=lambda x: nn.GroupNorm( 76 | num_groups=x.num_features // features_per_group, num_channels=x.num_features 77 | ), 78 | ) 79 | return root_module 80 | -------------------------------------------------------------------------------- /BiDP/policies/utils/equivariant_diffusion/conditional_unet1d.py: -------------------------------------------------------------------------------- 1 | from typing import Union 2 | import logging 3 | import torch 4 | import torch.nn as nn 5 | import einops 6 | from einops.layers.torch import Rearrange 7 | 8 | from policies.utils.equivariant_diffusion.conv1d_components import ( 9 | VecDownsample1d, 10 | VecUpsample1d, 11 | VecConv1dBlock, 12 | ) 13 | from policies.utils.diffusion.positional_embedding import SinusoidalPosEmb 14 | from policies.vision.vec_layers import VecLinNormAct as VecLNA 15 | from policies.vision.vec_layers import VecLinear 16 | 17 | logger = logging.getLogger(__name__) 18 | 19 | 20 | class VecConditionalResidualBlock1D(nn.Module): 21 | def __init__( 22 | self, 23 | in_channels, 24 | out_channels, 25 | vec_cond_dim, 26 | scalar_cond_dim=0, 27 | kernel_size=3, 28 | cond_predict_scale=False, 29 | ): 30 | # input dimensionality: () 31 | super().__init__() 32 | 33 | self.blocks = nn.ModuleList( 34 | [ 35 | VecConv1dBlock(in_channels, out_channels, kernel_size), 36 | VecConv1dBlock(out_channels, out_channels, kernel_size), 37 | ] 38 | ) 39 | 40 | # FiLM modulation https://arxiv.org/abs/1709.07871 41 | # predicts per-channel scale and bias 42 | cond_channels = out_channels 43 | if cond_predict_scale: 44 | cond_channels = out_channels * 2 45 | self.cond_predict_scale = cond_predict_scale 46 | self.out_channels = out_channels 47 | 48 | act_func = nn.Mish() 49 | vnla_cfg = dict(mode="so3", s_in=scalar_cond_dim, return_tuple=False) 50 | self.cond_encoder_l1 = VecLNA(vec_cond_dim, cond_channels, act_func, **vnla_cfg) 51 | self.cond_encoder_l2 = VecLinear( 52 | cond_channels, out_channels, s_out=out_channels if cond_predict_scale else 0 53 | ) 54 | 55 | # make sure dimensions compatible 56 | self.residual_conv = ( 57 | VecDownsample1d(in_channels, out_channels, 1, 1, 0) 58 | if in_channels != out_channels 59 | else nn.Identity() 60 | ) 61 | 62 | def forward(self, x, vec_cond, scalar_cond=None): 63 | """ 64 | x : [ batch_size x in_channels x 3 x horizon ] 65 | vec_cond : [ batch_size x vec_cond_dim x 3] 66 | scalar_cond : [ batch_size x scalar_cond_dim ] 67 | 68 | returns: 69 | out : [ batch_size x out_channels x 3 x horizon ] 70 | """ 71 | out = self.blocks[0](x) 72 | bias, scale = self.cond_encoder_l2( 73 | self.cond_encoder_l1(vec_cond, s=scalar_cond) 74 | ) 75 | if self.cond_predict_scale: 76 | out = scale[..., None, None] * out + bias[..., None] 77 | else: 78 | out = out + bias[..., None] 79 | out = self.blocks[1](out) 80 | out = out + self.residual_conv(x) 81 | return out 82 | 83 | 84 | class VecConditionalUnet1D(nn.Module): 85 | def __init__( 86 | self, 87 | input_dim, 88 | cond_dim, 89 | scalar_input_dim=0, 90 | scalar_cond_dim=0, 91 | diffusion_step_embed_dim=256, 92 | down_dims=[256, 512, 1024], 93 | kernel_size=3, 94 | cond_predict_scale=False, 95 | ): 96 | super().__init__() 97 | all_dims = [input_dim] + list(down_dims) 98 | start_dim = down_dims[0] 99 | 100 | dsed = diffusion_step_embed_dim 101 | diffusion_step_encoder = nn.Sequential( 102 | SinusoidalPosEmb(dsed), 103 | nn.Linear(dsed, dsed * 4), 104 | nn.Mish(), 105 | nn.Linear(dsed * 4, dsed), 106 | ) 107 | 108 | vec_cond_dim = cond_dim 109 | scalar_cond_dim = dsed + scalar_cond_dim 110 | 111 | if scalar_input_dim > 0: 112 | self.scalar_fusion_module = VecLNA( 113 | input_dim, 114 | down_dims[0], 115 | act_func=nn.Mish(), 116 | s_in=scalar_input_dim, 117 | mode="so3", 118 | return_tuple=False, 119 | ) 120 | all_dims[0] = down_dims[0] 121 | 122 | in_out = list(zip(all_dims[:-1], all_dims[1:])) 123 | 124 | make_res_block = lambda din, dout: VecConditionalResidualBlock1D( 125 | din, 126 | dout, 127 | vec_cond_dim, 128 | scalar_cond_dim=scalar_cond_dim, 129 | kernel_size=kernel_size, 130 | cond_predict_scale=cond_predict_scale, 131 | ) 132 | 133 | mid_dim = all_dims[-1] 134 | self.mid_modules = nn.ModuleList( 135 | [make_res_block(mid_dim, mid_dim), make_res_block(mid_dim, mid_dim)] 136 | ) 137 | 138 | down_modules = nn.ModuleList([]) 139 | for ind, (dim_in, dim_out) in enumerate(in_out): 140 | is_last = ind >= (len(in_out) - 1) 141 | down_modules.append( 142 | nn.ModuleList( 143 | [ 144 | make_res_block(dim_in, dim_out), 145 | make_res_block(dim_out, dim_out), 146 | VecDownsample1d(dim_out) if not is_last else nn.Identity(), 147 | ] 148 | ) 149 | ) 150 | 151 | up_modules = nn.ModuleList([]) 152 | for ind, (dim_in, dim_out) in enumerate(reversed(in_out[1:])): 153 | is_last = ind >= (len(in_out) - 1) 154 | up_modules.append( 155 | nn.ModuleList( 156 | [ 157 | make_res_block(dim_out * 2, dim_in), 158 | make_res_block(dim_in, dim_in), 159 | VecUpsample1d(dim_in) if not is_last else nn.Identity(), 160 | ] 161 | ) 162 | ) 163 | 164 | final_conv = nn.Sequential( 165 | VecConv1dBlock(start_dim, start_dim, kernel_size=kernel_size), 166 | VecDownsample1d(start_dim, input_dim, 1, 1, 0), 167 | ) 168 | 169 | if scalar_input_dim > 0: 170 | self.final_linear = VecLinear(start_dim, 0, s_out=scalar_input_dim) 171 | 172 | self.diffusion_step_encoder = diffusion_step_encoder 173 | self.up_modules = up_modules 174 | self.down_modules = down_modules 175 | self.final_conv = final_conv 176 | 177 | logger.info( 178 | "number of parameters: %e", sum(p.numel() for p in self.parameters()) 179 | ) 180 | 181 | def forward( 182 | self, 183 | sample: torch.Tensor, 184 | timestep: Union[torch.Tensor, float, int], 185 | scalar_sample=None, 186 | cond=None, 187 | scalar_cond=None, 188 | **kwargs 189 | ): 190 | """ 191 | sample: (B,T,input_dim,3) 192 | timestep: (B,) or int, diffusion step 193 | scalar_sample: (B,T,input_dim) 194 | cond: (B,cond_dim,3) 195 | scalar_cond: (B,cond_dim) 196 | output: (B,T,input_dim) 197 | """ 198 | sample = einops.rearrange(sample, "b h t v -> b t v h") 199 | if scalar_sample is not None: 200 | scalar_sample = einops.rearrange(scalar_sample, "b h t -> b t h") 201 | 202 | # 1. encode timestep 203 | timesteps = timestep 204 | if not torch.is_tensor(timesteps): 205 | # TODO: this requires sync between CPU and GPU. So try to pass timesteps as tensors if you can 206 | timesteps = torch.tensor( 207 | [timesteps], dtype=torch.long, device=sample.device 208 | ) 209 | elif torch.is_tensor(timesteps) and len(timesteps.shape) == 0: 210 | timesteps = timesteps[None].to(sample.device) 211 | # broadcast to batch dimension in a way that's compatible with ONNX/Core ML 212 | timesteps = timesteps.expand(sample.shape[0]) 213 | 214 | # 2. conditioning 215 | assert cond is not None 216 | vec_feature = cond 217 | scalar_feature = self.diffusion_step_encoder(timesteps) # (B, dsed) 218 | if scalar_cond is not None: 219 | scalar_feature = torch.cat([scalar_feature, scalar_cond], dim=-1) 220 | 221 | # 3. forward pass through the unet 222 | # 3.1 fuse vector and scalar samples if needed 223 | if scalar_sample is not None: 224 | assert hasattr(self, "scalar_fusion_module") 225 | sample = self.scalar_fusion_module(sample, scalar_sample) 226 | 227 | # 3.2 unet 228 | x = sample 229 | h = [] 230 | for idx, (resnet, resnet2, downsample) in enumerate(self.down_modules): 231 | x = resnet(x, vec_feature, scalar_feature) 232 | x = resnet2(x, vec_feature, scalar_feature) 233 | h.append(x) 234 | x = downsample(x) 235 | 236 | for mid_module in self.mid_modules: 237 | x = mid_module(x, vec_feature, scalar_feature) 238 | 239 | for idx, (resnet, resnet2, upsample) in enumerate(self.up_modules): 240 | x = torch.cat((x, h.pop()), dim=1) 241 | x = resnet(x, vec_feature, scalar_feature) 242 | x = resnet2(x, vec_feature, scalar_feature) 243 | x = upsample(x) 244 | 245 | if scalar_sample is not None: 246 | assert hasattr(self, "final_linear") 247 | x_scalar = self.final_linear(x)[1] 248 | x_scalar = einops.rearrange(x_scalar, "b t h -> b h t") 249 | x = self.final_conv(x) 250 | x = einops.rearrange(x, "b t v h -> b h t v") 251 | 252 | if scalar_sample is not None: 253 | return x, x_scalar 254 | else: 255 | return x, None 256 | -------------------------------------------------------------------------------- /BiDP/policies/utils/equivariant_diffusion/conv1d_components.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | import torch.nn.functional as F 4 | 5 | from policies.vision.vec_layers import VecActivation 6 | 7 | 8 | class VecDownsample1d(nn.Module): 9 | def __init__(self, in_dim, out_dim=None, kernel_size=3, stride=2, padding=1): 10 | # input: (N, C_in, 3, L) 11 | super().__init__() 12 | if out_dim is None: 13 | out_dim = in_dim 14 | 15 | # note: we need to omit the bias term to maintain equivariance 16 | self.conv = nn.Conv1d(in_dim, out_dim, kernel_size, stride, padding, bias=False) 17 | 18 | def forward(self, x): 19 | # put vector dimension inside batch dimension 20 | original_shape = x.shape 21 | x_flattened = torch.transpose(x, 1, 2) 22 | x_flattened = x_flattened.reshape(-1, *x_flattened.shape[2:]) 23 | # pass processed input through convolution layer 24 | out = self.conv(x_flattened) 25 | # process convolved input back to vector format 26 | out = torch.transpose(out.reshape(-1, 3, *out.shape[1:]), 1, 2) 27 | return out 28 | 29 | 30 | class VecUpsample1d(VecDownsample1d): 31 | def __init__(self, dim): 32 | nn.Module.__init__(self) 33 | self.conv = nn.ConvTranspose1d(dim, dim, 4, 2, 1, bias=False) 34 | 35 | 36 | class VecConv1dBlock(nn.Module): 37 | """ 38 | Conv1d --> GroupNorm --> Mish 39 | """ 40 | 41 | def __init__(self, inp_channels, out_channels, kernel_size): 42 | # input dimension: (N, C_in, 3, L) 43 | super().__init__() 44 | 45 | # Note: we cannot have normalization layers here because it breaks scale equivariance 46 | self.block = nn.Sequential( 47 | VecDownsample1d( 48 | inp_channels, out_channels, kernel_size, 1, kernel_size // 2 49 | ), 50 | VecActivation( 51 | out_channels, 52 | nn.Mish(), 53 | shared_nonlinearity=False, 54 | mode="so3", 55 | cross=False, 56 | ), 57 | ) 58 | 59 | def forward(self, x): 60 | return self.block(x) 61 | 62 | 63 | def test(): 64 | cb = VecConv1dBlock(256, 128, kernel_size=3) 65 | x = torch.zeros((1, 256, 3, 16)) 66 | o = cb(x) 67 | -------------------------------------------------------------------------------- /BiDP/policies/utils/media.py: -------------------------------------------------------------------------------- 1 | """ 2 | Utilities for loading, saving, and manipulating videos and images. 3 | 4 | @yjy0625 5 | 6 | """ 7 | 8 | import os 9 | import numpy as np 10 | import cv2 11 | import skvideo.io 12 | import imageio 13 | 14 | 15 | def _make_dir(filename): 16 | folder = os.path.dirname(filename) 17 | os.makedirs(folder, exist_ok=True) 18 | 19 | 20 | def save_image(image, filename): 21 | _make_dir(filename) 22 | if np.max(image) < 2: 23 | image = np.array(image * 255) 24 | image = image.astype(np.uint8) 25 | cv2.imwrite(filename, image[..., ::-1]) 26 | 27 | 28 | def save_gif(video_array, file_path, fps=10): 29 | """ 30 | Save a (T, H, W, 3) numpy array of video into a GIF file. 31 | 32 | Parameters: 33 | video_array (numpy.ndarray): The video as a 4D numpy array with shape (T, H, W, 3). 34 | file_path (str): The file path where the GIF will be saved. 35 | fps (int, optional): Frames per second for the GIF. Default is 10. 36 | """ 37 | try: 38 | # Ensure the video array is uint8 (required for GIF) 39 | video_array = (255 * (1.0 - video_array)).astype("uint8") 40 | 41 | # Save the GIF 42 | imageio.mimsave(file_path, video_array, duration=len(video_array) / fps, loop=1) 43 | print(f"Saved GIF to {file_path}") 44 | except Exception as e: 45 | print(f"Error saving GIF: {e}") 46 | 47 | 48 | def save_video(video_frames, filename, fps=10, video_format="mp4"): 49 | if len(video_frames) == 0: 50 | return False 51 | 52 | assert fps == int(fps), fps 53 | _make_dir(filename) 54 | 55 | skvideo.io.vwrite( 56 | filename, 57 | video_frames, 58 | inputdict={ 59 | "-r": str(int(fps)), 60 | }, 61 | outputdict={"-f": video_format, "-pix_fmt": "yuv420p"}, 62 | ) 63 | 64 | return True 65 | 66 | 67 | def read_video(filename): 68 | return skvideo.io.vread(filename) 69 | 70 | 71 | def get_video_framerate(filename): 72 | videometadata = skvideo.io.ffprobe(filename) 73 | frame_rate = videometadata["video"]["@avg_frame_rate"] 74 | return eval(frame_rate) 75 | 76 | 77 | def add_caption_to_img(img, info, name=None, flip_rgb=False, num_lines=5): 78 | """Adds caption to an image. info is dict with keys and text/array. 79 | :arg name: if given this will be printed as heading in the first line 80 | :arg flip_rgb: set to True for inputs with BGR color channels 81 | """ 82 | mul = 2.0 83 | offset = int(12 * mul) 84 | 85 | frame = img * 255.0 if img.max() <= 1.0 else img 86 | if flip_rgb: 87 | frame = frame[:, :, ::-1] 88 | 89 | # colors 90 | blue = (66, 133, 244) 91 | yellow = (255, 255, 0) 92 | white = (255, 255, 255) 93 | 94 | # add border to frame if success 95 | if "is_success" in info.keys() and info["is_success"]: 96 | border_size = int(10 * mul) 97 | frame[:border_size, :] = np.array(blue)[None][None] 98 | frame[-border_size:, :] = np.array(blue)[None][None] 99 | frame[:, :border_size] = np.array(blue)[None][None] 100 | frame[:, -border_size:] = np.array(blue)[None][None] 101 | 102 | fheight, fwidth = frame.shape[:2] 103 | pad_height = int(offset * (num_lines + 2)) 104 | frame = np.concatenate([frame, np.zeros((pad_height, fwidth, 3))], 0) 105 | 106 | font_size = 0.4 * mul 107 | thickness = int(1 * mul) 108 | x, y = int(5 * mul), fheight + int(10 * mul) 109 | if name is not None: 110 | cv2.putText( 111 | frame, 112 | "[{}]".format(name), 113 | (x, y), 114 | cv2.FONT_HERSHEY_SIMPLEX, 115 | font_size, 116 | yellow, 117 | thickness, 118 | cv2.LINE_AA, 119 | ) 120 | for i, k in enumerate(info.keys()): 121 | v = info[k] 122 | if ( 123 | type(v) == np.ndarray 124 | or type(v) == np.float64 125 | or type(v) == np.float32 126 | or type(v) == float 127 | ): 128 | if type(v) == np.ndarray: 129 | v = np.round(v, 3 if np.isscalar(v) or len(v) <= 3 else 2) 130 | else: 131 | v = np.round(v, 3) 132 | key_text = "{}: ".format(k) 133 | (key_width, _), _ = cv2.getTextSize( 134 | key_text, cv2.FONT_HERSHEY_SIMPLEX, font_size, thickness 135 | ) 136 | 137 | cv2.putText( 138 | frame, 139 | key_text, 140 | (x, y + offset * (i + 2)), 141 | cv2.FONT_HERSHEY_SIMPLEX, 142 | font_size, 143 | blue, 144 | thickness, 145 | cv2.LINE_AA, 146 | ) 147 | 148 | cv2.putText( 149 | frame, 150 | str(v), 151 | (x + key_width, y + offset * (i + 2)), 152 | cv2.FONT_HERSHEY_SIMPLEX, 153 | font_size, 154 | white, 155 | thickness, 156 | cv2.LINE_AA, 157 | ) 158 | 159 | if flip_rgb: 160 | frame = frame[:, :, ::-1] 161 | 162 | return frame 163 | 164 | 165 | def add_border_to_img(frame, color=(234, 67, 53)): 166 | border_size = 20 167 | if np.max(frame) <= 1.0: 168 | color = tuple([float(x) / 255 for x in color]) 169 | frame[:border_size, :] = np.array(color)[None][None] 170 | frame[-border_size:, :] = np.array(color)[None][None] 171 | frame[:, :border_size] = np.array(color)[None][None] 172 | frame[:, -border_size:] = np.array(color)[None][None] 173 | return frame 174 | 175 | 176 | def add_border_to_video(frames, color=(234, 67, 53)): 177 | border_size = 20 178 | if np.max(frames) <= 1.0: 179 | color = tuple([float(x) / 255 for x in color]) 180 | frames[:, :border_size, :] = np.array(color)[None][None][None] 181 | frames[:, -border_size:, :] = np.array(color)[None][None][None] 182 | frames[:, :, :border_size] = np.array(color)[None][None][None] 183 | frames[:, :, -border_size:] = np.array(color)[None][None][None] 184 | return frames 185 | 186 | 187 | def combine_videos(images, num_cols=5): 188 | if len(images) == 1: 189 | return np.array(images[0]) 190 | max_frames = np.max([len(im) for im in images]) 191 | images = [ 192 | np.concatenate([im[:-1], np.array([im[-1]] * (max_frames - len(im) + 1))]) 193 | for im in images 194 | ] 195 | images = np.array(images) 196 | B = images.shape[0] 197 | if B % num_cols != 0: 198 | images = np.concatenate( 199 | [images, np.zeros((num_cols - (B % num_cols),) + tuple(images.shape[1:]))] 200 | ) 201 | B, T, H, W, C = images.shape 202 | images = images.reshape(B // num_cols, num_cols, T, H, W, C).transpose( 203 | 2, 0, 3, 1, 4, 5 204 | ) 205 | images = images.reshape(T, B // num_cols * H, num_cols * W, C) 206 | return images 207 | -------------------------------------------------------------------------------- /BiDP/policies/utils/misc.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import torch 3 | 4 | 5 | def to_torch(batch, device): 6 | return {k: v.to(device) for k, v in batch.items()} 7 | 8 | 9 | def rotate_around_z( 10 | points, 11 | angle_rad=0.0, 12 | center=np.array([0.0, 0.0, 0.0]), 13 | scale=np.array([1.0, 1.0, 1.0]), 14 | ): 15 | # Check if the input points have the correct shape (N, 3) 16 | assert (len(points.shape) == 1 and len(points) == 3) or points.shape[-1] == 3 17 | p_shape = points.shape 18 | points = points.reshape(-1, 3) - center[None] 19 | 20 | # Create the rotation matrix 21 | cos_theta = np.cos(angle_rad) 22 | sin_theta = np.sin(angle_rad) 23 | rotation_matrix = np.array( 24 | [[cos_theta, -sin_theta, 0], [sin_theta, cos_theta, 0], [0, 0, 1]] 25 | ) 26 | 27 | # Apply the rotation to all points using matrix multiplication 28 | rotated_points = np.dot(points, rotation_matrix.T) * scale[None] + center[None] 29 | rotated_points = rotated_points.reshape(p_shape) 30 | 31 | return rotated_points 32 | 33 | 34 | def get_env_class(env_name): 35 | if env_name == "fold": 36 | from envs.sim_mobile.folding_env import FoldingEnv 37 | return FoldingEnv 38 | elif env_name == "cover": 39 | from envs.sim_mobile.covering_env import CoveringEnv 40 | return CoveringEnv 41 | elif env_name == "close": 42 | from envs.sim_mobile.closing_env import ClosingEnv 43 | return ClosingEnv 44 | else: 45 | raise ValueError() 46 | 47 | 48 | def get_dataset(cfg, mode="train"): 49 | # from policies.datasets.dataset import BaseDataset 50 | from policies.datasets.dataset_loader import BaseDataset 51 | return BaseDataset(cfg.data.dataset, mode) 52 | 53 | 54 | def get_agent(agent_name): 55 | if agent_name == "dp": 56 | from policies.agents.dp_agent import DPAgent 57 | return DPAgent 58 | elif agent_name == "equibot": 59 | from policies.agents.equibot_agent import EquiBotAgent 60 | return EquiBotAgent 61 | else: 62 | raise ValueError(f"Agent with name [{agent_name}] not found.") 63 | -------------------------------------------------------------------------------- /BiDP/policies/utils/norm.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import torch 3 | 4 | 5 | class Normalizer(object): 6 | def __init__(self, data, symmetric=False, indices=None): 7 | if isinstance(data, dict): 8 | # load from existing data statistics 9 | self.stats = data 10 | elif symmetric: 11 | # just scaling applied in normalization, no bias 12 | # perform the same normalization in groups 13 | if indices is None: 14 | indices = np.arange(data.shape[-1])[None] 15 | 16 | self.stats = { 17 | "min": torch.zeros([data.shape[-1]]).to(data.device), 18 | "max": torch.ones([data.shape[-1]]).to(data.device), 19 | } 20 | for group in indices: 21 | max_abs = torch.abs(data[:, group]).max(0)[0].detach() 22 | limits = torch.ones_like(max_abs) * torch.max(max_abs) 23 | self.stats["max"][group] = limits 24 | else: 25 | mask = torch.zeros([data.shape[-1]]).to(data.device) 26 | if indices is not None: 27 | mask[indices.flatten()] += 1 28 | else: 29 | mask += 1 30 | self.stats = { 31 | "min": data.min(0)[0].detach() * mask, 32 | "max": data.max(0)[0].detach() * mask + 1.0 * (1 - mask), 33 | } 34 | 35 | def normalize(self, data): 36 | nd = len(data.shape) 37 | target_shape = (1,) * (nd - 1) + (data.shape[-1],) 38 | dmin = self.stats["min"].reshape(target_shape) 39 | dmax = self.stats["max"].reshape(target_shape) 40 | return (data - dmin) / (dmax - dmin + 1e-12) 41 | 42 | def unnormalize(self, data): 43 | nd = len(data.shape) 44 | target_shape = (1,) * (nd - 1) + (data.shape[-1],) 45 | dmin = self.stats["min"].reshape(target_shape) 46 | dmax = self.stats["max"].reshape(target_shape) 47 | return data * (dmax - dmin) + dmin 48 | 49 | def state_dict(self): 50 | return self.stats 51 | 52 | def load_state_dict(self, state_dict): 53 | self.stats = state_dict 54 | -------------------------------------------------------------------------------- /BiDP/policies/vision/misc.py: -------------------------------------------------------------------------------- 1 | import logging 2 | 3 | 4 | def cfg_with_default(cfg, key_list, default): 5 | root = cfg 6 | for k in key_list: 7 | if k in root.keys(): 8 | root = root[k] 9 | else: 10 | return default 11 | return root 12 | 13 | 14 | def count_param(network_dict): 15 | for k in network_dict: 16 | logging.info( 17 | "{:.3f}M params in {}".format( 18 | sum(param.numel() for param in network_dict[k].parameters()) / 1e6, k 19 | ) 20 | ) 21 | -------------------------------------------------------------------------------- /BiDP/policies/vision/pointnet_encoder.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | import numpy as np 4 | import torch 5 | import torch.nn as nn 6 | import torch.nn.functional as F 7 | from pytorch3d.ops.knn import knn_points 8 | import logging 9 | 10 | 11 | def meanpool(x, dim=-1, keepdim=False): 12 | out = x.mean(dim=dim, keepdim=keepdim) 13 | return out 14 | 15 | 16 | class PointNetEncoder(nn.Module): 17 | def __init__(self, h_dim=128, c_dim=128, num_layers=4, **kwargs): 18 | super().__init__() 19 | 20 | self.h_dim = h_dim 21 | self.c_dim = c_dim 22 | self.num_layers = num_layers 23 | 24 | self.pool = meanpool 25 | 26 | act_func = nn.LeakyReLU(negative_slope=0.0, inplace=False) 27 | self.act = act_func 28 | 29 | self.conv_in = nn.Conv1d(3, h_dim, kernel_size=1) 30 | self.layers, self.global_layers = nn.ModuleList(), nn.ModuleList() 31 | for i in range(self.num_layers): 32 | self.layers.append(nn.Conv1d(h_dim, h_dim, kernel_size=1)) 33 | self.global_layers.append(nn.Conv1d(h_dim * 2, h_dim, kernel_size=1)) 34 | self.conv_out = nn.Conv1d(h_dim * self.num_layers, c_dim, kernel_size=1) 35 | 36 | def forward(self, x, ret_perpoint_feat=False): 37 | 38 | y = self.act(self.conv_in(x)) 39 | feat_list = [] 40 | for i in range(self.num_layers): 41 | y = self.act(self.layers[i](y)) 42 | y_global = y.max(-1, keepdim=True).values 43 | y = torch.cat([y, y_global.expand_as(y)], dim=1) 44 | y = self.act(self.global_layers[i](y)) 45 | feat_list.append(y) 46 | x = torch.cat(feat_list, dim=1) 47 | x = self.conv_out(x) 48 | 49 | x_global = x.max(-1).values 50 | 51 | ret = {"global": x_global} 52 | if ret_perpoint_feat: 53 | ret["per_point"] = x.transpose(1, 2) 54 | 55 | return ret 56 | -------------------------------------------------------------------------------- /BiDP/policies/vision/sim3_encoder.py: -------------------------------------------------------------------------------- 1 | # using the backbone, different encoders 2 | 3 | import os 4 | import sys 5 | import numpy as np 6 | import torch 7 | import torch.nn as nn 8 | import torch.nn.functional as F 9 | import logging 10 | 11 | from policies.vision.vec_layers import VecLinear 12 | from policies.vision.vec_pointnet import VecPointNet 13 | 14 | 15 | BACKBONE_DICT = {"vn_pointnet": VecPointNet} 16 | 17 | NORMALIZATION_METHOD = {"bn": nn.BatchNorm1d, "in": nn.InstanceNorm1d} 18 | 19 | 20 | class SIM3Vec4Latent(nn.Module): 21 | """ 22 | This encoder encode the input point cloud to 4 latents 23 | Now only support so3 mode 24 | TODO: se3 and hybrid 25 | """ 26 | 27 | def __init__( 28 | self, 29 | c_dim, 30 | backbone_type, 31 | backbone_args, 32 | mode="so3", 33 | normalization_method=None, 34 | ): 35 | super().__init__() 36 | assert mode == "so3", NotImplementedError("TODO, add se3") 37 | if normalization_method is not None: 38 | backbone_args["normalization_method"] = NORMALIZATION_METHOD[ 39 | normalization_method 40 | ] 41 | 42 | self.backbone = BACKBONE_DICT[backbone_type](**backbone_args) 43 | self.fc_inv = VecLinear(c_dim, c_dim, mode=mode) 44 | 45 | def forward(self, pcl, ret_perpoint_feat=False, target_norm=1.0): 46 | B, T, N, _ = pcl.shape 47 | pcl = pcl.view(B * T, -1, 3).transpose(1, 2) # [BT, 3, N] 48 | 49 | centroid = pcl.mean(-1, keepdim=True) # B,3,1 50 | input_pcl = pcl - centroid 51 | 52 | z_scale = input_pcl.norm(dim=1).mean(-1) / target_norm # B 53 | z_center = centroid.permute(0, 2, 1) 54 | 55 | input_pcl = input_pcl / z_scale[:, None, None] 56 | 57 | x, x_perpoint = self.backbone(input_pcl) # B,C,3 58 | 59 | z_so3 = x 60 | z_inv_dual, _ = self.fc_inv(x[..., None]) 61 | z_inv_dual = z_inv_dual.squeeze(-1) 62 | z_inv = (z_inv_dual * z_so3).sum(-1) 63 | 64 | ret = { 65 | "inv": z_inv, 66 | "so3": z_so3, 67 | "scale": z_scale, 68 | "center": z_center, 69 | } 70 | 71 | if ret_perpoint_feat: 72 | ret["per_point_so3"] = x_perpoint # [B, C, 3, N] 73 | 74 | return ret 75 | -------------------------------------------------------------------------------- /BiDP/policies/vision/vec_pointnet.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | import numpy as np 4 | import torch 5 | import torch.nn as nn 6 | import torch.nn.functional as F 7 | from pytorch3d.ops.knn import knn_points 8 | import logging 9 | 10 | from policies.vision.vec_layers import VecLinear 11 | from policies.vision.vec_layers import VecLinNormAct as VecLNA 12 | 13 | 14 | def meanpool(x, dim=-1, keepdim=False): 15 | out = x.mean(dim=dim, keepdim=keepdim) 16 | return out 17 | 18 | 19 | class VecPointNet(nn.Module): 20 | def __init__( 21 | self, 22 | h_dim=128, 23 | c_dim=128, 24 | num_layers=4, 25 | knn=16, 26 | ): 27 | super().__init__() 28 | 29 | self.h_dim = h_dim 30 | self.c_dim = c_dim 31 | self.num_layers = num_layers 32 | self.knn = knn 33 | 34 | self.pool = meanpool 35 | 36 | act_func = nn.LeakyReLU(negative_slope=0.0, inplace=False) 37 | vnla_cfg = {"mode": "so3", "act_func": act_func} 38 | 39 | self.conv_in = VecLNA(3, h_dim, **vnla_cfg) 40 | self.layers, self.global_layers = nn.ModuleList(), nn.ModuleList() 41 | for i in range(self.num_layers): 42 | self.layers.append(VecLNA(h_dim, h_dim, **vnla_cfg)) 43 | self.global_layers.append(VecLNA(h_dim * 2, h_dim, **vnla_cfg)) 44 | self.conv_out = VecLinear(h_dim * self.num_layers, c_dim, mode="so3") 45 | 46 | self.fc_inv = VecLinear(c_dim, 3, mode="so3") 47 | 48 | def get_graph_feature(self, x: torch.Tensor, k: int, knn_idx=None, cross=False): 49 | # x: B,C,3,N return B,C*2,3,N,K 50 | 51 | 52 | B, C, _, N = x.shape 53 | if knn_idx is None: 54 | # if knn_idx is not none, compute the knn by x distance; ndf use fixed knn as input topo 55 | _x = x.reshape(B, -1, N) 56 | _, knn_idx, neighbors = knn_points( 57 | _x.transpose(2, 1), _x.transpose(2, 1), K=k, return_nn=True 58 | ) # B,N,K; B,N,K; B,N,K,D 59 | neighbors = neighbors.reshape(B, N, k, C, 3).permute(0, -2, -1, 1, 2) 60 | else: # gather from the input knn idx 61 | assert knn_idx.shape[-1] == k, f"input knn gather idx should have k={k}" 62 | neighbors = torch.gather( 63 | x[..., None, :].expand(-1, -1, -1, N, -1), 64 | dim=-1, 65 | index=knn_idx[:, None, None, ...].expand(-1, C, 3, -1, -1), 66 | ) # B,C,3,N,K 67 | x_padded = x[..., None].expand_as(neighbors) 68 | 69 | if cross: 70 | x_dir = F.normalize(x, dim=2) 71 | x_dir_padded = x_dir[..., None].expand_as(neighbors) 72 | cross = torch.cross(x_dir_padded, neighbors, dim=2) 73 | y = torch.cat([cross, neighbors - x_padded, x_padded], 1) 74 | else: 75 | y = torch.cat([neighbors - x_padded, x_padded], 1) 76 | return y, knn_idx # B,C*2,3,N,K 77 | 78 | def forward(self, x): 79 | x = x.unsqueeze(1) # [B, 1, 3, N] 80 | 81 | x, knn_idx = self.get_graph_feature(x, self.knn, cross=True) 82 | x, _ = self.conv_in(x) 83 | x = self.pool(x) 84 | 85 | y = x 86 | feat_list = [] 87 | for i in range(self.num_layers): 88 | y, _ = self.layers[i](y) 89 | y_global = y.mean(-1, keepdim=True) 90 | y = torch.cat([y, y_global.expand_as(y)], dim=1) 91 | y, _ = self.global_layers[i](y) 92 | feat_list.append(y) 93 | x = torch.cat(feat_list, dim=1) 94 | x, _ = self.conv_out(x) 95 | 96 | return x.mean(-1), x 97 | -------------------------------------------------------------------------------- /BiDP/run_noaug.sh: -------------------------------------------------------------------------------- 1 | python infer.py --config-name basic training.ckpt=/home/dexforce/zhouhuayi/projects/BiDP/logs/train/bidp_drawer_noaug/ckpt01999.pth data.dataset.path=/home/dexforce/zhouhuayi/projects/BiDP/dataset agent.agent_name=equibot env.env_class=drawer model.pred_horizon=12 data.dataset.is_transformed=0 2 | python infer.py --config-name basic training.ckpt=/home/dexforce/zhouhuayi/projects/BiDP/logs/train/bidp_pouring_noaug/ckpt01999.pth data.dataset.path=/home/dexforce/zhouhuayi/projects/BiDP/dataset agent.agent_name=equibot env.env_class=pouring model.pred_horizon=12 data.dataset.is_transformed=0 3 | python infer.py --config-name basic training.ckpt=/home/dexforce/zhouhuayi/projects/BiDP/logs/train/bidp_unscrew_noaug/ckpt03999.pth data.dataset.path=/home/dexforce/zhouhuayi/projects/BiDP/dataset agent.agent_name=equibot env.env_class=unscrew model.pred_horizon=12 data.dataset.is_transformed=0 4 | python infer.py --config-name basic training.ckpt=/home/dexforce/zhouhuayi/projects/BiDP/logs/train/bidp_uncover_noaug/ckpt03999.pth data.dataset.path=/home/dexforce/zhouhuayi/projects/BiDP/dataset agent.agent_name=equibot env.env_class=uncover model.pred_horizon=24 data.dataset.is_transformed=0 5 | python infer.py --config-name basic training.ckpt=/home/dexforce/zhouhuayi/projects/BiDP/logs/train/bidp_openbox_noaug/ckpt03999.pth data.dataset.path=/home/dexforce/zhouhuayi/projects/BiDP/dataset agent.agent_name=equibot env.env_class=openbox model.pred_horizon=32 data.dataset.is_transformed=0 -------------------------------------------------------------------------------- /BiDP/run_withaug.sh: -------------------------------------------------------------------------------- 1 | python infer.py --config-name basic training.ckpt=/home/dexforce/zhouhuayi/projects/BiDP/logs/train/bidp_drawer_withaug/ckpt00499.pth data.dataset.path=/home/dexforce/zhouhuayi/projects/BiDP/dataset agent.agent_name=equibot env.env_class=drawer model.pred_horizon=12 data.dataset.is_transformed=0 2 | python infer.py --config-name basic training.ckpt=/home/dexforce/zhouhuayi/projects/BiDP/logs/train/bidp_pouring_withaug/ckpt00499.pth data.dataset.path=/home/dexforce/zhouhuayi/projects/BiDP/dataset agent.agent_name=equibot env.env_class=pouring model.pred_horizon=12 data.dataset.is_transformed=0 3 | python infer.py --config-name basic training.ckpt=/home/dexforce/zhouhuayi/projects/BiDP/logs/train/bidp_unscrew_withaug/ckpt00999.pth data.dataset.path=/home/dexforce/zhouhuayi/projects/BiDP/dataset agent.agent_name=equibot env.env_class=unscrew model.pred_horizon=12 data.dataset.is_transformed=0 4 | python infer.py --config-name basic training.ckpt=/home/dexforce/zhouhuayi/projects/BiDP/logs/train/bidp_uncover_withaug/ckpt00999.pth data.dataset.path=/home/dexforce/zhouhuayi/projects/BiDP/dataset agent.agent_name=equibot env.env_class=uncover model.pred_horizon=24 data.dataset.is_transformed=0 5 | python infer.py --config-name basic training.ckpt=/home/dexforce/zhouhuayi/projects/BiDP/logs/train/bidp_openbox_withaug/ckpt00999.pth data.dataset.path=/home/dexforce/zhouhuayi/projects/BiDP/dataset agent.agent_name=equibot env.env_class=openbox model.pred_horizon=32 data.dataset.is_transformed=0 -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/BiDP_infer_demo1.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/BiDP_infer_demo1.mp4 -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/pred_actions.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/pred_actions.npy -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0000.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0001.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0002.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0003.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0004.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0005.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0006.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0007.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0008.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0009.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0010.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0011.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0012.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0013.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0014.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0015.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0016.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0017.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0018.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0019.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0020.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_noaug_id/temp_0021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_noaug_id/temp_0021.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/BiDP_infer_demo1.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/BiDP_infer_demo1.mp4 -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/pred_actions.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/pred_actions.npy -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0000.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0001.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0002.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0003.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0004.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0005.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0006.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0007.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0008.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0009.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0010.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0011.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0012.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0013.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0014.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0015.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0016.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0017.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0018.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0019.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0020.jpg -------------------------------------------------------------------------------- /BiDP/test/drawer/demo_notrans_withaug_id/temp_0021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/drawer/demo_notrans_withaug_id/temp_0021.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/BiDP_infer_demo1.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/BiDP_infer_demo1.mp4 -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/pred_actions.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/pred_actions.npy -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0000.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0001.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0002.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0003.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0004.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0005.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0006.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0007.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0008.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0009.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0010.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0011.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0012.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0013.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0014.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0015.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0016.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0017.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0018.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0019.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0020.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0021.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0022.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0022.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0023.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0023.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0024.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0024.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0025.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0025.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0026.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0026.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0027.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0027.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0028.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0028.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0029.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0029.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0030.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0030.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0031.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0031.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0032.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0032.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0033.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0033.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0034.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0034.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0035.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0035.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0036.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0036.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0037.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0037.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0038.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0038.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0039.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0039.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0040.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0040.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0041.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0041.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0042.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0042.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0043.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0043.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0044.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0045.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0046.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0047.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0047.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0048.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0048.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0049.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0049.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0050.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0050.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0051.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0051.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0052.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0052.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0053.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0053.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0054.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0054.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0055.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0055.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0056.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0056.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0057.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0057.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0058.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0058.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0059.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0059.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0060.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0060.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0061.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0061.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0062.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0062.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0063.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0063.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0064.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0064.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_noaug_id/temp_0065.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_noaug_id/temp_0065.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/BiDP_infer_demo1.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/BiDP_infer_demo1.mp4 -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/pred_actions.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/pred_actions.npy -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0000.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0001.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0002.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0003.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0004.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0005.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0006.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0007.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0008.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0009.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0010.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0011.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0012.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0013.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0014.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0015.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0016.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0017.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0018.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0019.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0020.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0021.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0022.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0022.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0023.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0023.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0024.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0024.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0025.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0025.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0026.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0026.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0027.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0027.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0028.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0028.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0029.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0029.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0030.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0030.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0031.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0031.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0032.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0032.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0033.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0033.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0034.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0034.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0035.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0035.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0036.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0036.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0037.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0037.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0038.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0038.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0039.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0039.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0040.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0040.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0041.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0041.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0042.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0042.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0043.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0043.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0044.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0045.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0046.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0047.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0047.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0048.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0048.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0049.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0049.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0050.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0050.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0051.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0051.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0052.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0052.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0053.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0053.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0054.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0054.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0055.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0055.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0056.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0056.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0057.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0057.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0058.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0058.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0059.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0059.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0060.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0060.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0061.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0061.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0062.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0062.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0063.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0063.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0064.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0064.jpg -------------------------------------------------------------------------------- /BiDP/test/openbox/demo_notrans_withaug_id/temp_0065.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/openbox/demo_notrans_withaug_id/temp_0065.jpg -------------------------------------------------------------------------------- /BiDP/test/platform_pcd.ply: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/platform_pcd.ply -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/BiDP_infer_demo1.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/BiDP_infer_demo1.mp4 -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/pred_actions.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/pred_actions.npy -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0000.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0001.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0002.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0003.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0004.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0005.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0006.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0007.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0008.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0009.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0010.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0011.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0012.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0013.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0014.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0015.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0016.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0017.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0018.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0019.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0020.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0021.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0022.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0022.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_noaug_id/temp_0023.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_noaug_id/temp_0023.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/BiDP_infer_demo1.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/BiDP_infer_demo1.mp4 -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/pred_actions.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/pred_actions.npy -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0000.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0001.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0002.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0003.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0004.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0005.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0006.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0007.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0008.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0009.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0010.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0011.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0012.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0013.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0014.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0015.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0016.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0017.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0018.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0019.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0020.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0021.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0022.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0022.jpg -------------------------------------------------------------------------------- /BiDP/test/pouring/demo_notrans_withaug_id/temp_0023.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/pouring/demo_notrans_withaug_id/temp_0023.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/BiDP_infer_demo1.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/BiDP_infer_demo1.mp4 -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/pred_actions.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/pred_actions.npy -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0000.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0001.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0002.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0003.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0004.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0005.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0006.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0007.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0008.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0009.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0010.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0011.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0012.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0013.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0014.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0015.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0016.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0017.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0018.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0019.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0020.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0021.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0022.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0022.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0023.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0023.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0024.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0024.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0025.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0025.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0026.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0026.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0027.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0027.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0028.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0028.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0029.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0029.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0030.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0030.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0031.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0031.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0032.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0032.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0033.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0033.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0034.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0034.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0035.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0035.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0036.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0036.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0037.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0037.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0038.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0038.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0039.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0039.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0040.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0040.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0041.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0041.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0042.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0042.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0043.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0043.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0044.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0045.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0046.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0047.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0047.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0048.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0048.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_noaug_id/temp_0049.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_noaug_id/temp_0049.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/BiDP_infer_demo1.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/BiDP_infer_demo1.mp4 -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/pred_actions.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/pred_actions.npy -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0000.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0001.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0002.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0003.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0004.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0005.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0006.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0007.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0008.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0009.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0010.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0011.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0012.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0013.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0014.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0015.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0016.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0017.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0018.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0019.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0020.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0021.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0022.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0022.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0023.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0023.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0024.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0024.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0025.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0025.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0026.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0026.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0027.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0027.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0028.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0028.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0029.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0029.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0030.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0030.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0031.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0031.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0032.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0032.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0033.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0033.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0034.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0034.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0035.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0035.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0036.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0036.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0037.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0037.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0038.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0038.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0039.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0039.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0040.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0040.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0041.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0041.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0042.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0042.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0043.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0043.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0044.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0045.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0046.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0047.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0047.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0048.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0048.jpg -------------------------------------------------------------------------------- /BiDP/test/uncover/demo_notrans_withaug_id/temp_0049.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/uncover/demo_notrans_withaug_id/temp_0049.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/BiDP_infer_demo1.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/BiDP_infer_demo1.mp4 -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/pred_actions.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/pred_actions.npy -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0000.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0001.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0002.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0003.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0004.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0005.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0006.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0007.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0008.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0009.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0010.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0011.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0012.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0013.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0014.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0015.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0016.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0017.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0018.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0019.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0020.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0021.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0022.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0022.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0023.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0023.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0024.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0024.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_noaug_id/temp_0025.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_noaug_id/temp_0025.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/BiDP_infer_demo1.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/BiDP_infer_demo1.mp4 -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/pred_actions.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/pred_actions.npy -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0000.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0001.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0002.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0003.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0004.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0005.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0006.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0007.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0008.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0009.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0010.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0011.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0012.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0013.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0014.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0015.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0016.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0017.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0018.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0019.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0020.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0021.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0022.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0022.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0023.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0023.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0024.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0024.jpg -------------------------------------------------------------------------------- /BiDP/test/unscrew/demo_notrans_withaug_id/temp_0025.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnuzhy/YOTO/3fe6edc9a4bc843a54ae53210704a08b962aa8ad/BiDP/test/unscrew/demo_notrans_withaug_id/temp_0025.jpg -------------------------------------------------------------------------------- /BiDP/train.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | import copy 4 | import hydra 5 | import torch 6 | import wandb 7 | import omegaconf 8 | import numpy as np 9 | import getpass as gt 10 | from tqdm import tqdm 11 | from glob import glob 12 | from omegaconf import OmegaConf 13 | 14 | from policies.utils.media import save_video 15 | from policies.utils.misc import get_dataset, get_agent 16 | 17 | 18 | @hydra.main(config_path="policies/configs", config_name="basic") 19 | def main(cfg): 20 | assert cfg.mode == "train" 21 | np.random.seed(cfg.seed) 22 | 23 | # initialize parameters 24 | batch_size = cfg.training.batch_size 25 | 26 | # setup logging 27 | if cfg.use_wandb: 28 | wandb_config = omegaconf.OmegaConf.to_container( 29 | cfg, resolve=True, throw_on_missing=False 30 | ) 31 | wandb.init( 32 | entity=cfg.wandb.entity, 33 | project=cfg.wandb.project, 34 | tags=["train"], 35 | name=cfg.prefix, 36 | settings=wandb.Settings(code_dir="."), 37 | config=wandb_config, 38 | ) 39 | log_dir = os.getcwd() 40 | 41 | # init dataloader 42 | train_dataset = get_dataset(cfg, "train") 43 | num_workers = cfg.data.dataset.num_workers 44 | train_loader = torch.utils.data.DataLoader( 45 | train_dataset, 46 | batch_size=batch_size, 47 | num_workers=num_workers, 48 | shuffle=True, 49 | drop_last=True, 50 | pin_memory=True, 51 | ) 52 | cfg.data.dataset.num_training_steps = ( 53 | cfg.training.num_epochs * len(train_dataset) // batch_size 54 | ) 55 | 56 | # init agent 57 | agent = get_agent(cfg.agent.agent_name)(cfg) 58 | if cfg.training.ckpt is not None: 59 | agent.load_snapshot(cfg.training.ckpt) 60 | start_epoch_ix = int(cfg.training.ckpt.split("/")[-1].split(".")[0][4:]) 61 | else: 62 | start_epoch_ix = 0 63 | 64 | # train loop 65 | global_step = 0 66 | for epoch_ix in tqdm(range(start_epoch_ix, cfg.training.num_epochs)): 67 | batch_ix = 0 68 | for batch in tqdm(train_loader, leave=False, desc="Batches"): 69 | train_metrics = agent.update( 70 | batch, vis=epoch_ix % cfg.training.vis_interval == 0 and batch_ix == 0 71 | ) 72 | if cfg.use_wandb: 73 | wandb.log( 74 | {"train/" + k: v for k, v in train_metrics.items()}, 75 | step=global_step, 76 | ) 77 | wandb.log({"epoch": epoch_ix}, step=global_step) 78 | del train_metrics 79 | global_step += 1 80 | batch_ix += 1 81 | 82 | if ( 83 | epoch_ix % cfg.training.save_interval == 0 84 | or epoch_ix == cfg.training.num_epochs - 1 85 | ): 86 | save_path = os.path.join(log_dir, f"ckpt{epoch_ix:05d}.pth") 87 | num_ckpt_to_keep = 2 # 10 88 | if len(list(glob(os.path.join(log_dir, "ckpt*.pth")))) > num_ckpt_to_keep: 89 | # remove old checkpoints 90 | for fn in list(sorted(glob(os.path.join(log_dir, "ckpt*.pth"))))[ 91 | :-num_ckpt_to_keep 92 | ]: 93 | os.remove(fn) 94 | agent.save_snapshot(save_path) 95 | 96 | 97 | if __name__ == "__main__": 98 | main() 99 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # YOTO 2 | Code for my paper "*You Only Teach Once: Learn One-Shot Bimanual Robotic Manipulation from Video Demonstrations*" [[arXiv](https://arxiv.org/abs/2501.14208)] / [[Project](https://hnuzhy.github.io/projects/YOTO/)] / [[Dataset](https://huggingface.co/HoyerChou/YOTO)] 3 | 4 | - :white_check_mark: [**2025-04-11**] Our paper has been accepted by conference **RSS 2025** ([Robotics: Science and Systems](https://roboticsconference.org/)). 5 | - :white_check_mark: [**2025-03-10**] We have uploaded our preprocessed datasets and pretrained models in [huggingface/YOTO](https://huggingface.co/HoyerChou/YOTO). Please refer [AugDemos](https://github.com/hnuzhy/YOTO/tree/main/AugDemos) and [BiDP](https://github.com/hnuzhy/YOTO/tree/main/BiDP) under this repo for the usage of them. 6 | 7 | *** 8 | 9 | ## ● Abstract 10 | 11 | > Bimanual robotic manipulation is a long-standing challenge of embodied intelligence due to its characteristics of dual-arm spatial-temporal coordination and high-dimensional action spaces. Previous studies rely on pre-defined action taxonomies or direct teleoperation to alleviate or circumvent these issues, often making them lack simplicity, versatility and scalability. Differently, we believe that the most effective and efficient way for teaching bimanual manipulation is learning from human demonstrated videos, where rich features such as spatial-temporal positions, dynamic postures, interaction states and dexterous transitions are available almost for free. In this work, we propose the YOTO (You Only Teach Once), which can extract and then inject patterns of bimanual actions from as few as a single binocular observation of hand movements, and teach dual robot arms various complex tasks. Furthermore, based on keyframes-based motion trajectories, we devise a subtle solution for rapidly generating training demonstrations with diverse variations of manipulated objects and their locations. These data can then be used to learn a customized bimanual diffusion policy (BiDP) across diverse scenes. In experiments, YOTO achieves impressive performance in mimicking 5 intricate long-horizon bimanual tasks, possesses strong generalization under different visual and spatial conditions, and outperforms existing visuomotor imitation learning methods in accuracy and efficiency. 12 | 13 | ## ● Inference Visualization 14 | 15 | * Below, we present some prediction results of trained models with / without augmentation for comparison. 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
Task BiDP trained without augmentation BiDP trained with augmentation
Drawer
Pouring
Unscrew
Uncover
Openbox
49 | 50 | * *It can be clearly seen that the augmented data can make the model prediction error significantly smaller.* More videos and illustrations can be found in our [homepage](https://hnuzhy.github.io/projects/YOTO/). 51 | * Specifically, we use $$\color{green}green$$ point clouds to represent the platform (which does not appear in the observation input) for easy visualization, and $$\color{magenta}magenta$$ to represent the point clouds of the manipulated objects. The $$\color{blue}blue$$ and $$\color{red}red$$ colored 6-DoF keyposes represent the end-effector actions of the left and right arms, respectively. The far left and far right keyposes are initial robot states. The ground-truth 6-DoF keyposes have larger size than those predicted actions. 52 | 53 | 54 | ## ● Acknowledgement 55 | Our `hand motion extraction and injection` process relies on a variety of vison algorithms, including Hand Detection and 3D Mesh Reconstruction [WiLoR](https://github.com/rolpotamias/WiLoR), Large Vision-Language Model [Florence2](https://huggingface.co/collections/microsoft/florence-6669f44df0d87d9c3bfb76de), Segment Anything Model 2 [SAM2](https://github.com/facebookresearch/segment-anything-2) and Binocular Stereo Matching [IGEV](https://github.com/gangweiX/IGEV). While, the codebase of our imitation learning algorithm `BiDP` is partly based on [ACT](https://github.com/tonyzhaozh/act), [Diffusion Policy](https://github.com/real-stanford/diffusion_policy), [3D Diffusion Policy](https://github.com/YanjieZe/3D-Diffusion-Policy) and [EquiBot](https://github.com/yjy0625/equibot). We thank them for their open source efforts and contributions. 56 | 57 | ## ● Citation 58 | If you use our code or models in your research, please cite with: 59 | ```bash 60 | @article{zhou2025you, 61 | title={You Only Teach Once: Learn One-Shot Bimanual Robotic Manipulation from Video Demonstrations}, 62 | author={Zhou, Huayi and Wang, Ruixiang and Tai, Yunxin and Deng, Yueci and Liu, Guiliang and Jia, Kui}, 63 | journal={arXiv preprint arXiv:2501.14208}, 64 | year={2025} 65 | } 66 | ``` 67 | --------------------------------------------------------------------------------