| #!/bin/bash |
|
|
| cd ../../.. || exit |
| SAPIENS_CHECKPOINT_ROOT=/home/${USER}/sapiens_host |
|
|
| |
| INPUT='../pose/demo/data/itw_videos/reel1' |
| SEG_DIR="/home/${USER}/Desktop/sapiens/seg/Outputs/vis/itw_videos/reel1_seg/sapiens_1b" |
| OUTPUT="/home/${USER}/Desktop/sapiens/seg/Outputs/vis/itw_videos/reel1_depth" |
|
|
| |
| |
| |
| MODEL_NAME='sapiens_1b'; CHECKPOINT=$SAPIENS_CHECKPOINT_ROOT/depth/checkpoints/sapiens_1b/sapiens_1b_render_people_epoch_88.pth |
| |
|
|
| DATASET='render_people' |
| MODEL="${MODEL_NAME}_${DATASET}-1024x768" |
| CONFIG_FILE="configs/sapiens_depth/${DATASET}/${MODEL}.py" |
| OUTPUT=$OUTPUT/$MODEL_NAME |
|
|
| |
| RUN_FILE='demo/demo_depth_vis.py' |
|
|
| JOBS_PER_GPU=1; TOTAL_GPUS=1; VALID_GPU_IDS=(0 1 2 3 4 5 6 7) |
| TOTAL_JOBS=$((JOBS_PER_GPU * TOTAL_GPUS)) |
|
|
| |
| IMAGE_LIST="${INPUT}/image_list.txt" |
| find "${INPUT}" -type f \( -iname \*.jpg -o -iname \*.png \) | sort > "${IMAGE_LIST}" |
|
|
| |
| if [ ! -s "${IMAGE_LIST}" ]; then |
| echo "No images found. Check your input directory and permissions." |
| exit 1 |
| fi |
|
|
| |
| NUM_IMAGES=$(wc -l < "${IMAGE_LIST}") |
| IMAGES_PER_FILE=$((NUM_IMAGES / TOTAL_JOBS)) |
| EXTRA_IMAGES=$((NUM_IMAGES % TOTAL_JOBS)) |
|
|
| export TF_CPP_MIN_LOG_LEVEL=2 |
| echo "Distributing ${NUM_IMAGES} image paths into ${TOTAL_JOBS} jobs." |
|
|
| |
| for ((i=0; i<TOTAL_JOBS; i++)); do |
| TEXT_FILE="${INPUT}/image_paths_$((i+1)).txt" |
| if [ $i -eq $((TOTAL_JOBS - 1)) ]; then |
| |
| tail -n +$((IMAGES_PER_FILE * i + 1)) "${IMAGE_LIST}" > "${TEXT_FILE}" |
| else |
| |
| head -n $((IMAGES_PER_FILE * (i + 1))) "${IMAGE_LIST}" | tail -n ${IMAGES_PER_FILE} > "${TEXT_FILE}" |
| fi |
| done |
|
|
| |
| for ((i=0; i<TOTAL_JOBS; i++)); do |
| GPU_ID=$((i % TOTAL_GPUS)) |
| CUDA_VISIBLE_DEVICES=${VALID_GPU_IDS[GPU_ID]} python ${RUN_FILE} \ |
| ${CONFIG_FILE} \ |
| ${CHECKPOINT} \ |
| --input "${INPUT}/image_paths_$((i+1)).txt" \ |
| --seg_dir ${SEG_DIR} \ |
| --output-root="${OUTPUT}" |
| |
| sleep 1 |
| done |
|
|
| |
| wait |
|
|
| |
| rm "${IMAGE_LIST}" |
| for ((i=0; i<TOTAL_JOBS; i++)); do |
| rm "${INPUT}/image_paths_$((i+1)).txt" |
| done |
|
|
| |
| cd - |
|
|
| echo "Processing complete." |
| echo "Results saved to $OUTPUT" |
|
|