Skip to content

Instantly share code, notes, and snippets.

@sjoerd-dijkstra
Created December 19, 2017 13:53
Show Gist options
  • Save sjoerd-dijkstra/df1319c5687fb00bb535bd2ea4114f2e to your computer and use it in GitHub Desktop.
Save sjoerd-dijkstra/df1319c5687fb00bb535bd2ea4114f2e to your computer and use it in GitHub Desktop.
# VARIABLES
export OUTPUT=/media/DATA/sjoerd/demo/$argv
export MOVIE_FILE=$OUTPUT/Video/movie.mp4
export DATA_DIR=$OUTPUT/Frames/clipped/
export LANDMARK_DIR=$OUTPUT/Landmarks/clm/
export IDENTITY_PATH=/home/sjoerd/Identities/DEMO/
export START_NUMBER=0
export IDENTITY_FRAMES="25,50,75"
export KEYFRAMES_DIR=$OUTPUT/Keyframes/
# OUTPUT DIRECTORY
mkdir $OUTPUT
cp -r TEMPLATE/* $OUTPUT/
# MOVIE PREP
ffmpeg -i movie.mov -r 25 -strict -2 $MOVIE_FILE -y
ffmpeg -i $MOVIE_FILE -start_number 0 $OUTPUT/Frames/clipped/frame%4d.png
# VIRTUAL ENV
vf activate theano
# LANDMARKS
/home/sjoerd/Projects/3DU/CLM-framework/build/bin/SimpleCLM \
-f $MOVIE_FILE \
-of $OUTPUT/Landmarks/landmarks_clm.csv
python /home/sjoerd/Projects/3DU/f2f/clm_converter.py \
$OUTPUT/Landmarks/landmarks_clm.csv \
$OUTPUT/Landmarks/clm/
python /home/sjoerd/Projects/3DU/f2f/face_landmark_detection.py \
/home/sjoerd/Projects/3DU/shape_predictor_68_face_landmarks.dat \
$OUTPUT/Frames/clipped/ \
$OUTPUT/Landmarks/dlib/
python /home/sjoerd/Projects/3DU/f2f/landmarks_csv_to_dmat.py \
$OUTPUT/Landmarks/dlib/
python /home/sjoerd/Projects/3DU/f2f/landmarks_csv_to_dmat.py \
$OUTPUT/Landmarks/clm/
# LOCATION FOR GN OPTIMIZATION
cd /home/sjoerd/Projects/3DU/f2f_tedx/
# IDENTITY
python -u -m main\
-ceres_path /home/minh/3DU/face/bin/Release/CeresSolving\
-data_dir $DATA_DIR \
-landmark_dir $LANDMARK_DIR \
-identity_path $IDENTITY_PATH \
-identity_frame_idx $IDENTITY_FRAMES \
-output_dir $KEYFRAMES_DIR \
-wcol 1.0 \
-wlan 10.0 \
-wreg 0.000025 \
-remove_inner_mouth \
-unuse_border_landmarks \
-enable_gn \
-optimize_identity \
-enable_ceres
# EXPRESSION RECOGNITION
python -u -m main\
-ceres_path /home/minh/3DU/face/bin/Release/CeresSolving\
-data_dir $DATA_DIR \
-landmark_dir $LANDMARK_DIR \
-identity_path $IDENTITY_PATH \
-identity_frame_idx $IDENTITY_FRAMES \
-output_dir $KEYFRAMES_DIR \
-wcol 1.0 \
-wlan 3.0 \
-wreg 0.000025 \
-remove_inner_mouth \
-unuse_border_landmarks \
-enable_gn \
-start_id 0 \
-enable_ceres \
-dlib_mouth
# # LOCATION FOR ADAM OPTIMIZATION
# cd /home/sjoerd/Projects/3DU/f2f/
# # IDENTITY
# python -u -m main \
# -ceres_path /home/minh/3DU/face/bin/Release/CeresSolving \
# -iter 50 \
# -start_id $START_NUMBER \
# -data_dir $DATA_DIR \
# -landmark_dir $LANDMARK_DIR \
# -identity_path $IDENTITY_PATH \
# -identity_frame_idx $IDENTITY_FRAMES \
# -output_dir $KEYFRAMES_DIR \
# -optimize_identity \
# -wcol 1.0 \
# -wlan 30.0 \
# -wreg 10.0 \
# -wtemp 1.0 \
# -vertex_mask_name="vertex_mask_v3.npy" \
# -landmark_prefix "landmarks" \
# -dlib_mouth
# # EXPRESSION RECOGNITION
# python -u -m main \
# -ceres_path /home/minh/3DU/face/bin/Release/CeresSolving \
# -iter 40 \
# -start_id $START_NUMBER \
# -data_dir $DATA_DIR \
# -landmark_dir $LANDMARK_DIR \
# -identity_path $IDENTITY_PATH \
# -identity_frame_idx $IDENTITY_FRAMES \
# -output_dir $KEYFRAMES_DIR \
# -wcol 1.0 \
# -wlan 30.0 \
# -wreg 10.0 \
# -wtemp 1.0 \
# -vertex_mask_name="vertex_mask_v3.npy" \
# -landmark_prefix "landmarks" \
# -dlib_mouth
# FACIAL REENACTMENT
ExpressionTransfer \
--source $KEYFRAMES_DIR \
--target /media/DATA/shared/face2face/Keyframes/bbc_v19/ \
--output $OUTPUT/Result/ \
--width 1280 \
--magic 17 \
--blend 1 \
--debug 1 \
--coeff 1 \
--surpr 1 \
--threads 6 \
--vis 0 \
--vertex 0 \
--loop 0 \
--fixz 0 \
--remove /media/DATA/shared/face2face/Meta/blendshapes/surpress_eyebrows.dmat \
--video $MOVIE_FILE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment