Skip to content

Instantly share code, notes, and snippets.

@NoamGaash
Created November 28, 2020 18:52
Show Gist options
  • Save NoamGaash/b0318f1e7dc2725fbb1c175a57857368 to your computer and use it in GitHub Desktop.
Save NoamGaash/b0318f1e7dc2725fbb1c175a57857368 to your computer and use it in GitHub Desktop.
collect single person video dataset
tiktok-scraper hashtag dancer -d -n 400 -s --historypath $pwd/download_history -w -a 8
cd "#dancer"
touch ../blacklist.txt
# delete blacklisted videos
for filename in *; do
if cat ../blacklist.txt | grep $filename > /dev/null; then
echo "delete $filename due to the blacklist"
rm $filename
fi
done
# extract sample frames
for filename in *.mp4; do
if [ ! -d "frames/$filename" ]; then
echo "$filename"
mkdir -p "frames/$filename"
ffmpeg -i "$filename" -vf select='eq(n\,30)+eq(n\,100)+eq(n\,200)' -vsync 0 "frames/$filename/frames%d.jpg"
fi
done
# run openpose on sample frames
for filename in *.mp4; do
if [ ! -f "frames/$filename/00001.json" ]; then
sudo docker run -v "$PWD/frames/$filename:/noam" --gpus=all -it --rm -e NVIDIA_VISIBLE_DEVICES=0 cwaffles/openpose \
./build/examples/openpose/openpose.bin \
-image_dir /noam \
-no_gui_verbose \
-display 0 \
--render_pose 0 \
--disable_multi_thread \
--write_json /noam
fi
done
# delete videos with too many (or no) people
for filename in *.mp4; do
if ! (node ../count_people.js "frames/$filename/frames1_keypoints.json" | grep 1 > /dev/null); then
echo "$filename too many peoples"
echo "$filename" > ../blacklist.txt
rm $filename
#rm -rf frames/$filename
elif ! (node ../count_people.js "frames/$filename/frames2_keypoints.json" | grep 1 > /dev/null); then
echo "$filename too many peoples"
echo "$filename" > ../blacklist.txt
rm $filename
#rm -rf frames/$filename
elif ! (node ../count_people.js "frames/$filename/frames3_keypoints.json" | grep 1 > /dev/null); then
echo "$filename too many peoples"
echo "$filename" > ../blacklist.txt
rm $filename
#rm -rf frames/$filename
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment