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 = "ert_lfpw_helen.hkl"
In [3]:
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 [4]:
train_images = np.concatenate([lfpw_train, helen_train])
test_images = np.concatenate([lfpw_test, helen_test])
In [ ]:
builder = ert.ERTBuilder(n_stages=10, n_trees=500, MU=0.1, n_perturbations=20)
initial_errors, final_errors, initial_shapes, final_shapes, model = fit_all(builder, train_images, test_images, num_init=1)
In [9]:
import hickle
hickle.dump(model, "../models/"+MODEL_NAME)
In [8]:
print "Mean initial error: {}".format(np.mean(initial_errors))
print "Mean final error: {}".format(np.mean(final_errors))
In [10]:
from menpofit.visualize import plot_ced
plot_ced(final_errors)
In [11]:
initial_errors, final_errors, initial_shapes, final_shapes = test_model(model, test_images, num_init=5)
In [12]:
print "Mean initial error: {}".format(np.mean(initial_errors))
print "Mean final error: {}".format(np.mean(final_errors))
In [13]:
from menpofit.visualize import plot_ced
plot_ced(final_errors)
In [7]:
worst = np.argmax(final_errors)
worst
Out[7]:
In [14]:
initial_errors, final_errors, initial_shapes, final_shapes = test_model(model, lfpw_test, num_init=1)
In [15]:
print "Mean initial error: {}".format(np.mean(initial_errors))
print "Mean final error: {}".format(np.mean(final_errors))
In [16]:
from menpofit.visualize import plot_ced
plot_ced(final_errors)
In [17]:
initial_errors, final_errors, initial_shapes, final_shapes = test_model(model, lfpw_test, num_init=5)
print "Mean initial error: {}".format(np.mean(initial_errors))
print "Mean final error: {}".format(np.mean(final_errors))
In [18]:
from menpofit.visualize import plot_ced
plot_ced(final_errors)
In [13]:
final_shapes[i].view()
test_images[i].view()
Out[13]:
In [14]:
initial_shapes[i].view()
test_images[i].view()
Out[14]:
In [ ]: