Skip to content

Latest commit

 

History

History
64 lines (47 loc) · 2.6 KB

File metadata and controls

64 lines (47 loc) · 2.6 KB

Scripts

변환·전처리 파이프라인을 보조하는 실행 스크립트 모음입니다.

파일 구조

파일 역할
run_conversion.sh 환경변수 기반 batch 변환 래퍼 (conversion/batch_convert_rosbag_to_lerobot.py 실행)
visualize_mask_distribution.py 모든 mask PNG를 누적해 히트맵 + .npy 분포 파일 생성
extract_first_mask_frames.py 각 bag에서 첫 유효(non-zero) mask 프레임을 PNG로 추출
resize_dataset_videos.py LeRobot 데이터셋의 모든 비디오를 동일 해상도로 리사이즈 (GR00T multi-camera용)

run_conversion.sh

환경변수로 입력/출력 경로와 변환 파라미터를 설정한 뒤 배치 변환을 실행합니다.

INPUT_DIR=/workspace/dkim_result \
OUTPUT_DIR=/workspace/lerobot_datasets \
REPO_ID=dkim/ffw_sg2_rev1_offline \
FPS=10 ROBOT_TYPE=ffw_sg2_rev1 TASK_NAME="remove the flower" \
bash scripts/run_conversion.sh

visualize_mask_distribution.py

mask PNG들을 모두 더해 어느 위치에 mask가 자주 등장하는지 히트맵으로 시각화합니다. 결과 .npy는 inference 단계의 mask_distribution_monitor.py가 사용합니다.

python scripts/visualize_mask_distribution.py \
    --input-dir /workspace/dkim_result_3_extracted_masks \
    --output /workspace/dkim_result_3_extracted_masks/mask_distribution.png \
    --colormap hot

출력: mask_distribution.png, mask_distribution_heatmap.png, mask_distribution_accumulated.npy

extract_first_mask_frames.py

각 bag(converted_*)에서 픽셀이 존재하는 첫 mask 프레임을 찾아 {folder_name}.png로 저장합니다. mask 분포 시각화의 입력 데이터를 만들 때 사용합니다.

python scripts/extract_first_mask_frames.py \
    --input-dir /workspace/dkim_result_3 \
    --output-dir /workspace/dkim_result_3_extracted_masks \
    --topic /mf_perception/ch0_binary_image_sam2/compressed \
    --skip-empty

resize_dataset_videos.py

LeRobot 데이터셋의 모든 카메라 비디오를 동일한 해상도로 통일합니다. GR00T multi-camera 학습 시 해상도가 일치해야 하므로 필요합니다. 리사이즈 후에는 postprocessing/generate_stats.py로 통계를 재생성해야 합니다.

python scripts/resize_dataset_videos.py \
    --input-path /workspace/lerobot_.../dkim_ffw_sg2_rev1_offline_200/ \
    --output-path /workspace/lerobot_.../dkim_ffw_sg2_rev1_offline_200_672376 \
    --target-height 376 \
    --target-width 672 \
    --skip-existing

info.json, modality.json의 해상도 정보도 함께 갱신됩니다.