In [1]:
import site
site.addsitedir('..')
import menpo.io as mio
import menpodetect
import numpy as np
import facefit
%matplotlib inline
from facefit import esr, ert, lbf
from facefit.test import fit_all
from facefit.test.end2end import test_model
from facefit import util
In [2]:
MODEL_NAME = "../models/esr_lfpw_helen.hkl"
In [4]:
lfpw_train = util.read_images("../datasets/lfpw/trainset/", normalise=True)
lfpw_test = util.read_images("../datasets/lfpw/testset/", normalise=True)
helen_train = util.read_images("../datasets/helen_cropped/trainset_cropped", normalise=True)
helen_test = util.read_images("../datasets/helen_cropped/testset_cropped/", normalise=True)
In [5]:
#train_images = np.concatenate([lfpw_train, helen_train])
test_images = np.concatenate([lfpw_test, helen_test])
In [9]:
#builder = facefit.esr.ESRBuilder(n_landmarks=68, n_stages=10, n_ferns=500, beta=1000, n_perturbations=20, compress_ferns=False)
#initial_errors, final_errors, initial_shapes, final_shapes, model = fit_all(builder, train_images, test_images, num_init=1)
In [11]:
print "Mean initial error: {}".format(np.mean(initial_errors))
print "Mean final error: {}".format(np.mean(final_errors))
In [6]:
import hickle
model = hickle.load("../models/esr_lfpw_helen.hkl", safe=False)
In [20]:
initial_errors, final_errors, initial_shapes, final_shapes = test_model(model, test_images, num_init=1)
In [21]:
print "Mean initial error: {}".format(np.mean(initial_errors))
print "Mean final error: {}".format(np.mean(final_errors))
In [14]:
%matplotlib inline
In [15]:
from menpofit.visualize import plot_ced
plot_ced(final_errors)
In [ ]:
worst = np.argmax(final_errors)
worst
In [23]:
i = worst
In [24]:
final_shapes[i].view()
test_images[i].view()
Out[24]:
In [ ]: