Skip to content

Commit a300fca

Browse files
authored
Less dependencies (alievk#346)
1 parent e06befc commit a300fca

3 files changed

Lines changed: 60 additions & 65 deletions

File tree

afy/predictor_local.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,29 @@
66
from sync_batchnorm import DataParallelWithCallback
77
import numpy as np
88
import face_alignment
9-
from animate import normalize_kp
9+
10+
11+
def normalize_kp(kp_source, kp_driving, kp_driving_initial, adapt_movement_scale=False,
12+
use_relative_movement=False, use_relative_jacobian=False):
13+
if adapt_movement_scale:
14+
source_area = ConvexHull(kp_source['value'][0].data.cpu().numpy()).volume
15+
driving_area = ConvexHull(kp_driving_initial['value'][0].data.cpu().numpy()).volume
16+
adapt_movement_scale = np.sqrt(source_area) / np.sqrt(driving_area)
17+
else:
18+
adapt_movement_scale = 1
19+
20+
kp_new = {k: v for k, v in kp_driving.items()}
21+
22+
if use_relative_movement:
23+
kp_value_diff = (kp_driving['value'] - kp_driving_initial['value'])
24+
kp_value_diff *= adapt_movement_scale
25+
kp_new['value'] = kp_value_diff + kp_source['value']
26+
27+
if use_relative_jacobian:
28+
jacobian_diff = torch.matmul(kp_driving['jacobian'], torch.inverse(kp_driving_initial['jacobian']))
29+
kp_new['jacobian'] = torch.matmul(jacobian_diff, kp_source['jacobian'])
30+
31+
return kp_new
1032

1133

1234
def to_tensor(a):

requirements.txt

Lines changed: 5 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,7 @@
1-
#cffi==1.11.5
2-
cloudpickle==0.5.3
3-
cycler==0.10.0
4-
dask==0.18.2
5-
decorator==4.3.0
6-
imageio==2.3.0
7-
kiwisolver==1.0.1
8-
matplotlib==2.2.2
9-
networkx==2.1
10-
#numpy==1.15.0
111
opencv-python==4.2.0.34
12-
pandas==0.23.4
13-
Pillow==6.2.2
14-
pycparser==2.18
15-
pygit==0.1
16-
pyparsing==2.2.0
17-
python-dateutil==2.7.3
18-
pytz==2018.5
19-
PyWavelets==0.5.2
20-
PyYAML==5.1
21-
scikit-image==0.14.0
22-
scikit-learn==0.19.2
23-
scipy==1.1.0
24-
six==1.11.0
25-
toolz==0.9.0
26-
#torch==1.0.0
27-
#torchvision==0.2.1
28-
tqdm==4.24.0
29-
requests==2.23
302
face-alignment==1.0.0
31-
pyfakewebcam==0.1.0
32-
msgpack-numpy==0.4.5
33-
pyzmq==19.0.0
34-
#blosc==1.7.0
3+
pyzmq==20.0.0
4+
msgpack-numpy==0.4.7.1
5+
pyyaml==5.3.1
6+
requests==2.25.1
7+
pyfakewebcam==0.1.0

scripts/install.sh

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
#!/usr/bin/env bash
2-
3-
# check prerequisites
4-
command -v conda >/dev/null 2>&1 || { echo >&2 "conda not found. Please refer to the README and install Miniconda."; exit 1; }
5-
command -v git >/dev/null 2>&1 || { echo >&2 "git not found. Please refer to the README and install Git."; exit 1; }
6-
7-
source scripts/settings.sh
8-
9-
# v4l2loopback
10-
if [[ ! $@ =~ "no-vcam" ]]; then
11-
rm -rf v4l2loopback 2> /dev/null
12-
git clone https://github.com/alievk/v4l2loopback.git
13-
echo "--- Installing v4l2loopback (sudo privelege required)"
14-
cd v4l2loopback
15-
make && sudo make install
16-
sudo depmod -a
17-
cd ..
18-
fi
19-
20-
source $(conda info --base)/etc/profile.d/conda.sh
21-
conda create -y -n $CONDA_ENV_NAME python=3.7
22-
conda activate $CONDA_ENV_NAME
23-
24-
conda install -y -c conda-forge numpy==1.15.0
25-
conda install -y pytorch==1.0.0 torchvision==0.2.1 cuda100 -c pytorch
26-
conda install -y python-blosc==1.7.0 -c conda-forge
27-
28-
# FOMM
29-
rm -rf fomm 2> /dev/null
30-
git clone https://github.com/alievk/first-order-model.git fomm
31-
32-
pip install -r requirements.txt
1+
#!/usr/bin/env bash
2+
3+
# check prerequisites
4+
command -v conda >/dev/null 2>&1 || { echo >&2 "conda not found. Please refer to the README and install Miniconda."; exit 1; }
5+
command -v git >/dev/null 2>&1 || { echo >&2 "git not found. Please refer to the README and install Git."; exit 1; }
6+
7+
source scripts/settings.sh
8+
9+
# v4l2loopback
10+
if [[ ! $@ =~ "no-vcam" ]]; then
11+
rm -rf v4l2loopback 2> /dev/null
12+
git clone https://github.com/alievk/v4l2loopback.git
13+
echo "--- Installing v4l2loopback (sudo privelege required)"
14+
cd v4l2loopback
15+
make && sudo make install
16+
sudo depmod -a
17+
cd ..
18+
fi
19+
20+
source $(conda info --base)/etc/profile.d/conda.sh
21+
conda create -y -n $CONDA_ENV_NAME python=3.7
22+
conda activate $CONDA_ENV_NAME
23+
24+
conda install -y -c conda-forge numpy==1.15.0
25+
conda install -y pytorch==1.0.0 torchvision==0.2.1 cuda100 -c pytorch
26+
conda install -y python-blosc==1.7.0 -c conda-forge
27+
28+
# FOMM
29+
rm -rf fomm 2> /dev/null
30+
git clone https://github.com/alievk/first-order-model.git fomm
31+
32+
pip install -r requirements.txt

0 commit comments

Comments
 (0)